/* Direção de arte sobre o CSS original (styles.css fica intacto).
   Essência mantida: fundo escuro, ouro, Barlow Condensed + Manrope, mesma ordem e mesmos textos.
   Peça de destaque: o ingresso. Regra que vale em todo o arquivo: animação só em
   transform, opacity e clip-path, e nada fica escondido se o script não rodar. */

:root{
  --mola:cubic-bezier(.22,1,.36,1);
  --ouro-claro:#F3DDB0;
  --ouro-medio:#C9A468;
  --ouro-fundo:#8A6631;   /* ouro para texto sobre o papel: 4,9:1 */
  --gut:clamp(20px,4vw,56px);
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{overflow-x:clip}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

/* ---------- títulos ---------- */
h1,h2{text-wrap:balance}
.eyebrow{font-size:13px;letter-spacing:.14em;line-height:1.5}
.section{padding-block:clamp(72px,9vw,128px)}
.section-heading{max-width:1120px;margin-bottom:clamp(36px,5vw,64px)}
.section-heading h2{font-size:clamp(40px,4.5vw,64px);line-height:1}
.body-copy{font-size:16px;line-height:1.75}

/* ---------- cabeçalho ---------- */
.site-header{position:sticky;top:0;z-index:30;height:84px;background:var(--background);transition:height .35s var(--mola),background .35s}
@supports (backdrop-filter:blur(1px)){
  .site-header{background:color-mix(in oklch,var(--background) 76%,transparent);backdrop-filter:blur(16px)}
}
.site-header.rolou{height:64px}
.wordmark{font-size:23px}
.header-inner nav a{font-size:14px}
.header-cta{height:44px;padding:0 20px;font-size:12px;letter-spacing:.05em}

/* ---------- botão ---------- */
.event-button{position:relative;overflow:hidden;height:60px;padding:0 30px;font-size:13px;letter-spacing:.06em;border-radius:3px;background:linear-gradient(180deg,var(--ouro-claro),var(--ouro-medio));color:var(--ink);box-shadow:0 10px 34px color-mix(in oklch,var(--primary) 34%,transparent),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .25s var(--mola),box-shadow .25s}
.event-button:hover{background:linear-gradient(180deg,#FBEBCB,var(--ouro-claro));color:var(--ink);box-shadow:0 16px 44px color-mix(in oklch,var(--primary) 50%,transparent),inset 0 1px 0 rgba(255,255,255,.6)}
.event-button:active{transform:scale(.98)}
.event-button svg{transition:transform .3s var(--mola)}
.event-button:hover svg{transform:translate(3px,-3px)}
.event-button::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.65) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.event-button:hover::after{animation:brilho .9s var(--mola)}
.hero .event-button::after{animation:brilho 1.1s var(--mola) 1.5s}
@keyframes brilho{to{transform:translateX(120%)}}

/* ---------- abertura ---------- */
.hero{min-height:min(calc(100svh - 84px),900px)}
.hero::before{content:"";position:absolute;inset:0 auto 0 0;width:62%;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg,transparent 7.6%,rgba(233,197,136,.2) 8%,transparent 8.4%),
    linear-gradient(90deg,transparent 21%,rgba(233,197,136,.09) 21.7%,transparent 22.4%),
    linear-gradient(90deg,transparent 55%,rgba(233,197,136,.13) 55.5%,transparent 56%),
    linear-gradient(90deg,transparent 87%,rgba(233,197,136,.09) 87.6%,transparent 88.2%);
  filter:blur(3px);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 82%);mask-image:linear-gradient(180deg,#000,transparent 82%);
  transform-origin:top;animation:acende 1.8s var(--mola) both}
@keyframes acende{from{opacity:0;transform:scaleY(.25)}}
.hero-photo{z-index:1}
.hero-photo img{width:100%;height:112%;max-width:none;translate:0 var(--par,0);animation:cortina 1.5s var(--mola) both}
@keyframes cortina{from{clip-path:inset(0 0 0 100%);scale:1.07}to{clip-path:inset(0 0 0 0);scale:1}}
.photo-caption{bottom:44px;right:96px;animation:sobe .8s var(--mola) 1.1s backwards}
.photo-caption>span{font-size:11px;letter-spacing:.14em}
.photo-caption p{font-size:16px}

.hero-copy{animation:none;width:53%;padding-block:clamp(28px,4vh,56px) 66px}
.hero-copy>*{animation:sobe .85s var(--mola) backwards;animation-delay:calc(.5s + var(--n,0)*80ms)}
.hero-copy>:nth-child(1){--n:-4}
.hero-copy>:nth-child(2){animation:none}
.hero-copy>:nth-child(3){--n:1}
.hero-copy>:nth-child(4){--n:2}
.hero-copy>:nth-child(5){--n:3}
.hero-copy>:nth-child(6){--n:4}
.hero-copy>:nth-child(7){--n:5}
.hero h1{max-width:640px;margin-top:18px;font-size:clamp(52px,5.1vw,82px);line-height:.98}
.hero-description{max-width:480px;margin-top:22px;font-size:16px;line-height:1.7}
.hero-event{margin:24px 0;padding-left:18px}
.hero-event>p{margin-bottom:8px;font-size:13px;letter-spacing:.08em}
.hero-event span{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:.01em;color:var(--foreground);gap:9px}
.hero-event svg{width:17px;height:17px}
.hero-copy .event-button{vertical-align:middle}
.hero-price{display:inline-block;margin:0 0 0 22px;vertical-align:middle;font-size:15px}
.hero-price strong{margin-left:7px;font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--primary);vertical-align:-2px}
.hero-scroll{font-size:11px;letter-spacing:.1em;transition:color .25s}
.hero-scroll:hover{color:var(--primary)}
.hero-scroll svg{animation:desce 2s ease-in-out infinite}
@keyframes desce{50%{translate:0 5px}}
@keyframes sobe{from{opacity:0;transform:translateY(22px)}}
.gold-line{transform-origin:left;animation:traca .9s var(--mola) .4s backwards}
@keyframes traca{from{transform:scaleX(0)}}

/* palavras que sobem por trás de uma máscara */
.js:not(.pronto) h1{opacity:0}
.pl,.pl>i{padding:.16em .05em .2em 0;margin:-.16em -.05em -.2em 0}
.pl,.ql{font-style:normal}
.pl{display:inline-block;overflow:hidden;vertical-align:top}
.pl>i{display:inline-block;font-style:normal}
.js h2.titulo:not(.vis) .pl>i{transform:translateY(125%)}
.hero h1 .pl>i{animation:palavra .95s var(--mola) backwards;animation-delay:calc(var(--i)*42ms + .35s)}
h2.titulo.vis .pl>i{animation:palavra .9s var(--mola) backwards;animation-delay:calc(var(--i)*30ms)}
@keyframes palavra{from{transform:translateY(125%)}}
/* ouro em degradê, o mesmo do letreiro do card oficial */
.hero h1>span .pl>i,
.section:not(.identification):not(.tickets) h2>span .pl>i{background:linear-gradient(180deg,var(--ouro-claro) 20%,#B98F52 85%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* entrada dos demais blocos */
.js .rev{opacity:0}
.js .rev.vis{opacity:1;animation:sobe .85s var(--mola) backwards;animation-delay:var(--d,0ms)}

/* ---------- contagem ---------- */
.contagem{display:flex;align-items:center;gap:14px;margin-top:18px}
.contagem[hidden]{display:none}
.hero-copy .contagem-rotulo{margin:0}
.contagem-rotulo{margin-bottom:9px;font-size:13px;color:var(--muted-foreground)}
.contagem-casas{display:flex;gap:8px}
.contagem-casas>div{min-width:64px;padding:9px 6px 8px;text-align:center;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.03)}
.contagem-casas b{display:block;font-family:var(--font-display);font-size:32px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.contagem-casas span{display:block;margin-top:3px;font-size:11px;color:var(--muted-foreground)}
.contagem-casas b.vira{animation:vira .4s var(--mola)}
@keyframes vira{from{opacity:.25;transform:translateY(-7px)}}
.final-cta .contagem{display:block;margin:0 auto 30px;width:fit-content}
.final-cta .contagem-rotulo{margin-bottom:9px;font-size:13px;max-width:none}

/* ---------- faixa corrente ---------- */
.event-strip{position:relative;z-index:2;overflow:hidden;border:0;background:linear-gradient(90deg,#B98F52,#EBD09B 50%,#B98F52)}
.strip-inner{min-height:62px;gap:12px 36px;flex-wrap:wrap;justify-content:center}
.strip-inner span{font-family:var(--font-display);font-size:23px;font-weight:600;letter-spacing:.02em;white-space:nowrap;color:var(--ink);gap:10px}
.strip-inner svg{width:20px;color:var(--ink)}
.strip-inner.corre{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:0;width:max-content;margin:0;animation:corre 34s linear infinite}
.strip-inner.corre span{padding-inline:30px}
.strip-inner.corre:hover{animation-play-state:paused}
@keyframes corre{to{transform:translateX(-33.3333%)}}

/* ---------- o que você conquista ---------- */
.benefit-grid{gap:0;border:1px solid var(--border);border-radius:3px;overflow:hidden}
.benefit-card{display:flex;flex-direction:column;min-height:320px;padding:30px 28px 34px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;transition:background .4s}
.benefit-card:last-child{border-right:0}
.benefit-card:hover{transform:none;border-color:var(--border)}
.card-top{margin-bottom:28px}
.card-top svg{width:30px;height:30px;transition:color .4s}
.card-top span{font-family:var(--font-display);font-size:62px;font-weight:600;line-height:1;color:transparent;-webkit-text-stroke:1px color-mix(in oklch,var(--primary) 55%,transparent);transition:-webkit-text-stroke-color .4s}
.benefit-card h3{margin-top:auto;max-width:none;font-family:var(--font-display);font-size:clamp(23px,2.2vw,30px);font-weight:600;line-height:1.05;transition:color .4s}
.benefit-card p{margin-top:12px;font-size:15px;line-height:1.6;transition:color .4s}
@media (hover:hover){
  .benefit-card:hover{background:linear-gradient(180deg,var(--ouro-claro),var(--ouro-medio))}
  .benefit-card:hover h3,.benefit-card:hover p,.benefit-card:hover .card-top svg{color:var(--ink)}
  .benefit-card:hover .card-top span{-webkit-text-stroke-color:var(--ink)}
}

/* ---------- potencial (papel) ---------- */
.identification h2{font-size:clamp(40px,4.9vw,68px);line-height:1}
.identification h2>span,.identification h2>span .pl>i{color:var(--ouro-fundo)}
.identification .eyebrow{color:var(--ouro-fundo)}
.identification-inner{gap:clamp(40px,7vw,100px)}
.identification .body-copy{max-width:500px;font-size:16px}
.identification .event-button{box-shadow:0 12px 30px rgba(122,90,40,.28),inset 0 1px 0 rgba(255,255,255,.5)}
.identification blockquote{font-size:clamp(38px,4.7vw,68px);line-height:1.04}
.identification blockquote>span:not(.quote-mark){color:var(--ouro-fundo)}
.quote-mark{color:var(--ouro-fundo);font-size:clamp(80px,9vw,120px)}
.ql{transition:opacity .18s linear}
.quote-rule{transform-origin:left;transform:scaleX(var(--q,1))}

/* ---------- para quem é ---------- */
.audience-grid{gap:0 clamp(20px,3vw,40px);margin-top:0}
.audience-grid article,.audience-grid article:first-child,.audience-grid article:last-child{position:relative;padding:28px 0 0;border:0}
.audience-grid article::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--border)}
.audience-grid article::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--mola) .1s}
.audience-grid article.vis::after{transform:scaleX(1)}
.audience-grid svg{width:30px;height:30px;margin-bottom:20px}
.audience-grid h3{font-family:var(--font-display);font-size:clamp(23px,2.2vw,29px);font-weight:600;line-height:1.08}
.audience-grid p{margin-top:10px;font-size:15px;line-height:1.6}
.audience-note{margin-top:clamp(36px,5vw,60px);padding-top:0;border:0;font-size:16px;color:var(--foreground);text-align:center}

/* ---------- a experiência ---------- */
.experience{position:relative;overflow:hidden}
.experience::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent 5%,rgba(233,197,136,.1) 5.3%,transparent 5.6%),linear-gradient(90deg,transparent 94%,rgba(233,197,136,.12) 94.3%,transparent 94.6%);
  filter:blur(2px);-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.experience-inner{position:relative;gap:clamp(36px,7vw,100px)}
.experience h2{font-size:clamp(40px,4.5vw,64px);line-height:1}
.experience-list li{padding-block:17px;font-size:14px;letter-spacing:.04em}
.experience-list svg{width:18px}
.experience .event-button{margin-top:4px}

/* ---------- instrutores ---------- */
.instructors-inner{gap:clamp(40px,6vw,85px)}
.instructors-photo{height:clamp(480px,50vw,680px)}
.instructors-photo img{width:100%;height:114%;max-width:none;translate:0 var(--par,0)}
.instructors-photo>span{font-size:12px;letter-spacing:.08em}
.js .instructors-photo.rev{opacity:1;clip-path:inset(14% 10% 14% 10%)}
.js .instructors-photo.rev.vis{animation:none;clip-path:inset(0 0 0 0);transition:clip-path 1.3s var(--mola)}
.instructors h2{font-size:clamp(42px,4.9vw,68px);line-height:1}
.instructor-bio{gap:22px;padding-block:30px}
.bio-number{padding-top:9px;font-size:13px}
.instructor-bio h3{margin-bottom:10px;font-family:var(--font-display);font-size:clamp(28px,2.6vw,36px);font-weight:600;line-height:1}
.instructor-bio p{font-size:15px;line-height:1.7}

/* ---------- o ingresso ---------- */
.tickets{overflow:hidden}
.tickets-inner{position:relative;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:0;align-items:stretch;max-width:1120px;border-radius:14px;overflow:hidden;background:var(--paper);color:var(--ink);box-shadow:0 44px 110px rgba(0,0,0,.55),0 0 90px color-mix(in oklch,var(--primary) 20%,transparent),0 0 0 1px color-mix(in oklch,var(--primary) 45%,transparent);transition:transform .6s var(--mola)}
.tickets-inner.vis{animation:entrega 1.15s var(--mola) backwards}
@keyframes entrega{from{opacity:0;transform:translateY(70px) rotate(-2.4deg) scale(.97)}}
.tickets-inner::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:var(--gl,0);background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 65%);transition:opacity .4s}
.poster-wrap{position:relative;z-index:1;max-width:none;width:100%;margin:0;background:#0b0b0d}
.poster-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:0;box-shadow:none}
/* os dois recortes do picote */
.poster-wrap::before,.poster-wrap::after{content:"";position:absolute;right:-17px;z-index:4;width:34px;height:34px;border-radius:50%;background:var(--secondary);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--primary) 45%,transparent)}
.poster-wrap::before{top:-17px}
.poster-wrap::after{bottom:-17px}
.ticket-info{position:relative;padding:clamp(34px,4vw,54px) clamp(28px,4.4vw,60px);border-left:2px dashed color-mix(in oklch,var(--ink) 26%,transparent)}
.ticket-info .eyebrow{color:var(--ouro-fundo)}
.ticket-info h2{margin-top:14px;font-size:clamp(44px,4.9vw,66px);line-height:.98;color:var(--ink)}
.ticket-info h2>span,.ticket-info h2>span .pl>i{color:var(--ouro-fundo)}
.ticket-details{margin-top:26px}
.ticket-details>div{gap:14px;margin-bottom:15px}
.ticket-details svg{width:20px;height:20px;color:var(--ouro-fundo)}
.ticket-details strong{font-size:14px;letter-spacing:.03em;line-height:1.5}
.ticket-details p span{margin-top:2px;font-size:14.5px;line-height:1.55;color:var(--paper-muted)}
.investment{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:20px;margin-bottom:20px;padding-top:18px;border-top:1px solid var(--paper-border)}
.investment>span{padding-bottom:12px;font-size:13px;letter-spacing:.14em;color:var(--paper-muted)}
.investment>strong{margin:0;font-size:clamp(84px,8.4vw,112px);line-height:.86;color:var(--ink)}
.investment small{font-family:var(--font-display);font-size:.3em;font-weight:600;color:var(--ouro-fundo)}
.ticket-cta{height:64px;background:var(--ink);color:var(--paper);box-shadow:0 14px 30px rgba(20,20,26,.28)}
.ticket-cta:hover{background:var(--ouro-fundo);color:#fff;box-shadow:0 18px 38px rgba(122,90,40,.4)}
.ticket-contact{height:50px;font-size:12px;letter-spacing:.05em;color:var(--ink);border-color:color-mix(in oklch,var(--ink) 28%,transparent);transition:color .25s,border-color .25s}
.ticket-contact:hover{color:var(--ouro-fundo);border-color:var(--ouro-fundo)}

/* ---------- dúvidas ---------- */
.faq-inner{gap:clamp(24px,7vw,100px)}
.faq h2{font-size:clamp(42px,4.9vw,68px);line-height:1}
.faq button{padding-block:25px;font-size:17px;font-weight:600;line-height:1.4;transition:color .25s}
.faq button:hover{color:var(--primary);text-decoration:none}
.faq button[data-state=open]{color:var(--primary)}
.faq button svg{width:20px;height:20px;color:var(--primary)}
.faq [role=region]{font-size:15.5px;line-height:1.7}
.faq [role=region]>div{padding-bottom:24px;max-width:62ch}

/* ---------- chamada final ---------- */
.final-cta{overflow:hidden;padding-block:clamp(90px,11vw,150px) clamp(84px,10vw,130px);background:radial-gradient(70% 75% at 50% 112%,color-mix(in oklch,var(--primary) 30%,transparent),transparent 72%)}
.final-cta::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent 12%,rgba(233,197,136,.12) 12.3%,transparent 12.6%),linear-gradient(90deg,transparent 33%,rgba(233,197,136,.06) 33.3%,transparent 33.6%),linear-gradient(90deg,transparent 67%,rgba(233,197,136,.06) 67.3%,transparent 67.6%),linear-gradient(90deg,transparent 88%,rgba(233,197,136,.12) 88.3%,transparent 88.6%);
  filter:blur(3px);-webkit-mask-image:linear-gradient(0deg,#000,transparent 85%);mask-image:linear-gradient(0deg,#000,transparent 85%)}
.final-cta .container{position:relative;z-index:1}
.final-cta h2{max-width:1040px;margin:22px auto 24px;font-size:clamp(44px,6vw,88px);line-height:.98}
.final-cta p:not(.eyebrow):not(.contagem-rotulo){max-width:560px;margin-bottom:30px;font-size:16px;line-height:1.7}
.final-cta .event-button{height:68px;padding-inline:38px;font-size:14px}
.final-date{margin-top:24px;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:.03em;color:var(--foreground)}

/* ---------- rodapé e flutuantes ---------- */
.footer-brand{font-size:14px}
.footer-brand span{font-size:13px}
.footer-inner>a,.footer-inner button{font-size:13px}
.footer-inner>a{transition:color .25s}
.footer-inner>a:hover{color:var(--primary)}
.footer-bottom{font-size:12px}
.whatsapp-floating{width:52px;height:52px;border-color:color-mix(in oklch,var(--primary) 55%,transparent);transition:translate .35s var(--mola),border-color .25s,scale .25s}
.whatsapp-floating:hover{scale:1.07}
.barra-compra{display:none}

/* ---------- tablet ---------- */
@media (width<=1050px){
  .benefit-grid{grid-template-columns:1fr 1fr}
  .benefit-card{min-height:260px;border-bottom:1px solid var(--border)}
  .benefit-card:nth-child(2n){border-right:0}
  .benefit-card:nth-last-child(-n+2){border-bottom:0}
  .hero-copy{width:58%}
  .hero h1{font-size:clamp(46px,6vw,60px)}
  .header-inner nav{display:none}
  .audience-grid{grid-template-columns:1fr 1fr;gap:34px 28px}
}

/* ---------- celular ---------- */
@media (width<=700px){
  html{scroll-padding-top:12px}
  .eyebrow{font-size:11.5px;letter-spacing:.12em}
  .site-header,.site-header.rolou{position:relative;height:68px}
  .wordmark{font-size:19px}
  .header-city{font-size:11px;letter-spacing:.06em}

  .hero{min-height:0}
  .hero::before{width:100%;height:70%;inset:0 0 auto 0}
  .hero-copy{width:100%;padding-block:28px 0}
  .hero-copy .eyebrow{font-size:11px;letter-spacing:.1em}
  .hero h1{max-width:none;margin-top:16px;font-size:clamp(45px,12.8vw,56px);line-height:1}
  .hero-description{max-width:none;margin-top:16px;font-size:15.5px;line-height:1.65}
  .hero-event{margin:20px 0}
  .hero-event>p{font-size:12.5px}
  .hero-event>div{gap:6px}
  .hero-event span{font-size:20px}
  .hero .event-button{width:100%;height:60px;justify-content:space-between}
  .hero-price{display:block;margin:12px 0 0;font-size:14.5px}
  .contagem-casas>div{flex:1;min-width:0}
  .hero-copy .contagem{display:block;margin-top:16px}
  .hero-copy .contagem-rotulo{margin-bottom:8px}
  .contagem-rotulo{text-align:center}
  .hero-photo{height:440px;margin-top:22px}
  .hero-photo img{height:100%;translate:none}
  .photo-caption{bottom:26px}
  .photo-caption p{font-size:15px}

  .strip-inner{display:flex;min-height:54px}
  .strip-inner span{font-size:20px}
  .strip-inner.corre span{padding-inline:20px}

  .section-heading h2{font-size:clamp(36px,10.6vw,46px)}
  .benefit-card{min-height:0;padding:22px 16px 24px}
  .card-top{margin-bottom:26px}
  .card-top svg{width:26px;height:26px}
  .card-top span{font-size:44px}
  .benefit-card h3{font-size:clamp(21px,5.9vw,25px)}
  .benefit-card p{font-size:13.5px;line-height:1.55}

  .identification h2,.experience h2,.instructors h2,.faq h2{font-size:clamp(38px,11vw,48px)}
  .body-copy,.identification .body-copy{font-size:15.5px}
  .identification blockquote{padding-left:20px;font-size:clamp(35px,10.2vw,44px)}
  .quote-mark{font-size:76px;margin-bottom:6px}

  .audience-grid{grid-template-columns:1fr 1fr;gap:28px 18px}
  .audience-grid article,.audience-grid article:first-child,.audience-grid article:last-child{padding-top:20px}
  .audience-grid svg{width:26px;height:26px;margin-bottom:14px}
  .audience-grid h3{font-size:clamp(21px,5.9vw,25px)}
  .audience-grid p{font-size:14px}
  .audience-note{justify-content:flex-start;font-size:15px;line-height:1.55;text-align:left}

  .experience-list li{font-size:13px;padding-block:15px}
  .instructors-photo{height:450px}
  .instructors-photo img{height:100%;translate:none}
  .instructors-photo>span{font-size:11px}
  .instructor-bio{gap:15px;padding-block:24px}
  .instructor-bio h3{font-size:30px}
  .instructor-bio p{font-size:15px}

  .tickets-inner{grid-template-columns:1fr;border-radius:12px;width:calc(100% - 32px)}
  .poster-wrap{width:100%;max-width:none}
  .poster-wrap img{height:auto}
  .poster-wrap::before,.poster-wrap::after{top:auto;bottom:-15px;width:30px;height:30px}
  .poster-wrap::before{left:-15px;right:auto}
  .poster-wrap::after{right:-15px}
  .ticket-info{padding:30px 22px 26px;border-left:0;border-top:2px dashed color-mix(in oklch,var(--ink) 26%,transparent)}
  .ticket-info h2{font-size:clamp(40px,11.6vw,50px)}
  .investment>strong{font-size:96px}
  .ticket-cta{width:100%;font-size:13px}

  .faq-inner{gap:14px}
  .faq button{padding-block:21px;font-size:16px}
  .faq [role=region]{font-size:15px}

  .final-cta h2{font-size:clamp(40px,11.4vw,50px)}
  .final-cta p:not(.eyebrow):not(.contagem-rotulo){font-size:15.5px}
  .final-cta .event-button{height:64px;gap:10px;padding-inline:20px;font-size:12px;width:100%}
  .final-cta .contagem{width:100%}
  .final-date{font-size:18px}

  .footer-brand{font-size:13.5px}
  .footer-brand span{font-size:12.5px}
  .footer-bottom{font-size:11.5px;padding-right:60px}
  .whatsapp-floating{width:48px;height:48px}

  /* barra de compra: aparece quando o botão do topo sai da tela */
  .barra-compra{position:fixed;left:0;right:0;bottom:0;z-index:19;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in oklch,var(--background) 92%,transparent);backdrop-filter:blur(14px);border-top:1px solid color-mix(in oklch,var(--primary) 40%,transparent);transform:translateY(105%);transition:transform .45s var(--mola)}
  .barra-compra.ativa{transform:none}
  .barra-compra[hidden]{display:none}
  .barra-compra p{font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.05;white-space:nowrap}
  .barra-compra p b{display:block;font-size:24px;font-weight:600;color:var(--primary)}
  .barra-compra .event-button{height:50px;padding-inline:18px;gap:10px;font-size:11.5px}
  body.com-barra .whatsapp-floating{translate:0 -74px}
}

@media print{.js .rev{opacity:1}.js h2.titulo:not(.vis) .pl>i{transform:none}.barra-compra{display:none}}
@media (prefers-reduced-motion:reduce){.hero-photo img{clip-path:none;scale:1}.ql{opacity:1!important}}
