:root { color-scheme:light; --lov-night:#ffffff; --lov-night-soft:#f5f5f5; --lov-text:#241c1c; --lov-cream:#241c1c; --lov-muted:#64534f; --lov-border:rgba(136,46,40,.22); --lov-gold:#882E28; --lov-accent-texture:var(--lov-red-texture); --lov-gold-texture:var(--lov-accent-texture); --lov-gold-bright:#882E28; --lov-title:#882E28; --lov-surface:#ffffff; --lov-action-surface:#882E28; --lov-action-glaze:rgba(55,0,5,.42); --lov-action-ink:#ffffff; --appearance-surface:#ffffff; }
:root[data-color-mode="dark"] { color-scheme:dark; --lov-night:#080808; --lov-night-soft:#151515; --lov-text:#ffffff; --lov-cream:#ffffff; --lov-muted:#c5b6ab; --lov-border:rgba(224,199,127,.3); --lov-gold:#c8a860; --lov-accent-texture:image-set(url("../assets/textures/gold-leaf-640.avif") type("image/avif"), url("../assets/textures/gold-leaf-640.webp") type("image/webp")); --lov-gold-bright:#e0c77f; --lov-title:#e0c77f; --lov-surface:#080808; --lov-action-surface:#882E28; --lov-action-glaze:rgba(55,0,5,.42); --lov-action-ink:#ffffff; --appearance-surface:#080808; }
@media (prefers-color-scheme:dark) { :root:not([data-color-mode="light"]) { color-scheme:dark; --lov-night:#080808; --lov-night-soft:#151515; --lov-text:#ffffff; --lov-cream:#ffffff; --lov-muted:#c5b6ab; --lov-border:rgba(224,199,127,.3); --lov-gold:#c8a860; --lov-accent-texture:image-set(url("../assets/textures/gold-leaf-640.avif") type("image/avif"), url("../assets/textures/gold-leaf-640.webp") type("image/webp")); --lov-gold-bright:#e0c77f; --lov-title:#e0c77f; --lov-surface:#080808; --lov-action-surface:#882E28; --lov-action-glaze:rgba(55,0,5,.42); --lov-action-ink:#ffffff; --appearance-surface:#080808; } }

h1, h2, h3, .guide-content h2, .guide-content h3, .guide-hero h1 { color:var(--lov-title); }
.lov-tastavents, .lov-tastavents .site-footer { background:var(--lov-surface); color:var(--lov-text); }
.lov-tastavents h2, .lov-tastavents .family-card strong { color:var(--lov-title); }
.lov-tastavents .footer-brand p, .lov-tastavents .footer-languages button { color:var(--lov-text); }
.lov-tastavents .home-actions { background:var(--lov-surface); background-image:none; color:var(--lov-title); }
.lov-tastavents .home-actions > a { border-color:currentColor; }
.lov-tastavents .home-actions .mobile-nav-book { background:var(--lov-action-surface); border-color:var(--lov-action-surface); color:var(--lov-action-ink); font-size:10px; }
.lov-tastavents .home-actions.on-hero { background:transparent; color:#fff; }
.lov-tastavents .home-actions.on-hero .mobile-nav-book { color:var(--lov-action-ink); border-color:var(--lov-action-surface); }
.lov-tastavents .hero-headline { color:#fff; }
.lov-tastavents .hero-mark img { filter:brightness(0) invert(1); }
.lov-tastavents .site-header { background:transparent; }
.lov-tastavents .site-header.is-scrolled { background:var(--lov-surface); color:var(--lov-title); }
.lov-tastavents .site-header.is-scrolled .menu-toggle { border-color:currentColor; }
.lov-tastavents .site-header.is-scrolled .menu-toggle span { background:currentColor; }
.lov-tastavents .button { color:var(--lov-title); border-color:var(--lov-title); }

.lov-tastavents .family-card { border-color:var(--lov-border); }
.guide-hero, .guide-toc, .guide-advice, .guide-cta { background:var(--lov-surface); color:var(--lov-text); }
.mobile-menu { background:var(--lov-surface); color:var(--lov-text); }
body[data-mobile-brand="lov"] { --mobile-nav-bg:var(--lov-surface); --mobile-nav-color:var(--lov-title); --mobile-nav-muted:var(--lov-text); --mobile-nav-line:var(--lov-border); }
.appearance-control { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; width: fit-content; margin-top: 24px; color: inherit; font: 12px/1.5 var(--font-body,var(--font-sans,system-ui)); }
.appearance-control[hidden] { display: none; }
.appearance-control select { min-height: 44px; padding: 8px 30px 8px 12px; border: 1px solid currentColor; border-radius: 999px; background: var(--appearance-surface); color: inherit; cursor: pointer; }
.appearance-control select:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.lov-tastavents h2 em, .guide-content h2 em, .guide-hero h1 em { background:none; color:var(--lov-title); -webkit-text-fill-color:currentColor; }
.lov-tastavents :is(.guest-archive-intro p,.rating-strip small,.review-stack footer,.reviews-note,.faq details p,.family-card > span,.footer-note,.footer-links,.footer-social,.preferred-source > p) { color:var(--lov-muted); }
.lov-tastavents :is(.rating-strip,.rating-strip a,.review-stack,.review-stack blockquote) { border-color:var(--lov-border); }
.lov-tastavents .artist-card-caption, .lov-tastavents .artist-card-caption h3 { color:#ffffff; -webkit-text-fill-color:currentColor; }
.lov-tastavents .artist-card-caption > span, .lov-tastavents .artist-links a { color:#e8776f; }
.guide-answer { background:var(--lov-surface); }
.guide-hero-deck, .guide-hero-facts p { color:var(--lov-muted); }
.appearance-footer { padding:24px; }

/* Existing velvet on white paper, and existing gold leaf on black paper. */
:root { --lov-title-glaze:rgba(55,0,5,.3); }
:root[data-color-mode="dark"] { --lov-title-glaze:rgba(224,199,127,.08); }
@media (prefers-color-scheme:dark) { :root:not([data-color-mode="light"]) { --lov-title-glaze:rgba(224,199,127,.08); } }
.lov-tastavents h2, .lov-tastavents h3, .guide-hero h1, .guide-content h2, .guide-content h3, .lov-tastavents h2 em { font-weight:600; color:var(--lov-title); }
.lov-tastavents .hero-headline { font-weight:600; color:#ffffff; }
.lov-tastavents .home-actions .mobile-nav-book, .lov-tastavents .home-actions.on-hero .mobile-nav-book { position:relative; background-color:var(--lov-action-surface); background-image:linear-gradient(var(--lov-action-glaze),var(--lov-action-glaze)),var(--lov-accent-texture); background-size:auto,520px auto; border:1px solid var(--lov-action-surface); color:var(--lov-action-ink); font-size:16px; }
.lov-tastavents .mobile-nav-book span, .lov-tastavents .mobile-nav-book:visited, .lov-tastavents .mobile-nav-book:visited span { color:var(--lov-action-ink); -webkit-text-fill-color:currentColor; }
.lov-tastavents .home-actions > .booking-hint { display:block; position:absolute; top:-24px; left:50%; width:24px; height:24px; margin-left:-12px; color:var(--lov-title); fill:none; stroke:currentColor; stroke-width:1.6; transform:rotate(90deg); pointer-events:none; animation:lov-booking-point 425ms ease-in-out 4,lov-booking-lifetime 1.7s step-end forwards; }
/* On arrival the page dims around Book now while the arrow points to it, for 1.7 s. A shadow does the dimming, so taps still reach the page. */
.lov-tastavents .home-actions { animation:lov-lift 1.7s; }
.lov-tastavents .home-actions .mobile-nav-book { z-index:1; animation:lov-spotlight 1.7s ease-in; }
.lov-tastavents .home-actions > .booking-hint { z-index:2; }
@keyframes lov-lift { from,to { z-index:2147483000; } }
@keyframes lov-spotlight { 0%,80% { box-shadow:0 0 0 150vmax rgb(0 0 0 / 60%); } 100% { box-shadow:0 0 0 150vmax rgb(0 0 0 / 0%); } }
.lov-tastavents .home-actions.on-hero .booking-hint { color:#ffffff; }
@keyframes lov-booking-point { 0%,100% { transform:translateY(-3px) rotate(90deg); } 50% { transform:translateY(3px) rotate(90deg); } }
@keyframes lov-booking-lifetime { 0%,99% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; } }
@media (prefers-reduced-motion:reduce) { .lov-tastavents .home-actions > .booking-hint { animation:lov-booking-lifetime 1.7s step-end forwards; animation-duration:1.7s !important; animation-iteration-count:1 !important; } .lov-tastavents .home-actions, .lov-tastavents .home-actions .mobile-nav-book { animation-duration:1.7s !important; animation-timing-function:step-end; } }
.lov-tastavents :is(.artist-card-caption > span,.artist-links a) { color:#ffffff; }
.lov-tastavents .artist-links a { border-color:rgba(255,255,255,.6); }

@supports ((-webkit-background-clip:text) or (background-clip:text)) {
 .lov-tastavents :is(h2,h3), .lov-tastavents h2 em, .guide-hero h1, .guide-content :is(h2,h3), .guide-content h2 em { background-image:linear-gradient(var(--lov-title-glaze),var(--lov-title-glaze)),var(--lov-accent-texture); background-size:auto,520px auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.lov-tastavents .artist-card-caption h3 { background-image:none; color:#ffffff; -webkit-text-fill-color:#ffffff; }

}

/* Warm wine-red atmosphere; people and plates retain softer, natural tones. Display grading preserves every original media file. */
:root { --brand-photo-grade:contrast(1.055) brightness(.99) saturate(.94) sepia(.035) hue-rotate(-4deg); --brand-photo-grade-soft:contrast(1.035) brightness(1) saturate(.97) sepia(.015); }

:root body img:is([src*=".webp" i],[src*=".jpg" i],[src*=".jpeg" i],[src*=".png" i],[src*=".avif" i]):not(:where([src*="logo" i],[src*="wordmark" i],[src*="icon" i],[src*="texture" i],[src*="/menu/" i],[src*="qr" i],[src*="tripadvisor" i],[src*="google" i],[src*="illustration" i],[src*="editorial-cdf" i])), :root body video[class] { filter:var(--brand-photo-grade); }

/* Shared mobile standards: reflow the layout rather than shrinking labels. */
@media (max-width:760px) {
:root body[data-mobile-brand="lov"] :is(p,small,figcaption,label,select,summary,li,dt,dd,.eyebrow,.section-number,.footer-note,.artist-card-caption > span,.rating-strip span) { font-size:16px; line-height:1.5; }
 :root body[data-mobile-brand="lov"] :is(a,button) { font-size:16px; line-height:1.4; }
 :root body[data-mobile-brand="lov"].guide-page :is(p,span,time,th,td,strong) { font-size:16px; line-height:1.5; }
 body[data-mobile-brand="lov"] :is(p,small,figcaption,label,select,summary,li,dt,dd,.eyebrow,.section-number,.footer-note) { overflow-wrap:anywhere; }
 body[data-mobile-brand="lov"] :is(a[href],button,select,summary) { min-height:48px; min-width:48px; }

 body[data-mobile-brand="lov"] .home-actions > a { display:flex; font-size:16px; line-height:1.25; letter-spacing:0; text-transform:none; padding-inline:4px; }
 body[data-mobile-brand="lov"] .home-actions { padding-inline:12px; gap:8px; }
 body[data-mobile-brand="lov"] .hero-film-toggle { width:48px; height:48px; }

 body[data-mobile-brand="lov"] .footer-languages { gap:8px; }
 body[data-mobile-brand="lov"] .footer-links, body[data-mobile-brand="lov"] .footer-social { gap:8px 16px; }
 body[data-mobile-brand="lov"] .artist-links a { padding:8px 0; font-size:16px; letter-spacing:0; }
 body[data-mobile-brand="lov"] .artist-links { gap:8px 12px; }
 body[data-mobile-brand="lov"] .artist-card-caption h3 { font-size:32px; line-height:1.2; }
 body[data-mobile-brand="lov"] .rating-strip a { display:grid; }
 body[data-mobile-brand="lov"] .reviews-note { max-width:65ch; }
 body[data-mobile-brand="lov"] .footer-note { font-size:16px; }
 body[data-mobile-brand="lov"] :is(.guest-list span,.family-card > span,.review-stack footer) { font-size:16px; line-height:1.5; }

 body[data-mobile-brand="lov"] .preferred-source { min-width:0; }
body[data-mobile-brand="lov"] :is(.button,.text-link) { max-width:100%; white-space:normal; overflow-wrap:anywhere; }

 body[data-mobile-brand="lov"] .visit { grid-template-columns:minmax(0,1fr); }
body[data-mobile-brand="lov"] :is(.visit-details) { min-width:0; width:100%; }
 body[data-mobile-brand="lov"] span { overflow-wrap:anywhere; }
}

/* Mobile editorial photographs reach both screen edges. Logos keep their scale. */
@media (max-width:760px) {
 body[data-mobile-brand="lov"] .guide-hero-media { width:100vw; max-width:none; margin-inline:calc(50% - 50vw); }
 body[data-mobile-brand="lov"] .guide-hero-media img { width:100%; max-width:none; }

 body[data-mobile-brand="lov"] .hero-portrait { width:100vw; }
 body[data-mobile-brand="lov"] .photo-window { width:100vw; margin-inline:calc(50% - 50vw); }
 body[data-mobile-brand="lov"]:not(.lov-editorial) .photo-track { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:none; gap:20px; width:100%; }
 body[data-mobile-brand="lov"]:not(.lov-editorial) .photo-track > * { grid-column:1; grid-row:auto; width:100%; max-width:none; margin:0; }

 body[data-mobile-brand="lov"]:not(.lov-editorial) .photo-track img { width:100%; max-width:none; }

}

/* Larger, uppercase headings and one sentence per line. The dock owns the actions. */
body[data-mobile-brand="lov"] { font-size:20.8px; }
body[data-mobile-brand="lov"] :is(h1,h2,h3) { text-transform:uppercase; }
.lov-tastavents :is(p,small,figcaption,label,select,summary,li,dt,dd,.eyebrow,.section-number,.footer-note,.artist-card-caption > span,.rating-strip span) { font-size:20.8px; }
.lov-tastavents p { white-space:pre-line; }

.lov-tastavents :is(h2,h2 em) { font-size:clamp(44.2px,5.72vw,88.4px); }

.lov-tastavents .artist-card-caption h3 { font-size:41.6px; }
.lov-tastavents .rating-strip strong { font-size:clamp(52px,5.2vw,75.4px); }
.lov-tastavents .review-stack blockquote p { font-size:clamp(31.2px,2.86vw,41.6px); }
:root body[data-mobile-brand="lov"] .review-stack footer { font-size:20.8px; }
.lov-tastavents .hero-headline { font-size:clamp(30px,9.6vw,144px); }

.lov-tastavents .home-actions { width:min(470px,100%); }
.lov-tastavents .home-actions > a, .lov-tastavents .home-actions .mobile-nav-book { font-size:20.8px; letter-spacing:0; }
.lov-tastavents .home-actions.has-large-type > a { white-space:normal; letter-spacing:0; }
:root body[data-mobile-brand="lov"] .home-actions .mobile-nav-book { font-size:20.8px; }
.lov-tastavents .hero-film-toggle { inset:24px auto auto 18px; }
.artist-card video[role="button"] { cursor:pointer; }
.artist-card video[role="button"]:focus-visible { outline:3px solid var(--lov-title); outline-offset:-6px; }

@media (max-width:760px) {
:root body[data-mobile-brand="lov"] :is(p,small,figcaption,label,select,summary,li,dt,dd,.eyebrow,.section-number,.footer-note,.artist-card-caption > span,.rating-strip span), :root body[data-mobile-brand="lov"] :is(a,button), :root body[data-mobile-brand="lov"].guide-page :is(p,span,time,th,td,strong) { font-size:20.8px; }
 :root body[data-mobile-brand="lov"] :is(h2,h2 em) { font-size:41.6px; }
 :root body[data-mobile-brand="lov"] .artist-card-caption h3 { font-size:41.6px; }

 .lov-tastavents .hero-headline { font-size:clamp(30px,9.6vw,144px); }
 :root body[data-mobile-brand="lov"] .review-stack blockquote p { font-size:31.2px; }

 :root body[data-mobile-brand="lov"] .home-actions { padding-inline:4px; gap:4px; grid-template-columns:repeat(3,minmax(0,1fr)); }
 :root body[data-mobile-brand="lov"] .home-actions > a { padding-inline:0; letter-spacing:-.04em; white-space:nowrap; }
 :root body[data-mobile-brand="lov"] .home-actions > a span { max-width:100%; white-space:normal; overflow-wrap:normal; }
 :root body[data-mobile-brand="lov"] .home-actions.has-large-type > a { white-space:normal; letter-spacing:0; }
 .lov-tastavents .hero-film-toggle { inset:22px auto auto 18px; }
}
@media (max-height:500px) and (max-width:980px) {
 .lov-tastavents .hero-portrait { width:100vw; height:100px; }
 .lov-tastavents .hero-headline { font-size:49.4px; }
}

/* Three compact footer rows: socials, settings, then useful titles. */
body[data-mobile-brand="lov"] .footer-compact { display:flex; flex-direction:column; align-items:center; gap:12px; padding:28px 16px; }
body[data-mobile-brand="lov"] .footer-compact .footer-row { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 18px; width:100%; margin:0; }
body[data-mobile-brand="lov"] .footer-compact .footer-social { gap:14px; }
body[data-mobile-brand="lov"] .footer-compact .footer-social a { display:grid; place-items:center; width:48px; height:48px; color:var(--lov-title); border-radius:50%; }
body[data-mobile-brand="lov"] .footer-compact .footer-social img { width:25px; height:25px; filter:none; }
:root[data-color-mode="dark"] body .footer-compact .footer-social img { filter:invert(1); }
@media (prefers-color-scheme:dark) { :root:not([data-color-mode="light"]) body .footer-compact .footer-social img { filter:invert(1); } }
.footer-social svg, .appearance-toggle svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
body[data-mobile-brand="lov"] .footer-compact .footer-settings { gap:24px; }
body[data-mobile-brand="lov"] .footer-compact .footer-languages { display:flex; gap:4px; }
body[data-mobile-brand="lov"] .footer-compact .footer-languages :is(a,button) { display:grid; place-items:center; min-width:48px; min-height:48px; padding:0; color:var(--lov-muted); font-size:20.8px; }
body[data-mobile-brand="lov"] .footer-compact .footer-languages :is([aria-pressed="true"],[aria-current="page"]) { color:var(--lov-title); font-weight:600; }
.appearance-toggle { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--lov-border); border-radius:50%; color:var(--lov-title); background:transparent; cursor:pointer; flex-shrink:0; }
.appearance-toggle[hidden] { display:none; }
.appearance-toggle .appearance-sun { display:none; }
.appearance-toggle[data-appearance-target="light"] .appearance-sun { display:block; }
.appearance-toggle[data-appearance-target="light"] .appearance-moon { display:none; }
.appearance-toggle:focus-visible, .footer-compact a:focus-visible, .footer-compact button:focus-visible { outline:2px solid var(--lov-title); outline-offset:4px; }
body[data-mobile-brand="lov"] .footer-compact .footer-links { max-width:780px; gap:0 18px; }
body[data-mobile-brand="lov"] .footer-compact .footer-links a { display:inline-flex; min-height:48px; align-items:center; max-width:100%; font-size:20.8px; line-height:1.3; text-transform:uppercase; letter-spacing:0; color:var(--lov-muted); overflow-wrap:anywhere; }
body[data-mobile-brand="lov"] .footer-compact .footer-note { width:100%; margin:0; padding:12px 0 0; font-size:20.8px; text-align:center; }

/* Full-width media, square corners; photographs are never stretched. */
.lov-tastavents .photo-track > * { border-radius:0; overflow:hidden; }

.lov-tastavents .hero-portrait img { border-radius:0; }
.lov-tastavents .artist-card { border-radius:0; }
.lov-tastavents .artist-card video.artist-card-media { object-fit:cover; background:#080808; }
body[data-mobile-brand="lov"] :is(h1,h2,h3) { overflow-wrap:anywhere; }

/* Maps / Book now / Call: one full-width dock with booking as the primary action. */
@font-face { font-family:"Cinzel"; src:url("../assets/fonts/cinzel-latin.woff2") format("woff2"); font-style:normal; font-weight:400 900; font-display:swap; }
:root body[data-mobile-brand="lov"] .home-actions { width:100%; max-width:none; left:0; right:0; bottom:0; transform:none; border-radius:0; grid-template-columns:minmax(0,1.1fr) minmax(0,1.8fr) minmax(0,1.1fr); justify-content:center; }
:root body[data-mobile-brand="lov"] .home-actions,
:root body[data-mobile-brand="lov"] .home-actions.on-hero { background:transparent; background-image:none; border:0; color:#e0c77f; padding:12px clamp(4px,2vw,12px) calc(18px + env(safe-area-inset-bottom)); gap:clamp(4px,1.5vw,8px); box-shadow:none; }
:root body[data-mobile-brand="lov"] .home-actions > a { text-transform:none; background:transparent; border-color:currentColor; }
:root body[data-mobile-brand="lov"] .home-actions .mobile-nav-book { background-color:#882E28; background-image:linear-gradient(var(--lov-action-glaze),var(--lov-action-glaze)),var(--lov-red-texture); color:#ffffff; border-color:#ffffff; font-family:"Cinzel",Georgia,serif; letter-spacing:.02em; }
:root body[data-mobile-brand="lov"] .home-actions > a > svg { display:block; width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
:root body[data-mobile-brand="lov"] .home-actions > a:not(.mobile-nav-book) > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Visible source ratings and three short, independently verified guest quotes. */
.lov-tastavents .review-stars { display:block; width:120px; height:24px; max-width:100%; fill:var(--lov-title); }
.review-stars .star-filled { stop-color:var(--lov-title); }
.review-stars .star-empty { stop-color:var(--lov-border); }
.lov-tastavents .rating-strip, .lov-tastavents .rating-strip a { border:0; }
.lov-tastavents .review-stack { border:0; }
:root body[data-mobile-brand="lov"] .review-stack .review-link { display:block; min-width:0; width:100%; color:var(--lov-text); }
.lov-tastavents .review-stack blockquote { height:100%; margin:0; padding:18px; border:1px solid var(--lov-border); border-radius:0; }
.lov-tastavents .review-stack blockquote p { margin-top:12px; }
.lov-tastavents .review-stack footer { display:flex; align-items:center; gap:12px; text-transform:none; letter-spacing:0; }
:root body[data-mobile-brand="lov"] .review-stack img.review-avatar { width:48px; height:48px; max-width:48px; flex:0 0 48px; border-radius:0; object-fit:cover; filter:none; }
.lov-tastavents .review-author { min-width:0; }
.lov-tastavents .review-stack .review-link:focus-visible { outline:2px solid var(--lov-title); outline-offset:4px; border-radius:0; }
.lov-tastavents .review-stack .review-link + .review-link { margin-top:12px; }
@media (min-width:1101px) { .lov-tastavents .review-stack .review-link + .review-link { margin-top:0; } }

:root body[data-mobile-brand="lov"] .home-actions.on-hero { color:#e0c77f; }
:root body[data-mobile-brand="lov"] .home-actions > a:not(.mobile-nav-book),
:root body[data-mobile-brand="lov"] .home-actions.on-hero > a:not(.mobile-nav-book) { background:#080808; color:#e0c77f; border-color:#e0c77f; }

@media (max-width:760px) { .lov-tastavents .hero-portrait { display:none; } }
