/* Official Google Fonts subsets, SIL Open Font License 1.1; full notices in assets/fonts/*-OFL.txt. */
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 600;font-display:optional;src:url("assets/fonts/source-sans-3.woff2") format("woff2")}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:400 600;font-display:optional;src:url("assets/fonts/noto-sans-sc.woff2") format("woff2")}
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 600;font-display:optional;src:url("assets/fonts/noto-serif-sc.woff2") format("woff2")}
:root{--font-reading:"Source Sans 3","Noto Serif SC","Songti SC",Georgia,serif;--font-interface:"Source Sans 3","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--font-display:Baskerville,"Noto Serif SC","Songti SC",Georgia,serif}
body{font-family:var(--font-interface);font-size:15px;font-weight:400;line-height:1.8;letter-spacing:.01em}
input:not([type=checkbox]),select{font-family:var(--font-interface);font-size:16px;line-height:1.5}
h1,h2,h3,.identity,.close,.summary h3{font-family:var(--font-display)}
.body,.chef-section .chef-copy .body,.menu-copy>.body,.experience-grid>.body,.experience-grid>div>.body,.booking-heading .body{font-family:var(--font-reading);font-size:15px;line-height:2;letter-spacing:.025em;font-weight:400}
.opening .body{font-size:15px;line-height:1.95}
.eyebrow,.section-label,.preview{font-family:var(--font-interface);font-size:11px;font-weight:500;line-height:1.8;letter-spacing:.06em;text-transform:none}
.site-nav,.site-nav .nav-links a{font-family:var(--font-interface);font-size:14px;font-weight:500;letter-spacing:.02em}
.identity small{font-family:var(--font-interface);font-size:9px;letter-spacing:.08em}
.small-note,.menu-copy .small-note,.summary .small-note,.status,.rules-list p,.rules-list li,dialog p,footer p:not(.close),html[lang=en-NZ] .menu-copy .small-note{font-family:var(--font-interface);font-size:13px;line-height:1.85;letter-spacing:.01em;font-weight:400}
.booking-grid label,.checks .confirmation-label,html[lang=en-NZ] .checks .confirmation-label{font-family:var(--font-interface);font-size:13px;font-weight:400;line-height:1.85;letter-spacing:.01em}
label>span,.summary dt span{font-size:12px;letter-spacing:0}
.confirmation-label>.confirmation-copy{font-size:inherit;letter-spacing:inherit}
.primary,.outline-button,.text-button,.confirmation-rules,.rules-list summary,.chef-bio summary,.menu-chapter{font-family:var(--font-interface);font-size:14px;font-weight:500;line-height:1.7;letter-spacing:.015em}
.confirmation-rules{font-size:13px;font-weight:400}
.summary dt,.summary dd,.receipt dt,.receipt dd,.summary-guests,.appointment-line output,.wheel-item,.calendar-grid button,.calendar-weekdays,.calendar-key,.calendar-heading button,.calendar-heading h4,.language-switch button,.menu-folio output{font-family:var(--font-interface);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.01em}
.summary dt,.summary dd,.receipt dt,.receipt dd{font-size:15px;line-height:1.8}
.summary dt small{font-size:12px;line-height:1.7;letter-spacing:0}
.summary .deposit dd{font-size:36px;line-height:1.25;font-weight:500;letter-spacing:-.025em}
.summary-guests,.facts p{font-size:15px}
.facts span{font-size:13px;line-height:1.8}
.calendar-key,.calendar-weekdays,html[lang=en-NZ] .calendar-key{font-size:11px;letter-spacing:0}
.appointment-line output,html[lang=en-NZ] .appointment-line output{font-size:13px;line-height:1.65}
.menu-folio h3{font-family:var(--font-display);font-size:25px}
.sample-menu p.menu-folio-hint,.menu-folio-hint,.viewer-copy,.viewer-hint,.photo-hint,.chef-history figcaption,.chef-photo figcaption{font-family:var(--font-interface);font-size:12px;line-height:1.8;letter-spacing:.01em}
.hero-image figcaption,.experience-image figcaption,.food-reveal figcaption{font-family:var(--font-interface);font-size:12px;line-height:1.75;letter-spacing:.02em}
.opening .small-note,html[lang=en-NZ] .opening .small-note{font-size:13px;line-height:1.85;letter-spacing:.01em}
html[lang=en-NZ] dialog .primary,html[lang=en-NZ] #confirm-demo{font-size:14px;line-height:1.7}
footer>.footer-base{grid-column:1/-1;justify-self:stretch;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:end;padding-top:28px;border-top:1px solid var(--line)}
footer .footer-base .footer-social{font:400 14px/1.8 var(--font-interface);letter-spacing:.015em;margin:0}
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
footer .footer-contact a{font:400 15px/1.8 var(--font-interface);letter-spacing:.01em;min-height:44px;padding:8px 0}
footer .footer-contact a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(hover:hover){footer .footer-contact a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:5px}}
@media(max-width:540px){footer>.footer-base{order:3;align-self:stretch;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding-top:25px;text-align:left}.footer-contact{align-items:flex-start}footer>.footer-meta{order:2}footer .footer-contact a{font-size:15px}}
@media(max-width:540px){body{font-size:15px}.preview{font-size:10px}.site-nav,.site-nav .nav-links a{font-size:14px}.identity small{font-size:8px}.language-switch button{font-size:12px}.body,.opening .body,.chef-section .chef-copy .body,.menu-copy>.body,.experience-grid>.body,.experience-grid>div>.body,.booking-heading .body{font-size:15px;line-height:1.95}.small-note,.menu-copy .small-note,.status,.rules-list p,.rules-list li,dialog p,footer p:not(.close){font-size:13px}.booking-grid label,.checks .confirmation-label,html[lang=en-NZ] .checks .confirmation-label{font-size:13px}.primary,.outline-button,.text-button,.rules-list summary,.chef-bio summary,.menu-chapter{font-size:14px}.confirmation-rules{font-size:13px}.calendar-key,.calendar-weekdays,html[lang=en-NZ] .calendar-key{font-size:11px}.summary .deposit dd,html[lang=en-NZ] .deposit dd{font-size:34px}.appointment-line output,html[lang=en-NZ] .appointment-line output{font-size:12px}.hero-image figcaption{font-size:11px}.identity{font-size:19px}}
