:root{
  --sf-color-primary:#2C5BD9;
  --sf-color-primary-deep:#1E3FA0;
  --sf-color-accent:#FFC93C;
  --sf-color-accent-deep:#E8A800;
  --sf-color-text:#2A2E35;
  --sf-color-text-soft:#555B66;
  --sf-color-background:#FBF8F2;
  --sf-color-surface:#FFFFFF;
  --sf-color-surface-tint:#F0F4FE;
  --sf-color-surface-warm:#FFF6E2;
  --sf-color-surface-dark:#16295C;
  --sf-color-on-dark:#F4F6FF;
  --sf-color-on-dark-soft:#B9C4E8;
  --sf-color-line:#E4E0D6;
  --sf-color-line-cool:#D5DEF7;
  --sf-radius:18px;
  --sf-radius-sm:12px;
  --sf-radius-lg:28px;
  --sf-space-sm:1rem;
  --sf-space-md:2rem;
  --sf-space-lg:4.5rem;
  --sf-space-xl:7rem;
  --sf-maxwidth:1160px;
  --sf-shadow-sm:0 2px 6px rgba(22,41,92,.06),0 1px 2px rgba(22,41,92,.05);
  --sf-shadow-md:0 14px 34px -14px rgba(22,41,92,.18),0 4px 10px -4px rgba(22,41,92,.08);
  --sf-shadow-lift:0 24px 48px -18px rgba(22,41,92,.24);
  --sf-scrim:linear-gradient(180deg,rgba(15,28,66,.15) 0%,rgba(15,28,66,.62) 100%);
  --sf-logo-height:60px;
  --sf-logo-height-scrolled:46px;
  --sf-font-base:'Inter','Segoe UI',system-ui,sans-serif;
  --sf-font-heading:'Nunito','Segoe UI',system-ui,sans-serif;
  --sf-ease:cubic-bezier(.22,.68,.32,1);
}

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{
  background:var(--sf-color-background);
  color:var(--sf-color-text);
  font-family:var(--sf-font-base);
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

::selection{background:var(--sf-color-accent);color:#241A02}

h1,h2,h3,h4{
  font-family:var(--sf-font-heading);
  font-weight:800;
  letter-spacing:-.022em;
  line-height:1.14;
  color:#1D2530;
}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.45rem);letter-spacing:-.012em}

a{color:var(--sf-color-primary);text-decoration-thickness:2px;text-underline-offset:3px;transition:color .2s var(--sf-ease)}
a:hover{color:var(--sf-color-primary-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--sf-color-accent);
  outline-offset:3px;
  border-radius:6px;
}

img{border-radius:var(--sf-radius)}

/* ============ Header ============ */
header,.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(251,248,242,.9);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--sf-ease),box-shadow .3s var(--sf-ease),background .3s var(--sf-ease);
}
html.sf-scrolled header,html.sf-scrolled .site-header{
  background:rgba(251,248,242,.96);
  border-bottom-color:var(--sf-color-line);
  box-shadow:0 6px 24px -12px rgba(22,41,92,.14);
}
.site-branding{padding:.6rem 0}

nav a{
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.01em;
  color:var(--sf-color-text);
  text-decoration:none;
  padding:.45rem .85rem;
  border-radius:999px;
  position:relative;
}
nav a:hover{background:var(--sf-color-surface-tint);color:var(--sf-color-primary-deep)}
nav a[aria-current="page"],nav .current-menu-item>a{
  color:var(--sf-color-primary-deep);
  background:var(--sf-color-surface-tint);
  box-shadow:inset 0 -3px 0 var(--sf-color-accent);
}

.sf-progress{height:4px;background:transparent;z-index:200}
.sf-progress__bar{
  height:100%;
  background:linear-gradient(90deg,var(--sf-color-primary),var(--sf-color-accent));
  border-radius:0 4px 4px 0;
}

/* ============ Sections ============ */
.sf-section{
  position:relative;
  padding:var(--sf-space-lg) 0;
}
@media(min-width:781px){.sf-section{padding:var(--sf-space-xl) 0}}

.sf-section--tint{
  background:
    radial-gradient(900px 500px at 110% -10%,rgba(255,201,60,.14),transparent 60%),
    var(--sf-color-surface-tint);
}
.sf-section--dark{
  background:
    radial-gradient(1000px 600px at -10% -20%,rgba(44,91,217,.35),transparent 55%),
    radial-gradient(700px 500px at 110% 110%,rgba(255,201,60,.12),transparent 55%),
    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:#FFFFFF}
.sf-section--dark p{color:var(--sf-color-on-dark-soft)}
.sf-section--dark a{color:#9DB4F5}
.sf-section--dark a:hover{color:#C7D5FB}

.sf-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--sf-font-heading);
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sf-color-primary);
  margin-bottom:1rem;
}
.sf-eyebrow::before{
  content:"";
  width:22px;height:12px;
  border-radius:4px;
  background:
    radial-gradient(circle at 6px 3px,#fff 1.6px,transparent 1.7px),
    radial-gradient(circle at 16px 3px,#fff 1.6px,transparent 1.7px),
    var(--sf-color-accent);
  box-shadow:inset 0 -3px 0 rgba(22,41,92,.14);
}
.sf-section--dark .sf-eyebrow{color:var(--sf-color-accent)}

.sf-animate{opacity:0;transform:translateY(26px);transition:opacity .7s var(--sf-ease),transform .7s var(--sf-ease)}
.sf-animate.sf-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sf-animate{opacity:1;transform:none;transition:none}}

/* ============ Buttons ============ */
.wp-block-button__link,.wp-element-button{
  display:inline-block;
  font-family:var(--sf-font-heading);
  font-weight:800;
  font-size:1rem;
  letter-spacing:.01em;
  color:#FFFFFF;
  background:var(--sf-color-primary);
  border:none;
  border-radius:14px;
  padding:.95rem 1.9rem;
  text-decoration:none;
  box-shadow:0 10px 22px -10px rgba(44,91,217,.55),inset 0 -4px 0 rgba(0,0,0,.16);
  transition:transform .2s var(--sf-ease),box-shadow .25s var(--sf-ease),background .2s;
}
.wp-block-button__link:hover,.wp-element-button:hover{
  background:var(--sf-color-primary-deep);
  color:#FFF;
  transform:translateY(-2px);
  box-shadow:0 16px 30px -10px rgba(44,91,217,.6),inset 0 -4px 0 rgba(0,0,0,.16);
}
.wp-block-button__link:active,.wp-element-button:active{
  transform:translateY(1px);
  box-shadow:0 4px 10px -6px rgba(44,91,217,.5),inset 0 -2px 0 rgba(0,0,0,.16);
}
.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--sf-color-primary);
  box-shadow:inset 0 0 0 2.5px var(--sf-color-primary);
}
.is-style-outline .wp-block-button__link:hover{
  background:var(--sf-color-surface-tint);color:var(--sf-color-primary-deep);
  box-shadow:inset 0 0 0 2.5px var(--sf-color-primary-deep);
}

/* ============ Hero (split) ============ */
.sf-hero{
  position:relative;
  padding:clamp(3.5rem,7vw,6rem) 0;
  background:
    radial-gradient(700px 420px at 88% 8%,rgba(255,201,60,.22),transparent 60%),
    radial-gradient(900px 560px at -12% 110%,rgba(44,91,217,.09),transparent 55%),
    var(--sf-color-background);
  overflow:hidden;
}
.sf-hero--split .sf-hero__content{position:relative;z-index:1}
.sf-hero__heading{
  font-size:clamp(2.5rem,5.6vw,4.1rem);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.05;
  color:#1D2530;
  margin:0 0 1.2rem;
}
.sf-hero__tagline{
  font-size:clamp(1.08rem,1.6vw,1.25rem);
  line-height:1.65;
  color:var(--sf-color-text-soft);
  max-width:34rem;
  margin-bottom:2rem;
}
.sf-hero--split .sf-hero__media{
  position:relative;
}
.sf-hero--split .sf-hero__media img,.sf-hero--split .sf-hero__media .wp-block-image img{
  border-radius:var(--sf-radius-lg);
  box-shadow:var(--sf-shadow-lift);
}
.sf-hero--split .sf-hero__media::before{
  content:"";
  position:absolute;inset:auto -14px -14px auto;
  width:120px;height:60px;
  border-radius:14px;
  background:
    radial-gradient(circle at 22px 12px,#fff 5px,transparent 5.5px),
    radial-gradient(circle at 60px 12px,#fff 5px,transparent 5.5px),
    radial-gradient(circle at 98px 12px,#fff 5px,transparent 5.5px),
    var(--sf-color-accent);
  box-shadow:inset 0 -8px 0 rgba(22,41,92,.12),var(--sf-shadow-md);
  z-index:2;
}
.sf-hero--split .sf-hero__media::after{
  content:"";
  position:absolute;top:-16px;left:-16px;
  width:60px;height:34px;
  border-radius:9px;
  background:
    radial-gradient(circle at 16px 7px,#fff 4px,transparent 4.5px),
    radial-gradient(circle at 44px 7px,#fff 4px,transparent 4.5px),
    var(--sf-color-primary);
  box-shadow:inset 0 -5px 0 rgba(0,0,0,.18),var(--sf-shadow-md);
  z-index:2;
}
@media(max-width:780px){
  .sf-hero--split .sf-hero__media::before{width:88px;height:44px;inset:auto -8px -10px auto}
  .sf-hero--split .sf-hero__media::after{top:-10px;left:-8px;width:46px;height:26px}
}

/* Overlay hero */
.sf-hero--overlay{min-height:min(78vh,720px)}
.sf-hero--overlay::after{background:var(--sf-scrim)}
.sf-hero--overlay .sf-hero__inner{position:relative;z-index:2;color:#FFF;text-shadow:0 2px 22px rgba(15,28,66,.5)}
.sf-hero--overlay .sf-hero__heading{color:#FFF}

/* ============ Feature cards ============ */
.sf-feature-grid{gap:1.5rem}
.sf-feature-card{
  position:relative;
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:2.2rem 1.8rem 2rem;
  box-shadow:var(--sf-shadow-sm);
  transition:transform .3s var(--sf-ease),box-shadow .3s var(--sf-ease),border-color .3s;
  overflow:hidden;
}
.sf-feature-card::before{
  content:"";
  position:absolute;top:0;left:1.8rem;right:1.8rem;
  height:6px;
  border-radius:0 0 6px 6px;
  background:linear-gradient(90deg,var(--sf-color-accent),var(--sf-color-primary));
  opacity:0;
  transition:opacity .3s;
}
.sf-feature-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--sf-shadow-md);
  border-color:var(--sf-color-line-cool);
}
.sf-feature-card:hover::before{opacity:1}
.sf-feature-card h3{color:#1D2530;margin-top:0}
.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(255,255,255,.12);
}
.sf-section--dark .sf-feature-card p{color:var(--sf-color-on-dark-soft)}

/* ============ Media text ============ */
.sf-media-text{align-items:center;gap:2.5rem}
@media(min-width:781px){.sf-media-text{gap:4rem}}
.sf-media-text__media img{
  border-radius:var(--sf-radius-lg);
  box-shadow:var(--sf-shadow-md);
  transition:transform .4s var(--sf-ease);
}
.sf-media-text:hover .sf-media-text__media img{transform:scale(1.015)}
.sf-media-text__content h2{margin-top:0}
.sf-media-text__content p{color:var(--sf-color-text-soft)}
.sf-section--dark .sf-media-text__content p{color:var(--sf-color-on-dark-soft)}

/* ============ Stats ============ */
.sf-stats__item{
  text-align:center;
  padding:1.6rem 1rem;
  border-radius:var(--sf-radius);
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
}
.sf-section--dark .sf-stats__item{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.sf-stats__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(2.2rem,4vw,3.2rem);
  letter-spacing:-.03em;
  line-height:1;
  background:linear-gradient(120deg,var(--sf-color-primary),var(--sf-color-accent-deep));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  margin-bottom:.5rem;
}
.sf-section--dark .sf-stats__value{
  background:linear-gradient(120deg,#8FA8F2,var(--sf-color-accent));
  -webkit-background-clip:text;background-clip:text;
}
.sf-stats__label{font-weight:600;color:var(--sf-color-text-soft);font-size:.95rem}
.sf-section--dark .sf-stats__label{color:var(--sf-color-on-dark-soft)}

/* ============ Steps ============ */
.sf-steps{counter-reset:sfstep}
.sf-steps__item{
  position:relative;
  padding:1.8rem 1.6rem 1.6rem;
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  transition:transform .3s var(--sf-ease),box-shadow .3s var(--sf-ease);
}
.sf-steps__item:hover{transform:translateY(-4px);box-shadow:var(--sf-shadow-md)}
.sf-steps__item::before{
  counter-increment:sfstep;
  content:counter(sfstep);
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  margin-bottom:1.1rem;
  font-family:var(--sf-font-heading);
  font-weight:900;font-size:1.3rem;
  color:#241A02;
  background:
    radial-gradient(circle at 15px 9px,rgba(255,255,255,.85) 4px,transparent 4.5px),
    radial-gradient(circle at 37px 9px,rgba(255,255,255,.85) 4px,transparent 4.5px),
    var(--sf-color-accent);
  border-radius:14px;
  box-shadow:inset 0 -5px 0 rgba(22,41,92,.14),var(--sf-shadow-sm);
}
.sf-steps__item h3{margin-top:0}
.sf-steps__item p{color:var(--sf-color-text-soft);margin-bottom:0}

/* ============ Tabs ============ */
.sf-tabs__nav{
  display:flex;flex-wrap:wrap;gap:.5rem;
  border-bottom:2px solid var(--sf-color-line);
  margin-bottom:2rem;
}
.sf-tabs__link{
  display:inline-block;
  font-family:var(--sf-font-heading);
  font-weight:800;font-size:.98rem;
  color:var(--sf-color-text-soft);
  text-decoration:none;
  padding:.7rem 1.2rem;
  border-radius:12px 12px 0 0;
  border:2px solid transparent;
  border-bottom:none;
  margin-bottom:-2px;
  transition:color .2s,background .2s,border-color .2s;
}
.sf-tabs__link:hover{color:var(--sf-color-primary-deep);background:var(--sf-color-surface-tint)}
.sf-tabs__link--active{
  color:var(--sf-color-primary-deep);
  background:var(--sf-color-surface);
  border-color:var(--sf-color-line);
  box-shadow:inset 0 4px 0 var(--sf-color-accent);
}
.sf-tabs__panel{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:2rem;
  box-shadow:var(--sf-shadow-sm);
}
@media(max-width:780px){.sf-tabs__panel{padding:1.4rem 1.2rem}}

/* ============ Marquee ============ */
.sf-marquee{
  overflow:hidden;
  padding:1.2rem 0;
  border-top:1px solid var(--sf-color-line);
  border-bottom:1px solid var(--sf-color-line);
  background:var(--sf-color-surface);
  -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:1.05rem;
  letter-spacing:.02em;
  color:var(--sf-color-primary-deep);
  padding:0 1.8rem;
  white-space:nowrap;
  display:inline-flex;align-items:center;gap:1.8rem;
}
.sf-marquee__item::after{
  content:"";
  width:14px;height:14px;
  border-radius:4px;
  background:var(--sf-color-accent);
  box-shadow:inset 0 -3px 0 rgba(22,41,92,.15);
}

/* ============ FAQ ============ */
.sf-faq-item{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius-sm);
  margin-bottom:.9rem;
  box-shadow:var(--sf-shadow-sm);
  transition:border-color .25s,box-shadow .25s;
  overflow:hidden;
}
.sf-faq-item[open]{border-color:var(--sf-color-line-cool);box-shadow:var(--sf-shadow-md)}
.sf-faq-item summary{
  cursor:pointer;
  font-family:var(--sf-font-heading);
  font-weight:800;
  font-size:1.08rem;
  color:#1D2530;
  padding:1.25rem 3.4rem 1.25rem 1.5rem;
  position:relative;
  list-style:none;
  transition:color .2s;
}
.sf-faq-item summary::-webkit-details-marker{display:none}
.sf-faq-item summary:hover{color:var(--sf-color-primary-deep)}
.sf-faq-item summary::after{
  content:"+";
  position:absolute;right:1.2rem;top:50%;
  transform:translateY(-50%);
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;font-weight:800;
  color:var(--sf-color-primary);
  background:var(--sf-color-surface-tint);
  border-radius:10px;
  transition:transform .3s var(--sf-ease),background .2s,color .2s;
}
.sf-faq-item[open] summary::after{
  content:"\2212";
  background:var(--sf-color-accent);color:#241A02;
  transform:translateY(-50%) rotate(180deg);
}
.sf-faq-item>*:not(summary){padding:0 1.5rem 1.4rem;color:var(--sf-color-text-soft)}

/* ============ CTA ============ */
.sf-cta{
  position:relative;
  text-align:center;
  background:
    radial-gradient(600px 300px at 50% -30%,rgba(255,201,60,.28),transparent 65%),
    linear-gradient(150deg,var(--sf-color-primary) 0%,var(--sf-color-primary-deep) 70%,#16295C 100%);
  border-radius:var(--sf-radius-lg);
  padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,4rem);
  box-shadow:var(--sf-shadow-lift);
  overflow:hidden;
}
.sf-cta::before,.sf-cta::after{
  content:"";
  position:absolute;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
}
.sf-cta::before{width:130px;height:70px;top:-30px;left:-40px;transform:rotate(-14deg)}
.sf-cta::after{width:100px;height:56px;bottom:-24px;right:-30px;transform:rotate(11deg)}
.sf-cta h2{color:#FFF;margin-top:0}
.sf-cta p{color:#D8E1FA;max-width:38rem;margin:0 auto 2rem}
.sf-cta .wp-block-button__link,.sf-cta .wp-element-button{
  background:var(--sf-color-accent);
  color:#241A02;
  box-shadow:0 12px 26px -10px rgba(0,0,0,.4),inset 0 -4px 0 rgba(22,41,92,.2);
}
.sf-cta .wp-block-button__link:hover,.sf-cta .wp-element-button:hover{
  background:#FFD25E;color:#241A02;
  box-shadow:0 18px 34px -10px rgba(0,0,0,.45),inset 0 -4px 0 rgba(22,41,92,.2);
}

/* ============ Article blocks ============ */
.sf-intro{font-size:1.15rem;line-height:1.75;color:var(--sf-color-text-soft);max-width:44rem}

.sf-toc{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.8rem 2rem;
  box-shadow:var(--sf-shadow-sm);
}
.sf-toc a{
  color:var(--sf-color-text-soft);
  text-decoration:none;
  display:inline-block;
  padding:.3rem 0 .3rem 1rem;
  border-left:3px solid var(--sf-color-line);
  font-weight:600;
  transition:color .2s,border-color .2s,padding .25s var(--sf-ease);
}
.sf-toc a:hover{color:var(--sf-color-primary-deep);border-left-color:var(--sf-color-primary)}
.sf-toc__link--active{
  color:var(--sf-color-primary-deep)!important;
  border-left-color:var(--sf-color-accent)!important;
  font-weight:800;
}

.sf-key-takeaways{
  background:var(--sf-color-surface-warm);
  border:1px solid #F3E3B3;
  border-left:6px solid var(--sf-color-accent);
  border-radius:var(--sf-radius);
  padding:1.8rem 2rem;
}

.sf-stat-card{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-line-cool);
  border-radius:var(--sf-radius);
  padding:2rem;
  text-align:center;
}
.sf-stat-card__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(2.4rem,5vw,3.4rem);
  letter-spacing:-.03em;
  color:var(--sf-color-primary);
  line-height:1;
}
.sf-stat-card__source{font-size:.85rem;color:var(--sf-color-text-soft);margin-top:.6rem}

.sf-pros-cons{
  border-radius:var(--sf-radius);
  overflow:hidden;
  border:1px solid var(--sf-color-line);
  background:var(--sf-color-surface);
}
.sf-sources{font-size:.9rem;color:var(--sf-color-text-soft)}
.sf-sources a{color:var(--sf-color-text-soft)}

.sf-contact-info{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:2rem;
  box-shadow:var(--sf-shadow-sm);
}
.sf-contact__org{font-family:var(--sf-font-heading);font-weight:900;font-size:1.25rem;color:var(--sf-color-primary-deep)}

/* Statistic grid */
.sf-statistic-grid__grid{gap:1.2rem}
.sf-statistic-grid__item{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-top:6px solid var(--sf-color-accent);
  border-radius:var(--sf-radius);
  padding:1.8rem 1.5rem;
  text-align:center;
  box-shadow:var(--sf-shadow-sm);
}
.sf-statistic-grid__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(2rem,4vw,2.8rem);
  letter-spacing:-.03em;
  color:var(--sf-color-primary);
  line-height:1.05;
}
.sf-statistic-grid__label{font-weight:700;color:#1D2530;margin-top:.4rem}
.sf-statistic-grid__source{font-size:.82rem;color:var(--sf-color-text-soft);margin-top:.5rem}

/* Charts */
.sf-chart-block{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:2rem;
  box-shadow:var(--sf-shadow-sm);
}
@media(max-width:780px){.sf-chart-block{padding:1.4rem 1.1rem}}
.sf-chart-block h2,.sf-chart-block h3{margin-top:0}

.sf-chart__row{align-items:center;gap:.8rem;margin-bottom:.9rem}
.sf-chart__label{font-weight:700;font-size:.92rem;color:#1D2530}
.sf-chart__track{
  background:var(--sf-color-surface-tint);
  border-radius:999px;
  overflow:hidden;
  height:22px;
}
.sf-chart__bar{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--sf-color-primary),#5C82EC);
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.14);
}
.sf-chart__row:nth-child(even) .sf-chart__bar{
  background:linear-gradient(90deg,var(--sf-color-accent-deep),var(--sf-color-accent));
  box-shadow:inset 0 -4px 0 rgba(22,41,92,.12);
}
.sf-chart__value{font-family:var(--sf-font-heading);font-weight:800;color:var(--sf-color-primary-deep)}

.sf-chart__plot{
  border-left:2px solid var(--sf-color-line);
  border-bottom:2px solid var(--sf-color-line);
  background:
    repeating-linear-gradient(0deg,transparent 0 39px,var(--sf-color-surface-tint) 39px 40px);
}
.sf-chart__point{
  width:14px;height:14px;
  border-radius:50%;
  background:var(--sf-color-accent);
  border:3px solid var(--sf-color-surface);
  box-shadow:0 0 0 2px var(--sf-color-accent-deep),var(--sf-shadow-sm);
  transform:translate(-50%,50%);
}
.sf-chart__segment{background:var(--sf-color-primary);height:3px;border-radius:2px}
.sf-chart__tick{font-size:.8rem;font-weight:600;color:var(--sf-color-text-soft)}
.sf-chart__source{font-size:.85rem;color:var(--sf-color-text-soft);margin-top:1.2rem}

.sf-chart-block table{
  width:100%;
  border-collapse:collapse;
  margin-top:1.6rem;
  font-size:.92rem;
}
.sf-chart-block th{
  font-family:var(--sf-font-heading);
  font-weight:800;
  text-align:left;
  color:var(--sf-color-primary-deep);
  background:var(--sf-color-surface-tint);
  padding:.7rem .9rem;
  border-bottom:2px solid var(--sf-color-line-cool);
}
.sf-chart-block td{padding:.65rem .9rem;border-bottom:1px solid var(--sf-color-line);color:var(--sf-color-text-soft)}
.sf-chart-block tr:hover td{background:var(--sf-color-surface-tint)}

/* Timeline */
.sf-timeline ol{list-style:none;margin:0;padding:0;position:relative}
.sf-timeline ol::before{
  content:"";
  position:absolute;left:15px;top:8px;bottom:8px;
  width:3px;border-radius:2px;
  background:linear-gradient(180deg,var(--sf-color-accent),var(--sf-color-primary));
}
.sf-timeline li{position:relative;padding:0 0 2rem 3.2rem}
.sf-timeline li::before{
  content:"";
  position:absolute;left:6px;top:6px;
  width:21px;height:21px;
  border-radius:7px;
  background:var(--sf-color-accent);
  box-shadow:inset 0 -4px 0 rgba(22,41,92,.15),0 0 0 4px var(--sf-color-background);
}
.sf-timeline__date{
  display:inline-block;
  font-family:var(--sf-font-heading);
  font-weight:800;font-size:.8rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--sf-color-primary);
  background:var(--sf-color-surface-tint);
  padding:.25rem .7rem;
  border-radius:999px;
  margin-bottom:.4rem;
}
.sf-timeline__title{font-family:var(--sf-font-heading);font-weight:800;font-size:1.15rem;color:#1D2530}
.sf-timeline__text{color:var(--sf-color-text-soft);margin-top:.3rem}

/* Methodology */
.sf-methodology{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-line-cool);
  border-radius:var(--sf-radius);
  padding:2rem;
  font-size:.95rem;
}
.sf-methodology h2{font-size:1.3rem;margin-top:0}
.sf-methodology p{color:var(--sf-color-text-soft)}
.sf-methodology__details dt{font-weight:800;font-family:var(--sf-font-heading);color:var(--sf-color-primary-deep);margin-top:.8rem}
.sf-methodology__details dd{margin:0 0 .4rem;color:var(--sf-color-text-soft)}

/* Related */
.sf-related ul{list-style:none;padding:0;display:grid;gap:.9rem}
@media(min-width:781px){.sf-related ul{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
.sf-related__link{
  display:block;
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius-sm);
  padding:1.3rem 1.4rem;
  text-decoration:none;
  font-family:var(--sf-font-heading);
  font-weight:800;
  color:#1D2530;
  box-shadow:var(--sf-shadow-sm);
  transition:transform .25s var(--sf-ease),box-shadow .25s,border-color .25s,color .2s;
}
.sf-related__link:hover{
  transform:translateY(-3px);
  box-shadow:var(--sf-shadow-md);
  border-color:var(--sf-color-line-cool);
  color:var(--sf-color-primary-deep);
}
.sf-related__description{
  display:block;
  font-family:var(--sf-font-base);
  font-weight:400;font-size:.9rem;
  color:var(--sf-color-text-soft);
  margin-top:.35rem;
}

/* Affiliate / newsletter CTA */
.sf-affiliate-cta,.sf-newsletter-cta{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius-lg);
  padding:clamp(2rem,4vw,3rem);
  text-align:center;
  box-shadow:var(--sf-shadow-md);
  position:relative;
  overflow:hidden;
}
.sf-affiliate-cta::before,.sf-newsletter-cta::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:8px;
  background:linear-gradient(90deg,var(--sf-color-primary),var(--sf-color-accent),var(--sf-color-primary));
}
.sf-affiliate-cta h2,.sf-newsletter-cta h2{margin-top:0}
.sf-affiliate-cta p,.sf-newsletter-cta p{color:var(--sf-color-text-soft);max-width:36rem;margin:0 auto 1.6rem}
.sf-affiliate-cta__disclosure{
  display:block;
  font-size:.85rem;
  line-height:1.6;
  color:var(--sf-color-text-soft);
  margin-top:1.4rem;
}
.sf-newsletter-cta__note{display:block;font-size:.9rem;color:var(--sf-color-text-soft);margin-top:1.2rem}

/* Calculator */
.sf-calculator{
  background:var(--sf-color-surface);
  border:1px solid var(--sf-color-line-cool);
  border-radius:var(--sf-radius-lg);
  padding:clamp(1.8rem,4vw,2.8rem);
  box-shadow:var(--sf-shadow-md);
}
.sf-calculator__title{
  font-family:var(--sf-font-heading);
  font-weight:900;font-size:1.5rem;
  letter-spacing:-.02em;
  color:#1D2530;margin:0 0 .6rem;
}
.sf-calculator__intro{color:var(--sf-color-text-soft);margin-bottom:1.8rem}
.sf-calculator__fields{display:grid;gap:1.2rem}
@media(min-width:781px){.sf-calculator__fields{grid-template-columns:1fr 1fr}}
.sf-calculator__label{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:800;font-size:.92rem;
  color:var(--sf-color-primary-deep);
  margin-bottom:.45rem;
}
.sf-calculator__unit{font-weight:600;color:var(--sf-color-text-soft);font-size:.85rem}
.sf-calculator__input{
  width:100%;
  box-sizing:border-box;
  font-family:var(--sf-font-base);
  font-size:1rem;
  color:var(--sf-color-text);
  background:var(--sf-color-background);
  border:2px solid var(--sf-color-line);
  border-radius:var(--sf-radius-sm);
  padding:.8rem 1rem;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.sf-calculator__input:hover{border-color:var(--sf-color-line-cool)}
.sf-calculator__input:focus{
  outline:3px solid var(--sf-color-accent);
  outline-offset:2px;
  border-color:var(--sf-color-primary);
  background:#FFF;
}
.sf-calculator__result{
  margin-top:1.8rem;
  padding:1.5rem 1.8rem;
  border-radius:var(--sf-radius);
  background:linear-gradient(140deg,var(--sf-color-surface-tint),var(--sf-color-surface-warm));
  border:1px solid var(--sf-color-line-cool);
  display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;
}
.sf-calculator__result-label{
  font-family:var(--sf-font-heading);
  font-weight:800;
  color:var(--sf-color-primary-deep);
}
.sf-calculator__value{
  font-family:var(--sf-font-heading);
  font-weight:900;
  font-size:clamp(1.7rem,3vw,2.3rem);
  letter-spacing:-.02em;
  color:var(--sf-color-primary);
}
.sf-calculator__result-unit{font-weight:700;color:var(--sf-color-text-soft)}

/* ============ Footer ============ */
footer.site-footer,.sf-footer{
  position:relative;
  background:
    radial-gradient(800px 400px at 15% 0%,rgba(44,91,217,.3),transparent 60%),
    var(--sf-color-surface-dark);
  color:var(--sf-color-on-dark-soft);
  margin-top:var(--sf-space-xl);
}
.sf-footer::before{
  content:"";
  display:block;
  height:10px;
  background:repeating-linear-gradient(90deg,
    var(--sf-color-accent) 0 34px,
    var(--sf-color-primary) 34px 68px,
    #5C82EC 68px 102px,
    var(--sf-color-accent-deep) 102px 136px);
}
.sf-footer__grid{
  gap:2.5rem;
  padding:var(--sf-space-lg) 0 2.5rem;
}
.sf-footer__title{
  font-family:var(--sf-font-heading);
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.02em;
  color:#FFF;
  margin:0 0 1rem;
  padding-bottom:.6rem;
  border-bottom:2px solid rgba(255,201,60,.5);
  display:inline-block;
}
.sf-footer__widget p,.sf-footer__widget li{color:var(--sf-color-on-dark-soft);font-size:.95rem;line-height:1.7}
.sf-footer__widget ul{list-style:none;padding:0;margin:0}
.sf-footer__widget li{margin-bottom:.5rem}
.sf-footer__widget a{
  color:#C7D5FB;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
.sf-footer__widget a:hover{color:var(--sf-color-accent);border-bottom-color:var(--sf-color-accent)}
.sf-footer__bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:1.4rem 0;
  font-size:.85rem;
  color:#8FA0CC;
  text-align:center;
}

/* ============ Misc ============ */
figure.wp-block-image img{box-shadow:var(--sf-shadow-md)}
main .wp-block-image figcaption{font-size:.88rem;color:var(--sf-color-text-soft);text-align:center;margin-top:.6rem}

@media(max-width:780px){
  body{font-size:1rem}
  .sf-section{padding:var(--sf-space-lg) 0}
  .sf-hero__heading{font-size:2.3rem}
}
@media(min-width:1024px){
  .sf-hero__heading{font-size:4.1rem}
}