/* Shared editorial service layout. Uses homepage typography, colors and header. */
.detail-utility { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:24px; font-size:12px; color:var(--muted); }
.view-switch { display:inline-flex; border:1px solid #47505d; border-radius:4px; padding:3px; gap:3px; font-size:11px; line-height:1.4; }
.view-switch a { padding:8px 12px; border-radius:2px; }
.view-switch a[aria-current] { background:#9cdcf3; color:#102331; }
.view-switch a:hover { text-decoration:underline; text-underline-offset:3px; }
.detail-hero { padding:38px 0 72px; }
.detail-hero-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:center; }
.detail-hero .eyebrow { color:var(--blue); margin-bottom:25px; }
.detail-page h1 { font-size:clamp(40px,4.9vw,70px); line-height:1.04; letter-spacing:-.045em; overflow-wrap:anywhere; }
.detail-lead { max-width:620px; color:#b5bfce; font-size:17px; line-height:1.8; margin-top:27px; }
.detail-map { border:1px solid #344152; border-radius:6px; padding:26px 30px; background:radial-gradient(ellipse at 100% 0,#9cdcf311,transparent 65%),#101724; }
.detail-map-top { display:flex; gap:20px; align-items:center; justify-content:space-between; color:#b5c8db; }
.detail-map-top .small-label { max-width:180px; font-size:9px; }
.detail-map svg { width:74px; flex-shrink:0; fill:none; stroke:#607990; stroke-width:.8; }
.detail-map .map-needle { fill:#9cdcf318; stroke:#9cdcf3; }
.detail-map ol { margin:28px 0 12px; padding:0; list-style:none; }
.detail-map li { border-top:1px solid #344152; display:flex; align-items:baseline; gap:18px; padding:16px 0; font-size:14px; }
.detail-map li>span { font-size:10px; color:var(--blue); }
.detail-map-line { display:flex; justify-content:space-between; position:relative; padding-top:20px; }
.detail-map-line::before { content:''; position:absolute; left:0; right:0; top:22px; height:1px; background:#47546a; }
.detail-map-line i { width:5px; height:5px; background:#9cdcf3; position:relative; }
.detail-toc { border-block:1px solid var(--line); background:#101724; }
.detail-toc .container { display:flex; flex-wrap:wrap; gap:12px 35px; padding-block:20px; }
.detail-toc a { font-size:11px; color:#b5bfce; padding:4px 0; }
.detail-toc a:last-child { margin-left:auto; color:var(--blue); }
.detail-section { padding:88px 0; }
.detail-section h2 { font-size:clamp(32px,3.4vw,46px); line-height:1.12; overflow-wrap:anywhere; }
.detail-section h3 { font-size:clamp(28px,3vw,40px); }
.detail-section .benefit-text h3,.detail-section .step-body h3 { font:500 21px/1.25 var(--heading); letter-spacing:-.02em; margin:0 0 10px; overflow-wrap:anywhere; }
.detail-section .section-label,.info-box-label,.owl-badge { display:block; font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:22px; color:#596770; }
.service-two-col { display:grid; grid-template-columns:1fr 1.05fr; gap:80px; }
.service-two-col>* { min-width:0; }
.service-prose p { font-size:15px; line-height:1.9; color:#52616a; margin-top:22px; }
.light-section .detail-accent { color:#657887; }
.benefit-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; counter-reset:benefits; }
.benefit-item { border-top:1px solid #bfc9cb; padding-top:18px; counter-increment:benefits; }
.benefit-item::before { content:counter(benefits,decimal-leading-zero); display:block; color:#557082; font-size:10px; margin-bottom:20px; }
.benefit-text p,.step-body p { font-size:14px; line-height:1.85; color:#52616a; }
.detail-dark { background:#101724; border-block:1px solid var(--line); }
.detail-dark .section-label { color:#a4bacd; }
.detail-dark .detail-accent { color:#9cdcf3; }
.detail-dark .service-prose p,.detail-dark .step-body p { color:#b5bfce; }
.steps-list { display:grid; gap:0; }
.step-item { display:flex; gap:24px; border-top:1px solid #3b495c; padding:23px 0; }
.step-item:last-child { border-bottom:1px solid #3b495c; }
.step-num { color:#9cdcf3; font:400 26px/1 var(--heading); min-width:28px; padding-top:3px; }
.info-box { max-width:960px; border-left:2px solid #708b9c; padding:5px 0 5px 38px; }
.info-box h2 { max-width:780px; margin-bottom:24px; }
.info-box p { max-width:800px; color:#52616a; font-size:15px; line-height:1.9; margin-top:18px; }
.result-tags { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; }
.result-tag { font-size:11px; border:1px solid #b6c4c9; padding:8px 12px; border-radius:3px; }
.owl-card { display:block; max-width:1000px; }
.owl-content h2 { margin-bottom:24px; }
.owl-content p { font-size:15px; line-height:1.9; max-width:820px; color:#b5bfce; margin:18px 0; }
.owl-content .owl-meta { font-size:11px; }
.owl-content .btn { display:inline-flex; align-items:center; gap:22px; background:var(--blue); color:#102331; padding:13px 18px; border-radius:3px; font-size:12px; font-weight:600; }
.owl-content .owl-badge { color:#a4bacd; }
.light-section .owl-content p { color:#52616a; }
.light-section .owl-content .owl-badge { color:#596770; }
.detail-related { padding:70px 0; }
.detail-related>.container>.eyebrow { color:#a4bacd; margin-bottom:25px; }
.detail-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.detail-related-grid>a { border:1px solid #344152; padding:24px; border-radius:4px; display:flex; flex-direction:column; align-items:flex-start; gap:25px; }
.detail-related-grid h3 { font-size:24px; overflow-wrap:anywhere; }
.detail-related-grid span { font-size:11px; color:#9cdcf3; margin-top:auto; }
.detail-related-grid>a:hover { border-color:#9cdcf3; background:#101724; }
.detail-contact>.container { display:grid; grid-template-columns:1.4fr 1fr; gap:80px; align-items:center; padding-block:70px; }
.detail-contact h2 { font-size:clamp(32px,3.5vw,50px); margin:20px 0; }
.detail-contact p { font-size:14px; line-height:1.8; }
.detail-contact-actions { display:flex; flex-direction:column; gap:18px; align-items:flex-start; }
.detail-contact-actions p { font-size:11px; }
@media(max-width:1000px) { .detail-hero-grid,.service-two-col { gap:40px; } .detail-map { padding:20px; } .detail-related-grid { gap:12px; } .detail-related-grid>a { padding:20px; } }
@media(max-width:760px) { .detail-hero-grid,.service-two-col,.detail-contact>.container { grid-template-columns:1fr; gap:36px; } .detail-hero { padding:22px 0 48px; } .detail-page h1 { font-size:clamp(38px,8vw,56px); } .detail-lead { font-size:15px; } .detail-map { max-width:none; } .detail-section { padding:56px 0; } .detail-toc .container { gap:14px 22px; } .detail-toc a:last-child { margin-left:0; } .detail-related-grid { grid-template-columns:1fr; } .detail-related-grid>a { gap:16px; } .detail-contact>.container { padding-block:50px; } .info-box { padding-left:22px; } }
@media(max-width:380px) { .benefit-list { grid-template-columns:1fr; } .detail-utility { gap:10px; font-size:10px; } .view-switch a { padding:8px; } }
@media(prefers-reduced-motion:reduce) { .detail-page *, .detail-page *::before { scroll-behavior:auto; transition:none; animation:none; } }
