/* =========================================================
   Amrit Bottlers - "Crown & Label" design system
   Motifs: crown cap (serrated edges), bottle label typography,
   batch codes, Saryu river lines. Palette: red / cola / cream.
   ========================================================= */
:root{
  --red:#e30613;
  --red-hot:#ff2a36;
  --red-deep:#a8000f;
  --cola:#1b0a07;
  --cola-2:#2a130e;
  --cola-3:#3b1d15;
  --cream:#fff4e6;
  --cream-2:#f6e6d0;
  --paper:#fffaf3;
  --gold:#e9b44c;
  --ink:#1b0a07;
  --muted:#7a6258;
  --line:rgba(27,10,7,.14);
  --r:20px;
  --shadow:0 24px 50px -28px rgba(27,10,7,.45);
  --shadow-red:0 22px 50px -22px rgba(227,6,19,.6);
  --ease:cubic-bezier(.22,1,.36,1);
  --display:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  --head:'Montserrat','Inter',system-ui,sans-serif;
  --serif:'Inter',system-ui,sans-serif;
  --mono:'Inter',system-ui,sans-serif;
  --hdr:78px;
  --tooth:11px;
  --sq-red:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q5 0 10 4 T20 4 T30 4 T40 4' fill='none' stroke='%23e30613' stroke-width='2.2'/%3E%3C/svg%3E");
  --sq-cream:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q5 0 10 4 T20 4 T30 4 T40 4' fill='none' stroke='%23fff4e6' stroke-width='2.2'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;font-family:var(--display);color:var(--ink);background:var(--cream);line-height:1.6;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,h5{margin:0;line-height:1.05;font-weight:700;font-family:var(--head);letter-spacing:.005em}
button{font:inherit;color:inherit}
.wrap{width:min(1200px,100% - 32px);margin-inline:auto}
body.loading,body.menu-open{overflow:hidden}
::selection{background:var(--red);color:var(--cream)}

/* ---------- primitives ---------- */
.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.h2{font-size:clamp(2.4rem,5.2vw,4.3rem);letter-spacing:0;font-weight:700;line-height:1}
.h2 em,.hero-title em,.careers em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.01em;color:var(--red);padding:0 .04em .12em;background:var(--sq-red) repeat-x 0 100%/22px 7px}
.h2.light{color:var(--cream)}
.h2.light em{color:var(--red-hot)}
.values .h2 em{color:var(--cream);background-image:var(--sq-cream)}
.sub{color:var(--muted);font-size:1.08rem;max-width:620px;margin:18px 0 0}
.sub.light{color:rgba(255,244,230,.72)}
.sec-head{margin-bottom:52px}
.fine{font-size:.78rem;color:var(--muted);margin-top:30px;text-align:center}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.18em;margin-bottom:-.18em}
.split .w>span{display:inline-block}

/* section header: No.03 ------ The journey */
.sh{display:flex;align-items:center;gap:14px;margin-bottom:18px;color:var(--ink)}
.sh-no{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;padding:5px 9px;border:1.5px solid currentColor;border-radius:6px;color:var(--red)}
.sh-line{width:56px;height:1.5px;background:currentColor;opacity:.35}
.sh-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.sh-light{color:var(--cream)}
.sh-light .sh-no{color:var(--cream)}

/* serrated crown-cap edge on top of a section */
.teeth-top{position:relative}
.teeth-top::before{content:"";position:absolute;left:0;right:0;top:calc(var(--tooth) * -1 + 1px);height:var(--tooth);background:conic-gradient(from -45deg at 50% 100%,var(--bg,var(--cream)) 90deg,#0000 0) 50% 0/calc(var(--tooth) * 2) 100% repeat-x;z-index:3;pointer-events:none}

/* pull-tab buttons */
.tab-btn{display:inline-flex;align-items:center;gap:14px;padding:8px 8px 8px 24px;border-radius:999px;font-weight:700;font-size:.98rem;text-decoration:none;transition:transform .35s var(--ease),background .3s,color .3s,box-shadow .3s;will-change:transform;letter-spacing:-.01em}
.tab-btn i{position:relative;width:38px;height:38px;border-radius:50%;flex:none;transition:transform .6s var(--ease)}
.tab-btn i::before{content:"";position:absolute;inset:7px;border-radius:50%;border:2.5px solid currentColor;opacity:.9}
.tab-btn i::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:2.5px solid currentColor;border-right:2.5px solid currentColor;transform:translate(-65%,-50%) rotate(45deg)}
.tab-btn:hover i{transform:rotate(-180deg)}
.tb-light{background:var(--cream);color:var(--red)}
.tb-light i{background:var(--red);color:var(--cream)}
.tb-line{border:1.5px solid rgba(255,244,230,.6);color:var(--cream)}
.tb-line i{background:rgba(255,244,230,.14)}
.tb-line:hover{background:rgba(255,244,230,.1)}
.tb-red{background:var(--red);color:var(--cream);box-shadow:var(--shadow-red)}
.tb-red i{background:var(--cream);color:var(--red)}

/* ---------- preloader ---------- */
.preloader{position:fixed;inset:0;z-index:999;background:var(--cola);display:grid;place-items:center;transition:clip-path 1s var(--ease);clip-path:inset(0 0 0 0)}
.preloader.done{clip-path:inset(0 0 100% 0)}
.pl-inner{display:flex;flex-direction:column;align-items:center;gap:22px;color:var(--cream)}

/* ---------- header (three floating capsules) ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--hdr);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 max(16px,calc((100% - 1240px)/2));color:var(--cream);transition:transform .5s var(--ease);pointer-events:none}
.hdr>*{pointer-events:auto}
.hdr.hide{transform:translateY(-110%)}
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;justify-self:start;padding:6px 16px 6px 6px;border-radius:999px;transition:background .4s,box-shadow .4s,color .4s}
.logo-cap{position:relative;width:46px;height:46px;display:grid;place-items:center;flex:none}
.logo-cap svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--cream);transition:transform 1s var(--ease),fill .4s}
.logo:hover .logo-cap svg{transform:rotate(120deg)}
.logo-cap b{position:relative;font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.45rem;color:var(--red);line-height:1}
.logo-txt{font-weight:800;font-size:1.12rem;letter-spacing:-.02em;line-height:1}
.logo-txt small{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.7;margin-top:5px}
.now{justify-self:center;display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,244,230,.35);font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;transition:background .4s,color .4s,border-color .4s,opacity .4s;white-space:nowrap}
.now-dot{width:8px;height:8px;border-radius:50%;background:var(--red-hot);box-shadow:0 0 0 0 rgba(255,42,54,.7);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(255,42,54,0)}100%{box-shadow:0 0 0 0 rgba(255,42,54,0)}}
.now-lbl{opacity:.6}
.now-sec{display:inline-flex;gap:8px;align-items:center}
.now-sec i{font-style:normal;color:var(--red-hot)}
.now-sec b{font-weight:600}
.now-sec.swap{animation:swap .5s var(--ease)}
@keyframes swap{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}
.hdr-r{justify-self:end;display:flex;align-items:center;gap:8px}
.hdr-link{text-decoration:none;font-weight:600;font-size:.92rem;padding:12px 18px;border-radius:999px;transition:background .3s,color .3s}
.hdr-link:hover{background:rgba(255,244,230,.14)}
.menu-btn{display:inline-flex;align-items:center;gap:12px;border:0;background:var(--cream);color:var(--cola);padding:6px 6px 6px 18px;border-radius:999px;cursor:pointer;font-weight:700;font-size:.92rem;transition:background .3s,color .3s}
.mb-tab{position:relative;width:34px;height:34px;border-radius:50%;background:var(--red)}
.mb-tab i{position:absolute;left:10px;right:10px;height:2px;background:var(--cream);border-radius:2px;transition:transform .45s var(--ease),top .45s var(--ease)}
.mb-tab i:nth-child(1){top:13px}
.mb-tab i:nth-child(2){top:19px}
.menu-btn[aria-expanded="true"] .mb-tab i:nth-child(1){top:16px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .mb-tab i:nth-child(2){top:16px;transform:rotate(-45deg)}
/* scrolled: capsules get a cream label background */
.hdr.solid .logo,.hdr.solid .now{background:rgba(255,250,243,.92);color:var(--cola);border-color:transparent;box-shadow:0 10px 30px -16px rgba(27,10,7,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hdr.solid .logo-cap svg{fill:var(--red)}
.hdr.solid .logo-cap b{color:var(--cream)}
.hdr.solid .hdr-link{background:rgba(255,250,243,.92);color:var(--cola);box-shadow:0 10px 30px -16px rgba(27,10,7,.35)}
.hdr.solid .menu-btn{background:var(--cola);color:var(--cream)}
body.menu-open .hdr{color:var(--cream)}
body.menu-open .hdr .logo,body.menu-open .hdr .hdr-link{background:transparent;color:var(--cream);box-shadow:none}
body.menu-open .hdr .logo-cap svg{fill:var(--cream)}
body.menu-open .hdr .logo-cap b{color:var(--red)}
body.menu-open .hdr .now{opacity:0;pointer-events:none}
body.menu-open .hdr .menu-btn{background:var(--cream);color:var(--cola)}

/* ---------- full-screen menu ---------- */
.menu{position:fixed;inset:0;z-index:90;background:var(--red);color:var(--cream);clip-path:inset(100% 0 0 0);transition:clip-path .8s var(--ease);overflow:auto}
.menu.open{clip-path:inset(0 0 0 0)}
.menu-wave{position:absolute;left:0;top:0;width:200%;height:60px;fill:var(--red-deep);opacity:.5;animation:waveX 8s linear infinite}
@keyframes waveX{to{transform:translateX(-50%)}}
.menu-in{position:relative;min-height:100%;width:min(1200px,100% - 32px);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center;padding:calc(var(--hdr) + 30px) 0 40px}
.menu-list{list-style:none;margin:0;padding:0;counter-reset:m}
.menu-list li{overflow:hidden;border-bottom:1px solid rgba(255,244,230,.2)}
.menu-list a{display:flex;align-items:baseline;gap:18px;text-decoration:none;padding:8px 0;font-size:clamp(1.7rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.035em;line-height:1.1;transform:translateY(105%);transition:transform .7s var(--ease),color .3s}
.menu.open .menu-list a{transform:none}
.menu-list li:nth-child(2) a{transition-delay:.04s}.menu-list li:nth-child(3) a{transition-delay:.08s}.menu-list li:nth-child(4) a{transition-delay:.12s}
.menu-list li:nth-child(5) a{transition-delay:.16s}.menu-list li:nth-child(6) a{transition-delay:.2s}.menu-list li:nth-child(7) a{transition-delay:.24s}
.menu-list li:nth-child(8) a{transition-delay:.28s}.menu-list li:nth-child(9) a{transition-delay:.32s}
.menu-list i{font-style:normal;font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.1em;opacity:.65;min-width:26px}
.menu-list span{transition:transform .5s var(--ease),font-family .1s}
.menu-list a:hover span{transform:translateX(14px);font-family:var(--serif);font-style:italic;font-weight:500}
.menu-side{border:1.5px dashed rgba(255,244,230,.5);border-radius:var(--r);padding:28px;opacity:0;transform:translateY(20px);transition:opacity .6s .35s,transform .6s .35s var(--ease)}
.menu.open .menu-side{opacity:1;transform:none}
.menu-side p{margin:0 0 20px}
.menu-side .mono{opacity:.7;margin-bottom:6px}
.menu-side a{text-decoration:none;border-bottom:1px solid rgba(255,244,230,.4)}

/* ---------- scroll gauge ---------- */
.gauge{position:fixed;right:18px;top:50%;transform:translateY(-50%) translateX(90px);z-index:80;border:0;background:rgba(255,250,243,.92);color:var(--cola);border-radius:999px;padding:14px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;box-shadow:0 14px 30px -18px rgba(27,10,7,.5);transition:transform .6s var(--ease);backdrop-filter:blur(8px)}
.gauge.show{transform:translateY(-50%)}
.gauge svg{width:22px;height:84px}
.g-ml{font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;font-weight:600}
.g-ml b{font-size:.72rem}

/* ---------- hero ---------- */
.hero{--bg:var(--red);position:relative;min-height:100vh;min-height:100svh;background:radial-gradient(110% 90% at 72% 40%,#ff2331 0%,var(--red) 40%,var(--red-deep) 82%,#6e0009 100%);color:var(--cream);overflow:hidden;display:flex;align-items:center;padding:calc(var(--hdr) + 20px) 0 110px}
.hero-video{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1.2s var(--ease)}
.hero.has-video .hero-video{opacity:1}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.hero-tint{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease);background:linear-gradient(100deg,rgba(150,0,12,.92) 0%,rgba(200,0,16,.8) 40%,rgba(227,6,19,.5) 70%,rgba(92,0,10,.72) 100%)}
.hero.has-video .hero-tint{opacity:1}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
@keyframes drop{to{top:100%}}

@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-18px) rotate(2deg)}}
@keyframes shine{0%{transform:translateX(0) skewX(-12deg)}60%,100%{transform:translateX(320px) skewX(-12deg)}}
@keyframes drip{0%{transform:translateY(0);opacity:0}10%{opacity:1}80%{opacity:1}100%{transform:translateY(60px);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}

/* ---------- tape ---------- */
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- refreshment facts ---------- */
.facts-sec{--bg:var(--cola);background:var(--cola);color:var(--cream);padding:130px 0 120px;margin-top:-20px;position:relative}
.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.facts-copy p{color:rgba(255,244,230,.7);font-size:1.08rem;max-width:460px;margin-top:22px}
.facts{background:var(--paper);color:var(--cola);border:3px solid var(--cola);outline:3px solid var(--paper);padding:18px 22px 16px;font-size:.98rem;max-width:460px;justify-self:end;width:100%;transform:rotate(1.2deg);box-shadow:0 30px 60px -25px rgba(0,0,0,.7)}
.f-title{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:900;letter-spacing:-.04em;line-height:1;padding-bottom:6px;border-bottom:1px solid var(--cola)}
.f-serv{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem;padding:6px 0;font-weight:600}
.f-bar{height:11px;background:var(--cola);margin:2px 0 4px}
.f-bar.thin{height:5px;margin-top:6px}
.f-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:1px solid rgba(27,10,7,.35)}
.f-row span{font-weight:600}
.f-row small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.f-row b{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.f-big{border-top:0}
.f-big span{font-size:1.15rem;font-weight:800}
.f-big b{font-size:2.4rem;color:var(--red)}
.f-note{margin:8px 0 0;font-size:.74rem;color:var(--muted)}

/* ---------- about ---------- */
.about{--bg:var(--cream);background:var(--cream);padding:140px 0 130px}
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.about-media{position:relative;min-height:520px}
.polaroid{position:absolute;margin:0;background:#fff;padding:12px 12px 46px;box-shadow:var(--shadow);transition:transform .8s var(--ease)}
.polaroid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--cola)}
.p1{width:78%;left:0;top:30px;transform:rotate(-4deg)}
.p2{width:58%;right:0;bottom:0;transform:rotate(5deg)}
.about-media:hover .p1{transform:rotate(-2deg) translateY(-6px)}
.about-media:hover .p2{transform:rotate(2deg) translateY(-6px)}
.p1::before{content:"";position:absolute;top:-12px;left:50%;width:90px;height:26px;background:rgba(227,6,19,.75);transform:translateX(-50%) rotate(-3deg)}
.seal{position:absolute;top:-24px;right:10%;width:128px;height:128px;display:grid;place-items:center;z-index:2}
.seal-cap{position:absolute;inset:0;width:100%;height:100%;fill:var(--red);filter:drop-shadow(0 14px 20px rgba(227,6,19,.45))}
.seal-txt{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);animation:spin 20s linear infinite}
.seal-txt text{fill:var(--cream);font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:2.5px}
.seal b{position:relative;font-size:2.1rem;font-weight:800;color:var(--cream);letter-spacing:-.04em}
.about-copy .h2{margin-bottom:26px}
.lead{font-size:1.14rem}
.about-copy p{color:#4a342c}
.signers{margin-top:34px;border-top:1.5px solid var(--cola);padding-top:22px;display:grid;grid-template-columns:1fr 1.2fr;gap:24px}
.sg-main .sig{display:block;font-family:var(--serif);font-style:italic;font-size:2.1rem;color:var(--red);line-height:1;margin-bottom:8px;transform:rotate(-4deg);transform-origin:left}
.sg-main b{display:block}
.sg-main small,.signers li small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:2px}
.signers ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.signers li b{font-size:.95rem}

/* ---------- journey ---------- */
.journey{--bg:var(--cola);background:var(--cola);color:var(--cream);padding:120px 0 0;position:relative;overflow:hidden}
.journey::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 80% 10%,rgba(227,6,19,.22),transparent 70%);pointer-events:none}
.j-head{margin-bottom:30px;position:relative;z-index:1}
.j-hint{color:rgba(255,244,230,.55);margin:0}
.j-hint .arrow{display:inline-block;animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(8px)}}
.j-pin{position:relative;overflow:hidden;z-index:1;padding:40px 0 120px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.j-pin.dragging{cursor:grabbing}
.j-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px}
.j-ctrls{display:flex;gap:8px}
.j-ctrl{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,244,230,.4);background:transparent;color:var(--cream);font-size:1.1rem;cursor:pointer;display:grid;place-items:center;transition:background .3s,border-color .3s}
.j-ctrl:hover{background:var(--red);border-color:var(--red)}
.j-ctrl svg{width:15px;height:15px;fill:currentColor}
.j-ctrl .i-play{display:none}
.j-ctrl.paused .i-play{display:block}
.j-ctrl.paused .i-pause{display:none}
.j-track{position:relative;display:flex;gap:30px;width:max-content;padding-top:70px;will-change:transform}
.j-line{position:absolute;left:0;right:0;top:40px;height:14px;background:repeating-linear-gradient(90deg,rgba(255,244,230,.14) 0 18px,transparent 18px 30px);border-top:1.5px solid rgba(255,244,230,.2);border-bottom:1.5px solid rgba(255,244,230,.2)}
.jcard{position:relative;flex:0 0 min(360px,78vw);padding-top:92px;transition:transform .6s var(--ease)}
.jcard:nth-child(odd) .j-body{transform:rotate(1.4deg)}
.jcard:nth-child(even) .j-body{transform:rotate(-1.2deg)}
.jcard::before{content:"";position:absolute;top:34px;left:26px;width:26px;height:26px;border-radius:50%;background:var(--cola-3);border:3px dotted var(--cream);transition:background .4s,transform .5s var(--ease),border-color .4s}
.jcard.lit::before{background:var(--red);border-color:var(--cream);transform:rotate(180deg) scale(1.15)}
.j-year{position:absolute;top:-14px;left:66px;font-size:3.4rem;font-weight:800;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.4px rgba(255,244,230,.5);transition:color .5s,-webkit-text-stroke-color .5s}
.jcard.lit .j-year{color:var(--cream);-webkit-text-stroke-color:var(--cream)}
.jcard.hl.lit .j-year{color:var(--red-hot);-webkit-text-stroke-color:var(--red-hot)}
.j-body{position:relative;background:var(--paper);color:var(--cola);border-radius:4px 4px var(--r) var(--r);padding:30px 26px 26px;min-height:280px;transition:transform .6s var(--ease),background .5s,color .5s,box-shadow .5s;box-shadow:0 30px 50px -30px rgba(0,0,0,.8)}
.j-body::before{content:"";position:absolute;left:0;right:0;top:calc(var(--tooth) * -1 + 1px);height:var(--tooth);background:conic-gradient(from -45deg at 50% 100%,var(--paper) 90deg,#0000 0) 50% 0/calc(var(--tooth) * 2) 100% repeat-x;transition:filter .5s}
.jcard.lit .j-body{transform:rotate(0) translateY(-14px) scale(1.03);box-shadow:0 40px 60px -30px rgba(227,6,19,.55)}
.jcard.hl.lit .j-body,.jcard.final .j-body{background:var(--red);color:var(--cream)}
.jcard.hl.lit .j-body::before,.jcard.final .j-body::before{background:conic-gradient(from -45deg at 50% 100%,var(--red) 90deg,#0000 0) 50% 0/calc(var(--tooth) * 2) 100% repeat-x}
.j-tag{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed currentColor}
.jcard.hl.lit .j-tag,.jcard.final .j-tag{color:var(--cream)}
.j-body h3{font-size:1.55rem;letter-spacing:-.03em;margin-bottom:10px}
.j-body p{font-size:.95rem;margin:0;opacity:.85}
.j-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.j-chips span{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:4px;border:1px solid currentColor;font-weight:600}
.j-progress{position:absolute;right:max(16px,calc((100vw - 1200px)/2));top:0;z-index:3;display:flex;align-items:center;gap:12px;pointer-events:none}
.j-progress svg{width:34px;height:86px}
.jp-year{background:var(--red);color:var(--cream);padding:6px 12px;border-radius:4px;font-size:.8rem}

/* ---------- brands ---------- */
.brands{--bg:var(--paper);background:var(--paper);padding:140px 0}
.launch{position:relative;margin:0 0 50px;padding:54px 0;overflow-x:auto;scrollbar-width:none}
.launch::-webkit-scrollbar{display:none}
.launch-line{position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;min-width:900px;background:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 16px)}
.launch-fill{position:absolute;inset:0;background:var(--red);transform-origin:left;transform:scaleX(0);transition:transform 1.8s var(--ease)}
.launch.in .launch-fill{transform:scaleX(1)}
.launch-pts{position:relative;display:flex;justify-content:space-between;min-width:900px;height:60px}
.lp{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease);cursor:pointer;background:none;border:0;padding:0}
.launch.in .lp{opacity:1;transform:none}
.lp svg{position:absolute;top:50%;width:26px;height:26px;margin-top:-13px;fill:var(--c);transition:transform .5s var(--ease);filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}
.lp:hover svg{transform:scale(1.45) rotate(90deg)}
.lp .y{position:absolute;bottom:calc(50% + 18px);font-family:var(--mono);font-weight:600;font-size:.8rem}
.lp .n{position:absolute;top:calc(50% + 18px);font-size:.76rem;color:var(--muted);white-space:nowrap;font-weight:600}
.lp:nth-child(even) .y{bottom:auto;top:calc(50% + 18px)}
.lp:nth-child(even) .n{top:auto;bottom:calc(50% + 18px)}
.b-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:34px}
.b-filters button{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:10px 16px;border-radius:6px;border:1.5px solid var(--cola);background:transparent;cursor:pointer;transition:all .3s var(--ease)}
.b-filters button:hover{background:rgba(27,10,7,.06)}
.b-filters button.on{background:var(--cola);color:var(--cream)}
.b-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.bcard{--c:#e30613;--c2:#fff;position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;background:var(--c);color:var(--fg,#fff);min-height:350px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .5s var(--ease),box-shadow .5s;box-shadow:0 22px 40px -26px var(--c);isolation:isolate;outline-offset:4px}
.bcard::before{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(255,255,255,.4);border-radius:calc(var(--r) - 8px);z-index:-1;pointer-events:none}
.bcard::after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--c2);opacity:.2;right:-90px;bottom:-100px;z-index:-1;transition:transform .8s var(--ease)}
.bcard:hover{transform:translateY(-8px) rotate(-.6deg)}
.bcard:hover::after{transform:scale(1.4)}
.bcard.hide{display:none}
.bc-cap{position:relative;width:62px;height:62px;display:grid;place-items:center;transition:transform .8s var(--ease)}
.bc-cap svg{position:absolute;inset:0;width:100%;height:100%;fill:rgba(255,255,255,.92)}
.bc-cap b{position:relative;font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--c);letter-spacing:0}
.bcard:hover .bc-cap{transform:rotate(-200deg) translateY(-4px)}
.bcard:hover .bc-cap b{transform:rotate(200deg)}
.bc-cap b{transition:transform .8s var(--ease)}
.bc-vis{position:absolute;right:14px;bottom:10px;width:110px;height:250px;transition:transform .6s var(--ease)}
.bcard:hover .bc-vis{transform:translateY(-10px) rotate(-6deg)}
.bc-name{position:relative;z-index:1;max-width:60%}
.bc-name h3{font-size:1.75rem;letter-spacing:-.035em;line-height:.95}
.bc-name p{margin:6px 0 0;font-size:.82rem;opacity:.85}
.bc-heritage{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.2);border-radius:4px;padding:4px 8px;font-weight:600}
.bmodal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;pointer-events:none;opacity:0;transition:opacity .35s}
.bmodal.open{pointer-events:auto;opacity:1}
.bm-back{position:absolute;inset:0;background:rgba(27,10,7,.7);backdrop-filter:blur(6px)}
.bm-card{position:relative;width:min(760px,100%);background:var(--paper);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:.8fr 1.2fr;transform:translateY(30px) scale(.96);transition:transform .5s var(--ease);max-height:90vh}
.bmodal.open .bm-card{transform:none}
.bm-vis{background:var(--c,#e30613);display:grid;place-items:center;padding:30px;min-height:320px}
.bm-vis svg{width:120px;height:280px;animation:float 5s ease-in-out infinite}
.bm-txt{padding:40px 32px 32px;overflow:auto}
.bm-year{display:inline-block;color:var(--red);border:1.5px solid var(--red);padding:5px 10px;border-radius:4px}
.bm-txt h3{font-size:2.3rem;letter-spacing:-.04em;margin:16px 0 6px}
.bm-cat{font-family:var(--serif);font-style:italic;color:var(--muted);margin:0 0 14px}
.bm-x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(27,10,7,.08);font-size:1.5rem;cursor:pointer;z-index:2;line-height:1}
.bm-x:hover{background:var(--red);color:var(--cream)}

/* ---------- operations ---------- */
.ops{--bg:var(--cream-2);background:var(--cream-2);padding:140px 0;overflow:hidden}
.conveyor{position:relative;height:250px;margin:10px 0 70px;overflow:hidden}
.cv-belt{position:absolute;left:0;right:0;bottom:30px;height:18px;background:repeating-linear-gradient(90deg,var(--cola-3) 0 22px,var(--cola) 22px 44px);box-shadow:0 10px 20px -10px rgba(0,0,0,.5);}
@keyframes belt{to{background-position:44px 0}}
.cv-station{position:absolute;bottom:122px;width:120px;height:108px;border-radius:12px;background:var(--cola);color:var(--cream);box-shadow:var(--shadow);transform:translateX(-50%);z-index:2;display:flex;justify-content:center}
.cv-station::after{content:"";position:absolute;bottom:-26px;left:50%;width:16px;height:26px;background:var(--cola-3);transform:translateX(-50%);border-radius:0 0 6px 6px}
.st-cap::after{display:none}
.cv-station .piston::after{content:"";position:absolute;left:-4px;right:-4px;bottom:-5px;height:6px;border-radius:2px;background:var(--red)}
.cv-roller{position:absolute;bottom:26px;width:26px;height:26px;border-radius:50%;background:repeating-conic-gradient(var(--cola) 0 25%,var(--cola-3) 0 50%);z-index:1}
.cv-roller.r1{left:-8px}.cv-roller.r2{right:-8px}
.cv-display{position:absolute;left:max(16px,calc((100% - 1200px)/2));top:0;z-index:3;background:var(--cola);color:var(--cream);border-radius:10px;padding:10px 16px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow)}
.cv-display .mono{font-size:.58rem;opacity:.65}
.cv-display b{font-family:var(--mono);font-size:1.5rem;letter-spacing:.12em;color:#ff4d57;text-shadow:0 0 12px rgba(255,42,54,.6)}
.cv-display b.tick{animation:tickf .4s ease-out}
@keyframes tickf{0%{color:#fff;transform:scale(1.06)}100%{color:#ff4d57;transform:none}}
.cv-station span{position:absolute;top:16px;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.cv-station::before{content:"";position:absolute;bottom:18px;left:50%;width:44px;height:6px;border-radius:3px;background:var(--red);transform:translateX(-50%)}
.st-fill{left:30%}.st-cap{left:52%}.st-qc{left:74%}
.st-qc::before{width:18px;height:18px;border-radius:50%;background:#1d6b40;box-shadow:none;bottom:28px;transition:background .15s,box-shadow .15s}
.st-qc.pass::before{background:#2ee07a;box-shadow:0 0 22px 4px #2ee07a}
@keyframes blink{50%{opacity:.3}}
.cv-bottles{position:absolute;left:0;right:0;bottom:48px;height:110px}
.steps{list-style:none;padding:0;margin:0 0 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.steps li{background:var(--paper);border-radius:6px;padding:28px 24px 24px;position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.steps li:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.st-pipe{position:absolute;left:0;right:0;top:0;height:5px;background:var(--cola)}
.st-pipe em{position:absolute;inset:0;background:linear-gradient(90deg,var(--red-deep),var(--red),var(--red-hot));transform-origin:left;transform:scaleX(0)}
.no-gsap .st-pipe em{transform:none}
.st-top{display:flex;justify-content:space-between;align-items:flex-start}
.si{width:52px;height:52px;fill:none;stroke:var(--cola);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;transition:transform .5s var(--ease)}
.steps li:hover .si{transform:scale(1.12) rotate(-4deg)}
.si .ln{fill:none}
.si .ln2{fill:var(--cola);stroke:none}
.si .fl{fill:var(--cola);stroke:none}
.si .liq{fill:rgba(227,6,19,.18);stroke:none;transition:fill .5s}
.si .b{fill:var(--red);stroke:none;animation:bub 1.8s ease-in infinite}
.si .b2{animation-delay:.6s}.si .b3{animation-delay:1.2s}
@keyframes bub{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-16px);opacity:0}}
.si-water .drop{fill:var(--red);stroke:none;animation:dropf 2.2s cubic-bezier(.5,0,1,1) infinite}
.si-water .rip{stroke:var(--red);transform-origin:24px 42px;animation:ripple 2.2s ease-out infinite}
@keyframes dropf{0%{transform:translateY(-8px) scale(.7);opacity:0}20%{opacity:1}60%{transform:translateY(6px) scale(1);opacity:1}70%,100%{transform:translateY(10px) scale(.4);opacity:0}}
@keyframes ripple{0%,60%{transform:scale(.2);opacity:0}70%{opacity:1}100%{transform:scale(1.2);opacity:0}}
.si-syrup .mix{transform-origin:24px 30px;animation:spin 1.6s linear infinite}
.si-fill .lv{fill:var(--red);stroke:none;transform-origin:24px 44px;animation:lvl 2.4s ease-in-out infinite}
.si-fill .cp{fill:var(--cola);stroke:none;animation:cpd 2.4s ease-in-out infinite}
@keyframes lvl{0%{transform:scaleY(0)}55%,100%{transform:scaleY(.82)}}
@keyframes cpd{0%,55%{transform:translateY(-8px);opacity:0}70%,100%{transform:none;opacity:1}}
.si-truck .tk{animation:drive 1.4s ease-in-out infinite}
.si-truck .wh{fill:var(--cream);stroke:var(--cola);stroke-width:2.5;stroke-dasharray:3 2;transform-box:fill-box;transform-origin:center;animation:spin .8s linear infinite}
.si-truck .road{stroke-dasharray:6 5;animation:road .6s linear infinite}
@keyframes drive{50%{transform:translateY(-1.5px)}}
@keyframes road{to{stroke-dashoffset:-11}}
.steps li.on .si{stroke:var(--red)}
.steps li.on .si .liq{fill:rgba(227,6,19,.35)}
.steps li.on .si .fl,.steps li.on .si .ln2{fill:var(--red)}
.steps li.on i{background:var(--red);color:var(--cream)}
.steps i{font-style:normal;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;font-weight:600;color:var(--red);border:1.5px solid var(--red);padding:3px 8px;border-radius:4px}
.steps h4{font-size:1.25rem;letter-spacing:-.02em;margin:10px 0 6px}
.steps p{margin:0;color:var(--muted);font-size:.94rem}
.units{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.unit{background:var(--paper);border-radius:var(--r);padding:30px;position:relative;overflow:hidden;border:1.5px solid var(--line)}
.u-tag{display:inline-block;background:var(--red);color:var(--cream);padding:5px 10px;border-radius:4px;margin-bottom:16px}
.unit h3{font-size:1.45rem;letter-spacing:-.03em;margin-bottom:10px}
.unit p{color:#5a4238;margin:0 0 14px}
.u-list{margin:0;padding-left:18px;color:#4a342c}
.grams{display:flex;flex-wrap:wrap;gap:8px}
.grams span{font-family:var(--mono);font-weight:600;font-size:.78rem;padding:6px 10px;border-radius:4px;background:var(--cream-2)}
.u-img{width:120px;margin-top:16px;border-radius:10px;mix-blend-mode:multiply;animation:bob 5s ease-in-out infinite}
.unit-map{background:var(--cola);color:var(--cream);border-color:var(--cola)}
.unit-map p{color:rgba(255,244,230,.7)}
.radar{position:relative;height:150px;display:grid;place-items:center;margin-top:10px}
.radar i{position:absolute;width:40px;height:40px;border-radius:50%;border:2px solid var(--red);animation:radar 3s ease-out infinite}
.radar i:nth-child(2){animation-delay:1s}.radar i:nth-child(3){animation-delay:2s}
.radar b{position:relative;background:var(--red);padding:4px 12px;border-radius:4px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
@keyframes radar{from{transform:scale(.6);opacity:1}to{transform:scale(4.5);opacity:0}}

/* ---------- values ---------- */
.values{--bg:var(--red);background:var(--red);color:var(--cream);padding:140px 0;position:relative;overflow:hidden}
.values::after{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 90% 0%,rgba(255,255,255,.12),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(0,0,0,.18),transparent 70%);pointer-events:none}
.values .wrap{position:relative;z-index:1}
.caps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:80px}
.capc{border:0;background:none;padding:0;cursor:pointer;aspect-ratio:1;perspective:900px}
.cc-in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s var(--ease)}
.capc:hover .cc-in,.capc:focus-visible .cc-in,.capc.flip .cc-in{transform:rotateY(180deg)}
.cc-f,.cc-b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center}
.cc-f svg,.cc-b svg{position:absolute;inset:0;width:100%;height:100%}
.cc-f svg{fill:var(--cream);filter:drop-shadow(0 16px 20px rgba(80,0,6,.4))}
.cc-f b{position:relative;font-family:var(--serif);font-style:italic;font-weight:500;font-size:3.6rem;line-height:1;color:var(--red)}
.cc-f em{position:relative;font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--cola);margin-top:6px}
.cc-b{transform:rotateY(180deg);padding:18%}
.cc-b svg{fill:var(--cola)}
.cc-b span{position:relative;font-size:.84rem;line-height:1.35;color:var(--cream)}
.val-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.val-grid h3{font-size:1.6rem;letter-spacing:-.03em;margin-bottom:18px}
.val-list ol{list-style:none;padding:0;margin:0;counter-reset:v}
.val-list li{counter-increment:v;padding:14px 0 14px 52px;border-bottom:1px solid rgba(255,244,230,.25);position:relative}
.val-list li::before{content:"0" counter(v);position:absolute;left:0;top:15px;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;border:1.5px solid var(--cream);border-radius:4px;padding:1px 6px}
.policy details{background:rgba(27,10,7,.22);border-radius:12px;margin-bottom:12px;overflow:hidden;border:1.5px dashed rgba(255,244,230,.35)}
.policy summary{cursor:pointer;padding:18px 22px;font-weight:700;list-style:none;display:flex;align-items:center;gap:12px}
.policy summary .mono{background:var(--cream);color:var(--red);padding:3px 8px;border-radius:4px}
.policy summary::-webkit-details-marker{display:none}
.policy summary::after{content:"+";margin-left:auto;font-size:1.4rem;transition:transform .3s}
.policy details[open] summary::after{transform:rotate(45deg)}
.policy details p,.policy details ul{margin:0;padding:0 22px 18px;opacity:.92;font-size:.94rem}
.policy details ul{padding-left:40px}
.policy details li{margin-bottom:6px}

/* ---------- green ---------- */
.green{--bg:var(--cream);background:var(--cream);padding:140px 0;overflow:hidden}
.green-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.green-copy p{color:#5a4238}
.green .h2 em{color:#138a43;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q5 0 10 4 T20 4 T30 4 T40 4' fill='none' stroke='%23138a43' stroke-width='2.2'/%3E%3C/svg%3E")}
.g-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:30px 0 20px;border:1.5px solid var(--cola)}
.g-stats>div{padding:18px;border-right:1.5px solid var(--cola)}
.g-stats>div:last-child{border-right:0}
.g-stats b{display:block;font-size:2.1rem;font-weight:800;letter-spacing:-.04em;color:#138a43;line-height:1}
.g-stats b small{font-size:.5em;margin-left:3px}
.g-stats>div>span{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.states{display:flex;flex-wrap:wrap;gap:8px}
.states span{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:4px;background:#dcefe1;color:#0f6b34;font-weight:600}
.green-vis{position:relative;height:460px;border-radius:var(--r);overflow:hidden;background:linear-gradient(180deg,#bfe3f2,#e9f6ee)}
.sun{position:absolute;top:34px;right:50px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,#ffd35c,#ffb400);box-shadow:0 0 80px 20px rgba(255,190,0,.45);animation:pulse 4s ease-in-out infinite}
.turbine{position:absolute;bottom:70px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.12))}
.turbine rect,.turbine circle,.turbine path{fill:#fffaf3}
.turbine .blades{transform-origin:100px 100px;animation:spin 5s linear infinite}
.t1{left:10%;width:170px;height:340px}
.t2{left:46%;width:120px;height:240px}
.t2 .blades{animation-duration:3.6s}
.green-vis::before{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:120px;background:radial-gradient(120% 100% at 50% 100%,#4caf6e,#2e8b57);border-radius:50% 50% 0 0}
.panels{position:absolute;right:24px;bottom:40px;display:grid;grid-template-columns:repeat(3,54px);gap:6px;transform:perspective(400px) rotateX(35deg)}
.panels i{height:36px;background:linear-gradient(135deg,#1b3b70,#2f63b8);border:2px solid #dfe8f5;border-radius:4px;position:relative;overflow:hidden}
.panels i::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-100%);animation:glint 3.5s ease-in-out infinite}
.panels i:nth-child(2)::after{animation-delay:.2s}.panels i:nth-child(3)::after{animation-delay:.4s}.panels i:nth-child(4)::after{animation-delay:.6s}.panels i:nth-child(5)::after{animation-delay:.8s}.panels i:nth-child(6)::after{animation-delay:1s}
@keyframes glint{60%,100%{transform:translateX(100%)}}

/* ---------- group: ticket stubs ---------- */
.group{--bg:var(--paper);background:var(--paper);padding:140px 0}
.tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ticket{--tbg:var(--cream);position:relative;background:var(--tbg);border-radius:14px;padding:26px 26px 26px 86px;min-height:190px;transition:box-shadow .4s,transform .2s,background .4s;transform-style:preserve-3d}
.ticket::before,.ticket::after{content:"";position:absolute;left:58px;width:24px;height:24px;border-radius:50%;background:var(--paper)}
.ticket::before{top:-12px}
.ticket::after{bottom:-12px}
.ticket .tk-no{position:absolute;left:0;top:0;bottom:0;width:70px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--red);border-left:2px dashed rgba(27,10,7,.25)}
.ticket h4{font-size:1.2rem;letter-spacing:-.02em;margin-bottom:8px}
.ticket p{margin:0 0 14px;color:var(--muted);font-size:.94rem}
.tk-cat{display:inline-block;padding:3px 8px;border-radius:4px;background:var(--cola);color:var(--cream)}
.ticket:hover{background:var(--red);color:var(--cream);box-shadow:var(--shadow-red)}
.ticket:hover p{color:rgba(255,244,230,.85)}
.ticket:hover .tk-no{color:var(--cream);border-color:rgba(255,244,230,.4)}

/* ---------- gallery: film reel ---------- */
.gallery{--bg:var(--cola);background:var(--cola);color:var(--cream);padding:140px 0 110px;overflow:hidden}
.film{position:relative;background:#0d0403;padding:34px 0;transform:rotate(-1deg);margin:0 -20px}
.film::before,.film::after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(255,244,230,.85) 12px 26px,transparent 26px 38px);opacity:.8}
.film::before{top:10px}
.film::after{bottom:10px}
.film-track{display:flex;gap:14px;overflow-x:auto;padding:0 max(36px,calc((100vw - 1200px)/2));scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab}
.film-track::-webkit-scrollbar{display:none}
.film-track.drag{cursor:grabbing;scroll-snap-type:none}
.g-item{flex:0 0 clamp(240px,32vw,400px);scroll-snap-align:center;border:0;padding:0;background:#222;border-radius:4px;overflow:hidden;cursor:zoom-in;position:relative}
.g-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s var(--ease),filter .5s;filter:sepia(.25) saturate(.9);pointer-events:none}
.g-item:hover img{transform:scale(1.06);filter:none}
.g-item span{position:absolute;left:10px;bottom:10px;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(27,10,7,.8);padding:3px 7px;border-radius:3px;font-weight:600}
.film-hint{text-align:center;color:rgba(255,244,230,.5);margin-top:24px}
.lightbox{position:fixed;inset:0;z-index:400;background:rgba(13,4,3,.94);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:16px}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox figure{margin:0;background:#fff;padding:12px 12px 50px;position:relative;max-width:min(1000px,100%)}
.lightbox img{max-height:78vh;width:auto;max-width:100%}
.lightbox figcaption{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-family:var(--serif);font-style:italic;color:var(--cola);font-size:1.1rem}
.lb-x,.lb-nav{position:absolute;background:rgba(255,244,230,.12);color:var(--cream);border:0;border-radius:50%;width:48px;height:48px;font-size:1.8rem;cursor:pointer;line-height:1;z-index:2}
.lb-x:hover,.lb-nav:hover{background:var(--red)}
.lb-x{top:16px;right:16px}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-next{right:16px;top:50%;transform:translateY(-50%)}

/* ---------- careers ---------- */
.careers{--bg:var(--cream);background:var(--cream);padding:120px 0 40px}
.careers-in{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;background:var(--paper);border:2px solid var(--cola);border-radius:28px;padding:40px 48px;position:relative}
.careers-in .h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.careers-in p{margin:10px 0 0;color:var(--muted);max-width:540px}
.pop{position:relative;width:130px;height:130px;display:grid;place-items:center}
.pop svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--red);animation:spin 14s linear infinite;filter:drop-shadow(0 14px 20px rgba(227,6,19,.4))}
.pop span{position:relative;font-weight:900;font-size:1.7rem;color:var(--cream);letter-spacing:-.02em;transform:rotate(-10deg)}
.careers-in:hover .pop svg{animation-duration:2s}

/* ---------- contact: shipping label ---------- */
.contact{--bg:var(--cream);background:var(--cream);padding:100px 0 140px}
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:stretch}
.ship{position:relative;background:var(--paper);border:2px dashed var(--cola);border-radius:14px;padding:26px 28px}
.ship-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:3px solid var(--cola)}
.stamp{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--red);border:2.5px double var(--red);border-radius:6px;padding:8px 12px;text-align:center;line-height:1.3;transform:rotate(8deg)}
.ship-row{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.ship-row .mono{color:var(--red);padding-top:3px}
.ship-row a{text-decoration:none;border-bottom:1px solid rgba(27,10,7,.3);transition:color .3s,border-color .3s}
.ship-row a:hover{color:var(--red);border-color:var(--red)}
.ship-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;flex-wrap:wrap}
.barcode{width:190px;height:46px;background:repeating-linear-gradient(90deg,var(--cola) 0 2px,transparent 2px 4px,var(--cola) 4px 7px,transparent 7px 8px,var(--cola) 8px 9px,transparent 9px 12px,var(--cola) 12px 16px,transparent 16px 18px)}
.c-mail{display:flex;flex-wrap:wrap;gap:10px}
.c-mail a{text-decoration:none;font-weight:700;font-size:.88rem;padding:10px 16px;border-radius:999px;border:1.5px solid var(--cola);transition:all .3s}
.c-mail a:hover{background:var(--cola);color:var(--cream)}
.c-map{position:relative;border-radius:var(--r);overflow:hidden;min-height:440px;background:var(--cream-2) radial-gradient(circle at 50% 45%,rgba(227,6,19,.14),transparent 60%);border:2px solid var(--cola)}
.c-map iframe{width:100%;height:100%;min-height:440px;border:0;filter:sepia(.25) contrast(1.05)}
.map-open{position:absolute;left:16px;bottom:16px;background:var(--red);color:var(--cream);text-decoration:none;font-weight:700;font-size:.88rem;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow-red);z-index:2}
.map-open:hover{background:var(--red-deep)}

/* ---------- footer ---------- */
.foot{--bg:var(--cola);background:var(--cola);color:rgba(255,244,230,.7);padding:80px 0 30px;overflow:hidden}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.foot-line{font-size:1.2rem;color:var(--cream);max-width:420px;margin:0;font-family:var(--serif);font-style:italic;line-height:1.45}
.foot h5{color:var(--red-hot);margin-bottom:14px}
.foot-grid a{display:block;text-decoration:none;padding:4px 0;transition:color .25s,transform .25s}
.foot-grid a:hover{color:var(--cream);transform:translateX(4px)}
.foot-word{font-size:clamp(6rem,27vw,24rem);font-weight:800;letter-spacing:-.035em;line-height:.8;text-align:center;color:transparent;-webkit-text-stroke:1.5px rgba(255,244,230,.28);margin:50px 0 20px;user-select:none;transition:color .6s,-webkit-text-stroke-color .6s}
.foot-word:hover{color:var(--red);-webkit-text-stroke-color:var(--red)}
.foot-legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,244,230,.12);font-size:.76rem;color:rgba(255,244,230,.45)}
.to-top{position:fixed;right:14px;bottom:14px;width:52px;height:52px;border:0;background:none;padding:0;cursor:pointer;z-index:90;opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s var(--ease);pointer-events:none;display:none}
.to-top svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--red);filter:drop-shadow(0 8px 14px rgba(227,6,19,.45))}
.to-top span{position:relative;color:var(--cream);font-weight:800;font-size:1.1rem}
.to-top.show{opacity:1;transform:none;pointer-events:auto}

/* ---------- reveal (only when JS animations active) ---------- */
.anim .reveal{opacity:0;transform:translateY(40px)}
.no-gsap .j-progress{display:none}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .now-lbl{display:none}
  .caps{grid-template-columns:repeat(3,1fr);max-width:720px;margin-inline:auto;margin-bottom:70px}
  .gauge{display:none}
  .to-top{display:grid;place-items:center}
}
@media (max-width:960px){
  .hdr{grid-template-columns:1fr auto}
  .now{display:none}
  .hdr-link{display:none}
  .menu-in{grid-template-columns:1fr;align-content:center}
  .facts-grid,.about-grid,.green-grid,.contact-grid,.val-grid{grid-template-columns:1fr}
  .facts{justify-self:center}
  .about-media{max-width:560px;width:100%;margin:0 auto 10px;min-height:460px}
  .units,.tickets,.steps{grid-template-columns:1fr 1fr}
  .bm-card{grid-template-columns:1fr}
  .bm-vis{min-height:220px}
  .bm-vis svg{height:200px}
  .careers-in{grid-template-columns:auto 1fr;padding:34px}
  .careers-in .tab-btn{grid-column:1/-1;justify-self:start}
}
@media (max-width:900px){
  .j-pin{padding:30px 0 90px}
  .jcard{flex-basis:min(320px,80vw)}
  .j-year{font-size:2.8rem}
  .j-body{min-height:300px}
  .j-progress svg{width:26px;height:66px}
}
@media (max-width:640px){
  :root{--hdr:68px}
  .logo-txt small{display:none}
  .logo-cap{width:40px;height:40px}
  .menu-btn .mb-txt{display:none}
  .menu-btn{padding:5px}
  .hero{padding-bottom:110px}
  .facts-sec,.about,.brands,.ops,.values,.green,.group,.gallery,.contact{padding-top:90px;padding-bottom:90px}
  .facts{padding:14px 16px;transform:none}
  .f-big b{font-size:2rem}
  .about-media{min-height:380px}
  .seal{width:100px;height:100px;right:4%}
  .seal b{font-size:1.6rem}
  .seal-txt text{font-size:17px}
  .signers{grid-template-columns:1fr}
  .units,.tickets,.steps{grid-template-columns:1fr}
  .caps{grid-template-columns:1fr 1fr;gap:14px}
  .caps .capc:last-child{grid-column:1/-1;width:50%;justify-self:center}
  .cc-f b{font-size:2.8rem}
  .cc-b span{font-size:.72rem}
  .g-stats b{font-size:1.5rem}
  .g-stats>div{padding:12px}
  .green-vis{height:320px}
  .t1{width:120px;height:240px}.t2{width:90px;height:180px}
  .panels{grid-template-columns:repeat(3,38px)}.panels i{height:26px}
  .conveyor{height:280px;margin-bottom:40px}
  .cv-station{width:78px;height:84px;bottom:122px}
  .cv-station span{font-size:.58rem;top:12px}
  .cv-display{padding:7px 10px}
  .cv-display b{font-size:1.05rem}
  .si{width:42px;height:42px}
  .st-fill{left:22%}.st-cap{left:50%}.st-qc{left:78%}
  .b-grid{grid-template-columns:1fr 1fr;gap:12px}
  .bcard{min-height:260px;padding:14px;border-radius:16px}
  .bcard::before{inset:6px;border-radius:12px}
  .bc-cap{width:48px;height:48px}
  .bc-cap b{font-size:.6rem}
  .bc-vis{width:66px;height:150px;right:4px;bottom:6px}
  .bc-name{max-width:74%}
  .bc-name h3{font-size:1.1rem}
  .bc-name p{font-size:.72rem}
  .bc-heritage{font-size:.5rem;letter-spacing:.06em}
  .careers-in{grid-template-columns:1fr;text-align:left;padding:28px 22px}
  .pop{width:96px;height:96px}
  .ship{padding:20px 18px}
  .ship-row{grid-template-columns:52px 1fr;font-size:.94rem}
  .barcode{width:140px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid>div:first-child{grid-column:1/-1}
}



@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -14px}}

/* =========================================================
   v2: professional type + hero image slider + product shelf
   ========================================================= */
.h2 em,.careers em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;padding:0;background:none}
.mono,.sh-tag,.sh-no{letter-spacing:.16em}
.logo-img{width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;box-shadow:0 8px 20px -10px rgba(27,10,7,.5);transition:transform .8s var(--ease)}
.logo-img img{width:46px;height:46px;object-fit:contain}
.logo:hover .logo-img{transform:rotate(-12deg)}
.logo-txt{font-family:var(--head);font-weight:700;font-size:1.3rem;letter-spacing:.01em}
.logo-txt small{font-family:var(--display);letter-spacing:.2em}

/* preloader: the logo fills with colour */
.preloader{background:var(--cream)}
.pl-inner{gap:16px;color:var(--cola)}
.pl-logo{position:relative;width:128px;height:128px}
.pl-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.pl-base{opacity:.14;filter:grayscale(1)}
.pl-fill{clip-path:inset(calc(100% - var(--p,0%)) 0 0 0)}
.pl-name{font-family:var(--head);font-weight:700;font-size:1.35rem;letter-spacing:.04em;text-transform:uppercase}
.pl-bar{width:180px;height:3px;background:rgba(27,10,7,.12);border-radius:3px;overflow:hidden}
.pl-bar i{display:block;height:100%;width:var(--p,0%);background:var(--red)}
.pl-meta{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.1em}

/* hero slider */
.hero{--hbg:#c8000f;position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:var(--cream);padding:calc(var(--hdr) + 24px) 0 80px;background-color:var(--hbg);background-image:radial-gradient(80% 70% at 78% 45%,rgba(255,70,80,.45),transparent 62%),linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.25));transition:background-color 1.2s var(--ease)}
.hero-glow{position:absolute;right:8%;top:50%;width:560px;height:560px;margin-top:-280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);pointer-events:none}
.hero-grid{position:relative;z-index:2;width:min(1200px,100% - 32px);margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px;font-size:.8rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,244,230,.88)}
.eyebrow::before{content:"";width:34px;height:2px;background:currentColor}
.hs-titles{display:grid;margin:0 0 22px;font-family:var(--head);font-weight:800;text-transform:uppercase;font-size:clamp(3rem,6.3vw,6.1rem);line-height:.92;letter-spacing:.005em}
.hs-t{grid-area:1/1;display:block}
.hs-t .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hs-t .ln>span{display:inline-block;transform:translateY(108%);transition:transform .95s var(--ease)}
.hs-t .ln:nth-child(2)>span{transition-delay:.07s}
.hs-t .ln:nth-child(3)>span{transition-delay:.14s;color:#ffd6cf}
.hs-t.on .ln>span{transform:none}
.hs-t.out .ln>span{transform:translateY(-108%);transition-duration:.6s;transition-delay:0s}
.hs-t.reset .ln>span{transition:none}
.hs-subs{display:grid;max-width:520px;margin:0 0 32px}
.hs-s{grid-area:1/1;margin:0;font-size:clamp(1rem,1.3vw,1.14rem);line-height:1.6;opacity:0;transform:translateY(12px);transition:opacity .6s,transform .8s var(--ease)}
.hs-s.on{opacity:.92;transform:none;transition-delay:.25s}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hs-nav{display:flex;gap:18px;margin-top:46px;max-width:560px}
.hs-dot{flex:1;border:0;background:none;color:var(--cream);text-align:left;cursor:pointer;padding:0;opacity:.55;transition:opacity .3s}
.hs-dot:hover,.hs-dot.on{opacity:1}
.hs-dot b{font-family:var(--head);font-size:1rem;font-weight:700;margin-right:8px}
.hs-dot span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.hs-dot i{position:relative;display:block;height:2px;margin-top:10px;background:rgba(255,244,230,.28);overflow:hidden}
.hs-dot i::after{content:"";position:absolute;inset:0;background:var(--cream);transform-origin:left;transform:scaleX(0)}
.hs-dot.on i::after{animation:hsProg var(--dur,6s) linear forwards}
.hs-dot.done i::after{transform:scaleX(1)}
.hero.hold .hs-dot.on i::after{animation-play-state:paused}
@keyframes hsProg{to{transform:scaleX(1)}}
.hero-stage{position:relative;height:min(640px,74vh);display:flex;align-items:center;justify-content:center}
.hs-frame{position:relative;height:100%;aspect-ratio:640/1080;border-radius:24px;overflow:hidden;background:#3a0006;box-shadow:0 50px 90px -40px rgba(40,0,5,.85);transform:rotate(-2.5deg)}
.hs-img{position:absolute;inset:0;margin:0;clip-path:inset(100% 0 0 0);z-index:1}
.hs-img.on{clip-path:inset(0 0 0 0);z-index:3;transition:clip-path 1.1s cubic-bezier(.77,0,.18,1)}
.hs-img.was{clip-path:inset(0 0 0 0);z-index:2}
.hs-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform 1.2s var(--ease)}
.hs-img.on img{transform:scale(1.02);transition:transform 7s linear}
.hs-count{position:absolute;left:14px;bottom:14px;z-index:5;font-family:var(--head);font-weight:600;font-size:.95rem;letter-spacing:.08em;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);padding:5px 12px;border-radius:999px}
.hs-count b{font-size:1.1rem}
.hs-peek{position:absolute;right:0;bottom:6%;width:132px;aspect-ratio:640/1080;border-radius:14px;overflow:hidden;border:3px solid var(--cream);padding:0;cursor:pointer;background:#3a0006;transform:rotate(7deg);box-shadow:0 26px 40px -20px rgba(0,0,0,.7);transition:transform .5s var(--ease);z-index:4}
.hs-peek:hover{transform:rotate(3deg) scale(1.06)}
.hs-peek img{width:100%;height:100%;object-fit:cover;transition:opacity .5s}
.hs-peek span{position:absolute;left:0;right:0;bottom:0;padding:18px 0 8px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff}
.hs-cap{position:absolute;left:4%;top:6%;width:108px;height:108px;z-index:4;filter:drop-shadow(0 18px 20px rgba(40,0,5,.45));animation:capf 7s ease-in-out infinite}
@keyframes capf{0%,100%{transform:translateY(0) rotate(-14deg)}50%{transform:translateY(-16px) rotate(8deg)}}
.scroll-cue{position:absolute;left:50%;bottom:22px;z-index:3;width:26px;height:42px;margin-left:-13px;border:2px solid rgba(255,244,230,.6);border-radius:14px}
.scroll-cue i{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--cream);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
.hero-video{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1.2s var(--ease)}
.hero.has-video .hero-video{opacity:1}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* product shelf */
.facts-sec{margin-top:0}

/* brand cards with real product images */
.bc-vis{width:190px;height:240px;right:-22px;bottom:-4px}
.bc-vis img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 20px 18px rgba(0,0,0,.35))}
.bc-name h3{font-size:1.9rem;letter-spacing:0;line-height:.95}
.bm-vis img{width:260px;height:300px;object-fit:contain;filter:drop-shadow(0 24px 20px rgba(0,0,0,.35));animation:float 5s ease-in-out infinite}
.bc-cap.star b{font-size:1rem}

@media (max-width:960px){
  .hero{padding-bottom:70px}
  .hero-grid{grid-template-columns:1fr;text-align:left;gap:26px}
  .hero-stage{order:-1;height:420px}
  .hs-peek{width:96px;right:6%}
  .hs-cap{width:76px;height:76px;left:6%}
  .hs-nav{margin-top:32px}
}
@media (max-width:640px){
  .hero-stage{height:360px}
  .hs-titles{font-size:clamp(2.6rem,12.5vw,3.6rem)}
  .hs-dot span{display:none}
  .hs-nav{gap:10px}
  .eyebrow{font-size:.68rem;letter-spacing:.16em}
  .bc-vis{width:110px;height:150px;right:-12px}
  .bc-name h3{font-size:1.2rem}
  .scroll-cue{display:none}
}
.hero.offscreen .hs-dot.on i::after{animation-play-state:paused}
.bc-tag{align-self:flex-start;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:rgba(0,0,0,.2);padding:5px 10px;border-radius:999px}
.b-filters button{font-family:var(--display)}
.bc-vis{display:flex;align-items:flex-end;justify-content:center}
.bc-vis img{width:100%;height:calc(100% * var(--s,1))}
.bm-vis img{width:auto;max-width:100%;height:calc(300px * var(--s,1))}
.green .h2 em{background:none}
.hs-titles{font-size:clamp(2.8rem,5.3vw,5.4rem)}
@media (max-width:640px){.hs-titles{font-size:clamp(2.4rem,11vw,3.3rem)}}

/* product shelf: every pack stands on one shelf line, names aligned below */
.shelf{--h:190px;--top:44px;--bg:var(--paper);position:relative;overflow:hidden;padding:var(--top) 0 0;background:linear-gradient(180deg,var(--paper) 0%,#f4e7d7 100%)}
.shelf::before{content:"";position:absolute;left:0;right:0;top:calc(var(--top) + var(--h) - 6px);height:18px;background:linear-gradient(180deg,#fffdf9 0%,#efe2d0 55%,#dcc8ae 100%);border-bottom:4px solid var(--red);box-shadow:0 14px 20px -12px rgba(27,10,7,.45)}
.shelf::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 6%,transparent 94%,var(--paper));pointer-events:none;z-index:2}
.shelf-track{position:relative;z-index:1;display:flex;gap:34px;width:max-content;padding:0 17px;animation:mq 60s linear infinite}
.shelf:hover .shelf-track{animation-play-state:paused}
.sp{flex:0 0 118px;border:0;background:none;padding:0;margin:0;font:inherit;color:var(--cola);cursor:pointer;display:flex;flex-direction:column;align-items:center;-webkit-appearance:none;appearance:none}
.sp-img{width:100%;height:var(--h);display:flex;align-items:flex-end;justify-content:center}
.sp-img img{width:auto;max-width:118px;height:calc(var(--h) * var(--s,1) * .94);object-fit:contain;object-position:bottom;transform-origin:bottom;transition:transform .45s var(--ease)}
.sp:hover .sp-img img{transform:translateY(-10px) scale(1.04)}
.sp-name{margin-top:26px;padding-bottom:24px;font-family:var(--head);font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:.72;transition:opacity .3s,color .3s}
.sp:hover .sp-name{opacity:1;color:var(--red)}
@media (max-width:640px){
  .shelf{--h:140px;--top:32px}
  .shelf-track{gap:20px;padding:0 10px}
  .sp{flex-basis:88px}
  .sp-img img{max-width:88px}
  .sp-name{font-size:.66rem;margin-top:22px}
}

/* conveyor geometry (JS-driven, see main.js): belt top 48px, bottle mouth ~147px, nozzle ends 190px */
.conveyor{height:360px}
.cv-station{bottom:216px}
.cv-display{left:auto;right:max(16px,calc((100% - 1200px)/2))}
.cv-bottles{position:absolute;left:0;right:0;bottom:48px;height:110px;z-index:1}
.cvb{position:absolute;left:0;bottom:0;width:36px;height:100px;will-change:transform}
.cvb .liq{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}
.cvb .cap,.cvb .lbl{opacity:0;transition:opacity .2s}
.st-fill .stream{position:absolute;left:50%;top:calc(100% + 26px);width:6px;height:44px;margin-left:-3px;border-radius:0 0 3px 3px;background:linear-gradient(180deg,#6b1a0c,#3a0d06);transform-origin:top;transform:scaleY(0);transition:transform .18s}
.st-cap .piston{position:absolute;left:50%;top:100%;width:22px;height:30px;margin-left:-11px;background:linear-gradient(90deg,#4b2a20,#7a4a3a,#4b2a20);border-radius:0 0 4px 4px}
.st-cap .piston::after{content:"";position:absolute;left:-4px;right:-4px;bottom:-5px;height:6px;border-radius:2px;background:var(--red)}
.st-qc .beam{position:absolute;left:50%;top:calc(100% + 26px);width:80px;height:142px;margin-left:-40px;background:linear-gradient(180deg,rgba(46,224,122,.55),rgba(46,224,122,.05));clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);opacity:0;transition:opacity .2s;pointer-events:none;z-index:3}
@media (max-width:640px){
  .conveyor{height:390px}
  .cv-station{bottom:216px}
}

/* v3 type: Montserrat headings + Inter body (corporate, professional) */
body{font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5{letter-spacing:-.015em}
.h2{font-size:clamp(2.1rem,4.3vw,3.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.08}
.hs-titles{text-transform:none;font-weight:800;letter-spacing:-.03em;line-height:1.02;font-size:clamp(2.4rem,4.5vw,4.5rem)}
.hs-t .ln{padding-bottom:.08em}
.logo-txt{font-size:1.08rem;font-weight:700;letter-spacing:-.01em}
.j-year{letter-spacing:-.03em}
.j-body h3,.unit h3,.ticket h4,.steps h4,.bc-name h3{letter-spacing:-.02em}
.bc-name h3{font-size:1.55rem;line-height:1.05}
.cc-f b{font-family:var(--head);font-style:normal;font-weight:800}
.sig{font-family:var(--head)!important;font-style:normal!important;font-weight:700}
.foot-line,.polaroid figcaption,.lightbox figcaption,.bm-cat{font-style:normal}
.sp-name,.pl-name{letter-spacing:.12em}
.mono,.sh-tag,.sh-no,.eyebrow,.hs-dot span,.j-tag{letter-spacing:.14em}
@media (max-width:640px){
  .hs-titles{font-size:clamp(2.1rem,9.5vw,2.9rem)}
  .bc-name h3{font-size:1.05rem}
}
.values .h2 em{background:none}
.conveyor{height:420px}
@media (max-width:640px){.conveyor{height:390px}}

/* contact map: illustrated fallback under the live Google map */
.c-map .map-art{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.c-map iframe{position:relative;z-index:1;display:block;background:transparent}
.c-map .map-open{z-index:2}
.ma-road{fill:none;stroke:#fffaf3;stroke-width:16;stroke-linecap:round}
.ma-road-in{fill:none;stroke:#d9c3a9;stroke-width:2;stroke-dasharray:14 10}
.ma-road-in.hl{stroke:#e30613;stroke-width:3;stroke-dasharray:none;opacity:.85}
.ma-lane{fill:none;stroke:#fffaf3;stroke-width:7;stroke-linecap:round}
.ma-water{font:italic 600 13px Inter,sans-serif;fill:#3d7fa0;letter-spacing:.06em}
.ma-city{font:700 14px Montserrat,sans-serif;fill:#6b4a3c;letter-spacing:.04em;text-transform:uppercase}
.ma-lbl{font:600 11px Inter,sans-serif;fill:#8a6d5e;letter-spacing:.08em;text-transform:uppercase}
.ma-tag1{font:700 13px Montserrat,sans-serif;fill:#fff}
.ma-tag2{font:500 11px Inter,sans-serif;fill:rgba(255,255,255,.7)}
.ma-n{font:700 9px Inter,sans-serif;fill:#1b0a07;text-anchor:middle}
.ma-note{font:500 10px Inter,sans-serif;fill:rgba(27,10,7,.4);letter-spacing:.06em}
.ma-pulse{fill:rgba(227,6,19,.18);transform-box:fill-box;transform-origin:center;animation:maPulse 2.4s ease-out infinite}
.ma-pulse.p2{animation-delay:1.2s}
@keyframes maPulse{0%{transform:scale(.2);opacity:1}100%{transform:scale(1.6);opacity:0}}
.ma-pin>path,.ma-pin>circle:not(.ma-pulse){animation:maBob 2.4s ease-in-out infinite}
@keyframes maBob{50%{transform:translateY(-5px)}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
