.services-main { clear:both; font-family:Arial,sans-serif; color:#20344c; background:#fff; }
.services-main * { box-sizing:border-box; }
.services-container { width:min(1160px,calc(100% - 40px)); margin:auto; }
.services-hero { background:#f0f5fa; padding:48px 0; }
.hero-layout { display:grid; grid-template-columns:1.35fr 1fr; gap:44px; align-items:center; }
.services-eyebrow { display:block; color:#53708e; font-size:11px; font-weight:700; letter-spacing:1.5px; margin-bottom:14px; }
.services-main h1 { font-size:clamp(30px,3.5vw,44px); color:#123b83; line-height:1.18; letter-spacing:-1px; margin:0 0 20px; }
.services-main h2 { color:#15385f; font-size:29px; line-height:1.25; margin:0 0 15px; }
.services-main h3 { font-size:19px; line-height:1.35; color:#183b66; margin:0 0 12px; }
.services-main p { font-size:14px; line-height:1.8; color:#5a6c80; margin:0; }
.services-hero p { font-size:16px; }
.services-hero figure { margin:0; }
.services-hero img { width:100%; height:auto; display:block; border-radius:12px; }
.services-hero figcaption { font-size:12px; color:#6c7e91; margin-top:10px; }
.service-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.services-main .service-button { display:inline-block; border:1px solid #123b83; border-radius:6px; background:#123b83; color:white; text-decoration:none; font-size:14px; font-weight:700; padding:12px 18px; }
.services-main .service-button.outline { background:transparent; color:#123b83; }
.services-main a:hover { text-decoration:underline; }
.service-nav { display:flex; flex-wrap:wrap; gap:25px; padding:20px 0; border-bottom:1px solid #e0e7ef; }
.service-nav a { color:#31567c; font-size:13px; text-decoration:none; }
.service-section { padding:46px 0; scroll-margin-top:20px; }
.section-intro { max-width:740px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:26px; }
.service-card { border:1px solid #dce5ef; border-top:3px solid #e7b14d; border-radius:9px; padding:25px; display:flex; flex-direction:column; scroll-margin-top:20px; }
.service-number { color:#6a7e94; font-size:10px; font-weight:700; letter-spacing:1px; margin-bottom:17px; }
.service-card ul { color:#5a6c80; font-size:13px; line-height:1.7; padding-left:17px; margin:17px 0 21px; }
.service-card li { margin-bottom:6px; }
.service-card a { margin-top:auto; font-size:13px; color:#123b83; font-weight:700; text-decoration:none; }
.services-main .service-note { font-size:12px; margin-top:20px; }
.coverage-band { background:#edf3fa; padding:38px 0; scroll-margin-top:20px; }
.coverage-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; }
.coverage-layout .service-button { margin-top:20px; }
.services-main .city-list { color:#234c78; font-size:16px; line-height:2; margin-bottom:15px; }
.booking-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; list-style:none; counter-reset:booking; margin:28px 0; padding:0; }
.booking-steps li { counter-increment:booking; }
.booking-steps li:before { content:'0' counter(booking); display:block; color:#b07b24; font-size:18px; font-weight:700; margin-bottom:15px; }
.booking-steps h3 { font-size:16px; }
.booking-note { background:#f6f8fa; border-left:3px solid #e7b14d; padding:20px 24px; }
.booking-note strong { display:block; margin-bottom:5px; }
.services-main a { color:#123b83; }
.faq-section { padding-top:10px; }
.faq-section details { border-bottom:1px solid #dce5ef; padding:18px 0; }
.faq-section summary { cursor:pointer; font-size:15px; font-weight:700; color:#29496b; }
.faq-section details p { margin-top:13px; max-width:860px; }
.service-contact { display:flex; gap:24px; justify-content:space-between; align-items:center; background:#f0f5fa; border-radius:10px; padding:28px; margin-bottom:45px; }
.service-contact h2 { font-size:24px; }
.service-contact .service-actions { margin-top:0; }
.services-main :focus-visible { outline:3px solid #d79b30; outline-offset:4px; }
@media(max-width:1000px) { .service-grid { grid-template-columns:repeat(2,1fr); } .hero-layout { gap:25px; } .booking-steps { grid-template-columns:repeat(2,1fr); } .service-contact { display:block; } .service-contact .service-actions { margin-top:20px; } }
@media(max-width:650px) { .hero-layout,.coverage-layout,.service-grid { grid-template-columns:1fr; } .services-hero { padding:32px 0; } .services-hero figure { max-width:420px; } .service-section { padding:32px 0; } .services-main h2 { font-size:25px; } .service-card { padding:22px; } .service-nav { gap:18px; } .coverage-layout { gap:25px; } .service-contact { padding:23px; } }
@media(max-width:380px) { .booking-steps { grid-template-columns:1fr; } }
