:root{--bg:#141410;--cream:#eee8da;--gold:#c9ad79;--muted:#b5b0a3;--line:#ffffff26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--cream);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#141410;position:relative;z-index:10;border-bottom:1px solid var(--line)}.brand{font:32px Georgia,serif;letter-spacing:5px;color:var(--gold)}.brand span{display:block;font:8px Arial,sans-serif;letter-spacing:2.6px;margin-top:8px}nav{display:flex;gap:32px;align-items:center;font-size:13px}nav a:hover,.textlink:hover{color:var(--gold)}.navbook{border:1px solid #a38b5b;padding:11px 20px}.menu{display:none}.hero{min-height:730px;height:calc(100svh - 98px);max-height:1000px;position:relative;display:flex;align-items:center;overflow:hidden}.heroimage{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,7,.86),rgba(9,10,7,.25)),linear-gradient(0deg,#11120ebd,transparent 40%),url(assets/dj.webp) center/cover}.hero-content{position:relative;padding:40px 8%;width:100%}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:2.8px;font-weight:600;margin:0 0 25px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(48px,5.4vw,86px);letter-spacing:-2.7px}em{font-weight:400;color:var(--gold)}.sub{color:#e1ddd2;font-size:16px;margin:28px 0 32px}.actions{display:flex;gap:14px}.button,.outline{padding:15px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;letter-spacing:.5px;min-height:48px;border:1px solid var(--gold);cursor:pointer}.button{background:var(--gold);color:#191912}.button:hover{background:#e0c58e}.outline{background:transparent;color:var(--cream);border-color:#ffffff70}.outline:hover{border-color:var(--gold)}.hero-bottom{position:absolute;bottom:48px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;border-top:1px solid #ffffff40;padding-top:22px}.hero-bottom b{margin-left:18px;color:var(--gold);font-weight:400}.image-note{position:absolute;bottom:10px;right:20px;color:#d4cdbd;font-size:9px}.wrap{max-width:1280px;margin:auto;padding-left:7%;padding-right:7%}.intro{padding-top:110px;padding-bottom:110px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}h2{font-size:clamp(40px,4vw,62px);letter-spacing:-1.7px}p{margin:0 0 20px}.muted{color:var(--muted);font-size:14px}.textlink{display:inline-block;font-size:12px;border-bottom:1px solid #a18a605e;padding:7px 0;margin-top:6px}.food{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-bottom:110px}.food-art{height:480px;position:relative;background:radial-gradient(ellipse at 15% 10%,#766444,transparent 55%),linear-gradient(135deg,#4c4434,#25231c);display:grid;place-items:center;overflow:hidden}.plate{height:290px;width:290px;border:2px solid #ad9b7470;box-shadow:0 15px 40px #0009,inset 0 0 0 17px #3b382e,inset 0 0 0 19px #8c7e5e55;border-radius:50%;background:radial-gradient(#2a2b24,#151811);display:grid;place-items:center;transform:rotate(-15deg)}.plate span{font:100px Georgia;color:#b5a17870}.art-caption{position:absolute;bottom:25px;font-size:9px;letter-spacing:5px;color:#d1bf9a}.section-copy h2{margin-bottom:28px}.section-copy>p:not(.eyebrow){max-width:420px}.status{display:block;font-size:10px;letter-spacing:2px;color:var(--gold);margin:25px 0}.lounge{background:#1d211a;padding:85px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}figure{margin:0}figure img{width:100%;height:500px;object-fit:cover}figcaption{font-size:9px;color:var(--muted);margin-top:7px}.upstairs{padding-top:110px;padding-bottom:70px}.musicline{margin-top:70px;padding:25px 0;border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px;letter-spacing:3px}.musicline i{color:var(--gold)}.events{padding:75px 0 90px;background:#231719}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.event{display:flex;align-items:center;gap:40px;border-block:1px solid #c9ad7944;padding:35px 0}.event-date{border-right:1px solid #c9ad7944;padding-right:35px;text-align:center;flex-shrink:0;display:grid;gap:7px}.event-date strong{font:80px Georgia;color:var(--gold)}.event-date span{font-size:10px;letter-spacing:1.5px}.event-info{flex:1}.event-info .eyebrow{margin-bottom:12px}.event-info h3{font-size:36px;margin-bottom:15px}.event-info p{font-size:13px;margin-bottom:8px}summary{cursor:pointer;font-size:12px;color:var(--gold);padding:10px 0}details p{max-width:550px;color:var(--muted)}.booking{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:.9fr 1.1fr;gap:75px}.notice{border-left:2px solid var(--gold);padding-left:15px;font-size:13px;color:#dfc99f}.form-panel{border:1px solid var(--line);padding:30px;background:#1b1b15}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:25px}.tabs button{width:50%;background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:12px;cursor:pointer}.tabs .selected{color:var(--gold);border-bottom-color:var(--gold)}label{display:block;font-size:11px;letter-spacing:.3px;margin-bottom:18px}input,select,textarea{display:block;width:100%;background:#161711;border:1px solid #ffffff32;color:var(--cream);padding:12px;margin-top:6px;border-radius:0;font-size:13px;color-scheme:dark}input::placeholder,textarea::placeholder{color:#9d9b8f}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{width:100%;justify-content:center}.form-panel small{font-size:10px;color:var(--muted)}#form-result{font-size:13px;color:var(--gold);margin-top:15px}.contact{background:#202219;padding:75px 0}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}.address{font:25px/1.5 Georgia}footer{padding-top:45px;padding-bottom:45px;display:flex;justify-content:space-between;align-items:center;gap:30px}footer>p{font-size:8px;letter-spacing:2px;margin:0}footer details{max-width:280px;font-size:11px}.mobile-book{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:100;background:#111;padding:20px}[hidden]{display:none!important}@media(min-width:1500px){.wrap{padding-left:60px;padding-right:60px}}@media(max-width:850px){header{height:80px;padding:0 6%}.menu{display:block;color:var(--cream);background:none;border:1px solid var(--line);font-size:22px;padding:4px 12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#191a14;padding:30px;flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.hero{min-height:650px;height:calc(100svh - 80px)}.hero-content{padding:55px 7% 110px}.heroimage{background-position:60% center}h1{font-size:54px;letter-spacing:-2px}.hero-bottom{left:7%;right:7%;bottom:45px}.hero-bottom>a{display:none}.intro,.upstairs,.booking{padding-top:70px;padding-bottom:70px}.intro-grid,.food,.split,.booking,.contact-grid{gap:35px;grid-template-columns:1fr}.intro-grid h2{margin-bottom:0}.food{padding-bottom:70px}.food-art{height:340px}.plate{width:240px;height:240px}.lounge{padding:65px 0}.split figure{order:-1}figure img{height:350px}.musicline{font-size:9px;letter-spacing:1px;margin-top:40px}.section-head{display:block}.section-head .textlink{margin-top:20px}.event{flex-wrap:wrap;gap:25px}.event-date{padding-right:20px}.event-date strong{font-size:65px}.event-info{min-width:180px}.event>.outline{width:100%;justify-content:center}.event-info h3{font-size:30px}.booking{gap:35px}.form-panel{padding:20px}.contact{padding:60px 0}footer{flex-wrap:wrap;padding-bottom:110px}.mobile-book{display:flex;position:fixed;bottom:16px;left:6%;right:6%;box-shadow:0 5px 30px #0008;z-index:20;justify-content:center}.brand{font-size:27px}.actions{flex-wrap:wrap}.hero-bottom b{display:block;margin:6px 0 0}.image-note{font-size:8px;right:7%}.sub{font-size:14px}}@media(max-width:390px){h1{font-size:46px}.formgrid{grid-template-columns:1fr}.actions{gap:10px}.button,.outline{padding:12px 16px;gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(max-width:850px){.hero-bottom{bottom:100px}.hero .image-note{bottom:78px}.hero-content{padding-bottom:170px}.heroimage{background-image:linear-gradient(90deg,rgba(9,10,7,.85),rgba(9,10,7,.45)),linear-gradient(0deg,#11120edb,transparent 50%),url(assets/dj.webp)}}

/* Fotografie del locale */
:root{--bg:#171210;--gold:#cbaa76;--cream:#f1e6d7;--muted:#bcaea1}.heroimage{background-position:center 55%}.hero-content{max-width:1300px}.lounge{background:#271a18}.contact{background:#261b17}.form-panel{background:#201815}.intro{padding-bottom:85px}.dining-photo img{height:580px;object-position:center 65%}.split figure img{height:490px;object-position:center}.dj-photo{margin-top:55px}.dj-photo img{height:500px;object-position:center 55%}.dj-photo figcaption{margin-top:12px}.musicline{margin-top:35px}.wine-story{height:410px;position:relative;overflow:hidden;display:flex;align-items:center}.wine-story>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.4)}.wine-story>div{position:relative;max-width:1280px;width:100%;margin:auto;padding:0 7%}.wine-story h2{font-size:clamp(38px,4vw,60px)}@media(max-width:850px){.heroimage{background-position:57% center}.dining-photo img{height:470px}.split figure img{height:330px}.dj-photo{margin-top:35px}.dj-photo img{height:320px;object-position:55% center}.wine-story{height:320px}.food{gap:35px}.hero-content{padding-top:35px}.wine-story>img{object-position:center}}

.brand{display:flex;align-items:center;gap:14px}.brand>img{width:68px;height:68px;object-fit:contain;flex-shrink:0}.brand .brand-name{font:27px Georgia,serif;letter-spacing:4px;margin:0}.brand-name small{display:block;font:7px Arial,sans-serif;letter-spacing:2px;margin-top:8px}@media(max-width:850px){.brand>img{width:55px;height:55px}.brand .brand-name{font-size:22px;letter-spacing:3px}.brand-name small{font-size:6px;letter-spacing:1.5px}.brand{gap:10px}}

.wine-card{padding-top:90px;padding-bottom:90px;scroll-margin-top:100px}.wine-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px;margin-top:35px}.wine-grid h3{color:#c9ad78;font-size:26px}.wine-grid table{width:100%;border-collapse:collapse;font-size:14px}.wine-grid th,.wine-grid td{text-align:left;padding:14px 5px;border-bottom:1px solid #ffffff20}.wine-grid tbody th{font-weight:400}.wine-grid td{white-space:nowrap}.wine-grid thead{color:#c9ad78;font-size:12px}@media(max-width:700px){.wine-grid{grid-template-columns:1fr}.wine-card{padding-top:60px;padding-bottom:60px}}
/* Menu e vini, integrati nella grafica originale */
.cuisine-actions{margin:25px 0 18px;flex-wrap:wrap}.menu-card{padding-top:10px;padding-bottom:95px;scroll-margin-top:40px}.menu-card>.muted{max-width:650px}.menu-categories{margin-top:35px;border-top:1px solid var(--line)}.menu-category{border-bottom:1px solid var(--line)}.menu-category>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;font:30px Georgia,serif;color:var(--cream);padding:27px 0;gap:20px}.menu-category>summary::-webkit-details-marker{display:none}.category-symbol{font:26px Arial,sans-serif;color:var(--gold);transition:transform .15s}.menu-category[open] .category-symbol{transform:rotate(45deg)}.menu-dishes{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;padding-bottom:18px}.menu-dish{padding:22px 0;border-top:1px solid #ffffff15}.dish-title{display:flex;justify-content:space-between;align-items:start;gap:22px}.dish-title h3{font-size:23px;line-height:1.25}.dish-price{font-size:13px;color:var(--gold);text-align:right;max-width:130px;min-width:65px;flex-shrink:0}.menu-dish p{font-size:13px;color:var(--muted);margin:8px 0}.menu-dish .dish-origin{text-transform:uppercase;letter-spacing:1px;font-size:9px;color:var(--gold)}.menu-dish .dish-included{color:var(--cream);font-style:italic}.allergen-note{margin-top:30px;font-size:13px;color:var(--gold)}.wine-name{display:block;font:20px/1.25 Georgia,serif}.wine-origin,.wine-description{display:block;line-height:1.6;margin-top:9px;font-size:11px}.wine-origin{color:var(--gold)}.wine-description{color:var(--muted)}.wine-grid th,.wine-grid td{vertical-align:top}.wine-grid td{font-size:13px;color:var(--gold)}.wine-footnote{margin-top:35px}.wine-card>.section-head{gap:30px}.wine-card>.section-head .textlink{white-space:nowrap}@media(max-width:850px){.menu-card{padding-bottom:60px}.menu-dishes{grid-template-columns:1fr}.menu-category>summary{font-size:27px;padding:22px 0}.menu-card .section-head{margin-bottom:25px}.dish-title{gap:15px}.dish-title h3{font-size:22px}.dish-price{max-width:100px}.wine-grid th,.wine-grid td{padding:15px 4px}.wine-name{font-size:19px}.wine-card>.section-head .textlink{white-space:normal}}
/* Colonne indipendenti: i rossi seguono subito i bianchi. */
.wine-grid{align-items:start}.wine-column{display:grid;gap:30px}.wine-column h3{margin-bottom:8px}@media(max-width:700px){.wine-grid{display:flex;flex-direction:column;gap:30px}.wine-column{display:contents}.wine-category{width:100%}.wine-order-1{order:1}.wine-order-2{order:2}.wine-order-3{order:3}.wine-order-4{order:4}}


/* Breve pop-out delle bottiglie, una sola volta all’ingresso. */
.bottle-glint{position:relative;perspective:1000px;isolation:isolate}.split .lounge-still img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transform-origin:center;backface-visibility:hidden}.bottle-glint.pop-visible img{animation:bottle-pop-out .85s cubic-bezier(.22,.8,.3,1) both}@keyframes bottle-pop-out{0%{transform:translateY(10px) scale(.94) rotateX(3deg);box-shadow:0 5px 15px #0002}55%{transform:translateY(-9px) scale(1.055) rotateX(-1deg);box-shadow:0 25px 45px #0009}80%{transform:translateY(2px) scale(.994) rotateX(0);box-shadow:0 12px 25px #0005}100%{transform:translateY(0) scale(1) rotateX(0);box-shadow:0 12px 30px #0006}}@media(prefers-reduced-motion:reduce){.bottle-glint.pop-visible img{animation:none}}

/* Prima schermata: monogramma e presentazione BENGA. */
.hero.hero-brand{min-height:640px;height:calc(100svh - 98px);max-height:none;justify-content:center;background:radial-gradient(ellipse at 50% 35%,#310407 0%,#170204 60%,#100a09 100%)}
.hero-brand .hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:1100px;padding:40px 24px 56px;text-align:center;gap:28px}
.hero-logo{margin:0;line-height:0;letter-spacing:normal}
.hero-logo img{display:block;width:clamp(240px,33vw,420px);height:auto;max-width:72vw;max-height:48svh;object-fit:contain;border-radius:50%}
.hero-summary{margin:0;color:#f1e6d7;font:400 clamp(14px,1.25vw,18px)/1.8 Arial,sans-serif;max-width:900px;text-wrap:pretty}
.hero-summary span{display:block}
@media(max-width:850px){.hero.hero-brand{height:calc(100svh - 80px);min-height:620px}.hero-brand .hero-content{gap:24px;padding:32px 22px 90px}.hero-logo img{width:280px;max-width:68vw;max-height:36svh}.hero-summary{font-size:14px;line-height:1.7}.hero-summary span+span{margin-top:6px}}

/* Il monogramma lascia spazio al nome dopo una breve pausa. */
.hero-identity{width:min(850px,100%);display:grid;grid-template-columns:40% 60%;align-items:center;--logo-travel:75%}
.hero-identity .hero-logo{width:100%;transform:translateX(0);animation:benga-logo-reveal 2.3s cubic-bezier(.22,1,.36,1) both}
.hero-identity .hero-logo img{width:100%;max-width:none;max-height:none;height:auto}
.hero-wordmark{text-align:left;padding-left:30px;white-space:nowrap;color:#e3ba91;letter-spacing:.12em;font-size:clamp(45px,6vw,80px);line-height:1.1;animation:benga-name-reveal 1s ease-out 1.55s both}
.hero-wordmark span{display:block}.hero-wordmark small{display:block;font:400 clamp(9px,1.2vw,15px)/1.5 Arial,sans-serif;letter-spacing:.24em;margin-top:16px;color:#e9d6c4}
@keyframes benga-logo-reveal{0%,35%{transform:translateX(var(--logo-travel)) scale(1.14)}100%{transform:translateX(0) scale(1)}}
@keyframes benga-name-reveal{from{opacity:0;transform:translateX(-18px);filter:blur(5px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}
@media(max-width:600px){.hero-identity{grid-template-columns:32% 68%;--logo-travel:106.25%;min-height:240px}.hero-wordmark{padding-left:15px;font-size:clamp(31px,8.7vw,52px);letter-spacing:.08em}.hero-wordmark small{font-size:clamp(7px,1.9vw,11px);letter-spacing:.14em;margin-top:10px}.hero-brand .hero-content{gap:18px}.hero-summary{max-width:460px}}
@media(prefers-reduced-motion:reduce){.hero-identity .hero-logo,.hero-wordmark{animation:none;transform:none;opacity:1;filter:none}}

/* Logo più discreto e accessi rapidi nella schermata iniziale. */
.hero-identity .hero-logo img{width:88%;margin-inline:auto}
.hero-actions{justify-content:center;gap:14px;margin-top:0}
.hero-brand .hero-content{gap:24px}
@media(max-width:600px){.hero-brand .hero-content{gap:18px}.hero-actions{width:100%;gap:10px}.hero-actions a{justify-content:center;padding:13px 16px;gap:12px;font-size:11px}}

/* Pulsanti in vetro satinato con bordo luminoso. */
a.glass-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;position:relative;isolation:isolate;border-radius:999px;padding:14px 25px;min-height:50px;margin-top:0;border:1px solid rgba(255,255,255,.32);background:linear-gradient(160deg,rgba(255,255,255,.19),rgba(255,255,255,.055) 55%,rgba(255,255,255,.10));color:#fff5e9;font:500 12px/1.4 Arial,sans-serif;letter-spacing:.2px;text-decoration:none;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(255,255,255,.06),0 6px 22px rgba(0,0,0,.18);transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
a.glass-button:hover{background:linear-gradient(160deg,rgba(255,255,255,.28),rgba(255,255,255,.12));border-color:rgba(255,255,255,.58);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 26px rgba(0,0,0,.22);transform:translateY(-2px)}
a.glass-button:active{transform:translateY(0);background:rgba(255,255,255,.12)}
a.glass-button:focus-visible{outline:2px solid #ead0a9;outline-offset:4px}
@media(max-width:600px){.hero-actions a.glass-button{padding:13px 19px;min-height:48px;font-size:11px;gap:12px}}

/* Ingresso al primo tocco: prima il simbolo, poi il resto del sito. */
.hero-identity .hero-logo,.hero-wordmark{animation:none}
.hero-identity .hero-logo{transform:none;transition:transform 1.15s cubic-bezier(.22,1,.36,1)}
html.intro-pending body{overflow:hidden}
html.intro-pending header,html.intro-pending main>section:not(.hero),html.intro-pending footer,html.intro-pending .mobile-book{visibility:hidden}
html.intro-pending .hero-wordmark,html.intro-pending .hero-summary,html.intro-pending .hero-actions{visibility:hidden;opacity:0;pointer-events:none}
html.intro-pending .hero-identity .hero-logo{transform:translate(var(--intro-x,75%),var(--intro-y,0px)) scale(1.14);cursor:pointer}
html.intro-pending:not(.intro-ready) .hero-logo{opacity:0}
html.intro-moving .hero-identity .hero-logo{transform:none;cursor:default}
html.intro-complete .hero-wordmark{animation:benga-name-reveal .75s ease-out both}
html.intro-complete .hero-summary{animation:benga-content-reveal .7s ease-out .18s both}
html.intro-complete .hero-actions{animation:benga-content-reveal .7s ease-out .32s both}
html.intro-complete header{animation:benga-content-reveal .6s ease-out both}
@keyframes benga-content-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-identity .hero-logo{transition:none}html.intro-complete .hero-wordmark,html.intro-complete .hero-summary,html.intro-complete .hero-actions,html.intro-complete header{animation:none}}
html.intro-pending body::before{content:"";position:fixed;inset:0;z-index:11;background:radial-gradient(ellipse at 50% 35%,#310407 0%,#170204 60%,#100a09 100%);pointer-events:none}
html.intro-pending .hero.hero-brand{z-index:12;background:transparent}

.food{padding-top:85px}@media(max-width:850px){.food{padding-top:60px}}

/* Home centrata come nel riferimento bordeaux. */
header{background:#1a0103;border-color:#bd917b40;padding-inline:6.3%;height:100px}
nav{font:16px Georgia,serif;gap:55px}nav a{position:relative;padding:18px 0}.nav-current::after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:1px;background:#d7bc93}
.hero.hero-brand{height:calc(100svh - 100px);min-height:760px;background:radial-gradient(ellipse at 50% 40%,#390509 0%,#210104 48%,#100001 100%);isolation:isolate}
.hero-brand::before,.hero-brand::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:780px;height:780px;border-radius:50%;border:1px solid #ac253d33;box-shadow:inset 28px 0 35px #9a152126, -2px 0 12px #e43b4020}
.hero-brand::before{left:-580px;top:-340px;width:1050px;height:1050px;transform:rotate(-30deg)}
.hero-brand::after{right:-530px;bottom:-390px;box-shadow:inset 20px 0 30px #9a152126,-30px 0 0 #56091420,-31px 0 0 #a3283620}
.hero-brand .hero-content{padding:40px 24px 60px;gap:32px;max-width:1100px}
.hero-identity{display:flex;flex-direction:column;width:100%;gap:12px;min-height:0}
.hero-identity .hero-logo{width:280px;transform:none;animation:none}
.hero-identity .hero-logo img{width:100%;margin:0}
.hero-wordmark{padding:0;text-align:center;font:400 clamp(64px,7vw,104px)/1.05 Georgia,serif;letter-spacing:.17em;color:#cfaa85;animation:none;text-indent:.17em}
.hero-wordmark small{font:400 16px/1.5 Arial,sans-serif;letter-spacing:.38em;margin-top:10px;color:#e2c4a6;text-indent:0}
.hero-summary{font:400 clamp(19px,2vw,27px)/1.45 Georgia,serif;color:#dfcbb6}
.hero-actions{gap:24px}.hero-actions a.glass-button{min-width:235px;min-height:64px;font:400 18px Georgia,serif;background:linear-gradient(150deg,#ffffff16,#bd34461a);border-color:#dd999755;box-shadow:inset 0 1px 0 #ffe0ca55,0 5px 25px #710b1520}
@media(max-width:850px){header{height:80px}nav{top:80px;background:#210407}.hero.hero-brand{height:auto;min-height:calc(100svh - 80px)}.hero-brand .hero-content{padding:35px 22px 95px;gap:26px}.hero-identity .hero-logo{width:235px}.hero-wordmark{font-size:70px}.hero-wordmark small{font-size:11px;letter-spacing:.3em}.hero-summary{font-size:21px}.hero-actions{gap:14px}.hero-actions a.glass-button{min-width:190px;min-height:55px;font-size:16px}}
@media(max-width:480px){.hero-identity .hero-logo{width:205px}.hero-wordmark{font-size:54px}.hero-wordmark small{font-size:9px}.hero-summary{font-size:18px}.hero-actions{gap:10px}.hero-actions a.glass-button{min-width:0;padding:15px 20px;font-size:14px}.hero-brand::before{left:-810px}.hero-brand::after{right:-680px}}

/* Il logo sale dal centro alla posizione sopra il nome. */
html.intro-pending .hero-identity .hero-logo{transform:translateY(var(--intro-rise,140px)) scale(1.08);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
html.intro-moving .hero-identity .hero-logo{transform:none}
html.intro-complete .hero-wordmark{animation:benga-content-reveal .7s ease-out both}

/* Continuità tra la home e la cucina. */
.hero.hero-brand{background:radial-gradient(ellipse at 50% 40%,#390509 0%,#210104 48%,#100001 100%)}
.food.kitchen-section{display:block;max-width:none;padding:120px 0;background:linear-gradient(180deg,#100001 0%,#170607 30%,#171210 85%)}
.kitchen-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,7vw,110px);align-items:center}
.kitchen-section .section-copy{order:0}.kitchen-section .dining-photo{order:1}
.kitchen-section .eyebrow{color:#cbaa76;letter-spacing:3px;font-size:11px;margin-bottom:25px}
.kitchen-section h2{color:#f1e6d7;font-family:Georgia,serif;font-size:clamp(38px,3.8vw,58px);line-height:1.15;letter-spacing:-1.3px;margin-bottom:28px}
.kitchen-section h2 em{color:#cbaa76;font-style:italic}
.kitchen-section .section-copy>p:not(.eyebrow){max-width:510px;color:#d1c1b5;font-size:16px;line-height:1.85;margin-bottom:32px}
.kitchen-section .dining-photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 18px 50px #0004}
.cuisine-actions{gap:14px;flex-wrap:wrap}.cuisine-actions .glass-button{font-size:14px;padding:15px 24px}
.mobile-book.glass-button{display:inline-flex;position:fixed;left:auto;right:24px;bottom:24px;width:auto;min-height:48px;padding:13px 22px;z-index:20;font-size:13px;background:linear-gradient(150deg,#5c3039cc,#291316cc);box-shadow:inset 0 1px 0 #ffffff40,0 5px 22px #0004}
body{padding-bottom:90px;scroll-padding-bottom:90px}html{scroll-padding-bottom:100px}
body.booking-in-view .mobile-book{opacity:0;visibility:hidden;pointer-events:none}
.kitchen-reveal{opacity:1;transform:none}.kitchen-section.reveal-ready .kitchen-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.kitchen-section.reveal-ready .dining-photo{transition-delay:.1s}.kitchen-section.reveal-ready.in-view .kitchen-reveal{opacity:1;transform:none}
@media(max-width:850px){.food.kitchen-section{padding:75px 0 80px}.kitchen-grid{grid-template-columns:1fr;gap:38px}.kitchen-section h2{font-size:clamp(36px,7vw,52px)}.kitchen-section .section-copy>p:not(.eyebrow){max-width:620px;font-size:15px}.kitchen-section .dining-photo img{height:auto;max-height:none;object-fit:contain}.mobile-book.glass-button{right:16px;bottom:calc(14px + env(safe-area-inset-bottom));padding:12px 19px;min-height:46px;font-size:12px}body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}footer{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.kitchen-section.reveal-ready .kitchen-reveal{opacity:1;transform:none;transition:none}}
.hero.hero-brand{background:linear-gradient(180deg,transparent 65%,#100001 100%),radial-gradient(ellipse at 50% 40%,#390509 0%,#210104 48%,#100001 100%)}

/* Prenotazione stabile e pulsanti uniformemente arrotondati. */
.mobile-book.glass-button,body.booking-in-view .mobile-book{opacity:1;visibility:visible;pointer-events:auto;transition:background .2s,border-color .2s,box-shadow .2s;z-index:30}
.button,.outline,.navbook,.menu,button,.tabs button{border-radius:999px}
a.textlink{border-radius:999px;padding:12px 20px;border:1px solid #ffffff38;background:linear-gradient(150deg,#ffffff13,#ffffff06);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.tabs{gap:8px;padding-bottom:10px;border-bottom:0}.tabs button{border:1px solid #ffffff25}.tabs button.selected{border-color:var(--gold);background:#cbaa7618}
.menu-category>summary{border-radius:16px}
/* La home usa gli stessi pulsanti in vetro della cucina. */
.hero-actions a.glass-button{min-width:0;min-height:50px;padding:15px 24px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:linear-gradient(160deg,rgba(255,255,255,.19),rgba(255,255,255,.055) 55%,rgba(255,255,255,.10));color:#fff5e9;font:500 14px/1.4 Arial,sans-serif;letter-spacing:.2px;box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(255,255,255,.06),0 6px 22px rgba(0,0,0,.18)}
.hero-actions a.glass-button:hover{background:linear-gradient(160deg,rgba(255,255,255,.28),rgba(255,255,255,.12));border-color:rgba(255,255,255,.58);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 26px rgba(0,0,0,.22)}
.hero-actions{gap:14px}
/* Raffinatezza, leggibilità e ritmo comuni. */
:root{--cream:#f5eadb;--muted:#cbbbaf;--gold:#cfb383;--dock-height:78px}
html{height:100%;overflow:hidden;scroll-padding-bottom:20px}
body{height:calc(100dvh - var(--dock-height) - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;padding-bottom:0!important;scroll-behavior:smooth;scroll-padding-top:30px;scroll-padding-bottom:24px}
html.intro-pending body{overflow:hidden}
p{line-height:1.8}.muted{color:var(--muted);font-size:15px;line-height:1.8}
.eyebrow{font-size:11px;line-height:1.5;letter-spacing:2.5px}
h2{line-height:1.14}h2 em{color:var(--gold)}
.hero.hero-brand{height:calc(100svh - 100px - var(--dock-height));min-height:710px}
.hero-summary{color:#f2dfca;line-height:1.6}.hero-logo img{filter:saturate(.82)}
.menu-card,.wine-card,.upstairs,.booking{padding-top:90px;padding-bottom:90px}
.section-head{gap:28px}.menu-card>.muted,.wine-card>.muted{max-width:680px}
.menu-category>summary{font-size:23px;padding:20px 4px;min-height:56px}
.menu-dish p,.menu-dish .dish-origin,.dish-included{font-size:15px;line-height:1.7;color:var(--muted)}
.menu-dish h3{font-size:21px;line-height:1.35;color:var(--cream)}.dish-price{font-size:16px;color:#f0ddbd;line-height:1.5;font-variant-numeric:tabular-nums}
.menu-footnote,.wine-footnote{font-size:14px!important;line-height:1.7}
.wine-grid{gap:45px 60px}.wine-column{min-width:0}.wine-category{margin:0 0 35px;border:0}
.wine-category>summary{font:400 28px/1.3 Georgia,serif;color:var(--gold);padding:0 0 18px;list-style:none;pointer-events:none;cursor:default}
.wine-category>summary::-webkit-details-marker{display:none}
.wine-category table{table-layout:fixed;font-size:15px}.wine-category th:first-child{width:66%}.wine-category th:not(:first-child),.wine-category td{width:17%;text-align:right;padding-left:10px;vertical-align:top;font-variant-numeric:tabular-nums}
.wine-grid thead{font-size:12px;color:#dfc9a5}.wine-grid th,.wine-grid td{padding-top:19px;padding-bottom:19px}
.wine-name{font:400 19px/1.4 Georgia,serif;color:var(--cream);overflow-wrap:anywhere}
.wine-origin{display:block;font-size:13px;color:#cdb48d;margin-top:6px;line-height:1.6}
.wine-description{display:block;font-size:14px;line-height:1.7;color:var(--muted);margin-top:8px}
.wine-column{display:contents}.wine-grid{display:grid;grid-template-columns:1fr 1fr}.wine-order-1{order:1}.wine-order-2{order:2}.wine-order-3{order:3}.wine-order-4{order:4}
.lounge{background:linear-gradient(#171210,#251916 35%,#251916 70%,#171210)}
.events{background:linear-gradient(#171210,#271619 25%,#271619 75%,#171210)}
.contact{background:linear-gradient(#171210,#251b17)}
.champagne-still{position:relative;overflow:hidden;border-radius:18px}.champagne-still img{display:block;filter:saturate(.9) sepia(.12);width:100%;height:auto!important;object-fit:contain}
.champagne-still::after{content:"";position:absolute;inset:0;background:#bc863b;mix-blend-mode:color;opacity:.10;pointer-events:none}
.dj-photo img,.wine-story,.lounge-still{border-radius:18px;overflow:hidden}.dj-photo img{filter:saturate(.95)}
.section-copy>p:not(.eyebrow){font-size:16px}.event-info p{font-size:15px}.event-info .eyebrow{font-size:11px}
.glass-button,a.button,a.outline,button.glass-button{border-radius:999px!important;border:1px solid #ffffff45;background:linear-gradient(160deg,#ffffff28,#ffffff0e 55%,#ffffff16);color:#fff0df;font:500 14px/1.4 Arial,sans-serif;min-height:48px;padding:14px 24px;letter-spacing:.2px;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 1px 0 #ffffff38,0 5px 18px #0002}
.glass-button:hover,a.button:hover,a.outline:hover{background:linear-gradient(160deg,#ffffff38,#ffffff18);color:#fff;border-color:#ffffff80}
.form-panel{border-radius:22px;padding:32px;background:#211815}label{font-size:14px}input,select,textarea{border-radius:10px;font-size:16px;min-height:48px}.form-panel small{font-size:13px}.tabs button{font-size:14px}
.booking-dock{position:fixed;z-index:30;bottom:0;left:0;right:0;height:calc(var(--dock-height) + env(safe-area-inset-bottom));padding:12px 24px calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:flex-end;align-items:center;background:#170f10f5;border-top:1px solid #d1ac7926}
.booking-dock .mobile-book.glass-button{position:static;inset:auto;margin:0;min-height:48px;font-size:14px;padding:13px 23px;transform:none}
html.intro-pending .booking-dock{visibility:hidden;pointer-events:none}
.soft-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.soft-reveal.shown{opacity:1;transform:none}
@media(max-width:850px){:root{--dock-height:72px}.hero.hero-brand{min-height:calc(100svh - 80px - var(--dock-height));height:auto}.hero-brand .hero-content{padding-bottom:45px}.wrap{padding-inline:6%}.menu-card,.wine-card,.upstairs,.booking{padding-block:65px}.section-head{margin-bottom:30px}.hero-summary{font-size:20px}.section-copy>p:not(.eyebrow),.kitchen-section .section-copy>p:not(.eyebrow){font-size:16px}.booking-dock{padding-inline:16px}.booking-dock .mobile-book.glass-button{font-size:14px;min-height:46px}.wine-grid{grid-template-columns:1fr;gap:0}.wine-category{margin-bottom:12px;border-bottom:1px solid #d5b48130}.wine-category>summary{pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:18px 0;font-size:26px}.wine-category>summary::after{content:'+';font:22px Arial,sans-serif;color:var(--gold)}.wine-category[open]>summary::after{content:'−'}.wine-category table{margin-bottom:20px}.event-info h3{line-height:1.2}.event-date strong{font-size:56px}.section-head .textlink{margin-top:18px}footer{padding-bottom:35px}}
@media(max-width:480px){.hero-brand .hero-content{gap:23px}.hero-summary{font-size:19px}.hero-actions{flex-wrap:wrap;gap:10px}.hero-actions a.glass-button{font-size:14px;padding:14px 20px}.wine-category th:first-child{width:62%}.wine-category th:not(:first-child),.wine-category td{width:19%;padding-left:6px}.wine-name{font-size:18px}.wine-description{font-size:14px}.wine-grid table{font-size:14px}.wine-grid thead{font-size:12px}.dish-title{gap:14px}.dish-price{white-space:normal;text-align:right}.form-panel{padding:22px}.formgrid{grid-template-columns:1fr}.booking-dock{justify-content:flex-end}.musicline{letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){body{scroll-behavior:auto}.soft-reveal{opacity:1;transform:none;transition:none}.hero-logo img{transition:none}}

/* Ritmo più raccolto: riduzione degli intervalli del 35–40%. */
.food.kitchen-section{padding:78px 0}
.menu-card,.wine-card,.upstairs,.booking{padding-top:58px;padding-bottom:58px}
.lounge{padding:52px 0}.events{padding:50px 0 58px}.contact{padding:50px 0}
main>section:not(.hero){min-height:0}
.section-head{margin-bottom:28px}.section-copy h2{margin-bottom:20px}
.kitchen-section h2{margin-bottom:20px}.kitchen-section .section-copy>p:not(.eyebrow){margin-bottom:24px}
.wine-grid{margin-top:24px}.wine-category{margin-bottom:23px}.wine-footnote{margin-top:20px;margin-bottom:0}
.split{gap:50px}.intro-grid{gap:50px}.dj-photo{margin-top:32px}.musicline{margin-top:24px}
.wine-card{padding-bottom:26px}.lounge{padding-top:28px}
.lounge .section-copy .eyebrow{margin-bottom:18px}.lounge .section-copy h2{margin-bottom:20px}
@media(max-width:850px){
.food.kitchen-section{padding:46px 0 48px}
.menu-card,.wine-card,.upstairs,.booking{padding-block:40px}
.wine-card{padding-bottom:20px}.lounge{padding:22px 0 45px}
.events{padding:44px 0}.contact{padding:38px 0}
.kitchen-grid{gap:25px}.split{gap:28px}.intro-grid,.booking,.contact-grid{gap:26px}
.section-head{margin-bottom:24px}.section-copy h2{margin-bottom:18px}
.kitchen-section .eyebrow{margin-bottom:18px}.kitchen-section .section-copy>p:not(.eyebrow){margin-bottom:22px}
.wine-grid{margin-top:20px}.wine-category{margin-bottom:8px}.wine-footnote{margin-top:18px}
.lounge .section-copy .eyebrow{margin-bottom:16px}.lounge-still figcaption{margin-top:7px}
.dj-photo{margin-top:28px}.musicline{margin-top:22px;padding-block:18px}
}

.opening-hours{margin:28px 0;max-width:480px}.opening-hours h3{font:26px/1.3 Georgia,serif;color:var(--gold);margin-bottom:18px}.opening-hours dl{margin:0}.opening-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #cbaa7626}.opening-hours dt{font-size:15px;color:var(--cream)}.opening-hours dd{margin:0;text-align:right;font-size:15px;color:var(--cream);font-variant-numeric:tabular-nums;line-height:1.6}.opening-hours small{display:block;font-size:12px;color:var(--muted)}@media(max-width:480px){.opening-hours dt,.opening-hours dd{font-size:14px}.opening-hours dl>div{gap:12px}}
/* Fotografie della cucina e panoramica lounge. */
.food-gallery{grid-column:1/-1;order:2;min-width:0;margin-top:-20px}.kitchen-grid>.cuisine-actions{grid-column:1/-1;order:3;margin-top:-20px}
.food-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-width:0}.food-slide{min-width:0;border-radius:16px;overflow:hidden;background:#211916}.food-slide img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.gallery-dots{display:none}
.lounge-panorama{display:flex;flex-direction:column;align-items:stretch;gap:26px}.lounge-panorama .room-photo{order:-1}.lounge-panorama .room-photo img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:18px}.lounge-panorama .section-copy{max-width:760px}.lounge-panorama .section-copy>p:not(.eyebrow){max-width:640px}.lounge-panorama h2{margin-bottom:18px}
@media(max-width:850px){.food-gallery{margin-top:0}.kitchen-grid>.cuisine-actions{margin-top:0}.food-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;gap:12px;scrollbar-width:none;overscroll-behavior-x:contain}.food-track::-webkit-scrollbar{display:none}.food-slide{flex:0 0 87%;scroll-snap-align:start}.food-slide:last-child{margin-right:13%}.food-slide img{height:auto;aspect-ratio:4/3;object-fit:contain}.gallery-dots{display:flex;justify-content:center;gap:2px;margin-top:8px}.gallery-dots button{padding:0;width:32px;height:32px;min-height:32px;display:grid;place-items:center;background:transparent;border:0;box-shadow:none}.gallery-dots span{display:block;width:5px;height:5px;border-radius:50%;background:#cbaa7655}.gallery-dots button[aria-pressed=true] span{background:#dcc69f;width:7px;height:7px}.lounge-panorama{gap:24px}.lounge-panorama .room-photo img{height:auto!important;object-fit:contain}.kitchen-grid{gap:26px}}
@media(prefers-reduced-motion:reduce){.food-track{scroll-behavior:auto}}

/* La cucina dà spazio solo ai piatti. */
.kitchen-grid{grid-template-columns:minmax(0,1fr);gap:28px}.kitchen-section .section-copy{max-width:850px}.kitchen-section .section-copy>p:not(.eyebrow){max-width:750px}.food-gallery,.kitchen-grid>.cuisine-actions{margin-top:0}.food-gallery{width:100%}
/* Prenotazione fissa in alto, con spazio riservato sopra la pagina. */
body{margin-top:calc(var(--dock-height) + env(safe-area-inset-top));height:calc(100dvh - var(--dock-height) - env(safe-area-inset-top))}
.booking-dock{top:0;bottom:auto;height:calc(var(--dock-height) + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 24px 12px;border-top:0;border-bottom:1px solid #d1ac7926}
@media(max-width:850px){.booking-dock{padding-inline:16px}}

/* Unica intestazione fissa: logo, prenotazione e menu. */
:root{--dock-height:0px;--header-height:100px}
body{margin-top:calc(var(--header-height) + env(safe-area-inset-top));height:calc(100dvh - var(--header-height) - env(safe-area-inset-top))}
header{position:fixed;top:0;left:0;right:0;height:calc(var(--header-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);z-index:40;gap:24px;background:#1a0407f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
header .brand{margin-right:auto;order:0}header .header-book{order:1;white-space:nowrap;flex-shrink:0}header nav{order:2}header .menu{order:3;flex-shrink:0}header nav{gap:32px}
.hero.hero-brand{height:calc(100svh - var(--header-height));min-height:680px}
@media(max-width:850px){:root{--header-height:80px}header{padding-inline:16px;gap:12px}header .brand{gap:7px}header .brand>img{width:45px;height:45px}header .brand .brand-name{font-size:18px;letter-spacing:2px}header .brand-name small{font-size:5px;letter-spacing:.7px}header .header-book{font-size:12px;padding:11px 14px;min-height:44px}header .menu{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;font-size:19px}header nav{top:calc(var(--header-height) + env(safe-area-inset-top))}.hero.hero-brand{height:auto;min-height:calc(100svh - var(--header-height))}}
@media(max-width:370px){header{padding-inline:12px;gap:9px}header .brand .brand-name{display:none}header .header-book{padding-inline:13px}}
/* Passaggio compatto dalle foto al menù. */
.food.kitchen-section{padding-bottom:24px}
.kitchen-section + .menu-card{padding-top:24px}
@media(max-width:850px){.food.kitchen-section{padding-bottom:16px}.kitchen-section + .menu-card{padding-top:18px}.kitchen-grid>.cuisine-actions{margin-top:-12px}.gallery-dots{margin-top:4px}.menu-card>.eyebrow{margin-bottom:18px}.menu-card .section-head{margin-bottom:18px}}

/* Musica ed eventi raccontati direttamente nella fotografia. */
.music-feature{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;background:#1b0d0b;display:grid}
.music-feature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.music-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,6,5,.92),rgba(15,6,5,.77) 44%,rgba(15,6,5,.12));z-index:-1;pointer-events:none}
.music-feature-copy{padding:64px 6%;max-width:720px;color:#f5eadb}
.music-feature-copy .eyebrow{color:#d9bf91;margin-bottom:20px}
.music-feature-copy h2{font-size:clamp(35px,4vw,58px);line-height:1.15;margin-bottom:26px}
.music-feature-copy h2 em{color:#dfc18f}
.music-feature-copy>p:not(.eyebrow){max-width:510px;font-size:16px;line-height:1.8;color:#f0e2d6;margin-bottom:18px}
.music-feature-copy .glass-button{display:inline-flex;margin-top:8px}
@media(max-width:850px){.music-feature-copy{padding:40px 7%;max-width:680px}.music-feature::after{background:linear-gradient(90deg,#100706e8,#100706ad),linear-gradient(0deg,#10070655,transparent)}.music-feature-photo{object-position:60% center}.music-feature-copy h2{margin-bottom:22px;font-size:clamp(33px,6vw,48px)}.music-feature-copy>p:not(.eyebrow){font-size:16px;line-height:1.75}.music-feature-copy .eyebrow{margin-bottom:18px}}
@media(max-width:480px){.music-feature-copy{padding:34px 24px}.music-feature-copy h2{font-size:34px;letter-spacing:-.8px}.music-feature-copy .glass-button{padding-inline:19px;font-size:13px}.music-feature-photo{object-position:58% center}}

.cuisine-actions>a{margin-top:0;white-space:nowrap}@media(max-width:480px){.cuisine-actions{gap:10px;flex-wrap:nowrap}.cuisine-actions .glass-button{font-size:12px;padding:13px 16px;min-height:46px}}
/* Ritmo compatto e musica a tutto schermo. */
.food.kitchen-section{padding-top:50px;padding-bottom:16px}.menu-card{padding-bottom:36px}.wine-card{padding-top:36px;padding-bottom:18px}.lounge{padding-top:18px;padding-bottom:36px}.booking{padding-block:38px}.contact{padding-block:34px}.events{padding-block:36px}.wine-story{height:300px}
.upstairs.wrap{max-width:none;width:100%;padding:0;margin:0}
.upstairs .music-feature{border-radius:0;width:100%;min-height:calc(100svh - var(--header-height) - env(safe-area-inset-top));display:flex;align-items:center}
.music-feature-copy{max-width:900px;width:100%;padding:70px 7%}
.music-feature-copy h2{font-size:clamp(40px,4.5vw,68px)}
.music-feature-photo{object-position:center center}
@media(max-width:850px){.food.kitchen-section{padding-top:32px;padding-bottom:12px}.kitchen-section + .menu-card{padding-top:12px}.menu-card{padding-bottom:28px}.wine-card{padding-top:28px;padding-bottom:14px}.lounge{padding-top:14px;padding-bottom:28px}.booking{padding-block:28px}.contact{padding-block:28px}.events{padding-block:28px}.wine-story{height:245px}.lounge-panorama{gap:20px}.upstairs.wrap{padding:0}.upstairs .music-feature{min-height:calc(100svh - var(--header-height) - env(safe-area-inset-top))}.music-feature-copy{padding:45px 7%;max-width:760px}.music-feature-copy h2{font-size:clamp(36px,6vw,54px)}.music-feature-photo{object-position:60% center}}
@media(max-width:480px){.music-feature-copy{padding:36px 24px}.music-feature-copy h2{font-size:38px}.music-feature-copy>p:not(.eyebrow){font-size:16px}}

/* La sala diventa lo sfondo della home. */
.hero.hero-brand{background:#190708}
.home-room-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero-brand::before{inset:0;width:auto;height:auto;border:0;border-radius:0;transform:none;box-shadow:none;background:linear-gradient(180deg,#19040866,#16050788 55%,#100001);z-index:-1}
.hero-brand::after{display:none}
.hero-summary,.hero-wordmark{text-shadow:0 2px 18px #0009}
html.intro-pending body::before{background:linear-gradient(#17030599,#170305aa),url(assets/sala-panoramica-1672.webp) center/cover no-repeat}
@media(max-width:850px){.home-room-background{object-position:48% center}.hero-brand::before{background:linear-gradient(180deg,#17030788,#17030799 65%,#100001)}}

/* Carta dei vini in bianco e chiusura più ordinata. */

.wine-card .wine-category{border-bottom-color:#ffffff24}.wine-card .wine-grid th,.wine-card .wine-grid td{border-bottom-color:#ffffff20}
.wine-card .wine-footnote{display:grid;gap:5px;margin:22px 0 0;padding:16px 0 8px;font-size:14px!important;line-height:1.65;max-width:780px}
.wine-card{padding-bottom:30px}
.music-feature::before{content:"";position:absolute;inset:0 0 auto;height:110px;background:linear-gradient(#171210,transparent);pointer-events:none;z-index:-1}
@media(max-width:850px){.wine-card{padding-bottom:24px}.wine-card .wine-footnote{margin-top:16px;padding-top:10px;font-size:13px!important;gap:7px}.music-feature::before{height:80px}}

/* Stessa gerarchia cromatica del menù. */
.wine-card h2,.wine-card .wine-name,.wine-card .wine-category>summary{color:var(--cream)}
.wine-card h2 em,.wine-card .eyebrow,.wine-card .wine-category>summary::after{color:var(--gold)}
.wine-card .muted,.wine-card .wine-description{color:var(--muted)}
.wine-card .wine-origin{color:#cdb48d}.wine-card .wine-grid td{color:#f0ddbd}.wine-card .wine-grid thead{color:#dfc9a5}

/* Portrait central et identité juste sous le cou du tableau. */
.hero.hero-brand{height:calc(100svh - var(--header-height));min-height:780px;display:block}
.home-room-background{object-position:center center}
.hero-brand .hero-content{position:absolute;top:var(--portrait-neck,46%);left:0;max-width:none;width:100%;padding:0 24px 28px;gap:14px}
.hero-identity{gap:8px}.hero-identity .hero-logo{width:110px}.hero-wordmark{font-size:60px;letter-spacing:.14em}.hero-wordmark small{font-size:11px;margin-top:6px;letter-spacing:.28em}
.hero-summary{font-size:19px;line-height:1.5}.hero-summary span+span{margin-top:3px}.hero-actions a.glass-button{font-size:13px;min-height:46px;padding:13px 20px}
.hero-brand::before{background:linear-gradient(180deg,#00000012 0%,#00000014 34%,#00000070 53%,#000000a8 77%,#100001 100%)}
.hero-brand .hero-content::before{content:"";position:absolute;inset:-24px 12% -35px;background:#00000038;filter:blur(28px);border-radius:45%;z-index:-1;pointer-events:none}
html.intro-pending body::before{background:linear-gradient(#00000030,#00000060),url(assets/home-room-final-1122.webp) center/cover no-repeat}
@media(max-width:850px){.hero.hero-brand{height:calc(100svh - var(--header-height));min-height:760px}.hero-identity .hero-logo{width:96px}.hero-wordmark{font-size:50px}.hero-wordmark small{font-size:9px}.hero-summary{font-size:18px;max-width:490px}.hero-brand .hero-content{gap:13px;padding-inline:20px}.hero-brand::before{background:linear-gradient(#00000010 25%,#00000045 45%,#000000a0 75%,#100001)}}
@media(max-width:480px){.hero-wordmark{font-size:43px}.hero-identity .hero-logo{width:88px}.hero-summary{font-size:16px;max-width:340px}.hero-brand .hero-content{gap:12px}.hero-actions a.glass-button{font-size:12px;padding:12px 17px}.hero-brand .hero-content::before{inset:-15px 0 -25px}}

/* Logo protagonista all’apertura; dimensione raccolta dopo il tocco. */
html.intro-pending .hero-identity .hero-logo{transform:translateY(var(--intro-rise,140px)) scale(3.4)}
html.intro-pending.intro-moving .hero-identity .hero-logo{transform:none}
@media(max-width:850px){html.intro-pending:not(.intro-moving) .hero-identity .hero-logo{transform:translateY(var(--intro-rise,140px)) scale(3)}}

/* Fotografie del locale in dissolvenza, senza spostare il contenuto. */
.music-feature-photo{opacity:0;transition:opacity 1.4s ease;pointer-events:none}
.music-feature-photo.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.music-feature-photo{transition:none}}

/* Indirizzo e indicazioni nello stesso blocco. */
.contact-location{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}
.contact-location .address{margin:0;min-width:0}
.contact-location .directions-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;min-height:44px;padding:12px 20px;font-size:14px}
.contact-grid>div:last-child>.glass-button{display:inline-flex;margin-top:20px}
@media(max-width:480px){.contact-location{gap:12px}.contact-location .address{font-size:23px;line-height:1.45}.contact-location .directions-button{padding:11px 14px;font-size:12px}}

/* Rame più inciso e contorni leggibili, senza alone aggiuntivo. */
.hero-identity .hero-logo img{filter:contrast(1.13) saturate(.88);image-rendering:auto;opacity:1;box-shadow:none}
.hero-identity .hero-logo{isolation:isolate;backface-visibility:hidden}
.hero-identity .hero-logo::before,.hero-identity .hero-logo::after{display:none}

/* Il nuovo logo conserva i colori originali del file fornito. */
.hero-identity .hero-logo img{filter:none}

/* Sagoma aderente all’anello dorato, senza cornice nera esterna. */
.hero-identity .hero-logo{isolation:auto;background:transparent}
.hero-identity .hero-logo img{border-radius:0;clip-path:ellipse(41.4% 42.1% at 49.6% 48.6%);transform:scale(1.18);transform-origin:49.6% 48.6%;mix-blend-mode:screen}

/* Carta dei vini nello stesso formato ad apertura del menù. */
.wine-card .wine-grid{display:grid;grid-template-columns:1fr;gap:0}
.wine-card .wine-category{margin:0;border-bottom:1px solid var(--line)}
.wine-card .wine-category:first-child{border-top:1px solid var(--line)}
.wine-card .wine-category>summary{pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:20px 4px;font:400 28px/1.3 Georgia,serif}
.wine-card .wine-category>summary::after{content:'+';font:22px Arial,sans-serif;color:var(--gold)}
.wine-card .wine-category[open]>summary::after{content:'−'}
.wine-card .wine-category table{margin-bottom:20px;width:100%}
@media(max-width:850px){.wine-card .wine-category>summary{min-height:64px;font-size:26px;padding:18px 0}}

.desktop-section-link{display:none}
.contact-social-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(min-width:851px){
 header nav{order:0;margin-right:auto;gap:28px}
 header nav>a:not(.desktop-section-link){display:none}
 header nav .desktop-section-link{display:inline-block;font-size:13px;letter-spacing:.5px}
 header .brand{order:1;margin-right:auto;margin-left:24px}
 header .header-book{order:2;margin-left:24px}
}

/* Desktop: marchio a sinistra, navigazione e prenotazione a destra. */
@media(min-width:851px){header .brand{order:0;margin-left:0;margin-right:auto}header nav{order:1;margin-left:24px;margin-right:0}header .header-book{order:2;margin-left:8px}}

/* Cielo notturno discreto: aurora sul calendario, stelle nella chiusura. */
.events,.booking,.contact{position:relative;isolation:isolate;background:#0f1016}
.events::before,.booking::before,.contact::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 63.66% 3.45%,rgba(239,229,209,0.21) 0 1px,transparent 1.6px),radial-gradient(circle at 14.67% 11.04%,rgba(239,229,209,0.29) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 4.11% 10.18%,rgba(239,229,209,0.27) 0 0.8px,transparent 1.4px),radial-gradient(circle at 3.60% 20.49%,rgba(239,229,209,0.20) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 58.75% 80.32%,rgba(239,229,209,0.32) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 16.65% 42.42%,rgba(239,229,209,0.19) 0 1px,transparent 1.6px),radial-gradient(circle at 94.81% 33.99%,rgba(239,229,209,0.24) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 36.18% 34.71%,rgba(239,229,209,0.34) 0 1px,transparent 1.6px),radial-gradient(circle at 72.51% 53.55%,rgba(239,229,209,0.17) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 29.73% 62.61%,rgba(239,229,209,0.28) 0 1px,transparent 1.6px),radial-gradient(circle at 70.05% 5.49%,rgba(239,229,209,0.33) 0 0.8px,transparent 1.4px),radial-gradient(circle at 97.55% 84.82%,rgba(239,229,209,0.24) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 45.43% 82.74%,rgba(239,229,209,0.24) 0 0.8px,transparent 1.4px),radial-gradient(circle at 21.53% 27.16%,rgba(239,229,209,0.29) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 17.77% 72.45%,rgba(239,229,209,0.26) 0 0.8px,transparent 1.4px),radial-gradient(circle at 27.45% 91.69%,rgba(239,229,209,0.31) 0 0.8px,transparent 1.4px),radial-gradient(circle at 83.60% 77.05%,rgba(239,229,209,0.34) 0 0.8px,transparent 1.4px),radial-gradient(circle at 79.89% 40.31%,rgba(239,229,209,0.20) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 93.41% 86.88%,rgba(239,229,209,0.20) 0 1px,transparent 1.6px),radial-gradient(circle at 49.92% 87.70%,rgba(239,229,209,0.18) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 14.68% 74.01%,rgba(239,229,209,0.32) 0 1px,transparent 1.6px),radial-gradient(circle at 42.99% 58.19%,rgba(239,229,209,0.20) 0 1px,transparent 1.6px),radial-gradient(circle at 98.76% 50.93%,rgba(239,229,209,0.32) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 85.39% 15.98%,rgba(239,229,209,0.33) 0 0.8px,transparent 1.4px),radial-gradient(circle at 42.37% 7.23%,rgba(239,229,209,0.29) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 46.87% 25.64%,rgba(239,229,209,0.31) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 12.23% 87.71%,rgba(239,229,209,0.33) 0 1px,transparent 1.6px),radial-gradient(circle at 34.34% 29.76%,rgba(239,229,209,0.25) 0 0.8px,transparent 1.4px),radial-gradient(circle at 94.47% 86.83%,rgba(239,229,209,0.37) 0 1px,transparent 1.6px),radial-gradient(circle at 75.67% 50.75%,rgba(239,229,209,0.35) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 30.25% 63.62%,rgba(239,229,209,0.19) 0 0.8px,transparent 1.4px),radial-gradient(circle at 75.73% 53.86%,rgba(239,229,209,0.29) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 48.88% 11.96%,rgba(239,229,209,0.35) 0 1px,transparent 1.6px),radial-gradient(circle at 82.50% 31.14%,rgba(239,229,209,0.21) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 56.60% 8.72%,rgba(239,229,209,0.34) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 96.84% 53.21%,rgba(239,229,209,0.18) 0 0.8px,transparent 1.4px),radial-gradient(circle at 47.58% 54.88%,rgba(239,229,209,0.27) 0 1px,transparent 1.6px),radial-gradient(circle at 60.45% 95.51%,rgba(239,229,209,0.31) 0 0.8px,transparent 1.4px),radial-gradient(circle at 40.10% 66.83%,rgba(239,229,209,0.25) 0 1px,transparent 1.6px),radial-gradient(circle at 51.72% 12.86%,rgba(239,229,209,0.16) 0 0.8px,transparent 1.4px),radial-gradient(circle at 3.06% 55.28%,rgba(239,229,209,0.15) 0 0.8px,transparent 1.4px),radial-gradient(circle at 70.37% 6.77%,rgba(239,229,209,0.36) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 85.24% 7.94%,rgba(239,229,209,0.21) 0 0.8px,transparent 1.4px),radial-gradient(circle at 48.57% 53.84%,rgba(239,229,209,0.21) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 47.35% 40.89%,rgba(239,229,209,0.17) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 43.24% 42.51%,rgba(239,229,209,0.35) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 6.31% 65.04%,rgba(239,229,209,0.16) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 72.36% 79.46%,rgba(239,229,209,0.21) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 19.64% 44.96%,rgba(239,229,209,0.19) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 46.34% 86.70%,rgba(239,229,209,0.25) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 85.41% 54.93%,rgba(239,229,209,0.30) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 53.98% 2.45%,rgba(239,229,209,0.36) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 84.17% 17.30%,rgba(239,229,209,0.26) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 85.74% 89.44%,rgba(239,229,209,0.24) 0 0.8px,transparent 1.4px),radial-gradient(circle at 97.56% 26.99%,rgba(239,229,209,0.22) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 69.27% 72.59%,rgba(239,229,209,0.19) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 30.08% 95.93%,rgba(239,229,209,0.32) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 6.60% 58.25%,rgba(239,229,209,0.16) 0 0.8px,transparent 1.4px),radial-gradient(circle at 50.77% 84.43%,rgba(239,229,209,0.29) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 67.17% 24.05%,rgba(239,229,209,0.37) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 56.83% 57.73%,rgba(239,229,209,0.29) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 42.08% 58.20%,rgba(239,229,209,0.36) 0 1px,transparent 1.6px),radial-gradient(circle at 21.02% 71.19%,rgba(239,229,209,0.21) 0 0.8px,transparent 1.4px),radial-gradient(circle at 13.83% 64.26%,rgba(239,229,209,0.22) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 74.68% 8.11%,rgba(239,229,209,0.29) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 56.17% 10.80%,rgba(239,229,209,0.27) 0 0.8px,transparent 1.4px),radial-gradient(circle at 13.98% 35.20%,rgba(239,229,209,0.35) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 37.21% 16.46%,rgba(239,229,209,0.29) 0 1px,transparent 1.6px),radial-gradient(circle at 97.75% 65.09%,rgba(239,229,209,0.30) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 55.35% 92.31%,rgba(239,229,209,0.37) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 14.16% 12.31%,rgba(239,229,209,0.32) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 16.23% 28.61%,rgba(239,229,209,0.32) 0 0.8px,transparent 1.4px),radial-gradient(circle at 20.95% 63.16%,rgba(239,229,209,0.27) 0 1px,transparent 1.6px),radial-gradient(circle at 25.61% 90.00%,rgba(239,229,209,0.17) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 42.51% 28.11%,rgba(239,229,209,0.23) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 13.82% 97.02%,rgba(239,229,209,0.32) 0 0.8px,transparent 1.4px),radial-gradient(circle at 55.06% 42.91%,rgba(239,229,209,0.18) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 93.61% 68.72%,rgba(239,229,209,0.28) 0 0.8px,transparent 1.4px),radial-gradient(circle at 82.79% 58.09%,rgba(239,229,209,0.25) 0 0.8px,transparent 1.4px),radial-gradient(circle at 5.10% 36.74%,rgba(239,229,209,0.36) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 21.59% 25.45%,rgba(239,229,209,0.23) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 55.87% 86.72%,rgba(239,229,209,0.36) 0 0.8px,transparent 1.4px),radial-gradient(circle at 24.20% 16.93%,rgba(239,229,209,0.35) 0 0.8px,transparent 1.4px),radial-gradient(circle at 3.43% 73.18%,rgba(239,229,209,0.33) 0 1px,transparent 1.6px),radial-gradient(circle at 41.35% 66.65%,rgba(239,229,209,0.21) 0 0.8px,transparent 1.4px),radial-gradient(circle at 78.16% 11.59%,rgba(239,229,209,0.35) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 22.80% 81.03%,rgba(239,229,209,0.23) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 81.41% 86.39%,rgba(239,229,209,0.16) 0 0.8px,transparent 1.4px),radial-gradient(circle at 19.93% 33.17%,rgba(239,229,209,0.37) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 28.35% 63.87%,rgba(239,229,209,0.31) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 83.68% 33.45%,rgba(239,229,209,0.18) 0 0.7px,transparent 1.2999999999999998px),radial-gradient(circle at 96.10% 18.50%,rgba(239,229,209,0.16) 0 1px,transparent 1.6px),radial-gradient(circle at 59.46% 34.88%,rgba(239,229,209,0.25) 0 1px,transparent 1.6px),radial-gradient(circle at 97.46% 12.33%,rgba(239,229,209,0.21) 0 0.8px,transparent 1.4px),radial-gradient(circle at 70.46% 1.17%,rgba(239,229,209,0.23) 0 0.8px,transparent 1.4px),radial-gradient(circle at 7.86% 66.10%,rgba(239,229,209,0.29) 0 1px,transparent 1.6px),radial-gradient(circle at 66.01% 13.21%,rgba(239,229,209,0.27) 0 1px,transparent 1.6px),radial-gradient(circle at 66.36% 32.97%,rgba(239,229,209,0.28) 0 1px,transparent 1.6px),radial-gradient(circle at 19.80% 66.16%,rgba(239,229,209,0.31) 0 1.2px,transparent 1.7999999999999998px),radial-gradient(circle at 89.47% 61.32%,rgba(239,229,209,0.24) 0 1px,transparent 1.6px);}
.events{background:radial-gradient(ellipse at 75% 45%,#17212766,transparent 70%),linear-gradient(#171210,#0d1019 20%,#0d1019 80%,#0f1016)}
.events::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 70% 13% at 22% 26%,#5c92813d,transparent 76%),radial-gradient(ellipse 48% 25% at 58% 36%,#4a887433,transparent 73%),radial-gradient(ellipse 65% 15% at 83% 24%,#79619338,transparent 78%),radial-gradient(ellipse 90% 20% at 51% 55%,#55877a22,transparent 72%);filter:blur(22px)}
.booking{background:linear-gradient(#0f1016,#111117)}
.contact{background:linear-gradient(#111117,#151214)}
.booking::before,.contact::before{opacity:.6}
.events .wrap,.booking>*,.contact .wrap{position:relative;z-index:1}
@media(max-width:850px){.events::before{opacity:.75}.events::after{filter:blur(15px)}}

/* Aurora viola in alto e raccordo morbido con la fotografia. */
.events{background:linear-gradient(180deg,#16101d 0%,#181020 22%,#12101b 58%,#0f1016 100%)}
.events::after{background:radial-gradient(ellipse 75% 20% at 20% 8%,#9457c363,transparent 78%),radial-gradient(ellipse 65% 22% at 67% 15%,#7942ae5c,transparent 76%),radial-gradient(ellipse 48% 30% at 95% 4%,#b36ca438,transparent 78%),radial-gradient(ellipse 85% 18% at 45% 40%,#66508028,transparent 78%);filter:blur(25px)}
.music-feature-copy{position:relative;z-index:1}
.upstairs .music-feature::before{inset:auto 0 0;height:clamp(140px,23vw,270px);background:linear-gradient(180deg,transparent,#16101d66 48%,#16101d 100%);z-index:0}
@media(max-width:850px){.upstairs .music-feature::before{height:160px}.events::after{filter:blur(18px)}}

/* Aurora fotografica più bassa; raccordo nero tra sala e calendario. */
.events{background:#07070b}
.events::after{inset:0;filter:none;background:linear-gradient(180deg,#07070b 0%,transparent 28%,#07070b11 65%,#0f1016 100%),url(assets/aurora-night.webp) center 65%/cover no-repeat;opacity:.85}
.events::before{opacity:.35}
.upstairs .music-feature::before{background:linear-gradient(180deg,transparent,#07070b99 60%,#07070b 100%)}
@media(max-width:850px){.events::after{filter:none;background-size:auto 100%;background-position:center center}}

/* I minimi intrinseci dei controlli nativi non devono allargare le griglie. */
.booking .form-panel,
.booking form,
.booking .formgrid,
.booking form label { min-width:0; }
.booking form :is(input, select, textarea) {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
}
.booking input:is([type="date"], [type="time"]) {
  -webkit-appearance:none;
  appearance:none;
}
.booking input:is([type="date"], [type="time"])::-webkit-date-and-time-value {
  min-width:0;
  text-align:start;
}
@media (min-width:481px) {
  .booking .formgrid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (min-width:851px) {
  .booking { grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); }
}

.music-feature-copy .music-actions { flex-wrap:wrap; }
.music-actions .glass-button { max-width:100%; text-align:center; }
/* Spazio per la rotazione del simbolo anche con le categorie aperte. */
.menu-card .menu-category>summary { padding-inline-end:12px; }
.events .event-info { min-width:0; }

@media (max-width:850px) {
  header nav .desktop-section-link { display:block; }
  header nav.open { gap:8px; padding-block:14px; }
  .events .event {
    display:grid;
    grid-template-columns:96px minmax(0, 1fr);
    gap:10px 20px;
    align-items:start;
    padding-block:18px;
  }
  .events .event-date { min-width:0; padding-right:16px; }
  .events .event-date strong { font-size:30px; }
  .events .event-date span { font-size:8px; letter-spacing:.06em; }
  .events .event-info h3 { font-size:24px; margin-bottom:6px; }
  .events .event-info p { font-size:14px; line-height:1.45; margin-bottom:6px; }
  .events .event-info .eyebrow { font-size:9px; }
  .events .event > .outline { grid-column:1 / -1; min-height:44px; }
}
@media (max-width:360px) {
  .events .event { grid-template-columns:minmax(0, 1fr); row-gap:14px; }
  .events .event-date {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    text-align:left;
    border-right:0;
    border-bottom:1px solid #c9ad7944;
    padding:0 0 14px;
  }
}

/* Stati del modulo operativo: mantengono palette e componenti BENGA. */
#booking-form input, #booking-form select { min-width:0; max-width:100%; }
#booking-form select { width:100%; font:inherit; color:inherit; background:var(--panel, #211b19); border:1px solid rgba(255,255,255,.25); border-radius:8px; padding:.85rem; }
#booking-form :disabled { opacity:.6; cursor:not-allowed; }
#booking-form .booking-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:.65rem; }
#booking-form .booking-actions [type="submit"] { flex:1 1 11rem; justify-content:center; }
#booking-form .booking-whatsapp { display:flex; flex-direction:column; justify-content:center; gap:0; margin-inline-start:auto; }
#booking-form .booking-whatsapp small { font-size:.75rem; }
#availability-status, #form-result { overflow-wrap:anywhere; }
#booking-form .booking-privacy { font-size:.85rem; }
#booking-form [hidden] { display:none!important; }

/* Informative e preferenze cookie. */
.policy-links{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem}
.policy-links a,.booking-privacy a,.policy-page a,.cookie-panel a{color:#f0d5a0;text-decoration:underline;text-underline-offset:.2em}
.policy-links a:focus-visible,.booking-privacy a:focus-visible,.policy-page a:focus-visible,.cookie-panel :is(a,button,input):focus-visible{outline:2px solid #f0d5a0;outline-offset:3px}
.policy-page{width:min(100% - 2rem,48rem);margin:0 auto;padding:2.5rem 0 3rem}
.policy-page h1{font-size:clamp(2.2rem,7vw,4rem);line-height:1.1;margin:1rem 0}
.policy-page h2{font-size:1.4rem;line-height:1.3;margin:1.8rem 0 .5rem}
.policy-page p,.policy-page dl{margin:.6rem 0 1rem}
.policy-page dt{font-weight:700;color:#f0d5a0}
.policy-page dd{margin:0 0 1rem}
.policy-page .policy-links{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem}
.cookie-panel[hidden],.cookie-panel [hidden]{display:none}
.cookie-panel{
  position:fixed;z-index:50;right:clamp(.5rem,3vw,2rem);bottom:max(.5rem,env(safe-area-inset-bottom));
  width:min(calc(100% - 1rem),37rem);max-height:calc(100dvh - 1rem);overflow:auto;
  padding:clamp(.875rem,3vw,1.5rem);background:#111;color:#fff;
  border:1px solid #c9ad79;border-radius:1rem;box-shadow:0 8px 32px #0008;
  font-size:.95rem;line-height:1.5
}
.cookie-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.cookie-panel h2{margin:.25rem 0;color:#f0d5a0;font-size:1.3rem;line-height:1.25}
.cookie-panel p{margin:.5rem 0 1rem}
.cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.cookie-actions #cookie-customize{grid-column:1 / -1}
.cookie-panel button{
  cursor:pointer;min-height:44px;padding:.5rem .8rem;background:#242018;color:#fff;
  border:1px solid #c9ad79;font:inherit;font-weight:700;line-height:1.25
}
.cookie-panel button:hover{background:#3b3122}
.cookie-panel #cookie-close{min-width:44px;padding:0;font-size:1.4rem}
.cookie-panel fieldset{min-width:0;margin:1rem 0;padding:.7rem;border:1px solid #c9ad79}
.cookie-panel fieldset p{margin:.25rem 0}
.cookie-panel fieldset label{display:flex;align-items:center;gap:.55rem;min-height:44px}
.cookie-panel input[type=checkbox]{width:1.15rem;height:1.15rem;margin:0;accent-color:#c9ad79}
@media(max-width:520px){
  .cookie-panel{right:.5rem;left:.5rem;width:auto}
  .cookie-actions{grid-template-columns:1fr}
}
