/* ==========================================================
   Trail & Tag skin, rugged backcountry editorial
   Dirt-road character, owner-manual readability
   ========================================================== */

:root{
  --sf-color-primary:#A8441F;
  --sf-color-primary-dark:#8C3818;
  --sf-color-accent:#C4AD7F;
  --sf-color-text:#2A2622;
  --sf-color-muted:#5F574C;
  --sf-color-background:#FFFFFF;
  --sf-color-surface-tint:#F6F1E7;
  --sf-color-border:#E2D6C1;
  --sf-color-surface-dark:#2A2622;
  --sf-color-on-dark:#F1E9DA;
  --sf-color-on-dark-muted:#CDBFA6;
  --sf-font-heading:"Barlow Condensed","Oswald","Archivo Narrow","Arial Narrow","Helvetica Neue",sans-serif;
  --sf-font-base:"Source Sans 3","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  --sf-radius:7px;
  --sf-radius-sm:6px;
  --sf-space-sm:1rem;
  --sf-space-md:2rem;
  --sf-space-lg:4.5rem;
  --sf-space-xl:7rem;
  --sf-maxwidth:1180px;
  --sf-shadow-sm:0 1px 2px rgba(42,38,34,.06);
  --sf-shadow-md:0 6px 24px rgba(42,38,34,.10);
  --sf-scrim:linear-gradient(180deg,rgba(30,25,20,.15) 0%,rgba(30,25,20,.72) 100%);
  --sf-logo-height:44px;
  --sf-logo-height-scrolled:44px;
  --sf-contour:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='480' viewBox='0 0 480 480'%3E%3Cg fill='none' stroke='%23C4AD7F' stroke-width='1.2' stroke-opacity='0.5'%3E%3Cpath d='M240 30c95 0 170 80 170 210s-75 210-170 210S70 370 70 240 145 30 240 30Z'/%3E%3Cpath d='M240 75c75 0 130 65 130 165s-55 165-130 165S110 340 110 240 165 75 240 75Z'/%3E%3Cpath d='M240 120c55 0 95 50 95 120s-40 120-95 120-95-50-95-120 40-120 95-120Z'/%3E%3Cpath d='M240 165c35 0 60 30 60 75s-25 75-60 75-60-30-60-75 25-75 60-75Z'/%3E%3Cpath d='M240 205c18 0 30 15 30 35s-12 35-30 35-30-15-30-35 12-35 30-35Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- Base ---------- */

html{
  -webkit-text-size-adjust:100%;
}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}

body{
  background:var(--sf-color-background);
  color:var(--sf-color-text);
  font-family:var(--sf-font-base);
  font-size:17px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
}

@media (min-width:1024px){
  body{font-size:18px}
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--sf-font-heading);
  color:var(--sf-color-text);
  font-weight:700;
  line-height:1.12;
  letter-spacing:.01em;
  margin:0 0 .55em;
}

h2{font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:.005em}
h3{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;letter-spacing:.02em}
h4{font-size:1.1rem;font-weight:600;letter-spacing:.02em}

p{margin:0 0 1.15em}

a{
  color:var(--sf-color-primary);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:color .18s ease;
}

a:hover{color:var(--sf-color-primary-dark)}

strong{color:#1F1B17}

::selection{background:var(--sf-color-primary);color:#FFFFFF}

:focus-visible{
  outline:2px solid var(--sf-color-primary);
  outline-offset:2px;
  border-radius:2px;
}

img{max-width:100%;height:auto}

.entry-content h2[id],
.entry-content h3[id],
.sf-section [id]{
  scroll-margin-top:96px;
}

/* ---------- Buttons ---------- */

.wp-block-button__link,
.wp-element-button,
.sf-cta .wp-block-button__link,
.sf-affiliate-cta .wp-block-button__link,
.sf-newsletter-cta .wp-block-button__link{
  display:inline-block;
  background:var(--sf-color-primary);
  color:#FFFFFF;
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1.05rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  padding:.8em 1.6em;
  border:2px solid var(--sf-color-primary);
  border-radius:var(--sf-radius-sm);
  box-shadow:none;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.wp-block-button__link:focus-visible,
.wp-element-button:hover{
  background:var(--sf-color-primary-dark);
  border-color:var(--sf-color-primary-dark);
  color:#FFFFFF;
  transform:translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;
  color:var(--sf-color-primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--sf-color-primary);
  color:#FFFFFF;
}

/* ---------- Header (Kadence safe zone) ---------- */

.site-header{
  background:var(--sf-color-background);
}

html.sf-scrolled .site-header{
  box-shadow:0 2px 14px rgba(42,38,34,.10);
}

@media (min-width:1025px){
  .site-header .menu{gap:28px}
  .site-header .menu a{
    font-family:var(--sf-font-base);
    font-size:16px;
    font-weight:600;
    color:var(--sf-color-text);
    text-decoration:none;
    letter-spacing:.01em;
    border-bottom:2px solid transparent;
    padding-bottom:2px;
    transition:color .18s ease,border-color .18s ease;
  }
  .site-header .menu a:hover{
    color:var(--sf-color-primary);
    border-bottom-color:var(--sf-color-primary);
  }
  .site-header .menu .current-menu-item > a,
  .site-header .menu .current_page_item > a{
    color:var(--sf-color-primary);
    border-bottom-color:var(--sf-color-primary);
  }
}

/* ---------- Reading progress ---------- */

.sf-progress{
  background:rgba(226,214,193,.4);
  height:3px;
}

.sf-progress__bar{
  background:linear-gradient(90deg,var(--sf-color-primary),var(--sf-color-primary-dark));
  height:3px;
}

/* ---------- Sections ---------- */

.sf-section{
  position:relative;
  padding-block:var(--sf-space-lg);
  background:var(--sf-color-background);
}

@media (min-width:1024px){
  .sf-section{padding-block:var(--sf-space-xl)}
}

.sf-section--tint{
  background:var(--sf-color-surface-tint);
}

.sf-section--tint::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:30px;
  background-image:var(--sf-contour);
  background-size:240px 240px;
  background-position:center -100px;
  background-repeat:repeat-x;
  opacity:.45;
  pointer-events:none;
}

.sf-section--dark{
  background: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 p{color:var(--sf-color-on-dark)}

.sf-section--dark a{color:#E3D3AF}
.sf-section--dark a:hover{color:#F1E4C6}

.sf-section--dark .sf-eyebrow{
  color:var(--sf-color-on-dark);
  border-color:var(--sf-color-accent);
}

/* Eyebrow: license-plate frame label */

.sf-eyebrow{
  display:inline-block;
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--sf-color-text);
  border:2px solid var(--sf-color-accent);
  border-radius:7px;
  padding:8px 16px 5px;
  margin-bottom:1.1rem;
  background-image:
    radial-gradient(circle at 12px 7px,var(--sf-color-accent) 2px,rgba(0,0,0,0) 2.6px),
    radial-gradient(circle at calc(100% - 12px) 7px,var(--sf-color-accent) 2px,rgba(0,0,0,0) 2.6px);
  background-repeat:no-repeat;
  line-height:1.1;
}

/* Scroll reveal disabled by design, content always visible */

.sf-animate{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

.sf-visible{opacity:1;transform:none}

/* ---------- Hero, split variant ---------- */

.sf-hero{
  position:relative;
  overflow:hidden;
  background:var(--sf-color-background);
  padding-block:clamp(3rem,6vw,5.5rem);
}

.sf-hero__heading{
  font-size:clamp(2.5rem,6vw,4.2rem);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0;
  line-height:1.02;
  color:var(--sf-color-text);
  margin-bottom:.35em;
}

.sf-hero__tagline{
  font-size:clamp(1.1rem,1.6vw,1.3rem);
  line-height:1.55;
  color:var(--sf-color-muted);
  max-width:34em;
  margin-bottom:1.6em;
}

.sf-hero .wp-block-button__link{
  font-size:1.1rem;
}

.sf-hero--split{
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
  align-items:center;
}

.sf-hero--split .sf-hero__content{
  max-width:36rem;
}

.sf-hero--split .sf-hero__media{
  margin:0;
}

.sf-hero--split .sf-hero__media img{
  display:block;
  width:100%;
  border-radius:8px;
  border:1px solid var(--sf-color-border);
  box-shadow:var(--sf-shadow-md);
}

@media (min-width:1024px){
  .sf-hero--split{
    grid-template-columns:minmax(0,5fr) minmax(0,6fr);
    gap:clamp(2.5rem,5vw,4.5rem);
  }
  .sf-hero--split::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:55%;
    background-image:var(--sf-contour);
    background-size:460px 460px;
    background-position:center right -60px;
    background-repeat:repeat;
    opacity:.35;
    pointer-events:none;
  }
  .sf-hero--split .sf-hero__media{
    position:relative;
    z-index:1;
  }
}

/* Overlay hero safety */

.sf-hero--overlay::after{
  background:var(--sf-scrim);
}

.sf-hero--overlay .sf-hero__heading,
.sf-hero--overlay .sf-hero__tagline{
  color:#FFFFFF;
  text-shadow:0 1px 3px rgba(20,16,12,.5);
}

/* ---------- Feature grid ---------- */

.sf-feature-grid{
  gap:1.25rem;
}

.sf-feature-card{
  background:var(--sf-color-background);
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1.75rem 1.6rem 1.5rem;
  box-shadow:none;
  transition:border-color .2s ease,transform .2s ease;
}

.sf-feature-card:hover{
  border-color:var(--sf-color-accent);
  transform:translateY(-3px);
}

.sf-feature-card h3{
  font-size:1.3rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:.45em;
}

.sf-feature-card h3::before{
  content:"";
  display:block;
  width:34px;
  height:4px;
  background:var(--sf-color-primary);
  border-radius:2px;
  margin-bottom:.6em;
}

.sf-feature-card p{
  color:var(--sf-color-muted);
  margin-bottom:0;
  font-size:.98rem;
}

.sf-section--tint .sf-feature-card{
  background:var(--sf-color-background);
}

.sf-section--dark .sf-feature-card{
  background:rgba(255,255,255,.04);
  border-color:rgba(241,233,218,.18);
}

.sf-section--dark .sf-feature-card p{
  color:var(--sf-color-on-dark-muted);
}

@media (min-width:781px){
  .sf-feature-grid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:1024px){
  .sf-feature-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}
}

/* ---------- Media and text ---------- */

.sf-media-text{
  display:grid;
  grid-template-columns:1fr;
  gap:2.25rem;
  align-items:center;
}

@media (min-width:1024px){
  .sf-media-text{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(2.5rem,5vw,4.5rem);
  }
  .sf-media-text--left .sf-media-text__media{order:2}
  .sf-media-text--left .sf-media-text__content{order:1}
}

.sf-media-text__media img{
  display:block;
  width:100%;
  border-radius:8px;
  border:1px solid var(--sf-color-border);
  box-shadow:var(--sf-shadow-md);
}

.sf-media-text__content h2{
  text-transform:uppercase;
}

.sf-media-text__content p{
  color:var(--sf-color-muted);
}

.sf-section--dark .sf-media-text__content p{
  color:var(--sf-color-on-dark-muted);
}

/* ---------- Stats band ---------- */

.sf-stats{
  padding-block:var(--sf-space-md);
}

.sf-stats__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}

@media (min-width:781px){
  .sf-stats__grid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:1024px){
  .sf-stats__grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}
}

.sf-stats__item{
  border:1px solid var(--sf-color-border);
  border-top:4px solid var(--sf-color-primary);
  border-radius:var(--sf-radius);
  padding:1.5rem 1.4rem 1.3rem;
  background:var(--sf-color-background);
  text-align:left;
}

.sf-stats__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:clamp(2.4rem,4vw,3.1rem);
  line-height:1;
  color:var(--sf-color-primary);
  letter-spacing:0;
}

.sf-stats__label{
  display:block;
  margin-top:.5em;
  font-size:.95rem;
  font-weight:600;
  color:var(--sf-color-muted);
}

.sf-section--dark .sf-stats__item{
  background:rgba(255,255,255,.04);
  border-color:rgba(241,233,218,.18);
  border-top-color:var(--sf-color-accent);
}

.sf-section--dark .sf-stats__value{color:var(--sf-color-accent)}
.sf-section--dark .sf-stats__label{color:var(--sf-color-on-dark-muted)}

/* ---------- Steps, CSS counter ---------- */

.sf-steps{
  counter-reset:sf-step;
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}

@media (min-width:781px){
  .sf-steps{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:1024px){
  .sf-steps{grid-template-columns:repeat(3,1fr);gap:1.5rem}
}

.sf-steps__item{
  counter-increment:sf-step;
  background:var(--sf-color-background);
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1.75rem 1.6rem 1.5rem;
}

.sf-steps__item::before{
  content:counter(sf-step,decimal-leading-zero);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--sf-color-primary);
  color:#FFFFFF;
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:1.35rem;
  letter-spacing:.02em;
  margin-bottom:1rem;
}

.sf-steps__item h3{
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:1.25rem;
}

.sf-steps__item p{
  color:var(--sf-color-muted);
  margin-bottom:0;
  font-size:.98rem;
}

/* ---------- Tabs ---------- */

.sf-tabs__nav{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  border-bottom:2px solid var(--sf-color-border);
  padding-bottom:0;
  margin-bottom:1.75rem;
  list-style:none;
}

.sf-tabs__navitem{margin:0}

.sf-tabs__link{
  display:inline-block;
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--sf-color-muted);
  text-decoration:none;
  padding:.65em 1.1em;
  border:1px solid transparent;
  border-bottom:none;
  border-radius:var(--sf-radius-sm) var(--sf-radius-sm) 0 0;
  margin-bottom:-2px;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}

.sf-tabs__link:hover{
  color:var(--sf-color-primary);
}

.sf-tabs__link--active{
  color:var(--sf-color-primary);
  background:var(--sf-color-background);
  border-color:var(--sf-color-border);
  border-bottom:2px solid var(--sf-color-primary);
}

.sf-tabs__panel{
  color:var(--sf-color-text);
}

.sf-tabs__panel > :last-child{margin-bottom:0}

/* ---------- Marquee, static sand band ---------- */

.sf-marquee{
  overflow:hidden;
  background:var(--sf-color-surface-tint);
  border-top:1px solid var(--sf-color-border);
  border-bottom:1px solid var(--sf-color-border);
  padding-block:1rem;
}

.sf-marquee__track{
  animation:none !important;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.6rem 2.4rem;
  width:100%;
}

.sf-marquee__item{
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sf-color-text);
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:2.4rem;
}

.sf-marquee__item::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--sf-color-accent);
}

.sf-marquee__item:last-child::after{content:none}

.sf-marquee__item[aria-hidden="true"]{display:none}
.sf-marquee__item:nth-last-child(1 of :not([aria-hidden="true"]))::after{content:none}

@media (max-width:780px){
  .sf-marquee__track{gap:.5rem 1.4rem}
  .sf-marquee__item{gap:1rem}
}

/* ---------- FAQ accordion ---------- */

.sf-faq-item{
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  background:var(--sf-color-background);
  margin-bottom:.85rem;
  overflow:hidden;
  transition:border-color .2s ease;
}

.sf-faq-item:hover{border-color:var(--sf-color-accent)}

.sf-faq-item[open]{
  border-color:var(--sf-color-primary);
}

.sf-faq-item summary{
  cursor:pointer;
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1.15rem;
  letter-spacing:.02em;
  color:var(--sf-color-text);
  padding:1.1rem 3rem 1.05rem 1.4rem;
  list-style:none;
  position:relative;
}

.sf-faq-item summary::marker{content:""}

.sf-faq-item summary::after{
  content:"+";
  position:absolute;
  right:1.4rem;
  top:50%;
  transform:translateY(-50%);
  color:var(--sf-color-primary);
  font-family:var(--sf-font-base);
  font-weight:700;
}

.sf-faq-item[open] summary::after{content:"-"}

.sf-faq-item > *:not(summary){
  padding:0 1.4rem 1.2rem;
  color:var(--sf-color-muted);
}

.sf-faq-item p{color:var(--sf-color-muted);margin-bottom:.6em}

/* ---------- Closing CTA ---------- */

.sf-cta{
  position:relative;
  overflow:hidden;
  background:var(--sf-color-surface-dark);
  border-radius:8px;
  padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,4rem);
  text-align:center;
  color:var(--sf-color-on-dark);
}

.sf-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--sf-contour);
  background-size:420px 420px;
  background-position:center;
  opacity:.18;
  pointer-events:none;
}

.sf-cta > *{position:relative}

.sf-cta h2{
  color:var(--sf-color-on-dark);
  text-transform:uppercase;
  font-size:clamp(1.9rem,4vw,2.8rem);
}

.sf-cta p{
  color:var(--sf-color-on-dark-muted);
  max-width:40em;
  margin-inline:auto;
}

/* ---------- Secondary content blocks ---------- */

.sf-intro{
  font-size:1.2rem;
  line-height:1.6;
  color:var(--sf-color-muted);
  max-width:44em;
}

.sf-toc{
  border:1px solid var(--sf-color-border);
  border-left:4px solid var(--sf-color-primary);
  border-radius:var(--sf-radius);
  background:var(--sf-color-surface-tint);
  padding:1.4rem 1.6rem 1.2rem;
  margin-block:2rem;
}

.sf-toc ol,.sf-toc ul{
  margin:0;
  padding-left:1.2rem;
}

.sf-toc li{margin-bottom:.45em}

.sf-toc a{
  color:var(--sf-color-text);
  text-decoration:none;
  font-weight:600;
  border-bottom:1px solid transparent;
}

.sf-toc a:hover{
  color:var(--sf-color-primary);
  border-bottom-color:var(--sf-color-primary);
}

.sf-toc__link--active,
.sf-toc a.sf-toc__link--active{
  color:var(--sf-color-primary);
  border-bottom-color:var(--sf-color-primary);
}

.sf-key-takeaways{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-border);
  border-top:4px solid var(--sf-color-accent);
  border-radius:var(--sf-radius);
  padding:1.6rem 1.8rem 1.2rem;
  margin-block:2rem;
}

.sf-key-takeaways h2,.sf-key-takeaways h3{
  text-transform:uppercase;
  font-size:1.25rem;
  letter-spacing:.05em;
}

.sf-key-takeaways li{margin-bottom:.5em}

.sf-stat-card{
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1.6rem 1.5rem 1.3rem;
  background:var(--sf-color-background);
  border-left:4px solid var(--sf-color-primary);
}

.sf-stat-card__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:clamp(2rem,3.5vw,2.7rem);
  line-height:1;
  color:var(--sf-color-primary);
}

.sf-stat-card__source{
  display:block;
  margin-top:.6em;
  font-size:.85rem;
  color:var(--sf-color-muted);
}

.sf-pros-cons{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
  margin-block:2rem;
}

@media (min-width:781px){
  .sf-pros-cons{grid-template-columns:1fr 1fr}
}

.sf-pros-cons > *{
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1.5rem 1.6rem 1.1rem;
  background:var(--sf-color-background);
}

.sf-pros-cons > *:first-child{border-top:4px solid #4A7A3F}
.sf-pros-cons > *:last-child{border-top:4px solid var(--sf-color-primary)}

.sf-pros-cons h3{
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:1.15rem;
}

.sf-pros-cons li{margin-bottom:.5em}

.sf-sources{
  border-top:1px solid var(--sf-color-border);
  margin-top:2.5rem;
  padding-top:1.4rem;
  font-size:.92rem;
  color:var(--sf-color-muted);
}

.sf-sources li{margin-bottom:.4em}

.sf-sources a{color:var(--sf-color-primary)}

.sf-contact-info{
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1.6rem 1.8rem;
  background:var(--sf-color-surface-tint);
}

.sf-contact__org{
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:1.3rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.sf-contact__email a,.sf-contact__phone a{font-weight:600}

/* ---------- Article: statistic grid ---------- */

.sf-statistic-grid__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}

@media (min-width:781px){
  .sf-statistic-grid__grid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:1024px){
  .sf-statistic-grid__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}
}

.sf-statistic-grid__item{
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1.5rem 1.4rem 1.2rem;
  background:var(--sf-color-background);
}

.sf-statistic-grid__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:clamp(2.1rem,3.6vw,2.8rem);
  line-height:1;
  color:var(--sf-color-primary);
}

.sf-statistic-grid__label{
  display:block;
  margin-top:.45em;
  font-weight:600;
}

.sf-statistic-grid__source{
  display:block;
  margin-top:.4em;
  font-size:.82rem;
  color:var(--sf-color-muted);
}

/* ---------- Article: charts ---------- */

.sf-chart-block{
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  background:var(--sf-color-background);
  padding:1.6rem 1.6rem 1.4rem;
  margin-block:2rem;
}

.sf-chart-block h2,.sf-chart-block h3{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.25rem;
}

.sf-chart__row{
  margin-bottom:.8rem;
}

.sf-chart__label{
  font-weight:600;
  font-size:.95rem;
}

.sf-chart__track{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-border);
  border-radius:5px;
  overflow:hidden;
  height:14px;
}

.sf-chart__bar{
  background:linear-gradient(90deg,var(--sf-color-primary),var(--sf-color-primary-dark));
  height:100%;
  border-radius:4px;
}

.sf-chart__value{
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:1.05rem;
  color:var(--sf-color-text);
}

.sf-chart--line .sf-chart__plot{
  background:
    repeating-linear-gradient(0deg,rgba(226,214,193,.5) 0 1px,rgba(0,0,0,0) 1px 44px);
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius-sm);
}

.sf-chart__point{
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--sf-color-primary);
  border:3px solid var(--sf-color-background);
  box-shadow:0 0 0 1px var(--sf-color-primary);
}

.sf-chart__segment{
  background:var(--sf-color-primary);
  height:3px;
  border-radius:2px;
}

.sf-chart__axis{
  color:var(--sf-color-muted);
  font-size:.82rem;
}

.sf-chart__tick{font-weight:600}

.sf-chart__source{
  display:block;
  margin-top:1rem;
  font-size:.82rem;
  color:var(--sf-color-muted);
}

/* ---------- Article: timeline ---------- */

.sf-timeline ol{
  list-style:none;
  margin:0;
  padding:0;
}

.sf-timeline li{
  position:relative;
  border-left:2px solid var(--sf-color-accent);
  padding:0 0 1.6rem 1.5rem;
}

.sf-timeline li::before{
  content:"";
  position:absolute;
  left:-7px;
  top:6px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--sf-color-background);
  border:3px solid var(--sf-color-primary);
}

.sf-timeline li:last-child{padding-bottom:0}

.sf-timeline__date{
  display:inline-block;
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sf-color-primary);
  margin-bottom:.25em;
}

.sf-timeline__title{
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1.2rem;
  letter-spacing:.02em;
  margin-bottom:.2em;
}

.sf-timeline__text{
  color:var(--sf-color-muted);
  margin-bottom:0;
}

/* ---------- Article: methodology ---------- */

.sf-methodology{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1.6rem 1.8rem 1.3rem;
  margin-block:2rem;
  font-size:.95rem;
}

.sf-methodology h2{
  font-size:1.2rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.sf-methodology p{color:var(--sf-color-muted)}

.sf-methodology__details{
  display:grid;
  grid-template-columns:1fr;
  gap:.3rem 1.5rem;
  margin:1rem 0 0;
}

@media (min-width:781px){
  .sf-methodology__details{grid-template-columns:max-content 1fr}
}

.sf-methodology__details dt{
  font-weight:700;
  color:var(--sf-color-text);
}

.sf-methodology__details dd{
  margin:0;
  color:var(--sf-color-muted);
}

/* ---------- Article: related links ---------- */

.sf-related ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:.9rem;
}

@media (min-width:781px){
  .sf-related ul{grid-template-columns:repeat(2,1fr)}
}

.sf-related__link{
  display:block;
  border:1px solid var(--sf-color-border);
  border-radius:var(--sf-radius);
  padding:1rem 1.2rem;
  background:var(--sf-color-background);
  color:var(--sf-color-text);
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1.1rem;
  letter-spacing:.02em;
  text-decoration:none;
  transition:border-color .2s ease,color .2s ease;
}

.sf-related__link:hover{
  border-color:var(--sf-color-primary);
  color:var(--sf-color-primary);
}

.sf-related__description{
  display:block;
  font-family:var(--sf-font-base);
  font-weight:400;
  font-size:.92rem;
  color:var(--sf-color-muted);
  margin-top:.3em;
}

/* ---------- Article: affiliate and newsletter CTAs ---------- */

.sf-affiliate-cta,
.sf-newsletter-cta{
  border:2px solid var(--sf-color-accent);
  border-radius:8px;
  background:var(--sf-color-surface-tint);
  padding:2rem 1.8rem 1.7rem;
  margin-block:2.5rem;
  background-image:
    radial-gradient(circle at 16px 10px,var(--sf-color-accent) 2.5px,rgba(0,0,0,0) 3.1px),
    radial-gradient(circle at calc(100% - 16px) 10px,var(--sf-color-accent) 2.5px,rgba(0,0,0,0) 3.1px);
  background-repeat:no-repeat;
}

.sf-affiliate-cta h2,
.sf-newsletter-cta h2{
  text-transform:uppercase;
  font-size:1.6rem;
  margin-top:.4em;
}

.sf-affiliate-cta p,
.sf-newsletter-cta p{
  color:var(--sf-color-text);
  max-width:38em;
}

.sf-affiliate-cta__disclosure{
  display:block;
  margin-top:1rem;
  font-size:.85rem;
  line-height:1.5;
  color:var(--sf-color-muted);
  border-top:1px solid var(--sf-color-border);
  padding-top:.8rem;
}

.sf-newsletter-cta__note{
  display:block;
  margin-top:.8rem;
  font-size:.85rem;
  color:var(--sf-color-muted);
}

/* ---------- Calculator ---------- */

.sf-calculator{
  border:1px solid var(--sf-color-border);
  border-radius:8px;
  background:var(--sf-color-background);
  padding:2rem 1.8rem;
  margin-block:2rem;
}

.sf-calculator__title{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.5rem;
}

.sf-calculator__intro{
  color:var(--sf-color-muted);
  max-width:40em;
}

.sf-calculator__fields{
  display:grid;
  grid-template-columns:1fr;
  gap:1.1rem;
  margin-block:1.4rem;
}

@media (min-width:781px){
  .sf-calculator__fields{grid-template-columns:repeat(2,1fr)}
}

.sf-calculator__label{
  display:block;
  font-weight:700;
  font-size:.95rem;
  margin-bottom:.35em;
}

.sf-calculator__unit{
  font-weight:600;
  color:var(--sf-color-muted);
  font-size:.88rem;
}

.sf-calculator__input{
  width:100%;
  font-family:var(--sf-font-base);
  font-size:1rem;
  color:var(--sf-color-text);
  background:#FFFFFF;
  border:1.5px solid #CFC2AB;
  border-radius:var(--sf-radius-sm);
  padding:.65em .85em;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.sf-calculator__input:hover{border-color:var(--sf-color-accent)}

.sf-calculator__input:focus{
  outline:2px solid var(--sf-color-primary);
  outline-offset:1px;
  border-color:var(--sf-color-primary);
}

.sf-calculator__result{
  background:var(--sf-color-surface-dark);
  border-radius:var(--sf-radius);
  padding:1.3rem 1.5rem;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.4rem 1rem;
}

.sf-calculator__result-label{
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sf-color-on-dark-muted);
}

.sf-calculator__value{
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:2.1rem;
  line-height:1;
  color:var(--sf-color-on-dark);
}

.sf-calculator__result-unit{
  font-weight:600;
  color:var(--sf-color-on-dark-muted);
}

/* ---------- Tables, zebra and mobile scroll ---------- */

.entry-content table,
.wp-block-table table,
.sf-chart-block table{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
  margin-block:1.5rem;
  border:1px solid var(--sf-color-border);
}

.entry-content th,
.entry-content td,
.wp-block-table th,
.wp-block-table td,
.sf-chart-block th,
.sf-chart-block td{
  padding:.65em .9em;
  border:1px solid var(--sf-color-border);
  text-align:left;
  vertical-align:top;
}

.entry-content thead th,
.wp-block-table thead th,
.sf-chart-block thead th{
  background:var(--sf-color-surface-dark);
  color:var(--sf-color-on-dark);
  font-family:var(--sf-font-heading);
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:.9rem;
  border-color:rgba(241,233,218,.15);
}

.entry-content tbody tr:nth-child(even),
.wp-block-table tbody tr:nth-child(even),
.sf-chart-block tbody tr:nth-child(even){
  background:var(--sf-color-surface-tint);
}

@media (max-width:780px){
  .entry-content table,
  .wp-block-table table,
  .sf-chart-block table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    max-width:100%;
  }
}

/* ---------- Article body rhythm (single posts only) ---------- */

body.single-post .entry-content > *:not(.alignwide):not(.alignfull){
  max-width:720px;
  margin-inline:auto;
}

.entry-content figure.wp-block-image img{
  border-radius:8px;
  border:1px solid var(--sf-color-border);
}

.entry-content figcaption{
  font-size:.85rem;
  color:var(--sf-color-muted);
  margin-top:.5em;
}

.entry-content blockquote{
  border-left:4px solid var(--sf-color-primary);
  background:var(--sf-color-surface-tint);
  border-radius:0 var(--sf-radius) var(--sf-radius) 0;
  margin:2rem 0;
  padding:1.3rem 1.6rem;
  font-size:1.08rem;
}

.entry-content blockquote p:last-child{margin-bottom:0}

.entry-content code{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-border);
  border-radius:4px;
  padding:.1em .4em;
  font-size:.9em;
}

/* ---------- Footer ---------- */

.site-footer.sf-footer{
  position:relative;
  background:var(--sf-color-surface-dark);
  color:var(--sf-color-on-dark);
  margin-top:var(--sf-space-lg);
}

.site-footer.sf-footer::before{
  content:"";
  display:block;
  height:34px;
  background-image:var(--sf-contour);
  background-size:230px 230px;
  background-position:center -98px;
  background-repeat:repeat-x;
  opacity:.4;
}

.sf-footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
  max-width:var(--sf-maxwidth);
  margin-inline:auto;
  padding:3rem 1.5rem 2.5rem;
}

@media (min-width:781px){
  .sf-footer__grid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:1024px){
  .sf-footer__grid{grid-template-columns:repeat(3,1fr);gap:3rem}
}

.sf-footer__widget{margin-bottom:1.5rem}

.sf-footer__title{
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:1.05rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sf-color-on-dark);
  margin:0 0 1rem;
  padding-bottom:.55rem;
  border-bottom:2px solid var(--sf-color-accent);
  display:inline-block;
}

.sf-footer__col p{
  color:var(--sf-color-on-dark-muted);
  font-size:.95rem;
}

.sf-footer__col ul{
  list-style:none;
  margin:0;
  padding:0;
}

.sf-footer__col li{
  margin-bottom:.55em;
}

.sf-footer__col a{
  color:var(--sf-color-on-dark);
  text-decoration:none;
  font-weight:600;
  font-size:.97rem;
  border-bottom:1px solid rgba(196,173,127,.45);
  transition:color .18s ease,border-color .18s ease;
}

.sf-footer__col a:hover{
  color:var(--sf-color-accent);
  border-bottom-color:var(--sf-color-accent);
}

.sf-footer__bottom{
  border-top:1px solid rgba(241,233,218,.15);
  padding:1.2rem 1.5rem 1.4rem;
  text-align:center;
  font-size:.85rem;
  color:var(--sf-color-on-dark-muted);
  letter-spacing:.04em;
}

.sf-footer__bottom p{margin:0}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .wp-block-button__link:hover,
  .wp-element-button:hover,
  .sf-feature-card:hover{
    transform:none;
  }
}

/* Kadence header integrity */
#masthead.site-header{display:block;padding:0;gap:0;min-height:0;height:auto;background:#FFFFFF;border-bottom:1px solid #E2D6C1}
#masthead > #main-header,#masthead > #mobile-header{width:100%;max-width:none;flex:none;margin:0;border:0;overflow:visible}
#masthead .site-branding a{border:0;border-radius:0;background:none;padding:0;box-shadow:none}
#masthead .site-branding img.custom-logo{height:44px;width:auto;max-height:none}
#masthead #main-header .site-main-header-inner-wrap{min-height:72px}
#masthead #mobile-header .site-main-header-inner-wrap{min-height:60px}
@media (max-width:1024px){#masthead .site-branding img.custom-logo{height:36px}}