/* Shared services overview. All rules stay inside the page main landmark. */
.services-v2{--svc-space:64px;overflow-wrap:anywhere}
.services-v2 .container{max-width:1248px}
.services-v2 section{padding:var(--svc-space) 0;border-top:1px solid var(--line)}
.services-v2 [id]{scroll-margin-top:104px}
.services-v2 h1{font-size:clamp(36px,4.1vw,58px);line-height:1.08;letter-spacing:-.045em;max-width:20ch;text-wrap:balance}
.services-v2 h2{font-size:clamp(28px,2.7vw,38px);line-height:1.16;letter-spacing:-.035em;max-width:28ch;text-wrap:balance}
.services-v2 .svc-hub-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.services-v2 .svc-hub-link:hover{color:var(--accent-2)}
.services-v2 h3{font-size:20px;line-height:1.35}.services-v2 h4{font-size:18px;text-transform:none;letter-spacing:0;line-height:1.4;color:var(--text)}
.services-v2 p{color:var(--text-dim);line-height:1.7;max-width:65ch}
.services-v2 .svc-eyebrow{font:500 12px/1.7 var(--font-mono);letter-spacing:.045em;color:var(--accent-2);margin:0 0 12px}
.services-v2 .svc-lead{font-size:clamp(17px,1.4vw,19px);line-height:1.65;margin:20px 0;max-width:57ch}
.services-v2 .svc-hero{padding:40px 0 56px;border-top:0}
.svc-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center}
.svc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.services-v2 .svc-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;max-width:100%;padding:13px 20px;border:1px solid var(--line-2);border-radius:6px;font-size:14px;font-weight:700;line-height:1.5}
.services-v2 .svc-button-primary{background:var(--text);color:var(--bg-0);border-color:var(--text)}
.services-v2 .svc-button-primary:hover{background:var(--accent-2);color:var(--bg-0)}
.services-v2 a:focus-visible{outline:3px solid var(--accent-2);outline-offset:4px}
.services-v2 .svc-text-link{display:inline-block;min-height:44px;padding:11px 0;font-size:14px;font-weight:700;color:var(--text);text-decoration:underline;text-underline-offset:4px}
.services-v2 .svc-text-link:hover{color:var(--accent-2)}
.svc-system{background:#17170f;color:#fffdf8;border-radius:10px;padding:28px}
.services-v2 .svc-system>p{color:#d5cfb7;font:12px/1.7 var(--font-mono)}
.svc-system ol{list-style:none;margin:0;padding:0}.svc-system li{position:relative;border-top:1px solid #4e4b39}
.services-v2 .svc-system a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 12px;padding:16px 0;color:#fffdf8;min-height:48px}
.svc-system a>span{grid-row:span 2;color:#efd21a;font:12px/1.8 var(--font-mono)}
.svc-system a>strong{font-size:17px}.svc-system a>small{color:#d5cfb7;font-size:13px}
.services-v2 .svc-system a:hover{color:#efd21a}.services-v2 .svc-system a:focus-visible{outline-color:#efd21a}
.svc-situations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;list-style:none;padding:0;margin:28px 0 0}
.svc-situations li{border-top:1px solid var(--line-2);padding-top:18px}.svc-situations h3{max-width:30ch}
.svc-world-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:64px;align-items:start}
.svc-world-intro>p{margin:18px 0}.svc-tint{background:var(--bg-2)}
.svc-service-list{list-style:none;margin:0;padding:0}.svc-service{padding:18px 0;border-bottom:1px solid var(--line)}
.svc-service:first-child{padding-top:0}.svc-service h3,.svc-service h4{margin:0 0 6px}.svc-service p{font-size:15px;margin:0}
.svc-service .svc-text-link{padding-bottom:0}.svc-service-group{margin-bottom:28px}.svc-service-group:last-child{margin-bottom:0}
.services-v2 .svc-service-group>h3{font-size:12px;font-family:var(--font-mono);letter-spacing:.035em;color:var(--accent-2);margin:0 0 16px}
.svc-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:28px 0 0;gap:24px}
.svc-flow li{border-top:2px solid var(--line-2);padding-top:18px}.svc-flow h3{font-size:18px}.svc-flow p{font-size:14px;margin-bottom:0}
.svc-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.svc-evidence{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg-1)}
.svc-case-route{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px;margin:0}
.svc-case-route li{border-top:2px solid var(--line-2);padding-top:14px}.svc-case-route span{display:block;font:12px/1.7 var(--font-mono);color:var(--accent-2);margin-bottom:8px}.svc-case-route strong{font-size:14px;line-height:1.5}
.svc-evidence figcaption{padding:22px;border-top:1px solid var(--line)}
.services-v2 .svc-metric{font-size:clamp(25px,2.5vw,34px);line-height:1.3;font-weight:800;color:var(--text);margin:10px 0}
.services-v2 .svc-evidence-note{font-size:13px;margin:0}.svc-working-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:28px}
.svc-working-grid>div{border-top:1px solid var(--line-2);padding-top:20px}
.svc-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;margin:36px 0 0;padding:0}
.svc-process li{border-top:1px solid var(--line);padding-top:16px}.svc-process h3{font-size:17px}.svc-process p{font-size:14px}
.svc-profile{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:56px;align-items:center}
.svc-portrait{margin:0;max-width:320px}.svc-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 42%;border-radius:8px}
.svc-portrait figcaption{font-size:14px;line-height:1.6;padding-top:12px;color:var(--text-dim)}.svc-portrait strong{display:block;color:var(--text)}
.services-v2 .svc-close{background:var(--bg-3)}
:root[data-contrast=high] .services-v2 .svc-tint,:root[data-contrast=high] .services-v2 .svc-close{background:var(--bg-1)}
@media(max-width:1024px){.svc-hero-grid,.svc-world-layout,.svc-case,.svc-profile{gap:32px}.svc-flow,.svc-process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.services-v2{--svc-space:48px}.svc-hero-grid,.svc-world-layout,.svc-case,.svc-profile{grid-template-columns:minmax(0,1fr)}.services-v2 .svc-hero{padding:28px 0 44px}.svc-system{max-width:600px}.svc-portrait{max-width:280px}.svc-world-layout{gap:28px}}
@media(max-width:600px){.services-v2 .container{padding-inline:20px}.svc-situations,.svc-flow,.svc-working-grid,.svc-process,.svc-case-route{grid-template-columns:minmax(0,1fr)}.svc-actions{flex-direction:column;align-items:stretch}.svc-system{padding:22px}.svc-hero-grid{gap:28px}.svc-profile{gap:24px}.svc-evidence figcaption{padding:20px}}
