/* ============================================================
   CORES DA MARCA (MIV) — trocar SOMENTE estas 3 linhas
   ============================================================ */
:root{
  --brand:#fcb900;        /* primária */
  --brand-ink:#0b0b0e;    /* texto sobre a primária */
  --accent:#fcb900;       /* destaque / CTA */
  --accent-ink:#0b0b0e;
  --grad:linear-gradient(135deg,#ffd93d 0%,#fcb900 46%,#f7a412 100%);
  --grad-hover:linear-gradient(135deg,#ffe680 0%,#ffc824 46%,#ffb01f 100%);
  --grad-ink:#0b0b0e;
  --support:#ff6900;   /* texto sobre o destaque */

  --bg:#0b0b0e;
  --bg2:#131318;
  --bg3:#1b1b22;
  --ink:#f5f3ee;
  --muted:rgba(245,243,238,.60);
  --line:rgba(245,243,238,.13);
  --display:'Archivo Black',Impact,sans-serif;
  --body:'Space Grotesk',Arial,Helvetica,sans-serif;
  --shadow:0 18px 50px rgba(0,0,0,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--accent-ink)}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit}

.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 48px}
.wrap-wide{max-width:1280px}
@media(max-width:860px){.wrap{padding:0 20px}}

section{position:relative;padding:104px 0;scroll-margin-top:68px}
@media(max-width:860px){section{padding:72px 0}}

.eyebrow{display:inline-block;font-family:var(--display);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
h1,h2,h3{font-family:var(--display);line-height:1.03;text-transform:uppercase;letter-spacing:-.01em}
h2{font-size:clamp(28px,4.6vw,52px);margin-bottom:18px}
h3{font-size:clamp(20px,2.6vw,28px)}
.lead{color:var(--muted);font-size:clamp(15.5px,1.5vw,18px);max-width:62ch}
.brand-c{color:var(--brand)}
.accent-c{color:var(--accent)}

/* Cabeçalho de seção centralizado */
.head-center{text-align:center;max-width:760px;margin:0 auto 56px}
.head-center .lead{margin:0 auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-size:14px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:17px 30px;border-radius:12px;border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.btn:active{transform:scale(.98)}
.btn-main{background:var(--accent);color:var(--accent-ink)}
.btn-main:hover{transform:translateY(-2px);box-shadow:0 14px 34px color-mix(in srgb, var(--accent) 34%, transparent)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ================= HEADER ================= */
header{position:fixed;top:0;left:0;right:0;z-index:60;backdrop-filter:blur(14px);background:rgba(11,11,14,.78);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo img{height:34px;width:auto}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-size:13px;text-decoration:none;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--accent)}
.nav-cta{font-family:var(--display);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;background:var(--brand);color:var(--brand-ink);padding:12px 18px;border-radius:10px;transition:filter .2s}
.nav-cta:hover{filter:brightness(1.14)}
.burger{display:none;background:none;border:none;color:var(--ink);font-size:24px;cursor:pointer;padding:8px}
@media(max-width:980px){
  .nav-links{position:fixed;inset:68px 0 auto 0;background:var(--bg2);flex-direction:column;padding:28px;gap:20px;border-bottom:1px solid var(--line);transform:translateY(-135%);transition:transform .3s ease}
  .nav-links.open{transform:none}
  .burger{display:block}
}

/* ================= HERO ================= */
.hero{min-height:100svh;display:flex;align-items:flex-end;padding:120px 0 0;overflow:hidden;background:#000 url('assets/img/Adhana-1-1536x1023.webp') center/cover no-repeat}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100svh;min-width:177.78svh;transform:translate(-50%,-50%);pointer-events:none;border:0}
.hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,11,14,.72) 0%,rgba(11,11,14,.42) 38%,rgba(11,11,14,.86) 82%,var(--bg) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:84px}
.hero-kicker{font-family:var(--display);font-size:clamp(11px,1.2vw,13.5px);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.hero h1{font-size:clamp(38px,8.4vw,104px);text-shadow:0 8px 50px rgba(0,0,0,.55)}
.hero h1 .stroke{color:transparent;-webkit-text-stroke:2px var(--ink)}
.hero h1 .hl{color:var(--brand)}
.hero-sub{margin:24px 0 34px;max-width:52ch;font-size:clamp(15.5px,1.6vw,18.5px);text-shadow:0 2px 18px rgba(0,0,0,.7)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* ================= MARQUEE ================= */
.marquee{background:var(--accent);color:var(--accent-ink);overflow:hidden;padding:15px 0;position:relative;z-index:3;width:106%;margin-left:-3%;transform:rotate(-1.1deg)}
.marquee-track{display:flex;gap:46px;white-space:nowrap;font-family:var(--display);font-size:17px;text-transform:uppercase;letter-spacing:.05em;animation:mq 42s linear infinite;width:max-content;will-change:transform}
.marquee-copy{display:flex;flex:0 0 auto;gap:46px}
@keyframes mq{to{transform:translateX(calc(-50% - 23px))}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ================= PROFESSORES ================= */
.band{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.prof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.prof-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:520px){.prof-grid{grid-template-columns:1fr}}
.prof{position:relative;border-radius:16px;overflow:hidden;background:var(--bg3);border:1px solid var(--line);transition:transform .28s ease,border-color .28s ease}
.prof:hover{transform:translateY(-6px);border-color:var(--brand)}
.prof img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:top center}
.prof-meta{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 18px;background:linear-gradient(180deg,transparent,rgba(8,8,11,.92) 62%)}
.prof-meta .estilo{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:6px}
.prof-meta h3{font-size:19px}

/* ================= CARROSSEL DE VÍDEOS ================= */
.reel{position:relative;margin-top:8px}
.reel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 48px 26px;scrollbar-width:none}
.reel-track::-webkit-scrollbar{display:none}
@media(max-width:860px){.reel-track{padding:4px 20px 24px}}
.vcard-video{flex:0 0 clamp(220px,24vw,268px);scroll-snap-align:center;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--bg3);position:relative;aspect-ratio:9/16}
.vcard-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vfacade{position:absolute;inset:0;width:100%;height:100%;border:0;background:linear-gradient(165deg,var(--bg3),#0d0d11);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding:22px 20px;text-align:left;transition:background .25s ease}
.vfacade:hover{background:linear-gradient(165deg,#22222b,#101015)}
.vfacade .play{width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:16px;margin-bottom:auto;transition:transform .25s ease}
.vfacade .play{font-size:0}
.vfacade .play::before{content:"";display:block;width:0;height:0;margin-left:3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid var(--accent-ink)}
.vfacade:hover .play{transform:scale(1.08)}
.vfacade .vname{font-family:var(--display);font-size:15px;text-transform:uppercase;line-height:1.1}
.vfacade .vhint{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.reel-nav{display:flex;gap:10px;justify-content:center;margin-top:4px}
.reel-nav button{width:44px;height:44px;border-radius:50%;background:var(--bg3);border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:all .2s;font-size:16px}
.reel-nav button:hover{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}








/* ===== VIDEO / VIVENCIA ===== */
.video-frame{max-width:900px;margin:0 auto}
.video-169{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:var(--shadow)}
.video-169 iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.statement{font-family:var(--display);font-size:clamp(19px,2.8vw,32px);text-transform:uppercase;text-align:center;line-height:1.15;margin:64px auto 8px;max-width:20ch}
.viv-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:64px;align-items:start}
@media(max-width:900px){.viv-grid{grid-template-columns:1fr;gap:44px;margin-top:48px}.statement{margin-top:48px}}
.check-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.check-list li{display:flex;gap:14px;align-items:flex-start;font-size:16.5px;color:rgba(245,243,238,.86)}
.check-list li span{flex:0 0 24px;height:24px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:3px}
.prose p{color:var(--muted);margin-bottom:16px;font-size:16.5px}
.prose p strong{color:var(--ink)}
.prose p:last-of-type{margin-bottom:0}

/* ===== DEPOIMENTOS ===== */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.quotes{grid-template-columns:1fr}}
.quote{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:32px 28px;text-align:center}
.quote img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto 18px;background:var(--bg3)}
.quote p{color:var(--muted);font-size:16px;margin-bottom:16px}
.quote cite{font-family:var(--display);font-size:12.5px;text-transform:uppercase;letter-spacing:.12em;font-style:normal;color:var(--accent)}

/* ===== HORARIOS (posteres) ===== */
.dia-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.dia-tab{font-family:var(--display);font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;padding:14px 24px;border-radius:10px;background:var(--bg3);border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:all .2s ease}
.dia-tab:hover{color:var(--ink);border-color:var(--brand)}
.dia-tab.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
@media(max-width:700px){.dia-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dia-tab{padding:13px 10px}}
.poster-stage{display:flex;justify-content:center}
.poster{display:none;margin:0}
.poster.active{display:block;animation:fade .38s ease}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.poster img{width:auto;height:auto;max-width:min(100%,392px);max-height:min(68vh,660px);margin:0 auto;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow);cursor:zoom-in;transition:transform .25s ease}
.poster img:hover{transform:scale(1.012)}
.poster-note{text-align:center;color:var(--muted);font-size:13.5px;margin-top:20px}
.poster-note a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}

/* ===== PLANOS ===== */
.planos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto auto auto auto;gap:20px;align-items:stretch}
.plano{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:18px;background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:34px 26px;transition:transform .26s ease,border-color .26s ease}
@supports not (grid-template-rows:subgrid){.planos-grid{grid-template-rows:none}.plano{grid-row:auto;grid-template-rows:auto auto 1fr auto auto}}
.plano:hover{transform:translateY(-6px);border-color:var(--brand)}
.plano h3{font-size:21px;letter-spacing:0}
.plano .desc{color:var(--muted);font-size:14.5px;line-height:1.5}
.plano .desc strong{color:var(--accent)}
.precos{display:flex;flex-direction:column;justify-content:center;gap:10px}
.preco-big{font-family:var(--display);font-size:clamp(28px,2.6vw,36px);color:var(--accent);white-space:nowrap;letter-spacing:-.01em}
.linha{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px dashed var(--line)}
.linha:last-child{border-bottom:none;padding-bottom:0}
.linha span{font-size:12.5px;color:var(--muted);line-height:1.25}
.linha b{font-family:var(--display);font-size:16px;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
.obs{font-size:11.5px;color:var(--muted);line-height:1.5;border-top:1px solid var(--line);padding-top:14px}
.obs b{display:block;font-family:var(--display);font-size:12px;color:var(--accent);letter-spacing:.04em;margin-bottom:5px}
.obs.is-empty{border-top:none;padding-top:0}
.plano .btn{width:100%;align-self:end;padding:16px 18px;font-size:12.5px}
@media(max-width:1080px){.planos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plano{grid-row:span 5}}
@media(max-width:600px){.planos-grid{grid-template-columns:minmax(0,1fr)}.plano{padding:30px 24px}}

/* ===== TRUST ===== */
.trust{padding:88px 0;text-align:center;border-top:1px solid var(--line)}
.trust p{font-family:var(--display);font-size:clamp(22px,3.6vw,42px);text-transform:uppercase;line-height:1.14;max-width:22ch;margin:0 auto}

/* ===== ESCOLA ===== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:38px}}
.escola-img{margin:0}
.escola-img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}

/* ===== FAQ ===== */
.faq details{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:var(--bg2);overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:var(--brand)}
.faq summary{cursor:pointer;padding:22px 26px;font-family:var(--display);font-size:15px;text-transform:uppercase;letter-spacing:.02em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:24px;color:var(--accent);flex:0 0 auto;transition:transform .25s ease;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq-body{padding:0 26px 24px}
.faq-body p{color:var(--muted);font-size:15.5px;margin-bottom:12px}
.faq-body p:last-child{margin-bottom:0}
.faq-body strong{color:var(--ink)}
.faq-body ul{list-style:none;margin:6px 0 14px}
.faq-body ul li{color:var(--muted);font-size:15.5px;padding:7px 0 7px 18px;border-left:2px solid var(--brand);margin-bottom:6px}
.faq-body ul li strong{color:var(--accent)}

/* ===== CONTATO ===== */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:34px 64px;align-items:start}
.contato-intro{grid-column:2;grid-row:1;max-width:none}
.contato-mapa{grid-column:1;grid-row:1/3;align-self:stretch;min-height:560px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--bg3);box-shadow:var(--shadow)}
.contato-mapa iframe{display:block;width:100%;height:100%;min-height:560px;border:0;filter:none}
.contato-list{grid-column:2;grid-row:2;align-self:start}
@media(max-width:900px){
  .contato-grid{grid-template-columns:1fr;gap:40px}
  .contato-intro{grid-column:1;grid-row:1}
  .contato-mapa{grid-column:1;grid-row:2;min-height:340px}
  .contato-list{grid-column:1;grid-row:3}
  .contato-mapa,.contato-mapa iframe{min-height:340px}
}
.endereco{margin-top:26px;font-size:15px;color:var(--muted);padding-left:16px;border-left:2px solid var(--brand)}
.contato-list{list-style:none}
.contato-list li{border-top:1px solid var(--line)}
.contato-list li:last-child{border-bottom:1px solid var(--line)}
.contato-list a{display:grid;grid-template-columns:118px 1fr auto;align-items:center;gap:18px;padding:22px 4px;text-decoration:none;transition:padding .22s ease,background .22s ease}
.contato-list a:hover{padding-left:14px;background:rgba(255,255,255,.04)}
.contato-list .canal{font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.contato-list .valor{font-size:17px;color:var(--ink)}
.contato-list .seta{color:var(--accent);font-size:18px;transition:transform .22s ease}
.contato-list a:hover .seta{transform:translateX(5px)}
@media(max-width:520px){.contato-list a{grid-template-columns:1fr auto;gap:4px 12px}.contato-list .canal{grid-column:1/-1}}

/* ===== FOOTER ===== */
footer{border-top:1px solid var(--line);padding:44px 0;background:var(--bg2)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-inner img{height:38px;width:auto}
.footer-inner p{font-size:13px;color:var(--muted)}
.footer-inner a{font-size:13px;color:var(--muted);text-decoration:none;transition:color .2s}
.footer-inner a:hover{color:var(--accent)}
@media(max-width:600px){
  .footer-inner{flex-direction:column;justify-content:center;text-align:center;gap:16px}
  .footer-inner img{margin:0 auto}
}

/* ===== WHATSAPP FLUTUANTE ===== */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:70;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.42);transition:transform .22s ease}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@media(max-width:600px){.wa-float{right:16px;bottom:16px;width:52px;height:52px}}

/* ===== LIGHTBOX ===== */
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(6,6,9,.94);display:none;align-items:center;justify-content:center;padding:28px;cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:min(96vw,720px);max-height:94vh;width:auto;height:auto;border-radius:12px}
.lb-close{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--ink);font-size:26px;cursor:pointer;line-height:1;padding:8px}
.lb-close:hover{color:var(--accent)}

/* ===== CORRECOES DE OVERFLOW ===== */
body{max-width:100vw}
.hero{max-width:100vw}
.marquee{width:100%;margin-left:0;transform:none;overflow:hidden}
@media(min-width:861px){.marquee{width:104%;margin-left:-2%;transform:rotate(-1deg)}}
@media(max-width:860px){
  .marquee{width:104%;margin-left:-2%;padding:10px 0;transform:rotate(-1deg)}
  .marquee-track{font-size:14px;gap:34px}
  .marquee-copy{gap:34px}
  @keyframes mq{to{transform:translateX(calc(-50% - 17px))}}
}

/* clip lateral: o marquee rotacionado excedia 29px o viewport */
html{overflow-x:clip}
body{overflow-x:clip}
/* ===== MIV V7 (amarelo dominante) ===== */
.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.btn-main{background:var(--grad);color:var(--grad-ink);border-color:transparent;box-shadow:0 10px 26px rgba(252,185,0,.20)}
.btn-main:hover{background:var(--grad-hover);box-shadow:0 14px 34px rgba(252,185,0,.28)}
.dia-tab.active{background:var(--grad);color:var(--grad-ink);border-color:transparent;box-shadow:0 8px 22px rgba(252,185,0,.18)}
.vfacade .play{background:var(--grad);color:var(--grad-ink)}
.wa-float{background:#25d366;color:#08130b}
.vthumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.vfacade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,0) 28%,rgba(8,8,10,.66) 72%,rgba(8,8,10,.94) 100%)}
.vfacade > span{position:relative;z-index:2}
.vfacade:hover .vthumb{transform:scale(1.05)}
.vfacade:hover{background:linear-gradient(165deg,var(--bg3),#0d0d11)}
.contato-list .canal{display:flex;align-items:center;gap:10px}
.contato-list .canal svg{width:16px;height:16px;flex:0 0 16px;fill:currentColor;color:var(--accent)}
.contato-list a:hover .canal svg{color:#fff}
.contato-list a:hover .seta{color:var(--support)}
.endereco{display:flex;gap:10px;align-items:flex-start}
.endereco svg{width:15px;height:15px;flex:0 0 15px;fill:currentColor;color:var(--accent);margin-top:4px}

/* ===== 4. VIDEO DA VIVENCIA: caixa na proporcao do proprio video ===== */
.video-frame{width:100%;max-width:min(900px,calc(74vh * var(--ar,1.55)));margin:0 auto}
.video-169{aspect-ratio:var(--ar,1.55);background:#000}

/* ===== 6. HERO NO MOBILE: video abaixo das informacoes ===== */
@media(max-width:760px){
.hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:96px 0 0;background:var(--bg);background-image:none}
.hero::before,.hero::after,.hero-video::before,.hero-video::after{display:none !important}
.hero-inner{order:1;padding-bottom:26px}
.hero h1{text-shadow:none}
.hero-video{order:2;position:relative;inset:auto;z-index:1;width:calc(100% - 40px);max-width:520px;margin:0 auto 34px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:var(--shadow)}
.hero-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;min-width:0;min-height:0;transform:none}
.hero-poster{object-position:center 38%}
}
/* ===== V8 ===== */
header .nav-cta{background:var(--grad);color:var(--bg);border:0;box-shadow:0 8px 22px rgba(252,185,0,.18)}
header .nav-cta:hover{background:var(--grad-hover);filter:none;box-shadow:0 12px 28px rgba(252,185,0,.26)}
.contato-list a{grid-template-columns:178px 1fr auto}
.contato-list .canal{display:flex;align-items:center;gap:14px}
.contato-list .ic{width:38px;height:38px;flex:0 0 38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);display:grid;place-items:center;transition:background .22s ease,border-color .22s ease,transform .22s ease}
.contato-list .ic svg{width:20px;height:20px;display:block;fill:currentColor;color:var(--accent);transition:color .22s ease}
.contato-list a:hover .ic{background:var(--grad);border-color:transparent;transform:translateY(-1px)}
.contato-list a:hover .ic svg{color:var(--bg)}
.endereco svg{width:18px;height:18px;flex:0 0 18px;margin-top:3px}
@media(max-width:620px){
.contato-list a{grid-template-columns:1fr auto;gap:10px 12px}
.contato-list .canal{grid-column:1/-1}
}
/* ===== V9 ===== */
/* 2. CTA do menu: mesma animacao dos botoes do corpo e letra sempre na cor do fundo */
header .nav-links a.nav-cta,header .nav-links a.nav-cta:hover,header .nav-links a.nav-cta:focus,header .nav-links a.nav-cta:active{color:var(--bg)}
header .nav-cta{background:var(--grad);border:0;box-shadow:0 8px 22px rgba(252,185,0,.18);filter:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
header .nav-cta:hover{background:var(--grad-hover);filter:none;transform:translateY(-2px);box-shadow:0 14px 34px rgba(252,185,0,.28)}

/* 4. instagram: traco com vazado, nao mancha */
.contato-list .ic svg.ico-ig{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linejoin:round}
.contato-list .ic svg.ico-ig .dot{fill:currentColor;stroke:none}

/* 1. hero: camada de video local */
.hero-video video.hero-mp4{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100svh;min-width:177.78svh;transform:translate(-50%,-50%);object-fit:cover;z-index:1;opacity:0;transition:opacity .45s ease;pointer-events:none;border:0}
.hero-video video.hero-mp4.on{opacity:1}
@media(max-width:760px){
.hero-video video.hero-mp4{position:absolute;top:0;left:0;width:100%;height:100%;min-width:0;min-height:0;transform:none}
}
/* ===== V10 ===== */
.hero-yt:not([src]){display:none}

/* tipografia: suavizacao (fim do serrilhado) + Archivo nos tamanhos pequenos */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
:root{--ui:'Archivo','Archivo Black',system-ui,-apple-system,sans-serif}
.btn,.nav-cta,.dia-tab,.eyebrow,.panel-label,.chips span,.canal,.obs,.vname,.poster-note,.vhint,.plano h3{font-family:var(--ui);font-weight:800}
.btn{letter-spacing:.075em}
.nav-cta{letter-spacing:.085em}
.preco-big,.linha,.trust strong{font-family:var(--ui);font-weight:800;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* foto da escola acompanha a altura do texto ao lado */
@media(min-width:900px){
.split{align-items:stretch;grid-template-columns:1fr 1fr}
.escola-img{align-self:stretch;display:block;height:100%;min-height:430px}
.escola-img img{width:100%;max-width:none;height:100%;object-fit:cover;object-position:center 42%;display:block;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}
}
@media(max-width:899px){
.escola-img img{width:100%;max-width:none;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:16px;border:1px solid var(--line)}
}
/* ===== V10B ===== */
/* todo texto de display pequeno sai do Archivo Black (chumbado e serrilhado)
   e vai para Archivo 800, que tem hinting proprio nesses tamanhos */
.hero-kicker,.marquee-track,.vfacade .vname,.quote cite,.linha b,.obs b,
.faq summary,.contato-list .canal,.plano h3{font-family:var(--ui);font-weight:800}
.preco-big,.linha b,.obs b{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.linha b{font-size:16.5px;letter-spacing:0}
.obs b{letter-spacing:.035em}
.faq summary{letter-spacing:.035em}
.contato-list .canal{letter-spacing:.16em}
.marquee-track{letter-spacing:.05em}
/* ===== V11: video local no hero ===== */
.hero{position:relative;isolation:isolate}
.hero-video{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;box-shadow:none;aspect-ratio:auto}
.hero-video>video.hero-mp4{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;transform:none;object-fit:cover;object-position:center;opacity:1;display:block;border:0;background:#000}
@media(max-width:760px){
.hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:96px 0 0;background:var(--bg)}
.hero::after{display:none !important}
.hero-inner{order:1;padding-bottom:34px}
.hero-video{order:2;position:relative;inset:auto;z-index:1;width:100%;height:auto;max-width:none;margin:0;overflow:visible;border:0;border-radius:0;box-shadow:none;aspect-ratio:16/9}
.hero-video::before{content:"";display:block !important;position:absolute;z-index:2;top:-72px;right:0;left:0;height:144px;pointer-events:none;background:linear-gradient(180deg,var(--bg) 0%,rgba(11,11,14,.88) 32%,rgba(11,11,14,0) 100%)}
.hero-video>video.hero-mp4{object-position:center}
.hero h1{ text-shadow:none }
}

/* ===== V12: sistema tipografico ===== */
:root{
  --display:'Archivo',Arial,Helvetica,sans-serif;
  --body:'Space Grotesk',Arial,Helvetica,sans-serif;
  --ui:'Archivo',Arial,Helvetica,sans-serif;
}
body{font-weight:400;letter-spacing:-.005em}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.035em;text-wrap:balance}
.hero h1{font-weight:900;letter-spacing:-.045em;line-height:.98}
.hero h1 .stroke{-webkit-text-stroke:1.25px var(--ink)}
h2{font-weight:700;line-height:1.06}
h3{font-weight:700;line-height:1.12}
.lead,.hero-sub,.prose p,.check-list li,.faq-body p,.faq-body li{font-family:var(--body);font-weight:400;letter-spacing:-.01em}
.eyebrow,.hero-kicker{font-family:var(--ui);font-weight:700;letter-spacing:.2em}
.hero-kicker{letter-spacing:.24em}
.btn,.nav-cta,.dia-tab,.vfacade .vname,.vfacade .vhint,.quote cite,
.faq summary,.contato-list .canal,.plano h3,.poster-note,.obs,.obs b{
  font-family:var(--ui);font-weight:700
}
.btn{letter-spacing:.055em}
.nav-cta,.dia-tab{letter-spacing:.065em}
.faq summary{font-weight:700;letter-spacing:.01em;text-transform:none}
.marquee-track,.statement,.trust p{font-family:var(--display);font-weight:700;letter-spacing:-.015em}
.prof-meta h3{font-weight:700;letter-spacing:-.02em}
.prof-meta .estilo,.vfacade .vhint,.quote cite,.contato-list .canal{font-weight:600}
.preco-big,.linha b,.trust strong{font-family:var(--ui);font-weight:800;letter-spacing:-.025em}
@media(max-width:760px){
  .hero h1{letter-spacing:-.04em}
}

/* Foto da escola na proporcao original, sem recorte */
@media(min-width:900px){
  #escola .split{align-items:center}
  #escola .escola-img{align-self:center;height:auto;min-height:0}
  #escola .escola-img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
}
@media(max-width:899px){
  #escola .prose .btn{display:flex;width:max-content;margin:18px auto 0 !important}
}

/* Formulario antes do WhatsApp */
.wa-modal[hidden]{display:none}
.wa-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(5,5,8,.82);backdrop-filter:blur(8px)}
.wa-modal-card{position:relative;width:min(100%,480px);padding:38px;border:1px solid var(--line);border-radius:20px;background:var(--bg2);box-shadow:0 28px 90px rgba(0,0,0,.65)}
.wa-modal-card h2{font-size:clamp(28px,5vw,42px);margin-bottom:12px}
.wa-modal-card .eyebrow{margin-bottom:12px}
.wa-modal-intro{margin-bottom:26px;color:var(--muted)}
.wa-modal-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s}
.wa-modal-close:hover{color:var(--ink);border-color:var(--accent)}
.wa-modal form{display:grid;gap:10px}
.wa-modal label{margin-top:5px;font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.wa-modal input{width:100%;height:52px;padding:0 16px;border:1px solid var(--line);border-radius:11px;outline:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;transition:border-color .2s,box-shadow .2s}
.wa-modal input::placeholder{color:rgba(245,243,238,.36)}
.wa-modal input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(252,185,0,.12)}
.wa-form-error{min-height:22px;color:#ff9b7a;font-size:13px}
.wa-modal .btn{width:100%;margin-top:4px}
@media(max-width:520px){
  .wa-modal-card{padding:32px 22px 24px;border-radius:16px}
}

/* ===== V13: movimento coreografado ===== */
header{animation:navEnter .7s cubic-bezier(.22,.8,.25,1) both}
@keyframes navEnter{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}

.hero-line{display:block;overflow:hidden;padding:.035em .18em .055em 0}
.hero-line-inner{display:block;transform:translateY(115%);animation:heroLine .9s cubic-bezier(.16,1,.3,1) forwards}
.hero-line:nth-child(1) .hero-line-inner{animation-delay:.16s}
.hero-line:nth-child(2) .hero-line-inner{animation-delay:.29s}
.hero-line:nth-child(3) .hero-line-inner{animation-delay:.42s}
.hero-line:nth-child(4) .hero-line-inner{animation-delay:.55s}
.hero-kicker{opacity:0;animation:heroFade .65s ease .08s forwards}
.hero-sub{opacity:0;transform:translateY(18px);animation:heroFadeUp .75s cubic-bezier(.2,.8,.2,1) .62s forwards}
.hero-actions{opacity:0;transform:translateY(18px);animation:heroFadeUp .75s cubic-bezier(.2,.8,.2,1) .76s forwards}
@keyframes heroLine{to{transform:none}}
@keyframes heroFade{to{opacity:1}}
@keyframes heroFadeUp{to{opacity:1;transform:none}}
@media(min-width:761px){
  .hero-video>video.hero-mp4{animation:heroCamera 18s ease-in-out infinite alternate}
  @keyframes heroCamera{from{transform:scale(1.015);object-position:48% center}to{transform:scale(1.09);object-position:53% center}}
}
@media(min-width:1100px){
  .hero{align-items:center;padding-top:68px}
  .hero-inner{width:90%;max-width:none;margin-right:auto;margin-left:5vw;padding:0;transform:none}
  .hero-inner h1{max-width:1150px;font-size:clamp(58px,5vw,78px)}
  .hero-line-inner{white-space:nowrap}
  .hero-sub{max-width:44ch}
  .hero::after{background:linear-gradient(90deg,rgba(11,11,14,.82) 0%,rgba(11,11,14,.6) 30%,rgba(11,11,14,.12) 61%,rgba(11,11,14,0) 78%),linear-gradient(180deg,rgba(11,11,14,.38) 0%,rgba(11,11,14,.08) 48%,rgba(11,11,14,.72) 88%,var(--bg) 100%)}
}

.reveal{opacity:0;filter:blur(2px);transform:translateY(16px);transition:opacity .36s ease-out,filter .36s ease-out,transform .42s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;filter:none;transform:none}
.prof-grid .reveal:nth-child(2),.planos-grid .reveal:nth-child(2){transition-delay:.025s}
.prof-grid .reveal:nth-child(3),.planos-grid .reveal:nth-child(3){transition-delay:.05s}
.prof-grid .reveal:nth-child(4),.planos-grid .reveal:nth-child(4){transition-delay:.075s}
.prof-grid .reveal:nth-child(5){transition-delay:.1s}
.prof-grid .reveal:nth-child(6){transition-delay:.125s}

.btn,.nav-cta{position:relative;isolation:isolate;overflow:hidden}
.btn::after,.nav-cta::after{content:"";position:absolute;z-index:-1;top:-60%;bottom:-60%;left:-45%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .65s cubic-bezier(.2,.7,.2,1)}
.btn:hover::after,.nav-cta:hover::after{left:125%}
.prof,.plano,.video-169,.escola-img img,.contato-mapa{transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .5s ease}
.prof:hover,.plano:hover{transform:translateY(-8px);border-color:rgba(252,185,0,.45);box-shadow:0 24px 54px rgba(0,0,0,.42)}
.video-169:hover,.escola-img:hover img,.contato-mapa:hover{transform:translateY(-5px);border-color:rgba(252,185,0,.35);box-shadow:0 26px 60px rgba(0,0,0,.5)}
.vfacade .play{box-shadow:0 0 0 0 rgba(252,185,0,.45);animation:playPulse 2.4s ease-out infinite}
@keyframes playPulse{0%,35%{box-shadow:0 0 0 0 rgba(252,185,0,.42)}75%,100%{box-shadow:0 0 0 18px rgba(252,185,0,0)}}

@media(prefers-reduced-motion:reduce){
  header,.hero-kicker,.hero-line-inner,.hero-sub,.hero-actions,.hero-video>video.hero-mp4,.vfacade .play{animation:none !important}
  .hero-kicker,.hero-sub,.hero-actions{opacity:1;transform:none}
  .hero-line-inner{transform:none}
  .reveal{opacity:1;filter:none;transform:none;transition:none}
  .btn::after,.nav-cta::after{display:none}
}
