/* Páginas internas (body.page). Cabeçalho, rodapé, botões e cores vêm de site.css, iguais aos da home;
   aqui fica só o miolo em coluna de leitura. */
.page { line-height: 1.65; }
.page .service-bar, .page header, .page footer { line-height: normal; }
.page main { padding: 72px 0 84px; }
.page main > .container { width: min(860px, calc(100% - 40px)); }
.page main section { padding: 0; }
.page main p a:not(.button), .page main li a, .page main dd a { text-decoration: underline; }
.page main a:not(.button):hover { color: var(--cyan); }

.page h1 { max-width: 760px; margin: 10px 0 16px; font-size: clamp(2.35rem, 6vw, 4rem); line-height: 1.08; letter-spacing: -.045em; }
.page .intro { max-width: 720px; color: var(--mist); font-size: 1.08rem; }
.page .notice { margin: 32px 0 0; padding: 18px 20px; border-left: 3px solid var(--cyan); background: rgba(6,182,212,.1); color: var(--mist); }

/* Trilha "Você está em": não é o menu, então desfaz as regras de nav da home. */
.page .crumbs { display: block; position: static; inset: auto; margin: 0 0 26px; padding: 0; border: 0; background: none; color: var(--muted); font-size: .85rem; font-weight: 400; }
.page .crumbs a { padding: 0; border: 0; color: var(--mist); text-decoration: underline; }

.page .ramo { margin-top: 64px; padding: 34px 30px; border: 1px solid rgba(217,228,239,.16); background: var(--navy-2); scroll-margin-top: 110px; }
.page .ramo h2 { margin: 10px 0 12px; font-size: clamp(1.7rem, 3.4vw, 2.3rem); letter-spacing: -.03em; }
.page .ramo h3 { margin: 26px 0 8px; font-size: 1.15rem; color: var(--ice); }
.page .ramo p { color: var(--mist); }
.page .ramo ul { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.page .ramo li { display: flex; gap: 10px; color: var(--mist); }
.page .ramo li svg { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; fill: none; stroke: var(--cyan); stroke-width: 2; }
.page .ramo .button { margin-top: 26px; }
.page .partners { color: var(--mist); }

.page .faq { margin-top: 64px; }
.page .faq h2 { font-size: clamp(1.6rem, 3.2vw, 2.1rem); letter-spacing: -.03em; }
.page .faq details { border-bottom: 1px solid rgba(217,228,239,.16); padding: 16px 0; }
.page .faq summary { cursor: pointer; font-weight: 700; }
.page .faq details p { color: var(--mist); margin: 10px 0 0; }

.page .cta { margin-top: 48px; padding: 30px; background: linear-gradient(120deg, #0b5f82, var(--blue)); }
.page .cta h2 { max-width: none; margin: 0 0 10px; font-size: 1.55rem; line-height: 1.2; letter-spacing: normal; }
.page .cta p { margin: 0 0 20px; }

@media (max-width: 680px) {
  .page main { padding-top: 52px; }
  .page main > .container { width: min(100% - 32px, 860px); }
  .page .ramo { padding: 24px 20px; }
}

/* "Trabalhamos com seguradoras como…": parágrafo simples (na home, .partners é a faixa de logos). */
.page p.partners { margin: 16px 0 0; padding: 0; border: 0; background: none; text-align: left; }

/* ===== Novo estilo (aprovado em 24/10/2026): cartões arredondados, FAQ com "+" e trilha sem sublinhado. ===== */
.page h1 { font-weight: 600; letter-spacing: -.05em; line-height: 1.04; }
.page .crumbs { font-size: .84rem; }
.page .crumbs a { color: var(--muted); text-decoration: none; }
.page .crumbs a:hover { color: var(--ice); }
.page main > .container > .eyebrow { margin-bottom: 4px; }
.page .notice { padding: 16px 20px; border: 1px solid rgba(6,182,212,.28); border-radius: 18px; font-size: .95rem; }
.page .ramo { margin-top: 28px; padding: 32px; border-color: var(--hairline); border-radius: var(--r-card); box-shadow: var(--shadow-card); }
.page .ramo h2 { font-weight: 600; letter-spacing: -.04em; line-height: 1.15; }
.page .ramo h3 { font-weight: 600; }
.page .ramo ul { gap: 8px; }
.page .ramo li { padding: 12px 14px; border-radius: var(--r-nested); background: rgba(217,228,239,.04); }
.page .ramo li svg { padding: 3px; width: 22px; height: 22px; margin-top: 1px; border-radius: 99px; background: rgba(6,182,212,.13); }
.page p.partners { padding: 14px 16px; border: 1px dashed var(--hairline-2); border-radius: var(--r-nested); }

.page .faq { margin-top: 28px; padding: 32px; border: 1px solid var(--hairline); border-radius: var(--r-card); background: var(--navy-2); box-shadow: var(--shadow-card); }
.page .faq h2 { margin-top: 0; font-weight: 600; letter-spacing: -.04em; }
.page .faq details { padding: 0; border: 0; border-top: 1px solid var(--hairline); }
.page .faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font-weight: 500; list-style: none; }
.page .faq summary::-webkit-details-marker { display: none; }
.page .faq summary::after { content: "+"; flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--hairline-2); border-radius: 99px; color: var(--cyan); font-size: 1.1rem; transition: transform .2s ease; }
.page .faq details[open] summary::after { transform: rotate(45deg); }
.page .faq details p { margin: 0 0 18px; }

.page .cta { margin-top: 28px; padding: 36px; border-radius: var(--r-card); box-shadow: var(--shadow-lift); }
.page .cta h2 { font-weight: 600; letter-spacing: -.03em; }
.page .cta .button-primary { background: var(--navy); color: var(--ice); box-shadow: none; }

@media (max-width: 680px) {
  .page .ramo, .page .faq { padding: 22px 18px; }
  .page .cta { padding: 26px 20px; }
}

/* Novo estilo nos blocos próprios de algumas páginas (contato, dúvidas frequentes, quem somos, textos legais). */
.page .panel, .page .card { border-color: var(--hairline); border-radius: var(--r-card); box-shadow: var(--shadow-card); }
.page .panel h2, .page .card h3, .page section.block h2, .page .legal h2, .page .faq-group { font-weight: 600; letter-spacing: -.03em; }
.page section.block h2 { letter-spacing: -.04em; line-height: 1.15; }
.page .field label { font-weight: 500; }
.page .field input, .page .field textarea { min-height: 46px; padding: 12px 16px; border-color: var(--hairline-2); border-radius: 18px; transition: border-color .15s ease, box-shadow .15s ease; }
.page .field input:focus, .page .field textarea:focus { outline: 0; border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(6,182,212,.18); }
.page .faq-list { gap: 10px; }
.page .faq-list details { padding: 0 22px; border-color: var(--hairline); border-radius: 18px; box-shadow: var(--shadow-card); }
.page .faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font-size: 1.02rem; font-weight: 500; list-style: none; }
.page .faq-list summary::-webkit-details-marker { display: none; }
.page .faq-list summary::after { content: "+"; flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--hairline-2); border-radius: 99px; color: var(--cyan); font-size: 1.1rem; transition: transform .2s ease; }
.page .faq-list details[open] summary::after { transform: rotate(45deg); }
.page .faq-list details p { margin: 0 0 18px; }
.page .faq-list details .faq-actions { margin-bottom: 18px; }
@media (max-width: 600px) { .page .faq-list details { padding: 0 16px; } }
