/* One complete ceiling photograph for desktop and mobile. */
section.banner.rv8-ceiling-hero,
.page-prices section#banner4.rv8-ceiling-hero {
 padding:34px 0 25px; background:#f5f4ef!important;
}
section.rv8-ceiling-hero>.container {
 display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
 align-items:center; gap:26px 38px;
}
section.banner.rv8-ceiling-hero .content,
#banner4.rv8-ceiling-hero .banner4-content {
 width:100%; max-width:none; min-height:0; padding:8px 0; margin:0;
}
section.banner.rv8-ceiling-hero .content::after,
#banner4.rv8-ceiling-hero .banner4-content::after { content:none; }
section.banner.rv8-ceiling-hero h1,
#banner4.rv8-ceiling-hero h1 { font-size:clamp(32px,3.35vw,48px); line-height:1.1; margin-bottom:19px; }
section.banner.rv8-ceiling-hero .desc,
#banner4.rv8-ceiling-hero .dp-price-description { max-width:470px; font-size:16px; line-height:1.6; margin-bottom:24px; }
.rv8-ceiling-hero .rv8-hero-photo { position:relative; width:100%; min-width:0; overflow:hidden; border-radius:18px; background:transparent; }
.rv8-ceiling-hero .rv8-hero-photo>img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; }
.hr-map-badges { position:absolute; left:18px; bottom:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:min(390px,calc(100% - 36px)); }
.hr-map-badges .hr-map-badge { display:grid; grid-template-columns:34px minmax(0,1fr) 12px; align-items:center; gap:11px; min-width:0; min-height:70px; padding:12px 14px; border:1px solid #ffffffbf; border-radius:12px; background:#fffffff0; box-shadow:0 4px 20px #1520201a; backdrop-filter:blur(12px); color:#303438; text-decoration:none; transition:background .18s ease,box-shadow .18s ease; }
.hr-map-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#fff; font-family:Arial,Helvetica,sans-serif; font-size:25px; font-weight:500; line-height:1; }
.hr-map-badge--yandex .hr-map-icon { background:#fc3f1d; color:#fff; }
.hr-map-icon>svg { display:block; width:26px; height:26px; }
.hr-map-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.hr-map-service { color:#616368; font-size:12px; line-height:1.3; white-space:nowrap; }
.hr-map-detail { display:flex; align-items:center; gap:5px; min-width:0; color:#303438; font-size:15px; font-weight:600; line-height:1.15; white-space:nowrap; }
.hr-map-detail strong { font-family:Arial,Helvetica,sans-serif; font-size:19px; font-weight:700; font-variant-numeric:tabular-nums; }
.hr-map-star { color:#c29740; font-family:Arial,Helvetica,sans-serif; font-size:17px; font-weight:400; }
.hr-map-scale { margin-left:1px; color:#777b7c; font-size:11px; font-weight:400; }
.hr-map-arrow { color:#898b89; font-size:15px; line-height:1; }
.hr-map-badges .hr-map-badge:focus-visible { outline:3px solid #fc3f1d; outline-offset:-4px; }
@media(hover:hover){.hr-map-badges .hr-map-badge:hover { background:#fff; box-shadow:0 6px 24px #1520202b; color:#303438; }}
@media(max-width:575px){
 .hr-map-badges { left:10px; bottom:10px; width:calc(100% - 20px); gap:8px; }
 .hr-map-badges .hr-map-badge { grid-template-columns:27px minmax(0,1fr) 10px; min-height:60px; gap:7px; padding:10px; border-radius:9px; }
 .hr-map-icon { width:27px; height:27px; font-size:21px; }
 .hr-map-icon>svg { width:23px; height:23px; }
 .hr-map-service { font-size:10px; }
 .hr-map-detail { font-size:13px; }
 .hr-map-detail strong { font-size:17px; }
 .hr-map-star { font-size:15px; }
 .hr-map-scale { font-size:10px; }
}
@media(max-width:359px){
 .hr-map-badges .hr-map-badge { grid-template-columns:24px minmax(0,1fr); padding:9px 8px; gap:6px; }
 .hr-map-icon { width:24px; height:24px; font-size:19px; }
 .hr-map-icon>svg { width:21px; height:21px; }
 .hr-map-arrow { display:none; }
}
@media(prefers-reduced-motion:reduce){.hr-map-badges .hr-map-badge { transition:none; }}
section.rv8-ceiling-hero .dp-hero-benefits {
 grid-column:1/-1; width:100%; max-width:none; margin:0;
 background:#fff; border:1px solid #e9e4d9; box-shadow:none; backdrop-filter:none;
}
section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item { padding:19px 25px; }
section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item+.about-list2-item { border-left:1px solid #ebe6de; }
section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item p { max-width:440px; }
section.banner.rv8-ceiling-hero .dp-hero-links,
#banner4.rv8-ceiling-hero .dp-price-actions { gap:10px; }
section.banner.rv8-ceiling-hero .dp-hero-links>*,
#banner4.rv8-ceiling-hero .dp-price-actions>* { padding:14px 17px; font-size:15px; }

/* Two composed rows: a wide opening photo, then a mirrored closing panorama.
   Natural proportions preserve the entire ceiling and reserve lazy-load space. */
section.sc-works-home.pr-home .works-list.sc-project-grid {
 --pr-gap:18px; display:flex; flex-wrap:wrap; align-items:stretch;
 columns:auto; gap:var(--pr-gap); margin:0;
}
section.sc-works-home.pr-home .works-list.sc-project-grid>img {
 display:block; flex:none; width:calc((100% - 2 * var(--pr-gap)) * var(--pr-row-share));
 height:auto; min-width:0; min-height:0; max-width:none; max-height:none;
 margin:0; aspect-ratio:var(--pr-photo-ratio); object-fit:contain; background:transparent;
 grid-column:auto; grid-row:auto;
}
section.sc-works-home.pr-home .works-list.sc-project-grid>img:first-child {
 grid-column:auto; grid-row:auto; object-fit:contain;
}
section.sc-works-home.pr-home .rv8-gallery-link {
 display:flex; align-items:center; justify-content:center; gap:16px;
 width:fit-content; min-height:50px; margin:20px auto 0; padding:13px 24px;
 border:1px solid #c4bba9; border-radius:9px; color:#373630; background:#f5f1e8;
 font-size:15px; font-weight:600; line-height:1.4; text-decoration:none;
}
.rv8-gallery-link::after { content:'→'; font-size:20px; }
section.sc-reviews .reviews-video-list-item.sc-video-card .img-wrapper>img:not(.play) {
 display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain;
}

/* Manufacturer navigation is distinguishable from the order action. */
.prices2 .prices2-item-name .rv8-brand-name { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-decoration-color:#b4a382; text-underline-offset:5px; }
.prices2 .prices2-item-name .rv8-brand-name::after { content:'↗'; display:inline-block; margin-left:7px; color:#87714b; font-size:.72em; }
.prices2 .prices2-item-footer .prices2-item-link.rv8-brand-link {
 display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px;
 width:100%; margin:6px 0 -4px; padding:10px 2px; border:0; border-radius:6px;
 color:#4b4842; background:transparent; font-size:14px; font-weight:600; line-height:1.4;
 text-decoration:none; text-align:left; white-space:normal;
}
.prices2 .prices2-item-footer .rv8-brand-link::after { content:'→'; font-size:17px; flex:none; }
.rv8-brand-hint { display:block; margin-top:8px; color:#6d624e; font-size:14px; }
.rv8-table-brand { display:inline-flex; flex-direction:column; gap:5px; color:#544a38; }
.rv8-table-link-label { font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.dp-calculator-page table.dp-calculator-table tbody tr td a.rv8-table-brand {
 display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center;
 gap:4px; min-height:44px; max-width:100%; padding:0; color:#34353a;
 font-weight:600; line-height:1.35; text-decoration:none;
}
.dp-calculator-page .rv8-table-brand .rv8-table-link-label {
 display:block; color:#6b5a3c; font-size:12px; font-weight:500; line-height:1.4;
 text-decoration:underline; text-decoration-color:#b4a382; text-underline-offset:3px;
}
.rv8-table-brand:focus-visible { outline:3px solid #947647; outline-offset:4px; }
.rv8-gallery-link:focus-visible,.rv8-brand-link:focus-visible,.rv8-brand-name:focus-visible { outline:3px solid #947647; outline-offset:4px; }
@media(hover:hover){
 .prices2 .prices2-item-footer .rv8-brand-link:hover { background:#ffffff70; color:#2f3033; }
 .rv8-gallery-link:hover { background:#eae2d2; color:#3c3629; }
 .dp-calculator-page table.dp-calculator-table tbody tr td a.rv8-table-brand:hover .rv8-table-link-label { color:#34353a; text-decoration-color:currentColor; }
}
@media(max-width:1199px){
 section.rv8-ceiling-hero>.container { gap:25px; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }
 section.banner.rv8-ceiling-hero h1,#banner4.rv8-ceiling-hero h1 { font-size:38px; }
 section.banner.rv8-ceiling-hero .dp-hero-links>*,#banner4.rv8-ceiling-hero .dp-price-actions>* { padding:13px 12px; font-size:14px; }
}
@media(max-width:991px){
 section.rv8-ceiling-hero>.container { grid-template-columns:minmax(0,1fr); gap:22px; }
 section.banner.rv8-ceiling-hero .content,#banner4.rv8-ceiling-hero .banner4-content { max-width:650px; padding:0; }
 .rv8-ceiling-hero .rv8-hero-photo { max-width:none; }
 section.banner.rv8-ceiling-hero .desc,#banner4.rv8-ceiling-hero .dp-price-description { max-width:610px; }
 section.rv8-ceiling-hero .dp-hero-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
 section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item { grid-template-columns:54px minmax(0,1fr); gap:14px; padding:19px; }
 section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item img { width:54px; height:54px; }
 section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item .title { font-size:17px; }
 section.sc-works-home.pr-home .works-list.sc-project-grid { --pr-gap:14px; }
}
@media(max-width:575px){
 section.banner.rv8-ceiling-hero,.page-prices section#banner4.rv8-ceiling-hero { padding:25px 0 22px; }
 section.banner.rv8-ceiling-hero h1,#banner4.rv8-ceiling-hero h1 { font-size:clamp(30px,8vw,40px); margin-bottom:17px; }
 section.banner.rv8-ceiling-hero .desc,#banner4.rv8-ceiling-hero .dp-price-description { font-size:15px; margin-bottom:20px; }
 .rv8-ceiling-hero .rv8-hero-photo { border-radius:12px; }
 section.rv8-ceiling-hero .dp-hero-benefits { grid-template-columns:minmax(0,1fr); }
 section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item+.about-list2-item { border-left:0; border-top:1px solid #ebe6de; }
 section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item { padding:15px 17px; }
 section.sc-works-home.pr-home .works-list.sc-project-grid { --pr-gap:10px; }
 section.sc-works-home.pr-home .works-list.sc-project-grid>img { width:calc((100% - var(--pr-gap))/2); border-radius:8px; }
 section.sc-works-home.pr-home .works-list.sc-project-grid>img:first-child { width:100%; }
 section.sc-works-home.pr-home .works-list.sc-project-grid>img:nth-child(n+4) { display:none; }
 section.sc-works-home.pr-home .rv8-gallery-link { width:100%; margin-top:16px; }
}
/* Align headings with their content: reading columns and controls start left;
   standalone visual grids retain a centred title. Hero composition is unchanged. */
main :where(section, .section):where(:not([class*="banner"], [class*="hero"], [id^="banner"])) > .container > :is(h1, h2:not(:where(.production-h3)), .h2),
main .page-catalog-category > .section > .container > h1,
main .sr-section-intro > h2:not(:where(.production-h3)),
main :is(.co-care-heading, .co-response-copy, .cp-start-copy) > h2:not(:where(.production-h3)) {
  margin-inline: 0;
  text-align: left !important;
}

/* Headings stay inside their text column beside the form, FAQ or contact links.
   Their original responsive wrappers supply the two-column desktop layout. */
main .sc-section-heading :is(h1, h2:not(:where(.production-h3))),
main .pr-section-heading h2:not(:where(.production-h3)),
main .sc-faq-intro :is(h1, h2:not(:where(.production-h3))),
section.form-footer.fr-callback .fr-callback-copy h2:not(:where(.production-h3)) {
  text-align: left !important;
}
main section.sc-faq-home .sc-faq-intro { position: static; }
main .pr-section-heading > .pr-all-link { width: fit-content; }

/* Photographs, visual choices, certificates and gifts have a shared centre axis. */
main :is(section.catalog, section.gallery, section.ceiling-advantages,
         section.certificates, section.ceiling-certificates, section.free-options,
         section.co-about-facts-section, section.cp-audiences) > .container > :is(h2:not(:where(.production-h3)), .h2) {
  margin-inline: auto;
  text-align: center !important;
}
main :is(section.catalog, section.gallery, section.ceiling-advantages,
         section.certificates, section.ceiling-certificates) > .container > p {
  max-width: 900px;
  margin-inline: auto;
  text-align: center !important;
}
