/* KV98 venue theme (ADR-051): brand palette, families and art only; structure comes from core.css. Prata approved 2026-10-09. */
/* Loading stays in the existing photo box, without moving its caption or neighbours. */
/* A fallback only: preserve positioning owned by photo stacks and other media. */
:where(.venue-kv98 .bn-image-slot) {position:relative;}
.venue-kv98 .bn-image-pending {visibility:hidden;}
.venue-kv98 .bn-image-skeleton {position:absolute;inset:0;z-index:3;display:grid;place-items:center;pointer-events:none;background:var(--bn-surface);}
.venue-kv98 .bn-image-skeleton::before {content:'';width:43px;height:52px;max-width:25%;max-height:35%;background:linear-gradient(105deg,color-mix(in srgb,var(--bn-text) 12%,transparent) 38%,color-mix(in srgb,var(--bn-text) 28%,transparent) 50%,color-mix(in srgb,var(--bn-text) 12%,transparent) 62%);background-size:300% 100%;mask:url('../../kv98/logo.svg') center/contain no-repeat;animation:bn-image-wave 3s ease-in-out infinite;}
.venue-kv98 :is(.bn-hero__stage,.bn-invitation)>.bn-image-skeleton {z-index:-2;}
.venue-kv98 .bn-image-skeleton.is-error::before {animation:none;}
@keyframes bn-image-wave {from {background-position:100% 0;} to {background-position:0 0;}}
@media(prefers-reduced-motion:reduce) {.venue-kv98 .bn-image-skeleton::before {animation:none;}}
/* The router's venue card previews this palette and family (ADR-051). */
.venue-kv98.bn-site,.bn-group-venue--kv98 {
 /* KV98 green scale: the only greens of the theme. */
 --kv98-green-950:#061718; --kv98-green-900:#002a2a; --kv98-green-800:#003333; --kv98-green-700:#004744;
 --bn-bg:#0d0d0d; --bn-surface:#1f1f1f; --bn-text:#fffcf5; --bn-muted:#b3afa8; --bn-muted-quiet:#827f7a;
 --bn-accent:#c4956a; --bn-on-accent:#0d0d0d; --bn-accent-hover:#d6ad88; --bn-accent-pressed:#ac7b50;
 --bn-border-subtle:#4e463f; --bn-border-decor:rgba(196,149,106,.3); --bn-focus:#fffcf5; --bn-review-bg:var(--kv98-green-800);
 /* Approved display family; regular weight only, without synthetic bold. */
 --bn-font-display:'Prata',Georgia,serif;
 --bn-display-weight-strong:400; --bn-display-tracking:0;
 --bn-font-body:Manrope,Arial,sans-serif;
 --bn-font-meta:Manrope,Arial,sans-serif; /* Space Grotesk has no Cyrillic (2026-10-11). */
}

/* Inner-page signature: the approved plate, quietly spanning the heading area. */
.venue-kv98.bn-site {--bn-nav-bg:rgba(13,13,13,.94);}
/* Over the hero, the unscrolled header has no tint or blur at all. */
.venue-kv98.bn-site:has(#main>.bn-hero:first-child) .bn-header:not(.bn-header--scrolled) {background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
.venue-kv98 .bn-page-art::before {content:'';position:absolute;z-index:-1;pointer-events:none;width:560px;aspect-ratio:1;right:8%;top:-60px;background:url('../../kv98/menu-plate.svg') center/contain no-repeat;transform:rotate(-24deg);opacity:.28;}
.venue-kv98 .bn-dish::before {right:-200px;top:260px;width:680px;opacity:.16;}
@media (max-width:767px) {
 .venue-kv98 .bn-menu-intro::before {width:300px;right:-120px;top:-32px;opacity:.22;}
 .venue-kv98 .bn-dish::before {width:440px;right:-240px;top:380px;opacity:.12;}
}

/* KV98 events: approved interior and wine illustrations, not part of shared geometry. */
.venue-kv98.bn-site {--bn-event-surface:var(--kv98-green-900);}
.venue-kv98 .bn-event-page-art::before {content:'';position:absolute;width:840px;aspect-ratio:444/122;right:-100px;top:64px;z-index:-1;pointer-events:none;background:url('../../kv98/event-rug.svg') center/contain no-repeat;transform:rotate(-9deg);opacity:.34;}
.venue-kv98 .bn-event-hero__visual .bn-event-art {right:50%;bottom:12%;transform:translateX(50%) scale(1.6);transform-origin:center bottom;}
.venue-kv98 .bn-event-hero__visual .bn-event-art--room {transform:translateX(50%) scale(1.3);}
.venue-kv98 .bn-event-hero__visual .bn-event-art--rug {bottom:26%;transform:translateX(50%) rotate(-8deg) scale(1.3);}
@media(max-width:767px) {
 .venue-kv98 .bn-event-page-art::before {width:500px;right:-220px;top:110px;opacity:.22;}
 .venue-kv98 .bn-event-hero__visual .bn-event-art {transform:translateX(50%);bottom:6%;}
 .venue-kv98 .bn-event-hero__visual .bn-event-art--room {transform:translateX(50%);}
}

.bn-event-art--wine {width:100px;height:228px;}.bn-event-art__bottle {width:57.136px;right:0;bottom:0;}.bn-event-art__glass {width:60.486px;left:0;bottom:0;transform:scaleX(-1);}
.bn-event-art--room {width:220px;height:230px;}.bn-event-art__lamp {width:67.139px;right:0;bottom:19px;}.bn-event-art__chair {width:162.963px;left:0;bottom:17px;}
.bn-event-art--rug {width:444px;height:122px;right:-84px;bottom:-8px;transform:rotate(-3.83deg);}.bn-event-art__rug {width:444.389px;left:0;bottom:0;}

/* Art inside the unified event card media (ADR-051). */
.venue-kv98 .bn-event-card__media .bn-event-art {bottom:10%;}
.venue-kv98 .bn-event-card__arrow {color:var(--bn-border-card);transition:color var(--bn-dur-fast);}
.venue-kv98 .bn-event-card:is(:hover,:focus-visible) {border-color:var(--bn-accent);}
.venue-kv98 .bn-event-card:is(:hover,:focus-visible) .bn-event-card__arrow {color:var(--bn-accent);}
.venue-kv98 .bn-event-card:hover h3 {text-decoration:none;}
.venue-kv98 .bn-event-card__media .bn-event-art--rug {right:50%;bottom:30%;transform:translateX(50%) rotate(-6deg) scale(.82);}


/* Section CTA: copper outline that fills on hover. */
/* Card edge: quiet light line at rest, copper on hover (decided 2026-10-12, ADR-053). The card is identified by its photo and title, so the edge is decorative. */
.venue-kv98.bn-site {--bn-border-card:color-mix(in srgb,var(--bn-text) 16%,transparent);}
.venue-kv98.bn-site {--bn-cta-text:var(--bn-accent);--bn-cta-border:color-mix(in srgb,var(--bn-accent) 60%,transparent);--bn-cta-border-hover:var(--bn-accent);--bn-cta-bg-hover:var(--bn-accent);--bn-cta-text-hover:var(--bn-on-accent);}

/* Contact map slot uses the KV98 green surface until the map is connected. */
.venue-kv98 {--bn-contact-map-bg:var(--kv98-green-900);}

/* The footer uses the deepest green (decided 2026-10-11, ADR-051). */
.venue-kv98.bn-site {--bn-footer-bg:var(--kv98-green-950);}

/* Review text uses the body face (decided 2026-10-11); Prata stays for headings. */
.venue-kv98 .bn-review-stone {position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;color:var(--kv98-green-700);opacity:.01875;}

/* A single cloth begins below the hero and continues behind both dining sections. */
.venue-kv98 .bn-dining-scene {position:relative;isolation:isolate;}
.venue-kv98 .bn-dining-art {position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:clip;}
.venue-kv98 .bn-dining-art__plane {position:absolute;width:clamp(1100px,140vw,1800px);aspect-ratio:1722/425;left:50%;top:clamp(360px,36vw,520px);transform:translateX(-50%) rotate(21deg);translate:0 var(--bn-parallax-y,0px);}
.venue-kv98 .bn-dining-art__cloth {width:100%;height:auto;max-width:none;}
.venue-kv98 .bn-dining-art__plate {position:absolute;width:29%;height:auto;max-width:none;left:65%;top:-16%;transform:rotate(-66deg);}
@media(max-width:767px) {.venue-kv98 .bn-dining-art__plane {top:380px;left:60%;}}
@media(prefers-reduced-motion:reduce) {.venue-kv98 .bn-dining-art__plane {translate:none;}}

/* Experiment: a quiet, reversible reading spotlight; no geometry changes. */
.venue-kv98 .bn-review-card {background:var(--bn-bg);}
.venue-kv98 .bn-review-card::before {display:none;}
.venue-kv98 .bn-reviews--reading .bn-review-card:not(.bn-reveal-pending) {opacity:.2;transition:clip-path var(--bn-dur-scene) var(--bn-ease-out),opacity var(--bn-dur-scene) var(--bn-ease-out),transform var(--bn-dur-scene) var(--bn-ease-out);transition-delay:0s;}
.venue-kv98 .bn-reviews--reading .bn-review-card.is-reading,.venue-kv98 .bn-reviews--reading .bn-review-card:focus-within {opacity:1;}
@media(hover:hover) and (pointer:fine) {.venue-kv98 .bn-reviews--reading .bn-review-card:hover {opacity:1;}}
@media(prefers-reduced-motion:reduce) {.venue-kv98 .bn-reviews--reading .bn-review-card:not(.bn-reveal-pending) {transition:none;}}

/* Quiet weight experiment: same size and baseline as the price. */
.venue-kv98 .bn-menu-card__footer .bn-meta {font:400 var(--bn-type-price)/24px var(--bn-font-body);color:var(--bn-muted-quiet);}
.venue-kv98 .bn-hero__content .bn-lead {white-space:pre-line;}
@media(min-width:768px) {
 .venue-kv98 .bn-invitation {min-height:870px;align-items:center;}
 .venue-kv98 .bn-invitation__content {padding-block:180px;}
}
