/* Shared public-page refinement. Existing brand, content and illustrations remain. */
html.sr-night {
  --ux-ink:#24211d; --ux-paper:#f7f6f3; --ux-muted:#57534e;
  --ux-rule:#d8d2c8; --ux-focus:#9f2f2d; --ux-surface:#fbfaf7;
  --ux-space:8px; --ux-radius:16px; --ux-duration:160ms;
}
html.sr-night body { -webkit-text-size-adjust:100%; }
/* Content must remain readable before observers fire and in low power mode. */
html.sr-night.fx-on main .fx-w > span { transform:none!important; transition:none!important; }
html.sr-night.fx-on main .fx-rise { opacity:1!important; transform:none!important; transition:none!important; }
html.sr-night main :is(h1,h2,h3,h4) { overflow-wrap:break-word; }
html.sr-night main :is(section[id],h2[id],h3[id],h4[id]) { scroll-margin-top:112px; }
html.sr-night main :is(.sv-lead,.sv-body,.sv-small,.svh-lead,.svh-fit,.srp-lead,.post-meta,.news-deck,.bcard-excerpt) { color:var(--ux-muted)!important; }
html.sr-night main p { text-wrap:pretty; }
html.sr-night main .ss3 :is(h1,h2,h3) { color:#f7f6f3!important; }
html.sr-night main .ss3 :is(h1,h2) em { color:#ff8a80!important; }
html.sr-night .ss3 .ss3-cta { min-height:48px; display:inline-flex; align-items:center; padding:14px 20px; background:#f7f6f3!important; color:#24211d!important; }
html.sr-night .sh-row { border-color:var(--ux-rule)!important; }
html.sr-night .sh :is(.sh-link,.sh-cta) { min-height:44px; box-sizing:border-box; }
html.sr-night .sh-mi { min-height:64px; justify-content:center; }
html.sr-night .sh-mi small { color:var(--ux-muted); font-size:13px; line-height:1.5; }
html.sr-night :is(.sh-link,.sh-mi,.sh-mlink)[aria-current="page"] { color:var(--ux-ink)!important; background:#ede7dc!important; text-decoration:underline; text-underline-offset:5px; }
html.sr-night .sh-dd[data-ux-menu] .sh-menu { display:none; }
html.sr-night .sh-dd[data-ux-menu][data-open="true"] .sh-menu { display:flex; }
html.sr-night .sh-dd[data-ux-menu][data-open="true"] .sh-caret { transform:rotate(180deg); }
html.sr-night .sh-menu { top:calc(100% + 8px); border-radius:var(--ux-radius)!important; padding:8px; box-shadow:0 16px 48px #24211d14!important; }
html.sr-night .sh-panel .sh-glabel { color:var(--ux-muted); font-size:12px; letter-spacing:.08em; }
html.sr-night .sh-panel .sh-mlink { min-height:48px; box-sizing:border-box; line-height:1.5; gap:16px; }
html.sr-night .sh-panel .sh-mlink.sub { padding-block:12px; }
html.sr-night :is(.sv-button,.svh-primary,.svh-secondary,.btn,.srp-plan a,.news-read,.toc-mobile summary) { min-height:48px; box-sizing:border-box; }
html.sr-night :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--ux-focus)!important; outline-offset:4px!important; }
html.sr-night .ux-skip { position:fixed; left:20px; top:12px; z-index:2147483646; padding:14px 20px; background:var(--ux-ink); color:white; border-radius:8px; transform:translateY(-180%); }
html.sr-night .ux-skip:focus { transform:none; }
html.sr-night .sv-page-hero .sv-wrap { row-gap:32px; }
html.sr-night :is(.sv-service,.sv-value,.srp-plan,.news-latest-copy) { min-width:0; }
html.sr-night :is(.sv-services,.sv-values,.sv-advantages,.sv-steps,.srp-plans) { gap:24px; }
html.sr-night .srp-plan { display:flex; flex-direction:column; }
html.sr-night .srp-plan > a:last-child { margin-top:auto; }
html.sr-night main .prose { font-size:18px; line-height:1.8; }
html.sr-night main .prose :is(p,li) { max-width:72ch; }
html.sr-night main .prose :is(p,li,td) { color:#48443f; }
html.sr-night main .prose table { display:block!important; width:100%; max-width:100%; overflow-x:auto!important; overscroll-behavior-x:contain; border:1px solid var(--ux-rule)!important; border-radius:12px!important; }
html.sr-night main .prose th { text-align:left; }
html.sr-night main .prose :is(th,td) { min-width:120px; vertical-align:top; }
html.sr-night main .prose table:focus-visible { outline:3px solid var(--ux-focus); outline-offset:4px; }
html.sr-night .toc-rail .toc-list a { display:block; padding-block:10px; line-height:1.5; }
html.sr-night .toc-rail .on > a { font-weight:700; border-left:2px solid var(--ux-focus); padding-left:12px; }
html.sr-night .toc-mobile { border:1px solid var(--ux-rule)!important; border-radius:12px; background:var(--ux-surface); }
html.sr-night .toc-mobile summary { padding:14px 16px; cursor:pointer; }
html.sr-night .toc-mobile .toc-list a { display:block; padding:12px 16px; line-height:1.5; }
html.sr-night .post-page .prose > p:first-of-type::first-letter { float:none; font:inherit; margin:0; color:inherit; }
html.sr-night :is(.lead-form,.sv-form,.srb-form) :is(input,select,textarea) { font-size:16px!important; line-height:1.5; min-height:48px; border-color:#aca69c!important; }
html.sr-night :is(.lead-form,.sv-form,.srb-form) :is(input,textarea)::placeholder { color:#686158; opacity:1; }
html.sr-night .sf-a { display:inline-flex; align-items:center; min-height:44px; line-height:1.5; }
@media(hover:hover) {
  html.sr-night :is(.news-latest-card,.bcard):hover :is(strong,h2,h3) { text-decoration:underline; text-underline-offset:4px; }
}
@media(max-width:960px) {
  html.sr-night .sh { padding-top:calc(10px + env(safe-area-inset-top,0px))!important; }
  html.sr-night .sh-row { width:calc(100% - 24px)!important; padding-inline:16px 8px!important; }
}
@media(max-width:640px) {
  html.sr-night .sv:not(.sv-home) > section { padding-block:56px!important; }
  html.sr-night .sv:not(.sv-home) > section.sv-page-hero { padding-block:40px 48px!important; }
  html.sr-night main h1:not(.svh-h1) { font-size:clamp(36px,10vw,48px)!important; line-height:1.1!important; max-width:100%; }
  html.sr-night .svh .svh-h1 { line-height:1.08!important; }
  html.sr-night :is(.sv-head,.srp-section-head,.news-section-head) { margin-bottom:28px!important; }
  html.sr-night :is(.svh-actions,.sv-actions) { display:flex; flex-wrap:wrap; gap:12px; }
  html.sr-night .svh-actions > a { width:100%; justify-content:center; text-align:center; }
  html.sr-night .svh-lead { font-size:16px!important; line-height:1.7!important; }
  html.sr-night :is(.sv-services,.sv-values,.sv-advantages,.sv-steps,.srp-plans) { grid-template-columns:minmax(0,1fr)!important; gap:16px; }
  html.sr-night main .prose { font-size:17px; line-height:1.8; }
  html.sr-night main .prose h2 { font-size:30px!important; line-height:1.2!important; }
  html.sr-night main .prose h3 { font-size:21px!important; }
  html.sr-night .news-topics { flex-wrap:wrap; gap:8px; }
  html.sr-night .news-topics a { min-height:44px; display:inline-flex; align-items:center; }
  html.sr-night .news-cta { padding:28px 24px!important; border-radius:16px!important; }
  html.sr-night .sf-top { gap:28px; }
  html.sr-night .sf-a { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  html.sr-night { scroll-behavior:auto!important; }
  html.sr-night :is(.sh-menu,.sh-caret,.sh-link,.sv-button,.svh-primary,.svh-secondary,.bcard,.news-latest-card) { animation:none!important; transition:none!important; }
}

/* Clean editorial direction: one paper, one ink, one restrained brand accent. */
html.sr-night {
  --clean-paper:#f7f6f3; --clean-ink:#24211d; --clean-accent:#9f2f2d;
  --clean-muted:#57534e; --clean-rule:#dedbd4; --clean-soft:#eeece6;
  --a-ink:var(--clean-ink); --a-muted:var(--clean-muted);
  --a-paper:var(--clean-paper); --a-card:#fbfaf7;
  --a-oat:var(--clean-soft); --a-clay:var(--clean-soft);
  --a-sage:var(--clean-soft); --a-mist:var(--clean-soft);
  --a-terra:var(--clean-ink); --a-b-oat:var(--clean-soft);
  --a-b-sage:var(--clean-paper); --a-b-mist:var(--clean-paper); --a-b-clay:var(--clean-paper);
  --cm-paper:var(--clean-paper); --cm-ink:var(--clean-ink);
  --cm-oat:var(--clean-soft); --cm-clay:var(--clean-soft);
  --cm-sage:var(--clean-soft); --cm-mist:var(--clean-soft);
  --ux-ink:var(--clean-ink); --ux-focus:var(--clean-accent);
}
html.sr-night main { background:var(--clean-paper); }
html.sr-night .svh-grid { max-width:1280px; gap:clamp(32px,5vw,72px); align-items:center; padding-block:64px!important; }
html.sr-night .svh-visual { position:relative!important; top:auto!important; margin-top:0!important; background:transparent!important; padding:0; border:0; }
html.sr-night .svh-visual::before,html.sr-night .svh-visual::after { content:none!important; }
html.sr-night .svh .hg { max-width:500px; }
html.sr-night .svh .svh-h1 { font-size:clamp(52px,5.1vw,72px)!important; line-height:1.07!important; letter-spacing:-.035em; }
html.sr-night .svh .svh-deck { margin-top:28px!important; font-size:20px!important; line-height:1.5!important; }
html.sr-night .svh-lead { max-width:52ch; line-height:1.7!important; }
html.sr-night .svh-h1 strong { text-decoration:none!important; }
html.sr-night .svh-actions { gap:12px!important; margin-top:28px!important; }
html.sr-night :is(.svh-primary,.svh-secondary,.sv-button,.srp-btn,.sh-cta) { border-radius:8px!important; }
html.sr-night .svh-pillars { margin-top:24px!important; }
html.sr-night .svh-fit { max-width:56ch; line-height:1.7; }
/* Equal widths and quiet surfaces make every page feel like the same site. */
html.sr-night :is(.sv-wrap,.srp-wrap) { max-width:1180px; }
html.sr-night .sv.sv-home > section,
html.sr-night .sv:not(.sv-home) > section.sv-paper { background:var(--clean-paper)!important; }
html.sr-night .sv.sv-home > section:not(.svh):not(.cro-nav),
html.sr-night .sv:not(.sv-home) > section:not(.sv-page-hero) { padding-block:72px!important; }
html.sr-night .sv.sv-home > section#proof { background:var(--clean-soft)!important; }
html.sr-night .sv.sv-home > section .sv-head { display:block!important; max-width:780px; margin-bottom:36px!important; }
html.sr-night .sv.sv-home > section .sv-head > .sv-lead { margin-top:20px!important; }
html.sr-night .sv-home :is(.sv-h2,.dashboard-value h2,.sv-evidence-h),
html.sr-night .sgd .sgd-h { font-size:clamp(32px,3.4vw,46px)!important; line-height:1.15!important; max-width:24ch!important; }
html.sr-night main h1:not(.svh-h1):not(.ss3-h1) { font-size:clamp(40px,4.8vw,64px)!important; line-height:1.1!important; max-width:21ch; }
html.sr-night main h2:not(.sv-home h2):not(.ss3 h2):not(.prose h2):not(aside h2):not(.srp-plan h2):not(.news-latest-card h2) { font-size:clamp(30px,3.2vw,44px)!important; line-height:1.15!important; }
html.sr-night :is(.sv-page-hero,.srp-hero,.news-mast,.post-hero)::before { content:none!important; }
html.sr-night :is(.sv-advantage,.svm-step,.svm-measure,.ts-cap,.ts-decision,.sv-value,.sv-tech,.byo-card,.byo-path,.srp-service,.srp-info,.rs-client,.proof-card) {
  background:transparent!important; border:1px solid var(--clean-rule)!important;
  border-radius:12px!important; box-shadow:none!important;
}
html.sr-night .sv-evidence-card { background:var(--clean-paper)!important; border:1px solid var(--clean-rule)!important; border-radius:12px!important; }
html.sr-night .sv-home .dashboard-value-grid > article { background:transparent!important; border-radius:0!important; box-shadow:none!important; }
html.sr-night :is(.svp-plan,.srp-plan) { border:1px solid var(--clean-rule)!important; border-radius:12px!important; box-shadow:none!important; background:var(--clean-paper)!important; }
html.sr-night .srp-plans > .srp-plan:nth-child(2) { background:var(--clean-ink)!important; }
html.sr-night .svp-grid > .svp-plan:nth-child(2) { background:var(--clean-soft)!important; }
html.sr-night :is(.srp-section:nth-of-type(1),.srp-section:nth-of-type(3),.news-lead) { --band:var(--clean-paper); box-shadow:none!important; clip-path:none!important; }
html.sr-night .sv.sv-home > section#ask .sva-panel { background:var(--clean-soft)!important; border:0!important; border-radius:12px!important; padding:clamp(28px,4vw,56px)!important; }
html.sr-night .sv:not(.sv-home) > section.sv-close > .sv-wrap,
html.sr-night :is(.srp-close,.pcta,.news-cta-ink,.news-cta-red) { background:var(--clean-ink)!important; border-radius:12px!important; }
html.sr-night .sv:not(.sv-home) > section.sv-close :is(h2,p,.sv-kicker,.sv-lead),
html.sr-night :is(.srp-close,.pcta,.news-cta-ink,.news-cta-red) :is(h2,h3,p,span,.srp-kicker) { color:var(--clean-paper)!important; }
html.sr-night .news-cta:not(.news-cta-ink):not(.news-cta-red) { background:var(--clean-soft)!important; border-radius:12px!important; }
html.sr-night .news-cta { padding:clamp(24px,3vw,40px)!important; }
html.sr-night .sf { background:var(--clean-soft)!important; border-top:1px solid var(--clean-rule)!important; }
html.sr-night :is(.sph-frame,.sph-frame img,.news-lead-media,.bcard-media,.post-cover) { border-radius:12px!important; }
html.sr-night .prose blockquote { background:var(--clean-soft)!important; border-radius:8px!important; }
html.sr-night .ss3 { background:var(--clean-ink)!important; }
html.sr-night .sh-row { background:#f7f6f3f5!important; border-color:var(--clean-rule)!important; }
html.sr-night .sh-cta { background:var(--clean-ink)!important; }
@media(max-width:640px) {
  html.sr-night .svh-grid { padding-block:36px 40px!important; gap:32px!important; }
  html.sr-night .svh .svh-h1 { font-size:clamp(40px,11vw,50px)!important; line-height:1.1!important; }
  html.sr-night .svh .svh-deck { font-size:18px!important; }
  html.sr-night .svh-visual { max-width:330px; margin-inline:auto; }
  html.sr-night .sv.sv-home > section:not(.svh):not(.cro-nav),
  html.sr-night .sv:not(.sv-home) > section:not(.sv-page-hero) { padding-block:48px!important; }
  html.sr-night main h1:not(.svh-h1):not(.ss3-h1) { font-size:clamp(36px,9.5vw,44px)!important; }
  html.sr-night .sv.sv-home > section .sv-head { margin-bottom:28px!important; }
}

/* Explicit light/dark contracts: surface changes must also change their text. */
html.sr-night { --muted:#57534e; --muted-2:#666159; }
html.sr-night body main .sv.sv-home .svp-grid > .svp-plan:nth-child(2) {
  background:#eeece6!important; color:#24211d!important;
  --sv-fg:#24211d; --sv-muted:#57534e;
}
html.sr-night body main .sv.sv-home .svp-grid > .svp-plan:nth-child(2) :is(h3,p,li,strong,span,s,small) { color:#24211d!important; }
html.sr-night body main .sv.sv-home .svp-grid > .svp-plan:nth-child(2) :is(.sv-kicker,.sv-body,.svp-term) { color:#57534e!important; }
html.sr-night body main .sv.sv-home .svp-grid > .svp-plan:nth-child(2) a { background:#24211d!important; color:#f7f6f3!important; border-color:#24211d!important; }
html.sr-night body main .sv.sv-home .svp-grid > .svp-plan:nth-child(2) a span { color:inherit!important; }
html.sr-night body main .sv.sv-home > section#ask .sva-panel { background:#eeece6!important; color:#24211d!important; }
html.sr-night body main .sv.sv-home > section#ask .sva-panel :is(h2,p,span,.sv-kicker,.sv-lead,.sv-small) { color:#24211d!important; }
html.sr-night body main .sv.sv-home > section#ask .sva-panel a { background:#24211d!important; color:#f7f6f3!important; }
html.sr-night body main .sv.sv-home > section#ask .sva-panel a span { color:inherit!important; }
html.sr-night body main .post-page .prose .pcta,
html.sr-night body main .post-page .pcta { background:#eeece6!important; color:#24211d!important; }
html.sr-night body main .post-page .pcta :is(h2,h3,p,span,.pcta-h,.pcta-b,.pcta-note,.pcta-eyebrow) { color:#24211d!important; }
html.sr-night body main .post-page .pcta a { background:#24211d!important; color:#f7f6f3!important; text-decoration-color:currentColor!important; }
html.sr-night body main .post-page .pcta a span { color:inherit!important; }
html.sr-night body main .srp-close a span { color:inherit!important; }
html.sr-night main :is(.sv-editorial figcaption,.sph figcaption,.sph-frame + figcaption,.sgd-n) { color:#57534e!important; }
html.sr-night main .sgd-dark .sgd-n { color:#c8c4ba!important; }
/* Labels and explanatory copy remain readable at phone sizes. */
html.sr-night :is(.sv-small,.svh-fit,.post-meta,.svp-term,.srp-note) { font-size:14px!important; line-height:1.65!important; }
html.sr-night :is(.svh-eyebrow,.sv-kicker,.srp-kicker) { font-size:13px!important; line-height:1.5!important; }
html.sr-night .svh .svh-primary,html.sr-night .svh .svh-secondary { border-radius:8px!important; }

/* Final component contrast corrections, measured in rendered pages. */
html.sr-night body main .sfi-title { color:#f7f6f3!important; }
html.sr-night body main :is(.sfi-kicker,.sfi-body) { color:#ccc8c0!important; }
html.sr-night body main .srp-btn span { color:inherit!important; }
html.sr-night body main .btn.btn-primary { background:#20201e!important; color:#f7f6f3!important; }
html.sr-night body main .svm-list li,
html.sr-night body main .sst-q small { color:#57534e!important; }
html.sr-night body main .svm-visual figcaption,
html.sr-night body main .svm-visual figcaption span { color:#ccc8c0!important; }
html.sr-night body main .visual-split-media svg text { fill:#f7f6f3!important; color:#f7f6f3!important; }
html.sr-night body main .ed-step h3 { color:#24211d!important; }
html.sr-night body main .ed-step p { color:#57534e!important; }
html.sr-night body main :is(.ed-ch-no,.ed-step-no) { color:#9f2f2d!important; }
html.sr-night body main .sga :is(.sga-h,.sga-h span) { color:#f7f6f3!important; }
html.sr-night body main .sga .sga-eyebrow { color:#ccc8c0!important; }
html.sr-night body main .sgd-dark :is(h2,h2 span) { color:#f7f6f3!important; }
html.sr-night body main .sgd-dark :is(.sgd-eyebrow,.sgd-lead) { color:#ccc8c0!important; }

html.sr-night body #main-content .sfi-demand .sfi-title { color:#f7f6f3!important; }
html.sr-night body #main-content .sfi-demand :is(.sfi-kicker,.sfi-body) { color:#ccc8c0!important; }
html.sr-night body #main-content .sfi-system .sfi-title { color:#24211d!important; }
html.sr-night body #main-content .sfi-system :is(.sfi-kicker,.sfi-body) { color:#57534e!important; }
html.sr-night body #main-content .srp-btn span { color:inherit!important; }
html.sr-night body main.newsroom .news-cta { background:#eeece6!important; }
html.sr-night body main.newsroom .news-cta :is(h2,p,span) { color:#24211d!important; }
html.sr-night body main.newsroom .news-cta a { background:#24211d!important; color:#f7f6f3!important; }
html.sr-night body main.newsroom .news-cta a span { color:inherit!important; }
html.sr-night body #main-content .prose .action-band { background:#eeece6!important; }
html.sr-night body #main-content .prose .action-band :is(h2,p,span) { color:#24211d!important; }
html.sr-night body #main-content .prose .action-band a { color:#f7f6f3!important; background:#24211d!important; }
html.sr-night body #main-content .prose .action-band a span { color:inherit!important; }

html.sr-night body main.newsroom .news-topics > span { color:#57534e!important; }


/* One motion accent, scoped away from reading content. */
html.sr-night { --uxm-accent:#9f2f2d; --uxm-ink:#24211d; --uxm-paper:#f7f6f3; }
.uxm-progress { position:fixed;inset:0 0 auto;height:3px;background:var(--uxm-accent);transform:scaleX(0);transform-origin:left;z-index:2147483600;pointer-events:none; }
.uxm-toggle { position:fixed;left:16px;bottom:16px;z-index:900;display:flex;gap:8px;align-items:center;min-height:44px;padding:0 14px;border:1px solid #d8d2c8;border-radius:24px;background:var(--uxm-paper);color:var(--uxm-ink);font:500 12px/1.4 var(--font-jakarta),sans-serif;cursor:pointer; }
.uxm-host { position:relative; }
.uxm-canvas { display:block;pointer-events:none; }
.uxm-network { width:100%;height:92px; }
.uxm-tree { position:absolute;inset:0;width:100%;height:100%; }
html.sr-night[data-motion-paused="true"] :is(main *,main *::before,main *::after) { animation-play-state:paused!important; }
@media(max-width:640px) { .uxm-network { height:68px; }.uxm-toggle { left:12px;bottom:12px;padding-inline:12px; }.uxm-toggle span { max-width:90px; } }
@media(prefers-reduced-motion:reduce) { .uxm-canvas { display:none; } }
