/* Academia do Caçador PT */
:root{
  --paper:#F5F1E6; --paper-warm:#FAF7EE; --card:#FFFDF6;
  --ink:#173C2B; --ink-soft:rgba(23,60,43,0.72); --ink-faint:rgba(23,60,43,0.45);
  --olive:#71815B; --brown:#795B40; --rust:#B5643C; --plum:#6B5B8A;
  --sage:#DCE5D3; --peach:#F4E0CC; --lavender:#E3DCE9; --butter:#F1E7C6;
  --serif:'Instrument Serif', Georgia, serif;
  --sans:'Archivo','Helvetica Neue',sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --radius:20px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(45deg, transparent 0 16px, rgba(23,60,43,0.018) 16px 32px);
}
a{color:inherit;text-decoration:none;}

.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px clamp(16px,4vw,48px);
  background:rgba(245,241,230,0.92);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(23,60,43,0.12);
}
.brand{display:flex;align-items:center;gap:10px;min-width:0;}
.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--olive);flex:none;}
.brand-name{font-family:var(--mono);font-size:15px;text-transform:uppercase;letter-spacing:0.16em;color:var(--ink);white-space:nowrap;}
.brand-sub{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.14em;color:var(--brown);white-space:nowrap;}
.nav{display:flex;gap:6px;flex-wrap:wrap;}
.nav a{
  font-weight:600;font-size:15px;color:var(--ink-soft);
  padding:8px 14px;border-radius:999px;transition:background .15s,color .15s;
}
.nav a:hover{background:var(--sage);color:var(--ink);}

main{max-width:1080px;margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,48px) 80px;min-height:60vh;}

.eyebrow{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:0.18em;color:var(--rust);margin:0 0 10px;}
h1.display{font-family:var(--serif);font-weight:400;font-size:clamp(40px,7vw,72px);line-height:1.02;letter-spacing:-0.01em;margin:0 0 18px;}
h1.display em{color:var(--olive);}
h1.display .warm{color:var(--rust);}
.lede{font-size:clamp(17px,2.2vw,21px);color:var(--ink-soft);max-width:64ch;margin:0 0 28px;line-height:1.55;}

.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.12em;}
.chip.sage{background:var(--sage);color:var(--ink);}
.chip.peach{background:var(--peach);color:var(--brown);}
.chip.lav{background:var(--lavender);color:var(--plum);}
.chip.butter{background:var(--butter);color:var(--brown);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:700;font-size:17px;
  padding:14px 26px;border-radius:999px;border:2px solid transparent;cursor:pointer;
  transition:transform .12s, box-shadow .12s, background .15s;
}
.btn:active{transform:translateY(1px);}
.btn.primary{background:var(--ink);color:var(--paper);box-shadow:0 10px 26px rgba(23,60,43,0.22);}
.btn.primary:hover{background:#0f2b1f;}
.btn.rust{background:var(--rust);color:var(--paper);box-shadow:0 10px 26px rgba(181,100,60,0.25);}
.btn.ghost{background:transparent;border-color:rgba(23,60,43,0.35);color:var(--ink);}
.btn.ghost:hover{background:rgba(23,60,43,0.06);}
.btn.big{font-size:19px;padding:18px 34px;}
.btn[disabled]{opacity:.45;cursor:not-allowed;}

.card{background:var(--card);border-radius:var(--radius);box-shadow:0 14px 40px rgba(23,60,43,0.08);padding:clamp(18px,3vw,28px);}
.tint-sage{background:var(--sage);}
.tint-peach{background:var(--peach);}
.tint-lav{background:var(--lavender);}
.tint-butter{background:var(--butter);}
.tint-dark{background:var(--ink);color:var(--paper);}

.grid{display:grid;gap:16px;}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:820px){.grid.cols-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr;}}

.module-card{border-radius:var(--radius);padding:20px 22px;display:flex;flex-direction:column;gap:8px;min-height:150px;transition:transform .12s;}
.module-card:hover{transform:translateY(-2px);}
.module-card .m-num{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.16em;}
.module-card h3{font-family:var(--sans);font-weight:800;font-size:21px;line-height:1.15;margin:0;}
.module-card p{margin:0;font-size:15px;color:var(--ink-soft);line-height:1.4;}

.hero{display:grid;grid-template-columns:1.15fr 0.85fr;gap:clamp(20px,4vw,48px);align-items:center;margin-bottom:40px;}
@media(max-width:820px){.hero{grid-template-columns:1fr;}}
.hero-art{
  border-radius:28px;overflow:hidden;position:relative;
  background:linear-gradient(160deg,var(--sage),var(--butter));
  min-height:260px;display:flex;align-items:flex-end;
  box-shadow:0 24px 60px rgba(23,60,43,0.14);
}
.hero-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0.95;}
.hero-art .tag{
  position:relative;z-index:2;margin:14px;padding:10px 16px;border-radius:14px;
  background:rgba(255,253,246,0.92);font-family:var(--serif);font-style:italic;font-size:18px;color:var(--brown);
}
.stat-row{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0;}
.stat{border-radius:18px;padding:16px 20px;min-width:150px;flex:1;}
.stat .n{font-family:var(--serif);font-size:44px;line-height:1;}
.stat .l{font-size:14px;color:var(--ink-soft);margin-top:4px;line-height:1.3;}

.notice-band{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--ink);color:var(--paper);border-radius:18px;padding:18px 22px;margin-top:34px;
}
.notice-band .dot{width:10px;height:10px;border-radius:50%;background:var(--sage);margin-top:7px;flex:none;}
.notice-band p{margin:0;font-size:15.5px;line-height:1.5;color:rgba(245,241,230,0.85);}
.notice-band strong{color:var(--paper);}

.fact{border-radius:16px;padding:16px 18px;}
.fact h4{margin:0 0 6px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.16em;}
.fact p{margin:0;font-size:16px;line-height:1.45;color:var(--ink);}
.quiz-inline{margin-top:22px;}
.quiz-inline .q{font-family:var(--serif);font-size:clamp(22px,3vw,30px);line-height:1.2;margin:0 0 14px;}
.opt-row{display:flex;flex-direction:column;gap:10px;}
.opt{
  text-align:left;width:100%;cursor:pointer;
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;border-radius:14px;border:1.5px solid rgba(23,60,43,0.2);
  background:var(--paper-warm);font-family:var(--sans);font-size:17px;color:var(--ink);
  transition:border-color .12s, background .12s;
}
.opt:hover:not([disabled]){border-color:var(--ink);}
.opt .letter{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--brown);width:22px;flex:none;}
.opt.correct{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.opt.correct .letter{color:var(--sage);}
.opt.wrong{background:var(--peach);border-color:var(--rust);}
.opt.wrong .letter{color:var(--rust);}
.opt[disabled]{cursor:default;}
.explain{margin-top:14px;padding:14px 18px;border-radius:14px;background:var(--lavender);font-size:16px;line-height:1.5;color:var(--ink);}
.explain .src{display:block;margin-top:8px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.12em;color:var(--plum);}

.exam-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;}
.timer{
  font-family:var(--mono);font-size:26px;letter-spacing:0.04em;color:var(--ink);
  background:var(--card);border-radius:14px;padding:8px 16px;box-shadow:0 8px 20px rgba(23,60,43,0.1);
  display:inline-flex;align-items:center;gap:10px;
}
.timer.low{color:var(--rust);animation:pulse 1s infinite;}
@keyframes pulse{50%{opacity:.55;}}
.timer .tdot{width:10px;height:10px;border-radius:50%;background:var(--rust);}
.dots{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 22px;}
.dots span{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(23,60,43,0.3);flex:none;}
.dots span.done{background:var(--olive);border-color:var(--olive);}
.dots span.now{border:2.5px solid var(--rust);background:var(--card);}
.q-card{background:var(--card);border-radius:24px;box-shadow:0 18px 48px rgba(23,60,43,0.1);padding:clamp(20px,3.5vw,34px);position:relative;overflow:hidden;}
.q-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--rust);}
.q-id{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:0.16em;color:var(--rust);margin:0 0 10px;}
.q-stem{font-family:var(--serif);font-size:clamp(24px,3.4vw,34px);line-height:1.22;margin:0 0 20px;}
.exam-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap;}
.finish-note{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--brown);text-align:center;margin-top:18px;}

.verdict{font-family:var(--serif);font-size:clamp(44px,8vw,84px);line-height:1;margin:0 0 6px;}
.verdict.pass{color:var(--olive);}
.verdict.fail{color:var(--rust);}
.score-hero{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:18px 0 6px;}
.score-hero .big{font-family:var(--serif);font-size:clamp(64px,12vw,120px);line-height:0.9;}
.score-hero .of{font-family:var(--serif);font-style:italic;font-size:clamp(28px,5vw,48px);color:var(--ink-faint);}
.theme-bar{margin:10px 0;}
.theme-bar .row{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.theme-bar .name{width:170px;font-weight:600;font-size:15px;color:var(--ink);flex:none;}
.theme-bar .track{flex:1;height:10px;background:rgba(23,60,43,0.1);border-radius:5px;overflow:hidden;}
.theme-bar .fill{height:100%;background:var(--olive);border-radius:5px;}
.theme-bar .fill.warn{background:var(--rust);}
.theme-bar .val{font-family:var(--mono);font-size:14px;color:var(--ink-soft);width:44px;text-align:right;flex:none;}
.review-item{border-radius:16px;padding:16px 18px;margin-top:12px;}
.review-item .rq{font-weight:600;font-size:17px;line-height:1.35;margin:0 0 8px;}
.review-item .ra{font-size:15.5px;line-height:1.45;color:var(--ink-soft);}
.review-item .ra b{color:var(--ink);}
.tag-ok{color:var(--olive);font-weight:700;}
.tag-no{color:var(--rust);font-weight:700;}

.readiness{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.readiness .pct{font-family:var(--serif);font-size:clamp(56px,10vw,96px);line-height:0.9;}
.readiness .lbl{max-width:34ch;font-size:16px;color:var(--ink-soft);line-height:1.45;}
.history-table{width:100%;border-collapse:collapse;margin-top:8px;}
.history-table th{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-faint);text-align:left;padding:8px 10px;border-bottom:1px solid rgba(23,60,43,0.15);}
.history-table td{padding:10px;border-bottom:1px solid rgba(23,60,43,0.08);font-size:15.5px;}
.history-table td.num{font-family:var(--mono);}

.chat{display:flex;flex-direction:column;gap:12px;margin-top:18px;}
.bubble{max-width:78ch;padding:14px 18px;border-radius:18px;font-size:16.5px;line-height:1.5;}
.bubble.user{align-self:flex-end;background:var(--peach);border-bottom-right-radius:6px;}
.bubble.bot{align-self:flex-start;background:var(--ink);color:var(--paper);border-bottom-left-radius:6px;}
.bubble.bot .src{display:block;margin-top:8px;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:0.12em;color:var(--sage);}
.suggest{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.suggest button{
  font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--ink);
  background:var(--card);border:1.5px solid rgba(23,60,43,0.2);border-radius:999px;padding:8px 14px;cursor:pointer;
}
.suggest button:hover{border-color:var(--ink);}

.foot{border-top:1px solid rgba(23,60,43,0.15);padding:26px clamp(16px,4vw,48px) 40px;background:var(--paper-warm);}
.foot p{margin:4px 0;font-size:13.5px;color:var(--ink-faint);line-height:1.5;max-width:90ch;}
.foot strong{color:var(--ink-soft);}

:focus-visible{outline:3px solid var(--rust);outline-offset:3px;border-radius:8px;}
.opt:focus-visible{outline-offset:2px;}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

.util-warn{background:var(--lavender);border-radius:14px;padding:12px 16px;font-size:14.5px;color:var(--plum);line-height:1.45;margin-top:16px;}
.muted{color:var(--ink-faint);}
.section-gap{margin-top:44px;}
h2.sec{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4.5vw,44px);line-height:1.05;margin:0 0 18px;letter-spacing:-0.01em;}
h2.sec em{color:var(--olive);}
/* --- acrescentos: estados de seleção e navegação do simulador --- */
.opt.sel{border-color:var(--ink);background:var(--sage);box-shadow:inset 0 0 0 1.5px var(--ink);}
.opt.sel .letter{color:var(--ink);}
.dots span{cursor:pointer;}
.dots span:hover{border-color:var(--ink);}
.theme-bar .name{width:190px;}
@media(max-width:560px){
  .theme-bar .name{width:128px;font-size:13.5px;}
  .theme-bar .val{width:38px;font-size:12.5px;}
}
.exam-head .abandon{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.12em;color:var(--ink-faint);background:none;border:0;cursor:pointer;padding:6px 0;}
.exam-head .abandon:hover{color:var(--rust);}

/* --- correção de especificidade: .section-gap perdia para h2.sec --- */
h2.section-gap{margin-top:44px;}
.finish-note + p{margin-top:14px;}

/* --- telemóvel: cabeçalho compacto e navegação deslizante --- */
@media(max-width:640px){
  .topbar{padding:10px 16px;gap:8px;}
  .brand-sub{display:none;}
  .brand-name{font-size:13px;letter-spacing:0.12em;}
  .nav{width:100%;flex-wrap:nowrap;overflow-x:auto;gap:2px;padding-bottom:2px;scrollbar-width:none;}
  .nav::-webkit-scrollbar{display:none;}
  .nav a{white-space:nowrap;font-size:14px;padding:7px 11px;}
  main{padding-top:22px;}
  .stat{min-width:calc(50% - 7px);}
  .exam-head .timer{font-size:22px;}
}

/* --- etiquetas de navegação curtas em ecrãs pequenos --- */
.nav .sm{display:none;}
@media(max-width:640px){
  .nav .lg{display:none;}
  .nav .sm{display:inline;}
}
@media(max-width:640px){
  .nav{gap:0;justify-content:space-between;}
  .nav a{font-size:13px;padding:7px 8px;letter-spacing:0;}
}
@media(max-width:640px){
  .exam-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;}
  .exam-nav .muted{grid-column:1 / -1;order:-1;text-align:center;}
  .exam-nav .btn{width:100%;}
  .dots span{width:14px;height:14px;}
}

/* --- barras de desempenho: o preenchimento é um span, precisa de bloco --- */
.theme-bar .track{display:block;}
.theme-bar .fill{display:block;min-width:2px;transition:width .4s ease;}

/* --- foco programático no conteúdo: sem contorno, mantendo o anúncio ao leitor de ecrã --- */
#view:focus, #view:focus-visible{outline:none;}

/* --- assistente: estado de espera --- */
.bubble .thinking{opacity:.72;font-style:italic}
.bubble .thinking::after{content:"…"}

/* --- primeiro passo: calculadora e caminho --- */
.pp-calc{padding:26px}
.pp-title{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 6px}
.pp-grupo{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0;padding-bottom:14px;border-bottom:1px solid rgba(23,60,43,.08)}
.pp-grupo>span{font-weight:700;font-size:15px}
.pp-opcoes{display:flex;gap:8px;flex-wrap:wrap}
.pp-opcoes button{border:1.5px solid rgba(23,60,43,.22);background:transparent;border-radius:999px;padding:9px 16px;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.pp-opcoes button:hover{border-color:var(--ink)}
.pp-opcoes button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pp-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:20px;padding-top:18px;border-top:1.5px solid rgba(23,60,43,.14);flex-wrap:wrap}
.pp-total-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.pp-total strong{font-family:var(--serif);font-size:clamp(30px,7vw,46px);line-height:1;font-weight:400}
.pp-linhas{list-style:none;padding:0;margin:16px 0 0}
.pp-linhas li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed rgba(23,60,43,.14);font-size:15px}
.pp-linhas b{display:block;font-weight:700}
.pp-linhas em{font-style:normal;color:var(--ink-soft);font-size:13px}
.pp-fora{font-size:13.5px;line-height:1.65;background:rgba(181,100,60,.09);border-left:3px solid var(--rust);padding:13px 15px;border-radius:0 10px 10px 0;margin:18px 0 0}
.pp-nota{font-size:13px;line-height:1.6;background:rgba(23,60,43,.05);border-left:3px solid rgba(23,60,43,.3);padding:12px 15px;border-radius:0 10px 10px 0;margin:14px 0 0;color:var(--ink-soft)}
.pp-h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,4.4vw,36px);margin:42px 0 6px;line-height:1.1}
.pp-sub{margin:0 0 14px;color:var(--ink-soft);font-size:15px}
.pp-passos{list-style:none;padding:0;margin:0}
.pp-passo{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid rgba(23,60,43,.1);align-items:flex-start}
.pp-passo button{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(23,60,43,.3);background:transparent;flex:0 0 auto;margin:2px 0 0;cursor:pointer;position:relative;padding:0}
.pp-passo.done button{background:var(--ink);border-color:var(--ink)}
.pp-passo.done .pp-mark::after{content:"";position:absolute;left:9px;top:4px;width:6px;height:12px;border-right:2px solid var(--paper);border-bottom:2px solid var(--paper);transform:rotate(40deg)}
.pp-passo.done b{opacity:.55;text-decoration:line-through}
.pp-passo b{font-size:15.5px}
.pp-passo p{margin:4px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.pp-verdades{background:var(--ink);color:var(--paper);padding:26px;border-radius:var(--radius);margin:32px 0}
.pp-verdades .pp-title{color:rgba(245,241,230,.6)}
.pp-verdades ul{margin:10px 0 0;padding-left:18px}
.pp-verdades li{margin-bottom:12px;font-size:15px;line-height:1.65}
.pp-verdades li:last-child{margin-bottom:0}
.pp-fontes{list-style:none;padding:0;margin:8px 0 0}
.pp-fontes li{padding:11px 0;border-bottom:1px solid rgba(23,60,43,.1);font-size:14.5px}
.pp-fontes a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pp-fontes span{display:block;color:var(--ink-soft);font-size:13px;margin-top:2px}
@media(max-width:640px){.pp-calc{padding:20px}.pp-verdades{padding:22px}}

/* --- menu com seis entradas: desliza sem barra visível em ecrãs pequenos --- */
@media(max-width:760px){
  .nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    padding-right:18px;mask-image:linear-gradient(to right,#000 88%,transparent 100%);
    -webkit-mask-image:linear-gradient(to right,#000 88%,transparent 100%)}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap;font-size:14px;padding:8px 12px}
}
/* --- chamada para o primeiro passo, na home --- */
.pp-cta{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;
  margin:26px 0 0;padding:20px 24px;border-radius:18px;background:var(--sage);color:var(--ink)}
.pp-cta b{font-family:var(--serif);font-size:clamp(20px,3.4vw,26px);font-weight:400;display:block;line-height:1.15}
.pp-cta p{margin:4px 0 0;font-size:14px;color:var(--ink-soft);max-width:52ch}
.pp-cta a{background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:999px;font-weight:700;font-size:14.5px;white-space:nowrap}

/* --- modo mentor --- */
.mt-escolha{margin-top:22px}
.mt-card{display:block;padding:26px;transition:transform .18s,box-shadow .18s}
.mt-card:hover{transform:translateY(-2px)}
.mt-tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}
.mt-card b{display:block;font-family:var(--serif);font-size:clamp(22px,3.4vw,28px);font-weight:400;margin:6px 0 8px;line-height:1.1}
.mt-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.mt-go{display:inline-block;margin-top:16px;font-weight:700;font-size:14px;border-bottom:2px solid var(--rust);padding-bottom:2px}
.mt-code{text-align:center;padding:28px}
.mt-code strong{display:block;font-family:var(--mono);font-size:clamp(30px,8vw,44px);letter-spacing:.22em;margin:6px 0 4px}
.mt-link{font-family:var(--mono);font-size:12px;color:var(--ink-faint);word-break:break-all;margin:0}
.mt-ler{margin-top:18px}
.mt-sub{font-size:14px;color:var(--ink-soft);margin:6px 0 14px;line-height:1.6}
.mt-ler input{flex:1;min-width:120px;max-width:180px;padding:13px 16px;border-radius:12px;border:1.5px solid rgba(23,60,43,.25);background:var(--paper-warm);font-family:var(--mono);font-size:20px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.mt-saida{margin-top:16px;padding:16px 18px;border-radius:14px;background:var(--sage)}
.mt-saida strong{display:block;font-family:var(--mono);font-size:26px;letter-spacing:.18em;margin-bottom:4px}
.mt-saida span{font-size:13.5px;color:var(--ink-soft);line-height:1.55;display:block}
.mt-erro{margin-top:14px;font-size:14px;color:var(--rust);font-weight:600}
.mt-barra{height:8px;border-radius:999px;background:rgba(23,60,43,.12);overflow:hidden;margin:20px 0 8px}
.mt-barra span{display:block;height:100%;background:var(--ink);border-radius:999px;transition:width .25s}
.mt-contagem{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px}
.mt-dias{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rust);margin:4px 0 0}
.mt-devolver{margin-top:28px}

/* --- acesso ao terreno --- */
.tr-tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:8px 0 0}
.tr-tipo{padding:20px}
.tr-tipo b{display:block;font-size:15.5px;margin-bottom:6px}
.tr-tipo p{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.tr-acesso{display:block;font-size:13.5px;line-height:1.55;padding-top:10px;border-top:1px solid rgba(23,60,43,.12);color:var(--ink)}
.tr-fora{margin-top:10px}
.tr-fora p{margin:0 0 12px;font-size:14.5px;line-height:1.65;color:var(--ink-soft)}
.tr-fora p:last-child{margin-bottom:0}
.tr-perguntas{margin-top:6px}
.tr-pergunta{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(23,60,43,.1)}
.tr-num{font-family:var(--mono);font-size:12px;color:var(--rust);padding-top:3px}
.tr-pergunta p{margin:0;font-size:15px;line-height:1.6}
.tr-guiao{margin-top:26px}
.tr-guiao pre{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.75;background:var(--paper-warm);
  border:1px solid rgba(23,60,43,.14);border-radius:14px;padding:18px;margin:0;overflow-x:auto;color:var(--ink)}

/* --- sessenta segundos --- */
.ss-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:20px}
.ss-cartao{position:relative;padding:24px 22px 20px;border-radius:var(--radius);display:flex;flex-direction:column;min-height:230px}
.ss-num{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--ink-faint)}
.ss-t{font-family:var(--serif);font-weight:400;font-size:clamp(21px,3vw,26px);line-height:1.12;margin:8px 0 8px}
.ss-d{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--ink-soft);flex:1}
.ss-f{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.ss-acoes{display:flex;gap:8px;margin-top:14px}
.ss-acoes button{flex:1;background:rgba(255,253,246,.75);border:1px solid rgba(23,60,43,.16);border-radius:999px;
  padding:9px 12px;font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.ss-acoes button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* botão dentro da faixa de chamada, alinhado com as ligações */
.pp-cta button{background:var(--ink);color:var(--paper);border:0;padding:12px 20px;border-radius:999px;
  font-family:var(--sans);font-weight:700;font-size:14.5px;cursor:pointer;white-space:nowrap}

/* --- livro de apoio --- */
.lv-baixar{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:center;margin-top:24px;padding:26px}
.lv-capa{aspect-ratio:3/4;border-radius:10px;background:linear-gradient(160deg,#1E4A34,#173C2B 60%,#12301F);
  color:#F5F1E6;padding:16px 14px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 14px 30px rgba(23,60,43,.28);transform:rotate(-1.5deg)}
.lv-capa span{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;line-height:1.5;color:#BFD3C2}
.lv-capa b{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.05}
.lv-capa i{font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.2em;color:#E3A17A}
.lv-dados{list-style:none;padding:0;margin:10px 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.lv-dados li{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(23,60,43,.07);border-radius:999px;padding:6px 12px;color:var(--ink)}
.lv-nota{font-size:12.5px;color:var(--ink-faint);margin:12px 0 0}
.lv-indice{list-style:none;padding:0;margin:8px 0 0}
.lv-indice li{padding:14px 0;border-bottom:1px solid rgba(23,60,43,.1);display:grid;gap:4px}
.lv-indice b{font-size:15px}
.lv-indice span{font-size:14px;line-height:1.6;color:var(--ink-soft)}
@media(max-width:560px){.lv-baixar{grid-template-columns:1fr;gap:18px;padding:20px}.lv-capa{max-width:150px}}

/* --- faixa do livro de apoio na home --- */
.lv-faixa{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:34px;
  padding:26px 28px;border-radius:var(--radius);background:linear-gradient(120deg,var(--sage),var(--paper-warm) 70%);
  border:1px solid rgba(23,60,43,.12)}
.lv-faixa .eyebrow{margin:0 0 6px}
.lv-faixa h2{margin:0 0 8px;font-size:clamp(24px,3.4vw,32px)}
.lv-faixa p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-soft);max-width:46ch}
.lv-faixa-acoes{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.lv-faixa-acoes .btn{text-align:center;white-space:nowrap}
@media(max-width:720px){
  .lv-faixa{grid-template-columns:1fr;padding:22px}
  .lv-faixa-acoes{flex-direction:column;gap:8px}
  .lv-faixa-acoes .btn{width:100%;white-space:normal;font-size:14.5px;padding:13px 16px;line-height:1.3}
}

/* --- registo de fontes --- */
.fnt-estado{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;padding:22px}
.fnt-estado b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.fnt-estado span{font-family:var(--serif);font-size:20px;line-height:1.2}
.fnt-lista{margin-top:8px}
.fnt-item{padding:18px 0;border-bottom:1px solid rgba(23,60,43,.12)}
.fnt-topo{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.fnt-topo b{font-size:15.5px}
.fnt-et{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(23,60,43,.08);border-radius:999px;padding:4px 9px;color:var(--ink-soft);white-space:nowrap}
.fnt-obj{margin:4px 0 8px;font-size:13.5px;color:var(--ink-faint)}
.fnt-q{margin:0;font-size:14px;line-height:1.6}
.fnt-q span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:3px}
.fnt-rod{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 0;font-size:12px;color:var(--ink-faint)}
.fnt-rod a{color:var(--rust);text-decoration:none;border-bottom:1px solid rgba(178,86,48,.35)}
.fnt-rod span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em}
@media(max-width:640px){.fnt-estado{grid-template-columns:1fr;gap:14px}}

/* --- cartão de revisão espaçada --- */
.rv-card{border-left:3px solid var(--rust)}
.rv-txt{margin:8px 0 0;font-size:14.5px;line-height:1.65;color:var(--ink-soft);max-width:62ch}
