/* Café do Palco concept site: theatre after dark. Limestone, black iron, theatre red. */
:root{
  --stone:#EEE8DD;--stone2:#E4DBCB;--paper:#F7F3EC;--ink:#161210;--ink2:#2E2724;--muted:#76695F;
  --red:#9E0F22;--red-d:#7A0A19;--red-l:#B8102A;--cyan:#2AA6C9;--night:#161210;--night2:#211A17;--line:rgba(22,18,16,.16);
  --serif:"Kaushan Script","Brush Script MT",cursive;--accent:"Kaushan Script","Brush Script MT",cursive;--sans:"Schibsted Grotesk",system-ui,sans-serif;--mono:"Martian Mono",ui-monospace,monospace;
  --rail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='34' viewBox='0 0 44 34' fill='none' stroke='%23161210' stroke-width='1.6'%3E%3Cpath d='M0 2h44M0 32h44M0 6h44'/%3E%3Cpath d='M0 6v26M22 6v26'/%3E%3Ccircle cx='11' cy='19' r='5'/%3E%3Ccircle cx='33' cy='19' r='5'/%3E%3Cpath d='M11 6c0 4 0 8 0 8M11 24v8M33 6v8M33 24v8'/%3E%3C/svg%3E");
  --rail-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='34' viewBox='0 0 44 34' fill='none' stroke='%23EEE8DD' stroke-width='1.6'%3E%3Cpath d='M0 2h44M0 32h44M0 6h44'/%3E%3Cpath d='M0 6v26M22 6v26'/%3E%3Ccircle cx='11' cy='19' r='5'/%3E%3Ccircle cx='33' cy='19' r='5'/%3E%3Cpath d='M11 6c0 4 0 8 0 8M11 24v8M33 6v8M33 24v8'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{background:var(--stone);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
.wrap{max-width:1320px;margin:0 auto;padding:0 40px}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.035em;line-height:.95}
.neon{color:var(--red);font-family:var(--accent);font-style:italic;font-weight:400;letter-spacing:-.02em}
.num{font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.num::before{content:"";width:28px;height:1px;background:currentColor}
.muted{color:var(--muted)}

/* logo as masks, takes any colour */
.lg-mask,.lg-word,.lg-full{display:block;background:currentColor;-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat}
.lg-mask{--src:url(img/mask.svg);aspect-ratio:1299/1722}
.lg-word{--src:url(img/wordmark.svg);aspect-ratio:1308/320}
.lg-full{--src:url(img/logo.svg);aspect-ratio:1337/2141}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--stone);border:1.5px solid var(--ink);border-radius:999px;padding:15px 28px;font:600 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{background:var(--red);border-color:var(--red);color:var(--stone)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--stone);border-color:var(--ink)}
.btn.sm{padding:11px 20px;font-size:11px}
.btn[disabled]{opacity:.35;pointer-events:none}

/* opening curtain: over the whole screen once, then removed */
/* velvet curtain from a real photo (panels + repeated swag valance); opens with transforms only (cheap on old devices) */
.pano .half{position:absolute;top:0;bottom:0;width:51%;background:#3a050c url(img/curtain/closed_169.jpg) left top/200% 100% no-repeat;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform}
.pano .l{left:0;-webkit-transform-origin:0 0;transform-origin:0 0}
.pano .r{right:0;background-position:right top;-webkit-transform-origin:100% 0;transform-origin:100% 0}
.pano .half::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:linear-gradient(180deg,rgba(255,180,190,.10),rgba(0,0,0,.55))}
.valance{position:absolute;left:0;right:0;top:0;height:27vh;min-height:150px;background:url(img/curtain-valance.webp) repeat-x center top/auto 100%;z-index:2;filter:drop-shadow(0 14px 18px rgba(0,0,0,.55));will-change:transform}
.pano-in{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--stone);transition:opacity .4s;z-index:3}
.pano-in .lg-mask{width:74px;margin-bottom:18px}
.pano-in span{font:500 11px var(--mono);letter-spacing:.3em;text-transform:uppercase}
.pano{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;pointer-events:none}
/* if the scripts never run, the first curtain still goes away */
.pano.boot{-webkit-animation:panoSafety .01s 4.2s forwards;animation:panoSafety .01s 4.2s forwards}
@-webkit-keyframes panoSafety{to{visibility:hidden}}
@keyframes panoSafety{to{visibility:hidden}}
.pano.idle{visibility:hidden}
/* picture of the closed 3D curtain, shown from the first paint until the 3D (or the flat fallback) takes over */
.pano-snap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#2a0408 url(img/curtain/closed_169.jpg) center/cover no-repeat}
@media (orientation:portrait){.pano-snap{background-image:url(img/curtain/closed_916.jpg)}}
/* the pre-rendered curtain films (curtain3d.js) */
.pano-film{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:4;pointer-events:none}
.pano.is3d .pano-snap,.pano.open .pano-snap,.pano.closing .pano-snap{display:none}
.pano .pano-in{z-index:5}
/* 3D curtain (curtain3d.js) drawn on a canvas over the flat panels, which are then hidden */
.pano3d{position:absolute;top:0;left:0;width:100%;height:100%;z-index:4}
.pano.is3d .half,.pano.is3d .valance{visibility:hidden}
.pano.is3d .pano-in{z-index:5}
.pano.quick .pano-in,.pano.closing .pano-in,.pano.open .pano-in{opacity:0;transition:none}
/* opening: each half gathers its pleats toward its own outer edge, the hem trailing, then slips out of view */
.pano.open .l{-webkit-animation:gatherL 1.6s cubic-bezier(.6,.05,.25,1) forwards;animation:gatherL 1.6s cubic-bezier(.6,.05,.25,1) forwards}
.pano.open .r{-webkit-animation:gatherR 1.6s cubic-bezier(.6,.05,.25,1) forwards;animation:gatherR 1.6s cubic-bezier(.6,.05,.25,1) forwards}
.pano.open .valance{-webkit-animation:lift .8s 1.05s cubic-bezier(.6,0,.3,1) forwards;animation:lift .8s 1.05s cubic-bezier(.6,0,.3,1) forwards}
@keyframes gatherL{0%{transform:none}22%{transform:skewX(3deg) scaleX(.9)}60%{transform:skewX(1.5deg) scaleX(.26)}80%{transform:scaleX(.17)}100%{transform:translateX(-24%) scaleX(.14)}}
@keyframes gatherR{0%{transform:none}22%{transform:skewX(-3deg) scaleX(.9)}60%{transform:skewX(-1.5deg) scaleX(.26)}80%{transform:scaleX(.17)}100%{transform:translateX(24%) scaleX(.14)}}
@-webkit-keyframes gatherL{0%{-webkit-transform:none}22%{-webkit-transform:skewX(3deg) scaleX(.9)}60%{-webkit-transform:skewX(1.5deg) scaleX(.26)}80%{-webkit-transform:scaleX(.17)}100%{-webkit-transform:translateX(-24%) scaleX(.14)}}
@-webkit-keyframes gatherR{0%{-webkit-transform:none}22%{-webkit-transform:skewX(-3deg) scaleX(.9)}60%{-webkit-transform:skewX(-1.5deg) scaleX(.26)}80%{-webkit-transform:scaleX(.17)}100%{-webkit-transform:translateX(24%) scaleX(.14)}}
@keyframes lift{to{transform:translateY(-110%)}}
@-webkit-keyframes lift{to{-webkit-transform:translateY(-110%)}}
/* closing before the next page: the valance drops, the panels come back from the edges and meet in the middle */
.pano.closing .l{-webkit-animation:closeL .95s cubic-bezier(.5,0,.3,1) forwards;animation:closeL .95s cubic-bezier(.5,0,.3,1) forwards}
.pano.closing .r{-webkit-animation:closeR .95s cubic-bezier(.5,0,.3,1) forwards;animation:closeR .95s cubic-bezier(.5,0,.3,1) forwards}
.pano.closing .valance{-webkit-animation:drop .5s cubic-bezier(.3,0,.2,1) forwards;animation:drop .5s cubic-bezier(.3,0,.2,1) forwards}
@keyframes closeL{0%{transform:translateX(-24%) scaleX(.14)}20%{transform:scaleX(.18)}62%{transform:skewX(-2.5deg) scaleX(.74)}100%{transform:none}}
@keyframes closeR{0%{transform:translateX(24%) scaleX(.14)}20%{transform:scaleX(.18)}62%{transform:skewX(2.5deg) scaleX(.74)}100%{transform:none}}
@-webkit-keyframes closeL{0%{-webkit-transform:translateX(-24%) scaleX(.14)}20%{-webkit-transform:scaleX(.18)}62%{-webkit-transform:skewX(-2.5deg) scaleX(.74)}100%{-webkit-transform:none}}
@-webkit-keyframes closeR{0%{-webkit-transform:translateX(24%) scaleX(.14)}20%{-webkit-transform:scaleX(.18)}62%{-webkit-transform:skewX(2.5deg) scaleX(.74)}100%{-webkit-transform:none}}
@keyframes drop{from{transform:translateY(-110%)}to{transform:none}}
@-webkit-keyframes drop{from{-webkit-transform:translateY(-110%)}to{-webkit-transform:none}}

/* ticker */
.ticker{background:var(--ink);color:var(--stone);overflow:hidden;white-space:nowrap;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.ticker .row{display:inline-flex;animation:tick 60s linear infinite}
.ticker:hover .row{animation-play-state:paused}
.ticker a{display:inline-flex;align-items:center;gap:12px;padding:12px 26px}
.ticker a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
.ticker a i{font-style:normal;opacity:.55}
.ticker a:hover{color:var(--red-l)}
@keyframes tick{to{transform:translateX(-50%)}}

/* header */
header.top{position:sticky;top:0;z-index:100;background:var(--stone);border-bottom:1px solid var(--ink)}
header.top .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px}
nav.main{display:flex;gap:28px}
nav.main a{font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;position:relative;padding:6px 0}
nav.main a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--red);transition:right .3s}
nav.main a:hover::after{right:0}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand .lg-mask{width:30px}.brand .lg-word{width:140px}
.right{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.lang{display:flex;gap:2px;font:500 11px var(--mono);text-transform:uppercase}
.lang button{background:none;border:0;padding:6px 8px;cursor:pointer;opacity:.45;border-radius:99px}
.lang button.on{opacity:1;background:var(--ink);color:var(--stone)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:9px;width:22px;height:1.6px;background:var(--ink);content:""}
.burger span{top:19px}.burger span::before{top:-7px;left:0}.burger span::after{top:7px;left:0}

/* arched Haussmann windows used as photo frames */
.win{position:relative;overflow:hidden;background:var(--ink);border-radius:999px 999px 0 0;box-shadow:0 0 0 7px var(--stone),0 0 0 8.5px var(--ink)}
.win img,.win video{width:100%;height:100%;object-fit:cover}
.win .balcony{position:absolute;left:0;right:0;bottom:0;height:34px;background:var(--rail-l) repeat-x bottom left/44px 34px;opacity:.9}

/* hero options (?hero=video|bar|palco): full-bleed media with the title bottom-left, or the stage with the video framed */
.hero.hv{position:relative;height:calc(100vh - 110px);height:calc(100svh - 110px);min-height:620px;max-height:1100px;overflow:hidden;background:var(--night);color:#F6EFE4}
.hv-media{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}
.hv-media video,.hv-media img{width:100%;height:100%;object-fit:cover;display:block}
.hv-img{animation:kenburns 22s ease-in-out infinite alternate;transform-origin:50% 40%}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12) translateY(-1.5%)}}
.hv-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(22,18,16,.35) 0%,rgba(22,18,16,0) 30%,rgba(22,18,16,.25) 52%,rgba(22,18,16,.9) 100%),linear-gradient(90deg,rgba(22,18,16,.55),rgba(22,18,16,0) 60%);pointer-events:none}
.hv-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:64px}
.hv-credit{position:absolute;right:22px;top:20px;z-index:2;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(246,239,228,.7)}
.kicker{display:inline-flex;align-items:center;gap:12px;font:500 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:#F6EFE4;color:var(--ink);border-radius:999px;padding:9px 18px;margin-bottom:26px}
.kicker b{font-weight:500;color:var(--red)}
.dot{width:8px;height:8px;border-radius:50%;background:#D4142F;box-shadow:0 0 0 4px rgba(212,20,47,.25);animation:pulse 1.6s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(212,20,47,0)}}
.hero h1{font-size:clamp(60px,8.4vw,156px);line-height:.88;letter-spacing:-.04em;text-shadow:0 14px 50px rgba(0,0,0,.35)}
.hero h1 .neon{color:#C8102E;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hero .lead{max-width:500px;font-size:18px;margin:24px 0 30px;color:rgba(246,239,228,.88)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.btn.light{background:#F6EFE4;color:var(--ink);border-color:#F6EFE4}
.btn.light:hover{background:#C8102E;border-color:#C8102E;color:#fff}
.btn.ghost.light{background:transparent;color:#F6EFE4;border-color:rgba(246,239,228,.6)}
.btn.ghost.light:hover{background:#F6EFE4;color:var(--ink);border-color:#F6EFE4}
/* C · palco: red velvet, title left, video in a cream proscenium frame, checkerboard floor in perspective */
.hero.palco{background:radial-gradient(70% 70% at 70% 35%,#8E1426 0%,#5C0A16 45%,#2A050B 100%);perspective:900px}
.hero.palco::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,.22) 34px,rgba(0,0,0,0) 61px,rgba(255,190,200,.05) 80px,rgba(0,0,0,0) 97px);pointer-events:none}
.palco-grid{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;padding-bottom:12vh}
.hero.palco h1{font-size:clamp(56px,6.4vw,120px)}
.palco-frame{position:relative;aspect-ratio:16/10;border-radius:22px 22px 6px 6px;overflow:hidden;box-shadow:0 0 0 10px #F6EFE4,0 0 0 11.5px rgba(22,18,16,.5),0 40px 90px rgba(0,0,0,.55)}
.floor3d{position:absolute;left:-30%;right:-30%;bottom:0;height:34%;z-index:1;overflow:hidden;pointer-events:none}
.floor3d i{position:absolute;left:0;right:0;bottom:-40%;height:180%;background:url(img/marble.webp) 0 0/180px 180px;transform:rotateX(64deg);transform-origin:50% 100%;opacity:.95;-webkit-mask:linear-gradient(0deg,#000 40%,transparent);mask:linear-gradient(0deg,#000 40%,transparent)}
/* black and white floor of the café, as bands */
.checks{height:64px;background:#161210 url(img/marble.webp) 0 0/64px 64px;border-top:3px solid #161210;border-bottom:3px solid #161210;box-shadow:inset 0 10px 18px -12px rgba(0,0,0,.6),inset 0 -10px 18px -12px rgba(0,0,0,.6)}
/* proposal switcher, only when the link asks for it */
.hero-switch{display:none}
.show-switch .hero-switch{display:flex;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:400;gap:4px;align-items:center;background:var(--ink);color:#F6EFE4;border-radius:999px;padding:6px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hero-switch span{padding:0 10px;opacity:.6}
.hero-switch a{padding:9px 14px;border-radius:999px}
.hero-switch a.on{background:#C8102E;color:#fff}

.facts-strip{background:var(--stone);border-bottom:1px solid var(--ink)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:30px;padding-bottom:30px}
.facts>div{border-left:1px solid var(--ink);padding-left:18px}
.facts dt{font:600 46px/1 var(--serif)}
.facts dd{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}

/* section heads */
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;align-items:end;margin-bottom:46px}
.sec-head .num{grid-column:1/-1;margin:0}
.sec-head h2{font-size:clamp(54px,7vw,112px)}
.sec-head p{max-width:440px;color:var(--ink2);justify-self:end}

/* programme */
.prog-wrap{padding:110px 0 100px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.filters button,.zones button,.filters select{background:transparent;border:1px solid var(--ink);border-radius:999px;padding:9px 18px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.filters button:hover,.zones button:hover{background:var(--stone2)}
.filters button.on,.zones button.on{background:var(--ink);color:var(--stone)}
.filters select{margin-left:auto;appearance:none;padding-right:34px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23161210'/%3E%3C/svg%3E") right 14px center no-repeat}
.prog{list-style:none;border-top:1.5px solid var(--ink)}
.prog li{border-bottom:1px solid var(--line)}
.prog li a{display:grid;grid-template-columns:112px 210px 1fr 170px;gap:30px;align-items:center;padding:22px 18px;transition:background .35s,color .35s}
.prog .d b{display:block;font:600 64px/.9 var(--serif)}
.prog .d span{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.prog .ph{aspect-ratio:4/3;overflow:hidden;border-radius:120px 120px 0 0;background:var(--ink)}
.prog .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.prog .cena{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.prog h3{font-size:clamp(28px,3vw,44px);line-height:1}
.prog .where{margin-top:10px;color:var(--ink2);font-size:15px}
.flag{display:inline-block;vertical-align:middle;font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--red);color:var(--stone);padding:6px 9px;border-radius:99px;transform:translateY(-6px)}
.prog .price{text-align:right}
.prog .price span{display:block;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prog .price b{font:600 34px/1.1 var(--serif)}
.prog .go{display:block;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;font-style:normal;margin-top:8px}
.prog li a:hover{background:var(--ink);color:var(--stone)}
.prog li a:hover .d span,.prog li a:hover .cena,.prog li a:hover .price span{color:rgba(238,232,221,.6)}
.prog li a:hover .where{color:rgba(238,232,221,.8)}
.prog li a:hover .ph img{transform:scale(1.06)}
.prog li a:hover .go{color:var(--red-l)}
.prog .empty{padding:40px 18px;color:var(--muted)}
.foot{margin-top:24px;font:500 11px/1.6 var(--mono);letter-spacing:.06em;color:var(--muted)}

/* réveillon: night section */
.reveillon{background:var(--night);color:var(--stone);padding:120px 0;position:relative}
.reveillon::before{content:"";position:absolute;left:0;right:0;top:0;height:34px;background:var(--rail-l) repeat-x top left/44px 34px;opacity:.35}
.reveillon .neon,.split.night .neon{color:var(--red-l)}
.reveillon .num{color:rgba(238,232,221,.6)}
.reveillon h2{font-size:clamp(54px,6.4vw,104px)}
.reveillon p{color:rgba(238,232,221,.78);max-width:460px;margin:24px 0 40px}
.rv-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.rv-txt .win{width:min(100%,340px);aspect-ratio:3/3.6;box-shadow:0 0 0 7px var(--night),0 0 0 8.5px rgba(238,232,221,.6)}
.plano{border:1px solid rgba(238,232,221,.25);border-radius:300px 300px 18px 18px;padding:46px 22px 18px;background:radial-gradient(ellipse at 50% 0,rgba(158,15,34,.16),transparent 60%)}
.plano svg{width:100%;height:auto;font-family:var(--mono)}
.plano .stage{fill:var(--red)}
.plano .stage-t{fill:var(--stone);letter-spacing:.12em;text-transform:uppercase}
.plano .lip{fill:none;stroke:var(--red);stroke-width:1}
.plano .arc,.mini-plano .arc{fill:none;stroke:rgba(238,232,221,.25);stroke-dasharray:3 5}
.plano text,.mini-plano text{fill:var(--stone)}
.seat{cursor:pointer;transition:fill .2s,stroke .2s}
.seat.free{fill:transparent;stroke:var(--stone);stroke-width:1.3}
.seat.free:hover,.seat.sel{fill:var(--red);stroke:var(--red)}
.seat.sold{fill:rgba(238,232,221,.1);stroke:rgba(238,232,221,.12);cursor:not-allowed}
.plano .n{pointer-events:none}
.legend{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:14px;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(238,232,221,.7)}
.legend i{display:inline-block;width:14px;height:10px;border:1.3px solid var(--stone);margin-right:8px;vertical-align:-1px}
.legend i.c{border-radius:50%;width:11px;height:11px}
.legend i.s{background:rgba(238,232,221,.12);border-color:transparent}
.pick{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:18px 18px 18px 26px;border:1px solid rgba(238,232,221,.25);border-radius:999px}
.pick b{display:block;font:600 22px/1.2 var(--serif)}
.pick span{font-size:14px;color:rgba(238,232,221,.65)}
.reveillon .btn{background:var(--red);border-color:var(--red);color:var(--stone)}
.reveillon .btn:hover{background:var(--stone);border-color:var(--stone);color:var(--ink)}

/* houses line-up */
.casas{padding:120px 0;background:var(--paper)}
.zones{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.elenco{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}
.preview{position:sticky;top:110px}
.preview .win{aspect-ratio:3/4}
.preview .win img{transition:opacity .25s,transform 1.2s}
.preview .win img.swap{opacity:0;transform:scale(1.04)}
.preview figcaption{margin-top:24px}
.preview b{display:block;font:600 34px/1 var(--serif)}
.preview span{display:block;margin-top:8px;font:500 11px/1.5 var(--mono);letter-spacing:.06em;color:var(--muted)}
.cast{list-style:none;border-top:1.5px solid var(--ink)}
.cast li[data-v]{display:grid;grid-template-columns:44px auto 1fr auto;column-gap:16px;align-items:baseline;padding:16px 10px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .25s,padding .25s}
.cast .th{display:none}
.cast .rn{font:500 11px var(--mono);color:var(--muted)}
.cast .nm{font:600 clamp(24px,2.4vw,34px)/1.05 var(--serif)}
.cast .dots{border-bottom:1px dotted rgba(22,18,16,.35);transform:translateY(-6px)}
.cast .hr{font:500 12px var(--mono)}
.cast .kd{grid-column:2/-1;font:500 10px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px;display:flex;gap:14px;flex-wrap:wrap}
.cast .st{color:var(--red-d)}
.cast .st::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);margin-right:7px;vertical-align:1px}
.cast .st.closed{color:var(--muted)}
.cast .st.closed::before{background:transparent;border:1px solid var(--muted)}
.cast li.on,.cast li[data-v]:hover{background:var(--ink);color:var(--stone);padding-left:18px}
.cast li.on .rn,.cast li.on .kd,.cast li[data-v]:hover .rn,.cast li[data-v]:hover .kd{color:rgba(238,232,221,.6)}
.cast li.on .dots,.cast li[data-v]:hover .dots{border-color:rgba(238,232,221,.4)}
.cast li.on .st,.cast li[data-v]:hover .st{color:var(--red-l)}
.cast li.sep{padding:30px 10px 10px;font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}

/* editorial splits */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:680px;border-top:1px solid var(--ink)}
.split .pic{overflow:hidden;position:relative}
.split .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s,filter .6s}
.split .pic:hover img{transform:scale(1.03)}
.split .txt{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center;position:relative}
.split .txt::after{content:"";position:absolute;left:7vw;right:7vw;bottom:40px;height:34px;background:var(--rail) repeat-x left/44px 34px;opacity:.5}
.split h2{font-size:clamp(54px,6vw,96px)}
.split p{margin:26px 0;max-width:440px;color:var(--ink2)}
.split .list{list-style:none;margin-bottom:36px;border-top:1px solid var(--line)}
.split .list li{padding:12px 0;border-bottom:1px solid var(--line);font:500 12px var(--mono);letter-spacing:.04em}
.split .btn{align-self:flex-start}
.split.rev .pic{order:2}
.split.night{background:var(--night);color:var(--stone);border-top:0}
.split.night .num{color:rgba(238,232,221,.6)}
.split.night p{color:rgba(238,232,221,.78)}
.split.night .list,.split.night .list li{border-color:rgba(238,232,221,.18)}
.split.night .txt::after{background-image:var(--rail-l);opacity:.3}
.split.night .btn{background:var(--red);border-color:var(--red);color:var(--stone)}
.split.night .btn:hover{background:var(--stone);border-color:var(--stone);color:var(--ink)}

/* club */
.clube{padding:120px 0}
.clube .card{background:var(--red);color:var(--stone);border-radius:400px 400px 28px 28px;padding:110px 8% 70px;text-align:center;position:relative;overflow:hidden}
.clube .num{justify-content:center;color:var(--stone)}
.clube h2{font-size:clamp(56px,8vw,128px)}
.clube p{max-width:520px;margin:22px auto 34px;font-size:18px}
.clube form{color:var(--ink);display:flex;gap:10px;max-width:520px;margin:0 auto;background:var(--stone);border-radius:999px;padding:6px}
.clube input{flex:1;min-width:0;border:0;background:transparent;padding:0 20px;outline:none}
.clube .btn:hover{background:var(--ink);border-color:var(--ink)}
.clube .perks{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:30px;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}

/* footer with a mansard roofline */
footer{background:var(--night);color:var(--stone);position:relative;padding-top:90px;margin-top:100px}
footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:70px}
footer .lg-full{width:96px;color:var(--stone)}
.motto{font:600 22px/1.3 var(--serif);margin-top:22px;max-width:300px}
footer h5{font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--red-l);margin-bottom:16px}
footer ul{list-style:none;font-size:15px;line-height:2;color:rgba(238,232,221,.8)}
footer a:hover{color:var(--red-l)}
.base{border-top:1px solid rgba(238,232,221,.14);padding:20px 0;font:500 10px var(--mono);letter-spacing:.08em;color:rgba(238,232,221,.55)}
.base .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
footer.slim{padding-top:0;margin-top:0}

/* reveal + toast */
/* hidden only when scripts run, so content never stays invisible on a browser without them */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.toast{visibility:hidden;position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:var(--ink);color:var(--stone);padding:14px 24px;border-radius:999px;font-size:15px;z-index:600;transition:transform .4s;max-width:calc(100% - 32px);box-shadow:0 10px 40px rgba(0,0,0,.3)}
.toast.show{visibility:visible;transform:translate(-50%,0)}

/* ===== event page ===== */
.ev-hero{position:relative;background:var(--night);color:var(--stone);padding:140px 0 70px;overflow:hidden}
.ev-hero .bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center/cover;opacity:.55}
.ev-hero::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(22,18,16,.2),rgba(22,18,16,.92))}
.ev-hero .wrap{position:relative;z-index:2}
.ev-hero .over{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red-l);margin-bottom:20px}
.ev-hero h1{font-size:clamp(56px,8vw,128px);max-width:1000px}
.ev-hero .meta{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px;border-top:1px solid rgba(238,232,221,.3);padding-top:22px}
.ev-hero .meta b{display:block;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(238,232,221,.55);margin-bottom:8px}
.book{display:grid;grid-template-columns:1fr 440px;gap:80px;padding-top:80px;padding-bottom:100px;align-items:start}
.about p{font-size:19px;color:var(--ink2);margin-bottom:18px;max-width:620px}
.about p.lettrine::first-letter{font:600 84px/.8 var(--serif);float:left;margin:8px 12px 0 0;color:var(--red-d)}
.about .info{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;margin:44px 0;border-top:1.5px solid var(--ink);padding-top:24px}
.about .info b{display:block;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.about .info div{font-size:15px}
.ev-pic .win{width:min(100%,380px);aspect-ratio:3/3.8}
.ev-pic figcaption{margin-top:20px;font:500 11px var(--mono);letter-spacing:.06em;color:var(--muted)}
.guichet{position:sticky;top:100px}
.guichet .arch{background:var(--ink);color:var(--stone);border-radius:220px 220px 0 0;padding:34px 20px 18px;text-align:center}
.guichet .arch .lg-mask{width:28px;margin:0 auto 10px;color:var(--red-l)}
.guichet .arch b{font:500 11px var(--mono);letter-spacing:.3em;text-transform:uppercase}
.box{background:var(--paper);border:1.5px solid var(--ink);border-top:0;padding:28px}
.steps{display:flex;gap:6px;margin-bottom:22px}
.steps i{flex:1;height:3px;background:var(--line);border-radius:3px}
.steps i.on{background:var(--red)}
.box h3{font-size:32px}
.box .sub{font:500 11px/1.6 var(--mono);color:var(--muted);margin:8px 0 18px}
.tt{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.tt b{display:block;font-weight:600}
.tt small{display:block;font-size:13px;color:var(--muted)}
.tt .p{display:block;font:600 20px var(--serif);margin-top:4px}
.tt .left{font:500 10px var(--mono);color:var(--red-d);margin-left:6px}
.qty{display:flex;align-items:center;gap:12px;font:500 14px var(--mono)}
.qty button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ink);background:transparent;cursor:pointer;font-size:18px;line-height:1}
.qty button:hover{background:var(--ink);color:var(--stone)}
.mini-plano{background:var(--night);border-radius:120px 120px 10px 10px;padding:22px 10px 8px;margin-top:10px}
.mini-plano svg{width:100%;height:auto;font-family:var(--mono)}
.mini-plano .stage{fill:var(--red)}.mini-plano .stage-t{fill:var(--stone)}.mini-plano .lip{fill:none;stroke:var(--red)}
.total{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;margin-top:8px;border-top:1.5px solid var(--ink)}
.total span{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.total b{font:600 34px var(--serif)}
.box .btn{width:100%}
.fine{margin-top:14px;text-align:center;font:500 10px/1.6 var(--mono);color:var(--muted)}
.field{display:block;margin-bottom:12px}
.field span{display:block;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.field input{width:100%;border:1.5px solid var(--ink);background:var(--stone);border-radius:10px;padding:13px 14px;outline:none}
.field input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(158,15,34,.2)}
.back{display:block;margin:14px auto 0;background:none;border:0;cursor:pointer;font:500 11px var(--mono);color:var(--muted)}
.pay{display:grid;gap:8px;margin-bottom:6px}
.pay label{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;font-weight:600}
.pay label:has(input:checked){border-color:var(--ink);background:var(--stone)}
.pay input{accent-color:var(--red-d)}
.pay .lg{margin-left:auto;font:500 10px var(--mono);text-transform:uppercase;color:var(--muted)}
.ok{background:var(--ink);color:var(--stone);border-radius:999px;padding:12px 18px;text-align:center;font-weight:600;margin-bottom:18px}
.ticket{background:var(--ink);color:var(--stone);border-radius:18px;overflow:hidden;position:relative}
.ticket .in{padding:26px 24px 0;text-align:center}
.ticket .t0{font:500 10px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red-l)}
.ticket .in>.lg-mask{width:34px;margin:14px auto;color:var(--stone)}
.ticket .t1{font:600 36px/1 var(--serif)}
.ticket .t2{font:500 11px var(--mono);margin-top:10px;color:rgba(238,232,221,.7)}
.ticket .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;font-size:15px}
.ticket .grid b{display:block;font:500 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(238,232,221,.55);margin-bottom:4px}
.ticket .seal{position:absolute;right:18px;top:18px;background:var(--red);color:var(--stone);font:500 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:99px;transform:rotate(8deg)}
.ticket .perf{height:0;border-top:2px dashed rgba(238,232,221,.35);margin:0 -24px;position:relative}
.ticket .perf::before,.ticket .perf::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--paper)}
.ticket .perf::before{left:-11px}.ticket .perf::after{right:-11px}
.ticket .stub{display:flex;align-items:center;gap:18px;padding:22px 0 26px;text-align:left}
.ticket .stub svg{width:110px;background:#fff;padding:6px;border-radius:8px;flex:none}
.ticket .code{font:500 12px/1.7 var(--mono)}
.ticket .code .muted{color:rgba(238,232,221,.55)}
.wallet{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.wallet .btn{padding:13px 10px;font-size:10px}


/* ===== motion layer ===== */
/* Lenis drives the scroll: the browser's own smooth scroll must be off or both fight */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.bar-img{will-change:transform}
/* red wipe between pages */
.wipe{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;pointer-events:none;background:#4A0510 url(img/curtain-l.webp) repeat-x left top/auto 100%;transform:translateY(101%)}
.wipe.drop{transform:translateY(0);transition:transform .6s cubic-bezier(.7,0,.3,1)}
.wipe.cover{transform:translateY(0)}
.wipe.lift{transform:translateY(-101%);transition:transform .9s cubic-bezier(.7,0,.2,1)}
/* cursor: a red ring with a label, only on mouse devices */
.cursor{position:fixed;left:0;top:0;z-index:650;pointer-events:none;opacity:0;transition:opacity .3s}
.cursor.on{opacity:1}
.cursor span{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--red);transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),left .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1),background .3s}
.cursor b{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--stone);opacity:0;transition:opacity .2s;white-space:nowrap}
.cursor.link span{width:44px;height:44px;left:-22px;top:-22px;background:rgba(158,15,34,.18);box-shadow:inset 0 0 0 1.5px var(--red)}
.cursor.big span{width:74px;height:74px;left:-37px;top:-37px}
.cursor.big b{opacity:1}
/* scroll-speed marquee */
.vel{overflow:hidden;background:var(--red);color:var(--stone);padding:26px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.vel-row{display:flex;width:max-content;will-change:transform}
.vel-row>div{display:flex;align-items:center;flex:none}
.vel-row span{font:600 clamp(64px,9vw,150px)/1 var(--serif);letter-spacing:-.02em;padding:0 34px;white-space:nowrap}
.vel-row span:nth-child(4n+3){color:transparent;-webkit-text-stroke:1.5px var(--stone)}
.vel-row .lg-mask{width:clamp(40px,4.4vw,70px);color:var(--ink);flex:none}
/* fireworks behind the réveillon section */
.reveillon{overflow:hidden}
.reveillon .wrap{position:relative;z-index:1}
.fw{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.85}
/* 3D mask in the club card */
.mask3d{width:220px;height:240px;margin:-40px auto 6px;position:relative}
.mask3d canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}
.mask3d .lg-mask{width:110px;margin:40px auto 0;color:#E9C37A;transition:opacity .4s}
.mask3d.ready .lg-mask{opacity:0}
/* split headlines: masked lines */
.ln{padding-bottom:.08em;margin-bottom:-.08em}
.motion:not(.fonts) .hero h1,.motion:not(.fonts) .ev-hero h1{visibility:hidden}
.motion .sec-head.rv,.motion .rv-txt.rv,.motion .split .txt.rv{opacity:1;transform:none;transition:none}
.motion .prog li.rv{opacity:1;transform:none;transition:none}
.preview{perspective:900px}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor .seat,.has-cursor select{cursor:none}
@media (max-width:860px){
  .vel{padding:16px 0}
  .valance{height:17vh;min-height:110px}
  .mask3d{width:170px;height:190px;margin-top:-30px}
}

/* old browsers without aspect-ratio: give the logos and frames their height another way */
@supports not (aspect-ratio:1/1){
  .lg-mask::before,.lg-word::before,.lg-full::before{content:"";display:block}
  .lg-mask::before{padding-top:132.6%}.lg-word::before{padding-top:24.5%}.lg-full::before{padding-top:160.1%}
  .prog .ph{height:150px}.palco-frame{height:340px}.rv-txt .win{height:400px}.preview .win{height:440px}.ev-pic .win{height:470px}
}


/* ===== v5: more pages ===== */
.more{margin-top:34px;text-align:center}
.ctas-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
/* page heads */
.page-hero{position:relative;overflow:hidden;padding:120px 0 90px;color:#F6EFE4}
.page-hero h1{font-size:clamp(56px,8vw,140px);line-height:.9;max-width:14ch}
.page-hero p{max-width:560px;font-size:19px;margin:26px 0 30px;color:rgba(246,239,228,.85)}
.page-hero .num{color:rgba(246,239,228,.65)}
.page-hero .neon{color:#B8102A}
.ph-red,.ph-velvet{background:radial-gradient(55% 70% at 62% 0%,rgba(255,214,190,.22),rgba(255,214,190,0) 70%),radial-gradient(120% 90% at 50% 120%,rgba(10,2,4,.85),rgba(10,2,4,0) 60%),#3a060e url(img/velvet.webp) repeat-x center top/auto 100%}
.ph-red::before,.ph-velvet::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(18,6,8,.82),rgba(18,6,8,.45) 50%,rgba(18,6,8,.15))}
.ph-dark{background:radial-gradient(70% 90% at 80% 20%,#3a0a12,#161210 70%)}
.page-hero .wrap{position:relative;z-index:2}
.ph-masks{position:absolute;right:4%;bottom:-6%;width:min(36vw,520px);z-index:1;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));pointer-events:none}
.phv-grid,.chh-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.phv-img{border-radius:300px 300px 12px 12px;overflow:hidden;box-shadow:0 0 0 8px rgba(246,239,228,.9),0 40px 80px rgba(0,0,0,.5);aspect-ratio:4/5}
.phv-img img{width:100%;height:100%;object-fit:cover}
/* theatre masks intro */
.palco-intro{padding:110px 0;background:radial-gradient(60% 80% at 25% 50%,rgba(200,16,46,.10),transparent 70%)}
.ti-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.ti-masks{margin:0}
.ti-masks img{width:100%;max-width:520px;filter:drop-shadow(0 30px 40px rgba(22,18,16,.35));animation:float 7s ease-in-out infinite}
.ti-masks.nomask{display:none}
@keyframes float{50%{transform:translateY(-14px) rotate(-1.5deg)}}
.ti-txt h2{font-size:clamp(48px,6vw,96px)}
.ti-txt p{margin:24px 0 32px;max-width:520px;color:var(--ink2);font-size:18px}
/* réveillon offer + countdown */
.rv-offer{display:flex;flex-direction:column;gap:26px}
.countdown{display:flex;gap:14px}
.countdown div{min-width:84px;padding:16px 10px;border:1px solid rgba(238,232,221,.25);border-radius:14px;text-align:center;background:rgba(0,0,0,.25)}
.countdown b{display:block;font:600 44px/1 var(--serif)}
.countdown span{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.65}
.packs{list-style:none;border-top:1px solid rgba(238,232,221,.2)}
.packs li{display:grid;grid-template-columns:1fr auto;gap:2px 20px;padding:14px 0;border-bottom:1px solid rgba(238,232,221,.2)}
.packs b{font-weight:600}.packs span{grid-column:1;font-size:14px;opacity:.7}.packs i{grid-row:1/3;grid-column:2;align-self:center;font:600 26px var(--serif);font-style:normal}
/* invitations + guest list */
.privados-teaser{padding:120px 0;background:#2a070d url(img/velvet.webp) repeat-x center top/auto 100%;position:relative;color:#F6EFE4}
.privados-teaser::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(22,18,16,.92),rgba(22,18,16,.6))}
.privados-teaser .wrap{position:relative}
.privados-teaser .num{color:rgba(246,239,228,.6)}
.privados-teaser p{color:rgba(246,239,228,.82);margin:24px 0;max-width:480px}
.privados-teaser .list li{border-color:rgba(246,239,228,.18)}
.privados-teaser .list{border-color:rgba(246,239,228,.18)}
.pt-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.pt-txt h2{font-size:clamp(54px,6vw,96px)}
.pt-txt .list{list-style:none;margin-bottom:30px;border-top:1px solid}
.pt-txt .list li{padding:12px 0;border-bottom:1px solid;font:500 12px var(--mono);letter-spacing:.04em}
.pt-cards{position:relative;height:520px}
.invite{width:300px;aspect-ratio:5/7;background:#F4ECDD;border-radius:6px;padding:12px;box-shadow:0 30px 60px rgba(0,0,0,.5);color:#3a1a14;position:relative}
.invite::before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1.5px solid #B8914A;border-radius:3px;pointer-events:none}
.iv-in{height:100%;border:1px solid rgba(184,145,74,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:22px 18px;background:radial-gradient(80% 60% at 50% 0,rgba(184,145,74,.12),transparent)}
.iv-in .lg-mask{width:46px;color:#8a0f21}
.iv-in small{font:500 9px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#8a6a3a}
.iv-in b{font:400 34px/1.05 var(--accent);font-style:italic;color:#8a0f21}
.iv-in span{font-size:13px}
.iv-in em{margin-top:8px;font:500 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;font-style:normal;border:1px solid #B8914A;border-radius:99px;padding:6px 12px}
.invite.i2{background:#161210;color:#F4ECDD}.invite.i2 .iv-in b{color:#E7C27A}.invite.i2 .iv-in .lg-mask{color:#E7C27A}
.invite.i3{background:#8a0f21;color:#F4ECDD}.invite.i3 .iv-in b{color:#F4ECDD}.invite.i3 .iv-in .lg-mask{color:#E7C27A}.invite.i3 .iv-in small{color:#E7C27A}
.pt-cards .i1{position:absolute;left:4%;top:20px;transform:rotate(-7deg)}
.pt-cards .i2{position:absolute;right:4%;top:90px;transform:rotate(6deg)}
.invites{padding:120px 0}
.inv-row{display:grid;grid-template-columns:repeat(3,1fr) 1.2fr;gap:28px;align-items:start}
.inv-row .invite{width:100%}
.inv-row .i1{transform:rotate(-2deg)}.inv-row .i2{transform:rotate(1.5deg) translateY(20px)}.inv-row .i3{transform:rotate(-1deg)}
.guestlist{background:var(--paper);border:1.5px solid var(--ink);border-radius:16px;padding:20px;font-size:14px}
.gl-h{display:flex;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1.5px solid var(--ink);margin-bottom:6px}
.gl-h span{font:500 10px var(--mono);color:var(--muted)}
.guestlist ul{list-style:none}
.guestlist li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.guestlist em{font:500 10px var(--mono);font-style:normal;color:var(--muted)}
.guestlist em.ok{color:#1f7a3f}.guestlist em.no{color:var(--red)}
/* member card */
.clube-teaser{padding:120px 0}
.ct-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.ct-txt h2{font-size:clamp(50px,6vw,96px)}
.ct-txt p{margin:22px 0;color:var(--ink2);font-size:18px;max-width:500px}
.member-card{width:min(100%,460px);aspect-ratio:1.586;border-radius:22px;background:#4A0510 url(img/velvet.webp) center/auto 140%;box-shadow:0 40px 80px rgba(22,18,16,.35),inset 0 0 0 1px rgba(231,194,122,.5);position:relative;overflow:hidden;transform:rotate(-4deg);color:#F6EFE4}
.member-card::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,235,200,.22) 45%,transparent 60%);background-size:250% 100%;animation:sheen 5s ease-in-out infinite}
@keyframes sheen{0%,60%{background-position:120% 0}100%{background-position:-60% 0}}
.mc-in{position:absolute;top:0;right:0;bottom:0;left:0;padding:26px 28px;display:flex;flex-direction:column;background:linear-gradient(135deg,rgba(22,18,16,.55),rgba(22,18,16,.15))}
.mc-in .lg-mask{width:40px;color:#E7C27A}
.mc-t{position:absolute;right:28px;top:30px;font:500 11px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:#E7C27A}
.mc-name{margin-top:auto;font:600 30px var(--serif)}
.mc-row{display:flex;justify-content:space-between;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-top:6px}
.mc-pts{position:absolute;right:28px;top:62px;font:500 11px var(--mono);opacity:.8}.mc-pts b{font:600 22px var(--serif);display:block;text-align:right}
.steps3{list-style:none;display:grid;gap:12px;margin:26px 0}
.steps3 li{display:flex;gap:16px;align-items:center}
.steps3 b{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font:600 16px var(--serif)}
/* houses: two stacked photos cross-fade while scrolling */
.stage-img{display:block;position:relative}
.stage-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .7s ease,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.stage-img img.on{opacity:1;transform:none}
.preview .go,.go{display:inline-block;margin-top:12px;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.cast li[data-v] a{display:contents}
.casas-full{padding:70px 0 120px}
/* house page */
.casa-hero{position:relative;height:min(86vh,860px);min-height:560px;overflow:hidden;color:#F6EFE4;background:var(--night)}
.ch-img{position:absolute;top:0;right:0;bottom:0;left:0}.ch-img img{width:100%;height:100%;object-fit:cover}
.ch-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(22,18,16,.35),transparent 35%,rgba(22,18,16,.85))}
.ch-in{position:absolute;left:0;right:0;bottom:0;padding-bottom:60px;z-index:2}
.ch-in h1{font-size:clamp(56px,9vw,150px);line-height:.88}
.ch-in .num{color:rgba(246,239,228,.75)}
.ch-logo img{height:64px;width:auto;margin-bottom:18px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}
.back-link{position:absolute;top:26px;left:40px;z-index:3;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.ch-now{margin-top:18px;font:500 12px var(--mono);letter-spacing:.06em}
.ch-now .st{color:#7fd39a}.ch-now .st.closed{color:#e8a0a8}
.casa-body{padding:90px 0}
.cb-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:70px}
.cb-about{font:500 26px/1.4 var(--serif);max-width:680px;margin-bottom:40px}
.cb-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cb-gallery figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:14px}
.cb-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.cb-gallery figure:hover img{transform:scale(1.05)}
.cb-side{position:sticky;top:110px;align-self:start;border:1.5px solid var(--ink);border-radius:20px;padding:26px;background:var(--paper)}
.cb-side h5{font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.cb-hours{list-style:none;margin-bottom:24px}
.cb-hours li{display:flex;gap:10px;align-items:baseline;padding:7px 0;font-size:15px}
.cb-hours .dots{flex:1;border-bottom:1px dotted var(--line)}
.cb-hours li.today{color:var(--red);font-weight:600}
.cb-side p{margin-bottom:22px}
.cb-btns{display:grid;gap:10px}
.ocards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
#spaces.ocards{grid-template-columns:repeat(3,1fr)}
.ocard{display:block}
.ocard img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 10px 10px;transition:transform .6s}
.ocard:hover img{transform:translateY(-6px)}
.ocard b{display:block;font:600 22px var(--serif);margin-top:14px}
.ocard span{font-size:14px;color:var(--muted)}
.casa-others,.spaces{padding:40px 0 120px}
/* how it works / timeline / faq / tiers / forms */
.how3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:70px}
.how3>div{border-top:1.5px solid var(--ink);padding-top:20px}
.how3 b{font:500 11px var(--mono);color:var(--red)}
.how3 h3{font-size:34px;margin:10px 0}
.how3 p{color:var(--ink2)}
.club-how,.tiers,.night-plan{padding:110px 0}
.timeline{list-style:none;border-left:2px solid var(--red);margin-left:10px}
.timeline li{position:relative;padding:0 0 26px 30px;display:flex;gap:26px;align-items:baseline}
.timeline li::before{content:"";position:absolute;left:-8px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px var(--stone)}
.timeline b{font:600 30px var(--serif);min-width:100px}
.faq{margin-top:50px;border-top:1.5px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font:600 20px var(--serif);list-style:none}
.faq summary::after{content:"+";float:right;color:var(--red)}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;color:var(--ink2)}
.tier-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tier{border:1.5px solid var(--ink);border-radius:22px;padding:26px;background:var(--paper)}
.tier.t2{background:#4A0510 url(img/velvet.webp) center/auto 160%;color:#F6EFE4;border-color:#4A0510;box-shadow:inset 0 0 0 999px rgba(22,18,16,.45)}
.tier.t3{background:var(--ink);color:#F6EFE4}
.t-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid currentColor;padding-bottom:14px;margin-bottom:14px}
.t-h b{font:600 30px var(--serif)}.t-h span{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.tier ul{list-style:none}.tier li{padding:8px 0;font-size:15px}
.tier li::before{content:"✓";color:var(--red);margin-right:10px}
.tier.t2 li::before,.tier.t3 li::before{color:#E7C27A}
.join{padding:110px 0;background:var(--paper)}
.join-in{max-width:760px}
.join-in h2{font-size:clamp(48px,6vw,90px);margin-bottom:30px}
.qform{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qform label{display:block}
.qform label>span{display:block;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.qform input,.qform select{width:100%;border:1.5px solid var(--ink);background:var(--stone);border-radius:12px;padding:14px;outline:none}
.qform input:focus,.qform select:focus{border-color:var(--red)}
.qform .wide{grid-column:1/-1}
.qform .check{display:flex;gap:10px;align-items:center}.qform .check input{width:auto}
.qform .btn{grid-column:1/-1;justify-self:start}
.quote{padding:120px 0;background:var(--paper)}
.q-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.q-grid h2{font-size:clamp(48px,6vw,90px)}
.clube-hero .chh-visual{position:relative;display:grid;place-items:center;min-height:420px}
.clube-hero .mask3d{position:absolute;top:-70px;left:50%;margin-left:-90px;width:180px;height:200px;z-index:2}
.clube-hero .member-card{margin-top:110px}
.clube-hero .member-card{transform:rotate(-6deg)}
/* reveillon page */
.rev-hero{position:relative;height:calc(100svh - 110px);min-height:600px;overflow:hidden;color:#F6EFE4;background:#000}
.rh-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.rh-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.1) 40%,rgba(0,0,0,.8))}
.rh-in{position:absolute;left:0;right:0;bottom:0;padding-bottom:60px;z-index:2}
.rh-in h1{font-size:clamp(56px,8vw,140px);line-height:.9;max-width:12ch;margin:12px 0 26px}
.rh-in .num{color:rgba(246,239,228,.75)}
.rh-in .neon{color:#B8102A}
.rh-in .countdown{margin-bottom:26px}
.rh-credit{position:absolute;right:20px;top:18px;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.6;z-index:2}
/* about */
.story{padding:110px 0}
.st-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.st-grid .win{aspect-ratio:3/4}
.facts.big{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}
.story .lead{font-size:20px;margin-bottom:30px;color:var(--ink2)}
.info-blocks{padding:20px 0 120px}
.ib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ib{border-top:1.5px solid var(--ink);padding-top:18px}
.ib h3{font-size:28px;margin-bottom:10px}
.ib p{color:var(--ink2);font-size:15px}
/* complete footer */
footer.foot{background:var(--night);color:#F6EFE4;padding:80px 0 0;margin-top:0}
.foot-top{display:grid;grid-template-columns:.9fr 2.1fr;gap:60px;padding-bottom:50px}
.foot-brand .lg-full{width:86px;color:#F6EFE4}
.foot .motto{font:600 26px/1.2 var(--serif);margin:20px 0 8px}
.foot-sub{color:rgba(246,239,228,.65);font-size:15px;max-width:340px}
.foot-news{margin-top:26px}
.foot-news label{display:block;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(246,239,228,.6);margin-bottom:10px}
.foot-news div{display:flex;gap:8px;background:rgba(246,239,228,.08);border:1px solid rgba(246,239,228,.18);border-radius:999px;padding:5px}
.foot-news input{flex:1;min-width:0;background:none;border:0;color:#F6EFE4;padding:0 14px;outline:none}
.foot-news .btn{background:var(--red);border-color:var(--red);color:#fff}
.foot-cols{display:grid;grid-template-columns:.9fr 1.7fr .9fr 1.2fr;gap:30px}
.foot,.foot ul,.foot-sub,.foot p{font-family:var(--sans)}
.foot h5{font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#B8102A;margin-bottom:16px}
.foot ul{list-style:none;font-size:14px;line-height:2;color:rgba(246,239,228,.78)}
.foot-casas ul{columns:2;column-gap:18px}
.foot a:hover{color:#B8102A}
.foot-mid{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 0;border-top:1px solid rgba(246,239,228,.12)}
.socials{display:flex;gap:18px;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.pays{display:flex;gap:8px;flex-wrap:wrap}
.pays span{border:1px solid rgba(246,239,228,.25);border-radius:6px;padding:5px 9px;font:500 10px var(--mono);color:rgba(246,239,228,.7)}
.foot .base .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ===== responsive ===== */
@media (max-width:1080px){
  .prog li a{grid-template-columns:90px 150px 1fr 130px;gap:20px}
  .rv-grid,.elenco,.book{grid-template-columns:1fr}
  .preview{display:none}
  .cast .th{display:block;grid-row:1/3;width:44px;height:52px;border-radius:30px 30px 0 0;overflow:hidden;align-self:center}
  .cast .th img{width:100%;height:100%;object-fit:cover}
  .cast .rn{display:none}
  .guichet{position:static}
}
@media (max-width:860px){
  .wrap{padding:0 20px}
  header.top .wrap{grid-template-columns:auto 1fr;height:64px}
  nav.main{display:none;position:absolute;top:64px;left:0;right:0;background:var(--stone);flex-direction:column;gap:0;padding:8px 20px 20px;border-bottom:1px solid var(--ink)}
  nav.main.open{display:flex}
  nav.main a{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
  .brand{grid-column:1;grid-row:1}
  .brand .lg-word{width:118px}.brand .lg-mask{width:24px}
  .right{grid-column:2;gap:10px}
  .burger{display:block}
  .right .btn.sm{display:none}
  .hero.hv{min-height:560px;height:calc(100svh - 100px)}
  .hv-in{padding-bottom:40px}
  .hero h1{font-size:clamp(52px,15vw,90px)}
  .hero .lead{font-size:16px;margin:18px 0 22px}
  .kicker{font-size:9px;padding:7px 12px;margin-bottom:18px}
  .hv-credit{display:none}
  .hero.palco{height:auto;min-height:0;max-height:none}
  .palco-grid{grid-template-columns:1fr;gap:34px;padding:40px 20px 120px}
  .floor3d{height:22%}
  .checks{height:44px;background-size:44px 44px}
  .phv-grid,.chh-grid,.ti-grid,.pt-grid,.ct-grid,.cb-grid,.q-grid,.st-grid{grid-template-columns:1fr;gap:40px}
  .page-hero{padding:80px 0 60px}
  .ph-masks{width:56vw;right:-6%;bottom:-4%;opacity:.5}
  .pt-cards{height:440px}.invite{width:240px}
  .inv-row{grid-template-columns:1fr;gap:34px}.inv-row .invite{max-width:300px;margin:0 auto}
  .foot-news .btn{padding:10px 14px;font-size:10px}
  .ocards,#spaces.ocards{grid-template-columns:1fr 1fr}
  .how3,.tier-row,.ib-grid{grid-template-columns:1fr}
  .facts.big{grid-template-columns:1fr 1fr}
  .qform{grid-template-columns:1fr}
  .countdown div{min-width:0;flex:1}.countdown b{font-size:30px}
  .cb-gallery{grid-template-columns:1fr 1fr}
  .cb-side{position:static}
  .back-link{left:20px}
  .foot-top{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr 1fr}
  .foot-casas{grid-column:1/-1}
  .timeline b{font-size:22px;min-width:64px}
  .clube-hero .mask3d{width:150px;height:170px;top:-60px}
  .show-switch .hero-switch{font-size:9px;bottom:auto;top:112px}.hero-switch span{display:none}
  .facts{grid-template-columns:1fr 1fr;gap:20px}
  .facts dt{font-size:34px}
  .sec-head{grid-template-columns:1fr}
  .sec-head p{justify-self:start}
  .prog-wrap,.reveillon,.casas,.clube{padding:80px 0}
  .filters select{margin-left:0}
  .prog li a{grid-template-columns:64px 1fr 92px;grid-template-rows:auto auto;gap:6px 14px;padding:18px 6px}
  .prog .d{grid-row:1/3}
  .prog .d b{font-size:42px}
  .prog .ph{grid-column:2/4;grid-row:1;aspect-ratio:16/9;border-radius:90px 90px 0 0}
  .prog .info{grid-column:2/3;grid-row:2}
  .prog .price{grid-column:3;grid-row:2;align-self:end}
  .prog .price b{font-size:24px}
  .prog h3{font-size:26px}
  .prog .where{font-size:14px}
  .pick{flex-direction:column;align-items:stretch;border-radius:24px;padding:20px}
  .plano{padding:30px 6px 14px}
  .split{grid-template-columns:1fr;min-height:0}
  .split .pic{height:62vw;min-height:280px}
  .split.rev .pic{order:0}
  .split .txt{padding:60px 20px 110px}
  .split .txt::after{left:20px;right:20px}
  .clube .card{padding:90px 22px 50px;border-radius:220px 220px 22px 22px}
  .clube form{flex-direction:column;border-radius:22px;padding:8px}
  .clube input{padding:14px}
  footer .grid{grid-template-columns:1fr 1fr}
  footer .grid>div:first-child{grid-column:1/-1}
  .ev-hero{padding:90px 0 50px}
  .ev-hero .meta{grid-template-columns:1fr;gap:16px}
  .book{gap:50px;padding-top:50px}
  .about .info{grid-template-columns:1fr}
  .box{padding:22px 18px}
}
@media (prefers-reduced-motion:reduce){
  .wipe,.cursor{display:none}
  .js .rv{opacity:1;transform:none}
  .ticker .row{animation:none}
  .pano{display:none}
}

nav.main a{white-space:nowrap}
@media (min-width:861px){nav.main{gap:20px}nav.main a{font-size:11px;letter-spacing:.12em}}

/* v6: the curtain has no valance any more (symmetric 3D cloth only) */
.pano .valance{display:none}
.pano .half::after{display:none}

/* the film carries the logo: no « abre o pano » label over it */
.pano.is3d .pano-in,.pano-snap ~ .pano-in{display:none}

/* home poster: the film, their gold logo, this week's bill. No slogan. */
.hv-poster .hv-shade{background:linear-gradient(180deg,rgba(14,10,9,.25),rgba(14,10,9,.05) 35%,rgba(14,10,9,.35) 70%,rgba(14,10,9,.92))}
.hv-logo{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:2;margin:0;width:clamp(150px,14vw,230px)}
.hv-logo .lg-full{width:100%;color:#E7C989;filter:drop-shadow(0 6px 30px rgba(0,0,0,.55))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hv-bill{position:absolute;left:0;right:0;bottom:0;z-index:2;border-top:1px solid rgba(246,239,228,.25);background:rgba(14,10,9,.35);-webkit-backdrop-filter:none;backdrop-filter:none}
.hv-bill-in{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding-top:22px;padding-bottom:22px;color:#F6EFE4}
.hv-place{font:600 15px/1.25 var(--sans);letter-spacing:.02em}.hv-place span{font-weight:400;opacity:.65}
.hv-week{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0}
.hv-week li{border-left:1px solid rgba(246,239,228,.2)}
.hv-week a{display:block;padding:2px 22px}
.hv-week b{display:block;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.hv-week span{display:block;font:600 18px/1.25 var(--sans);margin:4px 0 2px}
.hv-week i{font-style:normal;font-size:13px;opacity:.65}
.hv-week a:hover span{text-decoration:underline;text-underline-offset:4px}
.hv-all{font:600 14px var(--sans);white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:2px}
@media (max-width:860px){
  .hv-logo{top:38%;width:140px}
  .hv-bill-in{grid-template-columns:1fr;gap:14px;padding-top:16px;padding-bottom:18px}
  .hv-place{display:none}
  .hv-week{grid-template-columns:1fr}
  .hv-week li{border-left:0;border-top:1px solid rgba(246,239,228,.15)}
  .hv-week li:nth-child(n+3){display:none}
  .hv-week a{padding:10px 0}
  .hv-week span{font-size:16px}
}

/* houses: the photo is a plain square frame, held in the middle of the screen while the list scrolls */
.preview{top:calc(50vh - min(42vh, 260px) + 38px)}
.preview .win{aspect-ratio:1/1;max-height:min(58vh,520px);margin:0 auto;border-radius:0;box-shadow:0 0 0 7px var(--stone),0 0 0 8.5px var(--ink)}
.preview .win .balcony{display:none}

/* page to page: the browser keeps the closed curtain on screen until the next page is ready (no blank flash) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation:none}
/* the picture of the closed curtain stays until the film has really painted its first frame */
.pano.is3d .pano-snap{display:block}
.pano.film-on .pano-snap{display:none}

/* titles in a brush script close to the logo's lettering (Kaushan Script): one weight, no fake bold, a little air */
h1,h2,h3{font-weight:400!important;letter-spacing:0!important;line-height:1.02}
.neon{font-style:normal!important;font-weight:400;letter-spacing:0}
[style*="var(--serif)"],.facts dt,.prog .d b,.prog .price b,.countdown b,.tt .p,.total b,.ticket .t1,.mc-name,.t-h b,.timeline b,.how3 h3,.cb-about,.motto,.box h3{font-weight:400!important;letter-spacing:0!important}
.prog .d b,.facts dt,.countdown b,.prog .price b,.total b{font-family:var(--sans)!important;font-weight:600!important;letter-spacing:-.02em!important}
.cb-about{font-family:var(--sans)!important;font-size:22px!important}

/* concept site: inline form message + discreet credit, bottom left */
.foot-news .concept-msg{margin-top:10px;font:500 10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#E7C989}
.concept-note{position:fixed;left:14px;bottom:14px;z-index:550;background:rgba(22,18,16,.82);color:#E7C989;border:1px solid rgba(231,201,137,.35);border-radius:999px;padding:7px 13px;font:500 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .25s,color .25s}
.concept-note:hover{background:var(--red);color:#fff}
@media (max-width:600px){.concept-note{left:10px;bottom:10px;font-size:8.5px;padding:6px 10px}}
