:root{--ink:#262320;--ink2:#312D29;--paper:#F1ECE4;--paper2:#E4DCCF;--mist:#C9C0B2;--brass:#A67C52;--line:rgba(17,19,21,.12);--line-d:rgba(244,242,237,.14);
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.02rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3{font-weight:400;margin:0;letter-spacing:-.005em}
.serif{font-family:var(--serif)}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(1.25rem,4vw,4rem)}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 1.2rem;display:flex;align-items:center;gap:.8rem}.eyebrow::before{content:"";width:2rem;height:1px;background:currentColor}
.h-xl{font-family:var(--serif);font-size:clamp(3rem,8.5vw,8.5rem);line-height:.95;letter-spacing:-.025em}
.h-lg{font-family:var(--serif);font-size:clamp(2.4rem,5.2vw,4.8rem);line-height:1;letter-spacing:-.02em}
.h-md{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.08}
.lead{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.55;max-width:38em;color:color-mix(in srgb,var(--ink) 78%,transparent)}
.dark .lead{color:color-mix(in srgb,var(--paper) 78%,transparent)}
.btn{display:inline-flex;align-items:center;gap:.6rem;font:500 .92rem var(--sans);letter-spacing:.02em;padding:1rem 1.6rem;border-radius:999px;text-decoration:none;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:background .25s,color .25s,transform .25s var(--ease)}
.btn:hover{background:var(--ink);color:var(--paper)}.btn-fill{background:var(--ink);color:var(--paper)}.btn-fill:hover{background:var(--brass);border-color:var(--brass)}
.dark .btn{border-color:rgba(244,242,237,.5);color:var(--paper)}.dark .btn:hover{background:var(--paper);color:var(--ink)}.dark .btn-fill{background:var(--paper);color:var(--ink);border-color:var(--paper)}.dark .btn-fill:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.btn .ar{width:1em;height:1em;transition:transform .3s var(--ease)}.btn:hover .ar{transform:translateX(3px)}
.dark{background:var(--ink);color:var(--paper)}.dark .eyebrow{color:var(--brass)}
section{position:relative}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;padding:1.4rem 0;transition:background .35s,padding .35s,color .35s;color:var(--paper);mix-blend-mode:normal}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.hdr .logo{display:block;width:150px;color:currentColor}.hdr .logo svg{width:100%;height:auto;display:block}
.hdr nav{display:flex;gap:2.2rem;font-size:.92rem;font-weight:500}.hdr nav a{text-decoration:none;opacity:.9;position:relative;padding:.3rem 0}.hdr nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .3s var(--ease)}.hdr nav a:hover::after,.hdr nav a[aria-current]::after{right:0}
.hdr .acts{display:flex;align-items:center;gap:1.2rem;font-size:.9rem}.hdr .acts a{text-decoration:none}.hdr .acts .btn{padding:.7rem 1.2rem;font-size:.85rem;white-space:nowrap}
.hdr.solid{background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);color:var(--ink);padding:.9rem 0;border-bottom:1px solid var(--line)}
.hdr.solid .btn{border-color:var(--ink);color:var(--ink)}.hdr.solid .btn:hover{background:var(--ink);color:var(--paper)}
.hdr.on-light{color:var(--ink)}
.burger{display:none;width:44px;height:44px;border:0;background:none;color:inherit;cursor:pointer;flex-direction:column;gap:6px;justify-content:center;align-items:center}.burger span{display:block;width:24px;height:1.5px;background:currentColor}
@media(max-width:900px){.hdr nav{display:none}.hdr .acts .phone,.hdr .acts .lang{display:none}.hdr .acts{gap:.6rem}.hdr .acts .btn{padding:.6rem 1rem;font-size:.82rem}.burger{display:flex}
.menu{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:70;display:none;flex-direction:column;justify-content:center;padding:2rem}.menu.open{display:flex}.menu a{font-family:var(--serif);font-size:2.6rem;text-decoration:none;padding:.4rem 0;border-bottom:1px solid var(--line-d)}.menu .close{position:absolute;top:1.2rem;right:1.2rem;background:none;border:0;color:inherit;font-size:2rem;width:44px;height:44px}.menu small{margin-top:2rem;opacity:.7}}
@media(min-width:901px){.menu{display:none!important}}

/* hero */
.hero{height:100svh;min-height:640px;position:relative;overflow:hidden;background:var(--ink);color:var(--paper)}
.hero-media{position:absolute;inset:0}.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;transform-origin:50% 60%}
.hero-media img{animation:kb 22s var(--ease) both}@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,12,.78) 0%,rgba(10,10,12,.25) 45%,rgba(10,10,12,.35) 100%)}
.hero .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(2rem,5vh,4rem)}
.hero h1{max-width:9.5em}.hero h1 .l{display:block;overflow:hidden}.hero h1 .l span{display:block;transform:translateY(110%);animation:up 1.1s var(--ease) forwards}.hero h1 .l:nth-child(2) span{animation-delay:.12s}.hero h1 .l:nth-child(3) span{animation-delay:.24s}
@keyframes up{to{transform:none}}
.hero .sub{opacity:0;animation:fade 1s .5s var(--ease) forwards;margin:1.4rem 0 1.8rem;color:rgba(244,242,237,.85)}
@keyframes fade{to{opacity:1}}
.hero .ctas{display:flex;gap:.8rem;flex-wrap:wrap;opacity:0;animation:fade 1s .7s var(--ease) forwards}
.hero .meta{margin-top:2.5rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,242,237,.7);opacity:0;animation:fade 1s 1s var(--ease) forwards;border-top:1px solid var(--line-d);padding-top:1.2rem}
.hero .meta ul{list-style:none;padding:0;margin:0;display:flex;gap:1.6rem;flex-wrap:wrap}
.scroll-cue{position:absolute;right:clamp(1.25rem,4vw,4rem);bottom:clamp(2rem,5vh,4rem);z-index:2;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,242,237,.7);writing-mode:vertical-rl;display:flex;align-items:center;gap:.8rem}.scroll-cue::after{content:"";width:1px;height:48px;background:currentColor;animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:700px){.hero .meta{flex-direction:column;align-items:flex-start}.scroll-cue{display:none}}

/* statement + numbers */
.statement{padding:clamp(5rem,12vh,9rem) 0}.statement .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:end}
.nums{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem}.nums b{display:block;font-family:var(--serif);font-size:clamp(2.6rem,4.5vw,4rem);line-height:1;letter-spacing:-.02em}.nums b i{font-style:normal;color:var(--brass)}.nums span{display:block;font-size:.85rem;color:color-mix(in srgb,var(--ink) 65%,transparent);margin-top:.4rem;max-width:16em}
@media(max-width:900px){.statement .wrap{grid-template-columns:1fr}}

/* full-bleed glass wall */
.glass{height:150vh;position:relative}.glass .stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink)}
.glass .frame{position:absolute;inset:0}.glass .frame img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:scale(1.04);will-change:transform}
.glass .stage::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,12,.7) 0%,rgba(10,10,12,.1) 45%,rgba(10,10,12,0) 70%);pointer-events:none}
.glass .cap{position:absolute;left:0;right:0;bottom:9vh;color:var(--paper);pointer-events:none;z-index:2;padding:0 clamp(1.25rem,4vw,4rem);transform:translateY(24px);opacity:0}
.glass .cap h2{font-family:var(--serif);font-size:clamp(2.4rem,6vw,5.6rem);line-height:.98;max-width:9em;letter-spacing:-.02em}.glass .cap p{opacity:.85;margin:1rem 0 0;max-width:34em;font-size:1.05rem}

/* systems explorer */
.systems{padding:clamp(5rem,12vh,9rem) 0}.sys-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.sys-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.sys-list li{border-bottom:1px solid var(--line)}.sys-list button{width:100%;text-align:left;background:none;border:0;padding:1.3rem 0;display:grid;grid-template-columns:3rem 1fr auto;align-items:baseline;gap:1rem;cursor:pointer;color:inherit;font:inherit;transition:padding .35s var(--ease)}
.sys-list .n{font-size:.75rem;letter-spacing:.1em;color:var(--brass)}.sys-list .t{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.1}.sys-list .k{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.55}
.sys-list li.on button{padding-left:.6rem}.sys-list li.on .t{color:var(--brass)}
.sys-view{position:sticky;top:110px}.sys-media{aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:var(--paper2);position:relative}.sys-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease),transform 1.2s var(--ease);transform:scale(1.04)}.sys-media img.on{opacity:1;transform:none}
.sys-copy{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.6rem;align-items:start}.sys-copy p{margin:0;font-size:.98rem}.sys-copy .specs{list-style:none;padding:0;margin:0;font-size:.85rem}.sys-copy .specs li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.sys-copy .specs b{font-weight:500}
.sys-copy .btn{margin-top:1.2rem}
@media(max-width:900px){.sys-grid{grid-template-columns:1fr}.sys-view{position:static}.sys-copy{grid-template-columns:1fr}}

/* profile rotate */
.profile{padding:clamp(5rem,12vh,9rem) 0}.profile .wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.rotor{position:relative;aspect-ratio:1;background:#fff;border-radius:2px;overflow:hidden;cursor:grab;user-select:none;touch-action:pan-y}.rotor:active{cursor:grabbing}.rotor img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8%;opacity:0}.rotor img.on{opacity:1}
.rotor .hint{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(17,19,21,.6);display:flex;align-items:center;gap:.6rem;pointer-events:none}.rotor .hint::before,.rotor .hint::after{content:"";width:1.6rem;height:1px;background:currentColor}
.rotor .tabs{position:absolute;top:1.2rem;left:1.2rem;display:flex;gap:.4rem}.rotor .tabs button{background:rgba(17,19,21,.05);border:1px solid rgba(17,19,21,.2);color:var(--ink);font:500 .75rem var(--sans);letter-spacing:.06em;padding:.45rem .8rem;border-radius:999px;cursor:pointer}.rotor .tabs button.on{background:var(--ink);color:var(--paper)}
.spec-list{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--line)}.spec-list li{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.95rem}.spec-list b{font-family:var(--serif);font-size:1.3rem;font-weight:400}
@media(max-width:900px){.profile .wrap{grid-template-columns:1fr}}

/* horizontal ride */
.ride{position:relative;height:340vh}.ride .track{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.ride .rail{display:flex;gap:2vw;padding:0 clamp(1.25rem,4vw,4rem);will-change:transform}
.ride .head{flex:0 0 32vw;min-width:280px;padding-right:3vw}.ride .head h2{margin-bottom:1rem}
.card{flex:0 0 44vw;min-width:320px;position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/3;background:var(--paper2);text-decoration:none;color:var(--paper)}.card img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}.card:hover img{transform:scale(1.04)}
.card .cap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem;background:linear-gradient(to top,rgba(10,10,12,.7),transparent)}.card .cap h3{font-family:var(--serif);font-size:1.9rem;line-height:1}.card .cap p{margin:.3rem 0 0;font-size:.85rem;opacity:.8}.card .tag{position:absolute;top:1.2rem;left:1.2rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(244,242,237,.9);color:var(--ink);padding:.35rem .7rem;border-radius:999px}
.card.tall{aspect-ratio:3/4;flex-basis:30vw}
@media(max-width:700px){.ride{height:auto}.ride .track{position:static;height:auto;display:block;padding:4rem 0}.ride .rail{flex-direction:column;transform:none!important;gap:1rem}.ride .head,.card{flex-basis:auto;min-width:0;width:100%}}

/* process */
.process{padding:clamp(5rem,12vh,9rem) 0}.steps{list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-d)}.steps li{padding:2rem 2rem 2rem 0;border-right:1px solid var(--line-d)}.steps li:last-child{border:0}.steps .n{font-family:var(--serif);font-size:3rem;line-height:1;color:var(--brass)}.steps h3{font-family:var(--serif);font-size:1.6rem;margin:1.2rem 0 .6rem}.steps p{margin:0;font-size:.95rem;opacity:.75}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(2n){border:0}}@media(max-width:560px){.steps{grid-template-columns:1fr}.steps li{border:0;border-bottom:1px solid var(--line-d)}}

/* reviews */
.reviews{padding:clamp(5rem,12vh,9rem) 0}.rv-stage{position:relative;min-height:16rem}.rv{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);pointer-events:none}.rv.on{opacity:1;position:relative;pointer-events:auto}
.rv blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,3.2vw,3rem);line-height:1.15;max-width:22em;letter-spacing:-.01em}.rv footer{margin-top:1.6rem;font-size:.9rem;opacity:.7}
.rv-nav{display:flex;gap:.5rem;margin-top:2.5rem;align-items:center}.rv-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer;color:inherit;display:grid;place-items:center}.rv-nav button:hover{background:var(--ink);color:var(--paper)}.rv-nav .cnt{margin-left:1rem;font-size:.85rem;opacity:.6;font-variant-numeric:tabular-nums}
.stars{color:var(--brass);letter-spacing:3px;font-size:.9rem;margin-bottom:1.2rem}

/* partners marquee */
.partners{padding:3rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.partners .lab{text-align:center;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-bottom:1.6rem}
.mq{display:flex;gap:4rem;white-space:nowrap;animation:mq 40s linear infinite;width:max-content}.mq span{font-family:var(--serif);font-size:1.5rem;opacity:.75}@keyframes mq{to{transform:translateX(-50%)}}

/* locations + CTA */
.cta{padding:clamp(5rem,12vh,9rem) 0}.cta .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}
.offices{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--line-d)}.offices li{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line-d);font-size:.95rem}.offices b{font-family:var(--serif);font-size:1.4rem;font-weight:400}
.qform{background:var(--ink2);padding:2.2rem;border-radius:2px;border:1px solid var(--line-d)}.qform label{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:1rem 0 .4rem}.qform input,.qform select,.qform textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(244,242,237,.3);color:var(--paper);font:inherit;padding:.6rem 0}.qform input:focus,.qform textarea:focus,.qform select:focus{outline:0;border-color:var(--brass)}.qform select option{color:var(--ink)}
.drop{margin-top:1rem;border:1px dashed rgba(244,242,237,.35);border-radius:2px;padding:1.4rem;text-align:center;font-size:.9rem;opacity:.85;cursor:pointer}.drop:hover{border-color:var(--brass)}.qform .btn{margin-top:1.6rem;width:100%;justify-content:center}
.form-ok{display:none;padding:1rem;background:rgba(176,141,87,.15);border:1px solid var(--brass);margin-top:1rem}
@media(max-width:900px){.cta .wrap{grid-template-columns:1fr}}

/* footer */
.ftr{padding:4rem 0 2rem;border-top:1px solid var(--line-d)}.ftr .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:3rem}.ftr .logo{width:180px;color:var(--paper)}.ftr h4{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin:0 0 1rem}.ftr ul{list-style:none;padding:0;margin:0}.ftr li{padding:.25rem 0;font-size:.95rem}.ftr a{text-decoration:none;opacity:.85}.ftr a:hover{opacity:1;color:var(--brass)}
.ftr .legal{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.8rem;opacity:.55;padding-top:2rem;border-top:1px solid var(--line-d);margin-top:1rem}
@media(max-width:900px){.ftr .wrap{grid-template-columns:1fr 1fr}}@media(max-width:560px){.ftr .wrap{grid-template-columns:1fr}}

/* reveals */
.rv-in{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.rv-in.in{opacity:1;transform:none}
[data-stagger]>*{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-stagger].in>*{opacity:1;transform:none}
[data-stagger].in>*:nth-child(2){transition-delay:.08s}[data-stagger].in>*:nth-child(3){transition-delay:.16s}[data-stagger].in>*:nth-child(4){transition-delay:.24s}[data-stagger].in>*:nth-child(5){transition-delay:.32s}[data-stagger].in>*:nth-child(6){transition-delay:.4s}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv-in,[data-stagger]>*{opacity:1;transform:none}.hero h1 .l span{transform:none}.hero .sub,.hero .ctas,.hero .meta{opacity:1}}

/* inner pages */
.page-hero{padding:9rem 0 4rem}.page-hero .lead{margin-top:1.4rem}
.gal{columns:3;column-gap:1rem;padding-bottom:6rem}.gal figure{margin:0 0 1rem;break-inside:avoid;overflow:hidden;border-radius:2px;position:relative}.gal img{width:100%;transition:transform 1.2s var(--ease)}.gal figure:hover img{transform:scale(1.03)}.gal figcaption{position:absolute;left:0;bottom:0;right:0;padding:1rem;background:linear-gradient(to top,rgba(10,10,12,.65),transparent);color:var(--paper);font-size:.85rem;opacity:0;transition:opacity .4s}.gal figure:hover figcaption{opacity:1}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0 2.5rem}.filters button{background:none;border:1px solid var(--line);border-radius:999px;padding:.5rem 1rem;font:500 .85rem var(--sans);cursor:pointer;color:inherit}.filters button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:900px){.gal{columns:2}}@media(max-width:560px){.gal{columns:1}}
.prod{padding:5rem 0;border-top:1px solid var(--line)}.prod .wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.prod .media{position:sticky;top:110px}.prod .media img{border-radius:2px}.prod .thumbs{display:flex;gap:.5rem;margin-top:.5rem}.prod .thumbs img{width:20%;aspect-ratio:1;object-fit:cover;cursor:pointer;opacity:.6;border-radius:2px}.prod .thumbs img.on{opacity:1;outline:1px solid var(--brass)}
.prod .feat{list-style:none;padding:0;margin:2rem 0 0}.prod .feat li{padding:1rem 0;border-top:1px solid var(--line)}.prod .feat b{font-family:var(--serif);font-size:1.25rem;font-weight:400;display:block;margin-bottom:.3rem}.prod .feat p{margin:0;font-size:.93rem;opacity:.75}
@media(max-width:900px){.prod .wrap{grid-template-columns:1fr}.prod .media{position:static}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:4rem 0}@media(max-width:900px){.two{grid-template-columns:1fr;gap:2rem}}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.team figure{margin:0}.team img{aspect-ratio:4/3;object-fit:cover;border-radius:2px}.team figcaption{font-size:.9rem;margin-top:.6rem;opacity:.75}
@media(max-width:700px){.team{grid-template-columns:1fr}}

.hero.dark{background:var(--ink)}
@media(max-width:700px){.filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;margin-left:-1.25rem;margin-right:-1.25rem;padding:0 1.25rem}.filters .btn,.filters button{white-space:nowrap;flex:none}.prod .thumbs img{width:19%}}
.prod .media > img{aspect-ratio:4/3;object-fit:cover;width:100%}.gal img{aspect-ratio:auto}
@media(max-width:700px){.glass{height:130vh}.rotor{aspect-ratio:1}.sys-copy{gap:1.2rem}.h-xl{font-size:clamp(2.6rem,12vw,4rem)}.hero .meta ul{gap:.8rem 1.2rem}.hero h1{max-width:none}.statement,.systems,.profile,.process,.reviews,.cta{padding:4rem 0}.steps .n{font-size:2.2rem}.rv blockquote{font-size:1.5rem}.qform{padding:1.4rem}.card .cap h3{font-size:1.5rem}}
.qform select{appearance:none;-webkit-appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4F2ED' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .1rem center/1.1rem;padding-right:2rem;color:var(--paper);cursor:pointer;border-radius:0;line-height:1.4}
.qform select:focus{border-color:var(--brass)}.qform select option{background:var(--ink2);color:var(--paper);padding:.6rem}
.qform input,.qform textarea,.qform select{font-size:1rem;-webkit-appearance:none;border-radius:0}
.qform label{margin-top:1.4rem}.qform label:first-child{margin-top:0}

/* somos additions */
.h-xl,.h-lg,.h-md,.card .cap h3,.steps h3,.rv blockquote,.sys-list .t,.nums b,.spec-list b,.offices b{font-weight:400}
.h-xl{letter-spacing:-.01em}.h-lg{letter-spacing:-.005em}em.serif{font-style:italic;font-weight:300}
.hero-media img{object-position:50% 60%}
/* configurator */
.config{padding:clamp(5rem,12vh,9rem) 0}.config .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}
.stage360{position:relative;aspect-ratio:1;background:var(--paper2);border-radius:2px;overflow:hidden;cursor:grab;user-select:none;touch-action:pan-y}.stage360:active{cursor:grabbing}.stage360 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}.stage360 img.on{opacity:1}
.stage360 .hint{position:absolute;left:50%;bottom:1.2rem;transform:translateX(-50%);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:.6;display:flex;gap:.6rem;align-items:center;pointer-events:none}.stage360 .hint::before,.stage360 .hint::after{content:"";width:1.4rem;height:1px;background:currentColor}
.sw-row{display:flex;gap:1rem;margin:1.6rem 0 0;flex-wrap:wrap}.sw{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:none;border:0;cursor:pointer;font:500 .78rem var(--sans);color:inherit;opacity:.75}.sw span.c{width:56px;height:56px;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 0 0 2px var(--paper),0 0 0 3px transparent;transition:box-shadow .2s}.sw.on{opacity:1}.sw.on span.c{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink)}
.cfg-price{display:flex;justify-content:space-between;align-items:baseline;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line)}.cfg-price b{font-family:var(--serif);font-size:2rem;font-weight:400}.cfg-price small{opacity:.6;font-size:.85rem}
@media(max-width:900px){.config .wrap{grid-template-columns:1fr}}
/* materials */
.mats{padding:clamp(5rem,12vh,9rem) 0}.mat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}.mat{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:2px}.mat img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.mat:hover img{transform:scale(1.05)}.mat .lab{position:absolute;left:0;right:0;bottom:0;padding:1.2rem;color:#fff;background:linear-gradient(to top,rgba(20,15,10,.78),rgba(20,15,10,.35) 60%,transparent)}.mat .lab b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:400}.mat .lab span{font-size:.8rem;opacity:.85}
@media(max-width:900px){.mat-grid{grid-template-columns:1fr 1fr}}
/* collection cards */
.coll{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}.coll a{text-decoration:none;color:inherit;display:block}.coll .im{aspect-ratio:4/5;overflow:hidden;border-radius:2px}.coll img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.coll a:hover img{transform:scale(1.04)}.coll h3{font-family:var(--serif);font-size:2rem;margin:1rem 0 .2rem}.coll p{margin:0;font-size:.92rem;opacity:.7}.coll .k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
@media(max-width:700px){.coll{grid-template-columns:1fr}}
/* shop */
.shop{padding:2rem 0 6rem}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0}.tabs button{background:none;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;font:500 .85rem var(--sans);cursor:pointer;color:inherit}.tabs button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tabs .sep{width:1px;background:var(--line);margin:0 .4rem}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem 1.2rem;list-style:none;padding:0;margin:0}.pgrid li.hide{display:none}.pgrid .im{aspect-ratio:1;overflow:hidden;border-radius:2px;background:var(--paper2)}.pgrid img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.pgrid li:hover img{transform:scale(1.04)}
.pgrid h3{font-family:var(--sans);font-size:.95rem;font-weight:500;margin:.9rem 0 .2rem}.pgrid .meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.pgrid .meta span{opacity:.6;font-size:.8rem}.pgrid .meta b{font-weight:500}
.pgrid .acts{display:flex;gap:.5rem;margin-top:.6rem}.pgrid .acts a{font:500 .8rem var(--sans);text-decoration:none;padding:.5rem .9rem;border:1px solid var(--line);border-radius:999px;color:inherit}.pgrid .acts a.add{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pgrid li>a{text-decoration:none;color:inherit;display:block}
@media(max-width:1000px){.pgrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.pgrid{grid-template-columns:1fr 1fr;gap:1.2rem .8rem}.tabs{overflow-x:auto;flex-wrap:nowrap;margin-left:-1.25rem;margin-right:-1.25rem;padding:0 1.25rem}.tabs button{white-space:nowrap;flex:none}}
/* values */
.vals{list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.vals h3{font-family:var(--serif);font-size:1.6rem;margin:0 0 .5rem}.vals p{margin:0;opacity:.75;font-size:.95rem}.vals li{padding-top:1.4rem;border-top:1px solid var(--line-d)}
@media(max-width:900px){.vals{grid-template-columns:1fr 1fr}}@media(max-width:560px){.vals{grid-template-columns:1fr}}
.news{display:flex;gap:.6rem;margin-top:1.4rem;max-width:520px}.news input{flex:1;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);color:var(--paper);font:inherit;padding:.6rem 0}.news input:focus{outline:0;border-color:var(--brass)}
.qform .drop{display:none}
/* mobile pass */
@media(max-width:700px){
.pgrid .acts{flex-direction:column;gap:.4rem}.pgrid .acts a{text-align:center;width:100%;padding:.6rem .5rem;white-space:nowrap}
.pgrid h3{font-size:.9rem;line-height:1.3;min-height:0}.pgrid .meta{font-size:.85rem}
.offices li{flex-direction:column;align-items:flex-start;gap:.2rem}.offices b{font-size:1.25rem}
.mat-grid{grid-template-columns:1fr 1fr;gap:.8rem}.mat{aspect-ratio:4/5}.mat .lab{padding:.8rem}.mat .lab b{font-size:1.15rem}.mat .lab span{font-size:.72rem;line-height:1.3;display:block}
.sw-row{gap:1.4rem}.cfg-price b{font-size:1.6rem}
.stage360{aspect-ratio:1}.config,.mats,.shop{padding-top:3.5rem;padding-bottom:3.5rem}
.coll .im{aspect-ratio:4/3}.coll h3{font-size:1.7rem}
.tabs{gap:.4rem}.tabs button{padding:.5rem .85rem;font-size:.8rem}
.prod .thumbs img{width:22%}.prod .media > img{aspect-ratio:4/3}
.news{flex-direction:column}.news .btn{width:100%;justify-content:center}
.vals{gap:1.4rem}.vals h3{font-size:1.4rem}
.cta .wrap{gap:2.5rem}.qform label{font-size:.72rem}
.hero .meta{font-size:.72rem}.hero .meta ul{gap:.5rem 1rem}
.h-xl{font-size:clamp(2.5rem,11.5vw,3.9rem)}
}
