/* N09: homepage-only content layout; existing form skin and other URLs preserved. */
.site-header .header__inner { max-width:1400px; margin:auto; padding:0 18px; }
.service-page { --muted:#b3b4cb; }
.service-page > section:not(.hero) { padding:38px 0; }
.service-page h1 { font-size:clamp(30px,3.5vw,46px); line-height:1.12; margin:12px 0 18px; letter-spacing:-.025em; }
.service-page .hero .row { align-items:center; }
.service-page .eyebrow { color:#c1b8ff; font-size:14px; font-weight:700; letter-spacing:.06em; }
.service-page .subtitle { font-size:18px; }
.service-page .hero-detail { margin-top:20px; }
.service-page a:not(.btn) { color:#c8c0ff; text-underline-offset:4px; }
.service-page a:focus-visible,.service-page summary:focus-visible { outline:3px solid #56e0ff; outline-offset:4px; }
.service-page .section-intro { max-width:900px; margin-bottom:22px; font-size:18px; }
.service-page .scenario { display:flex; flex-direction:column; }
.service-page .scenario p { flex:1; }
.service-page .scenario .btn { align-self:flex-start; margin-top:12px; }
.brief-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:16px; }
.brief-list { margin:0; padding-left:25px; }
.brief-list li { margin:0 0 14px; color:var(--muted); padding-left:4px; }
.brief-list li:last-child { margin-bottom:0; }
.brief-list strong { color:#f3f4ff; }
.service-page .brief-note { background:linear-gradient(135deg,#8a7bff19,#56e0ff09); }
.step-number { display:block; color:#aa9dff; font-size:24px; margin-bottom:12px; }
.service-page .after-grid { margin-top:20px; }
.faq-list { display:grid; gap:12px; }
.faq-list summary { cursor:pointer; font-weight:600; font-size:18px; }
.faq-list details p { margin:16px 0 0; max-width:950px; }
.lead-heading { max-width:850px; }
.service-page .contact-note { margin:18px 0 0; }
.service-footer { padding:26px 0; border-top:1px solid #ffffff20; }
.service-page [id] { scroll-margin-top:calc(var(--hdr-h) + 24px); }
.service-page .row > *, .brief-grid > * { min-width:0; }
@media(max-width:920px) {
 .site-header .nav { width:100%; justify-self:stretch; box-sizing:border-box; }
 .site-header .nav.open { overflow-y:auto; }
 .site-header .burger { justify-self:end; }
}
@media(max-width:640px) {
 .service-page > section:not(.hero) { padding:28px 0; }
 .service-page .hero { padding:22px 18px; }
 .service-page .subtitle,.service-page .section-intro { font-size:17px; }
 .brief-grid { grid-template-columns:minmax(0,1fr); }
 .service-page .cta .btn { text-align:center; }
}
