
.services-page .hero { min-height:0; padding-bottom:64px; }
.services-page .hero-copy { width:100%; max-width:950px; padding-top:48px; }
.services-page .hero-copy h1 { font-size:clamp(34px,4.8vw,66px); line-height:1.08; letter-spacing:-1px; }
.services-page .lead { max-width:780px; font-size:clamp(18px,2vw,23px); }
.services-page .accent { margin:26px 0; }
.services-page .actions { margin-top:30px; }
.services-page .actions .button { width:auto; min-width:0; }
.service-eyebrow { margin:0 0 18px; color:#80d9ff; font-size:13px; font-weight:700; letter-spacing:1.5px; line-height:1.5; }
.needs { padding-top:52px; scroll-margin-top:24px; }
.needs-intro { max-width:780px; margin-bottom:30px; }
.needs-intro h2,.services-contact h2 { margin:0 0 16px; font-size:clamp(27px,3vw,38px); line-height:1.18; }
.needs-intro p,.services-contact p { color:#d6dfeb; font-size:18px; line-height:1.7; }
.needs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.need-card { display:flex; flex-direction:column; min-width:0; padding:32px; border:1px solid #263c57; border-radius:20px; background:linear-gradient(145deg,#0c1c32,#061121); }
.need-card h3 { margin:0 0 22px; font-size:clamp(23px,2.2vw,29px); line-height:1.22; }
.need-card > p:not(.service-eyebrow),.need-card li { color:#d6dfeb; font-size:16px; line-height:1.7; }
.need-card > p:not(.service-eyebrow) { margin:0 0 16px; }
.need-card ul { margin:0 0 24px; padding-left:20px; }
.need-card li { padding-bottom:5px; }
.need-card li::marker { color:#00c6ff; }
.need-links { margin-top:auto; padding-top:20px; border-top:1px solid #263c57; display:grid; gap:12px; }
.need-links a { color:#66d5ff; text-decoration:none; line-height:1.5; padding:4px 0; }
.need-links a:hover { text-decoration:underline; }
.need-links a:focus-visible { outline:2px solid #66d5ff; outline-offset:4px; border-radius:3px; }
.services-contact { margin-top:56px; margin-bottom:64px; padding:36px; background:#0b1b2f; border:1px solid #263c57; border-radius:20px; text-align:center; }
.services-contact p { max-width:740px; margin:0 auto 26px; }
.services-contact .button { width:auto; max-width:100%; }
@media(max-width:700px) {
 .services-page .hero { padding-bottom:36px; }
 .services-page .hero-copy { padding-top:24px; }
 .services-page .hero-copy h1 { font-size:clamp(29px,6vw,42px); }
 .needs { padding-top:36px; }
 .needs-grid { grid-template-columns:1fr; gap:20px; }
 .need-card { padding:24px; }
 .need-card h3 br { display:none; }
 .services-contact { padding:28px 20px; margin-top:32px; margin-bottom:40px; }
}
