.service-grid a { display: block; height: 100%; }
.service-grid a:hover h3, .text-link:hover { color: var(--orange); }
.text-link { color: var(--blue); display: inline-block; margin-top: 16px; font-weight: 800; }
.subpage-hero { color: #fff; background: linear-gradient(118deg, #071a2e 0%, #0b2d4a 58%, #0e67b2 100%); padding: 92px max(28px, calc(50vw - 562px)); }
.subpage-hero .eyebrow { color: #7dd1ff; }
.subpage-hero h1 { max-width: 880px; margin: 16px 0 22px; font-size: clamp(42px, 6vw, 76px); line-height: 1.03; letter-spacing: -.045em; }
.subpage-hero p:not(.eyebrow) { max-width: 760px; color: #d4e2ed; font-size: 20px; line-height: 1.65; }
.subpage-hero .hero-actions { margin-bottom: 0; }
.content-section { max-width: 1120px; margin: auto; padding: 88px 28px; }
.content-section h2 { max-width: 790px; margin: 14px 0 24px; font-size: clamp(34px, 4.5vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.content-section h3 { margin: 0 0 10px; font-size: 22px; }
.content-section > p, .content-copy p { max-width: 790px; color: var(--muted); font-size: 18px; line-height: 1.72; }
.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
.detail-grid article { background: #f7fafc; border: 1px solid var(--line); border-top: 4px solid var(--blue); padding: 28px; }
.detail-grid p { color: var(--muted); line-height: 1.65; }
.process-list { counter-reset: process; display: grid; gap: 14px; max-width: 880px; margin-top: 38px; }
.process-list li { counter-increment: process; display: grid; grid-template-columns: 48px 1fr; gap: 18px; align-items: start; padding: 24px; background: #fff; border: 1px solid var(--line); }
.process-list li::before { content: counter(process); display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--orange); color: #fff; font-weight: 900; }
.process-list strong { display: block; margin: 2px 0 7px; font-size: 19px; }
.process-list span { color: var(--muted); line-height: 1.6; }
.faq-list { max-width: 880px; margin-top: 35px; }
.faq-list details { border-top: 1px solid var(--line); padding: 22px 0; }
.faq-list summary { cursor: pointer; color: var(--navy); font-size: 19px; font-weight: 800; }
.faq-list p { color: var(--muted); margin: 14px 0 0; line-height: 1.65; }
.cta-band { background: var(--ice); border-block: 1px solid #d8e8f2; padding: 70px 28px; text-align: center; }
.cta-band h2 { margin: 0 auto 16px; max-width: 760px; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; }
.cta-band p { max-width: 700px; margin: 0 auto 25px; color: var(--muted); font-size: 18px; line-height: 1.6; }
.breadcrumb { max-width: 1120px; margin: auto; padding: 16px 28px; color: var(--muted); font-size: 13px; }
.breadcrumb a { color: var(--blue); font-weight: 700; }
@media (max-width: 900px) { .detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .subpage-hero { padding: 64px 20px; } .content-section { padding: 68px 20px; } }
