/* Approved Split S palette: neutral charcoal surfaces and ice-blue actions. */
:root, .portal-page {
  color-scheme: dark;
  --bg:#181818; --bg-card:#222222; --bg-subtle:#292929;
  --border:#333333; --border-2:#464646;
  --text:#f2f2ef; --text-2:#b7b7b7; --text-3:#a2a2a2;
  --accent:#a6dcf4; --accent-bg:rgba(166,220,244,.08);
  --f-body:Inter,"Segoe UI",sans-serif; --f-display:Inter,"Segoe UI",sans-serif;
}
body { background:var(--bg); color:var(--text); }
a { text-underline-offset:4px; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.site-header { background:rgba(24,24,24,.96); height:80px; padding:0 max(24px,calc((100vw - 1180px)/2)); gap:24px; }
.site-logo { font-size:16px; gap:13px; }
.site-logo-mark,.portal-page .site-logo-mark { background:transparent url('/favicon.svg?v=151') center/contain no-repeat; border-radius:0; width:27px; height:32px; font-size:0; color:transparent; }
.site-logo img { display:block; }
.wordmark { font-size:16px; letter-spacing:.16em; line-height:1.2; font-weight:700; }
.wordmark>span { display:block; font-size:9px; letter-spacing:.31em; font-weight:500; color:var(--text-2); margin-top:5px; }
.site-nav { gap:12px; }
.site-nav a { color:#b7b7b7; }
.btn-primary,.nav-cta,.portal-page .btn-primary { background:var(--accent)!important; color:#152027!important; }
.btn-primary:hover,.nav-cta:hover,.portal-page .btn-primary:hover { background:#c6eafa!important; }
.portal-page .site-header { background:#181818; }
.portal-page .portal-card,.auth-card { border-radius:14px; background:#222; box-shadow:0 24px 80px #0002; }
.portal-page .portal-field input,.portal-page .portal-field select,.field input { background:#292929; }
.portal-field input:focus,.portal-field select:focus,.field input:focus { outline-color:var(--accent); }
.portal-page .portal-status[data-kind="error"],.auth-status[data-kind="error"],.signing-status[data-kind="error"] { color:#ffc2c2; background:#ec717112; border-color:#ec717144; }
.portal-page .portal-status[data-kind="info"],.signing-hero,.quote-card { color:var(--text); background:#262626; border-color:var(--border-2); }
.signing-hero::after { display:none; }
.auth-footer { color:var(--text-2); }
.site-footer { border-color:var(--border); background:#181818; }
.skip-link { position:fixed; left:20px; top:-70px; z-index:200; padding:10px 18px; background:var(--accent); color:#111; border-radius:4px; }
.skip-link:focus { top:10px; }
.legal-copy { max-width:860px; margin:60px auto; padding:0 24px; }
.legal-copy h1 { margin-bottom:28px; font-size:36px; }
.legal-copy pre { font:inherit; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text-2); }
/* Preserve existing legal text; adapt its older presentation. */
.header { background:#181818!important; border-color:#363636!important; }
.logo,.page-title { background:none!important; -webkit-text-fill-color:var(--text)!important; color:var(--text)!important; }
.content-section,.contact-info,.toc { background:#222!important; border-color:#444!important; }
.info-box { background:#a6dcf40b!important; border-color:var(--accent)!important; }
@media(max-width:600px) { .site-header { height:auto; min-height:74px; padding:17px 20px; flex-wrap:wrap; gap:16px; } .site-nav { gap:2px; } .site-nav a { padding:6px 8px; font-size:13px; } .site-logo { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
.content-wrapper { background:#222!important; border-color:#444!important; }
.back-link,.toc a,.section-number,.contact-info a { color:var(--accent)!important; }
.back-link,.footer-acknowledgment { background:#a6dcf40b!important; border-color:#a6dcf440!important; }

.legal-copy p { margin:16px 0; color:var(--text-2); line-height:1.8; }
.legal-copy h2 { margin-top:36px; font-size:25px; }
.legal-copy h3 { margin-top:25px; font-size:19px; }
.legal-copy a { color:var(--accent); }
