/* Shared composition. Theme values come from assets/css/venues/{venue}.css. */
/* Layout, spacing, type and motion tokens live in core.css (ADR-051). */
html.bn-smooth {scroll-behavior:smooth;}
html.bn-smooth-scroll {scroll-behavior:auto;}
.bn-site {margin:0;background:var(--bn-bg);color:var(--bn-text);font:400 var(--bn-type-body)/var(--bn-line-body) var(--bn-font-body);}
.bn-site *, .bn-site *::before, .bn-site *::after {box-sizing:border-box;}
.bn-site h1,.bn-site h2,.bn-site h3,.bn-site p,.bn-site figure,.bn-site blockquote,.bn-site dl,.bn-site dd {margin:0;}
.bn-site h1 {font:400 var(--bn-type-hero)/1.25 var(--bn-font-display);letter-spacing:var(--bn-display-tracking,0);}
.bn-site h2 {font:400 var(--bn-type-section)/var(--bn-line-heading) var(--bn-font-display);letter-spacing:var(--bn-display-tracking,0);}
.bn-site h3 {font:var(--bn-display-weight-strong,400) var(--bn-type-card)/var(--bn-line-card) var(--bn-font-display);letter-spacing:var(--bn-display-tracking,0);}
.bn-site a {color:inherit;}
.bn-site button {font:inherit;cursor:pointer;}
.bn-site img {display:block;max-width:100%;height:auto;}
.bn-site :focus-visible {outline:2px solid var(--bn-focus);outline-offset:4px;}
.bn-container {width:calc(100% - 2 * var(--bn-gutter));max-width:var(--bn-content);margin-inline:auto;}
.bn-site #main {position:relative;isolation:isolate;overflow:clip;}
.bn-section {padding-block:var(--bn-section-space);position:relative;}
.bn-heading {display:flex;flex-direction:column;gap:var(--bn-title-gap);}
.bn-eyebrow {color:var(--bn-accent);font:500 14px/20px var(--bn-font-meta);letter-spacing:1.5px;}
.bn-muted,.bn-meta {color:var(--bn-muted);}
.bn-meta {font:400 14px/20px var(--bn-font-meta);}
.bn-lead {font-size:var(--bn-type-lead);line-height:var(--bn-line-lead);}
.bn-button,.bn-icon-button {display:inline-flex;align-items:center;justify-content:center;min-height:var(--bn-control);border:var(--bn-border) solid var(--bn-accent);background:var(--bn-accent);color:var(--bn-on-accent)!important;text-decoration:none;transition:background var(--bn-dur-fast),color var(--bn-dur-fast),border-color var(--bn-dur-fast);}
.bn-button {padding:12px 24px;min-width:160px;font:600 14px/20px var(--bn-font-body);letter-spacing:.5px;}
.bn-button--large {min-height:var(--bn-control-lg);padding-inline:32px;}
.bn-button--secondary,.bn-icon-button {background:var(--bn-bg);color:var(--bn-accent)!important;}
.bn-button:hover {background:var(--bn-accent-hover);border-color:var(--bn-accent-hover);}
.bn-button:active {background:var(--bn-accent-pressed);border-color:var(--bn-accent-pressed);}
.bn-button--secondary:hover {color:var(--bn-on-accent)!important;}
.bn-icon-button {width:var(--bn-control);height:var(--bn-control);flex:none;padding:12px;}
.bn-icon-button:hover {background:var(--bn-surface);}
.bn-icon-button:disabled {border-color:var(--bn-border-subtle);opacity:.45;cursor:default;}
.bn-link {color:var(--bn-accent)!important;display:inline-flex;align-items:center;gap:8px;min-height:48px;font:600 14px/20px var(--bn-font-body);letter-spacing:.5px;text-decoration:underline;text-underline-offset:3px;}
.bn-link:hover {color:var(--bn-accent-hover)!important;}
.bn-site button.bn-link {border:0;background:transparent;padding:0;cursor:pointer;}
.bn-site [hidden] {display:none!important;}
.bn-arrow {width:14px;height:auto;flex:none;}
.bn-skip {position:absolute;top:8px;left:24px;z-index:100;background:var(--bn-accent);color:var(--bn-on-accent)!important;padding:12px;transform:translateY(-200%);}
.bn-skip:focus {transform:none;}
.bn-site .screen-reader-text {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.bn-header {background:var(--bn-bg);}
.bn-header__inner {display:flex;align-items:center;gap:24px;min-height:104px;padding-inline:24px;}
.bn-logo {display:inline-flex;align-items:center;min-width:44px;min-height:52px;flex:none;}
.bn-logo img {width:42.6px;height:auto;}
.bn-nav {display:flex;gap:32px;}
.bn-nav--desktop {margin-left:auto;}
.bn-nav--desktop a {display:flex;align-items:center;justify-content:center;min-height:48px;padding-inline:8px;text-decoration:none;}
.bn-nav a:hover {color:var(--bn-accent);text-decoration:underline;text-underline-offset:12px;}
.bn-header__phone {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;font:400 14px/20px var(--bn-font-body);text-decoration:none;background:transparent;}
.bn-header__phone:hover {color:var(--bn-accent);}
.bn-menu-toggle {display:none;margin-left:auto;}
.bn-menu-glyph {border-block:1.5px solid currentColor;}
.bn-menu-glyph::after {content:'';position:absolute;left:0;right:0;top:5px;border-top:1.5px solid currentColor;}
.bn-mobile-panel {padding:0;border:0;background:var(--bn-bg);color:var(--bn-text);width:100%;max-width:none;height:100dvh;max-height:none;margin:0;overflow:auto;}
.bn-mobile-panel::backdrop {background:var(--bn-bg);}
.bn-mobile-panel__top {display:flex;justify-content:space-between;align-items:center;height:80px;padding:16px 24px;}
.bn-mobile-panel .bn-menu-close {font-size:36px;line-height:1;}
.bn-nav--mobile {flex-direction:column;padding:24px;gap:24px;}
.bn-nav--mobile a {font:var(--bn-display-weight-strong,400) var(--bn-type-card)/var(--bn-line-card) var(--bn-font-display);display:flex;align-items:center;min-height:48px;text-decoration:none;}
.bn-mobile-panel__venues {display:flex;flex-direction:column;margin:24px;gap:8px;}
.bn-mobile-panel>.bn-button {margin:16px 24px 48px;width:calc(100% - 48px);}
.bn-menu-open {overflow:hidden;}
.bn-hero__stage {position:relative;isolation:isolate;min-height:600px;overflow:hidden;background:var(--bn-bg);}
.bn-hero__photo {position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:center;z-index:-2;}
.bn-hero__stage::after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(104deg,rgba(0,0,0,.7) 34%,rgba(0,0,0,0) 56%,rgba(0,0,0,.28) 78%);}
.bn-hero__content {padding:36px 0 64px;max-width:600px;display:flex;flex-direction:column;align-items:flex-start;gap:32px;}
.bn-hero__logo {width:100px;}
.bn-actions {display:flex;gap:16px;flex-wrap:wrap;}
.bn-site .bn-contact-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-block:26px;margin-inline:auto;}
.bn-contact-summary dt {color:var(--bn-muted);font:400 14px/20px var(--bn-font-meta);margin-bottom:8px;}
.bn-contact-summary a {text-decoration:none;}
.bn-contact-summary a:hover {text-decoration:underline;}
.bn-about {overflow:visible;}
.bn-about__grid {display:grid;grid-template-columns:7fr 8fr;gap:80px;align-items:center;}
.bn-about__photo {width:100%;aspect-ratio:7/6;object-fit:cover;}
.bn-about__text .bn-muted {font-size:var(--bn-type-lead);line-height:var(--bn-line-lead);}
.bn-decor {position:absolute;z-index:-1;pointer-events:none;max-width:none!important;}
.bn-decor--tablecloth {width:1722px;left:calc(50% - 861px);top:-180px;transform:rotate(-159.5deg);}
.bn-menu {overflow:visible;}
.bn-menu .bn-heading h2 {font-size:var(--bn-type-section);line-height:var(--bn-line-heading);}
.bn-menu-art {position:absolute;inset:0;overflow:visible;z-index:-1;pointer-events:none;}
.bn-decor--tablecloth,.bn-menu-art {translate:0 var(--bn-parallax-y,0px);}
.bn-menu-art img {position:absolute;max-width:none;height:auto;}
.bn-menu-art__cloth {width:1280px;left:calc(50% - 30px);top:260px;}
.bn-menu-art__setting {position:absolute;width:850px;height:700px;left:calc(50% - 60px);top:180px;}
.bn-menu-art__plate {position:absolute;width:488.328px;aspect-ratio:488/491;left:230px;top:130px;transform:rotate(-66.43deg);}
.bn-menu-art__plate>img,.bn-menu-art__plate>canvas {position:absolute;inset:0;width:100%;height:100%!important;}
.bn-menu-art__plate>canvas {opacity:0;transition:opacity var(--bn-dur-base);}
.bn-menu-art__plate.is-3d-ready {transform:rotate(-18deg);}
.bn-menu-art__plate.is-3d-ready>img {visibility:hidden;}
.bn-menu-art__plate.is-3d-ready>canvas {opacity:1;}
.bn-menu-art__fork {width:247.009px;left:80px;top:0;transform:rotate(95.29deg) scaleY(-1);}
.bn-menu-art__knife {width:224.688px;left:48px;top:28px;transform:rotate(15.56deg) scaleY(-1);}
/* Section header (ADR-051): heading on the left, actions (controls, CTA) on the right. */
.bn-section-header {display:flex;align-items:flex-end;justify-content:space-between;gap:var(--bn-space-5);margin-bottom:var(--bn-heading-gap);}
.bn-section-header>.bn-heading {min-width:0;flex:1 1 auto;}
.bn-section-header__actions {display:flex;align-items:center;gap:var(--bn-space-4);flex:none;}
.bn-section-header .bn-heading {gap:var(--bn-title-gap);}
.bn-carousel-controls {display:flex;align-items:center;gap:8px;flex:none;}
.bn-carousel-controls[hidden] {display:none;}
.bn-carousel-counter {color:var(--bn-muted);font:400 14px/20px var(--bn-font-meta);min-width:48px;}
.bn-carousel-controls img {height:12px;width:auto;}
.bn-carousel-track {display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;padding:8px 4px;margin:-8px -4px;}
.bn-carousel-track::-webkit-scrollbar {display:none;}
.bn-menu-card {position:relative;flex:0 0 calc((100% - 48px)/3);display:flex;flex-direction:column;scroll-snap-align:start;text-decoration:none;min-width:0;background:transparent;}
.bn-menu-card__media {aspect-ratio:4/3;background:var(--bn-surface);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.bn-menu-card__media>img {width:100%;height:100%;object-fit:cover;}
.bn-menu-card__media>.bn-menu-card__placeholder {width:72px;height:auto;opacity:.35;}
.bn-menu-card__body {padding:24px 0 8px;display:flex;flex-direction:column;gap:16px;}
.bn-menu-card h3 {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0;}
.bn-menu-card h3 a {text-decoration:none;}
.bn-menu-card h3 a:hover {text-decoration:underline;text-underline-offset:4px;}
.bn-menu-card__description {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:0;}
.bn-menu-card__pairing {font-size:var(--bn-type-meta);line-height:1.6;margin-block:12px;}
.bn-menu-card__pairing strong {display:block;font-weight:500;color:var(--bn-text);}
.bn-menu-card__footer {display:flex;gap:16px;align-items:center;min-height:48px;flex-wrap:wrap;}
.bn-menu-card__more {margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;min-width:24px;min-height:44px;}
.bn-price {color:var(--bn-accent);font:600 var(--bn-type-price)/24px var(--bn-font-body);white-space:nowrap;}
.bn-tags {display:flex;flex-wrap:wrap;gap:6px;min-height:24px;}
.bn-tag {display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:1px solid var(--bn-border-subtle);background:var(--bn-surface);color:var(--bn-muted);font-size:12px;line-height:18px;}
.bn-wine-icon {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;}
.bn-wine-icon>img {display:block;width:100%;height:100%;}
.bn-nutrition {font:500 var(--bn-type-small)/18px var(--bn-font-meta);letter-spacing:.3px;}
.bn-nutrition summary {display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;min-height:44px;color:var(--bn-muted);}
.bn-nutrition summary::-webkit-details-marker {display:none;}
.bn-nutrition summary>span {color:var(--bn-accent);font-size:16px;transition:rotate var(--bn-dur-fast);}
.bn-nutrition[open] summary>span {rotate:45deg;}
.bn-nutrition summary:hover,.bn-nutrition[open] summary {color:var(--bn-accent);}
.bn-nutrition__panel {position:absolute;right:0;bottom:68px;z-index:2;width:min(240px,100%);padding:16px 20px;background:var(--bn-bg);border:1px solid var(--bn-border-decor);box-shadow:0 8px 24px #0006;letter-spacing:0;}
.bn-nutrition__panel dl {margin-top:10px;display:grid;gap:6px;font:400 var(--bn-type-meta)/20px var(--bn-font-body);}
.bn-nutrition__panel dl>div {display:flex;justify-content:space-between;gap:20px;}
.bn-nutrition__panel dd {color:var(--bn-accent);font-variant-numeric:lining-nums tabular-nums;}
/* Standard featured image shown whole: bottle left, native menu text right. */
.bn-menu-card:is(.bn-menu-card--wine,.bn-menu-card--bottle) {display:grid;grid-template-columns:clamp(72px,7vw,100px) minmax(0,1fr);gap:24px;align-items:start;}
:is(.bn-menu-card--wine,.bn-menu-card--bottle) .bn-menu-card__media {aspect-ratio:9/16;background:transparent;}
:is(.bn-menu-card--wine,.bn-menu-card--bottle) .bn-menu-card__media>img {object-fit:contain;transform:none;}
:is(.bn-menu-card--wine,.bn-menu-card--bottle) .bn-menu-card__media>.bn-meta {font-size:12px;text-align:center;}
:is(.bn-menu-card--wine,.bn-menu-card--bottle) .bn-menu-card__body {padding:0;min-width:0;}
:is(.bn-menu-card--wine,.bn-menu-card--bottle) h3 {display:block;overflow:visible;min-height:0;overflow-wrap:anywhere;}
:is(.bn-menu-card--wine,.bn-menu-card--bottle) .bn-menu-card__description {display:block;overflow:visible;}
/* Bottle selection: preserve six desktop slots; additional wines scroll. */
.bn-home-wine-grid {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:4px;}
.bn-home-wine-grid::-webkit-scrollbar {display:none;}
.bn-home-wine-grid .bn-menu-card.bn-menu-card--wine {display:flex;flex-direction:column;gap:0;align-items:stretch;max-width:none;flex:0 0 max(160px,calc(100% / 6));scroll-snap-align:start;}
.bn-home-wine-grid .bn-menu-card__media {position:relative;isolation:isolate;aspect-ratio:auto;height:calc(160px * 16 / 9);align-items:flex-start;}
.bn-home-wine-grid .bn-menu-card__media>img {position:relative;z-index:0;width:160px;max-width:100%;height:auto;flex:none;}
.bn-home-wine-grid .bn-menu-card__body {padding:16px 8px 0;flex-direction:row;justify-content:center;align-items:flex-start;gap:6px;text-align:left;}
.bn-home-wine-grid .bn-tags {flex:none;gap:4px;min-height:20px;}
.bn-home-wine-grid .bn-wine-icon {width:20px;height:20px;}
.bn-home-wine-grid .bn-menu-card h3 {font:400 14px/20px var(--bn-font-body);min-height:0;overflow-wrap:normal;max-width:160px;margin-inline:0;}
@media(max-width:767px) {
 .bn-menu-card:is(.bn-menu-card--wine,.bn-menu-card--bottle) {grid-template-columns:72px minmax(0,1fr);gap:16px;}
 .bn-home-wine-grid {display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:4px;}
 .bn-home-wine-grid::-webkit-scrollbar {display:none;}
 .bn-home-wine-grid .bn-menu-card.bn-menu-card--wine {flex:0 0 calc(100% / 3.5);scroll-snap-align:start;}
 .bn-home-wine-grid .bn-menu-card__media {height:auto;aspect-ratio:9/16;}
 .bn-home-wine-grid .bn-menu-card__media>img {width:100%;}
 .bn-home-wine-grid .bn-menu-card__body {padding:10px 5px 0;flex-direction:column;align-items:center;gap:4px;text-align:center;}
 .bn-home-wine-grid .bn-wine-icon {width:16px;height:16px;}
 .bn-home-wine-grid .bn-tags {min-height:16px;}
 .bn-home-wine-grid .bn-menu-card h3 {font-size:12px;line-height:16px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
}
.bn-event-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-block:var(--bn-heading-gap) 32px;}
/* Event card (ADR-051): one component everywhere — media on top, text below. */
.bn-event-card {position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:var(--bn-bg);border:1px solid var(--bn-border-card,var(--bn-border-subtle));text-decoration:none;transition:border-color var(--bn-dur-fast);}
.bn-event-card:hover {border-color:var(--bn-accent);}.bn-event-card:hover h3 {text-decoration:underline;text-underline-offset:4px;}
.bn-event-card__media {position:relative;isolation:isolate;aspect-ratio:3/2;overflow:hidden;background:var(--bn-event-surface,var(--bn-surface));flex:none;}
.bn-event-card__photo {position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;}
.bn-event-card__body {display:flex;flex-direction:column;align-items:flex-start;gap:var(--bn-space-4);flex:1;padding:var(--bn-card-padding);}
.bn-event-card h3 {max-width:100%;}
.bn-event-card__meta {display:flex;align-items:center;justify-content:space-between;gap:var(--bn-space-4);width:100%;margin-top:auto;}
.bn-event-card__status::before {content:'·';margin-inline:8px;}
.bn-event-card__arrow {display:inline-flex;color:var(--bn-accent);flex:none;}
.bn-event-card__arrow .bn-arrow {width:18px;transition:transform var(--bn-dur-fast) var(--bn-ease-out);}
.bn-event-card:hover .bn-event-card__arrow .bn-arrow {transform:translateX(3px);}
.bn-events__group {margin-top:48px;}
.bn-events__group+.bn-events__group {margin-top:72px;}
.bn-events__group-header {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;}
.bn-events__group-header>.bn-events__group-title {margin:0;}
.bn-events .bn-events__group-title {font-size:24px;line-height:1.3;}
.bn-events__group .bn-event-grid {margin-block:24px 32px;}
@media(min-width:1200px) {
 .bn-events .bn-event-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
 .bn-events .bn-event-card h3 {font-size:var(--bn-type-card);line-height:var(--bn-line-card);}
}
.bn-event-art {position:absolute;right:50%;bottom:0;transform:translateX(50%);pointer-events:none;z-index:-1;}
.bn-event-art img {position:absolute;max-width:none;height:auto;}
.bn-reviews {isolation:isolate;overflow:hidden;padding-bottom:var(--bn-section-space);}
.bn-reviews__heading {position:relative;margin-bottom:var(--bn-heading-gap);padding-right:220px;min-height:136px;}
.bn-review-avatar-cloud {position:absolute;right:0;top:-12px;width:192px;height:136px;isolation:isolate;}
.bn-review-avatar-cloud__item {position:absolute;left:var(--bn-avatar-left);top:var(--bn-avatar-top);width:var(--bn-avatar-size);height:var(--bn-avatar-size);border:3px solid var(--bn-bg);border-radius:50%;background:var(--bn-surface);box-shadow:0 5px 12px #0008;overflow:hidden;}
.bn-review-avatar-cloud__item>img {display:block;width:100%;height:100%;object-fit:cover;}
.bn-reviews__heading h2 {font-size:var(--bn-type-section);line-height:var(--bn-line-heading);}
.bn-decor--quotation {width:72px;right:0;top:0;}
.bn-review-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:minmax(220px,auto);gap:24px;}
.bn-review-card {display:flex;flex-direction:column;padding:var(--bn-card-padding);border:0;min-width:0;overflow-wrap:anywhere;}
.bn-review-photo {position:relative;grid-row:span 2;min-height:380px;overflow:hidden;}
.bn-review-photo>img {position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;}
.bn-review-photo--0>img {object-position:65% center;}
.bn-review-photo--2>img {object-position:25% center;}
.bn-review-card figcaption {display:flex;align-items:center;justify-content:space-between;}
.bn-rating {overflow:hidden;flex:none;}
.bn-rating img {max-width:none;}
.bn-invitation {position:relative;isolation:isolate;overflow:hidden;min-height:580px;display:flex;align-items:flex-start;text-align:center;}
.bn-invitation__photo {position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:center;z-index:-2;}
.bn-invitation::after {content:'';position:absolute;inset:0;background:#000;opacity:.48;z-index:-1;}
.bn-invitation__content {display:flex;flex-direction:column;align-items:center;gap:32px;padding-block:175px 125px;}
.bn-invitation h2 {font-size:var(--bn-type-hero);line-height:1.25;max-width:900px;}
.bn-invitation .bn-lead {max-width:700px;}
.bn-invitation__actions {justify-content:center;}
@media(max-width:1100px) {
 .bn-header__inner {padding-inline:0;gap:16px;}.bn-nav--desktop {gap:24px;}
 .bn-about__grid {gap:40px;}
 .bn-menu-card {flex-basis:calc((100% - 24px)/2);}.bn-review-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px) {
 .bn-site h1 {font-size:var(--bn-type-hero);line-height:1.25;}.bn-site h2 {font-size:var(--bn-type-section);line-height:var(--bn-line-heading);}.bn-site h3 {font-size:var(--bn-type-card);line-height:var(--bn-line-card);}.bn-nav--desktop,.bn-header__phone {display:none;}.bn-menu-toggle {display:inline-flex;}
 .bn-hero__stage {min-height:630px;}.bn-hero__stage::after {background:rgba(0,0,0,.65);}
 .bn-hero__content {padding-top:32px;max-width:100%;}.bn-hero__logo {width:88px;}
 .bn-hero .bn-actions {flex-direction:column;width:100%;}.bn-hero .bn-button {width:100%;}
 .bn-site .bn-contact-summary {grid-template-columns:1fr;gap:32px;padding-block:38px 60px;}
 .bn-about__grid {grid-template-columns:1fr;gap:40px;}.bn-about__text {grid-row:1;}.bn-about__text .bn-muted {font-size:16px;line-height:28px;}
 .bn-decor--tablecloth {width:1100px;left:-210px;top:80px;}
 .bn-menu .bn-heading h2 {font-size:var(--bn-type-section);line-height:var(--bn-line-heading);}
 .bn-menu-art__cloth {width:950px;left:90px;top:200px;}
 .bn-menu-art__setting {left:60px;top:120px;transform:scale(.65);transform-origin:top left;}
 .bn-section-header {flex-wrap:wrap;}.bn-carousel-controls {margin-left:auto;}
 .bn-menu-card {flex-basis:300px;max-width:calc(100% - 24px);}.bn-menu-card h3 {min-height:0;}
 .bn-event-grid {grid-template-columns:1fr;margin-top:var(--bn-heading-gap);}.bn-event-card__media .bn-event-art {scale:.85;transform-origin:center bottom;}.bn-review-grid {grid-auto-flow:row;grid-auto-rows:auto;}
 .bn-review-photo {grid-row:auto;min-height:0;aspect-ratio:4/3;}
 .bn-reviews__heading {padding-right:0;margin-bottom:var(--bn-heading-gap);}.bn-reviews__heading h2 {font-size:var(--bn-type-section);line-height:var(--bn-line-heading);}.bn-site .bn-decor--quotation {display:none;}
 .bn-review-avatar-cloud {position:relative;top:0;margin:16px 0 0 auto;}

 .bn-invitation {min-height:620px;}.bn-invitation::after {opacity:.56;}.bn-invitation__content {padding-top:165px;}.bn-invitation h2 {font-size:44px;line-height:52px;}.bn-invitation .bn-lead {font-size:16px;line-height:28px;}
 .bn-invitation__actions {flex-direction:column;width:100%;}
}
@media(prefers-reduced-motion:reduce) {html.bn-smooth,.bn-site * {scroll-behavior:auto!important;transition:none!important;}}

@media (prefers-reduced-motion:reduce) { .bn-decor--tablecloth,.bn-menu-art {translate:none;} }

/* Photo masks keep the layout still while the image moves inside. */
.bn-photo-mask {position:relative;overflow:hidden;aspect-ratio:7/6;}
.bn-photo-mask .bn-about__photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
[data-photo-parallax]>img {transition:transform var(--bn-dur-fast) var(--bn-ease-out);transform:translate3d(0,var(--bn-photo-y,0%),0) scale(1.14);transform-origin:center;}
.bn-photo-mask[data-photo-parallax]>img,.bn-menu-card__media[data-photo-parallax]>img {transform:translate3d(0,var(--bn-photo-y,0%),0) scale(1.2);}
.bn-site:has(#main>.bn-hero:first-child) .bn-header:not(.bn-header--enhanced) {position:relative;z-index:3;margin-bottom:-104px;background:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.08));}
.bn-site:has(#main>.bn-hero:first-child) .bn-hero__stage {min-height:704px;}
.bn-site:has(#main>.bn-hero:first-child) .bn-hero__content {padding-top:200px;padding-bottom:150px;}
.bn-contact-summary>div {display:flex;gap:16px;align-items:center;min-width:0;}
.bn-contact-summary dt {margin:0;flex:none;}
.bn-contact-summary dd {font-size:22px;line-height:32px;}
.bn-contact-icon {width:24px;height:24px;}
.bn-review-card blockquote {font:400 var(--bn-type-body)/28px var(--bn-font-body);}
.bn-review-card figcaption>span:first-child {font:400 14px/22px var(--bn-font-body);color:var(--bn-muted);}
.bn-rating {height:28px;width:90px;opacity:.8;}
.bn-rating img {width:90px;height:40px;translate:0 -6px;}
.bn-rating--1 {width:17px;}.bn-rating--2 {width:35px;}.bn-rating--3 {width:53px;}.bn-rating--4 {width:72px;}
.bn-review-tile.bn-reveal-pending {opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(16px);}
.bn-review-tile.bn-reveal-ready {transition:clip-path var(--bn-dur-scene) var(--bn-ease-out),opacity var(--bn-dur-base),transform var(--bn-dur-scene) var(--bn-ease-out);transition-delay:var(--bn-reveal-delay,0ms);}
@media (max-width:767px) {
 .bn-site:has(#main>.bn-hero:first-child) .bn-header:not(.bn-header--enhanced) {margin-bottom:-80px;}
 .bn-site:has(#main>.bn-hero:first-child) .bn-hero__stage {min-height:630px;}
 .bn-site:has(#main>.bn-hero:first-child) .bn-hero__content {padding-top:160px;padding-bottom:100px;}
 .bn-contact-summary dd {font-size:20px;line-height:30px;}
 .bn-review-card blockquote {font-size:16px;line-height:28px;}
 .bn-review-card figcaption>span:first-child {font-size:14px;line-height:22px;}
}
@media (prefers-reduced-motion:reduce) {
 [data-photo-parallax]>img,.bn-photo-mask[data-photo-parallax]>img,.bn-menu-card__media[data-photo-parallax]>img {transform:none;transition:none;}
 .bn-review-tile.bn-reveal-pending {opacity:1;clip-path:none;transform:none;}
 .bn-review-tile.bn-reveal-ready {transition:none;}
}

/* One fixed-size navigation instance keeps focus and the mobile dialog intact. */
:root {--bn-header-height:84px;--bn-header-expanded:var(--bn-header-height);}
.bn-site:has(.bn-header--enhanced):not(:has(#main>.bn-hero:first-child)) {padding-top:var(--bn-header-expanded);}
.bn-header--enhanced {position:fixed;inset:var(--bn-adminbar,0px) 0 auto;z-index:30;border:0;background:var(--bn-bg);transition:background var(--bn-dur-base);}
.bn-site:has(#main>.bn-hero:first-child) .bn-header--enhanced:not(.bn-header--scrolled) {background:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.08));}
.bn-header--enhanced .bn-header__inner {height:var(--bn-header-height);min-height:var(--bn-header-height);}
.bn-header--enhanced .bn-logo img {width:36px;transition:none;}
.bn-header--scrolled {background:color-mix(in srgb,var(--bn-bg) 92%,transparent);backdrop-filter:blur(10px);}
.bn-header__phone-icon {display:block;width:20px;height:20px;flex:none;}
.bn-site #contacts {scroll-margin-top:88px;}
@media(max-width:767px) {
 :root {--bn-header-height:70px;}
 .bn-header--enhanced .bn-header__phone {display:inline-flex;margin-left:auto;min-width:44px;width:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:0;}
 .bn-header--enhanced .bn-header__phone-icon {display:block!important;width:24px;height:24px;}
 .bn-header--enhanced .bn-menu-toggle {margin-left:0;}
 .bn-site #contacts {scroll-margin-top:80px;}
}

/* Keep numbers on the baseline, including display headings and compact metadata. */
.bn-site,.bn-site h1,.bn-site h2,.bn-site h3,.bn-site a,.bn-site button,.bn-meta,.bn-price,.bn-contact-summary dd {font-variant-numeric:lining-nums;}
.bn-site h1,.bn-site h2,.bn-site h3,.bn-nav--mobile a {font-synthesis:none;}

/* Footer stays in normal document flow. */
.bn-site {isolation:isolate;}
.bn-site #main {z-index:1;background:var(--bn-bg);min-height:calc(100svh - var(--bn-header-expanded));}
.bn-footer {background:var(--bn-footer-bg,var(--bn-bg));width:100%;padding-block:64px 32px;}
@media(max-width:767px) {.bn-footer {padding-block:40px 24px;}}

/* Compact review attribution; the quotation keeps its existing prominence. */
.bn-review-card {position:relative;isolation:isolate;overflow:hidden;gap:24px;padding-bottom:var(--bn-card-padding);background:linear-gradient(145deg,color-mix(in srgb,var(--bn-review-bg),var(--bn-accent) 5%),var(--bn-review-bg) 65%);}
.bn-review-card::before {content:'';position:absolute;inset:-25%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 20%,color-mix(in srgb,var(--bn-accent),transparent 94%),transparent 65%);}
.bn-review-card.bn-reveal-ready:not(.bn-reveal-pending)::before {animation:bn-review-glow 12s ease-in-out 2 alternate;}
@keyframes bn-review-glow {from {transform:translate(-3%,-2%);opacity:.45;} to {transform:translate(4%,3%);opacity:.85;}}
.bn-review-card figcaption {gap:10px;flex-wrap:nowrap;}
.bn-review-card figcaption>.bn-review-author {display:flex;align-items:center;gap:7px;min-width:0;flex:1;font:400 var(--bn-type-meta)/24px var(--bn-font-body);}
.bn-review-avatar {width:18px!important;height:18px!important;object-fit:cover;border-radius:50%;flex:none;}
.bn-review-byline {min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;}
.bn-review-date-source {display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;}
.bn-review-byline time {color:var(--bn-muted);font-size:var(--bn-type-small);white-space:nowrap;}
.bn-review-byline time::before {content:'·';margin-right:6px;}
.bn-rating.bn-rating--rounded {display:flex;gap:2px;width:auto;height:13px;color:var(--bn-accent);opacity:.75;}
.bn-review-source {position:static;white-space:nowrap;font:400 16px/17px var(--bn-font-body);color:var(--bn-muted);text-decoration:none;opacity:.6;}
.bn-review-source:hover,.bn-review-source:focus-visible {opacity:1;text-decoration:underline;text-underline-offset:3px;}
@media (prefers-reduced-motion:reduce) {.bn-review-card::before {animation:none!important;}}

/* Scroll down peels a framed photograph away; scroll up returns it to the stack. */
.bn-review-photo[data-review-stack] {overflow:visible;margin:26px 20px 12px 0;isolation:isolate;}
.bn-review-photo__card {position:absolute;inset:0;border:5px solid #080808;border-bottom-width:10px;overflow:hidden;background:var(--bn-surface);box-shadow:0 calc(8px + var(--bn-stack-depth)*5px) calc(20px + var(--bn-stack-depth)*7px) #0009,0 2px 5px #0008;transform-origin:50% 70%;transform:translate3d(calc(var(--bn-stack-depth)*12px),calc(var(--bn-stack-depth)*-16px),0) rotate(calc(var(--bn-stack-depth)*3deg)) scale(calc(1 - var(--bn-stack-depth)*.018));}
.bn-review-photo__card:nth-child(1) {z-index:3;}.bn-review-photo__card:nth-child(2) {z-index:2;}.bn-review-photo__card:nth-child(3) {z-index:1;}
.bn-review-photo__card img {width:100%;height:100%!important;object-fit:cover;display:block;}
.bn-review-photo--0 .bn-review-photo__card img {object-position:65% center;}
.bn-review-photo--2 .bn-review-photo__card img {object-position:25% center;}
/* Quiet stack motion (decided 2026-10-11): the top photo grows slightly and dissolves in place; the return reverses it. */
.bn-review-photo__card.is-leaving {z-index:4;animation:bn-stack-depart calc(var(--bn-dur-base) * 1.2) var(--bn-ease-out) both;}
.bn-review-photo__card.is-returning {z-index:4;animation:bn-stack-return calc(var(--bn-dur-base) * 1.2) var(--bn-ease-out) both;}
@keyframes bn-stack-depart {from {opacity:1;transform:scale(1);} to {opacity:0;transform:scale(1.04);}}
@keyframes bn-stack-return {from {opacity:0;transform:scale(1.04);} to {opacity:1;transform:scale(1);}}
.bn-review-photo__card {transition:transform var(--bn-dur-base) var(--bn-ease-out);}
.bn-review-photo__card[data-photo-parallax]>img {transform:translate3d(0,var(--bn-photo-y,0%),0) scale(1.14);}
.bn-review-photo__card.is-gone {visibility:hidden;opacity:0;}
@media (prefers-reduced-motion:reduce) {
 .bn-review-photo__card {transform:none;transition:none;animation:none;}
 .bn-review-photo__card:not(:first-child) {display:none;}
 .bn-review-photo__card[data-photo-parallax]>img {transform:none;transition:none;}
}

/* Place photo stacks deliberately across columns instead of relying on dense auto-flow. */
@media(min-width:1101px) {
 .bn-review-photo--0 {grid-column:2;grid-row:1 / span 2;}
 .bn-review-photo--1 {grid-column:1;grid-row:3 / span 2;}
 .bn-review-photo--2 {grid-column:3;grid-row:4 / span 2;}
 .bn-review-photo--3 {grid-column:2;grid-row:5 / span 2;}
}
@media(min-width:768px) and (max-width:1100px) {
 .bn-review-photo--0 {grid-column:2;grid-row:1 / span 2;}
 .bn-review-photo--1 {grid-column:1;grid-row:3 / span 2;}
 .bn-review-photo--2 {grid-column:2;grid-row:5 / span 2;}
 .bn-review-photo--3 {grid-column:1;grid-row:7 / span 2;}
}

.bn-header.bn-header--enhanced {border:0;box-shadow:none;}
.bn-review-card {justify-content:flex-start;}
.bn-review-card>.bn-rating {margin-bottom:0;}
.bn-review-card figcaption {margin-top:auto;}
.bn-review-source {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:16px;}

.bn-review-source svg {width:16px;height:16px;flex:none;}
@media(max-width:767px) {
 .bn-review-grid {grid-template-columns:minmax(0,1fr);width:100%;}
 .bn-review-tile {min-width:0;grid-column:1;grid-row:auto;overflow-wrap:anywhere;}
 .bn-review-photo[data-review-stack] {margin-inline:4px;}
 .bn-reviews {overflow-anchor:none;}
 .bn-review-more {display:flex;margin:28px auto 0;max-width:100%;}
}

/* A logo-proportioned control with a stable touch target in both menu states. */
.bn-menu-toggle.bn-icon-button,.bn-mobile-panel .bn-menu-close.bn-icon-button {position:relative;width:44px;height:52px;min-height:52px;padding:0;border:0;background:transparent;box-shadow:none;-webkit-tap-highlight-color:transparent;}
.bn-menu-shape {position:absolute;inset:0;width:44px;height:52px;fill:var(--bn-bg);stroke:currentColor;stroke-width:1;transition:fill var(--bn-dur-fast),stroke var(--bn-dur-fast);}
.bn-menu-toggle:hover .bn-menu-shape,.bn-menu-close:hover .bn-menu-shape {fill:var(--bn-surface);}
.bn-menu-toggle:focus,.bn-menu-close:focus {outline:none;}
.bn-menu-toggle:focus-visible .bn-menu-shape,.bn-menu-close:focus-visible .bn-menu-shape {stroke:var(--bn-focus);stroke-width:2;}
.bn-menu-glyph {position:relative;width:20px;height:16px;border:0;}
.bn-menu-glyph::before,.bn-menu-glyph::after,.bn-menu-glyph>span {content:'';position:absolute;left:0;top:7px;width:20px;height:1.5px;background:currentColor;border:0;transition:transform var(--bn-dur-fast) var(--bn-ease-out),opacity var(--bn-dur-fast);}
.bn-menu-glyph::before {transform:translateY(-6px);}
.bn-menu-glyph::after {transform:translateY(6px);}
.bn-menu-toggle[aria-expanded=true] .bn-menu-glyph::before,.bn-mobile-panel.is-open .bn-menu-glyph::before {transform:rotate(45deg);}
.bn-menu-toggle[aria-expanded=true] .bn-menu-glyph::after,.bn-mobile-panel.is-open .bn-menu-glyph::after {transform:rotate(-45deg);}
.bn-menu-toggle[aria-expanded=true] .bn-menu-glyph>span,.bn-mobile-panel.is-open .bn-menu-glyph>span {opacity:0;}
.bn-mobile-panel__top.bn-container {height:var(--bn-panel-header-height,80px);padding:0;}
@media(prefers-reduced-motion:reduce) {.bn-menu-glyph::before,.bn-menu-glyph::after,.bn-menu-glyph>span {transition:none;}}

.bn-mobile-panel .bn-menu-close.bn-icon-button {position:absolute;left:var(--bn-panel-control-left);top:var(--bn-panel-control-top);}

@media(max-width:767px) {.bn-header--enhanced .bn-logo img,.bn-mobile-panel__top .bn-logo img {width:44px;height:52px;} .bn-header__inner {min-height:var(--bn-header-height);}}

/* Adjacent sections share one breathing space instead of adding two paddings. */
.bn-section+.bn-section,.bn-dining-scene+.bn-section {padding-top:0;}
.bn-about__text .bn-muted,.bn-heading>.bn-muted {max-width:60ch;}
@media(max-width:767px) {
 .bn-mobile-panel .bn-nav--mobile {padding-inline:var(--bn-gutter);}
 .bn-mobile-panel__venues {margin-inline:var(--bn-gutter);}
 .bn-mobile-panel>.bn-button {margin-inline:var(--bn-gutter);width:calc(100% - 2 * var(--bn-gutter));}
}

/* ===== Core components v2 (ADR-051). Structure here; colours come from the theme layer. ===== */

/* Section CTA: compact button for "all items" exits. Themes set --bn-cta-* tokens. */
.bn-section-cta {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--bn-control);padding:12px 20px;border:var(--bn-border) solid var(--bn-cta-border,var(--bn-border-subtle));background:var(--bn-cta-bg,transparent);color:var(--bn-cta-text,var(--bn-text))!important;font:600 var(--bn-type-meta)/20px var(--bn-font-body);letter-spacing:.5px;text-decoration:none;white-space:nowrap;transition:background var(--bn-dur-fast),color var(--bn-dur-fast),border-color var(--bn-dur-fast);}
.bn-section-cta .bn-arrow {width:14px;transition:transform var(--bn-dur-fast) var(--bn-ease-out);}
.bn-section-cta:hover {border-color:var(--bn-cta-border-hover,var(--bn-accent));background:var(--bn-cta-bg-hover,transparent);color:var(--bn-cta-text-hover,var(--bn-accent))!important;}
.bn-section-cta:hover .bn-arrow {transform:translateX(3px);}
.bn-section-cta--external .bn-arrow {rotate:-45deg;}

/* Two link styles: .bn-link (inline action: accent + underline) and .bn-nav-link (navigation). */
.bn-nav-link {display:inline-flex;align-items:center;min-height:40px;color:var(--bn-text);text-decoration:none;}
.bn-nav-link:hover {color:var(--bn-accent);text-decoration:underline;text-underline-offset:6px;}
@media (pointer:coarse) {.bn-nav-link {min-height:44px;}}

/* Phone: the number for mouse users, "Позвонить" for touch (decided 2026-10-11). */
.bn-phone__number {display:none;}
@media (hover:hover) and (pointer:fine) {
 .bn-phone__label {display:none;}
 .bn-phone__number {display:inline;font-variant-numeric:lining-nums;}
 .bn-site .bn-phone.bn-button {min-width:0;padding-inline:4px;border-color:transparent;background:transparent;color:var(--bn-text)!important;font:400 var(--bn-type-lead)/24px var(--bn-font-body);letter-spacing:0;}
 .bn-site .bn-phone.bn-button:hover {border-color:transparent;background:transparent;color:var(--bn-accent)!important;}
 .bn-site .bn-invitation .bn-phone.bn-button {font-size:22px;line-height:32px;}
}

/* Carousel progress (mobile): replaces arrows; the thumb shows the visible share of the track. */
.bn-carousel-progress {position:relative;height:4px;margin-top:var(--bn-space-4);}
.bn-carousel-progress::before {content:'';position:absolute;inset:auto 0 1.5px;height:1px;background:var(--bn-border-subtle);}
.bn-carousel-progress>span {position:absolute;top:0;height:4px;border-radius:2px;background:var(--bn-accent);width:calc(var(--bn-progress-size,.3) * 100%);left:calc((100% - var(--bn-progress-size,.3) * 100%) * var(--bn-progress,0));}
@media (min-width:768px) {.bn-carousel-progress {display:none;}}

@media (max-width:767px) {
 /* Header actions move: CTA after the content, carousel arrows hidden in favour of the progress line. */
 .bn-section__inner {display:flex;flex-direction:column;}
 .bn-section__inner>.bn-section-header,.bn-section__inner>.bn-section-header>.bn-section-header__actions {display:contents;}
 .bn-section__inner>.bn-section-header>.bn-heading {order:-2;margin-bottom:var(--bn-heading-gap);}
 .bn-section__inner .bn-carousel-controls {display:none!important;}
 .bn-section__inner .bn-section-cta {order:10;align-self:stretch;margin-top:var(--bn-space-5);}
}

/* Venue footer v2 (ADR-051): contacts first, site navigation, other venues; a quiet legal line below. */
.bn-footer__grid {display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);gap:var(--bn-space-6);}
.bn-site .bn-footer__title {margin-bottom:var(--bn-space-3);font:500 var(--bn-type-small)/20px var(--bn-font-body);letter-spacing:1.5px;text-transform:uppercase;color:var(--bn-muted);}
.bn-footer__find {display:flex;flex-direction:column;align-items:flex-start;gap:var(--bn-space-2);}
.bn-footer__phone {display:inline-flex;align-items:center;min-height:44px;font:400 22px/32px var(--bn-font-body);font-variant-numeric:lining-nums;color:var(--bn-text);text-decoration:none;}
.bn-footer__phone:hover {color:var(--bn-accent);}
.bn-footer__find p {line-height:26px;}
.bn-footer__nav,.bn-footer__venues {display:flex;flex-direction:column;align-items:flex-start;}
.bn-footer__nav {padding-top:36px;}
.bn-footer__bottom {display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:var(--bn-space-7);padding-top:var(--bn-space-4);border-top:1px solid color-mix(in srgb,var(--bn-text) 12%,transparent);color:var(--bn-muted);font-size:var(--bn-type-small);line-height:20px;}
.bn-footer__bottom img {width:24px;height:auto;}
.bn-footer__bottom a {color:inherit;text-underline-offset:3px;}
.bn-footer__bottom a:hover {color:var(--bn-text);}
@media(max-width:1100px) {.bn-footer__grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.bn-footer__find {grid-column:1/-1;}.bn-footer__nav {padding-top:0;}}
@media(max-width:767px) {
 .bn-footer__grid {grid-template-columns:minmax(0,1fr);gap:var(--bn-space-5);}
 .bn-footer__nav .bn-nav-link,.bn-footer__venues .bn-nav-link {min-height:48px;}
 .bn-footer__bottom {margin-top:var(--bn-space-6);}
}

/* Hero entry (2026-10-12): once the photo has loaded it slowly grows into frame and brightens.
   `scale` composes with the parallax transform. Paused until JS sees the image; static without JS. */
@keyframes bn-hero-enter {from {scale:.94;filter:brightness(.45);} to {scale:1;filter:none;}}
.bn-hero__photo {animation:bn-hero-enter 2.4s var(--bn-ease-out) both;animation-play-state:paused;}
.bn-hero.is-photo-ready .bn-hero__photo {animation-play-state:running;}
@media (scripting:none) {.bn-hero__photo {animation:none;}}

/* Bottle emphasis follows hover and keyboard focus. */
@media (hover:hover) and (pointer:fine) {
 .bn-home-wine-grid .bn-menu-card__media>img {filter:brightness(.58) saturate(.8);transition:filter var(--bn-dur-scene) var(--bn-ease-std);}
 .bn-home-wine-grid .bn-menu-card h3 {color:var(--bn-muted);transition:color var(--bn-dur-base) var(--bn-ease-out);}
 .bn-home-wine-grid .bn-menu-card:is(:hover,:focus-within) .bn-menu-card__media>img {filter:brightness(1.04) saturate(1);}
 .bn-home-wine-grid .bn-menu-card:is(:hover,:focus-within) h3 {color:var(--bn-text);}
}
@media (prefers-reduced-motion:reduce) {.bn-hero__photo {animation:none;}.bn-home-wine-grid .bn-menu-card__media>img,.bn-home-wine-grid .bn-menu-card h3 {transition:none;}}
