/* ============================================================
   BATERIA DE SUCESSO — Claudinho Mendonca
   Direcao "Obsidiana Bronze". Canvas #040404, acento unico #D98B33.
   Sem sombra, sem gradiente (exceto scrim de foto), sem blur.
   Todo movimento derivado de 100 BPM (seminima = 600ms).
   ============================================================ */

/* ---------- FONTES (self-hosted, CSP 'self') ---------- */
@font-face{
  font-family:'Barlow Condensed'; font-style:normal; font-weight:300; font-display:swap;
  src:url('../fontes/barlow-condensed-300.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:'Barlow Condensed'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fontes/barlow-condensed-500.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:'Space Grotesk'; font-style:normal; font-weight:300 700; font-display:swap;
  src:url('../fontes/space-grotesk-400.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;
}

/* ---------- TOKENS ---------- */
:root{
  --canvas:#040404; --surface-1:#0C0C0C; --surface-2:#101010; --surface-3:#171717; --surface-inset:#020202;
  --border-hairline:#141414; --border-default:#242424; --border-strong:#3A3A3A; --border-control:#5F5F5F;
  --text-primary:#EDEDED; --text-secondary:#B4B4B4; --text-tertiary:#949494; --text-on-accent:#050505;
  --accent:#D98B33; --accent-hover:#E9A054; --accent-pressed:#B87024;

  --font-display:'Barlow Condensed','Saira Condensed',Impact,sans-serif;
  --font-ui:'Space Grotesk','Inter',system-ui,-apple-system,sans-serif;

  --fs-d0:132px; --fs-d1:78px; --fs-d2:54px; --fs-d3:30px; --fs-q:36px;
  --fs-lead:20px; --fs-body:15px; --fs-sm:13px; --fs-label:11px; --fs-meta:12px; --fs-btn:13px; --fs-num:64px;

  --card-pad:36px; --section-y:104px; --max-w:1200px; --col-text:640px;
  --r-btn:2px; --r-card:6px; --r-media:10px;

  /* grade ritmica — 100 BPM */
  --t-semibreve:2400ms; --t-minima:1200ms; --t-seminima-p:900ms; --t-seminima:600ms;
  --t-terc-sem:400ms; --t-colcheia:300ms; --t-terc-col:200ms; --t-semicol:150ms;
  --t-terc-scol:100ms; --t-fusa:75ms; --t-terc-fusa:50ms;
  --d-micro:var(--t-semicol); --d-hover:var(--t-colcheia); --d-enter:var(--t-seminima);
  --d-section:var(--t-minima); --d-press:var(--t-fusa);

  --ease-golpe:cubic-bezier(.16,1,.30,1);
  --ease-ghost:cubic-bezier(.25,0,.10,1);
  --ease-abafado:cubic-bezier(.70,0,.84,0);

  --scrim:linear-gradient(to top,rgba(4,4,4,.95) 0%,rgba(4,4,4,.80) 30%,rgba(4,4,4,.38) 62%,rgba(4,4,4,.08) 100%);
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{
  background:var(--canvas); color:var(--text-secondary);
  font-family:var(--font-ui); font-size:var(--fs-body); line-height:1.68;
  font-feature-settings:'tnum' 1;
  overflow-x:hidden;
  transition:background-color var(--d-section) linear;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul,ol{list-style:none}
::selection{background:var(--accent);color:var(--text-on-accent)}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn-primario:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}

.pular{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--text-on-accent);
  padding:12px 20px;z-index:200;font-size:var(--fs-btn);text-transform:uppercase;letter-spacing:.09em}
.pular:focus{left:12px;top:12px}

/* ---------- TIPOGRAFIA ---------- */
.d0,.d1,.d2,.d3,.q{font-family:var(--font-display);color:var(--text-primary)}
.d0{font-size:var(--fs-d0);font-weight:500;line-height:.98;letter-spacing:-.022em;text-transform:uppercase}
.d1{font-size:var(--fs-d1);font-weight:300;line-height:1.10;letter-spacing:-.016em}
.d2{font-size:var(--fs-d2);font-weight:300;line-height:1.12;letter-spacing:-.012em}
.d3{font-size:var(--fs-d3);font-weight:400;line-height:1.20;letter-spacing:-.008em}
.d1,.d2,.q{text-wrap:balance}
.q{font-size:var(--fs-q);font-weight:300;line-height:1.16;letter-spacing:-.010em}
.lead{font-size:var(--fs-lead);line-height:1.55;letter-spacing:-.004em;color:var(--text-secondary)}
.sm{font-size:var(--fs-sm);line-height:1.6;letter-spacing:.005em}
.label{font-size:var(--fs-label);line-height:1.4;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.meta{font-size:var(--fs-meta);line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}
.num{font-family:var(--font-display);font-size:var(--fs-num);font-weight:300;line-height:1.05;letter-spacing:-.02em;color:var(--text-primary)}
.acento{color:var(--accent)}
.terciario{color:var(--text-tertiary)}
.primario{color:var(--text-primary)}
p{max-width:var(--col-text)}

/* marcador honesto de dado que o cliente ainda precisa fornecer */
.pendente{color:var(--text-tertiary);font-family:var(--font-ui);font-size:var(--fs-sm);letter-spacing:.02em;
  border-left:2px solid var(--border-strong);padding-left:12px;display:inline-block}

/* ---------- ESTRUTURA ---------- */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 48px;width:100%}
section{padding:var(--section-y) 0}
.regua{height:1px;background:rgba(255,255,255,.12);transform:scaleX(0);transform-origin:left center;
  transition:transform var(--t-seminima-p) var(--ease-golpe)}
.regua.is-in{transform:scaleX(1)}
.regua--dir{transform-origin:right center}
.wrap>.regua:first-child{margin-bottom:36px}
.risco{width:96px;height:1px;background:var(--accent);margin:24px 0}
.cabeca{margin-bottom:48px}
.cabeca .d2{margin-top:16px}
.cabeca .lead{margin-top:20px}

/* ---------- REVEAL ---------- */
[data-reveal]{opacity:0;transform:translate3d(0,24px,0);
  transition:opacity var(--d-enter) var(--ease-golpe),transform var(--d-enter) var(--ease-golpe)}
[data-reveal="media"]{transform:translate3d(0,32px,0)}
[data-reveal].is-in{opacity:1;transform:translate3d(0,0,0)}
[data-reveal]:focus-within{opacity:1 !important;transform:none !important}
/* A máscara tem área real para acentos e descendentes, além da caixa de linha.
   As margens compensam o respiro sem abrir um vão entre as linhas da marca. */
.mask{display:block;overflow:hidden;padding-block:.12em .20em;margin-block:-.12em -.20em}
.mask>span,.mask>em{display:block;font-style:normal;transform:translateY(130%);
  transition:transform var(--d-enter) var(--ease-golpe)}
.is-in>.mask>span,.is-in>.mask>em,.mask.is-in>span,.mask.is-in>em{transform:translateY(0)}

/* ---------- FOTOGRAFIA: duotone bronze ---------- */
.foto{position:relative;overflow:hidden;background:var(--surface-1)}
.foto img{filter:grayscale(1) contrast(1.10) brightness(.80);width:100%;height:100%;object-fit:cover}
.foto::before,.foto::after{content:'';position:absolute;inset:0;pointer-events:none}
.foto::before{background:#040404;opacity:.18;mix-blend-mode:multiply}
.foto::after{background:var(--accent);opacity:.12;mix-blend-mode:color}
.foto--grao .grao{position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  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='0.86' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.scrim{position:absolute;inset:0;background:var(--scrim);pointer-events:none}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;
  border-bottom:1px solid transparent;transition:background-color var(--d-micro) var(--ease-ghost),border-color var(--d-micro) var(--ease-ghost)}
.nav.rolou,.nav.aberto{background:var(--surface-2);border-bottom-color:var(--border-default)}
.nav__in{max-width:var(--max-w);margin:0 auto;padding:0 48px;height:100%;display:flex;align-items:center;gap:24px}
.nav__marca{display:flex;flex-direction:column;gap:2px;flex-shrink:0}
.nav__marca .label{color:var(--text-primary)}
.nav__marca .sub{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}
.nav__links{display:flex;gap:22px;margin-left:auto}
.nav__links a{position:relative;font-size:var(--fs-sm);letter-spacing:.025em;color:var(--text-secondary);white-space:nowrap;
  padding:12px 0;transition:color var(--d-micro) var(--ease-ghost)}
.nav__links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);
  transform:scaleX(0);transform-origin:right center;transition:transform var(--d-hover) var(--ease-golpe)}
.nav__links a:hover{color:var(--text-primary)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left center}
.nav__links a[aria-current]{color:var(--text-primary)}
.nav__links a[aria-current]::after{transform:scaleX(1)}
.nav .nav__cta{flex-shrink:0;padding:12px 18px;min-height:44px}
.nav__bpm{display:flex;align-items:center;gap:8px;flex-shrink:0;
  font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);
  font-feature-settings:'tnum' 1}
.nav__ponto{width:5px;height:5px;border-radius:50%;background:var(--text-primary);opacity:.22;
  transition:opacity var(--t-fusa) var(--ease-ghost)}
.nav__burger{display:none;width:44px;height:44px;margin-left:auto;position:relative}
.nav__burger span{position:absolute;left:12px;width:20px;height:1px;background:var(--text-primary);
  transition:transform var(--d-hover) var(--ease-golpe),opacity var(--d-micro) var(--ease-ghost)}
.nav__burger span:nth-child(1){top:20px}
.nav__burger span:nth-child(2){top:26px}
.nav.aberto .nav__burger span:nth-child(1){transform:translateY(3px) rotate(45deg)}
.nav.aberto .nav__burger span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
.gaveta{position:fixed;inset:0;z-index:99;background:var(--canvas);padding:100px 32px calc(32px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:4px;transform:translateY(-100%);
  overflow-y:auto;overscroll-behavior:contain;
  transition:transform var(--t-terc-sem) var(--ease-abafado);visibility:hidden}
.gaveta.aberta{transform:translateY(0);visibility:visible;transition:transform var(--d-enter) var(--ease-golpe)}
.gaveta a{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1.2;color:var(--text-primary);padding:14px 0;
  border-bottom:1px solid var(--border-hairline)}
.gaveta a.acento{color:var(--accent)}

/* ---------- BOTOES ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:var(--fs-btn);font-weight:500;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;text-align:center;
  padding:16px 28px;border-radius:var(--r-btn);min-height:48px;position:relative;overflow:hidden;
  transition:background-color var(--d-micro) var(--ease-ghost),border-color var(--d-micro) var(--ease-ghost),transform var(--d-hover) var(--ease-golpe)}
.btn-primario{background:var(--accent);color:var(--text-on-accent)}
.btn-primario:hover{background:var(--accent-hover)}
.btn-primario:active{background:var(--accent-pressed);transform:scale(.985)}
.btn-ghost{border:1px solid var(--border-control);color:var(--text-primary);background:transparent}
.btn-ghost::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.06);
  transform:scaleY(0);transform-origin:bottom center;transition:transform var(--d-hover) var(--ease-golpe)}
.btn-ghost:hover{border-color:var(--text-primary);transform:translate3d(0,-2px,0)}
.btn-ghost:hover::before{transform:scaleY(1)}
.btn-ghost:not(:hover)::before{transform-origin:top center}
.btn-ghost:active{transform:translate3d(0,0,0) scale(.985)}
.btn>span{position:relative;z-index:1}
.btn-texto{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--fs-sm);
  min-height:44px;transition:color var(--d-micro) var(--ease-ghost)}
.btn-texto .seta{color:var(--text-tertiary);transition:transform var(--d-hover) var(--ease-golpe),color var(--d-micro) var(--ease-ghost)}
.btn-texto:hover{color:var(--text-primary)}
.btn-texto:hover .seta{transform:translate3d(4px,0,0)}
.btn-linha{display:inline-block;border-bottom:1px solid var(--accent);padding:10px 0 3px;color:var(--text-primary)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;height:auto;padding:calc(72px + 48px) 0 0;
  display:flex;align-items:flex-end;overflow:hidden}
.hero__foto{position:absolute;inset:0;z-index:0}
.hero__foto img{opacity:.18}
/* o vídeo entra por cima da foto quando estiver pronto — a foto é o cartaz e o plano B */
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;pointer-events:none}
/* animação com forwards em vez de transição: o estado final fica garantido */
.hero__video.no-ar{animation:videoEntra var(--t-minima) var(--ease-golpe) forwards}
@keyframes videoEntra{from{opacity:0}to{opacity:.22}}

.hero__in{position:relative;z-index:2;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 48px 72px}
.hero__kicker{color:var(--text-secondary)}
.hero__marca,.hero__headline{display:flex;flex-direction:column}
.hero__marca{margin:0 0 28px;font-family:var(--font-display);font-size:clamp(58px,7.4vw,116px);font-weight:500;
  line-height:.98;letter-spacing:-.022em;text-transform:uppercase}
.hero__marca .mask>span{color:var(--text-primary)}
.hero__marca .mask:nth-child(3)>span{color:var(--accent)}
.hero .d1{max-width:960px;font-size:clamp(40px,4.6vw,66px);line-height:1.10;text-wrap:initial}
.hero .lead{max-width:600px;margin-top:16px}
.hero__lead{max-width:600px}
.hero__acoes{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.hero__cred{margin-top:20px;font-size:var(--fs-sm);color:var(--text-tertiary);max-width:560px}
.hero__base{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--text-primary);opacity:.08;
  transform:scaleX(0);transform-origin:left center;transition:transform var(--t-seminima-p) var(--ease-golpe),opacity var(--t-fusa) var(--ease-ghost)}
.hero__base.is-in{transform:scaleX(1)}
.hero__creds-mob{display:none}

@media (min-width:769px) and (max-height:820px){
  .hero__marca{font-size:clamp(46px,5.6vw,84px)}
  .hero .d1{font-size:clamp(36px,3.6vw,50px)}
  .hero__in{padding-bottom:56px}
  .hero__lead{font-size:16px}
}

/* o conteúdo do hero sobe mais devagar que a página e se dissolve — profundidade na virada */
.js .hero__in{will-change:transform,opacity}

/* ---------- FAIXA DE CREDIBILIDADE ---------- */
.cred{background:var(--surface-1);padding:48px 0;border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.cred__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.cred__item{padding:0 32px;border-left:1px solid var(--border-default)}
.cred__item:first-child{padding-left:0;border-left:none}
.cred__item:last-child{padding-right:0}
.cred__d{font-family:var(--font-display);font-size:var(--fs-d3);font-weight:400;line-height:1.18;color:var(--text-primary);letter-spacing:-.008em}
.cred__p{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:12px}

/* ---------- METODO ---------- */
.metodo__cols{display:grid;grid-template-columns:1fr 1px 1fr;gap:48px;align-items:start}
.metodo__div{background:var(--border-default);align-self:stretch;width:1px}
.metodo__col .d3{margin:24px 0 16px}
.metodo__col .foto{aspect-ratio:3/2;margin-bottom:8px}
.metodo__col--aula .foto{border-radius:var(--r-media)}
.metodo__fecho{margin-top:72px;padding-top:40px;border-top:1px solid var(--border-default)}
.metodo__fecho .q{max-width:900px}

/* ---------- CARDS ---------- */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-default);
  border-radius:var(--r-card);padding:var(--card-pad);
  transition:background-color var(--d-micro) var(--ease-ghost),border-color var(--d-micro) var(--ease-ghost),transform var(--d-hover) var(--ease-golpe)}
a.card:hover{background:var(--surface-3);border-color:var(--border-strong);transform:translate3d(0,-2px,0)}
a.card:hover .meta,a.card:hover .terciario,a.card:hover .pendente{color:var(--text-secondary)}
a.card:hover .seta{color:var(--text-secondary)}
a.card:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}
a.card:hover .seta{transform:translate3d(6px,0,0)}
.card .d3{margin-bottom:16px}
.card p{font-size:var(--fs-body);color:var(--text-secondary);flex:1;max-width:52ch}
.card .btn-texto{margin-top:28px;padding-top:20px;border-top:1px solid var(--border-default);justify-content:space-between}
.card--sobrio{background:transparent;border-color:var(--border-strong)}
.card--sobrio .d3{color:var(--text-primary)}

/* ---------- PASSOS ---------- */
.passos__grid{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:start}
.passos__lista{position:relative}
.passos__lista::before{content:'';position:absolute;left:36px;top:32px;bottom:32px;width:1px;background:var(--border-default)}
.passo{display:grid;grid-template-columns:72px 1fr;gap:24px;padding-bottom:48px;position:relative}
.passo:last-child{padding-bottom:0}
.passo__n{font-family:var(--font-display);font-size:var(--fs-num);font-weight:300;line-height:1;color:var(--accent);
  background:var(--canvas);position:relative;z-index:1;padding:4px 0}
.passo__t{font-family:var(--font-display);font-size:var(--fs-d3);font-weight:400;line-height:1.2;color:var(--text-primary);margin-bottom:12px}
.passo p{font-size:var(--fs-sm)}
.passos__foto{position:sticky;top:120px}
.passos__foto .foto{aspect-ratio:4/5;border-radius:var(--r-media)}
.vazio{display:flex;align-items:flex-end;padding:var(--card-pad);
  background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--r-media);aspect-ratio:3/2}
.vazio p{font-size:var(--fs-sm);color:var(--text-tertiary);max-width:40ch;
  border-left:2px solid var(--border-strong);padding-left:12px}

/* ---------- PROFESSOR ---------- */
.prof__grid{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start}
.prof__foto{aspect-ratio:4/5;max-width:520px}
.prof__foto img{object-position:center 22%}
.prof__texto p+p{margin-top:20px}
.prof__funcao{margin:16px 0 32px}
.formacao{margin-top:56px}
.formacao__item{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:28px 0;
  border-bottom:1px solid var(--border-hairline);transition:background-color var(--d-micro) var(--ease-ghost)}
.formacao__item:hover{background:var(--surface-1)}
.formacao__item:hover .meta{color:var(--text-secondary)}
.formacao__item .d3{font-size:var(--fs-d3)}

/* citacao em faixa */
.citacao{position:relative;min-height:620px;display:flex;align-items:flex-end;padding:0;overflow:hidden}
.citacao__foto{position:absolute;inset:0}
.citacao__foto img{opacity:.30;object-position:center 30%}
.citacao__in{position:relative;z-index:2;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 48px 64px}
.citacao .q{max-width:780px;text-indent:-.4em}
.citacao__assin{margin-top:24px;color:var(--text-secondary)}

/* linha do tempo */
.linha{margin-top:72px}
.linha__eixo{position:relative;height:1px;background:var(--border-default);margin:48px 0 0}
.linha__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:0}
.marco{padding-top:32px;position:relative}
.marco::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;
  background:var(--accent);transition:transform var(--d-micro) var(--ease-ghost)}
.marco:hover::before{transform:scale(1.08);background:var(--accent-hover)}
.marco__ano{font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px}
.marco__t{font-family:var(--font-display);font-size:var(--fs-d3);font-weight:400;color:var(--text-primary);line-height:1.2}
.marco p.marco__desc{font-size:var(--fs-sm);color:var(--text-tertiary);margin-top:8px}
.arquivo90{margin-top:32px;display:flex;align-items:flex-end;gap:16px}
.arquivo90 .foto{width:124px;opacity:.32;border-radius:var(--r-card)}

/* ---------- VIDEOS ---------- */
.videos{background:var(--surface-1);border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.videos__grid{display:grid;grid-template-columns:1.9fr 1fr;gap:16px;align-items:stretch}
.videos__grid>*{min-height:0}
.videos__lista{display:grid;grid-template-rows:repeat(3,1fr);gap:16px}
.videos__lista .player{aspect-ratio:auto;height:100%}

.player{display:block;position:relative;width:100%;overflow:hidden;border-radius:var(--r-media);
  background:var(--surface-inset);border:1px solid var(--border-default);aspect-ratio:16/9;
  text-align:left;cursor:pointer;
  transition:border-color var(--d-micro) var(--ease-ghost),transform var(--d-hover) var(--ease-golpe)}
.player__foto{position:absolute;inset:0;display:block}
.player__foto img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--d-section) var(--ease-golpe),opacity var(--d-hover) var(--ease-ghost)}
.player::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(4,4,4,.92) 0%,rgba(4,4,4,.55) 34%,rgba(4,4,4,.12) 70%,rgba(4,4,4,.04) 100%)}
.player__play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;z-index:2;
  border:1px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(4,4,4,.35);
  transition:background-color var(--d-micro) var(--ease-ghost),border-color var(--d-micro) var(--ease-ghost)}
.player__play svg{fill:var(--accent);margin-left:3px;transition:fill var(--d-micro) var(--ease-ghost)}
.player__play--pequeno{width:48px;height:48px;margin:-24px 0 0 -24px}
.player__info{position:absolute;left:24px;right:24px;bottom:20px;z-index:2;display:flex;flex-direction:column;gap:6px}
.player__trilha{font-size:var(--fs-label);line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}
.player__titulo{font-family:var(--font-display);font-size:var(--fs-d3);font-weight:400;line-height:1.18;
  letter-spacing:-.008em;color:var(--text-primary)}
.player--destaque{height:100%;aspect-ratio:auto;min-height:520px}
.player--destaque .player__info{left:36px;right:36px;bottom:32px}
.player--destaque .player__titulo{font-size:38px}
.videos__lista .player{min-height:176px}
.videos__lista .player__play{left:20px;top:18px;width:40px;height:40px;margin:0}
.videos__lista .player__info{left:20px;right:20px;bottom:18px}

.player:hover{border-color:var(--border-strong);transform:translate3d(0,-3px,0)}
.player:hover .player__foto img{transform:scale(1.04)}
.player:hover .player__play{background:var(--accent);border-color:var(--accent)}
.player:hover .player__play svg{fill:var(--text-on-accent)}
.player:active{transform:translate3d(0,0,0) scale(.99)}
.player:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.player .foto::after{opacity:.10}

/* quando o iframe entra, some tudo que era moldura */
.player.tocando{border-color:var(--border-strong);transform:none}
.player.tocando::after{display:none}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}

.videos__rodape{margin-top:32px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.isca{font-size:var(--fs-body);color:var(--text-secondary)}

/* ---------- ONDE JA ESTEVE (plano B de prova social) ---------- */
.esteve__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:40px}
.esteve__item{padding:32px 0 0;border-top:1px solid var(--border-default);background:transparent}
.esteve__item .d3{margin-bottom:8px}
.esteve__item p{font-size:var(--fs-sm);color:var(--text-secondary)}

/* ---------- OFICINAS ---------- */
.oficinas{background:var(--surface-1);border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.oficinas__grid{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start}
.oficinas__lista{display:grid;grid-template-columns:1fr;gap:0}
.oficinas__item{padding:28px 0;border-top:1px solid var(--border-default)}
.oficinas__item:first-child{padding-top:0;border-top:none}
.oficinas__item .d3{font-size:var(--fs-d3);margin-bottom:12px}
.oficinas__item p{font-size:var(--fs-sm);max-width:62ch}
.oficinas .foto{aspect-ratio:4/3;border-radius:var(--r-media);margin-top:36px;max-width:520px}
.oficinas .foto img{object-position:60% 62%}

/* ---------- FAQ ---------- */
.faq__grid{display:grid;grid-template-columns:4fr 8fr;gap:72px;align-items:start}
.faq__titulo{position:sticky;top:120px}
.faq__item{border-bottom:1px solid var(--border-default)}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:24px 0;min-height:48px;text-align:left;color:var(--text-primary);font-size:26px;
  font-family:var(--font-display);font-weight:400;line-height:1.3;letter-spacing:-.004em;
  transition:color var(--d-micro) var(--ease-ghost)}
.faq__q:hover .faq__sinal::before,.faq__q:hover .faq__sinal::after{background:var(--text-primary)}
.faq__q[aria-expanded="true"] .faq__sinal::before{background:var(--accent)}
.faq__sinal{flex-shrink:0;width:12px;height:12px;position:relative}
.faq__sinal::before,.faq__sinal::after{content:'';position:absolute;background:var(--text-tertiary);
  transition:transform var(--d-hover) var(--ease-golpe)}
.faq__sinal::before{left:0;top:5px;width:12px;height:1px}
.faq__sinal::after{left:5px;top:0;width:1px;height:12px}
.faq__q[aria-expanded="true"] .faq__sinal::after{transform:scaleY(0)}
.faq__r{overflow:hidden;height:0;visibility:hidden;
  transition:height var(--t-colcheia) var(--ease-golpe),visibility 0s linear var(--t-colcheia)}
.faq__q[aria-expanded="true"]+.faq__r{visibility:visible;
  transition:height var(--t-colcheia) var(--ease-golpe),visibility 0s}
.faq__r>div{padding:0 0 24px}
.faq__r p{font-size:var(--fs-body);max-width:66ch}

/* ---------- CTA FINAL ---------- */
.fechar{position:relative;overflow:hidden;background:var(--surface-1);
  border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.fechar__foto{position:absolute;inset:0;z-index:0}
.fechar__foto img{opacity:.22;object-position:center 40%}
.fechar .wrap{position:relative;z-index:2}
.fechar .scrim{z-index:1}
.fechar__grid{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:end}
.fechar p{margin-top:20px}
.fechar__acao{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.fechar__acao p{margin-top:0}

/* ---------- RODAPE ---------- */
.rodape{background:var(--canvas);border-top:1px solid var(--border-default);padding:72px 0 40px}
.rodape__marca{margin-bottom:48px;text-transform:uppercase;letter-spacing:-.018em}
.rodape__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px}
.rodape h3{margin-bottom:20px}
.rodape li{margin-bottom:2px}
.rodape a{font-size:var(--fs-sm);color:var(--text-secondary);transition:color var(--d-micro) var(--ease-ghost);
  display:inline-block;padding:11px 0}
.rodape a{position:relative}
.rodape a::after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--accent);
  transform:scaleX(0);transform-origin:right center;transition:transform var(--d-hover) var(--ease-golpe)}
.rodape a:hover{color:var(--text-primary)}
.rodape a:hover::after{transform:scaleX(1);transform-origin:left center}
.rodape__sobre{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:16px}
.rodape__base{margin-top:48px;padding-top:28px;border-top:1px solid var(--border-hairline)}

/* ---------- BARRA FIXA MOBILE ---------- */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:98;display:none;
  background:var(--surface-2);border-top:1px solid var(--border-default);
  padding:12px 12px calc(12px + env(safe-area-inset-bottom));
  transform:translateY(100%);transition:transform var(--d-enter) var(--ease-golpe)}
.barra.visivel{transform:translateY(0)}
.barra .btn{width:100%}

/* ---------- PRELOADER ---------- */
.pre{position:fixed;inset:0;z-index:9999;pointer-events:none}
/* duas folhas que abrem como cortina de palco */
.pre__folha{position:absolute;left:0;right:0;height:50.5%;background:var(--canvas);
  transition:transform var(--t-seminima) var(--ease-golpe)}
.pre__folha--cima{top:0}
.pre__folha--baixo{bottom:0}
/* o fio de luz que rasga o meio no momento da abertura */
.pre__linha{position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;
  background:var(--accent);transform:scaleX(0);transform-origin:center;opacity:0;
  transition:transform var(--t-seminima-p) var(--ease-golpe),opacity var(--t-terc-sem) var(--ease-ghost)}
.pre__tempos{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;z-index:2}
.pre__t{width:1px;height:28px;background:var(--text-primary);opacity:0}
.pre.abrindo .pre__linha{transform:scaleX(1);opacity:1}
.pre.sai .pre__folha--cima{transform:translateY(-100%)}
.pre.sai .pre__folha--baixo{transform:translateY(100%)}
.pre.sai .pre__linha{opacity:0;transition:opacity var(--t-terc-col) var(--ease-abafado)}

/* ---------- RESPONSIVO ---------- */
@media (max-width:1280px){
  .nav__bpm{display:none}
}
@media (max-width:1100px){
  .nav__links{display:none}
  .nav__burger{display:block;margin-left:0}
  .nav .nav__cta{margin-left:auto}
  /* Sem o motor do menu, a navegação continua disponível na própria página. */
  html:not(.js) .nav,.js-falhou .nav{position:relative;height:auto}
  html:not(.js) .nav__in,.js-falhou .nav__in{flex-wrap:wrap;padding-top:16px;padding-bottom:16px;gap:12px}
  html:not(.js) .nav__links,.js-falhou .nav__links{display:flex;flex:1 1 100%;order:2;
    flex-wrap:wrap;margin:0;gap:4px 20px}
  html:not(.js) .nav__burger,.js-falhou .nav__burger,
  html:not(.js) .nav__cta,.js-falhou .nav__cta{display:none}
  html:not(.js) .hero,.js-falhou .hero{padding-top:40px}
  html:not(.js) .pagina-topo,.js-falhou .pagina-topo{padding-top:56px}
}
@media (max-width:1024px){
  .metodo__cols{grid-template-columns:1fr;gap:64px}
  .metodo__div{display:none}
  .cards{grid-template-columns:repeat(2,1fr)}
  .passos__grid,.prof__grid,.oficinas__grid,.faq__grid,.fechar__grid{grid-template-columns:1fr;gap:48px}
  .passos__foto{position:static}
  .linha__grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .rodape__grid{grid-template-columns:1fr 1fr;gap:32px}
  .videos__grid{grid-template-columns:1fr}
  .videos__lista{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}
  .videos__lista .player{aspect-ratio:16/9;height:auto;min-height:200px}
  .videos__lista .player__titulo{font-size:24px}
  .player--destaque{min-height:0;aspect-ratio:16/9}
  .player--destaque .player__titulo{font-size:30px}
}
@media (max-width:768px){
  :root{
    --fs-d0:58px; --fs-d1:40px; --fs-d2:32px; --fs-d3:24px; --fs-q:24px;
    --fs-lead:17px; --fs-num:44px; --card-pad:24px; --section-y:72px;
  }
  .wrap,.nav__in,.hero__in,.citacao__in{padding-left:24px;padding-right:24px}
  html{scroll-padding-top:84px}
  .nav{height:60px}
  .nav__links,.nav__cta,.nav__bpm{display:none}
  .nav__burger{display:block;margin-left:auto}
  .gaveta{padding:88px 24px calc(32px + env(safe-area-inset-bottom))}
  .wrap>.regua:first-child{margin-bottom:28px}
  .cred{display:none}
  .hero__creds-mob{display:flex;gap:0;margin-top:32px;overflow-x:auto;scroll-snap-type:x proximity;
    scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;
    border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
  .hero__creds-mob div{padding:20px;border-left:1px solid var(--border-hairline);min-width:200px;flex-shrink:0;scroll-snap-align:start}
  .hero__creds-mob div:first-child{padding-left:0;border-left:none}
  .hero__creds-mob b{display:block;font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.2;color:var(--text-primary)}
  .hero__creds-mob span{font-size:12px;color:var(--text-secondary);line-height:1.4;display:block;margin-top:4px}
  .hero{height:auto;min-height:100svh;padding-top:96px}
  .hero__in{padding-bottom:64px}
  .hero__acoes{flex-direction:column;align-items:stretch}
  .hero__acoes .btn-ghost{border:none;justify-content:flex-start;text-align:left;padding-left:0;text-decoration:underline;
    text-underline-offset:6px;text-decoration-color:var(--accent)}
  .cards{grid-template-columns:1fr}
  .passos__grid{gap:32px}
  .metodo__inverte{display:flex;flex-direction:column}
  .metodo__inverte .metodo__col--aula{order:-1}
  .esteve__grid{grid-template-columns:1fr}
  .videos__lista{grid-template-columns:1fr}
  .videos__lista .player{min-height:184px}
  .player--destaque .player__titulo{font-size:26px}
  .player--destaque .player__info{left:20px;right:20px;bottom:20px}
  .player__play{width:56px;height:56px;margin:-28px 0 0 -28px}
  .oficinas__lista{grid-template-columns:1fr;gap:32px}
  .oficinas__item{padding:0;border-left:none;border-top:1px solid var(--border-default);padding-top:24px}
  .oficinas__item:first-child{border-top:none;padding-top:0}
  .formacao__item{grid-template-columns:1fr;gap:8px}
  .faq__q{font-size:24px;gap:20px}
  .linha__grid{grid-template-columns:1fr}
  .rodape__grid{grid-template-columns:1fr}
  .barra{display:block}
  body{padding-bottom:0}
  body.com-barra{padding-bottom:88px}
  .prof__foto{max-width:100%}
  .citacao{min-height:360px}
}

/* ---------- MOVIMENTO REDUZIDO ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:1ms !important;animation-delay:0ms !important;animation-iteration-count:1 !important;
    transition-duration:1ms !important;transition-delay:0ms !important;scroll-behavior:auto !important}
  [data-reveal]{opacity:1 !important;transform:none !important}
  .mask>span,.mask>em{transform:none !important}
  .regua,.hero__base{transform:scaleX(1) !important}
  .hero__base{opacity:.14 !important}
  .pre{display:none !important}
  .btn-ghost::before{display:none}
  .btn-ghost:hover{background:rgba(255,255,255,.06);transform:none}
  a.card:hover{transform:none}
  /* sem isto, a navegação e os dois CTAs do hero ficavam invisíveis */
  .js .hero__kicker,.js .hero__acoes,.js .hero__cred,.js .hero__lead,
  .js .hero__creds-mob,.js .nav,.js .hero__foto{opacity:1 !important;transform:none !important}
  .js .hero__foto img{transform:none !important}
  .js .hero__marca .glifo{transform:none !important}
  .hero__video{display:none !important}
}

/* ---------- SALVAGUARDA: o site.js não carregou (bloqueador, rede, deploy parcial) ---------- */
.js-falhou [data-reveal],.js-falhou .mask>span,.js-falhou .mask>em,.js-falhou .hero__marca .glifo{
  opacity:1 !important;transform:none !important}
.js-falhou .regua,.js-falhou .hero__base{transform:scaleX(1) !important}
.js-falhou .hero__kicker,.js-falhou .hero__acoes,.js-falhou .hero__cred,.js-falhou .hero__lead,
.js-falhou .hero__creds-mob,.js-falhou .nav,.js-falhou .hero__foto{opacity:1 !important;transform:none !important}
.js-falhou .hero__foto img{transform:none !important}
.js-falhou .pre{display:none !important}
.js-falhou .faq__r{height:auto !important;visibility:visible !important}
.js-falhou .barra{display:none !important}

/* ---------- ESTADOS DE ENTRADA DO HERO (só quando há JS) ---------- */
.js .hero__foto{opacity:0;transition:opacity var(--d-section) var(--ease-golpe)}
.js .hero__foto img{transform:scale(1.08);transition:transform var(--d-section) var(--ease-golpe)}
.js .hero__foto.is-in{opacity:1}
.js .hero__foto.is-in img{transform:scale(1)}
.js .hero__kicker,.js .hero__acoes,.js .hero__cred,.js .hero__lead,.js .hero__creds-mob,.js .nav{
  opacity:0;transform:translate3d(0,12px,0);
  transition:opacity var(--d-enter) var(--ease-golpe),transform var(--d-enter) var(--ease-golpe)}
.js .nav{transform:translate3d(0,-8px,0)}
.js .hero__acoes{transform:translate3d(0,16px,0)}
.js .hero__kicker.is-in,.js .hero__acoes.is-in,.js .hero__cred.is-in,.js .hero__lead.is-in,
.js .hero__creds-mob.is-in,.js .nav.is-in{opacity:1;transform:translate3d(0,0,0)}

/* ---------- SALVAGUARDA: sem JS, nada fica escondido ---------- */
html:not(.js) [data-reveal],html:not(.js) .mask>span,html:not(.js) .mask>em{opacity:1 !important;transform:none !important}
html:not(.js) .regua,html:not(.js) .hero__base{transform:scaleX(1) !important}
html:not(.js) .pre{display:none !important}
html:not(.js) .faq__r{height:auto !important;visibility:visible !important}
html:not(.js) .barra{display:none !important}

/* utilitários (evitam atributo style, que a CSP bloqueia) */
.vazio--video{aspect-ratio:16/9}
.mt-36{margin-top:36px}
.pagina-topo{padding-top:164px;padding-bottom:72px}
.pagina-topo h1{margin-bottom:24px}
.pagina-topo+section{padding-top:32px}
.pagina-topo__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:72px;align-items:center}
.pagina-topo__foto{aspect-ratio:4/5;max-width:380px;width:100%;justify-self:end;border-radius:var(--r-media)}
.pagina-topo__foto img{object-position:center 35%}
.release__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:start}
.release__grid .cabeca{margin-bottom:0}
.release__texto p+p{margin-top:24px}
@media (max-width:1024px){
  .pagina-topo__grid{gap:40px}
  .pagina-topo__grid .d1{font-size:64px}
  .release__grid{gap:48px}
}
@media (max-width:768px){
  .pagina-topo{padding-top:116px;padding-bottom:56px}
  .pagina-topo+section{padding-top:16px}
  .pagina-topo__grid,.release__grid{grid-template-columns:1fr;gap:32px}
  .pagina-topo__grid .d1{font-size:var(--fs-d1)}
  .pagina-topo__foto{max-width:none;aspect-ratio:4/3}
}

/* ---------- ASSINATURA DA GRUTA NO RODAPÉ ---------- */
.rodape__base{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rodape__base .gruta-badge{flex-shrink:0}
@media (max-width:768px){
  .rodape__base{flex-direction:column;align-items:flex-start;gap:20px}
}

/* ---------- INTERVALO EM COR ---------- */
.intervalo{background:var(--surface-1);border-top:1px solid var(--border-default);
  border-bottom:1px solid var(--border-default);overflow:hidden}
.intervalo__cabeca{margin-bottom:48px;max-width:720px}
.intervalo__cabeca .d2{margin-top:16px}
.intervalo__cabeca .lead{margin-top:20px}
.intervalo__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.intervalo__peca{position:relative;border-radius:var(--r-media);overflow:hidden;background:var(--canvas)}
.intervalo__peca img{display:block;width:100%;height:100%;object-fit:cover;
  transition:transform var(--d-section) var(--ease-golpe)}
.intervalo__peca--a img{aspect-ratio:4/5}
.intervalo__peca--b img{aspect-ratio:4/3}
.intervalo__peca:hover img{transform:scale(1.03)}
.intervalo__peca figcaption{position:absolute;left:20px;bottom:16px;color:var(--text-primary);
  text-shadow:none;background:rgba(4,4,4,.72);padding:6px 10px;border-radius:var(--r-btn)}
/* o contorno bronze avisa que a quebra de cor é deliberada */
.intervalo__peca::after{content:'';position:absolute;inset:0;border-radius:var(--r-media);
  border:1px solid rgba(217,139,51,.28);pointer-events:none}
@media (max-width:768px){
  .intervalo__grid{grid-template-columns:1fr}
  .intervalo__peca--a img{aspect-ratio:4/5}
}
