:root{
  --ink:#0B0B0A;
  --cream:#F3ECDD;
  --gold:#E7B54A;
  --magenta:#E23FA0;
  --blue:#2E5BE6;
  --yellow:#F2C200;
  --orange:#F26A1B;
  --red:#E4322B;
  --bone:var(--cream);
  --bottle:var(--red);
  --cyan:var(--blue);
  --f-display:'Anton',sans-serif;
  --f-body:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --pad:clamp(1.15rem,5vw,5rem);
  --maxw:1280px;
  --section:clamp(5rem,11vw,9rem);
  --line:rgba(243,236,221,.18);
  --radius:22px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--f-body);
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:.16;
  background:
    radial-gradient(circle at 18% 24%, rgba(11,11,10,.16) 0 1px, transparent 1.4px),
    radial-gradient(circle at 76% 72%, rgba(11,11,10,.11) 0 1px, transparent 1.4px);
  background-size:26px 26px,31px 31px;
  mix-blend-mode:multiply;
}
::selection{background:var(--magenta);color:var(--cream)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
button{color:inherit}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.section{position:relative;padding-block:var(--section)}

h1,h2,h3,h4,.hero-pretitle,.event-day .big,.event-date-pill,.ev-date,.ev-more,.strip,.nav-links a,.btn,.sec-num,.coming-kicker,.review-stars,.info-row .k,.foot-links,.foot-bottom,.badge,.modal-ev,.field label{
  font-family:var(--f-display);
  text-transform:uppercase;
  letter-spacing:.025em;
}
h1,h2,h3,h4{font-weight:400;line-height:.92}
.crown-i{width:1.25em;height:.82em;display:inline-block;vertical-align:-.08em;color:var(--gold)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}

/* utility / buttons */
.btn{
  --bg:var(--yellow);
  --fg:var(--ink);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65em;
  border:2px solid var(--ink);
  border-radius:999px;
  background:var(--bg);
  color:var(--fg);
  padding:.9em 1.25em;
  font-size:.92rem;
  cursor:pointer;
  box-shadow:4px 5px 0 var(--ink);
  transition:transform .17s ease,box-shadow .17s ease,background .17s ease,color .17s ease;
}
.btn:hover{transform:translate(-2px,-3px) rotate(-.4deg);box-shadow:7px 9px 0 var(--ink)}
.btn:active{transform:translate(0);box-shadow:2px 3px 0 var(--ink)}
.btn--pop{--bg:var(--magenta);--fg:var(--cream)}
.btn--cream{--bg:var(--cream);--fg:var(--ink)}
.btn--ghost{--bg:transparent;--fg:var(--cream);border-color:var(--cream);box-shadow:4px 5px 0 var(--cream)}
.btn--ghost:hover{background:var(--cream);color:var(--ink);box-shadow:7px 9px 0 var(--gold)}
.btn--wa{--bg:var(--red);--fg:var(--ink)}
.btn--fork{--bg:var(--gold);--fg:var(--ink)}
.arrow{transition:transform .17s ease}.btn:hover .arrow{transform:translateX(4px)}

/* announcement + nav */
.strip{
  position:relative;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  padding:.68rem var(--pad);
  background:var(--red);
  color:var(--cream);
  font-size:.78rem;
  text-align:center;
}
.strip svg{width:1.1rem;height:.75rem;color:var(--gold);flex:0 0 auto}
.strip a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.nav{
  position:sticky;
  top:0;
  z-index:70;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.72rem var(--pad);
  background:rgba(243,236,221,.88);
  border-bottom:1px solid rgba(11,11,10,.12);
  backdrop-filter:blur(16px);
  transition:background .2s ease,box-shadow .2s ease;
}
.nav.stuck{background:rgba(243,236,221,.95);box-shadow:0 10px 0 rgba(11,11,10,.08)}
.brand{display:flex;align-items:center}.brand img{height:45px;width:auto}
.nav-links{display:flex;align-items:center;gap:1.55rem}
.nav-links a{font-size:.82rem;position:relative}
.nav-links>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-.3rem;height:4px;background:var(--magenta);transition:right .18s ease}
.nav-links>a:not(.nav-cta):hover::after{right:0}
.nav-cta{padding:.72rem 1rem;background:var(--gold);border:2px solid var(--ink);border-radius:999px;box-shadow:3px 4px 0 var(--ink)}
.burger{display:none;width:46px;height:46px;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);cursor:pointer}
.burger span{display:block;width:19px;height:2px;background:var(--ink);margin:4px auto}

/* hero: event poster / collage */
.hero{
  position:relative;
  min-height:calc(100svh - 112px);
  isolation:isolate;
  overflow:hidden;
  background:var(--ink);
  color:var(--cream);
}
.hero-bg,.hero-slide,.hero-tint{position:absolute;inset:0}
.hero-bg{z-index:-3}
.hero-slide{
  opacity:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.05);
  transition:opacity .8s ease,transform 7s linear;
}
.hero-slide.is-active{opacity:1;transform:scale(1.12)}
.hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(11,11,10,.72) 0%,rgba(11,11,10,.30) 50%,rgba(11,11,10,.48) 100%),
    linear-gradient(180deg,rgba(11,11,10,.12),rgba(11,11,10,.62));
}
.hero-tint{
  background:
    radial-gradient(ellipse at 18% 25%,rgba(226,63,160,.28),transparent 38%),
    radial-gradient(ellipse at 85% 20%,rgba(46,91,230,.24),transparent 38%),
    radial-gradient(ellipse at 72% 86%,rgba(228,50,43,.16),transparent 32%);
}
.hero-stage{
  position:relative;
  min-height:inherit;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);
  align-items:center;
  gap:clamp(2rem,6vw,7rem);
  padding-top:clamp(3rem,7vh,6rem);
  padding-bottom:clamp(5.5rem,9vh,8rem);
}
.hero-copy{position:relative;z-index:5;max-width:800px}
.hero-eyebrow{color:var(--gold);margin-bottom:clamp(1.4rem,3vw,2.3rem)}
.hero-title-lockup{position:relative;width:max-content;max-width:100%}
.hero-pretitle{display:block;font-size:clamp(3.5rem,8.2vw,8.6rem);line-height:.78;color:var(--cream);transform:translateX(.07em)}
.hero h1{font-size:clamp(7rem,17vw,15rem);line-height:.72;color:var(--yellow);letter-spacing:-.025em;text-shadow:8px 10px 0 var(--red)}
.hero-doodle-arrow{position:absolute;width:clamp(150px,22vw,300px);right:-10%;bottom:-32%;transform:rotate(-7deg)}
.hero-line{margin-top:clamp(2.2rem,5vw,4.4rem);font-family:var(--f-display);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1rem,1.8vw,1.35rem);max-width:34ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.6rem}
.hero-collage{position:relative;min-height:570px;z-index:3}
.hero-shot{position:absolute;overflow:hidden;border:3px solid var(--cream);box-shadow:12px 14px 0 var(--ink)}
.hero-shot img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.02)}
.hero-shot--one{width:58%;height:62%;left:8%;top:8%;transform:rotate(-6deg);border-radius:46% 54% 40% 60%/50% 43% 57% 50%}
.hero-shot--two{width:52%;height:52%;right:3%;bottom:4%;transform:rotate(7deg);border-color:var(--gold);border-radius:60% 40% 52% 48%/45% 56% 44% 55%}
.hero-sticker{position:absolute;z-index:5;font-family:var(--f-display);text-transform:uppercase;line-height:.88;border:3px solid var(--ink);box-shadow:5px 6px 0 var(--ink)}
.hero-sticker span{font-size:.48em;letter-spacing:.06em}
.hero-sticker--tonight{right:0;top:4%;padding:1rem 1.1rem;background:var(--red);color:var(--ink);font-size:clamp(2.1rem,4vw,4.3rem);transform:rotate(6deg);border-radius:48% 52% 45% 55%/55% 45% 58% 42%}
.hero-sticker--dates{left:-1%;bottom:5%;padding:.85rem 1rem;background:var(--blue);color:var(--cream);font-size:clamp(1.5rem,2.7vw,2.7rem);transform:rotate(-8deg)}
.hero-doodle-loop{position:absolute;width:55%;right:-8%;top:30%;z-index:4;animation:floaty 4s ease-in-out infinite}
.hero-doodle-sparks{position:absolute;width:25%;left:-2%;top:54%;z-index:4;animation:wiggle 3s ease-in-out infinite}
.hero-bottom{
  position:absolute;
  left:var(--pad);
  right:var(--pad);
  bottom:1.25rem;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  z-index:6;
}
.hero-logo{width:clamp(140px,16vw,220px);filter:drop-shadow(4px 5px 0 rgba(11,11,10,.55))}
.hero-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem 1.2rem;font-family:var(--f-display);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}
.hero-meta span{display:inline-flex;align-items:center;gap:.5rem}.hero-meta .dot{width:8px;height:8px;border-radius:50%;background:var(--magenta)}

/* marquee */
.marquee{overflow:hidden;border-block:3px solid var(--ink);background:var(--yellow);color:var(--ink);padding:.7rem 0;transform:rotate(-.7deg);margin:-.4rem -1rem 0;position:relative;z-index:8}
.marquee-track{display:flex;width:max-content;gap:2rem;animation:marquee 24s linear infinite}
.marquee .row{display:inline-flex;align-items:center;gap:2rem;white-space:nowrap;font-family:var(--f-display);text-transform:uppercase;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}
.marquee .crown-i{color:var(--ink);width:1.05em}
.m-y{color:var(--red)}.m-m{color:var(--magenta)}.m-c{color:var(--blue)}.m-l{color:var(--red)}.m-o{color:var(--orange)}.m-b{color:var(--ink)}

/* common section heads */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.sec-head h2{font-size:clamp(4rem,10vw,9rem);line-height:.78;position:relative;max-width:10ch}
.sec-head h2::after{content:"";position:absolute;width:44%;height:10px;background:var(--u,var(--magenta));left:4%;bottom:-.36em;transform:rotate(-3deg);border-radius:70% 30% 60% 40%}
.sec-num{font-size:.86rem;opacity:.68;padding-bottom:.25rem}
.reveal{opacity:0;transform:translateY(28px) rotate(.2deg);transition:opacity .6s ease,transform .65s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

/* concept / club story */
.concept{background:var(--red);color:var(--cream);overflow:hidden}
.concept::before{content:"× × ×";position:absolute;right:-2%;top:8%;font-family:var(--f-display);font-size:clamp(6rem,15vw,14rem);letter-spacing:.02em;color:var(--red);opacity:.15;transform:rotate(10deg)}
.concept-collage{position:relative;min-height:390px;margin:-1rem 0 2.2rem}
.concept-photo{position:absolute;overflow:hidden;border:3px solid var(--cream);box-shadow:9px 10px 0 var(--ink)}
.concept-photo img{width:100%;height:100%;object-fit:cover}
.concept-photo--a{width:min(46vw,540px);height:330px;left:4%;top:5%;transform:rotate(-4deg);border-radius:54% 46% 45% 55%/46% 58% 42% 54%}
.concept-photo--b{width:min(28vw,330px);height:310px;right:8%;top:45px;transform:rotate(6deg);border-color:var(--gold);border-radius:18px 80px 22px 70px}
.concept-stamp{position:absolute;left:49%;top:35%;z-index:4;background:var(--magenta);color:var(--cream);border:3px solid var(--ink);padding:.85rem 1.2rem;font-family:var(--f-display);font-size:clamp(2.2rem,4vw,4.2rem);line-height:.8;text-transform:uppercase;transform:rotate(-8deg);box-shadow:6px 7px 0 var(--ink)}
.concept-arrow{position:absolute;width:200px;right:29%;bottom:-12px;transform:rotate(18deg)}
.concept-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,7rem);align-items:start}
.concept-lead{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(1.9rem,4.2vw,3.9rem);line-height:.98;max-width:18ch}
.concept-lead b{color:var(--gold);font-weight:400}
.name-note{margin-top:1.5rem;font-family:var(--f-body);text-transform:none;font-size:1rem;line-height:1.45;background:var(--cream);color:var(--ink);padding:1rem 1.15rem;border:2px solid var(--ink);transform:rotate(-1.2deg);box-shadow:5px 6px 0 var(--yellow);max-width:40ch}
.concept-body{padding-top:.35rem}.concept-body p{font-size:1.05rem;margin-bottom:1.2rem;max-width:46ch}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:clamp(3rem,7vw,5rem)}
.pillar{position:relative;padding:1.5rem;border:2px solid var(--ink);color:var(--ink);min-height:190px;box-shadow:7px 8px 0 var(--ink);transition:transform .2s ease}
.pillar:hover{transform:rotate(-1deg) translateY(-5px)}
.pillar:nth-child(1){background:var(--magenta);transform:rotate(-1.2deg)}
.pillar:nth-child(2){background:var(--red);transform:translateY(14px) rotate(.8deg)}
.pillar:nth-child(3){background:var(--blue);color:var(--cream);transform:rotate(-.7deg)}
.pillar h3{font-size:2.2rem;margin-bottom:.7rem}.pillar p{font-size:.94rem}.pillar .crown-i{color:var(--gold)}
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:4rem;border-top:2px solid rgba(243,236,221,.36);padding-top:1.8rem}
.proof div{display:flex;flex-direction:column}.proof b{font-family:var(--f-display);font-size:clamp(3.5rem,7vw,6.4rem);line-height:.8;color:var(--gold);font-weight:400}.proof span{text-transform:uppercase;font-size:.74rem;letter-spacing:.08em;margin-top:.7rem}

/* coming soon */
#menu{background:var(--cream);overflow:hidden}
#menu::after{content:"COMING SOON";position:absolute;right:-4%;bottom:0;font-family:var(--f-display);font-size:clamp(7rem,18vw,18rem);line-height:.72;color:var(--yellow);opacity:.25;transform:rotate(-6deg);white-space:nowrap}
.coming-grid{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,7rem);align-items:center;z-index:2}
.coming-copy{position:relative;z-index:5}.coming-kicker{font-size:.84rem;color:var(--red);display:block;margin-bottom:1rem}
.coming-copy h3{font-size:clamp(4.5rem,9vw,8rem);line-height:.78}.coming-copy h3 span{color:var(--magenta)}
.coming-copy p{margin-top:1.4rem;max-width:38ch;font-size:1.05rem}
.coming-photos{position:relative;min-height:590px}
.coming-photo{position:absolute;overflow:hidden;border:3px solid var(--ink);box-shadow:10px 12px 0 var(--ink)}
.coming-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.coming-photo:hover img{transform:scale(1.05)}
.coming-photo--wide{width:72%;height:72%;right:3%;top:0;transform:rotate(4deg);border-radius:44% 56% 38% 62%/52% 38% 62% 48%}
.coming-photo:not(.coming-photo--wide){width:48%;height:50%;left:4%;bottom:0;transform:rotate(-7deg);border-color:var(--blue);border-radius:22px 80px 28px 70px}

/* review block */
#bar{background:var(--yellow);transform:rotate(.4deg);margin-inline:-1rem}
#bar>.wrap{transform:rotate(-.4deg)}
.review-box{display:grid;grid-template-columns:220px 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2rem,5vw,4rem);background:var(--cream);border:3px solid var(--ink);box-shadow:10px 12px 0 var(--red);border-radius:60px 18px 70px 22px}
.review-stars{text-align:center;color:var(--red)}.review-stars .st{font-size:1.45rem;letter-spacing:.12em}.review-stars .sm{font-size:.82rem;margin-top:.5rem}
.review-box q{display:block;font-family:var(--f-display);text-transform:uppercase;font-size:clamp(2rem,4vw,4rem);line-height:.94;max-width:19ch}.review-box p{margin-top:1rem;max-width:55ch}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}.chip,.chips span{display:inline-flex;border:2px solid var(--ink);padding:.45rem .75rem;border-radius:999px;font-family:var(--f-display);text-transform:uppercase;font-size:.75rem}.chip.on,.chips .on{background:var(--magenta);color:var(--cream)}

/* events */
.eventi{background:var(--ink);color:var(--cream);overflow:hidden}
.eventi::before{content:"";position:absolute;width:520px;height:520px;right:-170px;top:8%;border:18px solid var(--blue);border-radius:48% 52% 54% 46%;transform:rotate(22deg);opacity:.42}
.events-scribble{font-family:var(--f-display);font-size:clamp(1.4rem,3.2vw,2.7rem);text-transform:uppercase;color:var(--red);letter-spacing:.06em;transform:rotate(-2deg);margin:-1.5rem 0 2.5rem}
.event-hero{position:relative;display:grid;grid-template-columns:minmax(230px,.72fr) auto minmax(0,1fr);gap:clamp(1rem,4vw,3.3rem);align-items:center;min-height:520px;padding:clamp(1.5rem,3vw,2.4rem);border:3px solid var(--cream);box-shadow:12px 14px 0 var(--magenta);background:var(--red);transform:rotate(-.5deg)}
.event-poster{height:460px;overflow:hidden;border:3px solid var(--ink);box-shadow:8px 9px 0 var(--yellow);transform:rotate(-4deg)}.event-poster img{width:100%;height:100%;object-fit:cover}
.event-day{text-align:center;color:var(--ink);background:var(--gold);border:3px solid var(--ink);padding:1.4rem 1rem;transform:rotate(5deg);box-shadow:6px 7px 0 var(--ink)}
.event-day .big{font-size:clamp(5rem,9vw,9rem);line-height:.72}.event-day .sm{font-family:var(--f-display);text-transform:uppercase;font-size:1rem;margin-top:.9rem}
.event-info h3{font-size:clamp(3.2rem,6vw,6.5rem);line-height:.78}.event-info p{margin-top:1rem;max-width:44ch}
.event-date-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:2.2rem}.event-date-pill{display:grid;place-items:center;min-height:72px;border:3px solid var(--cream);color:var(--ink);font-size:clamp(1.2rem,2.5vw,2rem);box-shadow:5px 6px 0 var(--cream)}
.event-date-pill:nth-child(1){background:var(--magenta);color:var(--cream);transform:rotate(-2deg)}.event-date-pill:nth-child(2){background:var(--blue);color:var(--cream);transform:translateY(8px) rotate(1deg)}.event-date-pill:nth-child(3){background:var(--red);transform:rotate(-1deg)}.event-date-pill:nth-child(4){background:var(--orange);transform:translateY(5px) rotate(2deg)}
.ev-title{font-size:clamp(3.4rem,7vw,6.4rem);margin:4.5rem 0 1.8rem;color:var(--gold)}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:stretch}
.ev-card{position:relative;min-height:500px;display:flex;flex-direction:column;justify-content:flex-end;gap:.75rem;padding:1.35rem;border:3px solid var(--cream);overflow:hidden;isolation:isolate;color:var(--cream);box-shadow:8px 10px 0 var(--cream);transition:transform .22s ease,box-shadow .22s ease}
.ev-card::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .45s ease;filter:saturate(1.04) contrast(1.03)}
.ev-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,10,.06) 18%,rgba(11,11,10,.88) 88%)}
.ev-card:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:13px 16px 0 var(--magenta)}.ev-card:hover::before{transform:scale(1.045)}
.ev-card--fixed::before{background:linear-gradient(135deg,var(--red) 0 44%,var(--magenta) 44% 58%,var(--yellow) 58% 70%,var(--blue) 70%)}
a.ev-card[href*="basquiat-at-san"]::before{background-image:url('ev-sangiuliat.png')}
a.ev-card[href*="dj-silvio"]::before{background-image:url('ev-djsilvio.jpg')}
.ev-card:nth-child(1){transform:rotate(-1deg)}.ev-card:nth-child(2){transform:translateY(18px) rotate(1.3deg)}.ev-card:nth-child(3){transform:rotate(-.5deg)}
.ev-date{display:flex;align-items:center;gap:.45rem;color:var(--gold);font-size:.82rem}.ev-card h4{font-size:clamp(2.4rem,4.2vw,4.4rem);line-height:.82}.ev-card p{font-size:.9rem;max-width:34ch}.ev-tags{display:flex;flex-wrap:wrap;gap:.35rem}.ev-tags span{font-family:var(--f-display);text-transform:uppercase;border:1px solid rgba(243,236,221,.7);border-radius:999px;padding:.35rem .58rem;font-size:.66rem}.ev-more{color:var(--red);font-size:.84rem;margin-top:.35rem}.ev-empty{opacity:.7}

/* gallery collage */
#galleria{background:var(--cream);overflow:hidden}
.gal{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:240px;gap:1rem;position:relative}.tile{position:relative;overflow:hidden;border:3px solid var(--ink);box-shadow:7px 8px 0 var(--ink);transition:transform .22s ease}.tile:hover{z-index:5;transform:translateY(-7px) rotate(-1.5deg)}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.tile:hover img{transform:scale(1.055)}.tile.tall{grid-row:span 2;transform:rotate(-2deg)}.tile.wide{grid-column:span 2;transform:rotate(1deg)}.tile:nth-child(2){transform:translateY(20px) rotate(2deg)}.tile:nth-child(3){transform:rotate(-1deg)}.tile:nth-child(4){transform:translateY(-12px) rotate(1.5deg)}.tile:nth-child(5){transform:rotate(-2deg)}.tile:nth-child(7){transform:translateY(12px) rotate(2deg)}.tile:nth-child(8){transform:rotate(-1deg)}
.art-tile .cap{position:absolute;left:.65rem;bottom:.65rem;background:var(--ink);color:var(--cream);font-family:var(--f-display);text-transform:uppercase;padding:.36rem .55rem;font-size:.75rem;transform:rotate(-2deg)}
.t-ink{background:var(--red);color:var(--cream);display:grid;place-items:center}.tile-art{text-align:center;font-family:var(--f-display);text-transform:uppercase;padding:1.4rem}.tile-art .big{font-size:clamp(2.7rem,5vw,5.5rem);line-height:.8}.tile-art .lbl{display:block;font-family:var(--f-body);text-transform:uppercase;font-size:.72rem;letter-spacing:.09em;margin-top:.8rem}

/* booking CTA */
.prenota{background:var(--magenta);color:var(--cream);overflow:hidden;text-align:left}
.prenota::before{content:"BOOK / BOOK / BOOK";position:absolute;left:-3%;top:6%;font-family:var(--f-display);font-size:clamp(5rem,14vw,14rem);line-height:.8;color:var(--red);opacity:.34;transform:rotate(-7deg);white-space:nowrap}
.prenota::after{content:"";position:absolute;width:360px;height:220px;right:4%;bottom:-50px;border:16px solid var(--yellow);border-radius:52% 48% 44% 56%;transform:rotate(-18deg)}
.prenota-c{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:2rem;align-items:end}.prenota .eyebrow{grid-column:1/-1;color:var(--yellow)}.prenota h2{font-size:clamp(5.5rem,12vw,12rem);line-height:.72;max-width:7ch}.prenota p{max-width:40ch;font-size:1.05rem}.prenota-btns{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.4rem}.prenota .btn{border-color:var(--ink);box-shadow:4px 5px 0 var(--ink)}.prenota .btn--ghost{--fg:var(--cream);border-color:var(--cream);box-shadow:4px 5px 0 var(--cream)}.prenota-note{margin-top:1rem;font-family:var(--f-display);text-transform:uppercase}.prenota-note b{color:var(--yellow)}

/* location */
#dove{background:var(--blue);color:var(--cream)}
.dove-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,5rem);align-items:stretch}.info-block{display:flex;flex-direction:column;gap:1.5rem}.info-row{padding-bottom:1.2rem;border-bottom:2px solid rgba(243,236,221,.34)}.info-row .k{font-size:.76rem;color:var(--yellow);margin-bottom:.35rem}.info-row .v{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.7rem);line-height:.92}.socials{display:flex;gap:.7rem;margin-top:.65rem}.socials a{width:50px;height:50px;display:grid;place-items:center;border:2px solid var(--cream);border-radius:50%;background:var(--cream);color:var(--blue);transition:transform .18s ease}.socials a:hover{transform:rotate(-8deg) translateY(-4px);background:var(--yellow);color:var(--ink)}.socials svg{width:20px;height:20px}.map{overflow:hidden;border:3px solid var(--cream);box-shadow:10px 12px 0 var(--ink);min-height:440px;transform:rotate(1deg);border-radius:54% 46% 50% 50%/42% 58% 42% 58%}.map iframe{width:100%;height:100%;min-height:440px;border:0;filter:saturate(.92) contrast(1.04)}

/* footer */
.foot{background:var(--ink);color:var(--cream);padding:3rem 0;border-top:8px solid var(--gold)}.foot-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.foot .brand img{height:62px}.foot-links{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.8rem}.foot-links a:hover{color:var(--red)}.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.4rem;border-top:1px solid rgba(243,236,221,.24);font-size:.68rem;color:rgba(243,236,221,.7)}

/* booking modal / forms */
.modal{position:fixed;inset:0;z-index:200;display:none}.modal.open{display:grid;place-items:center;padding:1rem}.modal-bg{position:absolute;inset:0;background:rgba(11,11,10,.82);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:2;width:min(600px,100%);max-height:92vh;overflow:auto;background:var(--cream);color:var(--ink);border:3px solid var(--ink);box-shadow:12px 14px 0 var(--magenta);padding:clamp(1.6rem,4vw,2.5rem);transform:rotate(-.35deg)}.modal-x{position:absolute;right:.9rem;top:.65rem;width:40px;height:40px;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);font-size:1.6rem;cursor:pointer}.modal-head h3{font-size:3rem;margin-top:.5rem}.modal-ev{color:var(--red);font-size:.82rem;margin-top:.5rem}.bform{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.72rem}.field input,.field textarea{width:100%;border:2px solid var(--ink);background:var(--cream);color:var(--ink);padding:.76rem .85rem;border-radius:0}.field input:focus,.field textarea:focus{outline:4px solid var(--yellow);outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row.three{grid-template-columns:1fr 1fr 1fr}.bsubmit{align-self:flex-start}.bform-hint{font-size:.75rem}.bform-done,.bform-fallback{text-align:center;padding:1rem}.bform-done h3{font-size:2.5rem;margin:.5rem}.bform-done p,.bform-fallback p{margin-bottom:1rem}

/* event archive + event details */
.page-head{min-height:80vh;background:var(--ink);color:var(--cream)}.page-head .ev-grid{margin-top:2rem}
.ev-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:var(--cream)}.ev-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03)}.ev-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.18),rgba(11,11,10,.92))}.ev-hero .inner{position:relative;z-index:2;padding-bottom:clamp(3rem,8vh,6rem)}.back-link{display:inline-block;font-family:var(--f-display);text-transform:uppercase;margin-bottom:1.1rem;color:var(--red)}.badge{display:inline-flex;align-items:center;gap:.45rem;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);padding:.5rem .7rem;transform:rotate(-1.5deg);box-shadow:4px 5px 0 var(--red)}.ev-hero h1{font-size:clamp(5rem,12vw,11rem);line-height:.76;max-width:8ch;margin-top:1.2rem;text-shadow:7px 8px 0 var(--red)}.ev-hero .meta{margin-top:1rem}.ev-hero .cta{margin-top:1.3rem}.ev-detail{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(2rem,5vw,4.5rem);line-height:.96;max-width:19ch}.book-section{max-width:760px}.book-section .bform{background:var(--yellow);padding:2rem;border:3px solid var(--ink);box-shadow:10px 12px 0 var(--red)}

/* animations */
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes wiggle{0%,100%{transform:rotate(-3deg) scale(1)}50%{transform:rotate(4deg) scale(1.04)}}

@media (max-width:980px){
  .nav-links{display:none}.burger{display:block}.nav-links.open{position:fixed;display:flex;inset:72px 0 0 auto;width:min(84vw,360px);height:calc(100vh - 72px);background:var(--cream);color:var(--ink);padding:2rem;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.6rem;border-left:3px solid var(--ink);box-shadow:-10px 0 0 var(--magenta)}
  .nav-links.open a{font-size:1.5rem}.hero-stage{grid-template-columns:1fr;padding-top:4rem}.hero-copy{max-width:none}.hero-collage{min-height:430px;margin-top:-1rem}.hero-shot--one{width:44%;left:10%}.hero-shot--two{width:42%;right:10%}.hero-sticker--tonight{right:7%}.hero-sticker--dates{left:8%}.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:1rem;align-items:center}.concept-grid,.coming-grid,.dove-grid{grid-template-columns:1fr}.concept-collage{min-height:340px}.concept-photo--a{width:62vw}.concept-photo--b{width:35vw}.pillars{grid-template-columns:1fr}.pillar:nth-child(2){transform:rotate(.8deg)}.proof{grid-template-columns:1fr 1fr 1fr}.coming-photos{min-height:520px}.review-box{grid-template-columns:1fr}.review-stars{text-align:left}.event-hero{grid-template-columns:.75fr 1fr;}.event-poster{grid-row:span 2}.event-day{align-self:start}.event-info{grid-column:2}.ev-grid{grid-template-columns:1fr 1fr}.prenota-c{grid-template-columns:1fr}.map{border-radius:28px;transform:none}
}

@media (max-width:680px){
  :root{--pad:1rem;--section:5rem}.strip{font-size:.68rem;gap:.45rem}.strip svg{display:none}.strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand img{height:39px}.hero{min-height:auto}.hero-stage{padding-top:3rem;padding-bottom:2rem}.hero-pretitle{font-size:clamp(3.4rem,16vw,5rem)}.hero h1{font-size:clamp(6rem,28vw,9.2rem);text-shadow:5px 6px 0 var(--red)}.hero-doodle-arrow{right:-4%;bottom:-26%}.hero-line{margin-top:3rem}.hero-collage{min-height:390px}.hero-shot--one{width:55%;height:58%;left:2%}.hero-shot--two{width:53%;height:50%;right:1%}.hero-sticker--tonight{right:0;top:0}.hero-sticker--dates{left:0}.hero-doodle-loop{right:-4%;width:62%}.hero-bottom{flex-direction:column;align-items:flex-start}.hero-meta{justify-content:flex-start}.marquee{margin-left:-.4rem;margin-right:-.4rem}.sec-head{align-items:flex-start;flex-direction:column}.sec-head h2{font-size:clamp(4.6rem,21vw,7.5rem)}.concept-collage{min-height:390px}.concept-photo--a{width:78vw;height:290px;left:0}.concept-photo--b{width:46vw;height:230px;right:0;top:130px}.concept-stamp{left:38%;top:45%;font-size:2.2rem}.concept-arrow{right:5%;bottom:0}.concept-grid{gap:2rem}.concept-lead{font-size:2.3rem}.proof{grid-template-columns:1fr;gap:1.7rem}.coming-grid{gap:1rem}.coming-copy h3{font-size:clamp(4rem,18vw,6rem)}.coming-photos{min-height:430px}.coming-photo--wide{width:78%;height:66%;right:0}.coming-photo:not(.coming-photo--wide){width:58%;height:48%;left:0}.review-box{border-radius:28px}.event-hero{grid-template-columns:1fr;padding:1rem;min-height:auto}.event-poster{height:520px;grid-row:auto}.event-day{position:absolute;top:2rem;right:0;z-index:4}.event-info,.event-poster{grid-column:1}.event-info{padding:.5rem}.event-info h3{font-size:4.2rem}.event-date-strip{grid-template-columns:1fr 1fr}.ev-grid{grid-template-columns:1fr;gap:1.7rem}.ev-card{min-height:460px}.ev-card:nth-child(2){transform:rotate(1deg)}.gal{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.tile.tall{grid-row:span 2}.tile.wide{grid-column:span 2}.prenota h2{font-size:clamp(5.2rem,23vw,8.5rem)}.dove-grid{gap:2.5rem}.map{min-height:360px}.map iframe{min-height:360px}.foot-bottom{flex-direction:column}.form-row,.form-row.three{grid-template-columns:1fr}.ev-hero h1{font-size:clamp(5rem,22vw,8rem)}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.hero-slide{transform:none!important}
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}

/* ==========================================================
   LAYOUT REFINEMENT — controlled chaos / safe text zones
   Keeps the existing art direction, palette and font families.
   ========================================================== */

/* universal layout safety */
.hero-copy,.hero-title-lockup,.hero-collage,.hero-bottom,
.sec-head,.sec-head h2,.concept-grid,.concept-grid>*,.coming-grid,.coming-grid>*,
.review-box,.review-box>*,.event-hero,.event-hero>*,.event-info,
.ev-grid,.ev-card,.prenota-c,.prenota-c>*,.dove-grid,.dove-grid>*,
.foot-top,.foot-bottom{min-width:0}

p{line-height:1.6}
.section{padding-block:clamp(5.5rem,10vw,9rem)}
.sec-head{gap:clamp(1.5rem,4vw,3.5rem);margin-bottom:clamp(3.25rem,6vw,5.25rem)}
.sec-head h2{line-height:.84;overflow-wrap:normal;word-break:normal}
.sec-num{line-height:1.2;flex:0 0 auto}

/* hero — preserve poster impact, give copy a real safety zone */
.hero-stage{
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:clamp(3rem,6vw,6.5rem);
  padding-top:clamp(4rem,8vh,6.5rem);
  padding-bottom:clamp(7rem,11vh,9rem);
}
.hero-copy{max-width:760px;padding-right:clamp(0rem,1vw,1rem)}
.hero-eyebrow{margin-bottom:clamp(1.75rem,3vw,2.5rem);line-height:1.25}
.hero-title-lockup{width:100%;max-width:760px;isolation:isolate}
.hero-pretitle{font-size:clamp(3.4rem,7.2vw,7.6rem);line-height:.84}
.hero h1{font-size:clamp(6.6rem,14vw,12.8rem);line-height:.78;max-width:100%;position:relative;z-index:2}
.hero-doodle-arrow{width:clamp(135px,18vw,250px);right:-1%;bottom:-24%;z-index:1;opacity:.9;pointer-events:none}
.hero-line{margin-top:clamp(2.8rem,5vw,4.6rem);line-height:1.12;max-width:32ch}
.hero-cta{gap:.85rem 1rem;margin-top:clamp(1.7rem,3vw,2.2rem)}
.hero-collage{min-height:590px}
.hero-sticker--tonight{right:1.5%;top:3%}
.hero-sticker--dates{left:1%;bottom:4%}
.hero-doodle-loop,.hero-doodle-sparks{pointer-events:none}
.hero-bottom{bottom:1.5rem;gap:1.5rem 2.5rem;flex-wrap:wrap}
.hero-meta{max-width:56%;line-height:1.25;row-gap:.75rem}

/* marquee gets breathing room from adjacent content */
.marquee{margin-top:-.25rem}

/* concept */
.concept-collage{min-height:410px;margin:-.25rem 0 clamp(3rem,5vw,4.5rem)}
.concept-stamp{left:50%;top:32%;line-height:.86}
.concept-arrow{right:27%;bottom:6px;width:180px;pointer-events:none}
.concept-grid{gap:clamp(3rem,7vw,7rem)}
.concept-lead{font-size:clamp(1.9rem,3.65vw,3.55rem);line-height:1.04;max-width:19ch}
.name-note{margin-top:2rem;line-height:1.55;padding:1.1rem 1.25rem;max-width:38ch}
.concept-body{padding-top:.55rem}
.concept-body p{line-height:1.66;margin-bottom:1.45rem;max-width:43ch}
.concept-body p:last-child{margin-bottom:0}
.pillars{gap:1.35rem;margin-top:clamp(4rem,7vw,5.75rem)}
.pillar{padding:1.65rem 1.7rem;min-height:205px}
.pillar h3{font-size:clamp(1.85rem,2.5vw,2.3rem);line-height:.95;margin-bottom:.9rem}
.pillar p{line-height:1.55}
.proof{gap:1.75rem;margin-top:clamp(4rem,6vw,5.25rem);padding-top:2rem}
.proof span{line-height:1.25}

/* coming soon */
.coming-grid{grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);gap:clamp(3.5rem,7vw,7rem);align-items:center}
.coming-copy{padding-block:1rem}
.coming-kicker{line-height:1.2;margin-bottom:1.35rem;max-width:32ch}
.coming-copy h3{font-size:clamp(4rem,7.4vw,7rem);line-height:.84;max-width:8.2ch;overflow-wrap:normal;word-break:normal}
.coming-copy p{margin-top:1.75rem;line-height:1.65;max-width:36ch}
.coming-photos{min-height:620px}

/* review */
#bar{padding-block:clamp(4.5rem,8vw,7rem)!important}
.review-box{grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);padding:clamp(2.5rem,5vw,4rem)}
.review-box q{font-size:clamp(2rem,3.6vw,3.65rem);line-height:1.01;max-width:20ch}
.review-box p{margin-top:1.25rem;line-height:1.62;max-width:54ch}
.chips{margin-top:1.45rem;gap:.65rem .75rem}

/* events hero */
.events-scribble{margin:-.5rem 0 clamp(2.75rem,5vw,4rem);line-height:1.1}
.event-hero{
  grid-template-columns:minmax(245px,.78fr) minmax(150px,.42fr) minmax(320px,1fr);
  gap:clamp(1.75rem,3.5vw,3.4rem);
  min-height:540px;
  padding:clamp(1.75rem,3vw,2.6rem);
}
.event-poster{height:455px}
.event-day{padding:1.35rem .9rem}
.event-day .big{font-size:clamp(4.7rem,7.8vw,8rem);line-height:.76}
.event-day .sm{line-height:1.08;margin-top:1rem}
.event-info{padding:.4rem 0}
.event-info h3{font-size:clamp(2.9rem,5vw,5.55rem);line-height:.86;max-width:9ch;overflow-wrap:break-word}
.event-info p{margin-top:1.2rem;line-height:1.58;max-width:39ch}
.event-info .chips{margin-top:1.3rem}
.event-date-strip{margin-top:clamp(2rem,4vw,3rem);gap:.75rem 1rem}
.event-date-pill{line-height:1;padding:.95rem .75rem;min-height:72px}
.ev-title{line-height:.88;margin:clamp(4.75rem,7vw,6rem) 0 2.25rem}
.ev-grid{gap:2rem 1.5rem}
.ev-card{min-height:520px;gap:.85rem;padding:1.6rem 1.55rem 1.7rem}
.ev-card:nth-child(2){transform:translateY(12px) rotate(1.1deg)}
.ev-date{line-height:1.2;align-items:flex-start}
.ev-card h4{font-size:clamp(2.15rem,3.45vw,3.65rem);line-height:.9;overflow-wrap:break-word;word-break:normal}
.ev-card p{line-height:1.5;max-width:31ch}
.ev-tags{gap:.4rem .45rem;margin-top:.15rem}
.ev-tags span{line-height:1.15;padding:.4rem .62rem}
.ev-more{line-height:1.2;margin-top:.5rem}

/* gallery — keep crooked collage but prevent accidental edge collisions */
.gal{gap:1.2rem;padding:1rem .9rem 1.4rem;margin:-1rem -.9rem -1.4rem}
.tile:nth-child(2){transform:translateY(12px) rotate(1.5deg)}
.tile:nth-child(4){transform:translateY(-8px) rotate(1.2deg)}
.tile:nth-child(7){transform:translateY(8px) rotate(1.5deg)}
.art-tile .cap{left:.85rem;bottom:.85rem;line-height:1.1;padding:.45rem .65rem}
.tile-art{padding:1.6rem}
.tile-art .big{line-height:.87;overflow-wrap:break-word}

/* booking CTA — preserve giant type, stop copy/button collisions */
.prenota-c{
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);
  column-gap:clamp(3rem,7vw,7rem);
  row-gap:1.5rem;
  align-items:end;
}
.prenota .eyebrow{margin-bottom:.4rem}
.prenota h2{font-size:clamp(5rem,9.8vw,9.8rem);line-height:.8;max-width:7ch;overflow-wrap:normal}
.prenota p{line-height:1.62;max-width:36ch;align-self:center}
.prenota-btns{gap:.8rem .85rem;margin-top:.65rem;align-self:start}
.prenota-note{line-height:1.25;margin-top:.5rem;align-self:start}
.prenota::after{right:2%;bottom:-70px;pointer-events:none}

/* location / footer */
.dove-grid{gap:clamp(3rem,6vw,6rem)}
.info-block{gap:1.8rem}
.info-row{padding-bottom:1.45rem}
.info-row .k{margin-bottom:.55rem;line-height:1.15}
.info-row .v{font-size:clamp(1.5rem,2.65vw,2.45rem);line-height:1.01;overflow-wrap:break-word}
.socials{margin-top:.8rem}
.map{min-height:460px}
.map iframe{min-height:460px}
.foot{padding:3.5rem 0}
.foot-top{gap:1.75rem 3rem}
.foot-links{gap:1rem 1.4rem;line-height:1.2}
.foot-bottom{gap:1rem 2rem;margin-top:2.25rem;padding-top:1.6rem;line-height:1.35}

/* event archive / event detail safety */
.page-head{padding-block:clamp(5rem,9vw,8rem)}
.page-head .sec-head{margin-bottom:2rem}
.page-head .ev-grid{margin-top:2.75rem}
.ev-hero .inner{padding-top:clamp(4rem,8vh,6rem);padding-bottom:clamp(3.5rem,8vh,6rem)}
.ev-hero h1{font-size:clamp(4.75rem,10vw,9.75rem);line-height:.82;max-width:9ch;overflow-wrap:break-word}
.ev-hero .meta{margin-top:1.3rem}
.ev-hero .cta{margin-top:1.7rem}
.ev-detail{font-size:clamp(1.9rem,4.2vw,4rem);line-height:1.02;max-width:20ch}
.book-section .bform{padding:clamp(1.5rem,4vw,2.25rem)}

/* medium desktop / small laptop */
@media (max-width:1180px){
  .hero-stage{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:3rem}
  .hero h1{font-size:clamp(6.2rem,13vw,10.5rem)}
  .hero-pretitle{font-size:clamp(3.25rem,7vw,6.3rem)}
  .hero-collage{min-height:535px}
  .event-hero{grid-template-columns:minmax(220px,.72fr) minmax(130px,.34fr) minmax(280px,1fr);gap:1.6rem}
  .event-info h3{font-size:clamp(2.75rem,4.8vw,4.8rem)}
  .ev-card h4{font-size:clamp(2rem,3.2vw,3.15rem)}
  .prenota h2{font-size:clamp(4.8rem,9.2vw,8.4rem)}
}

/* tablet — decorative overlaps remain inside dedicated visual zones */
@media (max-width:980px){
  .section{padding-block:clamp(5rem,10vw,7rem)}
  .hero-stage{grid-template-columns:1fr;gap:2.75rem;padding-top:4rem;padding-bottom:3.5rem}
  .hero-copy{max-width:820px;padding-right:0}
  .hero-title-lockup{max-width:820px}
  .hero-pretitle{font-size:clamp(3.7rem,10vw,6.8rem)}
  .hero h1{font-size:clamp(7rem,18vw,11.5rem);max-width:6ch}
  .hero-doodle-arrow{right:4%;bottom:-20%;width:clamp(130px,22vw,220px)}
  .hero-line{margin-top:3.25rem}
  .hero-collage{min-height:450px;margin-top:0}
  .hero-bottom{margin-top:.5rem;gap:1.2rem 2rem}
  .hero-meta{max-width:70%}

  .sec-head{margin-bottom:3.75rem}
  .concept-grid,.coming-grid,.dove-grid{grid-template-columns:1fr;gap:3.25rem}
  .concept-collage{margin-bottom:3.75rem}
  .concept-lead{font-size:clamp(2.2rem,5.5vw,3.6rem);max-width:20ch}
  .concept-body{padding-top:0;max-width:650px}
  .pillars{grid-template-columns:1fr;gap:1.2rem}
  .pillar{min-height:0;padding:1.65rem 1.75rem}
  .pillar:nth-child(2){transform:rotate(.45deg)}
  .proof{margin-top:4rem}

  .coming-copy{max-width:680px;padding-block:0}
  .coming-copy h3{font-size:clamp(4.4rem,10vw,6.8rem);max-width:8ch}
  .coming-photos{min-height:540px;margin-top:.5rem}
  .review-box{grid-template-columns:1fr;gap:1.75rem}
  .review-stars{text-align:left}

  .event-hero{grid-template-columns:minmax(230px,.8fr) minmax(0,1fr);gap:2.25rem;padding:1.6rem}
  .event-poster{grid-row:span 2;height:500px}
  .event-day{align-self:start;justify-self:start}
  .event-info{grid-column:2;padding:0 0 .4rem}
  .event-info h3{font-size:clamp(3.2rem,7vw,5rem);max-width:9ch}
  .event-date-strip{margin-top:2.75rem}
  .ev-grid{grid-template-columns:1fr 1fr;gap:2.25rem 1.5rem}
  .ev-card{min-height:480px}
  .ev-card:nth-child(2){transform:translateY(8px) rotate(.7deg)}

  .prenota-c{grid-template-columns:1fr;row-gap:1.65rem}
  .prenota .eyebrow{grid-column:1}
  .prenota h2{font-size:clamp(5.2rem,14vw,9rem);max-width:7ch}
  .prenota p{max-width:42ch;margin-top:.5rem}
  .prenota-btns{margin-top:.35rem;max-width:760px}
  .prenota-note{margin-top:.25rem}

  .dove-grid{gap:3.5rem}
  .info-block{max-width:680px}
  .map{min-height:420px}
  .map iframe{min-height:420px}
}

/* mobile */
@media (max-width:680px){
  :root{--section:5.25rem}
  .section{padding-block:5.25rem}
  .strip{min-height:36px;padding-block:.58rem;line-height:1.15}
  .nav{min-height:68px}
  .nav-links.open{inset:68px 0 0 auto;height:calc(100vh - 68px);padding:2rem 1.5rem;gap:1.4rem}

  .hero-stage{padding-top:3.5rem;padding-bottom:2.75rem;gap:2.5rem}
  .hero-eyebrow{margin-bottom:1.5rem;max-width:28ch}
  .hero-pretitle{font-size:clamp(3.1rem,15vw,4.7rem);line-height:.88}
  .hero h1{font-size:clamp(5.5rem,24vw,8rem);line-height:.82;text-shadow:4px 5px 0 var(--red)}
  .hero-doodle-arrow{right:-1%;bottom:-16%;width:clamp(105px,32vw,145px);opacity:.76}
  .hero-line{margin-top:2.75rem;font-size:1rem;line-height:1.2;max-width:29ch}
  .hero-cta{margin-top:1.55rem;gap:.8rem}
  .hero-cta .btn{width:100%;max-width:330px}
  .hero-collage{min-height:410px;margin-top:.25rem}
  .hero-shot--one{width:54%;height:55%;left:2%;top:9%}
  .hero-shot--two{width:51%;height:47%;right:1%;bottom:9%}
  .hero-sticker--tonight{right:0;top:1%;font-size:clamp(1.75rem,9vw,2.55rem);padding:.8rem .85rem}
  .hero-sticker--dates{left:0;bottom:3%;font-size:clamp(1.25rem,6.2vw,1.8rem);padding:.7rem .75rem}
  .hero-doodle-loop{right:-2%;top:33%;width:57%;opacity:.84}
  .hero-doodle-sparks{left:0;top:57%;width:21%;opacity:.86}
  .hero-bottom{flex-direction:column;align-items:flex-start;margin-top:.5rem;gap:1.1rem}
  .hero-logo{width:145px}
  .hero-meta{max-width:100%;justify-content:flex-start;gap:.65rem 1rem;font-size:.73rem;line-height:1.22}

  .marquee{margin-left:-.3rem;margin-right:-.3rem}
  .sec-head{gap:1.4rem;margin-bottom:3.25rem}
  .sec-head h2{font-size:clamp(4rem,18vw,6.4rem);line-height:.86;max-width:9ch}
  .sec-head h2::after{bottom:-.28em;height:8px}
  .sec-num{font-size:.78rem;padding-bottom:0}

  .concept-collage{min-height:410px;margin:0 0 3.25rem}
  .concept-photo--a{width:75vw;height:270px;left:0;top:5px}
  .concept-photo--b{width:44vw;height:215px;right:0;top:145px}
  .concept-stamp{left:auto;right:4%;top:34%;font-size:clamp(1.9rem,9vw,2.5rem);padding:.7rem .85rem}
  .concept-arrow{width:125px;right:7%;bottom:4px;opacity:.8}
  .concept-grid{gap:2.6rem}
  .concept-lead{font-size:clamp(2rem,9.2vw,2.75rem);line-height:1.05;max-width:18ch}
  .name-note{margin-top:1.75rem;padding:1rem 1.05rem;line-height:1.55;max-width:100%}
  .concept-body p{font-size:1rem;line-height:1.65;margin-bottom:1.3rem}
  .pillars{margin-top:3.25rem;gap:1rem}
  .pillar{padding:1.45rem 1.4rem}
  .pillar:nth-child(1),.pillar:nth-child(2),.pillar:nth-child(3){transform:none}
  .pillar h3{font-size:2rem;margin-bottom:.75rem}
  .proof{grid-template-columns:1fr;gap:2rem;margin-top:3.5rem;padding-top:1.75rem}
  .proof b{line-height:.85}

  .coming-grid{gap:2.75rem}
  .coming-kicker{margin-bottom:1.15rem}
  .coming-copy h3{font-size:clamp(3.75rem,16vw,5.35rem);line-height:.88;max-width:8ch}
  .coming-copy p{margin-top:1.5rem;line-height:1.6}
  .coming-photos{min-height:440px;margin-top:0}
  .coming-photo--wide{width:76%;height:63%;right:1%}
  .coming-photo:not(.coming-photo--wide){width:57%;height:46%;left:1%;bottom:1%}

  #bar{padding-block:4.5rem!important}
  .review-box{gap:1.5rem;padding:2rem 1.55rem;border-radius:28px 14px 34px 18px}
  .review-box q{font-size:clamp(1.9rem,9vw,2.75rem);line-height:1.03;max-width:100%}
  .review-box p{line-height:1.6;margin-top:1.1rem}
  .chips{margin-top:1.25rem}

  .events-scribble{margin:0 0 2.35rem;font-size:clamp(1.25rem,6vw,1.75rem)}
  .event-hero{grid-template-columns:1fr;gap:1.75rem;padding:1rem;min-height:auto}
  .event-poster{height:min(128vw,500px);grid-row:auto;transform:rotate(-2deg)}
  .event-day{position:relative;top:auto;right:auto;z-index:4;justify-self:start;margin-top:-4.6rem;margin-left:.6rem;padding:1rem .85rem;transform:rotate(4deg)}
  .event-day .big{font-size:clamp(4.2rem,20vw,6.4rem)}
  .event-day .sm{font-size:.86rem;margin-top:.7rem}
  .event-info{grid-column:1;padding:.5rem .55rem .85rem}
  .event-info h3{font-size:clamp(3rem,14vw,4.35rem);line-height:.9;max-width:8.5ch}
  .event-info p{margin-top:1.15rem;line-height:1.58}
  .event-info .chips{margin-top:1.2rem}
  .event-date-strip{grid-template-columns:1fr 1fr;gap:.85rem;margin-top:2.4rem}
  .event-date-pill{min-height:64px;padding:.85rem .6rem}
  .ev-title{font-size:clamp(3.1rem,14vw,4.8rem);line-height:.9;margin:4.25rem 0 2rem}
  .ev-grid{grid-template-columns:1fr;gap:2.25rem}
  .ev-card{min-height:430px;padding:1.45rem 1.35rem 1.55rem}
  .ev-card:nth-child(1),.ev-card:nth-child(2),.ev-card:nth-child(3){transform:none}
  .ev-card h4{font-size:clamp(2.25rem,11vw,3.3rem);line-height:.92}
  .ev-card p{font-size:.92rem;line-height:1.52}

  .gal{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:.85rem;padding:.6rem .25rem 1rem;margin:-.6rem -.25rem -1rem}
  .tile.tall{grid-row:span 2}.tile.wide{grid-column:span 2}
  .tile:nth-child(2){transform:translateY(7px) rotate(1deg)}
  .tile:nth-child(4){transform:translateY(-5px) rotate(.8deg)}
  .tile:nth-child(7){transform:translateY(5px) rotate(1deg)}
  .tile-art{padding:1.15rem}.tile-art .big{font-size:clamp(2.2rem,11vw,3.5rem);line-height:.9}

  .prenota::before{top:8%;font-size:clamp(5rem,24vw,8rem);opacity:.25}
  .prenota::after{width:240px;height:150px;right:-55px;bottom:-35px;border-width:12px;opacity:.92}
  .prenota-c{row-gap:1.35rem}
  .prenota h2{font-size:clamp(4.6rem,20vw,6.9rem);line-height:.84;max-width:6.5ch}
  .prenota p{font-size:1rem;line-height:1.6;margin-top:.25rem;max-width:32ch}
  .prenota-btns{margin-top:.45rem;gap:.75rem}
  .prenota-btns .btn{width:100%;max-width:350px;justify-content:center}
  .prenota-note{margin-top:.35rem;max-width:32ch}

  .dove-grid{gap:3rem}
  .info-block{gap:1.5rem}
  .info-row{padding-bottom:1.25rem}
  .info-row .v{font-size:clamp(1.55rem,8vw,2.25rem);line-height:1.04}
  .map{min-height:350px;border-radius:30px;transform:none}
  .map iframe{min-height:350px}
  .foot{padding:3rem 0}
  .foot-top{gap:1.75rem}
  .foot-links{gap:.9rem 1.15rem}
  .foot-bottom{flex-direction:column;gap:.75rem;margin-top:1.75rem;padding-top:1.35rem}

  .modal-card{padding:1.5rem 1.2rem 1.4rem;transform:none}
  .modal-head{padding-right:2.5rem}
  .modal-head h3{font-size:clamp(2.2rem,11vw,3rem);line-height:.95;margin-top:.65rem}
  .form-row,.form-row.three{grid-template-columns:1fr;gap:.9rem}
  .field{gap:.45rem}
  .field input,.field textarea{padding:.8rem .85rem}
  .bsubmit{width:100%}

  .page-head{padding-block:4.5rem 5.5rem}
  .ev-hero{min-height:70vh}
  .ev-hero .inner{padding-top:4.5rem;padding-bottom:3.25rem}
  .ev-hero h1{font-size:clamp(4.25rem,19vw,6.75rem);line-height:.86;max-width:8.5ch;text-shadow:4px 5px 0 var(--red)}
  .ev-detail{font-size:clamp(1.9rem,9vw,3rem);line-height:1.04;max-width:18ch}
  .book-section .bform{padding:1.35rem 1.1rem}
}

@media (max-width:430px){
  .hero h1{font-size:clamp(5.25rem,23vw,6.7rem)}
  .hero-pretitle{font-size:clamp(2.9rem,14vw,4rem)}
  .hero-collage{min-height:385px}
  .hero-sticker--tonight{font-size:1.8rem}
  .concept-collage{min-height:385px}
  .concept-photo--a{height:250px}
  .concept-photo--b{height:195px;top:145px}
  .coming-photos{min-height:405px}
  .event-poster{height:460px}
  .gal{grid-auto-rows:165px}
}

/* final width balancing after viewport QA */
html{overflow-x:hidden}
@media (min-width:1181px){
  .hero-stage{grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:clamp(3rem,5vw,5.5rem)}
  .coming-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .prenota-c{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}
}
.prenota h2{max-width:100%}
.book-section .sec-head{display:grid;grid-template-columns:1fr;align-items:start;gap:.9rem;margin-bottom:2.5rem}
.book-section .sec-head h2{max-width:100%}
.book-section .sec-num{padding-bottom:0;max-width:42ch;line-height:1.25}
.sec-head h2,.event-info h3,.ev-card h4,.review-box q,.ev-hero h1{text-wrap:balance}

@media (max-width:680px){
  .sec-head h2{max-width:100%}
  .prenota h2{max-width:100%}
}
.book-section .sec-head h2{font-size:clamp(3.8rem,7vw,6.2rem);line-height:.86}
@media (max-width:680px){.prenota h2{font-size:clamp(4.4rem,18vw,6.4rem)}}

/* ==========================================================
   REFINEMENT V5 — SAME ART DIRECTION, BETTER RHYTHM + MAGENTA
   ========================================================== */

:root{
  --section:clamp(6rem,10vw,9.5rem);
}

/* global editorial rhythm */
body{line-height:1.62}
p{line-height:1.66}
.section{padding-block:var(--section)}
.wrap{width:100%}

h1,h2,h3,h4{
  letter-spacing:.01em;
  text-wrap:balance;
}

.sec-head{
  align-items:flex-end;
  gap:clamp(1.75rem,4vw,4rem);
  margin-bottom:clamp(4rem,7vw,6.5rem);
}
.sec-head h2{
  font-size:clamp(4rem,8.6vw,8rem);
  line-height:.9;
  max-width:11ch;
}
.sec-head h2::after{
  bottom:-.24em;
  height:9px;
}
.sec-num{
  max-width:30ch;
  line-height:1.25;
  padding-bottom:.35rem;
}

/* decorative objects never win over content */
.hero-doodle-arrow,.hero-doodle-loop,.hero-doodle-sparks,
.concept-arrow,.concept::before,#menu::after,.eventi::before,
.prenota::before,.prenota::after{
  pointer-events:none;
}

/* HERO — stronger magenta identity, calmer type spacing */
.hero{
  background:var(--magenta);
}
.hero-tint{
  background:
    linear-gradient(90deg, rgba(226,63,160,.78) 0%, rgba(226,63,160,.58) 28%, rgba(226,63,160,.12) 58%, rgba(11,11,10,.42) 100%),
    linear-gradient(180deg, rgba(11,11,10,.08), rgba(11,11,10,.38));
}
.hero-stage{
  row-gap:clamp(3.5rem,6vw,6rem);
  padding-top:clamp(4.5rem,8vh,7rem);
  padding-bottom:clamp(4.5rem,9vh,7rem);
}
.hero-copy{
  max-width:780px;
  padding-right:clamp(0rem,2vw,1.5rem);
}
.hero-eyebrow{
  margin-bottom:clamp(2rem,3vw,2.75rem);
  line-height:1.3;
}
.hero-title-lockup{
  max-width:740px;
}
.hero-pretitle{
  font-size:clamp(3.4rem,6.6vw,7rem);
  line-height:.92;
  margin-bottom:.1em;
}
.hero h1{
  font-size:clamp(6rem,12vw,11.5rem);
  line-height:.86;
  letter-spacing:.005em;
  text-shadow:7px 8px 0 var(--red);
}
.hero-line{
  margin-top:clamp(2.5rem,4.5vw,4rem);
  font-size:clamp(1rem,1.55vw,1.3rem);
  line-height:1.3;
  max-width:38ch;
}
.hero-cta{
  margin-top:clamp(1.8rem,3vw,2.4rem);
  gap:.9rem 1rem;
}
.hero-doodle-arrow{
  right:2%;
  bottom:-18%;
  width:clamp(120px,16vw,220px);
  opacity:.78;
}
.hero-collage{min-height:610px}
.hero-sticker--tonight{right:2%;top:5%}
.hero-sticker--dates{left:3%;bottom:5%}
.hero-doodle-loop{right:-2%;top:31%;width:50%;opacity:.82}
.hero-doodle-sparks{left:1%;top:56%;width:21%;opacity:.78}
.hero-bottom{
  margin-top:clamp(.5rem,2vw,1.5rem);
  gap:1.5rem 2.75rem;
}
.hero-meta{
  max-width:60%;
  row-gap:.8rem;
  line-height:1.3;
}

/* MARQUEE — separate visual beat */
.marquee{
  margin-top:-.2rem;
  padding-block:.85rem;
}
.marquee .row{line-height:1.08}

/* CONCEPT — red field, add breathing room around collage/text */
.concept::after{
  content:"";
  position:absolute;
  left:-8%;
  bottom:10%;
  width:28vw;
  height:28vw;
  max-width:420px;
  max-height:420px;
  background:var(--magenta);
  border-radius:48% 52% 58% 42% / 54% 42% 58% 46%;
  opacity:.16;
  transform:rotate(-12deg);
  pointer-events:none;
}
.concept-collage{
  min-height:430px;
  margin:0 0 clamp(4rem,6vw,5.5rem);
}
.concept-stamp{
  left:48%;
  top:30%;
  line-height:.94;
  padding:1rem 1.25rem;
}
.concept-arrow{
  right:28%;
  bottom:10px;
  width:165px;
  opacity:.76;
}
.concept-grid{
  gap:clamp(3.5rem,7vw,7rem);
}
.concept-lead{
  font-size:clamp(1.9rem,3.35vw,3.35rem);
  line-height:1.08;
  max-width:20ch;
}
.name-note{
  margin-top:2rem;
  padding:1.15rem 1.25rem;
  line-height:1.6;
  max-width:38ch;
}
.concept-body{
  padding-top:.5rem;
  max-width:520px;
}
.concept-body p{
  margin-bottom:1.6rem;
  line-height:1.72;
}
.pillars{
  margin-top:clamp(4rem,7vw,6rem);
  gap:1.25rem;
}
.pillar{
  min-height:210px;
  padding:1.8rem 1.7rem;
}
.pillar h3{
  font-size:clamp(2rem,3vw,2.6rem);
  line-height:1;
  margin-bottom:1rem;
}
.pillar p{line-height:1.58}
.proof{
  margin-top:clamp(4.5rem,7vw,6.5rem);
  padding-top:2rem;
  gap:1.5rem;
}
.proof b{line-height:.88}
.proof span{line-height:1.35}

/* MENU / COMING SOON — magenta becomes a real background */
#menu{
  background:var(--magenta);
  color:var(--ink);
}
#menu::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 75% 12%, rgba(243,236,221,.23) 0 1px, transparent 1.5px),
    radial-gradient(circle at 18% 72%, rgba(11,11,10,.12) 0 1px, transparent 1.5px);
  background-size:30px 30px,36px 36px;
  opacity:.55;
  pointer-events:none;
}
#menu::after{
  color:var(--yellow);
  opacity:.34;
  bottom:-.05em;
}
#menu .sec-num{opacity:.78}
#menu .sec-head h2::after{background:var(--yellow)}
.coming-grid{
  grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr);
  gap:clamp(4.5rem,8vw,8rem);
  align-items:center;
}
.coming-copy{
  padding-block:1.5rem;
  max-width:560px;
}
.coming-kicker{
  color:var(--cream);
  margin-bottom:1.6rem;
  line-height:1.3;
  max-width:32ch;
}
.coming-copy h3{
  font-size:clamp(3.8rem,6.8vw,6.6rem);
  line-height:.94;
  letter-spacing:.008em;
  max-width:8.5ch;
}
.coming-copy h3 span{
  color:var(--cream);
  display:inline-block;
  margin-top:.08em;
}
.coming-copy p{
  margin-top:2rem;
  max-width:36ch;
  line-height:1.7;
  font-size:1.05rem;
}
.coming-photos{
  min-height:640px;
}
.coming-photo--wide{
  width:70%;
  height:70%;
  right:2%;
  top:2%;
}
.coming-photo:not(.coming-photo--wide){
  width:50%;
  height:48%;
  left:2%;
  bottom:2%;
}

/* REVIEW — preserve yellow break, reduce visual squeeze */
#bar{
  padding-block:clamp(5rem,8vw,7rem)!important;
}
.review-box{
  grid-template-columns:minmax(170px,220px) minmax(0,1fr);
  gap:clamp(2.75rem,5vw,5rem);
  padding:clamp(2.75rem,5vw,4.5rem);
}
.review-box q{
  font-size:clamp(2rem,3.3vw,3.5rem);
  line-height:1.08;
  max-width:21ch;
}
.review-box p{
  margin-top:1.4rem;
  line-height:1.68;
}
.chips{margin-top:1.5rem;gap:.65rem}

/* EVENTS — fuchsia field, red/photographic flyers sit on top */
.eventi{
  background:var(--magenta);
  color:var(--cream);
}
.eventi::before{
  border-color:var(--yellow);
  opacity:.36;
}
.eventi .sec-head h2{color:var(--cream)}
.eventi .sec-head h2::after{background:var(--red)}
.eventi .sec-num{opacity:.85}
.events-scribble{
  color:var(--yellow);
  margin:0 0 clamp(3rem,5vw,4.5rem);
  line-height:1.2;
}
.event-hero{
  grid-template-columns:minmax(235px,.72fr) minmax(135px,.32fr) minmax(0,1fr);
  gap:clamp(1.75rem,4vw,3.75rem);
  min-height:560px;
  padding:clamp(1.8rem,3vw,2.6rem);
  box-shadow:12px 14px 0 var(--ink);
}
.event-poster{height:470px}
.event-day{
  padding:1.45rem 1rem;
}
.event-day .big{
  font-size:clamp(4.6rem,7vw,7.6rem);
  line-height:.84;
}
.event-day .sm{
  margin-top:.9rem;
  line-height:1.2;
}
.event-info{
  min-width:0;
  padding:.35rem 0;
}
.event-info h3{
  font-size:clamp(2.8rem,4.7vw,5.2rem);
  line-height:.92;
  max-width:10ch;
  overflow-wrap:normal;
  word-break:normal;
}
.event-info p{
  margin-top:1.4rem;
  max-width:40ch;
  line-height:1.66;
}
.event-info .chips{margin-top:1.5rem}
.event-date-strip{
  margin-top:clamp(2.75rem,4vw,3.5rem);
  gap:1rem;
}
.event-date-pill{
  min-height:78px;
  padding:1rem .8rem;
  line-height:1.05;
}
.ev-title{
  margin:clamp(5rem,8vw,7rem) 0 clamp(2.5rem,4vw,3.5rem);
  color:var(--cream);
  font-size:clamp(3.5rem,6.5vw,6rem);
  line-height:.92;
}
.ev-grid{
  gap:clamp(1.6rem,3vw,2.4rem);
}
.ev-card{
  min-height:520px;
  gap:1rem;
  padding:1.75rem 1.6rem 1.8rem;
  box-shadow:8px 10px 0 var(--ink);
}
.ev-card:hover{box-shadow:13px 16px 0 var(--yellow)}
.ev-card h4{
  font-size:clamp(2.1rem,3.2vw,3rem);
  line-height:1;
  max-width:11ch;
}
.ev-card p{line-height:1.58}
.ev-card .ev-tags{margin-top:.25rem}
.ev-more{margin-top:.25rem;line-height:1.2}

/* GALLERY — lighter rhythm after saturated event section */
#galleria{
  background:var(--cream);
  color:var(--ink);
}
#galleria .sec-head h2::after{background:var(--magenta)}
.gal{
  gap:clamp(.9rem,1.5vw,1.25rem);
  padding-block:1rem;
}
.tile{isolation:isolate}
.tile-art{padding:1.5rem}
.tile-art .big{line-height:.98}

/* BOOKING — keep magenta, but make copy/CTA breathe */
.prenota{
  background:var(--magenta);
}
.prenota-c{
  grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);
  column-gap:clamp(3rem,7vw,7rem);
  row-gap:2rem;
  align-items:center;
}
.prenota .eyebrow{margin-bottom:.25rem}
.prenota h2{
  font-size:clamp(4.8rem,8.6vw,8.8rem);
  line-height:.88;
  max-width:7.5ch;
}
.prenota p{
  max-width:38ch;
  line-height:1.7;
  font-size:1.05rem;
}
.prenota-btns{
  margin-top:1.35rem;
  gap:.9rem;
}
.prenota-note{
  margin-top:.9rem;
  line-height:1.35;
}
.prenota::before{opacity:.23}
.prenota::after{opacity:.82}

/* LOCATION / FOOTER */
.dove-grid{
  gap:clamp(3.5rem,6vw,6rem);
}
.info-block{gap:1.8rem}
.info-row{padding-bottom:1.45rem}
.info-row .v{
  line-height:1.02;
}
.map{min-height:470px}
.map iframe{min-height:470px}
.foot{padding-block:3.5rem}
.foot-top{gap:2.5rem}
.foot-bottom{line-height:1.4}

/* MODAL / FORMS */
.modal-card{
  padding:clamp(2rem,4vw,2.75rem);
}
.modal-head{margin-bottom:1.75rem}
.modal-head h3{
  font-size:clamp(2.5rem,5vw,3.5rem);
  line-height:.98;
  margin-top:.7rem;
}
.bform{gap:1.15rem}
.field{gap:.45rem}
.field input,.field textarea{padding:.85rem .9rem}

/* EVENT DETAIL PAGES */
.page-head{padding-block:clamp(5.5rem,9vw,8rem)}
.page-head .sec-head{margin-bottom:clamp(3rem,5vw,4.5rem)}
.ev-hero h1{
  font-size:clamp(4.7rem,10vw,9.5rem);
  line-height:.88;
  max-width:9ch;
  margin-top:1.5rem;
}
.ev-hero .meta{margin-top:1.4rem}
.ev-hero .cta{margin-top:1.6rem}
.ev-detail{
  font-size:clamp(1.9rem,4.4vw,4rem);
  line-height:1.06;
}
.book-section .sec-head{margin-bottom:3rem}
.book-section .sec-head h2{
  line-height:.92;
}
.book-section .bform{padding:clamp(1.75rem,4vw,2.4rem)}

/* small laptops */
@media (max-width:1180px){
  .hero-stage{row-gap:3.5rem}
  .hero-pretitle{font-size:clamp(3.2rem,7vw,6.2rem)}
  .hero h1{font-size:clamp(6rem,13vw,10.5rem)}
  .hero-collage{min-height:520px}
  .hero-meta{max-width:72%}

  .coming-grid{grid-template-columns:1fr;gap:3.75rem}
  .coming-copy{max-width:700px}
  .coming-copy h3{font-size:clamp(4rem,8vw,6.4rem);max-width:9ch}
  .coming-photos{min-height:570px}

  .event-hero{
    grid-template-columns:minmax(230px,.78fr) minmax(0,1fr);
    gap:2.5rem;
  }
  .event-poster{grid-row:span 2;height:500px}
  .event-day{justify-self:start;align-self:start}
  .event-info{grid-column:2}
  .event-info h3{font-size:clamp(3rem,6vw,4.8rem);max-width:10ch}

  .prenota-c{grid-template-columns:1fr;gap:1.75rem}
  .prenota h2{max-width:8ch}
  .prenota p{max-width:44ch}
}

/* tablet */
@media (max-width:900px){
  :root{--section:clamp(5.5rem,11vw,7.5rem)}
  .sec-head{margin-bottom:4rem}
  .sec-head h2{font-size:clamp(4rem,11vw,6.7rem);line-height:.92}

  .hero-stage{padding-top:4.5rem;padding-bottom:4rem}
  .hero-copy{padding-right:0}
  .hero-pretitle{line-height:.94}
  .hero h1{line-height:.88}
  .hero-line{margin-top:2.75rem}
  .hero-collage{min-height:470px}
  .hero-bottom{gap:1.3rem 2rem}
  .hero-meta{max-width:100%;justify-content:flex-start}

  .concept-collage{margin-bottom:4rem}
  .concept-grid{grid-template-columns:1fr;gap:3rem}
  .concept-lead{max-width:22ch}
  .concept-body{max-width:620px}

  .coming-grid{gap:3rem}
  .coming-copy h3{line-height:.96}
  .coming-photos{min-height:520px}

  .review-box{grid-template-columns:1fr;gap:2rem}
  .review-stars{text-align:left}

  .event-hero{gap:2rem;padding:1.4rem}
  .event-poster{height:470px}
  .event-info h3{line-height:.94}
  .ev-grid{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}
  .ev-card{min-height:500px}

  .prenota h2{line-height:.9}
  .dove-grid{grid-template-columns:1fr;gap:3.5rem}
}

/* mobile */
@media (max-width:680px){
  :root{--section:5.5rem}
  .section{padding-block:5.5rem}

  .sec-head{
    gap:1.5rem;
    margin-bottom:3.5rem;
  }
  .sec-head h2{
    font-size:clamp(3.8rem,16vw,5.8rem);
    line-height:.94;
    max-width:100%;
  }

  .hero-stage{
    padding-top:3.75rem;
    padding-bottom:3.25rem;
    gap:2.75rem;
  }
  .hero-eyebrow{margin-bottom:1.75rem}
  .hero-pretitle{
    font-size:clamp(3rem,13vw,4.2rem);
    line-height:.96;
    margin-bottom:.12em;
  }
  .hero h1{
    font-size:clamp(5rem,20vw,6.8rem);
    line-height:.9;
    text-shadow:4px 5px 0 var(--red);
  }
  .hero-doodle-arrow{
    right:1%;
    bottom:-13%;
    width:105px;
    opacity:.62;
  }
  .hero-line{
    margin-top:2.4rem;
    line-height:1.35;
    max-width:30ch;
  }
  .hero-cta{margin-top:1.55rem}
  .hero-collage{min-height:400px}
  .hero-sticker--tonight{right:1%;top:1%}
  .hero-sticker--dates{left:1%;bottom:2%}
  .hero-doodle-loop{opacity:.65}
  .hero-doodle-sparks{opacity:.66}
  .hero-bottom{margin-top:.75rem;gap:1.2rem}
  .hero-meta{font-size:.72rem;line-height:1.3}

  .concept-collage{min-height:400px;margin-bottom:3.5rem}
  .concept-stamp{right:3%;left:auto;top:35%;line-height:.98}
  .concept-arrow{right:5%;width:115px;opacity:.65}
  .concept-grid{gap:2.75rem}
  .concept-lead{
    font-size:clamp(1.95rem,8.2vw,2.55rem);
    line-height:1.1;
    max-width:20ch;
  }
  .name-note{margin-top:1.75rem;line-height:1.62}
  .concept-body p{line-height:1.7;margin-bottom:1.4rem}
  .pillars{margin-top:3.5rem}
  .pillar{padding:1.55rem 1.45rem}
  .proof{margin-top:4rem}

  #menu .sec-head{margin-bottom:3.25rem}
  .coming-grid{gap:3rem}
  .coming-copy{padding-block:0;max-width:100%}
  .coming-kicker{margin-bottom:1.35rem}
  .coming-copy h3{
    font-size:clamp(3.25rem,13.5vw,4.75rem);
    line-height:.98;
    max-width:9ch;
  }
  .coming-copy p{
    margin-top:1.75rem;
    line-height:1.68;
    max-width:31ch;
  }
  .coming-photos{min-height:420px}
  .coming-photo--wide{width:75%;height:62%;right:1%}
  .coming-photo:not(.coming-photo--wide){width:56%;height:45%;left:1%}

  #bar{padding-block:4.75rem!important}
  .review-box{padding:2rem 1.55rem;gap:1.6rem}
  .review-box q{
    font-size:clamp(1.85rem,8.5vw,2.6rem);
    line-height:1.1;
  }
  .review-box p{line-height:1.66}

  .events-scribble{margin-bottom:2.5rem}
  .event-hero{
    grid-template-columns:1fr;
    gap:1.75rem;
    padding:1rem;
  }
  .event-poster{height:min(120vw,480px);grid-row:auto}
  .event-day{
    position:relative;
    top:auto;
    right:auto;
    margin:-4.2rem 0 0 .65rem;
    justify-self:start;
    z-index:4;
    padding:1rem .85rem;
  }
  .event-day .big{
    font-size:clamp(4rem,18vw,5.8rem);
    line-height:.88;
  }
  .event-info{
    grid-column:1;
    padding:.5rem .55rem .9rem;
  }
  .event-info h3{
    font-size:clamp(2.75rem,12vw,4rem);
    line-height:.98;
    max-width:9.5ch;
  }
  .event-info p{margin-top:1.3rem;line-height:1.65}
  .event-date-strip{grid-template-columns:1fr 1fr;gap:.85rem;margin-top:2.5rem}
  .event-date-pill{min-height:66px;padding:.85rem .6rem}
  .ev-title{
    font-size:clamp(3rem,12.5vw,4.4rem);
    line-height:.96;
    margin:4.5rem 0 2.25rem;
  }
  .ev-grid{grid-template-columns:1fr;gap:2.25rem}
  .ev-card{min-height:440px;padding:1.5rem 1.35rem 1.6rem}
  .ev-card h4{
    font-size:clamp(2.15rem,9.5vw,3rem);
    line-height:1.02;
    max-width:12ch;
  }

  .gal{gap:.85rem}
  .tile-art{padding:1.2rem}

  .prenota-c{row-gap:1.5rem}
  .prenota h2{
    font-size:clamp(4rem,16vw,5.8rem);
    line-height:.94;
    max-width:8ch;
  }
  .prenota p{line-height:1.68;max-width:31ch}
  .prenota-btns{margin-top:.65rem;gap:.8rem}
  .prenota-note{margin-top:.5rem}

  .dove-grid{gap:3rem}
  .info-block{gap:1.55rem}
  .info-row .v{line-height:1.08}
  .map,.map iframe{min-height:360px}

  .modal-card{padding:1.5rem 1.2rem}
  .modal-head{padding-right:2.5rem;margin-bottom:1.5rem}
  .modal-head h3{line-height:1.02}
  .form-row,.form-row.three{grid-template-columns:1fr}

  .page-head{padding-block:4.5rem 5.5rem}
  .ev-hero .inner{padding-top:4.5rem;padding-bottom:3.5rem}
  .ev-hero h1{
    font-size:clamp(4rem,16vw,6rem);
    line-height:.94;
    max-width:9ch;
    text-shadow:4px 5px 0 var(--red);
  }
  .ev-detail{
    font-size:clamp(1.8rem,8vw,2.75rem);
    line-height:1.08;
  }
}

@media (max-width:430px){
  .hero-pretitle{font-size:clamp(2.8rem,12.5vw,3.7rem)}
  .hero h1{font-size:clamp(4.7rem,19vw,6rem)}
  .hero-collage{min-height:380px}
  .coming-copy h3{font-size:clamp(3.15rem,13vw,4.3rem)}
  .coming-photos{min-height:400px}
  .event-poster{height:440px}
  .event-info h3{font-size:clamp(2.6rem,11.5vw,3.65rem)}
  .prenota h2{font-size:clamp(3.8rem,15.5vw,5.2rem)}
}

/* final QA fix: booking headline box must contain its longest word */
.prenota h2{max-width:9ch}
@media (max-width:680px){.prenota h2{max-width:10ch}}

/* ======================================================================
   COLOR REFINEMENT — controlled palette, one strong color per section
   Core: ink + cream + magenta. Red as accent. Blue isolated. Gold = crown.
   ====================================================================== */

/* global: stop rainbow-style pairings */
.btn{
  --bg:var(--cream);
  --fg:var(--ink);
  border-color:var(--ink);
  box-shadow:4px 5px 0 var(--ink);
}
.btn--pop{--bg:var(--magenta);--fg:var(--cream)}
.btn--cream{--bg:var(--cream);--fg:var(--ink)}
.btn--wa{--bg:var(--red);--fg:var(--cream)}
.btn--fork{--bg:var(--cream);--fg:var(--ink)}
.btn--ghost{--bg:transparent;--fg:var(--cream);border-color:var(--cream);box-shadow:none}
.btn--ghost:hover{background:var(--cream);color:var(--ink);box-shadow:none}

.nav-cta{background:var(--cream);color:var(--ink)!important}
.burger{background:var(--cream)}

/* HERO: magenta + cream + red. Blue only on the date sticker. */
.hero{background:var(--magenta)}
.hero-tint{
  background:
    linear-gradient(90deg,rgba(226,63,160,.78) 0%,rgba(226,63,160,.58) 30%,rgba(226,63,160,.10) 62%,rgba(11,11,10,.48) 100%),
    linear-gradient(180deg,rgba(11,11,10,.06),rgba(11,11,10,.36));
}
.hero-eyebrow{color:var(--cream)}
.hero h1{color:var(--cream);text-shadow:7px 8px 0 var(--red)}
.hero-sticker--tonight{background:var(--red);color:var(--cream)}
.hero-sticker--dates{background:var(--blue);color:var(--cream)}
.hero-meta .dot{background:var(--red)}
.hero-shot--two{border-color:var(--cream)}

/* marquee: neutral visual pause, not another rainbow strip */
.marquee{background:var(--cream);color:var(--ink);border-color:var(--ink)}
.marquee .m-y,.marquee .m-m,.marquee .m-c,.marquee .m-l,.marquee .m-o,.marquee .m-b{color:var(--ink)}
.marquee .row:nth-child(odd) .m-m,
.marquee .row:nth-child(odd) .m-l{color:var(--magenta)}
.marquee .crown-i{color:var(--gold)}

/* CONCEPT: cream / ink with one magenta graphic accent */
.concept{background:var(--cream);color:var(--ink)}
.concept::before{color:var(--ink);opacity:.045}
.concept::after{background:var(--magenta);opacity:.09}
.concept-photo--b{border-color:var(--ink)}
.concept-stamp{background:var(--magenta);color:var(--cream);box-shadow:6px 7px 0 var(--ink)}
.concept-lead b{color:var(--magenta)}
.name-note{background:var(--cream);color:var(--ink);box-shadow:5px 6px 0 var(--ink)}
.pillars{gap:1.25rem}
.pillar,
.pillar:nth-child(1),
.pillar:nth-child(2),
.pillar:nth-child(3){
  background:var(--cream);
  color:var(--ink);
  border:2px solid var(--ink);
  box-shadow:6px 7px 0 var(--ink);
}
.pillar:nth-child(2){transform:translateY(14px) rotate(.8deg)}
.pillar .crown-i{color:var(--gold)}
.proof b{color:var(--magenta)}

/* MENU: one solid fuchsia world; cream type + black structure */
#menu{background:var(--magenta);color:var(--ink)}
#menu::after{color:var(--cream);opacity:.13}
#menu .sec-head h2::after{background:var(--ink)}
.coming-kicker{color:var(--cream)}
.coming-copy h3 span{color:var(--cream)}
.coming-photo,
.coming-photo:not(.coming-photo--wide){border-color:var(--ink);box-shadow:8px 10px 0 var(--ink)}

/* REVIEW: cream + ink, with a single red accent */
#bar{background:var(--cream)}
.review-box{background:var(--cream);box-shadow:10px 12px 0 var(--red)}
.review-stars{color:var(--red)}
.chip.on,.chips .on{background:var(--red);color:var(--cream)}

/* EVENTS: black + cream + red only. No multi-colour date row/cards. */
.eventi{background:var(--ink);color:var(--cream)}
.eventi::before{border-color:var(--red);opacity:.28}
.eventi .sec-head h2::after{background:var(--red)}
.events-scribble{color:var(--red)}
.event-hero{background:var(--ink);border-color:var(--cream);box-shadow:12px 14px 0 var(--red)}
.event-poster{box-shadow:8px 9px 0 var(--cream)}
.event-day{background:var(--red);color:var(--cream);border-color:var(--cream);box-shadow:6px 7px 0 var(--cream)}
.event-date-pill,
.event-date-pill:nth-child(1),
.event-date-pill:nth-child(2),
.event-date-pill:nth-child(3),
.event-date-pill:nth-child(4){
  background:var(--cream);
  color:var(--ink);
  border-color:var(--cream);
}
.event-date-pill:nth-child(1){background:var(--red);color:var(--cream)}
.ev-title{color:var(--cream)}
.ev-card{border-color:rgba(243,236,221,.72);box-shadow:8px 10px 0 rgba(243,236,221,.16)}
.ev-card:hover{box-shadow:10px 12px 0 var(--red);border-color:var(--red)}
.ev-card--fixed::before{background:linear-gradient(135deg,var(--ink) 0 58%,var(--red) 58% 72%,var(--ink) 72%)}
.ev-date{color:var(--cream)}
.ev-more{color:var(--red)}

/* GALLERY: neutral so photography carries the colour */
#galleria{background:var(--cream);color:var(--ink)}
#galleria .sec-head h2::after{background:var(--magenta)}
.t-ink{background:var(--ink);color:var(--cream)}
.tile.wide.t-ink{background:var(--ink)}

/* BOOKING: magenta + cream/ink only */
.prenota{background:var(--magenta);color:var(--cream)}
.prenota::before{color:var(--cream);opacity:.12}
.prenota::after{border-color:var(--cream);opacity:.7}
.prenota .eyebrow{color:var(--cream)}
.prenota-note b{color:var(--cream)}
.prenota .btn{--bg:var(--cream);--fg:var(--ink);border-color:var(--ink);box-shadow:4px 5px 0 var(--ink)}
.prenota .btn--wa{--bg:var(--red);--fg:var(--cream)}
.prenota .btn--ghost{--bg:transparent;--fg:var(--cream);border-color:var(--cream);box-shadow:none}

/* CONTACT: blue gets its own clean section, no yellow/red mixing */
#dove{background:var(--blue);color:var(--cream)}
#dove .sec-head h2::after{background:var(--cream)}
.info-row .k{color:var(--cream)}
.socials a{background:var(--cream);color:var(--blue);border-color:var(--cream)}
.socials a:hover{background:var(--cream);color:var(--blue);transform:translateY(-4px)}
.map{border-color:var(--cream);box-shadow:10px 12px 0 var(--ink)}

/* FOOTER / MODAL / EVENT DETAIL: neutral + red accents */
.foot{border-top-color:var(--cream)}
.foot-links a:hover{color:var(--red)}
.modal-card{box-shadow:12px 14px 0 var(--red)}
.modal-x{background:var(--cream)}
.modal-ev{color:var(--red)}
.field input:focus,.field textarea:focus{outline-color:var(--magenta)}

.ev-hero .back-link{color:var(--red)}
.ev-hero .badge{background:var(--cream);color:var(--ink);box-shadow:4px 5px 0 var(--red)}
.book-section .bform{background:var(--cream);box-shadow:10px 12px 0 var(--red)}

/* accessibility uses one coherent focus colour */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:var(--magenta)}
\n\n/* ======================================================================\n   SAN GIULIANO 29–31 — editorial hierarchy + event posters kept clean\n   ====================================================================== */\n.hero-pretitle{max-width:12ch}\n.hero-sticker--tonight span{display:block;margin-top:.18rem;font-size:.36em;letter-spacing:.08em}\n.hero-sticker--dates span{font-size:.42em;letter-spacing:.05em}\n\n/* Food and cocktail are both explicitly coming soon */\n.menu-status-grid{display:grid;gap:clamp(2.25rem,4vw,3.75rem)}\n.menu-status{position:relative;padding-top:1.25rem;border-top:3px solid var(--ink)}\n.menu-status-no{display:inline-block;font-family:var(--f-display);font-size:.78rem;letter-spacing:.08em;margin-bottom:1rem}\n.menu-status h3{font-size:clamp(3.2rem,5.5vw,5.4rem);line-height:.92;max-width:9ch}\n.menu-status p{margin-top:1.15rem!important;max-width:34ch}\n.san-special{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(190px,.4fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:clamp(4.5rem,8vw,7rem);padding:clamp(1.6rem,4vw,3rem);background:var(--ink);color:var(--cream);border:3px solid var(--ink);box-shadow:12px 14px 0 var(--cream);overflow:hidden}\n.san-special::after{content:"PAPERA";position:absolute;right:-.03em;bottom:-.24em;z-index:-1;font-family:var(--f-display);font-size:clamp(7rem,18vw,16rem);line-height:1;color:var(--red);opacity:.2;transform:rotate(-5deg)}\n.san-special-date{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:.25rem;color:var(--red)}\n.san-special-date span{font-family:var(--f-display);font-size:clamp(4rem,7vw,7rem);line-height:.78;text-align:center}\n.san-special-date small{grid-column:1/-1;font-family:var(--f-display);font-size:1rem;letter-spacing:.14em;text-align:center;color:var(--cream);margin-top:.7rem}\n.san-special-copy .eyebrow{color:var(--red)}\n.san-special-copy h3{font-size:clamp(3.2rem,6vw,6rem);line-height:.9;margin:.8rem 0 1.4rem;max-width:10ch}\n.san-special-copy h3 strong{color:var(--red);font-weight:inherit}\n.san-special-copy p{max-width:52ch;margin-bottom:1.6rem}\n\n/* Three event dates only: reopening starts on Saturday 29 */\n.event-date-strip--three{grid-template-columns:repeat(3,1fr);max-width:920px}\n.event-date-strip--three .event-date-pill:nth-child(1){background:var(--red);color:var(--cream)}\n.event-date-strip--three .event-date-pill:nth-child(2),\n.event-date-strip--three .event-date-pill:nth-child(3){background:var(--cream);color:var(--ink)}\n\n/* Event cards: poster above, all written content below — never over the artwork */\n.ev-grid{align-items:start}\n.ev-card{display:flex;flex-direction:column;justify-content:flex-start;gap:0;min-height:0;padding:0;background:var(--cream);color:var(--ink);border:3px solid var(--cream);box-shadow:8px 10px 0 rgba(243,236,221,.18);overflow:hidden;isolation:auto}\n.ev-card::before,.ev-card::after{display:none!important}\n.ev-card:hover{transform:translateY(-8px) rotate(-.5deg);box-shadow:11px 13px 0 var(--red);border-color:var(--cream)}\n.ev-card:nth-child(1),.ev-card:nth-child(2),.ev-card:nth-child(3){transform:none}\n.ev-card:nth-child(2){margin-top:18px}\n.ev-card:nth-child(3){margin-top:7px}\n.ev-card-media{width:100%;aspect-ratio:4/5;margin:0;overflow:hidden;background:var(--ink);border-bottom:3px solid var(--ink)}\n.ev-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}\n.ev-card-copy{display:flex;flex:1;flex-direction:column;gap:.85rem;padding:1.45rem 1.4rem 1.55rem}\n.ev-card .ev-date{color:var(--red)}\n.ev-card h4{color:var(--ink);font-size:clamp(2.15rem,3.1vw,3.1rem);line-height:.96;max-width:12ch}\n.ev-card p{color:var(--ink);max-width:38ch;line-height:1.58}\n.ev-card .ev-tags span{border-color:rgba(11,11,10,.42);color:var(--ink)}\n.ev-card .ev-more{color:var(--red);margin-top:auto;padding-top:.45rem}\n.ev-card--fixed{background:var(--cream)}\n.ev-card-media--graphic{position:relative;background:var(--red)}\n.ev-card-media--graphic::before{content:"♛";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(8rem,18vw,15rem);line-height:1;color:var(--cream);transform:rotate(-12deg)}\n.ev-card-media--graphic::after{content:"GIOVEDÌ";position:absolute;left:.08em;bottom:-.08em;font-family:var(--f-display);font-size:clamp(3.6rem,7vw,6.8rem);line-height:.8;color:var(--ink);transform:rotate(-5deg)}\n\n/* Event detail pages: artwork first, text physically underneath */\n.event-detail-page{background:var(--ink);color:var(--cream)}\n.event-detail-header{padding:clamp(4rem,8vw,7rem) 0 clamp(5rem,9vw,8rem)}\n.event-detail-header .back-link{margin-bottom:2rem}\n.event-detail-poster{width:min(760px,100%);margin:0 auto;border:3px solid var(--cream);box-shadow:12px 14px 0 var(--red);background:var(--ink)}\n.event-detail-poster img{display:block;width:100%;height:auto}\n.event-detail-copy{width:min(980px,100%);margin:clamp(3rem,6vw,5rem) auto 0}\n.event-detail-copy .badge{margin-bottom:1.6rem}\n.event-detail-copy h1{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(4.2rem,9vw,8.6rem);line-height:.88;max-width:10ch;text-shadow:6px 7px 0 var(--red)}\n.event-detail-copy .meta{margin-top:1.5rem}\n.event-detail-copy p{margin-top:2rem;max-width:56ch;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.7}\n.event-detail-copy .cta{margin-top:2rem}\n.event-detail-page + .foot{border-top-color:var(--red)}\n.event-detail-page .book-section .sec-head h2{color:var(--ink)}\n\n@media (max-width:900px){\n  .san-special{grid-template-columns:1fr;gap:2.5rem}\n  .san-special-date{max-width:520px}\n  .ev-card:nth-child(2),.ev-card:nth-child(3){margin-top:0}\n}\n@media (max-width:680px){\n  .hero-pretitle{max-width:10ch}\n  .menu-status-grid{gap:2.5rem}\n  .menu-status h3{font-size:clamp(3rem,13vw,4.3rem)}\n  .san-special{margin-top:4rem;padding:1.4rem 1.2rem;box-shadow:8px 9px 0 var(--cream)}\n  .san-special-date span{font-size:clamp(3.7rem,17vw,5.4rem)}\n  .san-special-copy h3{font-size:clamp(3rem,13vw,4.5rem)}\n  .event-date-strip--three{grid-template-columns:1fr 1fr 1fr;gap:.6rem}\n  .event-date-strip--three .event-date-pill{font-size:clamp(1rem,5.3vw,1.45rem);min-height:58px}\n  .ev-card{min-height:0;padding:0}\n  .ev-card-media{aspect-ratio:4/5}\n  .ev-card-copy{padding:1.3rem 1.2rem 1.4rem}\n  .ev-card h4{font-size:clamp(2.2rem,10vw,3.1rem);line-height:.98}\n  .event-detail-header{padding-top:3.5rem}\n  .event-detail-poster{box-shadow:8px 9px 0 var(--red)}\n  .event-detail-copy{margin-top:3rem}\n  .event-detail-copy h1{font-size:clamp(3.8rem,16vw,5.8rem);line-height:.92;text-shadow:4px 5px 0 var(--red)}\n}\n
/* event detail booking keeps readable contrast on the dark event page */
.event-detail-page .book-section .sec-head h2,
.event-detail-page .book-section .sec-num{color:var(--cream)}
.event-detail-page .book-section .bform{color:var(--ink)}
.event-detail-page .book-section .bform-done,
.event-detail-page .book-section .bform-fallback{color:var(--cream)}


/* ======================================================================
   COMPACT BOOKING FLOW — event -> modal, less repetition / less scrolling
   ====================================================================== */
:root{--section:clamp(4rem,7.2vw,6.3rem)}
.events-intro{max-width:44ch;margin:-1.2rem 0 clamp(2rem,4vw,3rem);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.6;color:rgba(243,236,221,.8)}
.eventi--compact .sec-head{margin-bottom:2rem}
.ev-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin-inline:auto;gap:clamp(1.5rem,3vw,2.5rem)}
.ev-grid--compact .ev-card{margin-top:0!important;transform:none!important}
.ev-grid--compact .ev-card-media{aspect-ratio:4/5}
.ev-grid--compact .ev-card-copy{padding:1.25rem 1.25rem 1.35rem;gap:.7rem}
.ev-grid--compact .ev-card h4{max-width:none;font-size:clamp(2rem,3.1vw,3rem)}
.ev-grid--compact .ev-card p{max-width:44ch;line-height:1.45}
.btn--event{align-self:flex-start;margin-top:.35rem;--bg:var(--red);--fg:var(--cream);border-color:var(--ink)}
.bform-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}
.bform-actions .bsubmit{align-self:auto}
.bform-actions .btn--wa{--fg:var(--cream)}
.gal--compact{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(210px,30vw,360px);max-width:1000px;margin-inline:auto}
.gal--compact .tile,.gal--compact .tile:nth-child(n){grid-row:auto;grid-column:auto;transform:none}
.gal--compact .tile:nth-child(2),.gal--compact .tile:nth-child(4){transform:translateY(14px) rotate(1deg)}
#concept .concept-grid{margin-top:clamp(2rem,4vw,3rem)}
#menu .san-special{margin-top:clamp(3rem,6vw,5rem)}
.modal-card{max-height:94vh}
@media (max-width:680px){
  :root{--section:4rem}
  .ev-grid--compact{grid-template-columns:1fr}
  .events-intro{margin-top:-.5rem}
  .gal--compact{grid-template-columns:1fr;grid-auto-rows:260px}
  .gal--compact .tile:nth-child(n){transform:none}
  .bform-actions{align-items:stretch}
  .bform-actions .btn{width:100%}
}

/* ======================================================================
   FIX ROUND — cleaner hero / cleaner menu / no instructional event copy
   ====================================================================== */

/* HERO: remove overlapping logo and tighten footer info */
.hero-logo{display:none!important}
.hero-bottom{justify-content:flex-start;left:var(--pad);right:var(--pad)}
.hero-meta{max-width:min(760px,100%);justify-content:flex-start;font-size:.82rem;gap:.75rem 1.35rem}
.hero-meta span{padding:.5rem .8rem;background:rgba(11,11,10,.48);border:1px solid rgba(243,236,221,.18);border-radius:999px}
@media (max-width:680px){
  .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;padding-top:.4rem}
  .hero-meta{font-size:.72rem;gap:.55rem .7rem}
  .hero-meta span{padding:.42rem .62rem}
}

/* MENU: much cleaner, more editorial and less chaotic */
#menu{background:#f6efe1}
#menu::after{display:none}
#menu .sec-head{margin-bottom:2.6rem}
.coming-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:start;
}
.coming-copy{max-width:640px}
.coming-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.35rem .7rem;
  border:2px solid var(--ink);
  border-radius:999px;
  background:var(--cream);
  color:var(--red);
  box-shadow:3px 4px 0 var(--ink);
  margin-bottom:1.3rem;
}
.menu-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.menu-status{
  padding:1.25rem 1.15rem 1.2rem;
  border:2px solid rgba(11,11,10,.16);
  border-top:6px solid var(--ink);
  background:rgba(255,255,255,.45);
  box-shadow:6px 7px 0 rgba(11,11,10,.08);
  min-height:100%;
}
.menu-status:first-child{border-top-color:var(--orange)}
.menu-status:last-child{border-top-color:var(--blue)}
.menu-status-no{color:rgba(11,11,10,.65);margin-bottom:.85rem}
.menu-status h3{font-size:clamp(2.7rem,4vw,4rem);line-height:.92;max-width:none}
.menu-status h3 span{display:block;color:var(--magenta)}
.menu-status p{margin-top:.85rem!important;max-width:none;font-size:1rem;line-height:1.55}
.coming-photos{
  min-height:430px;
  align-self:stretch;
}
.coming-photo{box-shadow:8px 10px 0 var(--ink)}
.coming-photo--wide{width:66%;height:68%;right:0;top:0;transform:rotate(4deg);border-radius:34px 110px 42px 84px}
.coming-photo:not(.coming-photo--wide){width:58%;height:52%;left:0;bottom:0;transform:rotate(-6deg);border-radius:28px}
.san-special{
  margin-top:2.6rem!important;
  padding:1.5rem 1.5rem 1.6rem;
  grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3rem);
  box-shadow:10px 12px 0 var(--cream);
}
.san-special::after{opacity:.12;right:.02em;bottom:-.12em}
.san-special-date{
  display:flex;
  align-items:flex-end;
  gap:.55rem;
  flex-wrap:wrap;
  max-width:260px;
}
.san-special-date span{
  min-width:68px;
  padding:.5rem .2rem .35rem;
  text-align:center;
  background:var(--cream);
  color:var(--ink);
  border:2px solid var(--ink);
  box-shadow:4px 5px 0 var(--red);
  line-height:.82;
}
.san-special-date small{
  width:100%;
  display:block;
  margin-top:.5rem;
  letter-spacing:.12em;
  color:var(--cream);
}
.san-special-copy .eyebrow{color:var(--gold)}
.san-special-copy h3{font-size:clamp(2.5rem,4.6vw,4.4rem);line-height:.92;margin:.55rem 0 1rem;max-width:12ch}
.san-special-copy h3 strong{color:var(--gold)}
.san-special-copy p{max-width:58ch;line-height:1.58;margin-bottom:1.2rem}

/* EVENTS: keep direct booking but remove explanatory sentence */
.events-intro{display:none!important}
.eventi--compact .sec-head{margin-bottom:2.4rem}
.ev-grid--compact{max-width:1100px;gap:1.5rem}
.ev-card-copy{gap:.75rem}
.ev-card .ev-date{font-size:.8rem;line-height:1.2}
.ev-card h4{font-size:clamp(2rem,3vw,2.8rem)}
.ev-card p{font-size:.96rem;line-height:1.55}
.btn--event{margin-top:.25rem}

@media (max-width:980px){
  .coming-grid{grid-template-columns:1fr;gap:2.25rem}
  .coming-copy{max-width:none}
  .menu-status-grid{grid-template-columns:1fr}
  .coming-photos{min-height:400px;max-width:560px}
  .san-special{grid-template-columns:1fr;gap:1.5rem}
}
@media (max-width:680px){
  #menu .sec-head{margin-bottom:2rem}
  .coming-kicker{margin-bottom:1rem}
  .menu-status{padding:1.1rem 1rem}
  .menu-status h3{font-size:clamp(2.45rem,12vw,3.45rem)}
  .coming-photos{min-height:330px}
  .coming-photo--wide{width:69%;height:66%}
  .coming-photo:not(.coming-photo--wide){width:59%;height:54%}
  .san-special{padding:1.2rem 1rem 1.3rem;box-shadow:8px 9px 0 var(--cream)}
  .san-special-date{max-width:none;gap:.45rem}
  .san-special-date span{min-width:60px;font-size:clamp(2.4rem,13vw,3.6rem);box-shadow:3px 4px 0 var(--red)}
  .san-special-copy h3{font-size:clamp(2.4rem,12vw,3.35rem)}
}

/* ======================================================================
   FINAL POLISH — logo in flow, neutral sections, more event breathing room
   ====================================================================== */

/* Logo: back in the opening screen, but in normal document flow */
.hero-brand-lockup{
  display:flex;
  align-items:center;
  margin-top:clamp(1.8rem,3.5vw,2.8rem);
  width:fit-content;
  padding:.8rem 1rem .7rem;
  background:rgba(11,11,10,.34);
  border:1px solid rgba(243,236,221,.2);
  border-radius:18px;
  backdrop-filter:blur(5px);
}
.hero-brand-lockup img{
  display:block;
  width:clamp(145px,14vw,205px);
  height:auto;
  filter:drop-shadow(3px 4px 0 rgba(11,11,10,.38));
}

/* Stop using a saturated full-bleed colour for every section.
   Colour now lives in accents, objects and typography instead. */
.concept{
  background:#f4ecdc;
  color:var(--ink);
  border-top:1px solid rgba(11,11,10,.1);
}
.concept::before{color:var(--red);opacity:.08}
.concept::after{opacity:.10}
.concept-photo{border-color:var(--ink);box-shadow:9px 10px 0 var(--red)}
.concept-photo--b{border-color:var(--ink);box-shadow:9px 10px 0 var(--blue)}
.concept-lead b{color:var(--red)}
.concept-body{color:rgba(11,11,10,.82)}
.name-note{background:var(--cream);color:var(--ink);box-shadow:5px 6px 0 var(--yellow)}

#menu{
  background:#fbf7ef;
  border-top:1px solid rgba(11,11,10,.08);
}

#galleria{
  background:#f4ecdc;
  border-top:1px solid rgba(11,11,10,.08);
}

#dove{
  background:#fbf7ef;
  color:var(--ink);
  border-top:1px solid rgba(11,11,10,.1);
}
#dove .sec-head h2{color:var(--ink)}
.info-row{border-bottom-color:rgba(11,11,10,.18)}
.info-row .k{color:var(--blue)}
.socials a{
  border-color:var(--ink);
  background:var(--cream);
  color:var(--ink);
}
.socials a:hover{background:var(--yellow);color:var(--ink)}
.map{border-color:var(--ink);box-shadow:10px 12px 0 var(--blue)}

/* Events: more space between heading, posters and text */
.eventi--compact{
  padding-top:clamp(5.5rem,9vw,8rem);
  padding-bottom:clamp(6rem,10vw,9rem);
}
.eventi--compact .sec-head{
  margin-bottom:clamp(3.5rem,6vw,5rem);
}
.ev-grid--compact{
  gap:clamp(2.5rem,5vw,4.5rem);
  max-width:1140px;
}
.ev-grid--compact .ev-card{
  box-shadow:10px 12px 0 rgba(243,236,221,.15);
}
.ev-grid--compact .ev-card-media{
  border-bottom-width:0;
}
.ev-grid--compact .ev-card-copy{
  padding:clamp(1.6rem,3vw,2.1rem);
  gap:1rem;
  border-top:3px solid var(--ink);
}
.ev-grid--compact .ev-date{
  margin-bottom:.15rem;
  line-height:1.35;
}
.ev-grid--compact .ev-card h4{
  font-size:clamp(2.15rem,3.3vw,3.15rem);
  line-height:.98;
  margin-bottom:.15rem;
}
.ev-grid--compact .ev-card p{
  line-height:1.65;
  margin-bottom:.35rem;
}
.ev-grid--compact .btn--event{
  margin-top:.5rem;
  padding:.85em 1.3em;
}

@media (max-width:980px){
  .hero-brand-lockup{margin-top:2rem}
  .ev-grid--compact{gap:2.5rem}
}

@media (max-width:680px){
  .hero-brand-lockup{
    margin-top:1.6rem;
    padding:.65rem .8rem;
  }
  .hero-brand-lockup img{width:145px}
  .eventi--compact{padding-top:4.75rem;padding-bottom:5.5rem}
  .eventi--compact .sec-head{margin-bottom:2.75rem}
  .ev-grid--compact{gap:2.75rem}
  .ev-grid--compact .ev-card-copy{padding:1.45rem 1.3rem 1.6rem;gap:.9rem}
}


/* ======================================================================
   FIGMA FINAL HERO POLISH — transparent logo + quiet reopening badge
   ====================================================================== */
.hero-brand-lockup{
  margin-top:clamp(1.8rem,3vw,2.5rem);
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.hero-brand-lockup img{
  width:clamp(155px,14vw,210px);
  filter:none!important;
}

/* The reopening message is a supporting label, not a second headline. */
.hero-sticker--tonight{
  right:4%!important;
  top:auto!important;
  bottom:23%!important;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.62rem .9rem!important;
  font-size:clamp(.95rem,1.45vw,1.2rem)!important;
  line-height:1!important;
  letter-spacing:.045em;
  color:var(--cream)!important;
  background:var(--red)!important;
  border:2px solid var(--cream)!important;
  border-radius:999px!important;
  box-shadow:4px 5px 0 var(--ink)!important;
  transform:rotate(-2deg)!important;
  white-space:nowrap;
  z-index:7;
}
.hero-sticker--tonight span{
  display:inline!important;
  margin:0!important;
  padding-right:.55rem;
  border-right:1px solid rgba(243,236,221,.5);
  font-size:.78em!important;
  letter-spacing:.08em!important;
  color:var(--gold);
}
.hero-sticker--dates{
  left:auto!important;
  right:3%!important;
  bottom:6%!important;
  z-index:6;
}

/* Slightly calmer collage hierarchy after the Figma pass. */
.hero-shot--one{left:2%;top:7%;width:56%;height:60%;}
.hero-shot--two{right:2%;bottom:5%;width:50%;height:50%;}
.hero-doodle-loop{opacity:.55!important;}
.hero-doodle-sparks{opacity:.55!important;}

@media (max-width:980px){
  .hero-sticker--tonight{right:3%!important;bottom:22%!important;}
  .hero-sticker--dates{right:2%!important;bottom:4%!important;}
}
@media (max-width:680px){
  .hero-brand-lockup{margin-top:1.45rem;}
  .hero-brand-lockup img{width:150px;}
  .hero-sticker--tonight{
    right:1%!important;
    bottom:23%!important;
    padding:.5rem .68rem!important;
    font-size:.83rem!important;
    box-shadow:3px 4px 0 var(--ink)!important;
  }
  .hero-sticker--dates{right:0!important;bottom:3%!important;}
}
