/* =========================================================
   VitaGlassLux — v3 home
   Sharp edges, emerald palette, Unbounded + Onest
   ========================================================= */

/* ---------- fonts (self-hosted) ---------- */
@font-face{font-family:"Unbounded";src:url("../fonts/unbounded-cyr.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";src:url("../fonts/unbounded-lat.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap;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:"Onest";src:url("../fonts/onest-cyr.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";src:url("../fonts/onest-lat.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;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}

/* ---------- tokens ---------- */
:root{
  --g-950:#072219; --g-900:#0A2A1E; --g-800:#0F3A2A; --g-700:#14503A; --g-500:#2E7D55;
  --leaf:#6FBF73; --mist:#DCEBDD; --paper:#F1F6EE; --ink:#0C3323; --ink-2:#2B5541;
  --on-dark:#EAF4EA; --on-dark-2:rgba(234,244,234,.8); --amber:#E2B25C;
  --line-d:rgba(234,244,234,.16); --line-d2:rgba(234,244,234,.3);
  --line-l:rgba(12,51,35,.16); --line-l2:rgba(12,51,35,.32);
  --gutter:clamp(20px,4.2vw,72px);
  --hh:96px;
  --f-d:"Unbounded","Onest",system-ui,sans-serif;
  --f-t:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --e-out:cubic-bezier(.16,1,.3,1);
  --e-io:cubic-bezier(.76,0,.24,1);
  --focus:var(--leaf);
}
@media (max-width:1100px){:root{--hh:76px}}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;border-radius:0!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
html.smooth,html.rm{scroll-behavior:auto}
body{margin:0;background:var(--g-950);color:var(--on-dark);font-family:var(--f-t);font-size:clamp(18px,.25vw + 15px,20px);line-height:1.4;font-weight:400;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,picture,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,p,ul,ol,dl,dd,figure,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
fieldset{border:0;min-width:0}
::selection{background:var(--leaf);color:var(--g-950)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sec--paper,.sec--mist,.glass--light{--focus:var(--g-700)}
.skip{position:fixed;left:16px;top:-80px;z-index:200;background:var(--leaf);color:var(--g-950);padding:14px 20px;font-weight:600;font-size:18px;transition:top .2s}
.skip:focus{top:16px}

/* ---------- typography ---------- */
.h2{font-family:var(--f-d);font-weight:600;font-size:clamp(30px,5.4vw,92px);line-height:1.06;letter-spacing:-.025em;hyphens:manual;max-width:16ch;text-wrap:balance}
.h3{font-family:var(--f-d);font-weight:600;font-size:clamp(28px,3.4vw,58px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.lead{font-size:clamp(19px,1.25vw,23px);line-height:1.4;color:var(--on-dark-2);max-width:44ch;margin-top:clamp(20px,2vw,32px)}
.sec--paper .lead,.sec--mist .lead{color:var(--ink-2)}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-2)}
.eyebrow span{font-family:var(--f-d);font-weight:500;letter-spacing:0;color:var(--leaf)}
.eyebrow::after{content:"";flex:0 1 120px;height:1px;background:currentColor;opacity:.5;transform-origin:left;transition:transform 1.2s var(--e-out) .2s}
.sec--paper .eyebrow,.sec--mist .eyebrow,.eyebrow--ink{color:var(--ink-2)}
.sec--paper .eyebrow span,.sec--mist .eyebrow span,.eyebrow--ink span{color:var(--g-500)}
.eyebrow--light{color:var(--on-dark)}

/* underline-draw links */
.ul{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .6s var(--e-out)}
.ul:hover,.ul:focus-visible{background-size:100% 1px}

/* ---------- placeholder for images (missing file still looks intentional) ---------- */
.ph{position:relative;overflow:hidden;background-color:var(--g-800);background-image:linear-gradient(160deg,var(--g-700) 0%,var(--g-900) 55%,var(--g-950) 100%)}
.ph--light{background-image:linear-gradient(160deg,#cfe2d0 0%,#a9c7ad 60%,#7fa585 100%)}
.ph img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.ph[data-label]::before{content:attr(data-label);position:absolute;left:24px;bottom:20px;font-family:var(--f-d);font-weight:600;font-size:clamp(28px,3vw,44px);color:rgba(234,244,234,.14);z-index:0}
.ph > img,.ph > .media__in{position:relative;z-index:1}

/* media inner wrapper (created by JS) for reveal + parallax */
.media__in{position:absolute!important;inset:-7% 0;display:block;will-change:transform}
.media__in img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}

/* ---------- buttons ---------- */
.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;font-family:var(--f-t);font-weight:600;font-size:18px;line-height:1.2;letter-spacing:.01em;border:1px solid transparent;transition:color .5s var(--e-out),border-color .5s var(--e-out),transform .6s var(--e-out);transform:translate3d(var(--bx,0px),var(--by,0px),0);white-space:nowrap;overflow:hidden}
.btn::before{content:"";position:absolute;inset:-1px;z-index:-1;background:var(--fill,var(--paper));transform:scaleX(0);transform-origin:right center;transition:transform .7s var(--e-io)}
.btn:hover::before,.btn:focus-visible::before{transform:scaleX(1);transform-origin:left center}
.btn > span{position:relative;display:inline-flex;align-items:center;gap:12px}
.btn .arr,.arr{display:inline-block;transition:transform .6s var(--e-out)}
.btn:hover .arr,a:hover > .arr,a:hover .arr{transform:translateX(6px)}
.btn--lg{min-height:64px;padding:0 34px;font-size:19px}
.btn--block{width:100%}
.btn--solid{background:var(--leaf);color:var(--g-950);--fill:var(--mist)}
.btn--glass{color:var(--on-dark);border-color:rgba(234,244,234,.5);background:rgba(234,244,234,.08);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);--fill:var(--on-dark)}
.btn--glass:hover,.btn--glass:focus-visible{color:var(--g-950);border-color:var(--on-dark)}
.btn--ghost{color:var(--on-dark);border-color:var(--line-d2);--fill:var(--on-dark)}
.btn--ghost:hover,.btn--ghost:focus-visible{color:var(--g-950)}
.btn--ink{background:var(--g-700);color:var(--on-dark);--fill:var(--g-950)}

.sq{position:relative;isolation:isolate;display:inline-grid;place-items:center;width:56px;height:56px;border:1px solid var(--line-d2);font-family:var(--f-d);font-size:20px;color:var(--on-dark);transition:color .4s var(--e-out),border-color .4s,transform .6s var(--e-out);transform:translate3d(var(--bx,0px),var(--by,0px),0);overflow:hidden}
.sq::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--on-dark);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--e-io)}
.sq:hover::before,.sq:focus-visible::before{transform:scaleX(1);transform-origin:left}
.sq:hover,.sq:focus-visible{color:var(--g-950)}
.sq:disabled{opacity:.35;cursor:default}
.sq:disabled::before{display:none}
.sq--lg{width:72px;height:72px;font-size:24px}
.sec--paper .sq{border-color:var(--line-l2);color:var(--ink)}
.sec--paper .sq::before{background:var(--ink)}
.sec--paper .sq:hover,.sec--paper .sq:focus-visible{color:var(--paper)}

/* ---------- glass ---------- */
.glass{position:relative;background:rgba(10,42,30,.9);border:1px solid rgba(234,244,234,.22);color:var(--on-dark)}
.glass--light{background:rgba(241,246,238,.96);border-color:rgba(255,255,255,.75);color:var(--ink)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .glass{background:linear-gradient(135deg,rgba(220,235,221,.16),rgba(220,235,221,.05)),rgba(7,34,25,.34);-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2)}
  .glass--light{background:linear-gradient(135deg,rgba(246,250,244,.8),rgba(220,235,221,.66));-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2)}
}
.glass__fx{position:absolute!important;inset:0;overflow:hidden;pointer-events:none;z-index:0;padding:0!important;border:0!important}
.sheen,.spec{position:absolute;inset:0;display:block;pointer-events:none}
.sheen::before{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:34%;background:linear-gradient(100deg,transparent 0%,rgba(234,244,234,.13) 45%,rgba(234,244,234,.2) 50%,rgba(234,244,234,.13) 55%,transparent 100%);transform:translateX(-110%) skewX(-12deg);animation:sheen 12s var(--e-io) 2.4s infinite}
.sheen--light::before{background:linear-gradient(100deg,transparent,rgba(255,255,255,.5) 50%,transparent)}
@keyframes sheen{0%{transform:translateX(-110%) skewX(-12deg)}22%,100%{transform:translateX(410%) skewX(-12deg)}}
.spec::before{content:"";position:absolute;top:0;bottom:0;left:0;width:50%;background:linear-gradient(105deg,transparent 0%,rgba(234,244,234,.12) 50%,transparent 100%);transform:translateX(calc(var(--gx,.5) * 200% - 50%));opacity:var(--go,0);transition:opacity .6s var(--e-out)}
.spec--light::before{background:linear-gradient(105deg,transparent,rgba(255,255,255,.55) 50%,transparent)}

/* =========================================================
   INTRO
   ========================================================= */
.intro{display:none}
.js:not(.no-intro) .intro{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;background:var(--g-950);clip-path:inset(0 0 0 0);transition:clip-path 1s var(--e-io);animation:introFailsafe .5s 4s forwards}
.intro__logo{width:clamp(140px,14vw,220px);height:auto;opacity:0;transform:translateY(12px);animation:introIn .8s var(--e-out) .05s forwards}
.intro__line{position:relative;width:clamp(160px,18vw,280px);height:1px;background:rgba(234,244,234,.18)}
.intro__line i{position:absolute;inset:0;background:var(--leaf);transform:scaleX(0);transform-origin:left;transition:transform .3s linear}
.intro.is-done{clip-path:inset(0 0 100% 0);pointer-events:none}
@keyframes introIn{to{opacity:1;transform:none}}
@keyframes introFailsafe{to{opacity:0;visibility:hidden}}

/* =========================================================
   CURSOR LABEL
   ========================================================= */
.cursor{position:fixed;left:0;top:0;z-index:110;pointer-events:none;opacity:0;transform:translate3d(-200px,-200px,0)}
.cursor span{display:block;padding:10px 16px;background:var(--leaf);color:var(--g-950);font-size:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transform:scale(.6);transform-origin:0 0;transition:transform .45s var(--e-out)}
.cursor.is-on{opacity:1}
.cursor.is-on span{transform:scale(1)}
.cursor{transition:opacity .3s}

/* =========================================================
   HEADER
   ========================================================= */
.hdr{position:fixed;top:0;left:0;right:0;z-index:60;transition:transform .7s var(--e-out)}
.hdr.is-hidden{transform:translate3d(0,-110%,0)}
.hdr__bar{position:relative;display:flex;align-items:center;gap:clamp(16px,2vw,36px);height:var(--hh);padding:0 var(--gutter);border-bottom:1px solid transparent;transition:height .6s var(--e-out),background-color .6s,border-color .6s,-webkit-backdrop-filter .6s,backdrop-filter .6s}
.hdr.is-scrolled .hdr__bar{height:72px;background:rgba(7,34,25,.94);border-bottom-color:var(--line-d)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .hdr.is-scrolled .hdr__bar{background:linear-gradient(180deg,rgba(220,235,221,.08),rgba(220,235,221,.02)),rgba(7,34,25,.82);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2)}
}
.hdr__bar > .spec{overflow:hidden}
.brand{flex:none;display:block;padding:6px 0}
.brand img{height:clamp(38px,3.4vw,50px);width:auto;transition:height .6s var(--e-out)}
.hdr.is-scrolled .brand img{height:40px}
.nav{margin-left:auto}
.nav__list{display:flex;gap:clamp(18px,1.8vw,34px)}
.nav__list a{display:inline-block;padding:10px 0;font-size:17px;font-weight:500;color:var(--on-dark);white-space:nowrap}
.hdr__phone{font-family:var(--f-t);font-weight:600;font-size:17px;white-space:nowrap;padding:10px 0}
.hdr__cta{min-height:52px;padding:0 24px;font-size:17px}
.burger{display:none;align-items:center;gap:12px;min-height:52px;padding:0 4px 0 16px;border:1px solid var(--line-d2);font-weight:600;font-size:17px}
.burger__text{padding-right:14px}
.burger__lines{display:grid;gap:7px;width:24px}
.burger__lines i{display:block;height:2px;background:currentColor;transition:transform .5s var(--e-out)}
.burger[aria-expanded="true"] .burger__lines i:first-child{transform:translateY(4.5px) rotate(45deg)}
.burger[aria-expanded="true"] .burger__lines i:last-child{transform:translateY(-4.5px) rotate(-45deg)}

@media (max-width:1400px){.hdr__phone{display:none}}
@media (max-width:1180px){
  .nav{display:none}
  .burger{display:inline-flex}
  .hdr__cta{margin-left:auto}
}
@media (max-width:560px){
  .hdr__cta{display:none}
  .burger{margin-left:auto}
}

/* mobile menu */
.mmenu{position:fixed;inset:0;z-index:55;background:var(--g-900);padding:calc(var(--hh) + 24px) var(--gutter) 32px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow-y:auto;opacity:0;transform:translateY(-12px);transition:opacity .5s var(--e-out),transform .6s var(--e-out)}
.mmenu[hidden]{display:none}
.mmenu.is-open{opacity:1;transform:none}
.mmenu__list li{border-bottom:1px solid var(--line-d)}
.mmenu__list a{display:block;padding:14px 0;font-family:var(--f-d);font-weight:600;font-size:clamp(24px,7vw,48px);line-height:1.15;letter-spacing:-.02em}
.mmenu__foot{display:grid;gap:14px;justify-items:start}
.mmenu__phone{font-family:var(--f-d);font-size:clamp(22px,6vw,32px);font-weight:500}
.mmenu__mail{font-size:19px;color:var(--on-dark-2)}
.menu-open{overflow:hidden}

/* =========================================================
   HERO
   ========================================================= */
.hero-pin{position:relative;background:var(--g-950)}
.hero{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;background:var(--g-950)}
.hero__stage{flex:1;display:flex;align-items:center;padding:calc(var(--hh) + 32px) var(--gutter) clamp(28px,4vh,48px)}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--g-950);opacity:calc(var(--p,0) * .5)}
.hero__wipe{position:absolute;inset:0}
.hero__par{position:absolute;inset:-2%;transform:translate3d(var(--mx,0px),calc(var(--my,0px) + var(--p,0) * -3vh),0) scale(calc(1 + var(--p,0) * .08));will-change:transform}
.hero__par picture,.hero__img{position:absolute;inset:0;width:100%;height:100%}
.hero__img{object-fit:cover;object-position:68% 50%}
.hero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(7,34,25,.6) 0%,rgba(7,34,25,0) 22%),
    linear-gradient(0deg,rgba(7,34,25,.75) 0%,rgba(7,34,25,0) 32%),
    linear-gradient(90deg,rgba(7,34,25,.86) 0%,rgba(7,34,25,.62) 30%,rgba(7,34,25,.16) 56%,rgba(7,34,25,0) 70%)}
.hero__inner{position:relative;z-index:2;width:100%;max-width:min(1160px,64vw);transform:translate3d(0,calc(var(--p,0) * -10vh),0);opacity:calc(1 - var(--p,0) * 1.5)}
.hero__kicker{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-2);margin-bottom:clamp(18px,2.4vh,28px)}
.hero__kicker::before{content:"";width:48px;height:1px;background:var(--leaf)}
.hero__slides{display:grid}
.hero__slide{grid-area:1/1;min-width:0}
.hero__slide:not(.is-active):not(.is-leaving){visibility:hidden}
.hero__title{font-family:var(--f-d);font-weight:700;font-size:clamp(32px,min(5.2vw,8.6vh),96px);line-height:1.04;letter-spacing:-.03em;hyphens:manual;text-wrap:balance;max-width:11.8em;padding-bottom:.06em}
.hero__lead{margin-top:clamp(16px,2.6vh,28px);font-size:clamp(18px,1.3vw,22px);line-height:1.4;color:var(--on-dark-2);max-width:40ch}
.hero__row{display:flex;flex-wrap:wrap;align-items:center;gap:20px clamp(24px,3vw,56px);margin-top:clamp(24px,3.6vh,40px)}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.hctl{display:flex;align-items:center;gap:14px}
.variant{position:absolute;z-index:3;right:var(--gutter);top:calc(var(--hh) + 20px);padding:6px 6px 6px 16px;background:rgba(7,34,25,.45);border:1px solid var(--line-d);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}
.js:not(.rm) .variant{opacity:0}
.js:not(.rm) .hero.is-ready .variant{opacity:calc(1 - var(--p,0) * 1.5);transition:opacity 1s var(--e-out) 1.4s}
.hctl__count{font-family:var(--f-d);font-weight:500;font-size:20px;letter-spacing:.02em;min-width:5.2ch;text-align:center}
.hctl__sep{opacity:.5;margin:0 .35em}
.hctl__bar{position:relative;width:clamp(80px,9vw,160px);height:1px;background:var(--line-d2);margin-left:8px}
.hctl__bar i{position:absolute;inset:0;background:var(--amber);transform:scaleX(0);transform-origin:left}
.variant{display:flex;align-items:center;gap:8px;transform:translate3d(0,calc(var(--p,0) * 4vh),0);opacity:calc(1 - var(--p,0) * 1.5)}
.variant__label{font-size:16px;color:var(--on-dark-2);margin-right:6px}
.variant__btn{width:48px;height:48px;border:1px solid var(--line-d2);font-family:var(--f-d);font-size:17px;font-weight:500;transition:background-color .3s,color .3s,border-color .3s}
.variant__btn:hover{border-color:var(--on-dark)}
.variant__btn[aria-pressed="true"]{background:var(--on-dark);color:var(--g-950);border-color:var(--on-dark)}

.hero__facts{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:0;border-right:0;border-bottom:0;transform:translate3d(calc(var(--mx,0px) * -.7),calc(var(--p,0) * 6vh),0);opacity:calc(1 - var(--p,0) * .6)}
.fact{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding:clamp(18px,2.6vh,30px) clamp(16px,2vw,36px)}
.fact:first-child{padding-left:var(--gutter)}
.fact + .fact{border-left:1px solid var(--line-d)}
.fact__num{font-family:var(--f-d);font-weight:600;font-size:clamp(24px,2.5vw,46px);line-height:1.05;letter-spacing:-.02em;white-space:nowrap}
.fact__num small{font-size:max(16px,.42em);font-weight:500;letter-spacing:0}
.fact__cap{font-size:16px;color:var(--on-dark-2);font-weight:500}

/* --- hero motion --- */
.js:not(.rm) .hero__wipe{clip-path:inset(100% 0 0 0)}
.js:not(.rm) .hero__img{transform:scale(1.15)}
.js:not(.rm) .hero.is-ready .hero__wipe{clip-path:inset(0 0 0 0);transition:clip-path 1.5s var(--e-io)}
.js:not(.rm) .hero.is-ready .hero__img{transform:scale(1);transition:transform 2.6s var(--e-out)}
.js:not(.rm) .hero__kicker,.js:not(.rm) .hero__actions,.js:not(.rm) .hero__controls,.js:not(.rm) .hero__facts .fact{opacity:0;transform:translate3d(0,24px,0)}
.js:not(.rm) .hero.is-ready .hero__kicker,.js:not(.rm) .hero.is-ready .hero__actions,.js:not(.rm) .hero.is-ready .hero__controls,.js:not(.rm) .hero.is-ready .hero__facts .fact{opacity:1;transform:none;transition:opacity 1s var(--e-out),transform 1.2s var(--e-out)}
.js:not(.rm) .hero.is-ready .hero__kicker{transition-delay:.5s}
.js:not(.rm) .hero.is-ready .hero__actions{transition-delay:1.05s}
.js:not(.rm) .hero.is-ready .hero__controls{transition-delay:1.2s}
.js:not(.rm) .hero.is-ready .hero__facts .fact:nth-child(1){transition-delay:1.1s}
.js:not(.rm) .hero.is-ready .hero__facts .fact:nth-child(2){transition-delay:1.18s}
.js:not(.rm) .hero.is-ready .hero__facts .fact:nth-child(3){transition-delay:1.26s}
.js:not(.rm) .hero.is-ready .hero__facts .fact:nth-child(4){transition-delay:1.34s}
.js:not(.rm) .hero__lead{opacity:0;transform:translate3d(0,18px,0);transition:opacity .6s var(--e-out),transform .8s var(--e-out)}
.js:not(.rm) .hero.is-ready .hero__slide.is-active .hero__lead{opacity:1;transform:none;transition:opacity 1s var(--e-out) .55s,transform 1.2s var(--e-out) .55s}
.js:not(.rm) .hero__slide.is-leaving .hero__lead{opacity:0;transform:translate3d(0,-14px,0)}

/* split words */
.w{display:inline-block}
.decor .h2{font-size:clamp(30px,3.4vw,64px)}
@media (max-width:1100px){.decor .h2{font-size:clamp(30px,5.4vw,92px)}}
.js:not(.rm) [data-split] .w{opacity:0;transform:translate3d(0,.55em,0);filter:blur(10px);transition:opacity .9s var(--e-out),transform 1.1s var(--e-out),filter .9s var(--e-out);transition-delay:calc(var(--i,0) * 60ms)}
.js:not(.rm) [data-split].is-in .w,
.js:not(.rm) .hero.is-ready .hero__slide.is-active [data-split] .w{opacity:1;transform:none;filter:blur(0)}
.js:not(.rm) .hero.is-ready .hero__slide.is-active [data-split] .w{transition-delay:calc(var(--i,0) * 60ms + .25s)}
.js:not(.rm) .hero__slide.is-leaving [data-split] .w{opacity:0;transform:translate3d(0,-.45em,0);filter:blur(8px);transition:opacity .5s var(--e-io),transform .6s var(--e-io),filter .5s;transition-delay:calc(var(--i,0) * 40ms)}

@media (min-width:761px) and (max-height:820px){
  .hero__stage{padding-top:calc(var(--hh) + 8px);padding-bottom:20px}
  .hero__kicker{margin-bottom:12px}
  .hero__lead{margin-top:12px}
  .hero__row{margin-top:20px}
  .fact{padding-top:14px;padding-bottom:14px;gap:4px}
  .fact__num{font-size:clamp(22px,2.2vw,34px)}
}
@media (min-width:761px) and (max-height:740px){
  .hero__kicker{display:none}
  .hero__lead{max-width:52ch}
}
/* pinned hero (desktop) */
.pin .hero-pin{height:200vh}
.pin .hero-pin + .sec{margin-top:-100vh;z-index:2}
.pin .hero{position:sticky;top:0;height:100vh;min-height:0;overflow:hidden}

@media (max-width:1100px){
  .hero__inner{max-width:100%}
  .hero__scrim{background:
    linear-gradient(180deg,rgba(7,34,25,.82) 0%,rgba(7,34,25,.55) 45%,rgba(7,34,25,.25) 70%,rgba(7,34,25,.6) 100%)}
}
@media (max-width:760px){
  .hero{display:block;min-height:0}
  .hero__stage{position:relative;min-height:100svh;flex-direction:column;align-items:flex-start;padding-top:calc(var(--hh) + 28px);padding-bottom:32px}
  .variant{position:relative;top:auto;right:auto;z-index:2;margin-top:28px}
  .hero__media{inset:0}
  .hero__img{object-position:70% 50%}
  .hero__actions{width:100%}
  .hero__actions .btn{flex:1 1 220px}
  .hero__facts{grid-template-columns:repeat(2,minmax(0,1fr));transform:none;opacity:1;background:var(--g-900)}
  .fact,.fact:first-child{padding:20px var(--gutter)}
  .fact + .fact{border-left:0}
  .fact:nth-child(2n){border-left:1px solid var(--line-d)}
  .fact:nth-child(n+3){border-top:1px solid var(--line-d)}
  .fact__num{font-size:clamp(21px,5.8vw,30px);white-space:normal}
  .hctl{padding:4px;background:rgba(7,34,25,.6);border:1px solid var(--line-d);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
  .hctl__bar{display:none}
  .variant{display:none}
}
@media (max-width:820px) and (orientation:portrait){
  .hero__img{object-position:50% 100%}
  .hero__scrim{background:linear-gradient(180deg,rgba(7,34,25,.84) 0%,rgba(7,34,25,.74) 36%,rgba(7,34,25,.3) 56%,rgba(7,34,25,.05) 72%,rgba(7,34,25,.4) 100%)}
}
@media (max-width:420px){
  .variant__label{flex-basis:100%;margin:0}
  .variant{flex-wrap:wrap}
}

/* =========================================================
   SECTIONS
   ========================================================= */
.sec{position:relative;padding:clamp(88px,10vw,168px) 0}
.sec--deep{background:var(--g-950)}
.sec--forest{background:var(--g-900)}
.sec--paper{background:var(--paper);color:var(--ink)}
.sec--mist{background:var(--mist);color:var(--ink)}
.shead{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:24px var(--gutter);padding:0 var(--gutter);margin-bottom:clamp(48px,6vw,96px)}
.shead > .eyebrow{padding-top:.9em;align-self:start}
.shead--stack{grid-template-columns:1fr;padding:0;gap:28px}
@media (max-width:900px){.shead{grid-template-columns:1fr}}

/* reveal */
.js:not(.rm) [data-reveal]{opacity:0;transform:translate3d(0,32px,0);transition:opacity 1s var(--e-out),transform 1.2s var(--e-out);transition-delay:var(--d,0s)}
.js:not(.rm) [data-reveal].is-in{opacity:1;transform:none}
.js:not(.rm) .eyebrow[data-reveal]::after{transform:scaleX(0)}
.js:not(.rm) .eyebrow[data-reveal].is-in::after{transform:scaleX(1)}
.js:not(.rm) [data-img]{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--e-io);transition-delay:var(--d,0s)}
.js:not(.rm) [data-img].is-in{clip-path:inset(0 0 0 0)}
.js:not(.rm) [data-img] .media__in{transform:translate3d(0,calc((var(--p,.5) - .5) * -9%),0)}
.js:not(.rm) [data-img] .media__in img{transform:scale(1.25);transition:transform 1.8s var(--e-out);transition-delay:var(--d,0s)}
.js:not(.rm) [data-img].is-in .media__in img{transform:scale(1)}
.js:not(.rm) [data-wipe]{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s var(--e-io)}
.js:not(.rm) [data-wipe].is-in{clip-path:inset(0 0 0 0)}

/* =========================================================
   DIRECTIONS
   ========================================================= */
.tiles{display:flex;gap:1px;background:var(--line-d);height:clamp(520px,38vw,760px)}
.tile{flex:1 1 0;min-width:0;position:relative;background:var(--g-950);transition:flex-grow .9s var(--e-out)}
.tile__link{position:absolute;inset:0;display:block;color:var(--on-dark);outline-offset:-4px}
.tile__media{position:absolute!important;inset:0}
.tile__media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(7,34,25,.95) 0%,rgba(7,34,25,.82) 26%,rgba(7,34,25,.25) 55%,rgba(7,34,25,0) 70%);pointer-events:none}
.tile__media img{transition:transform 1.6s var(--e-out),filter .8s var(--e-out)}
.tile__body{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:12px;padding:clamp(20px,1.8vw,32px)}
.tile__num{font-family:var(--f-d);font-size:16px;color:var(--leaf)}
.tile__title{font-family:var(--f-d);font-weight:600;font-size:clamp(20px,1.4vw,28px);line-height:1.12;letter-spacing:-.02em;hyphens:manual}
.tile__desc{font-size:17px;line-height:1.32;color:var(--on-dark-2);max-width:30ch}
.tile__arrow{font-family:var(--f-d);font-size:24px;margin-top:4px;transition:transform .7s var(--e-out)}
.tile::after{content:"";position:absolute;inset:14px;z-index:4;border:1px solid rgba(234,244,234,.55);opacity:0;transform:scale(1.02);transition:opacity .6s var(--e-out),transform .8s var(--e-out);pointer-events:none}
@media (hover:hover) and (min-width:1101px){
  .tiles:hover .tile{flex-grow:.86}
  .tiles .tile:hover{flex-grow:1.7}
  .tiles:hover .tile:not(:hover) img{filter:brightness(.62) saturate(.85)}
  .tile:hover .media__in img,.tile:hover .tile__media > img{transform:scale(1.07)}
  .tile:hover::after{opacity:1;transform:none}
  .tile:hover .tile__arrow{transform:translateX(10px)}
}
@media (max-width:1100px){
  .tiles{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .tiles::-webkit-scrollbar{display:none}
  .tile{flex:0 0 min(78vw,420px);aspect-ratio:3/4;scroll-snap-align:start}
}

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee{position:relative;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line-l);overflow:hidden;padding:clamp(28px,3.4vw,56px) 0}
.marquee__track{display:flex;width:max-content;will-change:transform}
.marquee__seq{flex:none;font-family:var(--f-d);font-weight:600;font-size:clamp(44px,8vw,150px);line-height:1.1;letter-spacing:-.03em;white-space:nowrap;padding-bottom:.08em}
.marquee__seq b{font-weight:300;color:var(--g-500);margin:0 .25em}

/* =========================================================
   MODELS
   ========================================================= */
.models{padding-top:clamp(72px,8vw,128px)}
.models__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px var(--gutter);padding:0 var(--gutter);margin-bottom:clamp(36px,4vw,64px)}
.models__titles{display:grid;gap:18px}
.models__titles .lead{margin-top:0}
.models__bar{display:flex;align-items:center;gap:clamp(20px,2.4vw,40px)}
.models__count{font-family:var(--f-d);font-weight:200;font-size:clamp(48px,6vw,112px);line-height:1;letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.models__count [data-models-cur]{font-weight:600}
.models__sep{margin:0 .12em;color:var(--g-500)}
.models__btns{display:flex;gap:10px}
.models__viewport{position:relative}
.models__track{display:flex;gap:clamp(12px,1.4vw,24px);padding:0 var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}
.models__track::-webkit-scrollbar{display:none}
.models__track.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.models__track:focus-visible{outline-offset:-3px}
.mcard{flex:0 0 clamp(260px,min(72vw,24vw + 60px),420px);scroll-snap-align:start;display:flex;flex-direction:column;background:var(--paper)}
.mcard__media{aspect-ratio:4/5;width:100%}
.mcard__media .media__in{inset:0 -8%;transform:translate3d(var(--cx,0px),0,0)!important}
.mcard__body{padding:20px 0 4px;display:grid;gap:12px;border-top:1px solid var(--line-l)}
.mcard__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.mcard__name{font-family:var(--f-d);font-weight:600;font-size:clamp(22px,1.7vw,32px);line-height:1.1;letter-spacing:-.02em}
.mcard__vol{font-family:var(--f-d);font-weight:300;font-size:clamp(18px,1.3vw,24px);white-space:nowrap;color:var(--ink-2)}
.mcard__specs{display:flex;flex-wrap:wrap;gap:8px}
.mcard__specs li{font-size:16px;line-height:1.3;padding:6px 10px;border:1px solid var(--line-l2);color:var(--ink-2);white-space:nowrap}
.mcard__ask{justify-self:start;display:inline-flex;gap:10px;padding:6px 0;font-weight:600;font-size:18px;color:var(--ink)}
.mcard__ask:hover .ul,.mcard__ask:focus-visible .ul{background-size:100% 1px}
.mcard--all{background:var(--g-900)}
.mcard__all{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;height:100%;min-height:100%;padding:28px;color:var(--on-dark);aspect-ratio:auto;overflow:hidden}
.mcard__allBg{position:absolute!important;inset:0;z-index:0}
.mcard__allBg::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(7,34,25,.95) 10%,rgba(7,34,25,.55) 60%,rgba(7,34,25,.35))}
.mcard__allBg img{transition:transform 1.6s var(--e-out)}
.mcard__all:hover .mcard__allBg img{transform:scale(1.06)}
.mcard__allNum,.mcard__allText,.mcard__allCta{position:relative;z-index:3}
.mcard__allNum{font-family:var(--f-d);font-weight:700;font-size:clamp(72px,7vw,128px);line-height:1;letter-spacing:-.04em}
.mcard__allText{font-size:17px;line-height:1.32;color:var(--on-dark-2)}
.mcard__allCta{display:inline-flex;gap:10px;font-weight:600;font-size:18px;padding-top:14px;border-top:1px solid var(--line-d2)}
.models__foot{display:flex;align-items:center;gap:var(--gutter);padding:clamp(28px,3vw,44px) var(--gutter) 0}
.models__progress{position:relative;flex:1;height:1px;background:var(--line-l2)}
.models__progress i{position:absolute;inset:0;background:var(--g-700);transform:scaleX(var(--mp,.14));transform-origin:left}
.models__all{font-weight:600;font-size:18px;white-space:nowrap;color:var(--ink)}

/* pinned horizontal (desktop) */
.pin .models{padding:0}
.pin .models__pin{height:var(--pin-h,300vh)}
.pin .models__stage{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(300px,26vw) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;padding:clamp(88px,11vh,120px) 0 clamp(24px,4vh,44px)}
.pin .models__head{grid-column:1;grid-row:1;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:24px;margin:0;padding:0 clamp(20px,2.2vw,44px) 0 var(--gutter)}
.pin .models__bar{flex-direction:column;align-items:flex-start;gap:clamp(12px,2.4vh,28px)}
.pin .models__titles .h2{font-size:clamp(36px,min(3.6vw,7vh),64px)}
.pin .models__count{font-size:clamp(48px,min(4.8vw,10vh),92px)}
.pin .models__viewport{grid-column:2;grid-row:1;min-height:0;overflow:hidden}
.pin .models__foot{grid-column:1 / -1;grid-row:2}
.pin .models__track{height:100%;overflow:visible;scroll-snap-type:none;transform:translate3d(var(--tx,0px),0,0);will-change:transform;cursor:default}
.pin .mcard{flex:0 0 auto;height:100%;width:auto;aspect-ratio:.64}
.pin .mcard__media{aspect-ratio:auto;flex:1;min-height:0}
.pin .mcard--all{aspect-ratio:.64}
.pin .models__foot{padding-top:clamp(18px,3vh,32px)}
@media (max-height:700px){.pin .models__lead{display:none}}

/* =========================================================
   COLOURS
   ========================================================= */
.colors{padding-bottom:clamp(72px,8vw,128px)}
.colors__stage{--cpad:17.2%}
.js:not(.rm) .colors__stage{--cpad:16.2%}
.colors__figure{aspect-ratio:2560/1086;width:100%}
.colors__pan{position:absolute;inset:0;transform:translate3d(calc((.5 - var(--p,.5)) * 4%),0,0) scale(1.04);will-change:transform}
.rm .colors__pan{transform:none}
.colors__pan img{width:100%;height:100%;object-fit:cover}
/* spotlight: the bottle under the pointer (or the one the scroll has reached) glows softly */
@property --lit-x{syntax:'<percentage>';inherits:true;initial-value:50%}
.colors__stage.is-lit{--lit-x:50%;--lit-w:5%;transition:--lit-x .9s var(--e-out)}
.colors__pan img{transition:filter 1s var(--e-out),opacity 1s var(--e-out)}
.colors__lit{position:absolute;inset:0;opacity:0;filter:brightness(1.07) saturate(1.22);
  -webkit-mask-image:linear-gradient(90deg,transparent calc(var(--lit-x) - var(--lit-w) * 1.9),rgba(0,0,0,.5) calc(var(--lit-x) - var(--lit-w) * .9),#000 calc(var(--lit-x) - var(--lit-w) * .45),#000 calc(var(--lit-x) + var(--lit-w) * .45),rgba(0,0,0,.5) calc(var(--lit-x) + var(--lit-w) * .9),transparent calc(var(--lit-x) + var(--lit-w) * 1.9)),linear-gradient(180deg,transparent 0%,#000 34%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent calc(var(--lit-x) - var(--lit-w) * 1.9),rgba(0,0,0,.5) calc(var(--lit-x) - var(--lit-w) * .9),#000 calc(var(--lit-x) - var(--lit-w) * .45),#000 calc(var(--lit-x) + var(--lit-w) * .45),rgba(0,0,0,.5) calc(var(--lit-x) + var(--lit-w) * .9),transparent calc(var(--lit-x) + var(--lit-w) * 1.9)),linear-gradient(180deg,transparent 0%,#000 34%);mask-composite:intersect}
.is-lit .colors__pan img:not(.colors__lit){filter:brightness(.86) saturate(.9)}
.is-lit .colors__lit{opacity:1}
.is-lit .colors__figure,.is-lit .colors__list li{cursor:pointer}
.colors__list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 var(--cpad);border-top:1px solid var(--line-d)}
.colors__list li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:clamp(18px,2vw,32px) 4px 0;text-align:center;opacity:.62;transition:opacity .6s var(--e-out)}
.colors__list li::before{content:"";position:absolute;bottom:100%;left:50%;width:1px;height:clamp(28px,5vw,90px);background:linear-gradient(0deg,rgba(234,244,234,.5),rgba(234,244,234,0))}
.colors__list li::after{content:"";position:absolute;top:-1px;left:12%;right:12%;height:3px;background:var(--c);transform:scaleX(0);transition:transform .8s var(--e-out)}
.colors__list li.is-on{opacity:1}
.colors__list li.is-on::after{transform:scaleX(1)}
.rm .colors__list li,.no-js-colors li{opacity:1}
.colors__idx{font-family:var(--f-d);font-size:16px;color:var(--leaf)}
.colors__name{font-family:var(--f-d);font-weight:500;font-size:clamp(16px,1.2vw,22px);line-height:1.2;letter-spacing:-.01em}
@media (max-width:1000px){.colors__name{font-size:16px}}
@media (max-width:760px){
  .colors__figure{aspect-ratio:16/10}
  .colors__stage{--cpad:0px}
  .colors__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;padding:0 var(--gutter)}
  .colors__list li{flex-direction:row;justify-content:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-d);text-align:left}
  .colors__list li{gap:10px}
  .colors__list li::before{display:none}
  .colors__list li::after{left:0;right:auto;width:48px;top:auto;bottom:-1px}
  .colors__name{font-size:16px}
}

/* =========================================================
   PROCESS (exclusive bottle)
   ========================================================= */
.excl{padding-bottom:0}
.process{position:relative}
.process__rail,.process__nav{display:none}
.process__list{display:grid;gap:0}
.pstep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line-l)}
.pstep__fig{grid-column:2;grid-row:1 / span 2;min-height:clamp(320px,36vw,620px)}
.pstep__num{grid-column:1;grid-row:1;padding:clamp(28px,3vw,48px) var(--gutter) 0;font-family:var(--f-d);font-weight:200;font-size:clamp(72px,10vw,180px);line-height:.95;letter-spacing:-.05em;color:var(--g-500)}
.pstep__text{grid-column:1;grid-row:2;padding:20px var(--gutter) clamp(36px,4vw,64px);max-width:640px}
.pstep__of{font-size:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
.pstep__title{font-family:var(--f-d);font-weight:600;font-size:clamp(28px,3vw,52px);line-height:1.08;letter-spacing:-.02em;margin-bottom:16px;hyphens:manual}
.pstep__text p:last-child{font-size:clamp(18px,1.2vw,22px);color:var(--ink-2);max-width:36ch}

@media (max-width:760px){
  .pstep{grid-template-columns:1fr}
  .pstep__fig{grid-column:1;grid-row:1;min-height:0;aspect-ratio:4/3}
  .pstep__num{grid-row:2}
  .pstep__text{grid-row:3}
}

/* pinned scrollytelling */
.pin .process{height:calc(100vh + 3 * 75vh)}
.pin .process__stage{position:sticky;top:0;height:100vh;overflow:hidden}
.pin .process__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1vw,20px);position:absolute;z-index:3;left:var(--gutter);bottom:clamp(24px,5vh,56px);width:calc(50% - var(--gutter) * 2)}
.process__nav button{display:grid;gap:6px;width:100%;padding-top:14px;border-top:2px solid var(--line-l2);text-align:left;font-size:17px;font-weight:600;line-height:1.25;color:var(--ink-2);opacity:.62;hyphens:manual;transition:opacity .5s var(--e-out),color .5s,border-color .5s}
.process__nav button span{font-family:var(--f-d);font-weight:500;font-size:16px;color:var(--g-500)}
.process__nav button:hover{opacity:1}
.process__nav li.is-on button{opacity:1;color:var(--ink);border-top-color:var(--g-700)}
.pin .process__list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,45fr) minmax(0,55fr);height:100%;border-top:1px solid var(--line-l)}
.pin .pstep{display:contents}
.pin .pstep__num{grid-column:1;grid-row:1;align-self:end;padding:0 var(--gutter);font-size:clamp(110px,min(15vw,30vh),300px);line-height:.86;transform:translate3d(0,40%,0);opacity:0;filter:blur(6px);transition:transform 1.1s var(--e-out),opacity .8s var(--e-out),filter .8s}
.pin .pstep__text{grid-column:1;grid-row:2;align-self:start;max-width:none;padding:clamp(18px,3.4vh,40px) var(--gutter) 0;opacity:0!important;transform:translate3d(0,48px,0)!important;transition:opacity .7s var(--e-out),transform 1s var(--e-out)}
.pin .pstep__title{font-size:clamp(34px,min(3.8vw,7vh),68px)}
.pin .pstep__text p:last-child{font-size:clamp(19px,min(1.4vw,2.8vh),25px);max-width:34ch}
.pin .pstep__fig{grid-column:2;grid-row:1 / span 2;min-height:0;height:100%;clip-path:inset(100% 0 0 0)!important;transition:clip-path 1.2s var(--e-io)!important}
.pin .pstep__fig .media__in{transform:none!important;inset:0}
.pin .pstep__fig .media__in img{transform:scale(1.2)!important;transition:transform 1.8s var(--e-out)!important}
.pin .pstep.is-past .pstep__num{transform:translate3d(0,-40%,0);opacity:0}
.pin .pstep.is-past .pstep__text{transform:translate3d(0,-48px,0)!important;opacity:0!important}
.pin .pstep.is-active .pstep__num{transform:none;opacity:1;filter:none}
.pin .pstep.is-active .pstep__text{opacity:1!important;transform:none!important;transition-delay:.15s}
.pin .pstep.is-active .pstep__fig,.pin .pstep.is-past .pstep__fig{clip-path:inset(0 0 0 0)!important}
.pin .pstep.is-active .pstep__fig .media__in img,.pin .pstep.is-past .pstep__fig .media__in img{transform:scale(1)!important}
.pin .pstep:not(.is-active) .pstep__text{pointer-events:none}

/* =========================================================
   HOT BAND (about)
   ========================================================= */
.hot{position:relative;background:var(--g-950)}
.hot__stage{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hot__media{position:absolute!important;inset:0;z-index:0}
.hot__par{position:absolute;inset:-10% 0;transform:translate3d(0,calc((var(--p,.5) - .5) * -12%),0) scale(calc(1.12 - var(--p,.5) * .12));will-change:transform}
.rm .hot__par{transform:none;inset:0}
.hot__par img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hot__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,34,25,.9) 0%,rgba(7,34,25,.7) 34%,rgba(7,34,25,.12) 62%,rgba(7,34,25,0) 80%),linear-gradient(0deg,rgba(7,34,25,.7) 0%,rgba(7,34,25,0) 40%)}
.hot__inner{position:relative;z-index:2;width:100%;padding:clamp(120px,14vh,180px) var(--gutter) clamp(48px,8vh,96px);display:grid;gap:clamp(28px,4vh,48px)}
.hot__title{font-family:var(--f-d);font-weight:600;font-size:clamp(34px,min(6.6vw,12.5vh),124px);line-height:1.04;letter-spacing:-.03em;hyphens:manual}
.hot__lead{margin-top:calc(clamp(28px,4vh,48px) * -.45);font-size:clamp(19px,1.5vw,26px);line-height:1.32;color:var(--on-dark);max-width:48ch;text-wrap:balance}
.hot__title .w{transition:opacity .25s linear}
.js:not(.rm) .hot__title .w{opacity:.22}
.hot__panel{justify-self:start;max-width:100%}
.hot__facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,auto)}
.hot__facts > div{padding:clamp(20px,2vw,32px) clamp(22px,2.6vw,44px)}
.hot__facts > div + div{border-left:1px solid var(--line-d)}
.hot__facts dt{font-family:var(--f-d);font-weight:600;font-size:clamp(22px,1.9vw,34px);line-height:1.1;letter-spacing:-.02em;white-space:nowrap}
.hot__facts dt small{font-size:max(16px,.45em);font-weight:500}
.hot__facts dd{margin-top:10px;font-size:17px;color:var(--on-dark-2)}
.pin .hot__pin{height:160vh}
.pin .hot__stage{position:sticky;top:0;height:100vh;min-height:0}
@media (max-width:760px){
  .hot__scrim{background:linear-gradient(0deg,rgba(7,34,25,.94) 0%,rgba(7,34,25,.75) 50%,rgba(7,34,25,.3) 100%)}
}
@media (max-width:900px){
  .hot__panel{justify-self:stretch}
  .hot__facts{grid-template-columns:1fr}
  .hot__facts > div + div{border-left:0;border-top:1px solid var(--line-d)}
  .hot__facts dt{white-space:normal}
}

/* =========================================================
   DECOR
   ========================================================= */
.decor__grid{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);align-items:start}
.decor__media{position:sticky;top:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-d)}
.decor__media figure{aspect-ratio:3/4}
.decor__body{padding:0 var(--gutter) 0 clamp(32px,4vw,80px)}
.tech{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line-d)}
.tech__row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:clamp(22px,2.4vw,36px) 0;border-bottom:1px solid var(--line-d)}
.tech__num{font-family:var(--f-d);font-size:16px;color:var(--leaf);padding-top:.5em}
.tech__title{font-family:var(--f-d);font-weight:600;font-size:clamp(22px,1.9vw,34px);line-height:1.15;letter-spacing:-.02em;margin-bottom:10px}
.tech__row p{color:var(--on-dark-2);max-width:46ch}
@media (max-width:600px){.tech__row{grid-template-columns:36px minmax(0,1fr);gap:12px}.tech__title{font-size:20px}}
.decor__note{margin-top:28px;font-size:18px;color:var(--on-dark)}
.decor__links{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
@media (min-width:1101px){.decor__media{top:max(88px,calc(50vh - 18.67vw))}}
@media (max-width:1100px){
  .decor__grid{grid-template-columns:1fr}
  .decor__media{position:relative;margin-bottom:clamp(48px,8vw,80px)}
  .decor__body{padding:0 var(--gutter)}
}

/* =========================================================
   CLIENTS
   ========================================================= */
.logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line-l)}
.logos li{display:grid;place-items:center;aspect-ratio:4/3;border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l);background:var(--paper)}
.logos li:nth-child(6n){border-right:0}
.logos img{width:min(150px,64%);height:auto;mix-blend-mode:multiply;filter:saturate(.9);transition:filter .5s,transform .8s var(--e-out)}
.logos li:hover img{transform:scale(1.05)}
@media (max-width:1000px){.logos{grid-template-columns:repeat(4,minmax(0,1fr))}.logos li:nth-child(6n){border-right:1px solid var(--line-l)}.logos li:nth-child(4n){border-right:0}}
@media (max-width:600px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}.logos li:nth-child(4n){border-right:1px solid var(--line-l)}.logos li:nth-child(3n){border-right:0}.logos img{width:76%}}

/* =========================================================
   SPLIT: delivery + sheet
   ========================================================= */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--g-950)}
.split__photo{position:relative;min-height:clamp(560px,52vw,880px);display:flex;align-items:flex-end}
.split__fig{position:absolute!important;inset:0}
.split__fig::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(7,34,25,.94) 0%,rgba(7,34,25,.75) 36%,rgba(7,34,25,0) 68%)}
.split__cap{position:relative;z-index:3;padding:var(--gutter);display:grid;gap:18px;max-width:720px}
.split__cap p:last-child{color:var(--on-dark-2)}
.split__sheet{background:var(--g-900);padding:clamp(64px,7vw,120px) var(--gutter);display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,3vw,44px)}
.split__sheet .eyebrow{margin-bottom:18px}
.split__lead{margin-top:18px;color:var(--on-dark-2);max-width:42ch}
.sizes{border:1px solid var(--line-d)}
.sizes__label{padding:14px 20px;font-size:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-2);border-bottom:1px solid var(--line-d)}
.sizes__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.sizes__grid > div{padding:20px}
.sizes__grid > div + div{border-left:1px solid var(--line-d)}
.sizes dt{font-size:16px;color:var(--on-dark-2)}
.sizes dd{font-family:var(--f-d);font-weight:600;font-size:clamp(24px,2.4vw,44px);line-height:1.1;letter-spacing:-.02em;margin-top:6px;white-space:nowrap}
.sizes dd small{font-size:max(16px,.42em);font-weight:500}
.kinds{display:flex;flex-wrap:wrap;gap:8px}
.kinds li{font-size:17px;padding:10px 16px;border:1px solid var(--line-d2)}
@media (max-width:1100px){
  .split{grid-template-columns:1fr}
  .split__photo{min-height:clamp(480px,110vw,720px)}
}
@media (max-width:480px){
  .sizes__grid{grid-template-columns:1fr}
  .sizes__grid > div + div{border-left:0;border-top:1px solid var(--line-d)}
}

/* =========================================================
   PRICE FORM
   ========================================================= */
.price{position:relative;background:#a9c7ad;color:var(--ink);overflow:hidden}
.price__media{position:absolute!important;inset:0;z-index:0}
.js:not(.rm) .price__media.media-noclip{clip-path:none}
.price__inner{position:relative;z-index:1;padding:clamp(120px,12vw,200px) var(--gutter) clamp(72px,8vw,140px)}
.price__panel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);max-width:min(1180px,68vw)}
.price__info,.price__formWrap{position:relative;z-index:1;padding:clamp(28px,3.4vw,56px)}
.price__info{border-right:1px solid rgba(12,51,35,.18);display:flex;flex-direction:column;gap:20px}
.price__logo{width:120px;height:auto}
.h2--panel{font-size:clamp(32px,3.6vw,64px);max-width:none}
.price__lead{color:var(--ink-2);font-size:18px}
.contacts{display:grid;gap:16px;margin-top:8px;padding-top:24px;border-top:1px solid rgba(12,51,35,.18)}
.contacts dt{font-size:16px;color:var(--ink-2)}
.contacts dd{font-size:19px;font-weight:600;color:var(--ink);margin-top:2px}
.form{display:grid;gap:22px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:grid;gap:8px;align-content:start}
.field__label{font-size:17px;font-weight:600;color:var(--ink)}
.field__opt{font-weight:400;color:var(--ink-2)}
.field__input{width:100%;min-height:60px;padding:14px 16px;font-size:18px;line-height:1.4;color:var(--ink);background:rgba(255,255,255,.66);border:1px solid rgba(12,51,35,.34);transition:border-color .3s,box-shadow .3s,background-color .3s;-webkit-appearance:none;appearance:none}
.field__input::placeholder{color:rgba(12,51,35,.6)}
.field__input:hover{border-color:rgba(12,51,35,.6)}
.field__input:focus{outline:none;border-color:var(--g-700);box-shadow:0 0 0 2px var(--g-700);background:#fff}
.field__input--area{min-height:132px;resize:vertical}
.field__input[aria-invalid="true"]{border-color:#8A3B12;box-shadow:0 0 0 1px #8A3B12}
.field__hint{font-size:16px;color:var(--ink-2)}
.field__err{font-size:16px;font-weight:600;color:#8A3B12}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips legend{margin-bottom:10px;padding:0;float:left;width:100%}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;font-size:17px;font-weight:500;border:1px solid rgba(12,51,35,.34);background:rgba(255,255,255,.4);transition:background-color .3s,color .3s,border-color .3s}
.chip:hover span{border-color:var(--ink)}
.chip input:checked + span{background:var(--g-700);color:var(--on-dark);border-color:var(--g-700)}
.chip input:focus-visible + span{outline:3px solid var(--g-700);outline-offset:3px}
.form-ok{display:grid;gap:14px;align-content:center;min-height:100%;padding:24px 0}
.form-ok[hidden]{display:none}
.form-ok__title{font-family:var(--f-d);font-weight:600;font-size:clamp(28px,2.6vw,44px);line-height:1.1;color:var(--ink)}
.form-ok p:last-child{font-size:20px;color:var(--ink-2);max-width:32ch}
.form-ok:focus{outline:none}
@media (max-width:1400px){.price__panel{max-width:min(1080px,80vw)}}
@media (max-width:1100px){
  .price__panel{grid-template-columns:1fr;max-width:min(760px,62vw)}
  .price__info{border-right:0;border-bottom:1px solid rgba(12,51,35,.18)}
}
@media (max-width:1000px){
  .price{background:var(--mist)}
  .price__panel{max-width:none}
  .price__media{bottom:auto;height:clamp(300px,62vw,560px)}
  .price__media img,.price__media .media__in img{object-position:72% 50%}
  .price__inner{padding-top:clamp(200px,44vw,420px)}
}
@media (max-width:600px){.form__row{grid-template-columns:1fr}}

/* =========================================================
   FOOTER
   ========================================================= */
.ftr{position:relative;background:var(--g-950);color:var(--on-dark);border-top:1px solid var(--line-d);overflow:hidden}
.ftr__top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px var(--gutter);padding:clamp(64px,7vw,112px) var(--gutter) clamp(40px,4vw,64px)}
.ftr__brand{display:grid;gap:22px;align-content:start;justify-items:start}
.ftr__brand img{width:150px;height:auto}
.ftr__brand p{color:var(--on-dark-2);max-width:34ch;font-size:18px}
.ftr__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px var(--gutter)}
.ftr__h{font-family:var(--f-d);font-weight:500;font-size:18px;margin-bottom:16px;color:var(--on-dark)}
.ftr__h--gap{margin-top:32px}
.ftr__col ul{display:grid;gap:8px}
.ftr__col li{font-size:17px;color:var(--on-dark-2);line-height:1.32}
.ftr__col a:hover{color:var(--on-dark)}
.ftr__phone{font-weight:600;color:var(--on-dark);font-size:19px}
.ftr__word{padding:0 var(--gutter);font-family:var(--f-d);font-weight:800;font-size:12.4vw;line-height:.92;letter-spacing:-.045em;white-space:nowrap;color:var(--g-800);text-align:left;padding-bottom:.04em;user-select:none}
.ftr__word span{display:inline-block}
.ftr__word .ch{display:inline-block;background:linear-gradient(180deg,#1C6B49 0%,var(--g-800) 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.js:not(.rm) .ftr__word .ch{opacity:0;transform:translate3d(0,40%,0);filter:blur(8px);transition:opacity 1s var(--e-out),transform 1.3s var(--e-out),filter 1s var(--e-out);transition-delay:calc(var(--i) * 50ms)}
.js:not(.rm) .ftr.is-in .ftr__word .ch{opacity:1;transform:none;filter:none}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:24px var(--gutter) 32px;border-top:1px solid var(--line-d);font-size:16px;color:var(--on-dark-2)}
.ftr__bottom a{color:var(--on-dark)}
@media (max-width:1000px){
  .ftr__top{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ftr__cols{grid-template-columns:1fr 1fr}
  .ftr__cols .ftr__col:first-child,.ftr__cols .ftr__col:last-child{grid-column:1 / -1}
  .ftr__phone{white-space:nowrap}
}

/* phone action bar */
.mbar{display:none}
@media (max-width:760px){
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;transform:translate3d(0,105%,0);transition:transform .6s var(--e-out)}
  .mbar.is-on{transform:none}
  .mbar a{display:grid;place-items:center;min-height:58px;padding-bottom:env(safe-area-inset-bottom,0px);font-weight:600;font-size:18px}
  .mbar__call{background:var(--g-900);color:var(--on-dark);border-top:1px solid var(--line-d2)}
  .mbar__price{background:var(--leaf);color:var(--g-950);border-top:1px solid var(--leaf)}
  .ftr__bottom{padding-bottom:40px}
}

/* footer reveal from under the page (desktop, when it fits) */
.ftr-reveal main{position:relative;z-index:1}
.ftr-reveal .ftr{position:sticky;bottom:0;z-index:0}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .sheen{display:none}
}
.rm .hero__par,.rm .hero__inner,.rm .hero__facts,.rm .hero__media{transform:none!important;opacity:1!important}

.rm .hero__media::after{display:none}
