/* nairajournal.io — mobile-first. Base styles target narrow screens; min-width queries enhance. */

@font-face{font-family:'Vollkorn';src:url(/static/fonts/vollkorn-regular.woff2) format('woff2');font-weight:400 900;font-style:normal;font-display:swap;}
@font-face{font-family:'Vollkorn';src:url(/static/fonts/vollkorn-italic.woff2) format('woff2');font-weight:400 900;font-style:italic;font-display:swap;}
@font-face{font-family:'Public Sans';src:url(/static/fonts/publicsans-regular.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}

:root{
  --paper:#eaf3df;--paper-raised:#f7fbf1;--paper-sunken:#dee9d0;
  --ink:#1c2519;--ink-muted:#54614c;--rule:#cddac0;
  --green:#008751;--green-deep:#046a3f;--forest:#0c1812;--forest-raised:#152820;
  --lime:#5f8f34;--sage:#5e7460;--gold:#b8880a;--gold-bright:#ffd700;
  --amber:#8d5a09;--amber-bright:#f3b94a;--rust:#a4432e;
  --radius-s:2px;--radius-m:4px;--radius-l:6px;--radius-xl:8px;
  --shadow-card:0 1px 2px rgba(28,37,25,.06);
  --shadow-card-hover:0 10px 24px -14px rgba(28,37,25,.28);
  --fs-eyebrow:.76rem;--fs-small:.9rem;--fs-body:1.0625rem;
  --fs-dek:clamp(1.15rem,1.05rem + .4vw,1.375rem);
  --fs-h4:1.2rem;--fs-h3:clamp(1.35rem,1.2rem + .7vw,1.7rem);
  --fs-h2:clamp(1.7rem,1.4rem + 1.5vw,2.4rem);
  --fs-h1-article:clamp(1.9rem,1.55rem + 2vw,2.85rem);
  --fs-hero:clamp(2.15rem,1.55rem + 3vw,4.1rem);
  --fs-balance:clamp(2.6rem,1.7rem + 5vw,5.4rem);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#0c1812;--paper-raised:#152820;--paper-sunken:#081008;
  --ink:#eef3e6;--ink-muted:#a9c0a1;--rule:#25392b;
  --green:#3fae76;--green-deep:#63c48f;--lime:#a8d873;--sage:#9fb8a6;
  --gold:#ffd700;--amber:#f3b94a;--amber-bright:#f3b94a;--rust:#e0755a;
  --shadow-card:0 1px 2px rgba(0,0,0,.35);--shadow-card-hover:0 14px 30px -16px rgba(0,0,0,.55);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#0c1812;--paper-raised:#152820;--paper-sunken:#081008;
  --ink:#eef3e6;--ink-muted:#a9c0a1;--rule:#25392b;
  --green:#3fae76;--green-deep:#63c48f;--lime:#a8d873;--sage:#9fb8a6;
  --gold:#ffd700;--amber:#f3b94a;--amber-bright:#f3b94a;--rust:#e0755a;
  --shadow-card:0 1px 2px rgba(0,0,0,.35);--shadow-card-hover:0 14px 30px -16px rgba(0,0,0,.55);
  color-scheme:dark;
}
:root[data-theme="light"]{
  --paper:#eaf3df;--paper-raised:#f7fbf1;--paper-sunken:#dee9d0;
  --ink:#1c2519;--ink-muted:#54614c;--rule:#cddac0;
  --green:#008751;--green-deep:#046a3f;--lime:#5f8f34;--sage:#5e7460;
  --gold:#b8880a;--amber:#8d5a09;--amber-bright:#f3b94a;--rust:#a4432e;
  --shadow-card:0 1px 2px rgba(28,37,25,.06);--shadow-card-hover:0 10px 24px -14px rgba(28,37,25,.28);
  color-scheme:light;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
body{
  background:var(--paper);color:var(--ink);
  font-family:'Public Sans',system-ui,-apple-system,sans-serif;
  font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Vollkorn',Georgia,serif;font-weight:700;line-height:1.18;text-wrap:balance;}
a{color:inherit;text-decoration:none;}
img,svg{max-width:100%;height:auto;}
button{font-family:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:10px 18px;z-index:99;border-radius:var(--radius-s);}
.skip-link:focus{left:12px;top:12px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--green);outline-offset:2px;
}

/* ---------- nav ---------- */
.topbar{border-bottom:1px solid var(--rule);background:var(--paper);position:relative;z-index:5;}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Vollkorn',serif;font-weight:900;font-size:1.22rem;letter-spacing:-.01em;}
.brand .mark{width:30px;height:30px;background:var(--green);color:#fff;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.nav-links{display:none;}
.nav-right{display:flex;align-items:center;gap:8px;}
.btn{font-weight:700;font-size:.9rem;padding:10px 18px;border-radius:var(--radius-s);border:1.5px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:transform .15s ease,background .15s ease,border-color .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--green);color:#fdfff9;}
.btn-ghost{background:transparent;border-color:var(--rule);color:var(--ink);}
.btn-sm{padding:7px 13px;font-size:.82rem;}
.nav-right .btn-ghost{display:none;}
.theme-toggle{background:none;border:1px solid var(--rule);border-radius:50%;width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:border-color .15s ease,transform .15s ease;}
.theme-toggle:hover{border-color:var(--green);transform:translateY(-1px);}
.theme-toggle .icon-moon{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:block;}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme-toggle .icon-moon{display:block;}
  :root:not([data-theme="light"]) .theme-toggle .icon-sun{display:none;}
}
.nav-burger{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--ink);min-width:44px;min-height:44px;}
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:8px 20px 18px;border-bottom:1px solid var(--rule);background:var(--paper);}
.mobile-menu a{padding:12px 4px;font-weight:600;border-bottom:1px solid var(--rule);}
.mobile-menu.open{display:flex;}
@media (min-width:861px){
  .nav-links{display:flex;gap:26px;font-size:.94rem;font-weight:600;color:var(--ink-muted);}
  .nav-links a{padding:6px 0;border-bottom:2px solid transparent;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--green);}
  .nav-burger{display:none;}
  .nav-right .btn-ghost{display:inline-flex;}
}

/* ---------- shared page furniture ---------- */
.eyebrow{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);}
.page-head{padding-top:40px;padding-bottom:8px;}
.page-head h1{font-size:var(--fs-h1-article);margin-top:10px;}
.page-head .dek{color:var(--ink-muted);font-size:var(--fs-dek);max-width:64ch;margin-top:14px;}
.section{padding-top:44px;padding-bottom:44px;}
@media (min-width:861px){.page-head{padding-top:56px;}.section{padding-top:64px;padding-bottom:64px;}}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;}
.section-head h2{font-size:var(--fs-h2);}
.link-more{font-size:.9rem;font-weight:700;color:var(--green-deep);white-space:nowrap;}
.link-more:hover{text-decoration:underline;}

/* ---------- hero ---------- */
.hero{padding-top:52px;padding-bottom:44px;}
@media (min-width:861px){.hero{padding-top:88px;padding-bottom:64px;}}
.hero-kicker{font-family:'Vollkorn',serif;font-style:italic;font-size:1.05rem;color:var(--ink-muted);display:flex;align-items:center;gap:10px;}
.hero-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0;}
.hero h1{font-size:var(--fs-hero);letter-spacing:-.015em;margin:18px 0 20px;max-width:17ch;}
.hero h1 .highlight{background-color:color-mix(in srgb,var(--lime) 60%,transparent);padding:0 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.hero .dek{font-size:var(--fs-dek);color:var(--ink-muted);max-width:52ch;line-height:1.55;}
.hero-ctas{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:30px;}
@media (min-width:641px){.card-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:981px){.card-grid{grid-template-columns:repeat(4,1fr);}}
.article-card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-m);padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease;}
.article-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);}
.voice-tag{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep);}
.article-card h3{font-size:1.14rem;line-height:1.3;}
.article-card h3 span{background-image:linear-gradient(var(--green),var(--green));background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s ease;}
.article-card:hover h3 span{background-size:100% 2px;}
.card-dek{font-size:.9rem;color:var(--ink-muted);line-height:1.5;}
.card-meta{font-size:.78rem;color:var(--sage);margin-top:auto;padding-top:8px;}

/* ---------- account teaser (home) ---------- */
.account-teaser{background:var(--forest);color:#f3f6ee;border-radius:var(--radius-l);padding:32px 22px;display:grid;grid-template-columns:1fr;gap:26px;align-items:center;position:relative;overflow:hidden;}
@media (min-width:761px){.account-teaser{grid-template-columns:1.1fr .9fr;padding:44px 34px;}}
.account-teaser::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 240px at 85% 20%,color-mix(in srgb,#f3b94a 26%,transparent),transparent 70%);pointer-events:none;}
.account-teaser .eyebrow{color:#f3b94a;}
.account-teaser h2{color:#f3f6ee;font-size:var(--fs-h2);margin:10px 0 12px;}
.account-teaser p{color:#c7d6c0;max-width:46ch;line-height:1.55;}
.account-teaser .btn{margin-top:18px;background:#f3b94a;color:#0c1812;}
.mini-balance{position:relative;}
.mini-balance .label{font-size:.78rem;color:#9fb39a;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;}
.mini-balance .num{font-family:'Public Sans',sans-serif;font-weight:800;font-variant-numeric:tabular-nums;font-size:clamp(2.1rem,1.6rem + 2vw,3.1rem);color:#ffd700;letter-spacing:-.01em;}
.mini-balance .delta{color:#8fd67a;font-weight:700;font-size:.92rem;margin-top:8px;}

/* ---------- channel section ---------- */
.channel-section{background:var(--forest);color:#eef3e6;border-radius:var(--radius-l);padding:36px 22px;}
@media (min-width:761px){.channel-section{padding:48px 34px;}}
.channel-section .eyebrow{color:#f3b94a;}
.channel-section h2{color:#eef3e6;font-size:var(--fs-h2);margin:10px 0 8px;}
.channel-section h2 em{color:#a8d873;}
.channel-section .lede{color:#a9c0a1;max-width:56ch;margin-bottom:8px;}
.channel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;}
.channel-more{color:#a8d873;}
.video-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:30px;}
@media (min-width:641px){.video-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:921px){.video-grid{grid-template-columns:repeat(3,1fr);}}
.video-card{display:flex;flex-direction:column;gap:10px;}
.video-thumb{aspect-ratio:16/9;border-radius:var(--radius-l);background:radial-gradient(120% 140% at 25% 20%,#1c3327 0%,#0a120d 70%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid #25392b;}
.video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.video-preview{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;z-index:1;}
.video-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,24,18,.45),transparent 55%);}
.video-play{width:44px;height:44px;border-radius:50%;background:#a8d873;color:#0c1812;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:transform .2s ease;}
.video-card:hover .video-play{transform:scale(1.08);}
.video-date{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#7f9578;}
.video-card h3{color:#eef3e6;font-size:1.02rem;line-height:1.32;}
.video-card p{color:#9fb39a;font-size:.86rem;line-height:1.5;}
.channel-cta{display:inline-block;margin-top:30px;font-size:.9rem;font-weight:700;color:#a8d873;}
.channel-cta:hover{text-decoration:underline;}

/* ---------- newsletter ---------- */
.newsletter{border:1px solid var(--rule);border-radius:var(--radius-l);padding:30px 22px;background:var(--paper-raised);display:flex;flex-direction:column;justify-content:space-between;gap:22px;}
@media (min-width:761px){.newsletter{flex-direction:row;align-items:center;padding:40px 34px;}}
.newsletter h2{font-size:var(--fs-h3);margin-bottom:6px;}
.newsletter p{color:var(--ink-muted);max-width:44ch;}
.nl-form{display:flex;gap:10px;flex-wrap:wrap;}
.nl-form input{background:var(--paper-sunken);border:1px solid var(--rule);border-radius:var(--radius-s);padding:12px 14px;font-size:.95rem;color:var(--ink);min-width:0;flex:1 1 200px;font-family:inherit;}
.nl-note{font-size:.78rem;color:var(--sage);margin-top:8px;}
.hp-field{position:absolute;left:-9999px;height:0;overflow:hidden;}

/* ---------- journal index ---------- */
.filter-bar{display:flex;flex-direction:column;gap:14px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:26px;}
@media (min-width:861px){.filter-bar{flex-direction:row;align-items:center;justify-content:space-between;}}
.chip-row,.lens-row{display:flex;gap:8px;flex-wrap:wrap;}
.chip,.lens-pill{background:var(--paper-raised);border:1px solid var(--rule);border-radius:999px;padding:7px 15px;font-size:.85rem;font-weight:600;color:var(--ink-muted);cursor:pointer;transition:all .15s ease;}
.chip:hover,.lens-pill:hover{border-color:var(--ink);color:var(--ink);}
.chip.active{background:var(--green);border-color:var(--green);color:#fff;}
.lens-pill.active{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.search-wrap{position:relative;}
.search-wrap input{background:var(--paper-sunken);border:1px solid var(--rule);border-radius:999px;padding:10px 16px 10px 38px;font-size:.9rem;color:var(--ink);width:100%;font-family:inherit;}
@media (min-width:861px){.search-wrap input{width:220px;}}
.search-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--sage);pointer-events:none;}
.results-note{font-size:.82rem;color:var(--sage);margin:18px 0 6px;}
.featured{padding:28px 0 34px;border-bottom:1px solid var(--rule);}
.featured .voice-tag .latest{color:var(--amber);margin-left:8px;}
.featured h2{font-size:var(--fs-h2);max-width:24ch;margin:12px 0;}
.featured h2 span{background-image:linear-gradient(var(--green),var(--green));background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s ease;}
.featured:hover h2 span{background-size:100% 2px;}
.featured .card-dek{max-width:56ch;font-size:1rem;}
.journal-list{display:flex;flex-direction:column;}
.journal-item{display:grid;grid-template-columns:1fr;gap:4px;padding:22px 0;border-bottom:1px solid var(--rule);}
@media (min-width:641px){.journal-item{grid-template-columns:110px 1fr;gap:18px;}}
.ji-date{font-size:.78rem;color:var(--sage);padding-top:5px;}
.journal-item h3{font-size:1.18rem;margin:2px 0 6px;}
.journal-item h3 span{background-image:linear-gradient(var(--green),var(--green));background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s ease;}
.journal-item:hover h3 span{background-size:100% 2px;}
.ji-meta{font-size:.78rem;color:var(--sage);margin-top:6px;}

/* ---------- article page ---------- */
.article-head{padding-top:40px;}
.crumb{font-size:.82rem;color:var(--sage);}
.crumb a:hover{color:var(--ink);}
.crumb span{margin:0 6px;}
.article-head .voice-tag{margin-top:22px;display:block;}
.article-head h1{font-size:var(--fs-h1-article);max-width:26ch;margin:12px 0 14px;}
.article-head .dek{font-size:var(--fs-dek);color:var(--ink-muted);max-width:56ch;}
.byline{display:flex;align-items:center;gap:12px;margin:26px 0 0;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:.88rem;color:var(--ink-muted);}
.byline .avatar{width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:'Vollkorn',serif;flex-shrink:0;}
.byline b{color:var(--ink);font-weight:700;}
.article-body{padding:36px 0 20px;}
.article-body p{max-width:68ch;margin-bottom:22px;line-height:1.75;}
.article-body p:first-child::first-letter{font-family:'Vollkorn',serif;font-size:3.1em;float:left;line-height:.85;padding-right:10px;color:var(--green-deep);}
.pull-quote{margin:36px 0;padding:6px 0 6px 22px;border-left:3px solid var(--green);font-family:'Vollkorn',serif;font-size:1.25rem;line-height:1.5;font-weight:600;max-width:60ch;}
.video-slot{margin:36px 0;border:1.5px dashed var(--rule);border-radius:var(--radius-l);padding:22px;display:flex;gap:16px;align-items:center;background:var(--paper-raised);max-width:68ch;}
.video-slot .play{width:46px;height:46px;flex-shrink:0;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;}
.video-slot .vt{font-weight:700;font-size:.95rem;}
.video-slot .vc{font-size:.82rem;color:var(--sage);margin-top:2px;}
.sources-block{max-width:68ch;margin:44px 0;padding-top:28px;border-top:1px solid var(--rule);}
.sources-block h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sage);margin-bottom:16px;font-family:'Public Sans',sans-serif;}
.sources-block ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;}
.sources-block li{font-size:.92rem;color:var(--ink-muted);line-height:1.5;}
.sources-block b{color:var(--ink);font-weight:600;}
.related-heading{margin:52px 0 20px;font-size:var(--fs-h4);}
.next-step{max-width:68ch;margin:36px 0;padding:20px 22px;background:var(--paper-sunken);border-left:3px solid var(--amber-bright);border-radius:var(--radius-s);}
.next-step .ns-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:6px;}
.next-step p{font-size:.95rem;line-height:1.6;}

/* ---------- account page ---------- */
.truth-pill{display:inline-block;margin-top:14px;font-size:.78rem;color:var(--sage);border:1px solid var(--rule);border-radius:999px;padding:4px 12px;}
.balance-panel{margin:32px 0 44px;background:var(--forest);color:#f3f6ee;border-radius:var(--radius-xl);padding:30px 22px;position:relative;overflow:hidden;}
@media (min-width:761px){.balance-panel{padding:44px 38px;margin:36px 0 56px;}}
.balance-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(460px 260px at 12% 15%,color-mix(in srgb,#f3b94a 22%,transparent),transparent 72%);}
.balance-panel-inner{position:relative;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-end;}
.balance-main .label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#a9c0a1;margin-bottom:8px;}
.balance-main .label .asof{color:#ffd700;text-transform:none;letter-spacing:.02em;}
.balance-main .num{font-family:'Public Sans',sans-serif;font-weight:800;font-variant-numeric:tabular-nums;font-size:var(--fs-balance);color:#ffd700;letter-spacing:-.02em;line-height:1;}
.holding-line{color:#9fb39a;font-size:.88rem;margin-top:14px;max-width:44ch;}
.balance-sub{display:flex;gap:26px;flex-wrap:wrap;}
.balance-stat .label{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#7f9578;margin-bottom:4px;}
.balance-stat .val{font-family:'Public Sans',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;font-size:1.25rem;color:#eef3e6;}
.balance-stat .val.up{color:#8fd67a;}
.account-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:44px;}
@media (min-width:861px){.account-grid{grid-template-columns:1.4fr 1fr;}}
.chart-panel,.howto-panel{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-m);padding:24px;}
.chart-panel h2,.howto-panel h2{font-size:var(--fs-h4);margin-bottom:14px;}
.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.chart-head h2{margin-bottom:0;}
.chart-ranges{display:flex;gap:6px;}
.chart-ranges .lens-pill{padding:5px 13px;font-size:.78rem;}
.chart-delta{font-size:.88rem;color:var(--ink-muted);margin:10px 0 14px;}
.chart-delta b.up{color:var(--green-deep);}
.chart-delta b.down{color:var(--rust);}
.chart-tip{
  position:absolute;pointer-events:none;background:var(--forest);color:#eef3e6;
  border-radius:var(--radius-m);padding:9px 12px;font-size:.8rem;line-height:1.5;
  box-shadow:0 6px 18px -6px rgba(0,0,0,.4);white-space:nowrap;z-index:3;
}
.chart-tip b{display:block;font-family:'Public Sans',sans-serif;font-variant-numeric:tabular-nums;font-size:.95rem;color:#ffd700;}
.chart-tip span{display:block;color:#a9c0a1;}
.chart-tip span.up{color:#8fd67a;}
.chart-tip span.down{color:#e0755a;}
.chart-panel svg{display:block;width:100%;height:auto;}
.chart-axis{font-family:'Public Sans',sans-serif;font-size:10px;fill:var(--sage);}
.howto-item{padding:12px 0;border-bottom:1px solid var(--rule);}
.howto-item:last-child{border-bottom:none;}
.howto-term{font-weight:700;font-size:.95rem;}
.howto-def{font-size:.88rem;color:var(--ink-muted);margin-top:3px;line-height:1.55;}
.month-list{display:flex;flex-direction:column;margin-bottom:30px;}
.month-item{display:grid;grid-template-columns:1fr;gap:6px;padding:20px 0;border-bottom:1px solid var(--rule);}
@media (min-width:641px){.month-item{grid-template-columns:120px 1fr auto;gap:18px;align-items:baseline;}}
.mi-date{font-size:.82rem;color:var(--sage);font-weight:700;}
.mi-note{font-size:.95rem;color:var(--ink-muted);max-width:56ch;line-height:1.55;}
.mi-bal{font-family:'Public Sans',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;font-size:1.05rem;}
.mi-delta{font-size:.8rem;font-weight:700;margin-left:10px;}
.mi-delta.up{color:var(--green-deep);}
.mi-delta.down{color:var(--rust);}

/* ---------- path page ---------- */
.track-block{margin-top:40px;}
.track-block > .eyebrow{color:var(--amber);}
.track-block h2{font-size:var(--fs-h3);margin:8px 0 6px;}
.track-block > .dek{color:var(--ink-muted);max-width:60ch;margin-bottom:22px;}
.unit-list{display:flex;flex-direction:column;gap:14px;}
.unit{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-m);padding:20px 22px;}
.unit-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;}
.unit h3{font-size:1.1rem;}
.unit .mins{font-size:.78rem;color:var(--sage);white-space:nowrap;}
.unit .u-dek{font-size:.9rem;color:var(--ink-muted);margin-top:6px;line-height:1.55;}
.unit .u-detail{font-size:.95rem;line-height:1.65;margin-top:14px;padding-top:14px;border-top:1px solid var(--rule);max-width:66ch;}
.quiet-promise{margin:52px 0 20px;max-width:64ch;}
.quiet-promise h2{font-size:var(--fs-h3);margin-bottom:12px;}
.quiet-promise p{color:var(--ink-muted);line-height:1.65;}

/* ---------- tools page ---------- */
.tools-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:34px;}
.tool-card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-m);padding:24px 20px;}
@media (min-width:761px){.tool-card{padding:28px;}.tool-card:not(.wide){max-width:560px;}}
.tool-kicker{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);margin-bottom:6px;}
.tool-card h2{font-size:var(--fs-h3);margin-bottom:8px;}
.tool-intro{font-size:.92rem;color:var(--ink-muted);line-height:1.55;max-width:64ch;}
.tool-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}
.tool-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:130px;}
.tool-field label{font-size:.76rem;font-weight:700;color:var(--sage);text-transform:uppercase;letter-spacing:.05em;}
.tool-field input,.tool-field select{background:var(--paper-sunken);border:1px solid var(--rule);border-radius:var(--radius-s);padding:10px 12px;font-size:.95rem;color:var(--ink);font-variant-numeric:tabular-nums;width:100%;font-family:inherit;}
.tool-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%235e7460' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;}
.tool-result{margin-top:18px;padding:18px 20px;background:var(--paper-sunken);border-radius:var(--radius-m);}
.tr-label{font-size:.76rem;color:var(--sage);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.tr-num{font-family:'Public Sans',sans-serif;font-weight:800;font-variant-numeric:tabular-nums;font-size:1.7rem;color:var(--green-deep);}
.tr-note{font-size:.82rem;color:var(--ink-muted);margin-top:6px;}
.fx-result-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px;}
@media (min-width:481px){.fx-result-grid{grid-template-columns:1fr 1fr;}}
.fx-result-grid .tool-result{margin-top:0;}
.tool-caveat{font-size:.76rem;color:var(--sage);margin-top:14px;font-style:italic;}
.glossary-list{display:flex;flex-direction:column;}
.glossary-item{padding:14px 0;border-bottom:1px solid var(--rule);cursor:pointer;}
.glossary-item .g-term{font-weight:700;display:flex;justify-content:space-between;align-items:center;}
.glossary-item .g-term::after{content:"+";color:var(--sage);font-size:1.2rem;}
.glossary-item.open .g-term::after{content:"–";}
.glossary-item .g-def{display:none;font-size:.92rem;color:var(--ink-muted);margin-top:8px;line-height:1.6;max-width:64ch;}
.glossary-item.open .g-def{display:block;}
.tools-privacy{font-size:.82rem;color:var(--sage);margin-top:26px;}

/* compounding card */
.comp-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:22px;align-items:start;}
@media (min-width:861px){.comp-grid{grid-template-columns:1fr 1.2fr;gap:36px;}}
.comp-inputs{display:flex;flex-direction:column;gap:18px;}
.comp-field label{display:block;font-size:.8rem;font-weight:700;color:var(--sage);margin-bottom:6px;}
.comp-field input:not(.comp-slider),.comp-field select{width:100%;background:var(--paper-sunken);border:1px solid var(--rule);border-radius:var(--radius-s);padding:11px 13px;font-size:.98rem;color:var(--ink);font-family:inherit;font-variant-numeric:tabular-nums;}
.comp-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%235e7460' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;}
.comp-input-wrap{position:relative;display:flex;align-items:center;}
.comp-input-wrap input{padding-left:28px;}
.comp-input-wrap .comp-affix{position:absolute;left:13px;color:var(--sage);font-size:.92rem;pointer-events:none;}
.comp-slider-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.comp-slider-head label{margin-bottom:0;}
.comp-slider-val{font-family:'Public Sans',sans-serif;font-weight:800;font-size:1.15rem;color:var(--green-deep);font-variant-numeric:tabular-nums;}
.comp-slider{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer;margin:0;padding:0;border:none;}
.comp-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--paper-sunken);border:1px solid var(--rule);}
.comp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--green);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--green);cursor:pointer;margin-top:-8px;}
.comp-slider::-moz-range-track{height:6px;border-radius:999px;background:var(--paper-sunken);border:1px solid var(--rule);}
.comp-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--green);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--green);cursor:pointer;}
.comp-slider-range{display:flex;justify-content:space-between;margin-top:6px;font-size:.76rem;color:var(--sage);}
.comp-preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
@media (min-width:421px){.comp-preset-grid{grid-template-columns:repeat(3,1fr);}}
.comp-preset{background:var(--paper-sunken);border:1px solid var(--rule);border-radius:999px;padding:9px 6px;font-size:.86rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;min-height:38px;}
.comp-preset:hover{border-color:var(--green);}
.comp-preset.is-selected{background:var(--green);border-color:var(--green);color:#fff;}
.comp-nudge{font-size:.82rem;color:var(--amber);margin-top:8px;line-height:1.5;}
.comp-results{display:flex;flex-direction:column;gap:16px;}
.comp-result-panel{background:var(--paper-sunken);border-radius:var(--radius-m);padding:22px;text-align:center;}
.cr-label{font-size:.78rem;color:var(--sage);text-transform:uppercase;letter-spacing:.06em;}
.cr-num{font-family:'Public Sans',sans-serif;font-weight:800;font-variant-numeric:tabular-nums;font-size:clamp(1.9rem,1.5rem + 2vw,2.7rem);color:var(--green-deep);margin-top:6px;}
.comp-split-bar{display:flex;height:22px;border-radius:999px;overflow:hidden;margin:16px 0 4px;background:var(--paper);}
.split-seg{display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;transition:width .35s ease;}
.split-seg.contrib{background:var(--sage);}
.split-seg.growth{background:var(--green);}
.comp-divider{height:1px;background:var(--rule);margin:14px 0;}
.comp-substats{display:flex;justify-content:space-around;gap:14px;}
.cr-sub-label{font-size:.72rem;color:var(--sage);text-transform:uppercase;letter-spacing:.05em;}
.cr-sub-num{font-family:'Public Sans',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;font-size:1.15rem;}
.cr-sub-num.growth{color:var(--green-deep);}
.comp-delight,.comp-crossover{font-family:'Vollkorn',serif;font-size:.94rem;line-height:1.5;background:var(--paper-sunken);border-left:3px solid var(--green);border-radius:var(--radius-s);padding:12px 16px;}
.comp-crossover{border-left-color:var(--amber);}
.comp-chart-panel{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-m);padding:18px 20px 8px;}
.comp-chart-panel svg{display:block;width:100%;height:auto;}
.comp-chart-legend{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--sage);margin-top:4px;}
.comp-chart-legend .legend-dot{width:9px;height:9px;border-radius:50%;background:var(--green-deep);display:inline-block;}
.comp-share-bar{margin-top:32px;padding-top:22px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.comp-share-label{font-size:.76rem;font-weight:700;color:var(--sage);text-transform:uppercase;letter-spacing:.06em;}
.comp-share-actions{display:flex;gap:8px;}
.comp-share-note{font-size:.82rem;color:var(--ink-muted);}
.comp-share-note.is-confirm{color:var(--green-deep);font-weight:700;}
.comp-callout{margin-top:18px;font-family:'Vollkorn',serif;font-size:.96rem;line-height:1.55;background:var(--paper-sunken);border-left:3px solid var(--amber-bright);border-radius:var(--radius-s);padding:14px 18px;}

/* ---------- about / masthead ---------- */
.honesty-note{background:var(--paper-raised);border:1px solid var(--rule);border-left:3px solid var(--green);border-radius:var(--radius-s);padding:20px 24px;margin:30px 0;font-size:.98rem;line-height:1.65;max-width:72ch;}
.voice-list{display:grid;grid-template-columns:1fr;gap:20px;margin:36px 0;}
@media (min-width:761px){.voice-list{grid-template-columns:1fr 1fr;}}
.voice-card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-m);padding:24px;}
.voice-card h2{font-size:var(--fs-h4);}
.voice-card .tagline{font-family:'Vollkorn',serif;font-style:italic;color:var(--ink-muted);margin:8px 0 4px;line-height:1.5;}
.voice-card .plainly{font-size:.82rem;color:var(--sage);margin-bottom:12px;}
.voice-card .remit p{font-size:.9rem;color:var(--ink-muted);line-height:1.55;margin-top:8px;}
.disclaimer-box{background:var(--paper-sunken);border-radius:var(--radius-m);padding:20px 24px;margin:32px 0;font-size:.95rem;color:var(--ink-muted);line-height:1.6;max-width:76ch;}
.disclaimer-box strong{color:var(--ink);}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--rule);padding:44px 0 34px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:36px;}
@media (min-width:641px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:861px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;}}
.footer-grid h2{font-family:'Public Sans',sans-serif;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--sage);margin-bottom:14px;font-weight:700;}
.footer-grid ul{list-style:none;}
.footer-grid li{margin-bottom:9px;}
.footer-grid a{font-size:.92rem;color:var(--ink-muted);}
.footer-grid a:hover{color:var(--ink);}
.footer-about{color:var(--ink-muted);font-size:.92rem;line-height:1.55;max-width:32ch;}
.soon{opacity:.55;pointer-events:none;}
.soon::after{content:" (coming)";font-size:.78em;}
.copyright{border-top:1px solid var(--rule);padding-top:22px;font-size:.8rem;color:var(--sage);display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;}
