 :root{--bg:#101010;--panel:#252525;--ink:#f6f6f6;--muted:#cbcbcb;--sage:#738561;--sage-hover:#738561;--on-sage:#10160d;--soft-highlight:#d6d6d6;--line:#c5c5c53d;}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--soft-highlight);outline-offset:5px}::selection{background:var(--sage);color:var(--on-sage)}h1,h2,h3,p{margin:0}em{color:#d1d1d1}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section{padding-block:96px}.eyebrow{margin-bottom:16px;color:#c0c0c0}.small{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:16px 24px;border:1px solid transparent;border-radius:0;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--sage);color:var(--on-sage);}.button-light:hover{background:var(--sage-hover)}.button-sage{background:var(--sage);color:var(--on-sage);}.button-sage:hover{background:var(--sage-hover)}.button-outline{border-color:#8e8e8e;background:transparent}.button-outline:hover{background:#d8d8d814}.text-link{border:0;border-bottom:1px solid #bfbfbf80;background:transparent;padding:0 0 8px;text-align:left;display:inline-block}.text-link:hover{color:var(--soft-highlight);border-color:var(--soft-highlight)}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:var(--bg);padding:8px}.skip:focus{top:12px}.hero{position:relative;min-height:650px;isolation:isolate;display:flex;align-items:center;padding:85px max(56px,calc((100% - 1240px)/2)) 120px 8%;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-photo{object-position:center 58%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.93),rgba(10,10,10,.72) 30%,rgba(10,10,10,.13) 73%),linear-gradient(0deg,rgba(10,10,10,.78),transparent 32%)}.hero-copy{width:100%;max-width:none}.hero .eyebrow{color:#e5e5e5;}.hero h1{margin:24px 0}.hero h1 em{color:#e6e6e6}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:16px}.section-aside{color:var(--muted);}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.event-card{background:transparent;border:0;border-top:1px solid var(--line);position:relative;display:flex;flex-direction:column;min-height:295px;padding:32px 0 8px;overflow:hidden;transition:border-color .2s}.event-card:hover{border-color:var(--sage)}.event-card:first-child{background:transparent;border-top:1px solid var(--sage)}.event-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:24px}.event-date{display:flex;align-items:baseline;gap:8px;}.event-date span{text-transform:uppercase;color:#d1d1d1}.event-frequency{text-align:right;color:#d1d1d1}.event-card h3{margin-bottom:8px}.event-card>p{color:#dddddd;flex:1}.event-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:24px;}.event-meta button{color:#f1f1f1}.reservation{background:#1e1e1e;border:0}.reservation-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:96px;align-items:center}.reservation-copy>p:not(.eyebrow){color:var(--muted);margin:24px 0}.reservation-copy .text-link{margin-top:8px}.reservation-note{max-width:335px}.booking-panel{background:#101010;border:1px solid #bababa40;padding:32px}.booking-panel>.eyebrow{margin-bottom:24px}#booking-hint{margin-top:16px;min-height:24px}.menu-tabs{display:flex;overflow-x:auto;gap:32px;border-bottom:1px solid var(--line);scrollbar-width:thin}.menu-tab{padding:16px 0 16px;border:0;background:transparent;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent}.menu-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--sage)}.menu-tab:hover{color:var(--ink)}.menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0}.menu-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-button{border:1px solid #757575;border-radius:0;background:transparent;padding:8px 16px;min-height:39px;color:#dddddd}.filter-button[aria-pressed=true]{background:var(--sage);color:var(--on-sage);border-color:var(--sage);}.menu-search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #8e8e8e;padding:8px 0;max-width:280px;color:#cbcbcb}.menu-search input{color:var(--ink);background:transparent;border:0;width:100%;min-width:0;height:32px}.menu-search input::placeholder{color:#c4c4c4}.antipasti-builder{display:grid;grid-template-columns:1fr 215px;gap:48px;padding:32px 32px;background:var(--sage);color:var(--on-sage);border:1px solid var(--sage);margin:24px 0 24px}.antipasti-builder .eyebrow{display:block;margin-bottom:8px;color:var(--on-sage)}.antipasti-builder p{color:var(--on-sage);max-width:610px;margin-top:8px}.upgrade-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.upgrade-options button{background:transparent;border:1px solid #10160d80;color:var(--on-sage);border-radius:0;padding:8px 16px;}.upgrade-options button[aria-pressed=true]{background:#f1f1f1;color:#10160d;border-color:#f1f1f1}.antipasti-builder .upgrade-description{min-height:24px;}.antipasti-total{border-left:1px solid #10160d40;padding-left:32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.antipasti-total>span{color:var(--on-sage)}.antipasti-total strong{margin:8px 0 8px}.antipasti-total .text-link{color:var(--on-sage);border-color:#10160d70}.antipasti-total .text-link:hover{color:#000;border-color:#000}.antipasti-builder button:focus-visible{outline-color:var(--on-sage)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.menu-count{margin-bottom:8px}.menu-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;display:flex;align-items:center;gap:16px;padding:32px 8px;min-height:123px;transition:background .2s}.menu-item:hover{background:#bababa0d}.menu-item-text{flex:1;min-width:0}.item-category{text-transform:uppercase;color:#c4c4c4;margin-bottom:8px;display:block}.menu-item p{color:var(--muted);margin-top:8px}.item-price{text-align:right;white-space:nowrap;align-self:center;min-width:60px}.item-price small{display:block;color:var(--muted);margin-top:8px}.item-plus{width:26px;height:26px;border:1px solid #a8a8a880;border-radius:0;display:grid;place-items:center;color:#d5d5d5;flex-shrink:0;margin-left:8px}.menu-footnote{display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--muted);margin-top:32px;}.menu-footnote button{flex-shrink:0}.menu-empty{padding:64px;text-align:center;background:var(--panel)}.menu-empty p{color:var(--muted);margin:16px 0 24px}.visit{background:#1e1e1e;border:0}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}.visit-grid>div>p:not(.eyebrow){margin:24px 0;color:#dddddd}.visit .button{margin-top:24px;margin-bottom:0}.hours h3{margin-bottom:24px}.hours dl{margin:0}.hours dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #bbbbbb33;padding:8px 0;}.hours dd{margin:0;color:#f2f2f2}.hours .closed{color:#bebebe}.hours .closed dd{color:inherit}.hours>p{margin-top:24px}.footer{padding:24px 0;background:var(--sage);color:#101010}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-meta{display:flex;align-items:center;gap:24px;}.footer-meta a{text-decoration-thickness:1px;text-underline-offset:4px}.footer-meta a:hover{text-decoration:underline}.instagram-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid #10101066;border-radius:0;transition:background .2s,color .2s}.instagram-link:hover{background:#101010;color:var(--sage)}.footer a:focus-visible{outline:2px solid #101010;outline-offset:5px}.mobile-actions{display:none}dialog{padding:0;border:1px solid #8e8e8e;background:#212121;color:var(--ink);width:min(540px,calc(100% - 32px));max-height:85dvh;border-radius:0;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#0a0a0ad9;backdrop-filter:blur(5px)}.dialog-inner{position:relative;padding:48px}.dialog-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:transparent;color:#f2f2f2;}.dialog-inner h2{margin-bottom:16px}.dialog-inner p{color:#d8d8d8;margin-bottom:16px}.dialog-inner .eyebrow{padding-right:16px}.dialog-prices{margin-top:24px;border-top:1px solid var(--line)}.dialog-prices>div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.dialog-inner .button{margin-top:16px;width:100%}.dialog-subtle{margin-top:16px!important;color:#c2c2c2!important}.dialog-body-lock{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:740px;padding-left:calc((100% - 1240px)/2)}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.hero{padding-left:48px;padding-right:32px;min-height:620px}.event-grid{gap:24px}.event-card{padding:24px 0 8px}.reservation-grid{gap:32px}.visit-grid{gap:64px}.antipasti-builder{gap:24px;grid-template-columns:1fr 180px;padding:24px}.antipasti-total{padding-left:24px}.menu-tabs{gap:24px}.menu-grid{column-gap:24px}}
@media(max-width:760px){html{scroll-padding-top:16px}.container{width:calc(100% - 40px)}.section{padding-block:64px}.hero{min-height:625px;padding:64px 16px 96px 24px;align-items:flex-end}.hero-photo{object-position:61% center}.hero-shade{background:linear-gradient(0deg,#101010f5 0%,#121212c7 35%,#12121235 100%)}.hero-copy{width:100%}.hero h1{margin:24px 0}.section-heading{display:block;margin-bottom:32px}.section-aside{margin-top:16px;}.eyebrow{margin-bottom:16px}.event-grid{grid-template-columns:1fr;gap:32px}.event-card{padding:24px 0 8px;min-height:0}.event-top{margin-bottom:16px}.event-meta{margin-top:24px}.reservation-grid{grid-template-columns:1fr;gap:48px}.reservation-copy>p:not(.eyebrow){margin:16px 0}.reservation-copy .reservation-note{margin-bottom:0}.booking-panel{padding:24px 16px}.menu-tabs{margin-inline:-16px;padding-inline:16px;gap:24px;scroll-padding-inline:16px}.menu-toolbar{align-items:stretch;flex-direction:column-reverse;gap:16px}.menu-search{max-width:none;width:100%}.menu-filters{gap:8px}.filter-button{min-height:40px}.antipasti-builder{grid-template-columns:1fr;padding:24px;gap:16px}.upgrade-options{gap:8px}.upgrade-options button{padding:8px 8px;flex-grow:1}.antipasti-total{padding:16px 0 0;border-left:0;border-top:1px solid #10160d40;display:grid;grid-template-columns:1fr auto;align-items:center}.antipasti-total strong{grid-column:2;grid-row:1/3;margin:0;}.antipasti-total .text-link{justify-self:start;}.menu-grid{grid-template-columns:1fr}.menu-item{min-height:112px;padding:24px 0;gap:8px}.item-plus{width:25px;height:25px}.menu-footnote{display:block}.menu-footnote button{margin-top:16px}.visit-grid{grid-template-columns:1fr;gap:48px}.visit-grid>div>p:not(.eyebrow){margin:16px 0}.footer{padding-bottom:96px}.footer-meta{align-items:flex-start;flex-direction:column;gap:8px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:28;display:grid;grid-template-columns:1fr 1fr;background:#151515f7;border-top:1px solid #a1a1a16b;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;backdrop-filter:blur(15px)}.mobile-actions a{min-height:46px;display:grid;place-items:center;border:1px solid #738561;border-radius:0}.mobile-actions a:last-child{background:var(--sage);color:var(--on-sage);border-color:var(--sage);}.dialog-inner{padding:32px 24px 24px}.menu-empty{padding:32px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The story and gallery lead into the VINOTHEUM brand row. */
.story{background:var(--bg)}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.story-heading .eyebrow{margin-bottom:16px}
.story-copy{border:0;padding-left:0;max-width:650px;color:var(--muted)}
.story-copy p+p{margin-top:24px}
.story-gallery{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:64px}
.story-gallery img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:0;background:var(--panel)}
@media(max-width:760px){.story-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:48px}}
@media(max-width:1050px){.story-grid{gap:48px}}
@media(max-width:760px){.story-grid{grid-template-columns:1fr;gap:32px}.story-copy{padding-left:0;}.story-heading h2 br{display:none}.story-heading h2 em:before{content:" "}}

/* Product photos appear only in the expanded wine details. */
.wine-detail-content.has-image{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;align-items:start}
.wine-detail-photo{position:relative;overflow:hidden;width:100%;margin:8px 0 0}
.wine-detail-photo img{position:absolute;display:block;height:auto;max-width:none}
.wine-detail-copy{min-width:0}
@media(max-width:480px){.wine-detail-content.has-image{grid-template-columns:96px minmax(0,1fr);gap:16px}.wine-detail-content.has-image .dialog-prices>div{gap:8px}}
@media(max-width:350px){.wine-detail-content.has-image{grid-template-columns:1fr}.wine-detail-photo{width:130px;justify-self:center;margin-bottom:8px}}

/* The slogan and welcome text share the hero's left column. */
.hero-heading{display:grid;grid-template-columns:minmax(0,1fr) var(--hero-logo-size,152px);align-items:start;gap:clamp(28px,4vw,76px)}
.hero-message{min-width:0}
.hero-heading h1{margin:0}
.hero-intro{max-width:900px;margin-top:24px;color:var(--muted);}
.hero-intro p{margin:0}
.hero-intro>span{display:block;color:#e1e1e1;margin-top:16px;}
.hero-brand{display:flex;flex-direction:column;align-items:flex-end;gap:16px;min-width:0;padding-top:clamp(10px,1vw,16px)}
.hero-logo{display:block;width:min(100%,calc(var(--hero-logo-size,152px)*.85));height:auto;object-fit:contain}
.hero-opening{display:flex;align-items:center;justify-content:flex-end;min-height:44px;max-width:230px;color:var(--ink);text-align:right;text-underline-offset:4px}
.hero-opening:hover{text-decoration:underline}
@media(max-width:760px){.hero{padding-block:32px 64px}.hero-heading{grid-template-columns:1fr;gap:48px;padding-right:0}.hero-brand{grid-row:1;justify-self:end;width:min(100%,max(230px,var(--hero-logo-size,153px)));padding-top:0}.hero-logo{width:clamp(96px,28vw,128px)}.hero-message{grid-row:2}.hero-intro{margin-top:24px}}

/* A quiet row of brand marks, with the supplied artwork preserved. */
.brand-filter-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.brand-strip{padding:48px 0 64px;background:var(--bg);border:0}
.brand-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:32px;background:transparent}
.brand-mark{display:flex;align-items:center;justify-content:center;min-width:0;min-height:150px;background:transparent}
.brand-mark img{display:block;max-width:100%;height:auto;object-fit:contain;background:transparent}
.brand-mark-vinotheum img{width:126px}
.brand-mark-bel img{width:100px;filter:brightness(0) invert(1)}
.brand-mark-academy img{width:166px;filter:url(#brand-academy-white)}
.brand-mark-frizzante img{width:240px;filter:url(#brand-frizzante-white)}
.brand-mark-vinomobil img{width:186px;filter:url(#brand-vinomobil-white)}
@media(max-width:1050px){.brand-row{gap:24px}.brand-mark{min-height:132px}.brand-mark-vinotheum img{width:112px}.brand-mark-bel img{width:87px}.brand-mark-academy img{width:145px}}
@media(max-width:760px){.brand-strip{padding:24px 0 48px}.brand-row{grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1.35fr) minmax(0,1.25fr);gap:clamp(5px,1.8vw,12px)}.brand-mark{min-height:64px}.brand-mark img{max-height:64px}.brand-mark-vinotheum img{width:56px}.brand-mark-bel img{width:42px}.brand-mark-academy img{width:64px}.brand-mark-frizzante img{width:92px}.brand-mark-vinomobil img{width:82px}}

/* The reservation module sits directly on the section background. */
.booking-panel-resmio{min-width:0;padding:0;border:0;background:transparent}
#resmio-widget{display:block;width:100%;height:560px;border:0;border-radius:0;background:#1e1e1e;color-scheme:normal}
@media(max-width:480px){#resmio-widget{height:580px}}

/* Six owner-confirmed milestones, following the story gallery. */
.story-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;padding:0;margin-top:64px;margin-bottom:0}
.story-timeline li{position:relative;padding:24px 16px 0 0;border-top:1px solid #73856180;min-width:0}
.story-timeline li::before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--sage);left:0;top:-5px}
.story-timeline time{display:block;color:var(--ink);margin-bottom:8px;}
.story-timeline h3{color:var(--muted);}
.story-timeline li:last-child{padding-right:0}
@media(max-width:1050px){.story-timeline{display:block;max-width:680px;margin-top:48px}.story-timeline li{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:0 0 24px 24px;border-top:0;border-left:1px solid #73856180}.story-timeline li::before{left:-5px;top:6px}.story-timeline time{margin:0;}.story-timeline h3 br{display:none}.story-timeline li:last-child{padding-bottom:0}}
@media(max-width:480px){.story-timeline li{grid-template-columns:1fr;gap:8px;padding-left:24px;padding-bottom:32px}}

/* Compact agenda: three desktop columns, two on mobile and tablet. */
.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.event-card,.event-card:first-child{min-width:0;padding:24px 24px;border:0;min-height:0;background:#252525;color:var(--ink);--event-muted:#d5d5d5;--event-rule:#f6f6f633}
.event-card[data-weekday="2"]{background:var(--sage);color:var(--on-sage);--event-muted:#172012;--event-rule:#10160d40}
.event-card[data-weekday="6"]{background:#e9e9e9;color:#161616;--event-muted:#353535;--event-rule:#16161633}
.event-card .event-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--event-rule)}
.event-weekday{color:var(--event-muted);}
.event-card .event-date{display:block;flex-shrink:0;color:inherit}
.event-card .event-title{display:block;color:inherit;margin-bottom:8px;overflow-wrap:break-word}
.event-card .event-time{display:block;color:var(--event-muted);flex:0;margin-bottom:24px}
.event-card .event-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:auto;color:inherit;}
.event-card .event-meta .text-link{color:inherit;border-color:currentColor;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 0;}
.event-card :focus-visible{outline-color:currentColor}
@media(max-width:760px){.event-grid{gap:16px}.event-card,.event-card:first-child{padding:16px 16px}.event-card .event-top{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px;padding-bottom:16px}.event-card .event-title{min-height:2.5em;margin-bottom:8px}.event-card .event-time{margin-bottom:16px}.event-card .event-meta{align-items:stretch;flex-direction:column;gap:16px;}.event-card .event-meta>span{min-height:3em}.event-card .event-meta .text-link{width:100%;border:1px solid var(--event-rule);border-radius:0;padding:8px 8px}}
@media(max-width:350px){.event-grid{gap:8px}.event-card,.event-card:first-child{padding:16px 8px}}
@media(max-width:280px){.event-grid{grid-template-columns:1fr}.event-card .event-meta>span,.event-card .event-title{min-height:0}}

@media(min-width:1051px){.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

button.event-card{width:100%;text-align:left;cursor:pointer;}
button.event-card:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
button.event-card:hover .event-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}


h1,h2,h3{overflow-wrap:break-word}
.hero-message{container-type:inline-size}
.hero-intro{max-width:42rem;}
.section-heading>div{min-width:0}
.section-aside{flex:0 1 15rem;min-width:0}
#events-title{max-width:20ch}
.event-card .event-top{flex-wrap:wrap}
.menu-item h3{hyphens:auto}
.dialog-inner h2{padding-right:8px;hyphens:auto}
.dialog-prices>div{flex-wrap:wrap;gap:8px 16px}
.hours dd{text-align:right}
.footer-meta{min-width:0}
@media(max-width:760px){
 .event-card .event-title{min-height:2.6em;}
 .mobile-actions a{text-align:center;padding:8px}
}
@media(max-width:760px){
}

/* Mobile arrival: a slim black header and an overlapping brand mark. */
.mobile-header{display:none}
@media(max-width:760px){
 .mobile-header{display:block;position:relative;z-index:2;background:#000;padding-top:env(safe-area-inset-top,0px)}
 .mobile-header-inner{height:96px;position:relative;display:flex;align-items:center;gap:16px;margin-inline:24px}
 .mobile-header-logo{display:block;align-self:flex-start;flex:0 0 136px;width:136px;margin-top:8px}
 .mobile-header-logo img{display:block;width:100%;height:auto;background:#000;box-shadow:0 0 0 8px #000}
 .mobile-header-opening{display:flex;align-items:center;min-height:44px;max-width:230px;text-underline-offset:4px}
 .mobile-header-opening:hover{text-decoration:underline}
 .hero .hero-brand{display:none}
 .hero{min-height:580px;padding:96px 24px 64px;align-items:center}
 .hero-heading{display:block}
 .hero-intro{margin-top:24px}
}
@media(max-width:350px){
 .mobile-header-inner{height:88px;gap:16px;margin-inline:16px}
 .mobile-header-logo{flex-basis:124px;width:124px}
}


/* The same black arrival header on desktop, with a compact left logo. */
@media(min-width:761px){
 .mobile-header{display:block;position:relative;z-index:2;background:#000}
 .mobile-header-inner{height:78px;display:flex;align-items:center;gap:32px;width:min(1240px,calc(100% - 112px));margin-inline:auto}
 .mobile-header-logo{display:block;align-self:flex-start;flex:0 0 96px;width:96px;margin-top:8px}
 .mobile-header-logo img{display:block;width:100%;height:auto;background:#000;box-shadow:0 0 0 8px #000}
 .mobile-header-opening{display:flex;align-items:center;min-height:44px;text-underline-offset:4px}
 .mobile-header-opening:hover{text-decoration:underline}
 .hero .hero-brand{display:none}
 .hero-heading{display:block}
 .hero-message{max-width:1100px}
 .hero{padding-top:96px}
}

/* Keep the complete heading's height while actual text is typed. */
.hero #hero-title{display:grid;max-width:100%;height:auto;overflow:visible}
.hero #hero-title .slogan-text,.hero #hero-title .slogan-measure{grid-area:1/1;min-width:0;white-space:normal;overflow-wrap:break-word}
.hero #hero-title .slogan-measure{visibility:hidden;pointer-events:none}

/* Academy header proportions, adapted to VINOTHEUM's black identity. */
.mobile-header{display:block;position:sticky;top:0;z-index:40;background:#000;color:#fff;border-bottom:1px solid #ffffff26;padding-top:env(safe-area-inset-top,0px)}
.mobile-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;height:110px;max-width:1340px;width:calc(100% - 80px);margin-inline:auto}
.mobile-header-logo{display:block;position:relative;align-self:flex-start;flex:0 0 147.84px;width:147.84px;height:147.84px;margin-top:8px;background:#000;overflow:visible}
.mobile-header-logo img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;background:#000;box-shadow:none}
.mobile-header-opening{display:flex;align-items:center;justify-content:flex-end;min-height:44px;max-width:28rem;text-align:right;text-underline-offset:4px}
.mobile-header~main section[id]{scroll-margin-top:96px}
@media(max-width:1050px){.mobile-header-inner{width:calc(100% - 48px)}}
@media(max-width:720px){
 .mobile-header-inner{height:88px;width:calc(100% - 34px);gap:16px}
 .mobile-header-logo{flex-basis:117.04px;width:117.04px;height:117.04px;margin-top:8px}
 .mobile-header-opening{max-width:15rem}
 .mobile-header~main section[id]{scroll-margin-top:96px}
}

/* Academy's source image includes a ~11% outer field around its white frame.
   VINOTHEUM's frame touches its file edges, so supply that field in CSS. */
.mobile-header-logo{padding:16px;background:#000}
@media(max-width:720px){.mobile-header-logo{padding:16px}}

/* Increase the left edge-to-logo-frame spacing by 15%. */
.mobile-header-logo{margin-left:max(8.4px,calc(7.5vw - 98.1px))}
@media(max-width:1050px){.mobile-header-logo{margin-left:8px}}
@media(max-width:720px){.mobile-header-logo{margin-left:8px}}
@media(max-width:720px){}

/* Keep the complete opening message together in the desktop header. */
.mobile-header-opening{display:block;align-content:center;max-width:none;}
@media(min-width:761px){.mobile-header-opening{white-space:nowrap}}

/* A calm image sequence; text and overlay stay in place. */
.hero-photo{opacity:0;transition:opacity 1.4s ease-in-out;pointer-events:none}
.hero-photo.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-photo{transition:none}}
.header-weinbar{white-space:normal;min-width:0;margin-right:auto}
@media(max-width:1050px){
 .mobile-header-inner{display:grid;grid-template-columns:154px minmax(0,1fr);column-gap:24px;row-gap:8px;align-content:center;height:auto;min-height:110px;padding-block:16px}
 .mobile-header-logo{position:absolute;top:0;left:0}
 .header-weinbar{grid-column:2;grid-row:1;margin:0}
 .mobile-header-opening{grid-column:2;grid-row:2;min-height:0;text-align:left;white-space:normal}
}
@media(max-width:720px){
 .mobile-header-inner{grid-template-columns:122px minmax(0,1fr);column-gap:8px;min-height:88px;padding-block:8px}
}
@media(max-width:760px){
}

/* Compact sensory profile below the complete wine/price block. */
.wine-profile{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.wine-profile h3{margin-bottom:16px}
.dialog-inner .wine-profile-legend{display:flex;justify-content:space-between;margin:0 32px 8px 96px;color:var(--muted)}
.wine-profile dl{margin:0;display:grid;gap:8px}
.wine-profile-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;align-items:center}
.wine-profile dd{margin:0;display:flex;gap:8px;align-items:center;min-width:0}
.wine-profile-dots{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;flex:1;align-items:center}
.wine-profile-dot{display:block;width:100%;max-width:13px;aspect-ratio:1;border:1px solid #929292;border-radius:50%;justify-self:center}
.wine-profile-dot.is-filled{background:#738561;border-color:#738561}
.wine-profile-dots.is-pending .wine-profile-dot{border-style:dotted}
.wine-profile-value{width:29px;text-align:right;flex-shrink:0;color:var(--muted);}
.wine-profile dl.wine-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.wine-analysis dt{color:var(--muted)}
.wine-analysis dd{margin:8px 0 0;white-space:nowrap}
.dialog-inner .wine-profile-note{margin:16px 0 0;color:var(--muted)}
@media(max-width:380px){.wine-profile-dots{gap:8px}.wine-profile-row{grid-template-columns:65px minmax(0,1fr);gap:8px}.dialog-inner .wine-profile-legend{margin-left:64px}.wine-profile dd{gap:8px}}

/* Align the welcome photography with the same container as the menu and events. */
.hero.container{padding-inline:48px}
@media(max-width:1050px){.hero.container{padding-inline:32px}}
@media(max-width:760px){.hero.container{padding-inline:24px}}

/* Let the homepage follow the desktop viewport, with a shared breathing margin. */
@media(min-width:1051px){
 .home-page{--page-gutter:clamp(32px,3vw,64px)}
 .home-page .container,.home-page .mobile-header-inner{width:calc(100% - 2 * var(--page-gutter));max-width:none;margin-inline:auto}
 .home-page .hero.container{padding-inline:clamp(40px,4vw,88px)}
}

.footer-meta{flex-wrap:wrap}

.footer-socials{display:flex;align-items:center;gap:16px;flex-shrink:0}
.delivery-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.delivery-link:hover{opacity:.7}

/* Square corners across content surfaces on desktop and mobile. */
:root{--radius-section:0;--radius-card:0;--radius-image:0}
.hero.container,.news-track,.reservation,.visit{border-radius:0}
.event-card,.event-card:first-child,.antipasti-builder,.booking-panel,.menu-empty,dialog{border-radius:0}
.story-gallery img,.wine-detail-photo{border-radius:0}
.parking-page .parking-option{border-radius:0;overflow:hidden}
#resmio-widget{border-radius:0}
.menu-item{border-radius:0}
@media(max-width:760px){:root{--radius-section:0;--radius-card:0;--radius-image:0}}
.footer-inner{flex-wrap:wrap}
.footer-socials{flex-wrap:wrap}
.dog-friendly{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:inherit;font-size:14px;line-height:1.4}
.dog-friendly svg{flex:0 0 28px}
.dog-friendly span{white-space:nowrap}

.opening-clock-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:inherit}
.opening-clock-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Breakfast category and concise wine analysis availability. */
.breakfast-note{margin:0 0 24px;color:var(--muted);max-width:65ch}
.menu-item .menu-item-offer,.dialog-inner .menu-item-offer{color:var(--ink);font-size:14px;line-height:1.6;font-weight:600}
.dialog-inner .wine-analysis-empty{margin:24px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.6}

/* Product image stays compact and uncropped inside expanded event information. */
.event-product-image{display:block;width:160px;max-width:100%;height:auto;object-fit:contain;margin:16px 0 24px}
@media(max-width:760px){.event-product-image{width:128px;margin-block:16px}}

/* A transparent product bottle alongside the event story. */
.event-product-layout{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:24px;align-items:start;margin-block:16px 24px}
.event-product-copy{min-width:0}
.event-product-art{width:160px;height:440px;overflow:hidden;justify-self:end}
.event-product-art .event-product-image{display:block;width:100%;max-width:none;height:100%;margin:0;object-fit:cover;object-position:center}
@media(max-width:760px){.event-product-layout{grid-template-columns:minmax(0,1fr) 88px;gap:16px}.event-product-art{width:88px;height:280px}}

/* Let the product artwork follow the text height rather than a fixed image height. */
.event-product-layout{grid-template-columns:minmax(0,1fr) 36%;align-items:stretch}
.event-product-art{position:relative;align-self:stretch;width:100%;height:auto;min-height:0;overflow:hidden}
.event-product-art .event-product-image{position:absolute;top:-3%;left:50%;transform:translateX(-50%);width:auto;height:107%;max-width:none;object-fit:contain}
.event-product-layout .event-product-copy>p:first-child{margin-top:0}
.event-product-layout .event-product-copy>p:last-child{margin-bottom:0}
@media(max-width:760px){
 .event-product-layout{grid-template-columns:minmax(0,1fr) 34%;gap:16px}
 .event-product-art{width:100%;height:auto}
 .event-product-art .event-product-image{top:0;width:300%;height:100%;transform:translateX(-50%);object-fit:contain;object-position:center top}
}
