:root{--bg:#0b0b0d;--ink:#e6e6ea;--ink-dim:#b7b7c2;--red:#e11d2e}

*{box-sizing:border-box}
body {
  margin: 0;
  background: #0a0a0c url("img/fundo.jpg") no-repeat center center fixed;
  background-size: cover;
  background-attachment: fixed;
  color: var(--ink);
  font-family: Inter, system-ui, Arial, sans-serif;
  text-align: center;
  position: relative;
  z-index: 0;
}

/* Overlay escuro */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 12, 0.65); /* camada escura */
  backdrop-filter: blur(3px);          /* efeito nebuloso */
  z-index: -1;
}

.wrap {
  width: min(1100px, 92%);
  margin: 0 auto;
}


  /* ===== HEADER (logo à esquerda, ações à direita) ===== */
.site-header{
  position: sticky;
  top: 0; left: 0; right: 0;
  z-index: 1001;
  background:#0b0b0fd0;
  backdrop-filter: blur(6px);
  border-bottom:1px solid #ffffff12;
}
.nav-bar{
  display:flex; align-items:center; justify-content:space-between;
  height:64px; padding:0 16px;
}
.nav-logo img{ display:block; height:36px; width:auto; }

/* Ações à direita */
.nav-actions{ display:flex; align-items:center; gap:12px; }

/* Botão Login */
.btn-login{
  padding:10px 16px; border-radius:10px; white-space:nowrap;
  color:#fff; text-decoration:none;
  font:700 14px/1 Inter, system-ui;
  background:linear-gradient(90deg,#e11d2e,#b90f1f);
  box-shadow:0 10px 24px rgba(225,29,46,.25);
  transition:filter .2s, transform .08s;
}
.btn-login:hover{ filter:brightness(1.05) }
.btn-login:active{ transform:translateY(1px) }

/* ===== Burger ===== */
.burger{
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  width:44px; height:40px; border-radius:12px; cursor:pointer;
  border:1px solid #ffffff18; background:#121216;
  transition:background .2s, border-color .2s, box-shadow .2s;
}
.burger:hover{ background:#15151a; border-color:#ffffff24; box-shadow:0 6px 20px rgba(0,0,0,.25) }
.burger:focus-visible{ outline:2px solid #e11d2e; outline-offset:2px }

.burger span{
  width:20px; height:2px; border-radius:2px; background:#fff;
  transition:transform .25s ease, opacity .2s ease;
}
.burger .l2{ margin:5px 0 }

/* Anima para “X” quando o painel está aberto */
.burger[aria-expanded="true"] .l1{ transform:translateY(7px) rotate(45deg) }
.burger[aria-expanded="true"] .l2{ opacity:0 }
.burger[aria-expanded="true"] .l3{ transform:translateY(-7px) rotate(-45deg) }

/* ===== Backdrop ===== */
.menu-backdrop{
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.menu-backdrop.is-open{ opacity:1; pointer-events:auto }

/* ===== Painel lateral (drawer) ===== */
:root{ --header-h:64px }
.menu-panel{
  position:fixed; right:0; top:var(--header-h); /* começa abaixo do header */
  height:calc(100dvh - var(--header-h));
  width:min(88vw, 340px);
  z-index:1002;
  background:#0c0c10ee; backdrop-filter:blur(10px);
  border-left:1px solid #ffffff18;
  box-shadow:-24px 0 48px rgba(0,0,0,.5);

  transform:translateX(110%); opacity:0; pointer-events:none;
  transition:transform .28s ease, opacity .2s ease;
}
.menu-panel.is-open{ transform:translateX(0); opacity:1; pointer-events:auto }

/* Cabeçalho do menu */
.menu-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid #ffffff12; color:#fff;
  font:800 14px/1 Inter, system-ui;
}
.menu-close{
  width:34px; height:34px; border-radius:10px; cursor:pointer;
  border:1px solid #ffffff24; background:#141418; color:#fff;
}
.menu-close:hover{ background:#19191f }

/* Lista de links*/
.menu-list{ list-style:none; padding:12px 10px 18px; margin:0; display:grid; gap:6px }
.menu-list a{
  display:block; padding:10px 12px; border-radius:10px;
  color:#e7e7ec; text-decoration:none; font:600 15px/1.2 Inter, system-ui;
}

/* Compacta no mobile pequeno */
@media (max-width:480px){
  .btn-login{ padding:8px 12px; font-size:13px }
  .burger{ width:40px; height:36px }
}
    /* HERO */
    .hero{padding:72px 0 40px;display:flex;flex-direction:column;align-items:center}
    .hero h1{font:900 clamp(30px,6vw,52px)/1.2 Unbounded,Inter,sans-serif;margin:0 0 22px;text-transform:uppercase}
    .hero h1 .line1{display:block}
    .hero h1 .line2{display:block;color:var(--red)}
    .media-card{background:#0f0f13;border:1px solid #ffffff14;border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.6);width:100%;max-width:720px;margin:0 auto 22px}
    .media{aspect-ratio:16/9}
    .hero p{max-width:640px;margin:0 auto 18px;color:var(--ink);line-height:1.6}

    /* FEATURES */
.features {
  padding: 40px 0 40px;
}

.feat-head h2 {
  margin: 0 0 18px;
  font: 800 clamp(18px,2.6vw,28px)/1.2 'Unbounded', Inter, sans-serif;
}
.feat-head h2 span {
  color: #e6e6ea;
  opacity: .95;
  margin-right: 6px;
}
.feat-head h2 {
  color: var(--red);
}

.expc-grid {
  column-count: 2;
  column-gap: 18px;
  max-width: 920px;
  margin: 0 auto;
}

.expc-card {
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  background: linear-gradient(180deg,#141419,#0f0f13);
  border: 1px solid #ffffff14;
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.45);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  margin: 0 0 18px;
  vertical-align: top;
  min-height: 110px;
}
.expc-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0,0,0,.55),
              0 0 0 1px #ffffff10,
              0 10px 24px rgba(225,29,46,.15);
}

.expc-head {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  background: transparent;
  border: 0;
  color: #e6e6ea;
  text-align: left;
  cursor: pointer;
}
.expc-head:hover {
  background: linear-gradient(180deg,#19191f,#131319);
}

.expc-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg,#241014,#12090b);
  box-shadow: inset 0 1px 0 #fff2,0 8px 18px rgba(225,29,46,.18);
}

/* ===== Tipografia atualizada ===== */
.expc-meta h3 {
  margin: 0;
  font-family: 'Unbounded', Inter, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  color: #fff;
}

.expc-teaser {
  margin: 2px 0 0;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--ink-dim);
}

.chev {
  margin-left: auto;
  width: 18px;
  height: 18px;
  display: inline-block;
  transition: transform .3s ease, color .2s ease;
  color: #c6c7cd;
}
.expc-head[aria-expanded="true"] .chev {
  transform: rotate(180deg);
  color: var(--red);
}

.divider {
  height: 1px;
  background: linear-gradient(90deg,transparent, #ff3b4b55, transparent);
  margin: 0 16px;
  opacity: 0;
  transition: opacity .2s ease;
}

.expc-body {
  padding: 0 16px 14px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: #cfd0d6;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height .35s ease, opacity .25s ease .08s;
}


    @media(max-width:768px){.hero h1{font-size:28px}}

    /* FEEDBACKS: título dentro do wrap; faixas full-bleed */
    .feedbacks{padding:70px 0;background:var(--bg);position:relative}
    .feedbacks .section-title{font:800 clamp(20px,2.6vw,30px)/1.2 Unbounded,Inter,sans-serif;text-align:center;margin:0 0 32px}
    .feedbacks .section-title span{color:var(--red)}
    .feedbacks-rows{overflow:hidden}
    .row{position:relative;overflow:hidden;white-space:nowrap;margin-bottom:26px}
    .track{display:flex;gap:26px;will-change:transform}
    .story{width:180px;aspect-ratio:9/16;border-radius:14px;object-fit:cover;border:1px solid #ffffff22;box-shadow:0 6px 16px rgba(0,0,0,.5);transition:transform .3s ease, filter .2s ease}
    /* hover: pausa a faixa e dim nas outras */
    .row:hover .track{animation-play-state:paused}
    .row:hover .story{filter:brightness(.6)}
    .row .story:hover{transform:scale(1.25);filter:brightness(1);z-index:2;position:relative}

    /* fade lateral */
    .fade{position:absolute;top:0;bottom:0;width:120px;pointer-events:none;z-index:2}
    .fade-left{left:0;background:linear-gradient(to right,var(--bg) 0%,transparent 100%)}
    .fade-right{right:0;background:linear-gradient(to left,var(--bg) 0%,transparent 100%)}

    /* animações de scroll */
    @keyframes leftScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
    @keyframes rightScroll{ 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }
    .row.left  .track{animation:leftScroll 28s linear infinite}
    .row.right .track{animation:rightScroll 30s linear infinite}

    @media (prefers-reduced-motion: reduce){
      .row.left .track, .row.right .track{animation:none}
    }
/* === CTA Ajustada === */
.cta-blast{
  position:relative;
  overflow:hidden;
  padding:60px 0 70px; /* menos espaço */
  background:radial-gradient(1200px 600px at 10% -10%, #ff2b3b22, transparent),
             radial-gradient(900px 500px at 110% 0%, #ff2b3b18, transparent),
             linear-gradient(180deg,#0b0b0d 0%, #0b0b0d 40%, #0a0708 100%);
  border-top:1px solid #ffffff12;
  text-align:center;
}

.cta-title{
  font:900 clamp(26px,5vw,44px)/1.15 Unbounded,Inter,sans-serif;
  margin:0 0 12px; /* aproxima do subtítulo */
  text-transform:uppercase;
  letter-spacing:.2px;
  color:#fff;
}
.cta-title .hot{
  color:var(--red);
  text-shadow:0 4px 18px rgba(225,29,46,.4);
}

/* subtítulo mais próximo e leve */
.cta-sub{
  max-width:760px;
  margin:0 auto 18px; /* aproxima dos botões */
  color:#d6d6dc;
  opacity:.95;
  font:500 clamp(14px,1.6vw,18px)/1.55 'Segoe UI',system-ui,-apple-system,'Noto Sans',Arial,sans-serif;
}

/* botões centralizados e mais próximos */
.cta-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:0; /* sem espaço extra */
}

.btn-xxl{
  position:relative;
  padding:16px 28px;
  border-radius:14px;
  font-weight:800;
  letter-spacing:.3px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transform:translateZ(0);
}
.btn-fire{
  background:linear-gradient(180deg,#ff3b4b,#b31322);
  color:#fff;
  box-shadow:0 12px 24px rgba(225,29,46,.35);
}
.btn-ghost{
  background:transparent;
  color:#fff;
  border:2px solid #ffffff55;
}

    /* reveal básico (CSS) */
    .reveal{opacity:0;transform:translateY(14px) scale(.98);animation:revealUp .7s ease forwards;animation-delay:var(--d,0s)}
    @keyframes revealUp{to{opacity:1;transform:none}}

/* ===== Mentor v2 (clean/premium) ===== */
.mentor-v2{
  padding: 64px 0 80px;
  background: var(--bg);
  border-top: 1px solid #ffffff12;
}

.mentorv2-title{
  margin: 0 0 40px;
  font: 900 clamp(22px,4.8vw,36px)/1.15 Unbounded, Inter, sans-serif;
  text-transform: uppercase;
  text-align: center;
  color: var(--ink);
}
.mentorv2-title span{
  color: var(--red);
  text-shadow: 0 6px 24px rgba(225,29,46,.28);
}

.mentorv2-grid{
  display: grid;
  grid-template-columns: 1fr 1.25fr;  /* foto esquerda, texto direita */
  gap: clamp(18px, 3vw, 36px);
  align-items: center;
}
@media (max-width: 960px){
  .mentorv2-grid{ grid-template-columns: 1fr; }
}

/* Foto */
.mentorv2-photo{
  margin: 0;
  width: 100%;
  max-width: 520px;
  justify-self: center;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(180deg,#141419,#0f0f13);
  border: 1px solid #ffffff16;
  box-shadow: 0 16px 40px rgba(0,0,0,.55);
}
.mentorv2-photo img{
  display:block;
  width:100%; height:100%;
  object-fit:cover;
  aspect-ratio: 4 / 5;
}

/* Texto */
.mentorv2-text p{
  color:#d8d8de;
  line-height: 1.7;
  margin: 0 0 12px;
  text-align: justify;
}

.mentorv2-name{
  font: 800 clamp(20px,2.4vw,28px)/1.2 Unbounded, Inter, sans-serif;
  margin: 0 0 16px;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* Stats */
.mentorv2-stats{
  display:flex; flex-wrap:wrap; gap:10px;
  margin: 10px 0 14px; padding:0; list-style:none;
}
.mentorv2-stats li{
  padding:8px 12px;
  border-radius:999px;
  background: linear-gradient(180deg,#17171b,#111116);
  border:1px solid #ffffff14;
  color:#ececf2;
  font:600 12.5px/1 Inter, system-ui;
}
.mentorv2-stats li b{ color:#fff; }

/* Botões */
.mentorv2-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; }
.mentorv2-actions .btn-xxl{ padding:14px 24px; border-radius:14px; }

.mentorv2-name{
  font: 900 clamp(20px,2.6vw,30px)/1.2 Unbounded, Inter, sans-serif;
  margin: 0 0 16px; color: var(--ink); text-transform: uppercase;
}
.mentorv2-name span{ color: var(--red); text-shadow: 0 4px 16px rgba(225,29,46,.35); }
.mentorv2-name.align-left{ text-align:left; }

/* ===== Prova Real (TAF) ===== */
.taf-proof{padding:70px 0;background:var(--bg);border-top:1px solid #ffffff10}
.taf-proof .wrap{width:min(1100px,92%);margin:0 auto}
.taf-title{margin:0 0 8px;font:900 clamp(20px,4.2vw,34px)/1.15 Unbounded,Inter,sans-serif;text-transform:uppercase}
.taf-title span{color:var(--red);text-shadow:0 6px 22px rgba(225,29,46,.28)}
.taf-sub{margin:0 0 20px;color:#cfd0d6}

.taf-carousel{position:relative; overflow:hidden;} /* <- AQUI fica o overflow */
.taf-track{
  display:flex;                 /* sem gap */
  transition:transform .5s ease;
  will-change:transform;
}
.taf-slide{
  flex:0 0 100%;               /* cada slide ocupa 100% do viewport do carrossel */
  min-width:100%;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #ffffff16;
  background:#0f0f13;
  box-shadow:0 14px 36px rgba(0,0,0,.55);
}
.taf-video{
  width:100%;
  height:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

/* Nav e dots (iguais) */
.taf-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:44px;height:44px;border-radius:50%;border:1px solid #ffffff30;background:#121216bb;color:#fff;
  display:grid;place-items:center;font-size:26px;cursor:pointer;backdrop-filter:blur(6px)}
.taf-prev{left:10px} .taf-next{right:10px}
.taf-nav:hover{background:#1a1a1fcc}

.taf-dots{display:flex;gap:8px;justify-content:center;margin-top:14px}
.taf-dots button{width:10px;height:10px;border-radius:999px;border:0;background:#ffffff33;cursor:pointer}
.taf-dots button[aria-current="true"]{background:var(--red)}

/* ===== TREINO QUE APROVA ===== */
.train-proof{padding:64px 0 80px;background:var(--bg);border-top:1px solid #ffffff10}
.train-title{margin:0 0 8px;font:900 clamp(20px,4.2vw,34px)/1.15 Unbounded,Inter,sans-serif;text-transform:uppercase}
.train-title span{color:var(--red);text-shadow:0 6px 22px rgba(225,29,46,.28)}
.train-sub{margin:0 0 22px;color:#cfd0d6;max-width:780px;margin-inline:auto}

.train-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:16px;
}
@media (max-width: 1100px){ .train-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px) { .train-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .train-grid{ grid-template-columns: 1fr; } }

.train-card{
  background:linear-gradient(180deg,#141419,#0f0f13);
  border:1px solid #ffffff16;
  border-radius:16px;
  padding:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
  overflow:hidden;
}
.train-card h3{
  margin:10px 8px 4px;font:800 15px/1.2 Inter,system-ui;color:#fff
}
.train-card p{
  margin:0 8px 10px;color:#cfd0d6;font:500 13.5px/1.55 Inter,system-ui
}

.train-card .media{
  position:relative;
  aspect-ratio: 4/5;           /* bom p/ fotos/verticais; vídeos horizontais cobrem com object-fit */
  border-radius:12px;
  overflow:hidden;
  margin-bottom:8px;
  background:#0b0b0d;
}
.train-card .media video,
.train-card .media img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* botão play/pausar sobre o vídeo */
.play-toggle{
  position:absolute; inset:auto 8px 8px auto;
  width:38px;height:38px;border-radius:999px;border:1px solid #ffffff44;
  background:#121216bb;color:#fff;display:grid;place-items:center;
  font-weight:800;cursor:pointer;backdrop-filter:blur(6px)
}
.play-toggle:hover{background:#1a1a1fcc}

/* animação de entrada (suave) */
@media (prefers-reduced-motion: no-preference){
  [data-anim="tile"]{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease}
  [data-anim="tile"].anim-in{opacity:1;transform:none}
}

/* ===== Timeline ===== */
.timeline{padding:68px 0 84px;background:var(--bg);border-top:1px solid #ffffff12}
.tl-title{margin:0 0 8px;font:900 clamp(20px,4.2vw,34px)/1.15 Unbounded,Inter,sans-serif;text-transform:uppercase;text-align:center}
.tl-title span{color:var(--red);text-shadow:0 6px 22px rgba(225,29,46,.28)}
.tl-sub{margin:0 0 26px;color:#cfd0d6;text-align:center;max-width:760px;margin-inline:auto}

.tl-rail{
  position:relative;
  display:grid;
  gap:26px;
}
.tl-rail::before{
  content:"";
  position:absolute; left:50%; top:0; bottom:0; width:2px; transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,#ff3b4b55,transparent);
  pointer-events:none;
}
@media (max-width:900px){
  .tl-rail::before{left:12px;transform:none;}
}

.tl-item{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:22px;
  align-items:center;
  position:relative;
}
.tl-item.alt .tl-media{order:2}
.tl-item.alt .tl-text{order:1;text-align:right}
@media (max-width:900px){
  .tl-item{grid-template-columns:1fr; gap:14px}
  .tl-item.alt .tl-media{order:1}
  .tl-item.alt .tl-text{order:2; text-align:left}
}

.tl-media{
  background:linear-gradient(180deg,#141419,#0f0f13);
  border:1px solid #ffffff16;border-radius:18px;overflow:hidden;
  box-shadow:0 14px 36px rgba(0,0,0,.45);
}
.tl-media img,.tl-media video{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
.tl-text{color:#d8d8de}
.tl-year{margin:0 0 6px;font:900 18px/1.15 Unbounded,Inter}
.tl-text p{margin:0;color:#cfd0d6;line-height:1.65}

/* balas nos pontos da linha central */
.tl-item::after{
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:12px;height:12px;border-radius:999px;background:var(--bg);
  box-shadow:0 0 0 2px #ff3b4b, 0 0 18px #ff3b4b55;
}
@media (max-width:900px){
  .tl-item::after{left:12px;transform:translate(-50%,-50%)}
}

/* animação on-scroll */
@media (prefers-reduced-motion:no-preference){
  .tl-item [data-anim], .tl-item{ }
  .tl-item[data-anim="tl"] .tl-media,
  .tl-item[data-anim="tl"] .tl-text{opacity:0;transform:translateY(12px);transition:opacity .55s ease, transform .55s ease}
  .tl-item[data-anim="tl"].in .tl-media,
  .tl-item[data-anim="tl"].in .tl-text{opacity:1;transform:none}
}

/* Fonte dos anos/títulos da timeline */
.tl-year {
  font-family: 'Unbounded', sans-serif;
  font-weight: 700;
}
/* Espaço extra após a CTA intermediária */
.cta-mid {
  padding-bottom: 80px; /* ou 100px, se quiser maior */
}

/* ===== FOOTER ===== */
.site-footer{
  background:#0a0a0c;
  color:#cfcfd5;
  padding:60px 0 28px;
  border-top:1px solid #ffffff14;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap:40px;
}

/* Logo isolada */
.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:center;   /* centraliza horizontal */
  justify-content:center; /* centraliza vertical */
}

.footer-logo{
  width: 250px;   /* aumente aqui até ficar no tamanho ideal */
  max-width: 100%;
  height:auto;
}

.footer-nav h4,
.footer-contact h4{
  font:700 15px/1.3 Inter,sans-serif;
  margin:0 0 12px;
  color:#fff;
}
.footer-nav ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.footer-nav a{color:#cfcfd5;text-decoration:none;font-size:14px}
.footer-nav a:hover{color:var(--red)}

.footer-contact p{margin:0 0 8px;font-size:14px}
.footer-contact a{color:#cfcfd5;text-decoration:none}
.footer-contact a:hover{color:var(--red)}

.footer-copy{
  text-align:center;
  border-top:1px solid #ffffff14;
  margin-top:40px;
  padding-top:18px;
  font-size:13px;
  color:#999;
}

/* Responsivo */
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr;gap:28px;text-align:center}
  .footer-brand{align-items:center;}
}

/* Linha de créditos */
.footer-copy .dev-credit{
  margin-top:6px;
  font-size:13px;
  color:#aaa;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px; /* espaçamento entre texto e logo */
}

.footer-copy .dev-credit img{
  width:18px;   /* logo bem pequena */
  height:auto;
  opacity:0.9;
}
.footer-copy .dev-credit img:hover{
  opacity:1;
}

.cta {
  display:inline-block;
  padding:16px 28px;
  border-radius:14px;
  font:700 15px/1.3 Inter, sans-serif;
  color: #fff;
    text-decoration: none;
    font: 700 14px / 1 Inter, system-ui;
    background: linear-gradient(90deg, #e11d2e, #b90f1f);
    box-shadow: 0 10px 24px rgba(225, 29, 46, .25);
    transition: filter .2s, transform .08s;
}
  text-decoration:none;
  box-shadow:0 6px 18px rgba(225,29,46,.35);
  transition:all .25s ease;
}
.cta:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(225,29,46,.45);
}
/* =========================
   AJUSTES MOBILE GERAIS
   ========================= */
@media (max-width: 1024px){
  .wrap{ width: min(100%, 94%); }

  /* NÃO zere o padding lateral do header */
  .site-header .nav-bar{
    padding: 0 16px;              /* antes estava 12px 0 (ruim no mobile) */
    justify-content: space-between;
  }

  .nav-logo img{ height: 30px; }
  .btn-login{ padding: 9px 14px; font-size: 13px; }
  .burger{ width: 40px; height: 36px; }
}

@media (max-width: 768px){
  /* tipografia base menor */
  body{ font-size: 16px; }
  .hero{ padding: 56px 0 32px; }
  .hero h1{ font-size: clamp(24px, 7vw, 30px); }
  .hero .media-card{ border-radius: 16px; margin-bottom: 14px; }
  .hero p{ padding: 0 8px; font-size: 14px; line-height: 1.6; }

  /* botões um pouco menores */
  .btn-xxl, .cta{ padding: 12px 20px; border-radius: 12px; font-size: 14px; }

  /* Se existir um menu horizontal antigo, esconda */
  .nav-menu-desktop{ display: none !important; }
}

/* =========================
   DIFERENCIAIS (accordion)
   ========================= */
@media (max-width: 768px){
  .features{ padding: 28px 0; }
  .feat-head h2{ font-size: clamp(18px, 5.5vw, 24px); }
  .expc-grid{ column-count: 1; max-width: 680px; }
  .expc-card{ border-radius: 14px; }
  .expc-head{ padding: 12px 14px; gap: 10px; }
  .expc-icon{ width: 32px; height: 32px; border-radius: 10px; }
  .expc-meta h3{ font-size: 15px; }
  .expc-teaser{ font-size: 13px; }
  .expc-body{ font-size: 14px; padding: 0 14px 12px; }
}

/* =========================
   FEEDBACKS (stories)
   ========================= */
@media (max-width: 768px){
  .feedbacks{ padding: 40px 0; }
  .feedbacks .section-title{ margin-bottom: 18px; }
  .marquee{ margin-bottom: 16px; }
  .marquee-track{ gap: 14px; padding: 0 4vw; }
  .marquee img{ width: 120px; border-radius: 12px; box-shadow: 0 5px 12px rgba(0,0,0,.45); }
  .fade{ width: 60px; }
}

/* =========================
   CTA (agressiva + mid)
   ========================= */
@media (max-width: 768px){
  .cta-blast, .cta-mid{ padding: 56px 0 60px; }
  .cta-title{ font-size: clamp(20px, 7vw, 28px); line-height: 1.15; }
  .cta-sub{ font-size: 14px; line-height: 1.6; padding: 0 10px; }
  .cta-actions{ gap: 10px; }
  .cta-actions .btn-xxl{ width: 100%; justify-content: center; }
}

/* =========================
   MENTOR (foto esquerda, texto direita)
   ========================= */
@media (max-width: 960px){
  .mentor-v2, .mentorv2, .mentorv2-title{ /* se houver variações de classe */
    /* nada aqui além de garantir colunas empilhadas */
  }
  .mentorv2-grid{ grid-template-columns: 1fr; gap: 16px; }
  .mentorv2-photo{ max-width: 420px; }
  .mentorv2-text{ text-align: left; }
  .mentorv2-text p{ font-size: 14px; line-height: 1.65; }
  .mentorv2-actions{ gap: 10px; }
  .mentorv2-actions .btn-xxl{ width: 100%; justify-content: center; }
}

/* =========================
   PROVA REAL – carrossel TAF
   ========================= */
@media (max-width: 768px){
  .taf-proof{ padding: 48px 0; }
  .taf-title{ font-size: clamp(18px, 6vw, 24px); }
  .taf-sub{ font-size: 14px; padding: 0 8px; }
  .taf-slide{ border-radius: 12px; }
  .taf-video{ aspect-ratio: 16/9; }
  .taf-nav{ width: 36px; height: 36px; font-size: 22px; }
  .taf-dots button{ width: 8px; height: 8px; }
}

/* =========================
   TREINO QUE APROVA (grid)
   ========================= */
@media (max-width: 1100px){ .train-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px){ .train-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px){
  .train-proof{ padding: 48px 0 60px; }
  .train-grid{ grid-template-columns: 1fr; }
  .train-card{ padding: 10px; border-radius: 14px; }
  .train-card .media{ border-radius: 10px; aspect-ratio: 4/5; }
  .train-card h3{ font-size: 15px; }
  .train-card p{ font-size: 13.5px; }
  .play-toggle{ width: 34px; height: 34px; }
}

/* =========================
   LINHA DO TEMPO
   ========================= */
@media (max-width: 900px){
  .timeline{ padding: 52px 0; }
  .tl-title{ font-size: clamp(18px, 6vw, 26px); }
  .tl-sub{ font-size: 14px; }
  .tl-rail::before{ left: 12px; transform: none; }
  .tl-item{ grid-template-columns: 1fr; gap: 12px; }
  .tl-text{ text-align: left; }
  .tl-media{ border-radius: 14px; }
  .tl-media img, .tl-media video{ aspect-ratio: 16/9; }
  .tl-year{ font-size: 16px; }
}

/* =========================
   FOOTER
   ========================= */
@media (max-width: 900px){
  .site-footer{ padding: 44px 0 24px; }
  .footer-grid{ grid-template-columns: 1fr; gap: 22px; }
  .footer-brand{ align-items: center; }
  .footer-logo{ width: 160px; }
  .footer-nav h4, .footer-contact h4{ font-size: 14px; }
  .footer-copy{ margin-top: 28px; padding-top: 16px; font-size: 12.5px; }
  .footer-copy .dev-credit{ gap: 6px; }
}

/* =========================
   ACESSIBILIDADE & TOUCH
   ========================= */
/* Evita efeitos hover fortes em touch */
@media (hover: none){
  .expc-card:hover{ transform:none; box-shadow:0 10px 26px rgba(0,0,0,.45); }
  .btn-fire:hover{ transform:none; }
}

/* Respeita quem prefere menos animação */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; }
}


/* ==================================================
   FORÇANDO ================================================== */

/* Garante que qualquer [hidden] realmente suma */
[hidden]{ display:none !important; }

/* Backdrop (escurece o fundo + blur) */
.menu-backdrop{
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
  z-index:1990;
}
.menu-backdrop.is-open{ opacity:1; pointer-events:auto; }

/* Painel lateral (direita) – alto nível de especificidade */
#menu-panel.menu-panel{
  position:fixed !important; 
  top:0; right:0; bottom:0; left:auto;
  width:min(320px,86vw);
  background:#0b0b0fe6;
  backdrop-filter: blur(10px);
  border-left:1px solid #ffffff14;
  box-shadow:-24px 0 48px rgba(0,0,0,.5);

  /* estado fechado */
  transform: translateX(100%);
  opacity:0; pointer-events:none;

  transition: transform .25s ease, opacity .2s ease;
  z-index:2000;
}
#menu-panel.menu-panel.is-open{
  transform: translateX(0);
  opacity:1; pointer-events:auto;
}

/* Cabeçalho do painel */
#menu-panel .menu-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px; border-bottom:1px solid #ffffff14; color:#fff;
  font:800 14px/1 Inter, system-ui;
}
#menu-panel .menu-close{
  width:36px; height:32px; border-radius:8px; cursor:pointer;
  border:1px solid #ffffff18; background:#141418; color:#fff;
}
#menu-panel .menu-close:hover{ background:#19191f; }

/* Lista de links */
#menu-panel .menu-list{
  list-style:none;               /* tira os bullets */
  margin:0; padding:12px;
  display:grid; gap:8px;
}
#menu-panel .menu-list a{
  display:block; padding:12px; border-radius:10px;
  color:#e9e9ee; text-decoration:none;   /* sem sublinhado e sem azul padrão */
  font:600 15px/1.2 Inter, system-ui;
}
#menu-panel .menu-list a:hover{
  background:#15151a; color #fff;
}

/* Tipografia global para botões */
button,
.btn,
[role="button"],
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
a.btn,
.cta,
.mf-cta {
  font-family: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .2px; /* opcional, pode tirar se não quiser */
}

/* ===== BASE ===== */
:root{
  --text:#fff;
  --text-dim:#ffffffcc;
  --stroke:#ffffff1a;
  --glass:#00000066;          /* preto translúcido */
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.45);
  --gold1:#ffe79a;            /* dourado */
  --gold2:#f7c24a;
}

.case-hero{
  color:var(--text);
  background:transparent;     /* sem fundo: herda do site */
  min-height:100vh;
  display:grid; align-content:center;
}
.container{max-width:1100px; margin:0 auto; padding:32px 24px}

/* ===== HEAD: badge + título dourados ===== */
.head{ text-align:center; margin-bottom:20px }
.badge-gold{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:linear-gradient(180deg,var(--gold1),var(--gold2));
  color:#1a1206; font:800 12px/1 "Inter",system-ui; letter-spacing:.2px;
  box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 1px 0 #fff6, 0 0 22px rgba(247,194,74,.25);
}
.title-gold{
  margin-top:10px;
  font:900 clamp(28px,5vw,40px)/1.1 "Inter",system-ui;
  background:linear-gradient(180deg,var(--gold1),var(--gold2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 10px 40px rgba(0,0,0,.45);
}

/* ===== GRID ===== */
.content{
  display:grid; grid-template-columns: 420fr 580fr; gap:32px; align-items:center;
}

/* ===== VÍDEO (menor) ===== */
.video-frame{
  position:relative; overflow:hidden; border-radius:16px; background:#000;
  width:clamp(220px, 28vw, 340px);  /* menor que antes */
  aspect-ratio:9/16; margin-inline:auto; box-shadow:var(--shadow);
}
.video-el{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.unmute{
  position:absolute; right:10px; bottom:10px; cursor:pointer;
  font-size:14px; padding:8px 10px; border-radius:999px;
  color:#fff; background:#00000080; border:1px solid var(--stroke); backdrop-filter:blur(4px);
}

/* ===== CARD DE DESCRIÇÃO (blur preto) ===== */
.desc-card{
  background:var(--glass);
  backdrop-filter:blur(10px);
  border:1px solid var(--stroke);
  border-radius:14px;
  padding:16px 18px;
  box-shadow:var(--shadow);
}
.text-col{ display:grid; gap:16px; align-content:start }
.lead{ font:500 clamp(16px,1.6vw,18px)/1.7 "Inter"; color:var(--text-dim) }

/* ===== PROVA + CTA ===== */
.proof{ display:grid; gap:8px; justify-items:start }
.proof img{
  width:100%; max-width:480px; border-radius:12px; border:1px solid var(--stroke); background:#0a0a0a; box-shadow:var(--shadow)
}
.proof figcaption{ font:700 12px/1.5 "Inter"; color:#ffffffa6 }
    
.cta,
a.cta,
button.cta {
  display: inline-block;
  padding: 12px 18px;            /* ajuste fino */
  border-radius: 12px;
  white-space: nowrap;
  text-decoration: none;
  color: #fff;
  font: 600 15px/1 "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: linear-gradient(90deg, #e11d2e 0%, #b90f1f 100%);
  border: 1px solid rgba(225, 29, 46, 0.45);
  box-shadow:
    0 10px 24px rgba(225, 29, 46, 0.28),
    0 2px 6px rgba(0, 0, 0, 0.25);
  transition: transform .08s ease, filter .2s ease, box-shadow .2s ease;
}

/* Hover/Active/Focus */
.cta:hover {
  filter: saturate(1.05) brightness(1.02);
  transform: translateY(-1px);
  box-shadow:
    0 14px 30px rgba(225, 29, 46, 0.34),
    0 4px 10px rgba(0, 0, 0, 0.28);
}

.cta:active {
  transform: translateY(0);
  filter: saturate(0.98);
  box-shadow:
    0 8px 18px rgba(225, 29, 46, 0.26),
    0 2px 6px rgba(0, 0, 0, 0.24);
}

.cta:focus-visible {
  outline: 0;
  box-shadow:
    0 0 0 3px rgba(255, 255, 255, 0.25),
    0 0 0 6px rgba(225, 29, 46, 0.35),
    0 10px 24px rgba(225, 29, 46, 0.28);
}

/* Versão compacta, se precisar */
.cta--sm { padding: 10px 14px; font-size: 14px; border-radius: 10px; }

/* Respeita redução de movimento do usuário */
@media (prefers-reduced-motion: reduce) {
  .cta { transition: none; }
  .cta:hover, .cta:active { transform: none; }
}
.cta:hover{ transform:translateY(-2px); box-shadow:0 18px 44px rgba(0,0,0,.65); filter:saturate(108%) }

/* ===== RESPONSIVO ===== */
@media (max-width: 980px){
  .content{ grid-template-columns:1fr; gap:22px }
  .text-col{ text-align:center; justify-items:center }
  .proof{ justify-items:center }
}
/* Base da seção: Outfit 400 por padrão */
#aprovacao-carolina,
#aprovacao-carolina * {
  font-family: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Título */
#aprovacao-carolina .title-gold,
#aprovacao-carolina h1.title,
#aprovacao-carolina h2.title {
  font-weight: 800 !important;  /* Outfit 800 */
}

/* Descrição */
#aprovacao-carolina .lead {
  font-weight: 400 !important;  /* Outfit 400 */
}
