/* Selected October 15, 2026: Pale Sage panels & Slate accents. */
:root{--navy:#293440;--panel-dark:#eaf2ec;--green:#293440;--teal:var(--green);--mint:#80a28e;--paper:#f7f5f1;--bg:var(--paper);--ink:#303b46;--muted:#69747e;--line:#dae3dd;--theme-soft:#eef5f0;--chart-model:var(--green);--chart-model-dark:#37735c;--chart-stock-dark:#477c99;--chart-reserve:#8b9baa;--chart-currency:#81957d;--sidebar-active:#d7e6dc;--sidebar-hover:#e1ece4}
.siteheader{background:color-mix(in srgb,var(--paper) 96%,transparent)}
.sidebar{background:var(--navy)}.sidebar nav button.active{background:var(--sidebar-active);box-shadow:inset 3px 0 var(--mint);color:white}.sidebar nav button:hover{background:var(--sidebar-hover);color:white}.sidebar-mark{color:var(--mint)}.sidebar .brand small,.sidebar .sidebottom{color:#bdc6cd}.sidebar .localdot{background:var(--mint)}
.statuspill,.pill,.regimebox,.dashboardjoin,.gatebox{background:var(--theme-soft);border-color:var(--line)}.statuspill,.pill{color:var(--green)}.joinsection{background:var(--theme-soft)}.joinbutton:hover{background:var(--navy)!important}.windowhead .dots{color:var(--mint)}
.stocksite .signalstrip,.stocksite .notice.subtle{background:var(--theme-soft);border-color:var(--line);color:var(--green)}.tierbutton.selected{background:var(--theme-soft);border-color:var(--mint);color:var(--green)}#stockSleeve,#etfSleeve{background:var(--theme-soft);border-color:var(--mint);color:var(--green)}.stocksite .return-positive,.etfsite .return-positive{color:#27765b}.sleevenum,.rotationrow.rotate .sleevenum{background:var(--theme-soft);border-color:var(--mint);color:var(--green)}.statusstamp{border-color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--green)}
.journey-legend span:before,.chartlegend i{background:var(--chart-model-dark)}.journey-legend .stockkey:before{background:var(--chart-stock-dark)}.journey-legend .spykey:before{background:#a4b3ca}.period-divider th{background:var(--theme-soft)}
/* Retained source charts also inherit the selected palette. */
svg [stroke="#16705e"]{stroke:var(--chart-model)}svg [fill="#16705e"]{fill:var(--chart-model)}svg [stroke="#8cc9ac"]{stroke:var(--chart-model-dark)}svg [stroke="#74cbe3"]{stroke:var(--chart-stock-dark)}
svg [stroke="#659c91"]{stroke:var(--chart-reserve)}svg [stroke="#849767"]{stroke:var(--chart-currency)}
.stocksite #stockSleeve,.etfsite #etfSleeve{background:var(--theme-soft);border-color:var(--mint);color:var(--green)}
[style*="background:#16705e"],[style*="background: #16705e"],[style*="background: rgb(22, 112, 94)"]{background:var(--chart-model)!important}
/* Weekly history uses semantic gain color independently of the brand accent. */
#modelCohortRows .return-positive,#stockSleeveDetails .return-positive{color:#27765b}
.return-snapshot span,.return-row-heading,.snapshot-label,#overviewTierLabel,#analysisRecent th,#analysisAnnualized th{color:var(--navy)}
@media print{.sidebar{display:none}.siteheader{background:white}}

/* Daily closing-price model sleeve marks. */
.active-sleeve-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.active-sleeve-card{border:1px solid var(--line);border-radius:8px;padding:20px}.active-sleeve-card h3{font-family:inherit;font-size:19px;margin:0 0 8px;color:var(--ink)}.active-sleeve-card p{font-size:12px;color:var(--muted);margin:0 0 16px}.active-sleeve-return{display:block;font-size:30px;font-weight:600;line-height:1.2;margin-bottom:8px}.active-sleeve-card>span{font-size:12px;color:var(--muted);display:block}@media(max-width:700px){.active-sleeve-grid{grid-template-columns:1fr;gap:10px}.active-sleeve-card{padding:16px}.active-sleeve-return{font-size:28px}}

/* Green design surfaces with independent gain/loss colors. */
@media screen{.previewwindow,.evidence,.sidebar{background:var(--panel-dark)}.windowhead{border-color:#5d7e70}.historychart{border-color:#5d7e70}.evidence svg line[stroke="#38505b"]{stroke:#5d7e70}.evidence .eyebrow{color:var(--mint)}}

/* Pale sage panels need dark type and stronger chart lines. */
@media screen{
 .previewwindow,.evidence{color:var(--ink)}
 .windowhead,.windowfoot,.previewwindow .signaldate{color:#52685d}
 .windowhead .dots{color:#37735c}.windowcard{border:1px solid var(--line)}
 .evidence .sectionheading>.journey-deck,.evidence h2,.evidence h3{color:var(--navy)}
 .evidence .eyebrow{color:#37735c}
 .journey-legend,.historychart .chartlegend,.historychart .chartcaption,.journey-note{color:#52685d}
 .historychart,.windowhead{border-color:#c5d8cc}
 .evidence svg text{fill:#52685d}
 .evidence svg line[stroke="#38505b"]{stroke:#c5d8cc}
 .evidence svg [stroke="#a4b3ca"]{stroke:#6e7f96}
 .journey-legend .spykey:before{background:#6e7f96}
 .sidebar,.sidebar a,.sidebar .brand,.sidebar nav button{color:var(--navy)}
 .sidebar .brand small,.sidebar .sidebottom{color:#52685d}
 .sidebar nav button.active,.sidebar nav button:hover{color:var(--navy)}
 .sidebar nav button.active{box-shadow:inset 3px 0 #37735c}
 .sidebar-mark{color:#37735c}.sidebar .localdot{background:#37735c}
}


/* ===== Visual refresh, October 15, 2026: forest-green accent, IBM Plex Sans + Source Serif 4 =====
   Accent is for brand elements only; numbers, bars and status pills stay neutral.
   To revert, delete everything from this line to the end of the file. */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-600-normal.woff2) format('woff2')}

/* ---------- Palette ---------- */
:root{
  --sans:'IBM Plex Sans','Segoe UI',Arial,sans-serif;
  --serif:'Source Serif 4',Georgia,serif;
  --accent:#2f6b4f;          /* forest green: CTAs, 4D lines, links, active states */
  --accent-hover:#24563f;
  --accent-soft:#e3eee6;
  --navy:#293440;            /* slate: ink, dark bars */
  --ink:#2b3640;
  --muted:#5b6670;           /* darker than before: 5.4:1 on paper */
  --line:#d6dfd9;
  --paper:#f7f5f1;
  --sage:#edf3ee;
  --panel-dark:var(--sage);
  --theme-soft:var(--accent-soft);
  --green:var(--accent);
  --gold:var(--accent);      /* dashboard.css still referenced the retired gold */
  --chart-model:var(--accent);
  --chart-model-dark:var(--accent);
  --chart-stock-dark:#2a6f8f;
  --chart-bench:#66717c;
}

/* ---------- Type ---------- */
body{font-family:var(--sans);color:var(--ink);font-size:16px}
h1,h2,h3,.hero-heading,.systemcard h3,.dashboardjoin strong,.previewwindow .windowintro{margin-top:4px}
.windowintro strong{font-family:var(--sans)}
h1,.sectionheading h2,.joinsection h2,.faq h2,#leverage-results h2,.systemcard h3{font-family:var(--serif)!important;font-weight:600;letter-spacing:-.015em}
h1,h2,h3{text-wrap:balance}
p,li,figcaption,.note,.lede{text-wrap:pretty}
table,.numbers,.statuspill,.legend,.kpi,.num,td{font-variant-numeric:tabular-nums lining-nums}

.eyebrow{font-family:var(--sans);font-size:11.5px;letter-spacing:1.4px;font-weight:600;color:var(--accent)!important}

/* ---------- Header ---------- */
.siteheader .wordmark>span{font-family:var(--serif);font-variant-caps:small-caps;font-weight:600;letter-spacing:.7px;font-size:clamp(29.9px,3.0475vw,43.7px);line-height:1.15}
.sidebar .brand .brand-name{display:block;font-family:var(--serif);font-variant-caps:small-caps;font-weight:600;font-size:16px;letter-spacing:.3px;line-height:1.15}
.wordmark .brandmark path:first-child{fill:var(--accent)}
.siteheader .globalnav a{font-size:14px;color:var(--ink)}
.siteheader .globalnav a:hover{color:var(--accent)}

/* ---------- Hero ---------- */
.hero{padding-top:56px!important;padding-bottom:64px!important;align-items:start}
.hero .hero-heading{font-family:var(--serif)!important;font-weight:600;letter-spacing:-.02em;line-height:1.08;margin-bottom:34px}
.hero .hero-heading>span{font-family:var(--serif)!important;font-weight:600}
.hero .hero-heading span:first-child{font-size:clamp(32px,3.6vw,48px)}
.hero .hero-heading span:last-child{font-size:clamp(32px,3.6vw,48px);color:var(--accent);margin-top:2px}
.headline-results caption{font-weight:600;color:var(--ink)}
.headline-results th[scope=row] a{color:var(--ink)}
.hero .headline-results tbody tr:nth-child(-n+2) td{color:var(--ink);font-weight:600}
.hero .headline-results tbody tr:nth-child(-n+2) th a{font-weight:700}
.hero .headline-results tbody tr:nth-child(n+3) th,
.hero .headline-results tbody tr:nth-child(n+3) th a,
.hero .headline-results tbody tr:nth-child(n+3) td{color:#65727a;font-weight:500}
.headline-results p{color:var(--muted)}

.joinbutton{background:var(--accent)!important;border-color:var(--accent)!important;font-size:15px!important;padding:14px 24px!important;border-radius:6px}
.joinbutton:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}
.hero .actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero .actions .outlinebutton{border:0;padding:14px 2px;font-size:15px;color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.hero .note{color:var(--muted)}

/* Weekly view panel: an instrument, not a floating card */
.previewwindow{background:#fff!important;border:1px solid var(--navy);border-radius:8px;box-shadow:none!important;overflow:hidden}
.previewwindow .windowhead{margin:-25px -25px 22px;padding:13px 25px;background:var(--navy);color:#d3dbd6!important;border-bottom:0;letter-spacing:1.4px;font-size:11px}
.previewwindow .windowhead .dots{color:#7fb596}
.previewwindow .windowintro{margin-top:4px}
.windowintro strong{font-family:var(--serif)!important;font-weight:600;font-size:26px!important}
.windowcard{background:var(--paper)!important;border:1px solid var(--line)}
.windowcard .numbers b{color:var(--ink)}
.stackbar span:first-child{background:var(--navy)!important}
.stackbar span:last-child{background:#b9c6bf!important}
.statuspill{background:#eef1ee!important;color:var(--ink)!important;border-color:var(--line)!important;font-weight:600}
.windowfoot{color:var(--muted)!important}

/* ---------- Evidence ---------- */
.evidence{padding:80px 0!important;background:var(--sage)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.evidence .sectionheading h2{font-size:44px}
.evidence{--chart-stock-dark:#b99545;--chart-bench:#7f92ae}
.evidence .journey-deck{font-family:var(--sans);font-weight:500;color:var(--ink)!important}
.historychart{background:#fff!important;border:1px solid var(--line)!important;border-radius:8px}
.historychart h3{font-weight:600;color:var(--ink)!important}
.evidence svg line[stroke="#38505b"]{stroke:#e4e9e5!important}
.evidence svg text{fill:#5b6670!important;font-family:var(--sans)}
.historychart polyline{stroke-linejoin:round}
svg [stroke="#8cc9ac"],svg [stroke="#16705e"]{stroke:var(--accent)!important;stroke-width:2.2px}
svg [stroke="#74cbe3"]{stroke:var(--chart-stock-dark)!important;stroke-width:2px}
.evidence svg [stroke="#a4b3ca"]{stroke:var(--chart-bench)!important;stroke-width:1.4px;stroke-dasharray:none}
.journey-legend span:before,.journey-legend .etfkey:before{background:var(--accent)!important}
.journey-legend .stockkey:before{background:var(--chart-stock-dark)!important}
.journey-legend .spykey:before{background:var(--chart-bench)!important}
.evidence svg [stroke="#74cbe3"]{stroke:#b99545!important;stroke-width:2px}
.evidence svg [stroke="#a4b3ca"]{stroke:#7f92ae!important;stroke-width:2px}
.journey-legend .stockkey:before{background:#b99545!important}
.journey-legend .spykey:before{background:#7f92ae!important}
.active-sleeve-benchmarks{display:grid;gap:4px;margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.4;font-variant-numeric:tabular-nums}
.active-sleeve-benchmarks>div{display:flex;justify-content:space-between;gap:12px}
.active-sleeve-benchmarks .return-positive{color:#477663!important}
.active-sleeve-benchmarks .return-negative{color:#9c5b55!important}
.journey-legend,.chartcaption,.journey-note{color:var(--muted)!important}

/* ---------- Leverage table ---------- */
#leverage-results{padding-top:72px!important;padding-bottom:16px!important}
#leverage-results h2{font-size:36px!important;margin-bottom:8px!important}
#leverage-results caption{color:var(--muted);font-weight:500}
#leverage-results table{max-width:900px}
#leverage-results tbody tr:nth-child(odd){background:#f0eee8}
#leverage-results tbody th{padding-left:12px}
#leverage-results td:last-child,#leverage-results th:last-child{padding-right:12px}
#leverage-results .headline-results p{max-width:900px}

/* ---------- System cards ---------- */
.systems{padding-top:40px;padding-bottom:40px}
.systemcard{border-radius:8px;border-color:var(--line)}
.systemcard h3{font-size:30px!important}
.systemcard li:before{color:var(--accent)}
.outlinebutton{border-color:#b9c6bf;color:var(--ink)}
.outlinebutton:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- Process ---------- */
.process{padding-top:72px;padding-bottom:72px}
.process .sectionheading h2{font-size:44px}
.sleeve-graphic{border-color:var(--line)!important}
.sleeve-timeline .renew{background:var(--navy)!important;color:#fff!important}
.sleeve-timeline .hold{background:#f0f2ef!important;color:#6b7680!important}
.steps span{font-family:var(--serif)!important;color:var(--accent);font-weight:600}
.steps h3{font-weight:600}

/* ---------- Join + FAQ ---------- */
.joinsection{background:var(--sage)!important;padding:80px 0!important}
.joinsection h2{font-size:46px}
.joinsection .lede{color:var(--muted)!important}
.joinoffer strong{font-family:var(--serif)!important;font-weight:600;color:var(--accent)}
.signupbox{border:1px solid var(--line);box-shadow:none!important}
.faq{padding-top:72px;padding-bottom:72px}
.faq summary{font-weight:500}
.faq summary:hover{color:var(--accent)}

/* ---------- Links ---------- */
main a:not(.joinbutton):not(.outlinebutton):not(.wordmark){text-underline-offset:3px}
.headline-results p a,.journey-note a,#leverage-results p a{color:var(--accent)}

/* ---------- Dashboards ---------- */
.sidebar{border-right:1px solid var(--line)}
.sidebar nav button.active{background:#fff!important;color:var(--ink)!important;box-shadow:inset 3px 0 var(--accent)!important;font-weight:600}
.sidebar nav button:hover{background:#f4f8f5!important;color:var(--ink)!important}
.sidebar-mark,.sidebar .brandmark path:first-child{color:var(--accent);fill:var(--accent)}
.statusstamp{border-color:var(--accent)!important}

/* ---------- Small screens ---------- */
@media (max-width:760px){
  .siteheader .wordmark>span{font-size:clamp(25.3px,6.9vw,36.8px);letter-spacing:.4px}
  .hero{padding-top:28px!important;padding-bottom:40px!important}
  .hero .hero-heading span:first-child,.hero .hero-heading span:last-child{font-size:32px}
  .previewwindow .windowhead{margin:-17px -17px 18px;padding:12px 17px}
  .evidence,.joinsection{padding:52px 0!important}
  .evidence .sectionheading h2,.process .sectionheading h2,.joinsection h2{font-size:34px}
  #leverage-results{padding-top:52px!important}
  #leverage-results h2{font-size:30px!important}
  .process,.faq{padding-top:52px;padding-bottom:52px}
  .hero .actions{row-gap:2px}
}
