:root{--cream:#fff7e7;--paper:#fffaef;--navy:#13344d;--hero:#173d59;--gold:#ffbf35;--red:#b63628;--line:#d9cdb7;--muted:#505653;--display:"Barlow Condensed","Arial Narrow",sans-serif;--script:Lobster,Georgia,serif;--body:"DM Sans",Arial,sans-serif;color:var(--navy);font:100%/1.5 var(--body);background:var(--paper)}
*{box-sizing:border-box}
html{scroll-padding-top:16px}
body{margin:0}
h1,h2,h3,p,figure{margin:0}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ed7020;outline-offset:4px}
.symbols{display:none}
.icon{display:inline-block;width:1.1em;height:1.1em;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none;vertical-align:-.14em}
.wrap{width:min(1200px,calc(100% - clamp(40px,10vw,150px)));margin-inline:auto}
.skip,.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip-path:none;background:white;color:#111;padding:12px;z-index:100}
.site-header{background:var(--cream);border-bottom:1px solid #dfd5bd;position:relative;z-index:5}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:24px}
.brand{display:flex;align-items:center;gap:16px}.brand img{width:83px;height:62px;object-fit:contain}.brand span{padding-left:15px;border-left:1px solid #cbbda6;color:var(--navy);font:700 .64rem/1.55 var(--body);letter-spacing:.15em}
#navigation{display:flex;align-items:center;gap:clamp(20px,2.7vw,42px)}
#navigation a,.footer-links>a,.footer-links button{font-weight:700;font-size:.95rem}
#navigation a:hover,.text-link:hover,.visit-phone:hover{color:var(--red)}
#navigation a>.icon{width:12px;height:12px;margin-left:2px}
.nav-actions,.hero-actions,.visit-actions{display:flex;align-items:center;gap:18px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;border:0;border-radius:7px;padding:14px 22px;font:700 1rem/1.35 var(--body);min-height:48px;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn.red{background:var(--red);color:white}.btn.red:hover{background:#94261c}.btn.gold{background:var(--gold);color:#1e3443}.btn.gold:hover{background:#ffd16d}
.mobile-toggle{display:none;background:transparent;border:0;color:var(--navy);width:46px;height:46px;border-radius:6px}
.mobile-toggle .icon{width:24px;height:24px}
.hero{position:relative;overflow:hidden;color:var(--cream);background-color:var(--hero);background-image:radial-gradient(ellipse at 81% 30%,#285673 0%,transparent 66%)}
.hero:before{content:"";position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.48' d='M0 0h150v150H0z'/%3E%3C/svg%3E");pointer-events:none}
.hero-inner{position:relative;display:grid;grid-template-columns: .94fr 1.06fr;align-items:center;gap:clamp(18px,3.5vw,64px);padding-block:60px 72px}


.hero h1{margin:0 0 23px;display:inline-flex;flex-direction:column;position:relative}
.hero h1 span{font:900 clamp(6.1rem,9.4vw,8.8rem)/.87 var(--display);letter-spacing:-.045em}
.hero h1 em{color:var(--gold);font:400 clamp(4.75rem,7.65vw,7.1rem)/.98 var(--script);transform:rotate(-5deg);transform-origin:left center;display:block;padding:0 .08em .02em .08em;letter-spacing:-.035em}
.hero-copy>p{max-width:410px;font-size:1.1rem;line-height:1.55;color:#fff2d9}
.hero-actions{gap:28px;margin-top:26px}
.text-link,.visit-phone{display:inline-flex;align-items:center;gap:10px;font-weight:700}
.text-link{position:relative;font-size:.96rem;padding-block:6px;border-bottom:2px solid currentColor;line-height:1.4}
.text-link.light:hover{color:var(--gold)}
.hero-art{position:relative;min-width:0;padding:15px 17px 18px 6px}
.photo-frame{position:relative;background:#fff6df;padding:9px 9px 0;transform:rotate(2.5deg);border-radius:5px;box-shadow:7px 10px 0 #0e3049}
.photo-frame>img{width:100%;aspect-ratio:1.54;object-fit:cover;object-position:50% 54%;border-radius:2px}
.photo-caption{color:var(--navy);display:flex;align-items:center;gap:12px;min-height:44px;padding:5px 8px;font-family:var(--display);font-size:clamp(.86rem,1.55vw,1.18rem);letter-spacing:.045em;font-weight:700}
.photo-no{font:700 .62rem/1 var(--body);letter-spacing:.1em;border-right:1px solid #c4b59e;padding-right:12px;white-space:nowrap}
.cap-star{margin-left:auto;color:var(--red);padding-right:4px}
.seal{position:absolute;right:-1%;top:-4%;width:clamp(86px,8vw,115px);aspect-ratio:1;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;transform:rotate(12deg);box-shadow:3px 4px 0 #17394c}
.seal>div{border:1.5px dashed var(--navy);border-radius:50%;width:87%;height:87%;display:flex;align-items:center;justify-content:center;flex-direction:column}.seal .icon{width:25%;height:25%;stroke-width:1.8;margin-bottom:2px}.seal b{font:900 clamp(1.1rem,1.85vw,1.6rem)/1 var(--display);letter-spacing:.02em}.seal span{font:700 .51rem/1.3 var(--body);letter-spacing:.13em;margin-top:2px}
.spark{position:absolute;color:#ffdc84}.spark .icon{width:100%;height:100%}.spark-1{width:24px;height:24px;top:-5%;left:2%}.spark-2{width:15px;height:15px;bottom:2%;left:-2%}
.checker{height:16px;position:relative;background:repeating-conic-gradient(var(--cream) 0 25%,var(--navy) 0 50%) 0 0/16px 16px}
.menu-section{padding:58px 0 54px;background:var(--paper)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
h2>span{color:var(--red)}
h2{font:900 clamp(3.05rem,5.2vw,4.65rem)/.99 var(--display);letter-spacing:-.032em}

.section-heading>.text-link{margin-bottom:4px}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-block:25px 22px}
.filter{display:inline-flex;align-items:center;justify-content:center;min-height:41px;background:transparent;color:var(--navy);border:1.5px solid #ccbea4;padding:8px 17px;border-radius:25px;font-weight:700;font-size:.93rem}
.filter:hover{border-color:var(--navy)}.filter[aria-current]{background:var(--navy);color:white;border-color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2vw,28px)}
.board[hidden]{display:none}.interactive .fallback-title{display:none}
.food-card{overflow:hidden;border-bottom:1px solid #d8cbb6}
.food-card img{width:100%;aspect-ratio:1.75;object-fit:cover;background:#e8decc;border-radius:7px}
.card-copy{padding:13px 0 17px}
.card-copy h3{font:700 clamp(1.5rem,2.4vw,2rem)/1.08 var(--display);letter-spacing:-.012em}
.card-copy p,.menu-note{color:var(--muted);font-size:.95rem;margin-top:5px}
.menu-note{font-size:.88rem;margin-top:20px}
.treat-section{background:#f5dfb5;border-top:1px solid #e5c999;border-bottom:1px solid #e5c999;padding:46px 0}
.treat-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,6vw,90px);align-items:center}
.treat-photo{border:5px solid var(--cream);outline:1px solid #d3ba91;transform:rotate(-1.5deg);box-shadow:5px 6px 0 #d4b788}
.treat-photo img{width:100%;aspect-ratio:1.85;object-fit:cover;object-position:50% 42%}
.treat-copy h2{margin:10px 0 18px}.treat-copy em{font:400 .9em/.92 var(--script);color:var(--red)}
.treat-copy>p{max-width:395px;margin-bottom:14px}
.visit-section{padding:60px 0;background:var(--navy);color:var(--cream)}
.visit-inner{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(25px,6vw,90px);align-items:center}
.visit-copy h2 span{color:var(--gold)}.visit-copy h2{margin:12px 0 20px}
address{font-style:normal;font-size:1.1rem}.visit-phone{margin-top:12px}
.visit-phone:hover{color:var(--gold)}
.visit-actions{margin-top:23px;flex-wrap:wrap;gap:18px}
.visit-photo{border:1px solid #74808a;border-radius:8px;overflow:hidden}
.visit-photo img{width:100%;aspect-ratio:1.85;object-fit:cover;object-position:center 52%}
.visit-photo figcaption{font:700 .7rem/1.4 var(--body);letter-spacing:.13em;padding:12px 17px;display:flex;gap:8px;align-items:center}
.visit-photo figcaption span{margin-left:auto}
footer{background:var(--cream);padding:18px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px}
.footer-inner>p{font-size:.78rem}.footer-inner>p a{text-decoration:underline;font-weight:bold}
.footer-inner img{width:73px;height:auto}
.footer-links{display:flex;gap:20px;align-items:center}.footer-links button{padding:0;color:inherit;background:none;border:0}.footer-links>a,.footer-links button{font-size:.85rem}
.footer-links>a:hover,.footer-links button:hover{text-decoration:underline}.heart{color:var(--red)}
dialog{background:var(--cream);color:var(--navy);border:2px solid var(--navy);padding:30px;border-radius:12px;max-width:calc(100% - 32px)}
dialog::backdrop{background:#122e42aa}dialog h2{font-size:2.1rem;margin-bottom:15px}dialog label{display:block;padding:8px 0}dialog input{accent-color:var(--navy);width:18px;height:18px;vertical-align:middle}dialog form{margin-top:12px}
.pref-large{font-size:120%}.pref-contrast{--paper:#fff;--cream:#fff;--navy:#06121c;--hero:#06121c;--muted:#141414;--red:#8d180e}.pref-contrast .hero{background:#06121c}.pref-contrast .hero:before{display:none}.pref-underline a{text-decoration:underline}
@media(max-width:1000px){.brand span{display:none}.header-inner{min-height:78px}.hero-art{padding-right:9px}.hero-inner{gap:25px}.hero h1 span{font-size:clamp(5.5rem,10vw,7rem)}.hero h1 em{font-size:clamp(4.4rem,8vw,5.8rem)}.hero-actions{gap:15px}.hero-copy>p{font-size:1rem}.wrap{width:calc(100% - 8vw)}}
@media(max-width:820px){
.header-inner{min-height:70px;gap:10px}.brand img{width:66px;height:53px}.nav-actions{gap:6px}.header-pickup{min-height:42px;padding:10px 15px;font-size:.9rem}.mobile-toggle{display:grid;place-items:center}
#navigation{display:none;position:absolute;inset:100% 0 auto;background:var(--cream);box-shadow:0 10px 18px #102f421e;border-bottom:1px solid var(--line);padding:8px 4vw 16px}
#navigation.open{display:grid;gap:0}#navigation a{padding:13px 6px;border-bottom:1px solid var(--line)}
.hero-inner{padding-block:52px 58px}.hero-actions{align-items:flex-start;flex-wrap:wrap}
.footer-inner{flex-wrap:wrap}.treat-section{padding-block:38px}
}
@media(max-width:660px){
.wrap{width:calc(100% - 40px)}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:23px;padding:32px 0 31px}.hero-copy{position:relative}
.hero h1{margin:0 0 11px}.hero h1 span{font-size:clamp(5.5rem,18vw,7.2rem)}.hero h1 em{font-size:clamp(4.2rem,14vw,5.5rem)}.hero-copy>p{max-width:370px;font-size:1rem;line-height:1.45}.hero-actions{align-items:center;gap:20px;margin-top:19px}
.hero-art{align-self:center;width:min(100%,460px);padding:11px 11px 7px 8px}.photo-frame{transform:rotate(2deg);padding:6px 6px 0;box-shadow:4px 5px 0 #103047}.photo-frame>img{aspect-ratio:1.85}.photo-caption{min-height:31px;font-size:.83rem;padding:4px;gap:7px}.photo-no{font-size:.48rem;padding-right:7px}.seal{width:66px;right:-.5%;top:-1%;}.seal b{font-size:1rem}.seal span{font-size:.35rem}.spark-1{width:16px;height:16px;left:4%;top:-3%}.spark-2{display:none}.checker{height:12px;background-size:12px 12px}
.menu-section{padding:35px 0}.section-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.section-heading>.text-link{margin:0;font-size:.85rem}
.filters{gap:7px;margin:17px 0}.filter{padding:7px 12px;min-height:40px;font-size:.85rem}.cards{grid-template-columns:1fr;gap:0}.food-card{display:grid;grid-template-columns:31% 1fr;align-items:center;gap:14px;padding:12px 0}.food-card:first-child{border-top:1px solid var(--line)}.food-card img{aspect-ratio:1.2}.card-copy{padding:0}.card-copy h3{font-size:1.48rem}.card-copy p{font-size:.86rem;line-height:1.35}.menu-note{margin-top:14px}
.treat-inner,.visit-inner{grid-template-columns:1fr}.treat-inner{gap:23px}.treat-copy{grid-row:1}.treat-copy h2{margin-bottom:12px}.treat-photo{max-width:460px;margin:0 4px}
.visit-section{padding:38px 0}.visit-copy h2{margin-bottom:16px}.visit-photo figcaption{font-size:.57rem}
.footer-inner{display:grid;grid-template-columns:auto 1fr}.footer-links{justify-content:flex-end;gap:12px;flex-wrap:wrap}.footer-inner>p{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.footer-inner img{width:61px}
}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.hero-actions{gap:12px}.hero-actions .btn{padding-inline:15px}.hero-actions .text-link{font-size:.84rem}.photo-caption{font-size:.71rem}.btn{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
