:root{
  --accent:#7C4DEB; --accent-dk:#5530C9;
  --bg:#FAF9FD; --paper:#FFFFFF; --text:#14121F; --muted:#636074; --soft:#9C99AC;
  --line:#E9E7F1; --line2:#DCD9E7;
  --serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --disp:'Manrope', 'Figtree', system-ui, sans-serif;
  --body:'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;
  min-height:100vh;display:flex;flex-direction:column}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(900px 520px at 50% -120px,rgba(124,77,235,.12),transparent 70%)}
a{color:var(--accent-dk)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.container{width:100%;max-width:780px;margin:0 auto;padding:0 22px}

header{position:sticky;top:0;z-index:20;background:rgba(250,249,253,.85);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header .container{height:58px;display:flex;align-items:center;justify-content:space-between;max-width:1040px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--text);text-decoration:none}
.logo img{width:34px;height:34px;border-radius:50%;display:block}
.back-link{font-size:13.5px;color:var(--muted);text-decoration:none}
.back-link:hover{color:var(--text)}

main{flex:1;padding:44px 0 80px}
.kicker{font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--accent-dk)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,5vw,44px);line-height:1.1;
  letter-spacing:-1px;margin-top:10px}
.updated{font-size:13.5px;color:var(--soft);margin-top:12px}
.intro{font-size:17.5px;color:var(--muted);margin-top:18px;max-width:60ch}

section{margin-top:38px}
h2{font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:-.4px;
  padding-bottom:10px;border-bottom:1px solid var(--line)}
h3{font-family:var(--disp);font-weight:700;font-size:16.5px;margin-top:22px}
p{margin-top:12px;color:var(--text)}
p.m{color:var(--muted)}
ul{margin-top:12px;padding-left:0;list-style:none;display:grid;gap:9px}
li{position:relative;padding-left:26px;color:var(--text)}
li::before{content:"";position:absolute;left:5px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
li b{font-weight:600}

.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-top:18px;
  box-shadow:0 1px 2px rgba(22,19,15,.04)}
.card h2{border:0;padding:0;font-size:18px}
dl.data{margin-top:14px;display:grid;gap:0}
dl.data > div{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
dl.data > div:first-child{border-top:0;padding-top:0}
dt{font-size:13px;font-weight:700;color:var(--soft);letter-spacing:.3px;text-transform:uppercase}
dd{font-size:15.5px}

table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14.5px;display:block;overflow-x:auto}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--soft)}
td b{font-weight:600}

.cta{display:inline-flex;align-items:center;gap:9px;margin-top:22px;background:var(--text);color:#fff;
  font-family:var(--disp);font-weight:700;font-size:15px;border-radius:14px;padding:14px 22px;text-decoration:none}
.cta:hover{background:#262238}

footer{border-top:1px solid var(--line);padding:28px 0 32px;text-align:center;font-size:11.5px;color:var(--soft)}
footer p + p{margin-top:10px}
footer nav{margin-top:6px}
footer a{color:var(--soft);text-decoration:none}
footer a:hover{color:var(--text)}

@media (max-width:640px){
  main{padding-top:30px}
  dl.data > div{grid-template-columns:1fr;gap:2px}
  .card{padding:18px 16px}
}
