:root{
  --bg:#FFFFFF;--bg-alt:#F5F5F7;--ink:#1D1D1F;--muted:#6E6E73;--line:#D2D2D7;--hair:#E8E8ED;
  --blue:#0071E3;--blue-h:#0077ED;--gold:#C5A059;--beige:#F1E6D4;--pu:#D9861C;--pu-ink:#86662A;
  --f:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --wrap:1080px;--read:720px;color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,24px)}
.read{max-width:var(--read);margin-inline:auto;padding-inline:clamp(16px,4vw,24px)}

/* Nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:56px}
.brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.brand svg{width:26px;height:28px}
.brand .tld{color:var(--muted);font-weight:400}
.nav nav{display:flex;gap:20px;font-size:14px}
.nav nav a{color:var(--ink);opacity:.8}
.nav nav a:hover{opacity:1;text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:1rem;font-weight:500;padding:12px 22px;border-radius:980px;border:0;cursor:pointer;transition:background .2s;text-decoration:none!important}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-h)}
.btn-soft{background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn-soft:hover{box-shadow:inset 0 0 0 1px var(--muted)}
.nav .btn{padding:7px 16px;font-size:14px}
@media (max-width:640px){.nav nav{display:none}}

/* Article */
.crumbs{font-size:13px;color:var(--muted);padding-top:28px}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 6px}
.eyebrow{display:inline-block;font-size:13px;font-weight:600;color:var(--pu-ink);letter-spacing:.02em;margin-top:28px}
h1{font-size:clamp(32px,5vw,48px);line-height:1.08;letter-spacing:-.02em;font-weight:600;margin:8px 0 16px}
.lede{font-size:clamp(19px,2.2vw,21px);line-height:1.5;color:var(--muted);margin:0 0 20px}
.meta{font-size:13px;color:var(--muted);border-bottom:1px solid var(--hair);padding-bottom:24px;margin-bottom:8px}
article h2{font-size:clamp(24px,3vw,30px);line-height:1.2;letter-spacing:-.015em;font-weight:600;margin:48px 0 12px}
article h3{font-size:19px;font-weight:600;margin:28px 0 6px}
article p,article li{color:#333336}
article ul,article ol{padding-left:22px}
article li{margin:6px 0}
article strong{color:var(--ink)}
.toc{background:var(--bg-alt);border-radius:18px;padding:18px 22px;margin:24px 0}
.toc b{font-size:13px;color:var(--muted);font-weight:600;display:block;margin-bottom:6px}
.toc ol{margin:0;padding-left:20px;font-size:15px}
.toc li{margin:3px 0}
.note{background:var(--beige);border-radius:18px;padding:18px 22px;margin:28px 0;color:#3a3226}
.note b{color:var(--pu-ink)}
.tbl{overflow-x:auto;margin:20px 0;border:1px solid var(--hair);border-radius:14px}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--hair);vertical-align:top}
th{background:var(--bg-alt);font-weight:600;font-size:13px;color:var(--muted)}
tr:last-child td{border-bottom:0}
figure{margin:28px 0}
figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.cta{background:var(--bg-alt);border-radius:24px;padding:32px clamp(20px,4vw,40px);margin:56px 0 24px;text-align:center}
.cta h2{margin:0 0 8px;font-size:clamp(24px,3vw,30px)}
.cta p{color:var(--muted);margin:0 0 20px}
.cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.related{margin:40px 0 64px}
.related h2{font-size:20px;margin:0 0 14px}

/* Cards (hub + related) */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{display:block;background:var(--bg-alt);border-radius:20px;padding:22px;color:var(--ink);transition:transform .2s}
.card:hover{text-decoration:none;transform:translateY(-2px)}
.card small{color:var(--pu-ink);font-weight:600;font-size:12px}
.card h3{margin:6px 0 6px;font-size:19px;line-height:1.25}
.card p{margin:0;color:var(--muted);font-size:15px}
.hub-head{padding:56px 0 32px;text-align:center}
.hub-head .lede{max-width:640px;margin-inline:auto}

/* Footer */
footer{border-top:1px solid var(--hair);background:var(--bg-alt);font-size:13px;color:var(--muted);padding:28px 0 40px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
footer a{color:var(--muted)}
