:root{--green:#123a32;--green2:#0b2b25;--oat:#f4eddf;--cream:#fffaf2;--coral:#f36a45;--lilac:#d8c8ff;--gold:#e9bb54;--ink:#17211e;--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--display:"Fraunces",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--oat);color:var(--ink);font-family:var(--sans);overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}.announcement{height:36px;background:var(--lilac);display:flex;align-items:center;justify-content:center;gap:32px;overflow:hidden;white-space:nowrap;font:500 11px var(--mono);letter-spacing:.09em}.nav{height:86px;padding:0 clamp(22px,4vw,68px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:absolute;top:36px;z-index:10;width:100%;color:#fff;border-bottom:1px solid #ffffff40}.brand{color:inherit;text-decoration:none;width:max-content;display:flex;flex-direction:column;line-height:.9}.brand>span{font:700 clamp(24px,2.4vw,36px) var(--display);letter-spacing:-.05em}.brand i{font-weight:600;color:var(--coral)}.brand small{font:500 8px var(--mono);letter-spacing:.25em;margin-top:6px}.nav nav{display:flex;gap:32px}.nav nav a,.nav .text-link{color:inherit;text-decoration:none;background:none;border:0;font-size:13px}.nav-actions{justify-self:end;display:flex;align-items:center;gap:18px}.pill{border:0;border-radius:999px;padding:15px 21px;font-weight:700;display:inline-flex;gap:18px;align-items:center;justify-content:center;transition:.25s transform,.25s box-shadow}.pill:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0002}.coral{background:var(--coral);color:#111}.glass{background:#ffffff1c;color:#fff;border:1px solid #ffffff90}.dark{background:var(--green);color:white}.menu-toggle{display:none;background:none;border:1px solid #fff8;border-radius:99px;padding:9px 14px;color:white}.hero{height:max(730px,100svh);min-height:700px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--green)}.hero-photo,.hero-wash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{animation:heroIn 1.6s cubic-bezier(.2,.7,.2,1) both}.hero-wash{background:linear-gradient(90deg,#092d29d9 0%,#123a3270 45%,#0b211f22 72%),linear-gradient(0deg,#0b282277,transparent 50%)}.hero-copy{position:relative;color:#fff;margin-left:clamp(24px,7vw,110px);padding-top:90px;max-width:770px;z-index:2}.eyebrow,.kicker{font:500 11px var(--mono);letter-spacing:.13em}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px #f36a4530;margin-right:10px;animation:pulse 1.4s infinite}.hero h1,.section-head h2,.demand h2,.sms h2{font:700 clamp(62px,8.2vw,132px)/.92 var(--display);letter-spacing:-.045em;margin:25px 0}.hero h1 em,.section-head h2 em,.demand h2 em,.sms h2 em{color:var(--coral);font-weight:600}.hero p{font-size:clamp(16px,1.4vw,20px);line-height:1.55;max-width:560px}.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.next-stop{position:absolute;z-index:3;right:clamp(20px,5vw,75px);bottom:8%;background:var(--cream);color:var(--ink);padding:20px 24px;width:220px;box-shadow:12px 12px 0 var(--coral);transform:rotate(2deg)}.next-stop span{font:500 10px var(--mono);letter-spacing:.14em}.next-stop strong{display:block;font:700 27px var(--display);margin:6px 0}.next-stop small{font:500 11px var(--mono)}.next-stop small i{display:inline-block;width:7px;height:7px;background:#52b174;border-radius:50%;margin-right:7px}.scroll-cue{position:absolute;z-index:3;bottom:25px;left:50%;color:white;font:10px var(--mono);letter-spacing:.1em}.scroll-cue span{display:inline-block;margin-left:8px;animation:bounce 1.4s infinite}.route-scribble{position:absolute;z-index:1;right:-30px;top:25%;width:48%;fill:none;stroke:var(--lilac);stroke-width:3;stroke-dasharray:10 9;opacity:.75}.route-scribble circle{fill:var(--coral);stroke:none}.ticker{height:74px;background:var(--coral);display:flex;align-items:center;overflow:hidden;white-space:nowrap;font:700 21px var(--display)}.ticker-track{display:flex;width:max-content;will-change:transform;animation:ticker 22s linear infinite}.ticker-group{display:inline-flex;align-items:center;flex:none}.ticker b{padding:0 25px;color:var(--oat)}.route-section,.menu{padding:120px clamp(22px,6vw,90px)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.section-head h2,.demand h2,.sms h2{font-size:clamp(55px,7vw,105px);margin:20px 0 0}.section-head>p{max-width:380px;font-size:18px;line-height:1.55}.route-board{display:grid;grid-template-columns:1.1fr .9fr;background:var(--cream);box-shadow:0 30px 80px #1a302a16}.route-map{min-height:500px;background:var(--lilac);position:relative;overflow:hidden}.route-map svg{position:absolute;width:100%;height:100%;inset:0}.roads{fill:none;stroke:#fff;stroke-width:13;opacity:.6}.active-route{fill:none;stroke:var(--coral);stroke-width:4;stroke-dasharray:11 9;animation:dash 20s linear infinite}.route-map circle{fill:var(--green)}.map-label{position:absolute;font:500 10px var(--mono);letter-spacing:.12em;background:#fff;padding:7px 10px;z-index:2}.map-label.top{right:10%;top:16%}.map-label.mid{left:46%;top:49%}.map-label.bottom{left:9%;bottom:10%}.truck-pin{position:absolute;left:59%;top:39%;background:var(--green);color:white;padding:13px 17px;border-radius:5px;font:700 17px var(--display);box-shadow:4px 5px 0 var(--coral);animation:float 3s ease-in-out infinite}.truck-pin span{color:var(--coral)}.truck-pin i{position:absolute;width:9px;height:9px;background:var(--green);transform:rotate(45deg);bottom:-4px;left:45%}.stop-list{padding:25px}.stop{display:grid;grid-template-columns:70px 1fr 45px;align-items:center;border-bottom:1px solid #1b2a2525;padding:22px 8px;gap:18px}.day{font:700 17px var(--display)}.day small{display:block;font:9px var(--mono);margin-top:5px}.stop span{font:10px var(--mono);color:#51605b}.stop h3{font:700 27px var(--display);margin:4px 0}.stop p{margin:0;font-size:13px}.stop>button{width:42px;height:42px;border:1px solid #23342e;border-radius:50%;background:transparent;font-size:18px}.stop.active>button,.stop>button:hover{background:var(--coral);border-color:var(--coral)}.route-cta{width:100%;border:0;background:transparent;text-align:left;padding:25px 8px 8px}.route-cta strong{float:right}.how{background:var(--green);color:white;padding:120px clamp(22px,6vw,90px);position:relative}.section-head.light h2 em{color:var(--lilac)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#ffffff28}.step{background:var(--green);padding:36px;min-height:390px}.step>span{font:11px var(--mono);color:var(--lilac)}.step-icon{width:135px;height:155px;margin:40px auto 28px;display:grid;place-items:center;font:700 22px var(--display);color:var(--green);position:relative;filter:drop-shadow(9px 10px 0 #071c182f)}.step-icon.phone{background:var(--lilac);border-radius:18px}.step-icon.cup{background:var(--coral);clip-path:polygon(8% 5%,92% 5%,82% 100%,18% 100%)}.step-icon.cup span{color:var(--green)}.step-icon.home{background:var(--gold);clip-path:polygon(50% 0,100% 38%,88% 38%,88% 100%,12% 100%,12% 38%,0 38%)}.step h3{font:700 31px var(--display);margin:0 0 12px}.step p{opacity:.75;line-height:1.55;max-width:280px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.menu-card{padding:22px;position:relative}.menu-card.orange{background:#ef8b68}.menu-card.lilac{background:var(--lilac)}.menu-card.gold{background:var(--gold)}.product-art{height:330px;display:grid;place-items:center;position:relative}.product-art.latte,.product-art.chai{width:165px;height:230px;margin:50px auto;background:linear-gradient(100deg,#fff8,#fff1);border-radius:5px 5px 25px 25px;box-shadow:15px 20px 25px #0002;transform:rotate(-5deg);font:700 34px var(--display)}.product-art.chai{transform:rotate(6deg);background:linear-gradient(100deg,#572d23aa,#a76855)}.product-art .cup-lid{position:absolute;top:-12px;width:180px;height:24px;background:#f3efe6;border-radius:7px}.product-art span span{color:var(--coral)}.product-art.pastry i{display:block;width:220px;height:220px;border-radius:50%;background:repeating-radial-gradient(ellipse at 55% 45%,#6f361d 0 8px,#c47b35 10px 22px,#e8a655 24px 34px);box-shadow:14px 20px 25px #0002;transform:rotate(12deg)}.tags{display:flex;gap:8px}.tags span{font:500 9px var(--mono);border:1px solid #17211e;padding:6px 8px;border-radius:99px}.menu-card h3{font:700 32px var(--display);margin:20px 0 7px}.menu-card p{margin:0;font-size:13px}.menu-card>strong{position:absolute;right:23px;bottom:24px;font:700 20px var(--display)}.demand{background:var(--lilac);padding:120px clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:center}.demand h2 em{color:var(--green)}.demand-copy>p{font-size:18px;line-height:1.55;max-width:500px}.vote-card{background:var(--cream);padding:30px;transform:rotate(1deg);box-shadow:14px 16px 0 var(--green)}.vote-card>span,.update{font:500 10px var(--mono);letter-spacing:.12em}.vote-card ol{list-style:none;padding:0;margin:28px 0}.vote-card li{display:grid;grid-template-columns:30px 1fr;gap:15px;border-top:1px solid #0002;padding:19px 0;position:relative}.vote-card li b{font:500 10px var(--mono)}.vote-card li div{font:700 24px var(--display)}.vote-card li small{display:block;font:10px var(--mono);margin-top:5px}.vote-card li i{position:absolute;height:5px;width:var(--vote);background:var(--coral);bottom:-3px;left:0}.sms{background:var(--green2);color:#fff;min-height:700px;display:grid;place-items:center;position:relative;overflow:hidden;text-align:center;padding:100px 24px}.sms-content{position:relative;z-index:2;max-width:850px}.sms h2 em{color:var(--lilac)}.sms-content>p{font-size:18px;max-width:560px;margin:25px auto}.sms-form{display:flex;gap:9px;justify-content:center;margin:35px auto 20px}.sms-form label{background:white;border-radius:999px;padding:5px 5px 5px 18px;color:#222;display:flex;align-items:center}.sms-form label span{font:12px var(--mono);padding-right:10px}.sms-form input{border:0;outline:0;padding:12px 8px;font-size:15px;width:180px}.sms-content>small{opacity:.45;font-size:9px;display:block;max-width:600px;margin:auto}.sms-orbit{position:absolute;width:570px;height:570px;border:1px solid #ffffff28;border-radius:50%;animation:spin 25s linear infinite}.sms-orbit span:first-child{position:absolute;top:-18px;left:48%;color:var(--coral);font-size:28px}.sms-orbit span:last-child{position:absolute;inset:0;display:grid;place-items:center;color:#fff1;font:700 42px var(--display);transform:rotate(-12deg)}footer{background:#071d19;color:white;padding:70px clamp(22px,6vw,90px) 30px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;align-items:start}footer p{opacity:.65;line-height:1.7;font-size:13px}footer>div{display:grid;gap:10px}footer a,footer button{color:white;text-decoration:none;background:none;border:0;text-align:left;padding:0;font-size:13px}footer>small{grid-column:1/-1;border-top:1px solid #fff2;padding-top:25px;font:9px var(--mono);opacity:.5}.light-brand{color:white}dialog{border:0;padding:45px;background:var(--cream);width:min(540px,calc(100% - 28px));box-shadow:0 30px 100px #0008}dialog::backdrop{background:#092b27d9;backdrop-filter:blur(8px)}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:29px}.modal-copy h2{font:700 48px var(--display);margin:14px 0 8px}.modal-copy p{margin-top:0}.modal-kicker{color:var(--coral)}#modal-form{display:grid;gap:13px;margin-top:28px}#modal-form label{font:500 10px var(--mono);letter-spacing:.08em}#modal-form input{display:block;width:100%;margin-top:6px;padding:15px;border:1px solid #23342e44;background:white;font:14px var(--sans)}#modal-form small{font-size:9px;opacity:.5;line-height:1.4}.success{text-align:center;padding:35px 0;display:none}.success span{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--coral);font-size:30px;margin:auto}.success h2{font:700 42px var(--display)}.toast{position:fixed;z-index:30;left:50%;bottom:30px;transform:translate(-50%,140%);background:var(--cream);padding:14px 20px;border-left:5px solid var(--coral);box-shadow:0 12px 40px #0004;transition:.35s}.toast.show{transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(25px);transition:.8s opacity,.8s transform}.reveal.visible{opacity:1;transform:none}@keyframes heroIn{from{scale:1.08;filter:brightness(.7)}to{scale:1;filter:brightness(1)}}@keyframes ticker{to{transform:translateX(-25%)}}@keyframes dash{to{stroke-dashoffset:-400}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-10px)}}@keyframes pulse{50%{box-shadow:0 0 0 10px #f36a4500}}@keyframes bounce{50%{transform:translateY(6px)}}
@media(max-width:900px){.nav{grid-template-columns:1fr auto;height:76px}.nav nav,.nav-actions{display:none}.nav.open{height:auto;padding-bottom:22px;background:var(--green);grid-template-columns:1fr auto}.nav.open nav{display:flex;grid-column:1/-1;flex-direction:column;margin-top:25px;gap:18px}.menu-toggle{display:block}.hero-copy{margin-left:24px;margin-right:24px}.hero h1{font-size:clamp(60px,16vw,92px)}.route-scribble{width:80%;top:30%;opacity:.4}.next-stop{width:190px;bottom:6%;right:20px}.scroll-cue{display:none}.section-head{align-items:start;flex-direction:column;gap:22px}.route-board,.demand{grid-template-columns:1fr}.route-map{min-height:380px}.steps,.menu-grid{grid-template-columns:1fr}.step{min-height:auto}.menu-card{min-height:500px}.demand{gap:70px}.sms-orbit{width:430px;height:430px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.announcement{justify-content:flex-start;padding-left:20px}.nav{top:36px;padding:0 20px}.hero{min-height:760px}.hero-copy{padding-top:10px}.hero h1{font-size:57px;line-height:.96;letter-spacing:-.035em;margin:18px 0}.hero p{font-size:15px;max-width:330px}.hero-actions{align-items:stretch;flex-direction:column;width:max-content}.hero-actions .pill{width:100%}.next-stop{bottom:28px}.ticker{height:60px}.route-section,.menu,.how{padding:82px 20px}.section-head h2,.demand h2,.sms h2{font-size:54px}.route-map{min-height:310px}.stop-list{padding:12px}.stop{grid-template-columns:55px 1fr 38px;gap:8px}.stop h3{font-size:21px}.stop>button{width:36px;height:36px}.route-cta strong{float:none;display:block;margin-top:7px}.step{padding:27px}.menu-card{min-height:470px}.product-art{height:280px}.demand{padding:82px 20px}.vote-card{padding:22px;box-shadow:8px 9px 0 var(--green)}.sms{min-height:720px}.sms-form{flex-direction:column}.sms-form label{width:100%}.sms-form input{width:100%}.sms-form .pill{width:100%}footer{grid-template-columns:1fr;padding:60px 24px 28px}footer>small{grid-column:1}.modal-copy h2{font-size:39px}dialog{padding:38px 24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
.product-art.pastry.actual{height:330px;overflow:hidden;margin-bottom:18px;background:#fff7}.product-art.pastry.actual img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block;filter:saturate(.95) contrast(1.03)}

/* Mobile usability: comfortable tap targets, safe-area spacing, and narrow-phone breathing room. */
button,a{touch-action:manipulation}
@media(max-width:900px){
  .menu-toggle{min-width:72px;min-height:44px}
  .nav.open nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:560px){
  .announcement{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .nav{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .stop{grid-template-columns:55px 1fr 46px}
  .stop>button{width:44px;height:44px}
  .sms-form label{min-height:48px}
  .sms-form input{min-height:44px}
  footer>div{gap:0}
  footer>div a,footer>div button{min-height:44px;display:flex;align-items:center}
  .modal-close{right:7px;top:7px;width:44px;height:44px;display:grid;place-items:center;padding:0}
}
@media(max-width:340px){.hero{min-height:880px}}
