/* =========================================================
   Pulmão para a Vida — folha de estilos única
   Cores derivadas da marca (teal → verde). Tipos de letra
   alojados no próprio site: nenhum pedido a terceiros.
   ========================================================= */

@font-face{font-family:"Plus Jakarta Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fontes/plus-jakarta-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:600;font-style:normal;font-display:swap;src:url(fontes/plus-jakarta-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:700;font-style:normal;font-display:swap;src:url(fontes/plus-jakarta-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:800;font-style:normal;font-display:swap;src:url(fontes/plus-jakarta-sans-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-weight:400;font-style:normal;font-display:swap;src:url(fontes/source-serif-4-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-weight:400;font-style:italic;font-display:swap;src:url(fontes/source-serif-4-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-weight:600;font-style:normal;font-display:swap;src:url(fontes/source-serif-4-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(fontes/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(fontes/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --deep:#0F4A4C;
  --brand:#2A8A82;
  --brand-ink:#1D6B64;      /* texto em teal: contraste AA */
  --brand-light:#4FB6AB;
  --green:#63A544;
  --green-ink:#3E7A2A;      /* texto em verde: contraste AA */
  --green-light:#8CC059;
  --ink:#16323A;
  --muted:#556A6E;
  --paper:#F8FAF9;
  --surface:#FFFFFF;
  --rule:#DEE8E5;
  --soft:#E7F2EF;
  --soft-green:#EEF5E6;
  --clay:#9A5A1A;
  --clay-soft:#F7EBDC;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --wide:70rem;
  --read:44rem;
  --r:4px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--brand-ink);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--deep)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}
[hidden]{display:none!important}
.wide{max-width:var(--wide);margin:0 auto;padding:0 1.5rem}
.read{max-width:var(--read);margin:0 auto;padding:0 1.5rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:var(--surface);padding:.6rem 1rem;z-index:99;border:1px solid var(--brand)}
.pendente{font-family:var(--mono);font-size:.85em;color:var(--clay);background:var(--clay-soft);border:1px dashed #D9B896;padding:0 .35em;border-radius:2px}

/* ---------- tipografia ---------- */
h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0}
h1{font-size:clamp(2rem,5vw,3.05rem)}
h2{font-size:clamp(1.4rem,3vw,1.8rem)}
h3{font-size:1.1rem;letter-spacing:-.01em}
p{margin:0 0 1.05rem}
.lede{font-size:1.16rem;color:var(--muted);line-height:1.6}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-ink);margin:0 0 1rem;display:block}

/* ---------- cabeçalho ---------- */
.top{background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;gap:1.5rem;padding-top:.85rem;padding-bottom:.85rem}
.lockup{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit;flex:0 0 auto}
.lockup img{width:38px;height:38px;display:block}
.lockup .wm{display:block;line-height:1.05}
.lockup .wm b{display:block;font-weight:800;font-size:1.02rem;letter-spacing:-.005em;color:var(--deep);text-transform:uppercase}
.lockup .wm span{display:block;font-size:.7rem;color:var(--muted)}
.top nav{margin-left:auto;display:flex;gap:1.4rem;flex-wrap:wrap}
.top nav a{font-size:.92rem;font-weight:600;text-decoration:none;color:var(--ink);padding:.2rem 0;border-bottom:2px solid transparent}
.top nav a:hover,.top nav a[aria-current="page"]{color:var(--deep);border-bottom-color:var(--green-light)}

/* ---------- rodapé ---------- */
footer{background:var(--deep);color:#CFE3E0;margin-top:5rem;padding:3rem 0 2.5rem;font-size:.9rem}
footer h2{color:#fff;font-size:.74rem;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.8rem;font-weight:500}
footer a{color:#B5E0D3}
footer a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:.4rem}
.foot-note{border-top:1px solid rgba(255,255,255,.16);margin-top:2.5rem;padding-top:1.5rem;font-size:.8rem;color:#A9C6C2;line-height:1.7}
footer .pendente{background:transparent;color:#F2C99A;border-color:#8a6a45}

/* ---------- página inicial ---------- */
.hero{padding:4.5rem 0 3.5rem;border-bottom:1px solid var(--rule);background:var(--surface)}
.hero h1{max-width:20ch;margin-bottom:1.3rem}
.hero .lede{max-width:48ch}
.rule{height:5px;width:96px;border-radius:3px;margin-bottom:2rem;background:linear-gradient(90deg,var(--brand-light),var(--green-light))}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:-2.5rem}
.door{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:1.7rem 1.6rem 1.5rem;text-decoration:none;color:inherit;display:block;transition:border-color .15s,transform .15s}
.door:hover{border-color:var(--brand-light);transform:translateY(-2px);color:inherit}
.door .num{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--green-ink);display:block;margin-bottom:.9rem}
.door h2{font-size:1.1rem;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--deep)}
.door p{font-size:.94rem;color:var(--muted);margin:0}
.door .go{display:inline-block;margin-top:1rem;font-size:.88rem;font-weight:700;color:var(--brand-ink)}
.band{padding:4rem 0}
.band-soft{background:var(--soft)}
.band-white{background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.band h2{margin-bottom:1rem}
.band .intro{max-width:56ch;color:var(--muted);font-size:1.05rem}
.band .intro p{margin-bottom:1rem}
.cta{margin-top:1.4rem}
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.promise div{border-top:3px solid var(--green-light);padding-top:1rem}
.promise h3{font-size:1rem;margin-bottom:.4rem;color:var(--deep)}
.promise p{font-size:.94rem;color:var(--muted);margin:0}

/* ---------- listas de páginas ---------- */
.pieces{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.4rem}
.piece{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:1.4rem 1.5rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.5rem}
a.piece:hover{border-color:var(--brand-light);color:inherit}
.piece h3{color:var(--deep);font-size:1.02rem;line-height:1.3}
.piece p{font-size:.9rem;color:var(--muted);margin:0}
.piece.soon{opacity:.65;background:transparent;border-style:dashed}
.tagline{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-ink)}
.tagline.soon{color:var(--muted)}
.group-title{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2.6rem 0 0;padding-bottom:.5rem;border-bottom:1px solid var(--rule)}
.group-title:first-child{margin-top:0}

/* ---------- artigo ---------- */
.article-head{background:var(--surface);border-bottom:1px solid var(--rule);padding:3.5rem 0 2.2rem}
.article-head h1{font-size:clamp(1.8rem,4.4vw,2.6rem);margin-bottom:1.1rem;max-width:24ch}
.article-head .lede{max-width:40ch}
.meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;font-family:var(--mono);font-size:.72rem;color:var(--muted);margin:1.4rem 0 0}
.veredicto{font-family:var(--sans);font-size:.8rem;font-weight:700;color:#fff;background:var(--deep);padding:.3rem .75rem;border-radius:999px}
.atraso{margin-top:1.5rem;background:var(--clay-soft);border-left:4px solid var(--clay);padding:1rem 1.2rem;font-size:.92rem;border-radius:var(--r)}
article{font-family:var(--serif);font-size:18px;line-height:1.72}
article section{padding:2.8rem 0;border-bottom:1px solid var(--rule)}
article h2{font-family:var(--sans);margin-bottom:1.1rem}
article h3{font-family:var(--sans);margin:2rem 0 .5rem}
article ul,article ol{margin:0 0 1.05rem;padding-left:1.2rem}
article li{margin-bottom:.55rem}
sup.ref{font-family:var(--sans);font-size:.62em;font-weight:700;line-height:0;margin-left:.1em}
sup.ref a{text-decoration:none;color:var(--brand-ink);padding:0 .1em}
sup.ref a:hover{text-decoration:underline}
#notas{scroll-margin-top:6rem}
.step{font-family:var(--mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.7rem}
.short{background:var(--soft);border-radius:var(--r);padding:1.7rem 1.8rem}
.short p{font-size:1.08rem;margin-bottom:.8rem}
.short p:last-child{margin-bottom:0}
.crit{border-left:3px solid var(--green);padding:.15rem 0 .15rem 1.2rem;margin:1.5rem 0}
.crit-no{border-left-color:var(--clay)}
.crit p:last-child{margin-bottom:0}
.literacy{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:1.6rem 1.7rem;margin:2rem 0}
.literacy .tag{font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);display:block;margin-bottom:.7rem}
.literacy p:last-child{margin:0}
.alerta{background:var(--clay-soft);border:1px solid #E6CFB4;border-left:4px solid var(--clay);border-radius:var(--r);padding:1.1rem 1.3rem;margin:1.6rem 0;font-family:var(--sans);font-size:.97rem}
.alerta p:last-child{margin:0}

/* ---------- tabela comparativa ---------- */
.fb{border:1px solid var(--deep);border-radius:var(--r);background:var(--surface);margin:2rem 0;font-family:var(--sans);overflow:hidden}
.fb-scroll{overflow-x:auto}
.fb table{width:100%;border-collapse:collapse}
.fb caption{text-align:left;padding:1.2rem 1.4rem 1rem;border-bottom:1px solid var(--deep)}
.fb caption b{display:block;font-size:1.02rem;color:var(--deep)}
.fb caption span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;line-height:1.5}
.fb thead th{background:#F4F8F6;font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:.6rem .8rem;text-align:center;vertical-align:bottom}
.fb thead th:first-child{text-align:left;padding-left:1.4rem}
.fb tbody th{text-align:left;font-weight:400;font-size:.95rem;line-height:1.45;padding:1rem .8rem 1rem 1.4rem;border-top:1px solid var(--rule);min-width:11rem}
.fb td{text-align:center;font-weight:800;font-size:1.5rem;line-height:1.15;padding:1rem .8rem;border-top:1px solid var(--rule);white-space:nowrap}
.fb td.txt{font-weight:400;font-size:.88rem;line-height:1.45;color:var(--muted);white-space:normal;text-align:left}
.fb td.bom{color:var(--green-ink)}
.fb td.mau{color:var(--clay)}
.fb td.txt.bom,.fb td.txt.mau{font-weight:600}
.fb-note{font-family:var(--mono);font-size:.72rem;line-height:1.7;color:var(--muted);padding:1.1rem 1.4rem;background:#F4F8F6;border-top:1px solid var(--rule)}
.fb-note p{margin:0 0 .5rem}
.fb-note p:last-child{margin:0}

/* ---------- onde obter ajuda ---------- */
.tiers{display:grid;gap:1.1rem;margin-top:1.4rem}
.tier{border:1px solid var(--rule);border-radius:var(--r);padding:1.5rem 1.6rem;background:var(--surface);font-family:var(--sans);font-size:.97rem}
.tier .scope{font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.8rem;color:var(--brand-ink)}
.tier ul{padding-left:1.1rem;margin:0}
.tier p:last-child{margin-bottom:0}
.tier-loc{background:var(--soft-green);border-color:#D5E5C0}
.tier-loc .scope{color:var(--green-ink)}
.svc{list-style:none;padding:0!important;margin:.6rem 0 0!important}
.svc li{border-top:1px solid #D5E5C0;padding:.8rem 0}
.svc-cab{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;flex-wrap:wrap}
.svc p{margin:.3rem 0 0;font-size:.9rem;color:var(--muted)}
.svc dl{display:grid;grid-template-columns:11rem 1fr;gap:.2rem .8rem;margin:.5rem 0 0;font-size:.9rem}
.svc dt{color:var(--muted)}
.svc dd{margin:0}
.estado{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .55rem;border-radius:999px;white-space:nowrap}
.estado.on{background:var(--green-ink);color:#fff}
.estado.off{background:#fff;color:var(--muted);border:1px solid #D5E5C0}
.relacionados{padding:2.2rem 0 0;font-family:var(--sans)}
.relacionados h2{font-size:1.05rem;margin-bottom:.7rem}
.relacionados ul{list-style:none;padding:0}
.relacionados li{padding:.5rem 0;border-bottom:1px solid var(--rule);font-size:.97rem}

/* ---------- ficha técnica ---------- */
.colophon{font-family:var(--mono);font-size:.77rem;line-height:1.75;color:var(--muted);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:1.6rem 1.7rem;margin-top:2.5rem}
.colophon h2{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:1.1rem;font-weight:500}
.colophon h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:1.6rem 0 .6rem;font-weight:500}
.colophon dl{display:grid;grid-template-columns:9.5rem 1fr;gap:.35rem 1rem;margin:0}
.colophon dt{color:var(--ink);font-weight:500}
.colophon dd{margin:0}
.colophon .notas p{margin:0 0 .7rem}
.fontes{margin:0;padding-left:1.4rem}
.fontes li{margin-bottom:.55rem;scroll-margin-top:6rem}
.fontes li:target{background:var(--soft);outline:4px solid var(--soft)}
.ft{display:block;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}
.correcoes{padding-left:1.1rem}

/* ---------- página de fontes ---------- */
.biblio-page{font-family:var(--sans);font-size:.95rem;padding-top:1rem}
.biblio{list-style:none;padding:0;margin:.8rem 0 0}
.biblio li{padding:.8rem 0;border-bottom:1px solid var(--rule);line-height:1.55}
.usos{display:block;font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-top:.3rem}

/* ---------- plano pessoal ---------- */
.plano{padding-top:2rem;padding-bottom:2rem}
.form-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:2rem;margin-top:1.5rem}
fieldset{border:0;padding:0;margin:0 0 2rem;min-width:0}
legend{font-weight:700;font-size:1.02rem;color:var(--deep);margin-bottom:.35rem;padding:0;line-height:1.35}
.hint{font-size:.87rem;color:var(--muted);margin:0 0 .9rem}
.opts{display:flex;flex-wrap:wrap;gap:.55rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{display:block;border:1px solid var(--rule);border-radius:999px;padding:.5rem 1.05rem;font-size:.93rem;font-weight:600;background:var(--surface);transition:.12s}
.opt input:checked+span{background:var(--deep);border-color:var(--deep);color:#fff}
.opt input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.pair{display:flex;gap:1.2rem;flex-wrap:wrap}
.pair label{font-size:.9rem;color:var(--muted);display:flex;flex-direction:column;gap:.35rem}
.num-in{font-family:var(--sans);font-size:1rem;padding:.6rem .8rem;border:1px solid #C9D6D2;border-radius:var(--r);width:8rem;background:var(--surface);color:var(--ink)}
.calc{font-family:var(--mono);font-size:.78rem;color:var(--brand-ink);background:var(--soft);padding:.6rem .8rem;border-radius:var(--r);margin:1rem 0 0}
.btn{font-family:var(--sans);font-size:1rem;font-weight:700;border:0;border-radius:999px;padding:.85rem 1.9rem;cursor:pointer;background:var(--deep);color:#fff;text-decoration:none;display:inline-block}
.btn:hover{background:var(--brand-ink);color:#fff}
.btn.ghost{background:transparent;color:var(--deep);border:1px solid #C9D6D2;font-weight:600}
.btn-row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.erro{color:var(--clay);font-size:.9rem;margin:.9rem 0 0}
.resultados{margin-top:2.5rem;outline:none;scroll-margin-top:6rem}
.resultados h2{margin-bottom:.4rem}
.gerado{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-bottom:1.4rem}
.result{border:1px solid var(--rule);border-left:4px solid var(--green);border-radius:var(--r);background:var(--surface);padding:1.3rem 1.5rem;margin-bottom:1rem}
.result.nao{border-left-color:#C3CFCC}
.result.alerta-c{border-left-color:var(--clay);background:var(--clay-soft)}
.result.info{border-left-color:var(--brand)}
.result h3{color:var(--deep);margin-bottom:.35rem;font-size:1.02rem}
.result p{font-size:.95rem;margin:0 0 .55rem}
.result p:last-child{margin:0}
.result ul{margin:.2rem 0 .6rem;padding-left:1.1rem;font-size:.95rem}
.result .verdict{font-family:var(--mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.5rem}
.result .mais{font-size:.88rem;font-weight:600}
.result .local{font-size:.88rem;background:var(--soft-green);border-radius:var(--r);padding:.6rem .8rem;margin-top:.7rem}
.disclaimer{font-size:.88rem;color:var(--muted);background:var(--soft);border-radius:var(--r);padding:1.1rem 1.3rem;margin:1.6rem 0;line-height:1.6}
.nota-criterios{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-top:2rem;line-height:1.7}

/* ---------- responsivo ---------- */
@media (max-width:900px){
  .doors,.pieces,.promise,.foot-grid{grid-template-columns:1fr}
  .doors{margin-top:2rem}
}
@media (max-width:640px){
  body{font-size:16px}
  article{font-size:17px}
  .top{position:static}
  .top-in{flex-wrap:wrap;gap:.8rem}
  .top nav{margin-left:0;width:100%;gap:1rem}
  .lockup .wm span{display:none}
  .fb caption,.fb-note{padding-left:1rem;padding-right:1rem}
  .fb tbody th{padding-left:1rem;min-width:9rem;font-size:.9rem}
  .fb thead th:first-child{padding-left:1rem}
  .fb td{font-size:1.25rem;padding:.9rem .6rem}
  .colophon dl,.svc dl{grid-template-columns:1fr;gap:0}
  .colophon dt,.svc dt{margin-top:.6rem}
  .form-card{padding:1.4rem}
  .short{padding:1.3rem 1.3rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- impressão ---------- */
@media print{
  body{background:#fff;font-size:11pt}
  .top,footer,.skip,.btn,.btn-row,.form-card,.relacionados,.atraso,.plano>.alerta,.nota-criterios{display:none!important}
  .hero,.article-head{padding:0 0 1rem;border:0}
  .read,.wide{max-width:none;padding:0}
  article section{padding:1.2rem 0;break-inside:avoid-page}
  .fb,.result,.literacy,.tier{break-inside:avoid}
  a{color:inherit;text-decoration:none}
  .resultados{margin-top:0}
}

/* ---------- identidade institucional ---------- */
.inst{background:var(--deep);color:#D6EAE6}
.inst-in{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;padding-top:.45rem;padding-bottom:.45rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.inst-in span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--green-light);margin-right:1.4rem;vertical-align:middle;position:relative;top:-1px}
.projeto{font-size:.84rem;color:#B9D5D0;margin-top:1rem}
.logos{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1rem}
.logos img{height:44px;width:auto;background:#fff;padding:.4rem .6rem;border-radius:var(--r)}
.foot-legal{font-size:.8rem;margin:1rem 0 0}
.doors{grid-template-columns:repeat(auto-fit,minmax(14.5rem,1fr))}
@media (max-width:640px){.inst-in span+span::before{margin-right:.9rem}.inst-in{gap:.2rem .9rem}}
@media print{.inst{display:none!important}}

/* =========================================================
   v2 — aspeto renovado (setembro 2026)
   Cor por camada temática, ilustrações originais, esquemas.
   ========================================================= */
:root{
  --deep:#0E4547; --brand:#1F7A73; --brand-ink:#1A6962; --ink:#17333A; --muted:#4A6064;
  --paper:#F6FAF9; --rule:#D9E6E3; --soft:#E2F3EE; --soft-green:#EAF5E1;
  --t-mudar:#E4F2D8; --t-acao:#DCF0EB; --t-doenca:#E1EEF6; --t-verdade:#FBEFD3;
  --k-mudar:#356B23; --k-acao:#17625B; --k-doenca:#225A78; --k-verdade:#7A4F0E;
  --r:14px; --r-sm:8px;
}
body{font-size:17.5px}
h1{font-weight:800;letter-spacing:-.03em}
h2{letter-spacing:-.025em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* etiquetas em frase normal, sem maiúsculas espaçadas */
.eyebrow,.step,.tagline,.group-title,.tier .scope,.literacy .tag,.colophon h2,.colophon h3,.inst-in,footer h2,
.result .verdict,.fb caption span,.fb thead th,.estado,.ft,.door .num{font-family:var(--sans);text-transform:none;letter-spacing:0}
.eyebrow{font-size:.9rem;font-weight:700;color:var(--brand-ink)}
.inst-in{font-size:.78rem;font-weight:600}
footer h2{font-size:.95rem;font-weight:700}
.tier .scope,.literacy .tag{font-size:.85rem;font-weight:700}
.fb caption span{font-size:.85rem}
.fb thead th{font-size:.8rem;font-weight:700}
.estado{font-size:.75rem;font-weight:700}
.ft{font-size:.72rem;font-weight:700}

/* cabeçalho do site */
.top{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px)}
.top nav a{border-radius:999px;padding:.35rem .75rem;border-bottom:0}
.top nav a:hover{background:var(--soft)}
.top nav a[aria-current="page"]{background:var(--deep);color:#fff}
.top nav{gap:.35rem}

/* página inicial */
.hero-inicio{background:linear-gradient(180deg,#fff 0%,var(--soft) 100%);border-bottom:0;padding:3.5rem 0 3rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center}
.hero-inicio h1{font-size:clamp(2.3rem,5.4vw,3.7rem);max-width:15ch;color:var(--deep)}
.hero-inicio .lede{font-size:1.2rem;color:var(--ink);max-width:40ch}
.hero-ilu{width:100%;height:auto;display:block}
.cta{display:flex;flex-wrap:wrap;gap:.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn.ghost{background:#fff}
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2.5rem 0 1rem}
.door{display:grid;grid-template-columns:132px 1fr;gap:1.1rem;align-items:center;border:0;border-radius:22px;padding:1rem 1.4rem 1rem 1rem;background:var(--soft)}
.door:hover{transform:none;box-shadow:inset 0 0 0 2px var(--brand)}
.door-mudar{background:var(--t-mudar)}.door-verdade{background:var(--t-verdade)}.door-doenca{background:var(--t-doenca)}.door-plano{background:var(--t-acao)}
.door-ilu{width:132px;height:auto;display:block;border-radius:16px;background:#fff}
.door h2{font-size:1.15rem;margin-bottom:.35rem}
.door p{color:var(--ink);opacity:.85}
.door .go{color:var(--deep);text-decoration:underline;text-underline-offset:.2em;margin-top:.6rem}
.band{padding:3.5rem 0}
.promise div{border-top:0;background:#fff;border-radius:var(--r);padding:1.3rem 1.3rem 1.2rem;border-left:5px solid var(--green-light)}

/* cartões com miniatura */
.pieces{gap:1rem}
.piece{display:grid;grid-template-columns:112px 1fr;gap:1rem;align-items:start;border-radius:var(--r);padding:.9rem 1.1rem .9rem .9rem}
.piece-ilu{width:112px;height:84px;object-fit:cover;border-radius:10px;display:block;background:var(--soft)}
.piece-txt{display:flex;flex-direction:column;gap:.35rem}
a.piece:hover{border-color:var(--brand);box-shadow:0 2px 0 var(--brand)}
.tagline{font-size:.8rem;font-weight:600;color:var(--muted)}
.cam-mudar .tagline{color:var(--k-mudar)}.cam-acao .tagline{color:var(--k-acao)}.cam-doenca .tagline{color:var(--k-doenca)}.cam-verdade .tagline{color:var(--k-verdade)}
.group-title{font-size:1.45rem;font-weight:800;color:var(--deep);border:0;margin:3rem 0 0;padding:0;display:flex;align-items:center;gap:.7rem}
.group-title::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--green-light);flex:0 0 auto}
#acao.group-title::before{background:#4FB6AB}#doenca.group-title::before{background:#6FA9CC}#verdade.group-title::before{background:#E8B04A}

/* cabeçalho do artigo */
.article-head{border-bottom:0;padding:2.6rem 0 2.4rem;background:var(--soft)}
.article-head.cam-mudar{background:var(--t-mudar)}.article-head.cam-acao{background:var(--t-acao)}
.article-head.cam-doenca{background:var(--t-doenca)}.article-head.cam-verdade{background:var(--t-verdade)}
.head-grid{max-width:64rem;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 330px;gap:2rem;align-items:center}
.head-ilu{width:100%;height:auto;display:block}
.article-head h1{color:var(--deep);max-width:20ch}
.article-head .lede{color:var(--ink);max-width:44ch}
.camada-link{display:inline-block;font-size:.85rem;font-weight:700;text-decoration:none;background:#fff;border-radius:999px;padding:.3rem .8rem;margin-bottom:1rem}
.cam-mudar .camada-link{color:var(--k-mudar)}.cam-acao .camada-link{color:var(--k-acao)}.cam-doenca .camada-link{color:var(--k-doenca)}.cam-verdade .camada-link{color:var(--k-verdade)}
.camada-link:hover{text-decoration:underline}
.meta{font-family:var(--sans);font-size:.85rem;color:var(--ink)}
.step{display:inline-block;font-size:.82rem;font-weight:700;color:var(--brand-ink);background:var(--soft);border-radius:999px;padding:.2rem .7rem;margin-bottom:.9rem}
.short{border-radius:var(--r);border-left:6px solid var(--brand)}
.literacy,.tier,.colophon,.fb{border-radius:var(--r)}
.colophon{font-family:var(--sans);font-size:.86rem}
.colophon h2{font-size:1.05rem;font-weight:800}
.colophon h3{font-size:.95rem;font-weight:700}

/* esquemas */
.esq{margin:2.2rem 0;background:#fff;border:1px solid var(--rule);border-radius:18px;padding:1.3rem 1.4rem 1.2rem;font-family:var(--sans);font-size:.95rem;line-height:1.5}
.esq figcaption{margin-bottom:1rem}
.esq figcaption b{display:block;font-size:1.08rem;color:var(--deep);line-height:1.3}
.esq-rot{display:block;font-size:.8rem;font-weight:700;color:var(--brand-ink);margin-bottom:.2rem}
.esq-nota{font-size:.82rem;color:var(--muted);margin:1rem 0 0}
.esq ul,.esq ol{margin:0;padding:0;list-style:none}
.esq li{margin:0}
.barras{display:grid;gap:.75rem}
.barra{display:grid;grid-template-columns:minmax(7rem,34%) 1fr auto;gap:.8rem;align-items:center}
.b-rot{font-weight:600;color:var(--ink)}
.b-trilho{height:22px;background:#EAF1EF;border-radius:999px;overflow:hidden}
.b-val{display:block;height:100%;background:var(--brand);border-radius:999px}
.barra.realce .b-val{background:#D8674F}
.b-num{font-weight:800;color:var(--deep);white-space:nowrap;min-width:3.5rem;text-align:right}
.passos{counter-reset:p;display:grid;gap:.2rem}
.passos li{counter-increment:p;position:relative;padding:.2rem 0 1rem 3.1rem}
.passos li::before{content:counter(p);position:absolute;left:0;top:0;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--deep);color:#fff;font-weight:800;display:grid;place-items:center}
.passos li:not(:last-child)::after{content:"";position:absolute;left:1rem;top:2.3rem;bottom:.1rem;width:2px;background:var(--rule)}
.passos b,.lado b{display:block;color:var(--deep);margin-bottom:.15rem}
.passos span,.lado span{color:var(--ink)}
.lado{display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr)}
.lado.lado-3{grid-template-columns:repeat(3,1fr)}
.lado.lado-1{grid-template-columns:1fr}
.lado li{background:var(--paper);border-radius:12px;padding:1rem 1.05rem;border-top:4px solid var(--brand);position:relative}
.lado li.lado-sim{border-top-color:#4E8F33;background:var(--soft-green)}
.lado li.lado-nao{border-top-color:#C0563F;background:#FBEDE8}
.lado-ic{position:absolute;right:.9rem;top:.8rem;font-weight:800;font-size:1.05rem}
.lado-sim .lado-ic{color:#356B23}.lado-nao .lado-ic{color:#A8432D}
.lado-sim b,.lado-nao b{padding-right:1.5rem}
.niveis{display:grid;gap:.7rem}
.nivel{display:grid;grid-template-columns:11rem 1fr;gap:1rem;align-items:start;border-radius:12px;padding:.9rem 1rem;border-left:6px solid}
.nivel-alto{background:#FBEDE8;border-color:#C0563F}.nivel-medio{background:#FDF3DC;border-color:#D69A28}.nivel-baixo{background:var(--soft-green);border-color:#4E8F33}
.nv-rot{font-weight:800;color:var(--deep)}
.esq-desenho{border-radius:12px;overflow:hidden}
.esq-svg{width:100%;height:auto;display:block}
.esq-legenda{counter-reset:e;display:grid;gap:.55rem;margin-top:1rem!important}
.esq-legenda li{counter-increment:e;position:relative;padding-left:2.4rem;min-height:1.8rem}
.esq-legenda li::before{content:counter(e);position:absolute;left:0;top:-.05rem;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--deep);color:#fff;font-weight:800;font-size:.9rem;display:grid;place-items:center}
@media (min-width:1000px){article .esq{margin-left:-2.5rem;margin-right:-2.5rem;padding:1.6rem 2rem 1.4rem}}

/* rodapé */
footer{background:var(--deep)}

/* responsivo */
@media (max-width:900px){
  .hero-grid,.head-grid{grid-template-columns:1fr}
  .hero-ilu{max-width:420px;margin:0 auto}
  .head-ilu{max-width:260px;order:-1;margin-bottom:-.5rem}
  .doors{grid-template-columns:1fr}
  .lado,.lado.lado-3{grid-template-columns:1fr}
}
@media (max-width:640px){
  .door{grid-template-columns:92px 1fr;padding:.8rem 1rem .8rem .8rem}
  .door-ilu{width:92px}
  .piece{grid-template-columns:80px 1fr}
  .piece-ilu{width:80px;height:60px}
  .barra{grid-template-columns:1fr auto;gap:.3rem .6rem}
  .b-rot{grid-column:1 / -1}
  .nivel{grid-template-columns:1fr;gap:.3rem}
  .article-head{padding:1.6rem 0 1.8rem}
}
@media print{
  .head-ilu,.hero-ilu,.door-ilu,.piece-ilu{display:none!important}
  .article-head{background:none!important}
  .esq{break-inside:avoid;border-color:#999}
}
.hero-temas{background:linear-gradient(180deg,#fff 0%,var(--soft) 100%);border-bottom:0;padding:3rem 0 2.5rem}
.hero-temas h1{color:var(--deep)}
.head-grid:not(:has(.head-ilu)){grid-template-columns:1fr;max-width:48rem}
.plano .alerta{margin-top:0}

/* ---------- topo com vídeo de fundo (página inicial) ---------- */
.hero-video{position:relative;overflow:hidden;isolation:isolate;background:#0A3436;color:#fff;border:0;padding:0;
  min-height:clamp(520px,78vh,760px);display:flex;align-items:center}
.hv-media,.hv-veu{position:absolute;inset:0;z-index:-1}
.hv-poster,.hv-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hv-v{opacity:0;transition:opacity 1.6s ease}
.a-tocar .hv-v{opacity:1}
/* véu: garante contraste AA do texto sobre qualquer imagem, mesmo um plano branco */
.hv-veu{background:
  linear-gradient(90deg,rgba(10,52,54,.88) 0%,rgba(10,52,54,.82) 40%,rgba(10,52,54,.5) 68%,rgba(10,52,54,.22) 100%),
  linear-gradient(0deg,rgba(10,52,54,.4) 0%,rgba(10,52,54,0) 35%)}
.hv-conteudo{position:relative;width:100%;padding-top:4.5rem;padding-bottom:4.5rem}
.hero-video .hero-txt{max-width:38rem}
.hero-video h1{color:#fff;font-size:clamp(2.3rem,5.4vw,3.9rem);max-width:15ch;text-shadow:0 1px 18px rgba(0,0,0,.18)}
.hero-video .lede{color:#EEF6F4;font-size:1.2rem;max-width:40ch}
.hero-video .btn{background:#fff;color:var(--deep)}
.hero-video .btn:hover{background:#DDF1EC;color:var(--deep)}
.hero-video .btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.85)}
.hero-video .btn.ghost:hover{background:rgba(255,255,255,.12)}
.hero-video :focus-visible{outline-color:#fff}
.hv-pausa{position:absolute;right:1.1rem;bottom:1.1rem;display:inline-flex;align-items:center;gap:.5rem;
  font:600 .85rem var(--sans);color:#fff;background:rgba(10,52,54,.72);border:1px solid rgba(255,255,255,.55);
  border-radius:999px;padding:.5rem .95rem;cursor:pointer;backdrop-filter:blur(6px)}
.hv-pausa:hover{background:rgba(10,52,54,.9)}
.hv-ic{width:.7rem;height:.8rem;border-left:3px solid #fff;border-right:3px solid #fff}
.parado .hv-ic{border:0;width:0;height:0;border-left:.7rem solid #fff;border-top:.42rem solid transparent;border-bottom:.42rem solid transparent}
/* telemóvel: imagem vertical com aproximação lenta enquanto o vídeo não toca (ou se não houver versão móvel) */
@keyframes hv-zoom{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero-video:not(.a-tocar):not(.estatico) .hv-poster{animation:hv-zoom 28s ease-in-out infinite alternate}
.parado .hv-poster{animation-play-state:paused!important}
@media (max-width:767px){
  .hero-video{min-height:72svh;align-items:flex-end}
  .hv-veu{background:linear-gradient(180deg,rgba(10,52,54,.35) 0%,rgba(10,52,54,.7) 38%,rgba(10,52,54,.9) 68%,rgba(10,52,54,.94) 100%)}
  .hv-conteudo{padding-top:3rem;padding-bottom:5.2rem}
  .hero-video .lede{font-size:1.08rem}
  .hv-pausa{right:auto;left:1.5rem;bottom:1.3rem}
}
@media (prefers-reduced-motion:reduce){.hv-poster{animation:none!important}.hv-v{display:none}}
@media print{.hv-media,.hv-veu,.hv-pausa{display:none!important}.hero-video{background:none;color:inherit;min-height:0}
  .hero-video h1,.hero-video .lede{color:#000;text-shadow:none}}
/* larguras intermédias: o texto ocupa mais do ecrã, por isso o véu é mais uniforme */
@media (min-width:768px) and (max-width:1199px){
  .hv-veu{background:linear-gradient(90deg,rgba(10,52,54,.88) 0%,rgba(10,52,54,.82) 62%,rgba(10,52,54,.55) 100%),
    linear-gradient(0deg,rgba(10,52,54,.4) 0%,rgba(10,52,54,0) 35%)}
}

/* ---------- página inicial: destaque sazonal ---------- */
.destaque{padding:2.5rem 0 0}
.dq{position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:center;
  border-radius:28px;padding:2.6rem 2.8rem;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,#1F7A73 0%,#145B58 38%,#0E4547 75%)}
.dq::after{content:"";position:absolute;right:-90px;bottom:-120px;width:380px;height:380px;border-radius:50%;
  background:rgba(255,255,255,.05);pointer-events:none}
.dq-estado{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1rem;font:700 .85rem var(--sans);
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.35rem .85rem}
.dq-ponto{width:.55rem;height:.55rem;border-radius:50%;background:#9BE07A;box-shadow:0 0 0 4px rgba(155,224,122,.22)}
.dq h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0 0 .4rem;letter-spacing:-.03em}
.dq-datas{font:700 1.08rem var(--sans);color:#CFEDE6;margin:0 0 1rem}
.dq-texto{color:#E6F3F0;max-width:44ch;margin:0 0 1.4rem}
.dq-texto a{color:#fff}
.dq-factos{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.dq-factos li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:.8rem .9rem;margin:0}
.dq-factos b{display:block;font:800 1rem var(--sans);color:#fff;margin-bottom:.15rem}
.dq-factos span{font:500 .9rem/1.35 var(--sans);color:#D7ECE7}
.dq .btn{background:#fff;color:var(--deep)}
.dq .btn:hover{background:#DDF1EC;color:var(--deep)}
.dq .btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.8)}
.dq .btn.ghost:hover{background:rgba(255,255,255,.12)}
.dq :focus-visible{outline-color:#fff}
.dq-ilu{width:100%;max-width:360px;height:auto;justify-self:center;filter:drop-shadow(0 18px 30px rgba(0,0,0,.18))}

/* ---------- página inicial: portas de entrada ---------- */
.band-portas{padding:3.2rem 0 1rem}
.band-portas h2{color:var(--deep);margin:0 0 1.4rem}
.doors{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin:0}
.door{display:flex;flex-direction:column;padding:0;gap:0;border-radius:24px;overflow:hidden;background:#fff;
  border:1px solid var(--rule);text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  grid-template-columns:none}
.door:hover{transform:translateY(-4px);box-shadow:0 16px 34px -18px rgba(14,69,71,.45);border-color:transparent}
.door-vis{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.door-ilu{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;background:none;transition:transform .5s ease}
.door:hover .door-ilu{transform:scale(1.06)}
.door-mudar .door-vis{background:#F0F8E8}.door-verdade .door-vis{background:#FEF6E4}.door-doenca .door-vis{background:#EDF5FA}
.door-txt{display:flex;flex-direction:column;flex:1;padding:1.3rem 1.4rem 1.4rem}
.door h3{font-size:1.18rem;line-height:1.25;color:var(--deep);margin:0 0 .5rem;letter-spacing:-.015em}
.door p{font-family:var(--sans);font-size:.95rem;line-height:1.5;color:var(--muted);margin:0 0 1.1rem;opacity:1}
.door .go{margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;font:700 .95rem var(--sans);color:var(--brand-ink);text-decoration:none}
.seta{transition:transform .25s ease}
.door:hover .seta{transform:translateX(4px)}
/* o plano pessoal é o ponto de partida recomendado: cartão escuro */
.door-plano{background:var(--deep);border-color:var(--deep)}
.door-plano .door-vis{background:#145B58}
.door-plano h3{color:#fff}
.door-plano p{color:#D7ECE7}
.door-plano .go{color:#fff}
@media (max-width:1099px){.doors{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.dq{grid-template-columns:1fr;padding:2rem 1.6rem}.dq-ilu{max-width:240px;order:-1;justify-self:start}
  .dq-factos{grid-template-columns:1fr}}
@media (max-width:600px){.doors{grid-template-columns:1fr}.door{display:grid;grid-template-columns:118px 1fr}
  .door-vis{aspect-ratio:auto;height:100%}.door-txt{padding:1rem 1.1rem}.door p{margin-bottom:.7rem}
  .dq{border-radius:22px}.destaque{padding-top:1.5rem}}
@media (prefers-reduced-motion:reduce){.door,.door-ilu,.seta{transition:none}.door:hover{transform:none}.door:hover .door-ilu{transform:none}}
@media (max-width:600px){
  .door{grid-template-columns:96px 1fr;align-items:start}
  .door-vis{aspect-ratio:1/1;height:auto;width:96px;margin:1rem 0 1rem 1rem;border-radius:16px}
}
@media (max-width:600px){.door .door-txt{padding:1rem 1.1rem 1.1rem 1.1rem}}

/* ---------- página «Sobre»: equipa ---------- */
.equipa{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.6rem 0 .6rem;font-family:var(--sans)}
.eq-grupo{background:#fff;border:1px solid var(--rule);border-radius:18px;padding:1.2rem 1.3rem}
.eq-grupo:first-child{grid-column:1 / -1;background:var(--t-acao);border-color:transparent}
.eq-grupo h3{font-size:1rem;font-weight:800;color:var(--deep);margin:0 0 .7rem}
.eq-grupo ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.eq-grupo li{margin:0;line-height:1.35}
.eq-nome{display:block;font-weight:700;color:var(--ink)}
.eq-funcao{display:block;font-size:.88rem;color:var(--muted)}
.eq-ast{color:var(--brand-ink);font-weight:800;margin-left:.15rem}
.eq-nota{font-family:var(--sans);font-size:.88rem;color:var(--muted)}
@media (max-width:640px){.equipa{grid-template-columns:1fr}}
.eq-grupo:last-child:nth-child(even){grid-column:1 / -1}
/* equipa v2: grupos grandes a toda a largura, pequenos lado a lado; nomes em colunas */
.equipa{grid-template-columns:repeat(6,1fr)}
.eq-grupo{grid-column:span 2}
.eq-grupo.eq-grande{grid-column:1 / -1}
.eq-grupo:first-child{background:#fff;border-color:var(--rule)}
.eq-grupo:last-child:nth-child(even){grid-column:span 2}
.eq-grupo h3{font-size:1.1rem;margin-bottom:.9rem}
.eq-sub + .eq-sub{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--rule)}
.eq-sub h4{font:700 .8rem var(--sans);color:var(--brand-ink);margin:0 0 .55rem}
.eq-grupo ul{display:block;columns:14rem;column-gap:1.6rem}
.eq-grupo li{break-inside:avoid;margin:0 0 .45rem}
.eq-nome{font-weight:600}
.eq-nota-m{font-weight:500;color:var(--brand-ink)}
.eq-papel{display:inline-block;margin-top:.15rem;font:700 .72rem var(--sans);color:var(--deep);background:var(--t-acao);border-radius:999px;padding:.12rem .55rem}
@media (max-width:900px){.eq-grupo{grid-column:span 3}.eq-grupo:last-child:nth-child(odd){grid-column:1 / -1}}
@media (max-width:640px){.equipa{grid-template-columns:1fr}.eq-grupo,.eq-grupo.eq-grande{grid-column:1 / -1}}

/* ---------- nome do projeto nos títulos ---------- */
.marca{color:#3F7F2B}
@media (forced-colors:active){.marca{color:CanvasText}}

/* ---------- cabeçalho com rede de fundo e ilustração animada ---------- */
.tem-rede{position:relative;overflow:hidden;isolation:isolate}
.rede{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.3) 45%,#000 80%);
          mask-image:linear-gradient(90deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.3) 45%,#000 80%)}
.tem-rede .head-grid{position:relative;z-index:1}
.anima .ilu-pessoa,.anima .ilu-pulmao,.anima .ilu-fundo{transform-box:fill-box}
.anima .ilu-pessoa{transform-origin:50% 100%;animation:ilu-respira 5.6s ease-in-out infinite}
.anima .ilu-p2{animation-delay:-1.9s}
.anima .ilu-p3{animation-delay:-3.7s}
.anima .ilu-pulmao{transform-origin:50% 35%;animation:ilu-pulmao 4.6s ease-in-out infinite}
.anima .ilu-fundo{transform-origin:50% 50%;animation:ilu-fundo 16s ease-in-out infinite}
@keyframes ilu-respira{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.012)}}
@keyframes ilu-pulmao{0%,100%{transform:scale(1)}45%{transform:scale(1.09)}}
@keyframes ilu-fundo{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.03) rotate(-2deg)}}
.parado .anima *{animation-play-state:paused!important}
.anim-pausa{position:absolute;right:1.1rem;bottom:1rem;z-index:2;display:inline-flex;align-items:center;gap:.5rem;
  font:600 .8rem var(--sans);color:var(--deep);background:rgba(255,255,255,.75);border:1px solid rgba(14,69,71,.2);
  border-radius:999px;padding:.4rem .85rem;cursor:pointer;backdrop-filter:blur(6px)}
.anim-pausa:hover{background:#fff}
.anim-pausa .hv-ic{border-left-color:var(--deep);border-right-color:var(--deep)}
.parado .anim-pausa .hv-ic{border-left-color:var(--deep)}
@media (prefers-reduced-motion:reduce){.anima *{animation:none!important}}
@media print{.rede,.anim-pausa{display:none!important}}
@media (max-width:900px){.tem-rede{padding-bottom:4.2rem}}
/* lupa: movimento lento de quem examina */
.anima .ilu-lupa{transform-box:fill-box;transform-origin:50% 50%;animation:ilu-lupa 9s ease-in-out infinite}
@keyframes ilu-lupa{0%,100%{transform:translate(0,0) rotate(0deg)}30%{transform:translate(-9px,5px) rotate(-5deg)}
  65%{transform:translate(7px,-4px) rotate(4deg)}}
/* plano: os vistos marcam-se um a um, em ciclo */
.anima .ilu-check{stroke-dasharray:1;stroke-dashoffset:1;animation:ilu-visto 9s ease-in-out infinite}
.anima .ilu-c2{animation-delay:1.1s}
.anima .ilu-c3{animation-delay:2.2s}
@keyframes ilu-visto{0%{stroke-dashoffset:1;opacity:1}8%{stroke-dashoffset:0;opacity:1}78%{stroke-dashoffset:0;opacity:1}
  88%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@media (prefers-reduced-motion:reduce){.anima .ilu-check{stroke-dashoffset:0;opacity:1}}

/* ---------- página inicial: «Informação em que pode confiar» ---------- */
.band-confianca{background:#fff;padding:5rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.confianca{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}
.cf-cabeca h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.12;color:var(--deep);margin:0 0 1rem;max-width:14ch;letter-spacing:-.03em}
.cf-cabeca p{font-family:var(--serif);font-size:1.15rem;line-height:1.6;color:var(--ink);max-width:34ch;margin:0 0 1.6rem}
.cf-link{display:inline-flex;align-items:center;gap:.45rem;font:700 1rem var(--sans);color:var(--brand-ink);text-decoration:none;
  border-bottom:1.5px solid currentColor;padding-bottom:.15rem}
.cf-link:hover .seta{transform:translateX(4px)}
.cf-lista{list-style:none;margin:0;padding:0}
.cf-lista li{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;align-items:start;padding:1.6rem 0;margin:0;border-top:1px solid var(--rule)}
.cf-lista li:first-child{border-top:0;padding-top:.3rem}
.pr-ic{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--brand-ink)}
.pr-ic .ic-cheio{fill:currentColor}
.cf-lista h3{font-size:1.15rem;color:var(--deep);margin:.15rem 0 .4rem;letter-spacing:-.015em}
.cf-lista p{font-family:var(--sans);font-size:.98rem;line-height:1.6;color:var(--muted);margin:0;max-width:52ch}
@media (max-width:900px){.confianca{grid-template-columns:1fr;gap:2rem}.band-confianca{padding:3.5rem 0}.cf-cabeca h2{max-width:none}}

/* ---------- pesquisa ---------- */
.pesquisa-top{display:flex;align-items:center;margin-left:.6rem;background:var(--paper);border:1px solid var(--rule);border-radius:999px;
  padding:.15rem .2rem .15rem .9rem;transition:border-color .2s,box-shadow .2s}
.pesquisa-top:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,122,115,.15)}
.pesquisa-top input{border:0;background:transparent;font:500 .9rem var(--sans);color:var(--ink);width:8.5rem;padding:.35rem 0;outline:none}
.pesquisa-top input::placeholder{color:var(--muted)}
.pesquisa-top button{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:0;border-radius:50%;background:var(--deep);color:#fff;cursor:pointer}
.pesquisa-top button:hover{background:var(--brand)}
.pesquisa-grande{margin:0 0 1.8rem;max-width:44rem}
.pesquisa-grande label{display:block;font:700 1rem var(--sans);color:var(--deep);margin-bottom:.5rem}
.pg-campo{display:flex;gap:.5rem;background:#fff;border:1.5px solid var(--rule);border-radius:999px;padding:.35rem .35rem .35rem 1.2rem;
  box-shadow:0 10px 30px -22px rgba(14,69,71,.5);transition:border-color .2s,box-shadow .2s}
.pg-campo:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgba(31,122,115,.14)}
.pg-campo input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:500 1.02rem var(--sans);color:var(--ink);padding:.55rem 0}
.pg-campo input::placeholder{color:#6B7F82}
.pg-campo .btn{border-radius:999px;padding:.6rem 1.3rem}
.hero-temas .pesquisa-grande{margin:1.4rem 0 0}
.pesq-estado{font:600 .95rem var(--sans);color:var(--muted);margin:0 0 1rem}
.resultados-pesquisa{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.res{margin:0;background:#fff;border:1px solid var(--rule);border-radius:16px;padding:1.1rem 1.3rem}
.res a{text-decoration:none;color:inherit;display:block}
.res-cam{display:block;font:700 .78rem var(--sans);color:var(--brand-ink);margin-bottom:.2rem}
.res-tit{display:block;font:800 1.12rem/1.3 var(--sans);color:var(--deep)}
.res a:hover .res-tit{text-decoration:underline}
.res p{font-family:var(--sans);font-size:.93rem;line-height:1.55;color:var(--muted);margin:.45rem 0 0}
.res mark{background:#FBE6B8;color:var(--ink);border-radius:3px;padding:0 .1em}
@media (max-width:1100px){.pesquisa-top input{width:6.5rem}}
@media (max-width:900px){.pesquisa-top{margin:.4rem 0 0;width:100%}.pesquisa-top input{flex:1;width:auto}}
@media (max-width:600px){.pg-campo{flex-wrap:wrap;border-radius:18px;padding:.4rem}.pg-campo input{padding:.5rem .6rem;flex-basis:100%}
  .pg-campo .btn{width:100%}}

/* ---------- cartões: data e veredicto distintos ---------- */
.tagline{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}
.tl-data,.cam-verdade .tl-data,.cam-mudar .tl-data,.cam-acao .tl-data,.cam-doenca .tl-data{color:var(--muted);font-weight:600}
.tl-veredicto{font:700 .74rem var(--sans);color:var(--k-verdade);background:var(--t-verdade);border-radius:999px;padding:.12rem .6rem}
/* «Quem somos» na página inicial */
.quem-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.band-quem h2{font-size:clamp(1.8rem,3.2vw,2.5rem);color:var(--deep);letter-spacing:-.03em}
.quem-ilu{width:100%;max-width:400px;height:auto;justify-self:center}
@media (max-width:900px){.quem-grid{grid-template-columns:1fr;gap:1.5rem}.quem-ilu{max-width:280px;order:-1;justify-self:start}}
/* plano: títulos dos blocos do formulário */
.form-sec{font:800 1.05rem var(--sans);color:var(--deep);margin:2rem 0 .2rem;padding-top:1.4rem;border-top:1px solid var(--rule);letter-spacing:-.01em}
.form-card .form-sec:first-child{margin-top:0;padding-top:0;border-top:0}
.result ul{margin:.4rem 0 .8rem;padding-left:1.1rem}
.result li{margin:.3rem 0}
.form-sec{font-size:1.3rem;color:var(--brand-ink);display:flex;align-items:center;gap:.6rem}
.form-sec::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--green-light);flex:0 0 auto}
.gerado{font-family:var(--sans)!important;font-size:.85rem;color:var(--muted)}
