/* Service detail pages share the homepage typography, surfaces and motion. */
.service-intro-section { padding:46px 0 76px; }
.service-back { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:.9375rem; color:var(--blue); margin-bottom:37px; }
.service-back:hover { text-decoration:underline; text-underline-offset:5px; }
.service-overview { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr); gap:65px; align-items:center; }
.service-overview-copy h1 { font-size:clamp(2.4rem,4.6vw,4.5rem); line-height:1.12; letter-spacing:-.045em; overflow-wrap:break-word; hyphens:auto; }
.service-overview-copy .eyebrow { margin-bottom:22px; }
.service-lead { max-width:700px; font-size:1.1875rem; line-height:1.85; color:var(--muted); margin-top:27px; }
.service-overview-copy .button { margin-top:30px; }
.service-outcome { padding:35px; min-height:300px; justify-content:center; }
.service-outcome .card-orbit { margin-bottom:29px; }
.service-outcome h2 { font-size:.9375rem; font-weight:500; color:#B8D9FF; line-height:1.6; margin-bottom:16px; }
.service-outcome p { font-size:clamp(1.5rem,2.1vw,1.9rem); line-height:1.5; letter-spacing:-.02em; }
.service-detail-section { padding:70px 0; border-top:1px solid var(--line); }
.service-detail-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr); gap:80px; align-items:start; }
.service-detail-section h2,.service-related-section h2 { font-size:clamp(1.5rem,2.2vw,2rem); line-height:1.3; letter-spacing:-.025em; margin-bottom:25px; }
.service-support-list { list-style:none; padding:0; margin:0; }
.service-support-list li { position:relative; padding:20px 0 20px 24px; border-top:1px solid var(--line); font-size:1.0625rem; line-height:1.8; }
.service-support-list li::before { content:""; position:absolute; left:0; top:32px; width:6px; height:6px; background:var(--blue); border-radius:50%; }
.service-working { margin-top:48px; }
.service-working p { font-size:1.0625rem; line-height:1.85; color:var(--muted); }
.service-inputs { padding:32px; border:1px solid #BDD0E8; border-radius:28px; background:#E8F0F9; }
.service-inputs h2 { font-size:1.375rem; }
.service-inputs ul { padding-left:20px; margin:0; display:grid; gap:16px; }
.service-inputs li { padding-left:4px; font-size:1rem; line-height:1.8; }
.service-agreement { padding-top:24px; margin-top:26px; border-top:1px solid #BDD0E8; font-size:.9375rem; line-height:1.75; color:#405671; }
.service-related-section { padding:30px 0 82px; }
.service-related { display:flex; flex-wrap:wrap; gap:14px; }
.service-related a { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:54px; padding:15px 23px; border:1px solid #BDD0E8; border-radius:32px; font-size:.9375rem; line-height:1.6; color:var(--ink); transition:background .2s,border-color .2s; }
.service-related a:hover { background:#DAE9FA; border-color:#7FA9D9; }
@media(max-width:1100px) {
 .service-overview,.service-detail-layout { gap:38px; }
 .service-outcome { padding:28px; }
}
@media(max-width:800px) {
 .service-overview,.service-detail-layout { grid-template-columns:1fr; gap:38px; }
 .service-intro-section { padding-top:26px; padding-bottom:45px; }
 .service-back { margin-bottom:27px; }
 .service-outcome { min-height:0; }
 .service-detail-section { padding:45px 0; }
 .service-related-section { padding-bottom:55px; }
}
@media(max-width:520px) {
 .service-overview-copy h1 { font-size:clamp(2rem,8vw,3rem); }
 .service-lead { font-size:1.0625rem; }
 .service-inputs { padding:25px; }
 .service-overview-copy .button { gap:17px; }
 .service-related a { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .service-related a { transition:none; } }
