/* Página de infraestrutura e acesso ao serviço na home. */
.service-item-link { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #a8bdcb; }
.service-item-link:hover, .service-item-link:focus-visible { color: var(--blue); text-decoration-color: currentColor; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }
section[id] { scroll-margin-top: 100px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; color: #c0d0db; font-size: 13px; font-weight: 400; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.infrastructure-hero { min-height: 610px; padding-top: 55px; padding-bottom: 65px; }
.infrastructure-hero h1 { font-size: clamp(42px, 4.6vw, 65px); line-height: 1.06; }
.infrastructure-hero .kicker { line-height: 1.6; }
.infrastructure-panel { padding: 32px; }
.infrastructure-panel h2 { font-size: clamp(27px, 2.7vw, 38px); line-height: 1.15; letter-spacing: -.03em; margin-bottom: 24px; }
.infrastructure-panel ul { list-style: none; padding: 0; }
.infrastructure-panel li { border-top: 1px solid #ffffff26; padding: 17px 0; }
.infrastructure-panel li b { display: block; color: #fff; margin-bottom: 5px; font-size: 17px; }
.infrastructure-panel li span, .panel-note { color: #c0d0db; font-size: 14px; line-height: 1.7; }
.panel-note { border-top: 1px solid #ffffff26; padding-top: 18px; }
.infrastructure-card { min-height: 280px; }
.infrastructure-card h3 { margin: 24px 0 15px; }
.infrastructure-card .card-text { margin: 0; }
.faq-list details p { margin-top: 14px; }
@media (width <= 1000px) { .infrastructure-hero { gap: 36px; } }
@media (width <= 650px) { .infrastructure-hero { padding: 36px 22px 55px; } .infrastructure-hero h1 { font-size: 42px; overflow-wrap: break-word; } .infrastructure-panel { padding: 24px; } .breadcrumbs { margin-bottom: 28px; font-size: 12px; } }
