/* One consistent interface layer; all original product artwork is retained. */
:root{--header-offset:82px;--sticky-offset:calc(var(--header-offset) + 74px)}
html{scroll-padding-top:var(--sticky-offset);scrollbar-gutter:stable}
.skip{z-index:40}
#main{scroll-margin-top:12px}
.header{position:sticky;top:0;z-index:20;max-width:none;margin:0;display:grid;grid-template-columns:minmax(125px,1fr) auto minmax(190px,1fr);gap:22px;padding:15px max(4vw,calc((100vw - 1600px)/2));background:#fff;align-items:center}
.header>.wordmark{grid-column:1;grid-row:1;justify-self:start}
.header>.primary-navigation{grid-column:2;grid-row:1;min-width:0;display:block;order:initial;flex:initial}
.header-tools{grid-column:3;grid-row:1;justify-self:end;flex-wrap:nowrap;margin:0;gap:14px}
.nav-main{display:flex;gap:26px;align-items:center}
.header .primary-navigation a{min-height:44px;text-decoration:none;font-size:.9rem}
.header .primary-navigation a[aria-current],.header .primary-navigation a[data-active-world],.header .primary-navigation a:hover{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.header .language-switch{border-color:var(--line);flex-wrap:nowrap;border-radius:2px;overflow:visible}
.header .language-switch a{font-size:.875rem;min-height:38px;min-width:36px;padding:6px 9px;text-decoration:none;box-shadow:none;border-radius:0}
.header .language-switch a[aria-current]{color:#fff;background:var(--ink);text-decoration:none}
.header .language-switch a:hover:not([aria-current]){background:var(--soft);color:var(--ink);text-decoration:none}
.menu-toggle,.menu-previews{display:none}
.subnav{top:var(--header-offset);z-index:10;background:#fff}
.subnav>div{min-width:0}
.section,.model-overview,.product-layout,.design-index-group{scroll-margin-top:12px}
.button.secondary:hover,body[data-page] .button.secondary:hover{color:var(--ink);background:var(--soft);border-color:var(--ink)}
.button:focus-visible,.image-button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.home-lead{max-width:720px;margin-top:20px;color:var(--muted);font-size:1.05rem;line-height:1.7}
.hospitality-entry{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6vw;width:92%;max-width:1500px;margin:30px auto 80px;padding:36px;background:var(--soft);border:1px solid var(--line);align-items:center}
.hospitality-entry>*{min-width:0}.hospitality-entry img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.hospitality-entry h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:22px}.hospitality-entry .button{margin-top:25px}.hospitality-entry .fineprint{margin-top:18px}
.collection-search{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-top:28px;max-width:780px}
.collection-search label{flex:1 1 280px;display:grid;gap:8px;font-size:.875rem}
.collection-search input{font:inherit;font-size:1rem;min-height:48px;width:100%;min-width:0;border:1px solid var(--line);border-radius:2px;padding:12px 14px;background:#fff;color:var(--ink)}
.collection-search .button{padding:12px 18px}.search-status{font-size:.875rem;color:var(--muted);margin-top:14px}
.design-search-empty{border:1px solid var(--line);background:var(--soft);margin:20px 0 0;padding:28px}.design-search-empty .button{margin-top:18px}
.modularity-benefits,.modularity-faq details{border-color:var(--line)}.step-number{color:var(--muted)}
dialog figure>img{background:var(--soft)}
.chosen-options figcaption,.model-study-label,.modularity-teaser figcaption{font-size:.875rem;line-height:1.5}
.selection-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-block:1px solid var(--line);margin:30px 0;padding:24px 0}
.selection-summary p{font-size:.875rem;color:var(--muted);line-height:1.5}.selection-summary strong{display:block;font-size:1.8rem;color:var(--ink);font-weight:400;line-height:1.2;margin-bottom:6px}
.selection-undo{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:15px 20px;margin:20px 0;background:var(--soft);border:1px solid var(--line);font-size:.875rem}
.selection-undo button{min-height:44px;text-decoration:underline;text-underline-offset:4px}
.selection-actions .actions{align-items:stretch}.selection-actions .button{max-width:100%;white-space:normal}
.pilot-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.pilot-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pilot-actions .button{flex:1 1 240px}.pilot-clear{padding:12px 10px;min-height:48px;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}
@media(min-width:761px) and (max-width:1050px){.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.hospitality-entry{gap:30px;padding:28px}}
@media(max-width:1280px){
 .header{grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:12px 20px;display:grid}
 .header>.wordmark{font-size:1rem;letter-spacing:.12em}.header>.wordmark span{font-size:.56rem}
 .header-tools{grid-column:2;grid-row:1;gap:8px}.header .language-switch a{font-size:.8125rem;padding:6px;min-width:32px;min-height:38px}
 .menu-toggle:not([hidden]){display:flex;grid-column:3;grid-row:1;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:2px}
 .menu-toggle span{font-size:.875rem}.header>.primary-navigation{grid-column:1/-1;grid-row:2;width:100%;max-height:calc(80dvh - 65px);overflow:auto;border-top:1px solid var(--line);padding-top:12px}
 .navigation-enhanced>.primary-navigation:not([data-menu-open]){display:none}
 .nav-main{display:flex;flex-wrap:wrap;gap:6px 24px}.header .primary-navigation .nav-main a{font-size:.9375rem}
 .menu-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 6px}
 .header .menu-previews a{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--line);background:var(--soft);font-size:.875rem;text-decoration:none;line-height:1.4}
 .menu-previews img{width:70px;height:54px;object-fit:contain}.menu-previews span{min-width:0}
 .subnav{display:block;padding:10px 20px;position:sticky}.subnav strong{display:none}.subnav>div{margin:0;display:flex;flex-wrap:nowrap;gap:22px;overflow-x:auto;scrollbar-width:thin;padding:1px 1px 5px}
 .subnav a{white-space:nowrap;flex-shrink:0;font-size:.875rem;min-height:38px}
 :root{--sticky-offset:calc(var(--header-offset) + 66px)}
}
@media(max-width:760px){
 .hospitality-entry{width:auto;margin:20px 20px 48px;padding:24px;grid-template-columns:minmax(0,1fr);gap:25px}.hospitality-entry .button{width:100%}
 .home-lead{font-size:1rem;margin-top:18px}.collection-search{gap:10px}.collection-search label{flex-basis:100%}.collection-search .button{width:100%}
 .selection-summary{gap:12px;padding:20px 0}.selection-summary p{font-size:.8125rem}.selection-summary strong{font-size:1.5rem}
 .pilot-actions{align-items:stretch;flex-direction:column}.pilot-actions .button{flex:auto}.pilot-clear{text-align:left}
}
@media(max-width:440px){
 .header{padding-inline:14px;gap:8px}.header>.wordmark{font-size:.88rem}.menu-toggle span{display:none}
 .header-tools .selection-link{position:relative;width:40px;min-width:40px;height:44px;padding:0;justify-content:center}.header .language-switch a{min-width:30px;font-size:.8125rem}
 .header .menu-previews a{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px;font-size:.8125rem}.menu-previews img{width:100%;height:auto;aspect-ratio:4/3}.menu-previews span{overflow-wrap:normal}
}
@media print{.header,.collection-search,.search-status,.selection-undo,.hospitality-entry .button,.pilot-clear{display:none!important}.hospitality-entry{display:block;width:auto;padding:0;margin:0}.selection-summary{padding:10px 0;margin:15px 0}.subnav{position:static}html{scroll-padding:0}}

.header:not(.navigation-enhanced){position:static}

.header .language-switch a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
:is(.image-tabs,.wide-scene .image-button) img{object-fit:contain}

/* Clear starting points and a disclosure menu that keeps the page in place. */
.home-intro .actions{margin-top:24px;align-items:center}
.home-intro .actions .button{font-size:1rem;white-space:normal}
.home-intro h1,.world-title h1,.model-title h1{text-wrap:balance}
footer{grid-template-columns:minmax(180px,.65fr) minmax(0,2fr);padding-inline:var(--content-edge);gap:40px var(--content-gap)}
footer .footer-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:none;align-items:start}
.footer-nav-group{min-width:0}
.footer-nav-group h2{font-size:.875rem;font-weight:700;letter-spacing:0;line-height:1.5;margin-bottom:12px}
.footer-nav-group a{min-height:44px;padding-block:8px;line-height:1.5;overflow-wrap:anywhere}
.header .language-switch a,.subnav a{min-height:44px}
@media(max-width:1280px){
 .header.navigation-enhanced>.primary-navigation{position:absolute;inset-inline:0;top:100%;width:100%;margin:0;padding:18px 20px 20px;max-height:calc(100dvh - var(--header-offset) - 20px);background:#fff;border-block:1px solid var(--line);box-shadow:0 18px 24px -18px #17191b30;overscroll-behavior:contain}
 footer{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .home-intro .actions{gap:10px;align-items:stretch}
 .home-intro .actions .button{flex:1 1 220px}
 footer .footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
}
@media(max-width:500px){footer .footer-navigation{grid-template-columns:minmax(0,1fr)}}
@media(max-width:440px){.home-intro h1{font-size:clamp(1.9rem,8.2vw,2.25rem);letter-spacing:-.04em}}
@media(hover:none){.zoom-label{opacity:1}}
@media(prefers-reduced-motion:reduce){.product-card img,.world-arrow,.zoom-label{transition:none}.product-card:hover img{transform:none}}

/* A shared page rhythm for the two product worlds; existing controls remain unchanged. */
:root{--content-width:1600px;--content-gutter:clamp(20px,4vw,64px);--content-edge:max(var(--content-gutter),calc((100vw - var(--content-width))/2));--section-space:clamp(48px,5vw,80px);--content-gap:clamp(24px,4vw,64px)}
body:is([data-page="home"],[data-page="category"]) #main>:is(.home-intro,.world-entrances,.entrance-status,.world-stage,.cover-story,.home-collection,.hospitality-entry,.entry-story){width:calc(100% - 2 * var(--content-gutter));max-width:var(--content-width);margin-inline:auto}
body:is([data-page="home"],[data-page="category"]) #main>.section:not(.entry-story){padding-inline:var(--content-edge);padding-block:var(--section-space)}
body:is([data-page="home"],[data-page="category"]) #main>.section>:is(.section-heading,.grid,.scene-pair,.feature-split,.image-tabs,.principle-note,.text-trio,.variants){max-width:var(--content-width);margin-inline:auto}
body:is([data-page="home"],[data-page="category"]) #main>.section>.scene-pair{padding-inline:0;gap:var(--content-gap)}
/* Product scenes share a calm frame; every component remains in view. */
.world-entrances .world-link>figure,.world-visual .image-button{background:var(--soft);border-radius:var(--radius);overflow:hidden}
.world-entrances .world-link img,.world-visual .image-button img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--soft)}
.world-visual figcaption{margin-top:12px}
.world-stage{column-gap:var(--content-gap);row-gap:24px}
.world-heading{padding-block:24px}
.world-copy{padding-top:24px}
.product-thumbs img,.image-tabs img{object-fit:contain;background:var(--soft)}
body:is([data-page="home"],[data-page="category"]) #main>.design-entry{width:calc(100% - 2 * var(--content-gutter));max-width:var(--content-width);margin-inline:auto}
body[data-page="home"] #main>.hospitality-entry{padding:var(--section-space) 0;margin-block:0;border:0;border-block:1px solid var(--line);background:#fff;gap:var(--content-gap)}
body[data-page="home"] #main>.cover-story{margin-block-start:0;padding-block:var(--section-space)}
body[data-page="home"] #main>.home-collection{margin-block:0;padding:var(--section-space) 0;gap:var(--content-gap)}
body[data-page="category"] #main>.status-section{padding-block:24px}
/* The new base-module page uses the same edge without changing existing model layouts. */
body[data-product="hydroskirt"] #main>.breadcrumb{padding:28px var(--content-edge);margin:0}
body[data-product="hydroskirt"] #main>.product-layout{width:calc(100% - 2 * var(--content-gutter));max-width:var(--content-width);margin-inline:auto;padding:10px 0 var(--section-space)}
body[data-product="hydroskirt"] #main>.section{padding:var(--section-space) var(--content-edge)}
body[data-product="hydroskirt"] #main>.section>:is(.section-heading,.grid,.specification-grid,.skirt-related-layout){max-width:var(--content-width);margin-inline:auto}
body[data-product="hydroskirt"] .product-visuals{top:calc(var(--header-offset) + 12px)}

.entry-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--content-gap);align-items:center;padding:var(--section-space) 0;border-block:1px solid var(--line)}
.entry-story>*{min-width:0}.entry-story-copy{max-width:750px}.entry-story h2{margin-bottom:24px;font-size:clamp(1.85rem,3vw,2.75rem);line-height:1.15;letter-spacing:-.025em}
.entry-story-copy>p:not(.eyebrow){max-width:650px;line-height:1.7}.entry-story .actions{align-items:center}
.entry-story figure{min-width:0;margin:0}.entry-story figure img{width:100%;height:auto;object-fit:contain}.entry-story figure .image-button{background:var(--soft);border-radius:0}
.entry-story figcaption{font-size:.875rem;line-height:1.6;margin-top:12px}
.entry-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:24px 0 0;margin:28px 0 0;border-top:1px solid var(--line)}
.entry-steps li{min-width:0;color:var(--muted);font-size:.875rem;line-height:1.6}
.entry-steps li>span:first-child{display:block;font-size:.8125rem;letter-spacing:.08em;margin-bottom:8px;color:var(--muted)}
.entry-steps strong{display:block;color:var(--ink);font-size:1rem;font-weight:400;line-height:1.4;margin-bottom:8px}.entry-steps p{font-size:inherit;line-height:inherit}

.specification-section .section-heading{align-items:start}.specification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--content-gap);max-width:var(--content-width);margin-inline:auto}
.specification-grid:has(>dl:only-child){grid-template-columns:minmax(0,1fr)}
.specification-grid dl{margin:0;min-width:0}
.specification-grid dl>div{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);min-width:0}
.specification-grid>dl:only-child>div{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr)}
.specification-grid dt,.specification-grid dd{margin:0;padding-block:16px;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.65;overflow-wrap:anywhere}
.specification-grid dt{color:var(--ink);font-weight:400;padding-right:24px}.specification-grid dd{color:var(--muted)}
.specification-section>.fineprint{max-width:1100px}.specification-section .specification-grid+details{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.skirt-status{margin-bottom:24px;font-size:.875rem;line-height:1.6;color:var(--muted)}
.skirt-spec-details{padding-block:18px;border-bottom:1px solid var(--line)}.skirt-spec-details>summary{min-height:44px;padding-block:8px}.skirt-spec-details>p{max-width:1000px;line-height:1.7}
.skirt-related-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--content-gap);align-items:center;max-width:var(--content-width);margin-inline:auto}
.skirt-related-layout>*{min-width:0}.skirt-related-layout img{width:100%;height:auto;object-fit:contain}.skirt-related-layout h3{margin-bottom:18px;font-size:1.5rem}.skirt-related-layout .button{margin-top:24px}
.skirt-world-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px}.skirt-world-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}

.technical-chapter{min-width:0;border-block:1px solid var(--line);margin:0;background:#fff}
.technical-chapter+.technical-chapter{border-top:0}
.technical-chapter>summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;column-gap:28px;align-items:start;position:relative;list-style:none;margin:0;padding-block:32px;color:var(--ink)}
.technical-chapter>summary::-webkit-details-marker{display:none}.technical-chapter>summary::marker{content:""}
.technical-chapter>summary::after{content:"+";grid-column:2;grid-row:1 / span 2;justify-self:end;align-self:center;font-size:1.8rem;line-height:1;color:var(--muted);font-weight:400}
.technical-chapter[open]>summary::after{content:"−"}
.technical-chapter>summary>*{grid-column:1;min-width:0}.technical-chapter>summary h2{font-size:clamp(1.85rem,3vw,2.75rem);line-height:1.15;letter-spacing:-.025em;font-weight:400;margin:0}
.technical-chapter>summary p{max-width:850px;margin-top:12px;font-size:.9375rem;line-height:1.7}
.technical-chapter .chapter-title{display:block}.technical-chapter .chapter-description{display:block;max-width:850px;margin-top:12px;font-size:.9375rem;font-weight:400;line-height:1.7;letter-spacing:0;text-wrap:wrap;color:var(--muted)}
.technical-chapter[open]>summary{margin-bottom:0;border-bottom:1px solid var(--line)}
.technical-chapter .chapter-content{min-width:0;margin:0;padding:0}
.technical-chapter .chapter-content>.section{width:100%;max-width:none;margin:0;padding:var(--section-space) 0;background:transparent}
.technical-chapter .chapter-content>.section>:is(.section-heading,.grid,.scene-pair,.feature-split,.principle-note){max-width:100%;margin-inline:0}
.technical-chapter .chapter-content .section-heading>p{font-size:1rem;margin-top:0}
.technical-chapter .chapter-content :is(.text-trio p,.principle-note>p:not(.fineprint),.feature-split>div>p:not(.eyebrow):not(.fineprint)){font-size:1rem;margin-top:0}
.technical-chapter .chapter-content .principle-note>p+p:not(.fineprint){margin-top:.85rem}
.technical-chapter .chapter-content>.build-intro{padding-bottom:0}
.technical-chapter .chapter-content>.section:first-child{padding-top:32px}

@media(max-width:1000px){.specification-grid{grid-template-columns:minmax(0,1fr)}.entry-steps{gap:18px}}
@media(max-width:760px){
 .entry-story{grid-template-columns:minmax(0,1fr);gap:28px}.entry-story-copy{max-width:none}.entry-story h2{margin-bottom:18px}
 .entry-story .actions{align-items:stretch}.entry-story .button{width:100%;white-space:normal}.entry-steps{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:24px;padding-top:20px}
 .entry-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 12px}.entry-steps li>*{grid-column:2}.entry-steps li>span:first-child{grid-column:1;grid-row:1 / span 3;margin:2px 0 0}.entry-steps strong{margin-bottom:4px}
 .specification-grid dl>div{display:block}.specification-grid dt{padding:16px 0 5px}.specification-grid dd{padding:0 0 16px;border-top:0}
 .skirt-related-layout{grid-template-columns:minmax(0,1fr);gap:28px}.skirt-related-layout .button{width:100%;white-space:normal}.skirt-world-links{gap:6px}
 .technical-chapter>summary{column-gap:16px;padding-block:26px}.technical-chapter>summary h2{font-size:clamp(1.65rem,6vw,2.25rem)}.technical-chapter>summary p,.technical-chapter .chapter-description{font-size:.875rem}
}
@media print{
 body:is([data-page="home"],[data-page="category"]) #main>:is(.home-intro,.world-entrances,.entrance-status,.world-stage,.cover-story,.home-collection,.hospitality-entry,.entry-story,.section,.design-entry){width:100%;max-width:none;margin:0;padding:0}
 .entry-story{display:block;border:0}.entry-story figure{break-inside:avoid}.entry-story .actions{display:none}.entry-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:12px;margin-top:16px}
 .entry-steps li{display:block}.specification-grid{display:block}.specification-grid dl{display:block}.specification-grid dt,.specification-grid dd{break-inside:avoid}
 .technical-chapter{border:0}.technical-chapter>summary{padding:12px 0}.technical-chapter>summary::after{display:none}.technical-chapter .chapter-content>.section{padding:20px 0}
}
