@font-face{font-family:Rubik;src:url('assets/Rubik-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url('assets/Rubik-Bold.woff') format('woff');font-weight:700 900;font-display:swap}
:root{--pink:#ed168b;--berry:#a80056;--cream:#fffbd5;--paper:#fffdf4;--ink:#302623;--muted:#6d5751;--line:#30262329;--max:1200px;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 Rubik,Arial,sans-serif}::selection{background:var(--berry);color:var(--cream)}body{scrollbar-color:var(--berry) var(--cream)}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-underline-offset:5px}button,a{transition:transform 140ms var(--ease),background-color 180ms ease,color 180ms ease}button:active,a:active{transform:scale(.98)}button:focus-visible,a:focus-visible{outline:3px solid #066269;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;letter-spacing:-.03em}button:disabled{cursor:default;opacity:.5}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:var(--ink);color:var(--cream);padding:12px 18px}.skip-link:focus{top:12px}
.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);padding:10px 32px;margin:auto;display:flex;align-items:center;gap:24px;min-height:96px}.brand{display:block;width:136px;flex-shrink:0}.brand img{width:100%;height:auto}.header-place{font-size:.75rem;font-weight:700;letter-spacing:.14em;margin-left:auto}.language{margin-left:auto;display:flex;align-items:center;gap:8px;background:transparent;min-height:46px;min-width:94px;justify-content:center;border:1px solid var(--line);border-radius:30px;font-size:.875rem;font-weight:700;padding:6px 12px}.language-current{background:var(--ink);color:var(--cream);border-radius:20px;padding:4px 7px}.language-divider{color:var(--muted)}.language-other{color:var(--berry)}

.categories{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.category-inner{max-width:var(--max);margin:auto;display:flex;gap:8px;padding:14px 32px}.categories button{padding:10px 24px;background:transparent;border-radius:30px;min-height:48px;display:flex;gap:14px;align-items:center;font-weight:700}.categories button.active{background:var(--berry);color:var(--cream)}.categories small{font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:400}.categories button:not(.active):hover{background:#fbe6ed}
.menu-area{max-width:var(--max);margin:auto;padding:36px 32px 56px;scroll-margin-top:100px;min-height:420px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2{font-size:1.85rem;font-weight:700;line-height:1.2}.section-heading p{font-size:.875rem;color:var(--muted)}.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:stretch}.menu-card{position:relative;display:flex;flex-direction:column;min-width:0;text-align:left;background:transparent;border-radius:16px;overflow:hidden;padding:0;isolation:isolate;transition:transform 160ms var(--ease)}.photo-frame{width:100%;aspect-ratio:3/3.5;position:relative;overflow:hidden;background:#e6bad0;border-radius:16px}.product-image{width:100%;height:100%;object-fit:cover;transition:transform 250ms var(--ease)}.card-copy{padding:20px 3px 6px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:8px;width:100%}.card-copy h3{font-size:1.65rem;line-height:1.15;font-weight:700;overflow-wrap:anywhere}.card-copy p{font-size:1rem;line-height:1.5;color:var(--muted)}.tap-label{font-size:.8125rem;font-weight:700;display:flex;align-items:center;gap:12px;min-height:44px;margin-top:auto;padding-top:8px;color:var(--berry)}.tap-label:after{content:'';height:7px;width:7px;border-top:1.5px solid;border-right:1.5px solid;transform:rotate(45deg)}.photo-tag{position:absolute;left:14px;top:14px;background:var(--cream);color:var(--ink);padding:5px 11px;border-radius:6px;font-size:.6875rem;letter-spacing:.035em;font-weight:700}
.items.savory,.items.toppings{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.text-card{border-radius:0;border-top:1px solid var(--line)}.text-card .card-copy{padding:28px 0;min-height:205px}.text-card h3{font-size:1.85rem;color:var(--berry)}.text-card p{max-width:40ch}.items.toppings{grid-template-columns:repeat(3,minmax(0,1fr))}.items.toppings h3{font-size:1.5rem}.price-note{font-size:.8125rem;color:var(--muted);margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.no-script h2{margin-top:24px}.no-script p{margin-top:12px}
.visit{background:var(--cream);border-top:1px solid var(--line)}.visit-inner{max-width:var(--max);margin:auto;padding:44px 32px;display:grid;grid-template-columns:140px 1fr 1fr;align-items:center;gap:44px}.visit-brand img{height:auto;transform:rotate(-4deg)}.visit h2{font-size:1.4rem;line-height:1.25;margin:0 0 8px}.visit-location>p{color:var(--muted);font-size:.9375rem}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:700;color:var(--berry)}.phone{display:block;font-size:1.5rem;font-weight:700;text-decoration:none;min-height:44px;color:var(--berry)}.social{display:inline-flex;font-size:.875rem;min-height:44px;align-items:center}footer{max-width:var(--max);padding:24px 32px max(24px,env(safe-area-inset-bottom));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.75rem;color:var(--muted)}footer>span:first-child{font-weight:700;color:var(--berry)}.mobile-order{display:none}
body.modal-open{position:fixed;width:100%;overflow:hidden}dialog{border:0;border-radius:20px;background:var(--paper);color:var(--ink);padding:0;width:calc(100% - 48px);max-width:850px;max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #30262338}dialog::backdrop{background:#201018b8}dialog[open]{animation:detail-in 220ms var(--ease)}.close{position:absolute;right:14px;top:14px;z-index:2;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--cream);display:grid;place-items:center}.detail-layout{display:grid;grid-template-columns:45% 55%;min-height:490px}.detail-visual{background:var(--pink);display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-visual img{width:100%;height:auto;object-fit:contain}.detail-visual.brand-visual{padding:40px;background:var(--cream)}.detail-content{padding:64px 32px 28px;display:flex;flex-direction:column}.detail-category{order:1;color:var(--berry);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin:4px 0 18px}.detail-content h2{order:0;font-size:2.8rem;line-height:1.05;margin:0 0 5px}.detail-content>:not(h2):not(.detail-category){order:2}.detail-subtitle{font-size:1rem;color:var(--muted);margin-bottom:24px}.detail-subtitle:empty{display:none}.detail-content h3{font-size:.9375rem;margin-bottom:8px}.detail-content #detail-ingredients{font-size:1rem;line-height:1.65}.detail-extra{font-size:.875rem;line-height:1.6;margin:20px 0;color:var(--muted)}.detail-note{font-size:.8125rem;line-height:1.5;border-top:1px solid var(--line);padding-top:18px;margin:8px 0 22px;color:var(--muted)}.order,.done{width:100%;min-height:49px;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;padding:12px 15px;border-radius:30px}.order{background:var(--berry);color:var(--cream);text-decoration:none}.done{margin-top:8px;background:transparent;text-decoration:underline}.order:hover{background:var(--ink)}@keyframes detail-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(hover:hover){.menu-card:hover .product-image{transform:scale(1.025)}.menu-card:hover .tap-label{text-decoration:underline;text-underline-offset:5px}.language:hover{background:#fbe6ed}.close:hover{background:#fbe6ed}}
@media(max-width:1000px){.items{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-inner{grid-template-columns:100px 1fr 1fr;gap:28px}.visit h2{font-size:1.2rem}.phone{font-size:1.2rem}.section-heading p{max-width:230px;text-align:right}}
@media(max-width:600px){.header-inner{padding:8px 20px;min-height:79px;gap:12px}.brand{width:108px}.header-place{display:none}.language{font-size:.8125rem}.category-inner{padding:12px 16px;gap:4px}.categories button{flex:1;min-width:0;justify-content:center;padding:10px 11px;gap:8px;font-size:.875rem}.categories small{font-size:.6875rem}.menu-area{padding:28px 18px 36px}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:1.55rem}.section-heading p{max-width:none;text-align:left;font-size:.8125rem;margin-top:7px}.items{gap:24px 14px}.photo-frame{border-radius:12px;aspect-ratio:3/4}.menu-card{border-radius:12px}.card-copy{padding:14px 0 0;gap:6px}.card-copy h3{font-size:clamp(1.2rem,5vw,1.5rem)}.card-copy p{font-size:.875rem;line-height:1.45}.tap-label{font-size:.75rem;gap:8px;padding-top:5px}.photo-tag{font-size:.5625rem;padding:5px 7px;left:8px;top:8px}.items.savory,.items.toppings{grid-template-columns:1fr}.text-card{border-radius:0}.text-card .card-copy{padding:24px 0;min-height:0;gap:10px}.text-card h3,.items.toppings h3{font-size:1.65rem}.text-card p{font-size:1rem}.text-card .tap-label{font-size:.8125rem}.price-note{margin-top:24px}.visit-inner{padding:32px 22px;grid-template-columns:1fr;gap:24px}.visit-brand{display:none}.visit-contact{padding-top:24px;border-top:1px solid var(--line)}.visit h2{font-size:1.45rem}.phone{font-size:1.6rem}footer{padding:22px 20px calc(110px + env(safe-area-inset-bottom));font-size:.6875rem;gap:16px}.mobile-order{position:fixed;inset:auto 0 0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line)}.mobile-order span{font-size:.8125rem;font-weight:700}.mobile-order a{background:var(--berry);color:var(--cream);padding:12px 18px;border-radius:30px;font-size:.8125rem;font-weight:700;text-decoration:none;min-height:46px;text-align:center}.modal-open .mobile-order{visibility:hidden}.detail-layout{display:block;min-height:0}dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:94vh;max-height:94dvh;border-radius:22px 22px 0 0}.detail-visual img{width:100%;height:auto;max-height:43vh;max-height:43dvh;object-fit:contain}.detail-visual.brand-visual{height:170px;padding:24px}.detail-visual.brand-visual img{width:160px;max-height:125px;object-fit:contain}.detail-content{padding:26px 24px max(24px,env(safe-area-inset-bottom))}.detail-content h2{font-size:2.3rem}.close{position:sticky;top:12px;float:right;margin:12px 12px -58px 0}}
@media(max-width:350px){.categories button{font-size:.8125rem;padding:10px 8px}.categories small{display:none}.items{grid-template-columns:1fr}.photo-frame{aspect-ratio:1/1}.card-copy h3{font-size:1.6rem}.mobile-order span{display:none}.mobile-order a{width:100%}}
.keyboard-input *, .keyboard-input *:before,.keyboard-input *:after{animation:none!important;transition:none!important}.keyboard-input{scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
