@layer style, blocks, features, site;
@layer style{

:root{--dur-1:150ms;--dur-2:200ms;--dur-3:300ms;--ease-out:cubic-bezier(.32,.72,0,1);--ease-in:cubic-bezier(.32,0,.67,0);--ease-in-out:cubic-bezier(.65,0,.35,1);--ground:#F6F1E9;--surface:#FFFFFF;--ink:#16110F;--ink-muted:#62574F;--line:rgba(22,17,15,.12);--turmeric:#E9A72B;--turmeric-soft:#F6E2B3;--accent:#B69E30;
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;--font-text:"Instrument Sans",system-ui,sans-serif;--font-accent:"Instrument Serif",Georgia,serif;
  
  --gut-min:clamp(16px,4vw,64px);--page-gut:max(var(--gut-min),(100vw - 1344px) / 2);--gut:var(--page-gut);--r:28px;
  
  --on-dark:#fff;--sheet:#fff;--darken:#000;
  
  --shade:#16110F}

:root{--step--1:clamp(.8333rem,.8298rem + .0157vw,.844rem);--step-0:clamp(1rem,.9583rem + .1852vw,1.125rem);--step-1:clamp(1.2rem,1.1001rem + .4439vw,1.4996rem);--step-2:clamp(1.44rem,1.2537rem + .8281vw,1.999rem);--step-3:clamp(1.728rem,1.4158rem + 1.3877vw,2.6647rem);--step-4:clamp(2.0736rem,1.5808rem + 2.1902vw,3.552rem);--step-5:clamp(2.4883rem,1.7395rem + 3.3281vw,4.7348rem);--step-6:clamp(2.986rem,1.8775rem + 4.9267vw,6.3115rem)}
*,*::before,*::after{box-sizing:border-box}

html{scroll-padding-top:90px;scroll-padding-bottom:calc(var(--consent-h,0px) + 12px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--ground);color:var(--ink);font:400 var(--step-0)/1.65 var(--font-text)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:calc(var(--track,1)*-.035em);line-height:var(--leading,.98);margin:0 0 .45em}
h2{font-size:var(--step-4)}
p{margin:0 0 1em}
.small{font-size:var(--step--1);color:var(--ink-muted)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--sheet);padding:8px 14px;border-radius:999px}

[data-ground]{background:var(--ground);color:var(--ink)}


.btn{display:inline-flex;align-items:center;gap:.5em;font:600 var(--step-0)/1 var(--font-text);padding:1rem 1.5rem;border-radius:999px;text-decoration:none;white-space:nowrap;border:1.5px solid transparent;margin:0 .4rem .6rem 0}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:var(--on-primary)}
.btn-primary:hover{background:color-mix(in srgb,var(--primary) 85%,var(--darken))}
.btn-glass{background:rgba(255,255,255,.14);color:var(--on-dark);border-color:rgba(255,255,255,.4);backdrop-filter:blur(8px)}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.btn-light{background:var(--ground);color:var(--ink)}


.site-header{position:sticky;top:0;z-index:20;background:rgba(246,241,233,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.has-hero .site-header{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:var(--on-dark);backdrop-filter:none}
.has-hero .site-header::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;background:linear-gradient(rgba(22,17,15,.45),transparent)}
.has-hero .site-header.is-solid::before{opacity:0}
.has-hero .site-header::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(246,241,233,.88);border-bottom:1px solid var(--line);opacity:0}
.has-hero .site-header.is-solid::after{opacity:1}
.has-hero .site-header.is-solid{color:var(--ink);backdrop-filter:blur(14px)}
.bar{display:flex;align-items:center;gap:32px;padding:14px var(--gut);min-height:72px}
.wordmark{font:var(--weight-name,700) var(--step-1)/1 var(--font-name,var(--font-display));letter-spacing:calc(var(--track,1)*-.04em);text-decoration:none;margin-right:auto}
.nav-wide ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav-wide a{font-weight:500;text-decoration:none;opacity:.85}.nav-wide a:hover{opacity:1}
.head-book{background:var(--primary);color:var(--on-primary);font-weight:600;text-decoration:none;padding:.7rem 1.15rem;border-radius:999px;white-space:nowrap}

.hero-books .head-book{visibility:hidden;opacity:0}
.nav-narrow{display:none;position:relative}
.nav-narrow summary{list-style:none;cursor:pointer;font-weight:600;padding:.65rem 1rem;border-radius:999px;border:1.5px solid currentColor}
.nav-narrow summary::-webkit-details-marker{display:none}
.nav-narrow nav{position:absolute;right:0;top:calc(100% + 10px);background:var(--surface);color:var(--ink);border-radius:20px;box-shadow:0 20px 50px rgba(22,17,15,.18);min-width:250px;padding:10px}
.nav-narrow ul{list-style:none;margin:0;padding:0}
.nav-narrow a{display:block;padding:12px 14px;border-radius:12px;font-weight:500;text-decoration:none}.nav-narrow a:hover{background:var(--ground)}
.nav-narrow p{margin:6px 0 0;border-top:1px solid var(--line);padding-top:6px}
@media (max-width:900px){.nav-wide{display:none}.nav-narrow{display:block}.bar{gap:10px}}
@media (max-width:380px){.head-book{display:none}}


.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--on-dark);background:var(--ink);overflow:hidden}
.hero-photo{position:absolute;inset:0}
.hero-photo picture{display:contents}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 55%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,17,15,.82) 0%,rgba(22,17,15,.25) 55%,rgba(22,17,15,.45) 100%)}
.hero-inner{position:relative;width:100%;padding:120px var(--gut) clamp(28px,4vw,48px)}

.hero-notice{position:absolute;z-index:2;margin:0;top:clamp(84px,9vw,112px);right:var(--gut);max-width:min(23rem,calc(100% - 2 * var(--gut)));display:block;background:var(--paper,#fff);color:var(--ink);border-radius:16px;padding:14px 18px 13px;text-decoration:none;font:600 var(--step-0)/1.3 var(--font-text);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.hero-notice-go{display:block;margin-top:6px;color:var(--primary);font-weight:700}.hero-notice-go span{display:inline-block}
@media (prefers-reduced-motion:no-preference){.hero-notice-go span{transition:transform var(--dur-2) var(--ease-out)}.hero-notice:hover .hero-notice-go span{transform:translateX(3px)}}
.hero-kicker{font-weight:700;font-size:var(--step-1);letter-spacing:.01em;margin:0 0 .5rem;text-shadow:0 1px 14px rgba(22,17,15,.55)}

.hero-inner{container-type:inline-size}
.hero h1{font-size:min(23rem,calc(100cqi * .9 / var(--name-em,4.6)));line-height:.8;letter-spacing:calc(var(--track,1)*-.06em);margin:0 0 clamp(20px,3vw,36px)}
.hero-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;border-top:1px solid rgba(255,255,255,.3);padding-top:clamp(18px,2.5vw,28px)}
.hero-line{font-size:var(--step-1);max-width:30ch;margin:0}

.hero .today{margin:.5rem 0 0;font-size:var(--step-0);font-weight:600;font-variant-numeric:tabular-nums;color:var(--on-dark);text-shadow:0 1px 14px rgba(22,17,15,.55)}
.hero-actions{margin:0}


.buffet,.about,.facts,.party,.visit,.menu-page-wrap{padding-inline:var(--gut)}
.buffet{padding-block:clamp(40px,6vw,88px) 0}
.buffet-card{background:var(--surface);border-radius:var(--r);padding:clamp(28px,5vw,64px);display:grid;gap:24px 64px;align-items:end}

.buffet-card+.buffet-card{margin-top:clamp(8px,1.2vw,16px)}
.buffet-card h2{font-size:var(--step-4);max-width:14ch}
.buffet-card p{max-width:54ch}
.chip{display:inline-block;background:var(--turmeric-soft);border-radius:999px;padding:.45rem .95rem;font-weight:600;font-size:var(--step--1);margin-bottom:1.2rem}
.buffet-price{font:700 var(--step-4)/1 var(--font-figures,var(--font-display));letter-spacing:calc(var(--track,1)*-.03em);color:var(--primary);margin:0;white-space:nowrap}
.buffet-price span{display:block;font:500 var(--step-0)/1.2 var(--font-text);letter-spacing:0;color:var(--ink-muted);margin-top:.8rem}
@media (min-width:960px){.buffet-card{grid-template-columns:1fr auto}}


.about{display:grid;gap:clamp(28px,5vw,72px);padding-block:clamp(80px,11vw,160px);align-items:start}

.about h2{color:var(--primary)}
.about-lead p{font-size:var(--step-2);line-height:1.35;letter-spacing:calc(var(--track,1)*-.01em);max-width:26ch}
.about-body{color:var(--ink-muted)}.about-body p{max-width:58ch}
.signature{font:italic 400 var(--step-2)/1.2 var(--font-accent);color:var(--ink);margin-top:1.4rem}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}

@media (min-width:1000px){.about{grid-template-columns:1.2fr 1fr .8fr;grid-template-rows:auto 1fr;row-gap:0}.about-lead{grid-row:1 / span 2;display:grid;grid-template-rows:subgrid;align-content:start}.about-body{grid-column:2;grid-row:2}.about-photo{grid-column:3;grid-row:1 / span 2}.about-lead p,.about-body>:first-child{margin-top:0}}


.facts{padding-bottom:clamp(80px,10vw,140px)}
.facts ul{list-style:none;margin:0;padding:0;display:grid;gap:40px}
.facts li{border-top:1px solid var(--ink);padding-top:22px}
.facts h3{font-size:var(--step-1);letter-spacing:calc(var(--track,1)*-.025em)}
.facts p{color:var(--ink-muted);max-width:40ch;margin:0}
@media (min-width:900px){.facts ul{grid-template-columns:repeat(3,1fr);gap:48px}}

.facts.has-figure{display:grid;gap:32px;align-items:center}
.facts-figure{margin:0;justify-self:center;width:min(220px,60vw)}
.facts-figure img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
@media (min-width:900px){.facts.has-figure{grid-template-columns:minmax(200px,280px) 1fr;gap:56px}.facts-figure{width:100%}.facts.has-figure ul{grid-template-columns:1fr;gap:28px}}
@media (min-width:1280px){.facts.has-figure ul{grid-template-columns:repeat(3,1fr);gap:40px}}


.menu-teaser{background:var(--ink);color:var(--ground);margin:0 var(--gut);border-radius:calc(var(--r) + 8px);padding:clamp(56px,8vw,120px) clamp(28px,5vw,64px)}
.menu-teaser h2{max-width:16ch}
.menu-picks{display:grid;gap:clamp(24px,4vw,64px);align-items:end}
.menu-picks-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r)}
.menu-intro{font-size:var(--step-1);line-height:1.5;color:rgba(246,241,233,.8);max-width:44ch}
@media (min-width:960px){.menu-picks{grid-template-columns:3fr 2fr}}



.delivery{background:var(--primary);color:var(--on-primary);margin:clamp(8px,1.2vw,16px) var(--gut);border-radius:calc(var(--r) + 8px);padding:clamp(40px,6vw,80px) clamp(28px,5vw,64px)}
.delivery h2{font-size:var(--step-4);max-width:17ch;margin:0 0 .6rem}
.delivery p{font-size:var(--step-0);max-width:48ch;margin:0}
.delivery-actions{margin-top:.8rem!important;display:flex;flex-wrap:wrap;gap:0}
.delivery-services{margin-top:.8rem!important}
.delivery-services a{color:inherit;text-decoration:underline;text-underline-offset:.15em}

@media (min-width:960px){
  .delivery{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(40px,6vw,96px)}
  .delivery>h2{grid-column:1;grid-row:1}
  .delivery>p:not(.delivery-actions,.delivery-services){grid-column:1;grid-row:2}
  .delivery-actions{grid-column:2;grid-row:1;align-self:end;justify-content:flex-end;margin-top:0!important}
  .delivery-services{grid-column:2;grid-row:2;text-align:right;margin-top:.8rem!important}
}
.btn-ghost-light{border-color:rgba(255,255,255,.55);color:var(--on-dark)}.btn-ghost-light:hover{background:rgba(255,255,255,.12)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}



.party{display:grid;gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(80px,10vw,150px)}
.party-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r)}
.party-num{color:var(--ink-muted);font-weight:500;margin:0 0 1.6rem}
.party-num span{display:block;font:700 var(--step-4)/1 var(--font-figures,var(--font-display));letter-spacing:calc(var(--track,1)*-.03em);color:var(--primary);margin-bottom:.6rem}
.party-text>p:not(.party-num){color:var(--ink-muted);max-width:54ch}
@media (min-width:960px){.party{grid-template-columns:1.1fr 1fr}}

@media (min-width:700px) and (max-width:999px){
  .about{grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,48px);row-gap:0}
  .about-lead{grid-column:1}.about-body{grid-column:1}.about-photo{grid-column:2;grid-row:1 / span 2}
  .facts:not(.has-figure) ul{grid-template-columns:repeat(3,1fr);gap:32px}
  .party-photo img{aspect-ratio:2/1}
}



.gallery{padding:0 var(--gut) clamp(24px,3.5vw,48px)}
.gallery ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px}
@media (min-width:900px){.gallery ul{grid-template-columns:repeat(4,1fr);gap:16px}}

.gallery-row ul{grid-template-columns:1fr}
.gallery-row img{aspect-ratio:4/3}
@media (min-width:700px){.gallery-row ul{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,480px);justify-content:center;gap:16px}}


.visit{display:grid;gap:clamp(40px,6vw,96px);padding-block:clamp(80px,10vw,150px)}
.visit h2{font-size:var(--step-4)}
.hours{border-collapse:collapse;width:100%;max-width:520px;margin-bottom:.8rem;font-size:var(--step-0)}
.hours th,.hours td{text-align:left;padding:.85rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.hours th{font-weight:600;padding-right:2rem}
address{font-style:normal;font-size:var(--step-1);line-height:1.5;margin-bottom:1rem}
.visit a{font-weight:600;color:var(--primary)}
.garden{background:var(--turmeric-soft);border-radius:18px;padding:1rem 1.25rem;max-width:42ch;margin-top:1.5rem}
@media (min-width:960px){.visit{grid-template-columns:1fr 1fr}}


.site-footer{background:var(--ink);color:var(--ground);border-radius:calc(var(--r) + 8px) calc(var(--r) + 8px) 0 0;padding:clamp(48px,7vw,96px) var(--gut) 120px;overflow:hidden}

.footer-mark{font:700 var(--step-4)/.98 var(--font-display);letter-spacing:calc(var(--track,1)*-.035em);color:var(--ground);margin:0 0 2rem}
.footer-cols{display:grid;gap:8px 64px;grid-template-columns:repeat(auto-fit,minmax(200px,max-content));color:rgba(246,241,233,.8)}
.footer-cols a{color:var(--ground)}
.credit{margin:2.5rem 0 0;padding-top:1.2rem;border-top:1px solid rgba(246,241,233,.15);font-size:var(--step--1);color:rgba(246,241,233,.7)}.credit a{color:var(--ground);font-weight:600}


.book-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:30;background:var(--primary);color:var(--on-primary);font:600 var(--step-0)/1 var(--font-text);padding:1.05rem 1.5rem;border-radius:999px;text-decoration:none;box-shadow:0 12px 32px color-mix(in srgb,var(--primary) 38%,transparent),0 2px 6px rgba(22,17,15,.18)}
.book-fab:hover{background:color-mix(in srgb,var(--primary) 85%,var(--darken))}
.has-hero .book-fab:not(.is-shown){transform:translateY(160%);opacity:0;pointer-events:none}
.book-fab.is-doubled{display:none}
.book-panel{border:0;padding:0;margin:0 0 0 auto;width:min(480px,100vw);height:100dvh;max-height:none;max-width:none;background:var(--sheet);color:var(--ink);border-radius:var(--r) 0 0 var(--r);overflow:auto;box-shadow:-20px 0 60px rgba(22,17,15,.2)}
.book-panel::backdrop{background:rgba(22,17,15,.45);backdrop-filter:blur(3px)}
.book-head{display:flex;align-items:center;justify-content:space-between;padding:26px 24px 6px}
.book-head h2{font-size:var(--step-2);margin:0}
.book-close{background:var(--ground);border:1px solid var(--line);color:var(--ink);font-size:var(--step-1);line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer}
.book-sub{padding:8px 24px 0;color:var(--ink-muted);font-size:var(--step--1)}.book-sub a{color:var(--primary);font-weight:600}

.book-mount{width:min(378px,100%);margin:8px auto 0;overflow:hidden;min-height:600px}
.book-mount:not(.is-frameless) iframe{display:block;width:calc(100% + 26px)!important;max-width:none!important;margin:-82px -13px -13px!important}
.book-mount.is-frameless{width:auto;padding:0 12px 24px}

.book-mount iframe{color-scheme:light}

.book-panel.is-card{background:#fcf9ee}
.book-loading{padding:24px 12px;color:var(--ink-muted)}
@media (max-width:640px){.book-panel{margin:auto 0 0;width:100vw;height:92dvh;border-radius:var(--r) var(--r) 0 0}.book-fab{font-size:var(--step-0);padding:.95rem 1.25rem}}


.menu-head{padding:clamp(64px,9vw,128px) var(--gut) 0}
.menu-head h1{font-size:var(--step-6);letter-spacing:calc(var(--track,1)*-.06em)}
.menu-head p{font-size:var(--step-1);color:var(--ink-muted);max-width:56ch}
.menu-pages{list-style:none;margin:clamp(32px,5vw,64px) auto;padding:0 var(--gut);max-width:calc(700px + 2 * var(--gut));display:grid;gap:28px}
.menu-pages img{width:100%;border-radius:18px;background:var(--sheet);box-shadow:0 20px 60px rgba(22,17,15,.1)}
.menu-pages a{display:block;cursor:zoom-in;border-radius:18px}
.menu-empty{padding:48px var(--gut)}
@media (min-width:900px){.menu-hint{display:none}}
main>.buffet:last-child{padding-bottom:clamp(64px,8vw,120px)}


.prose{max-width:74ch;padding:clamp(64px,9vw,120px) var(--gut);overflow-wrap:anywhere}
.prose h1{font-size:var(--step-5);overflow-wrap:anywhere;hyphens:manual}
.prose h2{font-size:var(--step-2);margin-top:1.6em}
.prose h3{font:600 var(--step-1)/1.3 var(--font-text);letter-spacing:0;margin:1.6em 0 .5em}
.prose ul{padding-left:1.2em}
.prose a{color:var(--primary)}
.draft{background:var(--turmeric-soft);border-radius:16px;padding:1rem 1.25rem}

.prose,.about-page{--gut:var(--gut-min);margin-left:calc(var(--page-gut) - var(--gut-min))}


.closure-note{background:var(--turmeric-soft);color:var(--ink);border-radius:16px;padding:.8rem 1.1rem;margin:0 0 1.2rem;max-width:44ch}
.closure-note.on-dark{margin:1.2rem 0 0;display:inline-block}
.closure-note[hidden]{display:none}


.menu-card>h2{padding:0 var(--gut);margin:clamp(40px,6vw,72px) 0 0;font-size:var(--step-4)}
.menu-card>p{padding:0 var(--gut);margin:1.2rem 0 0}


.about-page{padding-bottom:clamp(64px,9vw,120px);max-width:76rem}
.about-page-head{padding:clamp(64px,9vw,120px) var(--gut) 0}
.about-page h1{font-size:var(--step-6);letter-spacing:calc(var(--track,1)*-.05em);overflow-wrap:anywhere}
.about-page .lead{font-size:var(--step-2);line-height:1.4;letter-spacing:calc(var(--track,1)*-.01em);max-width:40ch}
.about-block{margin-top:clamp(56px,8vw,112px);padding-inline:var(--gut);display:grid;gap:clamp(24px,4vw,56px);align-items:start}
.about-block h2{font-size:var(--step-4)}
.about-block-text p{color:var(--ink-muted);max-width:60ch}
.about-block-photo{margin:0}
.about-block-photo img{width:100%;border-radius:var(--r)}
.about-video{margin-top:clamp(56px,8vw,112px);padding-inline:var(--gut)}

.about-video>*{max-width:60rem;margin-inline:auto}
.about-video h2{font-size:var(--step-4)}
@media (min-width:900px){.about-block:has(.about-block-photo){grid-template-columns:1.3fr 1fr}}


@media (prefers-reduced-motion:no-preference){
  .btn{transition:transform var(--dur-1) var(--ease-in-out)}
  .has-hero .site-header::before,.has-hero .site-header::after{transition:opacity var(--dur-2) var(--ease-in-out)}
  .book-fab{transition:opacity var(--dur-2) var(--ease-in-out),transform var(--dur-2) var(--ease-in-out)}
  .head-book{transition:opacity var(--dur-2) var(--ease-in-out)}
  .book-panel[open]{animation:panel-in var(--dur-3) var(--ease-out)}
  @keyframes panel-in{from{transform:translateX(48px);opacity:0}}
}


.wordmark .logo{display:block;width:auto;height:clamp(30px,2.6vw,38px)}
.footer-mark .logo{display:block;width:clamp(150px,16vw,210px);height:auto}

.wordmark:has(img){display:flex;align-items:center;gap:.6rem}
.wordmark img{width:auto;height:clamp(34px,3vw,42px)}
.footer-mark img{width:clamp(130px,13vw,180px);height:auto}
.footer-mark span:not([hidden]){display:contents}

@media (max-width:440px){.bar:has(.wordmark img) .head-book{display:none}}

.has-hero .book-fab:focus-visible{opacity:1;transform:none;pointer-events:auto}
}
@layer blocks{

.hero-type{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;min-height:clamp(700px,100svh,920px);text-align:center}
.hero-type .hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%}
.hero-type .hero-logo{display:flex;flex-direction:column;align-items:flex-end;width:clamp(300px,50vw,720px);max-width:100%}
.hero-type .hero-logo .logo{display:block;width:100%;height:auto}

.hero-type .hero-logo:has(.hero-name){width:auto;align-items:center}
.hero-type .hero-name{max-inline-size:20ch}

.hero-type .hero-line{max-inline-size:20ch;text-wrap:balance}

.hero-type .hero-actions{display:flex;flex-wrap:wrap;justify-content:center;width:fit-content;max-width:100%;margin-inline:auto}
.hero-type .hero-actions > *{flex:1 1 auto;justify-content:center}

.hero-type .hero-notice{display:flex;flex-direction:column;align-items:center;max-width:min(36rem,100%);margin-inline:auto;text-align:center}
.hero-type .hero-notice-mark{display:flex;align-items:center;width:min(15rem,72%)}
.hero-type .hero-notice-mark::before,.hero-type .hero-notice-mark::after{content:"";flex:1;height:7px}
.hero-type .hero-notice-mark > span{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem}
.hero-type .hero-notice-go{display:inline-block;padding-block:calc((44px - 1.4em) / 2);line-height:1.4}

@media (min-width:961px){
  .hero-type .hero-notice{flex-direction:row;justify-content:center;width:fit-content;max-width:100%}
  .hero-type .hero-notice-mark{width:auto;flex:none}
  .hero-type .hero-notice-mark::before,.hero-type .hero-notice-mark::after{display:none}
  .hero-type .hero-notice-text{text-align:left}
  .hero-type .hero-notice-go{flex:none;white-space:nowrap}
}

.hero-type .hero-rules{position:absolute;inset:0;pointer-events:none}
.hero-type .hero-rules > *{position:absolute}
.hero-type .hero-rules-v{top:0;bottom:0;width:14px}
.hero-type .hero-rules-h{left:0;right:0;height:14px}
.hero-type .hero-rules-ticks{width:160px;height:160px;overflow:visible}
.hero-type .hero-rules-node{display:block;width:44px;height:44px;box-sizing:border-box}
.hero-type .hero-rules-node svg{display:block;width:100%;height:100%;overflow:visible}
@media (max-width:960px){.hero-type .hero-rules-r{display:none}}

@media (min-width:1280px){
  .hero-type:has(> .hero-rules) > .hero-notice{position:absolute;z-index:2;flex-direction:column;align-items:flex-start;width:280px;text-align:left}
  .hero-type:has(> .hero-rules):has(> .hero-notice) .hero-logo{width:max(300px,min(640px,50vw,76svh,calc(100vw - var(--gut) - 724px)))}
}
@media (max-width:960px){
  .hero-type:has(> .hero-rules) > .hero-notice{align-self:stretch;align-items:flex-start;max-width:none;text-align:left}
}

@media (min-width:961px) and (max-height:860px){
  .hero-type .hero-logo{width:clamp(300px,min(50vw,76svh),720px)}
}
@media (max-width:960px){
  .hero-type{min-height:100svh}
  .hero-type .hero-logo{width:86%}
}
@media (max-width:960px) and (max-height:760px){
  .hero-type .hero-logo{width:min(86%,56svh)}
}


.celebrations.band-centre{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--band-gap);align-items:center;overflow:hidden;padding:var(--band-top) var(--gut) var(--band-bottom)}
.celebrations .band-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;grid-column:3 / span 8;text-align:center}
.celebrations .lead{max-width:30em}
.celebrations .band-actions{display:flex;flex-wrap:wrap;justify-content:center}
@media (max-width:960px){
  .celebrations.band-centre{grid-template-columns:1fr}
  .celebrations .band-copy{grid-column:1}
  
  .celebrations .lines{display:none}
}


.visit-details{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--band-gap);align-items:center;padding:var(--band-top) var(--gut) var(--band-bottom)}
.visit-details .visit-copy{display:flex;flex-direction:column;align-items:flex-start;grid-column:1 / span 5}
.visit-details .visit-facts{display:grid;align-self:stretch}
.visit-details .visit-facts div{display:grid;grid-template-columns:7.5em minmax(0,1fr)}

.visit-details .visit-facts dd a{display:inline-block;line-height:44px}

.visit-details .visit-guest-note{grid-column:-2}
.visit-details .visit-actions{display:flex;flex-wrap:wrap}
@media (max-width:960px){
  
  .visit-details{grid-template-columns:1fr}
  .visit-details .visit-copy{grid-column:1}
  .visit-details .visit-facts div{grid-template-columns:1fr}
}

.visit-details .place-drawn{grid-column:6 / -1}
.visit-details .map-drawn{margin:0}
.visit-details .map-drawn .map-link{display:block}
.visit-details .map-drawn .drawing{display:block;width:100%;height:auto}
@media (max-width:960px){.visit-details .place-drawn{grid-column:1;margin:var(--space-xl) calc(-1 * var(--gut)) 0}}

@media (max-width:700px){.visit-details .map-drawn .map-link{overflow:hidden}.visit-details .map-drawn .drawing{width:160%;max-width:none;margin-left:-30%}}
}
@layer features{


.has-ornaments{--orn-gold:var(--accent,#B69E30);--orn-light:#DBC56E;--orn-space:clamp(56px,7vw,112px)}
@supports (color:color-mix(in srgb,red 50%,#fff)){.has-ornaments{--orn-light:color-mix(in srgb,var(--orn-gold) 60%,#fff)}}
.has-ornaments :is(.orn-band,.orn-divider,.orn-corner),.has-ornaments h2.orn-under::after,
.has-ornaments.orn-mandalas :is(.about,.facts,.orn-mandala)::before{background:var(--orn-gold);pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}




.has-ornaments .orn-band{--band-h:48px;--band-cap:calc(var(--band-h) * .175);display:block;height:var(--band-h);margin-inline:calc(var(--gut) - var(--band-cap));clip-path:inset(0 var(--band-cap));-webkit-mask:url(/ornaments/band.svg) left center/calc(var(--band-h) * 2.5) 100% round;mask:url(/ornaments/band.svg) left center/calc(var(--band-h) * 2.5) 100% round}
.has-ornaments .site-footer .orn-band{margin-inline:calc(var(--band-cap) * -1)}

.has-ornaments main > .orn-band{margin-block:var(--orn-space)}
.has-ornaments main > :has(+ .orn-band){padding-bottom:0}
.has-ornaments main > .orn-band + *{padding-top:0}

.has-ornaments .site-footer .orn-band{margin-bottom:clamp(48px,7vw,96px)}

.has-ornaments .hero .orn-band{--band-h:clamp(24px,4vw,48px);position:absolute;left:0;right:0;bottom:0;z-index:1;background:var(--orn-light);opacity:.55}


.has-ornaments.orn-lotus .menu-pages li+li::before{content:"";display:block;width:180px;height:24px;margin:0 auto 28px;background:var(--orn-gold);pointer-events:none;-webkit-mask:url(/ornaments/divider.svg) center/contain no-repeat;mask:url(/ornaments/divider.svg) center/contain no-repeat}
@media (forced-colors:active){.has-ornaments.orn-lotus .menu-pages li+li::before{display:none}}


.has-ornaments .orn-divider{display:block;width:180px;height:24px;margin:0 auto;-webkit-mask-image:url(/ornaments/divider.svg);mask-image:url(/ornaments/divider.svg)}

.has-ornaments h2.orn-under{position:relative;text-box:trim-end cap alphabetic;margin-bottom:64px}
.has-ornaments h2.orn-under::after{content:"";position:absolute;left:0;top:calc(100% + 24px);width:180px;height:24px;-webkit-mask-image:url(/ornaments/divider.svg);mask-image:url(/ornaments/divider.svg)}

.has-ornaments h2.orn-under + .hours tr:first-child :is(th,td){padding-top:0}


.has-ornaments .hero-inner{z-index:2}
.has-ornaments .orn-corner{display:none;position:absolute;top:84px;z-index:1;width:clamp(96px,18vh,160px);aspect-ratio:1;background:var(--orn-light);opacity:.55;-webkit-mask-image:url(/ornaments/corner.svg);mask-image:url(/ornaments/corner.svg)}
.has-ornaments .orn-corner-l{left:var(--gut)}
.has-ornaments .orn-corner-r{right:var(--gut);transform:scaleX(-1)}
@media (min-width:1024px) and (min-height:700px){.has-ornaments.orn-corners .orn-corner{display:block}
  
  .has-ornaments.orn-corners .hero-notice{top:calc(84px + clamp(26px,4.5vh,40px));right:calc(var(--gut) + clamp(26px,4.5vh,40px))}}


.has-ornaments.orn-mandalas :is(.about,.facts,.orn-mandala){position:relative;isolation:isolate;overflow:clip}
.has-ornaments.orn-mandalas :is(.about,.facts,.orn-mandala)::before{content:"";position:absolute;z-index:-1;top:50%;opacity:.06;aspect-ratio:1;-webkit-mask-image:url(/ornaments/mandala.svg);mask-image:url(/ornaments/mandala.svg)}
.has-ornaments :is(.about,.orn-mandala)::before{left:0;height:min(100%,560px);transform:translate(-50%,-50%)}
.has-ornaments .facts::before{right:0;height:min(100%,440px);transform:translate(50%,-50%)}


@media (max-width:640px){
  .has-ornaments .orn-band{--band-h:32px}
  .has-ornaments.orn-mandalas :is(.about,.facts,.orn-mandala)::before{height:min(100%,320px)}
}

@media (forced-colors:active){.has-ornaments :is(.orn-band,.orn-divider,.orn-corner),.has-ornaments h2.orn-under::after,.has-ornaments.orn-mandalas :is(.about,.facts,.orn-mandala)::before{display:none}}
@media print{.has-ornaments :is(.orn-band,.orn-divider,.orn-corner){display:none}}


.has-color-sections{--saffron:#F2B53A;--saffron-ink:#4A2E12;--plum:#6E0D4F;--gold-light:#F2C75C;--rose:#F9DCEA;--rose-ink:#5A3A45;--deep-magenta:#8A1463}


.has-color-sections main > :is(.about,.facts){padding-block:clamp(72px,9vw,128px)}


.has-color-sections .about{background:var(--saffron);--orn-gold:var(--deep-magenta)}
.has-color-sections .about h2{color:var(--deep-magenta)}
.has-color-sections .about-body{color:var(--saffron-ink)}


.has-color-sections .facts{background:var(--plum);color:#F6F1E9;--orn-gold:var(--gold-light)}
.has-color-sections .facts li{border-top-color:var(--gold-light)}
.has-color-sections .facts h3{color:var(--gold-light)}
.has-color-sections .facts p{color:rgba(246,241,233,.88)}


.has-color-sections .delivery{background:var(--accent);color:var(--ink);margin-block:clamp(40px,6vw,88px)}
.has-color-sections .delivery .btn-ghost-light{border-color:var(--ink);color:var(--ink)}
.has-color-sections .delivery .btn-ghost-light:hover{background:rgba(22,17,15,.08)}


.has-color-sections .party{background:var(--rose);margin-inline:var(--gut);padding-inline:clamp(28px,5vw,64px);border-radius:calc(var(--r) + 8px);--orn-gold:var(--primary)}
.has-color-sections main > .party{padding-block:clamp(56px,8vw,112px)}
.has-color-sections .party-text>p:not(.party-num),.has-color-sections .party-num,.has-color-sections .party .small{color:var(--rose-ink)}
.has-color-sections main > .party + *{margin-top:clamp(56px,7vw,112px)}



.has-color-sections .about-page{padding-bottom:0;max-width:none;margin-left:0;--gut:var(--page-gut)}
.has-color-sections .about-page-head{background:var(--saffron);padding-block:clamp(72px,10vw,140px);--orn-gold:var(--deep-magenta)}
.has-color-sections .about-page h1{color:var(--deep-magenta);margin-bottom:.3em}
.has-color-sections .about-page .lead{color:var(--ink);max-width:34ch;margin:0}
.has-color-sections .about-block{margin-top:0;padding-block:clamp(64px,9vw,128px);align-items:center}
.has-color-sections .about-block-text p{color:var(--ink);font-size:var(--step-0);max-width:56ch}
.has-color-sections .about-block:nth-child(even of .about-block){background:var(--rose);--orn-gold:var(--primary)}
.has-color-sections .about-block:nth-child(even of .about-block) .about-block-text p{color:var(--rose-ink)}
.has-color-sections .about-block-photo img{box-shadow:0 24px 60px rgba(22,17,15,.14);width:auto;max-height:70vh;margin-inline:auto}

@media (max-width:899px){.has-color-sections .about-block-photo img{max-height:50vh}}
.has-color-sections .about-video{margin-top:0;padding-block:clamp(64px,9vw,128px);background:var(--plum);color:#F6F1E9;--orn-gold:var(--gold-light)}
.has-color-sections .about-video h2{color:var(--gold-light)}
.has-color-sections .about-video figcaption{color:rgba(246,241,233,.8)}
@media (min-width:900px){
  .has-color-sections .about-block:nth-child(even of .about-block):has(.about-block-photo){grid-template-columns:1fr 1.3fr}
  .has-color-sections .about-block:nth-child(even of .about-block) .about-block-photo{order:-1}
}


.has-color-sections .menu-head{background:var(--saffron);padding-block:clamp(72px,10vw,140px);--orn-gold:var(--deep-magenta)}
.has-color-sections .menu-head h1{color:var(--deep-magenta)}
.has-color-sections .menu-head p{color:var(--saffron-ink)}
.has-color-sections .menu-card{background:var(--rose);padding-block:clamp(56px,8vw,112px);--orn-gold:var(--primary)}
.has-color-sections .menu-card .menu-pages{margin-block:0}
.has-color-sections .menu-card>:is(h2,p){color:var(--rose-ink);max-width:980px;margin-inline:auto}
.has-color-sections .menu-card>p{margin-block:0 28px}


.has-ornaments.orn-mandalas.has-color-sections :is(.about,.facts,.orn-mandala)::before{opacity:.14}

@media (forced-colors:active){.has-color-sections :is(.about,.facts,.delivery,.party,.about-page-head,.about-block,.about-video,.menu-head,.menu-card){border:1px solid CanvasText}}


.has-color-sections main:has(> :is(.about,.facts):last-child, .about-page > .about-video:last-child) + .site-footer{border-radius:0}


.consent-banner{position:fixed;bottom:12px;inset-inline:12px;max-width:34rem;z-index:31;background:var(--surface);color:var(--ink);border-radius:var(--r);padding:22px 24px;box-shadow:0 20px 50px color-mix(in srgb,var(--shade) 22%,transparent);font-size:var(--step-0);line-height:1.55}
.consent-banner[hidden]{display:none}

.site-footer::after{content:"";display:block;height:var(--consent-h,0px)}
.consent-banner p{margin:0 0 14px}
.consent-banner a{color:var(--primary);font-weight:600}

.consent-actions{display:flex;gap:10px}
.consent-actions .btn{flex:1 1 0;justify-content:center;margin:0;padding-inline:.8rem;white-space:normal;text-align:center;line-height:1.2}
.btn-consent{background:var(--ink);color:var(--on-dark);min-height:44px}
.btn-consent:hover{background:var(--darken)}
.consent-more{display:block;margin-top:4px;background:none;border:0;padding:.6rem 0;min-height:44px;font:var(--weight-strong,600) var(--step-0)/1 var(--font-text);color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}


@media (max-width:52rem){body:has(.consent-banner:not([hidden])) .book-fab{translate:0 calc(-1 * var(--consent-h, 0px) - 12px)}}

@media (min-width:381px) and (max-width:480px){body:has(.consent-banner:not([hidden])) .book-fab{display:none}}


.consent-dialog{border:0;padding:28px 26px;margin:auto;width:min(560px,calc(100vw - 24px));max-height:min(640px,86vh);border-radius:var(--r);background:var(--surface);color:var(--ink);overflow:auto;box-shadow:0 30px 80px color-mix(in srgb,var(--shade) 30%,transparent)}
.consent-dialog::backdrop{background:color-mix(in srgb,var(--shade) 45%,transparent);backdrop-filter:blur(3px)}
.consent-dialog h2{font-size:var(--step-2);margin:0 0 18px}

.consent-row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
.consent-row input{grid-row:span 2;margin-top:.25rem;width:20px;height:20px}
.consent-row-title{display:block;font-weight:700}
.consent-row-meta{display:block;color:var(--ink-muted);font-size:var(--step--1);margin-top:.25rem}
.consent-row-meta a{color:var(--primary)}
.consent-dialog-actions{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:22px}
.consent-dialog-actions .btn{min-height:44px}

.consent-intro{color:var(--ink-muted);font-size:var(--step-0);margin:0 0 6px}
@media (max-width:480px){.consent-banner{padding:14px 16px;bottom:8px;inset-inline:8px}.consent-actions .btn{padding-block:.8rem}}


.video{margin:0}

.about-video>.video{margin-inline:auto}

.video-placeholder{position:relative;aspect-ratio:16/9;border-radius:var(--r);background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:24px 0}
.video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);display:block}




.video-poster{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--on-dark) 12%,transparent),transparent 70%)}
.has-ornaments:not(.orn-mandalas) .video-poster{display:none}
.has-ornaments.orn-mandalas .video-poster{background:var(--accent);-webkit-mask:url(/ornaments/mandala.svg) center/60% no-repeat;mask:url(/ornaments/mandala.svg) center/60% no-repeat}

.video-play{position:relative;z-index:1;width:72px;height:72px;min-width:44px;min-height:44px;border-radius:50%;border:0;background:var(--primary);color:var(--on-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}
.video-play::after{content:"";display:block;width:0;height:0;margin-left:6px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent var(--on-primary)}
.video-play:focus-visible{outline:3px solid var(--on-dark);outline-offset:3px}


.video-note{position:relative;z-index:1;color:var(--ground);text-align:center;max-width:36ch;margin:0 1rem;padding:.35rem .8rem;border-radius:12px;background:color-mix(in srgb,var(--shade) 88%,transparent)}
.video-note a{color:var(--ground);font-weight:600}
.video-remember{position:relative;z-index:1;color:var(--ground);font-size:var(--step--1);display:flex;align-items:center;gap:.5em;padding:.3rem .8rem;border-radius:12px;background:color-mix(in srgb,var(--shade) 88%,transparent)}

.video figcaption{color:var(--ink-muted);font-size:var(--step--1);margin-top:.6rem}


@media (prefers-reduced-motion:no-preference){
  .video-play{transition:transform var(--dur-1) var(--ease-in-out)}
  .video-play:hover{transform:scale(1.06)}
}



.visit-details .place{position:relative;grid-column:7 / span 6;align-self:center;height:100%;min-height:520px;max-height:640px}
.place .map{position:absolute;inset:0;margin:0;overflow:hidden;background:var(--ground);border:var(--rule,1px) solid var(--line)}


.place .map-link{position:absolute;inset:0}
.place .map-link:focus-visible{outline-offset:-5px}
.place .map img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;mix-blend-mode:multiply;opacity:.8}

.place .pin{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:2px solid var(--ground);border-radius:50%;background:var(--fill);box-shadow:0 6px 16px color-mix(in srgb,var(--shade,var(--ink)) 35%,transparent)}
.place .pin-diamond{width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:0;transform:rotate(45deg)}
.place .map figcaption{position:absolute;left:8px;bottom:8px;padding:4px 6px;background:var(--ground);color:var(--ink);font:var(--weight-medium,500) var(--step--1,.8333rem)/1 var(--font-text)}

.place .print{position:absolute;left:4%;bottom:max(7%,44px);width:min(38%,300px,46% - 34px);margin:0;box-shadow:0 30px 60px -24px color-mix(in srgb,var(--shade,var(--ink)) 42%,transparent)}
.place .print img{width:100%}
@media (max-width:960px){
  
  .visit-details .place{grid-column:1;min-height:420px;max-width:800px;margin-top:var(--space-xl,3rem)}
}

.place:not(.visit-details .place){--fill:var(--primary);position:relative;aspect-ratio:4/3;max-width:560px;margin-top:clamp(24px,3vw,40px);border-radius:var(--r,0);overflow:hidden}
}
@layer site{
@font-face{font-family:"Quintessential";src:url(fonts/quintessential.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-italic.woff2) format("woff2");font-style:italic;font-display:swap}
:root{--primary:#B01C80;--on-primary:#ffffff;--on-primary-accent:#ffffff;--accent:#B69E30;--font-display:"Quintessential",Georgia,serif;--font-text:"Instrument Sans",system-ui,sans-serif;--font-accent:"Instrument Serif",Georgia,serif;--track:0;--leading:1.12;--font-figures:var(--font-text);}
h1{-webkit-text-stroke:0.035em currentColor}
h2{-webkit-text-stroke:0.02em currentColor}
h3{-webkit-text-stroke:0.015em currentColor}
.wordmark{-webkit-text-stroke:0.015em currentColor}
.f-7fae4fd2{object-position:50% 50%}
.w-960{max-width:min(100%,960px)}
.w-1440{max-width:min(100%,1440px)}
.hero h1{--name-em:3.41}
}
