/* =====================================================================
   Website V1.1 — Refinamento visual final (auditoria de 06/11/2026)
   ---------------------------------------------------------------------
   Um único sistema para as variantes clara e escura (V01–V06):
   mesma grelha, tipografia, raios, bordas, sombras, botões, cartões e
   estados. Muda a paleta, não a sofisticação.
   Branco #FEFEFE como superfície clara predominante (COLOR01),
   navy #081E55 como superfície escura, teal para ações e estados.
   Signature Glow continua semântico; não é usado aqui como decoração.
   Os IDs referidos em comentário são os da auditoria (H01, D01, …).
   ===================================================================== */

/* ---------- Tokens do sistema comum ---------- */
:root {
  --r-card: 18px;
  --card-light-bg: #FFFFFF;
  --card-light-border: #E3E9F3;
  --card-light-border-hover: #C3D0E6;
  --card-light-shadow: 0 1px 2px rgba(8, 30, 85, 0.05), 0 14px 34px -22px rgba(8, 30, 85, 0.28);
  --card-light-shadow-hover: 0 1px 2px rgba(8, 30, 85, 0.06), 0 22px 44px -24px rgba(8, 30, 85, 0.36);
  --text-light-2: #46577E;           /* texto secundário em branco (≥ 7:1) */
  --text-light-3: #56668C;           /* terciário (≥ 5,5:1) */
  --ok-ink: #0F7A55;
  --soon-ink: #5A6788;
  --focus-ring: 0 0 0 3px #FEFEFE, 0 0 0 5px #067F82;
}

/* ---------- COLOR01/COLOR02: superfícies claras brancas ---------- */
[data-identity="v2"] body[data-surface] .band.band--light { background: #FEFEFE; }
[data-identity="v2"] body .band--light { --page: #FEFEFE; --mist: #F4F7FB; --mist-2: #E9EEF6; --line: #E3E9F3; --ink-2: #46577E; --ink-3: #56668C; }
[data-identity="v2"] body[data-surface="light"] { --page: #FEFEFE; --mist: #F4F7FB; --line: #E3E9F3; --ink-2: #46577E; --ink-3: #56668C; background: #FEFEFE; }
[data-identity="v2"] body[data-surface="light"] .band--mist { background: #FEFEFE; }
/* Duas secções claras seguidas: separação por linha ténue, não por cinzento */
[data-identity="v2"] body .band--light + .band--light { border-top: 1px solid #EDF1F7; }

/* ---------- V01/V03/CAT01/S05: cartão claro premium partilhado ---------- */
[data-identity="v2"] body :is(.band--light, [data-surface="light"]) :is(.need, .sol-card, .prod-card, .door, .how__i, .track, .stat, .mlp, .mls, .mlr, .activity, .rq, .review, .pp, .tab:not(.is-on)),
[data-identity="v2"] body[data-surface="light"] :is(.need, .sol-card, .prod-card, .door, .how__i, .stat, .mlp, .mls, .mlr, .activity, .ml-side) {
  background: var(--card-light-bg);
  border: 1px solid var(--card-light-border);
  border-radius: var(--r-card);
  box-shadow: var(--card-light-shadow);
}
[data-identity="v2"] body .band--light :is(.need, .sol-card, .prod-card, .door):hover {
  border-color: var(--card-light-border-hover);
  box-shadow: var(--card-light-shadow-hover);
  transform: translateY(-3px);
}

/* ---------- F05/CAT02/SF10/D05: estados discretos e uniformes ---------- */
.state { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: 0.01em; line-height: 1.4; white-space: nowrap; }
.state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.state--ok { color: var(--ok-ink); }
.state--soon { color: var(--soon-ink); font-weight: 500; }
.state--soon::before { background: transparent; border: 1.5px solid currentColor; width: 6px; height: 6px; }
[data-identity="v2"] body[data-surface="dark"] .state--ok { color: #5FE0B0; }
[data-identity="v2"] body[data-surface="dark"] .state--soon { color: #B9C6E4; }
[data-identity="v2"] body .band--light .state--ok { color: var(--ok-ink); }
[data-identity="v2"] body .band--light .state--soon { color: var(--soon-ink); }
/* Pílulas restantes (páginas de produto/solução): mais leves, sem moldura âmbar */
.pill { border: 0; padding: 3px 10px; background: rgba(90, 103, 136, 0.12); }
.pill--ok { background: rgba(15, 122, 85, 0.12); }
.pill--warn { color: var(--soon-ink); background: rgba(90, 103, 136, 0.12); }
[data-identity="v2"] body[data-surface="dark"] .pill { background: rgba(255, 255, 255, 0.08); }
[data-identity="v2"] body[data-surface="dark"] .pill--warn { color: #C9D4EE; }
[data-identity="v2"] body[data-surface="dark"] .pill--ok { color: #5FE0B0; background: rgba(95, 224, 176, 0.12); }

/* ---------- FINAL02: sistema de botões e estados ---------- */
.btn:focus-visible, .chip:focus-visible, .linkbtn:focus-visible, .textlink:focus-visible, .fmore:focus-visible, .fadv:focus-visible, .lang__btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.textlink { font-weight: 700; color: var(--teal-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.textlink:hover { text-decoration-thickness: 2px; }
[data-identity="v2"] body[data-surface="dark"] .textlink { color: #6FE6E8; }
[data-identity="v2"] body .band--light .btn--line { background: #FFFFFF; color: #081E55; border-color: #C9D5E8; }
[data-identity="v2"] body .band--light .btn--line:hover { border-color: #081E55; }
.btn--disabled, .btn[disabled] { box-shadow: none; }

/* ---------- H01–H05: hero da homepage (preservado, menos ruído) ---------- */
[data-identity="v2"] .hero__wave { opacity: 0.32; }
[data-identity="v2"] .hero__fluid { opacity: 0.45; }
.hero__grid-bg { opacity: 0.35; }
.device .plane__t { font-size: 1.06rem; }
.device .plane__s { font-size: 0.9rem; color: #D2DCF2; }
.device .plane__k { font-size: 11.5px; }
.device .pchip { font-size: 13px; }
.device__bar { margin-bottom: 8px; }
.stack-pick { gap: 6px; }
.stack-pick__k { width: 100%; font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: #9FB0D6; }
.stack-pick__b { padding: 6px 12px; font-size: 13px; border-color: rgba(166, 192, 255, 0.28); }
.stack-pick__b[aria-pressed="true"] { background: #FEFEFE; color: #081E55; }
/* H04: estatísticas agrupadas, mesma linha de base */
.hero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 0; align-items: start; }
.hero__facts > div { padding-right: var(--s-6); margin-right: var(--s-6); border-right: 1px solid rgba(166, 192, 255, 0.18); }
.hero__facts > div:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.hero__facts dt { font-size: 2rem; line-height: 1.1; }
.hero__facts dd { font-size: 0.85rem; max-width: 14ch; }
@media (max-width: 560px) { .hero__facts > div { padding-right: var(--s-4); margin-right: var(--s-4); } .hero__facts dt { font-size: 1.6rem; } }

/* ---------- D01–D07: descoberta de desafios ---------- */
.needs-featured { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-5); }
.need { padding: var(--s-5); gap: var(--s-3); }
.need__top { display: flex; align-items: center; gap: 10px; }
.need__icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #EEF3FA; color: #081E55; flex: none; }
.need__icon .glyph { width: 20px; height: 20px; }
.need__area { font-size: 12px; letter-spacing: 0.04em; color: var(--text-light-3); text-transform: none; font-weight: 600; }
.need__title { font-size: 1.15rem; line-height: 1.3; }
.need__signal { color: var(--text-light-2); }
.need__foot { border-top: 1px solid #EDF1F7; }
.need__go { font-size: 14px; font-weight: 700; color: #081E55; display: inline-flex; gap: 6px; }
.need--featured { background: linear-gradient(160deg, #0C2A6E 0%, #081E55 70%) !important; border-color: #081E55 !important; color: #FEFEFE; padding: var(--s-6); }
.need--featured .need__icon { background: rgba(19, 208, 211, 0.16); color: #6FE6E8; }
.need--featured .need__area { color: #A9BAE0; }
.need--featured .need__title { font-size: 1.5rem; color: #FEFEFE; }
.need--featured .need__signal { color: #CFDAF2; font-size: 1rem; }
.need--featured .need__foot { border-top-color: rgba(166, 192, 255, 0.2); }
.need--featured .need__go { color: #6FE6E8; }
.need--featured .state--ok { color: #5FE0B0; }
.needs-more { display: flex; justify-content: center; margin-top: var(--s-6); }
.needs-more__btn .tnum { color: var(--text-light-3); font-weight: 600; }
.needs-all { margin-top: var(--s-6); padding-top: var(--s-6); border-top: 1px solid #EDF1F7; }
/* H03: estado selecionado dos filtros inequívoco (cor + marca + peso) */
.chip { min-height: 38px; }
.chip.is-on { background: #081E55; color: #FEFEFE; border-color: #081E55; font-weight: 600; padding-left: 12px; }
.chip.is-on::before { content: "✓"; margin-right: 6px; color: #6FE6E8; font-weight: 800; }
@media (max-width: 980px) { .needs-featured { grid-template-columns: 1fr 1fr; } .needs-featured .need--featured { grid-column: 1 / -1; } }
@media (max-width: 640px) { .needs-featured { grid-template-columns: 1fr; } }

/* ---------- F01–F04: três formas (harmonização das imagens) ---------- */
.path__media, .door__media { position: relative; }
.path__media::after, .door__media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(180deg, transparent, rgba(4, 18, 55, 0.35)); pointer-events: none; }
.path__media img, .door__media img { object-position: center 40%; }
.path { display: flex; flex-direction: column; }
.path > .path__go { margin-top: auto; padding-top: var(--s-3); }
/* F04: etiquetas e créditos discretos */
.media__label { top: auto; bottom: 8px; left: 8px; padding: 2px 7px; font-size: 10.5px; font-weight: 500; background: rgba(2, 10, 34, 0.55); backdrop-filter: blur(4px); }
.media__credit { bottom: 8px; right: 8px; font-size: 9.5px; background: rgba(2, 10, 34, 0.45); opacity: 0.85; }
.media__credit:hover { opacity: 1; }

/* ---------- M01–M07: mapa soluções ↔ produtos ---------- */
.graph { padding-top: 34px; }
.graph__k { position: absolute; top: 0; font-size: 11.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #A9BAE0; }
.graph__k--s { left: 0; } .graph__k--p { right: 0; }
.graph__svg path { stroke: rgba(166, 192, 255, 0.16); stroke-width: 1.2; }
.graph.is-focus .graph__svg path { opacity: 0.12; }
.graph.is-focus .graph__svg path.is-on { stroke: #13D0D3; opacity: 1; stroke-width: 2; }
.graph__col { gap: 12px; }
.gnode { min-height: 48px; }
.gnode__n { min-width: 26px; text-align: center; font-weight: 700; color: #DCE6FB; background: rgba(255, 255, 255, 0.12) !important; }
.section-head + .graph { margin-top: calc(-1 * var(--s-3)); }
.graph-m { display: none; }
@media (max-width: 760px) {
  .graph { display: none; }
  .graph-m { display: grid; gap: var(--s-3); }
  .graph-m__k { font-size: var(--fs-s); font-weight: 600; color: #CFDAF2; }
  .graph-m__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
  .graph-m__list a { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px 14px; border-radius: 12px; background: var(--grad-surface); border: 1px solid rgba(166, 192, 255, 0.16); text-decoration: none; font-weight: 600; }
  .graph-m__list .glyph { color: #6FE6E8; }
}

/* ---------- S01–S05: soluções em destaque (cartões editoriais) ---------- */
.sol-card { gap: var(--s-3); }
.sol-card__top { justify-content: space-between; }
.sol-card__icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #EEF3FA; color: #081E55; }
.sol-card__icon .glyph { width: 19px; height: 19px; }
[data-identity="v2"] body[data-surface="dark"] .sol-card__icon { background: rgba(255, 255, 255, 0.08); color: #6FE6E8; }
[data-identity="v2"] body .band--light .sol-card__icon { background: #EEF3FA; color: #081E55; }
.sol-card__foot { border-top: 1px solid var(--line); padding-top: var(--s-3); }
.sol-card__count { font-size: 13px; color: var(--ink-3); }
.sol-card__go { font-weight: 700; color: var(--fg-strong); }
.sol-card--editorial { padding: var(--s-6); min-height: 100%; }
.sol-card--editorial h3 { font-size: 1.35rem; }
.featured-grid { align-items: stretch; }
.featured-grid .sol-card--editorial.is-available { background: linear-gradient(165deg, #0C2A6E, #081E55) !important; border-color: #081E55 !important; color: #FEFEFE; }
.featured-grid .is-available .sol-card__promise { color: #CFDAF2; }
.featured-grid .is-available .sol-card__count { color: #B9C6E4; }
.featured-grid .is-available .sol-card__foot { border-top-color: rgba(166, 192, 255, 0.2); }
.featured-grid .is-available .sol-card__go, .featured-grid .is-available h3 a { color: #FEFEFE; }
.featured-grid .is-available .sol-card__icon { background: rgba(19, 208, 211, 0.16); color: #6FE6E8; }
[data-identity="v2"] body .band--light .featured-grid .is-available .state--ok,
[data-identity="v2"] body .band--light .need--featured .state--ok { color: #5FE0B0; }

/* ---------- SF01–SF07: opções do Finder ---------- */
.fopt { padding: 18px 44px 18px 20px; min-height: 92px; background: #0A2260; border: 1.5px solid rgba(166, 192, 255, 0.22); box-shadow: 0 6px 0 #041237; color: #FEFEFE; }
.fopt__h { color: #C2CFEA; line-height: 1.45; }
.fopt:hover { border-color: rgba(166, 192, 255, 0.55); background: #0D2A72; }
.fopt:focus-visible { outline: none; box-shadow: 0 6px 0 #041237, 0 0 0 3px #13D0D3; }
.fopt__check { position: absolute; right: 14px; top: 16px; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid rgba(166, 192, 255, 0.5); }
/* Selecionado: superfície navy reforçada + contorno teal + marca ✓ (nunca branco com texto pálido) */
.fopt.is-sel { background: #123A8A; color: #FEFEFE; border-color: #13D0D3; transform: translateY(2px); box-shadow: 0 3px 0 #041237, inset 0 0 0 1px #13D0D3; }
.fopt.is-sel .fopt__h { color: #E2EAFA; }
.fopt.is-sel .fopt__check { background: #13D0D3; border-color: #13D0D3; }
.fopt.is-sel .fopt__check::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border: solid #041237; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
/* SF03: «Outra situação» legível, coerente com as restantes */
.fopt--other { background: rgba(10, 34, 96, 0.55); border-style: dashed; border-color: rgba(166, 192, 255, 0.55); box-shadow: none; }
.fopt--other .fopt__h { color: #C2CFEA; }
.fopt--other.is-sel { border-style: solid; }
/* SF04: alinhamento interno estável */
.fopts { align-items: stretch; }
.fopt { align-content: start; }
/* SF05: recibo com leitura confortável */
.ticket__row dd { display: grid; gap: 4px; justify-items: start; line-height: 1.4; }
.ticket__row .ticket__edit { padding: 0; font-size: 12.5px; }
.ticket__wrap > summary { list-style: none; cursor: default; }
.ticket__wrap > summary::-webkit-details-marker { display: none; }
@media (max-width: 820px) {
  .ticket__wrap > summary { cursor: pointer; }
  .ticket__wrap > summary::after { content: "▾"; margin-left: 8px; color: #081E55; }
  .ticket__wrap[open] > summary::after { content: "▴"; }
  .finder__cols .ticket { order: 3; position: static; }
}
/* SF06: passos com tratamento equivalente; concluído ≠ selecionado */
.frail__i--done .frail__n { background: transparent; border-color: #6FE6E8; color: #6FE6E8; }
.frail__i--current .frail__n { background: #13D0D3; color: #041237; }
/* SF07: menos vazio em viewports altos */
.finder { min-height: 0; padding-bottom: var(--s-7); }

/* ---------- SF08–SF14: resultado ---------- */
.fres__conf { background: rgba(255, 255, 255, 0.08); color: #DCE6FB; font-weight: 600; font-size: 13px; }
.fres__conf-k { font-weight: 500; color: #B9C6E4; margin-right: 4px; }
.fres__act { align-items: center; gap: var(--s-4); }
.fres__promise, .fres__explain p, .reasons li { color: #D2DCF2; }
.falts__h { font-size: var(--fs-l); color: #DCE6FB; }
.alt-list { display: grid; gap: var(--s-3); }
.sol-card--row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "icon title state" "icon promise go"; gap: 4px var(--s-4); align-items: center; padding: var(--s-4) var(--s-5); }
.sol-card--row .sol-card__top { display: contents; }
.sol-card--row .sol-card__icon { grid-area: icon; }
.sol-card--row .state { grid-area: state; justify-self: end; }
.sol-card--row h3 { grid-area: title; font-size: 1.05rem; }
.sol-card--row .sol-card__promise { grid-area: promise; font-size: 14px; margin: 0; }
.sol-card--row .sol-card__foot { grid-area: go; border: 0; padding: 0; justify-self: end; }
.sol-card--row .sol-card__count { display: none; }
[data-identity="v2"] body[data-surface="dark"] .sol-card--row .sol-card__promise { color: #C2CFEA; }
@media (max-width: 640px) {
  .sol-card--row { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "icon title" "icon promise" "icon state"; }
  .sol-card--row .state { justify-self: start; }
  .sol-card--row .sol-card__foot { display: none; }
}

/* ---------- CAT01–CAT07 / SIDE01–SIDE13: catálogo ---------- */
.cat { grid-template-columns: 300px minmax(0, 1fr); gap: var(--s-6); }
/* SIDE01/SIDE02: painel claro, sem scrollbar própria pesada (já não é preciso deslocar) */
.cat__filters { position: static; max-height: none; overflow: visible; padding: var(--s-5); gap: var(--s-4); background: #FBFCFE; border: 1px solid var(--card-light-border); border-radius: var(--r-card); align-self: start; }
@media (min-width: 861px) { .cat__filters { position: sticky; top: calc(var(--header-h) + 16px); } }
.fpanel__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); }
.fpanel__title { font-size: 1rem; font-weight: 800; }
.fpanel__n { color: var(--teal-ink); }
.fgroup { border-bottom: 1px solid #EDF1F7; padding-bottom: var(--s-4); gap: 0; }
.fgroup__h { font-size: 13px; text-transform: none; letter-spacing: 0; margin-bottom: var(--s-2); }
.fgroup__note { margin: var(--s-2) 0 0; font-size: 12px; color: var(--text-light-3); }
/* SIDE04: linhas de 44 px, checkbox/rótulo/contagem alinhados */
.check { min-height: 44px; padding: 6px 4px; border-radius: 10px; gap: 12px; }
.check:hover { background: #F2F6FC; }
.check__l { flex: 1; line-height: 1.35; color: #081E55; }
/* SIDE05: contagens legíveis, secundárias e com alinhamento estável */
.check__n { min-width: 28px; text-align: center; font-size: 12px; font-weight: 600; color: #46577E; background: #EEF3FA; }
.check:has(input:checked) { background: #EEF6F8; }
.check:has(input:checked) .check__l { font-weight: 700; }
/* SIDE06: indisponível claramente não selecionável, sem parecer erro */
.check--soon { opacity: 1; cursor: default; }
.check--soon:hover { background: transparent; }
.check--soon .check__l { color: #56668C; }
.check--soon .check__n { background: transparent; color: #56668C; font-weight: 500; }
.check--soon input { opacity: 0.45; }
.fmore, .fadv { display: inline-flex; align-items: center; gap: 8px; margin-top: var(--s-2); padding: 8px 4px; border: 0; background: none; color: var(--teal-ink); font-weight: 700; font-size: 13.5px; border-radius: 8px; }
.fadv { width: 100%; justify-content: space-between; margin: 0; padding: 10px 4px; color: #081E55; font-size: 14px; border-bottom: 1px solid #EDF1F7; }
.fadv__i::before { content: "+"; font-size: 18px; color: var(--teal-ink); }
.fadv[aria-expanded="true"] .fadv__i::before { content: "−"; }
.fadvanced { display: grid; gap: var(--s-4); }
/* CAT05: cabeçalho de resultados */
.res__bar { padding-bottom: var(--s-3); border-bottom: 1px solid #EDF1F7; margin-bottom: var(--s-5); }
.res__filters { display: none; }
/* CAT04: grelha com respiração */
.res__grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--s-5); }
/* CAT07/SIDE10: gaveta de filtros em tablet/mobile */
@media (max-width: 860px) {
  .cat { grid-template-columns: 1fr; gap: var(--s-4); }
  .res__filters { display: inline-flex; }
  .cat__filters { display: none; grid-template-columns: 1fr; order: 0; }
  .cat__filters.is-open { display: grid; }
}

/* ---------- C01–C06: página do curso / ficha de produto ---------- */
.pd { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--s-7); align-items: start; }
.pd__visual { align-self: start; }
.pd__cover.media--capture, .pd__cover { aspect-ratio: 16 / 10; border-radius: var(--r-card); box-shadow: 0 40px 70px -40px rgba(0, 0, 0, 0.85); }
.pd__info { gap: var(--s-3); }
.pd__h1 { font-size: clamp(2rem, 3.6vw, 3rem); }
.pd__tag { font-size: 1.15rem; }
/* C03: bloco de preço/CTA leve, CTA evidente */
.buy { margin-right: 0; padding: var(--s-4) var(--s-5); border-radius: 16px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(166, 192, 255, 0.2); box-shadow: none; }
.buy::after { display: none; }
.buy .price { font-size: 1.25rem; }
.buy .price--tbd { font-size: 0.95rem; font-weight: 600; color: #C2CFEA; }
.buy__cta { justify-items: start; }
.buy__cta .cta-note { text-align: left; }
.buy--free { display: grid; grid-template-columns: auto 1fr; align-items: center; }
/* C04: metadados compactos numa linha */
.meta-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.meta-chips li { padding: 5px 11px; border-radius: 999px; font-size: 13px; font-weight: 500; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(166, 192, 255, 0.18); color: #DCE6FB; }
@media (max-width: 900px) { .pd { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .buy--free { grid-template-columns: 1fr; } }

/* ---------- E01–E03 / EMP01–EMP04: Empresas e teaser ---------- */
.b2b-teaser__photo, .biz-hero__photo { aspect-ratio: 3 / 2; border-radius: var(--r-card); }
.deliv { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid #EDF1F7; }
.deliv li { display: grid; grid-template-columns: auto 1fr; gap: var(--s-4); align-items: start; padding: var(--s-4) 0; border-bottom: 1px solid #EDF1F7; }
.deliv__i { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #EEF3FA; color: #081E55; }
.deliv__i .glyph { width: 20px; height: 20px; }
.deliv b { display: block; color: #081E55; font-family: var(--font-display); font-size: 1.02rem; margin-bottom: 2px; }
.deliv span { color: var(--text-light-2); }

/* ---------- I18N: seletor de idioma ---------- */
.hdr__act { display: flex; align-items: center; gap: var(--s-3); margin-left: var(--s-3); }
.hdr__act .hdr__cta { margin-left: 0; }
.lang { position: relative; }
.lang__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 10px; border-radius: 10px; border: 1px solid rgba(166, 192, 255, 0.3); background: transparent; color: #FEFEFE; font-weight: 700; font-size: 13px; letter-spacing: 0.04em; }
.lang__btn:hover { border-color: #FEFEFE; }
.lang__globe { width: 17px; height: 17px; }
.lang__menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 60; min-width: 220px; padding: 8px; border-radius: 14px; background: #FEFEFE; color: #081E55; box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.55); border: 1px solid #E3E9F3; }
.lang__menu ul { list-style: none; margin: 0; padding: 0; }
.lang__menu [role=option] { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 10px; font-weight: 600; cursor: pointer; }
.lang__menu [role=option]:hover, .lang__menu [role=option]:focus { background: #EEF3FA; outline: none; }
.lang__menu [role=option]:focus-visible { box-shadow: inset 0 0 0 2px #067F82; }
.lang__tick { color: #067F82; font-weight: 800; }
.lang__note { margin: 6px 0 0; padding: 8px 12px 4px; border-top: 1px solid #EDF1F7; font-size: 12px; color: #56668C; }
.lang--footer .lang__menu { top: auto; bottom: calc(100% + 8px); }
.lang--footer .lang__btn { min-height: 34px; color: #C2CFEA; }
@media (max-width: 860px) {
  .hdr__in { gap: var(--s-2); }
  .hdr__act { order: 2; margin-left: auto; gap: 8px; }
  .hdr__menu { order: 3; margin-left: 0; }
}
@media (max-width: 430px) { .lang__btn { padding: 0 8px; } .lang__btn .lang__globe { display: none; } }

/* ---------- FINAL04/05: ritmo e tipografia ---------- */
.section-head { margin-bottom: var(--s-6); }
.section-head .lead { max-width: 60ch; }
.band { padding-block: clamp(56px, 7vw, 88px); }
.band--tight { padding-block: clamp(44px, 5vw, 64px); }
.eyebrow { font-size: 12px; }
p, li { text-wrap: pretty; }
.ftr__base .lang { margin-left: auto; }

/* COLOR01: blocos de destaque em branco com borda, não cinzento-azulado */
[data-identity="v2"] body .band--light .pd-outcome { background: #FFFFFF; border: 1px solid var(--card-light-border); box-shadow: var(--card-light-shadow); border-radius: var(--r-card); }
[data-identity="v2"] body .band--light .needtag--light { background: #FFFFFF; border-color: var(--card-light-border); }
.cat__filters { padding: var(--s-4) var(--s-4) var(--s-5); }

/* SF04/SF12: percurso sugerido com respiração; opções longas em 2 colunas */
.route__i { grid-template-columns: auto minmax(0, 1fr); row-gap: 6px; }
.route__s { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; justify-items: start; gap: 8px; }
.route__t strong { font-size: 15px; }
.fq[data-q="need"] .fopts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px) { .fq[data-q="need"] .fopts { grid-template-columns: 1fr; } }

/* FINAL01: catálogo móvel — pesquisa em largura total; FOOT01: missão proporcional */
@media (max-width: 640px) {
  .cat-search { flex-direction: column; align-items: stretch; }
  .cat-search .search { flex: 1 1 auto; width: 100%; }
  .cat-search .seg { align-self: flex-start; }
  .ftr__mission { font-size: 1.15rem; max-width: 24ch; }
  .res__bar { flex-wrap: wrap; }
}
