:root{
  --sf-color-primary:#5F7326;
  --sf-color-primary-deep:#46541A;
  --sf-color-accent:#C4703D;
  --sf-color-accent-deep:#A5532A;
  --sf-color-text:#2B2A24;
  --sf-color-text-soft:#5B584C;
  --sf-color-background:#FBF9F4;
  --sf-color-surface-tint:#F2EEE2;
  --sf-color-surface-dark:#26301A;
  --sf-color-on-dark:#F4F1E6;
  --sf-color-on-dark-soft:#C9CDB8;
  --sf-radius:16px;
  --sf-radius-sm:10px;
  --sf-space-sm:clamp(.9rem,2vw,1.15rem);
  --sf-space-md:clamp(1.4rem,3.4vw,2.4rem);
  --sf-space-lg:clamp(2.4rem,5.5vw,4.2rem);
  --sf-space-xl:clamp(3.6rem,8vw,6.5rem);
  --sf-maxwidth:72rem;
  --sf-shadow-sm:0 2px 10px rgba(43,42,36,.06);
  --sf-shadow-md:0 14px 40px -12px rgba(43,42,36,.18);
  --sf-scrim:linear-gradient(180deg,rgba(24,30,14,.15) 0%,rgba(24,30,14,.62) 100%);
  --sf-logo-height:64px;
  --sf-logo-height-scrolled:46px;
  --sf-font-heading:'Nunito','Trebuchet MS',system-ui,sans-serif;
  --sf-font-base:'Nunito Sans','Segoe UI',system-ui,sans-serif;
  --sf-border:rgba(43,42,36,.12);
  --sf-ring:rgba(95,115,38,.35);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

body{
  margin:0;
  background:var(--sf-color-background);
  color:var(--sf-color-text);
  font-family:var(--sf-font-base);
  font-size:clamp(1rem,.95rem + .25vw,1.08rem);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}
body > *{position:relative;z-index:1}

/* ---------- Global centering system ----------
   Everything in the page flow gets one shared, centered measure. */
main,.site-main,#content,.site-content{width:100%;margin:0 auto}

main > *:not(.sf-section):not(.sf-hero):not(footer):not(header),
.site-main > *:not(.sf-section):not(.sf-hero),
.entry-content > *,
article > .entry-content,
.post > .entry-content{
  max-width:var(--sf-maxwidth);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--sf-space-md);
  padding-right:var(--sf-space-md);
}

.entry-content > *,
.wp-block-post-content > *{
  margin-left:auto;
  margin-right:auto;
}

/* Headings and paragraphs inside plain content flow stay centered in the column */
.entry-content > h1,.entry-content > h2,.entry-content > h3,
.entry-content > h4,.entry-content > p,.entry-content > ul,
.entry-content > ol,.entry-content > figure,.entry-content > blockquote{
  max-width:var(--sf-maxwidth);
  margin-left:auto;
  margin-right:auto;
}

h1,h2,h3,h4{
  font-family:var(--sf-font-heading);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.12;
  color:var(--sf-color-text);
}
h2{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.75rem)}
h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.45rem);letter-spacing:-.01em}
p{max-width:68ch}
a{color:var(--sf-color-primary-deep);text-decoration-thickness:.08em;text-underline-offset:.18em;transition:color .2s ease}
a:hover{color:var(--sf-color-accent-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--sf-ring);
  outline-offset:3px;
  border-radius:4px;
}
img{max-width:100%;height:auto;border-radius:var(--sf-radius)}
figure.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}
figure.wp-block-image img{box-shadow:var(--sf-shadow-md)}
figure.wp-block-image figcaption{font-size:.85rem;color:var(--sf-color-text-soft);margin-top:.6em}
::selection{background:var(--sf-color-primary);color:#FBF9F4}

/* ---------- Header ---------- */
header,.site-header{
  position:sticky;
  top:0;
  z-index:100;
  width:100%;
  background:rgba(251,249,244,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
html.sf-scrolled header,html.sf-scrolled .site-header{
  border-bottom-color:var(--sf-border);
  box-shadow:0 6px 24px -14px rgba(43,42,36,.25);
  background:rgba(251,249,244,.97);
}
/* Header inner: logo left, nav right, both on the shared centered measure */
header > *,.site-header > *{
  max-width:var(--sf-maxwidth);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--sf-space-md);
  padding-right:var(--sf-space-md);
}
.site-branding img.custom-logo{transition:none}
header nav,nav.menu,header .menu{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:1.4rem;
}
header nav ul,nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:flex-end}
header nav a,nav a{
  font-weight:700;
  font-size:.92rem;
  letter-spacing:.02em;
  color:var(--sf-color-text);
  text-decoration:none;
  padding:.45em .2em;
  position:relative;
}
header nav a::after{
  content:"";
  position:absolute;
  left:0;right:100%;
  bottom:0;
  height:2px;
  background:var(--sf-color-accent);
  border-radius:2px;
  transition:right .25s ease;
}
header nav a:hover{color:var(--sf-color-primary-deep)}
header nav a:hover::after{right:0}
@media (prefers-reduced-motion:reduce){header nav a::after{transition:none}}

/* Reading progress strip */
.sf-progress{height:4px;background:transparent}
.sf-progress__bar{
  height:100%;
  background:linear-gradient(90deg,var(--sf-color-primary),var(--sf-color-accent));
  border-radius:0 3px 3px 0;
}

/* ---------- Sections ---------- */
.sf-section{
  width:100%;
  padding:var(--sf-space-xl) var(--sf-space-md);
  position:relative;
}
.sf-section > *{
  max-width:var(--sf-maxwidth);
  margin-left:auto;
  margin-right:auto;
}
.sf-section > * + *{margin-top:var(--sf-space-md)}
/* Grids inside sections stay centered even when children stretch */
.sf-section .sf-feature-grid,.sf-section .sf-stats__grid,
.sf-section .sf-steps,.sf-section .sf-statistic-grid__grid{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.sf-section--tint{
  background:
    radial-gradient(1100px 500px at 85% -10%,rgba(196,112,61,.08),transparent 60%),
    var(--sf-color-surface-tint);
}
.sf-section--tint + .sf-section--tint{border-top:1px solid var(--sf-border)}
.sf-section--dark{
  background:
    radial-gradient(900px 480px at 10% 0%,rgba(196,112,61,.16),transparent 55%),
    radial-gradient(700px 500px at 95% 100%,rgba(95,115,38,.35),transparent 60%),
    var(--sf-color-surface-dark);
  color:var(--sf-color-on-dark);
}
.sf-section--dark h1,.sf-section--dark h2,.sf-section--dark h3,.sf-section--dark h4{color:var(--sf-color-on-dark)}
.sf-section--dark a{color:#D9B98F}
.sf-section--dark a:hover{color:#F0C89B}

.sf-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55em;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--sf-color-primary-deep);
  margin-bottom:var(--sf-space-sm);
}
.sf-eyebrow::before{
  content:"";
  width:1.8em;
  height:2px;
  background:var(--sf-color-accent);
  border-radius:2px;
}
.sf-section--dark .sf-eyebrow{color:#AFC48A}

/* Scroll reveal */
.sf-animate{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.sf-animate.sf-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sf-animate{opacity:1;transform:none;transition:none}}

/* ---------- Hero ---------- */
.sf-hero{
  padding:clamp(4rem,10vw,8rem) var(--sf-space-md);
  text-align:center;
}
.sf-hero__heading{
  font-size:clamp(2.3rem,1.4rem + 4.8vw,4.4rem);
  letter-spacing:-.03em;
  line-height:1.05;
  max-width:16ch;
  margin:0 auto var(--sf-space-sm);
}
.sf-hero__tagline{
  font-size:clamp(1.08rem,1rem + .6vw,1.3rem);
  color:var(--sf-color-text-soft);
  max-width:52ch;
  margin:0 auto var(--sf-space-md);
}
.sf-hero .wp-block-buttons,.sf-hero__inner .wp-block-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.8rem;
}
.sf-hero--overlay{
  position:relative;
  width:100%;
  min-height:min(88vh,56rem);
  display:grid;
  place-items:center;
  color:#FBF9F4;
  text-align:center;
  overflow:hidden;
}
.sf-hero--overlay figure.wp-block-image{
  position:absolute;
  inset:0;
  margin:0;
  width:100%;
}
.sf-hero--overlay figure.wp-block-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
  box-shadow:none;
}
.sf-hero--overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(24,30,14,.35) 0%,rgba(24,30,14,.18) 40%,rgba(24,30,14,.68) 100%);
}
.sf-hero--overlay .sf-hero__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--sf-maxwidth);
  margin:0 auto;
  padding:var(--sf-space-lg) var(--sf-space-md);
}
.sf-hero--overlay .sf-hero__heading{color:#FDFCF8;text-shadow:0 2px 24px rgba(24,30,14,.45)}
.sf-hero--overlay .sf-hero__tagline{color:#EDE9DB}
.sf-hero--overlay .sf-eyebrow{color:#E8D9B8}
.sf-hero--overlay .sf-eyebrow::before{background:#E0A46F}

/* ---------- Buttons ---------- */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.wp-block-button__link,.wp-element-button{
  display:inline-block;
  font-family:var(--sf-font-base);
  font-weight:800;
  font-size:1rem;
  letter-spacing:.01em;
  line-height:1.2;
  color:#FBF9F4;
  background:var(--sf-color-primary);
  padding:.95em 1.9em;
  border:none;
  border-radius:999px;
  cursor:pointer;
  text-decoration:none;
  box-shadow:0 6px 18px -6px rgba(70,84,26,.5);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.wp-block-button__link:hover,.wp-element-button:hover{
  background:var(--sf-color-primary-deep);
  color:#FBF9F4;
  transform:translateY(-2px);
  box-shadow:0 12px 26px -8px rgba(70,84,26,.55);
}
.wp-block-button__link:active,.wp-element-button:active{transform:translateY(0)}
.is-style-outline .wp-block-button__link{
  background:transparent;
  color:var(--sf-color-primary-deep);
  border:2px solid var(--sf-color-primary);
  box-shadow:none;
}
.is-style-outline .wp-block-button__link:hover{
  background:var(--sf-color-primary);
  color:#FBF9F4;
}
.sf-section--dark .wp-block-button__link,.sf-cta .wp-block-button__link{
  background:var(--sf-color-accent);
  box-shadow:0 6px 18px -6px rgba(0,0,0,.4);
}
.sf-section--dark .wp-block-button__link:hover,.sf-cta .wp-block-button__link:hover{background:var(--sf-color-accent-deep)}

/* ---------- Feature grid / cards ---------- */
.sf-feature-grid{
  display:grid;
  gap:var(--sf-space-md);
  grid-template-columns:1fr;
}
@media (min-width:600px){.sf-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.sf-feature-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
.sf-feature-grid .wp-block-column{margin:0}
.sf-feature-card{
  height:100%;
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-md);
  box-shadow:var(--sf-shadow-sm);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.sf-feature-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--sf-color-primary),var(--sf-color-accent));
  opacity:0;
  transition:opacity .25s ease;
}
.sf-feature-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--sf-shadow-md);
  border-color:rgba(95,115,38,.35);
}
.sf-feature-card:hover::before{opacity:1}
.sf-feature-card h3{margin-top:.2em}
.sf-feature-card h3::before{
  content:"";
  display:block;
  width:2rem;
  height:2rem;
  margin-bottom:.7rem;
  border-radius:50% 50% 50% 6px;
  background:linear-gradient(135deg,rgba(95,115,38,.2),rgba(95,115,38,.06));
  border:1.5px solid rgba(95,115,38,.4);
}
.sf-feature-card p{color:var(--sf-color-text-soft);margin-bottom:0}
.sf-section--dark .sf-feature-card{
  background:rgba(255,255,255,.05);
  border-color:rgba(244,241,230,.16);
}
.sf-section--dark .sf-feature-card p{color:var(--sf-color-on-dark-soft)}
@media (prefers-reduced-motion:reduce){.sf-feature-card,.sf-feature-card::before{transition:none}}

/* ---------- Media + text ---------- */
.sf-media-text{
  display:grid;
  gap:var(--sf-space-md);
  align-items:center;
  width:100%;
}
@media (min-width:781px){
  .sf-media-text{grid-template-columns:1fr 1fr;gap:var(--sf-space-lg)}
  .sf-media-text--right .sf-media-text__media{order:2}
}
.sf-media-text__media{position:relative;margin:0}
.sf-media-text__media img{
  display:block;
  width:100%;
  border-radius:var(--sf-radius);
  box-shadow:var(--sf-shadow-md);
}
.sf-media-text__media::after{
  content:"";
  position:absolute;
  inset:auto -14px -14px auto;
  width:56%;
  height:56%;
  z-index:-1;
  border-radius:var(--sf-radius);
  background:linear-gradient(135deg,rgba(95,115,38,.18),rgba(196,112,61,.14));
}
.sf-media-text__content p{color:var(--sf-color-text-soft)}

/* ---------- Stats ---------- */
.sf-stats__grid{
  display:grid;
  gap:var(--sf-space-md);
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.sf-stats__item{
  text-align:center;
  padding:var(--sf-space-md) var(--sf-space-sm);
  border-top:3px solid var(--sf-color-accent);
  background:rgba(255,255,255,.55);
  border-radius:0 0 var(--sf-radius-sm) var(--sf-radius-sm);
}
.sf-section--dark .sf-stats__item{background:rgba(255,255,255,.06)}
.sf-stats__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(2.1rem,1.6rem + 2vw,3.2rem);
  letter-spacing:-.03em;
  color:var(--sf-color-accent-deep);
  line-height:1.1;
}
.sf-section--dark .sf-stats__value{color:#E0A46F}
.sf-stats__label{
  display:block;
  margin-top:.4em;
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--sf-color-text-soft);
}
.sf-section--dark .sf-stats__label{color:var(--sf-color-on-dark-soft)}

/* ---------- Steps ---------- */
.sf-steps{counter-reset:sf-steps;display:grid;gap:var(--sf-space-md)}
@media (min-width:781px){.sf-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.sf-steps__item{counter-increment:sf-steps;padding-top:.4rem}
.sf-steps__item::before{
  content:counter(sf-steps);
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  margin-bottom:var(--sf-space-sm);
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:1.25rem;
  color:#FBF9F4;
  background:linear-gradient(135deg,var(--sf-color-primary),var(--sf-color-primary-deep));
  border-radius:50% 50% 50% 8px;
  box-shadow:0 6px 14px -6px rgba(70,84,26,.5);
}
.sf-steps__item p{color:var(--sf-color-text-soft)}

/* ---------- Tabs ---------- */
.sf-tabs__nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.5rem;
  border-bottom:2px solid var(--sf-border);
  padding-bottom:.4rem;
  margin-bottom:var(--sf-space-md);
}
@media (min-width:781px){.sf-tabs__nav{justify-content:flex-start}}
.sf-tabs__link{
  display:inline-block;
  padding:.55em 1.15em;
  border-radius:999px;
  font-weight:800;
  font-size:.92rem;
  color:var(--sf-color-text-soft);
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.sf-tabs__link:hover{background:rgba(95,115,38,.1);color:var(--sf-color-primary-deep)}
.sf-tabs__link--active{
  background:var(--sf-color-primary);
  color:#FBF9F4;
}
.sf-tabs__panel{padding:var(--sf-space-sm) 0}
.sf-tabs__panel--active{animation:sf-tab-in .35s ease}
@keyframes sf-tab-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sf-tabs__panel--active{animation:none}}

/* ---------- Marquee ---------- */
.sf-marquee{
  overflow:hidden;
  width:100%;
  padding:var(--sf-space-sm) 0;
  border-top:1px solid var(--sf-border);
  border-bottom:1px solid var(--sf-border);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.sf-marquee__item{
  font-family:var(--sf-font-heading);
  font-weight:800;
  font-size:1rem;
  letter-spacing:.04em;
  color:var(--sf-color-primary-deep);
  padding:0 1.6rem;
  white-space:nowrap;
}

/* ---------- FAQ ---------- */
.sf-faq-item{
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius-sm);
  margin-bottom:.8rem;
  overflow:hidden;
  transition:box-shadow .2s ease,border-color .2s ease;
}
.sf-faq-item[open]{border-color:rgba(95,115,38,.4);box-shadow:var(--sf-shadow-sm)}
.sf-faq-item summary{
  cursor:pointer;
  list-style:none;
  font-family:var(--sf-font-heading);
  font-weight:800;
  font-size:1.05rem;
  padding:1.05rem 1.25rem;
  color:var(--sf-color-text);
  transition:color .2s ease;
}
.sf-faq-item summary:hover{color:var(--sf-color-primary-deep)}
.sf-faq-item summary::-webkit-details-marker{display:none}
.sf-faq-item > *:not(summary){padding:0 1.25rem 1.15rem;color:var(--sf-color-text-soft)}

/* ---------- CTA ---------- */
.sf-cta{
  position:relative;
  text-align:center;
  padding:var(--sf-space-xl) var(--sf-space-md);
  border-radius:calc(var(--sf-radius) * 1.4);
  background:
    radial-gradient(600px 300px at 20% 0%,rgba(196,112,61,.22),transparent 60%),
    radial-gradient(500px 320px at 90% 100%,rgba(95,115,38,.4),transparent 60%),
    var(--sf-color-surface-dark);
  color:var(--sf-color-on-dark);
  overflow:hidden;
  margin:var(--sf-space-lg) auto;
  max-width:var(--sf-maxwidth);
}
.sf-cta h2{color:var(--sf-color-on-dark);max-width:20ch;margin:0 auto var(--sf-space-sm)}
.sf-cta p{color:var(--sf-color-on-dark-soft);margin:0 auto var(--sf-space-md)}
.sf-cta .wp-block-buttons{justify-content:center}

/* ---------- Secondary blocks ---------- */
.sf-intro{
  font-size:clamp(1.1rem,1rem + .5vw,1.3rem);
  line-height:1.65;
  color:var(--sf-color-text-soft);
  max-width:60ch;
}
.sf-toc{
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-left:4px solid var(--sf-color-primary);
  border-radius:var(--sf-radius-sm);
  padding:var(--sf-space-md);
  max-width:40rem;
}
.sf-toc a{
  display:block;
  padding:.35em 0;
  text-decoration:none;
  font-weight:700;
  color:var(--sf-color-text-soft);
}
.sf-toc a:hover{color:var(--sf-color-primary-deep)}
.sf-toc__link--active{color:var(--sf-color-accent-deep);padding-left:.5em;border-left:2px solid var(--sf-color-accent)}
.sf-key-takeaways{
  background:linear-gradient(135deg,rgba(95,115,38,.1),rgba(95,115,38,.04));
  border:1px solid rgba(95,115,38,.28);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-md);
}
.sf-key-takeaways li{margin-bottom:.5em}
.sf-stat-card{
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-md);
  box-shadow:var(--sf-shadow-sm);
}
.sf-stat-card__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(2rem,1.5rem + 2vw,2.9rem);
  letter-spacing:-.03em;
  color:var(--sf-color-primary-deep);
}
.sf-stat-card__source{font-size:.84rem;color:var(--sf-color-text-soft)}
.sf-pros-cons li{margin-bottom:.45em}
.sf-sources{font-size:.9rem;color:var(--sf-color-text-soft)}
.sf-sources li{margin-bottom:.4em}

/* ---------- Article components ---------- */
.sf-statistic-grid__grid{
  display:grid;
  gap:var(--sf-space-md);
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.sf-statistic-grid__item{
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-md);
  box-shadow:var(--sf-shadow-sm);
}
.sf-statistic-grid__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(1.9rem,1.4rem + 2vw,2.7rem);
  letter-spacing:-.03em;
  color:var(--sf-color-accent-deep);
  line-height:1.05;
}
.sf-statistic-grid__label{display:block;margin-top:.35em;font-weight:700}
.sf-statistic-grid__source{display:block;margin-top:.5em;font-size:.82rem;color:var(--sf-color-text-soft)}

.sf-chart-block{
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-md);
  box-shadow:var(--sf-shadow-sm);
  margin:var(--sf-space-lg) auto;
}
.sf-chart-block h2,.sf-chart-block h3{margin-top:0}
.sf-chart__row{
  display:grid;
  grid-template-columns:minmax(90px,130px) 1fr auto;
  gap:.8rem;
  align-items:center;
  margin-bottom:.7rem;
}
.sf-chart__label{font-weight:700;font-size:.92rem}
.sf-chart__track{
  background:rgba(95,115,38,.12);
  border-radius:999px;
  height:16px;
  overflow:hidden;
}
.sf-chart__bar{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--sf-color-primary),var(--sf-color-accent));
}
.sf-chart__value{font-weight:800;font-size:.92rem;color:var(--sf-color-primary-deep);font-variant-numeric:tabular-nums}
.sf-chart--line .sf-chart__plot{
  background:
    linear-gradient(rgba(43,42,36,.06) 1px,transparent 1px) 0 0/100% 25%,
    linear-gradient(90deg,rgba(43,42,36,.06) 1px,transparent 1px) 0 0/25% 100%;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius-sm);
}
.sf-chart__point{
  width:12px;height:12px;
  border-radius:50%;
  background:var(--sf-color-accent);
  border:2.5px solid #FBF9F4;
  box-shadow:0 0 0 2px var(--sf-color-accent);
}
.sf-chart__segment{background:var(--sf-color-primary);height:3px;border-radius:2px}
.sf-chart__axis{font-size:.8rem;color:var(--sf-color-text-soft)}
.sf-chart__tick{font-size:.8rem;color:var(--sf-color-text-soft)}
.sf-chart__source{font-size:.84rem;color:var(--sf-color-text-soft);margin-top:var(--sf-space-sm)}
.sf-chart-block table{
  width:100%;
  border-collapse:collapse;
  margin-top:var(--sf-space-md);
  font-size:.92rem;
}
.sf-chart-block th,.sf-chart-block td{
  text-align:left;
  padding:.6em .8em;
  border-bottom:1px solid var(--sf-border);
}
.sf-chart-block th{
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sf-color-text-soft);
  background:var(--sf-color-surface-tint);
}
.sf-chart-block tr:hover td{background:rgba(95,115,38,.05)}

.sf-timeline ol{list-style:none;padding-left:1.6rem;border-left:2px solid rgba(95,115,38,.3);margin-left:.4rem}
.sf-timeline li{position:relative;padding:0 0 var(--sf-space-md) 1.2rem}
.sf-timeline li::before{
  content:"";
  position:absolute;
  left:calc(-1.6rem - 7px);
  top:.35em;
  width:12px;height:12px;
  border-radius:50%;
  background:var(--sf-color-accent);
  border:2.5px solid var(--sf-color-background);
  box-shadow:0 0 0 2px var(--sf-color-accent);
}
.sf-timeline__date{
  display:inline-block;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sf-color-accent-deep);
  margin-bottom:.2em;
}
.sf-timeline__title{font-weight:800;font-size:1.08rem}
.sf-timeline__text{color:var(--sf-color-text-soft)}

.sf-methodology{
  border-top:1px solid var(--sf-border);
  border-bottom:1px solid var(--sf-border);
  padding:var(--sf-space-md) 0;
  color:var(--sf-color-text-soft);
  font-size:.95rem;
}
.sf-methodology__details{display:grid;gap:.4rem 1.5rem}
@media (min-width:781px){.sf-methodology__details{grid-template-columns:auto 1fr}}
.sf-methodology__details dt{font-weight:800;color:var(--sf-color-text)}
.sf-methodology__details dd{margin:0}

.sf-related ul{list-style:none;padding:0;display:grid;gap:var(--sf-space-sm)}
@media (min-width:781px){.sf-related ul{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
.sf-related li{margin:0}
.sf-related__link{
  display:block;
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius-sm);
  padding:var(--sf-space-sm) var(--sf-space-md);
  font-weight:800;
  text-decoration:none;
  color:var(--sf-color-text);
  height:100%;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.sf-related__link:hover{transform:translateY(-3px);box-shadow:var(--sf-shadow-md);border-color:rgba(95,115,38,.4);color:var(--sf-color-primary-deep)}
.sf-related__description{display:block;margin-top:.35em;font-weight:400;font-size:.9rem;color:var(--sf-color-text-soft)}

.sf-affiliate-cta,.sf-newsletter-cta{
  background:linear-gradient(135deg,rgba(196,112,61,.1),rgba(95,115,38,.08));
  border:1px solid rgba(196,112,61,.3);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-lg) var(--sf-space-md);
  text-align:center;
  margin:var(--sf-space-lg) auto;
  max-width:var(--sf-maxwidth);
}
.sf-affiliate-cta h2,.sf-newsletter-cta h2{margin-top:0}
.sf-affiliate-cta p,.sf-newsletter-cta p{margin-left:auto;margin-right:auto}
.sf-affiliate-cta__disclosure{
  font-size:.82rem;
  color:var(--sf-color-text-soft);
  margin-top:var(--sf-space-sm);
  max-width:52ch;
  margin-left:auto;
  margin-right:auto;
}
.sf-newsletter-cta__note{font-size:.86rem;color:var(--sf-color-text-soft);margin-top:var(--sf-space-sm)}

/* ---------- Calculator ---------- */
.sf-calculator{
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-lg) var(--sf-space-md);
  box-shadow:var(--sf-shadow-sm);
  max-width:44rem;
  margin:var(--sf-space-lg) auto;
}
.sf-calculator__title{margin-top:0}
.sf-calculator__intro{color:var(--sf-color-text-soft)}
.sf-calculator__fields{display:grid;gap:var(--sf-space-sm)}
@media (min-width:781px){.sf-calculator__fields{grid-template-columns:1fr 1fr}}
.sf-calculator__field{display:grid;gap:.35rem}
.sf-calculator__label{font-weight:800;font-size:.92rem}
.sf-calculator__unit{font-weight:600;color:var(--sf-color-text-soft);font-size:.85em}
.sf-calculator__input{
  width:100%;
  font:inherit;
  color:var(--sf-color-text);
  background:var(--sf-color-background);
  border:1.5px solid var(--sf-border);
  border-radius:var(--sf-radius-sm);
  padding:.7em .9em;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.sf-calculator__input:hover{border-color:rgba(95,115,38,.45)}
.sf-calculator__input:focus{
  outline:3px solid var(--sf-ring);
  outline-offset:2px;
  border-color:var(--sf-color-primary);
}
.sf-calculator__result{
  margin-top:var(--sf-space-md);
  padding:var(--sf-space-md);
  border-radius:var(--sf-radius-sm);
  background:linear-gradient(135deg,rgba(95,115,38,.12),rgba(196,112,61,.1));
  border:1px solid rgba(95,115,38,.3);
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.4em .6em;
}
.sf-calculator__result-label{font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sf-color-text-soft);width:100%}
.sf-calculator__value{
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(1.8rem,1.4rem + 1.8vw,2.6rem);
  letter-spacing:-.02em;
  color:var(--sf-color-primary-deep);
}
.sf-calculator__result-unit{font-weight:700;color:var(--sf-color-text-soft)}

/* ---------- Contact / info ---------- */
.sf-contact-info{
  background:#FFFFFF;
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius);
  padding:var(--sf-space-md);
  box-shadow:var(--sf-shadow-sm);
  max-width:44rem;
  margin-left:auto;
  margin-right:auto;
}
.sf-contact__org{font-family:var(--sf-font-heading);font-weight:800;font-size:1.15rem}
.sf-contact__email a,.sf-contact__phone a{font-weight:700}

/* ---------- Footer ---------- */
footer.site-footer.sf-footer{
  margin-top:var(--sf-space-xl);
  background:
    radial-gradient(800px 400px at 90% 0%,rgba(196,112,61,.14),transparent 55%),
    radial-gradient(700px 420px at 5% 100%,rgba(95,115,38,.35),transparent 60%),
    var(--sf-color-surface-dark);
  color:var(--sf-color-on-dark);
  padding:var(--sf-space-xl) var(--sf-space-md) 0;
}
.sf-footer__grid{
  max-width:var(--sf-maxwidth);
  margin:0 auto;
  display:grid;
  gap:var(--sf-space-lg);
  padding-bottom:var(--sf-space-lg);
}
@media (min-width:781px){
  .sf-footer__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sf-space-md)}
}
.sf-footer__title{
  color:var(--sf-color-on-dark);
  font-size:.85rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0 0 1rem;
  padding-bottom:.6rem;
  border-bottom:2px solid rgba(196,112,61,.55);
  display:inline-block;
}
.sf-footer__widget p{color:var(--sf-color-on-dark-soft);font-size:.95rem}
.sf-footer__widget ul{list-style:none;padding:0;margin:0}
.sf-footer__widget li{margin-bottom:.55em}
.sf-footer__widget a{
  color:var(--sf-color-on-dark-soft);
  text-decoration:none;
  font-weight:600;
  transition:color .2s ease,padding-left .2s ease;
}
.sf-footer__widget a:hover{color:#F0C89B;padding-left:.35em}
@media (prefers-reduced-motion:reduce){.sf-footer__widget a{transition:color .2s ease}}
.sf-footer__bottom{
  max-width:var(--sf-maxwidth);
  margin:0 auto;
  padding:var(--sf-space-md) 0;
  border-top:1px solid rgba(244,241,230,.14);
  font-size:.85rem;
  color:var(--sf-color-on-dark-soft);
  text-align:center;
}
@media (min-width:1024px){.sf-footer__bottom{text-align:left}}

/* ---------- Wide screens ---------- */
@media (min-width:1024px){
  .sf-section{padding-left:var(--sf-space-lg);padding-right:var(--sf-space-lg)}
  h2{letter-spacing:-.025em}
}