@font-face {
    font-family: "Shazde";
    src: url("../font/Shazde VF.woff2") format("woff2-variations"), url("../font/Shazde VF.woff") format("woff-variations");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --ink: #171310;
    --ink-soft: #302721;
    --ivory: #f1ece3;
    --copper: #a96846;
    --copper-bright: #d39a77;
    --muted: #7b716a;
    --line-light: rgba(76, 54, 42, 0.13);
    --ease-luxury: cubic-bezier(.2, .75, .25, 1);
    --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    overflow-x: hidden;
    background: var(--ink);
    color: var(--ink);
    font-family: "Shazde", Tahoma, Arial, sans-serif;
    font-variation-settings: "wght" 430;
    font-feature-settings: "ss04" 1;
    font-variant-alternates: styleset(ss04);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body::selection { color: var(--ivory); background: var(--copper); }
button, input, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
a { color: inherit; }
[hidden] { display: none !important; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.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; }
.page-noise {
    position: fixed;
    z-index: 100;
    inset: 0;
    pointer-events: none;
    opacity: .035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
    mix-blend-mode: soft-light;
}

.glass {
    position: relative;
    isolation: isolate;
    border: 1px solid rgba(255, 255, 255, .2);
    background: linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.035) 47%, rgba(255,255,255,.11)), rgba(26, 20, 17, .18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.21), inset 0 -1px 0 rgba(255,255,255,.04), 0 30px 70px rgba(12, 8, 6, .16);
    -webkit-backdrop-filter: blur(30px) saturate(135%);
    backdrop-filter: blur(30px) saturate(135%);
}
.glass::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 1px;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(125deg, rgba(255,255,255,.11), transparent 40%);
}

.hero {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    color: var(--ivory);
    background:
        radial-gradient(circle at 73% 43%, rgba(169,104,70,.28), transparent 29%),
        radial-gradient(circle at 8% 18%, rgba(111,61,45,.38), transparent 28%),
        linear-gradient(145deg, #100d0b 0%, #1a1310 46%, #2b1814 100%);
}
.hero::before {
    content:"";
    position:absolute;
    z-index:0;
    left:-12vw;
    bottom:4vh;
    width:35vw;
    min-width:320px;
    aspect-ratio:1;
    border:1px solid rgba(255,255,255,.045);
    border-radius:50%;
    box-shadow:0 0 0 45px rgba(255,255,255,.012),0 0 0 90px rgba(255,255,255,.009);
    pointer-events:none;
}
.hero__inner { position:relative; z-index:3; min-height:100svh; padding-block:24px 96px; }
.topbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 70px;
    padding: 10px 18px;
    border-radius: 24px;
}
.topbar__brand, .topbar__menu-link { display: flex; align-items: center; gap: 11px; text-decoration: none; font: 600 .68rem/1 Arial, sans-serif; letter-spacing: .16em; }
.topbar__mark { display: grid; place-items: center; width: 40px; aspect-ratio: 1; border-radius: 14px; color: var(--ink); background: var(--ivory); font: 700 1.35rem/1 "Shazde", sans-serif; letter-spacing: normal; }
.topbar__mark img { width: 29px; height: 29px; object-fit: contain; }
.topbar__edition { color: rgba(241,236,227,.52); font: 500 .6rem/1 Arial, sans-serif; letter-spacing: .22em; }
.topbar__menu-link { justify-self: end; color: rgba(241,236,227,.75); font-family: "Shazde", sans-serif; letter-spacing: normal; font-size: .77rem; }
.topbar__menu-link svg { width: 19px; }
.hero__stage { position:relative; display:grid; grid-template-columns:minmax(340px,.86fr) minmax(440px,1.14fr) 86px; align-items:center; gap:clamp(20px,3vw,55px); min-height:calc(100svh - 150px); padding:clamp(45px,6vh,80px) 0 9vh; }
.hero__copy { position:relative; z-index:4; padding-top:3vh; }
.hero__kicker { display:flex; align-items:center; gap:13px; margin:0 0 24px; color:var(--copper-bright); font-size:clamp(.73rem,1vw,.88rem); letter-spacing:.08em; }
.hero__kicker span { display:grid; place-items:center; width:31px; aspect-ratio:1; border:1px solid rgba(211,154,119,.35); border-radius:50%; font:500 .5rem/1 Arial,sans-serif; letter-spacing:.08em; }
.hero__title { position:relative; z-index:2; margin:0; font-size:clamp(3.2rem,5.6vw,5.8rem); font-variation-settings:"wght" 610; font-weight:610; line-height:.88; letter-spacing:-.065em; }
.hero__title span,.hero__title em { display:block; }
.hero__title em { margin-top:8px; color:var(--copper-bright); font-size:.72em; font-style:normal; font-variation-settings:"wght" 430; font-weight:430; letter-spacing:-.035em; }
.hero__lead { max-width:340px; margin:clamp(42px,6vh,70px) 0 25px; color:rgba(241,236,227,.6); font-size:clamp(.78rem,1vw,.91rem); line-height:2.05; }
.hero__action { display:inline-flex; align-items:center; gap:15px; min-height:48px; padding:6px 18px 6px 7px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:var(--ivory); text-decoration:none; background:rgba(255,255,255,.055); transition:background .3s ease,transform .3s var(--ease-luxury); }
.hero__action:hover { background:rgba(255,255,255,.11); transform:translateY(-2px); }
.hero__action span { font-size:.75rem; }
.hero__action svg { width:36px; height:36px; padding:9px; border-radius:50%; color:var(--ink); background:var(--ivory); }
.hero-art { position:relative; z-index:3; width:min(43vw,590px); aspect-ratio:1; justify-self:center; transform-origin:50% 60%; }
.hero-art__orbit { position:absolute; inset:2%; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.hero-art__orbit::before,.hero-art__orbit::after { content:""; position:absolute; border-radius:50%; }
.hero-art__orbit::before { inset:7%; border:1px dashed rgba(211,154,119,.2); }
.hero-art__orbit::after { inset:20%; background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.14),rgba(255,255,255,.02) 46%,rgba(0,0,0,.12)); box-shadow:inset -25px -32px 70px rgba(0,0,0,.2),0 40px 100px rgba(0,0,0,.24); }
.hero-art__disc { position:absolute; inset:18%; z-index:2; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,#dbc6b6,#9b6a52); box-shadow:0 40px 90px rgba(0,0,0,.32),inset 0 2px 2px rgba(255,255,255,.45); }
.hero-art__disc::after { content:""; position:absolute; inset:7%; border:1px solid rgba(255,255,255,.25); border-radius:50%; }
.hero-art__glass { z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; width:78%; height:78%; padding:10%; border-radius:50%; background:linear-gradient(145deg,rgba(29,19,15,.76),rgba(59,37,29,.47)); }
.hero-art__eyebrow,.hero-art__edition { color:rgba(255,255,255,.5); font:600 .42rem/1 Arial,sans-serif; letter-spacing:.22em; white-space:nowrap; }
.hero-art__logo { width:125%; max-width:none; height:auto; margin:10% -12%; opacity:.94; filter:brightness(0) invert(1) sepia(.1) saturate(.5) drop-shadow(0 14px 18px rgba(0,0,0,.23)); }
.coffee-bean { --bean-rotate:0deg; position:absolute; z-index:5; display:block; width:clamp(30px,3.4vw,50px); aspect-ratio:.72; border-radius:55% 45% 52% 48% / 62% 57% 43% 38%; background:linear-gradient(135deg,#a87354 0%,#5a3022 48%,#26130f 100%); box-shadow:inset 4px 5px 8px rgba(255,255,255,.13),inset -5px -7px 10px rgba(0,0,0,.35),0 18px 30px rgba(0,0,0,.28); transform:rotate(var(--bean-rotate)); animation:bean-float 5s ease-in-out infinite alternate; }
.coffee-bean::after { content:""; position:absolute; left:45%; top:8%; width:12%; height:84%; border-radius:60%; border-left:2px solid rgba(24,12,9,.58); transform:rotate(8deg); box-shadow:-2px 0 0 rgba(255,255,255,.08); }
.coffee-bean--one { --bean-rotate:42deg; top:3%; right:20%; animation-delay:-1s; }
.coffee-bean--two { --bean-rotate:-54deg; top:42%; right:-1%; width:clamp(24px,2.8vw,42px); animation-delay:-3s; }
.coffee-bean--three { --bean-rotate:72deg; bottom:5%; right:28%; width:clamp(22px,2.5vw,38px); animation-delay:-2s; }
.coffee-bean--four { --bean-rotate:-28deg; bottom:20%; left:0; animation-delay:-4s; }
.coffee-bean--five { --bean-rotate:18deg; top:20%; left:4%; width:clamp(20px,2.2vw,34px); animation-delay:-.5s; }
@keyframes bean-float { to { translate:0 -13px; rotate:7deg; } }
.hero__aside { align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; direction:ltr; }
.hero__aside-line { width:1px; height:clamp(70px,11vh,120px); background:linear-gradient(transparent,rgba(255,255,255,.25),transparent); }
.hero__aside p { margin:0; color:rgba(241,236,227,.42); font:500 .48rem/1.9 Arial,sans-serif; letter-spacing:.2em; writing-mode:vertical-rl; }
.hero__seal { display: grid; place-items: center; width: 78px; aspect-ratio: 1; border: 1px solid rgba(241,236,227,.22); border-radius: 50%; color: rgba(241,236,227,.7); transform: rotate(-8deg); }
.hero__seal span { margin-bottom:-13px; font:500 .42rem/1 Arial,sans-serif; letter-spacing:.18em; }
.hero__seal strong { direction:rtl; unicode-bidi:isolate; font:500 .78rem/1 "Shazde",sans-serif; }
.scroll-cue { position: absolute; z-index: 5; bottom: 44px; right: 0; display: flex; align-items: center; gap: 14px; color: rgba(241,236,227,.5); text-decoration: none; font: 500 .5rem/1 Arial, sans-serif; letter-spacing: .22em; }
.scroll-cue i { position: relative; display: block; width: 54px; height: 1px; overflow: hidden; background: rgba(241,236,227,.18); }
.scroll-cue i::after { content:""; position:absolute; inset:0; background:var(--copper-bright); transform:translateX(-100%); animation:cue 2.2s var(--ease-luxury) infinite; }
@keyframes cue { 55%,100% { transform:translateX(100%); } }
.ambient-orb { position: absolute; z-index: 1; border-radius: 50%; pointer-events: none; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.01)); box-shadow: inset 18px 18px 35px rgba(255,255,255,.05), 20px 30px 80px rgba(0,0,0,.2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ambient-orb--one { width:clamp(260px,31vw,520px); aspect-ratio:1; top:-20%; left:-10%; }
.ambient-orb--two { width:clamp(130px,17vw,270px); aspect-ratio:1; right:23%; top:18%; background:radial-gradient(circle at 28% 22%,rgba(211,154,119,.18),rgba(255,255,255,.03) 56%); }
.ambient-orb--three { width:80px; aspect-ratio:1; left:42%; bottom:14%; background:rgba(255,255,255,.045); }

.menu-shell { position: relative; z-index: 4; margin-top: -2px; padding: clamp(7rem, 12vw, 12rem) 0 0; background: var(--ivory); }
.menu-intro { position:relative; isolation:isolate; margin-bottom: clamp(4rem, 8vw, 8rem); }
.menu-intro__eyebrow { margin: 0 0 22px; color: var(--copper); font: 600 .62rem/1 Arial, sans-serif; letter-spacing: .2em; }
.menu-intro__row { display: grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); align-items:end; gap:50px; }
.menu-intro h2 { margin:0; font-size:clamp(3.8rem,8.5vw,7.5rem); font-variation-settings:"wght" 600; font-weight:600; line-height:.78; letter-spacing:-.065em; }
.menu-intro h2 em { color:var(--copper); font-style:normal; }
.menu-intro__row>p { max-width:390px; margin:0 0 8px; color:var(--muted); font-size:clamp(.82rem,1.2vw,1rem); line-height:2.15; }
.menu-intro__brand-mark { position:absolute; z-index:-1; top:-12%; left:2%; width:clamp(130px,18vw,250px); height:auto; opacity:.045; transform:rotate(-8deg); pointer-events:none; }
.menu-tools-wrap { position:sticky; z-index:20; top:16px; padding-inline:24px; margin-bottom:clamp(5rem,8vw,8rem); pointer-events:none; }
.menu-tools { display:flex; align-items:center; gap:20px; padding:11px; border-color:rgba(67,48,37,.12); border-radius:24px; background:rgba(238,231,221,.68); box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 18px 50px rgba(55,37,28,.1); -webkit-backdrop-filter:blur(24px) saturate(135%); backdrop-filter:blur(24px) saturate(135%); pointer-events:auto; }
.category-nav { display:flex; flex:1; gap:5px; overflow-x:auto; scrollbar-width:none; }
.category-nav::-webkit-scrollbar { display:none; }
.category-nav__link { flex:0 0 auto; padding:11px 17px; border-radius:14px; color:var(--muted); text-decoration:none; font-size:.76rem; transition:color .3s ease,background .3s ease,transform .3s ease; }
.category-nav__link:hover,.category-nav__link:focus,.category-nav__link.is-active { color:var(--ivory); background:var(--ink); outline:0; transform:translateY(-1px); }
.search-box { display:flex; align-items:center; width:min(290px,30vw); padding:0 13px; color:var(--muted); border-right:1px solid var(--line-light); }
.search-box input { min-width:0; width:100%; padding:9px 4px; color:var(--ink); background:transparent; border:0; outline:0; font:500 .76rem/1.4 "Shazde",sans-serif; }
.search-box input::placeholder { color:#948a83; }
.search-box svg { flex:0 0 18px; }

.menu-content { padding-bottom:clamp(7rem,13vw,13rem); }
.menu-section { scroll-margin-top:120px; margin-bottom:clamp(6rem,11vw,11rem); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:25px; margin-bottom:24px; border-bottom:1px solid var(--line-light); }
.section-heading>div { display:flex; align-items:flex-start; gap:18px; }
.section-heading__index { margin-top:10px; color:var(--copper); font:500 .56rem/1 Arial,sans-serif; letter-spacing:.15em; }
.section-heading h2 { margin:0; font-size:clamp(2.25rem,4vw,4rem); font-variation-settings:"wght" 570; font-weight:570; line-height:.95; letter-spacing:-.045em; }
.section-heading__count { color:var(--muted); font-size:.7rem; }
.menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:18px; row-gap:88px; padding-top:72px; perspective:1200px; }
.menu-card { --card-glow:rgba(180,126,91,.34); --card-image-overhang:75px; position:relative; display:flex; flex-direction:column; min-width:0; overflow:visible; border-color:rgba(73,52,39,.15); border-radius:30px; background:radial-gradient(circle at 50% 5%,var(--card-glow),transparent 31%),linear-gradient(155deg,rgba(255,255,255,.72),rgba(230,218,204,.38)); box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 22px 55px rgba(61,40,29,.09); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); transform-style:preserve-3d; will-change:transform; transition:border-color .35s ease,box-shadow .35s ease; }
.menu-card:nth-child(3n+2) { --card-glow:rgba(136,151,126,.24); }
.menu-card:nth-child(3n) { --card-glow:rgba(151,112,104,.25); }
.menu-card:hover { border-color:rgba(127,82,58,.26); box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 28px 70px rgba(61,40,29,.14); }
.menu-card::before { content:""; position:absolute; z-index:0; inset:auto; top:-58px; left:50%; width:68%; aspect-ratio:1; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:transparent; transform:translateX(-50%); pointer-events:none; }
.menu-card::after { content:""; position:absolute; z-index:4; top:calc(0px - var(--card-image-overhang) - 18px); right:0; bottom:0; left:0; border-radius:30px; pointer-events:none; background:radial-gradient(circle at var(--shine-x,70%) var(--shine-y,10%),rgba(255,255,255,.52),transparent 27%); opacity:.42; }
.menu-card__index { position:absolute; z-index:5; top:22px; left:25px; color:rgba(73,52,39,.42); font:600 .49rem/1 Arial,sans-serif; letter-spacing:.2em; }
.menu-card__image { position:relative; z-index:2; flex:0 0 245px; min-height:0; margin-top:-75px; overflow:visible; background:transparent; }
.menu-card__image::before { content:""; position:absolute; left:50%; bottom:18px; width:42%; height:17px; border-radius:50%; background:rgba(52,32,23,.15); filter:blur(9px); transform:translateX(-50%); }
.menu-card__image::after { content:""; position:absolute; inset:auto 13% 0; height:1px; background:linear-gradient(90deg,transparent,rgba(72,50,38,.16),transparent); pointer-events:none; }
.menu-card__image>img { position:relative; z-index:2; width:100%; height:100%; padding:0 32px 10px; object-fit:contain; filter:drop-shadow(0 22px 18px rgba(52,30,21,.2)); transition:transform .75s var(--ease-luxury); }
.menu-card:hover .menu-card__image>img { transform:translateY(-7px) scale(1.035); }
.image-placeholder { position:relative; display:grid; place-items:center; width:100%; height:100%; min-height:0; overflow:visible; color:rgba(80,49,36,.48); background:transparent; }
.image-placeholder::before { content:""; position:absolute; width:150px; aspect-ratio:1; border:1px dashed rgba(255,255,255,.47); border-radius:50%; }
.image-placeholder::after { content:""; position:absolute; left:50%; bottom:19px; width:38%; height:12px; border-radius:50%; background:rgba(57,34,24,.12); filter:blur(7px); transform:translateX(-50%); }
.menu-card__image .image-placeholder__icon { position:relative; z-index:2; width:min(42%,96px); height:auto; padding:0; object-fit:contain; opacity:.52; filter:saturate(.72) contrast(1.08) drop-shadow(0 18px 13px rgba(67,40,28,.15)); }
.status-badge,.discount-badge { position:absolute; z-index:4; top:14px; right:14px; padding:7px 11px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#fff; background:rgba(63,31,32,.77); box-shadow:0 8px 24px rgba(37,19,17,.16); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); font-size:.61rem; }
.discount-badge { background:rgba(127,72,44,.76); }
.menu-card__body { position:relative; z-index:2; display:flex; flex:1; flex-direction:column; min-width:0; padding:18px 22px; }
.menu-card__label { color:var(--copper); font:600 .49rem/1 Arial,sans-serif; letter-spacing:.19em; }
.menu-card__topline { display:contents; }
.menu-card h3 { order:1; margin:13px 0 0; font-size:clamp(1.2rem,1.6vw,1.5rem); font-variation-settings:"wght" 580; font-weight:580; line-height:1.12; letter-spacing:-.025em; }
.menu-card p { order:2; display:-webkit-box; min-width:0; min-height:1.75em; margin:8px 0 14px; overflow:hidden; color:var(--muted); white-space:nowrap; text-overflow:ellipsis; -webkit-box-orient:vertical; -webkit-line-clamp:1; font-size:.68rem; line-height:1.75; }
.price { order:3; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; margin-top:auto; padding-top:14px; border-top:1px solid rgba(73,52,39,.1); line-height:1; }
.price::after { content:""; width:27px; height:27px; margin-right:auto; border:1px solid rgba(73,52,39,.18); border-radius:9px; background:radial-gradient(circle at 50% 45%,var(--copper) 0 2px,transparent 3px); }
.price strong { color:var(--ink); font:500 clamp(1rem,1.5vw,1.24rem)/1 "Shazde",Tahoma,Arial,sans-serif; font-variation-settings:"wght" 500; font-feature-settings:"ss04" 1; }
.price del { color:#a29790; font:.65rem/1 Arial,sans-serif; }
.price small { color:var(--copper); font-size:.58rem; }
.is-unavailable { opacity:.55; filter:grayscale(.55); }
.empty-inline,.no-results,.empty-state { padding:50px 28px; text-align:center; color:var(--muted); border-color:rgba(73,52,39,.11); border-radius:30px; background:rgba(255,255,255,.35); }
.no-results { margin-top:-4rem; margin-bottom:7rem; }
.empty-state { margin:0 auto 100px; }

.footer { position:relative; overflow:hidden; color:var(--ivory); background:radial-gradient(circle at 10% 22%,rgba(142,77,54,.28),transparent 31%),radial-gradient(circle at 88% 110%,rgba(169,104,70,.14),transparent 35%),#130f0d; }
.footer::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 44%,rgba(255,255,255,.025) 50%,transparent 56%); }
.footer::after { content:"GISOO"; position:absolute; left:-2vw; bottom:-.18em; color:rgba(255,255,255,.018); font:800 clamp(9rem,19vw,18rem)/.7 Arial,sans-serif; letter-spacing:-.08em; pointer-events:none; }
.footer__inner { position:relative; z-index:2; padding:58px 0 30px; }
.footer__top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer__brand { display:flex; align-items:center; gap:13px; color:inherit; text-decoration:none; }
.footer__brand-mark { display:grid; place-items:center; width:48px; aspect-ratio:1; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.07); }
.footer__brand-mark img { width:32px; height:32px; object-fit:contain; filter:brightness(0) invert(1) sepia(.12) saturate(.5); }
.footer__brand b,.footer__brand small { display:block; }
.footer__brand b { font-size:.9rem; font-variation-settings:"wght" 570; font-weight:570; }
.footer__brand small { margin-top:2px; color:rgba(241,236,227,.38); font:500 .45rem/1 Arial,sans-serif; letter-spacing:.2em; }
.footer__status { display:flex; align-items:center; gap:9px; color:rgba(241,236,227,.58); font-size:.66rem; }
.footer__status i { width:7px; aspect-ratio:1; border-radius:50%; background:#8dac7d; box-shadow:0 0 0 5px rgba(141,172,125,.1); }
.footer__main { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:50px; padding:clamp(60px,8vw,105px) 0; }
.footer__eyebrow { display:block; margin-bottom:20px; color:var(--copper-bright); font:600 .52rem/1 Arial,sans-serif; letter-spacing:.22em; }
.footer strong { display:block; font-size:clamp(3rem,5.5vw,5.3rem); font-variation-settings:"wght" 570; font-weight:570; line-height:.88; letter-spacing:-.045em; }
.footer strong em { color:var(--copper-bright); font-style:normal; font-variation-settings:"wght" 420; font-weight:420; }
.footer__message p { max-width:370px; margin:28px 0 0; color:rgba(241,236,227,.47); font-size:.76rem; line-height:1.9; }
.footer__back { display:flex; align-items:center; gap:15px; min-height:54px; padding:7px 18px 7px 7px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:var(--ivory); text-decoration:none; background:rgba(255,255,255,.055); transition:background .3s ease,transform .3s var(--ease-luxury); }
.footer__back:hover { background:rgba(255,255,255,.1); transform:translateY(-3px); }
.footer__back span { font-size:.72rem; }
.footer__back svg { width:39px; height:39px; padding:10px; border-radius:50%; color:var(--ink); background:var(--ivory); }
.footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); color:rgba(241,236,227,.32); font-size:.58rem; }
.footer__bottom span:first-child { direction:ltr; font:500 .47rem/1 Arial,sans-serif; letter-spacing:.2em; }
.footer__bean { position:absolute; z-index:1; width:54px; aspect-ratio:.72; border-radius:55% 45% 52% 48% / 62% 57% 43% 38%; opacity:.23; background:linear-gradient(135deg,#a87354,#4a271c 58%,#1f100c); box-shadow:inset 5px 6px 10px rgba(255,255,255,.11),0 18px 45px rgba(0,0,0,.3); }
.footer__bean::after { content:""; position:absolute; left:46%; top:8%; width:10%; height:84%; border-left:2px solid rgba(20,10,7,.55); border-radius:50%; }
.footer__bean--one { top:23%; left:8%; transform:rotate(38deg); }
.footer__bean--two { right:8%; bottom:15%; width:38px; transform:rotate(-47deg); }

@media (max-width: 900px) {
    .hero__stage { grid-template-columns:minmax(280px,.8fr) minmax(390px,1.2fr); }
    .hero__aside { display:none; }
    .hero-art { width:min(52vw,520px); }
    .menu-intro__row { grid-template-columns:1fr; }
    .menu-intro__row>p { margin-right:auto; }
    .menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; row-gap:80px; padding-top:65px; }
    .menu-card { --card-image-overhang:65px; border-radius:30px; }
    .menu-card__image { flex-basis:220px; margin-top:-65px; }
}

@media (max-width: 620px) {
    html { scroll-padding-top:132px; overflow-x:clip; }
    body { overflow-x:clip; touch-action:pan-y; }
    .page-noise { opacity:.022; }
    .container { width:min(100% - 24px,var(--container)); }
    .hero { min-height:100svh; min-height:100dvh; }
    .hero::before { left:-45vw; bottom:10vh; width:92vw; min-width:0; }
    .hero__inner { min-height:100svh; min-height:100dvh; padding-top:max(12px,env(safe-area-inset-top)); padding-bottom:54px; }
    .topbar { grid-template-columns:1fr auto; min-height:61px; padding:9px 10px; border-radius:19px; }
    .topbar__brand { font-size:.55rem; }
    .topbar__mark { width:38px; border-radius:12px; }
    .topbar__edition { display:none; }
    .topbar__menu-link span { display:none; }
    .topbar__menu-link { min-width:44px; min-height:44px; justify-content:center; }
    .topbar__menu-link svg { width:21px; }
    .hero__stage { display:block; min-height:calc(100svh - 78px); min-height:calc(100dvh - 78px); padding:48px 0 90px; }
    .hero__copy { z-index:4; padding:0; }
    .hero__kicker { justify-content:center; margin-bottom:24px; font-size:.67rem; }
    .hero__title { text-align:center; font-size:clamp(3.15rem,14vw,4.35rem); line-height:.88; }
    .hero__title em { margin-top:5px; }
    .hero__lead { max-width:275px; margin:clamp(325px,43vh,385px) auto 8px; text-align:center; font-size:.73rem; line-height:1.9; }
    .hero__action { display:flex; width:max-content; min-height:48px; margin:-8px auto 0; }
    .hero-art { position:absolute; inset:178px 0 auto; width:min(88vw,355px); margin-inline:auto; }
    .hero-art__orbit { inset:3%; }
    .hero-art__disc { inset:17%; }
    .hero-art__eyebrow,.hero-art__edition { font-size:.34rem; }
    .coffee-bean--one { right:16%; }
    .coffee-bean--two { right:0; }
    .coffee-bean--four { left:1%; }
    .hero__aside { display:none; }
    .scroll-cue { right:50%; bottom:24px; transform:translateX(50%); }
    .scroll-cue span { display:none; }
    .scroll-cue i { width:42px; }
    .ambient-orb--one { top:-13%; left:-45%; }
    .ambient-orb--two { right:-25%; top:34%; }
    .ambient-orb--three { left:6%; bottom:18%; }
    .menu-shell { padding-top:6.5rem; }
    .menu-intro h2 { font-size:clamp(3.8rem,19vw,5.4rem); line-height:.82; }
    .menu-intro__row { gap:38px; }
    .menu-tools-wrap { top:max(8px,env(safe-area-inset-top)); padding-inline:8px; margin-bottom:4.5rem; }
    .menu-tools { display:grid; gap:5px; padding:7px; border-radius:20px; -webkit-backdrop-filter:blur(18px) saturate(125%); backdrop-filter:blur(18px) saturate(125%); }
    .category-nav { order:2; gap:4px; scroll-snap-type:x proximity; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
    .category-nav__link { display:flex; align-items:center; min-height:44px; padding:9px 13px; font-size:.72rem; scroll-snap-align:start; }
    .search-box { order:1; width:100%; border-right:0; border-bottom:1px solid var(--line-light); }
    .search-box input { min-height:46px; padding:10px 4px; font-size:16px; }
    .section-heading { position:relative; display:block; min-height:68px; padding:0 0 19px; margin-bottom:18px; }
    .section-heading>div { align-items:flex-start; gap:10px; padding-left:0; }
    .section-heading__index { flex:0 0 auto; margin-top:8px; }
    .section-heading h2 { max-width:calc(100% - 28px); white-space:normal; font-size:clamp(2rem,10vw,2.8rem); line-height:.88; }
    .section-heading__count { position:absolute; left:0; top:8px; margin:0; }
    .menu-section { scroll-margin-top:138px; margin-bottom:5.75rem; }
    .menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:10px; row-gap:65px; padding-top:55px; }
    .menu-card { --card-image-overhang:55px; overflow:visible; border-radius:30px; background:radial-gradient(circle at 50% 2%,var(--card-glow),transparent 31%),linear-gradient(155deg,rgba(255,255,255,.88),rgba(232,221,208,.7)); box-shadow:inset 0 1px 0 #fff,0 14px 38px rgba(61,40,29,.075); -webkit-backdrop-filter:none; backdrop-filter:none; will-change:auto; content-visibility:visible; contain:none; }
    .menu-card::before { top:-42px; width:72%; }
    .menu-card__index { top:15px; left:16px; font-size:.42rem; }
    .menu-card__image { flex-basis:165px; margin-top:-55px; }
    .menu-card__image>img { padding:0 16px 6px; }
    .image-placeholder::before { width:105px; }
    .menu-card__body { padding:13px 13px 12px; }
    .menu-card h3 { margin-top:10px; overflow-wrap:anywhere; font-size:clamp(.98rem,4.6vw,1.12rem); line-height:1.15; }
    .menu-card p { min-height:1.72em; margin:6px 0 10px; font-size:.59rem; line-height:1.72; }
    .menu-card__label { font-size:.34rem; letter-spacing:.11em; }
    .menu-card__image .image-placeholder__icon { width:min(43%,66px); height:auto; }
    .status-badge,.discount-badge { top:10px; right:10px; padding:5px 7px; font-size:.48rem; }
    .price { gap:4px; padding-top:10px; }
    .price::after { width:24px; height:24px; border-radius:8px; }
    .price strong { font-size:.92rem; }
    .price small { font-size:.58rem; }
    .empty-inline,.no-results { padding:34px 20px; border-radius:24px; -webkit-backdrop-filter:none; backdrop-filter:none; }
    .footer__inner { padding-top:34px; padding-bottom:max(25px,env(safe-area-inset-bottom)); }
    .footer__top { gap:14px; padding-bottom:25px; }
    .footer__brand-mark { width:44px; border-radius:14px; }
    .footer__status { max-width:120px; text-align:right; font-size:.61rem; line-height:1.6; }
    .footer__main { display:block; padding:52px 0 48px; }
    .footer strong { font-size:clamp(2.75rem,12vw,3.8rem); line-height:.92; }
    .footer__message p { max-width:280px; margin-top:22px; font-size:.7rem; }
    .footer__back { width:max-content; min-height:50px; margin-top:33px; }
    .footer__bottom { align-items:flex-start; flex-direction:column-reverse; gap:12px; padding-top:20px; }
    .footer__bean--one { left:-4%; }
    .footer__bean--two { right:4%; bottom:24%; }
    .footer__inner > * { opacity:1 !important; visibility:visible !important; transform:none !important; }
}

@media (max-width: 370px) {
    .hero__stage { padding-top:28px; padding-bottom:70px; }
    .hero__title { font-size:3.25rem; }
    .hero-art { top:148px; width:270px; }
    .hero__lead { margin-top:255px; }
    .menu-intro h2 { font-size:3.65rem; }
    .menu-grid { grid-template-columns:1fr; row-gap:85px; padding-top:70px; }
    .menu-card { --card-image-overhang:75px; border-radius:30px; }
    .menu-card__image { flex-basis:210px; margin-top:-75px; }
    .menu-card__body { padding:19px 20px 18px; }
    .menu-card h3 { font-size:1.24rem; }
    .menu-card p { font-size:.66rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
    .glass { background:rgba(42,34,29,.92); }
    .menu-tools,.menu-card,.empty-inline,.no-results { background:rgba(245,240,232,.96); }
}
