:root {
  --canvas:#F4F7FB; --surface:#FFFFFF; --surface-soft:#F7F9FC; --text:#172033; --muted:#66758A;
  --border:#DCE4EF; --border-strong:#CAD5E3; --navy:#102A43; --navy-2:#173B63;
  --ocean:#1F5FBF; --ocean-dark:#174A96; --ocean-soft:#EAF2FC;
  --shadow:0 16px 42px rgba(16,42,67,.11); --radius:17px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:linear-gradient(180deg,#eef3f9,var(--canvas) 22rem); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; overflow-wrap:anywhere; }
a { color:var(--ocean-dark); text-decoration:underline; text-underline-offset:3px; }
a:hover { color:var(--ocean); }
a:focus-visible { outline:3px solid #75a7ef; outline-offset:3px; border-radius:3px; }
.skip-link { position:absolute; left:12px; top:-60px; z-index:10; padding:9px 12px; background:#fff; color:var(--navy); }
.skip-link:focus { top:12px; }
.legal-header { color:#f8fbff; background:radial-gradient(circle at 78% 15%,rgba(57,121,217,.24),transparent 22rem),linear-gradient(128deg,var(--navy),var(--navy-2)); }
.header-inner,.legal-shell,.legal-footer-inner { width:min(1180px,calc(100% - 32px)); margin:auto; }
.header-inner { padding:34px 0 38px; }
.brand { display:flex; align-items:center; gap:20px; }
.brand-logo { width:104px; height:118px; padding:9px; object-fit:contain; background:#fff; border-radius:14px 26px 26px 14px; box-shadow:0 12px 28px #07142645; }
.eyebrow { margin:0 0 4px; color:#b9d4fa; font-size:.72rem; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.group-name { margin:0; font-size:clamp(1.15rem,3vw,1.55rem); font-weight:800; }
.legal-header h1 { max-width:900px; margin:28px 0 8px; font-size:clamp(1.8rem,5vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.subtitle { max-width:850px; margin:8px 0 0; color:#dce8f6; }
.document-meta { display:flex; flex-wrap:wrap; gap:8px 22px; margin:17px 0 0; color:#dce8f6; font-size:.88rem; }
.document-nav { border-top:1px solid #ffffff25; background:#0d243a; }
.document-nav ul { width:min(1180px,calc(100% - 32px)); margin:auto; padding:0; display:flex; flex-wrap:wrap; list-style:none; }
.document-nav a { display:block; padding:12px 18px 12px 0; color:#f6f9fd; font-size:.87rem; font-weight:700; text-decoration:none; }
.document-nav a:hover { text-decoration:underline; }
.legal-shell { display:grid; grid-template-columns:250px minmax(0,820px); gap:30px; align-items:start; padding:32px 0 54px; }
.toc { position:sticky; top:18px; padding:20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:0 8px 24px rgba(16,42,67,.07); }
.toc h2 { margin:0 0 10px; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; }
.toc ol { margin:0; padding-left:1.25rem; }
.toc li { margin:5px 0; color:var(--muted); font-size:.8rem; line-height:1.35; }
.toc a { color:var(--text); text-decoration:none; }
.toc a:hover { color:var(--ocean-dark); text-decoration:underline; }
.legal-article { min-width:0; padding:clamp(22px,4vw,42px); border:1px solid var(--border-strong); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
.legal-article section { scroll-margin-top:20px; padding:4px 0 21px; border-bottom:1px solid var(--border); }
.legal-article section:last-child { border:0; padding-bottom:0; }
.legal-article h2 { margin:22px 0 8px; color:var(--navy); font-size:clamp(1.25rem,3vw,1.55rem); line-height:1.3; }
.legal-article h3 { margin:18px 0 5px; font-size:1rem; }
.legal-article p,.legal-article li { max-width:82ch; }
.legal-article p { margin:8px 0 13px; }
.legal-article ul,.legal-article ol { margin:8px 0 14px; padding-left:1.4rem; }
.legal-article li { margin:5px 0; }
.callout { margin:0 0 25px; padding:18px 20px; border:1px solid #b7cff1; border-left:4px solid var(--ocean); border-radius:12px; background:var(--ocean-soft); }
.callout h2 { margin:0 0 5px; font-size:1.08rem; }
.contact-card { padding:18px 20px; border-radius:12px; background:var(--surface-soft); border:1px solid var(--border); }
.contact-card p { margin:5px 0; }
.table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--border); border-radius:10px; }
table { width:100%; min-width:560px; border-collapse:collapse; font-size:.9rem; }
th,td { padding:11px 13px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; }
th { background:var(--ocean-soft); color:var(--navy); }
tr:last-child td { border-bottom:0; }
.legal-footer { padding:26px 0; color:#dce8f6; background:var(--navy); }
.legal-footer-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; }
.legal-footer p { margin:0; font-size:.82rem; }
.footer-nav { display:flex; flex-wrap:wrap; gap:8px 18px; }
.footer-nav a { color:#fff; font-size:.82rem; }
@media (max-width:820px) { .legal-shell { grid-template-columns:1fr; gap:16px; } .toc { position:static; } .toc ol { columns:2; } }
@media (max-width:560px) { .header-inner,.legal-shell,.legal-footer-inner,.document-nav ul { width:min(100% - 20px,1180px); } .header-inner { padding:22px 0 28px; } .brand { gap:13px; } .brand-logo { width:78px; height:90px; } .legal-header h1 { margin-top:20px; } .document-nav a { padding:11px 14px 11px 0; } .legal-shell { padding-top:18px; } .legal-article { padding:20px 18px; } .toc ol { columns:1; } .legal-footer-inner { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
