/* Cuida24 — estilo comum das páginas públicas (início, segurança, sobre, trabalhe). */
:root { --fundo:#ffffff; --texto:#13232b; --suave:#5b6b73; --marca:#0f8f86; --marca-esc:#0b6d66; --cartao:#f3f7f7; --borda:#dde7e7; --destaque:#e8f6f4; }
@media (prefers-color-scheme: dark) { :root { --fundo:#0e1416; --texto:#e8f0f0; --suave:#9fb0b4; --marca:#2fb9ae; --marca-esc:#57d0c6; --cartao:#162024; --borda:#24343a; --destaque:#13302d; } }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background:var(--fundo); color:var(--texto); line-height:1.6; }
.faixa { max-width: 960px; margin: 0 auto; padding: 0 16px; }
header.topo { padding: 16px 0; display:flex; justify-content:space-between; align-items:center; gap: 12px; flex-wrap: wrap; }
.logo { font-weight: 800; font-size: 1.25rem; color: var(--marca); text-decoration:none; }
nav.menu { display:flex; gap: 14px; flex-wrap: wrap; font-size: .95rem; }
nav.menu a { color: var(--suave); text-decoration: none; }
nav.menu a:hover, nav.menu a[aria-current="page"] { color: var(--marca); }
.heroi { padding: 26px 0 34px; }
h1 { font-size: clamp(1.7rem, 5vw, 2.6rem); line-height: 1.15; margin: 0 0 14px; }
h2 { font-size: 1.45rem; margin: 34px 0 12px; }
.sub { font-size: 1.1rem; color: var(--suave); margin: 0 0 22px; max-width: 660px; }
.botao { display:inline-flex; align-items:center; gap:10px; background: var(--marca); color:#fff; text-decoration:none; font-weight:700; padding: 14px 22px; border-radius: 12px; font-size: 1.05rem; border: 0; cursor: pointer; }
.botao:hover, .botao:focus-visible { background: var(--marca-esc); outline: 3px solid color-mix(in srgb, var(--marca) 40%, transparent); }
.botao.claro { background: transparent; color: var(--marca); border: 2px solid var(--marca); }
.nota { font-size: .9rem; color: var(--suave); }
.grade { display:grid; gap:14px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin: 10px 0 28px; }
.cartao { background: var(--cartao); border:1px solid var(--borda); border-radius: 14px; padding: 18px; }
.cartao h3 { margin: 0 0 6px; font-size: 1.08rem; }
.cartao p { margin: 0; color: var(--suave); }
.selo { display:inline-flex; gap: 8px; align-items:center; background: var(--destaque); color: var(--marca-esc); border-radius: 999px; padding: 6px 12px; font-weight: 600; font-size: .9rem; margin-bottom: 14px; }
ol.camadas { list-style: none; padding: 0; counter-reset: c; display: grid; gap: 12px; }
ol.camadas li { counter-increment: c; background: var(--cartao); border:1px solid var(--borda); border-radius: 14px; padding: 16px 16px 16px 62px; position: relative; }
ol.camadas li::before { content: counter(c); position:absolute; left: 16px; top: 16px; width: 32px; height: 32px; border-radius: 50%; background: var(--marca); color:#fff; display:grid; place-items:center; font-weight: 800; }
ol.camadas h3 { margin: 0 0 4px; font-size: 1.05rem; }
ol.camadas p { margin: 0; color: var(--suave); }
ol.passos { padding-left: 20px; } ol.passos li { margin-bottom: 8px; }
details { border-bottom: 1px solid var(--borda); padding: 12px 0; } summary { cursor:pointer; font-weight: 600; }
footer.rodape { margin: 44px 0 30px; color: var(--suave); font-size: .9rem; display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; border-top: 1px solid var(--borda); padding-top: 18px; }
footer.rodape a { color: var(--suave); }
.flutuante { position: fixed; right: 16px; bottom: 16px; box-shadow: 0 6px 24px rgba(0,0,0,.25); }
@media (min-width: 700px) { .flutuante { display:none; } }
