@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-display:swap;font-weight:300 700}
@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-display:swap;font-weight:200 800}

:root{--pink:#e836dd;--blue:#88f0f3;--paper:#fafaf7;--ink:#151515;--line:1px solid var(--ink);--space:clamp(24px,5vw,76px)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.5 Text,Arial,sans-serif}
h1,h2,h3,.brand,.dish,.price,.footer-name{font-family:Display,Arial,sans-serif;font-weight:600;line-height:1.04;letter-spacing:-.035em}
h1,h2,h3,p,dl,figure{margin:0}
h1{font-size:clamp(3.2rem,7vw,5.5rem);max-width:16ch;text-wrap:balance}
h2{font-size:clamp(2rem,4vw,3.5rem);max-width:24ch;text-wrap:balance}
h3{font-size:1.35rem;letter-spacing:-.02em}
p{max-width:70ch}
p+p{margin-top:1em}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:3px}
button,a,summary{-webkit-tap-highlight-color:var(--blue)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px;background:var(--blue)}
::selection{background:var(--ink);color:var(--blue)}
html{scrollbar-color:var(--ink) var(--pink)}
button{font:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.5}
.skip{position:fixed;z-index:20;left:12px;top:-100px;padding:12px;background:var(--blue)}
.skip:focus{top:12px}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:22px var(--space);border-bottom:var(--line);gap:24px;background:var(--pink)}
.brand{font-size:24px;letter-spacing:-.04em;line-height:.86;text-decoration:none;position:relative;padding-right:30px}
.brand-dot{display:block;width:20px;height:20px;border-radius:50%;background:var(--ink);position:absolute;right:0;bottom:0}
.desktop-nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,28px);flex-wrap:wrap;justify-content:flex-end}
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-decoration:none}
.desktop-nav a:hover,.desktop-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}
.mobile-nav{display:none}
.intro{background:var(--pink);padding:32px var(--space) 24px}
.intro-bottom{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px;margin-top:32px}
.intro-bottom p{font-size:22px;max-width:40ch}
.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:52px;padding:14px 22px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);font-size:17px;font-weight:700;text-decoration:none}
.button:hover{background:var(--paper);color:var(--ink);text-decoration:none}
.button:focus-visible{color:var(--ink)}
.button[hidden]{display:none}
.sample{font-size:14px;margin-top:24px!important;max-width:none}
.daily-board{padding:38px var(--space) 0}
.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:24px}
.section-title h2{font-size:1.8rem}
.section-title p{font-size:14px}
.board-grid,.menu-grid,.kitchen-columns,.visit-board,.contact-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.board-grid{border-top:var(--line);border-bottom:var(--line)}
.board-grid article{padding:24px 28px 32px 0}
.board-grid article+article{border-left:var(--line);padding-left:28px}
.board-grid h3{font-size:16px;letter-spacing:0;margin-bottom:25px}
.dish{font-size:clamp(1.8rem,2.6vw,2.5rem);margin-bottom:18px}
.board-grid p:not(.dish):not(.price){font-size:17px}
.price{font-size:2.3rem;margin-top:24px}
.price span{font:14px Text,Arial,sans-serif;letter-spacing:0}
.practical{background:var(--blue);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:40px var(--space);gap:36px}
.practical h2{font-size:2.7rem}
.practical a,.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.image-story{padding:88px var(--space)}
.image-story>h2{margin-bottom:44px;max-width:20ch}
.food-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.food-image figcaption{font-size:14px;margin-top:14px}
.image-story>p{margin-top:32px;font-size:22px;max-width:46ch}
.image-story .text-link{margin-top:12px}
.contact-strip{background:var(--pink);padding:48px var(--space);display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.contact-strip .button{grid-column:2;justify-self:start}
footer{background:var(--ink);color:var(--paper);padding:44px var(--space);font-size:14px}
footer a:focus-visible{color:var(--ink)}
.footer-name{display:inline-block;font-size:34px;text-decoration:none;margin-bottom:24px}
footer p{max-width:none}
footer a{display:inline-flex;align-items:center;min-height:44px}
footer p:last-child{display:flex;gap:24px}
.inner{padding-bottom:40px}
.inner>p:not(.sample){font-size:22px;margin-top:28px;max-width:42ch}
.print-tools{padding:32px var(--space);display:flex;gap:28px;align-items:center;flex-wrap:wrap;background:var(--blue)}
.print-tools p{font-size:16px;max-width:58ch}
.print-tools>a{min-height:44px;display:inline-flex;align-items:center}
.print-menu{padding:48px var(--space) 72px}
.menu-masthead{padding-bottom:32px;border-bottom:2px solid var(--ink)}
.menu-masthead h2{font-size:2.5rem;margin-bottom:20px}
.menu-date{font-weight:700}
.menu-masthead p:last-child{font-size:15px;margin-top:8px}
.menu-grid{gap:36px;padding:32px 0}
.menu-column h2{font-size:1.9rem;margin-bottom:32px}
.menu-entry+ .menu-entry{margin-top:32px}
.menu-entry dt{display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:20px}
.menu-entry dt span{white-space:nowrap;font-variant-numeric:tabular-nums}
.menu-entry dd{margin:10px 0 0;font-size:17px}
.menu-notes{border-top:var(--line);padding-top:28px;font-size:15px}
.menu-notes h2{font-size:22px;margin-bottom:16px}
.offering{padding:64px var(--space);display:grid;grid-template-columns:2fr 1fr;gap:64px}
.offering-title>p:last-child{margin-top:28px;font-size:22px;max-width:38ch}
.facts>div{border-top:var(--line);padding:18px 0}
.facts dt{font-weight:700}
.facts dd{margin:8px 0 0}
.offering+figure{margin:0 var(--space)}
.reading{padding:64px var(--space);max-width:1000px}
.reading>h2{margin:56px 0 24px}
.reading>h2:first-child{margin-top:0}
.reading>.button{margin-top:28px}
.kitchen-columns,.visit-board,.contact-board{padding:48px var(--space);gap:36px}
.kitchen-columns h2,.visit-board h2,.contact-board h2{font-size:1.9rem;margin-bottom:24px}
.work-slot{padding:56px var(--space);background:var(--blue)}
.photo-placeholder{background:var(--paper);border:var(--line);min-height:260px;display:flex;align-items:center;justify-content:center;padding:32px;text-align:center;font-size:24px;font-family:Display,Arial,sans-serif}
.work-slot h2{margin:32px 0 20px}
.hours>div{padding:12px 0;border-top:var(--line)}
.hours dd{margin:4px 0 0}
.hours+p{font-size:15px;margin-top:16px}
.owner{padding:56px var(--space);background:var(--blue)}
.owner>h2{margin-bottom:40px}
.owner-grid{display:grid;grid-template-columns:1fr 2fr;gap:36px}
.owner h3{font-size:30px;margin-bottom:18px}
.team{display:grid;grid-template-columns:1fr 2fr;gap:36px;margin-top:40px;align-items:center}
.team .photo-placeholder{min-height:200px}
.review-slot{padding:64px var(--space)}
.review-slot article{margin:32px 0 20px;padding:28px 0;border-top:var(--line);border-bottom:var(--line);max-width:760px}
.review-slot h3{margin-bottom:14px}
.faq-list{padding:40px var(--space) 80px;max-width:1100px}
.faq-list details{border-bottom:var(--line);padding:20px 0}
.faq-list summary{font-family:Display,Arial,sans-serif;font-size:24px;line-height:1.3;padding:12px 30px 12px 0;cursor:pointer;min-height:54px}
.faq-list details p{margin:20px 0;max-width:65ch}
.faq-list details a{display:inline-flex;align-items:center;min-height:44px}
.large-link{font-size:clamp(20px,2.2vw,28px);overflow-wrap:anywhere}
.contact-board a{display:inline-flex;align-items:center;min-height:44px}
.contact-board{background:var(--blue)}
.contact-board>div>p{margin-top:16px}
.profile-slots{padding-left:22px}
.profile-slots li{margin:12px 0}

@media(max-width:1050px){.desktop-nav{display:none}
.mobile-nav{display:block;position:relative}
.mobile-nav summary{min-width:84px;padding:10px;cursor:pointer;min-height:44px;font-weight:700}
.mobile-nav nav{position:absolute;z-index:5;right:0;top:55px;background:var(--paper);border:var(--line);padding:12px;width:230px}
.mobile-nav nav a{display:block;min-height:44px;padding:10px}
.board-grid,.practical,.menu-grid,.kitchen-columns,.visit-board,.contact-board{grid-template-columns:repeat(2,minmax(0,1fr))}
.board-grid article:nth-child(3){grid-column:1/-1;border-left:0;border-top:var(--line);padding-left:0}
.practical h2{grid-column:1/-1}
.contact-board>div:last-child,.visit-board>div:last-child{grid-column:1/-1}
.menu-grid{gap:40px}
.offering{gap:32px}
.intro-bottom{grid-template-columns:1fr}
.intro-bottom>.button{justify-self:start}
.kitchen-columns>div:last-child{grid-column:1/-1}
.section-title{display:block}
.section-title p{margin-top:12px}
}

@media(max-width:600px){body{font-size:17px}
.site-header{padding-top:18px;padding-bottom:18px}
.intro{padding-top:36px}
.intro-bottom p,.inner>p:not(.sample){font-size:20px}
.intro-bottom{gap:24px}
.sample{font-size:13px}
.daily-board{padding-top:28px}
.board-grid,.practical,.menu-grid,.kitchen-columns,.visit-board,.contact-board,.offering,.owner-grid,.team{grid-template-columns:1fr}
.board-grid article,.board-grid article+article{padding:24px 0;border-left:0}
.board-grid article+article{border-top:var(--line)}
.board-grid h3{margin-bottom:16px}
.dish{font-size:2rem}
.practical{gap:28px;padding-top:32px;padding-bottom:32px}
.practical h2{font-size:2.3rem}
.image-story{padding-top:56px;padding-bottom:56px}
.image-story>h2{margin-bottom:30px}
.image-story>p{font-size:20px}
.contact-strip{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px}
.contact-strip .button{grid-column:auto}
.print-menu{padding-top:36px}
.menu-grid{gap:40px}
.menu-column{padding-top:24px;border-top:var(--line)}
.menu-column:first-child{padding-top:0;border:0}
.menu-column h2{margin-bottom:24px}
.menu-entry dt{font-size:19px}
.menu-masthead h2{font-size:2rem}
.offering{padding-top:40px;padding-bottom:40px}
.offering-title>p:last-child{font-size:20px}
.reading{padding-top:40px;padding-bottom:48px}
.photo-placeholder{min-height:220px;font-size:21px}
.owner-grid,.team{gap:24px}
.team{margin-top:36px}
.faq-list summary{font-size:21px}
footer p:last-child{display:block}
footer p:last-child a{display:flex}
.button{max-width:100%;gap:20px}
.food-image figcaption{font-size:13px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}

@media print{@page{size:auto;margin:16mm}
body{background:#fff;color:#000;font:11pt/1.4 Text,Arial,sans-serif}
.site-header,footer,.skip,.intro,.print-tools,main>*:not(.print-menu){display:none!important}
.print-menu{display:block!important;padding:0}
.menu-masthead{padding-bottom:12pt;border-bottom:2pt solid #000}
.menu-masthead h2{font-size:24pt;max-width:none}
.menu-date{font-size:12pt}
.menu-grid{display:block;padding:16pt 0}
.menu-column{border:0;padding:0;margin-bottom:18pt}
.menu-column h2{font-size:17pt;margin-bottom:10pt;break-after:avoid}
.menu-entry{break-inside:avoid}
.menu-entry+ .menu-entry{margin-top:10pt}
.menu-entry dt{font-size:12pt}
.menu-entry dd{font-size:10pt;margin-top:3pt}
.menu-notes{font-size:9pt;padding-top:12pt;break-inside:avoid}
.menu-notes h2{font-size:12pt;margin-bottom:8pt}
a{color:#000;text-decoration:none}
img{display:none!important}
}

