:root{
  --ground:#F7F8F9; --surface:#FFFFFF; --ink:#1A1F26; --ink-2:#46505B; --ink-3:#6E7780;
  --rule:#E2E5E9; --rule-2:#EDEFF2; --accent:#047857; --accent-hover:#065F46; --tint:#E9F4EF; --warn:#92600A;
  --font-sans:"Helvetica Neue", Helvetica, Arial, "Segoe UI", system-ui, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--ground);color:var(--ink-2);font-family:var(--font-sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.shell{max-width:1120px;margin:0 auto;padding:0 1.5rem;}
a{color:var(--accent);text-underline-offset:2px;}

header.site{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50;}
header.site .shell{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1.2rem;padding:.95rem 1.5rem;}
.wordmark{font-weight:700;letter-spacing:-.015em;font-size:1.15rem;color:var(--ink);text-decoration:none;}
.wordmark small{font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);display:block;margin-top:.34rem;font-weight:600;}
.wordmark{display:inline-block;text-decoration:none;}
.wm-plate{display:inline-block;background:#000;border-radius:6px;padding:.3rem .54rem .34rem;line-height:1;color:#FFFFFF;font-weight:700;font-size:1.15rem;letter-spacing:-.015em;}
.wm-plate .fre{color:#10B981;}
.wm-plate sup{font-size:.5em;vertical-align:super;font-weight:600;color:#9AA4AF;margin-left:.05em;}
.wordmark small{margin-top:.34rem;}

.nav{display:flex;gap:1.4rem;align-items:center;font-size:.9rem;}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:500;}
.nav a:hover{color:var(--ink);}
.cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:#fff !important;text-decoration:none;font-weight:600;font-size:.88rem;padding:.5rem 1rem;border-radius:6px;}
.cta:hover{background:var(--accent-hover);}

.article{max-width:760px;margin:0 auto;padding:2.4rem 0 3rem;}
.crumb{font-size:.8rem;color:var(--ink-3);margin:0 0 1.4rem;}
.crumb a{color:var(--ink-3);text-decoration:none;}
.crumb a:hover{color:var(--accent);}
.cat{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);}
.article h1{font-size:2.3rem;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:.55rem 0 .8rem;font-weight:700;text-wrap:balance;}
.article .meta{font-size:.82rem;color:var(--ink-3);font-weight:600;margin:0 0 1.8rem;padding-bottom:1.4rem;border-bottom:1px solid var(--rule);}
.article .lede{font-size:1.2rem;line-height:1.55;color:var(--ink-2);margin:0 0 1.8rem;}
.article h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin:2.4rem 0 .8rem;font-weight:700;}
.article h3{font-size:1.15rem;color:var(--ink);margin:1.6rem 0 .5rem;}
.article p{margin:0 0 1.1rem;}
.article ul,.article ol{margin:0 0 1.3rem;padding-left:1.3rem;}
.article li{margin:.4rem 0;}
.article strong{color:var(--ink);}
.article blockquote{margin:1.6rem 0;padding:.4rem 0 .4rem 1.3rem;border-left:3px solid var(--accent);color:var(--ink);font-size:1.12rem;font-style:italic;}
.takeaways{background:var(--tint);border:1px solid var(--rule);border-radius:12px;padding:1.5rem 1.7rem;margin:2rem 0;}
.takeaways h3{margin:0 0 .6rem;color:var(--accent-hover);font-size:.92rem;text-transform:uppercase;letter-spacing:.07em;}
.takeaways ul{margin:0;padding-left:1.2rem;}
.takeaways li{margin:.35rem 0;color:var(--ink);}
.article-cta{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:1.8rem;margin:2.6rem 0 0;text-align:center;}
.article-cta h3{margin:0 0 .4rem;color:var(--ink);font-size:1.2rem;}
.article-cta p{margin:0 0 1.1rem;max-width:46ch;margin-left:auto;margin-right:auto;}
.related{border-top:1px solid var(--rule);margin-top:2.6rem;padding-top:1.4rem;}
.related h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:0 0 .7rem;}
.related a{display:block;padding:.3rem 0;font-weight:600;}

footer.site{background:var(--surface);border-top:1px solid var(--rule);}
footer.site .shell{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;padding:1.6rem 1.5rem;font-size:.8rem;color:var(--ink-3);}
footer .nav a{font-weight:500;}
@media(max-width:760px){.article h1{font-size:1.8rem;} .nav a:not(.cta){display:none;}}
