@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;1,800&family=Inter:wght@400;500;600;700&display=swap');

:root { --red:#e30613; --ink:#111; --paper:#f4efe6; --muted:#716b64; --line:#d8d0c4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,Arial,sans-serif; }
button,input { font:inherit; }
.en-copy { display:block; margin-top:5px; color:inherit; opacity:.68; font-size:.82em; font-weight:400; line-height:1.45; text-transform:none; letter-spacing:0; }
.hero__claim small,.hero__cta small,.eyebrow small { display:block; margin-top:7px; color:#aaa; font-size:.78em; letter-spacing:.08em; }
.hero__cta small { text-align:left; }
.hero { min-height:72svh; padding:48px 22px 30px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; overflow:hidden; color:#fff; background:#111; }
.hero::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(118deg,transparent 0 16px,rgba(255,255,255,.018) 17px 18px); }
.hero::after { content:"SUGAR"; position:absolute; bottom:-.2em; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.035); font:800 38vw/1 'Barlow Condensed',sans-serif; letter-spacing:.02em; }
.hero__logo { width:min(520px,88vw); height:auto; position:relative; z-index:1; filter:brightness(0) invert(1); }
.hero__claim { position:relative; z-index:1; margin:22px 0 32px; color:#ddd; text-transform:uppercase; letter-spacing:.18em; font:700 13px/1.4 Inter,sans-serif; }
.hero__cta { position:relative; z-index:1; display:inline-flex; gap:20px; align-items:center; padding:14px 20px; border:1px solid #555; color:#fff; text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:700; }
.hero__cta span { color:var(--red); font-size:20px; }
main { max-width:980px; margin:auto; padding:54px 18px 72px; }
.intro { max-width:650px; }
.eyebrow { display:block; margin-bottom:12px; color:var(--red); text-transform:uppercase; letter-spacing:.18em; font:700 12px/1 Inter,sans-serif; }
h1,h2 { font-family:'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(56px,15vw,104px); line-height:.78; letter-spacing:-.035em; }
h1 em { color:var(--red); font-style:italic; }
.intro>p { margin:24px 0; color:var(--muted); }
.search { display:flex; gap:10px; align-items:center; max-width:560px; padding:0 16px; border:2px solid var(--ink); background:#fff; }
.search span { font-size:28px; transform:rotate(-20deg); }
.search input { width:100%; padding:15px 0; border:0; outline:0; background:transparent; font-size:16px; }
.category-nav { display:flex; gap:9px; margin:32px -18px 40px; padding:4px 18px 13px; overflow-x:auto; position:sticky; top:0; z-index:5; background:linear-gradient(var(--paper) 75%,transparent); scrollbar-width:none; }
.category-nav::-webkit-scrollbar { display:none; }
.category-nav button { flex:none; border:1px solid var(--ink); padding:10px 14px; color:var(--ink); background:transparent; text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:800; cursor:pointer; }
.category-nav button small { display:block; margin-top:3px; font-size:8px; font-weight:500; text-transform:none; letter-spacing:0; opacity:.65; }
.category-nav button.active,.category-nav button:hover { color:#fff; background:var(--ink); }
.menu-section { scroll-margin-top:72px; margin:0 0 52px; }
.menu-content { scroll-margin-top:82px; }
.section-heading { display:flex; align-items:baseline; gap:14px; padding-bottom:9px; border-bottom:4px solid var(--ink); }
.section-heading h2 { margin:0; font-size:36px; line-height:1; letter-spacing:.02em; }
.section-heading h2 small { display:block; margin-top:5px; color:var(--muted); font:600 13px/1.2 Inter,sans-serif; text-transform:none; letter-spacing:0; }
.menu-subsection { margin-top:30px; }
.menu-subsection>h3 { margin:0 0 2px; padding-bottom:8px; border-bottom:1px solid var(--ink); color:var(--ink); font:700 19px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.menu-subsection>h3 small { display:inline; margin-left:9px; color:var(--muted); font:500 10px/1 Inter,sans-serif; text-transform:none; letter-spacing:0; }
.items { display:block; }
.menu-item { display:grid; grid-template-columns:1fr auto; gap:8px 16px; padding:18px 0; border-bottom:1px solid var(--line); }
.menu-item h3 { margin:0; text-transform:uppercase; letter-spacing:.025em; font:800 16px/1.25 'Barlow Condensed',sans-serif; }
.menu-item h3 .quantity { color:var(--muted); font-family:Inter,sans-serif; font-size:.72em; font-weight:500; letter-spacing:.01em; white-space:nowrap; }
.menu-item h3 small { display:block; margin-top:4px; color:var(--muted); font:500 12px/1.35 Inter,sans-serif; text-transform:none; letter-spacing:0; }
.menu-item .price { color:var(--red); white-space:nowrap; font:800 18px/1 'Barlow Condensed',sans-serif; }
.menu-item p { grid-column:1/-1; margin:0; color:var(--muted); font-size:12px; line-height:1.55; text-transform:lowercase; }
.menu-item p small { display:block; margin-top:3px; color:#918980; font-size:10px; line-height:1.45; text-transform:none; }
.menu-item p::first-letter { text-transform:uppercase; }
.empty-state { padding:36px 18px; border:2px dashed var(--line); text-align:center; color:var(--muted); }
.notice { display:grid; grid-template-columns:82px 1fr; gap:20px; margin-top:68px; padding:28px 22px; color:#fff; background:var(--ink); }
.notice img { width:100%; height:120px; object-fit:contain; filter:brightness(0) invert(1); }
.notice h2 { margin:0 0 8px; font-size:28px; }
.notice h2 small,dialog h2 small { display:block; color:#999; font:600 12px/1.3 Inter,sans-serif; text-transform:none; }
.notice p { margin:0 0 15px; color:#bbb; font-size:13px; line-height:1.6; }
.notice button { padding:0; border:0; border-bottom:1px solid var(--red); color:#fff; background:none; font-weight:700; cursor:pointer; }
footer { padding:48px 22px calc(48px + env(safe-area-inset-bottom)); text-align:center; color:#aaa; background:#080808; }
footer img { width:min(260px,70vw); filter:brightness(0) invert(1); }
footer p { font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
footer a { color:#fff; font-size:13px; }
dialog { width:min(620px,calc(100% - 28px)); max-height:88svh; padding:32px; border:0; color:var(--ink); background:var(--paper); box-shadow:0 24px 90px #0008; }
dialog::backdrop { background:#000b; }
dialog h2 { margin:0 0 12px; font-size:38px; }
dialog p,dialog li { color:var(--muted); font-size:13px; line-height:1.55; }
.dialog-close { position:absolute; top:12px; right:14px; border:0; background:none; font-size:30px; cursor:pointer; }
.dialog-note { padding-top:14px; border-top:1px solid var(--line); font-weight:600; }
@media (min-width:720px) { .hero{min-height:78svh}.items{column-count:2;column-gap:36px}.menu-item{break-inside:avoid;page-break-inside:avoid}.notice{grid-template-columns:120px 1fr;padding:36px 44px}.notice img{height:150px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
