/* Shared service presentation; existing illustrations and page-specific contents remain. */
body.service-page { --service-ink:#232536; --service-muted:#626375; --service-line:#d9d5e5; color:var(--service-ink); background:#fcfcff; }
body.service-page::after { display:none; }
body.service-page main { padding-top:112px; }
body.service-page .container-max { margin:0 auto; max-width:1440px; padding:0 4%; }
body.service-page .container { width:100%; max-width:1240px; margin-left:auto; margin-right:auto; }
body.service-page .container.center { text-align:left; min-height:0; padding:64px 5%; border:1px solid var(--service-line); border-radius:18px; background:linear-gradient(120deg,#eae4f4,#fcfcff 60%,#e8eefb); box-shadow:none; }
body.service-page .container.center::before,body.service-page .container.center::after { display:none; }
body.service-page h1 { margin:0 0 25px; font-size:clamp(38px,5.6vw,78px); line-height:1.04; letter-spacing:-.045em; font-weight:650; }
body.service-page :is(h1,h2,h3,.section-heading) span { color:inherit; background:none; -webkit-text-fill-color:currentColor; -webkit-background-clip:initial; }
body.service-page h2,body.service-page .section-heading { color:var(--service-ink); background:none; -webkit-text-fill-color:currentColor; font-size:clamp(27px,3.2vw,44px); line-height:1.15; letter-spacing:-.035em; }
body.service-page h3 { color:var(--service-ink); font-size:24px; line-height:1.25; }
body.service-page .teaser { color:var(--service-muted); max-width:850px; font-size:clamp(18px,1.6vw,23px); line-height:1.55; margin:0; }
body.service-page main p,body.service-page main li { line-height:1.65; }
body.service-page main a:not(.sx-button) { color:inherit; text-decoration-color:#9d87be; text-underline-offset:4px; }
body.service-page .mtop { margin-top:65px; }
body.service-page .promotonda { color:var(--service-ink); background:#efeaf7; border-radius:18px; box-shadow:none; }
body.service-page .promotonda small { color:var(--service-muted); }
body.service-page.content.invert .flexcont .cards { color:var(--service-ink); border:1px solid var(--service-line); border-radius:16px; background:#fff; box-shadow:none; }
body.service-page.content.invert .flexcont .cards:nth-child(even) { background:#eeebf5; }
body.service-page.content.invert .flexcont .cards > div { color:var(--service-ink); background:none; }
body.service-page .cards b,body.service-page .cards li,body.service-page .cards p { color:var(--service-ink); }
body.service-page .cards.faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; margin:28px 0; }
body.service-page .cards.faq > div { padding:25px; background:#fff; color:var(--service-ink); border:1px solid var(--service-line); border-radius:12px; }
body.service-page .service-faq { margin:60px auto; }
body.service-page .service-faq__item { color:var(--service-ink); background:white; border:1px solid var(--service-line); }
body.service-page .service-faq__item summary,body.service-page .service-faq__item h3,body.service-page .service-faq__answer p { color:var(--service-ink); }
body.service-page .service-local-strip { background:#f0edf7; color:var(--service-ink); border-color:var(--service-line); }
body.service-page .service-local-strip a { color:var(--service-ink); background:#fff; border-color:var(--service-line); }
.sx-wrap { width:min(1240px,92%); margin:0 auto; }
.sx-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin:4px 0 26px; color:#696078; font-size:13px; }
.sx-breadcrumb a { text-decoration:underline; }
.sx-hero { display:grid; grid-template-columns:1.18fr .82fr; align-items:center; gap:48px; padding:42px 0 65px; }
.sx-eyebrow { display:block; color:#65527e; font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:22px; }
.sx-hero .sx-lead { color:#626375; font-size:21px; line-height:1.6; }
.sx-hero-art { padding:16px; background:#e9e3f3; border-radius:22px; transform:rotate(2deg); }
.sx-hero-art img { display:block; width:100%; height:auto; border-radius:15px; }
.sx-hero-art figcaption { font-size:12px; padding:14px 8px 0; color:#655a78; }
.sx-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; }
.sx-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 23px; min-height:52px; color:#fff; background:#232536; border-radius:4px; text-decoration:none; font-size:16px; font-weight:600; }
.sx-button:hover { background:#604788; }
.sx-section { margin:0; padding:66px 0; border-top:1px solid var(--service-line,#d9d5e5); }
.sx-section > p { max-width:850px; font-size:18px; color:#626375; }
.sx-section h2 { max-width:850px; margin:0 0 24px; }
.sx-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:30px; }
.sx-grid article,.sx-grid > a { padding:30px; border:1px solid #d9d5e5; border-radius:14px; background:#fff; min-width:0; }
.sx-grid > a { text-decoration:none; }
.sx-grid > a:hover { background:#f0ebf8; }
.sx-grid :is(h3,b) { margin:16px 0 14px; display:block; }
.sx-grid p { margin-bottom:0; color:#626375; }
.sx-number { font-size:12px; letter-spacing:.1em; color:#78658e; }
.sx-split { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; }
.sx-panel { border-radius:16px; padding:35px; background:#eee9f6; }
.sx-panel.lilac { background:#e7e2f2; }
.sx-video { margin:0; padding:15px; border:1px solid #d9d5e5; border-radius:18px; background:#fff; }
.sx-video video { display:block; width:100%; height:auto; max-height:430px; border-radius:10px; background:#232536; }
.sx-video figcaption { padding:13px 4px 0; font-size:13px; color:#626375; }
.sx-links { margin:18px 0 0; padding-left:22px; }
.sx-links li { margin:8px 0; }
.sx-cta { padding:45px; background:#eae3f4; border-radius:18px; }
.service-connections { padding:50px 0 65px; }
.service-connections h2 { font-size:30px!important; }
.service-connections .sx-grid { margin-top:22px; }
.service-connections .sx-grid b { margin-top:0; font-size:20px; }
body.service-page :focus-visible { outline:3px solid #8068bf; outline-offset:5px; }
@media(max-width:800px){
 body.service-page main{padding-top:100px} .sx-hero,.sx-split {grid-template-columns:1fr;gap:28px} .sx-hero{padding:26px 0 40px}.sx-hero-art{margin:0;max-width:520px} .sx-grid{grid-template-columns:1fr}.sx-section{padding:42px 0}.sx-hero .sx-lead{font-size:18px}.sx-panel,.sx-cta{padding:25px}body.service-page .cards.faq{grid-template-columns:1fr}body.service-page .container.center{padding:35px 7%}body.service-page .mtop{margin-top:40px}
}
/* Override the legacy inverted holographic theme only within service pages. */
body.service-page.invert main { color:#232536!important; background:none!important; font-weight:400; }
body.service-page.invert main :is(h1,h2,h3,h4),body.service-page.invert main :is(h1,h2,h3,h4) span { color:#232536!important; background:none!important; -webkit-text-fill-color:#232536!important; background-clip:initial!important; -webkit-background-clip:initial!important; animation:none!important; }
body.service-page.invert main a:not(.sx-button),body.service-page.invert main a:not(.sx-button):visited { color:#5e438c!important; font-weight:500; }
body.service-page.invert main .sx-button { color:#fff!important; }
body.service-page .sx-hero h1 { font-size:clamp(38px,4.7vw,67px); }
body.service-page .sx-breadcrumb a { font-size:13px; }
body.service-page .sx-actions > a:not(.sx-button) { font-size:16px; }
body.service-page.invert main .cards :is(b,p,li,small,div),body.service-page.invert main .cards li::marker { color:#232536!important; -webkit-text-fill-color:#232536!important; }
body.service-page.invert main .flexcont .cards > img { mix-blend-mode:normal!important; }
body.service-page.content.invert:not(.home) .container-max { padding-top:0; }
body.service-page.content.invert:not(.home) .promotonda { color:#232536; background:#efeaf7!important; border:1px solid #d9d5e5!important; box-shadow:none; }
body.service-page.content.invert:not(.home) .promotonda > div,
body.service-page.content.invert:not(.home) .promotonda small { color:#626375; }
body.service-page.content.invert:not(.home) .cards.faq > div { color:#232536; }
body.service-page.content.invert:not(.home) .container h2.section-heading { margin-top:48px; font-size:clamp(28px,4.4vw,44px)!important; }
body.service-page.content.invert:not(.home) .container h2.section-heading::after { display:none; }
body.service-page.content.invert:not(.home) .container-max > .container.center { min-height:0; padding:clamp(32px,5vw,68px); border:1px solid #d9d5e5; border-radius:18px; background:linear-gradient(120deg,#eae4f4,#fcfcff 60%,#e8eefb); box-shadow:none; backdrop-filter:none; }
body.service-page.content.invert:not(.home) .container-max > .container.center h1 { font-size:clamp(38px,5.6vw,78px); line-height:1.04; text-align:left; }
body.service-page.content.invert:not(.home) .container-max > .container.center .teaser { color:#626375; text-align:left; text-wrap:pretty; }
body.service-page.content.invert:not(.home) .flexcont .cards > div { background:transparent!important; }
body.service-page.content.invert:not(.home) .cards > div::before { display:none; }
body.service-page.content.invert:not(.home) .cards { margin-bottom:40px; }

/* Keep linked-service names above their supporting copy in the hierarchy. */
body.service-page .service-connections .sx-grid b { font-weight:600; font-size:20px; }
body.service-page .service-connections .sx-grid p { font-size:16px; line-height:1.6; font-weight:400; }
