/* =====================================================================
   Aventuras Financeiras — Plataforma do aluno
   Universo Vale do Ipê. Derivado dos mockups oficiais e do CSS do site.
   Usa as mesmas fontes hospedadas em /assets/fonts (mesmo cache do site).
   ===================================================================== */

@font-face{font-family:"Fredoka";src:url("/assets/fonts/fredoka-var.woff2") format("woff2-variations");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/fonts/poppins-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/fonts/poppins-600.woff2") format("woff2");font-weight:500 650;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/fonts/poppins-800.woff2") format("woff2");font-weight:651 849;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/fonts/poppins-900.woff2") format("woff2");font-weight:850 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("/assets/fonts/lora-var.woff2") format("woff2-variations");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --bg:#fbf3e4;
  --tela:#fdf9f0;
  --paper:#fffdf8;
  --green:#194f3c;
  --green-esc:#123f2f;
  --green2:#2f674f;
  --ink:#17362c;
  --muted:#67766d;
  --orange:#d95f2e;
  --orange-esc:#c05023;
  --gold:#f2bf4e;
  --gold-esc:#8a6410;
  --mint:#e9f1e6;
  --creme:#fdf2da;
  --rosa:#fbeae1;
  --line:#e8dcc6;
  --line2:#efe6d5;
  --raio:22px;
  --sombra:0 16px 38px rgba(30,61,46,.08);
  --sombra-alta:0 24px 60px rgba(30,61,46,.14);
  --fonte-titulo:"Fredoka","Arial Rounded MT Bold","Trebuchet MS",sans-serif;
  --fonte-texto:"Poppins",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fonte-serif:"Lora",Georgia,serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  min-height:100dvh;background:var(--bg);color:var(--ink);
  font-family:var(--fonte-texto);line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
img{height:auto}
picture{display:contents}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--fonte-titulo);line-height:1.1;letter-spacing:-.02em}
p{margin:0;color:var(--muted)}
ul{margin:0;padding:0;list-style:none}

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--green);color:#fff;padding:12px 18px;border-radius:0 0 12px 0;font-weight:800}
.skip-link:focus{left:0}
:where(a,button,input,summary,[tabindex]):focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:10px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.oculto{display:none!important}

/* ---------------------------------------------------------------- botões */
.bt{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid transparent;border-radius:14px;padding:14px 22px;
  font-weight:800;font-size:15px;cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.bt:disabled{cursor:progress;opacity:.72}
.bt-verde{background:var(--green);color:#fff;box-shadow:0 12px 24px rgba(25,79,60,.2)}
.bt-verde:hover:not(:disabled){background:var(--green-esc);transform:translateY(-2px)}
.bt-verde:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 14px rgba(25,79,60,.24)}
.bt-ouro{background:var(--gold);color:#4b3b14;box-shadow:0 10px 20px rgba(242,191,78,.34)}
.bt-ouro:hover:not(:disabled){background:#eab63c;transform:translateY(-2px)}
.bt-ouro:active:not(:disabled){transform:translateY(0)}
.bt-claro{background:var(--paper);border-color:#dccfba;color:var(--green)}
.bt-claro:hover:not(:disabled){background:#fff;transform:translateY(-2px)}
.bt-bloco{width:100%}
.bt .seta{font-size:17px;line-height:1;transform:translateY(-1px)}

.girador{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:girar .7s linear infinite}
.bt-ouro .girador{border-color:rgba(75,59,20,.3);border-top-color:#4b3b14}
@keyframes girar{to{transform:rotate(360deg)}}

/* ------------------------------------------------------------------ aviso */
.aviso{
  display:none;gap:10px;align-items:flex-start;
  margin-top:16px;padding:13px 15px;border-radius:14px;
  font-size:13.5px;font-weight:650;line-height:1.45;
}
.aviso.visivel{display:flex;animation:surgir .2s ease}
.aviso-erro{background:#fdeceb;color:#8d2b18;border:1px solid #f4cec6}
.aviso-ok{background:#e8f3ed;color:#1f5340;border:1px solid #cbe4d8}
.aviso-info{background:#fdf2da;color:#77520f;border:1px solid #efd18f}
.aviso i{font-style:normal;flex:none;font-weight:900}
@keyframes surgir{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* =====================================================================
   LOGIN / RECUPERAÇÃO DE SENHA
   ===================================================================== */
.acesso{
  min-height:100dvh;display:grid;grid-template-columns:1.02fr .98fr;
  background:var(--bg);
}

/* painel ilustrado do Vale do Ipê */
.acesso-cena{
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  justify-content:space-between;padding:38px 44px 0;
  background:linear-gradient(170deg,#fbf7ee 0%,#f7ead3 52%,#f3dfba 100%);
}
.acesso-cena:after{
  content:"";position:absolute;width:760px;height:760px;border-radius:50%;
  left:-300px;top:-330px;border:1px solid rgba(25,79,60,.09);
  box-shadow:0 0 0 80px rgba(25,79,60,.022),0 0 0 170px rgba(217,95,46,.018);
  pointer-events:none;
}
.acesso-marca{position:relative;z-index:3;display:flex;align-items:center;gap:14px}
.acesso-marca img{height:44px;width:auto}
.acesso-marca .sep{width:1px;height:30px;background:#d9cdb8}
.acesso-marca span{font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#6c7c72}

.acesso-fala{position:relative;z-index:3;max-width:430px;margin:auto 0 0;padding-bottom:34px}
.acesso-fala .selo{
  display:inline-flex;align-items:center;gap:9px;padding:7px 12px;border-radius:999px;
  background:#fff1d2;border:1px solid #efd18f;color:#77520f;
  font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
}
.acesso-fala .selo:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(242,191,78,.2)}
.acesso-fala h2{margin-top:16px;font-size:clamp(28px,2.6vw,38px);color:var(--green)}
.acesso-fala p{margin-top:12px;font-family:var(--fonte-serif);font-size:16px;color:#5c6c62}

.acesso-elenco{position:relative;z-index:2;height:min(46vh,380px);margin-top:20px}
.acesso-elenco .leo{
  position:absolute;left:2%;bottom:0;height:100%;width:auto;
  filter:drop-shadow(0 22px 30px rgba(40,58,48,.22));
  animation:flutuar 7s ease-in-out infinite;
}
.acesso-elenco .poupinha{
  position:absolute;left:min(230px,42%);bottom:6%;width:min(168px,30%);height:auto;
  filter:drop-shadow(0 16px 24px rgba(40,58,48,.2));
  animation:flutuar 7s ease-in-out infinite .9s;
}
.acesso-elenco .poupinha.poupinha-recuperar{left:8%;width:min(200px,38%)}
@keyframes flutuar{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

.acesso-paisagem{position:absolute;left:0;right:0;bottom:0;height:210px;z-index:1;pointer-events:none}
.acesso-paisagem img,.acesso-paisagem svg{display:block;width:100%;height:100%;object-fit:cover;object-position:bottom}
.acesso-doodle{position:absolute;z-index:2;opacity:.85;pointer-events:none}
.acesso-doodle img{width:100%;height:auto}
.doodle-moeda{width:52px;right:16%;top:16%;animation:flutuar 6s ease-in-out infinite .3s}
.doodle-brilho{width:40px;right:9%;top:38%;animation:pulsar 4.5s ease-in-out infinite}
.doodle-folha{width:46px;left:8%;top:26%;animation:pulsar 5.5s ease-in-out infinite .6s}
@keyframes pulsar{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.12);opacity:1}}

/* cartão do formulário */
.acesso-painel{display:grid;place-items:center;padding:44px 40px;background:var(--bg)}
.acesso-cartao{
  width:min(430px,100%);background:var(--paper);border:1px solid var(--line);
  border-radius:28px;padding:36px 34px;box-shadow:var(--sombra-alta);
}
.acesso-cartao .logo-mobile{display:none}
.aviso-demonstracao{
  margin-bottom:16px;padding:10px 13px;border:1px solid #e3c77e;border-radius:14px;
  background:#fff6dd;color:#624817;
}
.aviso-demonstracao strong{display:block;font-family:var(--fonte-titulo);font-size:15px;color:#63440b}
.aviso-demonstracao p{margin-top:3px;font-size:12px;line-height:1.45}
.pagina-login .acesso-painel{padding-block:24px}
.pagina-login .acesso-cartao{padding-block:26px}
.pagina-login .campo{margin-top:15px}
.pagina-login .linha-controles{margin-top:14px}
.pagina-login .acesso-cartao .bt-bloco{margin-top:16px}
.pagina-login .acesso-rodape{margin-top:16px;padding-top:13px}
.pagina-login .acesso-frase{margin-top:9px}
.acesso-cartao h1{font-size:clamp(27px,3.1vw,34px);color:var(--green)}
.acesso-cartao .sub{margin-top:10px;font-family:var(--fonte-serif);font-size:15px;line-height:1.6}

.campo{margin-top:19px}
.campo label{display:block;font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#5b6b61;margin-bottom:7px}
.campo .caixa{position:relative}
.campo input{
  width:100%;height:52px;padding:0 15px;border:1px solid #dccfba;border-radius:14px;
  background:#fffdf9;color:#2b463a;font-size:15px;font-weight:600;outline:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.campo input::placeholder{color:#a9b3ac;font-weight:500}
.campo input:hover{border-color:#c9bba3}
.campo input:focus{border-color:#5b8d75;box-shadow:0 0 0 3px rgba(91,141,117,.16)}
.campo input[aria-invalid="true"]{border-color:#d98070;box-shadow:0 0 0 3px rgba(217,95,46,.12)}
.campo input.com-botao{padding-right:56px}
.olho{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:42px;height:42px;display:grid;place-items:center;
  background:transparent;border:0;border-radius:11px;cursor:pointer;color:#6b7c71;
  transition:background .18s ease,color .18s ease;
}
.olho:hover{background:#f1ebdf;color:var(--green)}
.olho svg{width:21px;height:21px}

.linha-controles{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;flex-wrap:wrap}
.lembrar{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:650;color:#586a5f;cursor:pointer}
.lembrar input{width:20px;height:20px;accent-color:#194f3c;cursor:pointer;flex:none}
.elo{font-size:13.5px;font-weight:750;color:var(--green);border-bottom:1px solid rgba(25,79,60,.28);padding-bottom:1px}
.elo:hover{color:var(--orange);border-color:rgba(217,95,46,.45)}

.acesso-cartao .bt-bloco{margin-top:22px;height:54px}
.acesso-rodape{margin-top:22px;padding-top:18px;border-top:1px solid var(--line2)}
.acesso-rodape p{font-size:12.5px;line-height:1.55}
.acesso-frase{margin-top:14px;font-family:var(--fonte-serif);font-style:italic;font-size:13px;color:#7e8b83;text-align:center}

@media(max-width:1024px){
  .acesso{grid-template-columns:1fr}
  .acesso-cena{padding:26px 26px 0;min-height:340px}
  .acesso-fala{max-width:none;padding-bottom:24px}
  .acesso-fala h2{font-size:26px}
  .acesso-elenco{height:230px;margin-top:8px}
  .acesso-elenco .leo{left:4%}
  .acesso-elenco .poupinha{left:min(170px,44%);width:120px}
  .acesso-paisagem{height:150px}
  .doodle-moeda{top:10%}
  .acesso-painel{padding:30px 22px 46px}
}
@media(max-width:620px){
  .acesso-cena{padding:20px 20px 0;min-height:0}
  .acesso-marca img{height:36px}
  .acesso-marca span{display:none}
  .acesso-fala .selo{display:none}
  .acesso-fala{padding-bottom:14px}
  .acesso-fala h2{font-size:23px;margin-top:6px}
  .acesso-fala p{font-size:14px}
  .acesso-elenco{height:170px}
  .acesso-elenco .poupinha{left:min(120px,46%);width:92px}
  .acesso-paisagem{height:110px}
  .acesso-doodle{display:none}
  .acesso-cartao .logo-mobile{display:block;margin-bottom:18px}
  .acesso-cartao .logo-mobile img{height:46px;width:auto}
  .acesso-cartao{padding:26px 20px;border-radius:24px}
  .acesso-cartao h1{font-size:25px}
  .linha-controles{gap:10px}
}

/* =====================================================================
   SHELL DA PLATAFORMA
   ===================================================================== */
.plataforma{display:none;flex-direction:column;min-height:100dvh;background:var(--tela)}
body.pronto .plataforma{display:flex}
body.modo-mockup{overflow:hidden;background:var(--tela)}
body.modo-mockup .plataforma{min-height:100vh}
body.modo-mockup .topo{position:relative}
body.modo-mockup .rodape-plataforma{display:none}
body.modo-mockup a,body.modo-mockup button,body.modo-mockup input,body.modo-mockup select{pointer-events:none}
.faixa{width:min(1120px,calc(100% - 40px));margin-inline:auto}

.topo{position:sticky;top:0;z-index:60;background:rgba(253,249,240,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line2)}
.topo-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topo-identidade{display:flex;align-items:center;gap:14px;min-width:0}
.topo-marca img{height:52px;width:auto}
.selo-demonstracao{
  flex:none;padding:5px 10px;border:1px solid #d6b359;border-radius:999px;
  background:#fff4d5;color:#684a0c;font-size:10px;font-weight:900;
  letter-spacing:.08em;line-height:1;text-transform:uppercase;
}
.topo-dir{display:flex;align-items:center;gap:14px}
.topo-nome{font-family:var(--fonte-titulo);font-size:18px;font-weight:600;color:var(--green)}

.avatar{
  width:52px;height:52px;border-radius:50%;overflow:hidden;flex:none;
  border:3px solid var(--gold);background:var(--mint);
  box-shadow:0 6px 14px rgba(40,58,48,.14);
}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-iniciais{width:100%;height:100%;display:grid;place-items:center;font-family:var(--fonte-titulo);font-size:19px;color:var(--green);background:var(--mint)}

.topo-sep{width:1px;height:34px;background:#ded2bd}
.menu-bt{
  width:48px;height:48px;display:grid;place-items:center;gap:5px;
  background:transparent;border:0;border-radius:14px;cursor:pointer;
  transition:background .18s ease;
}
.menu-bt:hover{background:#f2ecdf}
.menu-bt span{display:block;width:22px;height:2.5px;border-radius:2px;background:var(--green);transition:transform .22s ease,opacity .18s ease}
.menu-bt[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-bt[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-bt[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.menu-aluno{
  position:absolute;right:20px;top:74px;z-index:70;width:250px;
  background:var(--paper);border:1px solid var(--line);border-radius:20px;
  padding:10px;box-shadow:var(--sombra-alta);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.menu-aluno.aberto{opacity:1;visibility:visible;transform:none}
.menu-aluno .cabeca{padding:10px 12px 12px;border-bottom:1px solid var(--line2);margin-bottom:8px}
.menu-aluno .cabeca strong{display:block;font-family:var(--fonte-titulo);font-size:16px;color:var(--green)}
.menu-aluno .cabeca small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;word-break:break-word}
.menu-aluno a,.menu-aluno button{
  display:flex;align-items:center;gap:11px;width:100%;
  padding:11px 12px;border:0;border-radius:13px;background:transparent;
  font-size:14px;font-weight:700;color:#3d5648;cursor:pointer;text-align:left;
  transition:background .16s ease,color .16s ease;
}
.menu-aluno a:hover,.menu-aluno button:hover{background:#f2ede2;color:var(--green)}
.menu-aluno a[aria-current="page"]{background:var(--mint);color:var(--green)}
.menu-aluno svg{width:19px;height:19px;flex:none;color:var(--green2)}
.menu-aluno .sair{margin-top:6px;border-top:1px solid var(--line2);border-radius:0 0 13px 13px;color:var(--orange-esc)}
.menu-aluno .sair svg{color:var(--orange)}
.menu-aluno .sair:hover{background:#fbeae1;color:#a53f18}
.veu{position:fixed;inset:0;z-index:55;background:rgba(24,44,34,.3);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}
.veu.aberto{opacity:1;visibility:visible}

.corpo{flex:1;padding:26px 0 40px}
.rodape-plataforma{position:relative;margin-top:auto}
.rodape-paisagem{height:180px;overflow:hidden}
.rodape-paisagem img{width:100%;height:100%;object-fit:cover;object-position:bottom}
.rodape-fundo{background:#f6efe1;border-top:1px solid var(--line2)}
.rodape-linha{padding:16px 0;font-size:11.5px;color:#6f7d75;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.rodape-linha a{font-weight:700;color:var(--green2)}
.rodape-linha a:hover{color:var(--orange)}

/* ------------------------------------------------------------- saudação */
.cartao-boas{
  position:relative;overflow:hidden;
  background:var(--paper);border:1px solid var(--line2);border-radius:26px;
  box-shadow:var(--sombra);
  display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:20px;
  padding:34px 0 34px 36px;min-height:236px;
}
.cartao-boas:before{
  content:"";position:absolute;right:-60px;top:-70px;width:430px;height:430px;border-radius:50%;
  background:radial-gradient(circle at 40% 45%,#fbeec9 0%,#fdf3dd 55%,rgba(253,243,221,0) 72%);
}
.boas-texto{position:relative;z-index:2}
.boas-ola{display:block;font-size:12.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-esc)}
.boas-texto h1{margin-top:12px;font-size:clamp(28px,3.4vw,40px);color:var(--green);max-width:15ch}
.boas-texto p{margin-top:12px;font-family:var(--fonte-serif);font-size:15.5px;max-width:34ch}
.boas-texto .bt{margin-top:22px}
.boas-poupinha{position:relative;z-index:2;justify-self:end;align-self:end;padding-right:18px}
.boas-poupinha img{width:min(238px,100%);filter:drop-shadow(0 18px 26px rgba(40,58,48,.18));animation:flutuar 6.5s ease-in-out infinite}

/* ------------------------------------------------------------- jornada */
.cartao{background:var(--paper);border:1px solid var(--line2);border-radius:26px;box-shadow:var(--sombra);padding:26px 28px}
.cartao + .cartao,.corpo > .faixa > * + *{margin-top:20px}
.cartao-cabeca{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.cartao-cabeca h2{font-size:21px;color:var(--green)}
.pilula{
  display:inline-flex;align-items:center;padding:7px 15px;border-radius:999px;
  border:1px solid #cfe0d5;background:#f1f7f2;color:var(--green);
  font-size:12.5px;font-weight:800;white-space:nowrap;
}

.trilha{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;position:relative}
.trilha-passo{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:4px}
.trilha-passo:before,.trilha-passo:after{
  content:"";position:absolute;top:27px;height:4px;border-radius:3px;background:#e9e0cf;z-index:0;
}
.trilha-passo:before{left:0;right:50%}
.trilha-passo:after{left:50%;right:0}
.trilha-passo:first-child:before,.trilha-passo:last-child:after{display:none}
.trilha-passo[data-estado="concluido"]:before,
.trilha-passo[data-estado="concluido"]:after{background:var(--green)}
.trilha-passo[data-estado="atual"]:before{background:linear-gradient(90deg,var(--green),var(--gold))}
.trilha-passo[data-estado="atual"]:after{background:#efe4cb}

.trilha-bola{
  position:relative;z-index:1;width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  font-family:var(--fonte-titulo);font-size:22px;font-weight:600;
  background:#f4efe4;color:#a3aca6;border:2px solid #e6dcc9;
  transition:transform .2s ease,box-shadow .2s ease;
}
.trilha-passo[data-estado="concluido"] .trilha-bola{background:var(--green);color:#fff;border-color:var(--green)}
.trilha-passo[data-estado="atual"] .trilha-bola{
  background:var(--gold);color:#4b3b14;border-color:var(--gold);
  box-shadow:0 0 0 6px rgba(242,191,78,.22);
}
.trilha-marca{height:22px;display:grid;place-items:center;margin-top:8px}
.trilha-marca svg{width:16px;height:16px}
.trilha-passo[data-estado="concluido"] .trilha-marca svg{color:var(--green)}
.trilha-passo[data-estado="atual"] .trilha-marca svg{color:var(--gold)}
.trilha-passo[data-estado="bloqueado"] .trilha-marca:after{content:"";width:2px;height:14px;border-radius:2px;background:#e2d9c8}
.trilha-nome{margin-top:4px;font-size:11.5px;font-weight:700;color:#7f8c84;line-height:1.35;padding:0 5px;max-width:14ch}
.trilha-passo[data-estado="concluido"] .trilha-nome{color:#5c6c62}
.trilha-passo[data-estado="atual"] .trilha-nome{color:var(--gold-esc);font-weight:850}

a.trilha-passo:hover .trilha-bola{transform:translateY(-3px)}

/* ------------------------------------------------------------- cartelas */
.cartelas{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cartela{
  border-radius:24px;padding:24px 22px 26px;border:1px solid transparent;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  position:relative;overflow:hidden;min-height:250px;
}
.cartela-icone{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin-bottom:16px;flex:none}
.cartela-icone svg{width:28px;height:28px;color:#fff}
.cartela-num{font-family:var(--fonte-titulo);font-size:46px;line-height:1;color:var(--green)}
.cartela-rot{font-family:var(--fonte-titulo);font-size:17px;color:var(--green);margin-top:6px;line-height:1.2}
.cartela p{font-size:12.5px;line-height:1.5;margin-top:10px}
.cartela .etiqueta{font-size:11.5px;font-weight:700;color:var(--muted)}
.cartela .bt{margin-top:auto;padding:11px 18px;font-size:13.5px}
.cartela-verde{background:var(--mint);border-color:#dcE7d7}
.cartela-verde .cartela-icone{background:var(--green)}
.cartela-ouro{background:var(--creme);border-color:#f0e0b8}
.cartela-ouro .cartela-icone{background:var(--gold)}
.cartela-ouro .cartela-icone svg{color:#4b3b14}
.cartela-rosa{background:var(--rosa);border-color:#f4dbcd}
.cartela-rosa .cartela-icone{background:var(--orange)}
.cartela-ipe{position:absolute;right:-14px;bottom:-10px;width:96px;opacity:.9;pointer-events:none}
.cartela-folha{position:absolute;left:12px;bottom:12px;width:26px;opacity:.5;pointer-events:none}

/* ------------------------------------------------- páginas internas */
.pagina-cabeca{margin-bottom:22px}
.pagina-cabeca .selo{
  display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;
  background:#fff1d2;border:1px solid #efd18f;color:#77520f;
  font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
}
.pagina-cabeca h1{margin-top:12px;font-size:clamp(26px,3.2vw,36px);color:var(--green)}
.pagina-cabeca p{margin-top:10px;font-family:var(--fonte-serif);font-size:15.5px;max-width:62ch}

.lista-capitulos{display:grid;gap:12px}
.capitulo{
  display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;
  background:#faf6ec;border:1px solid var(--line2);border-radius:20px;padding:16px 18px;
}
.capitulo[data-estado="atual"]{background:var(--creme);border-color:#f0e0b8}
.capitulo[data-estado="bloqueado"]{opacity:.72}
.capitulo-num{
  width:56px;height:56px;border-radius:18px;display:grid;place-items:center;
  font-family:var(--fonte-titulo);font-size:22px;background:#efe8da;color:#9aa49d;
}
.capitulo[data-estado="concluido"] .capitulo-num{background:var(--green);color:#fff}
.capitulo[data-estado="atual"] .capitulo-num{background:var(--gold);color:#4b3b14}
.capitulo h3{font-size:17px;color:var(--green)}
.capitulo p{font-size:13px;margin-top:4px}
.capitulo .estado{font-size:11.5px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.capitulo[data-estado="concluido"] .estado{color:var(--green2)}
.capitulo[data-estado="atual"] .estado{color:var(--gold-esc)}
.capitulo[data-estado="bloqueado"] .estado{color:#9aa49d}

.video-controles{
  grid-column:2/-1;display:flex;align-items:end;justify-content:space-between;
  gap:18px;padding-top:12px;border-top:1px solid rgba(112,125,116,.14);
}
.video-progresso{min-width:220px;max-width:460px;flex:1}
.video-progresso-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.video-progresso-linha span{font-size:11.5px;font-weight:800;color:#607168}
.video-progresso-linha strong{font-size:12px;color:var(--green)}
.video-progresso progress{
  display:block;width:100%;height:10px;border:0;border-radius:999px;overflow:hidden;
  background:#e8dfce;color:var(--green);
}
.video-progresso progress::-webkit-progress-bar{background:#e8dfce;border-radius:999px}
.video-progresso progress::-webkit-progress-value{background:linear-gradient(90deg,var(--green2),var(--green));border-radius:999px}
.video-progresso progress::-moz-progress-bar{background:linear-gradient(90deg,var(--green2),var(--green));border-radius:999px}
.video-abrir{flex:none;min-width:172px;justify-content:center}
.video-abrir:disabled{opacity:.65;cursor:wait}
.video-bloqueado{font-size:12.5px;font-weight:700;color:#87938c}
.video-area{grid-column:1/-1;padding-top:4px}
.video-area[hidden]{display:none!important}
.video-player-wrap{
  overflow:hidden;border-radius:20px;background:#10271e;border:1px solid rgba(25,79,60,.28);
  box-shadow:0 12px 28px rgba(25,55,43,.18);
}
.video-player{display:block;width:100%;aspect-ratio:16/9;background:#0b1712;max-height:680px}
.video-player-youtube{border:0;max-height:none}
.video-player-wrap>iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;background:#0b1712}
.video-status{padding:13px 16px;background:#f2f7f3;color:#3f5b4c;font-size:12.5px;font-weight:700}
.video-carregando,.video-aviso{
  padding:24px;border-radius:18px;background:#f3ede0;border:1px dashed #d8cab1;
  color:#5f6d65;text-align:center;font-size:13px;font-weight:700;
}

/* ---------------------------------------------------------- celebração */
body.celebrando{overflow:hidden}
.celebracao-fundo{
  position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:24px;
  background:rgba(18,48,37,.58);backdrop-filter:blur(7px);
  animation:celebracao-fundo .22s ease both;
}
.celebracao{
  width:min(480px,100%);max-height:calc(100dvh - 48px);overflow:auto;
  background:var(--paper);border:1px solid rgba(255,255,255,.9);border-radius:30px;
  box-shadow:0 30px 80px rgba(11,42,30,.28);padding:30px 30px 28px;
  text-align:center;display:flex;flex-direction:column;align-items:center;
  animation:celebracao-entrar .3s cubic-bezier(.2,.8,.2,1) both;
}
.celebracao-etiqueta{
  display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--creme);
  border:1px solid #efd9a7;color:#77520f;font-size:10.5px;font-weight:900;
  letter-spacing:.08em;text-transform:uppercase;
}
.celebracao-simbolo,.celebracao-medalha-icone{
  display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#4b3b14;
  border:4px solid #fff;box-shadow:0 10px 25px rgba(242,191,78,.4);
}
.celebracao-simbolo{width:82px;height:82px;margin:20px 0 4px}
.celebracao-simbolo svg{width:38px;height:38px}
.celebracao-medalhas{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:22px 0 6px}
.celebracao-medalha{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:105px}
.celebracao-medalha-icone{width:72px;height:72px}
.celebracao-medalha-icone svg{width:32px;height:32px}
.celebracao-medalha strong{font-family:var(--fonte-titulo);font-size:14px;color:var(--green);max-width:15ch;line-height:1.2}
.celebracao h2{margin-top:16px;color:var(--green);font-size:30px}
.celebracao p{margin-top:9px;font-family:var(--fonte-serif);font-size:15px;max-width:34ch}
.celebracao .bt{margin-top:22px;min-width:min(280px,100%)}
@keyframes celebracao-fundo{from{opacity:0}to{opacity:1}}
@keyframes celebracao-entrar{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}

.grade-conquistas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.conquista{
  background:#faf6ec;border:1px solid var(--line2);border-radius:22px;padding:22px;
  text-align:center;display:flex;flex-direction:column;align-items:center;
}
.conquista.ganha{background:var(--creme);border-color:#f0e0b8}
.conquista-medalha{
  width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin-bottom:14px;
  background:#eee7d8;color:#b3bcb5;border:3px solid #e4dbc9;
}
.conquista.ganha .conquista-medalha{background:var(--gold);color:#4b3b14;border-color:#fff;box-shadow:0 8px 18px rgba(242,191,78,.4)}
.conquista-medalha svg{width:30px;height:30px}
.conquista h3{font-size:16px;color:var(--green)}
.conquista.ganha h3{color:var(--green)}
.conquista:not(.ganha) h3{color:#8b958e}
.conquista p{font-size:12.5px;margin-top:7px;line-height:1.5}
.conquista .data{margin-top:12px;font-size:11px;font-weight:800;color:var(--gold-esc);text-transform:uppercase;letter-spacing:.06em}
.conquista:not(.ganha) .data{color:#a3ada6}

.dados{display:grid;gap:12px}
.dado{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:15px 18px;background:#faf6ec;border:1px solid var(--line2);border-radius:18px;align-items:center}
.dado dt{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#5b6b61}
.dado dd{margin:0;font-size:15px;font-weight:700;color:#2f4a3d;word-break:break-word}

/* --------------------------------------------------------- carregando */
.esqueleto{border-radius:14px;background:linear-gradient(90deg,#f1ebdd 25%,#f8f3e8 37%,#f1ebdd 63%);background-size:400% 100%;animation:brilhar 1.3s ease infinite}
@keyframes brilhar{from{background-position:100% 0}to{background-position:-100% 0}}
.carregando-tela{min-height:100dvh;display:grid;place-items:center;background:var(--tela);gap:16px;text-align:center;padding:24px}
.carregando-tela img{width:96px;animation:flutuar 2.4s ease-in-out infinite}
.carregando-tela p{font-family:var(--fonte-serif);font-size:15px}

/* ------------------------------------------------------ responsividade */
@media(max-width:1024px){
  .cartelas{grid-template-columns:1fr 1fr}
  .cartao-boas{grid-template-columns:1.25fr .75fr;padding:28px 0 28px 28px}
  .boas-poupinha img{width:min(190px,100%)}
  .grade-conquistas{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .trilha{grid-auto-flow:row;grid-auto-columns:auto;gap:0}
  .trilha-passo{flex-direction:row;align-items:flex-start;text-align:left;gap:16px;padding:0 0 18px}
  .trilha-passo:before,.trilha-passo:after{top:auto;left:27px;right:auto;width:4px;height:auto}
  .trilha-passo:before{top:0;bottom:50%;right:auto}
  .trilha-passo:after{top:50%;bottom:0;right:auto}
  .trilha-passo:last-child{padding-bottom:0}
  .trilha-marca{position:absolute;left:38px;top:36px;height:auto;background:var(--paper);border-radius:50%;padding:2px}
  .trilha-nome{max-width:none;margin-top:0;padding:14px 0 0;font-size:13.5px}
}
@media(max-width:760px){
  .faixa{width:min(1120px,calc(100% - 32px))}
  .topo-inner{height:72px}
  .topo-marca img{height:42px}
  .topo-identidade{align-items:flex-start;flex-direction:column;gap:2px}
  .selo-demonstracao{padding:3px 7px;font-size:8px}
  .topo-nome{display:none}
  .avatar{width:44px;height:44px;border-width:2.5px}
  .menu-aluno{right:16px;left:16px;width:auto;top:66px}
  .cartao-boas{grid-template-columns:1fr;padding:26px 22px;min-height:0;text-align:left}
  .cartao-boas:before{right:-120px;top:-140px}
  .boas-texto h1{max-width:none;font-size:27px}
  .boas-texto p{max-width:none}
  .boas-poupinha{justify-self:center;padding-right:0;margin-top:4px}
  .boas-poupinha img{width:170px}
  .cartao{padding:22px 18px;border-radius:22px}
  .cartelas{grid-template-columns:1fr;gap:14px}
  .cartela{min-height:0;padding:22px 20px}
  .grade-conquistas{grid-template-columns:1fr}
  .capitulo{grid-template-columns:48px 1fr;row-gap:6px}
  .capitulo-num{width:48px;height:48px;font-size:19px;border-radius:15px}
  .capitulo .estado{grid-column:2;justify-self:start}
  .video-controles{grid-column:1/-1;align-items:stretch;flex-direction:column;gap:12px;margin-top:8px}
  .video-progresso{min-width:0;max-width:none;width:100%}
  .video-abrir{width:100%}
  .video-area{margin-top:6px}
  .dado{grid-template-columns:1fr;gap:4px}
  .rodape-paisagem{height:120px}
  .rodape-linha{justify-content:center;text-align:center}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* -------------------------------------------------- ajustes pré-domínio */
.campo input::placeholder{color:#6b786f;opacity:1}
.capitulo[data-estado="bloqueado"]{opacity:1;background:#f4efe5;border-color:#ddd2bf}
.capitulo[data-estado="bloqueado"] .capitulo-num{
  background:#e4ddd0;color:#65736a;border:1px solid #d3c8b6;
}
.capitulo[data-estado="bloqueado"] h3{color:#496056}
.capitulo[data-estado="bloqueado"] p{color:#607067}
.capitulo[data-estado="bloqueado"] .estado,
.video-bloqueado{color:#596960}
.trilha-passo[data-estado="bloqueado"] .trilha-bola{
  background:#e8e1d4;color:#647269;border-color:#d8cebd;
}
.trilha-passo[data-estado="bloqueado"] .trilha-nome{color:#5f6d65}
.conquista:not(.ganha) h3{color:#59685f}
.conquista:not(.ganha) .conquista-medalha{color:#69766e}
.conquista:not(.ganha) .data{color:#65736b}

/* =====================================================================
   JORNADA IMERSIVA — mapa do Vale, medalhas temáticas e certificado
   ===================================================================== */
.cartao-boas{min-height:284px;background:linear-gradient(120deg,rgba(255,253,248,.98),rgba(251,240,207,.94));isolation:isolate}
.cartao-boas:after{content:"";position:absolute;inset:auto 0 0 0;height:108px;background:url("/assets/img/vale-paisagem.svg") center bottom/cover no-repeat;opacity:.72;z-index:0;pointer-events:none}
.boas-texto,.boas-poupinha{z-index:2}.boas-poupinha{margin-right:84px}.boas-poupinha img{animation:none!important;width:min(196px,100%);transform:none!important}
.jornada-destaque{padding:26px 28px 28px;border:1px solid #d9e6d8;border-radius:28px;background:linear-gradient(180deg,#fffdf8,#f4f8ed);box-shadow:var(--sombra)}
.jornada-destaque .cartao-cabeca{margin-bottom:18px}.jornada-destaque .etiqueta,.detalhes-jornada .etiqueta{display:block;margin-bottom:5px;color:var(--orange-esc);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.jornada-cenario{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(25,79,60,.14);border-radius:28px;background:#dcece4;box-shadow:inset 0 0 0 6px rgba(255,255,255,.34)}
.jornada-cenario-ceu{position:absolute;inset:0;background:url("/assets/img/jornada-vale.svg") center/cover no-repeat}
.jornada-cenario:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.1),transparent 45%);pointer-events:none}
.jornada-mapa{position:relative;z-index:2;min-height:620px;margin:0;padding:0;list-style:none}
.jornada-ponto{position:absolute;width:198px}.jornada-ponto>a,.jornada-ponto>div{display:flex;align-items:center;gap:10px;padding:9px 11px;border:2px solid rgba(255,255,255,.88);border-radius:18px;background:rgba(255,253,248,.93);box-shadow:0 10px 24px rgba(24,65,45,.18);backdrop-filter:blur(5px)}
.jornada-ponto>a{transition:transform .18s ease,box-shadow .18s ease}.jornada-ponto>a:hover{transform:translateY(-3px);box-shadow:0 15px 28px rgba(24,65,45,.22)}
.jornada-ponto-num{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#e5dfd3;color:#65736a;font-family:var(--fonte-titulo);font-size:18px}
.jornada-ponto-texto{min-width:0}.jornada-ponto-texto small,.jornada-ponto-texto strong,.jornada-ponto-texto em{display:block}.jornada-ponto-texto small{color:#78867e;font-size:7px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.jornada-ponto-texto strong{overflow:hidden;color:#315142;font-family:var(--fonte-titulo);font-size:11px;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.jornada-ponto-texto em{margin-top:2px;color:#7e8a83;font-size:7.5px;font-style:normal;font-weight:800}
.jornada-ponto[data-estado="concluido"] .jornada-ponto-num{background:var(--green);color:#fff}.jornada-ponto[data-estado="concluido"] .jornada-ponto-texto em{color:var(--green)}
.jornada-ponto[data-estado="atual"]{z-index:4}.jornada-ponto[data-estado="atual"]>a{border-color:#f7d16f;box-shadow:0 0 0 5px rgba(242,191,78,.2),0 15px 30px rgba(24,65,45,.2)}.jornada-ponto[data-estado="atual"] .jornada-ponto-num{background:var(--gold);color:#4b3b14}.jornada-ponto[data-estado="atual"] .jornada-ponto-texto em{color:#8a6410}
.jornada-ponto[data-estado="bloqueado"]>div{background:rgba(245,242,234,.88);border-color:rgba(255,255,255,.68)}
.jornada-ponto[data-capitulo="1"]{left:6%;bottom:4%}.jornada-ponto[data-capitulo="2"]{left:27%;bottom:21%}.jornada-ponto[data-capitulo="3"]{left:42%;bottom:37%}.jornada-ponto[data-capitulo="4"]{left:32%;top:28%}.jornada-ponto[data-capitulo="5"]{left:44%;top:8%}.jornada-ponto[data-capitulo="6"]{left:61%;top:25%}.jornada-ponto[data-capitulo="7"]{left:68%;bottom:27%}.jornada-ponto[data-capitulo="8"]{right:4%;bottom:7%}
.jornada-ipe-legenda{position:absolute;right:5%;top:5%;z-index:2;padding:7px 11px;border-radius:999px;background:rgba(255,253,248,.88);color:#315142;font-family:var(--fonte-titulo);font-size:12px;box-shadow:0 7px 18px rgba(24,65,45,.12)}
.jornada-cenario-compacto{min-height:470px}.jornada-cenario-compacto .jornada-mapa{min-height:470px}.jornada-cenario-compacto .jornada-ponto{width:166px}.jornada-cenario-compacto .jornada-ponto>a,.jornada-cenario-compacto .jornada-ponto>div{padding:7px 8px}.jornada-cenario-compacto .jornada-ponto-num{flex-basis:34px;width:34px;height:34px;font-size:15px}.jornada-cenario-compacto .jornada-ponto-texto strong{font-size:9.5px}
.detalhes-jornada{margin-top:22px}.detalhes-jornada .cartao-cabeca h2{font-size:24px}

.medalha-tematica{position:relative;display:block;width:118px;height:144px;margin:0 auto 10px}.medalha-tematica>img:first-child{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(44,55,43,.18))}.medalha-poupinha-oficial{position:absolute;z-index:2;left:50%;top:27px;width:58px;height:62px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 4px 4px rgba(55,57,40,.16))}
.medalha-2 .medalha-fita,.medalha-6 .medalha-fita{fill:#194f3c}.medalha-2 .medalha-aro{fill:#eca0aa}.medalha-2 .medalha-miolo{fill:#ffe9ed;stroke:#c96f7b}.medalha-3 .medalha-fita,.medalha-7 .medalha-fita{fill:#315d83}.medalha-3 .medalha-aro{fill:#8fc6d4}.medalha-3 .medalha-miolo{fill:#e4f5f7;stroke:#5c9aa8}.medalha-4 .medalha-fita,.medalha-8 .medalha-fita{fill:#8c5b96}.medalha-4 .medalha-aro{fill:#d8b2df}.medalha-4 .medalha-miolo{fill:#f7eafa;stroke:#ae7ab8}.medalha-5 .medalha-aro{fill:#80b86b}.medalha-5 .medalha-miolo{fill:#e4f3dd;stroke:#5e944c}.medalha-6 .medalha-aro{fill:#ef985f}.medalha-6 .medalha-miolo{fill:#ffe4d1;stroke:#c96935}.medalha-7 .medalha-aro{fill:#6da9ba}.medalha-7 .medalha-miolo{fill:#e2f1f5;stroke:#477f8e}.medalha-8 .medalha-aro{fill:#eca0aa}.medalha-8 .medalha-miolo{fill:#ffe8ec;stroke:#c56f7b}
.medalha-pequena{width:82px;height:94px;margin:-8px auto 2px}.medalha-pequena .medalha-poupinha-oficial{top:18px;width:40px;height:43px}.conquista-tematica{position:relative;overflow:hidden;min-height:330px;background:linear-gradient(160deg,#f9f5eb,#eee8dc)}.conquista-tematica.ganha{background:linear-gradient(160deg,#fffdf8,#fff0ca)}.conquista-tematica:not(.ganha) .medalha-tematica{filter:grayscale(1);opacity:.42}.conquista-capitulo{padding:4px 8px;border-radius:999px;background:#efe7d6;color:#6f6554;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.conquista-tematica.ganha .conquista-capitulo{background:#e0eee6;color:#24563f}.conquista-tematica h3{margin-top:9px;font-size:19px}.conquista-tematica p{min-height:4.5em}

.certificado-progresso-grafico{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;width:min(720px,100%);margin:24px auto}.certificado-anel{--p:0%;position:relative;width:142px;height:142px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--green) 0 var(--p),#e6e0d4 var(--p));box-shadow:inset 0 0 0 1px rgba(25,79,60,.08)}.certificado-anel:before{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--paper)}.certificado-anel strong,.certificado-anel span{position:relative;z-index:1}.certificado-anel strong{font-family:var(--fonte-titulo);font-size:32px;line-height:1;color:var(--green)}.certificado-anel span{font-size:9px;font-weight:800;color:#68766e}.certificado-progresso-grafico[data-concluidos="1"] .certificado-anel{--p:12.5%}.certificado-progresso-grafico[data-concluidos="2"] .certificado-anel{--p:25%}.certificado-progresso-grafico[data-concluidos="3"] .certificado-anel{--p:37.5%}.certificado-progresso-grafico[data-concluidos="4"] .certificado-anel{--p:50%}.certificado-progresso-grafico[data-concluidos="5"] .certificado-anel{--p:62.5%}.certificado-progresso-grafico[data-concluidos="6"] .certificado-anel{--p:75%}.certificado-progresso-grafico[data-concluidos="7"] .certificado-anel{--p:87.5%}.certificado-progresso-grafico[data-concluidos="8"] .certificado-anel{--p:100%}
.certificado-progresso-grafico ol{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none}.certificado-progresso-grafico li{display:flex;align-items:center;gap:6px;padding:8px;border-radius:12px;background:#eee9df;color:#89938d}.certificado-progresso-grafico li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#ddd7ca;font-family:var(--fonte-titulo);font-size:12px}.certificado-progresso-grafico li small{font-size:8px;font-weight:800}.certificado-progresso-grafico li.concluido{background:#e2efe7;color:#24563f}.certificado-progresso-grafico li.concluido>span{background:var(--green);color:#fff}.certificado-resumo{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center;margin-bottom:22px;padding:24px 28px;border:1px solid #d9e4dc;border-radius:24px;background:linear-gradient(120deg,#edf5ef,#fff5d9)}.certificado-resumo h2{margin-top:9px;color:var(--green);font-size:26px}.certificado-resumo p{margin-top:7px;font-size:13px}.certificado-resumo .certificado-progresso-grafico{margin:0;grid-template-columns:110px 1fr;gap:16px}.certificado-resumo .certificado-anel{width:104px;height:104px}.certificado-resumo .certificado-anel strong{font-size:24px}

@media(max-width:980px){.jornada-ponto{width:164px}.jornada-ponto[data-capitulo="1"]{left:3%}.jornada-ponto[data-capitulo="2"]{left:20%}.jornada-ponto[data-capitulo="3"]{left:37%}.jornada-ponto[data-capitulo="4"]{left:25%}.jornada-ponto[data-capitulo="5"]{left:39%}.jornada-ponto[data-capitulo="6"]{left:55%}.jornada-ponto[data-capitulo="7"]{left:61%}.jornada-ponto[data-capitulo="8"]{right:2%}.jornada-ponto-texto strong{font-size:9px}.certificado-resumo{grid-template-columns:1fr}.certificado-resumo .certificado-progresso-grafico{margin:auto}}
@media(max-width:760px){.cartao-boas{min-height:0;padding-bottom:130px}.cartao-boas:after{height:130px}.boas-poupinha{position:absolute;right:66px;bottom:4px;margin:0}.boas-poupinha img{width:108px}.jornada-destaque{padding:18px 14px}.jornada-cenario,.jornada-cenario-compacto{min-height:860px;border-radius:22px}.jornada-cenario-ceu{background-position:61% center}.jornada-mapa,.jornada-cenario-compacto .jornada-mapa{min-height:860px}.jornada-ponto,.jornada-cenario-compacto .jornada-ponto{left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:min(270px,calc(100% - 54px))}.jornada-ponto:nth-child(odd){left:18px!important}.jornada-ponto:nth-child(even){right:18px!important}.jornada-ponto[data-capitulo="1"]{bottom:18px!important}.jornada-ponto[data-capitulo="2"]{bottom:120px!important}.jornada-ponto[data-capitulo="3"]{bottom:222px!important}.jornada-ponto[data-capitulo="4"]{bottom:324px!important}.jornada-ponto[data-capitulo="5"]{bottom:426px!important}.jornada-ponto[data-capitulo="6"]{bottom:528px!important}.jornada-ponto[data-capitulo="7"]{bottom:630px!important}.jornada-ponto[data-capitulo="8"]{bottom:732px!important}.jornada-ponto-texto strong,.jornada-cenario-compacto .jornada-ponto-texto strong{font-size:11px}.jornada-ipe-legenda{top:12px;right:12px}.grade-conquistas{grid-template-columns:1fr}.conquista-tematica{min-height:0}.certificado-progresso-grafico,.certificado-resumo .certificado-progresso-grafico{grid-template-columns:1fr}.certificado-anel,.certificado-resumo .certificado-anel{margin:auto}.certificado-progresso-grafico ol{grid-template-columns:repeat(2,1fr)}.certificado-resumo{padding:20px 16px}.certificado-resumo h2{font-size:23px}}
