/* SKG Financial
   Editorial system built around the serif wordmark and the heritage crest.
   Brand: green #186340, ink #2E2E2E. Paper tones are derived, not invented. */

@font-face{font-family:'Bodoni';src:url('/assets/fonts/bodoni-moda-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap;font-style:normal}
@font-face{font-family:'Bodoni';src:url('/assets/fonts/bodoni-moda-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap;font-style:normal}
@font-face{font-family:'Bodoni';src:url('/assets/fonts/bodoni-moda-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap;font-style:normal}
@font-face{font-family:'Bodoni';src:url('/assets/fonts/bodoni-moda-latin-400-italic.woff2') format('woff2');font-weight:400;font-display:swap;font-style:italic}
@font-face{font-family:'Plex';src:url('/assets/fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Plex';src:url('/assets/fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Plex';src:url('/assets/fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'PlexMono';src:url('/assets/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  --green:#186340;
  --green-dk:#0d3f28;
  --green-dp:#0a3421;
  --green-lt:#e8efe9;
  --ink:#1f221f;
  --ink-2:#2E2E2E;
  --body:#4a504b;
  --muted:#7c837d;
  --paper:#fbfaf7;
  --paper-2:#f4f2ec;
  --rule:#ddd8cd;
  --rule-lt:#e9e5dc;
  --gold:#8a6a1c;
  --maxw:1180px;
  --col:70ch;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:'Plex',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:17.5px;
  line-height:1.62;
  color:var(--body);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"kern" 1;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--green-dk)}

h1,h2{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;color:var(--ink);font-weight:600;letter-spacing:-.005em;margin:0 0 .5em;line-height:1.14}
h3{font-family:'Plex',sans-serif;color:var(--ink);margin:0 0 .5em;line-height:1.14}
h1{font-size:clamp(2.15rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.012em;font-weight:600}
h2{font-size:clamp(1.78rem,2.9vw,2.35rem);line-height:1.12;font-weight:600}
h3{font-size:1.09rem;line-height:1.35;font-weight:600;letter-spacing:-.008em}
h4{font-family:'Plex',sans-serif;font-size:.79rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);margin:0 0 .9em}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.2em;padding-left:1.2em}
li{margin-bottom:.55em}
li::marker{color:var(--muted)}
strong,b{color:var(--ink);font-weight:600}
em{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;font-style:italic}
hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.wrap.narrow{max-width:var(--maxw)}
.wrap.narrow>*{max-width:74ch}
.narrow{max-width:760px}
section{padding:84px 0}
section.tight{padding:52px 0}
.paper2{background:var(--paper-2)}
.ruled{border-top:1px solid var(--rule)}

/* eyebrow: mono, numbered, hairline */
.eyebrow{
  font-family:'PlexMono',ui-monospace,monospace;font-size:.735rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green);
  margin:0 0 1.15rem;display:flex;align-items:center;gap:14px
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule);max-width:120px}
.eyebrow.solo::after{display:none}
.lede{font-size:1.22rem;line-height:1.55;color:var(--ink);font-weight:400}
.small{font-size:.905rem;line-height:1.55}
.muted{color:var(--muted)}
.center{text-align:center}
.serif{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif}

.skip{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:12px 18px;z-index:300}
.skip:focus{left:8px;top:8px}

/* ---------------- header ---------------- */
.topbar{background:var(--ink);color:#b9beb8;font-family:'PlexMono',monospace;font-size:.72rem;letter-spacing:.05em}
.topbar .wrap{display:flex;gap:16px;justify-content:space-between;align-items:center;min-height:36px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{text-decoration:underline}
.topbar .tb-hide{opacity:.85}

header.site{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--rule)}
header.site .wrap{display:flex;align-items:center;gap:22px;min-height:82px}
.logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.logo img{height:54px;width:auto}
footer.site .logo img{height:62px}
@media (max-width:520px){.logo img{height:42px}header.site .wrap{min-height:66px}}

nav.main{margin-left:auto;display:flex;align-items:center;gap:2px}
nav.main a,.has-drop>button{
  font-family:'Plex',sans-serif;color:var(--ink);text-decoration:none;font-weight:500;font-size:.925rem;
  padding:10px 13px;background:none;border:0;cursor:pointer;white-space:nowrap;
  border-bottom:2px solid transparent;letter-spacing:.005em
}
nav.main a:hover,.has-drop>button:hover{color:var(--green);border-bottom-color:var(--green)}
nav.main a[aria-current="page"]{color:var(--green);border-bottom-color:var(--green)}

.has-drop{position:relative}
.has-drop>button{display:flex;align-items:center;gap:6px}
.has-drop>button::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.drop{
  position:absolute;top:100%;left:-4px;min-width:320px;background:var(--paper);
  border:1px solid var(--rule);box-shadow:0 20px 44px -22px rgba(20,30,22,.4);
  padding:6px;display:none
}
.has-drop.open .drop,.has-drop:hover .drop,.has-drop:focus-within .drop{display:block}
.drop a{display:block;padding:11px 14px;border-bottom:0;text-decoration:none}
.drop a strong{display:block;font-size:.95rem;color:var(--ink);font-weight:600}
.drop a small{display:block;color:var(--muted);font-weight:400;font-size:.83rem;line-height:1.45;margin-top:1px}
.drop a:hover{background:var(--paper-2)}
.drop a:hover strong{color:var(--green)}

.navcta{margin-left:10px}
nav.main .navcta a.btn{
  background:var(--green);color:#fff;border:1px solid var(--green);border-bottom:1px solid var(--green);
  padding:11px 20px;font-weight:600;font-size:.875rem
}
nav.main .navcta a.btn:hover{background:var(--green-dk);border-color:var(--green-dk);color:#fff}
.burger{
  margin-left:auto;display:none;width:44px;height:40px;border:1px solid var(--rule);
  background:none;cursor:pointer;padding:0;place-items:center
}
.burger span,.burger span::before,.burger span::after{
  content:"";display:block;width:19px;height:1.5px;background:var(--ink);position:relative
}
.burger span::before{position:absolute;top:-6px}
.burger span::after{position:absolute;top:6px}

@media (max-width:1060px){
  nav.main{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);
    border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;
    padding:10px 26px 20px;gap:0;max-height:82vh;overflow:auto;
    box-shadow:0 24px 40px -26px rgba(20,30,22,.45)
  }
  nav.main.open{display:flex}
  nav.main a,.has-drop>button{padding:13px 2px;font-size:1.02rem;border-bottom:1px solid var(--rule-lt);width:100%}
  .has-drop>button{justify-content:space-between}
  .drop{position:static;display:block;border:0;box-shadow:none;padding:2px 0 8px 14px;min-width:0;background:none}
  .drop a{border-bottom:0;padding:9px 0}
  .navcta{margin:14px 0 0}
  .navcta .btn{width:100%}
  .burger{display:grid}
  .topbar .tb-hide{display:none}
}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Plex',sans-serif;font-weight:600;font-size:.965rem;letter-spacing:.01em;
  background:var(--green);color:#fff!important;text-decoration:none;
  padding:15px 28px;border:1px solid var(--green);border-radius:2px;cursor:pointer;
  transition:background .16s ease,border-color .16s ease;line-height:1.2
}
.btn:hover{background:var(--green-dk);border-color:var(--green-dk)}
.btn.sm{padding:10px 18px;font-size:.875rem}
.btn.lg{padding:18px 34px;font-size:1.02rem}
.btn.ghost{background:transparent;color:var(--ink)!important;border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff!important}
.btn.white{background:#fff;color:var(--green-dk)!important;border-color:#fff}
.btn.white:hover{background:var(--paper-2)}
.btn.onlight{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.45)}
.btn.onlight:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:1.9rem 0 0}
.btn-note{font-size:.865rem;color:var(--muted);margin:1rem 0 0}

/* arrow link */
.arrow{
  font-family:'Plex',sans-serif;font-weight:600;font-size:.94rem;text-decoration:none;
  border-bottom:1px solid currentColor;padding-bottom:2px;display:inline-block
}
.arrow::after{content:" →"}
.arrow:hover{border-bottom-color:transparent}

/* ---------------- hero ---------------- */
.hero{padding:96px 0 78px;background:var(--paper);border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.hero h1{max-width:17ch;margin-bottom:.42em}
.hero .lede{max-width:52ch}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:0;align-items:stretch}
.hero-grid>div:first-child{padding-right:64px}
.hero-grid>aside{border-left:1px solid var(--rule);padding-left:44px}
@media (max-width:980px){
  .hero{padding:52px 0 46px}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-grid>div:first-child{padding-right:0}
  .hero-grid>aside{border-left:0;border-top:1px solid var(--rule);padding-left:0;padding-top:36px}
}
.hero .crest{
  position:absolute;right:-130px;bottom:-150px;width:440px;opacity:.028;pointer-events:none;
  filter:grayscale(1)
}
@media (max-width:980px){.hero .crest{display:none}}

/* stat strip */
.strip{border-top:1px solid var(--rule);margin-top:38px;padding-top:24px;display:flex;flex-wrap:wrap;gap:14px 40px}
.strip div{font-size:.88rem;color:var(--muted)}
.strip b{display:block;font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;font-size:1.5rem;color:var(--ink);font-weight:600;line-height:1.25;letter-spacing:-.01em}
.strip b.stars{font-family:'Plex',sans-serif;font-size:1rem;letter-spacing:2px;color:#b8891f}
.stars{color:#b8891f;letter-spacing:2px;font-size:.95rem}

/* ---------------- lanes (replaces card grid) ---------------- */
.lanes{display:grid;gap:0}
.lane{
  border-top:1px solid var(--rule);padding:34px 0 30px;
  display:grid;grid-template-columns:64px 1fr;gap:24px;text-decoration:none;color:inherit
}
.lane:last-child{border-bottom:1px solid var(--rule)}
.lane .num{
  font-family:'PlexMono',monospace;font-size:.78rem;color:var(--green);letter-spacing:.1em;
  padding-top:6px
}
.lane h3{margin-bottom:.35em;transition:color .15s ease}
.lane p{margin-bottom:.7em}
a.lane:hover h3{color:var(--green)}
a.lane:hover .go{border-bottom-color:transparent}
.go{
  font-weight:600;font-size:.92rem;color:var(--green);border-bottom:1px solid currentColor;
  padding-bottom:2px;display:inline-block;margin-top:4px
}
.go::after{content:" →"}
@media (max-width:600px){.lane{grid-template-columns:1fr;gap:8px}.lane .num{padding-top:0}}

/* Grid items default to min-width:auto, so a wide table stops the column
   shrinking and the whole page scrolls sideways on mobile. */
.split>*,.cols>*,.feature>*,.feature-body>*,.hero-grid>*,.band-grid>*,.fgrid>*{min-width:0}

/* ---------------- editorial columns ---------------- */
.cols{display:grid;gap:0 56px}
.c2{grid-template-columns:repeat(2,1fr)}
.c3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.c3{grid-template-columns:repeat(2,1fr);gap:0 40px}}
@media (max-width:660px){.c2,.c3{grid-template-columns:1fr}}

.item{border-top:2px solid var(--ink);padding:22px 0 32px}
.item.green{border-top-color:var(--green)}
.item h3{font-size:1.18rem;margin-bottom:.45em}
.item p:last-child{margin-bottom:0}
.item .kicker{
  font-family:'PlexMono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);display:block;margin-bottom:10px
}
a.item{text-decoration:none;color:inherit;transition:border-color .15s ease}
a.item:hover{border-top-color:var(--green)}
a.item:hover h3{color:var(--green)}

/* split: heading left, content right */
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0 72px;align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:26px}}
.split-sticky{position:sticky;top:110px}
@media (max-width:900px){.split-sticky{position:static}}

/* ---------------- feature block (dark) ---------------- */
.dark{background:var(--green-dp);color:#c6d9cc;border-top:1px solid var(--green-dp)}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .eyebrow{color:#8fc4a5}
.dark .eyebrow::after{background:rgba(255,255,255,.22)}
.dark .lede{color:#dcebe1}
.dark .muted{color:#9ab5a4}
.dark a{color:#fff}
.dark .item{border-top-color:rgba(255,255,255,.3)}
.dark .lane{border-color:rgba(255,255,255,.16)}
.dark .go{color:#fff}
.dark strong,.dark b{color:#fff}
.dark .btn-note{color:#9ab5a4}
.dark table{background:transparent;color:#c6d9cc}
.dark .tablewrap{border-color:rgba(255,255,255,.18)}
.dark th,.dark td{border-color:rgba(255,255,255,.14)}
.dark thead th{background:rgba(0,0,0,.25);color:#fff}
.dark tbody tr:nth-child(even){background:rgba(255,255,255,.03)}

/* feature block: asymmetric, not another 3-up */
.feature{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:0 76px;align-items:start}
@media (max-width:900px){.feature{grid-template-columns:1fr;gap:30px}}
.feature-body{display:grid;gap:44px}
.ex{border-left:1px solid rgba(255,255,255,.22);padding-left:30px}
.ex p:first-of-type{font-size:1.06rem;color:#e6f1ea}
.ex p:last-child{margin-bottom:0}
.ex .kicker{
  font-family:'PlexMono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:#8fc4a5;display:block;margin-bottom:12px
}
@media (max-width:900px){.ex{padding-left:22px}}

/* ---------------- pull quote / notes ---------------- */
.pull{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;
  border-left:2px solid var(--green);padding:6px 0 6px 28px;margin:2.2rem 0;
}
.pull cite{display:block;font-family:'Plex',sans-serif;font-size:.85rem;font-style:normal;color:var(--muted);margin-top:12px;letter-spacing:.02em}

.note{border:1px solid var(--rule);border-left:2px solid var(--green);background:var(--paper-2);padding:26px 28px}
.note>:last-child{margin-bottom:0}
.callout{border:1px solid #e0d4ae;border-left:2px solid #b8901f;background:#fdfaf1;padding:30px 32px}
.callout h3{color:#6b5210;margin-top:0}
.callout>:last-child{margin-bottom:0}

/* ---------------- tables ---------------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;min-width:540px;font-size:.945rem;background:transparent}
th,td{text-align:left;padding:15px 18px 15px 0;border-bottom:1px solid var(--rule-lt);vertical-align:top}
th:last-child,td:last-child{padding-right:0}
thead th{
  font-family:'PlexMono',monospace;font-size:.7rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);padding-top:14px;padding-bottom:12px;
  border-bottom:1px solid var(--rule)
}
tbody tr:last-child td{border-bottom:0}
@media (max-width:640px){table{min-width:470px;font-size:.9rem}th,td{padding:13px 14px 13px 0}}

/* ---------------- FAQ ---------------- */
.faq{border-top:1px solid var(--rule);margin-top:8px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;
  cursor:pointer;padding:22px 44px 22px 0;list-style:none;position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{
  content:"";position:absolute;right:4px;background:var(--green);transition:transform .2s ease,opacity .2s ease
}
.faq summary::before{top:31px;width:13px;height:1.5px}
.faq summary::after{top:25px;right:9.75px;width:1.5px;height:13px}
.faq details[open] summary::after{opacity:0;transform:rotate(90deg)}
.faq summary:hover{color:var(--green)}
.faq .answer{padding:0 0 24px;max-width:var(--col)}
.faq .answer>:last-child{margin-bottom:0}

/* ---------------- steps ---------------- */
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{
  counter-increment:s;padding:24px 0 24px 74px;position:relative;margin:0;
  border-top:1px solid var(--rule)
}
.steps li:last-child{border-bottom:1px solid var(--rule)}
.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:0;top:24px;
  font-family:'PlexMono',monospace;font-size:.82rem;color:var(--green);letter-spacing:.08em
}
.steps li strong{display:block;color:var(--ink);margin-bottom:2px;font-size:1.06rem}

/* ---------------- tick / cross lists ---------------- */
.ticks,.crosses{list-style:none;padding:0;margin:0 0 1.2em}
.ticks li,.crosses li{position:relative;padding-left:30px;margin-bottom:.68em}
.ticks li::before{
  content:"";position:absolute;left:2px;top:.52em;width:11px;height:6px;
  border-left:1.8px solid var(--green);border-bottom:1.8px solid var(--green);transform:rotate(-45deg)
}
.crosses li::before{
  content:"";position:absolute;left:4px;top:.72em;width:11px;height:1.8px;background:#9b4b3f;
  box-shadow:0 0 0 0 transparent;transform:rotate(45deg)
}
.crosses li::after{
  content:"";position:absolute;left:4px;top:.72em;width:11px;height:1.8px;background:#9b4b3f;transform:rotate(-45deg)
}

/* ---------------- breadcrumb ---------------- */
.crumb{
  font-family:'PlexMono',monospace;font-size:.72rem;letter-spacing:.09em;color:var(--muted);
  padding:20px 0 0;text-transform:uppercase
}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--green)}
.crumb span{margin:0 9px;opacity:.5}

/* ---------------- CTA band ---------------- */
.band{background:var(--green-dp);color:#c6d9cc;padding:88px 0}
.band h2{color:#fff;max-width:18ch;font-size:clamp(1.9rem,3.4vw,2.85rem)}
.band p{color:#c9e0d3;max-width:56ch;font-size:1.1rem}
.band .btn-note{color:#93b5a1}
.band .eyebrow{color:#8fc4a5}
.band .eyebrow::after{background:rgba(255,255,255,.22)}
.band-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:0 72px;align-items:end}
.band-grid>div:last-child{border-left:1px solid rgba(255,255,255,.18);padding-left:52px}
@media (max-width:860px){
  .band{padding:56px 0}
  .band-grid{grid-template-columns:1fr;gap:32px}
  .band-grid>div:last-child{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.18);padding-top:28px}
}

/* ---------------- tools ---------------- */
.tool{background:#fff;border:1px solid var(--rule);border-top:2px solid var(--green);padding:38px 40px;max-width:720px}
@media (max-width:600px){.tool{padding:26px 22px}}
.tool .field{margin-bottom:26px;border-bottom:1px solid var(--rule-lt);padding-bottom:26px}
.tool .field:last-of-type{border-bottom:0}
.tool label{
  display:block;font-family:'Plex',sans-serif;font-weight:600;color:var(--ink);
  margin-bottom:9px;font-size:1rem
}
.tool .hint{font-size:.86rem;color:var(--muted);margin:-5px 0 10px}
.tool select,.tool input[type=text],.tool input[type=email],.tool input[type=number],.tool input[type=date],.tool input[type=tel]{
  width:100%;padding:13px 14px;border:1px solid var(--rule);border-radius:2px;font:inherit;font-size:1rem;
  background:var(--paper);color:var(--ink)
}
.tool select:focus,.tool input:focus{outline:2px solid var(--green);outline-offset:0;border-color:var(--green)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{
  display:block;padding:10px 16px;border:1px solid var(--rule);border-radius:2px;cursor:pointer;
  font-size:.92rem;font-weight:500;color:var(--ink);background:var(--paper);transition:.13s ease;user-select:none
}
.chip input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.chip span:hover{border-color:var(--green)}

.result{margin-top:30px;padding:30px 0 0;border-top:2px solid var(--green);display:none}
.result.show{display:block}
.result h3{margin-top:0;font-size:1.1rem;font-family:'Plex',sans-serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.75rem}
.result .figure{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;
  color:var(--green-dk);letter-spacing:-.02em;line-height:1.08;margin:6px 0 6px
}
.result ul{margin-bottom:1.1em}
.scorebar{height:4px;background:var(--rule);margin:16px 0 20px;overflow:hidden}
.scorebar i{display:block;height:100%;background:var(--green);transition:width .55s ease}

.checklist{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.checklist li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--rule-lt)}
.checklist input{margin-top:5px;width:17px;height:17px;accent-color:var(--green);flex:0 0 auto}
.checklist label{font-weight:400;color:var(--body);cursor:pointer}
.checklist label b{color:var(--ink);display:block;font-weight:500}

/* ---------------- footer ---------------- */
footer.site{background:var(--ink);color:#a8afa9;padding:72px 0 32px;font-size:.93rem}
footer.site a{color:#dfe4e0;text-decoration:none}
footer.site a:hover{color:#fff;text-decoration:underline}
footer.site h4{color:#fff;margin-bottom:16px}
.fgrid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:40px}
@media (max-width:1100px){.fgrid{grid-template-columns:1.4fr repeat(2,1fr);gap:36px}}
@media (max-width:820px){.fgrid{grid-template-columns:1fr 1fr;gap:34px}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:10px}
.fbot{
  margin-top:52px;padding-top:24px;border-top:1px solid #3d423e;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:'PlexMono',monospace;font-size:.72rem;letter-spacing:.05em;color:#828a83
}
.disclaimer{font-size:.85rem;color:#828a83;max-width:74ch;margin-top:18px;line-height:1.6}
.fcrest{width:104px;opacity:.62;margin:0 0 20px}

/* ---------------- sticky mobile bar ---------------- */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:120;display:none;
  background:var(--paper);border-top:1px solid var(--rule);padding:9px 12px;gap:9px;
  box-shadow:0 -8px 22px -14px rgba(20,30,22,.5)
}
.stickybar .btn{flex:1;padding:13px 8px;font-size:.92rem}
@media (max-width:760px){.stickybar{display:flex}body{padding-bottom:70px}}

/* ---------------- misc ---------------- */
.reviewed{
  font-family:'PlexMono',monospace;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);margin:0 0 1.6rem
}
.postlist{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.postlist li{border-bottom:1px solid var(--rule-lt)}
.postlist a{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;
  font-weight:500;text-decoration:none;color:var(--ink);line-height:1.35
}
.postlist a:hover{color:var(--green)}
.priceblock{border-top:2px solid var(--ink);padding:26px 0 30px}
.priceblock.highlight{border-top-color:var(--green)}
.priceblock .amt{font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;
  letter-spacing:-.02em;line-height:1.1;margin:4px 0 2px
}
.priceblock.highlight .amt{color:var(--green-dk)}
.priceblock .per{font-size:.9rem;color:var(--muted);font-weight:400;font-family:'Plex',sans-serif}

/* ---------------- post body ---------------- */
.prose>*{max-width:74ch}
.prose h2{font-size:clamp(1.55rem,2.3vw,1.85rem);margin:2.6rem 0 .6em}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:'Plex',sans-serif;font-size:1.04rem;font-weight:600;margin:2rem 0 .5em;letter-spacing:-.005em}
.prose p{margin:0 0 1.15em}
.prose ul,.prose ol{margin:0 0 1.3em}
.prose li{margin-bottom:.55em}
.prose blockquote{
  border-left:2px solid var(--green);margin:2rem 0;padding:2px 0 2px 26px;
  font-family:'Bodoni','Didot','Bodoni MT',Georgia,serif;font-size:1.28rem;line-height:1.4;color:var(--ink)
}
.prose blockquote p:last-child{margin-bottom:0}
.prose .tablewrap{margin:1.8rem 0;max-width:100%}
.prose code{
  font-family:'PlexMono',monospace;font-size:.88em;background:var(--paper-2);
  padding:2px 6px;border:1px solid var(--rule-lt)
}
.prose hr{margin:2.6rem 0}


/* ---------------- phone ---------------- */
@media (max-width:640px){
  body{font-size:16.5px;line-height:1.58}
  section{padding:52px 0}
  section.tight{padding:36px 0}
  .wrap{padding:0 20px}
  .hero{padding:36px 0 34px}
  .hero h1{max-width:none}
  .lede{font-size:1.08rem;line-height:1.5}

  /* the eyebrow rule eats width on a narrow screen */
  .eyebrow{margin-bottom:.85rem;gap:10px}
  .eyebrow::after{max-width:44px}

  /* stat strip reads better as a row of three than a stack */
  .strip{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin-top:26px;padding-top:20px}
  .strip b{font-size:1.24rem}
  .strip div{font-size:.82rem;line-height:1.35}

  /* editorial blocks: tighter, with the rule doing more work */
  .item{padding:18px 0 24px}
  .cols{gap:0}
  .lane{padding:24px 0 22px}
  .steps li{padding:20px 0 20px 60px}
  .steps li::before{top:20px}

  .btn{width:100%;padding:15px 20px}
  .btn-row{gap:10px;margin-top:1.5rem}
  .btn-row .btn{flex:1 1 100%}

  .faq summary{padding:17px 34px 17px 0}
  .faq summary::before{top:26px}
  .faq summary::after{top:20px}

  .band{padding:52px 0}
  .band h2{max-width:none}
  .pull{font-size:1.18rem;padding-left:20px;margin:1.8rem 0}
  .tool{padding:24px 20px}
  .tool .field{margin-bottom:20px;padding-bottom:20px}
  .result .figure{font-size:2rem}
  .priceblock{padding:20px 0 24px}
  footer.site{padding:48px 0 26px}
  .fbot{margin-top:34px;font-size:.68rem}
  .crumb{font-size:.66rem;padding:14px 0 0}
}

@media print{header.site,footer.site,.stickybar,.band,.topbar{display:none}body{background:#fff}}
