/* ============================================================
   +ADVANTAGE ACADEMY · LANDINGS (efa · modular · empresas · alto valor)
   Linguagem gráfica: "Cursos e Percursos" (mockup Claude Design)
   — tudo esquadriado (border-radius 0)
   — pesos leves: eyebrows/pills/tags a 500 com tracking largo
   — títulos a dois pesos (300 + 700), corpo 16.5px em --body
   — números grandes a 300
   ============================================================ */
:root{
  /* fundos */
  --cream:#F7F0E6; --paper:#FCF8F3; --band:#EFE5D9; --clay:#F1E3D4; --sand:#EADDCB;
  /* tinta */
  --espresso:#2A1810; --body:#5C4A3E; --ink:#6B584C; --muted:#8C7869; --faint:#A2907F;
  /* linhas */
  --line:#E4D8CA; --line2:#DCC9B4; --rail:#E0D4C6; --hair:#E4D8CA;
  /* acentos (tokens da marca) */
  --terra:#C1592F; --terra-deep:#8F3D1E; --terra-soft:#EBD2C4; --ochre:#DE9B3A;
  /* secção escura */
  --dk-card:#35231A; --dk-line:#4A3A30; --dk-text:#C9BAB0;
  --maxw:1600px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--espresso);font-family:"Montserrat",system-ui,sans-serif;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-0.02em;font-weight:700;text-wrap:pretty}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 44px}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--terra)}
.light{font-weight:300;letter-spacing:-0.02em}
.tnum{font-variant-numeric:tabular-nums}

/* animações do mockup */
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes drawline{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
@keyframes halo{0%{transform:scale(.82);opacity:.55}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}}
@keyframes drift{0%{transform:translate(0,0)}50%{transform:translate(6px,-9px)}100%{transform:translate(0,0)}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes popnode{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}

/* contador de secção "01 — 04" + calha */
.counter{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.counter b{font-size:15px;font-weight:500;color:var(--espresso)}
.counter i{font-style:normal;font-size:15px;font-weight:400;color:var(--faint)}
.counter .bar{position:relative;display:block;height:2px;width:240px;background:var(--rail)}
.counter .bar span{position:absolute;inset:0 auto 0 0;background:var(--terra);transform-origin:left}
.rv.in .counter .bar span{animation:grow 1.1s cubic-bezier(.16,.84,.3,1) both}

/* botões — esquadriados, 15px/600, seta em carácter */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:0.03em;padding:15px 26px;border-radius:13px;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn svg{transition:transform .2s ease}.btn:hover svg{transform:translateX(3px)}
.btn-p{background:var(--espresso);color:var(--cream)}
.btn-p:hover{background:#3E2418}
.btn-t{background:var(--terra);color:#fff}
.btn-t:hover{background:var(--espresso)}
.btn-o{background:#FCF8F3;color:#7A4A18;border-color:var(--line2)}
.btn-o:hover{border-color:var(--terra);color:var(--terra)}
.txtlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;letter-spacing:0.02em;color:var(--espresso);border-bottom:1px solid var(--line2);padding-bottom:1px;transition:border-color .2s,color .2s}
.txtlink:hover{border-color:var(--terra);color:var(--terra)}
.txtlink svg{transition:transform .2s}.txtlink:hover svg{transform:translateX(3px)}

/* header */
.util{background:var(--espresso);color:rgba(247,240,230,.72)}
.util .wrap{display:flex;align-items:center;justify-content:space-between;height:38px;font-size:11px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase}
.util .r{display:flex;gap:26px}.util a{transition:color .15s}.util a:hover{color:#fff}
.util .dot{display:inline-flex;align-items:center;gap:9px}.util .dot::before{content:"";width:6px;height:6px;background:var(--terra)}
header{position:sticky;top:0;z-index:60;background:rgba(247,240,230,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:22px;height:76px}
.nav .links{display:flex;gap:24px;margin-left:auto}
.nav .links a{position:relative;padding:10px 0;font-size:14px;font-weight:500;letter-spacing:0.03em;color:var(--ink);transition:color .15s}
.nav .links a:hover{color:var(--espresso)}
/* Separador activo: o filete de 1,5px e a diferença de cor eram pouco visíveis.
   Reforçado com COR (terracota) + filete de 2,5px. Mantém-se o peso 500 de
   propósito: mudar o peso alarga o texto e o header já aperta entre os
   1080 e os 1240px. */
.nav .links a.on{color:var(--terra)}
.nav .links a.on::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2.5px;background:var(--terra)}
.nav .links a.on:hover{color:var(--terra)}
/* ⚠ Os itens do menu e o CTA NÃO podem partir em duas linhas. Sem isto o
   header não "transborda" — quebra —, e uma verificação que só procura scroll
   horizontal dá tudo limpo com o menu partido ao meio. Com nowrap o excesso
   passa a ser mensurável e o burger entra quando tem de entrar. */
.nav .links a,.nav .cta{white-space:nowrap}


/* ── voltar ao topo (vinha dos protótipos e perdia-se no porte) ──────────── */
.to-top{position:fixed;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);z-index:70;
  width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line2);
  border-radius:0;background:var(--paper);color:var(--espresso);cursor:pointer;
  box-shadow:0 10px 26px -16px rgba(42,24,16,.55);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s,visibility .25s,transform .25s,background .2s,border-color .2s,color .2s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--espresso);border-color:var(--espresso);color:var(--paper)}
.to-top:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.to-top{transition:opacity .01s,visibility .01s}}
/* a Lia mora no canto inferior direito: o botão sobe para não a tapar */
.to-top{bottom:clamp(78px,7vw,96px)}
.nav .cta{margin-left:14px;padding:11px 18px;font-size:13.5px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line2);background:var(--paper);border-radius:0;align-items:center;justify-content:center;cursor:pointer}
.mobile{display:none;border-top:1px solid var(--line);background:var(--cream)}
.mobile a{display:block;padding:15px 44px;font-size:15px;font-weight:500;letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--line)}
/* AVA — badge pendurado por baixo da linha do header.
   Fica no <header> (que é sticky), por isso acompanha o scroll.
   Castanho cheio + tile claro: é utilitário, para quem já é formando,
   e vive fora da navegação para não competir com o CTA. */
.ava-dock{position:absolute;top:100%;left:0;right:0;z-index:3;margin-top:10px;pointer-events:none}
.ava-dock .wrap{display:flex;justify-content:flex-end}
.ava-badge{pointer-events:auto;display:inline-flex;align-items:center;gap:9px;
  padding:5px 13px 5px 5px;background:#2A1810;color:#F7F0E6;border-radius:10px;
  box-shadow:0 8px 20px -12px rgba(42,24,16,.5);
  transition:background .2s,transform .2s,box-shadow .2s}
.ava-badge:hover{background:#3C2415;transform:translateY(-1px);box-shadow:0 12px 24px -12px rgba(42,24,16,.55)}
.ava-tile{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;
  background:#F7F0E6;color:#2A1810;border-radius:6px}
.ava-tile svg{width:17px;height:17px}
/* o letter-spacing tambem se aplica DEPOIS do ultimo "A" e desequilibra
   o padding direito: a margem negativa igual ao tracking anula-o */
.ava-badge .ava-t{font-size:12.5px;font-weight:800;letter-spacing:.14em;margin-right:-.14em}
@media(max-width:620px){.ava-badge{padding:4px 11px 4px 4px;gap:8px;border-radius:9px}
  .ava-tile{width:22px;height:22px;border-radius:5px}.ava-tile svg{width:15px;height:15px}
  .ava-badge .ava-t{font-size:12px}}
.mobile a.ava-m{display:flex;align-items:center;gap:11px;color:#7A5230}
.foot-col a.ava-f{display:inline-flex;align-items:flex-start;gap:9px;min-width:0}
.foot-col a.ava-f .ava-i{margin-top:3px}
/* Faixa apertada do header. ⚠ Com 8 itens no menu (a "Cursos e percursos"
   entrou a 29/ago) o CTA era empurrado para fora entre os ~1240 e os ~1330px
   e outra vez perto dos 1100. A faixa passou de 1240 para 1400px e o burger
   subiu de 1080 para 1200px — 8 itens + logótipo + CTA não cabem abaixo disso. */
@media(max-width:1530px){
  .nav{gap:10px}
  .nav .links{gap:10px}
  .nav .links a{font-size:13px;letter-spacing:.01em}
  .nav .cta{margin-left:6px;padding:9px 12px;font-size:12px}
  /* o logótipo é a peça mais larga do header (323px): encolhe-o também, senão
     não há folga que chegue para 8 itens + o CTA mais comprido ("Pedir
     informações"). O --ls é a escala própria do brand-logo. */
  .brand-logo{--ls:.82}
}

@media(max-width:1240px){.nav .links,.util{display:none}.burger{display:flex}.nav .cta{display:none}.mobile.open{display:block}}

/* brand logo */
.brand-logo{--ls:1;display:inline-flex;align-items:center;gap:calc(11px*var(--ls));line-height:1;text-decoration:none}
.brand-logo .bl-sq{width:calc(22px*var(--ls));height:calc(22px*var(--ls));margin-right:calc(-3px*var(--ls));border:calc(2.6px*var(--ls)) solid #3C2415;box-sizing:border-box;flex:0 0 auto}
.brand-logo .bl-word{display:flex;align-items:center;height:calc(22px*var(--ls));font-weight:700;font-size:calc(25px*var(--ls));letter-spacing:-0.01em;color:#3C2415;white-space:nowrap}
.brand-logo .bl-box{display:flex;align-items:center;height:calc(22px*var(--ls));margin-left:calc(-3px*var(--ls));background:#3C2415;color:#E0A23E;font-weight:600;font-size:calc(15px*var(--ls));letter-spacing:0.16em;padding:0 calc(10px*var(--ls));white-space:nowrap;box-sizing:border-box}
.brand-logo.dark .bl-sq{border-color:var(--cream)}.brand-logo.dark .bl-word{color:var(--cream)}.brand-logo.dark .bl-box{background:var(--ochre);color:#2A1810}

/* hero */
.hero{position:relative;padding:80px 0 96px;overflow:hidden}
.hero-net{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.9}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.crumb{font-size:12px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--faint);margin-bottom:22px;animation:fade .8s both .2s}
.crumb a{color:var(--terra)}
.hero h1{font-size:clamp(44px,5.4vw,76px);line-height:1.02;font-weight:300;letter-spacing:-0.02em}
.hero h1 span{display:block}
.hero h1 .l1{color:var(--espresso);animation:wipe 1s cubic-bezier(.2,.8,.25,1) both .38s}
.hero h1 .l2{font-weight:700;animation:wipe 1s cubic-bezier(.2,.8,.25,1) both .58s}
.hero p.sub{font-size:21px;font-weight:400;color:var(--body);max-width:560px;margin:30px 0 36px;line-height:1.6;text-wrap:pretty;animation:rise .9s cubic-bezier(.2,.8,.25,1) both .8s}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;animation:rise .9s cubic-bezier(.2,.8,.25,1) both .95s}
.hero-badges{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap;animation:rise .9s cubic-bezier(.2,.8,.25,1) both 1.05s}
.hero-badges div{font-size:13.5px;color:var(--muted);font-weight:400;line-height:1.5}
.hero-badges b{display:block;font-size:34px;color:var(--espresso);font-weight:300;letter-spacing:-.03em;line-height:1.1}
.hero-visual{position:relative;aspect-ratio:1/1;max-width:500px;margin-left:auto;width:100%;animation:fade 1.2s both .5s}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-visual{max-width:420px;margin:0 auto}}

/* linha editorial "QUALIFICAÇÃO | frase grande" */
.qline{display:grid;grid-template-columns:232px 1fr;gap:32px;align-items:baseline;margin-top:78px}
.qline .lbl{font-size:12px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--terra)}
.qline p{margin:0;max-width:860px;font-size:clamp(22px,2.4vw,30px);line-height:1.32;font-weight:300;letter-spacing:-0.01em;color:var(--espresso);text-wrap:pretty}
.qline p b{font-weight:600}
@media(max-width:760px){.qline{grid-template-columns:1fr;gap:14px}}

/* trust */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:16px 44px;align-items:center;justify-content:center;padding:22px 44px}
.trust span{display:inline-flex;align-items:center;gap:11px;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--body)}
.trust b{color:var(--espresso);font-weight:600}.trust svg{color:var(--terra);flex:none}
.trust .sep{width:1px;height:20px;background:var(--line)}
@media(max-width:720px){.trust .sep{display:none}}

section.blk{padding:clamp(78px,9vw,124px) 0}
.head{max-width:720px}
.head h2{font-size:clamp(30px,4.2vw,52px);margin-top:16px;font-weight:700}
.head h2 .light{font-weight:300}
.head p{margin-top:22px;font-size:17.5px;color:var(--body);max-width:56ch;line-height:1.6}

/* vantagens */
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.adv{background:var(--paper);border:1px solid var(--line);border-radius:0;padding:30px 28px 32px}
.adv .ic{width:44px;height:44px;border-radius:0;background:var(--terra-soft);color:var(--terra-deep);display:grid;place-items:center;margin-bottom:22px}
.adv h3{font-size:19px;font-weight:600;letter-spacing:-0.01em;line-height:1.25}
.adv p{font-size:15px;color:var(--body);margin-top:12px;line-height:1.55}
@media(max-width:900px){.adv-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.adv-grid{grid-template-columns:1fr}}

/* cursos / cartões */
.courses{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:56px}
.course{background:var(--paper);border:1px solid var(--line);border-radius:0;padding:34px 36px 32px;display:flex;flex-direction:column;transition:background .22s,border-color .22s,transform .22s}
.course:hover{background:var(--clay);border-color:#C9A98A;transform:translateY(-3px)}
/* ⚠ O CARTÃO INTEIRO TEM DE SER CLICÁVEL. O .course já levanta no hover, logo
   anuncia-se como clicável — mas só o "Ver curso" era (92x24 px = 1% da área
   de 714x315). Clicar no título não fazia nada. O ::after do único link cobre
   o cartão (padrão "stretched link"); é seguro porque há UM anchor por cartão. */
.course{position:relative}
.course .txtlink::after{content:"";position:absolute;inset:0;z-index:1}
.course h3{transition:color .2s}
.course:hover h3{color:var(--terra)}
.course .row{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.course .lvl{font-size:11.5px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#7A4A18;background:transparent;border:1px solid var(--line2);padding:6px 11px 5px;border-radius:0}
.course .area{font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--terra)}
.course h3{font-size:24px;font-weight:700;letter-spacing:-0.02em;line-height:1.15}
.course p{font-size:16px;color:var(--body);margin-top:14px;line-height:1.6}
.course .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.course .chip{font-size:11.5px;font-weight:500;letter-spacing:.1em;color:#7A4A18;background:transparent;border:1px solid var(--line2);padding:6px 11px 5px;border-radius:8px}
.course .foot{margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.course .status{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.course .status i{font-style:normal;display:inline-block;width:6px;height:6px;background:#3C7d5a;margin-right:8px}
@media(max-width:820px){.courses{grid-template-columns:1fr}}

/* percurso timeline (dark) */
.dark{background:var(--espresso);color:var(--cream);position:relative;overflow:hidden}
.dark .net{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:620px;opacity:.5;pointer-events:none}
.dark .head h2{color:#fff}.dark .eyebrow{color:var(--ochre)}
.dark .head p{color:var(--dk-text)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;position:relative;z-index:1}
.step{padding:0 26px 0 0;border-left:1px solid var(--dk-line);padding-left:24px}
.step:first-child{border-left:0;padding-left:0}
.step .n{font-size:11px;font-weight:500;letter-spacing:0.2em;color:var(--ochre)}
.step h4{font-size:19px;font-weight:600;color:#fff;margin-top:16px;letter-spacing:-0.01em;line-height:1.25}
.step p{font-size:15px;color:var(--dk-text);margin-top:10px;line-height:1.55}
.comtec{margin-top:52px;position:relative;z-index:1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:24px 28px;background:var(--dk-card);border:1px solid var(--dk-line);border-radius:0}
.comtec b{color:var(--ochre);font-weight:600}
.comtec span{font-size:15px;color:var(--dk-text);line-height:1.55}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr;gap:32px 24px}.step:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:520px){.steps{grid-template-columns:1fr}.step{border-left:0;padding-left:0}}

/* financiamento split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .panel{background:var(--band);border:1px solid var(--line);border-radius:0;padding:40px 38px}
.split .panel .big{font-size:clamp(44px,5.4vw,68px);font-weight:300;letter-spacing:-0.03em;color:var(--terra);line-height:1}
.split .panel .lbl{font-size:15px;font-weight:400;color:var(--body);margin-top:10px}
.split .panel ul{list-style:none;margin:28px 0 0;display:flex;flex-direction:column;gap:13px}
.split .panel li{display:flex;gap:12px;font-size:15.5px;color:var(--espresso);font-weight:500;line-height:1.5}
.split .panel li svg{color:var(--terra);flex:none;margin-top:4px}
.split h2{font-size:clamp(28px,3.6vw,44px);letter-spacing:-0.02em;font-weight:700}
.split h2 .light{font-weight:300}
.split .lead{font-size:17.5px;color:var(--body);margin-top:20px;line-height:1.6}
.split .note{font-size:13.5px;color:var(--muted);margin-top:20px;line-height:1.55}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:36px}}

/* faq — filete, numerada, várias abertas ao mesmo tempo */
.faq{counter-reset:faq;max-width:880px;margin:52px auto 0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);counter-increment:faq}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:46px 1fr 24px;gap:18px;align-items:start;padding:26px 4px 25px;font-size:18px;font-weight:600;letter-spacing:-0.01em;line-height:1.35;color:var(--espresso);transition:color .25s,background .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:counter(faq,decimal-leading-zero);font-size:12px;font-weight:500;letter-spacing:.1em;color:#C9A98A;padding-top:5px;transition:color .25s}
.faq summary:hover{color:var(--terra)}
.faq summary:hover::before{color:var(--terra)}
.faq summary:focus-visible{outline:2px solid var(--terra);outline-offset:4px}
.faq details[open] summary{color:var(--terra)}
.faq details[open] summary::before{color:var(--terra)}
.faq summary .pl{width:24px;height:24px;border-radius:0;border:1px solid var(--line2);display:grid;place-items:center;flex:none;transition:background .25s,border-color .25s,color .25s;font-size:0;line-height:1;color:var(--terra);margin-top:2px}
.faq summary .pl::before{content:"+";font-size:16px;line-height:1;display:block;transition:transform .25s}
.faq summary:hover .pl{border-color:var(--terra)}
.faq details[open] summary .pl{background:var(--terra);border-color:var(--terra);color:#fff}
.faq details[open] summary .pl::before{transform:rotate(45deg)}
.faq .a{font-size:16px;color:var(--body);line-height:1.7;padding:0 24px 28px 64px;max-width:72ch;animation:fade .35s ease both}
.faq .a a{color:var(--terra);font-weight:600;border-bottom:1px solid var(--terra-soft)}
.faq .a a:hover{border-color:var(--terra)}
/* linha final: apanha quem não encontrou a resposta */
.faq-more{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px;padding:26px 4px 0;font-size:15.5px;color:var(--body)}
.faq-more b{font-weight:500}
@media(max-width:620px){
  .faq summary{grid-template-columns:32px 1fr 24px;gap:12px;font-size:17px;padding:22px 2px}
  .faq .a{padding:0 0 24px 44px}
}

/* cta band */
.ctaband{background:var(--terra);color:#fff;border-radius:0;padding:clamp(52px,6vw,82px);position:relative;overflow:hidden;text-align:center}
.ctaband .net{position:absolute;inset:0;opacity:.16;pointer-events:none}
.ctaband h2{position:relative;font-size:clamp(30px,4.2vw,50px);font-weight:700}
.ctaband h2 .light{color:rgba(255,255,255,.78);font-weight:300}
.ctaband .r{position:relative;display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.ctaband .btn-w{background:#fff;color:var(--terra-deep)}.ctaband .btn-w:hover{background:var(--cream)}
.ctaband .btn-e{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.ctaband .btn-e:hover{border-color:#fff;background:rgba(255,255,255,.12)}

/* footer */
footer{background:var(--espresso);color:var(--dk-text);padding:76px 0 34px}
.foot-brand .brand-logo{--ls:1.15;margin-bottom:22px}
/* O logótipo do rodapé é markup, não imagem: a palavra tem white-space:nowrap e
   à escala 1.15 mede 369px — mais do que um telemóvel estreito tem. Encolhe-se
   pela escala própria (--ls), como já se faz no header. */
@media(max-width:440px){.foot-brand .brand-logo{--ls:.92}}
@media(max-width:380px){.foot-brand .brand-logo{--ls:.82}}
.foot-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:40px;padding-bottom:50px;border-bottom:1px solid var(--dk-line)}
.foot-brand p{font-size:15px;line-height:1.65;max-width:34ch}
.foot-col h5{font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--ochre);margin-bottom:20px}
.foot-col a{display:block;font-size:15px;margin-bottom:12px;transition:color .15s}.foot-col a:hover{color:#fff}
.legal{padding-top:30px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;font-size:12.5px;color:rgba(247,240,230,.5)}
.legal b{color:rgba(247,240,230,.8);font-weight:600}.legal a:hover{color:#fff}
@media(max-width:860px){.foot-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}}
@media(max-width:520px){.foot-top{grid-template-columns:minmax(0,1fr)}}

.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ============================================================
   COMPONENTES PARTILHADOS DAS LANDINGS (modular · empresas · alto valor)
   ============================================================ */

/* grelha de 3 cartões (modalidades, planos, áreas) */
.courses.g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.courses.g3{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.courses.g3{grid-template-columns:1fr}}
.course.hi{background:var(--band);border-color:var(--line2)}
.course .kicker{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--terra)}
.course .price{margin-top:20px;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#7A4A18}
.course ul{list-style:none;margin:22px 0 0;display:flex;flex-direction:column;gap:11px}
.course li{display:flex;gap:11px;font-size:15px;color:var(--body);font-weight:500;line-height:1.5}
.course li svg{color:var(--terra);flex:none;margin-top:4px}

/* faixa de logótipos (associações promotoras / parceiros) */
.logos{margin-top:52px;border:1px solid var(--line);border-radius:0;background:var(--paper);padding:32px 36px}
.logos h6{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:24px}
.logos .row{display:flex;flex-wrap:wrap;align-items:center;gap:34px 46px}
.logos img{height:40px;width:auto;max-width:168px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .25s,opacity .25s}
.logos img:hover{filter:none;opacity:1}
@media(max-width:620px){.logos img{height:30px}.logos .row{gap:24px 30px}}

/* lista de áreas / temas em duas colunas */
.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;margin-top:48px;border-top:1px solid var(--line)}
.area-row{display:grid;grid-template-columns:38px 1fr auto;gap:16px;align-items:center;padding:20px 2px;border-bottom:1px solid var(--line)}
.area-row i{font-style:normal;font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--terra)}
.area-row b{font-size:16px;font-weight:600;letter-spacing:-.01em}
.area-row span{font-size:11.5px;font-weight:500;letter-spacing:.12em;color:var(--muted);white-space:nowrap}
@media(max-width:760px){.areas{grid-template-columns:1fr}}

/* bloco de destaque numérico */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:0;padding:30px 28px 32px}
.stat b{display:block;font-size:clamp(38px,4.4vw,56px);font-weight:300;letter-spacing:-.03em;color:var(--terra);line-height:1}
.stat span{display:block;margin-top:12px;font-size:15px;font-weight:400;color:var(--body);line-height:1.5}
@media(max-width:760px){.stats{grid-template-columns:1fr}}

/* nota factual / aviso legal em caixa */
.callout{margin-top:34px;display:flex;gap:14px;align-items:flex-start;padding:22px 26px;background:var(--band);border:1px solid var(--line);border-radius:0;font-size:14.5px;color:var(--body);line-height:1.6}
.callout svg{color:var(--terra-deep);flex:none;margin-top:2px}
.callout b{color:var(--espresso);font-weight:600}

/* duas colunas de responsabilidade (o que a empresa faz · o que fazemos nós) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.duo .col{border-radius:0;padding:36px 38px;border:1px solid var(--line);background:var(--paper)}
.duo .col.us{background:var(--espresso);border-color:var(--espresso);color:var(--cream)}
.duo .col h3{font-size:22px;font-weight:700;letter-spacing:-.02em}
.duo .col.us h3{color:#fff}
.duo .col .cap{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:14px}
.duo .col.us .cap{color:var(--ochre)}
.duo ul{list-style:none;margin:26px 0 0;display:flex;flex-direction:column;gap:14px}
.duo li{display:flex;gap:12px;font-size:15.5px;font-weight:500;line-height:1.55;color:var(--body)}
.duo .col.us li{color:var(--dk-text)}
.duo li svg{flex:none;margin-top:4px;color:var(--terra)}
.duo .col.us li svg{color:var(--ochre)}
@media(max-width:860px){.duo{grid-template-columns:1fr}}

/* telemóvel estreito: o logótipo + burger não cabem a 100% (mesma correção do index) */
@media(max-width:620px){
  .wrap{padding:0 20px}
  .nav{gap:12px;height:66px}
  .brand-logo,.foot-brand .brand-logo{--ls:.74;min-width:0}
  .foot-brand p{max-width:none}
  .burger{width:40px;height:40px;flex:0 0 auto}
  .mobile a{padding:14px 20px}
  .trust .wrap{padding:20px}
  .hero{padding:52px 0 64px}
  .hero-badges{gap:20px}
  .counter .bar{width:110px}
  .course{padding:28px 24px}
  .duo .col{padding:28px 24px}
  .split .panel{padding:30px 24px}
}

/* ── FICHA DO CURSO ───────────────────────────────────────────────────────
   Bloco único, igual nas duas páginas de curso. Recupera o cartão que a
   tecnico-qualidade tinha até 28/ago e que se perdeu no porte do protótipo
   (o desenho novo não trazia ficha; a auxiliar-saude trazia, a qualidade não
   — as páginas-irmãs ficaram assimétricas). Faixa própria a seguir ao hero,
   em vez de dentro do hero, porque os dois heros têm layouts diferentes. */
.ficha-band{background:var(--cream,#F7F0E6);padding:clamp(30px,3vw,44px) 0}
.ficha{max-width:1040px;margin:0 auto;background:#2A1810;color:#F7F0E6;
  border-radius:14px;padding:clamp(24px,2.6vw,34px);
  box-shadow:0 26px 60px -44px rgba(42,24,16,.6)}
.ficha .ficha-t{display:block;font-size:10.5px;font-weight:800;letter-spacing:.22em;
  text-transform:uppercase;color:#DE9B3A;margin-bottom:6px}
.ficha-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,48px)}
@media(max-width:720px){.ficha-grid{grid-template-columns:minmax(0,1fr)}}
.ficha-row{padding:15px 0;border-bottom:1px solid #4A3A30;min-width:0}
.ficha-row .k{display:block;font-size:10px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#A38F80}
.ficha-row .v{display:block;margin-top:5px;font-size:16px;font-weight:700;
  letter-spacing:-.01em;color:#F7F0E6;text-wrap:pretty}
.ficha-row .v small{display:block;margin-top:2px;font-size:12.5px;font-weight:500;color:#B3A196}
.ficha-row.hi .v{color:#DE9B3A}
/* a linha do preço é a mais importante: ocupa as duas colunas e fecha a grelha */
.ficha-row.preco{grid-column:1 / -1;border-bottom:none;padding-bottom:0;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:6px;
  border-top:1px solid #4A3A30;padding-top:20px}
.ficha-row.preco .k{flex:0 0 auto}
.ficha-row.preco .v{margin-top:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.ficha-row.preco .v small{flex:1 1 100%;margin-top:0}
/* preço: o valor sem financiamento riscado, o 0 € em destaque */
.ficha-row .antes{font-size:15px;font-weight:600;color:#8B7566;
  text-decoration:line-through;text-decoration-color:#6B5443;margin-right:10px}
.ficha-row .zero{font-size:26px;font-weight:900;letter-spacing:-.03em;color:#DE9B3A}
.ficha-nota{margin-top:16px;font-size:12.5px;line-height:1.6;color:#A38F80}
.ficha-nota b{color:#C9BAB0;font-weight:600}

/* animações pausadas fora do ecrã — ver assets/anima.js */
.anim-off,.anim-off *,.anim-off *::before,.anim-off *::after{animation-play-state:paused!important}
