/* Softener Sense skin v4: lab-meets-home, bright, precise, calm */

:root{
  --sf-color-primary:#0A73A0;
  --sf-color-primary-dark:#08597D;
  --sf-color-primary-soft:#E3F0F7;
  --sf-color-accent:#62CBC3;
  --sf-color-text:#1E2B37;
  --sf-color-muted:#4A5D6D;
  --sf-color-background:#FFFFFF;
  --sf-color-surface-tint:#F3F8FB;
  --sf-color-surface-dark:#0C3D57;
  --sf-color-on-dark:#EAF4F9;
  --sf-color-line:#DCE6EE;
  --sf-font-heading:'Inter','Segoe UI',Roboto,'Helvetica Neue',Arial,system-ui,sans-serif;
  --sf-font-base:'Source Sans 3','Segoe UI','Helvetica Neue',Arial,sans-serif;
  --sf-radius:10px;
  --sf-radius-sm:6px;
  --sf-space-sm:0.85rem;
  --sf-space-md:1.6rem;
  --sf-space-lg:3.2rem;
  --sf-space-xl:5.5rem;
  --sf-maxwidth:1160px;
  --sf-shadow-sm:0 1px 2px rgba(12,61,87,.06),0 2px 8px -2px rgba(12,61,87,.08);
  --sf-shadow-md:0 2px 6px rgba(12,61,87,.06),0 16px 34px -18px rgba(12,61,87,.28);
  --sf-scrim:linear-gradient(180deg,rgba(12,61,87,0) 20%,rgba(12,61,87,.62) 100%);
  --sf-logo-height:44px;
  --sf-logo-height-scrolled:38px;
  --sf-gauge:linear-gradient(90deg,#62CBC3 0%,#3FA7C9 38%,#0A73A0 68%,#0B4E74 100%);
  --sf-drop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.2C8 1.2 2.8 6.8 2.8 10.2a5.2 5.2 0 0 0 10.4 0C13.2 6.8 8 1.2 8 1.2Z' fill='%230A73A0'/%3E%3Cpath d='M5 10.4l1.7 2.3M8 10l1.1 2.6M10.9 9.6l.5 1.8' stroke='%2362CBC3' stroke-width='.9' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  --sf-drop-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.2C8 1.2 2.8 6.8 2.8 10.2a5.2 5.2 0 0 0 10.4 0C13.2 6.8 8 1.2 8 1.2Z' fill='%23EAF4F9'/%3E%3Cpath d='M5 10.4l1.7 2.3M8 10l1.1 2.6M10.9 9.6l.5 1.8' stroke='%2362CBC3' stroke-width='.9' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
}

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

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;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--sf-font-heading);
  color:#132231;
  letter-spacing:-0.018em;
  line-height:1.18;
  font-weight:700;
}

h2{font-size:clamp(1.65rem,1.2rem + 1.8vw,2.35rem);letter-spacing:-0.022em;font-weight:800}
h3{font-size:1.28rem;letter-spacing:-0.012em;font-weight:700}
h4{font-size:1.1rem;font-weight:700}

p{margin:0 0 1.1em}

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)}

li{margin-bottom:.35em}

::selection{background:var(--sf-color-accent);color:#073B54}

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

figure.wp-block-image img{border-radius:var(--sf-radius)}

.wp-block-spacer{height:clamp(1.25rem,3vw,2.5rem) !important}

/* ---------- Header: theme owns layout, skin owns surface only ---------- */

.site-header,#masthead.site-header{
  position:sticky;
  top:0;
  z-index:300;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid #E3ECF2;
  backdrop-filter:saturate(1.5) blur(10px);
  -webkit-backdrop-filter:saturate(1.5) blur(10px);
  transition:background-color .25s ease,box-shadow .25s ease;
}

html.sf-scrolled .site-header,html.sf-scrolled #masthead.site-header{
  background:rgba(255,255,255,.97);
  box-shadow:0 1px 0 rgba(11,78,116,.05),0 10px 30px -20px rgba(11,78,116,.35);
}

/* Desktop nav links only: 1025px and up, mobile drawer stays untouched */

@media(min-width:1025px){
  .site-header .menu a,#masthead .menu a,
  .site-header .menu-item a,#masthead .menu-item a{
    font-family:var(--sf-font-heading);
    font-size:1rem;
    font-weight:600;
    letter-spacing:-0.005em;
    color:#28404F;
    text-decoration:none;
    padding-block:.4em;
    border-bottom:2px solid transparent;
    transition:color .18s ease,border-color .18s ease;
  }
  .site-header .menu li + li,#masthead .menu li + li,
  .site-header .menu-item + .menu-item,#masthead .menu-item + .menu-item{margin-left:28px}
  .site-header .menu a:hover,#masthead .menu a:hover,
  .site-header .menu-item a:hover,#masthead .menu-item a:hover{
    color:var(--sf-color-primary);
    border-bottom-color:var(--sf-color-accent);
  }
  .site-header .current-menu-item > a,#masthead .current-menu-item > a,
  .site-header .current_page_item > a,#masthead .current_page_item > a{
    color:var(--sf-color-primary);
    border-bottom-color:var(--sf-color-accent);
  }
}

/* Reading progress */

.sf-progress{height:3px;background:rgba(10,115,160,.12);z-index:400}
.sf-progress__bar{height:100%;background:linear-gradient(90deg,var(--sf-color-accent),var(--sf-color-primary))}

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

.sf-section{
  padding-block:clamp(3.25rem,7vw,var(--sf-space-xl));
  background:var(--sf-color-background);
}

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

.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:#FFFFFF}
.sf-section--dark p,.sf-section--dark li{color:var(--sf-color-on-dark)}
.sf-section--dark a{color:#9FDCD6}
.sf-section--dark a:hover{color:var(--sf-color-accent)}

.sf-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55em;
  font-family:var(--sf-font-heading);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sf-color-primary);
  margin-bottom:.9rem;
}

.sf-eyebrow::before{
  content:"";
  width:15px;
  height:15px;
  flex:none;
  background:var(--sf-drop) center/contain no-repeat;
}

.sf-section--dark .sf-eyebrow{color:var(--sf-color-accent)}
.sf-section--dark .sf-eyebrow::before{background-image:var(--sf-drop-light)}

/* Content fully visible by default, no entrance animation */

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

/* ---------- Hero (split) ---------- */

.sf-hero{
  position:relative;
  width:auto;
  max-width:none;
  margin-inline:calc(50% - 50vw);
  margin-top:0;
  margin-bottom:0;
  border-radius:0;
  min-height:0 !important;
  background:linear-gradient(180deg,#F3F8FB 0%,#FFFFFF 88%);
  padding-block:clamp(2.25rem,4.5vw,4rem) clamp(2rem,3.5vw,3rem);
  text-align:left;
}

.sf-hero__content{text-align:left}

.sf-hero .sf-hero__heading{
  font-size:clamp(2.3rem,1.5rem + 3.4vw,3.6rem);
  font-weight:800;
  letter-spacing:-0.032em;
  line-height:1.06;
  color:#1E2B37;
  margin:0 0 1.1rem;
}

.sf-hero .sf-hero__heading strong{font-weight:800;color:#1E2B37}
.sf-hero .sf-hero__heading em{font-style:normal;color:#1E2B37}

.sf-hero .sf-hero__heading mark{
  background:none;
  color:var(--sf-color-primary);
}

.sf-hero .sf-eyebrow{color:var(--sf-color-primary)}

.sf-hero__tagline{
  font-size:clamp(1.08rem,1rem + .4vw,1.24rem);
  line-height:1.6;
  color:var(--sf-color-muted);
  max-width:34rem;
  margin:0 0 1.8rem;
}

.sf-hero--split{align-items:center;min-height:0 !important}

.sf-hero .wp-block-buttons{margin-top:.4rem;justify-content:flex-start}

.sf-hero .wp-block-image{margin:0}

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

.sf-hero--overlay::after{content:"";background:var(--sf-scrim)}
.sf-hero--overlay .sf-hero__heading{color:#FFFFFF;text-shadow:0 2px 18px rgba(12,61,87,.45)}
.sf-hero--overlay .sf-hero__heading strong,.sf-hero--overlay .sf-hero__heading em{color:#FFFFFF}
.sf-hero--overlay .sf-hero__heading mark{color:#9FDCD6}
.sf-hero--overlay .sf-hero__tagline{color:#EAF4F9}

@media(min-width:1024px){
  .sf-hero--split .sf-hero__media{
    align-self:stretch;
    display:flex;
    align-items:center;
    min-height:100%;
  }
  .sf-hero--split .sf-hero__media img{
    height:100%;
    min-height:340px;
    object-fit:cover;
  }
}

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

.wp-block-button__link,.wp-element-button{
  display:inline-block;
  background:var(--sf-color-primary);
  color:#FFFFFF;
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1rem;
  letter-spacing:.005em;
  line-height:1.2;
  padding:.85em 1.7em;
  border:1px solid var(--sf-color-primary);
  border-radius:var(--sf-radius);
  text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.wp-block-button__link:hover,.wp-element-button:hover{
  background:var(--sf-color-primary-dark);
  border-color:var(--sf-color-primary-dark);
  color:#FFFFFF;
  transform:translateY(-1px);
  box-shadow:0 10px 22px -12px rgba(10,115,160,.55);
}

.wp-block-button__link:active,.wp-element-button:active{transform:translateY(0);box-shadow:none}

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

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

.sf-hero .wp-block-button__link{padding:.95em 1.9em;font-size:1.06rem}

.sf-section--dark .wp-block-button__link,.sf-section--dark .wp-element-button,
.sf-cta .wp-block-button__link,.sf-cta .wp-element-button{
  background:#FFFFFF;
  border-color:#FFFFFF;
  color:#0B4E74;
}

.sf-section--dark .wp-block-button__link:hover,.sf-cta .wp-block-button__link:hover{
  background:var(--sf-color-accent);
  border-color:var(--sf-color-accent);
  color:#073B54;
}

/* ---------- Feature grid / question cards ---------- */

.sf-feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:1.25rem;
  margin-block:0;
}

.sf-feature-card{
  position:relative;
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.6rem 1.5rem 1.5rem;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.sf-feature-card::before{
  content:"";
  display:block;
  width:26px;
  height:26px;
  margin-bottom:1rem;
  background:var(--sf-drop) center/contain no-repeat;
}

.sf-feature-card:hover{
  transform:translateY(-3px);
  border-color:#AFCFE2;
  box-shadow:var(--sf-shadow-md);
}

.sf-feature-card h3{margin:0 0 .5rem;font-size:1.18rem}
.sf-feature-card p{margin:0;color:var(--sf-color-muted);font-size:.98rem}
.sf-feature-card a{text-decoration:none;font-weight:600}

/* ---------- Media + text ---------- */

.sf-media-text{gap:clamp(1.75rem,4vw,3.5rem);align-items:center}

.sf-media-text__media img{
  border-radius:var(--sf-radius);
  border:1px solid var(--sf-color-line);
  box-shadow:var(--sf-shadow-md);
}

.sf-media-text__content h2{margin-top:0}
.sf-media-text__content p{color:var(--sf-color-muted)}

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

.sf-stats__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:1.25rem;
}

.sf-stats__item{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.5rem 1.25rem;
  text-align:center;
}

.sf-section--dark .sf-stats__item{background:rgba(255,255,255,.06);border-color:rgba(234,244,249,.18)}

.sf-stats__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-size:clamp(2rem,1.4rem + 2.4vw,2.7rem);
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.05;
  color:var(--sf-color-primary);
  font-variant-numeric:tabular-nums;
}

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

.sf-stats__label{
  display:block;
  margin-top:.5rem;
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--sf-color-muted);
}

.sf-section--dark .sf-stats__label{color:#B9CFDC}

/* ---------- Steps ---------- */

.sf-steps{counter-reset:sf-step}

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

.sf-steps__item::before{
  content:counter(sf-step);
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin-bottom:1rem;
  border-radius:50%;
  background:var(--sf-color-primary-soft);
  border:1.5px solid var(--sf-color-primary);
  color:var(--sf-color-primary);
  font-family:var(--sf-font-heading);
  font-weight:800;
  font-size:1.05rem;
}

.sf-steps__item h3{margin:0 0 .5rem}
.sf-steps__item p{color:var(--sf-color-muted);margin-bottom:0}

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

.sf-tabs__nav{
  display:flex;
  flex-wrap:wrap;
  gap:.25rem;
  border-bottom:1px solid var(--sf-color-line);
  margin-bottom:1.75rem;
}

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

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

.sf-tabs__link--active{
  color:var(--sf-color-primary);
  border-bottom-color:var(--sf-color-primary);
  background:#FFFFFF;
}

.sf-tabs__panel{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:clamp(1.4rem,3vw,2.25rem);
}

/* ---------- Marquee: static rinse blue band, slate items, full opacity ---------- */

@keyframes sf-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.sf-marquee{
  background-color:#F3F8FB;
  border-top:1px solid #D5E2EC;
  border-bottom:1px solid #D5E2EC;
  padding-block:1.15rem;
  margin-block:0;
  overflow:hidden;
}

.sf-marquee__track{animation:none;opacity:1}

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

.sf-marquee__item::before{
  content:"";
  width:13px;
  height:13px;
  flex:none;
  background:var(--sf-drop) center/contain no-repeat;
}

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

.sf-faq-item{
  border-bottom:1px solid var(--sf-color-line);
  background:transparent;
}

.sf-faq-item summary{
  cursor:pointer;
  padding:1.15rem .25rem;
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:1.06rem;
  color:#16283A;
  list-style:none;
  transition:color .18s ease;
}

.sf-faq-item summary::-webkit-details-marker{display:none}
.sf-faq-item summary:hover{color:var(--sf-color-primary)}
.sf-faq-item[open] summary{color:var(--sf-color-primary)}
.sf-faq-item p{color:var(--sf-color-muted);padding:0 .25rem 1.2rem;margin:0}

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

.sf-cta{
  position:relative;
  overflow:hidden;
  background:linear-gradient(118deg,#0B4E74 0%,#0A6A95 100%);
  border-radius:calc(var(--sf-radius) + 6px);
  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:auto -10% -55% auto;
  width:60%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(98,203,195,.28),rgba(98,203,195,0) 68%);
  pointer-events:none;
}

.sf-cta h2{color:#FFFFFF;margin-top:0}
.sf-cta p{color:#D6E9F2;max-width:36rem;margin-inline:auto}

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

.sf-intro{
  font-size:1.2rem;
  line-height:1.65;
  color:#33506A;
  max-width:46rem;
}

.sf-toc{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.5rem 1.6rem;
}

@media(min-width:1024px){
  .sf-toc{position:sticky;top:96px}
}

.sf-toc h2,.sf-toc h3{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sf-color-muted);margin:0 0 1rem}
.sf-toc ul{list-style:none;margin:0;padding:0}
.sf-toc li{margin:0;border-left:2px solid var(--sf-color-line)}

.sf-toc a{
  display:block;
  padding:.45em 0 .45em 1em;
  margin-left:-2px;
  border-left:2px solid transparent;
  color:var(--sf-color-muted);
  text-decoration:none;
  font-size:.96rem;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}

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

.sf-toc__link--active{
  color:var(--sf-color-primary);
  border-left-color:var(--sf-color-primary);
  background:var(--sf-color-primary-soft);
  font-weight:600;
  border-radius:0 var(--sf-radius-sm) var(--sf-radius-sm) 0;
}

.sf-key-takeaways{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-line);
  border-top:4px solid var(--sf-color-primary);
  border-radius:var(--sf-radius);
  padding:1.75rem 1.9rem;
}

.sf-key-takeaways h2,.sf-key-takeaways h3{
  display:flex;
  align-items:center;
  gap:.6em;
  margin-top:0;
  font-size:1.25rem;
}

.sf-key-takeaways h2::before,.sf-key-takeaways h3::before{
  content:"";
  width:20px;
  height:20px;
  flex:none;
  background:var(--sf-drop) center/contain no-repeat;
}

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

.sf-key-takeaways li{
  position:relative;
  padding-left:1.6rem;
  margin-bottom:.6em;
}

.sf-key-takeaways li::before{
  content:"";
  position:absolute;
  left:0;
  top:.32em;
  width:13px;
  height:13px;
  background:var(--sf-drop) center/contain no-repeat;
}

.sf-stat-card{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.6rem;
  box-shadow:var(--sf-shadow-sm);
}

.sf-stat-card__value{
  font-family:var(--sf-font-heading);
  font-size:clamp(1.9rem,1.4rem + 2vw,2.5rem);
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--sf-color-primary);
  font-variant-numeric:tabular-nums;
}

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

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

.sf-sources{font-size:.92rem;color:var(--sf-color-muted)}
.sf-sources a{word-break:break-word}

/* ---------- Article data components ---------- */

.sf-statistic-grid__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));
  gap:1.25rem;
}

.sf-statistic-grid__item{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.5rem 1.3rem;
}

.sf-statistic-grid__value{
  display:block;
  font-family:var(--sf-font-heading);
  font-size:clamp(1.8rem,1.3rem + 2vw,2.4rem);
  font-weight:800;
  letter-spacing:-0.028em;
  color:var(--sf-color-primary);
  font-variant-numeric:tabular-nums;
}

.sf-statistic-grid__label{display:block;margin-top:.35rem;font-weight:600;color:#16283A}
.sf-statistic-grid__source{display:block;margin-top:.45rem;font-size:.82rem;color:var(--sf-color-muted)}

.sf-chart-block{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:clamp(1.4rem,3vw,2.25rem);
  box-shadow:var(--sf-shadow-sm);
  overflow-x:auto;
}

.sf-chart-block h2,.sf-chart-block h3{margin-top:0}

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

.sf-chart-block table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  margin-top:1.5rem;
  font-size:.95rem;
  font-variant-numeric:tabular-nums;
}

.sf-chart-block th{
  font-family:var(--sf-font-heading);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sf-color-muted);
  text-align:left;
  padding:.6em .8em;
  border-bottom:2px solid var(--sf-color-primary);
  background:var(--sf-color-surface-tint);
}

.sf-chart-block td{padding:.6em .8em;border-bottom:1px solid var(--sf-color-line);color:#2A3D4D}
.sf-chart-block tr:last-child td{border-bottom:none}

/* Bar chart */

.sf-chart--bar .sf-chart__row{
  display:grid;
  grid-template-columns:minmax(90px,150px) 1fr minmax(52px,auto);
  align-items:center;
  gap:.9rem;
  margin-bottom:.8rem;
}

.sf-chart__label{font-weight:600;font-size:.95rem;color:#16283A}

.sf-chart__track{
  background:#E7F0F5;
  border-radius:99px;
  height:14px;
  overflow:hidden;
}

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

.sf-chart__value{
  font-family:var(--sf-font-heading);
  font-weight:700;
  font-size:.95rem;
  color:var(--sf-color-primary);
  font-variant-numeric:tabular-nums;
  text-align:right;
}

/* Line chart */

.sf-chart__plot{
  background:
    repeating-linear-gradient(180deg,transparent 0,transparent calc(25% - 1px),#E3ECF2 calc(25% - 1px),#E3ECF2 25%);
  border-bottom:1px solid #C4D3DF;
  border-left:1px solid #C4D3DF;
}

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

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

.sf-chart__tick{font-size:.8rem;color:var(--sf-color-muted);font-variant-numeric:tabular-nums}

/* Timeline */

.sf-timeline ol{
  list-style:none;
  margin:0;
  padding:0 0 0 .5rem;
  border-left:2px solid var(--sf-color-line);
}

.sf-timeline li{
  position:relative;
  padding:0 0 1.75rem 1.75rem;
  margin:0;
}

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

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

.sf-timeline__title{display:block;font-family:var(--sf-font-heading);font-weight:700;font-size:1.08rem;color:#16283A}
.sf-timeline__text{color:var(--sf-color-muted);margin:.3rem 0 0}

/* Methodology */

.sf-methodology{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.75rem 1.9rem;
  font-size:.95rem;
}

.sf-methodology h2{font-size:1.15rem;margin-top:0}
.sf-methodology p{color:var(--sf-color-muted)}

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

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

.sf-methodology__details dt{font-weight:700;color:#16283A}
.sf-methodology__details dd{margin:0;color:var(--sf-color-muted)}

/* Related */

.sf-related ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}

.sf-related__link{
  display:block;
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1rem 1.25rem;
  font-weight:600;
  color:#16283A;
  text-decoration:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}

.sf-related__link:hover{
  border-color:#AFCFE2;
  box-shadow:var(--sf-shadow-sm);
  transform:translateY(-1px);
  color:var(--sf-color-primary);
}

.sf-related__description{display:block;font-weight:400;font-size:.9rem;color:var(--sf-color-muted);margin-top:.2rem}

/* Affiliate + newsletter CTAs */

.sf-affiliate-cta{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-left:4px solid var(--sf-color-primary);
  border-radius:var(--sf-radius);
  padding:1.9rem 2rem;
}

.sf-affiliate-cta h2{margin-top:0}
.sf-affiliate-cta p{color:var(--sf-color-muted)}

.sf-affiliate-cta__disclosure{
  display:block;
  margin-top:1rem;
  font-size:.85rem;
  line-height:1.5;
  color:#3D5060;
}

.sf-newsletter-cta{
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:2rem;
  text-align:center;
}

.sf-newsletter-cta h2{margin-top:0}
.sf-newsletter-cta__note{display:block;margin-top:.9rem;font-size:.88rem;color:var(--sf-color-muted)}

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

.sf-calculator{
  position:relative;
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:clamp(1.5rem,3.5vw,2.5rem);
  box-shadow:var(--sf-shadow-sm);
  overflow:hidden;
}

.sf-calculator::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:var(--sf-gauge);
}

.sf-calculator__title{
  font-family:var(--sf-font-heading);
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#132231;
  margin:0 0 .5rem;
}

.sf-calculator__intro{color:var(--sf-color-muted);margin-bottom:1.5rem}

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

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

.sf-calculator__label{
  display:block;
  font-family:var(--sf-font-heading);
  font-weight:600;
  font-size:.95rem;
  color:#16283A;
  margin-bottom:.4rem;
}

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

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

.sf-calculator__input:hover{border-color:#9FB9CA}

.sf-calculator__input:focus{
  outline:2px solid var(--sf-color-primary);
  outline-offset:1px;
  border-color:var(--sf-color-primary);
  box-shadow:0 0 0 3px rgba(10,115,160,.14);
}

.sf-calculator__result{
  margin-top:1.6rem;
  background:var(--sf-color-surface-tint);
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.35rem 1.5rem;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.4rem .75rem;
}

.sf-calculator__result-label{
  font-family:var(--sf-font-heading);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sf-color-muted);
  flex-basis:100%;
}

.sf-calculator__value{
  font-family:var(--sf-font-heading);
  font-size:clamp(1.9rem,1.4rem + 2vw,2.5rem);
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--sf-color-primary);
  font-variant-numeric:tabular-nums;
  line-height:1.1;
}

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

/* ---------- Contact info ---------- */

.sf-contact-info{
  background:#FFFFFF;
  border:1px solid var(--sf-color-line);
  border-radius:var(--sf-radius);
  padding:1.75rem 1.9rem;
}

.sf-contact__org{font-family:var(--sf-font-heading);font-weight:800;font-size:1.2rem;color:#132231;margin-bottom:.6rem}
.sf-contact__email,.sf-contact__phone,.sf-contact__address{margin-bottom:.35rem;color:var(--sf-color-muted)}
.sf-contact-info a{font-weight:600}

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

.sf-footer{
  position:relative;
  background:#10293A;
  color:#C4D6E2;
  font-size:.96rem;
}

.sf-footer::before{
  content:"";
  display:block;
  height:4px;
  background:var(--sf-gauge);
}

.sf-footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:2.25rem;
  max-width:var(--sf-maxwidth);
  margin-inline:auto;
  padding:clamp(2.75rem,6vw,4.25rem) clamp(1.25rem,4vw,2rem) 2.5rem;
}

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

.sf-footer__title{
  display:flex;
  align-items:center;
  gap:.6em;
  font-family:var(--sf-font-heading);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#FFFFFF;
  margin:0 0 1.1rem;
}

.sf-footer__title::before{
  content:"";
  width:14px;
  height:14px;
  flex:none;
  background:var(--sf-drop-light) center/contain no-repeat;
}

.sf-footer__widget{margin-bottom:1.5rem}
.sf-footer__widget p{color:#A9C0CE}
.sf-footer__widget ul{list-style:none;margin:0;padding:0}
.sf-footer__widget li{margin-bottom:.5em}

.sf-footer a{
  color:#B9CFDC;
  text-decoration:none;
  transition:color .18s ease;
}

.sf-footer a:hover{color:var(--sf-color-accent)}

.sf-footer__bottom{
  border-top:1px solid rgba(234,244,249,.12);
  padding:1.15rem clamp(1.25rem,4vw,2rem);
  text-align:center;
  font-size:.85rem;
  color:#8FA9BA;
}

/* ---------- Single post reading width ---------- */

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

body.single-post .entry-content p{line-height:1.78}

body.single-post .entry-content > .sf-chart-block,
body.single-post .entry-content > .sf-statistic-grid,
body.single-post .entry-content > .sf-calculator,
body.single-post .entry-content > .sf-affiliate-cta,
body.single-post .entry-content > .sf-newsletter-cta,
body.single-post .entry-content > .sf-key-takeaways{
  max-width:880px;
}

/* ---------- Responsive polish ---------- */

@media(max-width:780px){
  .sf-hero{padding-block:2rem 2.25rem}
  .sf-hero__media{margin-top:1.75rem}
  .sf-chart--bar .sf-chart__row{grid-template-columns:1fr;gap:.35rem}
  .sf-chart__value{text-align:left}
  .sf-feature-card{padding:1.35rem 1.25rem}
}

@media(min-width:1024px){
  .sf-hero .sf-hero__heading{letter-spacing:-0.035em}
  .sf-section{padding-block:clamp(4rem,7vw,6.5rem)}
  .sf-statistic-grid__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
}

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

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .sf-animate{opacity:1;transform:none}
  .sf-marquee__track{animation:none !important}
  .wp-block-button__link:hover,.sf-feature-card:hover,.sf-related__link: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 #E3ECF2}
#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}}