
:root{
  --ink:#14211d;--muted:#63706b;--paper:#fbfcfa;--card:#fff;--line:#dfe7e2;
  --brand:#153f35;--brand2:#2d6d5c;--accent:#d8a44b;--soft:#eef5f1;--cream:#f6f1e7;
  --max:1180px;--radius:18px;--shadow:0 12px 30px rgba(20,33,29,.07)
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.68}
a{color:var(--brand2);text-decoration-thickness:1px;text-underline-offset:3px} a:hover{color:var(--brand)}
img{max-width:100%}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}
.topbar{background:var(--brand);color:#fff;font-size:.9rem}.topbar .wrap{display:flex;justify-content:center;gap:8px;padding:8px 0}.topbar a{color:#fff;font-weight:700}
header{background:rgba(251,252,250,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}
.header-inner{min-height:74px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:800;font-size:1.25rem}.mark{width:38px;height:38px;border-radius:12px;background:var(--brand);display:grid;place-items:center;color:#fff;font-weight:900}
nav{display:flex;gap:18px;align-items:center;margin-left:auto}nav a{color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:650}.header-cta{margin-left:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--brand);color:#fff!important;text-decoration:none;font-weight:800;border:1px solid var(--brand);box-shadow:0 6px 18px rgba(21,63,53,.15)}.btn:hover{background:var(--brand2)}
.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font-size:1rem}
.hero{background:linear-gradient(135deg,var(--soft),var(--cream));border-bottom:1px solid var(--line)}.hero .wrap{padding:72px 0 64px;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--brand2)}h1{font-size:clamp(2.35rem,6vw,4.7rem);line-height:1.02;letter-spacing:-.045em;margin:.25em 0 .3em}h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.2;letter-spacing:-.025em;margin-top:2.1em}h3{line-height:1.25}.hero p{font-size:1.14rem;color:#40504a;max-width:740px}
.hero-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:28px}.hero-card ul{padding-left:18px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.ghost{background:#fff;color:var(--brand)!important}
.home-section{padding:58px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 24px rgba(20,33,29,.04)}.card h3{margin-top:0;font-size:1.22rem}.card p{color:var(--muted)}.tag{display:inline-block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand2);margin-bottom:10px}
.article-hero{background:var(--soft);border-bottom:1px solid var(--line)}.article-hero .wrap{padding:52px 0 46px}.breadcrumbs{font-size:.88rem;color:var(--muted);margin-bottom:16px}.breadcrumbs a{color:var(--muted)}.article-hero h1{max-width:920px;font-size:clamp(2.2rem,5vw,4rem)}.dek{font-size:1.16rem;color:#44524d;max-width:820px}.byline{font-size:.9rem;color:var(--muted);margin-top:20px}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:54px;padding:52px 0 72px}.content{font-size:1.04rem}.content .lede{font-size:1.2rem;line-height:1.65;color:#33423d}.content ul,.content ol{padding-left:22px}.content li{margin:.5em 0}
.note{border-left:4px solid var(--accent);background:var(--cream);padding:16px 18px;border-radius:0 12px 12px 0;margin:24px 0;color:#4d4a41}
.cta-box{background:var(--brand);color:#fff;border-radius:22px;padding:28px;margin:40px 0}.cta-box h2{margin-top:0;color:#fff}.cta-box p{color:#e6efeb}.cta-box .btn{background:#fff;color:var(--brand)!important;border-color:#fff}
.sidebar{position:relative}.sidebar-inner{position:sticky;top:102px}.side-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px;margin-bottom:18px}.side-card h3{margin-top:0}.side-card p,.side-card li{font-size:.92rem;color:var(--muted)}.side-card .btn{width:100%;text-align:center}
.table-wrap{overflow-x:auto;margin:24px 0}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:.94rem}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft)}
.sources{border-top:1px solid var(--line);margin-top:42px;padding-top:18px}.sources h2{font-size:1.25rem;margin-top:0}.sources p,.sources li{font-size:.88rem;color:var(--muted)}
.category-hero{padding:56px 0 30px}.category-hero h1{font-size:clamp(2.5rem,5vw,4rem)}.category-grid{padding:20px 0 72px}
footer{background:#102d26;color:#dce9e4;padding:50px 0 80px}footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer-brand{font-size:1.4rem;font-weight:850;color:#fff}.footer-small{font-size:.87rem;color:#aec1ba;margin-top:30px;max-width:800px}
.mobile-affiliate{display:none}
.prose{max-width:800px;padding:54px 0 80px}.prose h1{font-size:clamp(2.3rem,5vw,3.8rem)}.prose p,.prose li{color:#394944}
@media(max-width:900px){
  nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px;flex-direction:column;align-items:flex-start}.nav-open nav{display:flex}.menu-btn{display:block}.header-cta{display:none}
  .hero .wrap{grid-template-columns:1fr;padding:54px 0}.hero-card{display:none}.grid{grid-template-columns:1fr 1fr}.article-layout{grid-template-columns:1fr}.sidebar{display:none}.footer-grid{grid-template-columns:1fr 1fr}
  .mobile-affiliate{display:block;position:fixed;z-index:40;bottom:14px;left:14px;right:14px}.mobile-affiliate .btn{width:100%;box-shadow:0 12px 30px rgba(0,0,0,.25)}
}
@media(max-width:620px){.grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.topbar{display:none}.wrap{width:min(var(--max),calc(100% - 28px))}.article-layout{padding-top:34px}}
