:root{
  --bg:#0B0C0B; --surface:#141614; --line:#2A2D2A; --white:#FFFFFF;
  --paper:#F6F8F5; --gray:#8A8F8A; --green:#20DC77; --green-2:#54F59A;
  --ink:#383838; --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--white);
  font-family:"Rethink Sans",system-ui,sans-serif;font-weight:400;line-height:1.45;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
/* grão leve para o fundo não ficar sólido */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
p,h1,h2,h3,li,summary,blockquote{text-wrap:balance}
strong{font-weight:600}
section,header,footer,.fita{position:relative;z-index:1}

/* ============ TEXTO METAL ============ */
.metal{
  background:
    linear-gradient(104deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.5) 46%,rgba(255,255,255,0) 60%),
    radial-gradient(86% 99% at 50% 50%,#FFF 24%,#E6E9E6 40%,#A3A8A3 64%,#4a4e4a 88%,#202320 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
.metal-dark{
  background:linear-gradient(262deg,#111 -1.31%,#474747 94.57%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

/* ============ MARCADOR DE IMAGEM VAZIA ============ */
.marcador{
  display:flex;align-items:center;justify-content:center;text-align:center;
  border:1.5px dashed #3c403c;border-radius:14px;color:#7d837d;
  font:500 12px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.02em;padding:14px;
  background:repeating-linear-gradient(135deg,#121412 0 10px,#151815 10px 20px);
}

/* ============ TILE DE ÍCONE (vidro escuro, sem backdrop-filter) ============ */
.tile{
  --s:46px;position:relative;flex:none;display:inline-grid;place-items:center;
  width:var(--s);height:var(--s);border-radius:calc(var(--s)*.3);color:var(--green);
  background:
    radial-gradient(120% 90% at 30% 0%,rgba(84,245,154,.10),transparent 60%),
    linear-gradient(160deg,#1c211d 0%,#0d0f0d 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 0 16px rgba(32,220,119,.10),
    0 12px 26px -14px rgba(0,0,0,.85),0 2px 4px -2px rgba(0,0,0,.5);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.tile::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(160deg,rgba(84,245,154,.6),rgba(255,255,255,.10) 38%,rgba(255,255,255,.03) 68%,rgba(32,220,119,.3));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
}
.tile svg{width:calc(var(--s)*.5);height:calc(var(--s)*.5);stroke-width:1.7;overflow:visible;filter:drop-shadow(0 0 6px rgba(32,220,119,.35))}
.tile.peq{--s:30px}
.tile.peq svg{stroke-width:2.2}
.tile.grande{--s:60px}
.tile.claro{color:#5f655f;background:linear-gradient(160deg,#fff,#eef0ed);box-shadow:inset 0 1px 0 #fff,0 8px 18px -12px rgba(0,0,0,.35)}
.tile.claro::before{background:linear-gradient(160deg,#d5d9d4,#f4f5f3 60%,#cfd3ce)}
.tile.claro svg{filter:none}
.mini{display:inline-grid;color:var(--green)}
.mini svg{width:16px;height:16px;stroke-width:2.6}
.cheio{fill:currentColor;stroke:none}

/* o ícone é visível por padrão; o desenho do traço ao entrar é feito em icones.js (Web Animations) */

/* micro-movimento no hover do card (parte .a) */
[data-ic] .a{transform-box:fill-box;transform-origin:center;transition:transform .5s var(--ease)}
.ic-host:hover .tile{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 20px rgba(32,220,119,.2),0 16px 30px -14px rgba(32,220,119,.35)}
.ic-host:hover [data-mov="sobe"] .a{transform:translateY(-2.5px)}
.ic-host:hover [data-mov="anda"] .a{transform:translateX(2px)}
.ic-host:hover [data-mov="gira"] .a{animation:ic-gira 1.6s var(--ease)}
.ic-host:hover [data-mov="pulsa"] .a{animation:ic-pulsa 1.2s ease-in-out infinite}
.ic-host:hover [data-mov="balanca"] .a{animation:ic-balanca .8s ease-in-out}
@keyframes ic-gira{to{transform:rotate(360deg)}}
@keyframes ic-pulsa{50%{transform:scale(1.18)}}
@keyframes ic-balanca{25%{transform:rotate(-10deg)}75%{transform:rotate(8deg)}}

/* ============ BOTÃO (glowbox TheMembers: caixa neutra, verde só no botão e na borda girando) ============ */
.glowbox{isolation:isolate;overflow:hidden;border-radius:999px;position:relative;width:fit-content;max-width:100%;--speed:3s}
.glowbox-anim,.glowbox-borders{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:130%;aspect-ratio:1;z-index:1;pointer-events:none}
.glowbox-glow,.glowbox-borders{background:conic-gradient(from 0 at 50% 50%,#20DC77 0deg,#20DC7700 60deg,#20DC7700 300deg,#20DC77 360deg)}
.glowbox-glow{position:absolute;inset:0;filter:blur(8px);opacity:.10;animation:giro var(--speed) infinite linear}
.glowbox-borders{animation:giroT var(--speed) infinite linear}
.glowbox-masker{
  position:absolute;inset:0;border-radius:999px;padding:1px;pointer-events:none;z-index:3;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
}
@keyframes giro{to{transform:rotate(360deg)}}
@keyframes giroT{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.btn-box{
  position:relative;z-index:2;display:flex;align-items:center;gap:14px;
  padding:9px 9px 9px 9px;border-radius:100px;text-decoration:none;color:var(--white);
  background:linear-gradient(225deg,rgba(255,255,255,.075) 5%,rgba(255,255,255,.028) 45%,rgba(255,255,255,.012) 72%),#0f110f;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.6),23.9px 19.78px 82.49px 0 #00000094;
}
.btn-cta{
  position:relative;overflow:hidden;white-space:nowrap;padding:17px 30px;border-radius:100px;
  background:linear-gradient(180deg,#3BEA8C 0%,#20DC77 55%,#17C567 100%);
  border:1px solid #20DC7730;color:#06140B;font-weight:600;font-size:15px;letter-spacing:.8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -3px 8px rgba(0,60,25,.22),
    -4.15px 10.39px 70px 0 #20DC7730,-2.08px 4.15px 38px 0 #20DC7730;
  transition:box-shadow .5s var(--ease),filter .5s var(--ease);
}
.btn-cta::after{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);
  transition:left .8s var(--ease);
}
.seta-bola{
  flex:none;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;
  background:linear-gradient(160deg,#20251f,#0c0e0c);border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .5s var(--ease)
}
.seta{width:20px;height:20px;color:var(--green);rotate:-45deg;transition:rotate .5s var(--ease)}
.btn-box:hover .btn-cta{filter:brightness(1.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -3px 8px rgba(0,60,25,.22),0 10px 50px 0 #20DC7750}
.btn-box:hover .btn-cta::after{left:120%}
.btn-box:hover .seta{rotate:0deg}
.btn-box:hover .seta-bola{border-color:#20DC7766}
.cta-centro{display:flex;justify-content:center;margin-top:64px}
.cta-centro .glowbox{margin:0 auto}

/* ============ ESTRUTURA DAS SEÇÕES ============ */
.secao{max-width:1280px;margin:0 auto;padding:150px 40px}
.secao::before{ /* costura fina entre seções escuras */
  content:"";position:absolute;top:0;left:50%;width:min(720px,80%);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
}
.titulo{font-size:60px;font-weight:500;line-height:1.08;letter-spacing:-2.6px;max-width:900px;margin:0 auto;text-align:center}
.titulo-largo{max-width:1040px}
.chamada{text-align:center;color:var(--green);font-size:18px;font-weight:500;margin-bottom:22px}
.chamada.esq{text-align:left}
.chamada-clara{color:#139a52}
.apoio-bloco{max-width:700px;margin:34px auto 0;text-align:center;display:grid;gap:14px}
.apoio-bloco p{font-size:20px;line-height:1.55;color:#B4B9B4}
.bd{position:relative}
.bd::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(170deg,rgba(113,113,113,.75),rgba(113,113,113,.12) 55%,rgba(113,113,113,0));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
}
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.visto{opacity:1;transform:none}
.luz-palco{position:absolute;inset:0 0 auto;height:720px;pointer-events:none;z-index:-1;
  background:radial-gradient(50% 60% at 50% 0%,rgba(32,220,119,.16),rgba(32,220,119,.04) 55%,transparent 75%)}

/* ============ HERO ============ */
.hero{overflow:hidden;padding:90px 0 70px}
.feixes{position:absolute;inset:0;pointer-events:none}
.feixes i{
  position:absolute;top:0;left:50%;width:150px;height:800px;border-radius:100px;
  background:linear-gradient(to top,transparent 5%,#20DC7738 90%);filter:blur(80px);
}
.feixes i:nth-child(1){transform:translate(-600px,-100px) rotate(25deg)}
.feixes i:nth-child(2){transform:translate(200px,-300px) rotate(25deg)}
.feixes i:nth-child(3){transform:translate(-250px,-300px) rotate(25deg);opacity:.6}
.feixes i:nth-child(4){transform:translate(500px,-100px) rotate(25deg)}
.hero-in{position:relative;max-width:1280px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:end}
.marcador-logo{width:220px;height:64px;margin-bottom:48px}
.hero-h1{font-size:62px;font-weight:500;line-height:1.08;letter-spacing:-2.4px;max-width:700px}
.hero-dir{padding-bottom:8px}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.chips li{
  display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:900px;
  border:1px solid #303030;color:#D1D1D1;font-size:16px;
  background:radial-gradient(84.7% 134.87% at 21.18% -30.43%,rgba(198,198,198,.10),rgba(86,86,86,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.hero-sub{font-size:22px;line-height:1.4;color:#B4B9B4;max-width:472px;margin-bottom:36px}
.prints{position:relative;margin-top:90px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);
          mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.prints-trilho{display:flex;gap:18px;width:max-content;animation:trilho 50s linear infinite}
.prints-trilho.lento{animation-duration:70s}
.print{width:220px;height:390px;flex:none;border-radius:20px}
@keyframes trilho{to{transform:translateX(calc(-50% - 9px))}}
.prova-linha{display:flex;align-items:center;justify-content:center;gap:14px;margin:40px auto 0;padding:0 24px;font-size:20px;color:#D1D1D1;text-align:center;max-width:760px}

/* ============ FITA ============ */
.fita{padding:34px 0;overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,#000,transparent);
          mask-image:linear-gradient(to right,transparent,#000,transparent)}
.fita-linha{overflow:hidden;padding:8px 0}
.fita-txt{display:flex;align-items:center;width:max-content;white-space:nowrap;animation:fita 95s linear infinite;font-size:24px;color:#C9CDC9}
.fita-txt span{padding:0 4px}
@keyframes fita{to{transform:translateX(-50%)}}

/* ============ PAINEL CLARO ============ */
.painel-claro{
  max-width:1280px;margin:40px auto 0;border-radius:30px;padding:130px 80px 120px;color:var(--ink);
  background:linear-gradient(108deg,#FFFFFF .6%,#F1F3F0 89%);
  box-shadow:0 40px 120px -40px rgba(0,0,0,.9),inset 0 1px 0 #fff;
}
.titulo-claro{font-size:60px;font-weight:500;line-height:1.1;letter-spacing:-2.4px;max-width:880px;margin:0 auto 70px;text-align:center}
.tentativas{max-width:960px;margin:0 auto}
.tent-intro{font-size:22px;text-align:center;margin-bottom:26px;color:#4a4a4a}
.tent-lista{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tent-lista li{
  display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;
  background:#fff;border:1px solid #E3E6E2;font-size:17px;font-weight:500;color:#2b2b2b;
  box-shadow:0 1px 0 #fff inset,0 14px 34px -22px rgba(0,0,0,.3);transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.tent-lista li:hover{transform:translateY(-2px);box-shadow:0 22px 40px -24px rgba(0,0,0,.35)}
.aba-fecha{display:flex;align-items:center;justify-content:center;gap:40px;max-width:900px;margin:76px auto 0}
.aba-fecha p{font-size:34px;font-weight:500;line-height:1.2;letter-spacing:-1px;color:#111;max-width:480px}
/* janela do Chrome no macOS: o cursor vai até o × e a guia fecha (loop calmo) */
.aba-vis{position:relative;width:300px;flex:none;border-radius:12px;overflow:hidden;border:1px solid #D4D7D3;background:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 30px 60px -28px rgba(0,0,0,.45),0 10px 22px -14px rgba(0,0,0,.25)}
.aba{display:flex;align-items:flex-end;gap:7px;padding:9px 12px 0;background:linear-gradient(#E9ECE8,#E1E4E0);height:40px}
.aba .sem{width:11px;height:11px;border-radius:50%;margin-bottom:12px;box-shadow:0 0 0 .5px rgba(0,0,0,.18) inset}
.sem.r{background:#FF5F57}.sem.a{background:#FEBC2E}.sem.v{background:#28C840}
.aba-guia{position:relative;display:flex;align-items:center;gap:7px;margin-left:12px;width:160px;height:31px;padding:0 10px;
  background:#fff;border-radius:9px 9px 0 0;transform-origin:20% 100%;animation:aba-fecha 6s ease-in-out infinite}
.aba-guia::before,.aba-guia::after{content:"";position:absolute;bottom:0;width:9px;height:9px;background:radial-gradient(circle at 0 0,transparent 8.5px,#fff 9px)}
.aba-guia::before{left:-9px;transform:scaleX(-1)}.aba-guia::after{right:-9px}
.aba-fav{width:12px;height:12px;border-radius:3px;background:var(--green);flex:none}
.aba-guia small{font-size:11.5px;color:#3A3D3A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.aba-guia b{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:13px;line-height:1;color:#555;font-weight:500;animation:aba-x 6s ease-in-out infinite}
.aba-url{padding:8px 12px;border-bottom:1px solid #ECEEEB;animation:aba-some 6s ease-in-out infinite}
.aba-url i{display:block;height:22px;border-radius:11px;background:#F1F3F0}
.aba-corpo{padding:16px 16px 18px;display:grid;gap:9px;animation:aba-some 6s ease-in-out infinite}
.aba-corpo i{display:block;height:8px;border-radius:4px;background:#E6E8E5}
.aba-corpo i:nth-child(2){width:80%}.aba-corpo i:nth-child(3){width:60%}
.aba-corpo em{display:block;height:26px;width:55%;border-radius:8px;background:var(--green);opacity:.35;margin-top:6px}
.aba-cursor{position:absolute;width:16px;height:16px;left:62%;top:78%;fill:#111;stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));animation:aba-cursor 6s ease-in-out infinite}
@keyframes aba-cursor{0%,12%{left:62%;top:78%;opacity:1}42%,58%{left:var(--cx,216px);top:22px;opacity:1}56%{transform:scale(.85)}58%,100%{transform:scale(1)}70%,100%{left:var(--cx,216px);top:22px;opacity:0}}
@keyframes aba-x{0%,50%{background:transparent}51%,57%{background:#D9DCD8}58%,100%{background:transparent}}
@keyframes aba-fecha{0%,57%{opacity:1;transform:none}66%,88%{opacity:0;transform:scale(.6) translateY(6px)}96%,100%{opacity:1;transform:none}}
@keyframes aba-some{0%,58%{opacity:1}68%,88%{opacity:0}96%,100%{opacity:1}}
.aba-vis .aba-cursor,.aba-vis .aba-cursor path{fill:#111 !important;stroke:#fff !important;stroke-width:1.4px !important;z-index:5;overflow:visible}
@media (prefers-reduced-motion:reduce){.aba-guia,.aba-guia b,.aba-url,.aba-corpo,.aba-cursor{animation:none}.aba-cursor{display:none}}
@media (max-width:767px){.aba-vis{width:270px;--cx:196px}.aba-guia{width:140px}}
.realidade{display:flex;align-items:center;gap:26px;max-width:900px;margin:76px auto 0;padding:34px 38px;border-radius:24px;
  background:linear-gradient(160deg,#151815,#0B0C0B);color:#E8EAE7;box-shadow:0 30px 60px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}
.realidade p{font-size:20px;line-height:1.5}
.virada{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:960px;margin:22px auto 0}
.virada-card{display:flex;flex-direction:column;gap:20px;padding:32px;border-radius:24px;background:#fff;border:1px solid #E3E6E2;font-size:18px;line-height:1.5;box-shadow:0 14px 34px -24px rgba(0,0,0,.3)}
.virada-card strong{color:#111;background:linear-gradient(transparent 62%,#20DC7740 62%)}
.virada-card.verde{background:linear-gradient(160deg,#112016,#0B0C0B);border-color:#1d3a27;color:#E4F2E8}
.ciclo{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:stretch;max-width:1080px;margin:96px auto 0}
.fluxo{position:relative;border-radius:26px;padding:38px 32px}
.fluxo h3{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.5px;margin-bottom:26px;max-width:320px}
.fluxo ol{list-style:none;display:grid;gap:12px}
.fluxo li{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:16px;font-size:16px;line-height:1.4;position:relative}
.fluxo li+li::before{content:"";position:absolute;left:34px;top:-13px;width:2px;height:13px}
.fluxo-ruim{background:#ECEEEB;color:#4a4d4a;padding-right:70px}
.fluxo-ruim h3{color:#2b2b2b}
.fluxo-ruim li{background:#fff;border:1px solid #DDE0DC}
.fluxo-ruim li+li::before{background:#C5C9C4}
.volta-seta{position:absolute;right:14px;top:110px;width:44px;height:calc(100% - 150px);color:#B2B6B1;stroke-width:2.4;stroke-dasharray:6 7}
.fluxo-bom{background:#0B0C0B;color:#E8EAE7;box-shadow:inset 0 0 27.8px rgba(41,80,39,.5),inset 0 0 117px rgba(40,80,40,.2),0 30px 60px -30px rgba(0,0,0,.6);border:3px solid rgba(89,89,89,.21)}
.fluxo-bom h3{color:#fff}
.fluxo-bom li{background:#141614;border:1px solid #243026}
.fluxo-bom li+li::before{background:linear-gradient(#20DC77,#20DC7740)}
.fluxo-bom li:last-child{border-color:#20DC7760}
.ciclo-x{align-self:center;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #DDE0DC;font-size:26px;color:#111;box-shadow:0 10px 24px -14px rgba(0,0,0,.4)}

/* ============ O MÉTODO ============ */
.metodo{overflow:visible}
.metodo-grade{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1120px;margin:80px auto 0}
.pilares{display:grid;gap:14px}
.pilar{border-radius:20px;background:linear-gradient(160deg,#121512,#0c0d0c);overflow:hidden;transition:background .5s var(--ease)}
.pilar button{all:unset;cursor:pointer;display:flex;align-items:center;gap:16px;width:100%;padding:20px 22px;box-sizing:border-box}
.pilar-nome{font-size:22px;font-weight:500;letter-spacing:-.4px;color:#9aa09a;transition:color .4s}
.pilar-lista{list-style:none;display:grid;gap:10px;max-height:0;opacity:0;overflow:hidden;padding:0 22px 0 84px;transition:max-height .7s var(--ease),opacity .5s,padding .5s}
.pilar-lista li{position:relative;font-size:17px;color:#C9CDC9;padding-left:18px}
.pilar-lista li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:2px;background:var(--green);rotate:45deg}
.pilar .barra{display:block;height:2px;margin:0 22px 0;background:rgba(255,255,255,.06);position:relative;overflow:hidden;border-radius:2px;opacity:0}
.pilar .barra::after{content:"";position:absolute;inset:0;background:var(--green);transform:scaleX(0);transform-origin:left}
.pilar.ativo{background:linear-gradient(160deg,#151a16,#0c0e0c)}
.pilar.ativo .pilar-nome{color:#fff}
.pilar.ativo .pilar-lista{max-height:260px;opacity:1;padding:2px 22px 22px 84px}
.pilar.ativo .barra{opacity:1;margin-bottom:0}
.pilar.ativo .barra::after{animation:barra 10s linear forwards}
@keyframes barra{to{transform:scaleX(1)}}
.metodo-telas{position:relative;height:600px}
.metodo-tela{position:absolute;inset:0;margin:auto;width:340px;height:600px;border-radius:36px;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.metodo-tela.ativo{opacity:1;transform:none}
.resultado{display:flex;align-items:center;justify-content:center;gap:22px;max-width:760px;margin:70px auto 0;padding:26px 34px;border-radius:24px;
  background:linear-gradient(160deg,#112016,#0B0C0B);box-shadow:inset 0 0 40px rgba(32,220,119,.08)}
.resultado p{font-size:26px;font-weight:500;letter-spacing:-.6px;color:#fff}
.resultado span{color:var(--green)}

/* ============ PROVA ============ */
.titulo-gigante{font-size:80px;font-weight:500;line-height:1.05;letter-spacing:-3.4px;max-width:1100px;margin:0 auto;text-align:center}
.preenche{
  background:linear-gradient(to right,#fff 50%,#ffffff30 50%);background-size:200% 100%;background-position-x:100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.prints-prova{margin-top:80px}
.contadores{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1040px;margin:70px auto 0}
.contadores li{display:flex;align-items:center;gap:20px;padding:26px 28px;border-radius:22px;background:linear-gradient(160deg,#121512,#0b0c0b)}
.contadores p{font-size:22px;font-weight:500;letter-spacing:-.4px;line-height:1.25}

/* ============ O QUE VOCÊ RECEBE ============ */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;max-width:1280px;margin:80px auto 0}
.card-bento{
  grid-column:span 5;display:flex;flex-direction:column;justify-content:flex-start;gap:60px;min-height:300px;padding:34px;border-radius:18px;
  border:3px solid rgba(89,89,89,.21);background:#10140F;
  box-shadow:inset 0 0 27.8px rgba(41,80,39,.5),inset 0 0 117px rgba(40,80,40,.2);
  transition:transform .5s var(--ease),opacity .5s var(--ease);
}
.card-bento.largo{grid-column:span 7}
.card-bento p{font-size:18px;line-height:1.55;color:#AEB3AE;max-width:560px}
.card-bento .t{font-size:28px;font-weight:500;letter-spacing:-.8px;color:#fff;margin-bottom:10px;line-height:1.15}
@media (hover:hover){
  .bento:hover .card-bento{opacity:.5;transform:scale(.98)}
  .bento .card-bento:hover{opacity:1;transform:scale(1.01)}
}
.titulo-bonus{font-size:44px;font-weight:500;letter-spacing:-1.6px;text-align:center;margin:140px auto 0;max-width:800px}
.bonus{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:50px}
.card-bonus{grid-column:span 2;display:flex;flex-direction:column;gap:22px;padding:28px;border-radius:18px;background:linear-gradient(160deg,#131713,#0c0d0c);border:1px solid #232723;
  transition:border-color .5s var(--ease),transform .5s var(--ease)}
.card-bonus:nth-child(4),.card-bonus:nth-child(5){grid-column:span 3}
.card-bonus:hover{border-color:#20DC7755;transform:translateY(-3px)}
.card-bonus p{font-size:16.5px;line-height:1.55;color:#AEB3AE}
.card-bonus .t{font-size:20px;font-weight:500;color:#fff;margin-bottom:6px;letter-spacing:-.3px}
.linha-apoio{max-width:780px;margin:70px auto 0;text-align:center;font-size:21px;line-height:1.55;color:#C9CDC9}

/* ============ TRANSFORMAÇÃO ============ */
.parallax{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1120px;margin:80px auto 0;padding-bottom:110px}
.par-col.desce{margin-top:60px}
.par-col{display:grid;gap:22px;align-content:start;will-change:transform}
.card-par{position:relative;overflow:hidden;padding:36px 36px 0;border-radius:20px;border:1px solid rgba(113,113,113,.45);
  background:radial-gradient(90% 60% at 20% 0%,rgba(255,255,255,.06),transparent 60%),#0b0c0b}
.card-par h3{font-size:36px;font-weight:500;letter-spacing:-1.2px;margin:24px 0 10px;color:#fff}
.card-par p{font-size:20px;line-height:1.45;color:#8f948f;max-width:420px}
.desliza{height:260px;margin-top:34px;border-radius:14px 14px 0 0;border-bottom:0;transform:translateY(var(--y,0));transition:transform .2s linear}
.perceber{max-width:1040px;margin:110px auto 0;padding:42px 46px;border-radius:24px;background:linear-gradient(160deg,#121512,#0b0c0b)}
.perceber h3{font-size:30px;font-weight:500;letter-spacing:-.8px;margin-bottom:26px;text-align:center}
.perceber ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px}
.perceber li{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:999px;background:#141614;border:1px solid #262a26;font-size:17px;color:#D1D1D1}

/* ============ COMO COMEÇA ============ */
.comeca{margin-top:0}
.comeca .titulo-claro{margin-bottom:80px}
.passos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1120px;margin:0 auto;position:relative}
.passos::before{content:"";position:absolute;top:30px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,#c9cdc8 0 8px,transparent 8px 16px)}
.passos li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.passos p{font-size:17px;line-height:1.55;color:#4a4d4a;max-width:250px}
.passos .t{font-size:21px;color:#111;margin-bottom:6px;letter-spacing:-.3px}

/* ============ OFERTA ============ */
.oferta{padding-top:110px}
.oferta-card{display:grid;grid-template-columns:1fr 1fr;max-width:1120px;margin:0 auto;border-radius:26px;box-shadow:0 50px 120px -50px rgba(0,0,0,.9)}
.oferta-esq{background:linear-gradient(160deg,#fff,#F1F3F0);color:var(--ink);border-radius:26px 0 0 26px;padding:60px 54px}
.oferta-h2{font-size:48px;font-weight:500;letter-spacing:-1.8px;line-height:1.08}
.oferta-sub{font-size:18px;font-weight:600;color:#111;margin:34px 0 18px}
.oferta-lista{list-style:none;display:grid;gap:14px}
.oferta-lista li{display:flex;align-items:center;gap:14px;font-size:17px;line-height:1.4;color:#383838}
.oferta-lista .bonus-item{margin-top:6px;padding:14px;border-radius:16px;background:#0B0C0B;color:#E8EAE7}
.oferta-dir{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:60px 44px;border-radius:0 26px 26px 0;border:1px solid rgba(113,113,113,.45);border-left:0;background:#0b0c0b;z-index:0}
.luz-palco.menor{height:420px;background:radial-gradient(60% 70% at 50% 0%,rgba(32,220,119,.18),transparent 70%)}
.preco-de{font-size:18px;color:#8f948f}
.preco-de s{color:#B4B9B4}
.preco-parcela{font-size:58px;font-weight:600;letter-spacing:-2px;line-height:1.05;margin:8px 0 6px}
.preco-vista{font-size:20px;color:#C9CDC9}
.preco-vista strong{color:var(--green)}
.ancoragem{font-size:16px;color:#8f948f;margin:16px 0 34px}
.sob-botao{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;font-size:15px;color:#B4B9B4}

/* ============ CASO DE ALUNO ============ */
.caso-grade{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:center;max-width:1160px;margin:0 auto}
.caso-img{width:100%;max-width:420px;height:680px;border-radius:30px;justify-self:center}
.caso-h2{font-size:42px;font-weight:500;line-height:1.12;letter-spacing:-1.5px;max-width:640px}
.ficha{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0 22px}
.ficha li{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:linear-gradient(160deg,#121512,#0b0c0b)}
.ficha p{font-size:16px;line-height:1.35;color:#D1D1D1}
.depo{display:flex;gap:18px;align-items:flex-start;padding:24px 26px;border-radius:20px;background:linear-gradient(160deg,#112016,#0B0C0B);margin-bottom:36px}
.depo p{font-size:18px;line-height:1.55;color:#E4F2E8;font-style:italic}

/* ============ QUEM É O FRANKLIN ============ */
.franklin{margin-top:0}
.titulo-franklin{font-size:46px;letter-spacing:-1.7px;max-width:1000px}
.franklin-grade{display:grid;grid-template-columns:5fr 7fr;gap:64px;max-width:1120px;margin:0 auto;align-items:start}
.franklin-foto{position:sticky;top:40px}
.foto{width:100%;aspect-ratio:4/5;border-radius:26px;color:#7d837d}
.franklin-nome{margin-top:18px;font-size:26px;font-weight:600;letter-spacing:-.6px;color:#111;text-align:center}
.credenciais{list-style:none;display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:46px}
.credenciais li{display:flex;align-items:center;gap:18px;padding:22px;border-radius:20px;background:#fff;border:1px solid #E3E6E2;box-shadow:0 14px 34px -24px rgba(0,0,0,.3)}
.credenciais p{font-size:17px;font-weight:500;line-height:1.35;color:#222}
.linha-tempo{list-style:none;display:grid;gap:30px;position:relative}
.linha-tempo::before{content:"";position:absolute;left:22px;top:20px;bottom:20px;width:2px;background:linear-gradient(#20DC77,#d4d8d3)}
.linha-tempo li{display:flex;gap:22px;align-items:flex-start;position:relative}
.linha-tempo p{font-size:18px;line-height:1.6;color:#383838;padding-top:8px}

/* ============ FAQ ============ */
.faq-lista{display:grid;gap:12px;max-width:880px;margin:70px auto 0}
.faq details{border-radius:20px;background:linear-gradient(160deg,#121512,#0b0c0b);transition:background .4s}
.faq details[open]{background:linear-gradient(160deg,#141a15,#0b0c0b)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;font-size:19px;font-weight:500;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary .tile{transition:transform .5s var(--ease)}
.faq details[open] summary .tile{transform:rotate(45deg)}
.faq-r{display:grid;gap:12px;padding:0 26px 26px}
.faq-r p{font-size:17px;line-height:1.6;color:#AEB3AE;text-wrap:pretty}

/* ============ RODAPÉ ============ */
.rodape{max-width:1280px;margin:0 auto;padding:40px 40px 50px;border-top:1px solid #1d201d;display:flex;align-items:center;gap:40px}
.rodape-logo{width:150px;height:44px;margin:0;flex:none}
.rodape p{font-size:12.5px;line-height:1.6;color:#6f746f;max-width:900px;text-wrap:pretty}

/* ============ TABLET / MOBILE ============ */
@media (max-width:1024px){
  .hero-in{grid-template-columns:1fr;gap:34px;text-align:center;padding:0 20px}
  .hero-col{display:flex;flex-direction:column;align-items:center}
  .chips{justify-content:center}
  .painel-claro{margin:30px 16px 0;padding:90px 30px 100px}
  .metodo-grade,.caso-grade,.franklin-grade{grid-template-columns:1fr}
  .franklin-foto{position:static;max-width:420px;margin:0 auto}
  .caso-txt{text-align:center}.chamada.esq{text-align:center}.caso-h2{margin:0 auto}
  .caso-txt .glowbox{margin:0 auto}
}
@media (max-width:767px){
  .secao{padding:100px 18px}
  .titulo,.titulo-claro{font-size:34px;letter-spacing:-1.2px;line-height:1.1}
  .titulo-claro{margin-bottom:44px}
  .chamada{font-size:16px;margin-bottom:16px}
  .apoio-bloco p{font-size:17px}
  .hero{padding:56px 0 50px}
  .feixes i{width:100px;filter:blur(18px)}
  .feixes i:nth-child(1){transform:translate(-300px,-200px) rotate(25deg)}
  .feixes i:nth-child(2){transform:translate(20px,-200px) rotate(25deg)}
  .feixes i:nth-child(3){transform:translate(-180px,-200px) rotate(25deg)}
  .feixes i:nth-child(4){transform:translate(170px,-200px) rotate(25deg)}
  .marcador-logo{width:180px;height:54px;margin-bottom:30px}
  .hero-h1{font-size:38px;letter-spacing:-1.4px;line-height:1.1}
  .chips{gap:8px;margin-bottom:22px}
  .chips li{padding:9px 14px;font-size:14px}
  .hero-sub{font-size:18px;margin-bottom:28px}
  .btn-box{gap:8px;padding:6px}
  .btn-cta{font-size:13px;letter-spacing:.3px;padding:15px 18px}
  .seta-bola{width:42px;height:42px}
  .cta-centro{margin-top:46px}
  .prints{margin-top:56px}
  .print{width:170px;height:300px}
  .prova-linha{font-size:17px;flex-direction:column;gap:12px}
  .fita-txt{font-size:19px}
  .painel-claro{padding:70px 18px 84px;border-radius:24px;margin:24px 10px 0}
  .tent-intro{font-size:18px}
  .tent-lista{grid-template-columns:1fr;gap:10px}
  .tent-lista li{padding:12px 14px;font-size:16px}
  .aba-fecha{flex-direction:column;gap:24px;margin-top:50px;text-align:center}
  .aba-fecha p{font-size:25px}
  .realidade{flex-direction:column;text-align:center;padding:26px 12px;margin-top:50px}
  .realidade p{font-size:16px;max-width:330px}
  .virada{grid-template-columns:1fr}
  .virada-card{padding:24px;font-size:17px}
  .ciclo{grid-template-columns:1fr;margin-top:60px}
  .fluxo{padding:28px 18px}
  .fluxo-ruim{padding-right:54px}
  .volta-seta{right:8px;width:36px}
  .fluxo h3{font-size:21px}
  .ciclo-x{justify-self:center}
  .metodo-grade{gap:40px;margin-top:50px}
  .pilar-nome{font-size:18px}
  .pilar button{padding:16px}
  .pilar-lista{padding:0 16px 0 16px}
  .pilar.ativo .pilar-lista{padding:2px 16px 18px 16px}
  .pilar-lista li{font-size:16px}
  .metodo-telas{height:480px}
  .metodo-tela{width:270px;height:480px;border-radius:30px}
  .resultado{flex-direction:column;text-align:center;padding:24px 18px;margin-top:50px}
  .resultado p{font-size:21px}
  .titulo-gigante{font-size:40px;letter-spacing:-1.6px}
  .prints-prova{margin-top:50px}
  .contadores{grid-template-columns:1fr;margin-top:46px}
  .contadores li{padding:20px}
  .contadores p{font-size:19px}
  .bento{grid-template-columns:1fr;margin-top:50px;gap:12px}
  .card-bento,.card-bento.largo{grid-column:auto;min-height:0;gap:30px;padding:24px 16px}
  .card-bento .t{font-size:21px}
  .card-bento p{font-size:16px}
  .titulo-bonus{font-size:30px;margin-top:90px;letter-spacing:-1px}
  .bonus{grid-template-columns:1fr;margin-top:34px;gap:12px}
  .card-bonus,.card-bonus:nth-child(4),.card-bonus:nth-child(5){grid-column:auto;padding:22px}
  .linha-apoio{font-size:18px;margin-top:50px}
  .parallax{grid-template-columns:1fr;margin-top:50px;gap:14px;padding-bottom:0}
  .par-col{gap:14px}
  .par-col.desce{margin-top:0}
  .card-par{padding:26px 22px 0}
  .card-par h3{font-size:27px;margin:18px 0 8px}
  .card-par p{font-size:17px}
  .desliza{height:190px;margin-top:24px}
  .perceber{padding:30px 16px;margin-top:70px}
  .perceber h3{font-size:24px}
  .perceber li{font-size:15.5px;width:100%}
  .passos{grid-template-columns:1fr;gap:34px}
  .passos::before{display:none}
  .oferta{padding-top:80px}
  .oferta-card{grid-template-columns:1fr}
  .oferta-esq{border-radius:24px 24px 0 0;padding:40px 22px}
  .oferta-h2{font-size:34px;letter-spacing:-1.2px;text-align:center}
  .oferta-sub{text-align:center}
  .oferta-lista li{font-size:16px}
  .oferta-dir{border-radius:0 0 24px 24px;border-left:1px solid rgba(113,113,113,.45);border-top:0;padding:44px 16px}
  .preco-parcela{font-size:44px}
  .sob-botao{font-size:13.5px;gap:8px}
  .caso-img{height:560px;max-width:320px}
  .caso-h2{font-size:28px;letter-spacing:-.8px}
  .ficha{grid-template-columns:1fr;text-align:left}
  .depo{text-align:left;padding:20px 18px}
  .depo p{font-size:16.5px}
  .titulo-franklin{font-size:26px;letter-spacing:-.9px}
  .titulo-largo{font-size:30px;letter-spacing:-1px}
  .comeca .titulo-claro{max-width:340px;font-size:31px}
  .credenciais{grid-template-columns:1fr;margin-top:30px}
  .credenciais li{padding:16px}
  .linha-tempo p{font-size:16.5px}
  .faq-lista{margin-top:44px}
  .faq summary{font-size:17px;padding:20px 18px}
  .faq-r{padding:0 18px 22px}
  .faq-r p{font-size:16px}
  .rodape{flex-direction:column;text-align:center;gap:22px;padding:36px 20px 44px}
}
@media (prefers-reduced-motion:reduce){
  .prints-trilho,.fita-txt,.glowbox-glow,.glowbox-borders{animation:none}
  .rv{opacity:1;transform:none}
}

.card-bento .t+p,.card-bonus .t+p{margin-top:-4px}
.card-bento .tile{margin-bottom:auto}
.card-bento{gap:20px}
.card-bento .tile+.t{margin-top:40px}
@media (max-width:767px){
  .cta-centro:has(.btn-longo){margin-inline:-8px}
  .glowbox:has(.btn-longo){width:100%}
  .btn-box:has(.btn-longo){padding:5px}
  .btn-longo{flex:1;text-align:center;font-size:13px;letter-spacing:-.2px;padding:16px 8px}
  .btn-box:has(.btn-longo) .seta-bola{display:none}
}

/* ============ FUNDOS DAS SEÇÕES ESCURAS (grão do body + luz de palco + feixes + vinheta) ============ */
.rodape{position:relative}
.fundo{
  position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;pointer-events:none;z-index:-1;
  background:
    radial-gradient(var(--lw,55%) var(--lh,520px) at var(--lx,50%) var(--ly,0%),rgba(32,220,119,var(--li,.13)),rgba(32,220,119,calc(var(--li,.13)*.3)) 45%,transparent 72%),
    radial-gradient(130% 90% at 50% 50%,transparent 55%,rgba(0,0,0,.6) 100%);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);
          mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);
}
.fundo i{
  position:absolute;top:-120px;left:var(--b1,20%);width:140px;height:900px;border-radius:100px;
  background:linear-gradient(to top,transparent 5%,rgba(32,220,119,var(--bi,.16)) 90%);
  filter:blur(70px);transform:rotate(var(--br,25deg));
}
.fundo i+i{left:var(--b2,70%);opacity:.7}
.f-metodo{--lx:50%;--ly:0%;--li:.16;--b1:28%;--b2:66%}
.f-prova{--lx:82%;--ly:6%;--li:.12;--lw:45%;--b1:72%;--b2:88%;--br:-20deg}
.f-recebe{--lx:15%;--ly:4%;--li:.12;--lw:50%;--b1:6%;--b2:22%}
.f-transforma{--lx:50%;--ly:30%;--li:.09;--lw:70%;--lh:700px;--b1:12%;--b2:84%;--bi:.12}
.f-oferta{--lx:62%;--ly:40%;--li:.14;--lw:45%;--b1:58%;--b2:80%;--br:-18deg}
.f-caso{--lx:22%;--ly:45%;--li:.11;--lw:40%;--b1:10%;--b2:34%}
.f-faq{--lx:50%;--ly:0%;--li:.08;--b1:40%;--b2:60%;--bi:.1}
.f-rodape{--lx:50%;--ly:100%;--li:.07;--lh:260px;--bi:0}
@media (max-width:767px){.fundo i{width:90px;filter:blur(30px)}}

/* textura sutil nos painéis claros */
.painel-claro::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:
    radial-gradient(70% 50% at 85% 0%,rgba(32,220,119,.07),transparent 70%),
    radial-gradient(1px 1px at 1px 1px,rgba(0,0,0,.07) 1px,transparent 1.5px) 0 0/22px 22px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(120% 100% at 50% 40%,#000 60%,rgba(0,0,0,.5));
          mask-image:radial-gradient(120% 100% at 50% 40%,#000 60%,rgba(0,0,0,.5));
}

/* chips do hero com ícone próprio */
.chips li{padding:7px 18px 7px 7px;gap:10px}
@media (max-width:767px){.chips li{padding:5px 14px 5px 5px}}

/* ============ HERO COM FOTO (Franklin, foto real tratada) ============ */
.hero{padding:0 0 70px}
.hero-foto{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;max-width:2200px;height:860px;z-index:0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.hero-foto img{display:block;width:100%;height:100%;object-fit:cover;object-position:78% 30%}
.hero-foto::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#0B0C0B 0%,rgba(11,12,11,.92) 28%,rgba(11,12,11,.35) 50%,rgba(11,12,11,0) 66%),
    linear-gradient(to top,#0B0C0B 0%,rgba(11,12,11,0) 32%),linear-gradient(to bottom,rgba(11,12,11,.55),rgba(11,12,11,0) 22%)}
.feixes{z-index:0}
.hero-logo{position:absolute;z-index:2;top:44px;left:max(40px,calc(50% - 600px));margin:0}
.hero-in{position:relative;z-index:1;display:block;max-width:1280px;margin:0 auto;padding:170px 40px 0;min-height:760px}
.hero-in>*{max-width:640px}
.hero-h1{max-width:660px;margin-bottom:26px}
.hero-sub{margin-bottom:26px}
.hero .glowbox{margin-top:34px}
.hero .prints{margin-top:30px}
@media (max-width:1024px){
  .hero-in{text-align:left;padding:150px 20px 0}
  .hero .chips{justify-content:flex-start}
}
@media (max-width:767px){
  .hero{padding-bottom:50px}
  .hero-foto{position:relative;left:0;transform:none;width:100%;height:auto;aspect-ratio:4/5;-webkit-mask-image:none;mask-image:none}
  .hero-foto img{object-position:50% 20%}
  .hero-foto::after{background:linear-gradient(to top,#0B0C0B 0%,rgba(11,12,11,0) 38%),linear-gradient(to bottom,rgba(11,12,11,.6),rgba(11,12,11,0) 22%)}
  .hero-logo{top:20px;left:50%;transform:translateX(-50%)}
  .hero-in{min-height:0;padding:0 18px;margin-top:-70px;text-align:center}
  .hero-in>*{margin-left:auto;margin-right:auto}
  .hero .chips{justify-content:center}
  .hero .glowbox{margin:28px auto 0}
  .hero .prints{margin-top:50px}
}

/* fotos reais tratadas */
img.foto{display:block;object-fit:cover;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.img-card{overflow:hidden;border:1px solid rgba(113,113,113,.35);border-bottom:0}
.img-card img{display:block;width:100%;height:calc(100% + 36px);margin-top:-18px;object-fit:cover}

/* foto do hero some por máscara (não por cor), para o grão do fundo continuar por cima da emenda */
.hero-foto{
  -webkit-mask-image:linear-gradient(90deg,transparent 18%,#000 60%,#000 96%,transparent),linear-gradient(to bottom,#000 62%,transparent 98%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 18%,#000 60%,#000 96%,transparent),linear-gradient(to bottom,#000 62%,transparent 98%);
  mask-composite:intersect;
}
.hero-foto::after{background:linear-gradient(90deg,rgba(11,12,11,.55),rgba(11,12,11,0) 55%),linear-gradient(to bottom,rgba(11,12,11,.5),rgba(11,12,11,0) 22%)}
@media (max-width:767px){
  .hero-foto{-webkit-mask-image:linear-gradient(to bottom,#000 58%,transparent 98%);mask-image:linear-gradient(to bottom,#000 58%,transparent 98%)}
  .hero-foto::after{background:linear-gradient(to bottom,rgba(11,12,11,.55),rgba(11,12,11,0) 22%)}
}

/* logo oficial (preto removido, brilho mantido no alfa) */
img.logo{display:block;height:auto}
.hero-logo.logo{width:150px;top:34px}
.hero-in{padding-top:200px}
.rodape-logo.logo{width:96px;height:auto}
@media (max-width:1024px){.hero-in{padding-top:190px}}
@media (max-width:767px){
  .hero-logo.logo{width:112px;top:16px}
  .hero-in{padding-top:0}
  .rodape-logo.logo{width:88px}
}

/* prints reais dos alunos: mesma altura, largura do próprio print (sem cortar conteúdo) */
img.print{display:block;width:auto;height:390px;flex:none;border-radius:18px;border:1px solid rgba(255,255,255,.08);
  background:#111311;box-shadow:0 24px 50px -28px rgba(0,0,0,.9)}
.prints-prova img.print{height:440px}
.caso-img{height:auto;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px -40px rgba(0,0,0,.9);max-width:400px}
.caso-img img{display:block;width:100%;height:auto}
@media (max-width:767px){
  img.print{height:300px}
  .prints-prova img.print{height:340px}
  .caso-img{max-width:320px;height:auto}
}

/* oferta: logo e selo de pagamento (modelo LP Adriano, cores da página) */
.oferta-logo.logo{width:132px;margin:0 auto 22px}
.pag-seguro{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:rgba(232,234,231,.82);margin-bottom:14px}
.pag-seguro svg{width:17px;height:17px;stroke:var(--green);stroke-width:2;fill:none}
.pag-cartoes{display:block;width:100%;max-width:220px;height:auto;margin:22px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);opacity:.9}
.oferta-dir .ancoragem{margin-bottom:22px}
@media (max-width:767px){.oferta-logo.logo{width:112px}}

/* hero: grão absoluto (sem emenda na altura da tela) e foto mais à direita */
body{position:relative}
body::before{position:absolute;inset:0}
@media (min-width:768px){.hero-foto img{object-position:58% 30%}}
@media (min-width:768px){.hero .hero-h1{max-width:640px;font-size:60px}}
@media (max-width:767px){
  .sob-botao{gap:6px;font-size:13px;white-space:nowrap}
  .sob-botao .tile{--s:24px}
  .sob-botao .tile:last-child{display:none}
}



/* hero mobile: faixa de topo para a logo (degradê verde quase preto) e headline em 4-5 linhas */
@media (max-width:767px){
  .hero{padding-top:84px}
  .hero::after{content:"";position:absolute;left:0;right:0;top:0;height:150px;z-index:1;pointer-events:none;
    background:linear-gradient(to bottom,#06160d 0%,rgba(6,22,13,.85) 38%,rgba(6,22,13,0) 100%)}
  .hero-foto{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 58%,transparent 98%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 58%,transparent 98%)}
  .hero-logo.logo{top:8px;width:100px}
  .hero-in{padding:0 14px}
  .hero .hero-h1{max-width:362px;font-size:33px;letter-spacing:-1.1px;line-height:1.1}
}

/* curva de virada (modelo MVM): aba escura que desce da borda de cima do painel claro, com chevron verde */
.aba-virada{position:absolute;top:-1px;left:50%;width:240px;height:64px;transform:translateX(-50%);z-index:2;overflow:visible}
.aba-forma{fill:#101010;stroke:none}
.aba-seta{fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:767px){.aba-virada{width:180px;height:48px}}

/* fita (modelo MVM): uma linha, caixa alta, fina, ícone verde antes de cada item */
.fita{padding:26px 0}
.fita-txt{font-size:22px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#C9CDC9}
.fita-txt span{padding:0}
.fita-ic{display:inline-grid;place-items:center;width:22px;height:22px;margin:0 14px 0 34px;color:var(--green)}
.fita-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.fita-ic .cheio{fill:currentColor;stroke:none}
@media (max-width:767px){.fita-txt{font-size:17px}.fita-ic{width:18px;height:18px;margin:0 10px 0 24px}.fita-ic svg{width:18px;height:18px}}

/* curva sem costura: a aba sobe 6px por cima da borda do painel e o painel perde o filete branco do topo */
.painel-claro{box-shadow:0 40px 120px -40px rgba(0,0,0,.9)}
.aba-virada{top:-7px;height:70px;shape-rendering:geometricPrecision}
@media (max-width:767px){.aba-virada{height:52px;top:-6px}}

/* Método: pilares + palco do celular centralizados, celular grande cortado embaixo */
.metodo-grade{grid-template-columns:minmax(0,540px) 400px;justify-content:center;gap:48px}
@media (max-width:1024px){.metodo-grade{grid-template-columns:1fr;justify-items:center}.pilares{width:100%}}

/* desempenho: loop pausado fora da tela; brilho do botão sem blur animado */
.pausado,.pausado *{animation-play-state:paused!important}
.glowbox-anim{display:none}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* hero mobile: logo direto na foto (sem faixa), texto começa sobre a base da foto, na altura do notebook */
@media (max-width:767px){
  .hero{padding-top:0}
  .hero::after{content:none}
  .hero-foto{-webkit-mask-image:none;mask-image:none}
  .hero-foto::after{background:linear-gradient(to top,#0B0C0B 0%,rgba(11,12,11,.92) 16%,rgba(11,12,11,.55) 32%,rgba(11,12,11,0) 48%)}
  .hero-logo.logo{top:14px;width:100px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
  .hero-in{margin-top:-44vw}
}
@media (max-width:767px){
  .hero-foto{margin-top:60px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 80px);mask-image:linear-gradient(to bottom,transparent 0,#000 80px)}
  .hero-logo.logo{top:12px;width:96px}
}

/* hero mobile com a foto estendida para cima (outpaint): logo no espaço livre acima da cabeça */
@media (max-width:767px){
  .hero-foto{margin-top:0;aspect-ratio:2/3;-webkit-mask-image:none;mask-image:none}
  .hero-foto img{object-position:50% 0}
  .hero-logo.logo{top:20px;width:104px}
  .hero-in{margin-top:-58vw}
}
@media (max-width:767px){
  .hero-foto{-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
  .hero-foto::after{background:linear-gradient(to top,rgba(11,12,11,.96) 0%,rgba(11,12,11,.85) 18%,rgba(11,12,11,.5) 34%,rgba(11,12,11,0) 50%)}
  .hero-in{margin-top:-50vw}
}
