:root {
  --bg: #0a0e16;
  --surface: #101826;
  --surface-raised: #162131;
  --border: #27364a;
  --text: #edf1f8;
  --muted: #a6b4c8;
  --soft: #73849e;
  --accent: #a88dff;
  --mint: #7be2cd;
  --max: 1136px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  margin: 0; color: var(--text); background: var(--bg);
  font: 16px/1.75 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::before { content:""; pointer-events:none; position:absolute; z-index:-1; inset:0 0 auto 0; height:560px;
  background: radial-gradient(ellipse at 72% 3%, rgba(104,69,173,.25), transparent 48%), radial-gradient(ellipse at 4% 25%, rgba(38,120,138,.15), transparent 49%); }
a { color:#c7b7ff; text-underline-offset:3px; }
a:hover { color:#e0d8ff; }
a:focus-visible {outline:3px solid var(--mint); outline-offset:4px; border-radius:3px}
.skip-link { position:absolute; top:-100px; left:24px; z-index:100; background:#fff; color:#111; padding:10px 16px; }
.skip-link:focus { top:12px; }
.shell { max-width:var(--max); margin:auto; padding-inline:28px; }
.site-header { border-bottom:1px solid rgba(161,184,212,.13); backdrop-filter:blur(18px); background:rgba(10,14,22,.75); position:sticky; top:0; z-index:20; }
.topbar { display:flex; justify-content:space-between; gap:16px; align-items:center; min-height:82px; }
.brand { text-decoration:none; display:flex; align-items:center; gap:12px; color:var(--text); font-weight:800; letter-spacing:.01em; font-size:15px; }
.brand:hover { color:white; }
.brand-mark { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:12px; border:1px solid rgba(168,141,255,.5); color:#eee8ff; background:linear-gradient(140deg,#38275e,#142833); box-shadow:inset 0 1px rgba(255,255,255,.1); font-weight:900; letter-spacing:-.06em; }
.brand small {display:block; color:var(--soft); font-weight:600; font-size:11px; letter-spacing:.15em; text-transform:uppercase; margin-top:-4px;}
.main-nav {display:flex; flex-wrap:wrap; align-items:center; gap:7px;}
.main-nav a {padding:9px 16px; color:var(--muted); text-decoration:none; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:650;}
.main-nav a:hover {color:var(--text); background:rgba(255,255,255,.055)}
.main-nav a[aria-current="page"] {color:#f1edff; background:rgba(168,141,255,.12); border-color:rgba(168,141,255,.30)}
.hero { padding-block:82px 49px; border-bottom:1px solid rgba(161,184,212,.12); }
.eyebrow { color:var(--mint); text-transform:uppercase; letter-spacing:.19em; font-size:12px; font-weight:850; margin:0 0 17px; }
h1, h2, h3 { line-height:1.16; letter-spacing:-.045em; }
h1 {font-size:clamp(45px,6vw,72px); margin:0; font-weight:790; max-width:850px;}
.gradient {background:linear-gradient(105deg,#f6f4ff 8%,#b5a1ff 49%,#76cabb 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero-desc {max-width:675px; color:var(--muted); font-size:18px; line-height:1.75; margin:23px 0 0;}
.meta {display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:26px; color:var(--soft); font-size:13px;}
.meta .dot {width:4px; height:4px; background:var(--soft); border-radius:50%}
.policy-layout { display:grid; grid-template-columns:244px minmax(0,1fr); column-gap:70px; padding-top:52px; padding-bottom:104px; }
.toc {position:sticky; top:113px; align-self:start;}
.toc strong {display:block; font-size:11px; color:var(--soft); letter-spacing:.16em; text-transform:uppercase; margin-bottom:19px;}
.toc a {display:block; padding:9px 14px; font-size:13px; font-weight:590; border-left:2px solid var(--border); text-decoration:none; color:var(--muted); line-height:1.35;}
.toc a:hover {border-color:var(--accent); color:var(--text); background:rgba(168,141,255,.055);}
.notice {border:1px solid rgba(123,226,205,.25); border-radius:15px; background:linear-gradient(110deg,rgba(27,78,84,.19),rgba(26,45,62,.18)); padding:22px 25px; color:#c5d8de; margin-bottom:44px;}
.notice strong {color:#dbf5ef; display:block; font-size:14px; letter-spacing:.025em; margin-bottom:5px;}
.notice p {margin:0; font-size:14px; line-height:1.65;}
.policy-section { padding:12px 0 31px; border-bottom:1px solid rgba(161,184,212,.14); margin-bottom:29px; scroll-margin-top:115px;}
.policy-section:last-child {border:0;margin:0;}
.policy-section h2 {font-size:24px; margin:0 0 16px; display:flex; gap:14px; align-items:flex-start;}
.section-number {font-size:13px; color:var(--accent); font-weight:850; margin-top:6px; letter-spacing:0; min-width:21px;}
.policy-section p {margin:0 0 15px; color:#c2ccdb;}
.policy-section ul { margin:13px 0 18px; padding-left:23px; color:#c2ccdb;}
.policy-section li {padding-left:5px; margin:9px 0;}
.policy-section strong {color:var(--text);}
.policy-section p:last-child,.policy-section ul:last-child {margin-bottom:0;}
.footer {border-top:1px solid rgba(161,184,212,.15); background:rgba(15,22,32,.65); padding:30px 0 40px;}
.footer-inner {display:flex; align-items:flex-start; flex-wrap:wrap; justify-content:space-between; gap:20px;}
.footer-brand {font-size:13px; color:var(--muted);}
.footer-brand strong {color:var(--text)}
.footer-brand small {display:block; margin-top:6px; color:var(--soft); font-size:12px;}
.footer-links {display:flex; gap:24px; flex-wrap:wrap; font-size:13px;}
.footer-links a {color:var(--muted); text-decoration:none;}
.footer-links a:hover {color:var(--text);}
@media(max-width:760px) {
 .shell {padding-inline:20px;}
 .topbar {min-height:72px;}
 .brand-mark {height:38px;width:38px;}
 .brand {font-size:13px;}
 .main-nav a {font-size:12px; padding:7px 9px;}
 .hero {padding-block:56px 40px;}
 .hero-desc {font-size:16px;}
 .policy-layout {grid-template-columns:1fr; gap:26px; padding-top:36px; padding-bottom:60px;}
 .toc {position:static; display:flex; flex-wrap:wrap; gap:4px;}
 .toc strong {width:100%;margin-bottom:6px;}
 .toc a {border-left:0; border-bottom:1px solid var(--border); padding:7px 10px; font-size:12px;}
 .notice {margin-bottom:22px;}
 .policy-section h2 {font-size:22px;}
}
@media print {
 :root {color-scheme:light;--bg:#fff;--text:#111;--muted:#333;--soft:#555;--accent:#333;--border:#ccc}
 body {background:white;color:#111;font-size:11pt}
 body::before,.toc,.site-header,.footer {display:none}
 .hero {padding:0 0 18px;}
 h1 {font-size:32pt}.gradient {background:none;color:#111}
 .hero-desc,.policy-section p,.policy-section ul {color:#222}
 .policy-layout {display:block;padding:20px 0}
 .notice {color:#111;border-color:#ccc;background:white}
 .notice strong {color:#111}
 .policy-section {break-inside:avoid}
}
