/* CONTENT-08-R1: one section rhythm, with separate padding for full-width surfaces. */
.home #main>.section{padding-block:calc(var(--space)/2);margin-block:0}
.home #main>.hero+.section{padding-top:var(--space)}
.home #main>:is(.kits-section,.production-section,.contact-section){padding-block:var(--space)}
.home #main>.section:last-child{padding-bottom:var(--space)}
/* The desktop telephone keeps its dimensions in both floating-header states. */
@media(min-width:901px){
 .header-phone{display:block;flex-shrink:0;font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}
 .header-inner{gap:22px}.desktop-nav .nav-list{gap:20px}
}
@media(min-width:901px) and (max-width:1350px){
 .header-inner{gap:16px;padding-inline:20px}.header-inner .brand img{width:130px}
 .desktop-nav .nav-list{font-size:14px;gap:14px}.header-phone{font-size:19px}
 .header-cta .cta-label-full{display:none}.header-cta .cta-label-short{display:inline}
 .header-cta{padding-inline:15px}
}
@media(min-width:901px) and (max-width:1080px){
 .header-inner{gap:12px;padding-inline:16px}.header-inner .brand img{width:115px}
 .desktop-nav .nav-list{font-size:13px;gap:10px}.header-phone{font-size:18px}
}
.benefit-icon{width:48px;height:48px;border-radius:17px;background:#eaf3e6;color:var(--green-dark)}
.company-intro .benefits>div{min-width:0}.company-intro .benefits h3{max-width:350px}
/* A single physical indicator changes position and width. Tabs remain category tabs. */
.apartment-tabs{position:relative;isolation:isolate;align-items:stretch;max-width:100%}
.apartment-tabs button{position:relative;z-index:1;font-weight:700;transition:color .2s ease}
.apartment-tabs [aria-selected=true]{background:transparent;box-shadow:none}
.apartment-indicator{position:absolute;top:0;left:0;z-index:0;background:#fff;border-radius:28px;box-shadow:0 3px 12px #21381e0e;pointer-events:none}
.apartment-tabs.is-ready .apartment-indicator{transition:transform .28s cubic-bezier(.2,.7,.3,1),width .28s cubic-bezier(.2,.7,.3,1),height .28s ease}
.js .apartment-panels{display:grid;align-items:start;position:relative}
.js .apartment-panel{grid-area:1/1;min-width:0;margin-top:0}
/* A wide player contains the entire portrait source; its height is independent of the text. */
.production-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,5vw,76px);max-width:1600px}
.production-grid h2{max-width:600px}.production-grid>div>p:not(.eyebrow){font-size:18px;max-width:580px}
.production-facts{margin:22px 0 0}.production-facts>div{padding-block:12px}.production-facts dt{font-size:15px;margin-bottom:4px}.production-facts dd{font-size:15px;line-height:1.5}
.production-grid .text-link{margin-top:20px}.production-media{align-self:start;display:block}
.production-media video{width:100%;max-width:none;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:26px;background:#e1e9de}
.production-media .small-copy{max-width:none}.production-grid .production-media .production-video-link{margin-top:12px}
.site-footer{background:#f2f6f0;border-top:1px solid #dfe7dc;padding-block:58px 26px}
.footer-grid{gap:42px}.footer-brand p,.footer-geo,.footer-legal,.footer-bottom{color:#526259}
.footer-grid .nav-list a{display:inline-block;padding-block:3px}.footer-grid h2{color:#33493a;margin-bottom:18px}
.footer-contact>a{line-height:1.5}.footer-contact>.footer-inquiry{display:inline-flex;font-size:14px;margin-top:5px}
.footer-bottom{padding-top:24px;margin-top:34px}
/* The same showroom directory and map component are rendered on home and contacts. */
.showrooms-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}
.showrooms-heading h2{max-width:760px}.showrooms-heading>div>p:not(.eyebrow){color:var(--muted);margin-top:20px;max-width:640px}
.showrooms-heading .contact-phone{margin-top:0;white-space:nowrap;font-size:27px}
.showroom-composition{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.55fr);gap:28px;align-items:start}
.room-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.room-item{border:1px solid #dbe5d7;border-radius:20px;background:#ffffffb3;overflow:hidden;min-width:0}
.room-item.is-selected{background:#fff;border-color:#8eaf83;box-shadow:0 4px 15px #2e4c2420}
.room-select{display:grid;grid-template-columns:28px minmax(0,1fr);gap:5px 12px;padding:17px 19px;align-items:start;min-height:74px}
.room-number{grid-row:1/3;color:var(--green);font-size:12px;line-height:26px}.room-select strong{font-size:18px;font-weight:700;line-height:1.35}
.room-select address{font-size:14px;font-style:normal;line-height:1.5;color:var(--muted)}
.room-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding:0 19px 14px 59px;font-size:13px;color:var(--green-dark)}
.room-actions a{display:inline-flex;align-items:center;min-height:36px;border-bottom:1px solid #ceddca}
.js .room-item:not(.is-selected) .room-actions{display:none}
.room-map-card{min-width:0;border:1px solid #d7e2d1;border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 10px 35px #294b1e0a;position:sticky;top:calc(var(--header-offset) + 8px)}
.room-map-stage{height:440px;position:relative;background:#e8eee3;isolation:isolate}
.room-map-canvas{position:absolute;inset:0;height:100%;width:100%;touch-action:pan-y}.room-map-fallback{position:relative}
.room-map-fallback{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center;gap:14px;background:radial-gradient(ellipse at 50% 30%,#f7fbf3,transparent 70%)}
.room-map-fallback img{width:88px;height:88px;object-fit:contain;margin-bottom:8px}.room-map-fallback h3{font-size:28px}
.room-map-fallback p{font-size:15px;color:var(--muted);max-width:330px;margin:0}
.room-map-fallback .text-link{font-size:14px}.room-map-retry{font-size:13px;min-height:42px}
.room-map-card.is-ready .room-map-fallback{display:none}
.room-selected{padding:25px 28px;border-top:1px solid var(--line)}
.room-selected .eyebrow{font-size:10px;margin-bottom:10px}.room-selected h3{font-size:25px;line-height:1.2}
.room-selected address{font-size:15px;font-style:normal;margin-top:12px;color:var(--muted)}
.room-selected-actions{display:flex;gap:12px 22px;align-items:center;flex-wrap:wrap;margin-top:18px}
.room-selected-actions .button{font-size:13px;min-height:44px;padding:12px 18px}.room-selected-actions .text-link{font-size:13px;min-height:44px}
.room-coordinate-note{font-size:12px;line-height:1.5;margin-top:14px;color:var(--muted)}
.room-map-help{font-size:12px;color:var(--muted);padding:14px 22px;border-top:1px solid var(--line)}
.room-map-card.is-ready .room-selected:not(.is-unmapped){display:none}
.dh-map-pin{width:48px;height:48px;border:2px solid #7a9f6c;border-radius:17px 17px 17px 4px;background:#fff;box-shadow:0 3px 13px #2b482d33;transform:translate(-24px,-50px);display:grid;place-items:center}
.dh-map-pin img{width:39px;height:39px;object-fit:contain}.dh-map-pin.is-selected{border:3px solid #078646;background:#e9f5de;box-shadow:0 0 0 5px #0786462b,0 4px 15px #2b482d33}
.dh-map-balloon{font:400 14px/1.5 Gilroy,Arial,sans-serif;max-width:260px;padding:8px 4px;color:var(--ink)}
.dh-map-balloon h3{font-size:19px;line-height:1.25;margin-bottom:8px}.dh-map-balloon address{font-style:normal;font-size:13px;color:var(--muted)}
.dh-map-balloon>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.dh-map-balloon a{font-size:12px;color:var(--green-dark);display:inline-flex;min-height:40px;align-items:center;text-decoration:underline;text-underline-offset:3px}
.dh-map-balloon .button{background:var(--green);color:#fff;text-decoration:none;padding:10px 14px;min-height:40px;font-size:12px}
.contacts-page .contacts-first{grid-template-columns:1fr}.contacts-page .contacts-channels{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.contacts-channels>.eyebrow{grid-column:1/-1}.contacts-channels .contacts-phones{grid-row:span 3}.contacts-channels .contacts-actions{margin-top:12px}.contacts-channels .contacts-visit-hint{grid-column:1/-1}
.contacts-page .showroom-composition{margin-top:30px}.contacts-page .room-item{background:#f8faf6}.contacts-page .room-item.is-selected{background:#eef5e8}
.contacts-page .map-left .room-map-card{order:-1}.contacts-page .map-left{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr)}
@media(max-width:1000px){.showroom-composition{grid-template-columns:minmax(260px,1fr) minmax(0,1.3fr);gap:20px}.room-select{padding:15px}.room-actions{padding-left:55px}.room-selected{padding:22px}.room-map-stage{height:430px}.showrooms-heading .contact-phone{font-size:23px}}
@media(max-width:800px){.showroom-composition,.contacts-page .map-left{grid-template-columns:1fr}.room-map-card{position:static}.contacts-page .map-left .room-map-card{order:0}.room-list{grid-template-columns:1fr 1fr}.room-item{align-self:start}.room-map-stage{height:400px}.showrooms-heading{display:block}.showrooms-heading .contact-phone{margin-top:22px;display:inline-block}.contacts-page .contacts-channels{display:flex}}
@media(max-width:700px){
 .company-intro .benefits>div{grid-template-columns:44px minmax(0,1fr);gap:0 16px}.benefit-icon{width:44px;height:44px;grid-row:1/3;margin:0}.benefit-icon svg{width:27px;height:27px}.company-intro .benefits h3{margin-bottom:8px}
 .apartment-tabs{display:grid;grid-template-columns:.65fr 1fr 1fr;border-radius:20px;gap:0;padding:4px;width:100%}
 .apartment-tabs button{font-size:13px;line-height:1.25;min-height:48px;padding:9px 5px;overflow-wrap:normal;border-radius:16px}
 .apartment-indicator{border-radius:16px}.apartment-choice>span{margin-bottom:10px}
 .production-grid{grid-template-columns:1fr;gap:26px}.production-grid>div>p:not(.eyebrow){font-size:17px}.production-media video{aspect-ratio:9/16;border-radius:22px}.production-facts dt{font-size:15px}.production-facts dd{font-size:14px}
 .site-footer{padding-block:38px 23px}.footer-grid{column-gap:22px;row-gap:30px}.footer-bottom{margin-top:25px;padding-top:20px}.footer-brand{align-items:start}.footer-brand p{line-height:1.6}
 .showrooms-heading{margin-bottom:25px}.showrooms-heading h2{font-size:33px}.showrooms-heading>div>p:not(.eyebrow){font-size:16px;margin-top:18px}.showrooms-heading .contact-phone{font-size:27px}
 .room-list{grid-template-columns:1fr;gap:8px}.room-select{padding:15px 17px;grid-template-columns:24px minmax(0,1fr);gap:5px 10px}.room-select strong{font-size:17px}.room-select address{font-size:13px}.room-actions{padding:0 17px 12px 51px}
 .room-map-card{border-radius:24px}.room-map-stage{height:360px}.room-map-fallback{padding:25px}.room-map-fallback h3{font-size:25px}.room-map-fallback img{width:72px;height:72px}
 .room-selected{padding:23px}.room-selected h3{font-size:24px}.room-selected address{font-size:14px}.room-selected-actions{gap:10px;align-items:stretch;flex-direction:column}.room-selected-actions .text-link{align-self:start}
 .room-map-help{font-size:11px;padding:14px 20px}.dh-map-balloon{max-width:220px}.contacts-showrooms-heading h2{max-width:none}
}
@media(prefers-reduced-motion:reduce){.apartment-tabs button,.apartment-tabs.is-ready .apartment-indicator{transition:none}.room-item{transition:none}}

.showroom-composition:not(.has-map){grid-template-columns:1fr}.showroom-composition:not(.has-map) .room-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}

.room-map-card:not(.is-ready) .room-map-help{display:none}.showrooms-contact{flex-shrink:0;display:grid;justify-items:end;gap:16px}.showrooms-contact .button{font-size:14px;min-height:46px}
@media(max-width:800px){.showrooms-contact{justify-items:start;gap:4px}}

/* MAPS-15: shared showroom component. Addresses and actions work independently of API. */
.showroom-composition.has-map,.contacts-page .showroom-composition.has-map{grid-template-columns:minmax(290px,.85fr) minmax(0,1.55fr);gap:24px}
.contacts-page .map-left .room-map-card{order:0}
.showroom-composition>*{min-width:0}
.showroom-composition .room-actions,.js .showroom-composition .room-item:not(.is-selected) .room-actions{display:flex;gap:4px 18px;padding:0 16px 10px 50px}
.showroom-composition .room-actions a{min-height:36px;font-size:13px}
.showroom-composition .room-select{padding:14px 16px 6px;grid-template-columns:22px minmax(0,1fr);gap:4px 12px;width:100%;text-align:left;font:inherit;color:inherit;border:0;background:transparent;border-radius:18px}
.showroom-composition button.room-select{cursor:pointer}
.room-select strong{font-size:17px}.room-select address{font-size:13px}
.room-select .room-number{grid-row:1/5;font-size:12px}
.room-item{transition:border-color .15s,background-color .15s;box-shadow:none}
.showroom-composition .room-item.is-selected,.contacts-page .room-item.is-selected{background:#edf6e8;border:2px solid #078646}
.room-item.is-selected .room-select{padding:13px 15px 6px}
.room-item.is-selected .room-actions{padding-left:49px;padding-bottom:9px}
.room-unmapped-note{grid-column:2;font-size:11px;line-height:1.45;color:#687363;margin-top:3px}
.room-map-card{scroll-margin-top:calc(var(--header-offset) + 12px)}
.room-map-stage{height:620px}
.js .showroom-composition .room-selected,.room-enhanced .room-selected{display:none}
.room-map-card:not(.is-ready) .room-map-help,.room-map-card .room-map-help{display:block;min-height:48px;padding:14px 20px;font-size:12px}
.room-map-card:not(.is-ready) .room-map-help{visibility:hidden}
.room-map-overview{position:absolute;z-index:3;right:12px;top:12px;border:1px solid #ccd8c5;border-radius:12px;background:#fff;color:#264b30;min-height:44px;padding:9px 15px;font:600 13px/1.3 Gilroy,Arial,sans-serif;box-shadow:0 2px 8px #264b301a;cursor:pointer}
.room-map-overview[hidden],.room-point-card[hidden]{display:none}
.room-point-card{position:absolute;z-index:4;left:14px;top:14px;width:264px;max-width:calc(100% - 28px);max-height:calc(100% - 110px);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #cedec5;border-radius:19px;padding:23px 19px 17px;box-shadow:0 6px 22px #213c2626}
.room-point-card .eyebrow{font-size:9px;line-height:1.5;letter-spacing:.06em;padding-right:22px;margin:0 0 10px;color:#5c7451}
.room-point-card h3{font-size:23px;line-height:1.2;letter-spacing:-.02em;margin:0 22px 10px 0}
.room-point-card address{font-size:14px;line-height:1.5;font-style:normal;color:#53634e;overflow-wrap:anywhere}
.room-location-note,.room-point-note{font-size:12px;line-height:1.5;color:#53634e;overflow-wrap:anywhere}
.room-location-note{grid-column:2}
.room-point-note{margin:10px 0 0}
.room-point-actions>a[hidden],.room-point-note[hidden]{display:none}
.room-point-close{position:absolute;top:3px;right:3px;width:44px;height:44px;border:0;background:transparent;border-radius:12px;color:#38532f;font:28px/1 Arial,sans-serif;cursor:pointer}
.room-point-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0 15px;margin-top:7px}
.room-point-actions>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#245a32;text-decoration:underline;text-underline-offset:4px}
.room-point-actions>.button{width:100%;justify-content:space-between;color:#fff;text-decoration:none;padding:12px 16px;min-height:44px;margin-top:5px;font-size:14px}
.showroom-composition .dh-map-pin{padding:0;width:44px;height:44px;border:2px solid #7b9b6f;border-radius:15px 15px 15px 4px;background:#fff;box-shadow:0 3px 10px #29462e33;transform:translate(-22px,-48px);display:grid;place-items:center;cursor:pointer;transition:none}
.showroom-composition .dh-map-pin img{width:34px;height:34px;object-fit:contain;pointer-events:none}
.showroom-composition .dh-map-pin.is-selected{border:3px solid #078646;background:#e8f6df;box-shadow:0 0 0 5px #07864633,0 4px 15px #2b482d33}
.showroom-composition :is(button,a):focus-visible{outline:3px solid #126631;outline-offset:3px}
.showroom-composition .room-select:focus-visible{outline-offset:-4px}
.showroom-composition .dh-map-pin:focus-visible{outline-color:#17442a;outline-offset:5px}
@media(max-width:1100px){.showroom-composition.has-map,.contacts-page .showroom-composition.has-map{grid-template-columns:minmax(270px,1fr) minmax(0,1.4fr);gap:18px}.room-map-stage{height:660px}}
@media(max-width:800px){
 .showroom-composition.has-map,.contacts-page .showroom-composition.has-map{grid-template-columns:minmax(0,1fr);gap:16px}
 .room-enhanced .room-list{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(250px,82%);align-items:stretch;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:2px;padding:2px 2px 10px;max-width:100%}
 .room-enhanced .room-item{scroll-snap-align:start;align-self:stretch;display:flex;flex-direction:column}
 .room-enhanced .room-actions{margin-top:auto}
 .room-map-stage{height:clamp(380px,calc(100svh - 160px),520px)}
 .room-map-card{position:static}
 .room-point-card{left:10px;top:10px;max-width:calc(100% - 20px)}
 .room-map-overview{top:10px;right:10px}
}
@media(max-width:600px){
 .room-point-card{width:calc(100% - 20px);padding:17px 17px 13px;max-height:calc(100% - 130px)}
 .room-point-card .eyebrow{margin-bottom:7px}
 .room-point-card h3{font-size:21px;margin-bottom:7px}
 .room-point-card address{font-size:13px;line-height:1.45}
 .room-point-actions{gap:0 12px;margin-top:2px}
 .room-point-actions>a{font-size:12px}
 .room-point-actions>.button{margin-top:1px;font-size:13px}
 .room-map-overview{top:auto;bottom:74px;left:10px;right:auto}
}
@media(any-pointer:coarse){.room-map-canvas,.room-map-canvas ymaps{touch-action:pan-y!important}}
@media(prefers-reduced-motion:reduce){.showroom-composition *{scroll-behavior:auto!important}.showroom-composition .room-item{transition:none}}
