/* Apexlink — Financial Media (v2, colorful) */
:root{
  --navy:#0a2540;
  --navy-2:#12335c;
  --emerald:#0f9d6b;
  --emerald-2:#0b7d54;
  --gold:#f5b301;
  --coral:#f26a4f;
  --violet:#6a5cf0;
  --sky:#2e86de;
  --rose:#e94b7b;

  --gray-900:#1a1f2b;
  --gray-700:#3d4656;
  --gray-500:#6b7280;
  --gray-300:#d1d5db;
  --gray-200:#e5e7eb;
  --gray-100:#eef1f6;
  --gray-50:#f5f7fb;

  --white:#ffffff;
  /* Colored surface */
  --bg:#eef3fb;         /* soft blue-tinted canvas */
  --bg-alt:#e6ecfa;
  --bg-panel:linear-gradient(180deg,#f4f7ff 0%,#e9eefb 100%);
  --fg:#0b1a33;
  --muted:#54607a;
  --card:#ffffff;
  --card-2:#f9fbff;
  --border:#dde3ee;
  --border-strong:#c7d0e4;
  --accent:var(--emerald);
  --brand:var(--navy);
  --shadow:0 2px 8px rgba(10,37,64,.08),0 1px 2px rgba(10,37,64,.05);
  --shadow-lg:0 20px 45px rgba(10,37,64,.14),0 6px 16px rgba(10,37,64,.08);
  --radius:12px;
  --maxw:1200px;
  --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-serif:"Merriweather","Georgia",serif;
  --font-display:"Fraunces","Playfair Display","Merriweather",Georgia,serif;
}
[data-theme="dark"]{
  --bg:#070e1e;
  --bg-alt:#0b1428;
  --bg-panel:linear-gradient(180deg,#0d1730 0%,#0a1225 100%);
  --fg:#e6edf7;
  --muted:#9aa4b2;
  --card:#111d38;
  --card-2:#0d1730;
  --border:#233252;
  --border-strong:#31446e;
  --gray-50:#0f1728;
  --gray-100:#152036;
  --brand:#3b82f6;
  --shadow:0 2px 8px rgba(0,0,0,.4);
  --shadow-lg:0 20px 45px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-sans);color:var(--fg);
  background:
    radial-gradient(1000px 500px at -10% -10%, rgba(46,134,222,.18), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(15,157,107,.16), transparent 60%),
    radial-gradient(700px 400px at 50% 120%, rgba(106,92,240,.12), transparent 60%),
    var(--bg);
  background-attachment: fixed;
  line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;
}
[data-theme="dark"] body{
  background:
    radial-gradient(1000px 500px at -10% -10%, rgba(46,134,222,.15), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(15,157,107,.12), transparent 60%),
    radial-gradient(700px 400px at 50% 120%, rgba(106,92,240,.14), transparent 60%),
    var(--bg);
}
a{color:var(--brand);text-decoration:none}
[data-theme="dark"] a{color:#7cb0ff}
a:hover{text-decoration:underline}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{color:var(--fg);line-height:1.15;margin:0 0 .6em;font-family:var(--font-display);font-optical-sizing:auto;font-variation-settings:"SOFT" 30, "WONK" 0}
h1{font-size:2.6rem;font-weight:700;letter-spacing:-.025em}
h2{font-size:1.8rem;font-weight:600;letter-spacing:-.015em}
h3{font-size:1.25rem;font-weight:600;font-family:var(--font-sans);letter-spacing:-.005em}
.display{font-family:var(--font-display)!important;font-weight:700;letter-spacing:-.02em}
p{margin:0 0 1em}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.btn{
  display:inline-block;padding:.7rem 1.15rem;border-radius:8px;font-weight:600;
  background:linear-gradient(135deg,var(--emerald) 0%,#12b47c 100%);color:#fff;border:0;cursor:pointer;
  box-shadow:0 6px 14px rgba(15,157,107,.35);
  transition:transform .1s ease, box-shadow .15s ease, filter .15s;
}
.btn:hover{filter:brightness(1.05);text-decoration:none;color:#fff;transform:translateY(-1px)}
.btn.secondary{background:transparent;color:var(--fg);border:1px solid var(--border-strong);box-shadow:none}
.btn.navy{background:linear-gradient(135deg,var(--navy),#173a70);box-shadow:0 6px 14px rgba(10,37,64,.35)}
.btn.gold{background:linear-gradient(135deg,#f5b301,#f27f0d);box-shadow:0 6px 14px rgba(245,179,1,.35);color:#231600}
.badge{display:inline-block;padding:.22rem .6rem;border-radius:999px;background:var(--gray-100);color:var(--gray-700);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.badge.emerald{background:linear-gradient(135deg,rgba(15,157,107,.18),rgba(15,157,107,.32));color:#0b7d54}
.badge.navy{background:linear-gradient(135deg,rgba(10,37,64,.15),rgba(10,37,64,.28));color:var(--navy)}
.badge.gold{background:linear-gradient(135deg,#fff2c8,#ffd76b);color:#7a5a00}
.badge.violet{background:linear-gradient(135deg,#e5dfff,#c8bff9);color:#3f34a3}
.badge.sky{background:linear-gradient(135deg,#dbebff,#a9cbf5);color:#154a8a}
.badge.coral{background:linear-gradient(135deg,#ffe4dc,#ffbaa8);color:#a83a1c}

/* Reading progress bar */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#0f9d6b,#2e86de,#6a5cf0);z-index:60;transition:width .1s}

/* Header */
header.site{
  position:sticky;top:0;background:rgba(255,255,255,.75);
  border-bottom:1px solid var(--border);
  z-index:50;backdrop-filter:saturate(180%) blur(10px);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
}
[data-theme="dark"] header.site{background:rgba(11,20,40,.75)}
.nav{display:flex;align-items:center;gap:1rem;padding:.75rem 0}
.logo{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--navy);font-size:1.55rem;font-family:var(--font-display);letter-spacing:-.03em}
[data-theme="dark"] .logo{color:#fff}
.logo-mark{
  width:34px;height:34px;border-radius:9px;
  background:conic-gradient(from 140deg,#0a2540,#0f9d6b,#2e86de,#6a5cf0,#0a2540);
  display:grid;place-items:center;color:#fff;font-weight:900;
  box-shadow:0 6px 16px rgba(10,37,64,.35), inset 0 0 0 2px rgba(255,255,255,.15);
}
.nav ul{display:flex;gap:1.1rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav ul a{color:var(--fg);font-weight:500;font-size:.95rem}
.nav ul a:hover{color:var(--emerald);text-decoration:none}
.nav .grow{flex:1}
.searchbox{display:flex;align-items:center;background:var(--card);border-radius:8px;padding:.35rem .6rem;gap:.4rem;border:1px solid var(--border)}
.searchbox input{border:0;background:transparent;outline:none;color:var(--fg);width:180px;font-size:.9rem}
.icon-btn{background:var(--card);border:1px solid var(--border);border-radius:8px;width:38px;height:38px;cursor:pointer;color:var(--fg);display:grid;place-items:center}
.icon-btn:hover{background:var(--gray-100)}
.menu-toggle{display:none}
@media (max-width:900px){
  .nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;padding:1rem 20px;border-bottom:1px solid var(--border)}
  .nav.open ul{display:flex}
  .menu-toggle{display:grid}
  .searchbox input{width:120px}
}

/* Hero */
.hero{
  color:#fff;padding:5rem 0 4rem;position:relative;overflow:hidden;
  background:
    radial-gradient(600px 300px at 15% 20%, rgba(15,157,107,.55), transparent 60%),
    radial-gradient(600px 300px at 85% 30%, rgba(106,92,240,.55), transparent 60%),
    radial-gradient(700px 340px at 60% 100%, rgba(46,134,222,.55), transparent 60%),
    linear-gradient(135deg,#081a36 0%,#0d2a52 55%,#0a2540 100%);
}
.hero:before{content:"";position:absolute;inset:0;background:
  radial-gradient(1200px 400px at 80% -20%,rgba(245,179,1,.18),transparent 60%),
  radial-gradient(800px 400px at 10% 100%,rgba(233,75,123,.18),transparent 60%)}
.hero .container{position:relative}
.hero h1{color:#fff;font-size:3.6rem;max-width:900px;text-shadow:0 4px 30px rgba(0,0,0,.3);line-height:1.05}
.hero h1 em{font-style:italic;font-weight:400;background:linear-gradient(135deg,#f5b301,#7ceabf);-webkit-background-clip:text;background-clip:text;color:transparent}
.card .body h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;font-size:1.2rem}
.article h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;font-size:2.7rem;line-height:1.1}
.article h2{font-family:var(--font-display);font-weight:600}
.card .thumb .tag,.badge{font-family:var(--font-sans)}
.newsletter h2{font-family:var(--font-display);font-size:2.1rem;font-weight:700}
.hero p.lede{font-size:1.15rem;color:#cfe0ff;max-width:720px;margin-bottom:1.5rem}
.hero .cta{display:flex;gap:.75rem;flex-wrap:wrap}
.hero .trust{margin-top:2rem;display:flex;gap:1.5rem;flex-wrap:wrap;color:#cfe0ff;font-size:.9rem}
.hero .trust span{display:inline-flex;align-items:center;gap:.4rem}

/* Section */
section.block{padding:3.25rem 0}
section.block h2{font-size:1.75rem}
section.block.alt{background:var(--bg-panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
section.block.dark{
  background:
    radial-gradient(700px 340px at 20% 20%, rgba(46,134,222,.28), transparent 60%),
    radial-gradient(700px 340px at 80% 80%, rgba(15,157,107,.28), transparent 60%),
    linear-gradient(135deg,#0a2540,#0f2a4f);
  color:#e8f0ff;
}
section.block.dark h2, section.block.dark h3{color:#fff}
section.block.dark p{color:#cfe0ff}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}
.section-head p{color:var(--muted);margin:0;max-width:600px}
[data-theme="dark"] .section-head p{color:#9fb0c9}

/* Grid */
.grid{display:grid;gap:1.25rem}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}

/* Card */
.card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);transition:transform .18s ease, box-shadow .18s ease, border-color .18s;
  display:flex;flex-direction:column;position:relative;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}
.card .thumb{aspect-ratio:16/9;position:relative;color:#fff;overflow:hidden;background:#0a2540}
.card .thumb svg,.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.card .thumb .tag{position:absolute;top:.6rem;left:.6rem;background:rgba(255,255,255,.92);color:var(--navy);padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.card .body{padding:1.05rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card .body h3{font-size:1.05rem;margin:.1rem 0 .1rem;line-height:1.35}
.card .body h3 a{color:var(--fg)}
.card .body h3 a:hover{color:var(--emerald)}
.card .meta{color:var(--muted);font-size:.82rem;display:flex;gap:.6rem;flex-wrap:wrap;margin-top:auto}
.card .excerpt{color:var(--muted);font-size:.92rem}

/* Category chips (colorful) */
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem}
.cat-chip{
  padding:1.1rem .8rem;text-align:center;border-radius:14px;color:#fff;font-weight:700;
  display:flex;flex-direction:column;align-items:center;gap:.35rem;
  box-shadow:0 10px 22px rgba(10,37,64,.14);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s;
  min-height:112px;justify-content:center;
}
.cat-chip:hover{transform:translateY(-3px);filter:brightness(1.05);text-decoration:none;color:#fff;box-shadow:0 16px 30px rgba(10,37,64,.22)}
.cat-chip .ic{font-size:1.8rem}
.cat-chip.c-ins{background:linear-gradient(135deg,#0f9d6b,#0b7d54)}
.cat-chip.c-bnk{background:linear-gradient(135deg,#2e86de,#1e4f96)}
.cat-chip.c-pf{background:linear-gradient(135deg,#f5b301,#e57e0a);color:#231600}
.cat-chip.c-inv{background:linear-gradient(135deg,#6a5cf0,#3f34a3)}
.cat-chip.c-home{background:linear-gradient(135deg,#e94b7b,#a8265a)}
.cat-chip.c-biz{background:linear-gradient(135deg,#0a2540,#1a4a8c)}
.cat-chip.c-tool{background:linear-gradient(135deg,#f26a4f,#c33e2e)}
@media (max-width:900px){.cat-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:500px){.cat-grid{grid-template-columns:repeat(2,1fr)}}

/* Newsletter */
.newsletter{
  color:#fff;
  border-radius:20px;padding:2.75rem;text-align:center;position:relative;overflow:hidden;
  background:
    radial-gradient(400px 250px at 15% 20%, rgba(245,179,1,.35), transparent 60%),
    radial-gradient(400px 250px at 85% 80%, rgba(15,157,107,.35), transparent 60%),
    linear-gradient(135deg,#0a2540,#1a4a8c);
  box-shadow:0 24px 60px rgba(10,37,64,.35);
}
.newsletter h2{color:#fff}
.newsletter p{color:#cfe0ff;max-width:620px;margin:0 auto 1.5rem}
.newsletter form{display:flex;gap:.5rem;max-width:520px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.newsletter input[type=email]{flex:1;min-width:220px;padding:.85rem 1rem;border-radius:8px;border:0;font-size:1rem}
.newsletter small{display:block;margin-top:.75rem;color:#9db2cc;font-size:.8rem}

/* Footer */
footer.site{color:#c9d5e6;margin-top:4rem;padding:3rem 0 1.5rem;
  background:
    radial-gradient(600px 300px at 10% 10%, rgba(15,157,107,.20), transparent 60%),
    radial-gradient(600px 300px at 90% 90%, rgba(106,92,240,.18), transparent 60%),
    linear-gradient(135deg,#061229,#0a2540);
}
[data-theme="dark"] footer.site{background:linear-gradient(135deg,#02060f,#050e1e)}
footer.site h4{color:#fff;font-size:.95rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}
footer.site a{color:#c9d5e6}
footer.site a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:2rem}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{margin-bottom:.4rem;font-size:.9rem}
.foot-bar{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #1e3963;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:#8fa4be}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}

/* Article layout */
.article-wrap{display:grid;grid-template-columns:1fr 260px;gap:2.5rem;margin:2rem auto}
@media (max-width:1000px){.article-wrap{grid-template-columns:1fr}}
.article main{max-width:820px}
.article .hero-img{aspect-ratio:16/8;border-radius:14px;overflow:hidden;margin:1rem 0 1.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border)}
.article .hero-img svg{width:100%;height:100%;display:block}
.article{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem 1.75rem 2rem;box-shadow:var(--shadow-lg)}
.article h1{font-size:2.2rem}
.article h2{font-size:1.5rem;margin-top:2rem;padding-top:.5rem;position:relative}
.article h2:before{content:"";display:inline-block;width:8px;height:24px;border-radius:3px;background:linear-gradient(180deg,var(--emerald),var(--sky));margin-right:.55rem;vertical-align:-4px}
.article h3{font-size:1.15rem;margin-top:1.5rem}
.article p,.article li{font-size:1.02rem;color:#233149}
[data-theme="dark"] .article p,[data-theme="dark"] .article li{color:#c8d1e0}
.article ul,.article ol{padding-left:1.25rem}
.article blockquote{border-left:4px solid var(--emerald);padding:.5rem 1rem;background:var(--card-2);margin:1.25rem 0;color:#3d4656;border-radius:0 8px 8px 0}
.article table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:.95rem}
.article th,.article td{border:1px solid var(--border);padding:.7rem;text-align:left}
.article th{background:var(--card-2);font-weight:700}
.article .meta-row{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin-bottom:1rem;align-items:center}
.author-box{display:flex;gap:1rem;align-items:center;background:linear-gradient(135deg,#f4f7ff,#eaf1ff);border:1px solid var(--border);border-radius:14px;padding:1rem;margin:1.5rem 0}
[data-theme="dark"] .author-box{background:linear-gradient(135deg,#0d1730,#132147)}
.author-avatar{width:56px;height:56px;border-radius:50%;background:conic-gradient(from 140deg,#0a2540,#0f9d6b,#2e86de,#6a5cf0,#0a2540);color:#fff;display:grid;place-items:center;font-weight:800;flex-shrink:0;box-shadow:0 4px 12px rgba(10,37,64,.25)}
.share{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.share a{padding:.4rem .8rem;border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:.85rem;font-weight:600;background:var(--card)}
.share a:hover{background:var(--emerald);color:#fff;border-color:var(--emerald);text-decoration:none}
.breadcrumb{color:var(--muted);font-size:.85rem;margin:1rem 0}
.breadcrumb a{color:var(--muted)}
.faq{margin:1.5rem 0}
.faq details{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;margin-bottom:.5rem;background:var(--card)}
.faq summary{font-weight:600;cursor:pointer}
.faq details[open]{background:linear-gradient(135deg,#f2fbf7,#e5f3ec);border-color:#bde0d0}
[data-theme="dark"] .faq details[open]{background:linear-gradient(135deg,#0f2a20,#0b1e18);border-color:#1a5a3f}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
@media (max-width:800px){.related{grid-template-columns:1fr}}
.disclosure{background:linear-gradient(135deg,#fff7d6,#ffe9a6);border:1px solid #e7c463;color:#6a4c00;padding:.85rem 1rem;border-radius:10px;font-size:.9rem;margin:1rem 0}
[data-theme="dark"] .disclosure{background:linear-gradient(135deg,#3a2f00,#2a2200);color:#ffe27a;border-color:#7a5a00}

/* Sidebar TOC */
aside.toc{position:sticky;top:80px;align-self:start;padding:1rem;max-height:82vh;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}
aside.toc h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.6rem}
aside.toc ul{list-style:none;padding:0;margin:0}
aside.toc li{margin-bottom:.35rem}
aside.toc a{color:var(--muted);font-size:.9rem;display:block;padding:.25rem .5rem;border-left:2px solid transparent;border-radius:0 6px 6px 0}
aside.toc a.active{color:#fff;background:linear-gradient(90deg,var(--emerald),#12b47c);border-color:transparent;font-weight:600}

/* Comments */
.comments{margin:2rem 0;border-top:1px solid var(--border);padding-top:1.5rem}
.comment{background:var(--card-2);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:.75rem}
[data-theme="dark"] .comment{background:var(--gray-100)}
.comment .u{font-weight:700}
.comment .t{color:var(--muted);font-size:.8rem}

/* Calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow-lg)}
@media (max-width:800px){.calc{grid-template-columns:1fr}}
.calc label{display:block;font-weight:600;margin:.5rem 0 .25rem;font-size:.9rem}
.calc input,.calc select{
  width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--card-2);color:var(--fg);font-size:1rem;
}
.calc .result{background:linear-gradient(135deg,#eaf7f1,#d7ecdf);border:1px solid #bde0d0;border-radius:12px;padding:1rem;margin-top:.75rem}
[data-theme="dark"] .calc .result{background:linear-gradient(135deg,#0f2a20,#0b1e18);border-color:#1a5a3f}
.calc .big{font-size:2rem;color:var(--emerald);font-weight:800}
.calc canvas{width:100%!important;max-height:280px}

/* Glossary */
.gloss-index{display:flex;flex-wrap:wrap;gap:.3rem;margin:1rem 0}
.gloss-index a{padding:.4rem .65rem;background:var(--card);border:1px solid var(--border);border-radius:8px;font-weight:800;color:var(--fg);font-size:.85rem}
.gloss-index a:hover{background:linear-gradient(135deg,var(--emerald),#12b47c);color:#fff;border-color:transparent;text-decoration:none}
.gloss-term{border-bottom:1px solid var(--border);padding:1rem 0}
.gloss-term h3{margin-bottom:.25rem;color:var(--navy)}
[data-theme="dark"] .gloss-term h3{color:#7cd6ae}

/* Tables comparison */
.compare{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden}
.compare th,.compare td{padding:.75rem;border-bottom:1px solid var(--border);text-align:left}
.compare th{background:linear-gradient(135deg,#0a2540,#173a70);color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
.compare tr:hover{background:var(--card-2)}
.rating{color:#f5b301;font-weight:700}

/* Trust badges */
.badges{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}
.badges .b{padding:.55rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--card);font-size:.85rem;color:var(--muted);display:inline-flex;align-items:center;gap:.4rem}

/* Utility */
.text-muted{color:var(--muted)}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}
hr{border:0;border-top:1px solid var(--border);margin:1.5rem 0}

/* Skip link a11y */
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;background:var(--emerald);color:#fff;padding:.5rem 1rem;z-index:100;border-radius:6px}

/* Pros/Cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
@media (max-width:600px){.pc{grid-template-columns:1fr}}
.pc .pros,.pc .cons{padding:1rem;border-radius:10px;border:1px solid var(--border)}
.pc .pros{background:linear-gradient(135deg,#eaf7f1,#d7ecdf);border-color:#bde0d0}
.pc .cons{background:linear-gradient(135deg,#ffe9e2,#ffd7c9);border-color:#f4b8a7}
.pc h4{margin-top:0}

/* Stat cards */
.stat{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1rem 1.15rem;box-shadow:var(--shadow)}
.stat .n{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#0f9d6b,#2e86de);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Panel bg pattern for section.alt (adds gentle color) */
section.block.alt{
  background:
    radial-gradient(500px 240px at 10% 0%, rgba(46,134,222,.15), transparent 60%),
    radial-gradient(500px 240px at 100% 100%, rgba(15,157,107,.15), transparent 60%),
    var(--bg-alt);
}

/* ===== Lead-magnet block ===== */
.leadmag{
  display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:center;
  border-radius:20px;padding:2rem 2.25rem;color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(400px 250px at 12% 20%, rgba(245,179,1,.35), transparent 60%),
    radial-gradient(400px 250px at 88% 80%, rgba(15,157,107,.35), transparent 60%),
    linear-gradient(135deg,#0a2540,#1a4a8c);
  box-shadow:0 24px 60px rgba(10,37,64,.35);
}
.leadmag h2{color:#fff;font-family:var(--font-display);font-size:2.1rem;margin-bottom:.4rem}
.leadmag p{color:#cfe0ff;margin-bottom:1rem}
.leadmag form{display:flex;gap:.5rem;flex-wrap:wrap}
.leadmag input[type=email]{flex:1;min-width:220px;padding:.85rem 1rem;border-radius:8px;border:0;font-size:1rem}
.leadmag .ebook{
  position:relative;perspective:1000px;
}
.leadmag .ebook .cover{
  width:220px;height:280px;margin:0 auto;
  border-radius:6px 10px 10px 6px;
  transform:rotate(-6deg);
  background:linear-gradient(135deg,#0f9d6b,#0a2540);
  box-shadow:8px 12px 30px rgba(0,0,0,.35), inset 3px 0 0 rgba(255,255,255,.15);
  padding:1.25rem 1rem 1rem 1.5rem;color:#fff;display:flex;flex-direction:column;justify-content:space-between;
  font-family:var(--font-display);
}
.leadmag .ebook .cover .kicker{font-family:var(--font-sans);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#f5b301}
.leadmag .ebook .cover .t{font-size:1.6rem;line-height:1.1;font-weight:700;margin-top:.4rem}
.leadmag .ebook .cover .badge2{align-self:flex-start;background:rgba(255,255,255,.15);padding:.2rem .5rem;border-radius:6px;font-size:.7rem;font-family:var(--font-sans);letter-spacing:.05em}
.leadmag .checks{list-style:none;padding:0;margin:.75rem 0 1rem;display:grid;gap:.25rem;color:#cfe0ff;font-size:.9rem}
.leadmag .checks li:before{content:"✓ ";color:#7ceabf;font-weight:800}
@media (max-width:900px){.leadmag{grid-template-columns:1fr}.leadmag .ebook{order:-1}}

/* ===== Exit intent modal ===== */
.modal-back{position:fixed;inset:0;background:rgba(6,14,30,.65);z-index:200;display:none;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(6px)}
.modal-back.open{display:flex}
.modal{background:var(--card);border-radius:16px;max-width:520px;width:100%;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);position:relative}
.modal .modal-hero{background:
  radial-gradient(300px 180px at 10% 20%, rgba(245,179,1,.4), transparent 60%),
  radial-gradient(300px 180px at 90% 80%, rgba(15,157,107,.4), transparent 60%),
  linear-gradient(135deg,#0a2540,#1a4a8c);
  color:#fff;padding:1.4rem 1.5rem;font-family:var(--font-display)}
.modal .modal-hero h3{color:#fff;font-family:var(--font-display);font-size:1.5rem;margin-bottom:.25rem}
.modal .modal-body{padding:1.25rem 1.5rem}
.modal .close{position:absolute;top:.6rem;right:.6rem;background:rgba(255,255,255,.2);border:0;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.1rem}
.modal form{display:flex;gap:.5rem;flex-wrap:wrap}
.modal input[type=email]{flex:1;min-width:200px;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--card-2);color:var(--fg)}

/* ===== Press logos strip ===== */
.press{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;align-items:center;padding:1.5rem 0;opacity:.9}
.press .logo-item{font-family:var(--font-display);font-weight:700;font-size:1.1rem;letter-spacing:-.01em;color:var(--muted);padding:.5rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--card);display:inline-flex;align-items:center;gap:.4rem}
.press .logo-item.wsj{font-family:"Times New Roman",serif;font-weight:900;font-size:1.3rem;color:#000;background:#fff}
[data-theme="dark"] .press .logo-item.wsj{color:#fff;background:#111}
.press .logo-item .kicker{font-family:var(--font-sans);font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--emerald);margin-right:.4rem}

/* ===== Testimonials ===== */
.testi{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.75rem;height:100%}
.testi .stars{color:#f5b301;font-weight:800}
.testi .q{font-family:var(--font-display);font-size:1.1rem;line-height:1.4;color:var(--fg);font-style:italic}
.testi .who{display:flex;gap:.75rem;align-items:center;margin-top:auto}
.testi .avatar{width:44px;height:44px;border-radius:50%;color:#fff;font-weight:800;display:grid;place-items:center;flex-shrink:0}
.testi .who .n{font-weight:700}
.testi .who .r{color:var(--muted);font-size:.85rem}

/* ===== Poll widget ===== */
.poll{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.25rem;box-shadow:var(--shadow);margin:1.5rem 0}
.poll .q{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.poll .opts{display:grid;gap:.5rem}
.poll .opt{display:flex;justify-content:space-between;align-items:center;padding:.65rem .9rem;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:.15s;background:var(--card-2);position:relative;overflow:hidden}
.poll .opt:hover{border-color:var(--emerald)}
.poll .opt .bar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(15,157,107,.16),rgba(46,134,222,.16));width:0;transition:width .5s}
.poll .opt .l{position:relative;z-index:1;font-weight:600}
.poll .opt .p{position:relative;z-index:1;color:var(--muted);font-size:.85rem;font-weight:700}
.poll.voted .opt{cursor:default}
.poll.voted .opt.chosen{border-color:var(--emerald);background:linear-gradient(90deg,rgba(15,157,107,.1),transparent)}
.poll .meta{margin-top:.75rem;font-size:.8rem;color:var(--muted)}

/* ===== Community block ===== */
.community{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin:1.5rem 0}
@media (max-width:600px){.community{grid-template-columns:1fr}}
.community .card2{padding:1rem;border-radius:12px;border:1px solid var(--border);background:var(--card);display:flex;gap:.75rem;align-items:center}
.community .card2 .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;flex-shrink:0}
.community .reddit .ic{background:#ff4500}
.community .hn .ic{background:#ff6600}
.community .x .ic{background:#000}
.community .li .ic{background:#0a66c2}
.community .card2 .m{color:var(--muted);font-size:.85rem}

/* Quiz */
.quiz{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:var(--shadow-lg)}
.quiz .step{display:none}
.quiz .step.active{display:block}
.quiz .qn{color:var(--muted);font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.quiz .qtxt{font-family:var(--font-display);font-size:1.6rem;margin:.4rem 0 1rem;line-height:1.2}
.quiz .opts{display:grid;gap:.6rem;margin-bottom:1rem}
.quiz .opt{padding:.85rem 1rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;background:var(--card-2);font-weight:600;transition:.15s}
.quiz .opt:hover{border-color:var(--emerald);transform:translateX(4px)}
.quiz .progress-bar{height:8px;background:var(--gray-100);border-radius:999px;overflow:hidden;margin-bottom:1.25rem}
.quiz .progress-bar .fill{height:100%;background:linear-gradient(90deg,#0f9d6b,#2e86de);width:0;transition:width .3s}
.quiz .result-card{text-align:center;padding:1rem}
.quiz .result-card .emoji{font-size:4rem}
.quiz .result-card h3{font-family:var(--font-display);font-size:2rem;margin:.5rem 0}
