/* Halfnorth — site.css
   Utility identity: #192125 near-black, #C85B32 rust, #C9C2B4 warm grey.
   Display: Anton. Body: Barlow. Utility: IBM Plex Mono. Dark only, on purpose. */

:root{
  color-scheme:dark;
  --ink:#192125; --ink-2:#0F1417; --ink-3:#242E33; --ink-4:#2E3A40;
  --rust:#C85B32; --rust-2:#A8471F; --rust-3:#E07A50;
  --grey:#C9C2B4; --paper:#EFE9DC; --mute:#8C8779;
  --brew:#3A1F0F; --latte:#A67A4E; --chai:#B85A2E; --matcha:#6E7F3A;
  --display:"Anton","Barlow Condensed",Impact,"Arial Narrow",sans-serif;
  --body:"Barlow","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gutter:clamp(16px,4vw,48px);
  --nav-h:72px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.55;overflow-x:hidden;min-height:100%}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:.005em;margin:0;text-wrap:balance}
p{margin:0}
::selection{background:var(--rust);color:var(--ink)}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px}

.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}
.eyebrow.rust{color:var(--rust)}
.rule{height:6px;width:120px;background:var(--rust);transform-origin:left center}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(72px,10vw,140px)}
.lede{color:var(--grey);max-width:58ch;font-size:clamp(17px,1.4vw,20px)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:17px;line-height:1;padding:16px 22px;border:2px solid var(--rust);color:var(--paper);background:transparent;overflow:hidden;isolation:isolate;transition:color .25s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--rust);transform:translateY(101%);transition:transform .35s var(--ease);z-index:-1}
.btn:hover::before,.btn:focus-visible::before{transform:translateY(0)}
.btn:hover,.btn:focus-visible{color:var(--ink)}
.btn.fill{background:var(--rust);color:var(--ink)}
.btn.fill::before{background:var(--paper)}
.btn.small{font-size:14px;padding:10px 14px}
.btn .arrow{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}

/* ---------- nav ---------- */
.nav{position:fixed;inset-inline:0;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);height:calc(var(--nav-h) + env(safe-area-inset-top,0px));display:flex;align-items:center;transition:height .35s var(--ease),background .35s,backdrop-filter .35s;background:linear-gradient(to bottom,rgba(15,20,23,.85),rgba(15,20,23,0))}
.nav.scrolled{height:calc(56px + env(safe-area-inset-top,0px));background:rgba(15,20,23,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,194,180,.1)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.nav .brand img{height:26px;width:auto;transition:height .35s var(--ease)}
.nav.scrolled .brand img{height:22px}
.nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0}
.nav li a{font-family:var(--display);text-transform:uppercase;font-size:16px;letter-spacing:.08em;position:relative;padding:6px 0}
.nav li a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav li a:hover::after,.nav li a[aria-current="page"]::after{transform:scaleX(1)}
.nav li a[aria-current="page"]{color:var(--rust)}
.nav .mark{width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center}
.nav .mark img{width:34px;height:34px}
.nav .right{display:flex;align-items:center;gap:18px}
.burger{display:none;width:44px;height:44px;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:3px;background:var(--paper);transition:transform .35s var(--ease),opacity .2s}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:28px}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:46;background:var(--ink-2);display:grid;align-content:center;padding:var(--gutter);clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease);pointer-events:none}
body.menu-open .mobile-menu{clip-path:inset(0 0 0 0);pointer-events:auto}
.mobile-menu a{font-family:var(--display);text-transform:uppercase;font-size:clamp(44px,14vw,80px);line-height:1;padding:8px 0;border-bottom:1px solid var(--ink-3);display:flex;justify-content:space-between;align-items:baseline;transform:translateY(20px);opacity:0;transition:transform .5s var(--ease),opacity .4s}
body.menu-open .mobile-menu a{transform:none;opacity:1}
.mobile-menu a:nth-child(1){transition-delay:.15s}.mobile-menu a:nth-child(2){transition-delay:.22s}.mobile-menu a:nth-child(3){transition-delay:.29s}.mobile-menu a:nth-child(4){transition-delay:.36s}
.mobile-menu a small{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--rust)}
.mobile-menu .foot{margin-top:28px;font-family:var(--mono);font-size:12px;color:var(--grey);display:grid;gap:6px}
@media (max-width:820px){.nav ul{display:none}.burger{display:block}}

/* ---------- page transition veil ---------- */
.veil{position:fixed;inset:0;z-index:100;background:var(--rust);transform:scaleY(0);transform-origin:top;pointer-events:none}
.veil.in{transform-origin:bottom}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--rust);pointer-events:none;z-index:200;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .25s,height .25s,opacity .3s;opacity:0}
.cursor.on{opacity:1}
.cursor.big{width:56px;height:56px;background:var(--paper)}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--ink-3);border-bottom:1px solid var(--ink-3);padding-block:14px}
.marquee .track{display:inline-flex;gap:48px;will-change:transform}
.marquee span{font-family:var(--display);text-transform:uppercase;font-size:clamp(18px,2.2vw,26px);letter-spacing:.04em;color:var(--grey)}
.marquee span i{font-style:normal;color:var(--rust);margin-left:48px}

/* ---------- footer ---------- */
.footer{background:var(--ink-2);padding-block:56px 32px;border-top:1px solid var(--ink-3);overflow:hidden}
.footer .bigwm{width:100%;max-width:1400px;margin-inline:auto;opacity:.9;padding-inline:var(--gutter)}
.footer .bigwm img{width:100%;height:auto}
.footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:40px}
.footer .cols h4{font-size:14px;letter-spacing:.12em;color:var(--rust);margin-bottom:10px}
.footer .cols a,.footer .cols p{display:block;font-size:14px;color:var(--grey);line-height:1.8}
.footer .cols a:hover{color:var(--paper)}
.footer .legal{margin-top:40px;font-family:var(--mono);font-size:11px;color:var(--mute);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

/* ---------- status pill ---------- */
.pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--rust);color:var(--rust);border-radius:99px;white-space:nowrap}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.pill.open{background:var(--rust);color:var(--ink)}
.pill.open::before{animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}

/* ---------- hours table ---------- */
.hours{width:100%;border-collapse:collapse;font-size:16px}
.hours td{padding:12px 0;border-top:1px solid rgba(201,194,180,.15)}
.hours tr:last-child td{border-bottom:1px solid rgba(201,194,180,.15)}
.hours td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--grey);font-size:14px}
.hours tr.dark td{color:var(--mute)}
.hours tr.today td{color:var(--rust);font-weight:600}
.hours tr.today td:first-child::after{content:"today";font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-left:10px;border:1px solid var(--rust);padding:2px 6px;border-radius:99px;vertical-align:middle}

/* ---------- insta tile ---------- */
.insta{display:grid;gap:10px;justify-items:start;border:2px solid var(--rust);padding:clamp(20px,3vw,32px);position:relative;overflow:hidden;isolation:isolate;transition:color .3s}
.insta::before{content:"";position:absolute;inset:0;background:var(--rust);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.insta:hover::before,.insta:focus-visible::before{transform:none}
.insta:hover,.insta:focus-visible{color:var(--ink)}
.insta:hover .eyebrow,.insta:hover .handle{color:var(--ink)}
.insta .h{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,3.4vw,44px);line-height:.95}
.insta .handle{font-family:var(--mono);color:var(--rust);font-size:15px}
.insta .go{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:15px;margin-top:6px}

/* ---------- reveal helpers ---------- */
.split .w{display:inline-block;overflow:hidden;vertical-align:top}
.split .w > span{display:inline-block;will-change:transform}
.fade-up{opacity:1}

/* ============================================================
   HOME
   ============================================================ */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;padding-top:calc(var(--nav-h) + 12px);padding-bottom:48px;overflow:hidden;

  background:radial-gradient(70% 70% at 78% 60%,rgba(200,91,50,.18),transparent 70%),var(--ink)}
.hero .hgrid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:24px;width:100%}
.hero .copy{display:grid;gap:22px;justify-items:start}
.hero .wm{width:100%;max-width:640px;max-height:40vh;height:auto;object-fit:contain;object-position:left center;clip-path:inset(0 100% 0 0)}
.hero .tagline{font-family:var(--display);text-transform:uppercase;font-size:clamp(22px,min(3vw,4.4vh),40px);line-height:1;color:var(--grey);letter-spacing:.02em}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero .stage{position:relative;display:grid;place-items:center;perspective:1200px;min-height:0}
.hero .cans{display:flex;align-items:flex-end;justify-content:center;gap:1.5%;width:100%}
.hero .cans img{height:min(64vh,600px);width:auto;max-width:24%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 40px 50px rgba(0,0,0,.65));transform:translateY(60px);opacity:0;will-change:transform}
.hero .scroll-cue{position:absolute;left:var(--gutter);bottom:24px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px}
.hero .scroll-cue i{width:1px;height:40px;background:var(--rust);display:block;transform-origin:top;animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:820px){
  .hero{padding-top:calc(var(--nav-h) + 12px);min-height:auto}
  .hero .hgrid{grid-template-columns:1fr;gap:8px}
  .hero .wm{max-width:100%;max-height:none}
  .hero .cans{max-width:520px}
  .hero .cans img{height:auto;width:24%;max-width:none}
  .hero .scroll-cue{display:none}
}

/* ---- Beat 2: canned to order (pinned) ---- */
.order{position:relative;background:var(--ink-2)}
.order .pin{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,80px);padding-block:calc(var(--nav-h) + 8px) 24px}
.order h2{font-size:clamp(36px,5vw,72px);margin-bottom:18px}
.order ol{list-style:none;margin:0;padding:0;display:grid;counter-reset:s}
.order li{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:12px 0;border-top:1px solid rgba(201,194,180,.15);opacity:.35;transition:opacity .4s,transform .4s var(--ease)}
.order li.on{opacity:1;transform:translateX(8px)}
.order li::before{counter-increment:s;content:"0" counter(s);font-family:var(--display);font-size:36px;line-height:1;color:var(--rust)}
.order li strong{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(20px,2vw,26px);display:block;line-height:1}
.order li span{color:var(--grey);font-size:14px;display:block;margin-top:4px;max-width:44ch}
.order .stage{display:grid;place-items:center;height:min(64vh,600px)}
.order svg{height:min(64vh,600px);width:auto;max-width:100%;overflow:visible}
@media (max-width:820px){
  .order .pin{grid-template-columns:1fr;min-height:auto;padding-top:64px}
  .order .stage{height:auto;order:-1;padding-top:10px}
  .order svg{height:46vh}
  .order li{opacity:1;transform:none}
}

/* ---- Beat 3: horizontal drinks ---- */
.drinks{position:relative;overflow:hidden}
.drinks .head{padding-block:80px 0}
.drinks .head h2{font-size:clamp(44px,8vw,120px)}
.drinks .rail{display:flex;height:100svh;will-change:transform}
.panel{flex:0 0 100vw;height:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:calc(var(--nav-h) + 20px) var(--gutter) 40px;position:relative}
.panel .num{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--rust)}
.panel h3{font-size:clamp(48px,7vw,110px);margin:10px 0 18px}
.panel p{color:var(--grey);max-width:44ch;font-size:clamp(16px,1.3vw,19px)}
.panel .cta{margin-top:26px}
.panel .can{display:grid;place-items:center;height:100%}
.panel .can img{height:min(72vh,680px);width:auto;max-width:100%;filter:drop-shadow(0 50px 60px rgba(0,0,0,.6))}
.drinks .progress{position:absolute;left:var(--gutter);right:var(--gutter);bottom:22px;height:2px;background:rgba(201,194,180,.2)}
.drinks .progress i{display:block;height:100%;background:var(--rust);transform:scaleX(0);transform-origin:left}
@media (max-width:820px){
  .drinks .rail{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .drinks .rail::-webkit-scrollbar{display:none}
  .panel{flex:0 0 88vw;scroll-snap-align:center;grid-template-columns:1fr;padding:32px 20px 48px;min-height:auto}
  .panel .can{order:-1}
  .panel .can img{height:52vh}
  .panel h3{font-size:clamp(40px,11vw,64px)}
  .drinks .progress{display:none}
  .drinks .swipe{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);padding:0 20px 24px}
}
.drinks .swipe{display:none}

/* ---- Beat 4: statement ---- */
.statement{background:var(--rust);color:var(--ink);padding-block:clamp(90px,14vw,180px);position:relative;overflow:hidden}
.statement h2{font-size:clamp(56px,11vw,180px);color:var(--ink);line-height:.88}
.statement h2 .line{display:block;overflow:hidden}
.statement h2 .line span{display:block}
.statement p{margin-top:28px;max-width:52ch;font-size:clamp(17px,1.5vw,21px);color:var(--ink);font-weight:500}
.statement .mark-bg{position:absolute;right:-6%;top:50%;width:min(60vw,640px);transform:translateY(-50%) rotate(-12deg);opacity:.12;pointer-events:none;mix-blend-mode:multiply}

/* ---- Beat 5: cart ---- */
.cart{background:var(--ink)}
.cart .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:start}
.cart h2{font-size:clamp(44px,6vw,92px);margin-bottom:18px}
.cart .lede{margin-bottom:28px}
.cart .status{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.cart .status .sub{font-family:var(--mono);font-size:12px;color:var(--mute)}
@media (max-width:820px){.cart .grid{grid-template-columns:1fr}}

/* ============================================================
   INNER PAGES
   ============================================================ */
.page-head{padding-top:calc(var(--nav-h) + clamp(40px,8vw,96px));padding-bottom:clamp(28px,5vw,56px)}
.page-head h1{font-size:clamp(56px,11vw,160px);line-height:.88}
.page-head .lede{margin-top:20px}

/* ---- Menu ---- */
.menu-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:start}
.menu h2{font-size:clamp(28px,3.4vw,44px);margin:6px 0 14px}
.base{list-style:none;margin:0;padding:0}
.base li{border-top:1px solid rgba(201,194,180,.15)}
.base li:last-child{border-bottom:1px solid rgba(201,194,180,.15)}
.base label{display:grid;grid-template-columns:28px 88px 1fr;gap:18px;align-items:center;padding:16px 0;cursor:pointer;transition:background .3s}
.base label:hover{background:rgba(201,194,180,.04)}
.base input{position:absolute;opacity:0;width:0;height:0}
.base .box{width:22px;height:22px;border:2px solid var(--paper);position:relative;transition:border-color .2s}
.base .box::after{content:"";position:absolute;inset:3px;background:var(--ink);transform:scale(0);transition:transform .25s var(--ease)}
.base input:checked ~ .box{background:var(--rust);border-color:var(--rust)}
.base input:checked ~ .box::after{transform:scale(1)}
.base input:focus-visible ~ .box{outline:2px solid var(--rust);outline-offset:3px}
.base img{height:150px;width:auto;justify-self:center;filter:drop-shadow(0 14px 18px rgba(0,0,0,.5));transition:transform .4s var(--ease)}
.base label:hover img,.base input:checked ~ img{transform:translateY(-4px) rotate(-2deg)}
.base strong{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(24px,2.6vw,34px);display:block;line-height:1}
.base span.d{display:block;color:var(--grey);font-size:15px;margin-top:6px;max-width:48ch}
.base .tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);border:1px solid var(--rust);padding:2px 6px;margin-top:8px}
.addons{display:grid;gap:12px;margin-top:36px}
.grp{border:1px solid rgba(201,194,180,.15);padding:16px;transition:opacity .3s}
.grp.off{opacity:.35;pointer-events:none}
.grp .eyebrow{margin-bottom:12px;display:flex;justify-content:space-between;gap:10px}
.grp .eyebrow em{font-style:normal;color:var(--mute);letter-spacing:.08em;text-transform:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--display);text-transform:uppercase;font-size:15px;letter-spacing:.06em;padding:9px 14px;border:1px solid var(--grey);color:var(--paper);transition:transform .15s var(--ease),background .2s,color .2s,border-color .2s}
.chip:active{transform:scale(.95)}
.chip[aria-pressed="true"]{background:var(--rust);border-color:var(--rust);color:var(--ink)}
.specials{margin-top:36px;border-left:4px solid var(--rust);padding:6px 0 6px 18px;color:var(--grey);max-width:56ch}
.specials b{font-family:var(--display);font-weight:400;text-transform:uppercase;color:var(--paper);font-size:20px;display:block;margin-bottom:4px}
.yourcan{position:sticky;top:calc(var(--nav-h) + 12px);border:2px solid var(--ink-3);padding:clamp(18px,2.5vw,28px);display:grid;gap:8px;justify-items:start;transition:border-color .5s;background:var(--ink)}
.yourcan.live{border-color:var(--rust)}
.yourcan .canwrap{justify-self:center;height:280px;display:grid;place-items:center;width:100%}
.yourcan .canwrap img{height:280px;width:auto;filter:drop-shadow(0 24px 28px rgba(0,0,0,.55))}
.yourcan .h{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,3vw,40px);line-height:1;min-height:1em}
.yourcan .line{font-family:var(--mono);font-size:13px;color:var(--grey)}
.yourcan .line.empty{color:var(--mute)}
.yourcan .say{margin-top:8px;font-size:13px;color:var(--mute)}
.yourcan .reset{margin-top:10px}
@media (max-width:900px){
  .menu-grid{grid-template-columns:1fr}
  .yourcan{position:static}
  .yourcan .canwrap{height:200px}
  .yourcan .canwrap img{height:200px}
  .base label{grid-template-columns:24px 64px 1fr;gap:12px}
  .base img{height:110px}
}

.minibar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;display:none;align-items:center;gap:12px;background:var(--rust);color:var(--ink);padding:12px 14px;font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:16px;transform:translateY(120%);transition:transform .45s var(--ease);box-shadow:0 12px 30px rgba(0,0,0,.5)}
.minibar.on{transform:none}
body.menu-open .minibar{transform:translateY(120%)}
.minibar .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;opacity:.8}
.minibar .nm{flex:1;line-height:1}
.minibar .arrow{font-size:20px}
@media (max-width:900px){.minibar{display:flex}}

/* ---- About ---- */
.mission{padding-block:clamp(40px,6vw,80px) clamp(72px,10vw,120px)}
.mission h2{font-size:clamp(40px,7.4vw,118px);max-width:16ch}
.mission h2 .w{color:var(--ink-4);transition:color .3s}
.mission h2 .w.on{color:var(--paper)}
.mission .four{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;margin-top:48px;background:var(--ink-3)}
.mission .four div{background:var(--ink);padding:22px 18px}
.mission .four b{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:22px;display:block;line-height:1;margin-bottom:8px}
.mission .four span{color:var(--grey);font-size:14px}
.mission .grow{margin-top:36px;color:var(--grey);max-width:60ch;font-size:18px}
.pillars{background:var(--ink-2)}
.pillars h2{font-size:clamp(40px,6vw,88px);margin-bottom:36px}
.pillar-list{display:grid;gap:0}
.pillar{border-top:1px solid rgba(201,194,180,.15);padding:0}
.pillar:last-child{border-bottom:1px solid rgba(201,194,180,.15)}
.pillar button{width:100%;display:grid;grid-template-columns:70px 1fr 40px;gap:16px;align-items:center;padding:22px 0;text-align:left}
.pillar .n{font-family:var(--mono);font-size:13px;color:var(--rust);letter-spacing:.12em}
.pillar h3{font-size:clamp(26px,3.4vw,48px);transition:transform .35s var(--ease)}
.pillar button:hover h3{transform:translateX(10px)}
.pillar .plus{width:28px;height:28px;position:relative;justify-self:end}
.pillar .plus::before,.pillar .plus::after{content:"";position:absolute;background:var(--rust);left:50%;top:50%;transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.pillar .plus::before{width:100%;height:3px}
.pillar .plus::after{width:3px;height:100%}
.pillar[open] .plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.pillar .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.pillar[open] .body{grid-template-rows:1fr}
.pillar .body > div{overflow:hidden}
.pillar .body p{color:var(--grey);max-width:62ch;padding:0 0 26px 86px;font-size:17px}
@media (max-width:640px){.pillar button{grid-template-columns:48px 1fr 32px}.pillar .body p{padding-left:0}}
.founder{padding-block:clamp(72px,10vw,140px)}
.founder .grid{display:grid;grid-template-columns:.4fr .6fr;gap:clamp(24px,5vw,72px);align-items:start}
.founder h2{font-size:clamp(40px,6vw,88px)}
.founder blockquote{margin:0 0 24px;font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,2.8vw,38px);line-height:1;color:var(--paper)}
.founder p{color:var(--grey);font-size:17px;max-width:60ch}
.founder p + p{margin-top:16px}
.founder .sig{margin-top:28px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}
@media (max-width:820px){.founder .grid{grid-template-columns:1fr}}

/* ---- Find us ---- */
.find .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.find h2{font-size:clamp(34px,4.6vw,64px);margin-bottom:18px}
.find .block + .block{margin-top:44px}
.find .note{color:var(--grey);font-size:15px;margin-top:16px;max-width:48ch}
.copyrow{display:flex;align-items:center;gap:12px;border:1px solid rgba(201,194,180,.2);padding:12px 14px;font-family:var(--mono);font-size:15px;flex-wrap:wrap}
.copyrow .addr{user-select:all;word-break:break-all}
.copyrow .btn{margin-left:auto}
.copyrow .ok{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);opacity:0;transition:opacity .3s}
.copyrow .ok.show{opacity:1}
@media (max-width:820px){.find .grid{grid-template-columns:1fr}}

/* ---- 404 ---- */
.lost{min-height:100svh;display:grid;place-items:center;text-align:center;padding:calc(var(--nav-h) + 40px) var(--gutter) 60px}
.lost img{width:180px;margin-inline:auto;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lost h1{font-size:clamp(56px,12vw,160px);margin:20px 0 10px}
.lost .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}

/* ---------- motion safety ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .hero .wm{clip-path:none}
  .hero .cans img{transform:none;opacity:1}
  .cursor{display:none}
}
html.no-motion .hero .wm{clip-path:none}
html.no-motion .hero .cans img{transform:none;opacity:1}
