/* ==========================================================================
   BAILE DO RUBI 2026 — OAB Anápolis
   Redesign. Paleta: preto profundo, rubi, dourado quente, creme.
   ========================================================================== */

:root{
  --bg:#060306;
  --bg-2:#0B0508;
  --bg-3:#100608;
  --ink:#F4EDE3;
  --ink-2:#B6ABA0;
  --ink-3:#7C7168;
  --ink-25:#9C9289;  /* 6.7:1 no preto — listas longas sem virar cinza morto */
  --gold:#C8A15A;
  --gold-soft:#E0C48E;
  --ruby:#C41230;
  --oxblood:#6E0C18;
  --hair:rgba(200,161,90,.20);
  --hair-soft:rgba(244,237,227,.10);

  --f-display:"Fraunces", Georgia, "Times New Roman", serif;
  --f-ui:"Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --wrap:1180px;
  --pad:clamp(20px, 5vw, 64px);
  --sec-y:clamp(56px, 7.5vw, 104px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--f-ui);
  font-weight:300;
  font-size:17px;
  line-height:1.68;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* ---------- primitivos ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.wrap--narrow{max-width:860px}

.sec{padding-block:var(--sec-y);position:relative}
.sec--tint{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 22%,var(--bg-2) 78%,var(--bg) 100%)}

.eyebrow{
  font-family:var(--f-ui);font-size:.8rem;font-weight:400;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin:0 0 clamp(18px,2.4vw,28px);
  display:flex;align-items:center;gap:14px;
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--hair);max-width:120px}
.eyebrow--center{justify-content:center}
.eyebrow--center::after{display:none}
.eyebrow--tight{margin-bottom:10px}
.eyebrow--tight::after{display:none}
.eyebrow--mt{margin-top:clamp(40px,5vw,64px)}

.h-display{
  font-family:var(--f-display);font-weight:500;
  font-variation-settings:"SOFT" 28,"WONK" 1,"opsz" 120;
  font-size:clamp(2.1rem,5.4vw,4.2rem);
  line-height:1.1;letter-spacing:-.005em;margin:0;
}
.h-display--sm{font-size:clamp(1.85rem,4.1vw,3.1rem);max-width:16ch}
.h-display span{display:block}
.gold-i{color:var(--gold-soft);font-style:italic}

.h-serif{
  font-family:var(--f-display);font-weight:500;font-style:normal;
  font-variation-settings:"SOFT" 24,"opsz" 48;
  font-size:clamp(1.35rem,2.3vw,1.85rem);line-height:1.2;margin:0 0 8px;letter-spacing:-.01em;
}

.lede{color:var(--ink-2);max-width:56ch;font-size:1.2rem;line-height:1.6;margin:clamp(20px,3vw,30px) 0 0}
.lede--center{margin-inline:auto;text-align:center}

.link-gold{
  color:var(--gold);text-decoration:none;font-size:.82rem;letter-spacing:.2em;
  text-transform:uppercase;border-bottom:1px solid var(--hair);padding-bottom:5px;
  display:inline-block;transition:border-color .3s,color .3s;
}
.link-gold:hover{color:var(--gold-soft);border-color:var(--gold)}

.btn{
  --b:var(--hair);
  display:inline-block;font-family:var(--f-ui);font-size:.82rem;font-weight:400;
  letter-spacing:.26em;text-transform:uppercase;text-decoration:none;
  padding:16px 34px;border:1px solid var(--b);color:var(--ink);
  background:transparent;transition:background .35s,color .35s,border-color .35s;
  position:relative;
}
.btn:hover{border-color:var(--gold);color:var(--gold-soft)}
.btn--solid{background:var(--ruby);border-color:var(--ruby);color:#fff}
.btn--solid:hover{background:#E0203C;border-color:#E0203C;color:#fff}
.btn--sm{padding:12px 24px;font-size:.74rem;letter-spacing:.18em}
.btn--lg{padding:19px 46px;margin-top:clamp(28px,4vw,40px)}

/* ---------- NAV ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:60;
  transition:background .4s,border-color .4s,backdrop-filter .4s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{background:rgba(6,3,6,.86);backdrop-filter:blur(14px);border-bottom-color:var(--hair-soft)}
.nav__inner{
  width:100%;max-width:1320px;margin-inline:auto;padding:14px var(--pad);
  display:flex;align-items:center;gap:24px;
}
.nav__brand{
  font-family:var(--f-display);font-size:1.15rem;letter-spacing:.14em;
  text-transform:uppercase;text-decoration:none;white-space:nowrap;
}
.nav__links{display:flex;gap:28px;margin-left:auto}
.nav__links a{
  font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;color:var(--ink-2);transition:color .3s;
}
.nav__links a:hover{color:var(--gold)}
@media(max-width:860px){
  .nav__links{display:none}
  .nav .btn--sm{margin-left:auto}
}

/* ---------- HERO ---------- */
.hero{position:relative;height:220vh;background:var(--bg)}
.hero__stage{
  position:sticky;top:0;height:100svh;overflow:hidden;
  background:#000;
}
/* O palco é deslocado para cima: object-fit:cover só reposiciona no eixo em
   que sobra imagem, e num viewport landscape a sobra é horizontal. Puxar o
   elemento com `top` negativo é o que de fato levanta o rubi acima da copy. */
.hero__poster,.hero__video{
  position:absolute;left:0;right:0;top:-14%;width:100%;height:100%;
  object-fit:cover;object-position:center center;
}
.hero__video{opacity:0;transition:opacity .6s ease}
.hero__video.is-live{opacity:1}
.hero__veil{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(130% 70% at 50% 26%, rgba(6,3,6,0) 34%, rgba(6,3,6,.52) 74%, rgba(6,3,6,.9) 100%),
    linear-gradient(180deg, rgba(6,3,6,.68) 0%, rgba(6,3,6,0) 20%, rgba(6,3,6,.55) 52%, rgba(6,3,6,.96) 78%, var(--bg) 100%);
}
/* O conteúdo vive no terço inferior: o rubi girando fica livre no topo,
   que é o ponto da hero. O véu cria a "mesa" escura sob a tipografia. */
.hero__content{
  position:sticky;top:0;margin-top:-100svh;height:100svh;z-index:5;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  text-align:center;padding:96px var(--pad) calc(clamp(28px,5vh,56px) + env(safe-area-inset-bottom));
  width:100%;
}
.hero__title{
  font-family:var(--f-display);font-weight:500;margin:0;
  font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 144;
  font-size:clamp(2.15rem,6vw,4.6rem);line-height:1.06;letter-spacing:-.01em;
  text-shadow:0 4px 40px rgba(6,3,6,.85);
}
.hero__title .line{display:block}
.hero__title .line--gold{color:var(--gold-soft);font-style:italic}
.hero__meta{
  margin:clamp(20px,3vw,30px) 0 0;font-size:.82rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ink-2);
}
.hero__meta span{white-space:nowrap;display:inline-block}
.hero__meta i{color:var(--gold);font-style:normal;margin-left:6px}
.hero__cue{
  margin:clamp(24px,3.6vw,40px) 0 0;font-size:.72rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--ink-3);
}
.hero__cue::before{
  content:"";display:block;width:1px;height:34px;margin:0 auto 12px;
  background:linear-gradient(180deg,transparent,var(--gold));
  animation:cue 2.6s ease-in-out infinite;
}
@keyframes cue{0%,100%{opacity:.25;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* contagem regressiva */
.countdown{
  display:flex;gap:clamp(14px,3vw,34px);justify-content:center;
  margin:clamp(26px,3.6vw,40px) 0 clamp(28px,4vw,42px);
}
.cd__cell{min-width:70px}
.cd__cell b{
  display:block;font-family:var(--f-display);font-weight:400;
  font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.cd__cell span{
  display:block;margin-top:9px;font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);
}

/* ---------- MANIFESTO ---------- */
.sec--manifesto{padding-top:clamp(64px,9vw,120px)}
.manifesto{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(32px,6vw,80px);align-items:end}
.manifesto .h-display span{margin-bottom:.12em}
.manifesto__side{width:100%}
.manifesto__side p{color:var(--ink-2);font-size:1.12rem;line-height:1.6;margin:0 0 26px}
@media(max-width:880px){.manifesto{grid-template-columns:1fr;align-items:start}}

/* ---------- ATMOSFERA ---------- */
.atmos{position:relative;overflow:hidden}
.atmos img{width:100%;height:clamp(380px,66vh,660px);object-fit:cover;object-position:center 38%}
.atmos::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(6,3,6,.25) 26%,rgba(6,3,6,.55) 70%,var(--bg) 100%);
}
.atmos__copy{
  position:absolute;inset:auto 0 0 0;z-index:2;
  padding:0 var(--pad) clamp(34px,6vw,64px);
  width:100%;max-width:var(--wrap);margin-inline:auto;left:0;right:0;
}
.atmos__line{
  font-family:var(--f-display);font-style:italic;color:var(--gold-soft);
  font-size:clamp(1.45rem,3.2vw,2.3rem);margin:0;line-height:1.25;
}

/* ---------- PILARES ---------- */
.pilares{
  margin-top:clamp(26px,3.4vw,44px);
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--hair-soft);border-block:1px solid var(--hair-soft);
}
.pilar{background:var(--bg);padding:clamp(28px,3.4vw,42px) clamp(20px,2.4vw,32px)}
.pilar b{
  display:block;font-family:var(--f-display);font-size:1.7rem;color:var(--gold);
  font-weight:400;margin-bottom:20px;
}
.pilar h3{font-family:var(--f-display);font-weight:400;font-size:1.35rem;margin:0 0 10px;letter-spacing:-.01em}
.pilar p{margin:0;color:var(--ink-2);font-size:1.08rem}
@media(max-width:940px){.pilares{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pilares{grid-template-columns:1fr}}

/* ---------- SPLIT (imagem + texto) ---------- */
.split{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(26px,4vw,56px);
  align-items:center;margin-top:clamp(26px,3.4vw,44px);
}
.split--rev .split__media{order:2}
.split__media{width:100%;align-self:center;margin:0;position:relative}
.split__media img{width:100%;height:auto;display:block}
.split__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 90px 20px rgba(6,3,6,.65);
}
.split__body{width:100%;display:flex;flex-direction:column;gap:clamp(28px,4vw,46px)}
.split--rev .split__body{order:1}
.feature p{margin:0;color:var(--ink-2);font-size:1.08rem;max-width:44ch}
@media(max-width:880px){
  .split{grid-template-columns:1fr}
  .split--rev .split__media,.split--rev .split__body{order:initial}
}

/* ---------- LINHAS (listas de bebidas / drinks) ---------- */
.rows{margin:clamp(30px,4vw,48px) 0 0;border-top:1px solid var(--hair-soft)}
.row{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,4vw,48px);
  align-items:baseline;padding:22px 0;border-bottom:1px solid var(--hair-soft);
}
.rows--num .row{grid-template-columns:38px minmax(0,1fr) 1.1fr}
.row b{font-family:var(--f-display);color:var(--gold);font-weight:400;font-size:1.08rem}
.row dt{
  font-family:var(--f-display);font-size:clamp(1.05rem,2vw,1.35rem);
  margin:0;min-width:clamp(140px,20vw,240px);
}
.row dd{margin:0;color:var(--ink-2);font-size:1.1rem}
@media(max-width:700px){
  .row,.rows--num .row{grid-template-columns:1fr;gap:6px}
  .rows--num .row b{order:-1}
  .row dt{min-width:0}
}

/* ---------- MENU / FAQ (accordion) ---------- */
.menu{margin-top:clamp(28px,4vw,44px);border-top:1px solid var(--hair-soft)}
.item{border-bottom:1px solid var(--hair-soft)}
.item summary{
  list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
  display:flex;align-items:baseline;gap:clamp(14px,2.4vw,28px);
}
.item summary::-webkit-details-marker{display:none}
.item summary b{
  font-family:var(--f-display);color:var(--gold);font-weight:400;
  font-size:1.05rem;flex:none;
}
.item summary span{
  font-family:var(--f-display);font-size:clamp(1.08rem,2.1vw,1.42rem);
  line-height:1.25;letter-spacing:-.01em;
}
.item summary::after{
  content:"";position:absolute;right:4px;top:50%;width:11px;height:11px;
  border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);
  transform:translateY(-70%) rotate(45deg);transition:transform .35s;
}
.item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.item__body{padding:0 0 28px;max-width:70ch}
.item__body p{margin:0 0 14px;color:var(--ink-2);font-size:1.1rem}
.sublabel{
  font-size:.72rem!important;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold)!important;margin:22px 0 10px!important;
}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.pills li{
  font-size:.88rem;letter-spacing:.04em;color:var(--ink-2);
  border:1px solid var(--hair-soft);padding:8px 15px;border-radius:999px;
}
.bebidas{margin-top:clamp(34px,4.4vw,52px)}

/* ---------- ATRAÇÕES ---------- */
.band{margin:clamp(26px,3.4vw,44px) 0 0;position:relative;overflow:hidden}
.band img{width:100%;height:clamp(240px,42vh,460px);object-fit:cover;object-position:center 28%}
.band::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,3,6,.55) 0%,rgba(6,3,6,.12) 40%,rgba(6,3,6,.72) 100%);
}
.acts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--hair-soft);margin-top:clamp(26px,3.4vw,44px);
  border-block:1px solid var(--hair-soft);
}
.act{background:var(--bg-2);padding:clamp(26px,3.2vw,40px) clamp(18px,2.2vw,28px)}
.act .eyebrow{margin:0;font-size:.72rem;letter-spacing:.2em;color:var(--ink-25)}
@media(max-width:940px){.acts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.acts{grid-template-columns:1fr}}

/* ---------- FACTS + TICKETS ---------- */
.facts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--hair-soft);border:1px solid var(--hair-soft);
  margin-top:clamp(26px,3.4vw,44px);
}
.facts>div{background:var(--bg-2);padding:clamp(22px,2.8vw,32px)}
.facts span{
  display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px;
}
.facts b{font-family:var(--f-display);font-weight:400;font-size:clamp(1.12rem,1.9vw,1.35rem);line-height:1.3;display:block}
@media(max-width:860px){.facts{grid-template-columns:repeat(2,1fr)}}

.tickets{
  display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,28px);
  margin-top:clamp(24px,3.4vw,40px);
}
.ticket{
  width:100%;border:1px solid var(--hair-soft);padding:clamp(30px,4vw,48px);
  display:flex;flex-direction:column;align-items:flex-start;
  background:linear-gradient(180deg,rgba(110,12,24,.16),rgba(6,3,6,0));
}
.ticket p{color:var(--ink-2);margin:0 0 auto;padding-bottom:28px;font-size:1.1rem}
@media(max-width:760px){.tickets{grid-template-columns:1fr}}

/* ---------- CTA FINAL ---------- */
.final{
  padding-block:clamp(76px,10vw,140px);text-align:center;position:relative;overflow:hidden;
  background:
    radial-gradient(90% 120% at 50% 108%, rgba(196,18,48,.30) 0%, rgba(110,12,24,.10) 42%, rgba(6,3,6,0) 72%),
    var(--bg);
  border-top:1px solid var(--hair-soft);
}
.final__h{margin-top:6px}
.final .btn--lg{position:relative;z-index:2}

/* ---------- FOOTER ---------- */
.foot{padding:clamp(48px,6vw,80px) 0 calc(clamp(48px,6vw,80px) + env(safe-area-inset-bottom));border-top:1px solid var(--hair-soft);background:var(--bg-2)}
.foot__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,48px)}
.foot p{margin:0 0 7px;color:var(--ink-25);font-size:1.02rem}
.foot__brand{
  font-family:var(--f-display)!important;color:var(--ink)!important;
  font-size:1.2rem!important;letter-spacing:.06em;margin-bottom:10px!important;
}
.foot__legal{margin-top:clamp(36px,5vw,56px)!important;padding-top:24px;border-top:1px solid var(--hair-soft);font-size:.85rem!important}
@media(max-width:760px){.foot__grid{grid-template-columns:1fr}}

/* ---------- CTA fixo (mobile) ---------- */
.sticky-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:var(--ruby);color:#fff;text-decoration:none;text-align:center;
  padding:16px 20px calc(16px + env(safe-area-inset-bottom));
  font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;
  transform:translateY(110%);transition:transform .4s ease;
}
.sticky-cta.is-on{transform:translateY(0)}
@media(max-width:860px){
  /* No retrato o cover ampliaria demais o rubi. Vira faixa no topo,
     com a tipografia respirando no preto abaixo. */
  .hero{height:180vh}
  .hero__poster,.hero__video{top:0;height:56%}
  .hero__veil{
    background:
      radial-gradient(150% 46% at 50% 16%, rgba(6,3,6,0) 40%, rgba(6,3,6,.42) 80%, rgba(6,3,6,.9) 100%),
      linear-gradient(180deg, rgba(6,3,6,.62) 0%, rgba(6,3,6,0) 18%, rgba(6,3,6,.55) 44%, var(--bg) 58%);
  }
  .hero__content{justify-content:flex-end;padding-bottom:calc(clamp(34px,7vh,64px) + env(safe-area-inset-bottom))}
  .sticky-cta{display:block}
  .foot{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}

/* ==========================================================================
   ANIMAÇÕES — default-visible, animation opt-in
   Conteúdo é SEMPRE visível por padrão. Só quando o JS confirma desktop +
   suporte a IntersectionObserver a classe .fx-ready entra no <html> e as
   animações de entrada passam a valer. Mobile nunca fica com bloco em branco.
   ========================================================================== */
@media(min-width:861px){
  html.fx-ready .fx-in{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
  html.fx-ready .fx-in.is-in{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  html.fx-ready .fx-in{opacity:1!important;transform:none!important;transition:none!important}
  .hero__cue::before{animation:none}
  html{scroll-behavior:auto}
}

.cd__live{
  font-family:var(--f-display);font-style:italic;color:var(--gold-soft);
  font-size:clamp(1.2rem,2.6vw,1.7rem);margin:0;
}

/* ==========================================================================
   CARTA — menu de gala em formato de cardápio
   Substitui o accordion + pills: tudo visível de uma vez, sem clique, com
   hierarquia de leitura (número → estação → descrição → itens).
   ========================================================================== */
.carta{
  margin-top:clamp(22px,3vw,34px);
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(26px,3.4vw,44px) clamp(32px,5vw,72px);
}
.prato{width:100%;padding-top:22px;border-top:1px solid var(--hair-soft)}
.prato header{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}
.prato header b{
  font-family:var(--f-display);font-weight:500;color:var(--gold);
  font-size:.95rem;flex:none;font-variant-numeric:tabular-nums;
}
.prato h3{
  font-family:var(--f-display);font-weight:500;font-variation-settings:"SOFT" 24,"opsz" 48;
  font-size:clamp(1.12rem,1.9vw,1.4rem);line-height:1.22;margin:0;letter-spacing:-.005em;
}
.prato__desc{margin:0;color:var(--ink-2);font-size:1.08rem}
.prato__itens{
  margin:12px 0 0;font-size:1.02rem;line-height:1.78;color:var(--ink-25);
}
.prato__itens em{
  font-style:normal;display:block;font-family:var(--f-ui);
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:4px;
}
@media(max-width:820px){.carta{grid-template-columns:1fr;gap:26px}}

/* ---------- ARTISTAS: imagem inteira, sem corte de rosto ---------- */
.artistas{
  margin:clamp(26px,3.4vw,44px) 0 0;width:100%;
  border:1px solid var(--hair-soft);background:#000;position:relative;overflow:hidden;
}
.artistas img{width:100%;height:auto;display:block}
.artistas::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,3,6,.30) 0%,rgba(6,3,6,0) 22%,rgba(6,3,6,0) 74%,rgba(6,3,6,.55) 100%);
}

/* ---------- URGÊNCIA ---------- */
.urgencia{
  display:inline-flex;align-items:center;gap:11px;margin:clamp(24px,3vw,36px) 0 0;
  padding:11px 20px;border:1px solid rgba(196,18,48,.42);
  background:rgba(196,18,48,.10);
  font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
}
.urgencia__dot{
  width:7px;height:7px;border-radius:50%;background:var(--ruby);flex:none;
  box-shadow:0 0 0 0 rgba(196,18,48,.7);animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(196,18,48,.65)}
  70%{box-shadow:0 0 0 11px rgba(196,18,48,0)}
  100%{box-shadow:0 0 0 0 rgba(196,18,48,0)}
}

/* ---------- TICKETS reforçados ---------- */
.ticket--destaque{
  border-color:rgba(196,18,48,.45);
  background:linear-gradient(180deg,rgba(196,18,48,.14),rgba(6,3,6,0) 68%);
}
.ticket__desc{color:var(--ink-2);margin:0 0 20px!important;padding-bottom:0!important;font-size:1.12rem}
.inclui{list-style:none;padding:0;margin:0 0 28px;width:100%}
.inclui li{
  position:relative;padding-left:24px;margin-bottom:11px;
  color:var(--ink-2);font-size:1.04rem;line-height:1.55;
}
.inclui li::before{
  content:"";position:absolute;left:2px;top:.52em;
  width:9px;height:5px;border-left:1px solid var(--gold);border-bottom:1px solid var(--gold);
  transform:rotate(-45deg);
}
.btn--full{width:100%;text-align:center}
.ticket__nota{
  margin:14px 0 0!important;padding:0!important;
  font-size:.82rem!important;color:var(--ink-25);letter-spacing:.02em;
}

/* ==========================================================================
   ATMOSFERA — vídeo vertical do evento (segunda dobra)
   Retrato 9:16 preservado num quadro, com a copy ao lado: nada de recortar
   um vídeo vertical para caber num bloco horizontal.
   ========================================================================== */
.atmosfera{
  padding-block:clamp(56px,7.5vw,104px);
  background:
    radial-gradient(80% 90% at 78% 40%, rgba(110,12,24,.24) 0%, rgba(6,3,6,0) 62%),
    var(--bg);
  border-block:1px solid var(--hair-soft);
}
.atmosfera__grid{
  display:grid;grid-template-columns:1fr .8fr;
  gap:clamp(30px,5vw,76px);align-items:center;
}
.atmosfera__copy{width:100%}
.atmosfera__copy .lede{margin-bottom:clamp(26px,3.4vw,38px)}

.atmosfera__media{
  margin:0;width:100%;max-width:440px;justify-self:center;
  position:relative;border:1px solid var(--hair);
  box-shadow:0 30px 90px -30px rgba(0,0,0,.9), 0 0 70px -20px rgba(196,18,48,.28);
}
.atmosfera__video{
  width:100%;height:auto;display:block;background:#000;
  aspect-ratio:804/1440;object-fit:cover;
}

/* botão de som */
.som{
  display:inline-flex;align-items:center;gap:12px;cursor:pointer;
  font-family:var(--f-ui);font-size:.82rem;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink);
  background:transparent;border:1px solid var(--hair);padding:14px 26px;
  transition:border-color .3s,color .3s,background .3s;
}
.som:hover{border-color:var(--gold);color:var(--gold-soft)}
.som:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.som__icon{display:flex;flex:none}
.som__icon svg{width:19px;height:19px}
/* mudo: mostra o X, esconde as ondas. Ao ativar, inverte. */
.som .som__waves{opacity:0;transition:opacity .3s}
.som .som__mute{opacity:1;transition:opacity .3s}
.som[aria-pressed="true"]{border-color:var(--gold);color:var(--gold-soft)}
.som[aria-pressed="true"] .som__waves{opacity:1}
.som[aria-pressed="true"] .som__mute{opacity:0}

@media(max-width:880px){
  .atmosfera__grid{grid-template-columns:1fr;gap:clamp(26px,5vw,40px)}
  .atmosfera__media{max-width:380px;order:-1}
}

/* ==========================================================================
   PLAYER do vídeo da atmosfera
   Controles próprios (os nativos não seguem a identidade e variam por
   navegador). Aparecem sempre no toque; no desktop, no hover/foco.
   ========================================================================== */
.player{position:relative;width:100%;line-height:0;background:#000}
.player .atmosfera__video{width:100%;height:auto;display:block}

/* botão central */
.player__toggle{
  position:absolute;inset:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;cursor:pointer;padding:0;
}
.player__icon{
  display:flex;align-items:center;justify-content:center;
  width:74px;height:74px;border-radius:50%;
  background:rgba(6,3,6,.55);border:1px solid rgba(244,237,227,.55);
  backdrop-filter:blur(6px);color:#fff;
  transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s,background .3s;
}
.player__icon svg{width:26px;height:26px;margin-left:2px}
.player__toggle:hover .player__icon{transform:scale(1.08);background:rgba(196,18,48,.72)}
.player__toggle:focus-visible .player__icon{outline:2px solid var(--gold);outline-offset:4px}
/* tocando: o botão central some (volta no hover) */
.player.is-playing .player__icon{opacity:0;transform:scale(.9)}
.player.is-playing:hover .player__icon,
.player.is-playing .player__toggle:focus-visible .player__icon{opacity:1;transform:scale(1)}
.ico-pause{display:none}
.player.is-playing .ico-pause{display:block}
.player.is-playing .ico-play{display:none}

/* barra inferior */
.player__bar{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;gap:10px;
  padding:14px 14px 13px;line-height:1;
  background:linear-gradient(180deg,rgba(6,3,6,0),rgba(6,3,6,.88) 62%);
  opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;
}
.player:hover .player__bar,
.player:focus-within .player__bar,
.player.is-paused .player__bar{opacity:1;transform:none}
@media(hover:none){.player__bar{opacity:1;transform:none}}

.player__mini{
  flex:none;width:30px;height:30px;padding:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;color:var(--ink);transition:color .25s;
}
.player__mini:hover{color:var(--gold-soft)}
.player__mini:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}
.player__mini svg{width:17px;height:17px}
.player__mini .som__waves{opacity:0;transition:opacity .25s}
.player__mini .som__mute{opacity:1;transition:opacity .25s}
.player__mini[aria-pressed="true"]{color:var(--gold-soft)}
.player__mini[aria-pressed="true"] .som__waves{opacity:1}
.player__mini[aria-pressed="true"] .som__mute{opacity:0}

.player__t{
  flex:none;font-family:var(--f-ui);font-size:.72rem;color:var(--ink-2);
  font-variant-numeric:tabular-nums;letter-spacing:.04em;
}
.player__track{
  flex:1;min-width:0;height:3px;cursor:pointer;position:relative;
  background:rgba(244,237,227,.22);border-radius:2px;
}
.player__track::before{content:"";position:absolute;inset:-9px 0;} /* alvo de toque maior */
.player__track:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.player__fill{
  position:absolute;left:0;top:0;bottom:0;width:0;
  background:var(--ruby);border-radius:2px;
}
.player__fill::after{
  content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);
  width:9px;height:9px;border-radius:50%;background:var(--ink);
  opacity:0;transition:opacity .25s;
}
.player:hover .player__fill::after{opacity:1}

/* ---------- DESTAQUE: linha da safra sob o nome do vinho ---------- */
.destaque__sub{
  margin:2px 0 10px!important;color:var(--gold)!important;
  font-family:var(--f-display);font-style:italic;font-size:1.05rem!important;
}
}
