:root{
  --gw:min(240px,24vh); --gh:calc(var(--gw) * .9375);
  --bg:#fafaf8; --papel:#ffffff; --tinta:#232824; --suave:#6d716c; --ainda:#8a8a84;
  --linha:#efece4; --linha2:#e4e0d5;
  --ouro:#e8be5a; --ouro2:#d09d24; --ouro-esc:#9a7417; --ouro-fundo:#fbecd9;
  --verde:#3f6b46; --verde-fundo:#e6efe6; --ambar:#b5651d;
  --escuro:#151816;
  --sombra:0 1px 2px rgba(35,40,36,.05),0 12px 32px rgba(35,40,36,.08);
  --sombra-grande:0 2px 6px rgba(35,40,36,.06),0 40px 80px rgba(35,40,36,.14);
  --g-icon:url("media/g-icon.png");
  --g-buraco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 300' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' fill='%23fff' d='M0 0H320V300H0Z M240 0 L232 40 L285 93 L320 93 L320 0Z'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tinta);font-family:"General Sans",Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2{font-weight:600;letter-spacing:-.035em;line-height:1.02;margin:0}
h2{font-size:clamp(34px,4.4vw,58px)}
h2 span,h1 .linha--suave{color:#7c817b}
.kicker{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);margin:0 0 18px}
.kicker--ouro{color:var(--ouro)}
.corpo{color:var(--suave);font-size:18px;max-width:46ch;margin:22px 0 0}
.corpo--centro{margin:22px auto 0;text-align:center}
.legenda{font-size:13px;color:var(--ainda);margin:14px 0 0}
.legenda--centro{text-align:center}

/* botões */
.btn{display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 28px;border-radius:12px;font-weight:600;font-size:17px;text-decoration:none;letter-spacing:-.01em;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s}
.btn--dark{background:var(--tinta);color:#fff;box-shadow:0 8px 20px rgba(35,40,36,.18)}
.btn--dark:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(35,40,36,.24)}
.btn--dark span{transition:transform .25s}
.btn--dark:hover span{transform:translateX(4px)}
.btn--claro{background:#fff;border:1px solid var(--linha2)}
.btn--claro:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.btn--sm{height:46px;padding:0 20px;font-size:15px}
.btn--grande{height:64px;padding:0 34px;font-size:19px;margin-top:34px}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;height:76px;z-index:50;display:flex;align-items:center;gap:40px;padding:0 max(24px,calc((100vw - 1240px)/2));background:rgba(250,250,248,.82);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid transparent;transition:border-color .3s,background .4s}
.nav.com-linha{border-bottom-color:var(--linha)}
.nav__logo img{height:34px;width:auto}
.nav__links{display:flex;gap:30px;flex:1}
.nav__links a{text-decoration:none;color:var(--suave);font-size:16px;transition:color .2s}
.nav__links a:hover,.nav__links a.ativo{color:var(--tinta)}
.nav__progresso{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:linear-gradient(90deg,var(--ouro),var(--ouro2));transform-origin:0 50%;transform:scaleX(0)}
.nav.escuro{background:rgba(21,24,22,.7);border-bottom-color:rgba(255,255,255,.06)}
.nav.escuro .nav__links a{color:#9ea39d}.nav.escuro .nav__links a:hover{color:#fff}
.nav.escuro .nav__logo img{filter:invert(1) hue-rotate(180deg) brightness(1.4)}
.nav.escuro .btn--dark{background:#fff;color:var(--tinta)}

/* cenas presas ao ecrã */
.cena{position:relative}
.fixo{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cena--hero{height:190vh}
.cena--mercado{height:420vh}
.cena--nota{height:460vh}
.cena--vagas{height:360vh}
.cena--app{height:620vh}
.cena--mentor{height:320vh}
.cena--percurso{height:420vh}

/* G (corpo escuro, seta solta) */
.g-corpo{position:absolute;inset:0;-webkit-mask:var(--g-buraco) 0 0/100% 100%;mask:var(--g-buraco) 0 0/100% 100%;filter:drop-shadow(5px 7px 0 var(--ouro2)) drop-shadow(0 22px 26px rgba(35,40,36,.18))}
.g-tinta{position:absolute;inset:0;-webkit-mask:var(--g-icon) 0 0/100% 100%;mask:var(--g-icon) 0 0/100% 100%;background:linear-gradient(160deg,#2f3530,#1b1f1c)}
.g-brilho{position:absolute;inset:0;-webkit-mask:var(--g-icon) 0 0/100% 100%;mask:var(--g-icon) 0 0/100% 100%;background:linear-gradient(105deg,transparent 38%,rgba(232,190,90,.75) 50%,transparent 62%) no-repeat;background-size:300% 100%;animation:brilho 7s ease-in-out 1.4s infinite}
@keyframes brilho{0%{background-position:130% 0}18%,100%{background-position:-30% 0}}
.g-sombra{position:absolute;left:50%;bottom:-34px;width:150px;height:16px;margin-left:-75px;border-radius:50%;background:radial-gradient(ellipse,rgba(35,40,36,.22),transparent 70%);filter:blur(2px)}

/* hero */
.cena--hero .fixo{flex-direction:column;padding-top:76px}
.hero__g{position:relative;width:var(--gw);height:var(--gh);margin-bottom:min(46px,4vh);flex:none;animation:g-entra 1.2s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes g-entra{from{opacity:0;transform:translateY(30px) scale(.8) rotate(-8deg)}}
.hero__texto{text-align:center;max-width:1240px;padding:0 24px}
h1{font-size:clamp(42px,min(6vw,10.5vh),88px)}
h1 .linha{display:block;overflow:hidden;padding-bottom:.08em}
h1 .linha>span{display:inline-block;animation:sobe 1s cubic-bezier(.2,.8,.2,1) both}
h1 .linha:nth-child(1)>span{animation-delay:.25s}
h1 .linha:nth-child(2)>span{animation-delay:.38s}
@keyframes sobe{from{transform:translateY(105%)}}
.hero__sub{color:var(--suave);font-size:clamp(17px,1.5vw,20px);max-width:52ch;margin:min(26px,2.4vh) auto 0;animation:aparece .9s .6s both}
.hero__ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:min(34px,3.4vh);animation:aparece .9s .75s both}
.hero__texto .kicker{animation:aparece .8s .1s both}
@keyframes aparece{from{opacity:0;transform:translateY(14px)}}

/* rato a descer */
.rato{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:13px;color:var(--ainda);animation:aparece 1s 1.2s both}
.rato__corpo{width:26px;height:42px;border:2px solid #b9bab3;border-radius:14px;position:relative}
.rato__corpo i{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--ouro2);animation:roda 1.8s cubic-bezier(.6,0,.4,1) infinite}
@keyframes roda{0%{transform:translateY(0);opacity:0}20%{opacity:1}70%{transform:translateY(14px);opacity:0}100%{opacity:0}}

/* fio condutor */
#trilho{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:1;overflow:visible}
#trilho path{fill:none;stroke-linecap:round;stroke-linejoin:round}
#trilho-base{stroke:#e2ddd0;stroke-width:2;stroke-dasharray:2 9}
#trilho-ouro{stroke:url(#ouro-grad);stroke:var(--ouro2);stroke-width:3}
main{position:relative;z-index:2}
#cavaleiro{position:fixed;left:0;top:0;width:0;height:0;z-index:40;pointer-events:none}
.seta{position:absolute;left:0;top:0;width:var(--gw);height:var(--gh);transform-origin:87.2% 15%;
  -webkit-mask:var(--g-icon) 0 0/100% 100%;mask:var(--g-icon) 0 0/100% 100%;
  clip-path:polygon(75% 0%,72.5% 13.33%,89.06% 31%,100% 31%,100% 0%);
  background:linear-gradient(135deg,#f6d886 55%,#c98f1c 100%);will-change:transform}
.seta-sombra{filter:drop-shadow(0 4px 6px rgba(154,116,23,.4))}
.mini-cv{position:absolute;left:0;top:0;width:118px;padding:11px 12px 10px;background:#fff;border:1px solid var(--linha);border-radius:12px;box-shadow:0 10px 26px rgba(35,40,36,.14);font-size:10px;line-height:1.3;opacity:0;will-change:transform,opacity;transition:box-shadow .3s}
.mini-cv__top{display:flex;justify-content:space-between;align-items:center;color:var(--suave);font-weight:600;letter-spacing:.02em}
.mini-cv__top i{width:7px;height:7px;border-radius:50%;background:var(--ouro2);box-shadow:0 0 0 3px rgba(208,157,36,.18)}
.mini-cv__nota{margin-top:6px;display:flex;align-items:baseline;gap:2px}
.mini-cv__nota b{font-size:30px;font-weight:600;letter-spacing:-.04em;line-height:1}
.mini-cv__nota small{color:var(--ainda);font-size:10px}
.mini-cv__barra{height:4px;border-radius:2px;background:var(--linha);margin:7px 0 6px;overflow:hidden}
.mini-cv__barra i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ouro),var(--ouro2));border-radius:2px;transition:width .3s}
.mini-cv__estado{font-weight:600;color:var(--tinta)}
.mini-cv__linhas{margin-top:7px}
.mini-cv__linhas i{display:block;height:3px;border-radius:2px;background:#eeebe3;margin-top:4px}
.mini-cv__linhas i:nth-child(2){width:80%}.mini-cv__linhas i:nth-child(3){width:55%}
.mini-cv.pulsa{animation:pulsa .6s}
@keyframes pulsa{40%{transform:var(--t) scale(1.08)}}

/* mercado (painel escuro que cresce) */
.painel-escuro{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,#232a25,var(--escuro) 60%);color:#fff;display:flex;align-items:center;justify-content:center;will-change:clip-path}
.mercado__kicker{position:absolute;top:118px;left:0;right:0;text-align:center}
.numero{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:0 24px;opacity:0;will-change:transform,opacity,filter}
.numero__valor{font-size:clamp(96px,17vw,250px);font-weight:600;letter-spacing:-.06em;line-height:.9;background:linear-gradient(180deg,#fff 30%,#c9c3b2);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.numero__texto{font-size:clamp(20px,2.2vw,30px);max-width:26ch;margin:26px auto 0;color:#e8e6e0;letter-spacing:-.015em;line-height:1.25}
.numero__fonte{font-size:13px;color:#8d918b;margin:20px 0 0}
.fecho{font-size:clamp(42px,6.4vw,92px);font-weight:600;letter-spacing:-.045em;line-height:1.02;margin:0}
.fecho span{color:var(--ouro)}
.pontos{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.pontos i{width:7px;height:7px;border-radius:4px;background:#4a504b;transition:width .35s,background .35s}
.pontos i.on{width:26px;background:var(--ouro)}

/* grelha comum */
.grelha{width:min(1080px,100% - 48px);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:60px}
.grelha--inv{grid-template-columns:1.05fr .95fr}

/* nota do CV */
.passos{list-style:none;padding:0;margin:34px 0 0;counter-reset:p}
.passos li{counter-increment:p;position:relative;padding:12px 0 12px 46px;border-top:1px solid var(--linha);opacity:.38;transition:opacity .4s}
.passos li::before{content:counter(p);position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--linha2);display:grid;place-items:center;font-size:13px;font-weight:600;transition:all .4s}
.passos li b{display:block;font-weight:600}
.passos li span{display:block;color:var(--suave);font-size:15px;max-height:0;overflow:hidden;transition:max-height .45s}
.passos li.on{opacity:1}
.passos li.on::before{background:var(--tinta);border-color:var(--tinta);color:#fff}
.passos li.on span{max-height:60px}
.passos li.feito{opacity:.75}
.passos li.feito::before{content:"✓";background:var(--ouro-fundo);border-color:var(--ouro);color:var(--ouro-esc)}
.nota__rodape{font-size:14px;color:var(--ainda);margin:26px 0 0}

.folha-wrap{perspective:1400px}
.folha{position:relative;background:#fff;border-radius:14px;border:1px solid var(--linha);box-shadow:var(--sombra-grande);padding:30px 32px 34px;aspect-ratio:.76;max-height:72vh;margin:0 auto;font-size:14px;overflow:hidden;transform-style:preserve-3d;will-change:transform}
.folha__scanner{position:absolute;left:0;right:0;top:0;height:90px;margin-top:-90px;background:linear-gradient(180deg,transparent,rgba(232,190,90,.16) 80%,rgba(208,157,36,.6) 99%,transparent);border-bottom:2px solid var(--ouro2);opacity:0;pointer-events:none;z-index:3}
.folha__cab{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.folha__nome{font-size:24px;font-weight:600;letter-spacing:-.03em}
.folha__sub{color:var(--suave)}
.folha__vaga{margin:10px 0 4px;font-size:13px;color:var(--suave);padding:8px 10px;background:#f6f5f1;border-radius:8px}
.folha__bloco{margin-top:18px}
.folha__tit{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ainda);padding-bottom:6px;border-bottom:1px solid var(--linha);margin-bottom:9px}
.folha__item{font-size:13.5px}
.folha__linha{height:7px;border-radius:4px;background:#f0eee8;margin-top:9px}
.folha__linha--curta{width:62%}
.troca{position:relative;margin-top:7px;min-height:42px}
.troca__velho{display:inline-block;transition:color .3s}
.troca__velho::after{content:"";position:absolute;left:0;top:.75em;height:1.5px;width:var(--risco,0%);background:var(--ambar)}
.troca__velho{position:relative}
.troca__novo{display:block;color:var(--verde);font-weight:500;min-height:1.4em}
.troca__novo::after{content:"";display:inline-block;width:2px;height:1em;background:var(--verde);margin-left:2px;vertical-align:-2px;opacity:var(--cursor,0)}
.marca{transition:background .3s,box-shadow .3s;border-radius:4px}
.marca.mau{background:rgba(181,101,29,.09);box-shadow:0 0 0 3px rgba(181,101,29,.09)}
.tabela{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(35,40,36,var(--borda,.25));border-radius:4px;gap:0;transition:gap .3s}
.tabela span{padding:6px 9px;border:1px solid rgba(35,40,36,calc(var(--borda,.25)*.7));font-size:13px}
.tabela.lista{display:flex;flex-wrap:wrap;gap:6px;border-color:transparent;padding:0}
.tabela.lista span{border:1px solid var(--linha2);border-radius:99px;padding:4px 11px;background:#faf9f6}
.chip-novo{display:none}
.tabela .chip-novo.on{display:inline-block;background:var(--ouro-fundo)!important;border-color:var(--ouro)!important;color:var(--ouro-esc);font-weight:600;animation:chip .6s cubic-bezier(.2,.9,.3,1.4)}
@keyframes chip{from{transform:scale(.3);opacity:0}}
.anel{position:relative;width:104px;height:104px;flex:none}
.anel svg{width:100%;height:100%;transform:rotate(-90deg)}
.anel circle{fill:none;stroke-width:9}
.anel__fundo{stroke:#f0eee8}
.anel__ouro{stroke:var(--ouro2);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7}
.anel__num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.anel__num b{font-size:34px;font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.anel__num small{font-size:11px;color:var(--ainda)}
.anel__delta{position:absolute;right:-12px;top:-8px;background:var(--verde);color:#fff;font-weight:600;font-size:13px;padding:3px 9px;border-radius:99px;opacity:0;transform:translateY(10px)}
.anel__delta.on{animation:delta 1.1s cubic-bezier(.2,.8,.2,1)}
@keyframes delta{0%{opacity:0;transform:translateY(14px) scale(.6)}25%{opacity:1;transform:translateY(0) scale(1.1)}70%{opacity:1;transform:translateY(-6px)}100%{opacity:0;transform:translateY(-22px)}}
.folha__selo{position:absolute;right:26px;bottom:26px;border:2.5px solid var(--verde);color:var(--verde);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;border-radius:8px;transform:rotate(-8deg) scale(2);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.3,1.3),opacity .3s;background:rgba(255,255,255,.9)}
.folha__selo.on{opacity:1;transform:rotate(-8deg) scale(1)}
.aviso{position:absolute;right:-6px;transform:translateX(20px);background:#fff4e8;color:var(--ambar);border:1px solid #f1d2b4;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px 0 0 8px;opacity:0;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1);z-index:4}
.aviso.on{opacity:1;transform:translateX(0)}

/* vagas */
.cena--vagas .fixo{flex-direction:column;justify-content:flex-start;padding-top:120px}
.vagas__cab{text-align:center;padding:0 24px;max-width:900px}
.vagas__estado{position:relative;height:30px;margin-top:20px;font-weight:600;font-size:15px}
.vagas__estado span{position:absolute;left:0;right:0;transition:opacity .4s,transform .4s}
#vagas-estado-a{color:var(--ambar)}#vagas-estado-b{color:var(--verde);opacity:0;transform:translateY(10px)}
.palco{position:relative;width:min(560px,100% - 40px);flex:1;margin-top:18px}
.vaga{position:absolute;left:0;top:0;width:100%;background:#fff;border:1px solid var(--linha);border-radius:16px;padding:18px 20px;box-shadow:var(--sombra);will-change:transform,opacity}
.vaga__top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.vaga__top b{display:block;font-weight:600;font-size:17px;letter-spacing:-.01em}
.vaga__top span{display:block;color:var(--suave);font-size:14px}
.vaga__pct{font-size:30px;font-weight:600;letter-spacing:-.04em;color:var(--verde);font-variant-numeric:tabular-nums;white-space:nowrap}
.vaga--fraca .vaga__pct{color:var(--ainda)}
.vaga__porque{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.8,.2,1)}
.vaga__porque.on{max-height:140px}
.vaga__porque p{margin:10px 0 0;font-size:14px;display:flex;gap:9px;align-items:flex-start}
.vaga__porque p:first-child{margin-top:14px;padding-top:12px;border-top:1px solid var(--linha)}
.vaga__porque i{font-style:normal;flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}
.vaga__porque .ok{background:var(--verde-fundo);color:var(--verde)}
.vaga__porque .at{background:#fff1e2;color:var(--ambar)}
.palco__depois{position:absolute;left:0;right:0;text-align:center;font-size:13px;color:var(--ainda);opacity:0}
.vagas__rodape{position:absolute;bottom:26px;left:0;right:0;text-align:center}

/* app real */
.app__grelha{width:min(1080px,100% - 48px);display:grid;grid-template-columns:1fr 380px;gap:70px;align-items:center;padding-top:70px}
#lista-app{list-style:none;padding:0;margin:30px 0 0}
#lista-app li{padding:11px 0 11px 18px;border-left:2px solid var(--linha);opacity:.4;transition:opacity .35s,border-color .35s}
#lista-app li b{display:block;font-weight:600;font-size:18px}
#lista-app li span{display:block;color:var(--suave);font-size:15px;max-height:0;overflow:hidden;transition:max-height .4s}
#lista-app li.on{opacity:1;border-left-color:var(--ouro2)}
#lista-app li.on span{max-height:50px}
.telemovel-wrap{perspective:1600px}
.telemovel{position:relative;width:min(340px,78vw);aspect-ratio:390/820;max-height:76vh;margin:0 auto;border-radius:52px;background:#1d201e;padding:11px;box-shadow:0 0 0 1.5px #3a3f3b inset,0 50px 90px rgba(35,40,36,.28),0 10px 24px rgba(35,40,36,.16);transform-style:preserve-3d;will-change:transform}
.telemovel__ecra{position:relative;width:100%;height:100%;border-radius:42px;overflow:hidden;background:#fafaf8}
.telemovel__ecra img{position:absolute;left:0;top:0;width:100%;height:auto;opacity:0;will-change:transform,opacity}
.telemovel__ecra img:first-child{opacity:1}
.telemovel__ecra .telemovel__barra{top:auto;bottom:0;opacity:1;z-index:3;box-shadow:0 -6px 18px rgba(35,40,36,.06)}
.telemovel__ilha{position:absolute;top:22px;left:50%;width:96px;height:28px;margin-left:-48px;background:#0d0f0e;border-radius:20px;z-index:4}
.telemovel__reflexo{position:absolute;inset:11px;border-radius:42px;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 30%);z-index:5}

/* mentor */
.chat{background:#fff;border:1px solid var(--linha);border-radius:22px;box-shadow:var(--sombra-grande);overflow:hidden;max-width:500px;width:100%;justify-self:center}
.chat__cab{display:flex;gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--linha)}
.chat__g{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--tinta);color:var(--ouro);font-weight:700}
.chat__cab b{display:block;font-weight:600}.chat__cab small{color:var(--suave);font-size:13px}
.chat__corpo{height:min(420px,52vh);overflow:hidden;position:relative;background:#fcfbf8}
.chat__fio{position:absolute;left:0;right:0;bottom:0;padding:20px;display:flex;flex-direction:column;gap:10px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.msg{max-width:84%;padding:11px 15px;border-radius:18px;font-size:15px;line-height:1.4;opacity:0;transform:translateY(16px) scale(.96);transform-origin:0 100%;transition:opacity .4s,transform .5s cubic-bezier(.2,.9,.3,1.25);display:none}
.msg.on{display:block}
.msg.vis{opacity:1;transform:none}
.msg--g{background:#fff;border:1px solid var(--linha);border-bottom-left-radius:6px}
.msg--eu{align-self:flex-end;background:var(--tinta);color:#fff;border-bottom-right-radius:6px;transform-origin:100% 100%}
.msg--pronto{align-self:center;background:var(--verde-fundo);color:var(--verde);font-weight:600;font-size:14px;border-radius:99px}
.escrever{display:none;gap:4px;padding:13px 15px;background:#fff;border:1px solid var(--linha);border-radius:18px;border-bottom-left-radius:6px;width:max-content}
.escrever.on{display:flex}
.escrever.eu{align-self:flex-end;background:#3a403b;border-color:#3a403b}
.escrever i{width:7px;height:7px;border-radius:50%;background:#b9bab3;animation:pinga 1s infinite}
.escrever i:nth-child(2){animation-delay:.15s}.escrever i:nth-child(3){animation-delay:.3s}
@keyframes pinga{30%{transform:translateY(-4px);background:var(--ouro2)}}

/* percurso horizontal */
.cena--percurso .fixo{flex-direction:column;justify-content:center;align-items:stretch}
.percurso__cab{width:min(1080px,100% - 48px);margin:0 auto 54px;padding-top:40px}
.pista-wrap{overflow:visible}
.pista{position:relative;display:flex;gap:28px;padding:0 max(24px,calc((100vw - 1080px)/2));width:max-content;will-change:transform}
.pista__linha{position:absolute;left:max(24px,calc((100vw - 1080px)/2));right:max(24px,calc((100vw - 1080px)/2));top:30px;height:3px;background:var(--linha);border-radius:2px}
.pista__linha i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ouro),var(--ouro2));border-radius:2px}
.etapa{position:relative;width:min(360px,76vw);flex:none;padding:84px 28px 30px;background:#fff;border:1px solid var(--linha);border-radius:22px;box-shadow:var(--sombra);transform:scale(.94);opacity:.55;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s,box-shadow .5s}
.etapa em{position:absolute;left:28px;top:14px;width:34px;height:34px;border-radius:50%;background:var(--bg);border:2px solid var(--linha2);display:grid;place-items:center;font-style:normal;font-weight:600;font-size:14px;transition:all .4s}
.etapa b{display:block;font-size:26px;font-weight:600;letter-spacing:-.03em}
.etapa p{color:var(--suave);margin:10px 0 0}
.etapa.on{transform:scale(1);opacity:1;box-shadow:var(--sombra-grande)}
.etapa.on em,.etapa.feita em{background:var(--tinta);border-color:var(--tinta);color:var(--ouro)}

/* blocos normais */
.bloco{position:relative;padding:160px 24px;text-align:center}
.bloco h2{max-width:22ch;margin:0 auto}
.contadores{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:64px auto 0}
.contador{background:#fff;border:1px solid var(--linha);border-radius:22px;padding:38px 24px 32px;box-shadow:var(--sombra)}
.contador b{display:block;font-size:clamp(46px,5.4vw,72px);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.contador span{display:block;color:var(--suave);margin-top:12px}
.contador small{display:inline-block;margin-top:14px;font-size:12px;font-weight:600;color:var(--ambar);background:#fff4e8;border:1px dashed #e9b98a;padding:3px 10px;border-radius:99px}
.revela{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.revela.in{opacity:1;transform:none}
.bloco--fecho{padding:220px 24px 170px}
.fecho__g{position:relative;width:var(--gw);height:var(--gh);margin:0 auto 70px}
.fecho__proposta{position:absolute;left:100%;top:58%;margin-left:26px;text-align:left;background:#fff;border:1px solid var(--linha);border-radius:14px;padding:12px 16px;box-shadow:var(--sombra);white-space:nowrap;opacity:0;transform:translateX(-20px) scale(.9);transition:all .6s cubic-bezier(.2,.9,.3,1.3)}
.fecho__proposta.on{opacity:1;transform:none}
.fecho__proposta small{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--verde)}
.fecho__proposta b{display:block;font-weight:600}
.fecho__proposta span{color:var(--suave);font-size:14px}
.anel-onda{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid var(--ouro2);pointer-events:none;animation:onda .9s ease-out forwards}
@keyframes onda{to{transform:scale(28);opacity:0}}
.rodape{display:flex;align-items:center;gap:30px;justify-content:space-between;padding:34px max(24px,calc((100vw - 1240px)/2));border-top:1px solid var(--linha);color:var(--suave);font-size:14px}
.rodape img{height:26px;width:auto}
.rodape nav{display:flex;gap:22px}
.rodape a{text-decoration:none}.rodape a:hover{color:var(--tinta)}

/* ecrãs médios: o mini-CV fica só com a nota */
@media (max-width:1240px){
  .mini-cv{width:66px;padding:8px 8px 7px}
  .mini-cv__top span,.mini-cv__estado,.mini-cv__linhas,.mini-cv__nota small{display:none}
  .mini-cv__nota{margin-top:0;justify-content:center}
  .mini-cv__nota b{font-size:24px}
  .mini-cv__top{position:absolute;right:6px;top:6px}
}
/* telemóvel */
@media (max-width:860px){
  :root{--gw:min(176px,22vh)}
  body{font-size:16px}
  .nav{gap:16px;height:64px}
  .nav__links{display:none}
  .nav__logo{flex:1}
  .nav__logo img{height:28px}
  .btn--sm{height:40px;padding:0 14px;font-size:14px}
  .cena--hero .fixo{padding-top:64px}
  .hero__g{margin-bottom:34px}
  .btn{height:52px;font-size:16px}
  #trilho{display:none}
  .grelha,.grelha--inv,.app__grelha{grid-template-columns:1fr;gap:26px;padding-top:70px}
  .cena--nota .fixo,.cena--mentor .fixo,.cena--app .fixo{align-items:flex-start}
  .nota__texto h2,.mentor__texto h2,.app__lista h2{font-size:28px}
  .passos,.corpo,.nota__rodape{display:none}
  .passos{margin-top:14px}
  .folha{padding:20px 20px 22px;max-height:none;aspect-ratio:auto;font-size:13px}
  .anel{width:84px;height:84px}.anel__num b{font-size:27px}
  .folha__nome{font-size:20px}
  .folha-wrap .legenda{display:none}
  .aviso{font-size:11px}
  #lista-app{display:none}
  .app__lista .kicker{margin-bottom:10px}
  .telemovel{width:min(270px,64vw);border-radius:42px;padding:9px}
  .telemovel__ecra{border-radius:34px}
  .telemovel__reflexo{inset:9px;border-radius:34px}
  .telemovel__ilha{top:17px;width:76px;height:22px;margin-left:-38px}
  .mentor__texto{order:-1}
  .chat__corpo{height:min(380px,50vh)}
  .cena--vagas .fixo{padding-top:88px}
  .vagas__cab h2{font-size:28px}
  .vaga{padding:14px 16px}
  .vaga__top b{font-size:15px}.vaga__pct{font-size:24px}
  .percurso__cab{margin-bottom:30px}
  .percurso__cab h2{font-size:30px}
  .etapa{padding:70px 22px 24px}
  .etapa b{font-size:22px}
  .contadores{grid-template-columns:1fr}
  .bloco{padding:110px 20px}
  .fecho__proposta{left:50%;top:auto;bottom:-64px;margin-left:0;transform:translate(-50%,10px) scale(.9)}
  .fecho__proposta.on{transform:translate(-50%,0)}
  .bloco--fecho .fecho__g{margin-bottom:110px}
  .mini-cv{display:none}
  .rodape{flex-direction:column;gap:14px}
}

/* menos movimento: tudo no estado final, sem cenas presas */
@media (prefers-reduced-motion:reduce){
  .cena{height:auto!important}
  .fixo{position:relative;height:auto;min-height:100vh;padding:120px 0}
  #trilho,#cavaleiro,.rato{display:none}
  *{animation:none!important;transition:none!important}
}

@media (max-height:760px){.rato span{display:none}.rato{bottom:14px}}
.vaga__pct b{display:inline;font-size:inherit;letter-spacing:inherit}
