/* ============================================================
   BRAND TOKENS — SONOGRAPHIC IMAGES
   Change colors / fonts here = whole site updates.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');

:root{
  /* core brand */
  --c-primary:#6d3f9e;        /* purple — primary CTA / accent text */
  --c-primary-dark:#57307f;   /* purple hover */
  --c-accent:#138a9c;         /* teal */
  --c-accent-2:#7fd4e2;       /* light teal */
  --c-accent-3:#8a4fc4;       /* lavender-purple (kickers) */
  --c-lav:#cbb0ec;            /* arrow lavender on dark */

  /* ink / surfaces */
  --c-ink:#2c2233;            /* plum ink (headings / dark sec) */
  --c-ink-dark:#1d1622;       /* ink hover */
  --c-ink-2:#5e5468;          /* body text */
  --c-ink-3:#4a3f56;          /* nav / strong small text */
  --c-paper:#f4eee4;          /* page cream */
  --c-paper-soft:#e6ddd2;     /* warm light text on dark */
  --c-tint:#fbf8f2;           /* lighter cream surface */
  --c-sand:#efe7da;           /* warm sand surface (newsletter) */
  --c-light:#fff;             /* pure white surface */
  --c-deep:#2c2233;           /* dark section bg */
  --c-deep-2:#241b2b;         /* footer */

  /* gradient frame tints */
  --tint-lav:#ece1f3;
  --tint-teal:#dcecec;

  /* lines */
  --c-line:rgba(44,34,51,.14);
  --c-line-2:rgba(44,34,51,.2);
  --c-line-light:rgba(244,238,228,.16);
  --c-error:#c0392b;
  --c-facebook:#1877f2; --c-google:#ea4335;

  /* type */
  --font-head:'Cormorant Garamond',Georgia,serif;
  --font-body:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
  --fs-h1:clamp(22px,3.4vw,51px);
  --fs-h2:clamp(30px,4.4vw,52px);
  --fs-h2-xl:clamp(34px,5vw,62px);
  --fs-h3:clamp(22px,2.6vw,30px);
  --fs-body:17px;

  /* buttons */
  --btn-bg:var(--c-primary);
  --btn-text:#fff;
  --btn-bg-hover:var(--c-primary-dark);
  --btn-bg-2:var(--c-ink);
  --btn-bg-2-hover:var(--c-ink-dark);

  /* spacing / radius / shadow */
  --space-section:70px;
  --gap:30px;
  --r-sm:2px;
  --r-pill:999px;
  --shadow-1:0 2px 10px rgba(44,34,51,.06);
  --shadow-2:0 18px 44px -18px rgba(44,34,51,.45);
  --shadow-btn:0 18px 40px -16px rgba(109,63,158,.55);
}
@media all and (max-width:640px){ :root{ --gap:18px; } }

/* ============================================================
   GLOBAL DESIGN SYSTEM — headings / text / buttons / links
   (scoped under .is-wrapper for specificity over theme base)
   ============================================================ */
.is-wrapper .banner-main-heading{
  font-family:var(--font-head); font-weight:500; font-size:var(--fs-h1);
  line-height:.99; letter-spacing:-.01em; color:var(--c-ink);
  text-wrap:balance; margin:0;
}
.is-wrapper .section-main-heading{
  font-family:var(--font-head); font-weight:500; font-size:var(--fs-h2);
  line-height:1.04; letter-spacing:-.01em; color:var(--c-ink);
  text-wrap:balance; margin:0 0 10px;
}
.is-wrapper .section-main-heading.si-h2--xl{ font-size:var(--fs-h2-xl); line-height:1; }
.is-wrapper .section-sub-heading{
  font-family:var(--font-head); font-weight:400; font-style:italic;
  font-size:var(--fs-h3); line-height:1.25; color:var(--c-ink); margin:0;
}
.is-wrapper .content-heading{
  font-family:var(--font-head); font-weight:500; font-size:clamp(20px,2.2vw,24px);
  line-height:1.2; color:var(--c-ink); margin:0;
}
.is-wrapper .content-sub-heading{
  font-family:var(--font-head); font-weight:400; font-style:italic;
  font-size:20px; line-height:1.3; color:var(--c-ink); margin:0;
}
.is-wrapper .small-heading{
  font-family:var(--font-body); font-weight:600; font-size:14px;
  letter-spacing:.02em; color:var(--c-ink); margin:0;
}

.is-wrapper .section-description{
  font-family:var(--font-body); font-weight:400; font-size:19px;
  line-height:1.7; color:var(--c-ink-2); text-wrap:pretty; margin:0;
}
.is-wrapper .content-text{
  font-family:var(--font-body); font-weight:400; font-size:var(--fs-body);
  line-height:1.78; color:var(--c-ink-2); text-wrap:pretty; margin:0;
}
.is-wrapper .small-text{
  font-family:var(--font-body); font-weight:500; font-size:14px;
  line-height:1.6; color:var(--c-ink-2); margin:0;
}
.is-wrapper .highlight-text{ color:var(--c-primary); font-style:italic; font-weight:400; }
.is-wrapper .caption-text{
  font-family:var(--font-body); font-weight:600; font-size:11.5px;
  letter-spacing:.32em; text-transform:uppercase; color:var(--c-accent-3); margin:0;
}

/* ---- unified buttons : identical interaction across every type ---- */
.is-wrapper .web-primary-btn,
.is-wrapper a.web-primary-btn,
.is-wrapper .web-secondary-btn,
.is-wrapper a.web-secondary-btn,
.is-wrapper button.web-primary-btn,
.is-wrapper button.web-secondary-btn,
.is-wrapper input.web-primary-btn,
.is-wrapper input.web-secondary-btn,
.is-wrapper .ww-form-container-3 input[type="submit"].button,
.is-wrapper #lead-magnet-form input[type="submit"].button,
.is-wrapper #newsletter-form input[type="submit"].button,
#header a.button,
#footer a.button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-body); font-weight:600; font-size:15px; letter-spacing:.02em;
  padding:16px 32px; border:1px solid transparent; border-radius:var(--r-sm);
  text-decoration:none; white-space:nowrap; cursor:pointer; line-height:1.1;
  transition:transform .18s ease, box-shadow .22s ease, background-color .22s ease;
}
.is-wrapper .web-primary-btn,.is-wrapper a.web-primary-btn,
.is-wrapper button.web-primary-btn,.is-wrapper input.web-primary-btn,
.is-wrapper .ww-form-container-3 input[type="submit"].button,
.is-wrapper #lead-magnet-form input[type="submit"].button,
.is-wrapper #newsletter-form input[type="submit"].button,
#header a.button,
#footer a.button{
  background:var(--btn-bg); color:var(--btn-text); box-shadow:var(--shadow-btn);
}
.is-wrapper .web-secondary-btn,.is-wrapper a.web-secondary-btn,
.is-wrapper button.web-secondary-btn,.is-wrapper input.web-secondary-btn{
  background:var(--btn-bg-2);text-transform: capitalize; color:var(--c-paper);
}
/* one shared hover for ALL buttons */
.is-wrapper .web-primary-btn:hover,.is-wrapper a.web-primary-btn:hover,
.is-wrapper button.web-primary-btn:hover,.is-wrapper input.web-primary-btn:hover,
.is-wrapper .web-secondary-btn:hover,.is-wrapper a.web-secondary-btn:hover,
.is-wrapper button.web-secondary-btn:hover,.is-wrapper input.web-secondary-btn:hover,
.is-wrapper .web-primary-btn:focus,.is-wrapper a.web-primary-btn:focus,
.is-wrapper .web-secondary-btn:focus,.is-wrapper a.web-secondary-btn:focus,
.is-wrapper .ww-form-container-3 input[type="submit"].button:hover,
.is-wrapper .ww-form-container-3 input[type="submit"].button:focus,
.is-wrapper #lead-magnet-form input[type="submit"].button:hover,
.is-wrapper #lead-magnet-form input[type="submit"].button:focus,
.is-wrapper #newsletter-form input[type="submit"].button:hover,
.is-wrapper #newsletter-form input[type="submit"].button:focus,
#header a.button:hover,
#header a.button:focus,
#footer a.button:hover,
#footer a.button:focus{
  transform:translateY(-2px); box-shadow:var(--shadow-2); outline:none;
}
.is-wrapper .web-primary-btn:hover,.is-wrapper a.web-primary-btn:hover,
.is-wrapper .ww-form-container-3 input[type="submit"].button:hover,
.is-wrapper #lead-magnet-form input[type="submit"].button:hover,
.is-wrapper #newsletter-form input[type="submit"].button:hover,
#header a.button:hover,
#footer a.button:hover{ background:var(--btn-bg-hover); }
.is-wrapper .web-secondary-btn:hover,.is-wrapper a.web-secondary-btn:hover{ background:var(--btn-bg-2-hover); }
.is-wrapper .web-primary-btn .si-arrow{ color:var(--c-lav); }
.is-wrapper .web-secondary-btn .si-arrow{ color:var(--c-accent-2); }

.is-wrapper .web-text-btn,.is-wrapper a.web-text-btn{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body);
  font-weight:600; font-size:15px; color:var(--c-ink); text-decoration:none;
  background:none; border:none; cursor:pointer; transition:color .18s ease;
}
.is-wrapper .web-text-btn:hover{ color:var(--c-primary); }

.is-wrapper .web-cta-link,.is-wrapper a.web-cta-link{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body);
  font-weight:600; font-size:15px; color:var(--c-ink); text-decoration:none;
  border-bottom:1.5px solid var(--c-accent); padding-bottom:4px;
  transition:color .18s ease, border-color .18s ease;
}
.is-wrapper .web-cta-link:hover{ color:var(--c-primary); border-color:var(--c-primary); }

/* ============================================================
   SECTION SHELLS  (wrapper-scoped backgrounds; alternate paper/tint)
   ============================================================ */
.is-wrapper > .si-sec--paper{ background:var(--c-paper); }
.is-wrapper > .si-sec--tint{ background:var(--c-tint); }
.is-wrapper > .si-sec--mist{ background:linear-gradient(180deg,#efe7f1 0%,#e6eef0 100%); }
.is-wrapper > .si-sec--sand{ background:var(--c-sand); }
.is-wrapper > .si-sec--deep{ background:var(--c-deep); }
.is-wrapper > .si-area-sec{ padding-top:64px; padding-bottom:64px; }

/* eyebrow with leading rule */
.si-eyebrow{
  font-family:var(--font-body); font-weight:600; font-size:11.5px;
  letter-spacing:.32em; text-transform:uppercase; color:var(--c-primary);
  display:flex; align-items:center; gap:14px; margin:0 0 28px;
}
.si-eyebrow::before{ content:""; width:34px; height:1px; background:currentColor; flex:none; }
.si-eyebrow.si-eyebrow--plain{ display:inline-flex; }
.si-eyebrow.si-eyebrow--plain::before{ display:none; }
.si-eyebrow.si-eyebrow--teal{ color:var(--c-accent-2); }
.si-eyebrow.si-eyebrow--lav{ color:var(--c-accent-3); }

.si-rule{ width:72px; height:1px; background:rgba(44,34,51,.28); border:0; margin:34px 0 26px; }

/* ---- HERO (full-bleed banner + overlay content card) ---- */
.is-wrapper > .si-hero-banner{ background:var(--c-ink); }
.si-hero-banner .bn-overlay{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(44,34,51,.6) 0%,rgba(44,34,51,.22) 52%,rgba(44,34,51,0) 100%);
}
.si-hero-banner .bn-content{
  max-width:600px; text-align:left; margin:0 auto 0 0;
  padding:40px 40px; border-radius:14px; color:var(--c-paper);
  background:rgba(44,34,51,.82); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.si-hero-banner .si-eyebrow{ color:var(--c-accent-2); }
.si-hero-banner .banner-main-heading{ color:var(--c-paper); margin-bottom:16px; }
.si-hero-banner .banner-main-heading .highlight-text{ color:var(--c-accent-2); }
.si-hero-banner .section-description{ color:rgba(244,238,228,.9); }
.si-hero-banner .web-cta-link{ color:var(--c-paper) !important; border-color:var(--c-accent-2); }
.si-hero-banner .web-cta-link:hover{ color:var(--c-accent-2); border-color:var(--c-accent-2); }
.si-hero-actions{ margin-top:30px; display:flex; align-items:center; gap:26px; flex-wrap:wrap; }

/* ---- shared image frames (feature rows + journal art) ---- */
.si-frame{
  position:relative; border-radius:var(--r-sm); overflow:hidden;
  border:1px solid var(--c-line); aspect-ratio:1/1.16;
  background:linear-gradient(160deg,var(--tint-lav) 0%,var(--tint-teal) 100%);
}
.si-frame svg.si-art{ position:absolute; inset:0; width:100%; height:100%; }
.si-frame-pill{
  position:absolute; top:18px; left:18px; display:inline-flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.78); padding:7px 14px; border-radius:var(--r-pill);
  font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--c-primary);
}

/* ---- CREDENTIAL MARQUEE (full-bleed dark band, auto-scroll) ---- */
.si-marquee{
  position:relative; width:100vw; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
  background:var(--c-deep);
  border-top:1px solid var(--c-line-light); border-bottom:1px solid var(--c-line-light);
  overflow:hidden; padding:22px 0;
}
.si-marquee::before,.si-marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:90px; z-index:2; pointer-events:none;
}
.si-marquee::before{ left:0; background:linear-gradient(90deg,var(--c-deep),rgba(44,34,51,0)); }
.si-marquee::after{ right:0; background:linear-gradient(270deg,var(--c-deep),rgba(44,34,51,0)); }
.si-marquee-track{
  display:flex; flex-wrap:nowrap; align-items:center; width:max-content;
  animation:si-marquee 34s linear infinite;
}
.si-marquee:hover .si-marquee-track{ animation-play-state:paused; }
.si-marquee .si-cred{ flex:none; padding:0 36px; color:var(--c-paper-soft); }
.si-marquee .si-cred .si-dot{ background:var(--c-accent-2); }
@keyframes si-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){
  .si-marquee::before,.si-marquee::after{ display:none; }
  .si-marquee-track{ animation:none; flex-wrap:wrap; justify-content:center; width:auto; gap:14px 40px; }
  .si-marquee .si-cred[aria-hidden="true"]{ display:none; }
}
.si-cred{
  display:inline-flex; align-items:center; gap:12px; font-family:var(--font-body);
  font-weight:600; font-size:14px; letter-spacing:.02em; color:var(--c-ink-3);
}
.si-dot{ width:6px; height:6px; border-radius:50%; background:var(--c-accent); flex:none; }

/* ---- FEATURE ROWS ---- */
.si-feat-head{ display:flex; align-items:baseline; gap:18px; margin-bottom:18px; }
.si-feat-index{
  font-family:var(--font-head); font-style:italic; font-weight:400;
  font-size:46px; color:var(--c-accent); line-height:.8;
}
.si-feat-body{ margin-top:22px; max-width:520px; }
.si-quote{ margin-top:34px; padding-left:26px; border-left:2px solid var(--c-accent); max-width:500px; }
.si-quote p{
  font-family:var(--font-head); font-style:italic; font-weight:400;
  font-size:27px; line-height:1.4; color:var(--c-ink); margin:0;
}
.si-quote .si-author{
  margin-top:14px; font-family:var(--font-body); font-weight:600;
  font-size:13px; letter-spacing:.04em; color:var(--c-accent-3);
}
.si-feat-frame{ aspect-ratio:1/1.06; }

/* ---- JOURNAL BAND ---- */
.si-band-top{
  border-top:1px solid rgba(44,34,51,.16); padding-top:18px;
  display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:12px;
}
.si-pills{ margin-top:30px; display:flex; flex-wrap:wrap; gap:10px; }
.si-pill{
  display:inline-flex; align-items:center; gap:8px; border:1px solid var(--c-line-2);
  padding:8px 16px; border-radius:var(--r-pill); font-family:var(--font-body);
  font-weight:600; font-size:13px; color:var(--c-ink-3);
}
.si-pill .si-dot{ width:5px; height:5px; }

.si-guide{
  border:1px solid rgba(44,34,51,.12); background:var(--c-tint); border-radius:var(--r-sm);
  overflow:hidden; box-shadow:0 30px 60px -42px rgba(44,34,51,.4);
}
.si-guide-media{
  position:relative; aspect-ratio:16/10; overflow:hidden;
  background:linear-gradient(150deg,var(--tint-lav),var(--tint-teal));
}
.si-guide-media svg.si-art{ position:absolute; inset:0; width:100%; height:100%; }
.si-guide-tag{
  position:absolute; top:16px; left:16px; font-family:var(--font-body); font-weight:600;
  font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--c-primary);
  background:rgba(255,255,255,.82); padding:6px 12px; border-radius:var(--r-pill);
}
.si-scanline{
  position:absolute; left:8%; right:8%; height:1px;
  background:linear-gradient(90deg,transparent,rgba(19,138,156,.7),transparent);
  animation:si-scan 5s ease-in-out infinite;
}
.si-guide-body{ padding:24px 26px 26px; }

/* ---- NEWSLETTER ---- */
.si-news-outer{ position:relative; border:1px solid var(--c-line-2); background:var(--c-tint); padding:14px; }
.si-news-inner{ border:1px solid rgba(44,34,51,.16); padding:72px 48px; text-align:center; position:relative; overflow:hidden; }
.si-news-inner > *{ position:relative; z-index:1; }
.si-news-inner::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1px; z-index:0; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(19,138,156,.45),transparent);
  animation:si-news-scan 6.5s ease-in-out infinite;
}
.si-news-inner .si-eyebrow{ justify-content:center; }
.si-news-glyph{ margin:0 auto 24px; display:block; }
.si-news-glyph .si-wave-path{ stroke-dasharray:5 6; animation:si-wave-flow 1.8s linear infinite; }
.si-news-glyph .si-wave-dot{ transform-box:fill-box; transform-origin:center; animation:si-wave-pulse 1.9s ease-in-out infinite; }
.si-news-glyph .si-wave-dot-2{ animation-delay:.95s; }
.si-news-inner .section-description{ margin:24px auto 0; max-width:640px; }
.si-news-inner .web-secondary-btn{ margin-top:34px; }
@keyframes si-news-scan{ 0%,100%{ top:6%; opacity:.15; } 50%{ top:94%; opacity:.6; } }
@keyframes si-wave-flow{ to{ stroke-dashoffset:-11; } }
@keyframes si-wave-pulse{ 0%,100%{ transform:scale(.7); opacity:.55; } 50%{ transform:scale(1.18); opacity:1; } }
@media (prefers-reduced-motion:reduce){
  .si-news-inner::before{ display:none; }
  .si-news-glyph .si-wave-path{ stroke-dasharray:none; animation:none; }
  .si-news-glyph .si-wave-dot{ animation:none; }
}

/* ---- SERVICE AREA (dark) — Sonographic signature ---- */
.si-area-copy,.si-area-list-cell{ position:relative; z-index:2; }
.si-sonar{
  position:absolute; top:50%; right:-160px; transform:translateY(-50%);
  width:560px; height:560px; max-width:60vw; pointer-events:none; z-index:0; opacity:.4;
}
.si-sonar svg{ width:100%; height:100%; display:block; }
.si-sonar .ring{ transform-box:fill-box; transform-origin:center; animation:si-sonar 4.5s ease-out infinite; }
.si-sonar .ring-2{ animation-delay:1.5s; }
.si-sonar .ring-3{ animation-delay:3s; }
@keyframes si-sonar{ 0%{ opacity:.6; transform:scale(.72); } 70%{ opacity:0; } 100%{ opacity:0; transform:scale(1.16); } }
.si-area-lead{
  font-family:var(--font-head); font-weight:400; font-size:clamp(26px,3vw,38px);
  line-height:1.32; letter-spacing:-.005em; color:var(--c-paper); text-wrap:pretty; margin:0;
}
.si-area-lead em{ font-style:italic; color:var(--c-accent-2); }
.si-area-list{
  position:relative; display:flex; flex-wrap:wrap;
  background:rgba(15,11,18,.42); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  border:1px solid var(--c-line-light); border-radius:12px; padding:4px 20px;
}
.si-area-item{
  width:50%; display:inline-flex; align-items:center; gap:11px; padding:15px 8px;
  border-bottom:1px solid var(--c-line-light); font-family:var(--font-body);
  font-size:15px; font-weight:500; color:var(--c-paper-soft);
}
.si-area-list .si-area-item:nth-last-child(-n+2){ border-bottom:none; }
.si-area-item .si-dot{ animation:si-blink 2.4s ease-in-out infinite; transition:box-shadow .2s ease; }
a.si-area-item{ text-decoration:none; transition:color .2s ease; }
a.si-area-item::after{
  content:"\2192"; padding-left:10px; color:var(--c-accent-2);
  opacity:0; transform:translateX(-6px); transition:opacity .2s ease, transform .2s ease;
}
a.si-area-item:hover{ color:var(--c-accent-2); }
a.si-area-item:hover::after{ opacity:1; transform:translateX(0); }
a.si-area-item:hover .si-dot{ box-shadow:0 0 0 4px rgba(127,212,226,.18); }

@keyframes si-scan{ 0%,100%{ top:18%; opacity:.25 } 50%{ top:82%; opacity:.9 } }
@keyframes si-blink{ 0%,100%{ opacity:.35 } 50%{ opacity:1 } }
@media (prefers-reduced-motion:reduce){
  .si-scanline,.si-area-item .si-dot,.si-sonar .ring{ animation:none; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media all and (max-width:1023.5px){
  .si-hero-banner .bn-content{ max-width:100%; background:var(--c-ink); border-radius:0; padding:32px 24px; }
  .si-hero-banner .bn-overlay{ display:none; }
  .si-quote p{ font-size:23px; }
  .si-area-item{ width:100%; }
  .si-area-list .si-area-item:nth-last-child(2){ border-bottom:1px solid var(--c-line-light); }
  .si-area-list .si-area-item:last-child{ border-bottom:none; }
}
@media all and (max-width:640px){
  .is-wrapper > .si-area-sec{ padding-top:36px; padding-bottom:36px; }
  .is-wrapper .banner-main-heading{ line-height:1.04; }
  .si-eyebrow{ margin-bottom:20px; }
  .si-hero-actions{ gap:18px; }
  .si-news-inner{ padding:48px 22px; }
  .si-feat-index{ font-size:38px; }
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
/* real-photo media frames */
.si-photo{
  position:relative; border-radius:var(--r-sm); overflow:hidden;
  border:1px solid var(--c-line); box-shadow:var(--shadow-2);
  aspect-ratio:4/5; background:var(--c-tint);
}
.si-photo--wide{ aspect-ratio:4/3; }
.si-photo--tall{ aspect-ratio:3/4; }
.si-photo img{ display:block; width:100%; height:100%; object-fit:cover; }
.si-photo-pill{
  position:absolute; top:16px; left:16px; z-index:2; background:rgba(255,255,255,.85);
  padding:7px 14px; border-radius:var(--r-pill); font-family:var(--font-body);
  font-weight:600; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--c-primary);
}

/* stacked prose + block heads */
.si-prose > p + p{ margin-top:18px; }
.si-block-head{ margin-bottom:24px; }

/* founder */
.si-founder-photo{ position:relative; }

/* mission band (deep) */
.si-mission{ max-width:880px; margin:0 auto; }
.si-mission .si-news-glyph{ margin:0 auto 26px; }
.si-mission-quote{
  font-family:var(--font-head); font-weight:400; font-size:clamp(26px,3.4vw,44px);
  line-height:1.34; color:var(--c-paper); margin:0; text-wrap:balance;
}
.si-mission-author{
  margin:26px 0 0; font-family:var(--font-body); font-weight:600; font-size:13px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--c-accent-2);
}

/* testimonials */
.si-testi-cell{ margin-bottom:var(--gap); }
.si-testi-card{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-sm);
  padding:36px 32px; height:100%; box-shadow:var(--shadow-1); position:relative;
  transition:transform .2s ease, box-shadow .22s ease;
}
.si-testi-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); }
.si-testi-mark{
  font-family:var(--font-head); font-size:54px; line-height:.5; color:var(--c-accent);
  opacity:.45; display:block; margin-bottom:6px;
}
.si-testi-quote{
  font-family:var(--font-head); font-style:italic; font-weight:400; font-size:22px;
  line-height:1.42; color:var(--c-ink); margin:0 0 22px; text-wrap:pretty;
}
.si-testi-name{ font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--c-ink); margin:0; }
.si-testi-role{
  font-family:var(--font-body); font-weight:600; font-size:12px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--c-accent-3); margin:5px 0 0;
}

@media all and (max-width:1023px){
  .si-founder-photo,.si-story-media{ margin-bottom:30px; }
}

/* ============================================================
   ABOUT PAGE — INTERACTIONS
   ============================================================ */
/* photo / frame hover: gentle zoom + teal scan-line sweep */
.si-photo img{ transition:transform .65s cubic-bezier(.2,.7,.2,1); will-change:transform; }
.si-photo:hover img{ transform:scale(1.06); }
.si-frame svg.si-art{ transition:transform .65s cubic-bezier(.2,.7,.2,1); transform-origin:center; will-change:transform; }
.si-frame:hover svg.si-art{ transform:scale(1.05); }
.si-frame-pill{ z-index:2; transition:transform .3s ease; }
.si-photo::after,
.si-frame::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(127,212,226,.30) 50%,transparent 100%);
  transform:translateY(-120%); transition:transform .9s ease;
}
.si-photo:hover::after,
.si-frame:hover::after{ transform:translateY(120%); }
.si-photo-pill{ transition:transform .3s ease; }
.si-photo:hover .si-photo-pill{ transform:translateY(-2px); }
.si-frame:hover .si-frame-pill{ transform:translateY(-2px); }

/* testimonial hover: growing accent bar + quote-mark lift */
.si-testi-card::before{
  content:""; position:absolute; left:0; top:0; height:3px; width:0; border-radius:2px 2px 0 0;
  background:linear-gradient(90deg,var(--c-accent),var(--c-primary)); transition:width .4s ease;
}
.si-testi-card:hover::before{ width:100%; }
.si-testi-card .si-testi-mark{ transition:transform .3s ease, opacity .3s ease; }
.si-testi-card:hover .si-testi-mark{ transform:translateY(-3px); opacity:.7; }

@media (prefers-reduced-motion: reduce){
  .si-photo img,.si-photo:hover img,
  .si-frame svg.si-art,.si-frame:hover svg.si-art{ transition:none; transform:none; }
  .si-photo::after,.si-frame::after{ display:none; }
}

/* ---- WHY CHOOSE US — editorial ---- */
.si-why-frame{ position:relative; }
.si-why-frame::before{
  content:""; position:absolute; left:-22px; bottom:-22px; width:58%; height:58%;
  background:var(--tint-teal); border-radius:var(--r-sm); z-index:0;
}
.si-why-frame::after{
  content:""; position:absolute; right:-16px; top:-16px; width:42%; height:42%;
  border:1px solid var(--c-lav); border-radius:var(--r-sm); z-index:0;
}
.si-why-frame .si-photo{ position:relative; z-index:1; }
.si-why-copy .section-main-heading{ margin-bottom:0; }
.si-why-copy .section-main-heading::after{
  content:""; display:block; width:56px; height:3px; margin-top:16px; border-radius:2px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-primary));
}
.si-why-lead{
  font-family:var(--font-head); font-style:italic; font-weight:400;
  font-size:clamp(21px,2.4vw,28px); line-height:1.4; color:var(--c-ink); margin:22px 0 18px;
}
@media all and (max-width:1023px){
  .si-why-media{ margin-bottom:44px; }
  .si-why-frame::before{ left:-12px; bottom:-12px; }
  .si-why-frame::after{ right:-10px; top:-10px; }
}

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.si-svc-intro{ max-width:780px; margin:0 auto; text-align:center; }
.si-svc-intro .section-main-heading{ margin:0 0 18px; }
.si-svc-intro .section-main-heading::after{
  content:""; display:block; width:60px; height:3px; margin:18px auto 0; border-radius:2px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-primary));
}
.si-svc-intro .section-description{ margin:0 auto; }

/* featured service (horizontal) */
.si-svc-feature{
  display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch;
  background:var(--c-tint); border:1px solid var(--c-line); border-radius:var(--r-sm);
  overflow:hidden; box-shadow:var(--shadow-1); margin-bottom:var(--gap);
  transition:transform .22s ease, box-shadow .24s ease;
}
.si-svc-feature:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); }
.si-svc-feature .si-photo{ border:0; border-radius:0; box-shadow:none; aspect-ratio:auto; min-height:360px; }
.si-svc-feature-body{ padding:clamp(28px,3.4vw,52px); display:flex; flex-direction:column; justify-content:center; }
.si-svc-feature-body .content-text{ font-size:17px; }

/* service grid cards (vertical) */
.si-svc-cell{ margin-bottom:var(--gap); }
.si-svc-cards{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:var(--gap); }
.si-svc-cards > .si-svc-card{ flex:1 1 300px; max-width:362px; height:auto; text-decoration:none; color:inherit; }
.si-svc-cards > .si-svc-card:focus-visible{ outline:2px solid var(--c-accent); outline-offset:3px; }
.si-svc-cards > .si-svc-card:hover .si-svc-link{ color:var(--c-primary); border-color:var(--c-primary); }
.si-svc-card{
  display:flex; flex-direction:column; height:100%;
  background:var(--c-tint); border:1px solid var(--c-line); border-radius:var(--r-sm);
  overflow:hidden; box-shadow:var(--shadow-1);
  transition:transform .22s ease, box-shadow .24s ease;
}
.si-svc-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); }
.si-svc-card .si-photo{ border:0; border-radius:0; box-shadow:none; aspect-ratio:16/10; }
.si-svc-body{ padding:30px 28px 32px; display:flex; flex-direction:column; flex:1 1 auto; }

/* shared card bits */
.si-svc-index{
  font-family:var(--font-head); font-weight:600; font-size:14px; letter-spacing:.14em;
  color:var(--c-accent-3); margin:0 0 10px;
}
.si-svc-title{ margin:0 0 12px; }
.si-svc-body .content-text,.si-svc-feature-body .content-text{ margin:0 0 22px; }
.si-svc-link{ margin-top:auto; align-self:flex-start; }
.si-svc-link .si-arrow{ display:inline-block; transition:transform .25s ease; }
.si-svc-card:hover .si-svc-link .si-arrow,
.si-svc-feature:hover .si-svc-link .si-arrow{ transform:translateX(5px); }

/* whole-card hover triggers image zoom + sweep */
.si-svc-card:hover .si-photo img,
.si-svc-feature:hover .si-photo img{ transform:scale(1.06); }
.si-svc-card:hover .si-photo::after,
.si-svc-feature:hover .si-photo::after{ transform:translateY(120%); }

@media all and (max-width:860px){
  .si-svc-feature{ grid-template-columns:1fr; }
  .si-svc-feature .si-photo{ min-height:240px; }
}

/* ============================================================
   SERVICE DETAIL — 3D & 4D PREGNANCY IMAGING
   ============================================================ */
/* editorial split — copy TOP-aligned so heading top matches image top */
.si-md-copy{ display:flex; flex-direction:column; justify-content:flex-start; height:100%; }
.si-md-copy .section-main-heading{ margin:0 0 18px; }
/* single-column intro (no media) */
.si-md-solo{ max-width:900px; margin:0 auto; }
.si-md-solo .section-main-heading{ margin:0 0 18px; }
/* editorial media — natural wide aspect, sits at top of its cell (aligns with heading) */
.si-md-media{ width:100%; }
/* desktop: image stretches to fill column height (kills blank space, bottoms align).
   flex-direction:column => only vertical growth, cell width (Foundation 50%) untouched */
@media all and (min-width:1024px){
  .si-md-mediacell{ display:flex; flex-direction:column; }
  .si-md-mediacell > .si-md-media{ flex:1 1 auto; min-height:0; }
  .si-md-mediacell .si-photo{ height:100%; aspect-ratio:auto; }
}

/* check list — premium interactive */
.si-ticks{ list-style:none; margin:28px 0 0; padding:0; }
.si-ticks li{
  position:relative; padding:13px 0 13px 46px; margin:0;
  font-family:var(--font-body); color:var(--c-ink-3); font-size:16px; line-height:1.55;
  border-bottom:1px solid var(--c-line);
  transition:color .22s ease, padding-left .24s ease;
}
.si-ticks li:last-child{ border-bottom:0; }
.si-ticks li::before{
  content:"\f00c"; font-family:"Font Awesome 5 Pro"; font-weight:900; font-size:11px; color:#fff;
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:28px; height:28px; line-height:28px; text-align:center; border-radius:50%;
  background:linear-gradient(135deg,var(--c-accent),var(--c-primary));
  box-shadow:0 6px 14px rgba(109,63,158,.22); transition:transform .25s ease;
}
.si-ticks li:hover{ color:var(--c-ink); padding-left:52px; }
.si-ticks li:hover::before{ transform:translateY(-50%) scale(1.1); }
@media (prefers-reduced-motion: reduce){
  .si-ticks li:hover{ padding-left:46px; }
  .si-ticks li:hover::before{ transform:translateY(-50%); }
}

/* benefit cards — icon LEFT, heading+text RIGHT */
.si-benefit-cell{ margin-bottom:var(--gap); }
.si-benefit{
  height:100%; background:var(--c-tint); border:1px solid var(--c-line); border-radius:var(--r-sm);
  padding:32px; box-shadow:var(--shadow-1);
  display:flex; align-items:flex-start; gap:22px;
  transition:transform .22s ease, box-shadow .24s ease;
}
.si-benefit:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); }
.si-benefit-ico{
  flex:0 0 64px; width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:26px; color:#fff; margin:0;
  background:linear-gradient(135deg,var(--c-accent),var(--c-primary));
  box-shadow:0 12px 24px rgba(109,63,158,.22); transition:transform .3s ease;
}
.si-benefit:hover .si-benefit-ico{ transform:rotate(-6deg) scale(1.06); }
.si-benefit-body{ flex:1 1 auto; min-width:0; }
.si-benefit .content-heading{ margin:0 0 10px; }
.si-benefit .content-text{ margin:0; }
@media all and (max-width:480px){
  .si-benefit{ gap:16px; padding:26px 22px; }
  .si-benefit-ico{ flex-basis:54px; width:54px; height:54px; font-size:22px; }
}

/* service-area — high-end coverage panel (dark, framed) */
.si-areas .section-main-heading{ color:var(--c-paper); }
.si-areas .section-description{ color:color-mix(in srgb, var(--c-paper) 75%, transparent); }
.si-areas-panel{
  position:relative; overflow:hidden; isolation:isolate;
  padding:clamp(44px,5.5vw,76px) clamp(28px,5vw,76px);
  border:1px solid var(--c-line-light); border-radius:var(--r-sm);
  box-shadow:var(--shadow-2), inset 0 1px 0 color-mix(in srgb, var(--c-paper) 12%, transparent);
  background:
    repeating-linear-gradient(0deg, transparent 0 43px, color-mix(in srgb, var(--c-paper) 3%, transparent) 43px 44px),
    repeating-linear-gradient(90deg, transparent 0 43px, color-mix(in srgb, var(--c-paper) 3%, transparent) 43px 44px),
    radial-gradient(120% 80% at 12% -10%, color-mix(in srgb, var(--c-accent) 20%, transparent), transparent 52%),
    radial-gradient(120% 90% at 100% 110%, color-mix(in srgb, var(--c-accent-3) 24%, transparent), transparent 55%),
    linear-gradient(180deg, var(--c-deep), var(--c-deep-2));
}
.si-areas-panel::before{
  content:""; position:absolute; z-index:-1; inset:-30%; pointer-events:none;
  background:
    radial-gradient(40% 40% at 30% 28%, color-mix(in srgb, var(--c-accent) 32%, transparent), transparent 70%),
    radial-gradient(46% 46% at 72% 64%, color-mix(in srgb, var(--c-primary) 34%, transparent), transparent 70%);
  filter:blur(44px); opacity:.5;
  animation:si-aurora 20s ease-in-out infinite alternate;
}
.si-areas-panel::after{
  content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes si-aurora{
  0%{ transform:translate3d(-4%,-3%,0) scale(1); }
  100%{ transform:translate3d(5%,4%,0) scale(1.12); }
}
.si-areas-panel > *{ position:relative; z-index:1; }
.si-areas-head{ max-width:760px; margin:0 auto 46px; text-align:center; }
.si-areas-head .section-main-heading{ margin:0; }
.si-areas-head .section-main-heading::before{
  content:""; display:block; width:48px; height:3px; border-radius:2px; margin:0 auto 18px;
  background:linear-gradient(90deg, var(--c-accent), var(--c-primary));
}
.si-areas-head .section-description{ margin:16px auto 0; max-width:600px; }
.si-loc-list{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:18px; }
.si-loc{
  flex:1 1 300px; max-width:340px;
  display:flex; align-items:center; gap:16px;
  padding:22px 26px; border:1px solid var(--c-line-light); border-radius:var(--r-sm);
  background:color-mix(in srgb, var(--c-paper) 4%, transparent);
  text-decoration:none; cursor:pointer;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), background-color .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.si-loc:focus-visible{ outline:2px solid var(--c-accent-2); outline-offset:3px; }
.si-loc-ico{
  flex:0 0 auto; position:relative; overflow:hidden;
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid color-mix(in srgb, var(--c-paper) 22%, transparent);
  color:var(--c-accent-2);
  transition:border-color .4s ease, color .4s ease, transform .4s ease, box-shadow .4s ease;
}
.si-loc-ico svg{ position:relative; z-index:3; width:21px; height:21px; display:block; }
.si-loc-ico::before,
.si-loc-ico::after{
  content:""; position:absolute; left:-50%; width:200%; height:200%;
  background:linear-gradient(180deg, var(--c-accent), var(--c-primary));
  transition:top .65s cubic-bezier(.4,0,.2,1);
}
.si-loc-ico::before{ z-index:1; top:102%; border-radius:43% 47% 45% 46%; animation:si-water 7s linear infinite; }
.si-loc-ico::after{
  z-index:2; top:110%; border-radius:46% 44% 47% 43%; opacity:.85;
  background:linear-gradient(180deg, var(--c-accent-2), var(--c-accent));
  animation:si-water 5s linear infinite reverse;
}
.si-loc:hover .si-loc-ico::before{ top:-52%; }
.si-loc:hover .si-loc-ico::after{ top:-46%; }
@keyframes si-water{ to{ transform:rotate(360deg); } }
.si-loc-name{
  flex:1 1 auto; margin:0;
  font-family:var(--font-head); font-weight:500; letter-spacing:-.01em; line-height:1.2;
  font-size:clamp(18px,1.5vw,22px); color:var(--c-paper);
  transition:color .35s ease;
}
.si-loc:hover{
  transform:translateY(-5px);
  background-color:color-mix(in srgb, var(--c-paper) 7%, transparent);
  border-color:color-mix(in srgb, var(--c-accent) 45%, transparent);
  box-shadow:0 18px 40px color-mix(in srgb, var(--c-deep) 55%, transparent);
}
.si-loc:hover .si-loc-ico{
  border-color:transparent; color:#fff; transform:scale(1.06);
  box-shadow:0 8px 20px color-mix(in srgb, var(--c-primary) 42%, transparent);
}
.si-loc:hover .si-loc-name{ color:var(--c-accent-2); }
@media (prefers-reduced-motion: reduce){
  .si-areas-panel::before{ animation:none; }
  .si-loc, .si-loc-ico, .si-loc-name{ transition:none; }
  .si-loc-ico::before, .si-loc-ico::after{ animation:none; transition:none; }
  .si-loc:hover{ transform:none; }
  .si-loc:hover .si-loc-ico{ transform:none; }
}
@media all and (max-width:680px){ .si-loc{ flex:1 1 100%; max-width:none; } }

/* FAQ accordion (pure CSS, native <details>) */
.si-faq{ max-width:880px; margin:0 auto; }
.si-faq-item{
  background:var(--c-tint); border:1px solid var(--c-line); border-radius:var(--r-sm);
  margin-bottom:14px; overflow:hidden; transition:box-shadow .22s ease;
}
.si-faq-item[open]{ box-shadow:var(--shadow-1); }
.si-faq-item > summary{
  list-style:none; cursor:pointer; position:relative; padding:22px 58px 22px 26px;
  font-family:var(--font-head); font-weight:600; font-size:19px; color:var(--c-ink);
}
.si-faq-item > summary::-webkit-details-marker{ display:none; }
.si-faq-item > summary::after{
  content:"\f067"; font-family:"Font Awesome 5 Pro"; font-weight:900; font-size:13px;
  position:absolute; right:22px; top:50%; transform:translateY(-50%);
  width:30px; height:30px; line-height:30px; text-align:center; border-radius:50%;
  color:var(--c-accent); background:var(--tint-teal); transition:background .2s ease,color .2s ease;
}
.si-faq-item[open] > summary::after{ content:"\f068"; background:var(--c-accent); color:#fff; }
.si-faq-body{ padding:0 26px 24px; }
.si-faq-body p{ margin:0; color:var(--c-ink-2); }
.si-faq-item[open] .si-faq-body{ animation:si-faq-in .28s ease; }
@keyframes si-faq-in{ from{ opacity:0; transform:translateY(-4px);} to{ opacity:1; transform:none; } }

@media (prefers-reduced-motion: reduce){
  .si-benefit:hover .si-benefit-ico{ transform:none; }
  .si-faq-item[open] .si-faq-body{ animation:none; }
}

/* ===================== CONTACT PAGE ===================== */
.si-contact-wrap{ display:flex; flex-wrap:wrap; align-items:stretch; gap:var(--gap); }
.si-contact-aside{ flex:1 1 340px; display:flex; flex-direction:column; gap:18px; }
.si-contact-main{ flex:1 1 520px; }

/* contact detail tiles */
.si-contact-card{
  position:relative; display:flex; align-items:flex-start; gap:18px;
  padding:26px 28px; background:var(--c-paper); border:1px solid var(--c-line);
  border-radius:var(--r-sm); box-shadow:var(--shadow-1); overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.si-contact-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--c-accent), var(--c-primary));
  transform:scaleY(0); transform-origin:top; transition:transform .35s ease;
}
.si-contact-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); border-color:transparent; }
.si-contact-card:hover::before{ transform:scaleY(1); }
.si-contact-ico{
  flex:0 0 auto; width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--tint-teal); color:var(--c-accent);
  font-size:20px; transition:background .3s ease, color .3s ease, transform .3s ease;
}
.si-contact-card:hover .si-contact-ico{
  background:linear-gradient(135deg, var(--c-accent), var(--c-primary)); color:#fff; transform:scale(1.06);
}
.si-contact-meta{ min-width:0; }
.si-contact-label{
  margin:0 0 6px; font-family:var(--font-head); font-weight:600;
  font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--c-primary);
}
.si-contact-value{ margin:0; color:var(--c-ink-2); font-size:var(--fs-body); line-height:1.55; word-break:break-word; }
a.si-contact-value{ color:var(--c-ink-2); text-decoration:none; transition:color .25s ease; }
a.si-contact-value:hover{ color:var(--c-accent); }

/* form shell — Webware platform form injects inside */
.si-contact-form-shell{
  position:relative; height:100%; padding:clamp(28px,4vw,48px);
  background:
    radial-gradient(120% 90% at 12% 0%, color-mix(in srgb, var(--c-primary) 8%, transparent), transparent 60%),
    var(--c-tint);
  border:1px solid var(--c-line); border-radius:var(--r-sm);
  box-shadow:var(--shadow-1); overflow:hidden; isolation:isolate;
}
.si-contact-form-shell::after{
  content:""; position:absolute; right:-60px; bottom:-60px; width:220px; height:220px; z-index:-1;
  background:radial-gradient(circle, color-mix(in srgb, var(--c-accent) 22%, transparent), transparent 70%);
  filter:blur(8px);
}
.si-contact-form-shell > .si-eyebrow{ margin-top:0; }

@media all and (max-width:980px){
  .si-contact-aside, .si-contact-main{ flex:1 1 100%; }
}

/* ===================== BLOG LISTING PAGE ===================== */
.new-blog-page-type .main-blog-widget{ padding-top:clamp(34px,5vw,60px); }

/* ---- search bar ---- */
.new-blog-page-type .blog-search-container{ max-width:720px; margin:0 auto 8px; }
.new-blog-page-type .blog-search-container .position-relative{ position:relative; }
.new-blog-page-type #search-input-blog{
  width:100%; height:58px; margin:0 !important; box-sizing:border-box;
  padding:8px 22px 8px 52px; font-family:var(--font-body); font-size:16px; color:var(--c-ink);
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-pill);
  box-shadow:var(--shadow-1); transition:border-color .25s ease, box-shadow .25s ease;
}
.new-blog-page-type #search-input-blog::placeholder{ color:var(--c-ink-2); }
.new-blog-page-type #search-input-blog:focus{
  outline:none; border-color:var(--c-accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--c-accent) 16%, transparent);
}
/* beats any equal-specificity !important from theme/platform regardless of load order */
body .new-blog-page-type #search-input-blog.search-input-blog{ margin:0 !important; }
.new-blog-page-type .blog-search-button{
  position:absolute; left:18px; top:50%; transform:translateY(-50%);
  width:22px; height:22px; padding:0; border:0; background:none; cursor:pointer;
  color:var(--c-accent); line-height:0;
}
.new-blog-page-type .blog-search-button svg{ width:18px; height:18px; display:block; }
.new-blog-page-type .blog-search-button svg path{ fill:currentColor; }
.new-blog-page-type .blog-search-button:hover{ color:var(--c-primary); box-shadow:none; }

/* ---- category heading (shared) ---- */
.new-blog-page-type .articles-filter-container .filter-h2{
  margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid var(--c-line);
  font-size:clamp(21px,2.2vw,25px);
}

/* ---- sidebar (desktop) ---- */
.new-blog-page-type .blog-sidebar .articles-filter-container.show-for-large{
  position:sticky; top:24px;
  padding:28px 26px; background:var(--c-tint);
  border:1px solid var(--c-line); border-radius:var(--r-sm); box-shadow:var(--shadow-1);
}
.new-blog-page-type .blog-sidebar .ps-blog-category{ margin:0; padding:0; list-style:none; }
.new-blog-page-type .blog-sidebar .ps-blog-category li{
  list-style:none; margin:0; border-bottom:1px solid var(--c-line);
}
.new-blog-page-type .blog-sidebar .ps-blog-category li:last-child{ border-bottom:0; }
.new-blog-page-type .blog-sidebar .ps-blog-category li a{
  display:block; padding:11px 4px; color:var(--c-ink-2); text-decoration:none; text-transform:capitalize;
  font-family:var(--font-body); font-size:15.5px; border:0; background:none;
  transition:color .2s ease, padding-left .2s ease;
}
.new-blog-page-type .blog-sidebar .ps-blog-category li a:hover{ color:var(--c-accent); padding-left:12px; }
.new-blog-page-type .blog-sidebar .ps-blog-category li.active{ border-bottom:0; }
.new-blog-page-type .ps-blog-category li a.all-blogs.button{
  display:inline-block; width:auto; padding:9px 26px; margin:0 0 12px; border:0;
  background:linear-gradient(135deg, var(--c-primary), var(--c-accent)); color:#fff;
  border-radius:var(--r-pill); font-family:var(--font-head); font-weight:600; letter-spacing:.04em;
  font-size:14px; text-transform:none; box-shadow:var(--shadow-btn);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.new-blog-page-type .ps-blog-category li a.all-blogs.button:hover{
  padding-left:26px; transform:translateY(-2px); filter:brightness(1.05);
}

/* ---- mobile categories (pills) ---- */
.new-blog-page-type .articles-filter-container.hide-for-large{ margin-bottom:28px; }
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category{
  display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; max-height:none; overflow:visible;
}
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li{
  list-style:none; margin:0; width:auto;
}
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li a{
  display:inline-block; width:auto; padding:7px 16px; border:1px solid var(--c-line);
  background:var(--c-paper); color:var(--c-ink-2); border-radius:var(--r-pill);
  font-family:var(--font-body); font-size:14px; text-transform:capitalize; text-decoration:none; text-align:left;
  transition:color .2s ease, background .2s ease, border-color .2s ease;
}
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li a:hover{
  color:var(--c-accent); background:var(--tint-teal); border-color:color-mix(in srgb, var(--c-accent) 50%, var(--c-line));
}

/* ---- article cards ---- */
.new-blog-page-type .blog-ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--gap); }
.new-blog-page-type .blog-li{ list-style:none; margin:0; }
.new-blog-page-type .blog-li .row{ margin:0; max-width:none; padding:0; }
.new-blog-page-type .blog-article{
  float:none; width:100%; padding:0; display:flex; flex-direction:column;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-sm);
  overflow:hidden; box-shadow:var(--shadow-1);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.new-blog-page-type .blog-article:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); border-color:transparent; }
.new-blog-page-type .ps-article-img{ margin:0; overflow:hidden; }
.new-blog-page-type .ps-article-img img{
  display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; margin:0;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.new-blog-page-type .blog-article:hover .ps-article-img img{ transform:scale(1.05); }

/* inner padding for text blocks (image stays full-bleed) — scoped to cards only */
.new-blog-page-type .blog-article .article-category,
.new-blog-page-type .blog-article .article-title,
.new-blog-page-type .blog-article .article-body,
.new-blog-page-type .blog-article .item-body,
.new-blog-page-type .blog-article > p.pb-0{
  padding-left:clamp(22px,3vw,32px); padding-right:clamp(22px,3vw,32px);
}
.new-blog-page-type .blog-article .article-category{
  margin:0; padding-top:24px;
  font-family:var(--font-head); font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink-2);
}
.new-blog-page-type .blog-article .article-category .categories_text{ color:var(--c-primary); font-weight:600; }
.new-blog-page-type .blog-article .article-category a{ color:var(--c-accent); text-decoration:none; transition:color .2s ease; }
.new-blog-page-type .blog-article .article-category a:hover{ color:var(--c-primary); }

.new-blog-page-type .blog-article .article-title{ margin:11px 0 12px; }
.new-blog-page-type .blog-article .article-title a{
  font-family:var(--font-head); font-weight:500; font-size:clamp(22px,2.6vw,30px); line-height:1.12;
  letter-spacing:-.01em; color:var(--c-ink); text-decoration:none; text-wrap:balance; transition:color .2s ease;
}
.new-blog-page-type .blog-article .article-title a:hover{ color:var(--c-accent); }

.new-blog-page-type .blog-article .article-body,
.new-blog-page-type .blog-article .item-body{ margin:0; }
.new-blog-page-type .blog-article .article-body p,
.new-blog-page-type .blog-article .item-body p{
  margin:0; color:var(--c-ink-2); font-size:var(--fs-body); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.new-blog-page-type .blog-article > p.pb-0{ margin:0; padding-top:0; padding-bottom:26px; }
.new-blog-page-type .blog-read-more{
  display:inline-flex; align-items:center; gap:8px; margin-top:16px; border:0; background:none;
  font-family:var(--font-head); font-weight:600; font-size:15px; letter-spacing:.02em;
  color:var(--c-primary); text-decoration:none; transition:gap .2s ease, color .2s ease;
}
.new-blog-page-type .blog-read-more::after{ content:"\2192"; transition:transform .2s ease; }
.new-blog-page-type .blog-read-more:hover{ color:var(--c-accent); gap:12px; }
.new-blog-page-type .blog-article:hover .blog-read-more{ color:var(--c-accent); }

/* ---- pagination ---- */
.new-blog-page-type .ps-pagination-bar{ margin-top:42px; }
.new-blog-page-type .ps-pagination-bar span{ border-radius:var(--r-sm); }
.new-blog-page-type .ps-pagination-bar span.current,
.new-blog-page-type .ps-pagination-bar span.next,
.new-blog-page-type .ps-pagination-bar span.prev{ border-color:var(--c-primary); color:var(--c-primary); }

@media all and (max-width:1023.5px){
  .new-blog-page-type .blog-sidebar{ margin-top:0; }
}

/* =====================================================================
   BLOG — SINGLE ARTICLE (detail) PAGE  .article-page-type
   ===================================================================== */
/* article H1 — sits above the media row, NOT a card so no side padding */
.article-page-type .blog-article-content > .article-title{
  margin:0 0 clamp(20px,3vw,30px); padding:0;
  font-family:var(--font-head); font-weight:500; color:var(--c-ink);
  line-height:1.04; letter-spacing:-.01em; text-wrap:balance;
}

/* hero media row spacing */
.article-page-type .blog-article-content > .grid-x{ margin-bottom:clamp(28px,4vw,42px); }

/* hero featured image */
.article-page-type .cell.large-8 .ps-article-img{ margin:0; border-radius:var(--r-sm); overflow:hidden; box-shadow:var(--shadow-2); }
.article-page-type .cell.large-8 .ps-article-img img{ width:100%; display:block; aspect-ratio:16/10; object-fit:cover; }

/* author / meta panel */
.article-page-type .blog-author{
  margin:0; padding:clamp(22px,2.6vw,30px);
  background:var(--c-tint); border:1px solid var(--c-line); border-left:3px solid var(--c-accent);
  border-radius:var(--r-sm);
}
.article-page-type .blog-author .lab-ul{ list-style:none; margin:0; padding:0; line-height:1.7; }
.article-page-type .blog-author .lab-ul li{ margin:0 0 8px; }
.article-page-type .blog-author .author_name{
  font-family:var(--font-head); font-size:clamp(19px,2vw,22px); font-weight:600; color:var(--c-ink); letter-spacing:.005em;
}
.article-page-type .blog-author .pubdate,
.article-page-type .blog-author time{
  font-family:var(--font-body); font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink-2);
}
.article-page-type .blog-author .lab-ul{
  font-family:var(--font-head); font-size:12px; letter-spacing:.11em; text-transform:uppercase; color:var(--c-ink-2);
  padding-top:14px;
}
.article-page-type .blog-author .lab-ul > li{ text-transform:none; letter-spacing:normal; }
.article-page-type .blog-author .lab-ul a{
  font-family:var(--font-body); font-size:13px; letter-spacing:.02em; text-transform:none;
  color:var(--c-accent); text-decoration:none; transition:color .2s ease;
}
.article-page-type .blog-author .lab-ul a:hover{ color:var(--c-primary); }

/* divider above the long-form body */
.article-page-type .blog-article-content > .grid-x + .article-body{ padding-top:clamp(8px,2vw,16px); }

/* ---- long-form RTE typography ---- */
.article-page-type .article-body.rte{ max-width:820px; }
.article-page-type .article-body.rte h2{
  font-family:var(--font-head); font-weight:500; color:var(--c-ink);
  font-size:clamp(24px,3vw,32px); line-height:1.16; letter-spacing:-.005em; text-wrap:balance;
  margin:clamp(36px,4.5vw,48px) 0 14px; padding-top:clamp(20px,3vw,28px); border-top:1px solid var(--c-line);
}
.article-page-type .article-body.rte > h2:first-child{ margin-top:0; padding-top:0; border-top:0; }
.article-page-type .article-body.rte p{
  font-family:var(--font-body); color:var(--c-ink-2); font-size:var(--fs-body); line-height:1.78; margin:0 0 20px;
}
.article-page-type .article-body.rte strong{ color:var(--c-ink); font-weight:700; }
.article-page-type .article-body.rte a{
  color:var(--c-accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
  transition:color .2s ease;
}
.article-page-type .article-body.rte a:hover{ color:var(--c-primary); }
/* custom diamond bullets */
.article-page-type .article-body.rte ul{ list-style:none; margin:0 0 26px; padding:0; }
.article-page-type .article-body.rte ul li{
  position:relative; padding-left:30px; margin-bottom:13px;
  font-family:var(--font-body); color:var(--c-ink-2); font-size:var(--fs-body); line-height:1.72;
}
.article-page-type .article-body.rte ul li::before{
  content:""; position:absolute; left:2px; top:.62em; width:9px; height:9px; border-radius:2px;
  background:linear-gradient(135deg, var(--c-accent), var(--c-primary)); transform:rotate(45deg);
}

/* ---- Recent Posts sidebar ---- */
.article-page-type .blog-sidebar{
  margin-top:clamp(44px,5vw,64px); padding-top:clamp(34px,4vw,48px); border-top:1px solid var(--c-line);
}
.article-page-type .blog-sidebar-h2{ margin:0 0 clamp(22px,3vw,30px); }
.article-page-type .ps-blog-recent-posts{
  list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:var(--gap);
}
.article-page-type .ps-blog-recent-posts .blog-li{ margin:0; }
.article-page-type .ps-blog-recent-posts .row{ margin:0; height:100%; }
.article-page-type .ps-blog-recent-posts .blog-article{ width:100%; height:100%; padding:0; float:none; }

@media all and (max-width:1023.5px){
  .article-page-type .cell.large-8 .ps-article-img{ margin-bottom:18px; }
  .article-page-type .ps-blog-recent-posts{ grid-template-columns:1fr; }
}

/* =====================================================================
   WEBWARE CONTACT FORM  .ww-form-container-3
   (submit button inherits the global web-primary-btn rules above)
   ===================================================================== */
.ww-form-container-3{ width:100%; }
.ww-form-container-3 form{ margin:0; }
.ww-form-container-3 p.hide,
.ww-form-container-3 .hide{ display:none; }

/* layout: 2-col grid; key fields span full width */
.ww-form-container-3 .fieldset{
  border:0; margin:0; padding:0;
  display:flex; flex-direction:column; gap:clamp(14px,2vw,20px);
}
.ww-form-container-3 .email_wrap,
.ww-form-container-3 .field_33685_wrap,
.ww-form-container-3 .phone_wrap{ grid-column:1 / -1; }

/* labels */
.ww-form-container-3 label{
  display:block; margin-bottom:8px;
  font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:.04em; color:var(--c-ink);
}
.ww-form-container-3 .required{ color:var(--c-accent); margin-left:3px; font-weight:600; }

/* fields */
.ww-form-container-3 input[type="text"],
.ww-form-container-3 input[type="email"],
.ww-form-container-3 input[type="tel"],
.ww-form-container-3 textarea,
.ww-form-container-3 .iti input.phone_number{
  width:100%; box-sizing:border-box; margin:0;
  font-family:var(--font-body); font-size:16px; color:var(--c-ink);
  background:var(--c-light); border:1px solid var(--c-line); border-radius:var(--r-sm);
  height:52px; padding:0 16px; line-height:1.2;
  -webkit-appearance:none; appearance:none; box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.ww-form-container-3 textarea{
  height:auto; min-height:130px; padding:14px 16px; line-height:1.6; resize:vertical;
}
.ww-form-container-3 input::placeholder,
.ww-form-container-3 textarea::placeholder{ color:var(--c-ink-2); opacity:.7; }

/* focus */
.ww-form-container-3 input[type="text"]:focus,
.ww-form-container-3 input[type="email"]:focus,
.ww-form-container-3 input[type="tel"]:focus,
.ww-form-container-3 textarea:focus,
.ww-form-container-3 .iti input.phone_number:focus{
  outline:none; border-color:var(--c-accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--c-accent) 16%, transparent);
}

/* intl-tel-input phone field */
.ww-form-container-3 .iti{ display:block; width:100%; }
.ww-form-container-3 .iti input.phone_number{ padding-left:52px; }
.ww-form-container-3 #mob_phone_phone_number_valid{ display:block; margin-top:6px; font-size:13px; }

/* validation messages */
.ww-form-container-3 .error{
  display:block; margin-top:6px;
  font-family:var(--font-body); font-size:12.5px; line-height:1.4; color:var(--c-error);
}

/* footer: captcha + submit */
.ww-form-container-3 .form-container{ width:100%; max-width:none; margin:0; padding:0; }
.ww-form-container-3 .captcha_wrap{ margin-top:clamp(18px,2.4vw,24px); }
.ww-form-container-3 .recaptcha-block{ overflow:hidden; }
.ww-form-container-3 .submit_wrap{ margin-top:clamp(20px,2.6vw,26px); }
.ww-form-container-3 .submit_wrap input[type="submit"]{ min-width:220px; }

@media all and (max-width:640px){
  .ww-form-container-3 .submit_wrap input[type="submit"]{ width:100%; }
}

/* =====================================================================
   BLOG LEAD-MAGNET FORM  #lead-magnet-form  (.ww-form-container)
   (submit inherits global web-primary-btn rules above)
   ===================================================================== */
#lead-magnet-form form{ width:100%; margin:0; }

/* elevated callout card */
#lead-magnet-form .ww-form-container{
  position:relative; isolation:isolate; overflow:hidden;
  max-width:760px; margin:0 auto;
  padding:clamp(28px,4vw,48px);
  background:linear-gradient(165deg, var(--tint-lav), var(--c-tint) 62%);
  border:1px solid var(--c-line); border-radius:var(--r-sm);
  box-shadow:var(--shadow-1);
}
#lead-magnet-form .ww-form-container::before{
  content:""; position:absolute; z-index:-1; right:-18%; bottom:-34%; width:58%; height:70%;
  background:radial-gradient(circle, color-mix(in srgb, var(--c-accent) 20%, transparent), transparent 70%);
  pointer-events:none;
}

/* heading + intro (centered callout) */
#lead-magnet-form form > h2{
  margin:0 0 12px; text-align:center;
  font-family:var(--font-head); font-weight:500; color:var(--c-ink);
  font-size:var(--fs-h2); line-height:1.08; letter-spacing:-.01em; text-wrap:balance;
}
#lead-magnet-form form > p{
  margin:0 auto clamp(24px,3vw,32px); max-width:56ch; text-align:center;
  font-family:var(--font-body); color:var(--c-ink-2); font-size:var(--fs-body); line-height:1.72;
}

/* fields: Name + Email side-by-side, captcha/submit full width */
#lead-magnet-form form .grid-x .cell.medium-12{
  max-width:360px; margin:0 auto;
}
#lead-magnet-form .first_name_wrap,
#lead-magnet-form .email_wrap{ margin-bottom:clamp(14px,2vw,20px); }
#lead-magnet-form .captcha_wrap,
#lead-magnet-form .submit_wrap{ grid-column:1 / -1; }

/* labels */
#lead-magnet-form label{
  display:block; margin-bottom:8px;
  font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:.04em; color:var(--c-ink);
}
#lead-magnet-form .required{ color:var(--c-accent); margin-left:3px; font-weight:600; }

/* fields */
#lead-magnet-form input[type="text"],
#lead-magnet-form input[type="email"]{
  width:100%; box-sizing:border-box; margin:0;
  font-family:var(--font-body); font-size:16px; color:var(--c-ink);
  background:var(--c-light); border:1px solid var(--c-line); border-radius:var(--r-sm);
  height:52px; padding:0 16px; line-height:1.2;
  -webkit-appearance:none; appearance:none; box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
#lead-magnet-form input::placeholder{ color:var(--c-ink-2); opacity:.7; }
#lead-magnet-form input[type="text"]:focus,
#lead-magnet-form input[type="email"]:focus{
  outline:none; border-color:var(--c-accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--c-accent) 16%, transparent);
}

/* validation */
#lead-magnet-form .error{
  display:block; margin-top:6px; margin-left:0;
  font-family:var(--font-body); font-size:12.5px; line-height:1.4; color:var(--c-error);
}

/* captcha + submit */
#lead-magnet-form .recaptcha-block{ overflow:hidden; }
#lead-magnet-form .submit_wrap{ margin-top:10px; text-align:center; }
#lead-magnet-form .submit_wrap input[type="submit"]{ min-width:220px; }

@media all and (max-width:640px){
  #lead-magnet-form .submit_wrap input[type="submit"]{ width:100%; }
}

/* =====================================================================
   NEWSLETTER REGISTRATION FORM  #newsletter-form  (.ww-newsletter-registration)
   (submit inherits global web-primary-btn rules above)
   ===================================================================== */

/* form rendered as an elevated card inside the centered medium-6 column */
#newsletter-form form{
  position:relative; isolation:isolate; overflow:hidden; width:100%; margin:0;
  padding:clamp(28px,4vw,44px);
  background:linear-gradient(165deg, var(--tint-lav), var(--c-tint) 62%);
  border:1px solid var(--c-line); border-radius:var(--r-sm); box-shadow:var(--shadow-1);
}
#newsletter-form form::before{
  content:""; position:absolute; z-index:-1; right:-18%; bottom:-34%; width:58%; height:70%;
  background:radial-gradient(circle, color-mix(in srgb, var(--c-accent) 18%, transparent), transparent 70%);
  pointer-events:none;
}

/* intro text (Webware <document> is inline by default) */
#newsletter-form document{ display:block; }
#newsletter-form form > document p,
#newsletter-form document p{
  margin:0 0 10px; text-align:center;
  font-family:var(--font-body); color:var(--c-ink-2); font-size:var(--fs-body); line-height:1.7;
}

/* fieldset → grid: First/Last side-by-side, email full */
#newsletter-form .fieldset{
  border:0; margin:0; padding:0;
  display:flex; flex-direction:column; gap:clamp(14px,2vw,18px);
}
#newsletter-form legend{
  grid-column:1 / -1; float:none; padding:0; margin:0 0 10px; text-align:center;
  font-family:var(--font-head); font-size:12.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--c-primary);
}
#newsletter-form .email_wrap{ grid-column:1 / -1; }

/* labels */
#newsletter-form label{
  display:block; margin-bottom:8px;
  font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:.04em; color:var(--c-ink);
}
#newsletter-form .required{ color:var(--c-accent); margin-left:3px; font-weight:600; }

/* fields */
#newsletter-form input[type="text"],
#newsletter-form input[type="email"]{
  width:100%; box-sizing:border-box; margin:0;
  font-family:var(--font-body); font-size:16px; color:var(--c-ink);
  background:var(--c-light); border:1px solid var(--c-line); border-radius:var(--r-sm);
  height:52px; padding:0 16px; line-height:1.2;
  -webkit-appearance:none; appearance:none; box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
#newsletter-form input::placeholder{ color:var(--c-ink-2); opacity:.7; }
#newsletter-form input[type="text"]:focus,
#newsletter-form input[type="email"]:focus{
  outline:none; border-color:var(--c-accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--c-accent) 16%, transparent);
}

/* footer block */
#newsletter-form .form-container{
  width:100%; max-width:none; margin:0 auto; padding:0;
  display:flex; flex-direction:column; align-items:center;
}

/* opt-in checkbox */
#newsletter-form .checkbox_wrap{ margin-top:clamp(16px,2.2vw,22px); }
#newsletter-form .checkbox_wrap > p:empty{ display:none; margin:0; }
#newsletter-form .checkbox_wrap .float-left{ float:none; }
#newsletter-form .checkbox_wrap label{
  display:flex; align-items:center; gap:10px; margin:0; cursor:pointer;
  font-family:var(--font-body); font-size:14px; font-weight:500; letter-spacing:normal; color:var(--c-ink-2);
}
#newsletter-form .checkbox_wrap input[type="checkbox"]{
  width:18px; height:18px; flex:0 0 auto; margin:0; cursor:pointer; accent-color:var(--c-accent);
}

/* captcha */
#newsletter-form .captcha_wrap{ margin-top:clamp(16px,2.2vw,22px); }
#newsletter-form .recaptcha-block{ overflow:hidden; }

/* validation */
#newsletter-form .error{
  display:block; margin-top:6px; margin-left:0;
  font-family:var(--font-body); font-size:12.5px; line-height:1.4; color:var(--c-error);
}

/* submit */
#newsletter-form .submit_wrap{ margin-top:0; }
#newsletter-form .submit_wrap > label[for="Submit"]{ display:none; }
#newsletter-form .submit_wrap input[type="submit"]{ min-width:220px; }

@media all and (max-width:640px){
  #newsletter-form .submit_wrap input[type="submit"]{ width:100%; }
}

/* =========================================================
   SITE HEADER  (#header.new-header-9)  — tokens only, scoped
   Never targets locked section wrappers / grid-container.
   ========================================================= */
#header.new-header-9{ background:var(--c-light); }

/* hairline separators in the mobile utility rows */
#header hr{ border-bottom-color:var(--c-line); }

/* ---- logo ---- */
#header a[itemprop="url"] img{
  max-height:58px; width:auto; display:block;
}

/* ---- phone link (desktop + mobile) ---- */
#header .sitePhoneNumber{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-body); font-weight:600; font-size:15px;
  color:var(--c-ink); text-decoration:none;
  transition:color .18s ease;
}
#header .sitePhoneNumber .icon{ color:var(--c-accent); font-size:15px; }
#header .sitePhoneNumber:hover{ color:var(--c-primary); }
#header .sitePhoneNumber:hover .icon{ color:var(--c-primary); }

/* breathing room between phone + Contact Us */
#header .menu.align-right li + li{ margin-left:clamp(10px,1.6vw,22px); }

/* ---- mobile hamburger ---- */
#header .sidenav-bar{ right:0; top:40px; transform:translateY(-50%); }
#header .openMenu{
  background:none; border:0; cursor:pointer; line-height:1;
  padding:6px 8px; border-radius:var(--r-sm);
  color:var(--c-ink); display:inline-flex; align-items:center; justify-content:center;
  transition:color .18s ease, background-color .18s ease;
}
#header .openMenu .icon{ color:inherit; }
#header .openMenu:hover{ color:var(--c-primary); background:var(--tint-lav); }

/* ---- main nav band ---- */
#header .main-navigation-background{
  background:var(--c-deep); border-top:0;
}

/* ---- top-level nav items ---- */
#header .nav-main .menu.level-1 > li{ position:relative; }
#header .nav-main .menu.level-1 > li > a{
  position:relative; display:inline-flex; align-items:center;
  font-family:var(--font-body); font-weight:600; font-size:15px; letter-spacing:.012em;
  color:var(--c-light); padding:8px 4px; line-height:1.2;
  text-decoration:none; background:transparent;
  transition:color .22s ease;
}
#header .nav-main .menu.level-1 > li > a > span{
  display:inline-block;
  transition:transform .22s ease, text-shadow .22s ease;
}
#header .nav-main .menu.level-1 > li > a::before{
  content:""; position:absolute; left:4px; right:4px; bottom:0; height:2px;
  background:linear-gradient(90deg,var(--c-accent-2),var(--c-lav));
  border-radius:2px; transform:scaleX(0); transform-origin:right center;
  transition:transform .36s cubic-bezier(.65,.05,.36,1);
}
#header .nav-main .menu.level-1 > li > a:hover{ color:var(--c-lav); }
#header .nav-main .menu.level-1 > li > a:hover > span{
  transform:translateY(-2px);
  text-shadow:0 6px 22px color-mix(in srgb,var(--c-lav) 55%, transparent);
}
#header .nav-main .menu.level-1 > li > a:hover::before,
#header .nav-main .menu.level-1 > li.active > a::before{
  transform:scaleX(1); transform-origin:left center;
}

/* submenu caret — replace Foundation triangle with FA chevron */
#header .nav-main .is-dropdown-submenu-parent > a::after{
  content:"\f078"; font-family:"Font Awesome 5 Pro"; font-weight:900;
  font-size:9px; line-height:1; margin-left:7px; vertical-align:middle;
  display:inline-block; position:static; width:auto; height:auto; border:0; background:none;
  color:var(--c-lav); transition:color .2s ease, transform .2s ease;
}
#header .nav-main .is-dropdown-submenu-parent:hover > a::after{
  color:var(--c-light); transform:rotate(180deg);
}

/* ---- dropdown submenu panel (SOLID — no transparency) ---- */
#header .nav-main .is-dropdown-submenu{
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-sm); box-shadow:var(--shadow-2);
  padding:8px; min-width:248px; z-index:200;
  transform-origin:top center;
  animation:siNavDrop .24s cubic-bezier(.2,.7,.2,1) both;
}
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item{
  animation:siNavItem .3s ease both;
}
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item:nth-child(1){ animation-delay:.02s; }
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item:nth-child(2){ animation-delay:.06s; }
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item:nth-child(3){ animation-delay:.10s; }
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item:nth-child(4){ animation-delay:.14s; }
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item:nth-child(5){ animation-delay:.18s; }
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item:nth-child(6){ animation-delay:.22s; }
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item > a{
  position:relative; display:block; padding:10px 14px 10px 18px; border-radius:var(--r-sm);
  font-family:var(--font-body); font-weight:500; font-size:14.5px; letter-spacing:.01em;
  color:var(--c-ink-2); line-height:1.3; text-decoration:none;
  transition:background-color .2s ease, color .2s ease;
}
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item > a::before{
  content:""; position:absolute; left:7px; top:50%;
  width:3px; height:58%; border-radius:2px;
  background:linear-gradient(var(--c-accent),var(--c-primary));
  transform:translateY(-50%) scaleY(0); transform-origin:center;
  transition:transform .24s ease;
}
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item > a:hover,
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item.active > a,
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item.is-page.active > a{
  background:var(--tint-lav); color:var(--c-primary);
}
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item > a:hover::before,
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item.active > a::before,
#header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item.is-page.active > a::before{
  transform:translateY(-50%) scaleY(1);
}

@media all and (max-width:1024px){
  #header a[itemprop="url"] img{ max-height:46px; }
}

/* ---- header nav animation keyframes + a11y guard ---- */
@keyframes siNavDrop{ from{ opacity:0; } to{ opacity:1; } }
@keyframes siNavItem{ from{ opacity:0; transform:translateX(-7px); } to{ opacity:1; transform:translateX(0); } }
@media (prefers-reduced-motion: reduce){
  #header .nav-main .menu.level-1 > li > a,
  #header .nav-main .menu.level-1 > li > a::before,
  #header .nav-main .is-dropdown-submenu,
  #header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item,
  #header .nav-main .is-dropdown-submenu .is-dropdown-submenu-item > a,
  #header .nav-main .is-dropdown-submenu-parent > a::after{
    animation:none !important; transition:none !important;
  }
}

/* =========================================================
   MOBILE OFF-CANVAS DRAWER  (#sidenav) — matches desktop nav
   Deep band + white links + accent bar.  Foundation handles
   open/close & accordion toggling; this is styling only.
   ========================================================= */
#sidenav.sidenav{
  background:var(--c-deep);
  padding:0;
  box-shadow:-22px 0 50px rgba(0,0,0,.4);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.js-off-canvas-overlay{ background:rgba(29,22,34,.55); }

#sidenav .menu.accordion-menu{ background:transparent; }
#sidenav .menu.accordion-menu > li{
  border-bottom:1px solid var(--c-line-light);
}

/* ---- top-level items ---- */
#sidenav .menu.accordion-menu > li > a{
  position:relative; display:block; padding:15px 24px;
  font-family:var(--font-body); font-weight:600; font-size:16px; letter-spacing:.01em;
  color:var(--c-light); text-decoration:none; background:transparent;
  transition:color .2s ease, background-color .2s ease;
}
#sidenav .menu.accordion-menu > li > a::before{
  content:""; position:absolute; left:0; top:50%;
  width:3px; height:60%; border-radius:0 2px 2px 0;
  background:linear-gradient(var(--c-accent-2),var(--c-lav));
  transform:translateY(-50%) scaleY(0); transform-origin:center;
  transition:transform .22s ease;
}
#sidenav .menu.accordion-menu > li > a:hover,
#sidenav .menu.accordion-menu > li.active > a{
  color:var(--c-lav);
  background:color-mix(in srgb, var(--c-light) 6%, transparent);
}
#sidenav .menu.accordion-menu > li > a:hover::before,
#sidenav .menu.accordion-menu > li.active > a::before{
  transform:translateY(-50%) scaleY(1);
}

/* ---- accordion caret (replace Foundation triangle) ---- */
#sidenav .is-accordion-submenu-parent > a{ padding-right:48px; }
#sidenav .is-accordion-submenu-parent > a::after{
  content:"\f078"; font-family:"Font Awesome 5 Pro"; font-weight:900; font-size:11px;
  position:absolute; right:24px; top:50%; transform:translateY(-50%);
  border:0; margin:0; width:auto; height:auto; background:none;
  color:var(--c-lav); transition:transform .26s ease, color .2s ease;
}
#sidenav .is-accordion-submenu-parent[aria-expanded="true"] > a::after,
#sidenav .is-accordion-submenu-parent.is-active > a::after{
  transform:translateY(-50%) rotate(180deg); color:var(--c-light);
}

/* ---- nested submenu ---- */
#sidenav .is-accordion-submenu{
  background:var(--c-deep-2);
}
#sidenav .is-accordion-submenu .is-accordion-submenu-item{
  border-top:1px solid var(--c-line-light);
}
#sidenav .is-accordion-submenu .is-accordion-submenu-item > a{
  position:relative; display:block; padding:12px 24px;
  font-family:var(--font-body); font-weight:500; font-size:14.5px; letter-spacing:.01em;
  color:var(--c-paper-soft); text-decoration:none; background:transparent;
  transition:color .2s ease, background-color .2s ease;
}
#sidenav .is-accordion-submenu .is-accordion-submenu-item > a::before{
  content:""; position:absolute; left:0; top:50%;
  width:3px; height:56%; border-radius:0 2px 2px 0;
  background:linear-gradient(var(--c-accent-2),var(--c-lav));
  transform:translateY(-50%) scaleY(0); transform-origin:center;
  transition:transform .22s ease;
}
#sidenav .is-accordion-submenu .is-accordion-submenu-item > a:hover,
#sidenav .is-accordion-submenu .is-accordion-submenu-item.active > a{
  color:var(--c-light);
  background:color-mix(in srgb, var(--c-light) 8%, transparent);
}
#sidenav .is-accordion-submenu .is-accordion-submenu-item > a:hover::before,
#sidenav .is-accordion-submenu .is-accordion-submenu-item.active > a::before{
  transform:translateY(-50%) scaleY(1);
}
#sidenav .is-accordion-submenu .is-accordion-submenu-item > a span{
  padding:0 !important; line-height:1.3;
}

/* header container full-width on mobile (below large) */
@media all and (max-width:1023.5px){
  .is-header .grid-container{ width:100% !important; max-width:100% !important; }
}

/* =========================================================
   SITE FOOTER  (#footer.new-footer-1) — deep brand, tokens only
   Scoped to #footer; never targets locked grid wrappers.
   ========================================================= */
#footer.new-footer-1{
  background:var(--c-deep-2); color:var(--c-paper-soft);
}
#footer .custom-grid-container.align-justify{
  padding-top:clamp(30px,4vw,52px); padding-bottom:clamp(22px,3vw,40px);
}

/* ---- top footer nav ---- */
#footer .footer-menu-container{
  background:var(--c-deep); border-bottom:1px solid var(--c-line-light);
}
#footer .footer-menu-container .menu.level-1 > li > a{
  position:relative; color:var(--c-light); font-family:var(--font-body);
  font-weight:600; font-size:14.5px; letter-spacing:.012em; padding:8px 14px;
  text-decoration:none; transition:color .2s ease;
}
#footer .footer-menu-container .menu.level-1 > li > a::before{
  content:""; position:absolute; left:14px; right:14px; bottom:2px; height:2px;
  background:linear-gradient(90deg,var(--c-accent-2),var(--c-lav));
  border-radius:2px; transform:scaleX(0); transform-origin:right center;
  transition:transform .34s cubic-bezier(.65,.05,.36,1);
}
#footer .footer-menu-container .menu.level-1 > li > a:hover{ color:var(--c-light); }
#footer .footer-menu-container .menu.level-1 > li:hover > a span,
#footer .footer-menu-container .menu.level-1 > li.active > a span{ color:var(--c-light); }
#footer .footer-menu-container .menu.level-1 > li > a:hover::before,
#footer .footer-menu-container .menu.level-1 > li.active > a::before{
  transform:scaleX(1); transform-origin:left center;
}
/* dropdown menus removed from footer — flat links only */
#footer .footer-menu-container .is-dropdown-submenu{ display:none !important; }
#footer .footer-menu-container .is-dropdown-submenu-parent > a::after{ display:none !important; }

/* ---- column headings ---- */
#footer .footer-text h4,
#footer .contact-us-column h4{
  position:relative; font-family:var(--font-head); font-weight:600;
  font-size:22px; color:var(--c-light); margin:0 0 16px; padding-bottom:12px;
}
#footer .footer-text h4::after,
#footer .contact-us-column h4::after{
  content:""; position:absolute; left:0; bottom:0; width:42px; height:2px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-lav)); border-radius:2px;
}
#footer .footer-text p{
  font-family:var(--font-body); font-size:15px; line-height:1.7;
  color:var(--c-paper-soft); margin:0;
}

/* ---- contact column ---- */
#footer .shop-address{
  display:flex !important; align-items:flex-start; gap:10px; margin-bottom:14px;
  font-family:var(--font-body); font-size:15px; line-height:1.6;
  color:var(--c-paper-soft); text-decoration:none; transition:color .2s ease;
}
#footer .shop-address::before{
  content:"\f3c5"; font-family:"Font Awesome 5 Pro"; font-weight:900;
  flex:0 0 auto; margin-top:2px; color:var(--c-accent-2); font-size:15px;
}
#footer .shop-address:hover{ color:var(--c-light); }
#footer .contact-number{
  display:flex; align-items:center; gap:10px; margin-bottom:10px;
}
#footer .contact-number::before{
  content:"\f095"; font-family:"Font Awesome 5 Pro"; font-weight:900;
  flex:0 0 auto; color:var(--c-accent-2); font-size:15px; transform:rotate(90deg);
}
#footer .contact-number a{
  font-family:var(--font-body); font-weight:600; font-size:16px;
  color:var(--c-paper-soft); text-decoration:none; transition:color .2s ease;
}
#footer .contact-number a:hover{ color:var(--c-lav); }
#footer .email-id{
  display:flex; align-items:flex-start; gap:10px; margin-bottom:22px;
  font-family:var(--font-body); font-size:15px; color:var(--c-paper-soft);
  text-decoration:none; word-break:break-word; transition:color .2s ease;
}
#footer .email-id::before{
  content:"\f0e0"; font-family:"Font Awesome 5 Pro"; font-weight:900;
  flex:0 0 auto; margin-top:3px; color:var(--c-accent-2); font-size:14px;
}
#footer .email-id:hover{ color:var(--c-light); }
#footer .mailing-list-button{ margin-top:6px; }

/* ---- social icons (future-ready) ---- */
#footer .footer-social-media .menu{ gap:10px; margin-top:8px; }
#footer .footer-social-media .menu a{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:var(--r-pill);
  background:color-mix(in srgb, var(--c-light) 8%, transparent);
  color:var(--c-light); text-decoration:none;
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
#footer .footer-social-media .menu a:hover{
  background:var(--c-accent); color:#fff; transform:translateY(-2px);
}

/* ---- footer media box image ---- */
#footer .footer-media-box{ text-align:center; }
#footer .footer-media-box img{ width:65%; height:auto; }

/* ---- copyright ---- */
#footer .copyright-container{
  border-top:1px solid var(--c-line-light);
}
#footer .copyright{
  font-family:var(--font-body); font-size:13px; color:var(--c-paper-soft);
}
#footer .copyright a{
  color:var(--c-lav); text-decoration:none; transition:color .2s ease;
}
#footer .copyright a:hover{ color:var(--c-light); }

/* ---- footer mobile fixes: full-width wrapping button + icon alignment ---- */
@media all and (max-width:1023.5px){
  #footer.new-footer-1{ margin-top:0; text-align:center; }
  #footer .footer-text,
  #footer .footer-text h4,
  #footer .footer-text p,
  #footer .contact-us-column,
  #footer .contact-us-column h4{ text-align:center; }
  #footer .footer-text h4::after,
  #footer .contact-us-column h4::after{ left:50%; transform:translateX(-50%); }
  #footer .footer-social-media .menu{ justify-content:center; }
  #footer .shop-address,
  #footer .contact-number,
  #footer .email-id{ justify-content:center; }
  #footer .mailing-list-button a.button{
    white-space:normal;
  }
}
@media all and (max-width:640px){
  #footer .contact-us-column{ text-align:left; }
}

/* ---- blog page: search box top spacing ---- */
.new-blog-page-type .blog-search-container .position-relative{ margin-top:40px; }
.new-blog-page-type .blog-articles,
.new-blog-page-type .blog-sidebar{ margin-top:40px; }

/* ---- footer note / reassurance bar ---- */
#footer .footer-note-bar{
  padding:22px 20px; text-align:center; border-bottom:1px solid var(--c-line-light);
}
#footer .footer-note-inner{ max-width:880px; margin:0 auto; }
#footer .footer-note-bar p{
  margin:0; font-family:var(--font-body); font-size:15px; line-height:1.7;
  color:var(--c-paper-soft);
}
@media all and (max-width:640px){
  #footer .footer-note-bar{ padding:18px 16px; }
  #footer .footer-note-bar p{ font-size:14px; }
}

/* ============================================================
   TESTIMONIALS / REVIEWS PAGE
   (scoped to #form / .reviews-form-container / .review-list-container —
    no .is-wrapper dependency, beats theme single-class rules by specificity)
   ============================================================ */

/* ---- review submission form: card surface on the FORM (not the cell) ---- */
#form .reviews-form-container form#reviewform{
  background:var(--c-light);
  border:1px solid var(--c-line);
  border-radius:var(--r-sm);
  box-shadow:var(--shadow-1);
  padding:46px 42px;
}
/* eyebrow tweak (scoped, contextual only) */
#form #reviewform > .content-heading{
  text-transform:uppercase; letter-spacing:.2em;
  color:var(--c-accent); font-size:14px; margin-bottom:6px;
}
#form #reviewform > .section-main-heading{ margin-top:0; }

/* rating stars (input) — center the block */
#form #reviewform .review-stars{ margin:0 auto; }

/* fields */
#form #reviewform .input-fields{ margin-bottom:18px; }
#form #reviewform .input-field-label,
#form #reviewform .input-field-feedback{
  display:block; color:var(--c-ink); font-weight:600;
  text-transform:uppercase; letter-spacing:.06em;
}
#form #reviewform .input-field-label .required,
#form #reviewform .input-field-feedback .required{
  color:var(--c-error); margin-left:2px;
}
#form #reviewform input[type="text"],
#form #reviewform input[type="email"],
#form #reviewform textarea{
  display:block; width:100%; margin-top:8px; padding:13px 15px;
  font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  background:var(--c-tint); border:1px solid var(--c-line);
  border-radius:var(--r-sm); box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#form #reviewform textarea{ min-height:130px; resize:vertical; }
#form #reviewform input[type="text"]:focus,
#form #reviewform input[type="email"]:focus,
#form #reviewform textarea:focus{
  outline:none; border-color:var(--c-accent); background:var(--c-light);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--c-accent) 20%, transparent);
}
#form #reviewform .review-captcha{ margin:6px 0 4px; }

/* submit — center + match other form buttons width (style stays via global btn) */
#form #reviewform .submit-review-form{ text-align:center; }
#form #reviewform #submitBtn{ min-width:240px; }

/* ---- "Reviews ( 30 )" count header ---- */
.reviews-form-container > p > strong{
  display:inline-block; position:relative; padding-bottom:10px;
  font-family:var(--font-head); font-weight:600; color:var(--c-ink);
  font-size:clamp(22px,3vw,30px); line-height:1.2;
}
.reviews-form-container > p > strong::after{
  content:""; position:absolute; left:0; bottom:0;
  width:46px; height:3px; background:var(--c-accent);
}

/* ---- review list -> premium 2-col cards ---- */
.review-list-container{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:var(--gap); list-style:none; margin-left:0; margin-bottom:0;
}
.review-list-container > li,
.review-list-container > li.facebook-post,
.review-list-container > li.google-post,
.review-list-container > li.site-post{
  margin:0; border-bottom:none; display:flex; flex-direction:column;
}
.review-list-container .review-spacing{
  flex:1 1 auto; height:100%;
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-sm); padding:26px 26px 22px; box-shadow:var(--shadow-1);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.review-list-container > li:hover .review-spacing{
  transform:translateY(-4px); box-shadow:var(--shadow-2);
  border-color:color-mix(in srgb, var(--c-accent) 40%, var(--c-line));
}

/* neutralize legacy float layout so Foundation grid stays clean */
.review-list-container .review-img,
.review-list-container .review-details,
.review-list-container .user-profile,
.review-list-container .user-comment{ float:none; }
.review-list-container .user-profile,
.review-list-container .user-comment{ margin-left:0; clear:none; }

/* source icon (fb / google / site) */
.review-list-container .review-img{ padding-bottom:0 !important;padding-right: 8px; }
.review-list-container .review-img img{
  width:34px; height:34px; object-fit:contain; margin-top:2px; border-radius:var(--r-sm);
}

/* reviewer name */
.review-list-container .user-profile strong{
  display:block; font-family:var(--font-head); font-weight:600;
  font-size:18px; line-height:1.3; color:var(--c-ink);
}

/* star rating (display svg) */
.review-list-container .star-ratings-css{ margin-top:4px; }
.review-list-container .star-rating-icon{
  width:16px; height:16px; margin:4px 1px 6px;
  fill:color-mix(in srgb, var(--c-ink) 16%, transparent);
}
.review-list-container .star-rating-icon.active{ fill:var(--c-accent); }

/* review body — preserve line breaks from raw reviews */
.review-list-container .user-comment{ min-height:0; }
.review-list-container .review-text{ text-align:left; margin-bottom:0; }
.review-list-container .review-text p{
  margin:0; font-family:var(--font-body); font-size:15px; line-height:1.7;
  color:var(--c-ink-2); white-space:pre-line;
}

/* date -> caption */
.review-list-container .review-date{
  font-family:var(--font-body); font-size:12px; letter-spacing:.04em;
  text-transform:uppercase; color:var(--c-ink-2); opacity:.7; text-align:right;
}

/* ---- pagination ---- */
.reviews-form-container .pagination{ margin-top:34px; }
.reviews-form-container .pagination .page,
.reviews-form-container .pagination .prev,
.reviews-form-container .pagination .next{ display:inline-block; margin:0 4px 6px; }
.reviews-form-container .pagination .page a,
.reviews-form-container .pagination .prev a,
.reviews-form-container .pagination .next a{
  display:inline-block; min-width:42px; padding:9px 14px; text-align:center;
  font-family:var(--font-body); font-size:14px; color:var(--c-ink);
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-sm); transition:all .2s ease;
}
.reviews-form-container .pagination .page a:hover,
.reviews-form-container .pagination .prev a:hover,
.reviews-form-container .pagination .next a:hover{
  background:var(--c-accent); border-color:var(--c-accent); color:var(--c-light);
}
.reviews-form-container .pagination .page.current{
  display:inline-block; min-width:42px; padding:9px 14px;
  font-family:var(--font-body); font-size:14px;
  background:var(--c-primary); color:var(--c-light); border-radius:var(--r-sm);
}

/* ---- positive-feedback (post-submit thank-you state) ---- */
.positive-feedback-services{ text-align:center; }
#review-logo-container .review-logo a img{
  max-width:160px; height:auto;
  transition:transform .25s ease, opacity .2s ease;
}
#review-logo-container .review-logo a:hover img{ transform:translateY(-3px); opacity:.9; }

/* ---- responsive ---- */
@media all and (max-width:1023.5px){
  .review-list-container{ grid-template-columns:1fr; }
}
@media all and (max-width:640px){
  #form .reviews-form-container form#reviewform{ padding:30px 20px; }
  .review-list-container .review-spacing{ padding:20px; }
  .review-list-container .review-date{ text-align:left; margin-top:8px; }
}

/* ---- FIX: contain long review text inside cards (grid + nested flex overflow) ---- */
.review-list-container{ grid-template-columns:repeat(1, minmax(0,1fr)); }
.review-list-container .review-details,
.review-list-container .review-details > .cell{ min-width:0; }
.review-list-container .review-text p{ overflow-wrap:break-word; word-break:break-word; }
.review-list-container .review-date{ font-size:11px; letter-spacing:0; }
@media all and (max-width:1023.5px){
  .review-list-container{ grid-template-columns:minmax(0,1fr); }
}

/* ---- review cards: accent color + richer hover animation ---- */
.review-list-container .review-spacing{
  border-top:3px solid var(--c-accent);
  background:var(--c-light);
  transition:transform .3s ease, box-shadow .3s ease,
             background-color .3s ease, border-color .3s ease;
}
.review-list-container > li:hover .review-spacing{
  transform:translateY(-6px);
  box-shadow:var(--shadow-2);
  background:var(--tint-teal);
  border-color:color-mix(in srgb, var(--c-accent) 45%, var(--c-line));
  border-top-color:var(--c-primary);
}

/* ---- source icon -> crisp brand-coloured badges (replaces grey PNG) ---- */
.review-list-container .review-img img{ display:none; }
.review-list-container .review-img::before{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:var(--r-pill);
  color:#fff; font-size:18px; line-height:1;
  transition:transform .3s ease;
}
.review-list-container .facebook-post .review-img::before,
.facebook-post .review-img::before{
  font-family:"Font Awesome 5 Brands"; content:"\f39e"; background:var(--c-facebook);
}
.review-list-container .google-post .review-img::before,
.google-post .review-img::before{
  font-family:"Font Awesome 5 Brands"; content:"\f1a0"; background:var(--c-google);
}
.review-list-container .site-post .review-img::before,
.site-post .review-img::before{
  font-family:"Font Awesome 5 Pro"; font-weight:900; content:"\f005"; background:var(--c-accent);
}
.review-list-container > li:hover .review-img::before{
  transform:scale(1.1) rotate(-6deg);
}


.ww-form-container .button{
      width: auto !important;
          background: var(--btn-bg) !important;
}


i.fas.fa-arrow-right.fa-2x.fa-pull-right.fa-border.fa-rotate-270 {
    background: #FFF;
    color: #6d3f9e;
}