:root{
  --bg:#f8f1f3;--surface:#fffafb;--ink:#2a0d1a;--muted:#6b4a58;--line:#e3cdd5;
  --brand:#6a1236;--brand-ink:#fff4f7;--accent:#ffb400;--accent-ink:#2a0d1a;
  --ok:#1f6b3a;--bad:#a3182b;--ribbon:#2a0d1a;--ribbon-ink:#ffd36b;
  --display:"Rozha One",Georgia,serif;--text:"Hanken Grotesk",system-ui,sans-serif;
  --r:14px;--gut:16px
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --bg:#1c0a13;--surface:#2a1220;--ink:#fbeef2;--muted:#c9a5b4;--line:#4a2438;
  --brand:#ffb400;--brand-ink:#2a0d1a;--accent:#ffb400;--accent-ink:#2a0d1a;
  --ok:#6fd394;--bad:#ff8fa0;--ribbon:#000;--ribbon-ink:#ffd36b}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.55 var(--text)}
img,svg{max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{max-width:1040px;margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--gut);top:8px;background:var(--accent);color:var(--accent-ink);padding:8px 12px;z-index:9}
.ribbon{background:var(--ribbon);color:var(--ribbon-ink);font:700 .75rem/1 var(--text);letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:9px var(--gut)}
.ribbon span{opacity:.75;font-weight:500}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;flex-wrap:wrap}
.brand{font:400 1.45rem/1 var(--display);text-decoration:none;color:var(--brand)}
nav.main{display:flex;gap:18px;font-weight:600;font-size:.95rem}
nav.main a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current]{border-color:var(--accent)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;margin:0;color:var(--brand)}
h1{font-size:clamp(2.6rem,9vw,5rem);letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,5vw,2.6rem);margin-bottom:.4em}
h3{font-size:1.25rem}
.eyebrow{font:700 .78rem/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
section{padding:clamp(40px,8vw,72px) 0}
.btn{display:inline-block;font:700 1rem/1 var(--text);padding:15px 22px;border-radius:999px;border:2px solid var(--brand);text-decoration:none;cursor:pointer;background:transparent;color:var(--brand);min-height:48px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 3px 0 var(--brand)}
.btn.primary:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--brand)}
.btn:hover{background:var(--brand);color:var(--brand-ink)}.btn.primary:hover{background:var(--accent);color:var(--accent-ink)}
.row{display:flex;gap:12px;flex-wrap:wrap}
/* hero */
.hero{display:grid;gap:36px;padding:clamp(28px,6vw,64px) 0}
.hero p.lead{font-size:1.25rem;max-width:34ch;margin:18px 0 26px;color:var(--muted)}
.hero h1 em{font-style:normal;display:block;font-size:.34em;font-family:var(--text);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
@media(min-width:860px){.hero{grid-template-columns:1.15fr .85fr;align-items:center}}
/* order ticket */
.ticket{--n:8px;background:var(--surface);color:var(--ink);padding:22px 22px 26px;font:500 .95rem/1.6 ui-monospace,"SF Mono",Menlo,monospace;transform:rotate(1deg);max-width:320px;justify-self:center;width:calc(100% - 8px);
  border:1px solid var(--line);box-shadow:4px 5px 0 var(--brand);
  -webkit-mask:radial-gradient(circle 7px at 50% 100%,#0000 98%,#000) 0 100%/18px 51% repeat-x,linear-gradient(#000,#000) 0 0/100% 50% no-repeat;
  mask:radial-gradient(circle 7px at 50% 100%,#0000 98%,#000) 0 100%/18px 51% repeat-x,linear-gradient(#000,#000) 0 0/100% 50% no-repeat}
.ticket h2{font:700 .8rem/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.ticket .no{font:400 2.4rem/1 var(--display);color:var(--brand);margin:0 0 8px}
.ticket hr{border:0;border-top:2px dashed var(--line);margin:12px 0}
.ticket .who{color:var(--muted);font-size:.8rem}
.stamp{display:inline-block;border:2px solid var(--bad);color:var(--bad);padding:2px 8px;font:800 .75rem var(--text);letter-spacing:.12em;transform:rotate(-4deg);margin-top:8px}
/* cards */
.grid3{display:grid;gap:16px}
@media(min-width:760px){.grid3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.card p{margin:.5em 0 0;color:var(--muted)}
.price{font-weight:800;color:var(--brand)}
.card .top2{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
/* agent */
.agent{background:var(--brand);color:var(--brand-ink);border-radius:calc(var(--r)*1.5);padding:clamp(22px,5vw,44px)}
.agent h2,.agent .eyebrow{color:var(--brand-ink)}
.agent .eyebrow{opacity:.8}
.agent a{color:var(--brand-ink)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .agent{background:var(--surface);color:var(--ink);border:1px solid var(--line)}:root:not([data-theme=light]) .agent h2,:root:not([data-theme=light]) .agent .eyebrow,:root:not([data-theme=light]) .agent a{color:var(--ink)}}
.copy{display:flex;gap:8px;margin:10px 0 22px;flex-wrap:wrap}
.copy input,.copy textarea{flex:1 1 240px;min-width:0;font:500 .95rem/1.4 ui-monospace,Menlo,monospace;padding:13px 14px;border-radius:10px;border:2px solid var(--line);background:var(--surface);color:var(--ink);resize:vertical}
.copy .btn{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.copy .btn:hover{background:var(--accent);filter:brightness(1.08);color:var(--accent-ink)}
.lab{font-weight:700;font-size:.9rem;display:block}
.steps{display:grid;gap:14px;list-style:none;padding:0;margin:26px 0}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{border-top:3px solid var(--accent);padding-top:10px}
.steps b{display:block}
/* hours */
.hours{width:100%;border-collapse:collapse;max-width:420px}
.hours th,.hours td{text-align:left;padding:9px 0;border-bottom:1px solid var(--line);font-weight:500}
.hours td{text-align:right}
.hours tr.today th,.hours tr.today td{font-weight:800;color:var(--brand)}
.pill{display:inline-block;font:700 .8rem/1 var(--text);padding:6px 11px;border-radius:999px;background:var(--line);color:var(--ink);margin-left:8px;vertical-align:middle}
.pill.open{background:var(--ok);color:#fff}
.split{display:grid;gap:36px}
@media(min-width:760px){.split{grid-template-columns:1fr 1fr}}
/* menu */
.tools{position:sticky;top:0;z-index:5;background:var(--bg);padding:12px 0;border-bottom:1px solid var(--line)}
.tools input[type=search]{width:100%;font:inherit;padding:12px 14px;border-radius:10px;border:2px solid var(--line);background:var(--surface);color:var(--ink);margin-bottom:10px}
.chips{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 8px}
.chip{font:700 .85rem/1 var(--text);padding:10px 14px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.cat{padding:32px 0 8px;scroll-margin-top:190px}
.item{padding:18px 0;border-bottom:1px solid var(--line)}
.item .hd{display:flex;gap:12px;justify-content:space-between;align-items:baseline}
.item h3{font-size:1.3rem}
.item p{margin:.3em 0 .6em;color:var(--muted)}
.badges{display:flex;gap:6px;flex-wrap:wrap}
.b{font:700 .7rem/1 var(--text);letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}
.b.t{border-color:var(--brand);color:var(--brand)}
.b.al{border-style:dashed}
.opts{font-size:.9rem;color:var(--muted);margin:.4em 0}
.opts i{font-style:normal;border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin:2px 4px 2px 0;display:inline-block}
[hidden]{display:none!important}
.none{padding:30px 0;color:var(--muted)}
/* form */
form.order{display:grid;gap:18px}
.f{display:grid;gap:6px}
.f label,legend{font-weight:700;font-size:.95rem}
.f input,.f select,.f textarea,.pick select{font:inherit;padding:13px 14px;border-radius:10px;border:2px solid var(--line);background:var(--surface);color:var(--ink);width:100%;min-height:48px}
.f small{color:var(--muted)}
.two{display:grid;gap:18px}@media(min-width:620px){.two{grid-template-columns:1fr 1fr}}
fieldset{border:0;padding:0;margin:0}
.pick .it{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.pick .it .nm{font-weight:700}
.pick .it .sel{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.pick .it .sel label{font-size:.85rem;color:var(--muted);display:grid;gap:2px;flex:1 1 140px}
.pick .it .sel select{padding:8px 10px;min-height:40px}
.pick h2{margin:24px 0 4px;font-size:1.4rem}
.qty{display:inline-flex;align-items:center;border:2px solid var(--line);border-radius:999px;overflow:hidden}
.qty button{width:44px;height:44px;border:0;background:var(--surface);color:var(--brand);font:800 1.3rem var(--text);cursor:pointer}
.qty input{width:40px;border:0;text-align:center;font:700 1rem var(--text);background:var(--surface);color:var(--ink);padding:0;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.sum{position:sticky;bottom:0;background:var(--bg);border-top:2px solid var(--brand);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sum b{font-size:1.2rem;color:var(--brand)}
.sum small{display:block;color:var(--muted)}
.res{border-radius:var(--r);padding:20px;border:2px solid var(--line);background:var(--surface)}
.res.ok{border-color:var(--ok)}.res.bad{border-color:var(--bad)}
.res h2{font-size:1.6rem}
.res .no{font:400 2.6rem/1 var(--display);color:var(--brand)}
/* footer */
footer{border-top:1px solid var(--line);padding:30px 0 50px;color:var(--muted);font-size:.95rem}
footer nav{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-weight:600}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
