/* ==========================================================
   Festival Sertanejo Villa Country — Canal VIP
   Folha compartilhada (index.html + obrigado.html).
   O bloco entre CRITICAL:START e CRITICAL:END é copiado inline
   no <head> do index.html por tools/inline-critical.cjs.
   ========================================================== */

/* CRITICAL:START */
/* Fontes auto-hospedadas (subset latin, SIL OFL) — evita a cadeia CSS→fonte do Google */
@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/anton-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url("../assets/fonts/archivo-var-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --bg:#0B0D14;--bg-2:#1D1219;--wine:#421820;--rust:#B53324;--orange:#FF5A23;
  --orange-hi:#FF652A;--orange-lo:#FF431C;--gold:#FFB240;--cream:#F3E6DA;--white:#FFFFFF;
  --wa-green:#25D366;--error:#FF8A7A;
  --cream-70:rgba(243,230,218,.7);
  --sunset:linear-gradient(180deg,#0B0D14 0%,#1D1219 38%,#B53324 78%,#E48D3B 100%);
  --f-body:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-display:"Anton","Arial Narrow",Impact,sans-serif;
  --radius:16px;--gutter:16px;--wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--white);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* Grão/ruído sutil por cima de tudo */
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Estrelas ✦ em coluna */
.stars{position:absolute;display:flex;flex-direction:column;gap:14px;color:var(--orange);pointer-events:none;z-index:1}
.stars svg{width:12px;height:12px;filter:drop-shadow(0 0 6px rgba(255,90,35,.7))}
.stars--tr{top:18px;right:10px}
.stars--bl{bottom:24px;left:10px}

/* ---------- Topo (logos) ---------- */
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding-top:14px;position:relative;z-index:2}
.topbar__villa{width:68px;justify-self:start}
.topbar__festival{width:clamp(150px,46vw,210px)}
.topbar__date{width:66px;justify-self:end}

/* ---------- Hero (V2: artistas em evidência) ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;padding-bottom:32px;background:var(--bg)}
.hero__wrap{position:relative;z-index:3}
/* Mobile: imagem inteira, sem cover nem altura fixa */
.hero__art{position:relative;z-index:1;width:100%;max-width:680px;margin:8px auto 0}
.hero__art picture{display:block}
.hero__art img{width:100%;height:auto;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 3%);mask-image:linear-gradient(180deg,transparent 0,#000 3%)}

/* Carimbo SOLD OUT 1ª FASE */
/* Mobile: abaixo da linha dos rostos da fileira de baixo (~63% da altura), sobre ombros/corpo */
.stamp{position:absolute;z-index:2;right:2%;top:67%;width:44%;height:auto;overflow:visible;
  transform:rotate(-12deg);opacity:0;animation:stamp .35s cubic-bezier(.2,1.6,.4,1) .4s forwards;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
@keyframes stamp{from{opacity:0;transform:rotate(-12deg) scale(1.6)}to{opacity:1;transform:rotate(-12deg) scale(1)}}

.hero__copy{position:relative;z-index:3;text-align:center;padding:0 4px;margin-top:36px}
.selo{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#1a0d05;border-radius:999px;padding:6px 14px 6px 12px;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;position:relative;animation:selo 2.6s ease-in-out infinite}
.selo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rust);box-shadow:0 0 0 0 rgba(181,51,36,.6)}
.selo::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--gold);animation:ring 2.6s ease-out infinite;opacity:0}
@keyframes selo{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes ring{0%{transform:scale(1);opacity:.45}100%{transform:scale(1.08,1.35);opacity:0}}
.hero__context{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:14px;line-height:1.2;margin-top:20px}
.hero h1{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.75rem,7.2vw,2.25rem);line-height:1.12;letter-spacing:0;margin:8px 0 14px;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero__sub{color:var(--cream);font-size:15px;line-height:1.5;margin:0 auto 24px;max-width:34em}

/* ---------- Formulário (V2: layout da referência, identidade Villa) ---------- */
.lead-form{position:relative;text-align:left;width:100%;max-width:520px;margin:0 auto}
.field{margin-bottom:8px}
.field input{width:100%;height:52px;padding:0 16px;font-family:var(--f-body);font-size:17px;font-weight:500;background:#FFFFFF;color:var(--bg);border:1px solid #E5E5E5;border-radius:4px;-webkit-appearance:none;appearance:none}
.field input::placeholder{color:#6B6B6B;font-stretch:75%;font-weight:500;opacity:1}
.field input:focus{outline:2px solid var(--orange);outline-offset:0}
.field input[aria-invalid="true"]{border-color:#D7261E;box-shadow:inset 0 0 0 1px #D7261E}
.field__error{display:block;font-size:13px;font-weight:600;color:var(--error);margin-top:4px}
.field__error:empty{display:none}
/* WhatsApp com seletor de país (select nativo invisível por cima da bandeira) */
.phone{display:flex;align-items:stretch;height:52px;background:#FFFFFF;border:1px solid #E5E5E5;border-radius:4px}
.phone:focus-within{outline:2px solid var(--orange);outline-offset:0}
.phone:has([aria-invalid="true"]){border-color:#D7261E;box-shadow:inset 0 0 0 1px #D7261E}
.phone__country{position:relative;display:flex;align-items:center;flex-shrink:0;padding:0 10px 0 14px;border-right:1px solid #DADADA;margin:10px 0}
.phone__flag{display:flex;align-items:center;gap:6px;pointer-events:none}
.phone__flag svg{width:24px;height:17px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.phone__caret{font-size:11px;line-height:1;color:#555}
.phone select{position:absolute;inset:-10px 0;width:100%;opacity:0;cursor:pointer;font-size:16px;border:0}
.field .phone input{height:50px;border:0;border-radius:0 4px 4px 0;flex:1;min-width:0;padding-left:12px;box-shadow:none;background:transparent}
.field .phone input:focus{outline:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* Botão com moldura e faixa diagonal de brilho */
.btn-frame{padding:6px;background:rgba(255,255,255,.12);border-radius:10px;margin-top:4px}
.btn-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;height:60px;padding:0 16px;border:0;border-radius:6px;cursor:pointer;
  background:linear-gradient(90deg,#FFD15C 0%,#FFB240 55%,#FF8A2A 100%);color:var(--bg);
  font-family:var(--f-display);font-weight:400;font-size:20px;line-height:1;letter-spacing:.02em;text-transform:uppercase;transition:transform .15s ease}
.btn-cta::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.35);clip-path:polygon(0 0,28% 0,18% 100%,0 100%);transition:transform .4s ease;pointer-events:none}
.btn-cta:hover::before,.btn-cta:focus-visible::before{transform:translateX(80%)}
.btn-cta:active{transform:translateY(1px)}
.btn-cta[disabled]{cursor:progress;opacity:.85}
.btn-cta__label{position:relative}
.btn-cta.is-loading .btn-cta__label{visibility:hidden}
.btn-cta .spinner{position:absolute;left:50%;top:50%;margin:-11px 0 0 -11px;width:22px;height:22px;border-color:rgba(11,13,20,.25);border-top-color:var(--bg)}
/* Botões gerais (CTAs das seções) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 22px;border:0;border-radius:12px;cursor:pointer;text-decoration:none;font-weight:800;font-size:19px;line-height:1.15;text-align:center;transition:transform .15s ease,opacity .2s}
.btn:active{transform:scale(.98)}
.btn--primary{width:100%;background-color:#E8461B;background-image:linear-gradient(180deg,var(--orange-hi),var(--orange-lo));color:var(--white);box-shadow:0 10px 28px -8px rgba(255,90,35,.75),inset 0 1px 0 rgba(255,255,255,.25)}
.btn[disabled]{opacity:.75;cursor:progress}
.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
.is-loading .spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.lgpd{font-size:12px;line-height:1.45;color:var(--cream-70);margin-top:10px;text-align:center}
.lgpd a{color:var(--cream);text-underline-offset:2px}

@media (min-width:768px){
  :root{--gutter:28px}
  .topbar__villa{width:96px}.topbar__festival{width:260px}.topbar__date{width:96px}
  .hero__copy{max-width:600px;margin-left:auto;margin-right:auto}
  .hero h1{font-size:2.6rem}
}
/* Desktop: full-bleed, artistas ancorados na base à esquerda, formulário à direita */
@media (min-width:1024px){
  .hero{min-height:100vh;min-height:min(100svh,900px);padding-bottom:64px;
    background-color:var(--bg);
    background-image:url("../assets/img/bg-festival-720.jpg");
    background-image:image-set(url("../assets/img/bg-festival-1080.webp") type("image/webp"));
    background-size:cover;background-position:center 30%}
  .hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:linear-gradient(90deg,rgba(11,13,20,.05) 0%,rgba(11,13,20,.25) 50%,rgba(11,13,20,.72) 100%)}
  .hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;z-index:2;pointer-events:none;
    background:linear-gradient(180deg,rgba(11,13,20,0) 0%,rgba(11,13,20,.75) 60%,var(--bg) 100%)}
  .hero__art{position:absolute;left:0;bottom:0;width:57vw;max-width:none;margin:0}
  .hero__art img{-webkit-mask-image:none;mask-image:none}
  .stamp{width:180px;right:7%;top:-96px}
  .topbar{padding-top:24px}
  .topbar__villa{width:100px}.topbar__festival{width:260px}.topbar__date{width:100px}
  .hero__copy{width:41%;max-width:520px;margin:12px 0 0 auto;padding:0;text-align:left}
  .hero h1{font-size:clamp(40px,3.6vw,54px);line-height:1.06;margin:8px 0 14px}
  .hero__sub{margin:0 0 22px;font-size:16px}
  .hero__context{font-size:17px;margin-top:18px}
  .lead-form{max-width:none}
  .stars--tr{top:28px;right:24px}.stars--bl{left:24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .stamp{opacity:1}
}
@media (min-width:1024px) and (max-width:1279px){.hero__art{width:54vw}.stamp{width:160px;right:4%}}
@media (min-width:1024px) and (max-height:820px){.topbar__festival{width:220px}.topbar__villa,.topbar__date{width:86px}.hero h1{font-size:44px}}
/* Barras fixas: posicionamento precisa estar no crítico (CLS) */
/* Faixa de urgência + countdown: fixa no topo desde o carregamento (no crítico para não causar CLS) */
.urgency{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:linear-gradient(90deg,var(--wine),var(--rust));border-bottom:1px solid rgba(255,178,64,.35);box-shadow:0 8px 24px rgba(0,0,0,.4);}
.urgency__in{display:flex;align-items:center;gap:12px;padding:8px var(--gutter);max-width:var(--wrap);margin:0 auto}
.urgency__text{flex:1;font-size:12.5px;line-height:1.35;color:var(--white)}
.urgency__text strong{color:var(--gold)}
[data-window-label]{white-space:nowrap}
.countdown{display:flex;gap:4px;flex-shrink:0}
.countdown__u{min-width:42px;padding:3px 4px;background:rgba(11,13,20,.55);border:1px solid rgba(255,178,64,.35);border-radius:8px;text-align:center}
.countdown__u b{display:block;font-family:var(--f-display);font-weight:400;font-size:19px;line-height:1.05;color:var(--gold)}
.countdown__u span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--cream)}
.urgency__cta{display:none;min-height:44px;font-size:15px;padding:8px 16px;width:auto;flex-shrink:0}
.urgency.is-open .countdown{display:none}
.urgency.is-open .urgency__cta{display:inline-flex}
@media (min-width:640px){.urgency__text{font-size:14px}}
@media (min-width:1024px){.urgency__cta{display:inline-flex}}
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;transform:translateY(110%);visibility:hidden}
@media (min-width:1024px){.mobile-cta{display:none}}
.hide-sm{display:none}
@media (min-width:640px){.hide-sm{display:inline}}
/* CRITICAL:END */

/* ---------- Faixa marquee (adendo) ---------- */
:root{--star-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C13 8 16 11 24 12 16 13 13 16 12 24 11 16 8 13 0 12 8 11 11 8 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
.marquee{position:relative;overflow:hidden;padding:30px 0;background:var(--bg-2)}
.marquee--sunset{background:linear-gradient(180deg,#E48D3B 0%,#7a2a1e 45%,var(--bg) 100%)}
.marquee__inner{transform:rotate(-2deg);margin:0 -6%}
.marquee__row{overflow:hidden;padding:12px 0}
.marquee__row--solid{background:var(--orange);color:var(--bg);box-shadow:0 10px 30px -10px rgba(255,90,35,.6)}
.marquee__row--solid svg{color:var(--bg)}
.marquee__row--outline{background:var(--bg);color:transparent;-webkit-text-stroke:1.3px var(--white)}
.marquee__row--outline svg{color:var(--orange)}
.marquee__track{display:flex;width:max-content;animation:marquee 42s linear infinite;will-change:transform}
.marquee__row--outline .marquee__track{animation-direction:reverse;animation-duration:48s}
.marquee__group{display:flex;align-items:center;gap:.55em;padding-right:.55em;white-space:nowrap;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(18px,4.6vw,30px);line-height:1}
.marquee__group svg{width:.62em;height:.62em;flex-shrink:0;-webkit-text-stroke:0}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}

/* ---------- CTA fixo mobile ---------- */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(11,13,20,0),rgba(11,13,20,.92) 35%);transform:translateY(110%);transition:transform .3s ease;visibility:hidden}
.mobile-cta.is-visible{transform:none;visibility:visible}
@media (min-width:1024px){.mobile-cta{display:none}}

/* ---------- Seções ---------- */
.section{position:relative;padding:64px 0;overflow:hidden}
.section--alt{background:var(--bg-2)}
.section h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(30px,8vw,52px);line-height:1.04;letter-spacing:.005em;text-wrap:balance}
.section h2 em{font-style:normal;color:var(--gold)}
.section .lead{color:var(--cream);margin-top:14px;max-width:46em}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.btn--block-sm{width:100%;margin-top:28px}
@media (min-width:768px){.btn--block-sm{width:auto;min-width:360px}.section{padding:88px 0}}

/* Benefícios */
.cards{display:grid;gap:14px;margin-top:28px}
.card{background:linear-gradient(180deg,rgba(66,24,32,.55),rgba(11,13,20,.6));border:1px solid rgba(255,90,35,.28);border-radius:var(--radius);padding:22px 20px;display:flex;gap:16px;align-items:flex-start;text-align:left}
.card__icon{flex-shrink:0;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,var(--orange-hi),var(--rust));color:var(--white);box-shadow:0 8px 22px -8px rgba(255,90,35,.8)}
.card__icon svg{width:28px;height:28px}
.card p{font-size:16px;line-height:1.45;font-weight:500}
.card__label{font-family:var(--f-display);font-weight:400;text-transform:uppercase;color:var(--gold);font-size:21px;line-height:1.1;letter-spacing:.03em;margin-bottom:4px}
.cards__scope{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:8px 16px;border:1px solid rgba(255,178,64,.45);border-radius:999px;font-weight:700;font-size:14.5px;line-height:1.35;color:var(--white);background:rgba(255,178,64,.08)}
.cards__scope::before{content:"";flex-shrink:0;width:12px;height:12px;background:var(--gold);-webkit-mask:var(--star-mask);mask:var(--star-mask)}
.note{font-size:13px;color:var(--cream-70);margin-top:16px}
@media (min-width:768px){.cards{grid-template-columns:repeat(3,1fr)}.card{flex-direction:column}}

/* Line-up */
.lineup{background-color:var(--bg);background-image:linear-gradient(180deg,var(--bg-2) 0%,rgba(11,13,20,.55) 30%,rgba(11,13,20,.4) 60%,#2a1218 100%),url("../assets/img/bg-festival-720.jpg");background-image:linear-gradient(180deg,var(--bg-2) 0%,rgba(11,13,20,.55) 30%,rgba(11,13,20,.4) 60%,#2a1218 100%),image-set(url("../assets/img/bg-festival-720.webp") type("image/webp"));background-size:cover;background-position:center}
.lineup__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;list-style:none;margin:0;padding:0}
.artist{text-align:center}
.artist__img{position:relative;aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;border-radius:18px 18px 0 0;overflow:hidden;
  background:radial-gradient(90% 70% at 50% 100%,rgba(255,90,35,.55),rgba(181,51,36,.2) 55%,transparent 75%)}
.artist__img::before{content:"";position:absolute;inset:auto -20% -48% -20%;height:90%;border-radius:50%;border:10px solid rgba(255,90,35,.28);box-shadow:0 0 0 14px rgba(181,51,36,.18)}
.artist__img::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,rgba(181,51,36,.9));pointer-events:none}
.artist__img img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom center}
.artist__name{display:block;margin-top:10px;font-stretch:125%;font-weight:800;font-size:13px;line-height:1.2;text-transform:uppercase;letter-spacing:.01em}
@media (min-width:768px){.lineup__grid{grid-template-columns:repeat(4,1fr);gap:20px}.artist__name{font-size:16px}}

/* Sobre */
.about{background:var(--sunset)}
.about p.lead{font-size:17px;line-height:1.6}
@media (min-width:1024px){.about p.lead{font-size:19px}}

/* Timeline */
.timeline{list-style:none;margin:32px 0 0;padding:0;counter-reset:step;max-width:640px}
.timeline li{position:relative;padding:0 0 28px 64px;counter-increment:step;min-height:48px}
.timeline li::before{content:counter(step);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--orange-hi),var(--orange-lo));color:var(--white);font-family:var(--f-display);font-size:22px;box-shadow:0 0 0 5px rgba(255,90,35,.2)}
.timeline li::after{content:"";position:absolute;left:21px;top:48px;bottom:4px;width:2px;background:linear-gradient(180deg,var(--orange),rgba(255,90,35,.25))}
.timeline li:last-child{padding-bottom:0}
.timeline li:last-child::after{display:none}
.timeline p{padding-top:9px;font-size:16.5px;font-weight:500}
@media (min-width:1024px){.howto .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.howto .timeline{margin-top:0}}

/* Lista com ✦ */
.star-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;max-width:760px}
.star-list li{position:relative;padding-left:32px;font-size:16.5px;line-height:1.5}
.star-list li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;background:var(--orange);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C13 8 16 11 24 12 16 13 13 16 12 24 11 16 8 13 0 12 8 11 11 8 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C13 8 16 11 24 12 16 13 13 16 12 24 11 16 8 13 0 12 8 11 11 8 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
.args{background:linear-gradient(180deg,var(--bg) 0%,var(--wine) 100%)}

/* Aviso de segurança */
.safety{display:flex;gap:16px;align-items:flex-start;border:1.5px solid var(--gold);border-radius:var(--radius);padding:22px 20px;background:linear-gradient(180deg,rgba(255,178,64,.08),rgba(11,13,20,.4));text-align:left}
.safety__icon{flex-shrink:0;color:var(--gold);width:44px;height:44px}
.safety h2,.safety h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(24px,6.4vw,34px);line-height:1.05;color:var(--gold)}
.safety p{margin-top:8px;color:var(--cream);font-size:15.5px}
.section--tight{padding:40px 0}

/* Chamada final */
.final{background:var(--sunset);padding-bottom:96px}
.final .lead-form{margin-top:28px}

/* Rodapé */
.footer{background:#07080d;padding:36px 0 calc(110px + env(safe-area-inset-bottom));text-align:center;color:var(--cream-70);font-size:13.5px}
.footer__logos{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:16px}
.footer__logos picture:first-child img{width:84px}
.footer__logos picture:last-child img{width:170px}
.footer p+p{margin-top:6px}
.footer a{color:var(--cream)}
@media (min-width:1024px){.footer{padding-bottom:40px}}

/* ==========================================================
   Página de obrigado
   ========================================================== */
.ty{min-height:100vh;min-height:100svh;position:relative;overflow:hidden;
  background-color:var(--bg);background-image:linear-gradient(180deg,rgba(11,13,20,.4) 0%,rgba(11,13,20,.7) 30%,var(--bg-2) 62%,#3a1419 100%),url("../assets/img/bg-festival-720.jpg");background-image:linear-gradient(180deg,rgba(11,13,20,.4) 0%,rgba(11,13,20,.7) 30%,var(--bg-2) 62%,#3a1419 100%),image-set(url("../assets/img/bg-festival-720.webp") type("image/webp"));background-size:100% auto;background-repeat:no-repeat;background-position:center top}
.progress{padding:14px var(--gutter) 0;max-width:640px;margin:0 auto}
.progress__label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--cream);margin-bottom:6px}
.progress__label b{color:var(--gold)}
.progress__bar{height:8px;border-radius:99px;background:rgba(243,230,218,.15);overflow:hidden}
.progress__bar span{display:block;height:100%;width:90%;border-radius:inherit;background:linear-gradient(90deg,var(--orange-lo),var(--orange-hi));box-shadow:0 0 12px rgba(255,90,35,.8)}
.ty__main{max-width:640px;margin:0 auto;padding:0 var(--gutter) 48px;text-align:center;position:relative;z-index:2}
.ty__logos{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.ty__logos .l-villa{width:62px}.ty__logos .l-fest{width:170px}.ty__logos .l-date{width:62px}
.ty__kv{margin:8px calc(var(--gutter)*-1) 0}
.ty__kv img{width:100%;height:clamp(130px,22svh,220px);object-fit:cover;object-position:50% 8%;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 65%,transparent);mask-image:linear-gradient(180deg,transparent,#000 15%,#000 65%,transparent)}
.ty h1{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(28px,8vw,46px);line-height:1.04;margin-top:4px;text-wrap:balance}
.ty h1 .name{color:var(--gold)}
.btn--wa{width:100%;min-height:64px;margin-top:22px;background:var(--wa-green);color:#06240f;font-size:19px;box-shadow:0 12px 32px -10px rgba(37,211,102,.75);position:relative}
.btn--wa svg{width:28px;height:28px;flex-shrink:0}
.btn--wa::after{content:"";position:absolute;inset:0;border-radius:inherit;border:3px solid var(--wa-green);animation:waPulse 2s ease-out infinite;pointer-events:none}
@keyframes waPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.08,1.3);opacity:0}}
.ty__explain{color:var(--cream);margin-top:22px;font-size:16px;line-height:1.55}
.ty h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:26px;line-height:1.1;margin-top:36px}
.ty .star-list{text-align:left;margin-top:18px}
.ty__hint{font-size:13px;color:var(--cream-70);margin-top:16px}
.ty .safety{margin-top:36px}
.ty__foot{text-align:center;color:var(--cream-70);font-size:12.5px;padding:0 var(--gutter) 28px}
@media (min-width:768px){.ty__logos .l-villa{width:84px}.ty__logos .l-fest{width:230px}.ty__logos .l-date{width:84px}.ty__kv{margin:12px 0 0}.ty__kv img{height:auto;max-height:300px;border-radius:20px}}
.ty>.stars--tr{top:56px}
