:root{--body-leading:1.7;--heading-leading:1.04;--ease-ui:cubic-bezier(.2,.7,.2,1)}
.site-header nav{font-size:12px;gap:28px}
.header-cta,.button,.text-link,.product-link{font-size:12px;line-height:1.4}
.page-title,.collection-hero h1,.project-intro h1{font-size:clamp(48px,6.5vw,96px);font-weight:600;line-height:var(--heading-leading);letter-spacing:-.025em}
.product-info h1{font-size:clamp(42px,4.8vw,72px);font-weight:600;line-height:1.06}
.page-lead,.collection-intro p,.product-description,.project-intro p,.location-heading p,.detail-grid p{font-size:15px;font-weight:400;line-height:var(--body-leading)}
.page-main p+p,.product-info p+p{margin-top:16px}
.product-card h3{font-weight:600;line-height:1.15}
.product-card-meta,.product-card>p,.product-link,.quote-note{font-size:11px;line-height:1.5}
.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.18em}
.product-photo img,.gym-photo img{transition:transform 240ms var(--ease-ui)}
.product-photo:hover img,.gym-photo:hover img{transform:scale(1.02)}
button,a{transition:color 180ms var(--ease-ui),background-color 180ms var(--ease-ui),border-color 180ms var(--ease-ui)}
button:disabled{cursor:wait;opacity:.7}
.collection-meta{flex-wrap:wrap;row-gap:14px}.collection-meta label{font-size:11px}
.loading-message{padding:32px 7%;font-size:14px;line-height:1.7}
.product-grid[aria-busy=true]{min-height:300px}
.gallery-load-error{padding:30px 0;color:var(--gold)}
@media(max-width:760px){
.site-header,.catalogue-page .site-header,.product-page .site-header{height:120px;flex-wrap:wrap;align-content:center;row-gap:16px}
.site-header nav,.catalogue-page .site-header nav,.product-page .site-header nav{display:flex;width:100%;order:3;justify-content:space-between;gap:12px;font-size:11px}
.site-header nav a,.catalogue-page .site-header nav a:not([aria-current]),.product-page .site-header nav a:not([aria-current]){display:block;padding:4px 0}
.page-main{padding-top:160px}.scene-topline{top:145px}
.product-card-meta,.product-card>p,.product-link{font-size:10px}
.collection-meta label{font-size:10px}.collection-meta select{max-width:145px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.product-photo:hover img,.gym-photo:hover img{transform:none}}
/* Consistent secondary text and keyboard targets. */
.overview-grid p{font-size:15px;line-height:1.7}
.overview-grid a>span,.section-caption,.closing p,.skip-story,footer{font-size:11px;line-height:1.5}
.overview-grid b,form label,.form-note{font-size:12px;line-height:1.6}
input,select,textarea{font:inherit;font-size:16px;line-height:1.5}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
footer{flex-wrap:wrap}
.project-lightbox figure[aria-busy=true] img{opacity:.3}
@media(max-width:760px){.site-header .wordmark{font-size:23px}.site-header .header-cta{font-size:10px}.site-header nav{gap:8px}}

/* Shared content rhythm for all public pages. */
.page-main p,.product-description,.detail-grid p,.collection-intro p,.quote-note{font-size:16px;line-height:1.7}
.product-card>p,.product-card-meta,.product-link,.collection-meta label,form label,.form-note,.breadcrumbs,.product-facts dt,.product-facts dd{font-size:14px;line-height:1.6}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:32px;padding:48px 7%;font-size:13px;border-top:1px solid var(--line);background:#10120f;letter-spacing:0}
.site-footer p{font-size:14px;line-height:1.6;margin:16px 0 0}.site-footer nav{display:flex;gap:8px 24px;flex-wrap:wrap;max-width:560px}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.site-footer>span{grid-column:1/-1}.site-footer a:hover{color:var(--gold)}
.faq-tools{margin:36px 0;max-width:760px}.faq-tools label{display:block;font-size:14px;margin-bottom:10px}.faq-tools input{width:100%;padding:16px}.faq-tools p{font-size:14px;color:var(--muted)}
.faq-list{max-width:900px}.faq-list section{margin:40px 0}.faq-list h2{font:600 32px/1.15 var(--display);margin-bottom:20px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:17px;font-weight:500;line-height:1.5;padding:22px 34px 22px 0;cursor:pointer;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:5px;color:var(--gold)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{margin:0 0 24px;max-width:760px;color:#bcc1b7;line-height:1.75}
.detail-grid article{border-top:1px solid var(--line);padding-top:26px}.page-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:30px 0}.page-actions a{min-height:44px}.planning-list{padding-left:22px;line-height:1.9;font-size:16px}.design-next{background:#151812;border:1px solid var(--line);padding:32px;margin-top:36px}.design-next h2{font:600 36px/1.1 var(--display)}
.enquiry-layout{display:grid;grid-template-columns:minmax(0,650px) minmax(220px,1fr);gap:64px;align-items:start;margin-top:36px}.enquiry-aside{border-top:1px solid var(--line);padding-top:24px}.enquiry-aside h2{font:600 30px/1.2 var(--display)}.enquiry-aside p{font-size:15px}.form-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.form-actions button{min-height:44px}.collection-error,.page-error{padding:24px;border:1px solid var(--line);line-height:1.7}.retry-load{display:block;margin-top:18px;min-height:44px;color:var(--gold)}
@media(max-width:760px){.site-footer{grid-template-columns:1fr;gap:24px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr}.site-footer>span{display:block!important}.enquiry-layout{grid-template-columns:1fr;gap:32px}.page-main p,.product-description,.collection-intro p{font-size:16px}.product-card>p,.product-card-meta,.product-link,.collection-meta label{font-size:13px}.faq-list summary{font-size:16px}.design-next{padding:24px}.detail-grid h2{font-size:30px}}

.site-header nav a[aria-current=page],.mobile-menu nav a[aria-current=page],.site-footer nav a[aria-current=page]{color:var(--gold)}.skip-link:focus{z-index:1100}

@media(max-width:760px){.product-card>p,.product-card-meta,.product-link,.collection-meta label{font-size:14px}}
