/* Soluções por segmento; estilos da home isolados do restante do tema. */
.cape-segments { background:#f3faff; color:#082536; padding:64px 0; }
.cape-segments__intro { max-width:780px; }
.cape-segments h2 { font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.2; margin:12px 0 18px; }
.cape-segments p { line-height:1.7; color:#40546a; }
.cape-segments__kicker { color:#075985; font-weight:750; font-size:.9rem; }
.cape-segments__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:30px; }
.cape-segments__grid article { display:flex; flex-direction:column; padding:24px; background:#fff; border:1px solid #cde6f3; border-radius:18px; }
.cape-segments__grid h3 { margin:10px 0 4px; font-size:1.15rem; line-height:1.35; color:#082536; }
.cape-segments__grid a { margin-top:auto; padding-top:16px; color:#075985; font-weight:750; line-height:1.5; }
.cape-segments__number { color:#0877ad; font-size:.85rem; font-weight:750; }
@media(max-width:1050px) { .cape-segments__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .cape-segments { padding:40px 0; } .cape-segments__grid { grid-template-columns:1fr; } }

/* Páginas leves e autônomas, sem dependência dos bundles da página inicial. */
.segment-page { margin:0; background:#fff; color:#102e40; font:16px/1.7 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.segment-page * { box-sizing:border-box; }
.segment-page a { color:#075985; text-underline-offset:4px; }
.segment-page :focus-visible { outline:3px solid #edb33b; outline-offset:5px; }
.segment-page .wrap { width:min(1120px,calc(100% - 40px)); margin-inline:auto; }
.segment-page .skip-link { position:fixed; top:-100px; left:16px; z-index:10; padding:12px; background:#fff; }
.segment-page .skip-link:focus { top:12px; }
.segment-page .topline { background:#082536; color:#fff; text-align:center; padding:8px 16px; font-size:.88rem; }
.segment-page .topline a { color:#a8e6ff; font-weight:750; }
.segment-page .segment-header { background:#086da9; }
.segment-page .header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:14px; }
.segment-page .brand-art { position:relative; display:block; width:220px; aspect-ratio:2127 / 704; overflow:hidden; flex-shrink:0; }
.segment-page .brand-art img { position:absolute; display:block; width:111.09544%; max-width:none; height:auto; left:-5.54772%; top:-117.89773%; }
.segment-page .segment-header nav { display:flex; flex-wrap:wrap; gap:12px 24px; }
.segment-page .segment-header nav a { color:#fff; font-weight:650; text-decoration:none; }
.segment-page .segment-hero { background:linear-gradient(115deg,#082536,#103d56); color:#fff; padding:28px 0 64px; }
.segment-page .breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:.85rem; margin-bottom:32px; }
.segment-page .breadcrumbs a { color:#c0e9fa; }
.segment-page .eyebrow { color:#83d7fa; font-weight:750; font-size:.9rem; }
.segment-page h1 { font-size:clamp(2.15rem,4.4vw,3.6rem); line-height:1.12; letter-spacing:-.035em; margin:14px 0 24px; max-width:900px; }
.segment-page .lead { color:#d5eaf5; max-width:760px; font-size:1.15rem; }
.segment-page .actions { display:flex; flex-wrap:wrap; gap:14px; margin:28px 0 16px; }
.segment-page .action { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border-radius:28px; background:#2eb9ec; color:#072536; text-decoration:none; font-weight:750; line-height:1.5; }
.segment-page .action.secondary { background:#fff; color:#075985; }
.segment-page .small { font-size:.9rem; }
.segment-page .segment-hero .small { color:#c1d9e6; }
.segment-page .content-section { padding:56px 0; }
.segment-page .tinted { background:#f3faff; }
.segment-page h2 { margin:0 0 18px; font-size:clamp(1.65rem,3vw,2.2rem); line-height:1.25; letter-spacing:-.02em; }
.segment-page h3 { margin:0 0 12px; font-size:1.16rem; line-height:1.4; }
.segment-page .section-intro { max-width:800px; margin-bottom:28px; }
.segment-page .features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.segment-page .feature { border:1px solid #cde6f3; padding:26px; border-radius:18px; background:#fff; }
.segment-page .feature p { margin:0; color:#40546a; }
.segment-page .two-col { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; }
.segment-page .checklist { margin:0; padding-left:22px; }
.segment-page .checklist li { margin-bottom:12px; }
.segment-page .faq article { padding:22px 0; border-top:1px solid #cde6f3; max-width:900px; }
.segment-page .faq p { margin:0; color:#40546a; }
.segment-page .contact-block { background:#082536; color:#fff; border-radius:20px; padding:32px; }
.segment-page .contact-block a:not(.action) { color:#a8e6ff; }
.segment-page .related { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:28px; }
.segment-page .segment-footer { background:#086da9; color:#fff; padding:32px 0; }
.segment-page .segment-footer a { color:#fff; }
.segment-page .footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
@media(max-width:720px) {
 .segment-page .wrap { width:calc(100% - 32px); }
 .segment-page .header-inner { flex-direction:column; gap:12px; }
 .segment-page .segment-header nav { justify-content:center; gap:10px 16px; font-size:.9rem; }
 .segment-page .brand-art { width:190px; }
 .segment-page .features,.segment-page .two-col { grid-template-columns:1fr; }
 .segment-page .content-section { padding:38px 0; }
 .segment-page .actions .action { width:100%; }
 .segment-page .contact-block { padding:24px; }
}

/* Apresentação geral do portfólio após os exemplos de segmentos. */
.cape-segments__wide { margin-top:24px; padding:28px; border-radius:18px; background:#082536; color:#fff; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 30px; align-items:center; }
.cape-segments__wide h3 { margin:0 0 10px; color:#fff; font-size:1.4rem; }
.cape-segments__wide p { color:#d5eaf5; margin:0; max-width:820px; }
.cape-segments__wide a { color:#b3e9ff; font-weight:750; line-height:1.5; }
.cape-segments__wide ul { display:flex; flex-wrap:wrap; gap:8px 20px; list-style:none; margin:18px 0 0; padding:0; color:#fff; font-size:.9rem; }
@media(max-width:800px) { .cape-segments__wide { grid-template-columns:1fr; padding:24px; } }
