/* Shared presentation layer. All routes use the same navigation, spacing, and interaction rules. */
:root{--gutter:max(5%,calc((100vw - 1400px)/2));--ease:cubic-bezier(.22,.68,.2,1)}
html{scroll-padding-top:106px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}main{min-width:0}
.site-header{position:sticky;top:0;height:78px;padding-inline:5%;gap:30px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.desktop-nav{gap:24px}.desktop-nav a{position:relative;white-space:nowrap}.desktop-nav a:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}
.mobile-nav{position:fixed;max-height:calc(100svh - 78px);overflow:auto;box-shadow:0 20px 40px #0004}
.mobile-nav a[aria-current]{color:var(--mint)}.mobile-nav>a{min-height:48px;border-bottom:1px solid var(--line)}
.button,.text-button{touch-action:manipulation}.button:hover{transform:none}.button:active{transform:translateY(1px)}
.text-button{min-height:36px}.button:focus-visible,.text-button:focus-visible{outline-offset:6px}
.breadcrumbs a{min-height:32px;display:inline-flex;align-items:center}.breadcrumbs{align-items:center}
.page-index{top:110px}.editorial-body section{scroll-margin-top:112px}
.editorial-intro h1{max-width:1040px}.editorial-lead{max-width:64ch}.editorial-body p{max-width:70ch}
.catalogue-intro{padding-top:68px;padding-bottom:48px;background:var(--bg);border-bottom:1px solid var(--line)}
.catalogue-intro h1{font-size:clamp(40px,5.5vw,82px);max-width:1100px;margin:24px 0 30px}
.catalogue-summary p{max-width:690px;font-size:16px}.catalogue{padding-top:34px}
.catalogue-status{min-height:62px}.product-grid{gap:32px;border:0}.product-card{border:1px solid var(--line);padding:24px 26px 30px;background:var(--surface)}
.product-card-top{margin-bottom:0}.product-card .render-study{width:calc(100% + 52px);max-width:none;margin:22px -26px 28px;border-left:0;border-right:0}
.product-card .render-study-image{aspect-ratio:var(--art-ratio)}.product-card h2{font-size:clamp(29px,3vw,44px)}
.product-card .product-description{max-width:50ch;margin-bottom:24px}.product-card .product-includes{color:var(--muted);min-height:54px}
.product-card:hover{background:var(--surface-2)}.product-card:hover .render-study img{transform:scale(1.025)}
.product-role{font:400 10px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.product-detail-intro{padding-bottom:70px;background:var(--bg)}.product-detail-grid{grid-template-columns:1fr 1fr;gap:6%;align-items:center}
.product-detail-intro h1{font-size:clamp(44px,5.5vw,86px);max-width:11ch;overflow-wrap:normal}
.product-detail-grid .editorial-lead{font-size:17px;line-height:1.8;max-width:49ch}
.product-hero-art .render-study-image{aspect-ratio:1.12}.product-hero-art .render-study{border-color:var(--line)}.public-visual-note{font:10px/1.8 var(--mono);margin-top:14px}
.assurance-intro>div>.public-visual-note{font:10px/1.8 var(--mono);max-width:56ch;margin-top:22px}
.portfolio-nav{display:flex;gap:26px;align-items:center;overflow-x:auto;padding:17px var(--gutter);border-block:1px solid var(--line);background:var(--surface);scrollbar-width:thin}
.portfolio-nav>span{font:9px var(--mono);letter-spacing:.12em;color:var(--muted);white-space:nowrap;margin-right:auto}
.portfolio-nav a{font-size:12px;white-space:nowrap;min-height:32px;display:flex;align-items:center;gap:10px}.portfolio-nav a:before{content:'';width:4px;height:4px;background:var(--line)}.portfolio-nav a[aria-current]{color:var(--mint)}.portfolio-nav a[aria-current]:before{background:var(--mint)}
.related-section{padding-top:64px;padding-bottom:74px;background:var(--surface)}.related-grid>a{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding-bottom:12px}.related-grid .text-button{margin-top:auto}.related-grid h3{max-width:18ch}
.detail-body{padding-top:64px;padding-bottom:64px}.detail-body h2{font-size:clamp(30px,3.4vw,46px)}
.portfolio-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:9%;align-items:start}.portfolio-heading>.eyebrow{grid-column:1/-1}.portfolio-heading h2{grid-column:1;grid-row:2/4;margin:24px 0 0}.portfolio-heading>p:not(.eyebrow){grid-column:2;margin-top:26px}.portfolio-heading>.button{grid-column:2;justify-self:start;margin-top:22px}
.family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:48px}.family-link{border:1px solid var(--line);padding:0 26px 25px;background:var(--surface);display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;transition:background .25s var(--ease)}
.family-visual{width:calc(100% + 52px);margin:0 -26px 24px;position:relative;overflow:hidden;aspect-ratio:var(--art-ratio);background:var(--art-surface)}.family-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--art-ease)}.family-link:hover{background:var(--surface-2)}.family-link:hover img{transform:scale(1.025)}
.family-link strong{font-size:clamp(27px,2.6vw,39px);line-height:1.15;margin:13px 0 18px}.family-link p{max-width:47ch;margin:0 0 26px;font-size:14px}.family-link .family-count{margin-top:auto}.family-link>span:not(.family-visual):not(.family-count){color:var(--mint);font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}
.footer-top{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px;align-items:start}.footer-signature>.footer-brand{display:inline-block}.footer-signature>p{font-size:16px;line-height:1.5;color:var(--muted);margin-top:17px}.footer-top>nav{display:grid;gap:7px;margin:0;font-size:12px}.footer-top>nav>.eyebrow{margin-bottom:13px;color:var(--muted);font-size:9px}.footer-top nav a{min-height:31px;display:flex;align-items:center;width:fit-content}.footer-policies{margin-top:28px;border-top:1px solid var(--line);align-items:center}.footer-policies a,.theme-toggle{min-height:32px;display:inline-flex;align-items:center}.footer-bottom{margin-top:16px}
.form-error{color:var(--text);border-left:2px solid var(--mint);padding:10px 14px;font-size:13px;margin-bottom:20px;background:var(--surface-2)}input:user-invalid,textarea:user-invalid{border-color:#d6a678}
.footer-top nav a[aria-current],.footer-policies a[aria-current]{color:var(--mint);text-decoration:underline;text-underline-offset:5px}.footer-top nav a:hover,.footer-policies a:hover{color:var(--mint)}
@media(max-width:1100px){.site-header{gap:23px}.desktop-nav{gap:18px;font-size:12px}.site-header .brand{width:140px}.catalogue-summary{gap:24px}.portfolio-nav{gap:22px}.portfolio-nav>span{display:none}}
@media(max-width:960px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;border:1px solid var(--line);background:transparent;width:44px;height:44px;padding:11px}.menu-toggle span{display:block;width:20px;height:1px;background:var(--text);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}}
@media(min-width:961px){.mobile-nav{display:none!important}}
@media(max-width:800px){.site-header{height:72px}.mobile-nav{top:72px;max-height:calc(100svh - 72px)}.section{padding-block:64px}.catalogue-intro{padding-top:48px;padding-bottom:34px}.catalogue-summary{gap:22px}.catalogue-tools{gap:24px}.catalogue{padding-top:28px}.product-grid{gap:24px}.product-detail-grid{grid-template-columns:1fr;gap:35px}.product-detail-intro{padding-top:27px;padding-bottom:48px}.product-detail-intro h1{font-size:clamp(44px,8vw,64px);max-width:17ch}.product-hero-art .render-study-image{aspect-ratio:1.45}.portfolio-nav{gap:22px;padding-block:12px}.portfolio-nav a{font-size:11px}.portfolio-heading{display:block}.portfolio-heading h2{margin-top:20px}.portfolio-heading>p:not(.eyebrow){margin-top:24px}.family-grid{gap:22px}.family-link strong{font-size:27px}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-signature{grid-column:1/-1;display:flex;align-items:center;gap:28px}.footer-signature>p{margin:0;font-size:13px}.page-index{position:static}.related-section{padding-top:46px;padding-bottom:50px}.breadcrumbs{margin-bottom:30px}}
@media(max-width:550px){.family-grid,.product-grid{grid-template-columns:1fr}:root{--art-ratio:1.8}.family-link strong{font-size:31px}.catalogue-intro h1{font-size:clamp(34px,8.8vw,43px);line-height:1.1}.catalogue-intro .eyebrow{font-size:9px}.product-card{padding:22px}.product-card .render-study{width:calc(100% + 44px);margin-inline:-22px}.product-card .render-study-image{aspect-ratio:var(--art-ratio)}.product-card h2{font-size:32px}.category-filters button{min-height:44px}.catalogue-summary p{font-size:15px}.product-detail-intro h1{font-size:clamp(39px,10vw,52px)}.product-detail-grid .hero-actions{gap:18px}.product-detail-grid .editorial-lead{font-size:16px}.footer-policies{gap:6px 20px}.footer-top>nav{font-size:11px}.footer-top nav a{min-height:35px}.portfolio-nav{scroll-padding-inline:5%}.portfolio-nav a{min-height:36px}}
@media(prefers-reduced-motion:reduce){.product-card:hover .render-study img,.family-link:hover img{transform:none}.desktop-nav a:after,.family-visual img{transition:none}}
/* Compact regional navigation remains visible beside the logo on mobile. */
.site-header{gap:22px}.desktop-nav{gap:20px}
.region-switch{display:flex;flex:none;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);background:var(--surface);order:2}
.region-switch a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 9px;font:500 10px/1 var(--mono);letter-spacing:.03em;color:var(--muted);transition:background .2s,color .2s}
.region-switch img{width:21px;height:14px;flex:none;box-shadow:0 0 0 1px #ffffff18}.region-switch a[aria-current]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 -2px var(--mint)}
.region-switch a:hover{color:var(--text);background:var(--surface-2)}.header-cta{order:1}.menu-toggle{order:3;flex:none}
@media(max-width:1240px) and (min-width:961px){.site-header{gap:18px}.header-cta{display:none}.desktop-nav{gap:18px;font-size:12px}}
@media(max-width:960px){.site-header{gap:16px}.region-switch a{min-height:36px;padding:7px 8px}.region-switch{margin-left:auto}.site-header .brand{margin-right:0}.menu-toggle{width:44px}}
@media(max-width:800px){.site-header{padding-inline:6%}}
@media(max-width:420px){.site-header{gap:10px}.site-header .brand,.site-header .brand-crop{width:112px}.site-header .brand-crop{height:42px}.site-header .brand img{width:139px;top:-44px;left:-14px}.region-switch a{padding:7px 5px;gap:5px;font-size:9px}.region-switch img{width:18px;height:12px}.region-switch{padding:2px}.menu-toggle{width:40px;height:40px;padding:9px}}
