@font-face{font-family:'Manrope';src:url('assets/fonts/manrope-variable.woff') format('woff');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Ms Madi';src:url('assets/fonts/ms-madi-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
/* VINOTHEUM typography: the shared source of truth for every page. */
:root{
 --font-brand:'Manrope',sans-serif;--font-heading:'Manrope',sans-serif;--font-accent:'Ms Madi',cursive;
 --type-main:3rem;--type-section:2rem;--type-subheading:1.375rem;
 --type-body:1.125rem;--type-control:1rem;--type-note:.875rem;
 --space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--space-12:96px;
}
html{font-size:100%;font-synthesis:none}
body{font-family:var(--font-brand);font-size:var(--type-body);font-weight:400;line-height:1.6;text-align:left}
button,input,select,textarea{font-family:var(--font-brand);font-size:var(--type-control);font-weight:500;line-height:1.6}
input,select,textarea{font-weight:400}
h1,h2,h3,h4,h5,h6{margin:0;font-style:normal;line-height:1.2;letter-spacing:0;overflow-wrap:break-word;text-wrap:wrap}
h1,h2{font-family:var(--font-heading);font-weight:500}
h1{font-size:var(--type-main)}
h2{font-size:var(--type-section)}
h3,h4,h5,h6{font-family:var(--font-brand);font-size:var(--type-subheading);font-weight:600}
h1 em,h2 em{font:inherit;color:inherit}
p,address{font-size:var(--type-body);font-weight:400;line-height:1.6;max-width:65ch}
p,li,dd,address{overflow-wrap:break-word}
strong,b{font-weight:600}
em,i{font-style:normal}
small,.small,.eyebrow,.item-category,.item-price small,.menu-count,.menu-footnote,.menu-footnote p,.reservation-note,.dialog-subtle,.wine-profile-legend,.wine-profile-value,.wine-analysis dt,.wine-analysis dd,.wine-profile-note,.parking-disclosure-label,.parking-sources,.parking-sources p,.parking-option-info .small,.review-origin,.review-images figcaption,.review-images figcaption a,.story-timeline time,.footer,.footer p,.footer a{font-family:var(--font-brand);font-size:var(--type-note);font-weight:400;line-height:1.6}
.eyebrow,.item-category{letter-spacing:.04em}
.button,.text-link,.card-link,.back-link,.main-nav a,.nav-toggle,.header-reserve,.quick-actions a,.menu-tab,.filter-button,.upgrade-options button,.parking-actions a{font-family:var(--font-brand);font-size:var(--type-control);font-weight:500;line-height:1.6}
.menu-tab[aria-selected=true],.filter-button[aria-pressed=true]{font-weight:600}
.button{padding:8px 24px;min-height:48px}
.text-link,.card-link{white-space:normal}
.hero #hero-title{font-family:var(--font-heading);font-size:var(--type-main);font-weight:400;line-height:1.2;letter-spacing:0;max-width:24ch;margin:0}
.hero-concept{max-width:65ch;margin-block:24px}
.hero-buttons{gap:16px;margin-top:32px}
.event-card{font-family:var(--font-brand);font-size:var(--type-body);line-height:1.6}
.event-card .event-title,.parking-option-title{font-family:var(--font-brand);font-size:var(--type-subheading);font-weight:600;line-height:1.2;letter-spacing:0;min-height:0}
.event-date strong{font-family:var(--font-brand);font-size:var(--type-subheading);font-weight:600;line-height:1.2}
.event-weekday,.event-time,.event-meta,.item-price,.dialog-prices,.antipasti-total strong,.walking-time strong,.hours dl>div{font-size:var(--type-body);font-weight:400;line-height:1.6}
.event-card .event-top{flex-wrap:wrap}
.event-date,.item-price,.dialog-prices,.wine-analysis dd{font-variant-numeric:tabular-nums}
.item-price{min-width:0;max-width:45%;white-space:normal}
.dialog-prices strong,.parking-price{font-weight:400}
.host-signature,.opening-now{font-size:var(--type-body);font-weight:500}
.menu-search input{font-size:var(--type-body);height:auto;min-height:48px}
.menu-item{gap:24px;padding:24px 8px;align-items:flex-start}
.menu-item p{margin-top:8px}
.item-price{align-self:flex-start;text-align:right}
.menu-footnote{align-items:flex-start;flex-wrap:wrap}
.menu-empty{text-align:left}
.story-copy,.legal-content,.delivery-details{max-width:65ch}
.story-copy p,.legal-content p,.feature-layout p,.overview-card p,.atmosphere-intro p,.subpage-intro>p{max-width:65ch}
.hours dl>div{gap:16px;flex-wrap:wrap;padding-block:16px}
.hours dd{margin-left:auto;text-align:right}
.parking-option-title,.parking-option-location{white-space:normal}
.parking-option-info a{font-size:var(--type-control);font-weight:500}
.wine-review td,.wine-review th{font-size:var(--type-body);line-height:1.6}
.wine-review th{font-weight:500}
.wine-review tbody details,.wine-review tbody p{font-size:var(--type-note);line-height:1.6}
.wine-review tbody p{margin-block:8px}
.wine-profile dt{font-size:var(--type-body)}
.wine-profile .wine-analysis dt{font-size:var(--type-note)}
.wine-profile-legend{margin:0 0 16px!important;gap:16px}
.wine-profile-value{width:4ch}
.wine-analysis dd{white-space:normal}
.dialog-inner{padding:48px 32px 32px}
.dialog-inner h2{padding-right:0;margin-bottom:24px}
.dialog-close{font-size:2rem;line-height:1;min-height:44px;min-width:44px;top:0;right:0}
.parking-toggle{font-size:1.5rem;line-height:1}
/* Shared rhythm and text measure without narrowing photographs and cards. */
.container{width:calc(100% - 64px)}
.home-page{--page-gutter:64px}
.home-page .container,.site-header-inner.container{width:calc(100% - 128px);max-width:none}
.home-page .section,.content-page .section,.section{padding-block:96px}
.page-intro,.subpage-intro,.parking-page .subpage-intro{padding-block:64px 32px}
.information-page .subpage-intro{padding-bottom:96px}
.section-heading{gap:32px;margin-bottom:32px}
.section-heading h2{max-width:32ch!important}
.hero.container,.home-page .hero.container{padding-inline:64px;padding-block:64px}
.overview-grid,.event-grid,.atmosphere-gallery{gap:24px}
.overview-card{padding:32px;gap:24px}
.overview-card p{margin:0}
.atmosphere-intro,.feature-layout,.visit-grid,.reservation-grid{gap:64px}
.main-nav{gap:24px}
.site-header-inner{padding-block:16px;gap:32px}
.footer{padding-block:32px}
.footer-meta{gap:24px}
.story-timeline{margin-top:64px}
.story-timeline h3{overflow-wrap:break-word;hyphens:auto}
@media(max-width:1100px){
 .home-page .container,.site-header-inner.container{width:calc(100% - 64px)}
 .site-header-inner{gap:16px}
 .hero.container,.home-page .hero.container{padding-inline:32px}
 .main-nav{gap:8px;padding:16px 24px}
}
@media(max-width:760px){
 :root{--type-main:2.125rem;--type-section:1.625rem;--type-subheading:1.25rem}
 .container,.home-page .container,.site-header-inner.container{width:calc(100% - 32px)}
 .home-page .section,.content-page .section,.section{padding-block:64px}
 .page-intro,.subpage-intro,.parking-page .subpage-intro{padding-block:48px 24px}
 .information-page .subpage-intro{padding-bottom:64px}
 .hero.container,.home-page .hero.container{padding:48px 24px}
 .hero-buttons{gap:16px;margin-top:24px}
 .hero-buttons .button{padding:8px 16px}
 .section-heading{gap:24px;margin-bottom:32px}
 .overview-grid,.event-grid,.atmosphere-gallery{gap:16px}
 .overview-card{padding:24px;gap:16px}
 .event-card,.event-card:first-child{padding:24px 16px}
 .event-card .event-meta>span{min-height:0;overflow-wrap:break-word}
 .atmosphere-intro,.feature-layout,.visit-grid,.reservation-grid{gap:32px}
 .site-header-inner{gap:8px;padding-block:8px;flex-wrap:wrap}
 .header-reserve,.nav-toggle{padding:8px 16px}
 .quick-actions{gap:0;padding-inline:8px}
 .quick-actions a{padding-inline:0;font-size:var(--type-control);font-weight:500;overflow-wrap:anywhere}
 .footer-meta{gap:16px}
 .menu-item{gap:16px;padding:24px 0;flex-wrap:wrap}
 .menu-item-text{flex-basis:100%}
 .item-price{max-width:none;text-align:left}
 .item-price small{display:inline;margin-left:8px}
 .dialog-inner{padding:48px 24px 24px}
 .wine-detail-content.has-image{grid-template-columns:1fr;gap:24px}
 .wine-detail-photo{width:112px;max-width:100%;margin:0}
 .dialog-prices>div{flex-wrap:wrap;gap:8px 16px}
 .footer{padding-bottom:32px}
}
@media(max-width:380px){
 .hero.container,.home-page .hero.container{padding-inline:16px}
 .nav-toggle,.header-reserve{padding-inline:8px}
 .quick-actions{grid-template-columns:1.3fr .8fr .9fr 1fr}
 .event-card,.event-card:first-child{padding-inline:8px}
}
@media(max-width:760px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}

/* Quiet labels and a high-contrast menu toggle. */
.eyebrow,.item-category{text-transform:none;letter-spacing:0}
.nav-toggle{border-color:#526247}

/* Handwritten accents are reserved for short editorial lines. */
.hero #hero-title{font-family:var(--font-accent);font-size:4.5rem;font-weight:400;line-height:1.2}
.brand-accent{font-family:var(--font-accent);font-weight:400;font-size:1.35em;line-height:1.2;white-space:nowrap}
.host-signature{font-family:var(--font-accent);font-size:2rem;font-weight:400;line-height:1.2}
@media(max-width:760px){.hero #hero-title{font-size:3rem}.host-signature{font-size:1.875rem}}
