/* Shared styles for Renewal Rate content pages */
:root{
  --paper:#faf8f3;
  --paper-warm:#f2efe6;
  --ink:#1b1d1c;
  --ink-soft:#3d4240;
  --ink-mid:#5c615e;
  --ink-fade:#8a8e8a;
  --rule:#d8d3c4;
  --rule-soft:#e8e3d4;
  --maple:#9a2a2a;
  --evergreen:#1f3a2b;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  background:var(--paper);
}
body{
  font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:400;
  font-size:17px;
  line-height:1.65;
  background:var(--paper);
  color:var(--ink);
  min-height:100vh;
}
main{max-width:1400px;margin:0 auto;padding:0 2rem}

/* Page-top: wordmark + nav */
.page-top{
  padding-top:2.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
  position:relative;
  z-index:200;
}
.wordmark{display:inline-block;line-height:0}
.wordmark img{display:block;height:44px;width:auto}
.primary-nav{display:flex;gap:1.75rem;align-items:baseline}
.primary-nav a{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1rem;
  font-style:italic;
  color:var(--ink-mid);
  text-decoration:none;
  padding-bottom:3px;
  border-bottom:1px solid transparent;
  transition:border-color 0.18s, color 0.18s;
}
.primary-nav a:hover{color:var(--ink);border-bottom-color:var(--maple)}
.primary-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--rule)}

/* Dropdown nav (Calculators) */
.primary-nav .has-dropdown{position:relative;display:inline-block}
.primary-nav .has-dropdown > .dropdown-trigger{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1rem;
  font-style:italic;
  color:var(--ink-mid);
  background:transparent;
  border:none;
  border-bottom:1px solid transparent;
  padding:0 0 3px;
  cursor:pointer;
  transition:border-color 0.18s, color 0.18s;
  font-weight:inherit;
}
.primary-nav .has-dropdown > .dropdown-trigger:hover{color:var(--ink);border-bottom-color:var(--maple)}
.primary-nav .has-dropdown[data-section-active="true"] > .dropdown-trigger{color:var(--ink);border-bottom-color:var(--rule)}
.primary-nav .dropdown-trigger::after{content:" ▾";font-size:0.75em;letter-spacing:0;font-style:normal;display:inline-block;margin-left:0.15rem}
.primary-nav .has-dropdown{padding-bottom:0.6rem;margin-bottom:-0.6rem}
.primary-nav .dropdown{
  position:absolute;
  top:100%;
  left:0;
  background:var(--paper);
  border:1px solid var(--rule);
  padding:0.6rem 0;
  min-width:240px;
  display:none;
  z-index:300;
  box-shadow:0 4px 12px rgba(27,29,28,0.06);
}
.primary-nav .has-dropdown.open .dropdown,
.primary-nav .has-dropdown:hover .dropdown,
.primary-nav .has-dropdown:focus-within .dropdown{display:block}
.primary-nav .dropdown a{
  display:block;
  padding:0.5rem 1.1rem;
  font-size:0.95rem;
  font-style:normal;
  border-bottom:none;
  white-space:nowrap;
  color:var(--ink-soft);
}
.primary-nav .dropdown a:hover{background:var(--paper-warm);color:var(--ink);border-bottom-color:transparent}
.primary-nav .dropdown a[aria-current="page"]{color:var(--ink);background:var(--paper-warm);border-bottom:none}

/* Content article layout */
.content{
  padding:3rem 0 4rem;
  max-width:840px;
}

/* Article + sidebar TOC layout (used on long-form pillars and reference pages).
   2026-05-06 v2: content fills the full nav-width (logo edge -> About edge),
   with the TOC sitting in the right rail within the same frame. main is 1400px,
   minus 2rem horizontal padding each side = ~1336px effective. Content gets
   minmax(0, 1fr) which absorbs ~1056px; TOC takes the rightmost 240px. */
.article-with-toc{
  display:grid;
  grid-template-columns:minmax(0, 720px) 240px 1fr;
  column-gap:3rem;
  row-gap:0;
  align-items:start;
  padding:3rem 0 4rem;
  max-width:1400px;
}
/* When the right rail holds a calculator instead of TOC, widen the calc rail. */
body main .article-with-toc.has-calc{grid-template-columns:minmax(0, 1fr) 380px;gap:2.5rem;max-width:1180px}
/* Calc-in-sidebar: single-column input layout so labels never wrap awkwardly.
   !important here overrides per-page inline calc-fields rules that ship 1fr 1fr
   for the standalone calculator pages. */
.article-with-toc.has-calc .page-calc .calc-fields{grid-template-columns:1fr!important;gap:0.85rem!important}
.article-with-toc.has-calc .page-calc .calc-card{padding:1.25rem}
.article-with-toc.has-calc .page-calc .calc-card h3{font-size:1.05rem}
.article-with-toc.has-calc .page-calc .calc-fields label{font-size:0.78rem}
.article-with-toc.has-calc .page-calc .calc-fields input,
.article-with-toc.has-calc .page-calc .calc-fields select{font-size:1rem;padding:0.55rem 0.7rem}
@media (max-width:920px){
  body main .article-with-toc.has-calc{display:block;grid-template-columns:none;gap:0;padding:1.25rem 0 3rem}
  body main .article-with-toc.has-calc > .content{padding:0;max-width:none}
  body main .article-with-toc.has-calc > .page-calc{position:static;top:auto;margin-top:1.5rem;width:100%}
}
.article-with-toc > .content{padding:0;max-width:none;grid-column:1;grid-row:1}
.article-with-toc > .page-toc{grid-column:2;grid-row:1}
.article-with-toc > .page-calc{grid-column:2;grid-row:1}

/* Sticky right-rail calculator widget (used on IRD + switch-cost pages) */
.page-calc{
  position:sticky;
  top:2rem;
}
.page-calc .calc-card{margin:0}
@media (max-width:920px){
  .article-with-toc{grid-template-columns:1fr;gap:0;max-width:720px;padding:1.5rem 0 4rem}
  .article-with-toc > .content{grid-column:auto;grid-row:auto}
  .article-with-toc > .page-toc{grid-column:auto;grid-row:auto;position:static;top:auto;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
  .article-with-toc > .page-calc{position:static;top:auto;grid-column:auto;grid-row:auto;margin-top:1.5rem}
}
.page-toc{
  position:sticky;
  top:2rem;
  font-size:0.92rem;
  line-height:1.45;
}
.page-toc .toc-label{
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink-mid);
  margin-bottom:0.85rem;
  padding-bottom:0.6rem;
  border-bottom:1px solid var(--rule);
}
.page-toc ul{list-style:none;padding:0;margin:0}
.page-toc li{margin:0;padding:0}
.page-toc a{
  display:block;
  padding:0.4rem 0 0.4rem 0;
  color:var(--ink-soft);
  text-decoration:none;
  border-left:2px solid transparent;
  padding-left:0.85rem;
  margin-left:-0.85rem;
  transition:color 0.15s, border-color 0.15s;
}
.page-toc a:hover{color:var(--ink);border-left-color:var(--maple)}
.page-toc a.toc-active{color:var(--ink);border-left-color:var(--ink);font-weight:500}
.page-toc li.toc-h3 a{padding-left:1.6rem;font-size:0.88rem;color:var(--ink-mid)}
.page-toc li.toc-h3 a:hover{color:var(--ink-soft)}
@media (max-width:920px){
  .article-with-toc{grid-template-columns:1fr;gap:0;max-width:720px;padding:1.5rem 0 4rem}
  .page-toc{position:static;top:auto;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
  .page-toc summary{cursor:pointer;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-mid);padding:0.5rem 0;list-style:none}
  .page-toc summary::after{content:" \25BE";color:var(--ink-mid);font-size:0.85em}
  .page-toc[open] summary::after{content:" \25B4"}
  .page-toc ul{margin-top:0.5rem}
}
.content h1{
  font-family:"Source Serif 4",Georgia,serif;
  font-weight:500;
  font-size:clamp(2rem, 4.5vw, 3.25rem);
  line-height:1.12;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin-bottom:1.5rem;
  max-width:22ch;
}
.content .lede{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.22rem;
  line-height:1.55;
  color:var(--ink-soft);
  font-weight:400;
  max-width:58ch;
  margin-bottom:2.5rem;
  font-style:italic;
}
.content h2{
  font-family:"Source Serif 4",Georgia,serif;
  font-weight:500;
  font-size:1.55rem;
  line-height:1.25;
  letter-spacing:-0.015em;
  color:var(--ink);
  margin:2.75rem 0 1rem;
}
.content h3{
  font-family:"Source Serif 4",Georgia,serif;
  font-weight:500;
  font-size:1.2rem;
  line-height:1.3;
  color:var(--ink);
  margin:2rem 0 0.75rem;
  font-style:italic;
}
.content h4{
  font-family:"Source Serif 4",Georgia,serif;
  font-weight:500;
  font-size:1.08rem;
  line-height:1.35;
  color:var(--ink);
  margin:1.5rem 0 0.5rem;
}
.content p{
  margin-bottom:1.1rem;
  color:var(--ink-soft);
  max-width:62ch;
}
.content p strong{color:var(--ink);font-weight:600}
.content p em{font-style:italic}
.content ul, .content ol{
  margin:0 0 1.3rem 1.25rem;
  color:var(--ink-soft);
  max-width:62ch;
}
.content ul li, .content ol li{
  margin-bottom:0.5rem;
  padding-left:0.25rem;
}
.content ul li::marker{color:var(--maple)}
.content a{
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:var(--rule);
}
.content a:hover{color:var(--maple);text-decoration-color:var(--maple)}
.content hr{
  border:none;
  border-top:1px solid var(--rule);
  margin:2.5rem 0;
}
.content blockquote{
  border-left:3px solid var(--maple);
  padding:0.5rem 1.25rem;
  margin:1.5rem 0;
  font-family:"Source Serif 4",Georgia,serif;
  font-style:italic;
  font-size:1.1rem;
  color:var(--ink-soft);
}
.content .meta{
  margin-top:3rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule-soft);
  font-size:0.88rem;
  color:var(--ink-fade);
  font-style:italic;
}
.content .disclosure-inline{
  background:var(--paper-warm);
  border-left:3px solid var(--ink);
  padding:1rem 1.25rem;
  margin:1.75rem 0;
  font-size:0.95rem;
  color:var(--ink-soft);
  font-style:italic;
}

/* Homewise partner CTA card (shared across pages) */
.partner-cta{
  background:var(--paper-warm);
  border:1px solid var(--rule);
  border-left:3px solid var(--maple);
  padding:1.5rem 1.75rem 1.4rem;
  margin:2.5rem 0;
}
.partner-cta .cta-kicker{
  font-family:"Source Serif 4",Georgia,serif;
  font-style:italic;
  font-size:1.05rem;
  color:var(--ink);
  margin:0 0 0.6rem;
  max-width:none;
}
.partner-cta .cta-body{
  font-size:0.98rem;
  line-height:1.55;
  color:var(--ink-soft);
  margin:0 0 1rem;
  max-width:none;
}
.partner-cta .cta-body strong{color:var(--ink);font-weight:600}
.partner-cta a.cta-link{
  display:inline-block;
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.15rem;
  font-weight:500;
  color:var(--ink);
  text-decoration:none;
  border-bottom:2px solid var(--maple);
  padding-bottom:3px;
  text-decoration-color:var(--maple)!important;
  transition:color 0.15s;
}
.partner-cta a.cta-link:hover{color:var(--maple)}
.partner-cta .cta-disclaimer{
  margin-top:1rem;
  font-size:0.82rem;
  color:var(--ink-mid);
  line-height:1.5;
  max-width:none;
}

/* Sticky mobile CTA (shared across calculator-bearing pages) */
.sticky-cta{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  padding:0.95rem 1.25rem;
  background:var(--paper);
  border-top:1px solid var(--ink);
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.02rem;
  font-weight:500;
  color:var(--ink);
  text-decoration:none;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem;
  box-shadow:0 -4px 12px rgba(27,29,28,0.08);
  z-index:50;
}
.sticky-cta.visible{display:flex}
.sticky-cta-arrow{color:var(--maple);font-size:1.2rem}
@media (min-width:780px){.sticky-cta{display:none!important}}

/* Verification ledger (/sources/<slug>/ pages) */
.ledger-page{
  max-width:1080px;
  margin:0 auto;
  padding:2rem 0 4rem;
}
.ledger-page > .breadcrumb{font-size:0.85rem;color:var(--ink-mid);margin-bottom:0.5rem}
.ledger-page > .breadcrumb a{color:var(--ink-mid);text-decoration:none;border-bottom:1px solid var(--rule)}
.ledger-page > h1{
  font-family:"Source Serif 4",Georgia,serif;
  font-weight:500;
  font-size:clamp(2rem, 4vw, 2.75rem);
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin-bottom:1.25rem;
  max-width:30ch;
}
.ledger-page > .lede{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.1rem;
  line-height:1.55;
  color:var(--ink-soft);
  font-style:italic;
  max-width:62ch;
  margin-bottom:1.75rem;
}
.ledger-page > .lede a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}

.ledger-intro{
  background:var(--paper-warm);
  border-left:3px solid var(--evergreen);
  padding:1.1rem 1.4rem;
  margin:1rem 0 2rem;
  font-size:0.93rem;
  line-height:1.55;
  max-width:none;
}
.ledger-intro strong{color:var(--ink);font-weight:600}
.ledger-meta{
  display:flex;
  flex-wrap:wrap;
  gap:1.75rem;
  font-size:0.85rem;
  color:var(--ink-mid);
  padding:0.85rem 0 1rem;
  border-bottom:1px solid var(--rule);
  margin-bottom:1.25rem;
}
.ledger-meta span strong{color:var(--ink);margin-right:0.35rem;font-weight:600}
.ledger-filter{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin:0 0 1.5rem;
  font-size:0.85rem;
}
.ledger-filter button{
  background:transparent;
  border:1px solid var(--rule);
  padding:0.4rem 0.85rem;
  font-family:inherit;
  font-size:0.85rem;
  color:var(--ink-soft);
  cursor:pointer;
  transition:border-color 0.15s, color 0.15s, background 0.15s;
}
.ledger-filter button:hover{border-color:var(--ink);color:var(--ink)}
.ledger-filter button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ledger-list{list-style:none;padding:0;margin:0;max-width:none}
.ledger-list > li{
  padding:0;
  margin:0 0 0.65rem;
  border:1px solid var(--rule);
  border-left:4px solid var(--rule);
  background:var(--paper);
}
.ledger-list > li[data-type="stat"]{border-left-color:#2c5fa0}
.ledger-list > li[data-type="regulation"]{border-left-color:#1f3a2b}
.ledger-list > li[data-type="math"]{border-left-color:#9a2a2a}
.ledger-list > li[data-type="quote"]{border-left-color:#5c5c8c}
.ledger-list > li[data-type="lender-operational"]{border-left-color:#a86b00}
.ledger-list > li[data-type="conditional"]{border-left-color:#7c5e00}
.ledger-list > li[data-type="synthesis"]{border-left-color:#6a4f7c}
.ledger-list > li[data-type="industry-practice"]{border-left-color:#8a8e8a;border-left-style:dashed}
.ledger-list > li[data-confidence="C"],
.ledger-list > li[data-confidence="D"]{background:var(--paper-warm)}

.ledger-list summary{
  list-style:none;
  cursor:pointer;
  padding:1.15rem 1.4rem 1.15rem 1.4rem;
  position:relative;
}
.ledger-list summary::-webkit-details-marker{display:none}
.ledger-list summary::after{
  content:"Expand \002B";
  position:absolute;
  top:1.15rem;
  right:1.4rem;
  font-family:"Source Sans 3",sans-serif;
  font-size:0.78rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--ink-mid);
  border:1px solid var(--rule);
  padding:0.25rem 0.6rem;
  background:var(--paper);
  transition:color 0.15s, border-color 0.15s;
}
.ledger-list summary:hover::after{color:var(--ink);border-color:var(--ink)}
.ledger-list details[open] summary::after{content:"Collapse \2212"}
.claim-row-id{
  font-size:0.7rem;
  color:var(--ink-fade);
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:0.45rem;
  display:block;
}
.claim-badges{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin-bottom:0.7rem;
  padding-right:6rem;
}
.claim-badge{
  display:inline-flex;
  align-items:center;
  padding:0.22rem 0.6rem;
  border:1px solid currentColor;
  font-size:0.7rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-weight:600;
  font-style:normal;
  line-height:1.3;
}
.claim-badge.type-stat{color:#2c5fa0}
.claim-badge.type-regulation{color:#1f3a2b}
.claim-badge.type-math{color:#9a2a2a}
.claim-badge.type-quote{color:#5c5c8c}
.claim-badge.type-lender-operational{color:#a86b00}
.claim-badge.type-conditional{color:#7c5e00}
.claim-badge.type-synthesis{color:#6a4f7c}
.claim-badge.type-industry-practice{color:#5c615e;border-style:dashed}
.claim-badge.tier-A{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.claim-badge.tier-B{background:var(--paper);color:var(--ink-soft);border-color:var(--ink-soft)}
.claim-badge.tier-C{background:var(--paper-warm);color:var(--ink-mid);border-color:var(--ink-mid)}
.claim-badge.tier-D{background:var(--paper-warm);color:var(--ink-fade);border-color:var(--ink-fade);border-style:dashed}
.claim-text{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.18rem;
  line-height:1.45;
  color:var(--ink);
  font-style:normal;
  font-weight:500;
  margin:0 0 0.7rem;
  padding-right:6rem;
}
.claim-source-line{
  font-size:0.85rem;
  color:var(--ink-mid);
  display:flex;
  flex-wrap:wrap;
  gap:0.4rem 1rem;
  align-items:baseline;
}
.claim-source-line .source-name{color:var(--ink-soft);font-weight:500}
.claim-source-line .verified-on{font-style:italic}
.claim-source-line .meta-sep{color:var(--ink-fade)}

.claim-detail{
  padding:0 1.4rem 1.4rem;
  border-top:1px solid var(--rule-soft);
  margin-top:0;
  font-size:0.93rem;
  line-height:1.6;
  color:var(--ink-soft);
  background:var(--paper-warm);
}
.claim-detail dl.detail-table{
  display:grid;
  grid-template-columns:minmax(140px, 200px) 1fr;
  gap:0;
  margin:1.1rem 0 0;
  border:1px solid var(--rule);
  background:var(--paper);
}
.claim-detail dl.detail-table dt,
.claim-detail dl.detail-table dd{
  padding:0.7rem 1rem;
  border-bottom:1px solid var(--rule-soft);
  margin:0;
}
.claim-detail dl.detail-table dt{
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--ink-mid);
  background:var(--paper-warm);
  border-right:1px solid var(--rule-soft);
}
.claim-detail dl.detail-table dd{
  color:var(--ink);
  word-break:break-word;
}
.claim-detail dl.detail-table dt:last-of-type,
.claim-detail dl.detail-table dd:last-of-type{border-bottom:none}
.claim-detail a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;word-break:break-all}
.claim-detail a:hover{color:var(--maple);text-decoration-color:var(--maple)}
.claim-detail .source-quote{
  background:var(--paper-warm);
  border-left:3px solid var(--ink-mid);
  padding:0.85rem 1.15rem;
  margin:0;
  font-family:"Source Serif 4",Georgia,serif;
  font-style:italic;
  color:var(--ink);
  font-size:0.98rem;
  line-height:1.55;
}
.claim-detail .conditions-list{margin:0;padding:0 0 0 1.25rem}
.claim-detail .conditions-list li{margin:0.2rem 0}
.claim-detail .math-block{
  margin:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:0.88rem;
  line-height:1.55;
  color:var(--ink);
}
.claim-detail .math-block .math-section{
  padding:0.55rem 0;
  border-bottom:1px dashed var(--rule-soft);
}
.claim-detail .math-block .math-section:last-child{border-bottom:none}
.claim-detail .math-block .math-label{
  display:inline-block;
  min-width:90px;
  color:var(--ink-mid);
  font-family:"Source Sans 3",sans-serif;
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-weight:600;
  vertical-align:top;
}
.claim-detail .math-block dl.math-inputs{
  display:grid;
  grid-template-columns:max-content 1fr;
  gap:0.25rem 0.85rem;
  margin:0.3rem 0 0 90px;
}
.claim-detail .math-block dl.math-inputs dt{color:var(--ink-mid);font-family:"Source Sans 3",sans-serif;font-size:0.82rem}
.claim-detail .math-block dl.math-inputs dd{margin:0;color:var(--ink)}
.input-verify{
  display:inline-block;
  margin-left:0.5rem;
  padding:0.1rem 0.45rem;
  font-family:"Source Sans 3",sans-serif;
  font-size:0.7rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  font-weight:600;
  border:1px solid currentColor;
  vertical-align:middle;
}
.input-verify.verify-self{color:var(--evergreen)}
.input-verify.verify-claim{color:var(--evergreen)}
.input-verify.verify-claim a{color:var(--evergreen);text-decoration:none}
.input-verify.verify-external{color:var(--evergreen)}
.input-verify.verify-external a{color:var(--evergreen);text-decoration:none}
.input-verify.verify-unverified{color:var(--maple);border-style:dashed;background:var(--paper-warm)}
.input-verify-note{
  display:block;
  margin-top:0.15rem;
  font-size:0.78rem;
  color:var(--ink-mid);
  font-style:italic;
  font-family:"Source Sans 3",sans-serif;
}
.math-derivation-warning{
  margin-top:0.5rem;
  padding:0.5rem 0.75rem;
  background:var(--paper-warm);
  border-left:3px solid var(--maple);
  font-family:"Source Sans 3",sans-serif;
  font-size:0.8rem;
  color:var(--ink-soft);
  font-style:italic;
}
.math-derivation-warning strong{color:var(--maple);font-style:normal;font-weight:600;text-transform:uppercase;font-size:0.72rem;letter-spacing:0.04em;margin-right:0.4rem}

/* Source-page screenshot */
.claim-screenshot{margin:0;padding:0}
.claim-screenshot a{display:block;border:1px solid var(--rule);background:var(--paper);padding:0.4rem;text-decoration:none;border-bottom:none}
.claim-screenshot a:hover{border-color:var(--ink)}
.claim-screenshot img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;object-position:top}
.screenshot-caption{
  margin-top:0.5rem;
  font-size:0.78rem;
  color:var(--ink-mid);
  font-style:italic;
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  align-items:center;
}
.screenshot-verify{
  display:inline-flex;
  align-items:center;
  padding:0.15rem 0.5rem;
  font-style:normal;
  font-size:0.7rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  font-weight:600;
  border:1px solid currentColor;
}
.screenshot-verify.ok{color:var(--evergreen)}
.screenshot-verify.warn{color:var(--maple);border-style:dashed;background:var(--paper-warm)}
.screenshot-verify.info{color:var(--ink-mid);border-style:dotted;font-style:italic}

/* Evidence atoms: when a compound claim has multiple parts, each verified separately */
.evidence-atoms{margin:0;padding:0}
.evidence-atoms .evidence-intro{
  margin:0 0 0.85rem;
  padding:0.55rem 0.85rem;
  background:var(--paper-warm);
  border-left:3px solid var(--evergreen);
  font-size:0.88rem;
  color:var(--ink);
  font-style:italic;
}
.evidence-atom{
  border:1px solid var(--rule);
  background:var(--paper);
  padding:0.95rem 1.15rem;
  margin:0 0 0.85rem;
}
.evidence-atom:last-child{margin-bottom:0}
.evidence-atom .atom-num{
  font-size:0.7rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--ink-mid);
  margin-bottom:0.5rem;
}
.evidence-atom .atom-covers{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:0.98rem;
  color:var(--ink);
  margin-bottom:0.6rem;
  line-height:1.45;
}
.evidence-atom .atom-covers strong{
  font-style:normal;
  font-weight:600;
  text-transform:uppercase;
  font-size:0.72rem;
  letter-spacing:0.04em;
  color:var(--ink-mid);
  margin-right:0.4rem;
  font-family:"Source Sans 3",sans-serif;
}
.evidence-atom .atom-source{
  font-size:0.85rem;
  color:var(--ink-soft);
  margin-bottom:0.55rem;
  line-height:1.5;
}
.evidence-atom .atom-source strong{
  font-weight:600;
  color:var(--ink-mid);
  text-transform:uppercase;
  font-size:0.72rem;
  letter-spacing:0.04em;
  margin-right:0.4rem;
}
.evidence-atom .source-quote{margin:0.4rem 0 0.6rem}
.evidence-atom .atom-screenshot{margin:0.5rem 0 0}
.evidence-atom .atom-screenshot a{display:block;border:1px solid var(--rule);padding:0.4rem;text-decoration:none}
.evidence-atom .atom-screenshot img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;object-position:top}
.evidence-atom .inference-logic{margin-top:0.5rem}
.claim-detail .math-block .math-formula,
.claim-detail .math-block .math-result{display:inline-block;margin-left:0.5rem}
.claim-detail .math-block .math-result{color:var(--maple);font-weight:600}
.claim-detail .inference-logic{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:0.85rem 1.15rem;
  margin:0;
  font-style:italic;
  color:var(--ink-soft);
}
.claim-correction{
  margin-top:1rem;
  padding-top:0.85rem;
  border-top:1px solid var(--rule);
  font-size:0.83rem;
  color:var(--ink-mid);
}
.claim-correction a{color:var(--maple);text-decoration:underline;text-decoration-color:var(--rule)}
.claim-history{margin-top:0.85rem;font-size:0.8rem;color:var(--ink-fade)}
.claim-history-entry{padding:0.15rem 0}
.tier-legend{
  margin:1.5rem 0 2rem;
  padding:1rem 1.25rem;
  background:var(--paper-warm);
  border:1px solid var(--rule);
  font-size:0.88rem;
  line-height:1.6;
}
.tier-legend dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0.4rem 1rem}
.tier-legend dt{font-weight:600;color:var(--ink);min-width:60px}
.tier-legend dd{margin:0;color:var(--ink-soft)}

@media (max-width:720px){
  .ledger-page{padding:1.25rem 0 3rem}
  .ledger-list summary{padding:1rem 1rem 1rem 1rem}
  .ledger-list summary::after{position:static;display:inline-block;margin-top:0.6rem}
  .claim-text{padding-right:0;font-size:1.08rem}
  .claim-badges{padding-right:0}
  .claim-detail{padding:0 1rem 1rem}
  .claim-detail dl.detail-table{grid-template-columns:1fr}
  .claim-detail dl.detail-table dt{border-right:none;border-bottom:none;padding-bottom:0.2rem}
  .claim-detail dl.detail-table dd{padding-top:0.2rem}
}

/* Footer */
.site-footer{
  border-top:1px solid var(--rule);
  padding:2.5rem 0 2.5rem;
  margin-top:3rem;
}
.footer-grid{
  max-width:1400px;
  margin:0 auto;
  padding:0 2rem;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:3rem;
  margin-bottom:1.75rem;
}
.footer-nav{
  display:flex;
  gap:1.75rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}
.footer-nav a{
  font-size:0.88rem;
  color:var(--ink-mid);
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  transition:border-color 0.18s, color 0.18s;
}
.footer-nav a:hover{color:var(--ink);border-bottom-color:var(--maple)}
.footer-fine{
  max-width:1400px;
  margin:0 auto;
  padding:1.5rem 2rem 0;
  border-top:1px solid var(--rule-soft);
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:0.83rem;
  color:var(--ink-mid);
  flex-wrap:wrap;
}
.footer-fine a{
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:var(--rule);
}
.footer-fine a:hover{text-decoration-color:var(--maple);color:var(--maple)}
.footer-about{
  max-width:38ch;
  font-size:0.9rem;
  color:var(--ink-mid);
  line-height:1.55;
}

/* Hamburger toggle (hidden by default; revealed at narrow viewports) */
.nav-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--rule);
  padding:0.55rem 0.7rem;
  cursor:pointer;
  font-family:inherit;
  align-items:center;
  gap:0.45rem;
}
.nav-toggle:hover{border-color:var(--ink)}
.nav-toggle .nav-icon{
  width:18px;
  height:14px;
  position:relative;
  display:inline-block;
}
.nav-toggle .nav-icon::before,
.nav-toggle .nav-icon::after,
.nav-toggle .nav-icon span{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:var(--ink);
  transition:transform 0.2s, top 0.2s, opacity 0.2s;
}
.nav-toggle .nav-icon::before{top:0}
.nav-toggle .nav-icon span{top:6px;display:block}
.nav-toggle .nav-icon::after{top:12px}
.nav-toggle .nav-label{font-size:0.85rem;letter-spacing:0.04em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.nav-toggle[aria-expanded="true"] .nav-icon::before{top:6px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-icon span{opacity:0}
.nav-toggle[aria-expanded="true"] .nav-icon::after{top:6px;transform:rotate(-45deg)}

@media (max-width:760px){
  main{padding:0 1.25rem}
  .page-top{
    padding-top:1.25rem;
    padding-bottom:1.25rem;
    flex-wrap:wrap;
    gap:0.5rem;
    border-bottom:1px solid var(--rule);
    margin-bottom:0.5rem;
    align-items:center;
  }
  .wordmark img{height:30px}
  .nav-toggle{display:inline-flex!important;margin-left:auto}
  body main .primary-nav,
  body .page-top .primary-nav{
    display:none!important;
    flex-direction:column;
    width:100%;
    gap:0;
    align-items:stretch;
    margin-top:0.85rem;
    padding-top:0.85rem;
    border-top:1px solid var(--rule-soft);
  }
  body main .primary-nav.is-open,
  body .page-top .primary-nav.is-open{display:flex!important}
  .primary-nav > a,
  .primary-nav .has-dropdown{
    padding:0.65rem 0;
    border-bottom:1px solid var(--rule-soft);
  }
  .primary-nav > a:last-child{border-bottom:none}
  .primary-nav a,
  .primary-nav .dropdown-trigger{
    font-size:0.98rem;
    font-style:normal;
  }
  .primary-nav .has-dropdown{margin-bottom:0;padding-bottom:0.65rem}
  .primary-nav .has-dropdown > .dropdown-trigger{padding:0;width:100%;text-align:left}
  .primary-nav .dropdown{
    position:static;
    border:none;
    box-shadow:none;
    background:transparent;
    padding:0.4rem 0 0 1rem;
    min-width:auto;
    margin-top:0.4rem;
  }
  .primary-nav .has-dropdown:hover .dropdown,
  .primary-nav .has-dropdown:focus-within .dropdown,
  .primary-nav .has-dropdown.open .dropdown{display:block}
  .primary-nav .dropdown a{
    padding:0.4rem 0;
    font-size:0.9rem;
    color:var(--ink-soft);
  }
  .content{padding:2rem 0 3rem}
  .footer-grid{grid-template-columns:1fr;gap:1.75rem;padding:0 1.25rem}
  .footer-nav{justify-content:flex-start}
  .footer-fine{padding:1.25rem 1.25rem 0;font-size:0.78rem}
}

/* Inline citation links (item 1.4 — added by _inline_citations.py) */
.cited-claim{
  border-bottom:1px dotted rgba(0,0,0,0.4);
  text-decoration:none;
  color:inherit;
}
.cited-claim:hover{border-bottom-style:solid}

/* Public-trust per-article badge (item 3c). */
.trust-badge{
  border-left:3px solid #1a5490;
  padding:12px 16px;
  margin:24px 0;
  background:#f8f9fb;
  font-size:14px;
}
.trust-badge p{margin:0;line-height:1.55;color:var(--ink)}
.trust-badge a{color:#1a5490;border-bottom:1px solid rgba(26,84,144,0.35);text-decoration:none}
.trust-badge a:hover{border-bottom-color:#1a5490}

/* Methodology-review stamp (item 3b). Appears at the end of every article. */
.methodology-review-stamp{
  margin:2.5rem 0 0;
  padding:1rem 1.1rem;
  border-top:1px solid var(--rule);
  font-size:0.85rem;
  color:var(--ink-mid);
  font-style:italic;
}
.methodology-review-stamp time{font-style:normal;color:var(--ink)}
.methodology-review-stamp a{color:var(--ink-mid);border-bottom:1px solid var(--rule);text-decoration:none}
.methodology-review-stamp a:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* Audit-evidence figures embedded in body (item 1.10). */
figure.audit-evidence{
  margin:1.75rem 0;
  padding:0.75rem;
  border:1px solid var(--rule);
  background:var(--paper);
}
figure.audit-evidence img{
  display:block;
  width:100%;
  height:auto;
  max-width:720px;
  margin:0 auto;
  border:1px solid var(--rule-soft);
}
figure.audit-evidence figcaption{
  margin-top:0.6rem;
  font-size:0.82rem;
  color:var(--ink-mid);
  font-style:italic;
  line-height:1.5;
  text-align:center;
}
figure.audit-evidence.calc-output img{max-width:520px}

/* Editorial author portrait (about page + bio sections). Hand-drawn ink-style
   illustration, sized for the editorial column. Square crop, no border-radius,
   matches the publication's restrained aesthetic. */
figure.author-portrait{
  margin:1rem 0 1.5rem;
  display:inline-block;
  max-width:240px;
}
figure.author-portrait img{
  display:block;
  width:240px;
  height:240px;
}
figure.author-portrait figcaption{
  font-family:"Source Serif 4",Georgia,serif;
  font-style:italic;
  font-size:0.88rem;
  color:var(--ink-mid);
  margin-top:0.5rem;
}
/* Inline mini-portrait for byline strips (top of articles). 60px circle-cropped
   for compact bylines without overwhelming the editorial column. */
.byline-portrait{
  display:inline-block;
  width:48px;
  height:48px;
  vertical-align:middle;
  margin-right:0.65rem;
  background:var(--paper-warm);
}

/* Author bio block (article-end "About the author" sections). Inline portrait
   at left, italic bio text at right. Editorial column-aligned. */
.author-bio{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  margin:1.5rem 0;
}
.author-bio-portrait{flex-shrink:0;width:80px;height:80px}
.author-bio-portrait img{display:block;width:80px;height:80px}
.author-bio-text{
  flex:1;
  font-size:0.95rem;
  line-height:1.55;
  color:var(--ink-soft);
  font-style:italic;
  margin:0;
  max-width:none;
}
.author-bio-text strong{font-style:normal;color:var(--ink);font-weight:600}
@media (max-width:520px){
  .author-bio{flex-direction:column;gap:0.75rem}
  .author-bio-portrait{width:64px;height:64px}
  .author-bio-portrait img{width:64px;height:64px}
}

/* Cross-link to /rates page from calculators and articles. Visually subordinate
   to partner-cta blocks: italic serif sentence with maple-accented inline link.
   Sits right above the existing partner-cta to offer a lower-commitment path. */
.see-live-rates{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.05rem;
  color:var(--ink-soft);
  border-top:1px solid var(--rule-soft);
  padding-top:1.25rem;
  margin:2rem 0 1.5rem;
  font-style:italic;
  line-height:1.55;
}
.see-live-rates strong{font-weight:600;color:var(--ink);font-style:normal}
.see-live-rates a{
  color:var(--maple);
  text-decoration:none;
  border-bottom:1px solid var(--rule);
  padding-bottom:1px;
  transition:border-color 0.15s;
  font-style:normal;
}
.see-live-rates a:hover{border-bottom-color:var(--maple)}

/* ===== Calculator hero layout (shared across all calculator pages) =====
   Used on /calculator and propagated to renewal-letter, IRD, switch-cost.
   Calc card spans full nav-width at top of page; inputs left + outputs+chart right.
   Editorial body flows below in normal narrow column. */
.calc-hero{padding:2rem 0 1rem}
.calc-hero .hero-intro{max-width:840px;margin-bottom:1.75rem}
.calc-hero h1{font-family:"Source Serif 4",Georgia,serif;font-weight:500;font-size:clamp(2rem, 4.5vw, 3.25rem);line-height:1.12;letter-spacing:-0.02em;color:var(--ink);margin-bottom:1.5rem;max-width:22ch}
.calc-hero .lede{font-family:"Source Serif 4",Georgia,serif;font-size:1.22rem;line-height:1.55;color:var(--ink-soft);font-weight:400;font-style:italic;max-width:58ch;margin-bottom:1rem}
.calc-card-wide{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr);
  gap:2.5rem;
  border:1px solid var(--rule);
  background:var(--paper);
  padding:2rem 2.25rem;
  margin:0;
  position:relative;
}
.calc-card-wide .calc-inputs h3{margin-top:0!important;font-style:normal!important;margin-bottom:0.25rem}
.calc-card-wide .calc-outputs{padding-left:2.25rem;border-left:1px solid var(--rule-soft)}
.calc-card-wide .calc-outputs > .calc-output-label:first-child{margin-top:0}
.calc-card-wide .calc-fields{grid-template-columns:1fr 1fr}
/* Editorial body below the wide calc */
.calc-body{max-width:760px;margin:0;padding:1.5rem 0 4rem}
.calc-body h2{font-family:"Source Serif 4",Georgia,serif;font-weight:500;font-size:1.55rem;line-height:1.25;letter-spacing:-0.015em;color:var(--ink);margin:2.75rem 0 1rem}
.calc-body h3{font-family:"Source Serif 4",Georgia,serif;font-weight:500;font-size:1.2rem;line-height:1.3;color:var(--ink);margin:2rem 0 0.75rem;font-style:italic}
.calc-body p{margin-bottom:1.1rem;color:var(--ink-soft);max-width:62ch}
.calc-body p strong{color:var(--ink);font-weight:600}
.calc-body a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--rule)}
.calc-body a:hover{color:var(--maple);text-decoration-color:var(--maple)}
.calc-body ul{margin:0 0 1.3rem 1.25rem;color:var(--ink-soft);max-width:62ch}
.calc-body ul li{margin-bottom:0.5rem}
.calc-body ul li::marker{color:var(--maple)}
.calc-body hr{border:none;border-top:1px solid var(--rule);margin:2.5rem 0}
@media (max-width:840px){
  .calc-card-wide{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}
  .calc-card-wide .calc-outputs{padding-left:0;border-left:none;padding-top:1.25rem;border-top:1px solid var(--rule-soft)}
}
@media (max-width:640px){
  .calc-card-wide .calc-fields{grid-template-columns:1fr}
}
