/* WARM homepage redesign. Design: Warm Forge (Novamira). */
@font-face{font-family:"Commissioner";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/commissioner-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Commissioner";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/commissioner-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#1A1715;--surface:#25201D;--line:#3F3833;--ink:#EDE8E2;--muted:#A89E95;
  --bone:#EDE8E2;--ink-dark:#1A1614;--muted-dark:#5E5550;--line-dark:#D6CEC5;
  --accent:#B60000;--accent-hover:#D11208;
  --font-display:"Commissioner",system-ui,sans-serif;--font-body:"Manrope",system-ui,sans-serif;
  --r:4px;--wrap:1240px;--gut:clamp(16px,4vw,40px);--sec:clamp(72px,10vw,128px);
  --nav-h:76px;--ease:cubic-bezier(.2,.7,.2,1);
}

/* Reset (zero specificity so components win) */
:where(*,*::before,*::after){box-sizing:border-box}
:where(html){-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
:where(body,h1,h2,h3,p,ul,figure){margin:0;padding:0}
:where(ul){list-style:none}
:where(img){display:block;max-width:100%;height:auto}
:where(a){color:inherit;text-decoration:none}
:where(button){font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
body.wh{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.wh.is-locked{overflow:hidden}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--accent);color:#fff;padding:10px 16px;border-radius:var(--r);transition:top .2s}
.skip:focus{top:16px}
.ic{flex:none;width:1.1em;height:1.1em}
:focus-visible{outline:2px solid var(--bone);outline-offset:3px}

.h2{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,4.2vw,52px);line-height:1.08;letter-spacing:-.015em;max-width:18ch;text-wrap:balance}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--r);font-weight:700;font-size:15px;letter-spacing:.01em;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s,transform .15s}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--lg{min-height:56px;padding:0 28px;font-size:16px}
.btn--block{width:100%}
.btn--accent{background:var(--accent);color:#fff}
.btn--accent:hover{background:var(--accent-hover)}
.btn--ghost{border:1px solid rgba(237,232,226,.55);color:var(--bone);background:rgba(20,17,16,.25);backdrop-filter:blur(4px)}
.btn--ghost:hover{border-color:var(--bone);background:rgba(237,232,226,.1)}
.btn--ghost .ic{transition:transform .25s var(--ease)}
.btn--ghost:hover .ic{transform:translateX(4px)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:4px;transition:border-color .25s}
.link-arrow:hover{border-color:var(--accent)}
.link-arrow .ic{transition:transform .25s var(--ease)}
.link-arrow:hover .ic{transform:translateX(4px)}

/* ---------- Nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:100;height:var(--nav-h);transition:background-color .35s,box-shadow .35s,height .35s}
.nav::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,16,.7),rgba(20,17,16,0));pointer-events:none;transition:opacity .35s}
.nav.is-scrolled{--nav-h:64px;background:rgba(20,17,16,.86);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);box-shadow:0 1px 0 var(--line)}
.nav.is-scrolled::before{opacity:0}
.nav__bar{position:relative;height:100%;display:flex;align-items:center;gap:28px}
.nav__logo img{height:40px;width:auto;transition:height .35s}
.nav.is-scrolled .nav__logo img{height:34px}
.nav__menu{margin-left:auto}
.menu{display:flex;align-items:center;gap:4px}
.menu__item{position:static}
.menu__item.has-sub:not(.has-mega){position:relative}
.menu__link{position:relative;display:inline-flex;align-items:center;gap:6px;height:var(--nav-h);padding:0 14px;font-weight:600;font-size:15px;color:var(--ink);transition:color .2s}
.menu__link::after{content:"";position:absolute;left:14px;right:14px;bottom:18px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.menu__link:hover::after,.menu__item.is-open>.menu__link::after{transform:scaleX(1)}
.menu__link .ic{width:14px;height:14px;transition:transform .25s}
.menu__item.is-open>.menu__link .ic{transform:rotate(180deg)}
.nav__call{min-height:44px;padding:0 18px}

.drop,.mega{position:absolute;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .3s var(--ease),visibility 0s .3s}
.menu__item.is-open>.drop,.menu__item.is-open>.mega{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .3s var(--ease)}
.drop{top:calc(100% - 8px);left:0;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px}
.drop__link{display:block;padding:10px 14px;border-radius:var(--r);color:var(--ink);font-size:15px;transition:background-color .2s}
.drop__link:hover{background:rgba(237,232,226,.06)}
.mega{left:0;right:0;top:100%;background:rgba(24,20,19,.98);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.mega__inner{display:grid;grid-template-columns:1fr 300px;gap:40px;padding-block:36px 40px}
.mega__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
.mega__title{display:block;font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--bone);padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.mega__title:hover{color:#fff}
.mega__col+.mega__col .mega__title[href="#"]{pointer-events:none}
.mega__link{display:inline-block;padding:6px 0;color:var(--muted);font-size:15px;transition:color .2s,transform .2s var(--ease)}
.mega__link:hover{color:var(--ink);transform:translateX(3px)}
.mega__sub{padding:2px 0 6px 14px;border-left:1px solid var(--line)}
.mega__link--sub{font-size:14px;padding:4px 0}
.mega__feature{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;align-self:start}
.mega__img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.mega__feature:hover .mega__img{transform:scale(1.05)}
.mega__cap{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:48px 18px 18px;font-weight:700;background:linear-gradient(0deg,rgba(20,17,16,.9),rgba(20,17,16,0))}

.nav__burger{display:none;position:relative;width:48px;height:48px;margin-left:auto;border-radius:var(--r)}
.nav__burger i,.drawer__close i{position:absolute;left:13px;right:13px;height:2px;background:var(--bone);border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav__burger i:nth-of-type(1){top:16px}.nav__burger i:nth-of-type(2){top:23px;right:19px}.nav__burger i:nth-of-type(3){top:30px}

/* ---------- Drawer ---------- */
.drawer{position:fixed;inset:0;z-index:150;visibility:hidden;transition:visibility 0s .45s}
.drawer.is-open{visibility:visible;transition:none}
.drawer__backdrop{position:absolute;inset:0;background:rgba(10,8,8,.6);opacity:0;transition:opacity .35s}
.drawer.is-open .drawer__backdrop{opacity:1}
.drawer__panel{position:absolute;inset:0 0 0 auto;width:min(440px,100%);display:flex;flex-direction:column;background:var(--bg);transform:translateX(100%);transition:transform .45s var(--ease)}
.drawer.is-open .drawer__panel{transform:none}
.drawer__head{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 var(--gut);border-bottom:1px solid var(--line)}
.drawer__head img{height:34px;width:auto}
.drawer__close{position:relative;width:48px;height:48px;margin-right:-10px}
.drawer__close i{top:23px}.drawer__close i:first-of-type{transform:rotate(45deg)}.drawer__close i:last-of-type{transform:rotate(-45deg)}
.drawer__nav{flex:1;overflow-y:auto;padding:8px var(--gut) 24px;overscroll-behavior:contain}
.acc__item{border-bottom:1px solid var(--line);opacity:0;transform:translateX(24px);transition:opacity .4s,transform .5s var(--ease)}
.drawer.is-open .acc__item{opacity:1;transform:none;transition-delay:calc(120ms + var(--i)*45ms)}
.acc__link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:60px;font-family:var(--font-display);font-weight:600;font-size:21px;text-align:left;color:var(--ink)}
.acc__toggle .ic{width:20px;height:20px;color:var(--muted);transition:transform .3s var(--ease)}
.acc__toggle[aria-expanded="true"] .ic{transform:rotate(180deg);color:var(--accent)}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.acc__panel>ul{overflow:hidden;min-height:0}
.acc__toggle[aria-expanded="true"]+.acc__panel{grid-template-rows:1fr}
.acc__panel>ul{padding-left:2px}
.acc__panel>ul>li:last-child{padding-bottom:16px}
.acc__sub{display:block;padding:9px 0;color:var(--muted);font-size:16px}
.acc__sub:hover{color:var(--ink)}
.acc__sub--head{color:var(--ink);font-weight:700}
.acc__deep{padding-left:14px;border-left:1px solid var(--line);margin:0 0 6px 2px}
.drawer__foot{padding:16px var(--gut) calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:12px}
.drawer__addr{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:max(600px,min(100svh,900px));display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero__media,.hero__slide{position:absolute;inset:0}
.hero__media{z-index:-2;background:var(--surface)}
.hero__slide{opacity:0;transition:opacity 1.4s ease}
.hero__slide.is-active{opacity:1}
.hero__img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 8s linear}
.hero__slide:nth-child(1) .hero__img{object-position:55% 50%}
.hero__slide:nth-child(2) .hero__img{object-position:45% 50%}
.hero__slide:nth-child(3) .hero__img{object-position:58% 50%}
.hero__slide.is-active .hero__img{transform:scale(1)}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,17,16,.88) 0%,rgba(20,17,16,.62) 38%,rgba(20,17,16,.1) 70%),linear-gradient(0deg,rgba(20,17,16,.9) 0%,rgba(20,17,16,0) 45%)}
.hero__content{padding-top:calc(var(--nav-h) + 60px);padding-bottom:clamp(56px,9vh,104px)}
.hero__title{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,6.4vw,84px);line-height:1.04;letter-spacing:-.025em;max-width:13ch;color:var(--bone)}
.hero__title em{font-style:normal;color:#fff;position:relative;white-space:nowrap}
.hero__title em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.09em;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) .9s}
.is-ready .hero__title em::after{transform:scaleX(1)}
.hero__title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.hero__title .w>span{display:inline-block}
.js .hero__title .w>span{transform:translateY(105%);transition:transform .9s var(--ease);transition-delay:var(--d)}
.js .is-ready .hero__title .w>span{transform:none}
.hero__lead{max-width:52ch;margin-top:24px;font-size:clamp(16px,1.35vw,19px);color:rgba(237,232,226,.86)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero__dots{position:absolute;right:var(--gut);bottom:clamp(56px,9vh,104px);display:flex;gap:10px;z-index:2}
.hero__dot{position:relative;width:44px;height:28px}
.hero__dot i{position:absolute;left:0;right:0;top:13px;height:2px;background:rgba(237,232,226,.3);overflow:hidden}
.hero__dot i::after{content:"";position:absolute;inset:0;background:var(--bone);transform:scaleX(0);transform-origin:left}
.hero__dot.is-active i::after{animation:wh-progress var(--slide-ms,6500ms) linear forwards}
.hero.is-paused .hero__dot.is-active i::after{animation-play-state:paused}
@keyframes wh-progress{to{transform:scaleX(1)}}

/* ---------- Section heads ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(32px,4vw,52px)}

/* ---------- Categories bento ---------- */
.cats{padding-block:var(--sec)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(240px,26vw,360px);gap:16px}
.bento__a{grid-column:1/8}.bento__b{grid-column:8/13}
.bento__c{grid-column:1/6}.bento__d{grid-column:6/13}
.tile{position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--r);background:var(--surface);isolation:isolate}
.tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--ease)}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,17,16,.94) 0%,rgba(20,17,16,.6) 36%,rgba(20,17,16,0) 72%);transition:opacity .4s}
.tile:hover .tile__img{transform:scale(1.06)}
.tile__body{display:grid;gap:6px;padding:clamp(20px,2.4vw,32px);padding-right:84px}
.tile__title{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.2vw,30px);line-height:1.1;color:#fff}
.tile__text{color:rgba(237,232,226,.82);font-size:15px;max-width:38ch}
.tile__go{position:absolute;right:clamp(20px,2.4vw,32px);bottom:clamp(20px,2.4vw,32px);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(237,232,226,.5);color:#fff;transition:background-color .3s,border-color .3s,transform .4s var(--ease)}
.tile:hover .tile__go{background:var(--accent);border-color:var(--accent);transform:rotate(-45deg)}

/* ---------- Models rail (bone section) ---------- */
.models{background:var(--bone);color:var(--ink-dark);padding-block:var(--sec)}
.models .h2{color:var(--ink-dark)}
.rail-ctl{display:flex;gap:8px}
.rail-btn{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-dark);color:var(--ink-dark);transition:background-color .25s,color .25s,border-color .25s,opacity .25s}
.rail-btn:hover:not(:disabled){background:var(--ink-dark);color:var(--bone);border-color:var(--ink-dark)}
.rail-btn:disabled{opacity:.35;cursor:default}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(250px,26vw,340px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:max(var(--gut),calc((100vw - var(--wrap))/2));padding-inline:max(var(--gut),calc((100vw - var(--wrap))/2));padding-bottom:8px;scrollbar-width:none;cursor:grab}
.rail::-webkit-scrollbar{display:none}
.rail.is-dragging{cursor:grabbing;scroll-snap-type:none}
.rail.is-dragging .model{pointer-events:none}
.model{scroll-snap-align:start;display:grid;gap:6px}
.model__frame{display:block;aspect-ratio:1;background:#fff;border-radius:var(--r);overflow:hidden;margin-bottom:12px}
.model__img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}
.model:hover .model__img{transform:scale(1.05)}
.model__cat{font-size:13px;font-weight:600;color:var(--muted-dark);letter-spacing:.02em}
.model__name{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.15;padding-bottom:12px;border-bottom:1px solid var(--line-dark)}
.model__name .ic{color:var(--accent);transition:transform .3s var(--ease)}
.model:hover .model__name .ic{transform:translateX(5px)}
.model:focus-visible{outline-color:var(--ink-dark)}

/* ---------- Craft ---------- */
.craft{position:relative;padding-block:var(--sec);overflow:hidden}
.craft__media{position:absolute;top:var(--sec);bottom:var(--sec);left:0;width:calc(50% - 20px);border-radius:0 var(--r) var(--r) 0;overflow:hidden}
.craft__img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.craft__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.craft__body{grid-column:2;padding-block:12px}
.craft__lead{margin-top:20px;color:var(--muted);max-width:52ch}
.points{margin-top:36px;border-top:1px solid var(--line)}
.point{display:grid;grid-template-columns:minmax(0,190px) 1fr;gap:8px 28px;padding:22px 0;border-bottom:1px solid var(--line)}
.point__t{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.25;color:var(--bone)}
.point__t::before{content:"";display:block;width:18px;height:2px;background:var(--accent);margin-bottom:12px}
.point__p{color:var(--muted);font-size:15.5px}

/* ---------- Story: sticky image + scrolling steps ---------- */
.story{position:relative;overflow-x:clip;background:var(--bg)}
.story__grid{display:grid;grid-template-columns:58fr 42fr}
.story__stage{position:sticky;top:0;grid-column:1;grid-row:1;align-self:start;height:100vh;height:100svh;overflow:hidden;z-index:1}
.story__stage::before,.story__stage::after{content:"";position:absolute;left:0;right:0;height:14%;z-index:2;pointer-events:none}
.story__stage::before{top:0;background:linear-gradient(180deg,var(--bg),rgba(20,17,16,0))}
.story__stage::after{bottom:0;background:linear-gradient(0deg,var(--bg),rgba(20,17,16,0))}
.story__frames{position:absolute;inset:0}
.story__frame{position:absolute;inset:0;margin:0;overflow:hidden;background:var(--bg);clip-path:inset(100% 0 0 0);transition:clip-path .9s var(--ease);will-change:clip-path}
.story__frame:first-child,.story__frame.is-shown{clip-path:inset(0 0 0 0)}
.story__frame .story__img{transition:transform 1.4s var(--ease),opacity .8s ease}.story__frame.is-past .story__img{opacity:.3}
.story__img{width:100%;height:100%;object-fit:cover;--s:1.2;transform:translate3d(0,var(--py,0px),0) scale(var(--s));transition:transform 1.6s var(--ease)}
.story__frame.is-shown .story__img{--s:1.06}
.story__img--shop{object-position:38% 50%}
.story__img--weld{object-position:64% 70%;transform-origin:62% 70%;--s:2.5}
.story__frame.is-shown .story__img--weld{--s:2}
.story__img--fire{object-position:50% 60%}
.story__img--intro{object-position:50% 50%}.story__img--greek{object-position:58% 50%}.story__img--work{object-position:40% 50%}.story__img--pan{object-position:50% 55%}
.story__frame--blueprint{display:grid;place-items:center;background-color:var(--bg);background-image:linear-gradient(rgba(237,232,226,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(237,232,226,.07) 1px,transparent 1px),linear-gradient(rgba(237,232,226,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(237,232,226,.03) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;background-position:center}
.story__frame--blueprint .story__img--bp{width:auto;height:66%;max-width:62%;object-fit:contain;filter:grayscale(1) invert(1) contrast(1.4) brightness(1.05);mix-blend-mode:screen;margin-right:12%}
.story__frame--blueprint::before,.story__frame--blueprint::after{content:"";position:absolute;background:var(--accent);opacity:.9;transition:transform 1.2s var(--ease) .5s}
.story__frame--blueprint::before{left:22%;right:34%;bottom:14%;height:1px;transform:scaleX(0);transform-origin:left}
.story__frame--blueprint::after{left:18%;top:17%;bottom:17%;width:1px;transform:scaleY(0);transform-origin:bottom}
.story__frame--blueprint.is-shown::before{transform:scaleX(1)}
.story__frame--blueprint.is-shown::after{transform:scaleY(1)}
.story__blur{position:absolute;top:0;bottom:0;right:0;width:48%;z-index:1;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(90deg,rgba(20,17,16,0) 0%,rgba(20,17,16,.45) 30%,rgba(20,17,16,.82) 58%,var(--bg) 88%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}
.story__progress{position:absolute;left:clamp(20px,3vw,44px);top:50%;width:2px;height:34%;transform:translateY(-50%);background:rgba(237,232,226,.14);z-index:3}
.story__progress i{position:absolute;inset:0;background:var(--accent);transform:scaleY(var(--p,0));transform-origin:top}
.story__steps{grid-column:2;grid-row:1;position:relative;z-index:2;margin-left:-7vw;padding-right:max(var(--gut),calc((100vw - var(--wrap))/2))}
.story__intro{min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--sec)}
.story__lead{margin-top:20px;color:var(--muted);max-width:46ch}
.step{min-height:82vh;display:flex;flex-direction:column;justify-content:center;max-width:480px}
.step:last-child{min-height:100vh;padding-bottom:var(--sec)}
.js .step{opacity:.18;transform:translateX(22px);transition:opacity .6s,transform .9s var(--ease)}
.js .step.is-active{opacity:1;transform:none}
.step__mark{display:block;width:40px;height:2px;background:var(--accent);margin-bottom:24px;transform-origin:left;transition:transform .8s var(--ease) .1s}
.js .step .step__mark{transform:scaleX(.3)}
.js .step.is-active .step__mark{transform:none}
.step__t{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,3.4vw,48px);line-height:1.06;letter-spacing:-.015em;color:var(--bone);text-wrap:balance}
.step__p{margin-top:18px;color:rgba(237,232,226,.72);font-size:clamp(16px,1.2vw,18.5px);max-width:42ch}
@media (max-width:1024px){
  .story__grid{grid-template-columns:1fr}
  .story__stage{grid-row:1;top:59px;height:42vh;height:42svh;z-index:3;box-shadow:0 -12px 0 var(--bg)}
  .story__stage::before{display:none}
  .story__blur{top:auto;left:0;right:0;width:auto;height:45%;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 75%);mask-image:linear-gradient(180deg,transparent 0%,#000 75%);background:linear-gradient(180deg,rgba(20,17,16,0) 0%,rgba(20,17,16,.5) 55%,var(--bg) 100%)}
  .story__stage::after{height:10%}
  .story__progress{top:auto;bottom:16px;left:var(--gut);right:var(--gut);width:auto;height:2px;transform:none}
  .story__progress i{transform:scaleX(var(--p,0));transform-origin:left}
  .story__steps{grid-column:1;grid-row:2;margin-left:0;padding-inline:var(--gut);z-index:1}
  .story__intro{min-height:0;padding-top:28px;padding-bottom:12px}
  .step{min-height:58vh;min-height:58svh;max-width:none}
  .step:last-child{min-height:62svh;padding-bottom:72px}
  .story__frame--blueprint .story__img--bp{margin-right:0}
}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(96px,14vw,180px)}
.cta__bg{position:absolute;inset:-12% 0;z-index:-2;will-change:transform}
.cta__img{width:100%;height:100%;object-fit:cover}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,17,16,.92) 0%,rgba(20,17,16,.7) 50%,rgba(20,17,16,.35) 100%)}
.cta__title{max-width:20ch;color:#fff}
.cta__lead{max-width:52ch;margin-top:18px;color:rgba(237,232,226,.86)}
.cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* ---------- Footer ---------- */
.foot{background:#0F0D0C;padding-top:clamp(56px,7vw,88px);color:var(--muted);font-size:15px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot__brand img{height:40px;width:auto;margin-bottom:18px}
.foot__brand p{max-width:40ch}
.foot__h{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--bone);margin-bottom:14px}
.foot__col li{padding:5px 0}
.foot__col a{transition:color .2s}
.foot__col a:hover{color:var(--ink)}
.foot__contact a,.foot__contact span{display:inline-flex;align-items:flex-start;gap:10px}
.foot__contact .ic{margin-top:3px;color:var(--accent)}
.foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-block:22px;border-top:1px solid var(--line);font-size:14px}
.foot__legal{display:flex;gap:20px}
.foot__legal a:hover{color:var(--ink)}

/* ---------- Mobile call bar ---------- */
.callbar{display:none}

/* ---------- Reveal (only hides when JS is running) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.js [data-reveal].is-in{opacity:1;transform:none}
.js .craft__media[data-reveal]{transform:none;clip-path:inset(0 100% 0 0);transition:clip-path 1.3s var(--ease),opacity .4s}
.js .craft__media[data-reveal].is-in{clip-path:inset(0 0 0 0)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .nav__bar{gap:16px}
  .menu__link{padding:0 10px;font-size:14.5px}
  .menu__link::after{left:10px;right:10px}
  .mega__inner{grid-template-columns:1fr 240px}
}
@media (max-width:1024px){
  :root{--nav-h:68px}
  .nav__menu,.nav__call{display:none}
  .nav__burger{display:block}
  .nav.is-scrolled{--nav-h:60px}
  .nav__logo img{height:34px}
  .craft__media{position:relative;inset:auto;width:auto;height:clamp(260px,52vw,440px);margin:0 var(--gut) 40px;border-radius:var(--r)}
  .craft{padding-top:var(--sec)}
  .craft__grid{grid-template-columns:1fr}
  .craft__body{grid-column:1}
  .foot__grid{grid-template-columns:1fr 1fr}
  .foot__brand{grid-column:1/-1}
  .callbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:90;display:grid;grid-template-columns:1.4fr 1fr;gap:8px;padding:8px;border-radius:calc(var(--r) + 4px);background:rgba(20,17,16,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);transform:translateY(calc(100% + 24px));transition:transform .45s var(--ease)}
  .callbar.is-shown{transform:none}
  .callbar__btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:var(--r);font-weight:700;font-size:15px;border:1px solid var(--line);color:var(--ink)}
  .callbar__btn--call{background:var(--accent);border-color:var(--accent);color:#fff}
  .foot{padding-bottom:92px}
}
@media (max-width:760px){
  body.wh{font-size:16px}
  .hero{min-height:max(560px,92svh)}
  .hero__scrim{background:linear-gradient(0deg,rgba(20,17,16,.95) 0%,rgba(20,17,16,.75) 45%,rgba(20,17,16,.25) 100%)}
  .hero__content{padding-bottom:88px}
  .hero__dots{left:var(--gut);right:auto;bottom:32px}
  .hero__ctas .btn{flex:1 1 100%}
  .sec-head{flex-direction:column;align-items:flex-start;gap:16px}
  .models .sec-head{flex-direction:row;align-items:flex-end}
  .rail-ctl{display:none}
  .bento{grid-template-columns:1fr;grid-auto-rows:clamp(260px,78vw,360px);gap:12px}
  .bento>.tile{grid-column:1}
  .rail{grid-auto-columns:76vw;gap:14px}
  .point{grid-template-columns:1fr}
  .cta::after{background:rgba(20,17,16,.8)}
  .cta__btns .btn{flex:1 1 100%}
  .foot__grid{grid-template-columns:1fr;gap:32px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  .js [data-reveal]{opacity:1;transform:none;clip-path:none}
  .js .hero__title .w>span{transform:none}
  .hero__img{transform:none}
}

/* =====================  INNER PAGES  ===================== */
.h3{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.01em}
.sec-head--tight{margin-bottom:28px;align-items:center}

/* Page hero */
.phero{position:relative;min-height:clamp(440px,64vh,640px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:var(--surface)}
.phero--small{min-height:clamp(320px,44vh,440px)}
.phero__media{position:absolute;inset:-6% 0;z-index:-2}
.phero__img{width:100%;height:100%;object-fit:cover;animation:wh-heroin 1.6s var(--ease) both}
@keyframes wh-heroin{from{transform:scale(1.12);opacity:.4}to{transform:scale(1);opacity:1}}
.phero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,17,16,.92) 0%,rgba(20,17,16,.7) 42%,rgba(20,17,16,.25) 100%),linear-gradient(0deg,var(--bg) 0%,rgba(20,17,16,0) 40%)}
.phero__content{padding-top:calc(var(--nav-h) + 48px);padding-bottom:clamp(40px,6vw,72px)}
.phero__title{font-family:var(--font-display);font-weight:800;font-size:clamp(38px,5.4vw,72px);line-height:1.04;letter-spacing:-.025em;color:#fff;max-width:16ch;text-wrap:balance}
.phero__hook{margin-top:16px;font-family:var(--font-display);font-weight:600;font-size:clamp(18px,1.8vw,24px);line-height:1.3;color:var(--bone);max-width:34ch}
.phero__hook::before{content:"";display:block;width:40px;height:2px;background:var(--accent);margin-bottom:14px}
.phero__lead{margin-top:14px;max-width:58ch;color:rgba(237,232,226,.8);font-size:clamp(15.5px,1.2vw,17.5px)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;font-size:13.5px;color:rgba(237,232,226,.6)}
.crumbs a{color:rgba(237,232,226,.8);transition:color .2s}
.crumbs a:hover{color:#fff}
.crumbs [aria-current]{color:var(--bone)}
.crumbs--dark{padding-top:calc(var(--nav-h) + 28px);margin-bottom:28px}

/* Catalog */
.catalog{padding-block:clamp(48px,6vw,80px) var(--sec)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:14.5px;font-weight:600;transition:background-color .25s,color .25s,border-color .25s}
.chip span{font-size:12px;opacity:.7}
.chip:hover{color:var(--ink);border-color:rgba(237,232,226,.4)}
.chip.is-active{background:var(--bone);color:var(--ink-dark);border-color:var(--bone)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.card{display:grid;align-content:start;gap:6px;transition:opacity .35s,transform .45s var(--ease)}
.card.is-hidden{display:none}
.card.is-entering{animation:wh-cardin .5s var(--ease) both}
@keyframes wh-cardin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.card__frame{position:relative;display:block;aspect-ratio:1;background:#fff;border-radius:var(--r);overflow:hidden;margin-bottom:12px}
.card__img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}
.card:hover .card__img{transform:scale(1.05)}
.card__frame::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.card:hover .card__frame::after{transform:scaleX(1)}
.card__ph{display:grid;place-items:center;width:100%;height:100%;background:var(--surface);color:var(--line)}
.card__ph .ic{width:48px;height:48px}
.card__cat{font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.card__name{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1.25;color:var(--ink);padding-bottom:12px;border-bottom:1px solid var(--line)}
.card__name .ic{flex:none;margin-top:2px;color:var(--accent);transition:transform .3s var(--ease)}
.card:hover .card__name .ic{transform:translateX(4px)}
.empty{display:grid;justify-items:start;gap:16px;padding:40px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)}

/* Editorial text */
.editorial{padding-block:var(--sec);border-top:1px solid var(--line)}
.editorial__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.editorial__stick{position:sticky;top:calc(var(--nav-h) + 32px);display:grid;justify-items:start;gap:24px}
.editorial__mark{width:48px;height:2px;background:var(--accent)}
.editorial .h2{font-size:clamp(28px,3.2vw,42px)}
.prose{color:rgba(237,232,226,.8);font-size:17px;line-height:1.75;max-width:68ch}
.prose__inner>*+*{margin-top:1.1em}
.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--bone);line-height:1.2;letter-spacing:-.01em;margin-top:1.8em}
.prose h2{font-size:26px}.prose h3{font-size:22px}.prose h4{font-size:18.5px}
.prose strong,.prose b{color:var(--bone);font-weight:700}
.prose a{color:var(--bone);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:0;display:grid;gap:10px}
.prose ul li{position:relative;padding-left:24px;list-style:none}
.prose ul li::before{content:"";position:absolute;left:2px;top:.72em;width:10px;height:2px;background:var(--accent)}
.prose ol{padding-left:22px}.prose ol li{list-style:decimal}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose td,.prose th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.prose.is-collapsible .prose__inner{max-height:560px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent);transition:max-height .8s var(--ease)}
.prose.is-open .prose__inner{max-height:none;-webkit-mask-image:none;mask-image:none}
.prose__more{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-weight:700;color:var(--bone);border-bottom:1px solid var(--accent);padding-bottom:4px}
.prose__more span:nth-child(2){display:none}
.prose.is-open .prose__more span:nth-child(1){display:none}
.prose.is-open .prose__more span:nth-child(2){display:inline}
.prose__more .ic{transition:transform .3s}
.prose.is-open .prose__more .ic{transform:rotate(180deg)}

/* Related categories */
.related{padding-block:clamp(56px,7vw,96px);background:var(--surface)}
.minitiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.minitile{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;isolation:isolate}
.minitile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.minitile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,17,16,.92),rgba(20,17,16,.15) 65%)}
.minitile:hover .minitile__img{transform:scale(1.07)}
.minitile__t{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:18px;font-family:var(--font-display);font-weight:700;font-size:17px;color:#fff}
.minitile__t .ic{color:var(--accent);transition:transform .3s var(--ease)}
.minitile:hover .minitile__t .ic{transform:translateX(4px)}

/* Product page */
.prod{padding-bottom:clamp(48px,6vw,88px)}
.prod__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:start}
.gallery{position:sticky;top:calc(var(--nav-h) + 20px)}
.gallery__stage{position:relative;aspect-ratio:1;background:#fff;border-radius:var(--r);overflow:hidden}
.gallery__slide{position:absolute;inset:0;margin:0;display:grid;place-items:center;opacity:0;transform:scale(1.03);transition:opacity .55s ease,transform .8s var(--ease)}
.gallery__slide.is-active{opacity:1;transform:none;z-index:1}
.gallery__img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}
.gallery__nav,.gallery__zoom{position:absolute;z-index:2;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(26,22,20,.82);color:#fff;backdrop-filter:blur(6px);transition:background-color .25s,transform .25s,opacity .25s}
.gallery__nav:hover,.gallery__zoom:hover{background:var(--accent)}
.gallery__nav{top:50%;transform:translateY(-50%);opacity:0}
.gallery__stage:hover .gallery__nav,.gallery__nav:focus-visible{opacity:1}
.gallery__nav--prev{left:14px}.gallery__nav--next{right:14px}
.gallery__zoom{right:14px;bottom:14px}
.gallery__count{position:absolute;left:14px;bottom:14px;z-index:2;padding:4px 10px;border-radius:999px;background:rgba(26,22,20,.82);color:#fff;font-size:13px;font-weight:600}
.gallery__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.gallery__thumbs::-webkit-scrollbar{display:none}
.gallery__thumb{flex:none;width:76px;height:76px;border-radius:var(--r);overflow:hidden;background:#fff;opacity:.5;outline:2px solid transparent;outline-offset:-2px;transition:opacity .25s,outline-color .25s}
.gallery__thumb img{width:100%;height:100%;object-fit:cover}
.gallery__thumb:hover{opacity:.85}
.gallery__thumb.is-active{opacity:1;outline-color:var(--accent)}
.prod__info{padding-top:8px}
.prod__cat{display:inline-block;font-size:13.5px;font-weight:700;color:var(--accent);letter-spacing:.02em;margin-bottom:12px}
.prod__cat:hover{color:var(--accent-hover)}
.prod__title{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,3.4vw,46px);line-height:1.08;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.prod__hook{margin-top:14px;font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.35;color:var(--bone)}
.prod__lead{margin-top:14px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:26px}
.fact{display:grid;gap:2px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.fact .ic{color:var(--accent);margin-bottom:8px;width:22px;height:22px}
.fact strong{font-family:var(--font-display);font-size:19px;color:var(--bone);line-height:1.2}
.fact span{font-size:13px;color:var(--muted)}
.prod__ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.assure{display:grid;gap:8px;margin-top:22px;color:var(--muted);font-size:15px}
.assure li{display:flex;align-items:center;gap:10px}
.assure .ic{color:var(--accent)}

.ptabs{padding-block:clamp(40px,5vw,72px) var(--sec);border-top:1px solid var(--line)}
.tabs__list{position:relative;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin-bottom:32px}
.tabs__list::-webkit-scrollbar{display:none}
.tabs__btn{flex:none;padding:14px 18px;font-weight:700;font-size:15.5px;color:var(--muted);transition:color .25s}
.tabs__btn:hover,.tabs__btn.is-active{color:var(--bone)}
.tabs__ink{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--accent);transition:transform .45s var(--ease),width .45s var(--ease)}
.tabs__panel{max-width:860px}
.tabs__panel.is-active{animation:wh-cardin .5s var(--ease) both}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin:8px 0 24px}
.specs__row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.specs dt{color:var(--muted);font-size:15px}
.specs dd{margin:0;color:var(--bone);font-weight:700;text-align:right;font-size:15px}
.models--related{padding-block:clamp(64px,8vw,104px)}

.lightbox{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(10,8,8,.94);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.lightbox.is-open{opacity:1;visibility:visible;transition:opacity .3s}
.lightbox__img{max-width:min(92vw,1400px);max-height:88vh;object-fit:contain;background:#fff;border-radius:var(--r);transform:scale(.96);transition:transform .45s var(--ease)}
.lightbox.is-open .lightbox__img{transform:none}
.lightbox__close,.lightbox__nav{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(237,232,226,.1);color:#fff;transition:background-color .25s}
.lightbox__close:hover,.lightbox__nav:hover{background:var(--accent)}
.lightbox__close{top:20px;right:20px}
.lightbox__nav{top:50%;transform:translateY(-50%)}
.lightbox__nav--prev{left:20px}.lightbox__nav--next{right:20px}

/* About / CE */
.ce{padding-block:var(--sec);border-top:1px solid var(--line)}
.ce__grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.ce__mark{font-family:var(--font-display);font-weight:800;font-size:clamp(120px,16vw,220px);line-height:.85;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px var(--accent)}
.ce__body{display:grid;justify-items:start;gap:18px;max-width:560px}
.ce__body p{color:var(--muted)}

/* Contact */
.contact{padding-block:clamp(48px,6vw,80px) var(--sec)}
.contact__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);align-items:start}
.contact__info{display:grid;gap:14px}
.cinfo{display:grid;grid-template-columns:auto 1fr;gap:2px 16px;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.cinfo__ic{grid-row:span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(182,0,0,.14);color:var(--accent)}
.cinfo__label{font-size:13px;color:var(--muted)}
.cinfo__val{color:var(--bone);font-weight:600}
.cinfo--big .cinfo__val{font-family:var(--font-display);font-size:26px;font-weight:800}
.cinfo--big{transition:border-color .25s,background-color .25s}
.cinfo--big:hover{border-color:var(--accent);background:#241d1a}
.contact__map{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line)}
.contact__map iframe{width:100%;height:100%;border:0;filter:grayscale(.9) invert(.9) contrast(.9) hue-rotate(180deg)}
.contact__form{padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.form{display:grid;gap:14px}
.form__note{color:var(--muted);font-size:15px;margin-bottom:6px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{position:relative;display:block}
.field input,.field textarea{width:100%;padding:24px 16px 10px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px;transition:border-color .25s,box-shadow .25s;resize:vertical}
.field textarea{min-height:140px}
.field span{position:absolute;left:17px;top:17px;color:var(--muted);font-size:16px;pointer-events:none;transform-origin:left top;transition:transform .25s var(--ease),color .25s}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--bone);box-shadow:0 0 0 3px rgba(237,232,226,.12)}
.field input:focus+span,.field textarea:focus+span,.field input:not(:placeholder-shown)+span,.field textarea:not(:placeholder-shown)+span{transform:translateY(-10px) scale(.76);color:var(--bone)}
.field.is-bad input,.field.is-bad textarea{border-color:var(--accent-hover)}
.form__err{color:#FF8A80;font-size:14.5px}
.form__done{display:grid;justify-items:start;gap:12px;animation:wh-cardin .6s var(--ease) both}
.form__check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff}
.form__check .ic{width:30px;height:30px}
.form__done p{color:var(--muted)}
.form__demo{font-size:13px;opacity:.7}

/* Simple pages */
.simple{padding-block:clamp(48px,6vw,80px) var(--sec)}
.simple__grid{display:grid;justify-content:start}
.simple__grid.has-aside{grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.ce__mark--side{position:sticky;top:calc(var(--nav-h) + 32px);font-size:clamp(90px,12vw,180px)}
.simple__fig{margin-top:28px;max-width:420px}
.simple__fig img{background:#fff;border-radius:var(--r);padding:12px}

@media (max-width:1180px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  .prod__grid,.contact__grid,.editorial__grid{grid-template-columns:1fr}
  .gallery,.editorial__stick{position:static}
  .minitiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .specs{grid-template-columns:1fr}
  .gallery__nav{opacity:1}
}
@media (max-width:760px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .card__name{font-size:15px}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .phero{min-height:clamp(420px,70svh,560px)}
  .phero__scrim{background:linear-gradient(0deg,var(--bg) 0%,rgba(20,17,16,.78) 50%,rgba(20,17,16,.35) 100%)}
  .form__row{grid-template-columns:1fr}
  .ce__grid,.simple__grid.has-aside{grid-template-columns:1fr}
  .ce__mark--side{position:static}
  .prod__ctas .btn{flex:1 1 100%}
  .lightbox__nav{top:auto;bottom:24px;transform:none}
  .minitile__t{font-size:15px;padding:14px}
}
.prod__grid>*,.contact__grid>*,.editorial__grid>*,.simple__grid>*{min-width:0}
@media (max-width:760px){.sec-head--tight{align-items:flex-start}}

/* =====================  LIGHT SECTIONS  ===================== */
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce){--bg:#F7F3EE;--surface:#FFFFFF;--line:#E2DAD1;--ink:#1A1614;--muted:#6B615A;--bone:#1A1614;--ink-dark:#F7F3EE;background:var(--bg);color:var(--ink)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .btn--ghost{color:var(--ink);border-color:rgba(26,22,20,.3);background:transparent;backdrop-filter:none}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .btn--ghost:hover{border-color:var(--ink);background:rgba(26,22,20,.05)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .prose{color:#4A423C}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .prod__title{color:var(--ink)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .crumbs--dark{color:#8A7F76}:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .crumbs--dark a{color:#5E5550}:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .crumbs--dark a:hover,:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .crumbs--dark [aria-current]{color:var(--ink)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .field input,:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .field textarea{background:#FBF9F6}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .field input:focus,:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(26,22,20,.08)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .contact__map iframe{filter:none}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .form__err{color:var(--accent)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .cinfo--big:hover{background:#FFF8F6}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .cinfo__ic{background:rgba(182,0,0,.08)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .chip:hover{border-color:rgba(26,22,20,.4)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .card__frame,:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .gallery__stage,:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .gallery__thumb{box-shadow:inset 0 0 0 1px var(--line)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .card__ph{background:#EFE9E2;color:#CFC5BA}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) .fact{box-shadow:0 1px 0 rgba(26,22,20,.03)}
:is(.cats,.catalog,.editorial,.prod,.ptabs,.contact,.simple,.ce) :focus-visible{outline-color:var(--ink)}
.ptabs{border-top:0}.prod+.ptabs{padding-top:0}
.models--related{border-top:1px solid #E2DAD1}
.is-product .nav,.is-product .nav.is-scrolled{background:rgba(26,23,21,.94);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);box-shadow:0 1px 0 #3F3833}
.is-product .nav::before{opacity:0}

/* =====================  ELEGANT LUX TYPE  ===================== */
@font-face{font-family:"ElegantLux";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/elegantlux.woff2) format("woff2")}
:root{--font-display:"ElegantLux","Commissioner",system-ui,sans-serif}
.h2,.h3,.hero__title,.phero__title,.phero__hook,.prod__title,.prod__hook,.tile__title,.model__name,.card__name,.mega__title,.acc__link,.step__t,.point__t,.minitile__t,.foot__h,.cinfo--big .cinfo__val,.fact strong,.prose h2,.prose h3,.prose h4,.mega__cap{font-family:var(--font-display);font-weight:400;font-synthesis:none;letter-spacing:.005em}
.menu__link,.drop__link,.mega__link,.btn,.chip,.tabs__btn,.link-arrow,.callbar__btn,.prod__cat,.card__cat,.model__cat,.crumbs,.prose__more,.gallery__count,.cinfo__label,.specs dt{font-family:var(--font-display);font-weight:400;font-synthesis:none}
.menu__link{font-size:16.5px;letter-spacing:.03em}
.btn{letter-spacing:.04em;font-size:16px}.btn--lg{font-size:17.5px}
.chip{font-size:15.5px}.tabs__btn{font-size:17px;letter-spacing:.02em}
.link-arrow{font-size:16.5px;letter-spacing:.02em}
.hero__title{font-size:clamp(44px,6.6vw,94px);line-height:1.02;letter-spacing:-.005em;max-width:16ch}
.hero__title em{color:#fff}
.phero__title{font-size:clamp(44px,6.2vw,86px);line-height:1.02}
.phero__hook{font-size:clamp(20px,2vw,27px)}
.h2{font-size:clamp(34px,4.6vw,60px);line-height:1.06}
.h3{font-size:clamp(26px,2.6vw,36px)}
.step__t{font-size:clamp(34px,3.8vw,56px)}
.prod__title{font-size:clamp(34px,3.8vw,54px);line-height:1.04}
.prod__hook{font-size:22px}
.tile__title{font-size:clamp(26px,2.6vw,36px)}
.model__name{font-size:25px}
.card__name{font-size:19.5px;line-height:1.2}
.mega__title{font-size:20px}
.acc__link{font-size:24px}
.minitile__t{font-size:20px}
.foot__h{font-size:18px;letter-spacing:.02em}
.fact strong{font-size:23px}
.cinfo--big .cinfo__val{font-size:32px}
.prose h2{font-size:30px}.prose h3{font-size:26px}.prose h4{font-size:21px}
.ce__mark{font-family:var(--font-display);font-weight:400;color:var(--accent);-webkit-text-stroke:0}
.prod__cat,.card__cat,.model__cat{font-size:14.5px;letter-spacing:.04em}
@media (max-width:760px){.card__name{font-size:17px}.acc__link{font-size:23px}}
/* ---------- Language switch ---------- */
.lang{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-family:var(--font-display);font-size:12px;letter-spacing:.08em;line-height:1}
.lang__a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 8px;border-radius:999px;color:inherit;opacity:.7;text-decoration:none;transition:background .25s,color .25s,opacity .25s}
.lang__a:hover{opacity:1}
.lang__a.is-on{background:#F7F3EE;color:#1A1614;opacity:1}
.nav__lang{margin-left:auto;margin-right:12px;color:#F7F3EE}
.nav__menu + .nav__lang{margin-left:16px}
.drawer__lang{display:flex;width:max-content;margin:0 0 14px;color:inherit;border-color:currentColor}
@media (max-width:1024px){.nav__lang{display:none}}
:lang(en) .hero__title{max-width:14ch}