/* ============================================================
   SEÇÕES · página principal Ausculto — branco premium
   ============================================================ */

/* ---------- HERO — respiro branco + faixa navy com o produto ---------- */
.hero{position:relative;padding:150px 0 0;overflow:hidden;text-align:center}
.hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero__bg video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.5;filter:saturate(1.04) brightness(1.02);
}
/* o atributo poster é único e não aceita media query: no celular o vídeo é o
   retrato 720x1280, então o quadro de espera vem por background-image. */
@media(max-width:640px){
  .hero__bg video{background:#0e2350 url('../landing/hero-bg-mobile-poster.jpg') center/cover no-repeat}
}
.hero__veil{position:absolute;inset:0;background:radial-gradient(ellipse 64% 54% at 50% 34%,rgba(251,252,255,.46),rgba(251,252,255,.3) 58%,rgba(251,252,255,.8) 100%)}
.hero__beam{position:absolute;inset-inline:0;top:0;height:1px;z-index:1;background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.7),transparent)}
.hero__in{position:relative;z-index:2;max-width:880px;margin-inline:auto}
.hero__pill{
  display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(var(--gold-rgb),.4);border-radius:99px;
  padding:8px 18px;font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);
  background:rgba(255,255,255,.7);backdrop-filter:blur(8px);box-shadow:0 4px 16px -8px rgba(var(--gold-rgb),.35);
}
.hero__pill i{width:6px;height:6px;border-radius:99px;background:var(--gold);box-shadow:0 0 10px rgba(var(--gold-rgb),.9);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}
.hero .h-display{max-width:16ch;margin:26px auto 0;color:var(--navy)}
.hero__sub{max-width:52ch;margin:22px auto 0;font-size:clamp(1.02rem,1.4vw,1.16rem);color:var(--mut);line-height:1.62;font-weight:450}
.hero__cta{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap}

/* faixa navy: o produto, sem ruído */
.hero__band{
  position:relative;z-index:2;margin:66px auto 0;max-width:1240px;padding:clamp(22px,3.4vw,44px) clamp(18px,3.4vw,44px) 0;
  border-radius:32px 32px 0 0;
  background:
    linear-gradient(180deg,rgba(10,26,60,.42),rgba(8,20,46,.62) 70%,rgba(6,16,38,.78)),
    url('../landing/bg2/bg-navy-new2.jpg') center/cover no-repeat,
    linear-gradient(180deg,#10295a,#0c2149 46%,#081838);
  box-shadow:0 -1px 0 rgba(255,255,255,.12) inset,0 40px 90px -30px rgba(12,33,73,.5);
}
.hero__band::before{content:"";position:absolute;inset-inline:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.8),transparent)}
.hero__band-in{position:relative;perspective:1600px}

/* seletor de modo: médico ⇄ estudante */
.hero__mode{
  position:relative;z-index:6;display:inline-flex;gap:4px;border-radius:99px;padding:4px;margin-bottom:26px;
  background:rgba(6,16,38,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);
}
.hero__mode button{
  color:rgba(255,255,255,.6);font:inherit;font-weight:700;font-size:.82rem;letter-spacing:.02em;
  padding:10px 20px;border-radius:99px;display:inline-flex;align-items:center;gap:8px;
  transition:color .35s,background .35s,box-shadow .35s;white-space:nowrap;
}
.hero__mode button svg{width:15px;height:15px;stroke:currentColor}
.hero__mode button.on{color:#0c2149;background:linear-gradient(120deg,#fff,#e7eeff);box-shadow:0 6px 18px -6px rgba(0,0,0,.45)}
.hero__mode button.on svg{stroke:var(--blue-deep)}

/* palco: desktop + telefone */
.hero__duo{position:relative;display:flex;justify-content:center;align-items:flex-end}
.stage-frame{
  position:relative;border-radius:18px 18px 0 0;border:1px solid rgba(255,255,255,.14);border-bottom:0;
  background:#0a1c40;transform:rotateX(6deg);transform-style:preserve-3d;overflow:hidden;
  box-shadow:0 -1px 0 rgba(255,255,255,.1) inset,0 50px 110px -36px rgba(0,0,0,.75);
  transition:transform .5s var(--ease);
}
.stage-frame--main{width:min(780px,100%)}
.stage-frame__bar{display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.stage-frame__dots{display:flex;gap:6px}
.stage-frame__dots i{width:9px;height:9px;border-radius:99px;background:rgba(255,255,255,.22)}
.stage-frame__url{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.68rem;color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px 12px;background:rgba(0,0,0,.22);
}
.stage-frame__url svg{width:11px;height:11px;stroke:rgba(255,255,255,.55)}
.stage-frame__shot{position:relative}
.stage-frame__shot img{width:100%;height:auto;display:block}
.stage-frame__shot .shot-base{transition:opacity .7s var(--ease)}
.hero__duo.stu .stage-frame__shot .shot-base{opacity:0}

/* carrossel do modo estudante — transição tecnológica */
.scar{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s var(--ease)}
.hero__duo.stu .scar{opacity:1;pointer-events:auto}
.scar__slides{position:absolute;inset:0}
.scar__slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.05);clip-path:inset(0 0 100% 0);
  transition:opacity .85s var(--ease),transform 1.15s var(--ease),clip-path 1.15s var(--ease);
}
.scar__slide.on{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
.scar__ui{position:absolute;left:14px;right:14px;bottom:12px;z-index:3;display:flex;gap:8px}
.scar__tab{
  flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:9px 12px;border-radius:10px;
  background:rgba(8,20,46,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);
  color:rgba(255,255,255,.72);font-family:var(--mono);font-size:.56rem;letter-spacing:.07em;text-transform:uppercase;
  transition:border-color .3s,background .3s,color .3s;text-align:left;min-width:0;
}
.scar__tab span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.scar__tab i{display:block;height:2px;width:100%;border-radius:2px;background:rgba(255,255,255,.16);position:relative;overflow:hidden}
.scar__tab i::after{content:"";position:absolute;inset:0;border-radius:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--gold-hi),var(--gold))}
.scar__tab:hover{border-color:rgba(255,255,255,.42);color:#fff}
.scar__tab.on{color:#fff;border-color:rgba(var(--gold-rgb),.6);background:rgba(8,20,46,.74)}
.scar__tab.on i::after{animation:scarfill var(--scar-dur,4.6s) linear forwards}
@keyframes scarfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:560px){.scar__ui{left:9px;right:9px;bottom:9px;gap:6px}.scar__tab{padding:7px 8px;font-size:.48rem}}

.stage-phone{
  position:relative;z-index:4;width:clamp(150px,16.5vw,192px);flex-shrink:0;margin-left:clamp(-56px,-4.2vw,-32px);
  border-radius:26px 26px 0 0;border:1px solid rgba(255,255,255,.16);border-bottom:0;
  background:#081838;box-shadow:0 40px 90px -30px rgba(0,0,0,.8),0 0 0 6px rgba(8,20,46,.85);
  overflow:hidden;transform:translateZ(60px);
}
.stage-phone img{width:100%;height:auto;display:block}
.stage-phone::before{
  content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:52px;height:9px;border-radius:99px;
  background:#03070f;border:1px solid rgba(255,255,255,.08);z-index:2;
}
.stage-phone .ph-shot{position:relative}
.stage-phone .ph-shot > img.ph-base{transition:opacity .7s var(--ease)}
.hero__duo.stu .stage-phone .ph-base{opacity:0}
.ph-car{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease)}
.hero__duo.stu .ph-car{opacity:1}
.ph-car img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s var(--ease),transform 1.1s var(--ease)}
.ph-car img.on{opacity:1;transform:none}

/* legenda de contexto sob o palco */
.hero__mode-cap{
  position:relative;z-index:5;margin:0 auto;padding:20px 0 0;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);
  display:flex;align-items:center;justify-content:center;gap:9px;min-height:1.2em;
}
.hero__mode-cap svg{width:13px;height:13px;stroke:var(--gold-hi)}
.hero__mode-cap b{color:#fff;font-weight:600}
.hero__mode-cap .cap-stu{display:none;color:rgba(190,214,255,.85)}
.hero__duo.stu ~ .hero__mode-cap .cap-med{display:none}
.hero__duo.stu ~ .hero__mode-cap .cap-stu{display:inline-flex;align-items:center;gap:9px}

/* chips flutuantes — vidro sobre a faixa */
.stage-chip{
  position:absolute;z-index:5;display:flex;align-items:center;gap:11px;text-align:left;
  border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px 15px;color:#fff;
  background:rgba(10,24,56,.55);backdrop-filter:blur(14px);
  box-shadow:0 24px 50px -20px rgba(0,0,0,.6);
  font-size:.82rem;font-weight:700;letter-spacing:-.01em;line-height:1.25;
  animation:floaty 6s ease-in-out infinite;
}
.stage-chip small{display:block;font-weight:500;color:rgba(255,255,255,.6);font-size:.7rem;letter-spacing:0}
.stage-chip svg{width:18px;height:18px;flex-shrink:0;stroke:var(--gold-hi)}
.stage-chip--1{top:22%;left:-.5%}
.stage-chip--2{bottom:14%;left:-1.5%;animation-delay:-2s}
.stage-chip--3{top:30%;right:-.5%;animation-delay:-4s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:1180px){.stage-chip--1{left:.5%}.stage-chip--2{left:0}.stage-chip--3{right:0}}
@media(max-width:980px){.stage-chip{display:none}}
@media(max-width:760px){
  .hero{padding-top:122px}
  .hero__duo{flex-direction:column;align-items:center;gap:16px}
  .stage-frame{transform:none}
  .stage-frame--main{width:100%}
  .stage-phone{margin:0;width:min(64%,240px);border-radius:26px;transform:none}
  .hero__mode button{padding:9px 15px;font-size:.76rem}
}

/* ---------- FERRAMENTAS — bento vivo ---------- */
.tools__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}

.tools__filters{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:99px;padding:4px;margin-top:36px;background:#fff;box-shadow:var(--shadow-card)}
.tfil{border-radius:99px;padding:9px 19px;font-size:.84rem;font-weight:700;color:var(--mut);transition:color .3s,background .3s,box-shadow .3s;white-space:nowrap}
.tfil:hover{color:var(--navy);background:rgba(var(--blue-rgb),.06)}
.tfil.on{background:var(--navy);color:#fff;box-shadow:0 8px 18px -8px rgba(12,33,73,.55)}
.tfil__n{margin-left:7px;font-family:var(--mono);font-size:.62rem;font-weight:600;color:var(--gold-deep)}
.tfil.on .tfil__n{color:var(--gold-hi)}
@media(max-width:520px){.tools__filters{display:flex;overflow-x:auto;max-width:100%}.tfil{padding:8px 15px;font-size:.78rem}}

/* 1fr equivale a minmax(auto,1fr): o mínimo automático faz a pista crescer até
   o conteúdo. O mp-mock (tela simulada de pacientes) tem 455px indivisíveis e
   esticava a pista para 493px dentro de um contêiner de 334px, arrastando
   .tcard--big, .tools__small e .tools__flowstrip — o bloco 1 inteiro vazava no
   celular. minmax(0,1fr) na pista + min-width:0 no filho travam os dois lados. */
.tools__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.tools__grid>*{min-width:0}

.tcard{
  position:relative;border:1px solid var(--line);border-radius:var(--r);padding:24px;
  background:var(--panel);box-shadow:var(--shadow-card);
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;overflow:hidden;
  display:flex;flex-direction:column;
}
.tcard::before{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .4s;pointer-events:none;
  background:radial-gradient(circle at 30% 0%,rgba(var(--gold-rgb),.12),transparent 62%);
}
.tcard:hover{transform:translateY(-5px);border-color:rgba(var(--gold-rgb),.45);box-shadow:0 24px 50px -22px rgba(11,27,51,.22)}
.tcard:hover::before{opacity:1}
.tcard:hover .tcard__ic img{transform:scale(1.09) rotate(-2deg)}
.tcard__ic{
  width:56px;height:56px;border-radius:16px;display:grid;place-items:center;flex-shrink:0;position:relative;
  background:linear-gradient(155deg,rgba(255,252,243,.96),rgba(250,240,214,.74) 55%,rgba(255,255,255,.62));
  border:1px solid rgba(var(--gold-rgb),.42);
  box-shadow:0 10px 22px -10px rgba(var(--gold-rgb),.5),inset 0 1px 0 #fff,inset 0 -10px 18px -12px rgba(var(--gold-rgb),.5);
  backdrop-filter:blur(6px);
}
.tcard__ic::after{content:"";position:absolute;inset:3px;border-radius:13px;border:1px solid rgba(255,255,255,.75);pointer-events:none}
.tcard__ic img{width:74%;height:74%;object-fit:contain;transition:transform .5s var(--ease);filter:drop-shadow(0 3px 6px rgba(11,27,51,.16))}
.tcard strong{display:block;margin-top:16px;font-size:1rem;font-weight:800;letter-spacing:-.01em;color:var(--navy)}
.tcard p{margin-top:6px;font-size:.82rem;color:var(--mut);line-height:1.5}
.tcard__go{
  position:absolute;top:20px;right:20px;width:26px;height:26px;border-radius:99px;display:grid;place-items:center;
  border:1px solid var(--line);color:var(--mut-2);opacity:0;transform:translate(-4px,4px);transition:.35s var(--ease);
}
.tcard__go svg{width:12px;height:12px;stroke:currentColor}
.tcard:hover .tcard__go{opacity:1;transform:none;color:var(--gold-deep);border-color:rgba(var(--gold-rgb),.55)}

/* cards grandes — superfícies premium com mock interno */
.tcard--big{padding:26px;min-height:400px}
.tcard--big strong{font-size:1.3rem;margin:0}
.tcard--big .tcard__hgroup p{font-size:.88rem;max-width:44ch}
.tcard__head{display:flex;gap:16px;align-items:flex-start;padding-right:110px}
.tcard__hgroup strong{margin-top:2px}
.tcard--plantao{
  background:
    radial-gradient(ellipse 120% 70% at 100% 0%,rgba(var(--blue-rgb),.09),transparent 58%),
    var(--panel);
}
.tcard--ausmind{
  background:
    radial-gradient(ellipse 120% 70% at 0% 0%,rgba(var(--gold-rgb),.12),transparent 58%),
    var(--panel);
}

/* mock: lista de pacientes do Meu Plantão */
.mp-mock{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8faff);box-shadow:inset 0 1px 0 #fff,0 16px 34px -20px rgba(11,27,51,.2);overflow:hidden}
.mp-mock__bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line-2);background:rgba(var(--blue-rgb),.05)}
.mp-mock__title{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.mp-mock__filters{display:flex;gap:5px}
.mp-mock__filters i{font-style:normal;font-family:var(--mono);font-size:.54rem;letter-spacing:.06em;padding:4px 9px;border-radius:99px;border:1px solid var(--line);color:var(--mut);background:#fff}
.mp-mock__filters i.on{color:var(--blue-deep);border-color:rgba(var(--blue-rgb),.45);background:rgba(var(--blue-rgb),.09)}
.mp-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--line-2)}
.mp-row__dot{width:9px;height:9px;border-radius:99px;flex-shrink:0}
.mp-row--grave .mp-row__dot{background:#e05656;box-shadow:0 0 0 3px rgba(224,86,86,.16)}
.mp-row--atencao .mp-row__dot{background:#e8a13a;box-shadow:0 0 0 3px rgba(232,161,58,.16)}
.mp-row--estavel .mp-row__dot{background:#1fa96b;box-shadow:0 0 0 3px rgba(31,169,107,.14)}
.mp-row__id{flex:1;min-width:0}
.mp-row__id b{font-size:.8rem;letter-spacing:.01em;color:var(--navy)}
.mp-row__id small{display:block;font-size:.64rem;color:var(--mut-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-row__tag{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:99px;flex-shrink:0}
.mp-row--grave .mp-row__tag{color:#b03030;background:rgba(224,86,86,.1);border:1px solid rgba(224,86,86,.32)}
.mp-row--atencao .mp-row__tag{color:#9a6716;background:rgba(232,161,58,.12);border:1px solid rgba(232,161,58,.36)}
.mp-row--estavel .mp-row__tag{color:#157a4c;background:rgba(31,169,107,.1);border:1px solid rgba(31,169,107,.3)}
.mp-row__time{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.66rem;color:var(--ink-2);flex-shrink:0}
.mp-row__time svg{width:11px;height:11px;stroke:var(--mut)}
.mp-row__ok{display:grid;place-items:center;flex-shrink:0}
.mp-row__ok svg{width:15px;height:15px;stroke:var(--green)}
.mp-mock__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:rgba(var(--gold-rgb),.07);border-top:1px solid rgba(var(--gold-rgb),.24);font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}
.mp-sbar b{letter-spacing:.16em}
.mp-pend{color:var(--mut-2)}

/* mock: chat do AusMind */
.am-mock{margin-top:20px;display:flex;flex-direction:column;gap:9px}
.am-q{align-self:flex-end;max-width:82%;background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:#fff;font-size:.78rem;font-weight:600;line-height:1.4;padding:10px 14px;border-radius:14px 14px 4px 14px;box-shadow:0 12px 24px -12px rgba(var(--blue-rgb),.55)}
.am-a{align-self:flex-start;max-width:96%;border:1px solid var(--line);background:#fff;border-radius:4px 14px 14px 14px;padding:12px 14px;box-shadow:var(--shadow-card)}
.am-a p{font-size:.76rem;color:var(--ink-2);line-height:1.5;margin:0}
.am-src{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.am-src span{font-family:var(--mono);font-size:.54rem;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-deep);border:1px solid rgba(var(--blue-rgb),.35);background:rgba(var(--blue-rgb),.07);border-radius:99px;padding:4px 9px}
.am-feats{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:18px}
.am-feats span{font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);border:1px solid rgba(var(--gold-rgb),.38);border-radius:99px;padding:5px 10px;background:linear-gradient(135deg,rgba(var(--gold-rgb),.16),rgba(var(--gold-rgb),.05))}

/* faixa de impacto dos cards grandes */
.tcard__impact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;margin-top:auto;padding-top:20px}
.tcard__impact span{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.tcard__impact i{width:4px;height:4px;border-radius:99px;background:var(--gold);flex-shrink:0}

/* linha de ferramentas compactas */
.tools__small{grid-column:span 2;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.tcard--s{flex:1 1 calc(25% - 16px);min-width:228px;max-width:calc(25% - 4px);padding:22px}
.tcard--s strong{margin-top:14px}
.tcard__impact2{display:block;text-wrap:balance;margin-top:auto;padding-top:13px;font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);border-top:1px dashed rgba(var(--gold-rgb),.42)}
.tcard--s p{margin-bottom:14px}

/* destaques por público */
.tcard--stu{border-color:rgba(var(--blue-rgb),.3)}
.tcard--stu::before{background:radial-gradient(circle at 30% 0%,rgba(var(--blue-rgb),.12),transparent 62%)}
.tcard--stu:hover{border-color:rgba(var(--blue-rgb),.55)}
.tcard--stu .tcard__ic{background:linear-gradient(155deg,rgba(244,248,255,.96),rgba(220,233,255,.74) 55%,rgba(255,255,255,.62));border-color:rgba(var(--blue-rgb),.4);box-shadow:0 10px 22px -10px rgba(var(--blue-rgb),.5),inset 0 1px 0 #fff,inset 0 -10px 18px -12px rgba(var(--blue-rgb),.5)}
.tcard__tag{
  position:absolute;top:18px;right:18px;z-index:2;font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 10px;border-radius:99px;border:1px solid rgba(var(--blue-rgb),.45);color:var(--blue-deep);background:rgba(255,255,255,.88);backdrop-filter:blur(6px);
}
.tcard__tag--gold{border-color:rgba(var(--gold-rgb),.55);color:var(--gold-deep)}
.tcard--dual .tcard__tag{border-color:rgba(var(--gold-rgb),.55);color:var(--gold-deep);background:rgba(255,250,236,.9)}

/* faixa de fluxo final */
.tools__flowstrip{
  grid-column:span 2;display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;
  margin-top:6px;padding:18px 24px;border-radius:99px;
  border:1px solid rgba(var(--gold-rgb),.4);
  background:linear-gradient(120deg,rgba(255,251,240,.92),rgba(250,240,214,.78),rgba(255,251,240,.92));
  box-shadow:var(--shadow-card),inset 0 1px 0 #fff;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);text-align:center;
}
.tools__flowstrip svg{width:13px;height:13px;stroke:var(--gold-deep);flex-shrink:0}
.tools__flowstrip b{color:var(--gold-deep);font-weight:700}

/* filtragem */
.tcard.fil-off{opacity:0;transform:scale(.93);pointer-events:none}
#toolsGrid [hidden]{display:none!important}

@media(max-width:1080px){
  .tcard--s{flex-basis:calc(33.333% - 16px);max-width:calc(33.333% - 4px);min-width:200px}
}
@media(max-width:900px){
  .tools__grid{grid-template-columns:minmax(0,1fr)}
  .tools__small,.tools__flowstrip{grid-column:span 1}
  .tcard--big{min-height:0}
  .tcard__head{padding-right:0}
  .tcard--big .tcard__tag{position:static;margin-left:auto;align-self:flex-start;order:-1}
}
@media(max-width:720px){
  .tcard--s{flex-basis:calc(50% - 16px);max-width:calc(50% - 4px);min-width:0}
}
@media(max-width:520px){
  .tools__small{gap:12px}
  /* ---- 16 ferramentas secundárias em coluna única davam ~3.800px: 4,5 telas
     só de apoio, e a seção inteira somava 6,7 telas. Duas colunas compactas
     mantêm as 18 visíveis (reconhecimento, nada escondido) e devolvem a
     hierarquia: os 2 cards grandes lideram, os 16 apoiam. ---- */
  .tcard--s{flex-basis:calc(50% - 6px);max-width:calc(50% - 6px);min-width:0;padding:15px 13px 16px}
  .tcard--s .tcard__ic{width:46px;height:46px;border-radius:13px}
  .tcard--s strong{margin-top:11px;font-size:.92rem;line-height:1.25}
  .tcard--s p{margin-top:5px;margin-bottom:10px;font-size:.82rem;line-height:1.45;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .tcard{padding:18px}
  /* A faixa tem 381px de conteúdo para uma caixa de 302px: não cabe em uma
     linha, e forçar nowrap só empurrava "Decisão mais rápida" 35px para fora
     da tela. Então ela quebra — mas com raio de canto reduzido, porque o
     pill de 99px numa caixa de duas linhas vira um borrão oval. Cada item
     fica inteiro na sua linha e as setas nunca terminam linha sozinhas. */
  .tools__flowstrip{gap:6px 10px;font-size:.58rem;letter-spacing:.06em;
    padding:14px 16px;flex-wrap:wrap;justify-content:center;border-radius:20px}
  .tools__flowstrip span{white-space:nowrap}
  /* alvos de toque: os filtros vinham com 35px de altura */
  .tfil{min-height:44px;display:inline-flex;align-items:center}
}

/* ---------- MEU PLANTÃO (fluxo) ---------- */
.flow2{display:grid;grid-template-columns:.92fr 1.22fr;gap:clamp(36px,4.6vw,60px);align-items:center}
.flow2__steps{display:flex;flex-direction:column;gap:10px}
.fstep2{
  position:relative;display:flex;gap:16px;align-items:flex-start;text-align:left;
  border:1px solid transparent;border-radius:16px;padding:18px 18px 17px;
  transition:background .35s,border-color .35s,box-shadow .35s;
}
.fstep2:hover{background:rgba(var(--blue-rgb),.05)}
.fstep2.on{background:#fff;border-color:var(--line);box-shadow:var(--shadow-card)}
.fstep2__num{
  font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--blue-deep);
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  background:rgba(var(--blue-rgb),.09);border:1px solid rgba(var(--blue-rgb),.3);
  transition:color .35s,background .35s,border-color .35s,box-shadow .35s;
}
.fstep2.on .fstep2__num{color:#fff;background:linear-gradient(150deg,var(--blue-hi),var(--blue-deep));border-color:transparent;box-shadow:0 8px 18px -8px rgba(var(--blue-rgb),.6)}
.fstep2__tx{min-width:0}
.fstep2__tx strong{display:block;font-size:1.02rem;font-weight:800;letter-spacing:-.01em;color:var(--navy)}
.fstep2__tx p{margin-top:4px;font-size:.84rem;color:var(--mut);line-height:1.5}
.fstep2__prog{position:absolute;left:18px;right:18px;bottom:8px;height:2px;border-radius:2px;background:rgba(11,27,51,.07);overflow:hidden;opacity:0;transition:opacity .3s}
.fstep2.on .fstep2__prog{opacity:1}
.fstep2__prog i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--gold-hi),var(--gold));transform:scaleX(0);transform-origin:left}
.fstep2.on.auto .fstep2__prog i{animation:fstepfill 5.6s linear forwards}
@keyframes fstepfill{to{transform:scaleX(1)}}

.flow2__stage{position:relative}
.flow2__glow{position:absolute;inset:-8% -5%;background:radial-gradient(ellipse,rgba(var(--blue-rgb),.17),transparent 62%);filter:blur(42px)}
.flow2__frame{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow-pop)}
.flow2__bar{display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line-2);background:var(--panel-2)}
.flow2__bar .stage-frame__dots i{background:rgba(11,27,51,.18)}
.flow2__url{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.66rem;color:var(--mut);border:1px solid var(--line);border-radius:8px;padding:5px 12px;background:#fff}
.flow2__url svg{width:11px;height:11px;stroke:var(--mut)}
.flow2__shot img{width:100%;height:auto;display:block;transition:opacity .3s}
.flow__cap{display:flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--mut-2);text-transform:uppercase}
.flow__cap svg{width:13px;height:13px;stroke:var(--green)}
@media(max-width:940px){.flow2{grid-template-columns:1fr;gap:40px}}

/* ---------- REGISTRO ---------- */
.reg{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.reg__modes{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
@media(min-width:940px){.reg__modes{max-width:366px}}
.rmode{
  border:1px solid var(--line);border-radius:99px;padding:9px 17px;font-size:.84rem;font-weight:600;color:var(--mut);
  transition:.3s;background:#fff;
}
.rmode:hover{color:var(--navy);border-color:rgba(var(--blue-rgb),.4)}
.rmode.on{color:var(--gold-deep);border-color:rgba(var(--gold-rgb),.65);background:rgba(var(--gold-rgb),.1)}
.reg__detail{margin-top:24px;border-left:3px solid var(--gold);padding-left:18px}
.reg__detail strong{font-size:1.2rem;font-weight:800;letter-spacing:-.015em;color:var(--navy);transition:opacity .3s}
.reg__detail p{margin-top:7px;color:var(--mut);font-size:.94rem;line-height:1.55;transition:opacity .3s}
.reg__note{
  display:flex;gap:12px;margin-top:28px;border:1px solid rgba(var(--gold-rgb),.35);border-radius:14px;padding:15px 17px;
  background:rgba(var(--gold-rgb),.08);font-size:.84rem;color:var(--ink-2);line-height:1.5;
}
.reg__note svg{width:17px;height:17px;flex-shrink:0;stroke:var(--gold-deep);margin-top:1px}
.reg__visual{position:relative}
.reg__frame-a{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow-pop);transform:rotate(1.4deg)}
.reg__frame-a img{width:100%;height:auto}
.reg__frame-b{
  position:absolute;right:-6%;bottom:-12%;width:52%;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--panel);box-shadow:0 30px 70px -24px rgba(11,27,51,.3);transform:rotate(-2.5deg);
}
.reg__frame-b img{width:100%;height:auto}
.reg__frame-b--glass{
  width:37%;right:-2%;bottom:-9%;border-radius:24px;padding:8px;
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(240,246,255,.68));
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 34px 70px -24px rgba(11,27,51,.38),inset 0 1px 0 #fff,inset 0 -14px 28px -18px rgba(var(--blue-rgb),.22);
  backdrop-filter:blur(10px);
}
.reg__frame-b--glass img{border-radius:17px}
@media(max-width:940px){.reg__frame-b--glass{width:44%;right:0}}
@media(max-width:600px){.reg__visual{margin-top:30px;padding-bottom:52px}.reg__frame-b--glass{width:42%;bottom:-4%}}
@media(max-width:940px){.reg{grid-template-columns:1fr;gap:52px}.reg__frame-b{right:0}}

/* ---------- BENTO documentos ---------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.bcard{
  position:relative;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  background:var(--panel);box-shadow:var(--shadow-card);
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;display:flex;flex-direction:column;
}
.bcard:hover{transform:translateY(-5px);border-color:rgba(var(--gold-rgb),.4);box-shadow:0 26px 56px -24px rgba(11,27,51,.24)}
.bcard--a{grid-column:span 7}.bcard--b{grid-column:span 5}
.bcard--c{grid-column:span 5}.bcard--d{grid-column:span 7}
.bcard__tag{
  position:absolute;top:20px;right:20px;z-index:2;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-deep);border:1px solid rgba(var(--gold-rgb),.45);border-radius:99px;padding:5px 11px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(8px);
}
.bcard__body{padding:28px 28px 22px;flex:1}
.bcard__k{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;color:var(--blue-deep);text-transform:uppercase}
.bcard strong{display:block;margin-top:9px;font-size:1.28rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--navy)}
.bcard__body p{margin-top:9px;font-size:.9rem;color:var(--mut);line-height:1.56}
.bcard__mini{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.bcard__mini span{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:var(--gold-deep);
  border:1px solid rgba(var(--gold-rgb),.34);border-radius:99px;padding:5px 10px;
  background:linear-gradient(135deg,rgba(var(--gold-rgb),.13),rgba(var(--gold-rgb),.04));
}
.bcard__visual{position:relative;background:var(--panel-2);overflow:hidden;border-top:1px solid var(--line-2)}
.bcard__visual img{width:100%;height:auto;transition:transform .6s var(--ease)}

/* screenshots com moldura de navegador — clicáveis */
.bcard--shot .bcard__body{padding-bottom:26px}
.docs-bento .bcard__body{flex:0 0 auto}
.bcard__visual--frame{
  flex:1;display:flex;align-items:flex-end;justify-content:center;padding:24px 26px 0;
  background:
    radial-gradient(ellipse 110% 78% at 50% 0%,rgba(var(--blue-rgb),.07),transparent 60%),
    var(--panel-2);
}
.shot-frame{
  position:relative;display:block;width:100%;padding:0;cursor:zoom-in;text-align:left;
  border:1px solid rgba(11,27,51,.14);border-bottom:0;border-radius:14px 14px 0 0;overflow:hidden;background:#fff;
  box-shadow:0 30px 60px -22px rgba(11,27,51,.32),0 4px 12px -6px rgba(11,27,51,.12);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.shot-frame:hover{transform:translateY(-7px);box-shadow:0 44px 80px -24px rgba(11,27,51,.4),0 6px 18px -6px rgba(11,27,51,.16)}
.shot-frame__bar{display:flex;align-items:center;gap:5px;padding:9px 12px;background:linear-gradient(180deg,#f7f9fd,#eef2f9);border-bottom:1px solid rgba(11,27,51,.1)}
.shot-frame__bar i{width:8px;height:8px;border-radius:99px;background:rgba(11,27,51,.16)}
.shot-frame__bar i:first-child{background:rgba(224,86,86,.55)}
.shot-frame__bar i:nth-child(2){background:rgba(232,161,58,.55)}
.shot-frame__bar i:nth-child(3){background:rgba(31,169,107,.55)}
.shot-frame__bar em{margin-left:8px;font-family:var(--mono);font-style:normal;font-size:.58rem;letter-spacing:.06em;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot-frame img{width:100%;height:auto;display:block;transition:none}
.shot-frame__hint{
  position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:rgba(12,33,73,.86);backdrop-filter:blur(6px);border-radius:99px;padding:7px 12px;
  opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s var(--ease);pointer-events:none;
}
.shot-frame__hint svg{width:11px;height:11px;stroke:var(--gold-hi)}
.shot-frame:hover .shot-frame__hint{opacity:1;transform:none}
@media(max-width:940px){
  .bento{grid-template-columns:1fr}
  .bcard--a,.bcard--b,.bcard--c,.bcard--d{grid-column:span 1}
}

/* identidade profissional — mesma altura visual do vizinho */
.bcard .bcard__visual--frame{align-items:stretch}
.bcard .bcard__visual--frame .shot-frame{display:flex;flex-direction:column;height:100%}
.bcard .bcard__visual--frame .shot-frame img{flex:1;min-height:0;width:100%;height:auto;object-fit:cover;object-position:top center}

/* palco de fichas — selecionar e ampliar */
.ficha-stage{
  position:relative;border-top:1px solid var(--line-2);flex:1;justify-content:center;
  background:
    radial-gradient(ellipse 90% 75% at 50% 0%,rgba(var(--gold-rgb),.14),transparent 62%),
    radial-gradient(ellipse 70% 55% at 50% 105%,rgba(var(--blue-rgb),.07),transparent 60%),
    var(--panel-2);
  padding:26px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:17px;
}
.ficha-main{
  position:relative;display:block;width:min(296px,84%);border-radius:14px;overflow:hidden;cursor:zoom-in;padding:0;
  border:1px solid var(--line);background:#fff;
  box-shadow:0 24px 50px -18px rgba(11,27,51,.3);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.ficha-main:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 34px 64px -20px rgba(11,27,51,.36)}
.ficha-main img{width:100%;height:auto;display:block;transition:opacity .25s}
.ficha-main__hint{
  position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;
  background:rgba(12,33,73,.84);backdrop-filter:blur(6px);border-radius:99px;padding:6px 11px;
  opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s var(--ease);pointer-events:none;
}
.ficha-main__hint svg{width:11px;height:11px;stroke:var(--gold-hi)}
.ficha-main:hover .ficha-main__hint{opacity:1;transform:none}
.ficha-thumbs{display:flex;gap:10px}
.ficha-thumb{
  width:66px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fff;padding:0;
  display:flex;flex-direction:column;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
}
.ficha-thumb img{width:100%;aspect-ratio:3/3.9;object-fit:cover;object-position:top center;display:block}
.ficha-thumb span{font-family:var(--mono);font-size:.48rem;letter-spacing:.03em;text-transform:uppercase;color:var(--mut);padding:5px 2px;text-align:center;border-top:1px solid var(--line-2)}
.ficha-thumb:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--tint,var(--gold)) 65%, transparent)}
.ficha-thumb.on{border-color:var(--tint,var(--gold));box-shadow:0 0 0 2px color-mix(in srgb,var(--tint,var(--gold)) 38%, transparent),0 12px 22px -12px rgba(11,27,51,.3);transform:translateY(-3px)}
.ficha-thumb.on span{color:var(--tint,var(--gold-deep));font-weight:700}
.ficha-main{box-shadow:0 24px 50px -18px rgba(11,27,51,.3),0 0 0 3px color-mix(in srgb,var(--tint,#1f8f5f) 42%, transparent);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}

/* palco de fichas no carrossel mobile */
.ficha-stage-m{padding:18px 16px 14px;border-top:1px solid var(--line-2);background:radial-gradient(ellipse 90% 75% at 50% 0%,rgba(var(--gold-rgb),.12),transparent 62%),var(--panel-2);display:flex;flex-direction:column;align-items:center;gap:13px}
.ficha-main--m{width:min(218px,72%)}
.ficha-thumbs--m .ficha-thumb{width:58px}

/* lightbox da ficha */
.ficha-lb{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;
  background:rgba(8,18,40,.74);backdrop-filter:blur(14px);
  opacity:0;pointer-events:none;transition:opacity .35s var(--ease);
}
.ficha-lb.open{opacity:1;pointer-events:auto}
.ficha-lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;transform:scale(.94) translateY(12px);transition:transform .45s var(--ease)}
.ficha-lb.open .ficha-lb__fig{transform:none}
.ficha-lb__fig img{max-height:80vh;max-width:min(100%,560px);width:auto;height:auto;border-radius:14px;border:1px solid rgba(255,255,255,.3);box-shadow:0 60px 120px -30px rgba(0,0,0,.7);background:#fff}
.ficha-lb__fig figcaption{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);text-align:center}
.ficha-lb__close{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:99px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:background .3s}
.ficha-lb__close:hover{background:rgba(255,255,255,.18)}
.ficha-lb__close svg{width:18px;height:18px;stroke:currentColor}

/* ---------- APOIO (5 módulos) ---------- */
.apoio{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-card)}
.apoio__railwrap{position:relative}
.apoio__rail{
  display:flex;gap:9px;overflow-x:auto;padding:16px 20px;background:var(--panel-2);
  border-bottom:1px solid var(--line-2);scroll-behavior:smooth;
}
.mtab{
  flex-shrink:0;white-space:nowrap;border:1px solid var(--line);border-radius:99px;padding:9px 17px;
  font-size:.84rem;font-weight:600;color:var(--mut);transition:.3s;background:#fff;
}
.mtab:hover{color:var(--navy);border-color:rgba(var(--blue-rgb),.4)}
.mtab.on{color:var(--gold-deep);border-color:rgba(var(--gold-rgb),.65);background:rgba(var(--gold-rgb),.1)}
.apoio__hint{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none;
  width:30px;height:30px;border-radius:99px;display:grid;place-items:center;
  border:1px solid rgba(var(--gold-rgb),.5);background:rgba(255,255,255,.92);transition:opacity .4s;
}
.apoio__hint svg{width:15px;height:15px;stroke:var(--gold-deep);animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
.apoio__prog{position:absolute;inset-inline:20px;bottom:0;height:2px;background:rgba(11,27,51,.07);border-radius:99px;overflow:hidden}
.apoio__prog i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,rgba(var(--gold-rgb),.5),var(--gold));transition:width .15s}
.apoio__panel{display:grid;grid-template-columns:1.15fr 1fr;min-height:340px}
.apoio__shot{position:relative;background:var(--panel-2);display:flex;align-items:stretch;justify-content:center;padding:26px;overflow:hidden}
.apoio__shot .shot-frame{display:flex;flex-direction:column}
.apoio__shot .shot-frame img{flex:1;min-height:0;width:100%;height:auto;object-fit:cover;object-position:top center;transition:opacity .35s,transform .35s var(--ease)}
.apoio__copy{padding:38px 34px;display:flex;flex-direction:column;justify-content:center}
.apoio__copy .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;color:var(--gold-deep);text-transform:uppercase}
.apoio__copy strong{display:block;margin-top:12px;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:800;letter-spacing:-.02em;line-height:1.16;color:var(--navy);transition:opacity .3s}
.apoio__copy p{margin-top:12px;font-size:.93rem;color:var(--mut);line-height:1.58;transition:opacity .3s}
.apoio__stats{display:flex;flex-direction:column;gap:9px;margin-top:22px}
.apoio__stats span{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--ink-2)}
.apoio__stats svg{width:15px;height:15px;stroke:var(--gold-deep);flex-shrink:0}
@media(max-width:900px){.apoio__panel{grid-template-columns:1fr}.apoio__shot{padding:18px 16px 0}.apoio__shot .shot-frame img{height:300px;flex:none}}

/* ---------- ESTUDANTES ---------- */
.sec--stu{position:relative;overflow:hidden}
.stu__bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 56% 40% at 82% 8%, rgba(var(--blue-rgb),.1), transparent 62%),
    radial-gradient(ellipse 46% 36% at 8% 88%, rgba(var(--blue-rgb),.07), transparent 60%);
}
.sec--stu .wrap{position:relative;z-index:1}

/* trilha de estudo */
.stu__flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:56px}
.stu__flow::before{content:"";position:absolute;top:42px;left:12%;right:12%;border-top:2px dashed rgba(var(--blue-rgb),.32);z-index:0}
.stu__fstep{
  position:relative;z-index:1;border:1px solid var(--line);border-radius:var(--r);padding:22px 20px 24px;
  background:var(--panel);box-shadow:var(--shadow-card);
  transition:transform .35s var(--ease),border-color .35s;
}
.stu__fstep:hover{transform:translateY(-4px);border-color:rgba(var(--blue-rgb),.45)}
.stu__fnum{
  display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;margin-bottom:16px;
  font-family:var(--mono);font-size:.86rem;font-weight:600;color:#fff;
  background:linear-gradient(150deg,var(--blue-hi),var(--blue-deep));border:1px solid rgba(var(--blue-rgb),.2);
  box-shadow:0 8px 18px -8px rgba(var(--blue-rgb),.55),0 0 0 5px #fff;
}
.stu__fstep strong{display:block;font-size:1rem;font-weight:800;letter-spacing:-.01em;color:var(--navy)}
.stu__fstep p{margin-top:6px;font-size:.82rem;color:var(--mut);line-height:1.5}
@media(max-width:940px){.stu__flow::before{display:none}}

/* split: copy + telefone com crossfade */
.qsplit{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,72px);align-items:center;margin-top:clamp(64px,8vw,96px)}
.qsplit__copy .eyebrow{color:var(--blue-deep)}
.qsplit__points{display:flex;flex-direction:column;gap:13px;margin-top:26px}
.qsplit__point{display:flex;gap:14px;align-items:flex-start}
.qsplit__pi{
  width:38px;height:38px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 12%, #fff);border:1px solid color-mix(in srgb,var(--c) 38%, transparent);
}
.qsplit__pi svg{width:18px;height:18px;stroke:color-mix(in srgb,var(--c) 82%, #0b1b33)}
.qsplit__point strong{display:block;font-size:.96rem;font-weight:800;letter-spacing:-.01em;color:var(--navy)}
.qsplit__point p{font-size:.84rem;color:var(--mut);margin-top:2px;line-height:1.5}
.qsplit__bancas{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.qsplit__bancas span{
  font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#7c5a13;
  border:1px solid rgba(var(--gold-rgb),.62);border-radius:99px;padding:6px 12px;
  background:linear-gradient(155deg,rgba(255,249,235,.92),rgba(247,231,188,.72) 60%,rgba(255,251,240,.85));
  box-shadow:0 6px 14px -8px rgba(var(--gold-rgb),.55),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(6px);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.qsplit__bancas span:hover{transform:translateY(-2px);box-shadow:0 10px 20px -8px rgba(var(--gold-rgb),.7),inset 0 1px 0 #fff}
.qsplit__bancas .qsplit__mais{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--blue),var(--blue-deep));box-shadow:0 8px 18px -8px rgba(var(--blue-rgb),.6)}
.qsplit__cta{margin-top:30px}
.qsplit__cta svg{width:17px;height:17px;stroke:currentColor;margin-right:2px}
.qsplit__micro{margin-top:10px;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--mut-2)}

.qsplit__visual{display:flex;flex-direction:column;align-items:center;gap:16px}

/* ---- bloco 05 no desktop: ritmo e proporção (≤940px fica como está) ----
   center deixava 93px mortos acima e abaixo da coluna de texto contra uma
   imagem 186px mais alta — o texto boiava e a leitura não começava na mesma
   linha do visual. Colunas quase iguais (563/509) davam à coluna densa
   (título + 3 itens + 9 chips + CTA) o mesmo espaço de uma imagem só. */
@media(min-width:941px){
  .qsplit{grid-template-columns:1.18fr .82fr;align-items:start}
  .qsplit__copy{padding-top:clamp(8px,1.4vw,24px)}
  /* 14px entre cards de 276px fazia a fileira ler como tira única */
  .stu__flow{gap:24px;counter-reset:passo}
  .stu__fstep{padding:26px 24px 28px}
  .stu__fstep p{font-size:.86rem}

  /* ---- o bloco é um ciclo (estudar > testar > o erro volta > evoluir), mas
     lia como 4 cards soltos: a tracejada some, nada indica ordem e o ícone
     não tem presença. Sequência explícita e conector com direção. ---- */
  .stu__flow::before{
    top:54px;left:13%;right:13%;border:0;height:2px;border-radius:2px;
    background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.5) 10%,
      rgba(var(--gold-rgb),.5) 90%,transparent);
  }
  .stu__fstep{counter-increment:passo}
  .stu__fstep::after{
    content:counter(passo,decimal-leading-zero);
    position:absolute;top:20px;right:22px;z-index:2;
    font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.16em;
    color:rgba(var(--gold-rgb),.9);
  }
  .stu__fnum{width:54px;height:54px;border-radius:16px;margin-bottom:18px}
  .stu__fnum svg{width:23px;height:23px}
  .stu__fstep strong{font-size:1.08rem}
  .stu__fstep p{margin-top:8px;line-height:1.55}
}

/* folhas de vidro — modo estudante (sem mockup de celular) */
.gstack{position:relative;width:min(354px,84%);margin:14px auto 6px;cursor:pointer}
.gstack .gframe--back{transition:transform 1s var(--ease),opacity .8s var(--ease)}
.gstack .gframe--main{transition:transform .9s var(--ease),box-shadow .9s var(--ease)}
.gstack:hover .gframe--back,.gstack.fanned .gframe--back{transform:rotate(-13deg) translate(-18%,5%) scale(.9);opacity:.85}
.gstack:hover .gframe--main,.gstack.fanned .gframe--main{
  transform:rotate(2.4deg) translate(3%,-3.5%);
  box-shadow:0 64px 110px -30px rgba(12,33,73,.5),0 0 0 1.5px rgba(var(--gold-rgb),.45),inset 0 1px 0 #fff,inset 0 -14px 28px -18px rgba(var(--blue-rgb),.25);
}
.gstack__glow{position:absolute;inset:-14% -20%;background:radial-gradient(ellipse 58% 52% at 30% 62%,rgba(var(--gold-rgb),.2),transparent 62%),radial-gradient(ellipse 62% 56% at 70% 38%,rgba(var(--blue-rgb),.26),transparent 62%);filter:blur(38px);pointer-events:none}
.gframe{
  border-radius:26px;padding:9px;
  background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(240,246,255,.66));
  border:1px solid rgba(255,255,255,.96);
  box-shadow:0 44px 84px -28px rgba(12,33,73,.38),inset 0 1px 0 #fff,inset 0 -14px 28px -18px rgba(var(--blue-rgb),.25);
  backdrop-filter:blur(12px);
}
.gframe img{border-radius:18px;width:100%;height:auto;display:block}
.gframe--back{position:absolute;inset:0;z-index:0;transform:rotate(-7deg) translate(-9%,4%) scale(.94);opacity:.55}
/* o inset:0 forçava a altura do quadro e o height:auto não segurava a proporção:
   a imagem renderizava em 0,553 contra 0,461 nativos — esmagada em 20%.
   cover recorta em vez de deformar, igual ao .gf-slide do quadro da frente. */
.gframe--back img{height:100%;object-fit:cover}
.gframe--main{position:relative;z-index:2}
.gframe--main::before{content:"";display:block;aspect-ratio:620/1344}
.gframe--main .gf-slide{position:absolute;inset:9px;width:calc(100% - 18px);height:calc(100% - 18px);object-fit:cover;border-radius:18px;opacity:0;transform:scale(1.04);transition:opacity .8s var(--ease),transform 1.1s var(--ease)}
.gframe--main .gf-slide.on{opacity:1;transform:none}
.gchip{
  position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-size:.74rem;font-weight:700;letter-spacing:-.01em;color:var(--navy);
  background:rgba(255,255,255,.8);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.96);border-radius:99px;padding:9px 14px;
  box-shadow:0 18px 38px -14px rgba(12,33,73,.38);
  animation:floaty 6s ease-in-out infinite;
}
.gchip svg{width:13px;height:13px;stroke:var(--blue-deep);flex-shrink:0}
.gchip--2 svg{stroke:var(--gold-deep)}
.gchip--1{top:11%;left:-27%}
.gchip--2{top:47%;right:-31%;animation-delay:-2s}
.gchip--3{bottom:7%;left:-21%;animation-delay:-4s}
@media(max-width:1180px){.gchip--1{left:-14%}.gchip--2{right:-15%}.gchip--3{left:-10%}}
@media(max-width:1080px){.gchip--1{left:-7%}.gchip--2{right:-8%}.gchip--3{left:-2%}}
@media(max-width:600px){.gchip{display:none}.gstack{width:min(300px,86%)}}

/* módulos de estudo — folhas de vidro */
.stu__mods2{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(64px,8vw,96px)}
.scard{
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--panel);
  box-shadow:var(--shadow-card);transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;
  display:flex;flex-direction:column;
}
.scard:hover{transform:translateY(-5px);border-color:rgba(var(--blue-rgb),.42);box-shadow:0 28px 58px -24px rgba(11,27,51,.26)}
.scard__shot{
  padding:26px 24px 0;display:flex;justify-content:center;
  background:radial-gradient(ellipse 95% 85% at 50% 0%,rgba(var(--blue-rgb),.09),transparent 66%);
  border-bottom:1px solid var(--line-2);
}
.scard__shot img{
  width:min(196px,62%);height:auto;aspect-ratio:4/4.9;object-fit:cover;object-position:top center;
  border-radius:16px 16px 0 0;border:1px solid var(--line);border-bottom:0;
  box-shadow:0 -16px 42px -18px rgba(12,33,73,.32);
  -webkit-mask-image:linear-gradient(180deg,#000 80%,transparent 99%);mask-image:linear-gradient(180deg,#000 80%,transparent 99%);
  transition:transform .5s var(--ease);
}
.scard:hover .scard__shot img{transform:translateY(-7px)}
.scard__body{padding:22px 24px 26px;text-align:center;flex:1}
.scard__k{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-deep)}
.scard__body strong{display:block;margin-top:9px;font-size:1.12rem;font-weight:800;letter-spacing:-.015em;color:var(--navy)}
.scard__body p{margin-top:7px;font-size:.86rem;color:var(--mut);line-height:1.55}
@media(max-width:940px){.stu__mods2{grid-template-columns:1fr}.scard__shot img{width:min(220px,58%)}}

/* ---------- QDEMO (questão interativa — réplica do app) ---------- */
.qdemo{
  --qd-bg:#F6F8FB;--qd-card:#fff;--qd-line:#E2E8F0;
  --qd-ink:#0F172A;--qd-mut:#475569;--qd-faint:#94A3B8;
  --qd-blue:#1CB0F6;--qd-blue-dark:#1899D6;
  --qd-green:#58CC02;--qd-red:#FF4B4B;
  --qd-exp-green:#16A34A;--qd-exp-red:#DC2626;--qd-gold:#FFD700;
  color:var(--qd-ink);margin-top:clamp(36px,5vw,56px);scroll-margin-top:96px;text-align:left;
}
.qdemo[hidden]{display:none}
.qdemo [hidden]{display:none!important}
.qdemo button{font:inherit;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.qdemo p{margin:0}
.qdemo-clip{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.qdemo.is-open .qdemo-clip{grid-template-rows:1fr}
.qdemo-frame{min-height:0;overflow:hidden;background:var(--qd-bg);border:1px solid var(--qd-line);border-radius:22px;box-shadow:0 40px 90px -40px rgba(11,27,51,.35)}
.qdemo-topbar{position:relative;z-index:1;background:var(--qd-blue);box-shadow:0 4px 0 var(--qd-blue-dark);padding:6px 8px 12px}
.qdemo-close{position:absolute;left:8px;top:6px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff}
.qdemo-close:hover{background:rgba(255,255,255,.14)}
.qdemo-close svg{width:24px;height:24px}
.qdemo-topbar-meta{padding:8px 56px 0;text-align:center}
.qdemo-banca{display:block;font-size:13px;font-weight:700;color:#fff;line-height:1.2;letter-spacing:.04em}
.qdemo-count{display:block;margin-top:5px;font-size:12px;font-weight:600;color:rgba(255,255,255,.9)}
.qdemo-progress{height:8px;border-radius:4px;background:rgba(255,255,255,.3);overflow:hidden;margin:12px 20px 0}
.qdemo-progress-fill{display:block;height:100%;width:.69%;min-width:12px;border-radius:4px;background:#fff}
.qdemo-body{padding:22px 18px 24px;max-width:860px;margin-inline:auto}
.qdemo-question{background:var(--qd-card);border:1.5px solid var(--qd-line);border-radius:16px;padding:20px}
.qdemo-vignette{font-size:15px;font-weight:500;line-height:1.65;color:var(--qd-ink)}
.qdemo-alts{margin-top:16px}
.qdemo-altwrap{margin-bottom:10px}
.qdemo-alt{
  width:100%;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;text-align:left;
  background:var(--qd-card);border:1.5px solid rgba(28,176,246,.25);border-radius:14px;padding:14px;
  box-shadow:0 3px 0 rgba(28,176,246,.13);
  transition:transform .12s,box-shadow .12s,background .15s,border-color .15s;
  user-select:none;-webkit-user-select:none;
}
.qdemo-alt:not(:disabled):hover{border-color:rgba(28,176,246,.55)}
.qdemo-alt:not(:disabled):active{transform:translateY(3px);box-shadow:0 0 0 rgba(28,176,246,.13)}
.qdemo-alt-chip{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:16px;font-weight:900;background:rgba(28,176,246,.12);color:var(--qd-blue)}
.qdemo-alt-text{font-size:14.5px;font-weight:600;line-height:1.5;color:var(--qd-ink)}
.qdemo-alt.is-selected{border-color:var(--qd-blue);background:rgba(28,176,246,.1);box-shadow:0 3px 0 rgba(28,176,246,.5)}
.qdemo-alt.is-selected .qdemo-alt-chip{background:rgba(28,176,246,.2)}
.qdemo-alt.is-correct{background:#7DD73A;border-color:var(--qd-green);box-shadow:0 4px 0 rgba(88,204,2,.5)}
.qdemo-alt.is-wrong{background:#FF7D7D;border-color:var(--qd-red);box-shadow:0 3px 0 rgba(255,75,75,.5)}
.qdemo-alt.is-correct .qdemo-alt-text,.qdemo-alt.is-wrong .qdemo-alt-text{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.12)}
.qdemo-alt.is-correct .qdemo-alt-chip,.qdemo-alt.is-wrong .qdemo-alt-chip{background:rgba(255,255,255,.28);color:#fff}
.qdemo-alt:disabled{cursor:default}
.qdemo-strip{display:flex;gap:8px;align-items:flex-start;margin-top:6px;padding:10px 12px;border-radius:10px;animation:qdStrip .35s var(--ease)}
@keyframes qdStrip{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.qdemo-strip-green{background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.26)}
.qdemo-strip-red{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.26)}
.qdemo-strip-badge{width:20px;height:20px;flex:none;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:900}
.qdemo-strip-green .qdemo-strip-badge{background:rgba(22,163,74,.15);color:var(--qd-exp-green)}
.qdemo-strip-red .qdemo-strip-badge{background:rgba(220,38,38,.15);color:var(--qd-exp-red)}
.qdemo-strip p{font-size:12.5px;font-weight:600;line-height:1.5;color:var(--qd-ink)}
.qdemo-editorial{margin-top:16px;background:var(--qd-card);border:1.2px solid var(--qd-line);border-radius:16px;padding:16px;opacity:0;transform:translateY(20px);transition:opacity .35s,transform .35s var(--ease)}
.qdemo-editorial.is-in{opacity:1;transform:none}
.qdemo-ed-head{display:flex;align-items:center;gap:8px;color:var(--qd-blue);font-size:13px;font-weight:800;margin-bottom:12px}
.qdemo-ed-head svg{width:18px;height:18px}
.qdemo-pearl{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;padding:13px 15px;background:rgba(255,215,0,.09);border:1.2px solid rgba(255,215,0,.38);border-radius:14px;margin-bottom:10px}
.qdemo-pearl svg{width:18px;height:18px;color:var(--qd-gold);margin-top:1px}
.qdemo-pearl-title{display:block;font-size:11px;font-weight:900;letter-spacing:.5px;color:#b8860b}
.qdemo-pearl p{margin-top:4px;font-size:13.5px;font-weight:700;line-height:1.5;color:var(--qd-ink)}
.qdemo-panels{display:flex;flex-direction:column;gap:8px}
.qdemo-panel{border-radius:13px;border:1.2px solid rgba(var(--qp-rgb),.26);background:rgba(var(--qp-rgb),.07);overflow:hidden}
.qdemo-panel summary{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;list-style:none}
.qdemo-panel summary::-webkit-details-marker{display:none}
.qdemo-panel summary::after{content:"+";margin-left:auto;font-size:18px;font-weight:800;color:var(--qp);transition:transform .2s}
.qdemo-panel[open] summary::after{transform:rotate(45deg)}
.qdemo-panel-title{display:block;font-size:13px;font-weight:900;color:var(--qp)}
.qdemo-panel-sub{display:block;margin-top:2px;font-size:10.5px;font-weight:600;color:rgba(15,23,42,.6)}
.qdemo-panel-content{padding:2px 14px 14px;font-size:13px;font-weight:500;line-height:1.6;color:var(--qd-ink);border-top:1px solid rgba(var(--qp-rgb),.18);margin:0 12px;padding:12px 0 4px}
.qdemo-footer{display:flex;justify-content:center;padding:20px 0 6px}
.qdemo-verify,.qdemo-cta{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  padding:16px 34px;border-radius:16px;background:var(--qd-blue);box-shadow:0 4px 0 var(--qd-blue-dark);
  color:#fff;font-size:15.5px;font-weight:900;letter-spacing:1.2px;transition:transform .1s,box-shadow .1s,filter .15s;
}
.qdemo-verify:hover,.qdemo-cta:hover{filter:brightness(1.06)}
.qdemo-verify:active,.qdemo-cta:active{transform:translateY(3px);box-shadow:0 1px 0 var(--qd-blue-dark)}
.qdemo-verify:not([hidden]){animation:qdPop .2s ease-out}
@keyframes qdPop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}

@media(max-width:940px){
  .stu__flow{grid-template-columns:repeat(2,1fr)}
  .qsplit{grid-template-columns:1fr;gap:44px}
  .qsplit__visual{order:-1}
  .stu__mods2{grid-template-columns:1fr}
}
@media(max-width:600px){
  /* os 4 passos empilhados custavam 755px; em 2x2 o fluxo continua legível
     e cabe quase numa tela, como o grid de ferramentas acima */
  .stu__flow{grid-template-columns:repeat(2,1fr);gap:12px}
  /* 3 módulos empilhados custavam 1.245px (1,5 tela). Em carrossel com snap
     custam ~420px e continuam todos acessíveis — padrão já usado na página. */
  .stu__mods2{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    padding-bottom:6px}
  .stu__mods2::-webkit-scrollbar{display:none}
  .stu__mods2>*{flex:0 0 84%;scroll-snap-align:center}
  .stu__fstep{padding:16px 14px 18px}
  .stu__fnum{width:34px;height:34px;margin-bottom:12px}
  .stu__fstep strong{font-size:.94rem}
  .stu__fstep p{font-size:.82rem}
  .qdemo-body{padding:16px 12px 18px}
  .qdemo-question{padding:15px}
  .qdemo-alt{grid-template-columns:32px 1fr;gap:10px;padding:12px}
  .qdemo-alt-chip{width:32px;height:32px;font-size:14px}
  .qdemo-alt-text{font-size:13.5px}
  .qdemo-frame{border-radius:16px}
  .qdemo-verify,.qdemo-cta{width:100%;padding:15px 20px}
}
@media (prefers-reduced-motion:reduce){.qdemo,.qdemo *{transition-duration:.01ms!important;animation:none!important}}

/* ---------- CONFIANÇA ---------- */
.trust__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.trust__warn{
  display:flex;gap:13px;margin-top:28px;border:1px solid rgba(var(--gold-rgb),.4);border-radius:14px;padding:17px 19px;
  background:rgba(var(--gold-rgb),.09);font-size:.86rem;line-height:1.55;color:var(--ink-2);
}
.trust__warn svg{width:19px;height:19px;flex-shrink:0;stroke:var(--gold-deep);margin-top:1px}

/* ---- padrão único para par ícone + texto ----
   Estes pares vinham tratados caso a caso e cada um quebrava de um jeito:
   o .cap-stu recebeu inline-flex e o .cap-med irmão ficou em display:block,
   então o ✓ caía sozinho numa linha e um &nbsp; no HTML tentava remendar;
   o .trust__warn é flex sem align-items, e o escudo flutuava 32px acima da
   primeira linha (64px no celular — o desvio cresce com a altura do texto);
   o ícone do .flow__cap encolhia para 11x13 no celular por falta de
   flex-shrink. Mesma regra para todos, em vez de três correções soltas. */
.hero__mode-cap .cap-med{display:inline-flex;align-items:center;gap:9px}
.trust__warn{align-items:flex-start}
.trust__warn>p{margin:0}
.trust__warn>svg{margin-top:2px}
.hero__mode-cap svg,.flow__cap svg,.tools__flowstrip svg{flex-shrink:0}
.trust__warn b{color:var(--gold-deep)}
.trust__list{display:flex;flex-direction:column;gap:12px}
.titem{
  position:relative;display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;
  background:linear-gradient(155deg,#fff,rgba(248,250,255,.86));
  box-shadow:var(--shadow-card),inset 0 1px 0 #fff;
  transition:border-color .3s,transform .3s var(--ease),box-shadow .3s;
  overflow:hidden;
}
.titem::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .35s;pointer-events:none;
  background:radial-gradient(circle at 12% 0%,rgba(var(--gold-rgb),.14),transparent 55%)}
.titem:hover{border-color:rgba(var(--gold-rgb),.5);transform:translateX(4px);box-shadow:0 22px 44px -20px rgba(11,27,51,.2)}
.titem:hover::before{opacity:1}
.titem__ic{
  width:44px;height:44px;border-radius:13px;flex-shrink:0;display:grid;place-items:center;position:relative;
  border:1px solid rgba(var(--gold-rgb),.5);
  background:linear-gradient(155deg,rgba(255,252,243,.97),rgba(250,240,214,.78) 55%,rgba(255,255,255,.66));
  box-shadow:0 10px 22px -10px rgba(var(--gold-rgb),.55),inset 0 1px 0 #fff,inset 0 -10px 18px -12px rgba(var(--gold-rgb),.5);
}
.titem__ic::after{content:"";position:absolute;inset:3px;border-radius:9px;border:1px solid rgba(255,255,255,.9);pointer-events:none}
.titem__ic svg{width:19px;height:19px;stroke:var(--gold-deep)}
.titem strong{display:block;font-size:1rem;font-weight:800;letter-spacing:-.01em;color:var(--navy)}
.titem p{font-size:.85rem;color:var(--mut);margin-top:3px;line-height:1.5}
@media(max-width:940px){.trust__grid{grid-template-columns:1fr;gap:44px}}

/* ---------- PLANOS ---------- */
.periods{
  display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:99px;padding:4px;margin:26px 0 46px;
  background:#fff;box-shadow:var(--shadow-card);
}
.periods button{
  border-radius:99px;padding:10px 20px;font-size:.86rem;font-weight:700;color:var(--mut);transition:.3s;
  display:inline-flex;align-items:center;gap:7px;
}
.periods button em{font-style:normal;font-family:var(--mono);font-size:.62rem;color:var(--gold-deep);font-weight:600}
.periods button.on{background:var(--navy);color:#fff}
.periods button.on em{color:var(--gold-hi)}
.plans{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;max-width:920px;margin-inline:auto;align-items:stretch}
.plan{
  position:relative;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 30px;text-align:left;
  background:var(--panel);box-shadow:var(--shadow-card);display:flex;flex-direction:column;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
}
.plan:hover{transform:translateY(-7px);box-shadow:var(--shadow-pop)}
.plan--pro:hover{border-color:rgba(var(--gold-rgb),.75);box-shadow:0 0 0 1.5px rgba(var(--gold-rgb),.55),0 56px 110px -34px rgba(12,33,73,.65)}
.plan__name{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.plan__name svg{width:15px;height:15px;stroke:var(--blue-deep)}
.plan__desc{margin-top:14px;font-size:.88rem;color:var(--mut);line-height:1.55;min-height:64px}
.plan__price{margin-top:22px;display:flex;align-items:baseline;gap:8px}
.plan__price strong{font-size:2.7rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--navy)}
.plan__price small{color:var(--mut);font-size:.9rem}
/* a 320px o valor a 2.7rem ocupava 194 dos ~204px úteis do card, sem respiro */
@media(max-width:600px){.plan__price strong{font-size:2.25rem}}
.plan__note{margin-top:9px;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--gold-deep);text-transform:uppercase;min-height:16px}
.plan__feats{list-style:none;margin:24px 0 28px;display:flex;flex-direction:column;gap:11px;flex:1}
.plan__feats li{display:flex;gap:11px;align-items:flex-start;font-size:.87rem;color:var(--ink-2);line-height:1.45}
.plan__feats svg{width:16px;height:16px;flex-shrink:0;stroke:var(--blue-deep);margin-top:2px}
.plan__foot{margin-top:16px;font-size:.74rem;color:var(--mut-2);line-height:1.5}
.plan--pro{
  border-color:rgba(var(--gold-rgb),.5);
  background:
    radial-gradient(ellipse 120% 60% at 80% -10%,rgba(var(--blue-rgb),.35),transparent 60%),
    linear-gradient(165deg,#123064,#0c2149);
  box-shadow:0 0 0 1px rgba(var(--gold-rgb),.3),0 40px 90px -30px rgba(12,33,73,.55);
}
.plan--pro .plan__name{color:var(--gold-hi)}
.plan--pro .plan__name svg{stroke:var(--gold-hi)}
.plan--pro .plan__desc{color:rgba(255,255,255,.72)}
.plan--pro .plan__price strong{color:#fff}
.plan--pro .plan__price small{color:rgba(255,255,255,.6)}
.plan--pro .plan__note{color:var(--gold-hi)}
.plan--pro .plan__feats li{color:rgba(255,255,255,.85)}
.plan--pro .plan__feats svg{stroke:var(--gold-hi)}
.plan--pro .plan__foot{color:rgba(255,255,255,.5)}
.plan__badge{
  position:absolute;top:-13px;right:26px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:#231a04;background:linear-gradient(90deg,var(--gold-hi),var(--gold));border-radius:99px;padding:6px 13px;font-weight:600;
  box-shadow:0 8px 22px -8px rgba(var(--gold-rgb),.7);
}
@media(max-width:820px){
  .plans{grid-template-columns:1fr}
  .plan__desc{min-height:0}
  .plan--pro{order:-1}
}

/* ---------- FAQ ---------- */
.faqwrap{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
.faqlist{display:flex;flex-direction:column}
.faqlist details{border-bottom:1px solid var(--line-2)}
.faqlist summary{
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;cursor:pointer;
  padding:21px 4px;font-size:1.02rem;font-weight:700;letter-spacing:-.015em;color:var(--navy);transition:color .25s;
}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary:hover{color:var(--blue-deep)}
.faqlist .fi{
  width:28px;height:28px;border-radius:99px;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;background:#fff;
  transition:transform .35s var(--ease),border-color .3s,background .3s;
}
.faqlist .fi svg{width:13px;height:13px;stroke:var(--mut)}
.faqlist details[open] .fi{transform:rotate(45deg);border-color:rgba(var(--gold-rgb),.6);background:rgba(var(--gold-rgb),.1)}
.faqlist details[open] .fi svg{stroke:var(--gold-deep)}
.faqlist .fa{padding:0 4px 24px;font-size:.9rem;color:var(--mut);line-height:1.62;max-width:56ch}
@keyframes faIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.faqlist details[open] .fa{animation:faIn .45s var(--ease) both}
@media(max-width:900px){.faqwrap{grid-template-columns:1fr;gap:40px}}

/* ---------- CTA FINAL ---------- */
.final{position:relative;padding:150px 0;text-align:center;overflow:hidden;color:#fff;
  background:
    radial-gradient(ellipse 90% 60% at 50% 118%,rgba(var(--blue-rgb),.34),transparent 62%),
    linear-gradient(180deg,rgba(10,26,60,.5),rgba(8,20,46,.62)),
    url('../landing/bg/bg-navy-1.jpg') center/cover no-repeat,
    linear-gradient(180deg,#10295a,#0c2149 55%,#081838);
}
.final .sec__num{color:var(--gold-hi)}
.final .sec__num::before{background:linear-gradient(90deg,var(--gold-hi),#fff)}
.final__beam{position:absolute;inset-inline:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.8),transparent)}
.final .h1{max-width:16ch;margin:22px auto 0;color:#fff}
.final .lead{max-width:52ch;margin:22px auto 0;color:rgba(255,255,255,.72)}
.final .eyebrow{color:var(--gold-hi)}
.final__cta{display:flex;gap:14px;justify-content:center;margin-top:38px;flex-wrap:wrap}
.final .btn--ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.final .btn--ghost:hover{border-color:rgba(255,255,255,.5);color:#fff}
.final__legal{max-width:60ch;margin:44px auto 0;font-size:.74rem;color:rgba(255,255,255,.45);line-height:1.6}

/* ---------- FOOTER ---------- */
.footer{border-top:1px solid var(--line-2);padding:40px 0;background:#fff}
.footer__in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer__links{display:flex;gap:26px}
.footer__links a{font-size:.86rem;color:var(--mut);transition:color .25s}
.footer__links a:hover{color:var(--navy)}
.footer__copy{font-family:var(--mono);font-size:.7rem;color:var(--mut-2);letter-spacing:.04em}

/* ---------- STICKY CTA ---------- */
.sticky{
  position:fixed;inset-inline:16px;bottom:16px;z-index:60;
  transform:translateY(130%);opacity:0;pointer-events:none;
  transition:transform .5s var(--ease),opacity .5s;
}
.sticky.show{transform:none;opacity:1;pointer-events:auto}
.sticky .btn{width:100%;box-shadow:0 16px 44px -10px rgba(var(--blue-rgb),.55)}
@media(min-width:821px){.sticky{display:none}}

/* ---------- backgrounds de seção ---------- */
.sec--hasbg{overflow:hidden}
.sec-bgimg{position:absolute;inset:0;pointer-events:none;z-index:0}
.sec-bgimg img{width:100%;height:100%;object-fit:cover;opacity:.78}
.sec-bgimg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(251,252,255,.88),rgba(251,252,255,.3) 22%,rgba(251,252,255,.28) 78%,rgba(251,252,255,.94));
}
.sec--hasbg .wrap{position:relative;z-index:1}

/* ---------- carousel (documentos mobile) ---------- */
.docs-car{display:none}
@media(max-width:940px){
  .docs-bento{display:none}
  .docs-car{display:block}
  .docs-car__track{
    display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:-28px;padding-inline:28px;align-items:stretch;
  }
  .docs-car__track .bcard{flex:0 0 84%;scroll-snap-align:center}
  .docs-car__track .bcard__body{flex:0 0 auto}
  .docs-car__track .bcard__visual--frame{flex:1;display:flex;align-items:stretch;padding:16px 16px 0}
  .docs-car__track .shot-frame{display:flex;flex-direction:column;height:100%}
  .docs-car__track .shot-frame img{flex:1;min-height:0;width:100%;height:auto;object-fit:cover;object-position:top}
  .docs-dots{display:flex;justify-content:center;gap:7px;margin-top:24px}
  .docs-dots button{
    position:relative;height:4px;border-radius:99px;overflow:hidden;transition:width .5s var(--ease);
    width:6px;background:rgba(11,27,51,.14);
  }
  .docs-dots button.on{width:34px;background:rgba(11,27,51,.12)}
  .docs-dots .dot-fill{position:absolute;inset:0;border-radius:99px;background:var(--gold);display:block}
}


/* ================= RODADA V17: premium + efeito cinematográfico ================= */

/* tipografia V17: display em Space Grotesk */
.h-display,.h2,.h3,.plan__price strong,.sec__num{font-family:var(--disp)}
.h2,.h3{letter-spacing:-.024em}
.hero .h-display{letter-spacing:-.028em;line-height:1.02}

/* herói: vídeo menos esbranquiçado */
.hero .hero__bg video{opacity:.62;filter:saturate(1.12) brightness(.99)}
.hero__veil{background:radial-gradient(ellipse 64% 54% at 50% 34%,rgba(251,252,255,.4),rgba(251,252,255,.26) 58%,rgba(251,252,255,.74) 100%)}

/* palco dourado — mesma família do ticker */
.hero__band{
  background:
    radial-gradient(ellipse 120% 60% at 50% -10%,rgba(255,255,255,.5),transparent 62%),
    linear-gradient(180deg,rgba(122,88,15,.2),rgba(160,116,20,.1) 60%,rgba(255,252,240,.2)),
    linear-gradient(180deg,#f3e2ac,#ecd28e 46%,#e2c374);
  box-shadow:0 -1px 0 rgba(255,255,255,.75) inset,0 40px 90px -30px rgba(122,88,15,.45);
}
.hero__mode{background:rgba(70,50,6,.42);border-color:rgba(255,255,255,.45)}
.hero__mode button{color:rgba(255,252,238,.8)}
.hero__mode button.on{color:#3d2c05;background:linear-gradient(120deg,#fffdf4,#f9ecd0);box-shadow:0 6px 18px -6px rgba(80,58,8,.5)}
.hero__mode button.on svg{stroke:#8a6410}
.stage-frame{background:#231a04;border-color:rgba(255,255,255,.3)}
.stage-frame__bar{background:rgba(255,255,255,.07);border-bottom-color:rgba(255,255,255,.16)}
.stage-frame__url{color:rgba(255,250,232,.72);background:rgba(35,24,2,.34);border-color:rgba(255,255,255,.2)}
.stage-frame__url svg{stroke:rgba(255,250,232,.72)}
.stage-frame__dots i{background:rgba(255,255,255,.4)}
.stage-phone{background:#2c2105;border-color:rgba(255,255,255,.34);box-shadow:0 40px 90px -30px rgba(74,54,10,.65),0 0 0 6px rgba(84,62,12,.5)}
.stage-phone::before{background:#140d01;border-color:rgba(255,255,255,.18)}
.hero__mode-cap{color:rgba(67,49,10,.88)}
.hero__mode-cap svg{stroke:#8a6410}
.hero__mode-cap b{color:#3d2c05}
.hero__mode-cap .cap-stu{color:rgba(67,49,10,.88)}
.scar__tab{background:rgba(70,50,6,.5);border-color:rgba(255,255,255,.3);color:rgba(255,250,232,.82)}
.scar__tab:hover{border-color:rgba(255,255,255,.6);color:#fff}
.scar__tab.on{color:#fff;border-color:rgba(255,255,255,.7);background:rgba(70,50,6,.72)}

/* carrossel do modo médico no palco */
.mcar{position:absolute;inset:0}
/* .stage-frame__shot img{height:auto} tem especificidade (0,1,1) e vencia o
   height:100% de .mcar__slide (0,1,0): o slide renderizava a 209px dentro de
   um quadro de 220px e a imagem-base aparecia na fresta de 11px por baixo.
   Seletor com a mesma raiz para empatar a especificidade e vencer por ordem. */
.stage-frame__shot .mcar__slide,
.stage-frame__shot .scar__slide{height:100%;object-fit:cover}
.mcar__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transition:opacity 1.1s var(--ease)}
.mcar__slide.on{opacity:1}
.hero__duo.stu .mcar{opacity:0}
.mcar{transition:opacity .7s var(--ease)}

/* efeito cinematográfico V17 — a tela encolhe, o resto sobe por cima */
.cinematic .hero{position:sticky;top:0;z-index:1}
.cinematic .hero~*{position:relative;z-index:2;background:#fbfcff}
.cinematic .ticker{border-radius:28px 28px 0 0;margin-top:-8px;box-shadow:0 -30px 70px -26px rgba(11,27,51,.4)}

/* bloco 01 · ícone limpo: sem shape dentro de shape */
.tcard__ic{width:auto;height:auto;border-radius:0;background:none;border:0;box-shadow:none;backdrop-filter:none;display:block}
.tcard__ic::after{display:none}
.tcard__ic img{width:54px;height:54px;object-fit:contain;display:block;margin-inline:auto}

/* blocos 02 e 05 · steps premium (mesma linguagem do bloco 06) */
.fstep2,.stu__fstep{
  background:linear-gradient(155deg,#fff,rgba(248,250,255,.86));
  box-shadow:var(--shadow-card),inset 0 1px 0 #fff;overflow:hidden;
}
.fstep2::before,.stu__fstep::before{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .35s;pointer-events:none;
  background:radial-gradient(circle at 12% 0%,rgba(var(--gold-rgb),.14),transparent 55%);
}
.fstep2:hover,.stu__fstep:hover{transform:translateY(-4px);border-color:rgba(var(--gold-rgb),.5);box-shadow:0 22px 44px -20px rgba(11,27,51,.2)}
.fstep2:hover::before,.stu__fstep:hover::before{opacity:1}
.fstep2__num,.stu__fnum{
  width:44px;height:44px;border-radius:13px;display:grid;place-items:center;position:relative;flex-shrink:0;
  border:1px solid rgba(var(--gold-rgb),.5);
  background:linear-gradient(155deg,rgba(255,252,243,.97),rgba(250,240,214,.78) 55%,rgba(255,255,255,.66));
  box-shadow:0 10px 22px -10px rgba(var(--gold-rgb),.55),inset 0 1px 0 #fff,inset 0 -10px 18px -12px rgba(var(--gold-rgb),.5);
  font-family:var(--disp);font-weight:700;font-size:1.06rem;color:var(--gold-deep);
  transition:color .35s,background .35s,border-color .35s,box-shadow .35s;
}
.fstep2__num::after,.stu__fnum::after{content:"";position:absolute;inset:3px;border-radius:9px;border:1px solid rgba(255,255,255,.9);pointer-events:none}
.fstep2__num svg,.stu__fnum svg{width:19px;height:19px;stroke:var(--gold-deep)}
.fstep2.on .fstep2__num{color:#fff;background:linear-gradient(150deg,var(--gold-hi),var(--gold));border-color:transparent;box-shadow:0 10px 24px -10px rgba(var(--gold-rgb),.75)}
.fstep2.on .fstep2__num svg{stroke:#fff}
.stu__fnum{margin-bottom:16px}
.fstep2__prog{background:rgba(var(--gold-rgb),.16)}

/* bloco 04 · zoom para igualar o corte do AusMind */
@media(min-width:901px){.apoio__shot .shot-frame img{object-position:49% 15%;transform:scale(1.14)}}
@media(max-width:900px){.apoio__shot .shot-frame img{object-position:center 18%;transform:scale(1.26);transform-origin:center 28%}}
.apoio__shot .shot-frame img{transition:opacity .35s,transform .6s var(--ease)}
.apoio__shot .shot-frame{overflow:hidden}

/* lightbox maior — dá para ler os detalhes */
/* 95vw mede a viewport inteira e ignora o padding:24px do .ficha-lb, então a
   imagem saía 4px além da tela no celular (e a legenda junto). 100% mede a
   caixa de conteúdo já descontado o padding. */
.ficha-lb__fig{max-width:100%}
.ficha-lb__fig img{max-height:88vh;max-width:min(100%,1300px)}

/* herói mobile V17: um asset + Sou Estudante */
@media(max-width:940px){
  .hero__band{padding-bottom:26px}
  .hero__duo{flex-direction:column;align-items:center;gap:18px}
  .stage-frame--main{width:100%}
  .stage-phone{display:none}
  .hero__mode-cap{display:none}
  .hero__mode{margin-bottom:18px}
}
