:root{
  --noite:#050B16;
  --navy:#0F2238;
  --navy-2:#17304F;
  --coral:#C76C6C;
  --ouro:#C9A24A;
  /* escurecidos pra passar no contraste mínimo (4,5:1) sobre marfim, areia e superfície */
  --ouro-velho:#735A19;
  --ouro-claro:#E5CE94;
  --marfim:#FBF6F0;
  --areia:#E8DDD0;
  --superficie:#FFFCF7;

  --texto:#0F2238;
  --texto-suave:#2A3A52;
  --texto-mudo:#575F6C;
  --claro:#FBF6F0;

  --linha:rgba(15,34,56,.12);
  --linha-2:rgba(15,34,56,.22);
  --linha-esc:rgba(251,246,240,.16);
  --zap:#25D366;

  --f:'Inter',-apple-system,'Segoe UI',sans-serif;
  --fs:'Fraunces',Georgia,serif;
  --max:1280px;
  --gut:clamp(22px,4.6vw,64px);
  --r:8px;
  --sh:0 8px 24px rgba(15,34,56,.10);
  --ease:cubic-bezier(.2,.75,.25,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--marfim);color:var(--texto);font-family:var(--f);font-size:17px;line-height:1.62;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--ouro);color:var(--noite)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);position:relative;z-index:2}
.sec{padding:clamp(84px,10.5vw,148px) 0;position:relative}
.dark{background:var(--navy);color:var(--claro)}
.noite{background:var(--noite);color:var(--claro)}
.areia{background:var(--areia)}

/* ================= movimento ================= */
/* barra de progresso da rolagem */
.progresso{position:fixed;top:0;left:0;height:2px;width:0;background:var(--ouro);z-index:95;transition:width .1s linear}

/* revelação de blocos */
[data-anim]{opacity:0;transition:opacity .85s var(--ease),transform .85s var(--ease)}
[data-anim="up"]{transform:translateY(30px)}
[data-anim="left"]{transform:translateX(-28px)}
[data-anim="right"]{transform:translateX(28px)}
[data-anim="scale"]{transform:scale(.965)}
[data-anim].vis{opacity:1;transform:none}

/* revelação palavra a palavra dos títulos */
.split .p{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .05em .14em;margin:0 -.05em -.14em}
.split .p i{
  display:inline-block;font-style:inherit;font-weight:inherit;color:inherit;
  transform:translateY(108%);opacity:0;
  transition:transform .9s var(--ease),opacity .7s var(--ease);
}
.split.vis .p i{transform:none;opacity:1}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-anim],[data-anim].vis{opacity:1;transform:none;transition:none}
  .split .p i{transform:none;opacity:1;transition:none}
}

/* ================= tipografia ================= */
.tag{display:flex;align-items:center;gap:14px;font-family:var(--f);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-velho);margin-bottom:26px}
.tag::after{content:"";flex:1;max-width:0;height:1px;background:currentColor;opacity:.45;transition:max-width 1.1s var(--ease) .25s}
.tag.vis::after{max-width:64px}
.dark .tag,.noite .tag{color:var(--ouro-claro)}

h1,h2,h3{font-family:var(--fs);font-weight:600;letter-spacing:-.018em;line-height:1.06}
h2{font-size:clamp(31px,4.3vw,53px)}
h3{font-size:clamp(19px,1.85vw,23px);line-height:1.24}
em.d{font-style:italic;font-weight:500;color:var(--ouro-velho)}
.dark em.d,.noite em.d{color:var(--ouro-claro)}
.lead{font-family:var(--f);font-size:clamp(16px,1.25vw,18px);line-height:1.72;color:var(--texto-suave);max-width:52ch}
.dark .lead,.noite .lead{color:rgba(251,246,240,.8)}
.head{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,5vw,80px);align-items:end;margin-bottom:clamp(48px,6vw,80px)}
.head h2{max-width:15ch}

/* ================= botões ================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--f);font-size:14.5px;font-weight:700;
  padding:18px 30px;border-radius:4px;border:1.5px solid transparent;
  cursor:pointer;transition:.3s var(--ease);text-align:center;position:relative;overflow:hidden;
}
.btn svg{width:16px;height:16px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.b-ouro{background:var(--ouro);color:var(--noite)}
.b-ouro:hover{background:var(--ouro-claro);transform:translateY(-2px);box-shadow:0 12px 30px rgba(201,162,74,.32)}
.b-out{border-color:var(--linha-2);color:var(--texto)}
.b-out:hover{border-color:var(--navy);background:rgba(15,34,56,.05)}
.dark .b-out,.noite .b-out{border-color:var(--linha-esc);color:var(--claro)}
.dark .b-out:hover,.noite .b-out:hover{border-color:var(--ouro-claro);background:rgba(251,246,240,.08)}
.link-sec{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;color:var(--ouro-claro);position:relative;padding-bottom:5px}
.link-sec::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;opacity:.4;transform-origin:left;transition:transform .45s var(--ease),opacity .3s}
.link-sec:hover::after{opacity:1;transform:scaleX(1.06)}
.link-sec span{transition:transform .35s var(--ease)}
.link-sec:hover span{transform:translateX(5px)}

/* botão "ler mais" */
.mais-btn{
  display:inline-flex;align-items:center;gap:10px;margin-top:22px;
  font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ouro-velho);
  transition:gap .3s var(--ease),color .2s;
}
.noite .mais-btn,.dark .mais-btn{color:var(--ouro-claro)}
.mais-btn:hover{gap:15px}
.mais-btn i{
  font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border:1px solid currentColor;border-radius:50%;
  font-size:15px;line-height:0;transition:transform .35s var(--ease);
}
.mais-btn.aberto i{transform:rotate(45deg)}
.mais{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.mais.aberto{grid-template-rows:1fr}
.mais > .mais-in{overflow:hidden}

/* ================= nav ================= */
.nav{position:fixed;top:0;left:0;right:0;z-index:90;padding:14px 0;transition:.32s var(--ease);border-bottom:1px solid transparent}
.nav.s{background:rgba(5,11,22,.94);backdrop-filter:blur(14px);border-bottom-color:var(--linha-esc);padding:8px 0}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 var(--gut);display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo img{height:74px;width:auto;transition:height .32s var(--ease)}
.nav.s .nav-logo img{height:52px}
.nav-l{display:flex;gap:26px;align-items:center}
.nav-l a{font-size:13.5px;font-weight:500;color:rgba(251,246,240,.78);padding:6px 0;position:relative;transition:color .2s}
.nav-l a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:var(--ouro);transform:scaleX(0);transform-origin:right;transition:transform .38s var(--ease)}
.nav-l a:hover{color:var(--claro)}
.nav-l a:hover::after{transform:scaleX(1);transform-origin:left}
.nav .btn{padding:12px 22px;font-size:13.5px}
.burger{display:none;padding:8px;flex-direction:column;gap:5px}
.burger span{display:block;width:24px;height:2px;background:var(--marfim);transition:.3s var(--ease)}
.burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:89;background:var(--noite);display:flex;flex-direction:column;justify-content:center;padding:0 var(--gut);opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.drawer.open{opacity:1;pointer-events:auto}
.drawer a{font-family:var(--fs);font-weight:600;font-size:clamp(26px,6.5vw,38px);letter-spacing:-.02em;color:var(--marfim);padding:13px 0;border-bottom:1px solid var(--linha-esc);opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.drawer.open a{opacity:1;transform:none}
.drawer .btn{margin-top:28px;font-size:15px;font-family:var(--f)}

/* ================= hero ================= */
/* o topo precisa de folga real abaixo do menu fixo, que tem ~102px de altura */
.hero{background:var(--noite);color:var(--claro);position:relative;overflow:hidden;padding:clamp(146px,19vh,208px) 0 clamp(38px,4.6vw,62px)}
.hero .tag{margin-bottom:32px}
.hero-cenario{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-cenario img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero-cenario::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(100deg,var(--noite) 4%,rgba(5,11,22,.84) 26%,rgba(5,11,22,.42) 50%,rgba(5,11,22,.08) 76%),
    linear-gradient(to bottom,rgba(5,11,22,.8) 0%,transparent 24%,transparent 64%,var(--noite) 100%);
}
.hero::before{content:"";position:absolute;top:-10%;right:-10%;width:900px;height:700px;background:radial-gradient(ellipse,rgba(201,162,74,.12),transparent 66%);pointer-events:none;z-index:1}
.hero-foto{
  position:absolute;right:0;bottom:0;z-index:1;pointer-events:none;
  /* o vh amarra a foto na altura da tela: ela nunca passa da dobra */
  width:min(52vw,860px,118vh);height:auto;
  /* fade curto só pra emendar na borda da seção */
  -webkit-mask-image:linear-gradient(to top,transparent 0,#000 5%);
  mask-image:linear-gradient(to top,transparent 0,#000 5%);
  opacity:0;transform:translateY(34px);
  transition:opacity 1.1s var(--ease) .15s,transform 1.1s var(--ease) .15s;
  will-change:transform;
}
.hero-foto.vis{opacity:1;transform:translateY(var(--par,0px))}
/* o topo usa um container mais largo que o resto do site, como no modelo */
.hero > .wrap{max-width:1460px}
.hero-txt{max-width:min(660px,47%)}
.hero h1{font-size:clamp(34px,4.4vw,68px);font-weight:600;line-height:1.06;letter-spacing:-.025em}
.hero-sub{margin-top:24px;font-size:clamp(15.5px,1.24vw,18px);line-height:1.62;color:rgba(251,246,240,.82);max-width:46ch}
/* divisor dourado com losango, fechando o topo */
.divisor{position:relative;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,74,.5) 18%,rgba(201,162,74,.5) 82%,transparent)}
.divisor::after{
  content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;
  transform:translate(-50%,-50%) rotate(45deg);background:var(--ouro);
  box-shadow:0 0 16px 4px rgba(201,162,74,.5);
}

/* os benefícios saíram do topo pra faixa logo abaixo do hero */
.beneficios{background:var(--noite);padding:clamp(54px,6vw,84px) 0}
.ben-titulo{
  font-family:var(--fs);font-weight:600;text-align:center;color:var(--claro);
  font-size:clamp(24px,2.9vw,38px);letter-spacing:-.02em;margin-bottom:clamp(32px,3.6vw,50px);
}
.ben-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,2.8vw,44px)}
.ben-grid li{position:relative;border-top:1px solid var(--linha-esc);padding-top:clamp(17px,1.9vw,24px);font-size:15px;line-height:1.58;color:rgba(251,246,240,.82)}
.ben-grid li::before{content:"";position:absolute;left:0;top:-1px;width:36px;height:2px;background:var(--ouro);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.ben-grid li.vis::before{transform:scaleX(1)}
.hero-act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
.confianca{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:38px;padding-top:22px;border-top:1px solid rgba(201,162,74,.32)}
.confianca span{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ouro-claro);white-space:nowrap}
/* marcador padrão: bolinha dourada, seguro em qualquer quebra de linha */
.confianca span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ouro);flex:none}
.confianca{gap:10px 22px}
/* só na tela larga, onde os três cabem numa linha, entram as barras do modelo */
@media (min-width:1401px){
  .confianca{gap:0}
  .confianca span::before{display:none}
  .confianca span+span{margin-left:16px;padding-left:16px;border-left:1px solid rgba(201,162,74,.42)}
}
/* o botão dourado ganha o brilho suave do modelo */
.hero-act .b-ouro{box-shadow:0 12px 44px rgba(201,162,74,.34)}
.hero-act .b-ouro:hover{box-shadow:0 16px 54px rgba(201,162,74,.46)}

/* ================= como funciona a avaliação ================= */
.passos-av{list-style:none;counter-reset:av;margin-top:clamp(28px,3vw,38px);display:flex;flex-direction:column;gap:clamp(16px,1.8vw,22px)}
.passos-av li{counter-increment:av;position:relative;padding-left:clamp(44px,4vw,54px)}
.passos-av li::before{
  content:counter(av);position:absolute;left:0;top:-2px;
  width:clamp(30px,2.8vw,34px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(201,162,74,.5);color:var(--ouro-claro);
  font-family:var(--f);font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.passos-av b{display:block;font-family:var(--f);font-size:16px;font-weight:600;color:var(--claro)}
.passos-av span{display:block;margin-top:5px;font-size:14.5px;line-height:1.55;color:rgba(251,246,240,.7)}

/* ================= pra quem é / pra quem não é ================= */
.filtro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,32px)}
.painel{padding:clamp(28px,3.2vw,44px);border-radius:var(--r)}
.painel.sim{background:var(--navy);color:var(--claro)}
.painel.nao{background:var(--superficie);border:1px solid var(--linha)}
.painel h3{margin-bottom:26px;font-size:clamp(20px,2.1vw,26px)}
.painel.sim h3{color:var(--claro)}
.painel ul{list-style:none;display:flex;flex-direction:column;gap:15px}
.painel li{font-size:15.5px;line-height:1.6;padding-left:32px;position:relative}
.painel.sim li{color:rgba(251,246,240,.86)}
.painel.nao li{color:var(--texto-suave)}
.painel li::before{position:absolute;left:0;top:0;font-weight:700;font-size:15px}
.painel.sim li::before{content:"✓";color:var(--ouro-claro)}
.painel.nao li::before{content:"✕";color:var(--coral)}

/* ================= o que acontece nos 60 dias ================= */
.dias{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linha);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.dia{background:var(--marfim);padding:clamp(26px,3vw,38px) clamp(18px,2.2vw,30px);transition:background .4s var(--ease)}
.dia:hover{background:var(--superficie)}
.dia b{display:block;font-family:var(--f);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-velho);margin-bottom:16px}
.dia h3{font-size:clamp(18px,1.8vw,22px);margin-bottom:10px}
.dia p{font-size:14.5px;line-height:1.6;color:var(--texto-suave)}

/* ================= FAQ ================= */
.faq{max-width:920px;border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  list-style:none;cursor:pointer;padding:clamp(22px,2.6vw,30px) 52px clamp(22px,2.6vw,30px) 0;
  font-family:var(--fs);font-size:clamp(17px,1.8vw,22px);font-weight:600;
  position:relative;line-height:1.35;transition:color .25s var(--ease);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--ouro-velho)}
.faq summary::after{
  content:"";position:absolute;right:10px;top:50%;width:13px;height:13px;
  border-right:2px solid var(--ouro-velho);border-bottom:2px solid var(--ouro-velho);
  transform:translateY(-70%) rotate(45deg);transition:transform .35s var(--ease);
}
.faq details[open] summary::after{transform:translateY(-20%) rotate(-135deg)}
.faq-resp{padding:0 60px 28px 0;font-size:16px;line-height:1.72;color:var(--texto-suave)}
.faq-resp p+p{margin-top:14px}

/* ================= faixa dos cursos na home ================= */
.faixa-cursos{background:var(--areia);padding:clamp(44px,5vw,68px) 0}
.faixa-cursos-in{display:grid;grid-template-columns:1fr auto;gap:clamp(22px,4vw,56px);align-items:center}
.faixa-cursos h2{font-size:clamp(24px,2.8vw,36px);margin-top:4px}
.faixa-cursos p{margin-top:10px;font-size:15.5px;color:var(--texto-suave);max-width:52ch}
.faixa-cursos .tag{margin-bottom:14px}

/* ================= topo de página interna ================= */
.pagina-topo{background:var(--noite);color:var(--claro);padding:clamp(128px,17vh,190px) 0 clamp(52px,6vw,84px);position:relative;overflow:hidden}
.pagina-topo::before{content:"";position:absolute;top:-30%;right:-10%;width:820px;height:640px;background:radial-gradient(ellipse,rgba(201,162,74,.14),transparent 66%);pointer-events:none}
.pagina-topo .wrap{position:relative;z-index:2}
.pagina-topo h1{font-size:clamp(32px,4.2vw,58px);font-weight:600;line-height:1.06;letter-spacing:-.025em;max-width:16ch}
.pagina-sub{margin-top:24px;font-size:clamp(16px,1.24vw,18px);line-height:1.68;color:rgba(251,246,240,.82);max-width:58ch}
.pagina-sub a{color:var(--ouro-claro);border-bottom:1px solid rgba(229,206,148,.45)}
.pagina-sub a:hover{border-bottom-color:var(--ouro-claro)}
/* o topo já respira: a seção logo abaixo não precisa repetir o respiro */
.pagina-topo + .sec{padding-top:clamp(18px,2.4vw,34px)}

/* ================= sobre ================= */
.sobre-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,80px);align-items:start}
.sobre-txt p+p{margin-top:19px}
.pilares{display:grid;gap:12px}
.sobre-foto{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;position:relative}
.sobre-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transition:transform 1.3s var(--ease)}
.sobre-foto:hover img{transform:scale(1.045)}
.sobre-foto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ouro)}
/* sem cartão: filete dourado à esquerda e linha fina separando */
.pilar{padding:clamp(18px,2vw,24px) 0 clamp(18px,2vw,24px) clamp(18px,1.8vw,24px);transition:.4s var(--ease);position:relative;border-bottom:1px solid var(--linha)}
.pilar:last-child{border-bottom:0}
.pilar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ouro);transform:scaleY(.18);transform-origin:top;transition:transform .5s var(--ease)}
.pilar:hover{transform:translateX(6px)}
.pilar:hover::before{transform:scaleY(1)}
.pilar b{display:block;font-family:var(--fs);font-weight:600;font-size:19px;color:var(--navy);margin-bottom:7px;letter-spacing:-.01em}
.pilar span{font-size:14.5px;line-height:1.58;color:var(--texto-suave)}

/* ================= sócios ================= */
.socios{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.socio{background:var(--navy);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.45s var(--ease)}
.socio:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.42)}
.socio-foto{aspect-ratio:1/1;background:var(--noite);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.socio-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;position:relative;z-index:2;transition:transform 1.1s var(--ease)}
.socio:hover .socio-foto img{transform:scale(1.035)}
.socio-foto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ouro);z-index:3}
.socio-in{padding:clamp(26px,2.9vw,38px);display:flex;flex-direction:column;flex:1}
.socio-in h3{color:var(--claro);font-size:clamp(21px,2.2vw,27px)}
.socio-in .papel{font-family:var(--f);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-claro);margin:11px 0 24px}
.socio-in ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.socio-in li{font-size:14.5px;color:rgba(251,246,240,.84);padding-left:20px;position:relative;line-height:1.5}
.socio-in li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1.5px;background:var(--ouro)}
.socio-frase{margin-top:auto;padding-top:26px;font-family:var(--fs);font-style:italic;font-size:clamp(16px,1.6vw,19px);line-height:1.45;color:var(--ouro-claro)}
.socio-frase::before{content:"";display:block;width:34px;height:1px;background:var(--ouro);margin-bottom:18px}

/* ================= serviços ================= */
.servs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.7vw,22px);align-items:stretch}
.serv{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--r);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;transition:.45s var(--ease);position:relative}
.serv:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(15,34,56,.13);border-color:var(--ouro)}
.serv-ico{
  width:clamp(60px,5.2vw,72px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(160,127,46,.4);color:var(--ouro-velho);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:clamp(24px,2.6vw,32px);flex:none;
  transition:.5s var(--ease);
}
.serv-ico svg{width:46%;height:46%;display:block}
.serv:hover .serv-ico{border-color:var(--ouro);background:rgba(201,162,74,.1);color:var(--ouro)}
.serv h3{margin-bottom:15px}
.serv p{font-size:15px;line-height:1.65;color:var(--texto-suave)}
.serv .pra-quem{margin-top:auto;padding-top:20px;border-top:1px solid var(--linha);font-size:14.5px;line-height:1.55;color:var(--texto)}
.serv .pra-quem b{font-weight:600}
.serv .btn{margin-top:26px;width:100%}

/* ================= método ================= */
.metodo-fundo{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.metodo-fundo img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.metodo-fundo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,var(--noite) 1%,rgba(5,11,22,.4) 16%,rgba(5,11,22,.18) 50%,rgba(5,11,22,.45) 100%);
}
/* cada etapa é um card que vira no hover e revela o texto */
.star-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.8vw,26px);margin-top:clamp(44px,5vw,66px)}
.star-1{position:relative;perspective:1200px;min-height:clamp(252px,25vw,312px);cursor:pointer;outline:none}
.star-face{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s var(--ease)}
.star-frente,.star-verso{
  position:absolute;inset:0;overflow:hidden;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  border:1px solid var(--linha-esc);border-radius:var(--r);
  padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;
  /* card sólido: transparente demais deixava os feixes do fundo passarem por dentro */
  background:#0B1B2F;
}
.star-frente{box-shadow:inset 0 1px 0 rgba(251,246,240,.06)}
.star-1:hover .star-frente,.star-1:hover .star-verso{border-color:rgba(201,162,74,.45)}
.star-frente{justify-content:center;align-items:flex-start}
/* especificidade maior de propósito: a regra .star-1 b vem depois no arquivo */
.star-face .star-frente b{font-size:clamp(74px,8.4vw,124px);line-height:.78;color:var(--ouro-claro)}
.star-face .star-frente i{margin:24px 0 0;font-size:12px;color:rgba(251,246,240,.72)}
.star-verso{transform:rotateY(180deg);justify-content:center;background:var(--navy);border-color:rgba(201,162,74,.45)}
.star-verso .letrinha{display:block;font-family:var(--fs);font-weight:600;font-size:clamp(22px,2.2vw,28px);color:var(--ouro);line-height:1;margin-bottom:14px}

/* o giro só onde existe mouse de verdade */
@media (hover:hover) and (min-width:821px){
  .star-1:hover .star-face,.star-1:focus-visible .star-face{transform:rotateY(180deg)}
  .star-1:focus-visible .star-frente{border-color:var(--ouro)}
}
/* no toque não existe hover: o card vira um bloco normal, com letra e texto juntos */
@media (hover:none),(max-width:820px){
  .star-1{position:static;perspective:none;min-height:0;cursor:default}
  .star-face{position:static;transform:none;transform-style:flat;transition:none}
  .star-frente,.star-verso{
    position:static;transform:none;border:0;border-radius:0;padding:0;background:none;
    -webkit-backface-visibility:visible;backface-visibility:visible;
  }
  .star-frente{border-top:1px solid var(--linha-esc);padding-top:clamp(18px,2.2vw,24px)}
  .star-verso{margin-top:12px}
  .star-verso .letrinha{display:none}
}
@media (prefers-reduced-motion:reduce){ .star-face{transition:none} }
.star-1 b{display:block;font-family:var(--fs);font-weight:600;font-size:clamp(40px,4.6vw,62px);color:var(--ouro);line-height:.9;letter-spacing:-.03em}
.star-1 i{display:block;font-style:normal;font-family:var(--f);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,246,240,.55);margin:18px 0 13px}
.star-1 p{font-size:14.5px;line-height:1.58;color:rgba(251,246,240,.84)}

/* ================= resultados ================= */
/* --- painel de resultados --- */
.painel-wrap{position:relative;margin:0 auto clamp(56px,6.5vw,88px);max-width:940px}
.painel-wrap::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(112%,1400px);height:130%;pointer-events:none;
  background:radial-gradient(ellipse,rgba(201,162,74,.2),transparent 66%);
}
.painel{
  position:relative;background:var(--navy);border-radius:12px 12px 0 0;overflow:hidden;
  border:1px solid rgba(201,162,74,.26);border-bottom:0;
}
.painel-topo{
  display:flex;align-items:center;gap:14px;padding:14px 20px;
  border-bottom:1px solid var(--linha-esc);background:rgba(5,11,22,.5);
}
.painel-bolas{display:flex;gap:7px;flex:none}
.painel-bolas i{width:10px;height:10px;border-radius:50%;background:rgba(251,246,240,.22)}
.painel-bolas i:first-child{background:rgba(201,162,74,.6)}
.painel-topo span{
  font-family:var(--f);font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(251,246,240,.5);
}
.painel-corpo{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(26px,3.4vw,52px);padding:clamp(26px,3.4vw,46px)}
.painel-nums{display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,2.4vw,30px)}
.pn{border-left:2px solid var(--ouro);padding-left:clamp(16px,1.6vw,22px)}
.pn b{
  display:block;font-family:var(--f);font-weight:700;letter-spacing:-.04em;line-height:1;
  font-size:clamp(30px,3.8vw,50px);color:var(--ouro-claro);font-variant-numeric:tabular-nums;
}
.pn small{display:block;margin-top:11px;font-size:13.5px;color:rgba(251,246,240,.66)}

/* base do notebook: a tela vira máquina de verdade */
.laptop-base{
  /* o transbordo da base nunca pode passar da margem lateral da seção */
  position:relative;height:clamp(12px,1.2vw,17px);
  width:calc(100% + clamp(10px,4vw,64px));
  margin-left:calc(clamp(10px,4vw,64px) / -2);
  background:linear-gradient(180deg,#1B2C45 0%,#0A1424 100%);
  border-radius:0 0 14px 14px;
  box-shadow:0 26px 46px rgba(5,11,22,.5);
}
.laptop-base::after{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:clamp(70px,8vw,110px);height:5px;border-radius:0 0 7px 7px;
  background:rgba(251,246,240,.16);
}
/* chips que escapam da tela */
.chip{
  position:absolute;z-index:3;background:var(--marfim);color:var(--texto);
  border-radius:8px;padding:clamp(14px,1.5vw,20px) clamp(18px,1.9vw,26px);
  box-shadow:0 18px 40px rgba(5,11,22,.45);border:1px solid rgba(201,162,74,.5);
  transition:transform .6s var(--ease),opacity .6s var(--ease);
}
.chip b{display:block;font-family:var(--f);font-weight:700;font-size:clamp(20px,2.1vw,28px);letter-spacing:-.03em;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.chip small{display:block;margin-top:7px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-mudo)}
.chip-a{left:clamp(-14px,-1.6vw,0px);bottom:clamp(-18px,-2vw,-10px)}
.chip-b{right:clamp(-14px,-1.6vw,0px);top:clamp(-26px,-2.4vw,-16px)}
.painel-wrap [data-anim="chip"]{opacity:0;transform:translateY(18px) scale(.94)}
.painel-wrap [data-anim="chip"].vis{opacity:1;transform:none}
.painel-graf{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.painel-graf figcaption{
  font-family:var(--f);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(251,246,240,.45);margin-bottom:18px;
}
/* o gráfico inteiro sobe enquanto a curva é desenhada */
.painel-graf svg{width:100%;height:auto;display:block;overflow:visible;
  transform:translateY(14px);opacity:.35;
  transition:transform 1.3s var(--ease) .1s,opacity 1s ease .1s}
.painel-wrap.vis .painel-graf svg{transform:none;opacity:1}
/* o ponto final fica pulsando de leve depois que a curva chega */
.ponta .halo{transform-box:fill-box;transform-origin:center;animation:halo 2.6s ease-in-out infinite 2.4s}
@keyframes halo{0%,100%{opacity:.2;transform:scale(1)}50%{opacity:.42;transform:scale(1.35)}}
.linha-curva{
  stroke:var(--ouro);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:520;stroke-dashoffset:520;transition:stroke-dashoffset 2.2s var(--ease) .25s;
}
.painel-wrap.vis .linha-curva{stroke-dashoffset:0}
.ponta{opacity:0;transition:opacity .5s ease 2s}
.painel-wrap.vis .ponta{opacity:1}
.painel-graf .grade{stroke:rgba(251,246,240,.1);stroke-width:1}
.painel-graf .rot{font-family:var(--f);font-size:11px;fill:rgba(251,246,240,.4);letter-spacing:.06em}
@media (prefers-reduced-motion:reduce){
  .linha-curva{stroke-dashoffset:0;transition:none}
  .ponta{opacity:1;transition:none}
  .ponta .halo{animation:none}
  .painel-graf svg{transform:none;opacity:1;transition:none}
}
/* --- linha do tempo dos clientes --- */
.lt-wrap{position:relative;max-width:1040px;margin:0 auto;padding:6px 0}
.lt-wrap::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--linha)}
.lt-luz{position:absolute;left:50%;top:0;width:2px;margin-left:-1px;height:0;background:linear-gradient(to bottom,rgba(201,162,74,0),var(--ouro));will-change:height;z-index:1}
.lt-luz::after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);width:11px;height:11px;border-radius:50%;background:var(--ouro);box-shadow:0 0 0 6px rgba(201,162,74,.2),0 0 26px 7px rgba(201,162,74,.55)}
.lt{list-style:none;position:relative;z-index:2}
.lt-item{display:grid;grid-template-columns:1fr clamp(78px,8vw,108px) 1fr;align-items:center;margin-bottom:clamp(30px,3.6vw,52px)}
.lt-item:last-child{margin-bottom:0}
.lt-no{grid-column:2;justify-self:center;width:clamp(76px,8vw,112px);aspect-ratio:1;border-radius:50%;background:var(--navy);border:2px solid var(--linha-2);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.55s var(--ease)}
.lt-no span{font-family:var(--fs);font-weight:600;font-size:clamp(18px,1.8vw,23px);color:var(--ouro-claro);letter-spacing:.02em}
/* --foco ajusta o enquadramento do rosto sem precisar recortar o arquivo de novo */
.lt-no img{width:100%;height:100%;object-fit:cover;object-position:var(--foco,50% 28%)}
.lt-item.aceso .lt-no{border-color:var(--ouro);transform:scale(1.08);box-shadow:0 0 0 8px rgba(201,162,74,.13),0 14px 32px rgba(15,34,56,.22)}
.lt-txt{grid-column:1;text-align:right;padding-right:clamp(16px,2.2vw,34px);opacity:.45;transform:translateY(14px);transition:.6s var(--ease)}
.lt-item:nth-of-type(even) .lt-txt{grid-column:3;text-align:left;padding-right:0;padding-left:clamp(16px,2.2vw,34px)}
.lt-item.aceso .lt-txt{opacity:1;transform:none}
.lt-area{font-family:var(--f);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-velho);margin-bottom:9px}
.lt-nome{font-family:var(--fs);font-weight:600;font-size:clamp(19px,2vw,25px);line-height:1.2;margin-bottom:11px}
.lt-de{font-size:13.5px;color:var(--texto-mudo);margin-bottom:6px}
.lt-para{font-family:var(--f);font-weight:700;font-size:clamp(26px,3.2vw,42px);letter-spacing:-.04em;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.lt-oque{margin-top:13px;font-size:14px;line-height:1.55;color:var(--texto-suave)}

/* ================= cursos ================= */
.cursos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,18px)}
.curso{background:rgba(251,246,240,.05);border:1px solid var(--linha-esc);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.45s var(--ease)}
.curso:hover{background:rgba(251,246,240,.09);border-color:rgba(201,162,74,.55);transform:translateY(-6px)}
.curso-capa{aspect-ratio:1001/1572;background:var(--noite);border-bottom:1px solid rgba(201,162,74,.35);position:relative;overflow:hidden}
.curso-capa img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2;transition:transform 1.2s var(--ease)}
.curso:hover .curso-capa img{transform:scale(1.045)}
.curso-capa::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(to bottom,transparent 62%,rgba(5,11,22,.55) 100%);
}
.curso-in{padding:clamp(24px,2.5vw,32px);display:flex;flex-direction:column;flex:1}
.curso-in h3{color:var(--claro);margin-bottom:13px}
.curso-in .promessa{font-size:15px;line-height:1.6;color:rgba(251,246,240,.86)}
.curso-in .seo{font-size:14px;line-height:1.62;color:rgba(251,246,240,.62);padding-top:14px}
.curso-in .btn{margin-top:auto;width:100%}
.curso-in .mais-btn{margin-bottom:22px}

/* ================= fechou venda ================= */
.fv{background:var(--noite);position:relative;overflow:hidden;padding:clamp(74px,8.5vw,116px) 0}
.fv-box{border:1px solid rgba(201,162,74,.42);border-radius:var(--r);padding:clamp(32px,4.2vw,62px);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,4vw,60px);align-items:center;position:relative;overflow:hidden}
.fv-box::before{content:"";position:absolute;top:-40%;right:-10%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,74,.14),transparent 66%);pointer-events:none}
.fv-marca{display:inline-flex;align-items:center;gap:11px;font-family:var(--f);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--noite);background:var(--ouro);padding:8px 16px;border-radius:999px;margin-bottom:24px;position:relative}
.fv h2{color:var(--claro);position:relative}
.fv p{margin-top:24px;font-size:16px;line-height:1.72;color:rgba(251,246,240,.8);position:relative}
.fv-act{position:relative;margin-top:34px}
.fv-foto{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:1/1}
.fv-foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.fv-box:hover .fv-foto img{transform:scale(1.05)}
.fv-foto::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(201,162,74,.3);border-radius:var(--r)}

/* textura discreta nas seções escuras que não têm imagem própria */
.textura::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background-image:url('img/textura-fundo.webp');background-size:cover;
}
.textura.t-topo::before{background-position:right top}
.textura.t-base::before{background-position:left bottom}

/* ================= propósito ================= */
.proposito p+p{margin-top:19px}
.frase-final{margin-top:clamp(50px,6vw,76px);padding:clamp(36px,4.4vw,58px);background:var(--navy);border-radius:var(--r);text-align:center;position:relative;overflow:hidden}
.frase-final::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:1px;background:var(--ouro);transition:width 1.2s var(--ease) .3s}
.frase-final.vis::before{width:64%}
.frase-final q{font-family:var(--fs);font-style:italic;font-weight:400;font-size:clamp(20px,2.6vw,32px);line-height:1.4;color:var(--ouro-claro);quotes:'"' '"';display:block;max-width:24ch;margin:0 auto}

/* ================= contato ================= */
.ct{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(38px,5vw,78px);align-items:start}
.ct-cards{display:grid;gap:12px;margin-top:38px}
.ct-card{background:rgba(251,246,240,.05);border:1px solid var(--linha-esc);border-radius:var(--r);padding:21px 24px;transition:.35s var(--ease)}
.ct-card:hover{border-color:rgba(201,162,74,.55);background:rgba(251,246,240,.08);transform:translateX(6px)}
.ct-card small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-claro);margin-bottom:6px}
.ct-card b{font-family:var(--f);font-size:16.5px;font-weight:600;color:var(--claro);word-break:break-word}
.form{background:var(--marfim);color:var(--texto);border-radius:var(--r);padding:clamp(28px,3.4vw,46px)}
.form h3{color:var(--texto);font-size:clamp(20px,2.1vw,25px);margin-bottom:8px}
.form .sub{font-size:14.5px;color:var(--texto-mudo);margin-bottom:28px;line-height:1.55}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.campo{margin-bottom:16px}
.campo label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-mudo);margin-bottom:8px}
.f2 .campo label{min-height:30px}
.campo input,.campo select{width:100%;font-family:var(--f);font-size:15.5px;color:var(--texto);background:var(--superficie);border:1px solid var(--linha-2);border-radius:4px;padding:14px 15px;transition:.25s var(--ease)}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(201,162,74,.16)}
.campo input::placeholder{color:#A9B0BA}
.form .btn{width:100%;margin-top:8px}
.form .nota{margin-top:14px;font-size:12.5px;color:var(--texto-mudo);text-align:center;line-height:1.5}

/* ================= rodapé ================= */
.rod{background:var(--noite);color:rgba(251,246,240,.62);padding:clamp(58px,7vw,86px) 0 30px;border-top:1px solid var(--linha-esc)}
.rod-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(28px,4vw,56px);padding-bottom:44px;border-bottom:1px solid var(--linha-esc)}
.rod-logo img{height:62px;width:auto;margin-bottom:24px}
.rod .autoridade{font-family:var(--fs);font-weight:500;font-size:clamp(17px,1.7vw,21px);line-height:1.38;color:var(--claro);max-width:24ch}
.rod h4{font-family:var(--f);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-claro);margin-bottom:20px}
.rod ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.rod li a{font-size:14px;transition:color .2s,padding-left .3s var(--ease)}
.rod li a:hover{color:var(--claro);padding-left:6px}
.rod-base{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:26px;font-size:12.5px;color:rgba(251,246,240,.42)}

.float{position:fixed;right:20px;bottom:20px;z-index:80;width:56px;height:56px;border-radius:50%;background:var(--zap);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(37,211,102,.36);transition:.3s var(--ease);opacity:0;transform:scale(.7)}
.float.on{opacity:1;transform:none}
.float:hover{transform:scale(1.08)}
.float svg{width:28px;height:28px;fill:#fff}

/* ================= responsivo ================= */
@media (max-width:1080px){
  /* nada de deslocamento lateral no mobile: empurraria a página pro lado */
  [data-anim="left"],[data-anim="right"]{transform:translateY(30px)}
  .nav-l,.nav .nav-cta{display:none}
  .burger{display:flex}
  .hero{padding-bottom:0}
  .hero-txt{max-width:100%}
  /* na tela estreita o texto passa por cima do cenário inteiro, então o véu vira vertical */
  .hero-cenario img{object-position:70% 40%}
  .hero-cenario::after{
    background:linear-gradient(to bottom,rgba(5,11,22,.92) 0%,rgba(5,11,22,.78) 42%,rgba(5,11,22,.55) 72%,var(--noite) 100%);
  }
  /* o arquivo tem folga transparente à esquerda pro desktop; no mobile a gente recentraliza */
  .hero-foto{position:static;width:100%;max-width:560px;height:auto;margin:clamp(34px,5vw,48px) auto 0;-webkit-mask-image:none;mask-image:none;transform:translateX(-4.5%)}
  .hero-foto.vis{transform:translateX(-4.5%)}
  .head{grid-template-columns:1fr;gap:22px;align-items:start}
  .sobre-grid{grid-template-columns:1fr;gap:36px}
  .pilares{grid-template-columns:repeat(3,1fr)}
  .sobre-foto{grid-column:1/-1;aspect-ratio:16/9}
  .servs{grid-template-columns:1fr}
  .ben-grid{grid-template-columns:1fr 1fr;gap:26px 32px}
  .cursos{grid-template-columns:1fr 1fr}
  .star-4{grid-template-columns:1fr 1fr}
  .lt-item{grid-template-columns:1fr clamp(70px,8vw,90px) 1fr}
  .fv-box{grid-template-columns:1fr;gap:30px}
  .ct{grid-template-columns:1fr;gap:44px}
  .painel-corpo{grid-template-columns:1fr;gap:34px}
  .painel-nums{flex-direction:row;flex-wrap:wrap;gap:22px 30px}
  .pn{flex:1 1 150px}
}
  .dias{grid-template-columns:1fr 1fr}
  .faixa-cursos-in{grid-template-columns:1fr;gap:24px}
  .faixa-cursos .btn{justify-self:start}
}
@media (max-width:820px){
  .filtro{grid-template-columns:1fr}
  body{font-size:16.5px}
  .socios{grid-template-columns:1fr}
  /* na tela estreita a trilha encosta na esquerda e todo texto fica do mesmo lado */
  .lt-wrap::before,.lt-luz{left:clamp(30px,7vw,38px)}
  .lt-item{grid-template-columns:clamp(60px,15vw,76px) 1fr;gap:0 clamp(14px,3.4vw,22px);align-items:start}
  .lt-no{grid-column:1;justify-self:start}
  .lt-txt,.lt-item:nth-of-type(even) .lt-txt{grid-column:2;text-align:left;padding:0 0 0 4px}
  .rod-top{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:620px){
  .dias{grid-template-columns:1fr}
  .faq summary{padding-right:40px}
  .faq-resp{padding-right:12px}
  .faixa-cursos .btn{width:100%}
  .hero{padding-top:114px}
  .hero h1{font-size:clamp(29px,8.2vw,40px)}
  /* no celular as barras de separação atrapalham na quebra de linha */
  .confianca{flex-direction:column;gap:10px}
  .confianca span+span{margin-left:0;padding-left:0;border-left:0}
  .hero-act{flex-direction:column;align-items:stretch;gap:20px}
  .hero-act .btn{width:100%}
  .hero-act .link-sec{align-self:center}
  .pilares{grid-template-columns:1fr}
  .ben-grid{grid-template-columns:1fr;gap:22px}
  .cursos{grid-template-columns:1fr}
  .lt-item{margin-bottom:34px}
  .star-4{grid-template-columns:1fr}
  .f2{grid-template-columns:1fr;gap:0}
  .rod-top{grid-template-columns:1fr}
  .float{width:52px;height:52px;right:15px;bottom:15px}
}