:root{color-scheme:light;--forest:#153f30;--forest-deep:#0d2e22;--cream:#f7f2e8;--ink:#244738;--muted:#566457;--gold:#96723c;--line:#cbd0bd;--paper:rgba(255,253,246,.78);font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--forest);background:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:radial-gradient(ellipse at 100% 9%,rgba(207,186,135,.15),transparent 42%),var(--cream)}[hidden]{display:none!important}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,a,select,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip-link{position:absolute;z-index:20;left:20px;top:10px;padding:14px 20px;background:var(--cream);border:1px solid var(--forest);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(28px,calc((100vw - 1084px)/2));background:var(--forest);color:var(--cream);border-bottom:1px solid rgba(221,200,154,.45)}header>a{font:26px/1.2 Georgia,serif;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap}header>a span{display:block;font:10px/1.6 Arial,sans-serif;letter-spacing:2px;margin-top:6px}.preview{display:block;padding:10px 15px;border:1px solid rgba(245,237,217,.3);background:rgba(255,255,255,.05);border-radius:12px;font-size:10px;line-height:1.7;letter-spacing:1.5px;text-align:center}
main{width:100%;max-width:1140px;margin:auto;padding:58px 28px 36px}.intro{display:flex;align-items:center;gap:22px}.intro img{flex:none;object-fit:contain;mix-blend-mode:multiply}.intro>div{min-width:0}.eyebrow{font-size:11px;font-weight:700;line-height:1.7;letter-spacing:1.8px;margin:0 0 12px}h1{font:clamp(40px,5vw,64px)/1.05 Georgia,serif;letter-spacing:-2px;margin:0}h2{font-family:Georgia,serif;font-weight:400}.notice{max-width:850px;font-size:16px;line-height:1.75;margin:28px 0 40px;padding-bottom:30px;border-bottom:1px solid var(--line);color:var(--muted)}.notice strong{font-weight:600;color:var(--forest)}.builder-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:start}.builder-layout>*,.drink-two>*{min-width:0}#menu{min-width:0}fieldset{border:0;padding:0;margin:0 0 32px;min-width:0}legend{font-size:15px;font-weight:700;line-height:1.5;margin-bottom:13px;padding:0}.choices{display:flex;flex-wrap:wrap;gap:10px}.choices label{flex:1 1 150px;position:relative;min-width:0}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{position:relative;display:flex;align-items:center;min-height:55px;padding:15px 17px 15px 38px;border:1px solid #aab7a1;border-radius:9px;line-height:1.45;font-size:15px;background:var(--paper);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}.choices span:before{content:'';position:absolute;left:16px;top:22px;width:10px;height:10px;border:1px solid currentColor;border-radius:50%;opacity:.7}.choices input[type=checkbox]+span:before{border-radius:2px}.choices input:checked+span{background:var(--forest);border-color:var(--forest);color:var(--cream);box-shadow:0 3px 10px rgba(21,63,48,.1)}.choices input:checked+span:before{background:var(--cream);box-shadow:inset 0 0 0 2px var(--forest);opacity:1}.choices input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}.choices.stack{display:grid;gap:10px}.choices.stack label{display:block}.choices.stack span{display:block;padding-block:17px}.choices.stack span:before{top:23px}.choices strong{display:block;font-size:16px;font-weight:600}.choices small{display:block;font-size:14px;line-height:1.55;margin-top:5px;color:var(--muted)}.choices input:checked+span small{color:#e4e9dc}select{color:var(--forest);width:100%;max-width:100%;min-height:54px;padding:14px 36px 14px 15px;border:1px solid #aab7a1;background-color:#fffdf6;border-radius:9px;line-height:1.5;cursor:pointer}select:disabled{cursor:not-allowed}option{background:#fffdf6;color:var(--forest)}.fine{font-size:14px;line-height:1.65;color:var(--muted)}
.summary{position:sticky;top:28px;isolation:isolate;overflow:hidden;padding:32px;border:1px solid rgba(21,63,48,.18);border-radius:18px;background:linear-gradient(140deg,rgba(255,254,249,.9),rgba(226,231,214,.88));box-shadow:0 16px 50px -32px rgba(21,63,48,.28),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.summary-mark{position:absolute;z-index:-1;right:22px;top:12px;font-size:100px;line-height:1;color:rgba(150,114,60,.13)}.summary>.eyebrow{display:block;padding-right:50px;font-size:10px}.summary h2{font-size:clamp(30px,3.2vw,39px);line-height:1.1;letter-spacing:-1.2px;margin:23px 0 18px;overflow-wrap:break-word}#selection{line-height:1.8;font-size:15px;min-height:50px;margin:0}.pair-tip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:24px 0;font-size:14px;line-height:1.6}.summary .fine{font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 18px;font-size:14px;font-weight:700;line-height:1.4;background:var(--forest);color:var(--cream);border:1px solid var(--forest);border-radius:8px;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}.secondary{color:var(--forest);background:rgba(255,253,246,.35)}#saved{font-size:13px;line-height:1.6;min-height:21px;margin:16px 0 0}.selection-jump{display:none}.summary:target{outline:2px solid var(--gold);outline-offset:5px}
#drink-options{padding:24px;border:1px solid #c4cbb7;border-radius:14px;margin-bottom:32px;background:linear-gradient(140deg,rgba(255,253,246,.75),rgba(232,230,211,.62))}.drink-custom-header{margin-bottom:26px}.drink-custom-header h2{font-size:30px;line-height:1.15;letter-spacing:-.7px;margin:10px 0}.drink-custom-header .fine{margin:12px 0}.drink-custom-header button{min-height:44px;font-size:13px;margin-top:5px}.drink-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}.drink-two legend{font-size:14px}.drink-two select{padding-left:12px;padding-right:22px;font-size:14px}#chai-extras>summary{font-size:14px;font-weight:700;cursor:pointer;padding:12px 0;min-height:44px}#chai-extras[open]>summary{margin-bottom:12px}#chai-extras fieldset{margin-bottom:8px}#chai-extras .fine{margin-bottom:0}
.checkout-details{max-width:720px;border-top:1px solid var(--line);margin-top:48px;padding-top:16px}.checkout-details>summary{cursor:pointer;font-size:15px;font-weight:700;line-height:1.6;padding:14px 0;min-height:48px}.checkout-preview{padding:24px 0 0}.checkout-preview h2{font-size:34px;line-height:1.15;letter-spacing:-.8px;margin:10px 0 14px}.field-label{display:block;font-size:14px;font-weight:700;margin:20px 0 9px}.checkout-preview input[type=text],.checkout-preview input[type=tel],.checkout-preview input[type=email]{display:block;width:100%;min-height:54px;background:#fffdf6;border:1px solid #aab7a1;padding:14px 15px;border-radius:9px;color:var(--forest)}input::placeholder{color:#687365;opacity:1}.contact-method{display:flex;flex-wrap:wrap;gap:6px 22px;margin:26px 0 6px}.contact-method legend{font-size:14px;margin-bottom:6px}.contact-method label{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}input[type=radio],input[type=checkbox]{accent-color:var(--forest)}.consent-options{margin-top:24px;padding-top:6px;border-top:1px solid var(--line)}.consent-options label{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14px;line-height:1.5;min-height:30px;cursor:pointer}.consent-options input{width:17px;height:17px;flex:none;margin:2px 0 0}.consent-options label:has(:disabled){color:#6d746b;cursor:not-allowed}.consent-options .fine{font-size:13px;margin:8px 0 22px}#checkout-result{font-size:14px;line-height:1.7}footer{max-width:780px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--muted)}footer strong{color:var(--forest)}footer p{margin:0 0 12px}footer a{display:inline-block;min-height:34px;padding-top:5px;color:var(--forest)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover){.choices label:hover span{border-color:var(--forest);box-shadow:0 4px 14px rgba(21,63,48,.08);transform:translateY(-1px)}button:hover{background:var(--forest-deep);box-shadow:0 4px 12px rgba(21,63,48,.15);transform:translateY(-1px)}button.secondary:hover{background:#e5e9db}}
@media(max-width:820px){main{padding:36px 22px}.builder-layout{grid-template-columns:1fr;gap:24px}.summary{position:static;backdrop-filter:none;-webkit-backdrop-filter:none}.summary h2{max-width:480px;font-size:38px}.intro h1{font-size:46px}.notice{margin-bottom:24px}.selection-jump{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;margin:0 0 26px}header{padding:21px 22px}#your-usual{scroll-margin-top:20px}.checkout-details{margin-top:36px}}
@media(max-width:480px){main{padding:30px 18px}.intro{gap:13px}.intro img{width:64px;height:64px}.intro h1{font-size:clamp(32px,9vw,42px);letter-spacing:-1.5px}.intro .eyebrow{font-size:9px;letter-spacing:1.3px;line-height:1.7}.notice{font-size:15px;line-height:1.7;margin-top:24px;padding-bottom:24px}header{padding:18px;gap:12px}header>a{font-size:23px}header>a span{font-size:8px;letter-spacing:1.4px}.preview{font-size:8px;padding:8px 10px;letter-spacing:1px}.choices label{flex-basis:135px}.choices span{padding-left:32px;padding-right:12px;font-size:14px}.choices span:before{left:12px;width:9px;height:9px}.summary{padding:26px 23px;border-radius:14px}.summary h2{font-size:34px}.summary .actions button:first-child{flex:1}#drink-options{padding:22px 17px}.drink-two{grid-template-columns:1fr;gap:0}.drink-two fieldset{margin-bottom:20px}#chai-extras fieldset{margin-bottom:20px}.checkout-preview h2{font-size:30px}footer{margin-top:28px}}
@media(prefers-reduced-motion:no-preference){.intro,.notice{animation:arrive .5s ease both}.notice{animation-delay:.05s}@keyframes arrive{from{opacity:.85;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}button:hover,.choices label:hover span{transform:none}}
@media(forced-colors:active){.choices input:checked+span{border:3px solid Highlight}.choices span:before{display:none}.summary{border:1px solid CanvasText}button{border:1px solid ButtonText}.preview{border:1px solid CanvasText}}

#pickup-fields{min-inline-size:0;border:0;background:none;padding:0;margin:0}#pickup-fields:disabled{opacity:.65}

/* Match the quieter editorial finish of the main cafe website. */
body{background:var(--cream)}
.preview{border-radius:5px;background:transparent}
#lunch-builder fieldset:nth-of-type(1) .choices,
#lunch-builder fieldset:nth-of-type(3) .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.choices span{border-radius:6px;box-shadow:none;transition:background .18s,border-color .18s}
.choices:not(.stack) label{display:flex}
.choices:not(.stack) label>span{width:100%;height:100%}
.choices input:checked+span{box-shadow:none}
.summary{border-radius:10px;background:#eff0e5;box-shadow:inset 0 1px 0 #fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.summary-mark{width:64px;height:82px;right:19px;top:20px;opacity:.22;object-fit:contain;z-index:0;pointer-events:none}
.summary>.eyebrow,.summary h2{position:relative}
.summary>.eyebrow{padding-right:55px}
button,select,.checkout-preview input[type=text],.checkout-preview input[type=tel],.checkout-preview input[type=email]{border-radius:6px}
#drink-options{border-radius:8px;background:#eeecdf}
.summary:target{outline:2px solid var(--gold)}
@media(hover:hover){.choices label:hover span,button:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:no-preference){.intro,.notice{animation:arrive .3s ease both}}
@media(max-width:480px){.summary{border-radius:8px}.summary-mark{width:56px;height:72px}}
