/* =========================================================
   NOVA LIGNUM — landing mockup
   Palette: Espresso #4B2E2A · Coffee #7A5645 · Caramel #C6A58D
            Cream #EFE3D6 · Deep Brown #1E1A18
   ========================================================= */
:root{
  --espresso:#4B2E2A; --coffee:#7A5645; --caramel:#C6A58D; --cream:#EFE3D6; --deep:#1E1A18;
  --deep-2:#171412;
  --cream-60:rgba(239,227,214,.62); --cream-40:rgba(239,227,214,.4); --cream-15:rgba(239,227,214,.15); --cream-08:rgba(239,227,214,.08);
  --serif:"Cormorant Garamond", "Times New Roman", serif;
  --sans:"Montserrat", system-ui, sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(1.25rem, 5vw, 6rem);
  --nav-h:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;background:var(--deep);color:var(--cream);
  font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.75;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,ol,ul{margin:0;padding:0}
ol,ul{list-style:none}
em{font-style:italic}
::selection{background:var(--caramel);color:var(--deep)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--gutter)}

.eyebrow{
  font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.38em;text-transform:uppercase;color:var(--caramel);
  display:flex;align-items:center;gap:1.1em;
}
.eyebrow span{font-family:var(--serif);font-size:15px;letter-spacing:.1em;color:var(--cream-60);font-style:italic}
.eyebrow::after{content:"";width:48px;height:1px;background:currentColor;opacity:.5}

/* split heading lines */
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line>span{display:inline-block;will-change:transform}
.js .line>span{transform:translateY(105%)}
.js [data-fade]{opacity:0;transform:translateY(24px)}

h2{font-family:var(--serif);font-weight:300;line-height:.98;letter-spacing:-.01em}
h2 em{color:var(--caramel);font-weight:300}

/* ---------- Loader ---------- */
.loader{position:fixed;inset:0;z-index:200;background:var(--deep);display:grid;place-items:center;align-content:center;gap:28px}
.loader__mark{width:74px;opacity:0;transform:translateY(8px)}
.loader__bar{width:120px;height:1px;background:var(--cream-15);overflow:hidden}
.loader__bar i{display:block;height:100%;width:100%;background:var(--caramel);transform:scaleX(0);transform-origin:left}
.no-js .loader{display:none}

/* ---------- Grain ---------- */
.grain{
  position:fixed;inset:-50%;z-index:150;pointer-events:none;opacity:.075;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.1s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}
  60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}100%{transform:translate(0,0)}
}

/* ---------- Cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:180;pointer-events:none;display:none}
.has-cursor .cursor{display:block}
.has-cursor, .has-cursor a, .has-cursor button{cursor:none}
.cursor__dot,.cursor__ring{position:fixed;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.cursor__dot{width:5px;height:5px;background:var(--cream)}
.cursor__ring{width:38px;height:38px;border:1px solid var(--cream-40);display:grid;place-items:center;
  transition:width .6s var(--ease-out),height .6s var(--ease-out),background-color .6s var(--ease-out),border-color .6s}
.cursor__label{font-style:normal;font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--deep);opacity:0;transition:opacity .3s}
.cursor.is-link .cursor__ring{width:62px;height:62px;border-color:var(--caramel)}
.cursor.is-view .cursor__ring{width:92px;height:92px;background:var(--cream);border-color:var(--cream)}
.cursor.is-view .cursor__label{opacity:1}
.cursor.is-view .cursor__dot{opacity:0}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;
  transition:background-color .8s var(--ease),height .8s var(--ease),border-color .8s,backdrop-filter .8s;
  border-bottom:1px solid transparent;
}
.nav.is-solid{background:rgba(30,26,24,.86);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px);height:68px;border-color:var(--cream-08)}
.nav.is-hidden{transform:translateY(-100%)}
.nav{transform:translateY(0);transition-property:background-color,height,border-color,transform}
.nav__brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:15px;letter-spacing:.42em;text-transform:uppercase}
.nav__brand img{width:34px;height:auto}
.nav__brand span{opacity:0;transform:translateX(-6px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.nav.is-solid .nav__brand span{opacity:1;transform:none}
.nav__links{display:flex;gap:clamp(1.4rem,3vw,3rem);align-items:center}
.nav__links a{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-60);position:relative;padding:6px 0;transition:color .5s}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--caramel);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease-out)}
.nav__links a:hover{color:var(--cream)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__links .nav__cta{color:var(--cream);border:1px solid var(--cream-40);padding:10px 20px}
.nav__links .nav__cta::after{display:none}
.nav__links .nav__cta:hover{border-color:var(--caramel);color:var(--caramel)}
.nav__toggle{display:none;background:none;border:0;width:44px;height:44px;padding:0;position:relative;color:var(--cream)}
.nav__toggle span{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .6s var(--ease-out),top .6s var(--ease-out)}
.nav__toggle span:first-child{top:18px}.nav__toggle span:last-child{top:26px}
.menu-open .nav__toggle span:first-child{top:22px;transform:rotate(45deg)}
.menu-open .nav__toggle span:last-child{top:22px;transform:rotate(-45deg)}

.menu{position:fixed;inset:0;z-index:90;background:var(--deep);display:flex;align-items:center;padding:0 var(--gutter);
  clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease-out);visibility:hidden}
.menu-open .menu{clip-path:inset(0 0 0 0);visibility:visible}
.menu nav{display:flex;flex-direction:column;gap:14px}
.menu a{font-family:var(--serif);font-size:42px;font-weight:300;line-height:1.1;display:flex;align-items:baseline;gap:18px}
.menu small{font-size:13px;font-style:italic;color:var(--caramel);width:22px}

/* ---------- 1. Hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;display:grid;place-items:center;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-1;background:var(--deep)}
.hero__slides,.hero__slide{position:absolute;inset:0}
.hero__slide{opacity:0;overflow:hidden}
.hero__slide.is-active{opacity:1}
.hero__kb{position:absolute;inset:0;background-size:cover;background-position:50% 50%;transform-origin:50% 50%;will-change:transform}
.hero__smoke{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2.4s var(--ease)}
.hero__video.is-ready{opacity:1}
.hero__veil{position:absolute;inset:0;
  background:
    radial-gradient(ellipse 38% 26% at 50% 50%, rgba(30,26,24,.5) 0%, rgba(30,26,24,0) 100%),
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(30,26,24,.22) 0%, rgba(30,26,24,.62) 70%, rgba(30,26,24,.86) 100%),
    linear-gradient(180deg, rgba(30,26,24,.55) 0%, rgba(30,26,24,.15) 35%, rgba(30,26,24,.4) 70%, var(--deep) 100%);}
.hero__content{text-align:center;display:flex;flex-direction:column;align-items:center;padding:0 var(--gutter)}
.hero__mark{width:clamp(84px,9vw,128px);height:auto;margin-bottom:clamp(22px,3vh,36px);filter:drop-shadow(0 6px 30px rgba(0,0,0,.5))}
.hero__title{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6.6vw,104px);letter-spacing:.32em;line-height:1;text-transform:uppercase;
  display:flex;gap:.32em;margin-right:-.32em;text-shadow:0 4px 40px rgba(0,0,0,.45)}
.hero__word{display:inline-block}
.hero__tagline{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(19px,1.9vw,27px);color:var(--cream);margin-top:clamp(18px,2.4vh,30px);letter-spacing:.02em}
.hero__meta{margin-top:26px;display:flex;align-items:center;gap:16px;font-size:9.5px;letter-spacing:.36em;text-transform:uppercase;color:var(--cream-60)}
.hero__meta i{width:4px;height:4px;border-radius:50%;background:var(--caramel);opacity:.7}
.hero__cue{position:absolute;bottom:clamp(22px,4vh,40px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;
  font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--cream-60);padding-left:.42em}
.hero__cue i{width:1px;height:56px;background:var(--cream-15);position:relative;overflow:hidden}
.hero__cue i::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:var(--cream);animation:cue 2.6s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(250%)}}

/* ---------- 2. Manifesto ---------- */
.manifesto{padding:clamp(120px,20vh,240px) 0 clamp(110px,18vh,220px);position:relative}
.manifesto__title{font-size:clamp(56px,11vw,184px);margin-top:42px}
.manifesto__title .line:nth-child(2){padding-left:clamp(0px,9vw,160px)}
.manifesto__lead{font-family:var(--serif);font-weight:300;font-size:clamp(25px,3.1vw,48px);line-height:1.28;max-width:1080px;margin:clamp(64px,12vh,140px) 0 0 auto;color:var(--cream)}
.manifesto__lead .w{opacity:.14;transition:none}
.no-js .manifesto__lead .w{opacity:1}
.duality{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(28px,6vw,110px);margin-top:clamp(90px,16vh,180px);max-width:1080px;margin-left:auto}
.duality__divider{width:1px;background:var(--cream-15);position:relative}
.duality__divider span{position:absolute;inset:0;background:var(--caramel);transform-origin:top;transform:scaleY(0)}
.duality__latin{font-family:var(--serif);font-size:clamp(40px,4.4vw,64px);font-weight:300;font-style:italic;color:var(--caramel);line-height:1;margin-bottom:26px;display:flex;align-items:baseline;gap:16px}
.duality__latin small{font-family:var(--sans);font-style:normal;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-40)}
.duality h3{font-size:10.5px;font-weight:400;letter-spacing:.34em;text-transform:uppercase;margin-bottom:14px}
.duality p{color:var(--cream-60);max-width:38ch}

/* ---------- 3. Smoker (pinned) ---------- */
.smoker{position:relative;background:var(--deep-2)}
.smoker__stage{position:relative;height:100vh;height:100svh;overflow:hidden}
.smoker__frame{position:absolute;inset:0;clip-path:inset(18% 10% 18% 44%);will-change:clip-path}
.smoker__img{position:absolute;inset:-6%;background-size:cover;background-position:50% 50%;will-change:transform}
.smoker__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,20,18,.0) 40%,rgba(23,20,18,.25));opacity:1}
.smoke{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.smoker__copy{position:absolute;left:var(--gutter);top:15vh;width:min(36vw,520px);z-index:2}
.smoker__title{font-size:clamp(52px,6.4vw,104px);margin:30px 0 18px}
.smoker__sub{font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:var(--cream-40);margin-bottom:28px}
.smoker__text{color:var(--cream-60);max-width:40ch;font-size:15px}
.callouts{position:absolute;z-index:3;left:var(--gutter);top:47vh;width:min(34vw,470px);display:grid;gap:12px}
.callout{display:grid;grid-template-columns:auto 34px 1fr;align-items:start;gap:14px;padding:14px 0 4px;border-top:1px solid var(--cream-08)}
.callout__n{font-family:var(--serif);font-style:italic;color:var(--caramel);font-size:17px;line-height:1.3}
.callout__rule{height:1px;background:var(--caramel);margin-top:12px;transform-origin:left}
.callout h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.15;margin-bottom:4px}
.callout p{font-size:13px;color:var(--cream-60);line-height:1.6}
.smoker__finale{position:absolute;inset:auto 0 12vh 0;text-align:center;z-index:4;font-family:var(--serif);font-weight:300;font-size:clamp(40px,6vw,96px);line-height:1;opacity:0;pointer-events:none;text-shadow:0 4px 40px rgba(0,0,0,.6)}
.smoker__finale span{display:inline-block}
.smoker__finale em{color:var(--caramel)}

/* ---------- 4. Collection ---------- */
.collection{position:relative;padding-top:clamp(120px,20vh,220px);overflow:hidden}
.collection__title{font-size:clamp(50px,8.6vw,140px);margin-top:40px}
.collection__title .line:nth-child(2){padding-left:clamp(0px,14vw,240px)}
.collection__lead{max-width:44ch;color:var(--cream-60);margin:44px 0 0 auto;margin-right:clamp(0px,8vw,140px)}
.layers{position:relative;height:clamp(520px,95vh,980px);margin-top:clamp(60px,10vh,120px)}
.layers__word{position:absolute;top:8%;left:-2vw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(140px,26vw,420px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(198,165,141,.22);white-space:nowrap;pointer-events:none}
.layers figure{position:absolute;overflow:hidden}
.layers figure div{position:absolute;inset:-12% 0;background-size:cover;background-position:center}
.layers__a{left:var(--gutter);top:12%;width:58vw;aspect-ratio:16/10}
.layers__b{right:var(--gutter);top:46%;width:30vw;aspect-ratio:4/5;box-shadow:0 40px 80px rgba(0,0,0,.45)}
.layers__b div{background-position:62% 50%!important}

.hscroll{position:relative;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center}
.hscroll__track{display:flex;gap:clamp(28px,4vw,72px);padding:0 var(--gutter);will-change:transform;align-items:flex-end}
.piece{flex:0 0 auto;width:clamp(300px,40vw,620px)}
.piece:nth-child(even){margin-bottom:9vh}
.piece__media{position:relative;overflow:hidden;aspect-ratio:4/5;background:#120f0e}
.piece__par{position:absolute;inset:0 -14%;will-change:transform}
.piece__par img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease-out),filter 1.6s var(--ease-out);filter:saturate(.92) brightness(.92)}
.piece:hover .piece__par img{transform:scale(1.07);filter:saturate(1) brightness(1)}
.piece__media--soon{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#2a221f 0%,#151210 70%);border:1px solid var(--cream-08)}
.piece__media--soon .piece__par{display:grid;place-items:center}
.piece__ghost{width:38%!important;height:auto!important;object-fit:contain!important;opacity:.14;filter:none!important}
.piece--soon:hover .piece__ghost{transform:scale(1.04)}
.piece__badge{position:absolute;top:22px;left:22px;font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--caramel);border:1px solid rgba(198,165,141,.4);padding:8px 14px}
.piece__info{display:grid;grid-template-columns:auto 1fr;column-gap:20px;padding-top:24px}
.piece__n{font-family:var(--serif);font-style:italic;color:var(--caramel);font-size:16px;grid-row:span 2;padding-top:6px}
.piece__info h3{font-family:var(--serif);font-weight:300;font-size:clamp(26px,2.3vw,36px);line-height:1.1}
.piece__info p{color:var(--cream-60);font-size:13.5px;margin-top:8px;max-width:42ch}
.hscroll__end{flex:0 0 auto;width:30vw;align-self:center;font-family:var(--serif);font-style:italic;font-size:clamp(40px,5vw,80px);color:var(--cream-15);white-space:nowrap}

/* ---------- 5. Process ---------- */
.process{padding:clamp(130px,22vh,240px) 0}
.process__head{display:grid;grid-template-columns:1fr 1fr;gap:30px 60px;align-items:end}
.process__head .eyebrow{grid-column:1/-1}
.process__title{font-size:clamp(50px,7.4vw,120px)}
.process__lead{color:var(--cream-60);max-width:44ch;justify-self:end}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px);margin-top:clamp(80px,14vh,150px);padding-top:56px}
.steps__line{position:absolute;left:0;right:0;top:0;height:1px;background:var(--cream-15)}
.steps__fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--coffee),var(--caramel));transform-origin:left;transform:scaleX(var(--p,0))}
.step{position:relative}
.step__dot{position:absolute;top:-62px;left:0;width:11px;height:11px;border-radius:50%;background:var(--deep);border:1px solid var(--cream-40);transition:background-color .6s,border-color .6s,box-shadow .6s}
.step.is-on .step__dot{background:var(--caramel);border-color:var(--caramel);box-shadow:0 0 0 7px rgba(198,165,141,.12)}
.step__n{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--caramel)}
.step h3{font-family:var(--serif);font-weight:300;font-size:clamp(28px,2.6vw,40px);line-height:1.1;margin:10px 0 14px;transition:color .6s}
.step p{color:var(--cream-60);font-size:13.5px;max-width:30ch}
.js .step{opacity:.28;transition:opacity .9s var(--ease)}
.js .step.is-on{opacity:1}

/* ---------- 6. Trade ---------- */
.trade{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;background:var(--deep-2)}
.trade__media{position:relative;overflow:hidden;clip-path:inset(0 0 0 0)}
.trade__img{position:absolute;inset:-10% 0;background-size:cover;background-position:38% 50%}
.trade__copy{padding:clamp(90px,14vh,160px) var(--gutter) clamp(90px,14vh,160px) clamp(40px,6vw,110px);display:flex;flex-direction:column;justify-content:center}
.trade__title{font-size:clamp(44px,5.4vw,88px);margin:34px 0 54px}
.trade__list{display:grid;grid-template-columns:1fr 1fr;gap:34px 44px;max-width:640px}
.trade__list h3{font-size:10.5px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;margin-bottom:10px;color:var(--cream)}
.trade__list li{border-top:1px solid var(--cream-15);padding-top:20px}
.trade__list p{color:var(--cream-60);font-size:13.5px}
.trade__cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:58px}
.trade__note{margin-top:22px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--cream-40)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:58px;padding:0 34px;overflow:hidden;
  font-size:10.5px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;border:1px solid var(--cream);isolation:isolate;transition:color .7s var(--ease-out),border-color .7s}
.btn span{position:relative;z-index:1}
.btn::before{content:"";position:absolute;inset:0;z-index:0;transform:translateY(101%);transition:transform .8s var(--ease-out)}
.btn--solid{background:var(--cream);color:var(--deep)}
.btn--solid::before{background:var(--caramel)}
.btn--ghost{color:var(--cream);border-color:var(--cream-40)}
.btn--ghost::before{background:var(--cream)}
.btn:hover::before{transform:translateY(0)}
.btn--ghost:hover{color:var(--deep);border-color:var(--cream)}
.btn--solid:hover{border-color:var(--caramel)}

/* ---------- 7. Footer ---------- */
.footer{padding:clamp(110px,18vh,190px) var(--gutter) 34px;border-top:1px solid var(--cream-08)}
.footer__inner{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.footer__logo{width:clamp(150px,14vw,210px);height:auto;opacity:.95}
.footer__line{font-family:var(--serif);font-size:20px;color:var(--cream-60);margin-top:30px}
.footer__line em{color:var(--caramel)}
.footer__cols{display:grid;grid-template-columns:repeat(3,auto);gap:clamp(40px,9vw,140px);margin-top:80px}
.footer__cols h4{font-size:9.5px;font-weight:400;letter-spacing:.34em;text-transform:uppercase;color:var(--cream-40);margin-bottom:12px}
.footer__cols a,.footer__cols span{font-family:var(--serif);font-size:19px;transition:color .4s}
.footer__cols a:hover{color:var(--caramel)}
.footer__ig{display:inline-flex;align-items:center;gap:10px}
.footer__base{width:100%;display:flex;justify-content:space-between;gap:20px;margin-top:110px;padding-top:26px;border-top:1px solid var(--cream-08);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-40)}
.footer__top:hover{color:var(--cream)}

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  :root{--nav-h:70px}
  body{font-size:14.5px}
  .nav__links{display:none}
  .nav__toggle{display:block}
  .nav__brand span{opacity:1;transform:none;font-size:12.5px;letter-spacing:.36em}
  .nav__brand img{width:28px}
  .hero__title{flex-direction:column;gap:.16em;letter-spacing:.28em;margin-right:-.28em;font-size:clamp(40px,12vw,64px)}
  .hero__meta{gap:10px;font-size:8.5px;letter-spacing:.26em}
  .hero__kb{background-position:46% 50%}
  .manifesto__lead{margin-left:0}
  .duality{grid-template-columns:1fr;gap:56px;margin-left:0}
  .duality__divider{width:56px;height:1px}
  .duality__divider span{transform-origin:left}

  .smoker__frame{clip-path:inset(28% 4% 31% 4%)}
  .smoker__img{inset:0;background-size:auto 46%;background-position:50% 48.5%;background-repeat:no-repeat}
  .smoker__copy{top:calc(var(--nav-h) + 18px);transform:none;width:auto;right:var(--gutter)}
  .smoker__title{font-size:clamp(40px,11vw,58px);margin:16px 0 8px}
  .smoker__title br{display:none}
  .smoker__sub{margin-bottom:0}
  .smoker__text{display:none}
  .callouts{left:var(--gutter);right:var(--gutter);width:auto;top:auto;bottom:clamp(20px,4vh,40px);display:block;height:118px}
  .callout{position:absolute;inset:auto 0 0 0;grid-template-columns:auto 22px 1fr;padding:16px 18px;border:1px solid var(--cream-08);
    background:rgba(23,20,18,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .callout h3{font-size:20px}
  .smoker__finale{bottom:auto;top:50%;margin-top:-1.6em;font-size:44px;line-height:1.05}
  .smoker__finale span{display:block}

  .layers{height:auto;display:grid;gap:24px;padding:0 var(--gutter);margin-top:60px}
  .layers figure{position:relative;left:auto;right:auto;top:auto;width:100%}
  .layers__a{aspect-ratio:4/3}
  .layers__b{width:72%!important;margin-left:auto;margin-top:-80px}
  .layers__word{top:30%}

  .hscroll{height:auto;display:block;padding:80px 0 20px}
  .hscroll__track{flex-direction:column;align-items:stretch;gap:64px}
  .piece{width:100%}
  .piece:nth-child(even){margin-bottom:0}
  .piece__media{aspect-ratio:4/3}
  .piece__par{inset:-10% 0}
  .hscroll__end{display:none}

  .process__head{grid-template-columns:1fr}
  .process__lead{justify-self:start}
  .steps{grid-template-columns:1fr;gap:48px;padding-top:0;padding-left:44px}
  .steps__line{left:5px;right:auto;top:6px;bottom:0;width:1px;height:auto}
  .steps__fill{transform-origin:top;transform:scaleY(var(--p,0))}
  .step__dot{top:6px;left:-44px}

  .trade{grid-template-columns:1fr}
  .trade__media{height:62vh}
  .trade__copy{padding:80px var(--gutter)}
  .trade__list{grid-template-columns:1fr;gap:26px}
  .btn{width:100%}
  .footer__cols{grid-template-columns:1fr;gap:34px;margin-top:60px}
  .footer__base{flex-direction:column;align-items:center;gap:12px;margin-top:70px}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .grain{animation:none}
  .js .line>span{transform:none}
  .js [data-fade]{opacity:1;transform:none}
  .manifesto__lead .w{opacity:1!important}
  .js .step{opacity:1}
  .steps__fill{--p:1}
  .loader{display:none}
  .smoker__frame{clip-path:inset(9% 5% 9% 43%)}
  .smoker__img{transform:translateX(18vw)}
  .smoker__text{display:none}
  .hero__cue i::after{display:none}
}
@media (prefers-reduced-motion: reduce) and (max-width:900px){
  .smoker__stage{height:auto;min-height:100vh;padding:120px 0 40px}
  .smoker__frame{position:relative;height:56vh;clip-path:none;margin-top:140px}
  .smoker__copy{position:absolute}
  .smoker__img{transform:none}
  .callouts{position:relative;height:auto;display:grid;gap:12px;margin:24px var(--gutter) 0;left:0;right:0;bottom:auto}
  .callout{position:relative}
}
