﻿/* PI_BUILD_SENTINEL: site/css/site.css */
/* NOTE: Squarespace Custom CSS is compiled with LESS.
   Keep this file LESS-safe: avoid the :has pseudo-class, env(), calc(), min(), max(), and @supports.
   Put advanced CSS (safe-area, feature queries) in Header/Footer Code Injection instead. */
/* ============================================================
   PI CONCIERGE SYSTEM (top-level)
   - Primitives (spacing)
   - Tokens (colors, shadows, container widths)
   - Components (page, container, buttons, cards, chips, icons, stack, hero)
   ============================================================ */
:root{
  /* spacing */
  --pi-s0:0px;
  --pi-s1:6px;
  --pi-s2:10px;
  --pi-s3:14px;
  --pi-s4:18px;
  --pi-s5:24px;
  --pi-s6:32px;
  --pi-s7:44px;
  --pi-s8:60px;
  --pi-section-gap:var(--pi-s7);

  /* tokens */
  --pi-brand:#094d86;
  --pi-accent:#01a0c6;
  --pi-ink:#0f172a;
  --pi-muted:#475569;
  --pi-border:#e2e8f0;
  --pi-bg:#f5f8fc;
  --pi-card:#ffffff;
  --pi-radius:16px;
  --pi-radius-lg:var(--pi-radius);
  --pi-shadow:0 18px 48px rgba(9,77,134,.12);
  --pi-shadow-hover:0 14px 36px rgba(9,77,134,.14);
  --pi-shadow-1:var(--pi-shadow);
  --pi-shadow-2:var(--pi-shadow-hover);
  --pi-shadow-3:0 16px 40px rgba(9,77,134,.16);
  --pi-focus:0 0 0 3px rgba(1,160,198,.25);
  --pi-max:1200px;
  --pi-max-wide:1400px;
  --pi-max-content:1240px;
  --pi-iv-services-filters-max:980px;
  --pi-pad:16px;
  --pi-pad-desktop:clamp(20px, 2vw, 40px);
  --pi-blog-max:960px;
  --pi-blog-prose:70ch;
  --pi-blog-text-max:66ch;
  --pi-header-edge-pad-desktop:28px;
  --pi-header-logo-height-desktop:92px;
  --pi-header-nav-gap-desktop:40px;
  --pi-header-nav-to-social-gap-desktop:20px;
  --pi-header-social-gap-desktop:var(--pi-header-nav-gap-desktop);
  --pi-header-padding-y-desktop:18px;
  --pi-header-padding-top-desktop:4px;
  --pi-header-padding-bottom-desktop:var(--pi-header-padding-y-desktop);
  --pi-header-nav-font-weight:300;
  --pi-header-nav-letter-spacing:0.01em;
  --pi-header-shell-height-mobile:76px;
  --pi-header-shell-height-desktop:114px;
}

/* Page skin utilities */
.pi-page{
  background:var(--pi-bg);
  padding:32px 18px 48px;
  color:var(--pi-ink);
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-weight:300;
}
.pi-page *{ box-sizing:border-box; }

.pi-page--flush{
  padding:0 !important;
  background:transparent !important;
}

/* ============================================================
   Concierge page skins
   ============================================================ */
.pi-page--concierge-marketing{
  background:var(--pi-bg);
  padding:32px 18px 48px;
  color:var(--pi-ink);
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-weight:300;
}

.pi-page--concierge-marketing.pi-page--flush{
  background:var(--pi-bg) !important;
  padding:32px 18px 48px !important;
}

.pi-page--concierge-marketing .pi-hero{
  background:linear-gradient(135deg,rgba(9,77,134,.08),rgba(1,160,198,.08));
  border:1.2px solid rgba(12,42,68,.12);
  border-radius:var(--pi-radius);
  padding:34px 32px;
  box-shadow:var(--pi-shadow);
}

/* Concierge typography contract (shared by concierge + local concierge-marketing pages) */
.pi.pi-page--concierge-marketing .pi-kicker{
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--pi-brand,#0a5d9f);
  font-size:13px;
}
.pi.pi-page--concierge-marketing .pi-lede{
  color:var(--pi-muted,#475569);
  line-height:1.6;
  font-size:16px;
  font-weight:300;
}

@media (max-width:720px){
  .pi-page--concierge-marketing{
    padding:24px 14px 36px;
  }
  .pi-page--concierge-marketing.pi-page--flush{
    padding:24px 14px 36px !important;
  }
}

.pi-page--concierge-utility{
  background:#ffffff;
  padding:32px 18px 48px;
  color:var(--pi-ink);
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-weight:300;
}

.pi-page--concierge-utility.pi-page--flush{
  background:#ffffff !important;
  padding:32px 18px 48px !important;
}

.pi-page--concierge-utility .pi-hero{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  border-radius:0;
}

@media (max-width:720px){
  .pi-page--concierge-utility{
    padding:24px 14px 36px;
  }
  .pi-page--concierge-utility.pi-page--flush{
    padding:24px 14px 36px !important;
  }
}

/* Build-only: restore centered layout for flush sections in dist output */
.pi-build .pi-build-frame{
  max-width:var(--pi-max-wide);
  margin-left:auto;
  margin-right:auto;
  padding-left:18px;
  padding-right:18px;
}

.pi-build .pi-build-frame > .pi-page{
  padding-left:0 !important;
  padding-right:0 !important;
}

.pi-build .pi-build-frame > .tp{
  padding-left:0 !important;
  padding-right:0 !important;
}

.pi-build .pi-page--flush .pi-hero{
  max-width:var(--pi-max-wide) !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Build-only: portable header/footer styling */
.pi-build .pi-header{
  background:#fff;
  border-bottom:1px solid var(--pi-border);
  position:relative;
  z-index:20;
}

body.pi-build #pi-site-header,
body.pi-build #pi-site-header *{
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

body.pi-build #pi-site-header a{
  font-weight:300;
}

body.pi-build #pi-site-header a[aria-current="page"]{
  font-weight:500;
}

/* Squarespace top navigation: keep link weight consistent at 300. */
.header-nav-wrapper a[data-animation-role="header-element"],
.header-nav-wrapper .header-nav-item--active > a[data-animation-role="header-element"],
.header-nav-wrapper .header-nav-item a[data-animation-role="header-element"]:hover,
.header-nav-wrapper .header-nav-item a[data-animation-role="header-element"]:focus{
  font-weight:300;
}

/* Squarespace fallback for paid landing pages: logo + phone-oriented header only. */
body.pi-paid-landing:not(.pi-build) .header-nav-wrapper,
body.pi-paid-landing:not(.pi-build) .header-nav,
body.pi-paid-landing:not(.pi-build) .header-menu-nav-list,
body.pi-paid-landing:not(.pi-build) .header-actions .social-account-links,
body.pi-paid-landing:not(.pi-build) .header-actions a.header-actions-action:not([href^="tel:"]),
body.pi-paid-landing:not(.pi-build) .header-actions .header-burger-btn{
  display:none !important;
}
body.pi-paid-landing:not(.pi-build) .header-display-desktop .header-title-nav-wrapper{
  justify-content:flex-start !important;
}
body.pi-paid-landing[data-pi-header-variant="minimal-no-phone"]:not(.pi-build) .header-actions a.header-actions-action[href^="tel:"]{
  display:none !important;
}

body.pi-build #pi-site-footer,
body.pi-build #pi-site-footer *{
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-weight:400;
}

body.pi-build #pi-site-footer .accordion-button{
  font-weight:500;
}

.pi-build .pi-header__inner{
  display:flex;
  align-items:center;
  gap:20px;
  padding:12px var(--pi-pad);
  min-height:var(--pi-header-shell-height-mobile);
}

.pi-build .pi-header__brand{
  flex:0 0 auto;
}

.pi-build .pi-brand{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:var(--pi-ink);
}

.pi-build .pi-brand__logo{
  display:block;
  height:60px;
  width:auto;
  max-width:320px;
}

.pi-build .pi-brand__name{
  font-weight:700;
  font-size:20px;
  color:var(--pi-brand);
  line-height:1.1;
}

.pi-build .pi-brand__tagline{
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--pi-muted);
  margin-top:4px;
}

.pi-build .pi-header__toggle{
  display:none;
  border:1px solid var(--pi-border);
  background:#fff;
  color:var(--pi-ink);
  border-radius:12px;
  padding:8px 12px;
  font-weight:600;
  font-size:14px;
}

.pi-build .pi-nav{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
}

.pi-build .pi-nav__list{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:0;
  padding:0;
  flex-wrap:wrap;
}

.pi-build .pi-nav__link,
.pi-build .pi-nav__more-toggle{
  color:var(--pi-ink);
  text-decoration:none;
  font-weight:300;
  font-size:16px;
  letter-spacing:.1px;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}

.pi-build .pi-nav__link:hover,
.pi-build .pi-nav__link:focus,
.pi-build .pi-nav__more-toggle:hover,
.pi-build .pi-nav__more-toggle:focus{
  color:var(--pi-brand);
}

.pi-build .pi-nav__link.is-active,
.pi-build .pi-nav__link[aria-current="page"],
.pi-build .pi-nav__more-toggle.is-active{
  color:var(--pi-brand);
  font-weight:500;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
}

.pi-build .pi-nav__more-toggle::after{
  content:"▾";
  font-size:11px;
  margin-left:6px;
}

.pi-build .pi-nav__item--more,
.pi-build .pi-nav__item--dropdown{
  position:relative;
}

.pi-build .pi-nav__dropdown{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:220px;
  background:#fff;
  border:1px solid var(--pi-border);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 14px 36px rgba(9,77,134,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease, box-shadow .15s ease, visibility 0s linear .15s;
  z-index:30;
}

.pi-build .pi-nav__dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-8px;
  height:8px;
}

.pi-build .pi-nav__item--more.is-open .pi-nav__dropdown,
.pi-build .pi-nav__item--more:hover .pi-nav__dropdown,
.pi-build .pi-nav__item--more:focus-within .pi-nav__dropdown,
.pi-build .pi-nav__item--dropdown.is-open .pi-nav__dropdown,
.pi-build .pi-nav__item--dropdown:hover .pi-nav__dropdown,
.pi-build .pi-nav__item--dropdown:focus-within .pi-nav__dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .15s ease, transform .15s ease, visibility 0s;
}

.pi-build .pi-nav__item--dropdown.is-open .pi-nav__more-toggle::after,
.pi-build .pi-nav__item--dropdown:focus-within .pi-nav__more-toggle::after,
.pi-build .pi-nav__item--dropdown:hover .pi-nav__more-toggle::after{
  transform:rotate(180deg);
}

.pi-build .pi-nav__more-toggle::after{
  display:inline-block;
  transition:transform .15s ease;
}

.pi-build .pi-nav__sublink{
  display:block;
  padding:6px 0;
  color:var(--pi-ink);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}

.pi-build .pi-nav__sublink:hover,
.pi-build .pi-nav__sublink:focus{
  color:var(--pi-brand);
}

@media (prefers-reduced-motion: reduce){
  .pi-build .pi-nav__dropdown,
  .pi-build .pi-nav__more-toggle::after{
    transition:none !important;
  }
  .pi-build .pi-nav__dropdown{
    transform:none !important;
  }
}

.pi-build .pi-nav__link:focus-visible,
.pi-build .pi-nav__more-toggle:focus-visible,
.pi-build .pi-nav__sublink:focus-visible{
  outline:2px solid rgba(1,160,198,.65);
  outline-offset:4px;
  border-radius:8px;
}

.pi-build .pi-header__actions{
  display:flex;
  align-items:center;
  gap:10px;
  justify-self:end;
  flex:0 0 auto;
}

.pi-build .pi-social{
  display:flex;
  gap:6px;
}

.pi-build .pi-social__link{
  width:32px;
  height:32px;
  border-radius:8px;
  background:var(--pi-accent);
  border:1px solid var(--pi-accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
}

body.pi-build #pi-site-header .pi-social__link{
  background:var(--pi-accent);
  border-color:var(--pi-accent);
  color:#fff;
}

.pi-build .pi-social__link:hover,
.pi-build .pi-social__link:focus-visible{
  background:var(--pi-brand);
  border-color:var(--pi-brand);
}

.pi-build .pi-social__icon{
  width:15px;
  height:15px;
  fill:currentColor;
}

.pi-build .pi-header__cta{
  white-space:nowrap;
}

.pi-build .pi-header--minimal{
  border-bottom:1px solid var(--pi-border);
}
.pi-build .pi-header--minimal .pi-header__inner{
  min-height:84px;
  justify-content:space-between;
  gap:16px;
  padding-top:10px;
  padding-bottom:10px;
}
.pi-build .pi-header--minimal .pi-header__brand{
  flex:0 1 auto;
}
.pi-build .pi-header--minimal .pi-brand__logo{
  height:56px;
  max-width:220px;
}
.pi-build .pi-header--minimal .pi-header__actions{
  display:flex;
  width:auto;
  flex:0 0 auto;
}
.pi-build .pi-header--minimal .pi-header__phone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid rgba(9,77,134,.22);
  background:#fff;
  color:var(--pi-brand);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  line-height:1;
  white-space:nowrap;
}
.pi-build .pi-header--minimal .pi-header__phone:hover,
.pi-build .pi-header--minimal .pi-header__phone:focus-visible{
  border-color:var(--pi-brand);
  background:rgba(9,77,134,.04);
}

.pi-build .pi-footer{
  background:#fff;
  border-top:1px solid var(--pi-border);
  margin-top:var(--pi-s7);
}

.pi-build .pi-footer__inner{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:32px;
  padding:32px 0;
  align-items:start;
}

.pi-build .pi-footer__groups{
  width:440px;
  max-width:100%;
  justify-self:start;
}

body.pi-build #pi-site-footer .footer-accordion{
  width:100%;
  max-width:100%;
  margin:0;
}

body.pi-build #pi-site-footer .footer-accordion .accordion-button{
  width:100% !important;
  max-width:100% !important;
}

.pi-build .pi-footer__logo{
  display:flex;
  align-items:center;
}

.pi-build .pi-footer__logo-img{
  display:block;
  max-width:180px;
  width:100%;
  height:auto;
}

.pi-build .pi-footer__tagline{
  color:var(--pi-muted);
  margin:8px 0 0;
  font-size:14px;
}

.pi-build .pi-footer__copy{
  color:var(--pi-muted);
  font-size:13px;
  line-height:1.6;
  margin:12px 0 0;
}

.pi-build .pi-footer__contact{
  font-size:14px;
  color:var(--pi-ink);
}

.pi-build .pi-footer__contact a{
  color:var(--pi-brand);
  text-decoration:none;
  font-weight:600;
}

.pi-build .pi-footer__cta{
  margin-top:12px;
}

.pi-build .footer-accordion .accordion-button{
  border-radius:999px;
}

.pi-build .pi-nav__backdrop{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.36);
  border:0;
  padding:0;
  margin:0;
  z-index:10;
}

.pi-build .pi-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  border:0;
  white-space:nowrap;
}

@media (min-width:981px){
  .pi-header--fullbleed{
    width:100%;
  }
  .pi-header--fullbleed .pi-header__inner{
    width:100%;
    box-sizing:border-box;
    max-width:none;
    margin:0;
    padding-top:var(--pi-header-padding-top-desktop);
    padding-bottom:var(--pi-header-padding-bottom-desktop);
    padding-left:var(--pi-header-edge-pad-desktop);
    padding-right:var(--pi-header-edge-pad-desktop);
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    min-height:var(--pi-header-shell-height-desktop);
  }
  .pi-header--fullbleed .pi-header__brand{
    flex:1 0 auto;
    display:flex;
    align-items:center;
  }
  .pi-header--fullbleed .pi-header__logo img,
  .pi-header--fullbleed .pi-header__logo svg,
  .pi-header--fullbleed .pi-brand__logo{
    height:var(--pi-header-logo-height-desktop);
    width:auto;
    display:block;
  }
  .pi-header--fullbleed .pi-header__nav{
    display:flex;
    align-items:center;
    gap:var(--pi-header-nav-gap-desktop);
    flex:0 1 auto;
    justify-content:center;
    min-width:0;
  }
  .pi-header--fullbleed .pi-nav__list{
    gap:var(--pi-header-nav-gap-desktop);
  }
  .pi-header--fullbleed .pi-header__nav .pi-nav__link,
  .pi-header--fullbleed .pi-header__nav .pi-nav__more-toggle{
    font-weight:var(--pi-header-nav-font-weight);
    letter-spacing:var(--pi-header-nav-letter-spacing);
  }
  .pi-header--fullbleed .pi-header__right{
    flex:1 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:var(--pi-header-nav-to-social-gap-desktop);
    margin-left:var(--pi-header-nav-to-social-gap-desktop);
  }
  .pi-header--fullbleed .pi-header__social{
    display:flex;
    align-items:center;
    gap:var(--pi-header-social-gap-desktop);
  }
}

@media (min-width:981px) and (max-width:1119px){
  .pi-build .pi-header__inner,
  .pi-header--fullbleed .pi-header__inner{
    max-width:100%;
    box-sizing:border-box;
    padding-right:24px;
  }

  .pi-build .pi-header__actions,
  .pi-header--fullbleed .pi-header__right{
    align-items:center;
    justify-content:flex-end;
    margin-right:0 !important;
    transform:none !important;
  }

  .pi-build .pi-social,
  .pi-header--fullbleed .pi-header__social{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    margin-right:0 !important;
    transform:none !important;
  }
}

@media (max-width:980px){
  .pi-build .pi-brand__logo{
    height:52px;
  }
  .pi-build .pi-header__inner{
    flex-wrap:wrap;
    gap:16px;
  }
  .pi-build .pi-header__brand{ order:1; }
  .pi-build .pi-header__toggle{
    display:inline-flex;
    order:2;
    margin-left:auto;
  }
  .pi-build .pi-nav{
    display:none;
    width:100%;
    order:3;
    justify-content:flex-start;
  }
  .pi-build .pi-header.pi-nav--open .pi-nav{
    display:block;
    position:relative;
    z-index:40;
    pointer-events:auto;
  }
  .pi-build .pi-nav__list{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:10px 0 0;
  }
  .pi-build .pi-nav__dropdown{
    display:none;
    position:static;
    border:0;
    box-shadow:none;
    padding:6px 0 0 12px;
    min-width:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:none;
  }
  .pi-build .pi-nav__item--more.is-open .pi-nav__dropdown,
  .pi-build .pi-nav__item--more:focus-within .pi-nav__dropdown,
  .pi-build .pi-nav__item--dropdown.is-open .pi-nav__dropdown,
  .pi-build .pi-nav__item--dropdown:focus-within .pi-nav__dropdown{
    display:block;
  }
  .pi-build .pi-header__actions{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    order:4;
  }
  .pi-build .pi-header.pi-nav--open .pi-header__actions{
    display:flex;
    position:relative;
    z-index:40;
    pointer-events:auto;
  }
  .pi-build .pi-header.pi-nav--open .pi-nav__backdrop{
    display:block;
    /* Layering: nav/actions above backdrop so links remain tappable. */
    z-index:30;
    pointer-events:auto;
  }
  .pi-build .pi-footer__inner{
    grid-template-columns:1fr;
  }
  .pi-build .pi-header--minimal .pi-header__inner{
    min-height:72px;
    padding-top:8px;
    padding-bottom:8px;
  }
  .pi-build .pi-header--minimal .pi-brand__logo{
    height:48px;
    max-width:190px;
  }
  .pi-build .pi-header--minimal .pi-header__phone{
    min-height:40px;
    padding:0 12px;
    font-size:14px;
  }
}

@media (max-width:900px){
  body.pi-build #pi-site-footer .pi-footer__groups{
    width:100%;
  }
  body.pi-build #pi-site-footer .footer-accordion .accordion-button{
    width:100% !important;
    max-width:100% !important;
  }
}

/* ============================================================
   DIST ONLY OVERRIDES (must be last in file)
   ============================================================ */
body.pi-build #pi-site-footer .footer-accordion{
  max-width:460px !important;
  width:100% !important;
  margin:0 !important;
}

body.pi-build #pi-site-footer .footer-accordion .accordion-button{
  width:100% !important;
  max-width:100% !important;
}

body.pi-build #pi-site-footer .pi-footer__inner{
  grid-template-columns:auto 1fr !important;
}

body.pi-build #pi-site-footer .pi-footer__groups{
  width:auto !important;
  max-width:460px !important;
  justify-self:start !important;
}

@media (max-width:900px){
  body.pi-build #pi-site-footer .footer-accordion{
    max-width:none !important;
    width:100% !important;
  }
  body.pi-build #pi-site-footer .pi-footer__groups{
    max-width:none !important;
    width:100% !important;
  }
}

body.pi-build #pi-site-header .pi-social__link{
  background:var(--pi-accent) !important;
  border-color:var(--pi-accent) !important;
  color:#fff !important;
  opacity:1 !important;
  filter:none !important;
}

body.pi-build #pi-site-header .pi-social__link:focus-visible{
  outline:2px solid rgba(1,160,198,.65);
  outline-offset:3px;
}

body.pi-build #pi-site-header .pi-social__link:hover,
body.pi-build #pi-site-header .pi-social__link:focus-visible{
  background:var(--pi-accent) !important;
  border-color:var(--pi-accent) !important;
  opacity:1 !important;
  filter:none !important;
}

body.pi-build #pi-site-header .pi-social__icon{
  fill:currentColor !important;
}

body.pi-build #pi-site-footer .footer-accordion .accordion-content a{
  text-decoration:none !important;
}

body.pi-build #pi-site-footer .footer-accordion .accordion-content a:hover,
body.pi-build #pi-site-footer .footer-accordion .accordion-content a:focus-visible{
  text-decoration:underline !important;
}

/* ============================================================
   LABS: filters indentation lock (scoped + minimal)
   - Wins against theme / global container rules
   ============================================================ */
@media (min-width:981px){
  .pi-labs .pi-container.pi-container--services-filters{
    max-width:var(--pi-iv-services-filters-max) !important;
    margin-left:0;
    margin-right:auto;
    width:100%;
  }
}

/* =========================
   PI Page Modifier: Concierge Spacing
   Usage: add "pi-concierge" to the page root alongside pi-page.
   Contract: sets the standard concierge section gap site-wide.
   ========================= */
.pi-page.pi-concierge{
  --pi-section-gap: var(--pi-s8);
}

.pi-container{
  max-width:var(--pi-max);
  margin:0 auto;
  padding:0 var(--pi-pad);
}

.pi-container--wide{
  max-width:var(--pi-max-wide);
}

.pi .pi-container--content{
  max-width:var(--pi-max-content);
}

/* Use when the OUTER page wrapper already provides the gutter (e.g., .ivs-page) */
.pi-container--nogutter{
  padding-left:0 !important;
  padding-right:0 !important;
}

@media (min-width:981px){
  .pi .pi-container{
    max-width:var(--pi-max-wide);
    margin-left:auto;
    margin-right:auto;
    padding-left:var(--pi-pad-desktop);
    padding-right:var(--pi-pad-desktop);
  }

  .pi .pi-container.pi-container--blog{
    max-width:var(--pi-blog-max);
    padding-left:var(--pi-pad);
    padding-right:var(--pi-pad);
  }
}

@media (min-width:981px){
  .pi .pi-container.pi-container--services-filters{
    max-width:var(--pi-iv-services-filters-max) !important;
    margin-left:0 !important;
    margin-right:auto !important;
    width:100%;
  }
}

/* Buttons */
.pi-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 18px;
  min-height:52px;
  border-radius:14px;
  font-weight:700;
  font-size:15px;
  line-height:1;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .06s ease, box-shadow .12s ease, background .12s ease, color .12s ease, border-color .12s ease, filter .12s ease;
  -webkit-tap-highlight-color:transparent;
}
.pi-btn:focus{
  outline:none;
  box-shadow:var(--pi-focus);
}
.pi-btn:focus-visible{
  outline:2px solid rgba(9,77,134,.25);
  outline-offset:3px;
}
.pi-btn:active{
  transform:translateY(1px);
}


/* PI button contract: primary always wins */
.pi-btn--primary{
  background:linear-gradient(120deg,var(--pi-brand),var(--pi-accent));
  color:#fff;
  box-shadow:0 10px 26px rgba(9,77,134,.25);
  border:1px solid rgba(255,255,255,.16);
  white-space:normal;
  text-align:center;
  line-height:1.2;
}
.pi-btn--primary:hover{
  filter:brightness(1.03);
}
.pi-btn--secondary{
  background:#fff;
  color:var(--pi-brand);
  border-color:rgba(9,77,134,.2);
  box-shadow:var(--pi-shadow);
}
.pi-btn--secondary:hover{
  background:rgba(9,77,134,.04);
}
.pi-btn--ghost{
  background:transparent;
  color:var(--pi-ink);
  border-color:var(--pi-border);
}
.pi-btn--ghost:hover{
  background:rgba(15,23,42,.04);
}

/* Card */
.pi-card{
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  box-shadow:var(--pi-shadow);
  padding:var(--pi-s4);
}
.pi-card--padless{ padding:0; }
.pi .pi-card h3,
.pi .pi-card .pi-h3{
  margin:0;
  font-size:20px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.2px;
}
@media (max-width:900px){
  .pi .pi-card h3,
  .pi .pi-card .pi-h3{
    font-size:18px;
  }
}
@media (min-width:1200px){
  .pi .pi-card h3,
  .pi .pi-card .pi-h3{
    font-size:22px;
  }
}
.pi-card--hover{
  transition:transform .16s ease, box-shadow .18s ease, border-color .18s ease;
}
.pi-card--hover:hover,
.pi-card--hover:focus-within{
  transform:translateY(-2px);
  box-shadow:var(--pi-shadow-hover);
  border-color:rgba(9,77,134,.18);
}

/* Top-accent card primitive */
.pi-card--topbar{
  position:relative;
  overflow:hidden;
}
.pi-card--topbar::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:var(--pi-card-topbar-height, 10px);
  background:linear-gradient(120deg,var(--pi-brand),var(--pi-accent));
  opacity:var(--pi-card-topbar-opacity, 1);
  pointer-events:none;
}
.pi-card--topbar-soft::before{ opacity:.55; }
.pi-card--topbar-strong::before{ opacity:1; }
.pi-card--topbar-brand::before{ background:var(--pi-brand); }
.pi-card--topbar-accent::before{ background:var(--pi-accent); }

/* =========================
   PI HIGHLIGHT CARD (Conversion callout)
   - Used for "Ways to Save" / membership CTAs, etc.
   ========================= */
.pi-highlight-card{
  max-width:var(--pi-max);
  margin:0 auto;
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  padding:var(--pi-s7) var(--pi-s4) var(--pi-s5);
  box-shadow:var(--pi-shadow);
  display:flex;
  justify-content:space-between;
  gap:var(--pi-s3);
  align-items:center;
  flex-wrap:wrap;
}
.pi-highlight-card__eyebrow{
  margin:0;
  font-weight:800;
  color:var(--pi-brand);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
.pi-highlight-card__lede{
  margin:var(--pi-s2) 0 0;
  color:var(--pi-muted);
  max-width:68ch;
}
.pi-highlight-card__actions{
  display:flex;
  gap:var(--pi-s2);
  flex-wrap:wrap;
  align-items:center;
}
@media (max-width:720px){
  .pi-highlight-card{
    padding:var(--pi-s7) var(--pi-s3) var(--pi-s4);
  }
  .pi-highlight-card__actions{
    flex-direction:column;
    align-items:flex-start;
    width:100%;
  }
}

/* Legacy aliases (keep until all pages are migrated) */
.ivs-save__card{ /* @deprecated - use .pi-highlight-card */
  max-width:1100px;
  margin:0 auto;
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  padding:var(--pi-s7) var(--pi-s4) var(--pi-s5);
  box-shadow:var(--pi-shadow);
  display:flex;
  justify-content:space-between;
  gap:var(--pi-s3);
  align-items:center;
  flex-wrap:wrap;
}
.ivs-save__eyebrow{ /* @deprecated */
  margin:0;
  font-weight:800;
  color:var(--pi-brand);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
.ivs-save__lede{ /* @deprecated */
  margin:var(--pi-s2) 0 0;
  color:var(--pi-muted);
  max-width:68ch;
}
.ivs-save__actions{ /* @deprecated */
  display:flex;
  gap:var(--pi-s2);
  flex-wrap:wrap;
  align-items:center;
}
@media (max-width:720px){
  .ivs-save__card{ padding:var(--pi-s7) var(--pi-s3) var(--pi-s4); }
  .ivs-save__actions{ flex-direction:column; align-items:flex-start; width:100%; }
}

/* Legacy review aliases (keep until all pages are migrated) */
.ivs-reviews__embed{ /* @deprecated - use .pi-reviews__embed */
  background:#fff;
  border:1px solid var(--pi-border);
  border-radius:14px;
  padding:12px;
  box-shadow:0 6px 18px rgba(9,77,134,.06);
}

/* Person card primitive */
.pi-person-card{
  display:flex;
  flex-direction:column;
  gap:var(--pi-s2);
  padding:var(--pi-s4);
  height:100%;
}
.pi-person-media{
  position:relative;
  width:100%;
  max-width:420px;
  margin:0 auto;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:12px;
  background:var(--pi-card);
  box-shadow:var(--pi-shadow-soft, 0 6px 18px rgba(15,23,42,.12));
}
.pi-person-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% var(--pi-person-focus-y, 20%);
}
@media (max-width:720px){
  .pi-person-media img{
    object-position:50% var(--pi-person-focus-y-sm, 15%);
  }
}
.pi-person-body{
  display:flex;
  flex-direction:column;
  gap:var(--pi-s2);
  flex:1;
}
.pi-person-name{
  margin:0;
  font-size:20px;
  line-height:1.3;
  color:var(--pi-ink);
}
@media (max-width:900px){
  .pi-person-name{
    font-size:18px;
  }
}
@media (min-width:1200px){
  .pi-person-name{
    font-size:21px;
  }
}
.pi-person-role{
  margin:0;
  color:var(--pi-brand);
  font-weight:700;
  font-size:15px;
  line-height:1.4;
}
.pi-person-card .pi-accordion{ margin-top:var(--pi-s1); }

/* Chip / Badge */
.pi-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border:1.2px solid rgba(12,42,68,.25);
  border-radius:14px;
  background:transparent;
  color:var(--pi-ink);
  font-size:14px;
  line-height:1.15;
  font-weight:600;
  box-shadow:0 1px 0 rgba(9,77,134,.04);
  cursor:default;
}
.pi-chip--trust{
  font-weight:400;            /* lighter than 500 */
  max-width:135px;            /* forces wrap similar to previous look */
  white-space:normal;         /* allow wrapping */
  text-align:left;
}
.pi .pi-cta.pi-cta--final .pi-chip--trust{
  max-width:none;
}
.pi-chip--interactive{
  cursor:pointer;
  text-decoration:none;
  color:inherit;
}
.pi a.pi-chip[href]{
  cursor:pointer;
  text-decoration:none;
  color:inherit;
}
.pi a.pi-chip[href]:hover,
.pi a.pi-chip[href]:focus-visible,
.pi-chip--interactive:hover,
.pi-chip--interactive:focus-visible{
  border-color:rgba(9,77,134,.35);
  background:rgba(9,77,134,.03);
  box-shadow:0 10px 22px rgba(9,77,134,.10);
  transform:translateY(-0.5px);
}
.pi a.pi-chip[href]:active,
.pi-chip--interactive:active{
  transform:translateY(0);
  box-shadow:0 6px 16px rgba(9,77,134,.10);
}
.pi-chip--trust span{
  display:block;              /* lets text break naturally */
  white-space:normal;
  line-height:1.15;
}
/* Force an intentional line break inside chips */
.pi-chip__break{ display:block; height:0; }
.pi-chip-link{ text-decoration:none; color:inherit; }
.pi-chip-link:focus-visible{ outline:2px solid currentColor; outline-offset:3px; }
.pi-icon{
  width:var(--pi-icon, 22px);
  height:var(--pi-icon, 22px);
  flex-shrink:0;
}
.pi svg.pi-icon,
.pi .pi-chip svg.pi-icon{
  width:var(--pi-icon, 22px) !important;
  height:var(--pi-icon, 22px) !important;
}

.pi-icon-circle,
.icon-circle,
.ivs-icon-circle{
  --pi-icon-circle-size:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--pi-icon-circle-size);
  height:var(--pi-icon-circle-size);
  border-radius:999px;
  background:rgba(1,160,198,.10);
  border:1px solid var(--pi-border);
  flex:0 0 auto;
}
.pi-icon-circle--sm{ --pi-icon-circle-size:36px; }
.pi-icon-circle--lg{ --pi-icon-circle-size:56px; }
.pi-icon-circle svg,
.pi-icon-circle img,
.icon-circle svg,
.icon-circle img,
.ivs-icon-circle svg,
.ivs-icon-circle img{
  width:22px;
  height:22px;
  display:block;
}
.icon-circle{
  --pi-icon-circle-size:156px;
  border-radius:16px;
  background:linear-gradient(135deg,#f6f9ff,#ffffff);
  border:1px solid rgba(226,232,240,.75);
  box-shadow:0 10px 24px rgba(9,77,134,.06);
  position:relative;
}
.icon-circle::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  background:radial-gradient(circle at 30% 30%,rgba(1,160,198,.07),transparent 55%), radial-gradient(circle at 70% 70%,rgba(9,77,134,.05),transparent 55%);
  z-index:0;
  opacity:.55;
}
.icon-circle > *{ position:relative; z-index:1; }
.ivs-icon-circle{
  --pi-icon-circle-size:60px;
  border-radius:16px;
  background:linear-gradient(135deg,#f6f9ff,#ffffff);
  border:1.2px solid var(--pi-border);
  box-shadow:0 8px 18px rgba(9,77,134,.08);
  position:relative;
  overflow:hidden;
}
.ivs-icon-circle::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:inherit;
  background:radial-gradient(circle at 30% 30%,rgba(1,160,198,.08),transparent 55%), radial-gradient(circle at 70% 70%,rgba(9,77,134,.05),transparent 55%);
  opacity:.55;
  z-index:0;
}
.ivs-icon-circle > *{ position:relative; z-index:1; }

.pi-stack{ display:flex; flex-direction:column; }
.pi-stack > *{ margin:0; }
.pi-stack--1 > * + *{ margin-top:var(--pi-s1); }
.pi-stack--2 > * + *{ margin-top:var(--pi-s2); }
.pi-stack--3 > * + *{ margin-top:var(--pi-s3); }
.pi-stack--4 > * + *{ margin-top:var(--pi-s4); }
.pi-stack--5 > * + *{ margin-top:var(--pi-s5); }
.pi-stack--6 > * + *{ margin-top:var(--pi-s6); }
.pi-stack--7 > * + *{ margin-top:var(--pi-s7); }

.pi .pi-section + .pi-section{ margin-top:var(--pi-section-gap); }
.pi .pi-section--tight + .pi-section--tight{ margin-top:var(--pi-s6); }
.pi .llp-section.pi-section + .llp-section.pi-section{ margin-top:0; }

.pi-section-head{
  display:flex;
  flex-direction:column;
  gap:var(--pi-s2);
  margin-bottom:var(--pi-s4);
  max-width:72ch;
}
.pi-section-head--center{
  align-items:center;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.pi-section-head .pi-section-head__kicker,
.pi-section-head .pi-kicker{
  margin:0;
}
.pi-section-head .pi-section-head__title,
.pi-section-head .pi-h2{
  margin:0;
}
.pi-section-head .pi-section-head__lede,
.pi-section-head .pi-lede{
  margin:0;
  color:var(--pi-muted,#475569);
  line-height:1.6;
}

.pi .pi-h2{
  font-size:26px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.2px;
  color:var(--pi-ink,#0f172a);
}
.pi h1,
.pi .pi-h1{
  font-weight:500;
}
.pi .pi-text-bold{
  font-weight:700 !important;
}
.pi .pi-h3{
  font-weight:500;
}
.pi .pi-h3--icon{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.pi .pi-h3--icon span{
  font-weight:500;
}
.pi .pi-h3--icon .pi-icon{
  margin-top:2px;
}
.pi .pi-lede{ color:var(--pi-muted,#475569); line-height:1.6; }
.pi .pi-muted{ color:var(--pi-muted,#475569); }
.pi .pi-lede,
.pi .pi-micro,
.pi .pi-muted,
.pi .pi-panel__title,
.pi .pi-panel__eyebrow{
  font-weight:300;
}

/* Hero (base + variants) */
.pi-hero{
  display:grid;
  gap:28px;
  background:linear-gradient(135deg,rgba(9,77,134,.08),rgba(1,160,198,.08));
  border:1.2px solid rgba(12,42,68,.12);
  border-radius:var(--pi-radius);
  padding:34px 32px;
  box-shadow:var(--pi-shadow);
  align-items:start;
  max-width:100%;
}
.pi .pi-hero.pi-hero--solo{
  grid-template-columns:1fr;
}
.pi-hero.pi-hero--split{
  grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);
  align-items:start;
}
.pi-hero.pi-hero--split .pi-hero__panel{
  justify-self:end;
  max-width:520px;
  width:100%;
}
@media (max-width:900px){
  .pi-hero.pi-hero--split{
    grid-template-columns:1fr;
  }
}

.pi-hero__copy{
  max-width:640px;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Eyebrow / kicker */
.pi-kicker{
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--pi-brand,#0a5d9f);
  margin:0 0 8px;
  font-size:13px;
}

/* Hero headline */
.pi-page .pi-hero h1{
  font-size:36px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:.2px;
  margin:0 0 12px;
  color:var(--pi-ink);
}
@media (max-width:900px){
  .pi-page .pi-hero h1{
    font-size:32px;
  }
}
@media (min-width:1200px){
  .pi-page .pi-hero h1{
    font-size:40px;
  }
}

/* Hero copy */
.pi-lede{
  margin:0 0 12px;
  color:var(--pi-muted);
  font-size:16px;
  line-height:1.55;
  max-width:600px;
}
.pi-micro{
  margin:0 0 14px;
  color:var(--pi-muted);
  font-size:14.5px;
  line-height:1.5;
  max-width:600px;
}

/* Trust chips */
.pi-chips{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin:16px 0 18px;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  padding-top:4px;
  padding-bottom:4px;
}

.pi-chips::-webkit-scrollbar{ display:none; }

@media (max-width:520px){
  .pi-chips--grid-sm{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:var(--pi-s2);
    width:100%;
    max-width:100%;
    overflow:visible;
    padding-bottom:0;
  }
  .pi-chips--grid-sm .pi-chip{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
}

@media (max-width:520px){
  .pi-hero .pi-chips{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:var(--pi-s2);
    width:100%;
    max-width:100%;
    overflow:visible;
    padding-bottom:0;
  }
  .pi-hero .pi-chips .pi-chip{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* PI Hero Chips (membership-chip primitive, reusable) */
.pi .membership-drip-chips{
  display:grid;
  column-gap:10px;
  row-gap:8px;
  margin:22px 0 22px;
  align-items:stretch;
}
.pi .membership-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid #edf0f4;
  background:#fbfcfe;
  box-shadow:0 1px 3px rgba(12,42,68,.03);
  color:#1e293b;
  font-size:13.5px;
  line-height:1.25;
  width:100%;
  min-height:64px;
  justify-content:flex-start;
  box-sizing:border-box;
  cursor:default;
}
.pi .membership-chip-icon{
  --chip-icon-size:18px;
  display:inline-flex;
  width:22px;
  height:22px;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(9,77,134,.05);
}
.pi .membership-chip-icon svg{
  width:var(--chip-icon-size);
  height:var(--chip-icon-size);
  display:block;
}

/* Membership benefit cards primitive (PI-wide) */
.pi .membership-benefit-cards{
  display:grid;
  column-gap:10px;
  row-gap:8px;
  margin:22px 0 22px;
  align-items:stretch;
}
.pi .membership-benefit-card{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid #edf0f4;
  background:#fbfcfe;
  box-shadow:0 1px 3px rgba(12,42,68,.03);
  color:#1e293b;
  font-size:13.5px;
  line-height:1.25;
  width:100%;
  min-height:64px;
  justify-content:flex-start;
  box-sizing:border-box;
  cursor:default;
}
.pi .membership-benefit-icon{
  --chip-icon-size:18px;
  display:inline-flex;
  width:22px;
  height:22px;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(9,77,134,.05);
}
.pi .membership-benefit-icon svg{
  width:var(--chip-icon-size);
  height:var(--chip-icon-size);
  display:block;
}

@media (max-width:640px){
  .pi .membership-drip-chips{
    grid-template-columns:1fr !important;
    gap:10px;
  }
  .pi .membership-chip{
    width:100%;
    justify-content:center;
    text-align:center;
    min-height:64px;
    padding:0 10px;
  }
}

@media (max-width:640px){
  .pi .membership-benefit-cards{
    grid-template-columns:1fr !important;
    gap:10px;
  }
  .pi .membership-benefit-card{
    width:100%;
    justify-content:center;
    text-align:center;
    min-height:64px;
    padding:0 10px;
  }
}

/* PI Hero Proof Pills */
.pi .pi-proof-pills{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin:0;
}
.pi .pi-proof-pill{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(9,77,134,.14);
  border-radius:18px;
  background:
    linear-gradient(135deg, rgba(9,77,134,.05), rgba(1,160,198,.04)),
    #fff;
  box-shadow:0 8px 20px rgba(9,77,134,.08);
}
.pi .pi-proof-pill__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex-shrink:0;
  border-radius:14px;
  background:rgba(9,77,134,.08);
}
.pi .pi-proof-pill__icon .pi-icon{
  width:22px;
  height:22px;
}
.pi .pi-proof-pill__body{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.pi .pi-proof-pill__title{
  margin:0;
  color:#0c2a44;
  font-size:16px;
  font-weight:600;
  line-height:1.3;
}
.pi .pi-proof-pill__title-label{
  font-weight:500;
}
.pi .pi-proof-pill__title-value{
  font-weight:700;
  white-space:nowrap;
}
.pi .pi-proof-pill__meta{
  color:#516477;
  font-size:13px;
  line-height:1.45;
}
.pi .pi-proof-pills--compact{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.pi .pi-proof-pill--compact{
  align-items:center;
  padding:11px 14px;
  border-radius:16px;
  background:#fbfcfe;
  box-shadow:0 3px 10px rgba(12,42,68,.05);
}
.pi .pi-proof-pill--compact .pi-proof-pill__icon{
  width:36px;
  height:36px;
  border-radius:12px;
}
.pi .pi-proof-pill--compact .pi-proof-pill__icon .pi-icon{
  width:18px;
  height:18px;
}
.pi .pi-proof-pill--compact .pi-proof-pill__title{
  font-size:14px;
  font-weight:500;
}
.pi .pi-proof-pill--compact .pi-proof-pill__meta{
  display:none;
}

/* PI Hero Price Tiles */
.pi:not(.pi-memberships) .pi-hero-price-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin:18px 0 12px;
}
@media (max-width:720px){
  .pi:not(.pi-memberships) .pi-hero-price-grid{
    grid-template-columns:1fr;
  }
}
.pi:not(.pi-memberships) .pi-hero-pricecard{
  display:block;
  text-decoration:none;
  color:inherit;
}
.pi:not(.pi-memberships) .pi-hero-pricecard__body{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px 16px;
  border:1px solid rgba(12,42,68,.14);
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 16px rgba(9,77,134,.08);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  min-height:88px;
}
.pi:not(.pi-memberships) .pi-hero-pricecard:hover .pi-hero-pricecard__body,
.pi:not(.pi-memberships) .pi-hero-pricecard:focus-within .pi-hero-pricecard__body{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(9,77,134,.12);
  border-color:rgba(9,77,134,.22);
}
.pi:not(.pi-memberships) .pi-hero-pricecard strong{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  margin:0;
  line-height:1.15;
  font-weight:800;
  color:var(--pi-ink);
}
.pi:not(.pi-memberships) .pi-hero-pricecard .price-amt{
  font-size:20px;
  font-weight:800;
  letter-spacing:-0.01em;
  color:var(--pi-ink);
}
.pi:not(.pi-memberships) .pi-hero-pricecard small{
  font-size:13px;
  color:var(--pi-muted);
  line-height:1.3;
}

/* Hero CTAs */
.pi-hero__cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:14px 0 4px;
}

/* Right-side decision panel */
.pi-hero__panel{
  background:var(--pi-card);
  border:1.2px solid rgba(12,42,68,.14);
  border-radius:var(--pi-radius);
  box-shadow:var(--pi-shadow);
  align-self:stretch;
  display:flex;
  height:100%;
}

.pi-hero__panel-inner{
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
  min-height:100%;
}

.pi-panel__eyebrow{
  margin:0;
  font-weight:800;
  color:var(--pi-brand);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:13px;
}

.pi-panel__title{
  margin:2px 0 6px;
  font-size:20px;
  line-height:1.35;
  font-weight:700;
  color:var(--pi-ink);
}

.pi-panel__list{
  margin:0 0 12px 0;
  padding-left:18px;
  list-style-position:outside;
  color:var(--pi-muted);
  line-height:1.55;
  font-size:15px;
}

.pi-panel__list li{
  margin:0 0 6px;
}

.pi-panel__cta{
  margin-top:10px;
}

.pi-panel__cta .pi-btn{
  width:100%;
  justify-content:center;
}

/* Optional hero image */
.pi-hero__media{
  position:relative;
  border-radius:var(--pi-radius);
  overflow:hidden;
  border:1px solid var(--pi-border);
  box-shadow:var(--pi-shadow);
  min-height:200px;
  max-width:520px;
  justify-self:end;
  align-self:start;
}
.pi-hero__media img{
  width:100%;
  height:auto;
  object-fit:cover;
  display:block;
}

@media (min-width: 768px) and (max-width: 1119px) {
  /* Keep hero CTA pairs aligned and on one row across tablet widths. */
  .pi-page .pi-hero__cta,
  .pi-blog .pi-hero__cta,
  .tp .llp.llp-drip.vA .llp-hero .llp-cta {
    align-items: center;
    flex-wrap: nowrap;
  }

  .pi-page .pi-hero__cta .pi-btn,
  .pi-blog .pi-hero__cta .pi-btn,
  .tp .llp.llp-drip.vA .llp-hero .llp-cta .pi-btn {
    min-width: 0;
    min-height: 52px;
    justify-content: center;
  }

  /* Tablet hero media: remove the 520px cap/off-center anchoring on affected pages. */
  body.pi-build .pi-page.pi-flu-covid .pi-hero__media,
  body.pi-build .pi-page.pi-menopause .pi-hero__media,
  body.pi-build .pi-page.pi-memberships .pi-hero__media,
  .pi-page.pi-flu-covid .pi-hero__media,
  .pi-page.pi-menopause .pi-hero__media,
  .pi-page.pi-memberships .pi-hero__media,
  .pi-page.pi-fullscript .pi-hero__media,
  .pi-page.pi-press-releases .pi-hero__media {
    max-width: none;
    width: 100%;
    justify-self: stretch;
    align-self: stretch;
  }

  body.pi-build .pi-page.pi-flu-covid .pi-hero__media img,
  body.pi-build .pi-page.pi-menopause .pi-hero__media img,
  body.pi-build .pi-page.pi-memberships .pi-hero__media img,
  .pi-page.pi-flu-covid .pi-hero__media img,
  .pi-page.pi-menopause .pi-hero__media img,
  .pi-page.pi-memberships .pi-hero__media img,
  .pi-page.pi-fullscript .pi-hero__media img,
  .pi-page.pi-press-releases .pi-hero__media img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* Local general pages: prevent tablet hero media from being capped/off-center. */
  body.pi-build .pi-page.pi-local-page .pi-hero__media,
  .pi-page.pi-local-page .pi-hero__media {
    max-width: none;
    width: 100%;
    justify-self: stretch;
    align-self: stretch;
  }

  body.pi-build .pi-page.pi-local-page .pi-hero__media img,
  .pi-page.pi-local-page .pi-hero__media img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* Packages split hero: widen panel column and let panel content stretch on tablet. */
  body.pi-build .pi-page.pi-packages .pi-hero.pi-hero--split,
  .pi-page.pi-packages .pi-hero.pi-hero--split {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }

  body.pi-build .pi-page.pi-packages .pi-hero.pi-hero--split .pi-hero__panel,
  .pi-page.pi-packages .pi-hero.pi-hero--split .pi-hero__panel {
    max-width: none;
    width: 100%;
    justify-self: stretch;
  }

  body.pi-build .pi-page.pi-packages .pi-hero__panel-inner,
  .pi-page.pi-packages .pi-hero__panel-inner {
    max-width: none;
    width: 100%;
  }

  /* PI floating quickbook: add right/bottom breathing room to avoid chat/edge crowding. */
  .pi-quickbook__float {
    right: 52px;
    bottom: 24px;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  /* Keep chat bubble above sticky CTA bars on tablet portrait/narrow tablet widths. */
  body:has(.pi-quickbook__sticky) #tidio-chat,
  body:has(.pi-quickbook__sticky) #tidio-chat iframe,
  body:has(.pi-quickbook__sticky) #tidio-chat-iframe,
  body:has(.llp-sticky-cta) #tidio-chat,
  body:has(.llp-sticky-cta) #tidio-chat iframe,
  body:has(.llp-sticky-cta) #tidio-chat-iframe {
    bottom: 84px !important;
  }
}

@media (min-width: 900px) and (max-width: 1119px) {
  /* Local general pages: avoid hero image cropping on tablet landscape. */
  body.pi-build .pi-page.pi-local-page .pi-hero__media img,
  .pi-page.pi-local-page .pi-hero__media img {
    object-fit: contain;
  }
}

@media (min-width: 900px) and (max-width: 1119px) {
  /* Local general pages: allow hero media box to expand so contain doesn't appear cropped. */
  body.pi-build .pi-page.pi-local-page .pi-hero__media,
  .pi-page.pi-local-page .pi-hero__media {
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
  }

  body.pi-build .pi-page.pi-local-page .pi-hero__media img,
  .pi-page.pi-local-page .pi-hero__media img {
    height: auto;
  }
}

@media (min-width: 900px) and (max-width: 1119px) {
  /* Local general pages: don't stretch media to copy height on tablet landscape. */
  body.pi-build .pi-page.pi-local-page .pi-hero,
  .pi-page.pi-local-page .pi-hero {
    align-items: start;
  }

  /* Ensure media box sizes to its content rather than stretching. */
  body.pi-build .pi-page.pi-local-page .pi-hero__media,
  .pi-page.pi-local-page .pi-hero__media {
    align-self: start;
  }
}

/* Person media ratio modifiers */
.pi-person-media--classic{ aspect-ratio:4 / 3; }
.pi-person-media--square{ aspect-ratio:1 / 1; }
.pi-person-media--portrait{ aspect-ratio:4 / 5; }
.pi-person-media--landscape{ aspect-ratio:16 / 9; }

/* =========================
   PI Primitive: Spotlight Cards
   (used by Home "most-requested drips")
   Warrior uses sprite symbol (#icon-warrior) like other spotlight icons
========================= */
.pi .pi-spotlight { }

.pi .pi-spotlight__grid{
  display:grid;
  column-gap:28px;
  row-gap:20px;
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:720px){
  .pi .pi-spotlight__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:1100px){
  .pi .pi-spotlight__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #sec-specialty .pi-spotlight__grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .pi-page--concierge-marketing.pi-local-page .pi-spotlight__grid:has(> .pi-why-card){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.pi .pi-spotlight__card{
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  box-shadow:0 4px 14px rgba(9,77,134,.03);
  display:flex;
  align-items:center;
  gap:14px;
  transition:box-shadow .2s ease, border-color .2s ease;
}

.pi .pi-spotlight__card-link{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  width:100%;
  height:100%;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}

.pi .pi-spotlight__card:hover,
.pi .pi-spotlight__card:focus-within,
.pi a.pi-spotlight__card:hover,
.pi a.pi-spotlight__card:focus-visible{
  border-color:rgba(9,77,134,.35);
  box-shadow:0 10px 22px rgba(9,77,134,.10);
}

.pi .pi-spotlight__icon{
  --pi-spotlight-icon-fill:75%;
  width:72px;
  height:72px;
  padding:8px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(9,77,134,.12);
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:none;
  margin:0;
}

/* Spotlight icons should fill most of the square without affecting global .pi-icon sizing. */
.pi .pi-spotlight__icon svg.pi-icon{
  width:var(--pi-spotlight-icon-fill) !important;
  height:var(--pi-spotlight-icon-fill) !important;
  display:block;
}

/* Lock spotlight icon sizes against page-level overrides */
.pi .pi-spotlight__icon .iv-icon{
  width:var(--pi-spotlight-icon-fill) !important;
  height:var(--pi-spotlight-icon-fill) !important;
}

/* Keep inline-injected Warrior icon parity with sprite-based spotlight icons. */
.pi .pi-spotlight__icon[data-warrior-icon] .pi-icon,
.pi .pi-spotlight__icon[data-warrior-icon] .ivs-icon,
.pi .pi-spotlight__icon[data-warrior-icon] .icon-warrior-2{
  width:var(--pi-spotlight-icon-fill) !important;
  height:var(--pi-spotlight-icon-fill) !important;
}

/* Local general-page icon sizing refinements (chips remain unchanged). */
.pi-page--concierge-marketing.pi-local-page{
  --pi-icon:32px;
}
.pi-page--concierge-marketing.pi-local-page .pi-chip{
  --pi-icon:22px;
}
.pi-page--concierge-marketing.pi-local-page .pi-why-card{
  --pi-icon:36px;
}
.pi-page--concierge-marketing.pi-local-page .pi-hero .pi-local-hero__trust-row,
.pi-page--concierge-marketing.pi-local-page .pi-hero .pi-local-hero__proof-row{
  display:grid;
  gap:10px;
  max-width:760px;
}
.pi-page--concierge-marketing.pi-local-page .pi-hero .pi-local-hero__trust-row .pi-chips,
.pi-page--concierge-marketing.pi-local-page .pi-hero .pi-local-hero__proof-row .pi-proof-pills{
  margin:0;
}
.pi-page--concierge-marketing.pi-local-page .pi-hero .pi-local-hero__proof-row{
  margin-top:var(--pi-s2);
}
.pi-page--concierge-marketing.pi-local-page #sec-how-it-works .pi-steps{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.pi-page--concierge-marketing.pi-local-page #sec-popular .pi-spotlight__grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.pi-page--concierge-marketing.pi-local-page #sec-popular .pi-spotlight__card-content{
  gap:6px;
}
.pi-page--concierge-marketing.pi-local-page #sec-popular .pi-spotlight__card-content h3{
  margin:0;
}
.pi-page--concierge-marketing.pi-local-page #sec-popular .pi-spotlight__price{
  margin:1px 0 0;
  color:#0c2a44;
  font-size:15px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.01em;
}
.pi-page--concierge-marketing.pi-local-page #sec-popular .pi-spotlight__card-content .pi-micro{
  margin:1px 0 0;
}
#sec-specialty .icon-niagen{
  width:var(--pi-icon,32px) !important;
  height:var(--pi-icon,32px) !important;
  transform:translateY(-2px) scale(1.24);
  transform-origin:center;
}
#sec-specialty .pi-card.pi-chip-link .pi-stack--2 > * + *{
  margin-top:11px;
}
#sec-specialty .pi-h3,
#sec-specialty .pi-h3--icon,
#sec-specialty .pi-h3--icon span{
  font-weight:500 !important;
}
.pi .pi-why-card h3{
  font-weight:500 !important;
}

.pi .pi-spotlight__card-content{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.pi .pi-spotlight__card-content h3{
  margin:0 0 4px 0;
  font-size:17px;
  font-weight:500;
  line-height:1.33;
}

.pi .pi-spotlight__price{
  margin:0;
  color:var(--pi-ink);
  font-size:14px;
  font-weight:500;
  line-height:1.35;
}

.pi .pi-spotlight__card .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
}

.pi .pi-spotlight__card .chip{
  padding:3px 8px;
  font-size:12px;
  line-height:1.2;
  border-radius:8px;
}

/* Responsive grid collapse */


/* =========================
   PI CTA Primitives
   ========================= */

/* Section wrapper for end-cap CTAs */
.pi-cta{
  /* no forced max-width; PI container handles that */
}

/* Card container */
.pi-cta__card{
  background:
    linear-gradient(135deg, rgba(9,77,134,.06), rgba(1,160,198,.06)),
    #ffffff;
  border:1px solid var(--pi-border);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(9,77,134,.10);
  padding:24px 22px;
}

/* Optional: tighter variant if needed later */
.pi-cta__card--tight{
  padding:20px 18px;
}

.pi-cta__card--narrow{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

/* Headline + body */
.pi-cta__headline{
  margin:0;
}
.pi-cta__body{
  margin:0;
  color:var(--pi-muted);
  line-height:1.6;
  max-width:70ch;
}

/* Layout */
.pi-cta__stack{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:center;
  text-align:center;
}

.pi-cta__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}

/* Ensure buttons don't stretch awkwardly on desktop */
.pi-cta__actions .pi-btn{
  width:auto;
  min-width:220px;
  justify-content:center;
}

.pi-cta--compact-actions .pi-cta__actions .pi-btn{
  min-width:160px;
  min-height:48px;
  padding:12px 16px;
  font-size:14.5px;
  width:auto;
  max-width:280px;
}

/* ============================================================
   PI FINAL CTA CONTRACT
   - The only place that controls final CTA headline + buttons.
   - Pages must NOT size .pi-btn globally; scope any page needs.
   ============================================================ */

.pi .pi-cta.pi-cta--final .pi-cta__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap: var(--pi-s3);
}

/* Lock headline size (prevents Home being bigger than others) */
.pi .pi-cta.pi-cta--final .pi-cta__headline{
  font-size:34px;
  line-height: 1.15;
  margin: 0;
}
@media (max-width:900px){
  .pi .pi-cta.pi-cta--final .pi-cta__headline{
    font-size:30px;
  }
}
@media (min-width:1200px){
  .pi .pi-cta.pi-cta--final .pi-cta__headline{
    font-size:38px;
  }
}

/* Lock body size */
.pi .pi-cta.pi-cta--final .pi-cta__body{
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  max-width: 70ch;
}

/* Desktop buttons: medium width, consistent height */
.pi .pi-cta.pi-cta--final .pi-cta__actions{
  display:flex;
  justify-content:center;
  gap: var(--pi-s3);
  flex-wrap: wrap;
  max-width: 760px;
  margin-inline: auto;
  width: 100%;
}

.pi .pi-cta.pi-cta--final .pi-cta__actions .pi-btn{
  width: auto;
  max-width: none;
  min-width: 320px;           /* key: prevents "full card width" */
  min-height: 48px;           /* key: fixes "too tall" */
  padding: 12px 16px;         /* key: fixes "too tall" */
  font-size: 15px;
  border-radius: 14px;
}


/* If viewport can't fit two 320px buttons, let them shrink before stacking */
@media (max-width: 720px){
  .pi .pi-cta.pi-cta--final .pi-cta__actions .pi-btn{
    min-width: 260px;
  }
}

/* Mobile: stack and use nice max width */
@media (max-width: 640px){
  .pi .pi-cta.pi-cta--final .pi-cta__card{
    align-items:flex-start;
    text-align:left;
  }
  .pi .pi-cta.pi-cta--final .pi-cta__actions{
    justify-content:flex-start;
  }
  .pi .pi-cta.pi-cta--final .pi-cta__actions .pi-btn{
    width: 100%;
    max-width: 420px;
    min-width: 0;
  }
}

/* Trust chips modifier (optional) */
.pi .pi-cta.pi-cta--final.pi-cta--trust .pi-trust{
  margin-top: var(--pi-s3);
  margin-bottom: var(--pi-s2);
}

/* =========================
   PI Quick Book CTA
   ========================= */
.pi-quickbook{ position:relative; z-index:10; }
.pi-quickbook__sticky{ pointer-events:none; }
.pi-quickbook__float{ pointer-events:auto; }

.pi-quickbook__sticky{
  position:fixed;
  left:0; right:0; bottom:0;
  padding:12px 16px 14px; /* no env/calc */
  background:#fff;
  border-top:1px solid var(--pi-border);
  box-shadow:0 -10px 28px rgba(9,77,134,.08);
  display:none;
  justify-content:center;
  align-items:center;
  z-index:9999;
}

.pi-quickbook__float{
  position:fixed;
  right:18px;
  bottom:18px; /* no env/calc */
  display:none;
  z-index:9999;
}

.pi-quickbook__btn{
  width:100%;
  max-width:520px;
  min-height:52px;
  padding:0 18px;
  border-radius:14px;
  font-weight:700;
  line-height:1.2;
  box-shadow:0 12px 28px rgba(9,77,134,.22);
  pointer-events:auto;
}

@media (min-width:901px){
  .pi-quickbook__sticky{ display:none; }
  .pi-quickbook__float{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .pi-quickbook__btn{
    width:auto;
    max-width:none;
  }
}

@media (max-width:900px){
  .pi-quickbook__sticky{ display:flex; }
  .pi-quickbook__float{ display:none; }
}

.pi-quickbook--dual .pi-quickbook__sticky{
  padding-top:10px;
  padding-bottom:12px;
}
.pi-quickbook--dual .pi-quickbook__actions{
  width:100%;
  max-width:540px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  pointer-events:auto;
}
.pi-quickbook--dual .pi-quickbook__btn{
  width:100%;
  max-width:none;
  min-height:48px;
  padding:0 14px;
  font-size:14px;
}
.pi-quickbook--dual .pi-quickbook__btn.pi-btn--secondary{
  box-shadow:none;
}
@media (max-width:420px){
  .pi-quickbook--dual .pi-quickbook__actions{
    grid-template-columns:1fr;
  }
}

/* Paid landing page variant: mobile-tight conversion layout */
.pi-mobile-iv-landing{
  --pi-section-gap:var(--pi-s6);
}
.pi-mobile-iv-landing .pi-hero{
  padding:24px 22px;
  gap:18px;
}
.pi-mobile-iv-landing .pi-hero__copy{
  gap:8px;
}
.pi-mobile-iv-landing .pi-kicker{
  margin-bottom:4px;
}
.pi-mobile-iv-landing .pi-page .pi-hero h1,
.pi-mobile-iv-landing .pi-hero h1{
  margin-bottom:8px;
}
.pi-mobile-iv-landing__service-line{
  margin:0;
  color:var(--pi-brand);
  font-weight:700;
}
.pi-mobile-iv-landing__pricing{
  margin:0;
  color:var(--pi-ink);
  font-size:18px;
  font-weight:700;
}
.pi-mobile-iv-landing__offer,
.pi-mobile-iv-landing__availability{
  margin:0;
  color:var(--pi-muted);
}
.pi-mobile-iv-landing__rating{
  margin:0;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:15px;
  font-weight:600;
  color:var(--pi-brand);
}
.pi-mobile-iv-landing__rating-icon{
  flex:0 0 18px;
  width:18px;
  height:18px;
}
.pi-mobile-iv-landing__micro{
  margin:2px 0 0;
  font-size:13px;
  color:var(--pi-muted);
}
.pi-mobile-iv-landing__options{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.pi-mobile-iv-landing__option{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pi-mobile-iv-landing__option-head{
  display:flex;
  align-items:center;
  gap:12px;
}
.pi-mobile-iv-landing__option-icon{
  flex:0 0 24px;
  width:24px;
  height:24px;
}
.pi-mobile-iv-landing__option-head h3{
  margin:0;
}
.pi-mobile-iv-landing__option h3{
  margin:0;
}
.pi-mobile-iv-landing__option-price{
  margin:0;
  color:var(--pi-brand);
  font-weight:700;
}
.pi-mobile-iv-landing__option-tag{
  margin:-2px 0 0;
  color:var(--pi-text);
  font-size:14px;
  font-weight:500;
  line-height:1.5;
}
.pi-mobile-iv-landing__option-copy{
  margin:0;
  color:var(--pi-muted);
  font-size:14px;
}
.pi-mobile-iv-landing__option-cta{
  margin-top:auto;
}
.pi-mobile-iv-landing .pi-highlight-card{
  padding:var(--pi-s5) var(--pi-s4);
}
.pi-mobile-iv-landing__fineprint{
  margin:8px 0 0;
  font-size:13px;
  color:var(--pi-muted);
}
.pi-mobile-iv-landing__how-note{
  margin:8px 0 0;
  color:var(--pi-muted);
}
@media (max-width:900px){
  .pi-mobile-iv-landing{
    padding-bottom:132px !important;
  }
}
@media (max-width:760px){
  .pi-mobile-iv-landing .pi-hero{
    padding:18px 16px;
    gap:14px;
  }
  .pi-mobile-iv-landing .pi-hero h1{
    font-size:30px;
  }
  .pi-mobile-iv-landing__options{
    grid-template-columns:1fr;
  }
}

/* =========================
   PI Reviews Wrapper
   ========================= */
.pi-reviews{
  background:#f9fbfd;
  border-radius:16px;
  padding:28px var(--pi-pad, 16px);
  box-shadow:0 8px 22px rgba(9,77,134,.06);
}
.pi-reviews__embed{
  background:#fff;
  border:1px solid var(--pi-border);
  border-radius:14px;
  padding:12px;
  box-shadow:0 6px 18px rgba(9,77,134,.06);
}

/* =========================
   PI Embed (responsive iframe wrapper)
   ========================= */
.pi-embed{
  position:relative;
  width:100%;
}
.pi-embed--16x9{
  aspect-ratio:16 / 9;
}
.pi-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}

/* =========================
   PI Lists (Checklist)
   ========================= */
.pi .pi-list{
  margin:0;
  padding-left:18px;
}
.pi .pi-list--checks{
  list-style:none;
  padding-left:0;
}
.pi .pi-list--checks li{
  margin:8px 0;
  padding-left:26px;
  position:relative;
}
.pi .pi-list--checks li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--pi-brand);
  font-weight:800;
  line-height:1.2;
}

/* ============================================================
TREATMENT PAGES (TP) - LLP -> PI BRIDGE (styling only)

No page-level <style>/<script>

No markup rewrites

Scoped under .tp
============================================================ */
.tp{
  --tp-ink:var(--pi-ink);
  --tp-muted:var(--pi-muted);
  --tp-brand:var(--pi-brand);
  --tp-accent:var(--pi-accent);
  --tp-h1:#0c2855;
  --tp-heading:#102949;
  --tp-pricing:#000f2c;
  --tp-border:var(--pi-border);
  --tp-card:var(--pi-card);
  --tp-radius:var(--pi-radius);
  --tp-shadow:0 12px 28px rgba(9,77,134,.12);
  --tp-shadow-soft:0 8px 20px rgba(9,77,134,.08);
  --tp-cta-shadow:0 12px 28px rgba(9,77,134,.22);
  --tp-cta-radius:14px;
  --tp-cta-min-height:52px;
}

/* Shared hero / tiles / accordion / steps styling */
.tp .llp-hero{
  display:grid;
  gap:28px;
  align-items:center;
}
.tp .llp-hero h1{
  margin:0 0 12px;
  color:var(--tp-h1);
  letter-spacing:.2px;
}
.tp .llp-hero .llp-sub{
  margin:8px 0 16px;
  color:var(--tp-muted);
  line-height:1.55;
}
.tp .llp-tiles{
  display:grid;
  gap:18px;
}
.tp .llp-tile,
.tp .llp-card{
  background:var(--tp-card);
  border:1px solid var(--tp-border);
  border-radius:var(--tp-radius);
  box-shadow:var(--tp-shadow-soft);
}
.tp .llp-tile{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.tp .llp-card{
  padding:18px;
}
.tp .llp-accordion{
  display:grid;
  gap:12px;
}
.tp .llp-accordion__item{
  border:1px solid var(--tp-border);
  border-radius:14px;
  background:var(--tp-card);
  box-shadow:0 8px 20px rgba(9,77,134,.06);
  overflow:hidden;
}
.tp .llp-accordion__trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  text-align:left;
  padding:12px 14px;
  font-weight:700;
  background:transparent;
}
.tp .llp-accordion__trigger > span:first-child{
  flex:1 1 auto;
  text-align:left;
}
.tp .llp-accordion__chev,
.tp .llp-accordion__chevron{
  flex:0 0 auto;
}
.tp .llp-accordion__panel{
  padding:0 14px 14px;
  border-top:1px solid var(--tp-border);
  color:var(--tp-muted);
}
.tp .llp-steps{
  display:grid;
  gap:18px;
}
.tp .llp-step{
  background:var(--tp-card);
  border:1px solid var(--tp-border);
  border-radius:var(--tp-radius);
  padding:18px;
  box-shadow:var(--tp-shadow-soft);
}
.tp .llp-step-num{
  color:var(--tp-brand);
  border-color:var(--tp-brand);
}

/* TP utilities (for inline replacements later) */
.tp .tp-cta-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px;
  border:1px solid var(--tp-border);
  border-radius:var(--tp-radius);
  background:var(--tp-card);
  box-shadow:var(--tp-shadow);
}
.tp .tp-cta-panel--inline{
  display:inline-flex;
  align-items:center;
  flex-direction:row;
  gap:12px;
  padding:12px 16px;
}
.tp .tp-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.tp .tp-cta-row--center{
  justify-content:center;
  text-align:center;
}
.tp .tp-mt-1{ margin-top:var(--pi-s2); }
.tp .tp-mt-2{ margin-top:var(--pi-s4); }
.tp .tp-mt-3{ margin-top:var(--pi-s6); }

/* ============================================================
TP - PI SKIN (concierge parity layer)

styling only, scoped to .tp

maps LLP components to PI look/feel
============================================================ */

/* TP page skin (match pi-page background feel) */
.tp{
  background:var(--pi-bg);
  padding:32px 18px 48px;
  color:var(--pi-ink);
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --tp-copy:rgba(15,23,42,.78);
  --tp-copy-soft:rgba(15,23,42,.72);
  --tp-link:rgba(12,42,68,.88);
  --tp-link-underline:rgba(9,77,134,.28);
  box-sizing:border-box;
}
.tp *{ box-sizing:border-box; }
.pi-tp.tp{
  padding:0 !important;
  background:transparent !important;
}
.tp.llp-float-cta{
  padding:0;
  background:transparent;
}

/* TP hero: match PI hero card */
.tp .llp.llp-drip.vA{
  background:transparent !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.tp .llp.llp-drip.vA .llp-hero{
  background:linear-gradient(135deg,rgba(9,77,134,.08),rgba(1,160,198,.08)) !important;
  border:1.2px solid rgba(12,42,68,.12) !important;
  border-radius:var(--pi-radius) !important;
  padding:34px 32px !important;
  box-shadow:var(--pi-shadow) !important;
  margin:0 auto 44px !important;
}

@media (max-width:900px){
  .tp .llp.llp-drip.vA .llp-hero{
    padding:24px 18px !important;
  }
}

/* TP H1: match concierge H1 typography (must beat Squarespace shim !important) */
.tp .llp-hero h1{
  font-size:36px !important;
  line-height:1.1 !important;
  letter-spacing:.2px !important;
  font-weight:500 !important;
}
@media (max-width:900px){
  .tp .llp-hero h1{ font-size:32px !important; }
}
@media (min-width:1200px){
  .tp .llp-hero h1{ font-size:40px !important; }
}
/* TP hero H1: lock sizing using treatment attribute (bulletproof against LLP base + FE wrappers) */
.tp [data-llp-treatment].llp-hero h1{
  font-size:36px !important;
  line-height:1.1 !important;
  letter-spacing:.2px !important;
  font-weight:500 !important;
  margin:0 0 12px !important;
}
@media (max-width:900px){
  .tp [data-llp-treatment].llp-hero h1{ font-size:32px !important; }
}
@media (min-width:1200px){
  .tp [data-llp-treatment].llp-hero h1{ font-size:40px !important; }
}

/* Trust chips: prefer PI chip geometry even inside TP vA */
.tp .llp.llp-drip.vA .llp-badge.pi-chip,
.tp .llp.llp-drip.vA .llp-chip.pi-chip{
  border-radius:14px !important;
  background:transparent !important;
  border:1.2px solid rgba(12,42,68,.25) !important;
  box-shadow:0 1px 0 rgba(9,77,134,.04) !important;
  padding:7px 12px !important;
}
/* TP trust chips anywhere (hero + bottom CTA): force PI chip look */
.tp .llp-badges .llp-badge.pi-chip,
.tp .llp-badges .llp-chip.pi-chip{
  border-radius:14px !important;
  background:transparent !important;
  border:1.2px solid rgba(12,42,68,.25) !important;
  box-shadow:0 1px 0 rgba(9,77,134,.04) !important;
}

/* Hero CTAs: PI sizing wins */
.tp .llp.llp-drip.vA .llp-cta .pi-btn{
  min-height:52px !important;
  padding:14px 18px !important;
  border-radius:14px !important;
  font-weight:700 !important;
  font-size:15px !important;
}

/* Price pill icon should be an SVG in a small circle */
.tp .llp-price-pill .llp-price-emoji{
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 30%, rgba(1,160,198,.16), rgba(9,77,134,.06));
  border:1px solid rgba(9,77,134,.18);
  box-shadow:0 4px 10px rgba(9,77,134,.14);
  margin-right:6px;
}
.tp .llp-price-pill .llp-price-emoji svg{
  width:18px;
  height:18px;
  display:block;
}
/* TP price pill: center and size the SVG icon properly */
.tp .llp-price-pill .llp-price-emoji{
  display:inline-grid !important;
  place-items:center !important;
  width:38px !important;
  height:38px !important;
  line-height:0 !important;
  margin-right:8px !important;
}
.tp .llp-price-pill .llp-price-emoji svg,
.tp .llp-price-pill .llp-price-emoji svg.pi-icon{
  width:22px !important;
  height:22px !important;
  display:block !important;
}

/* Chips */
.tp .llp-chips{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin:16px 0 18px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
}
.tp .llp-chips::-webkit-scrollbar{ display:none; }
.tp .llp-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border:1.2px solid rgba(12,42,68,.25);
  border-radius:14px;
  background:transparent;
  color:var(--tp-ink);
  font-size:14px;
  line-height:1.15;
  font-weight:600;
  box-shadow:0 1px 0 rgba(9,77,134,.04);
  cursor:default;
  transition:transform .16s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.tp .llp-chip svg{
  width:var(--pi-icon, 22px);
  height:var(--pi-icon, 22px);
  flex-shrink:0;
}
.tp .llp-chip:hover,
.tp .llp-chip:focus-visible{
  border-color:rgba(9,77,134,.35);
  background:rgba(9,77,134,.03);
  box-shadow:0 10px 22px rgba(9,77,134,.10);
  transform:translateY(-0.5px);
}
.tp .llp-chip:active{
  transform:translateY(0);
  box-shadow:0 6px 16px rgba(9,77,134,.10);
}

@media (max-width:640px){
  .tp .llp-chips{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:var(--pi-s2);
    width:100%;
    max-width:100%;
    overflow:visible;
    padding-bottom:0;
  }
  .tp .llp-chips .llp-chip{
    min-width:0;
    width:100%;
    max-width:100%;
  }
}
@media (max-width:640px){
  /* TP trust chips: 2x2 grid like concierge */
  .tp .llp-badges.pi-chips{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
    width:100% !important;
    overflow:visible !important;
    padding-bottom:0 !important;
  }
  .tp .llp-badges.pi-chips .pi-chip--trust{
    max-width:none !important;
    width:100% !important;
  }
  .tp .llp-badges.pi-chips .pi-chip{
    min-width:0 !important;
  }
}

/* Buttons */
.tp .llp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 18px;
  min-height:52px;
  border-radius:14px;
  font-weight:700;
  font-size:15px;
  line-height:1;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .06s ease, box-shadow .12s ease, background .12s ease, color .12s ease, border-color .12s ease, filter .12s ease;
  -webkit-tap-highlight-color:transparent;
}
.tp .llp-btn:focus{
  outline:none;
  box-shadow:var(--pi-focus);
}
.tp .llp-btn:focus-visible{
  outline:2px solid rgba(9,77,134,.25);
  outline-offset:3px;
}
.tp .llp-btn:active{
  transform:translateY(1px);
}
.tp .llp-btn-primary{
  background:linear-gradient(120deg,var(--pi-brand),var(--pi-accent));
  color:#fff;
  box-shadow:0 10px 26px rgba(9,77,134,.25);
  border:1px solid rgba(255,255,255,.16);
}
.tp .llp-btn-primary:hover{
  filter:brightness(1.03);
}
.tp .llp-btn-secondary,
.tp .llp-btn-outline{
  background:transparent;
  color:var(--pi-ink);
  border-color:var(--pi-border);
}
.tp .llp-btn-secondary:hover,
.tp .llp-btn-outline:hover{
  background:rgba(15,23,42,.04);
}

/* Cards / Tiles */
.tp .llp-tile,
.tp .llp-card{
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  padding:var(--pi-s4);
  box-shadow:var(--pi-shadow);
  transition:transform .16s ease, box-shadow .18s ease, border-color .18s ease;
}
.tp .llp-tile:hover,
.tp .llp-tile:focus-within,
.tp .llp-card:hover,
.tp .llp-card:focus-within{
  transform:translateY(-2px);
  box-shadow:var(--pi-shadow-hover);
  border-color:rgba(9,77,134,.18);
}

/* Accordion / FAQ */
.tp .llp-accordion__trigger{
  background:#f9fbfd;
  border:1px solid #e6e9ef;
  border-radius:12px;
  padding:12px 14px;
  font-size:16px;
  font-weight:700;
  color:#0c2a44;
}
.tp .llp-accordion__trigger:focus-visible{
  outline:none;
  box-shadow:var(--pi-focus);
}
.tp .llp-accordion__panel{
  background:#fff;
  border-top:1px solid #e6e9ef;
  padding:12px 14px;
  color:var(--pi-muted);
  line-height:1.55;
}

/* CTA cards */
.tp .tp-cta-panel{
  background:
    linear-gradient(135deg, rgba(9,77,134,.06), rgba(1,160,198,.06)),
    #ffffff;
  border:1px solid var(--pi-border);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(9,77,134,.10);
  padding:24px 22px;
  overflow:visible;
}
.tp .tp-cta-panel--inline{
  padding:12px 16px;
}
.tp .llp-section.llp-cta-bottom .llp-card,
.tp .llp-section.llp-cta-bottom .llp-cta-card{
  background:
    linear-gradient(135deg, rgba(9,77,134,.06), rgba(1,160,198,.06)),
    #ffffff;
  border:1px solid var(--pi-border);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(9,77,134,.10);
  padding:24px 22px;
  overflow:visible;
}

/* Bottom CTA actions: PI buttons sizing */
.tp .llp-cta-bottom .pi-btn{
  min-height:48px;
  padding:12px 16px;
  border-radius:14px;
}
/* TP final CTA: text alignment parity with concierge */
.tp .llp-inline-cta .pi-cta__body{
  text-align:center;
}
@media (max-width:640px){
  .tp .llp-inline-cta .pi-cta__body{
    text-align:left;
  }
}
/* TP bottom CTA subtext: centered like concierge (and readable width) */
.tp .llp-section.llp-cta-bottom .llp-cta-sub{
  text-align:center;
  max-width:70ch;
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:640px){
  .tp .llp-section.llp-cta-bottom .llp-cta-sub{
    text-align:left;
    margin-left:0;
    margin-right:0;
  }
}

/* Reviews framing */
.tp .llp-section.llp-reviews{
  background:#f9fbfd;
  border-radius:16px;
  padding:28px var(--pi-pad, 16px);
  box-shadow:0 8px 22px rgba(9,77,134,.06);
}
.tp .llp-section.llp-reviews .llp-container{
  max-width:var(--pi-max);
}
.tp .llp-section.llp-reviews .pi-reviews__embed,
.tp .llp-section.llp-reviews .llp-review-wrapper{
  background:#fff;
  border:1px solid var(--pi-border);
  border-radius:14px;
  padding:12px;
  box-shadow:0 6px 18px rgba(9,77,134,.06);
}

/* =========================
   PI Steps
   ========================= */
.pi-steps{
  display:grid;
  gap:18px;
}
.pi-step{
  position:relative;
  background:#fff;
  border:1px solid var(--pi-border);
  border-radius:16px;
  padding:22px 18px 18px 22px;
  box-shadow:0 10px 28px rgba(9,77,134,.08);
}
.pi-step h3{
  margin:0 0 6px;
  font-size:17px;
  line-height:1.35;
  color:#0c2a44;
}
.pi-step p{
  margin:0;
  color:var(--pi-muted);
  font-size:15px;
  line-height:1.55;
}
.pi-step__num{
  position:absolute;
  top:-14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:linear-gradient(180deg,#0a5d9f 0%, #094d86 100%);
  color:#fff;
  font-weight:800;
  font-size:13px;
  line-height:1;
  border:2px solid #fff;
  box-shadow:0 4px 10px rgba(9,77,134,.18);
}
@media (max-width:640px){
  .pi-page--concierge-marketing.pi-local-page #sec-how-it-works .pi-steps{
    grid-template-columns:1fr;
  }
  .pi-steps{ grid-template-columns:1fr; }
}

/* Responsive */
@media (max-width:980px){
  .pi .pi-hero{ grid-template-columns:1fr; }
}

@media (max-width:720px){
  .pi-page--concierge-marketing.pi-local-page .pi-hero .pi-proof-pills,
  .pi-page--concierge-marketing.pi-local-page .pi-hero .pi-proof-pills--compact{
    grid-template-columns:1fr;
  }
  .pi-page--concierge-marketing.pi-local-page #sec-popular .pi-spotlight__grid{
    grid-template-columns:1fr;
  }
  .pi-hero__cta{ flex-direction:column; align-items:flex-start; }
  .pi-btn{ width:100%; max-width:360px; }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .pi-btn,
  .pi-card--hover,
  .pi-chip{
    transition:none !important;
  }
}

/* =========================
   PI Accordion
   ========================= */
.pi .pi-accordion{ display:grid; gap:var(--pi-s2); }
.pi .pi-accordion__item{ }
.pi .pi-accordion__trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--pi-s2);
  text-align:left;
  background:rgba(9,77,134,.06);
  border:1px solid var(--pi-border);
  border-radius:12px;
  padding:10px var(--pi-s3);
  font-weight:700;
  color:var(--pi-brand);
  cursor:pointer;
}
.pi .pi-accordion__trigger:focus-visible{ box-shadow:var(--pi-focus); outline:none; }
.pi .pi-accordion__icon{ transition:transform .18s ease; }
.pi .pi-accordion__item.is-open .pi-accordion__icon{ transform:rotate(180deg); }

.pi .pi-accordion__panel{
  overflow:hidden;
  max-height:0;
  transition:max-height .22s ease;
}
.pi .pi-accordion__panel[hidden]{ display:block; } /* keep layout for animation; hidden is toggled after */
.pi .pi-accordion__body{
  padding:var(--pi-s2) var(--pi-s1) 0;
  color:var(--pi-muted);
  line-height:1.6;
}

/* =========================
   PI FAQ (Accordion + controls)
   ========================= */
.pi .pi-faq{
  max-width:var(--pi-max);
  margin:0 auto;
  padding:28px var(--pi-faq-pad, 24px);
}

.pi .pi-faq__header{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.pi .pi-faq__controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
@media (min-width:900px){
  .pi .pi-faq__controls{ justify-content:flex-end; }
}
@media (max-width:899px){
  .pi .pi-faq__controls{ justify-content:center; }
}

.pi .pi-faq__btn{
  border:1px solid #cfe6f8;
  background:#e6f3ff;
  color:#0c2a44;
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.pi .pi-faq__btn:focus{
  outline:2px solid #cfe6f8;
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(9,77,134,.12);
}

.pi .pi-faq__list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.pi .pi-faq__item{
  border:1px solid #e6e9ef;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}

.pi .pi-faq__trigger{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  text-align:left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:16px;
  font-weight:700;
  color:#0c2a44;
  background:#f9fbfd;
  border:none;
  cursor:pointer;
}
.pi .pi-faq__trigger:hover{ background:#f3f7fb; }
.pi .pi-faq__trigger:focus{
  outline:2px solid #cfe6f8;
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(9,77,134,.12);
}

.pi .pi-faq__label{
  display:block;
  flex:1 1 auto;
  font-size:16px;
  font-weight:700;
}

.pi .pi-faq__chevron{
  width:16px;
  height:16px;
  display:inline-block;
  border:solid #4a5b6b;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  transition:transform .2s ease;
  margin-left:8px;
  flex:0 0 auto;
}
.pi .pi-faq__item.is-open .pi-faq__chevron{ transform:rotate(-135deg); }

.pi .pi-faq__panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .22s ease;
  background:#fff;
}
.pi .pi-faq__content{
  padding:12px 14px;
  color:#5f6b7a;
  border-top:1px solid #e6e9ef;
  line-height:1.55;
}

.pi .pi-faq .is-hidden{ display:none !important; }
.pi .pi-faq.faqs--show-all .is-hidden{ display:block !important; }

/* Service hours */
.pi .service-hours__rows{
  display:grid;
  gap:var(--pi-s2);
}

.pi .service-hours__row{
  display:flex;
  gap:var(--pi-s2);
  align-items:baseline;
}

.pi .service-hours__label{
  font-weight:700;
  color:var(--pi-ink);
}

.pi .service-hours__value{
  color:var(--pi-ink);
}

@media (prefers-reduced-motion:reduce){
  .pi .pi-faq__panel{ transition:none; }
  .pi .pi-faq__chevron{ transition:none; }
}

/* ===== START: Local Landing Page (LLP) Styles - clean ===== */

/*
  ==================================================================
  PurelyIV - Squarespace Custom CSS
  ------------------------------------------------------------------
  Purpose: Centralized custom styles added via Squarespace > Design >
           Custom CSS. This file is structured with clear sections to
           ease future additions and maintenance.

  Usage & Conventions:
  - Do NOT reorder major blocks; preserve cascade order.
  - Prefer scoping rules (e.g., `.llp-section`, `.llp-*`) to avoid leaks.
  - Keep properties as-is; avoid style changes in refactors.
  - Document new blocks with a brief header and intent.
  - Breakpoints in use: 900px, 640px, 480px. Document any new ones.

  Table of Contents:
  1) Local Landing Page (LLP)
     1.1) Tokens & Section Wrapper
     1.2) Hero
     1.3) Service Content ("comes")
     1.4) Chips/Badges
     1.5) Cards
     1.6) CTA Section
     1.7) Reviews (scoped)
     1.8) FAQ
     1.9) Nearby Communities
     1.10) Responsive
  2) Treatment Pages (TP) - namespaced under `.tp`
  3) Footer Accordion Menu
  ==================================================================
*/
/* Theme tokens (scoped to both wrappers so sections inherit) */
.llp-theme,
.llp-section{
  --llp-brand:#094d86;
  --llp-text:#0d0d0d;
  --llp-muted:#1f2937;          /* darker for contrast */
  --llp-chip:#f3f4f6;           /* chip background */
  --llp-chip-border:#cbd5e1;    /* chip border */
  --llp-dark:#111827;
  --llp-max:1100px;
  --llp-pad:24px;
}

/* Section wrapper */
.llp-section{
  max-width:var(--llp-max);
  margin:0 auto;
  padding:28px var(--llp-pad);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--llp-text);
}

/* TP sections: align LLP wrapper with PI skin */
.tp.llp-section{
  --llp-text:var(--pi-ink);
  --llp-muted:var(--pi-muted);
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--pi-ink);
}

/* =========================
   Hero
   ========================= */
.llp-hero{
  display:grid !important;
  grid-template-columns:1.1fr 0.9fr;
  gap:28px;
  align-items:center;
  padding:32px 0;
}

.llp-hero .llp-copy{ max-width:720px; }

/* Fluid type */
.llp-hero h1{
  margin:0 0 12px;
  font-size:40px;
  line-height:1.1;
}
.llp-hero .llp-sub{
  margin:8px 0 16px;
  color:var(--llp-muted);
  font-size:18px;
}
@media (min-width:1200px){
  .llp-hero h1{
    font-size:48px;
  }
  .llp-hero .llp-sub{
    font-size:20px;
  }
}

/* Badges (chips) */
.llp-hero .llp-badges{
  display:flex; gap:10px; flex-wrap:wrap; margin:12px 0 20px;
}
.llp-hero .llp-badge{
  display:inline-block;
  padding:6px 12px;
  border:1px solid var(--llp-chip-border);
  border-radius:999px;
  background:var(--llp-chip);
  color:#111827;
  font-size:13px;
  font-weight:500;
}

/* Media */
.llp-hero .llp-media img{
  display:block; width:100%; height:auto; border-radius:14px;
}

/* =========================
   TP Accordions - Elevated Style
   Applies consistent outline/shadow to accordions in:
   - .llp-section.llp-who (Who this drip is for)
   - .llp-section.llp-ingredients (What's inside)
   Scoped so FAQs and other accordions are unaffected.
   ========================= */
.tp .llp-section.llp-who .llp-accordion__trigger,
.tp .llp-section.llp-ingredients .llp-accordion__trigger,
/* fallback without .tp wrapper */
.llp-section.llp-who .llp-accordion__trigger,
.llp-section.llp-ingredients .llp-accordion__trigger{
  border:2px solid #cfe6f8 !important;
  background:#fff !important;
  border-radius:14px !important;
  box-shadow:0 10px 28px rgba(9,77,134,.08) !important;
}
.tp .llp-section.llp-who .llp-accordion__panel,
.tp .llp-section.llp-ingredients .llp-accordion__panel,
/* fallback without .tp wrapper */
.llp-section.llp-who .llp-accordion__panel,
.llp-section.llp-ingredients .llp-accordion__panel{
  border:1px solid #e6e9ef !important;
  border-radius:14px !important;
  box-shadow:0 8px 20px rgba(9,77,134,.06) !important;
}
/* Support pages that use <details>/<summary> for Who section */
.tp .llp-section.llp-who details,
.llp-section.llp-who details{
  border:2px solid #cfe6f8 !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(9,77,134,.08) !important;
}

/* Who section chip colors (global, consistent across pages) */
.tp .llp-section.llp-who .llp-chip--ok,
.llp-section.llp-who .llp-chip--ok{
  background:#eaf7ef !important;
  border-color:#cbead6 !important;
  color:#1f5132 !important;
}
.tp .llp-section.llp-who .llp-chip--warn,
.tp .llp-section.llp-who .llp-chip--no,
.llp-section.llp-who .llp-chip--warn,
.llp-section.llp-who .llp-chip--no{
  background:#fff0f0 !important;
  border-color:#ffd9d9 !important;
  color:#7a1f1f !important;
}

/* =========================
   TP Base Styles (LESS-safe; moved from header)
   ========================= */
.tp{
  --llp-maxW:1280px;
  --llp-padX:16px;
  --llp-container-w:1280px;
  --llp-gutter:16px;
  --llp-left-nudge:0px;
}
.tp .llp.llp-drip.vA{
  --ink:#0c2a44;
  --sub:#5f6b7a;
  --line-soft:#e6e9ef;
  --line-chip:#cfd8e3;
  --brand:#094d86;
  --bg-hero-top:#f0f7fc;
  --bg-hero-mid:#ffffff;
  --bg-hero-glow:rgba(9,77,134,.05);
  --chip-trust-bg:#e6f3ff;
  --chip-trust-line:#cfe6f8;
  --chip-val-bg:#ffffff;
  --chip-val-line:#cfd8e3;
  --price-bg:#d6ebfa;
  --price-line:#bcdff5;
  position:relative;
  padding-top:36px;
  padding-bottom:16px;
  background:linear-gradient(180deg,var(--bg-hero-top) 0%,var(--bg-hero-mid) 70%);
}
.tp .llp.llp-drip.vA .llp-hero,
.tp .llp.llp-drip.vA .llp-hero__inner{
  box-sizing:border-box;
  max-width:var(--llp-maxW);
  margin:0 auto;
  padding:0 var(--llp-padX);
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 560px);
  gap:32px;
  align-items:center;
}
.tp .llp.llp-drip.vA .llp-hero .llp-hero__inner{
  display:contents;
}
.tp .llp.llp-drip.vA .llp-copy{
  order:1;
  min-width:0;
  max-width:720px;
}
.tp .llp.llp-drip.vA .llp-media{
  order:2;
  width:100%;
  max-width:none;
  min-width:0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--line-soft);
  box-shadow:0 8px 24px rgba(9,77,134,.10);
}
.tp .llp.llp-drip.vA .llp-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tp .llp.llp-drip.vA .llp-hero h1{
  letter-spacing:.2px;
  color:var(--tp-h1);
}
.tp .llp.llp-drip.vA .llp-sub{
  max-width:58ch;
  line-height:1.55;
  color:var(--sub);
}
.tp .llp.llp-drip.vA .llp-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0;
}
.tp .llp.llp-drip.vA .llp-badge{
  background:var(--chip-trust-bg);
  border:1px solid var(--chip-trust-line);
  color:var(--ink);
  padding:6px 12px;
  border-radius:999px;
  font-size:14px;
  line-height:1.2;
}
.tp .llp.llp-drip.vA .llp-drip-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:16px;
}
.tp .llp.llp-drip.vA .llp-chip{
  background:var(--chip-val-bg);
  border:1.5px solid var(--chip-val-line);
  box-shadow:0 1px 0 rgba(9,77,134,.04);
  color:var(--ink);
  padding:7px 12px;
  border-radius:999px;
  font-size:14px;
  line-height:1.2;
}
.tp .llp.llp-drip.vA .llp-price{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:999px;
  background:var(--price-bg);
  color:var(--tp-pricing);
  font-weight:600;
  font-size:20px;
  line-height:1.2;
  border:1px solid var(--price-line);
  margin-top:12px;
  margin-bottom:18px;
}
.tp .llp.llp-drip.vA .llp-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.tp .llp.llp-drip.vA .llp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  min-height:36px;
  border-radius:8px;
  font-size:15px;
  font-weight:600;
  line-height:1.1;
  text-decoration:none;
  transition:transform .06s ease,box-shadow .12s ease;
}
.tp .llp.llp-drip.vA .llp-btn-primary{
  background:var(--brand);
  color:#fff;
  box-shadow:0 4px 12px rgba(9,77,134,.15);
  padding:10px 20px;
  min-height:42px;
  font-size:16px;
}
.tp .llp.llp-drip.vA .llp-btn-secondary{
  background:#fff;
  color:var(--brand);
  border:1px solid var(--brand);
}
@media (max-width:1119px) and (min-width:900px){
  .tp .llp.llp-drip.vA .llp-hero,
  .tp .llp.llp-drip.vA .llp-hero__inner{
    grid-template-columns:minmax(0, 1fr) minmax(0, 320px);
    gap:20px;
    max-width:100%;
  }
  .tp .sqs-block-code .llp-hero,
  .tp .sqs-block-html .llp-hero{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 320px) !important;
    gap:20px !important;
    max-width:100% !important;
  }
  .tp .llp.llp-drip.vA .llp-hero__inner{
    padding-right:16px;
  }
  .tp .llp.llp-drip.vA .llp-hero{
    overflow:visible;
  }
  .tp .llp.llp-drip.vA .llp-copy{
    min-width:0 !important;
    max-width:720px;
  }
  .tp .llp.llp-drip.vA .llp-media{
    max-width:320px !important;
    width:100% !important;
    min-width:0 !important;
    justify-self:end;
    margin:0 !important;
    transform:none !important;
    right:auto !important;
    left:auto !important;
  }
  .tp .llp.llp-drip.vA .llp-media img{
    width:100%;
    height:auto !important;
    display:block;
  }
  .tp .llp.llp-drip.vA{
    padding-bottom:28px !important;
  }
}
@media (max-width:899px){
  .tp .llp.llp-drip.vA .llp-hero,
  .tp .llp.llp-drip.vA .llp-hero__inner{
    grid-template-columns:1fr !important;
    gap:18px;
    max-width:100%;
  }
  .tp .sqs-block-code .llp-hero,
  .tp .sqs-block-html .llp-hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    max-width:100% !important;
  }
  .tp .llp.llp-drip.vA .llp-copy{
    min-width:0 !important;
    max-width:none !important;
  }
  .tp .llp.llp-drip.vA .llp-media{
    max-width:none !important;
    width:100% !important;
  }
  .tp .llp.llp-drip.vA .llp-media img{
    width:100%;
    height:auto !important;
    display:block;
  }
  .tp .llp.llp-drip.vA{
    padding-bottom:28px !important;
  }
}
.tp .llp-section.llp-facts,
.tp .llp-section.llp-about,
.tp .llp-section.llp-ingredients,
.tp .llp-section.llp-how,
.tp .llp-section.llp-who,
.tp .llp-section.llp-why,
.tp .llp-section.llp-faqs,
.tp .llp-section.llp-reviews{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.tp .llp-section.llp-facts > .llp-container,
.tp .llp-section.llp-about > .llp-container,
.tp .llp-section.llp-ingredients > .llp-container,
.tp .llp-section.llp-how > .llp-container,
.tp .llp-section.llp-who > .llp-container,
.tp .llp-section.llp-why > .llp-container,
.tp .llp-section.llp-faqs > .llp-container,
.tp .llp-section.llp-reviews > .llp-container{
  box-sizing:border-box;
  max-width:var(--llp-container-w);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--llp-gutter);
  padding-right:var(--llp-gutter);
}
.tp .llp-section h2{
  margin:0 0 12px;
  color:var(--tp-heading);
  letter-spacing:.2px;
  font-size:26px;
  line-height:1.2;
  font-weight:500;
}
.tp .llp-section h3{
  color:var(--tp-heading);
  font-weight:500;
}
/* Treatment-page content copy should stay lighter than the PI marketing skin. */
.tp .llp-section.llp-about p,
.tp .llp-section.llp-ingredients td,
.tp .llp-section.llp-ingredients .llp-role,
.tp .llp-section.llp-inline-cta .pi-cta__body,
.tp .llp-section.llp-cta-bottom .llp-cta-sub{
  color:var(--tp-copy);
  font-weight:300;
  line-height:1.68;
}
.tp .llp-section p a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link),
.tp .llp-section li a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link),
.tp .llp-section td a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link),
.tp .llp-section .llp-drawer a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link),
.tp .llp-section .llp-note a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link){
  color:var(--tp-link);
  font-weight:400;
  text-decoration-line:underline;
  text-decoration-color:var(--tp-link-underline);
  text-decoration-thickness:1px;
  text-underline-offset:2px;
  transition:color .16s ease, text-decoration-color .16s ease;
}
.tp .llp-section p a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):hover,
.tp .llp-section p a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):focus-visible,
.tp .llp-section li a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):hover,
.tp .llp-section li a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):focus-visible,
.tp .llp-section td a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):hover,
.tp .llp-section td a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):focus-visible,
.tp .llp-section .llp-drawer a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):hover,
.tp .llp-section .llp-drawer a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):focus-visible,
.tp .llp-section .llp-note a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):hover,
.tp .llp-section .llp-note a:not(.pi-btn):not(.llp-btn):not(.pi-chip-link):focus-visible{
  color:var(--tp-brand);
  text-decoration-color:rgba(9,77,134,.52);
}
.tp .llp-section td a strong{
  font-weight:500;
}
.tp .llp-facts--themed{
  padding:28px 0;
}
.tp .llp-tiles{
  display:grid;
  gap:18px;
}
.tp .llp-facts .llp-tile{
  position:relative;
  background:#fff;
  border:1px solid var(--line-soft);
  border-radius:14px;
  padding:16px;
  box-shadow:0 4px 14px rgba(9,77,134,.08);
  display:flex;
  flex-direction:column;
}
.tp .llp-facts .llp-tile h3{
  margin:0 0 6px;
  font-size:16px;
  color:var(--tp-heading);
}
/* TP inline price emphasis (mid-section tile headings) */
.tp .tp-price{
  font-weight:900;
  color:var(--pi-brand);
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
  white-space:nowrap;
  display:inline-block;
  padding-left:2px;
  border-bottom:2px solid rgba(1,160,198,.28); /* soft accent underline */
  line-height:1.05;
}
/* Ensure it wins inside tile headings */
.tp .llp-tile h3 .tp-price{
  font-weight:900;
  color:var(--pi-brand);
}
.tp .llp-facts .llp-tile p{
  margin:0;
  color:var(--tp-copy);
  font-weight:400;
  line-height:1.58;
}
.tp .llp-emoji{ margin-right:6px; }
.tp .tp-tile-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:8px;
  vertical-align:middle;
}
.tp .tp-tile-icon .pi-icon{
  width:18px;
  height:18px;
}
.tp .llp-facts .llp-drawer{
  margin-top:10px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  color:var(--tp-copy-soft);
  transform:translateY(-4px);
  transition:max-height .22s ease, opacity .18s ease, transform .18s ease, background-color .18s ease;
}
.tp .llp-facts .llp-tile:hover .llp-drawer,
.tp .llp-facts .llp-tile:focus .llp-drawer,
.tp .llp-facts .llp-tile:focus-within .llp-drawer{
  max-height:220px;
  opacity:1;
  transform:translateY(0);
  background-color:#f5faff;
}
.tp .llp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  min-height:36px;
  border-radius:8px;
  font-size:15px;
  font-weight:600;
  line-height:1.1;
  text-decoration:none;
  transition:transform .06s ease,box-shadow .12s ease;
}
.tp .llp-btn-primary{
  background:var(--brand,#094d86);
  color:#fff;
  box-shadow:0 4px 12px rgba(9,77,134,.15);
}
.tp .llp-btn-secondary{
  background:#fff;
  color:var(--brand,#094d86);
  border:1px solid var(--brand,#094d86);
}
.tp .llp-section.llp-ingredients > .llp-container > h2{
  margin:0 0 14px;
  color:var(--tp-heading);
}
.tp .llp-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(9,77,134,.06);
}
.tp .llp-table th,
.tp .llp-table td{
  padding:10px 14px;
  text-align:left;
  vertical-align:top;
  line-height:1.55;
}
.tp .llp-table td{
  color:var(--tp-copy);
  font-weight:300;
}
.tp .llp-table thead th{
  background:#f5f9fe;
  color:#0c2a44;
  font-weight:500;
  border-bottom:1px solid #e0e6ef;
}
.tp .llp-table tbody tr:nth-child(odd){ background:#fff; }
.tp .llp-table tbody tr:nth-child(even){ background:#f9fbfd; }
.tp .llp-table tbody tr:hover td{ background:#f2f8ff; }
.tp .llp-table a{ color:inherit; }
@media (max-width:800px){
  .tp .llp-table th,
  .tp .llp-table td{
    padding:12px 14px;
  }
}
@media (max-width:768px){
  .tp .llp-table.llp-table--ingredients thead{ display:none; }
  .tp .llp-table.llp-table--ingredients tr{
    display:block;
    margin:10px 0;
    border:1px solid #e6e9ef;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 4px 12px rgba(9,77,134,.06);
  }
  .tp .llp-table.llp-table--ingredients td{ display:block; width:auto; }
  .tp .llp-table.llp-table--ingredients td:first-child{
    background:#f7fbff;
    font-weight:700;
  }
  .tp .llp-table.llp-table--ingredients td[data-label]::before{
    content:attr(data-label);
    display:block;
    font-size:12px;
    color:#5f6b7a;
    text-transform:uppercase;
    letter-spacing:.02em;
    margin-bottom:2px;
  }
  .tp .llp-table.llp-table--ingredients .llp-role{ display:none; }
  .tp .llp-table.llp-table--ingredients tr.open .llp-role{ display:block; }
}
@media (max-width:768px){
  .tp .llp-facts .llp-drawer{
    display:none;
    height:auto;
    opacity:1;
    transform:none;
  }
  .tp .llp-facts .llp-tile.open .llp-drawer{ display:block; }
  .tp .llp-facts .llp-tile{ cursor:pointer; }
}
@media (min-width:1024px){
  .tp .llp-section.llp-facts .llp-tiles{
    grid-template-columns:repeat(3,1fr);
  }
}
@media (min-width:1200px){
  .tp .llp-section.llp-facts .llp-tiles{
    grid-template-columns:repeat(4,1fr);
  }
}
@media (min-width:1024px){
  .tp .llp-facts .llp-tile{
    padding:14px 16px;
    transition:transform .16s ease,box-shadow .18s ease;
  }
  .tp .llp-facts .llp-tile:hover,
  .tp .llp-facts .llp-tile:focus-within{
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(9,77,134,.12);
  }
  .tp .llp-facts .llp-drawer{ display:none !important; }
  .tp .llp-facts .llp-preview{
    margin-top:6px;
    color:var(--sub);
    font-size:14px;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}
.tp .tp-section-head{
  max-width:78ch;
  margin:0 0 16px;
}
.tp .tp-section-head h2{ margin-bottom:8px; }
.tp .tp-section-head p{ margin:0; }
@media (min-width:1024px){
  .tp #sec-rapid > .llp-container,
  .tp #sec-procare > .llp-container,
  .tp #sec-antiviral > .llp-container{
    max-width:var(--pi-max);
  }
  .tp #sec-rapid .tp-section-head,
  .tp #sec-procare .tp-section-head,
  .tp #sec-antiviral .tp-section-head{
    max-width:88ch;
  }
  .tp #sec-antiviral .tp-tile--spotlight{
    max-width:900px;
    margin-inline:auto;
  }
}
.tp .tp-callout-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:8px;
  vertical-align:middle;
}
.tp .tp-callout-icon .pi-icon{
  width:20px;
  height:20px;
}

.tp .tp-facts--compare .tp-tiles,
.tp .tp-facts--editorial .tp-tiles{
  grid-template-columns:1fr;
}
@media (min-width:900px){
  .tp .tp-facts--compare .tp-tiles,
  .tp .tp-facts--editorial .tp-tiles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.tp .tp-facts--compare .tp-tile--option{
  padding:20px 22px;
  border-color:rgba(9,77,134,.18);
  box-shadow:0 6px 16px rgba(9,77,134,.08);
  transition:box-shadow .18s ease, border-color .18s ease;
}
.tp .tp-facts--compare .tp-tile--option:hover,
.tp .tp-facts--compare .tp-tile--option:focus-within{
  transform:none;
  box-shadow:0 6px 16px rgba(9,77,134,.08);
  border-color:rgba(9,77,134,.22);
}

.tp .tp-facts--editorial .tp-tile--editorial{
  padding:18px 20px;
  border-color:rgba(9,77,134,.12);
  box-shadow:0 4px 12px rgba(9,77,134,.05);
  transition:box-shadow .18s ease, border-color .18s ease;
}
.tp .tp-facts--editorial .tp-tile--editorial p{ line-height:1.65; }
.tp .tp-facts--editorial .tp-tile--editorial:hover,
.tp .tp-facts--editorial .tp-tile--editorial:focus-within{
  transform:none;
  box-shadow:0 4px 12px rgba(9,77,134,.05);
  border-color:rgba(9,77,134,.12);
}

.tp .tp-facts--spotlight .tp-tiles{
  grid-template-columns:1fr;
}
.tp .tp-facts--spotlight .tp-tile--spotlight{
  max-width:860px;
  margin:0 auto;
  padding:24px 26px;
  border-color:rgba(9,77,134,.22);
  box-shadow:0 12px 28px rgba(9,77,134,.12);
  transition:box-shadow .18s ease, border-color .18s ease;
}
.tp .tp-facts--spotlight .tp-tile--spotlight:hover,
.tp .tp-facts--spotlight .tp-tile--spotlight:focus-within{
  transform:none;
  box-shadow:0 12px 28px rgba(9,77,134,.12);
  border-color:rgba(9,77,134,.22);
}
.tp .llp-preview{ display:none; }
.tp .llp-section.llp-how > h2{
  margin:0 0 16px;
  color:#0c2a44;
}
.tp .llp-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.tp .llp-step{
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:16px;
  padding:22px 24px;
  box-shadow:0 4px 16px rgba(9,77,134,.06);
  display:flex;
  flex-direction:column;
  transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.tp .llp-step:hover,
.tp .llp-step:focus-within{
  background:#f5faff;
  border-color:#d7e7ff;
  box-shadow:0 6px 18px rgba(9,77,134,.08);
}
.tp .llp-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:2px solid #094d86;
  border-radius:999px;
  font-size:15px;
  font-weight:700;
  color:#094d86;
  margin-bottom:10px;
}
.tp .llp-step h3{
  font-size:17px;
  margin:0 0 6px 0;
  color:var(--tp-heading);
}
.tp .llp-step p{
  font-size:15px;
  line-height:1.6;
  color:var(--tp-copy);
  font-weight:400;
  margin:0;
}
@media (max-width:1000px){
  .tp .llp-steps{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .tp .llp-steps{ grid-template-columns:1fr; }
  .tp .llp-step{ padding:16px 18px; }
}
.tp .llp-who-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.tp .llp-who-card{
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:16px;
  padding:18px;
  box-shadow:0 4px 16px rgba(9,77,134,.06);
}
.tp .llp-who-card h3{
  margin:0 0 10px;
  font-size:18px;
  color:var(--tp-heading);
}
.tp .llp-chipset{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tp .llp-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  font-size:14px;
  line-height:1.2;
  border:1px solid #e6e9ef;
  background:#fff;
  color:#0c2a44;
}
.tp .llp-chip--warn{
  border-color:#f6d5d8;
  background:#fff0f1;
}
.tp .llp-note{
  margin-top:10px;
  font-size:13px;
  color:var(--tp-copy-soft);
  font-weight:400;
  line-height:1.55;
}
@media (max-width:900px){
  .tp .llp-who-grid{ grid-template-columns:1fr; }
}
.tp .llp-section.llp-why > .llp-container > h2{
  font-size:26px !important;
}
.tp .llp-section.llp-reviews > .llp-container > h2{
  margin-bottom:10px;
}
.tp .llp-reviews-more{ margin-top:10px; }
.tp .llp-section.llp-cta-bottom{
  max-width:none !important;
  background:linear-gradient(180deg,#f3f9ff 0%,#ffffff 100%);
  padding:32px 0;
}
.tp .llp-cta-bottom .llp-card{
  box-sizing:border-box;
  max-width:900px;
  margin:0 auto;
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:16px;
  padding:22px;
  text-align:center;
  box-shadow:0 10px 28px rgba(9,77,134,.10);
}
.tp .llp-cta-bottom .llp-badges{ justify-content:center; }
.tp .llp-cta-bottom .llp-cta{ justify-content:center; }
.tp .llp-section + .llp-section{ border-top:0 !important; }

/* TP accordions: default collapse behavior (Who / Ingredients) */
.tp .llp-section.llp-who [data-accordion] .llp-accordion__panel,
.tp .llp-section.llp-ingredients [data-accordion] .llp-accordion__panel{
  max-height:0;
  overflow:hidden;
  border:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.tp .llp-section.llp-who [data-accordion] .llp-accordion__trigger[aria-expanded='true'] + .llp-accordion__panel,
.tp .llp-section.llp-ingredients [data-accordion] .llp-accordion__trigger[aria-expanded='true'] + .llp-accordion__panel{
  max-height:4000px;
  border:1px solid #e6e9ef !important;
  border-top:0 !important;
  box-shadow:0 8px 20px rgba(9,77,134,.06) !important;
  border-radius:14px !important;
  padding:10px 0 !important;
}

/* TP FAQ lock: keep accordion-only behavior */
.tp .llp-section.llp-faqs .llp-accordion__trigger{ display:flex !important; }
.tp .llp-section.llp-faqs .llp-accordion__panel{
  max-height:0 !important;
  overflow:hidden !important;
}
.tp .llp-section.llp-faqs .llp-accordion__item.is-open > .llp-accordion__panel{
  max-height:2000px !important;
}

/* Facts hover fallback */
.tp .llp-facts .llp-tile:hover .llp-drawer,
.tp .llp-facts .llp-tile:focus .llp-drawer,
.tp .llp-facts .llp-tile:focus-within .llp-drawer{
  display:block !important;
  max-height:220px;
  opacity:1 !important;
  transform:translateY(0) !important;
}
.tp .llp-facts .llp-tile[aria-expanded="true"] .llp-drawer{
  display:block !important;
  max-height:220px;
  opacity:1 !important;
  transform:translateY(0) !important;
}
@media (min-width:769px){
  .tp .llp-facts .llp-drawer{ will-change:opacity, transform; }
}
@media (max-width:768px){
  .tp .llp-facts .llp-tile.open .llp-drawer{
    display:block !important;
    max-height:220px;
    opacity:1 !important;
    transform:translateY(0) !important;
  }
}
.tp .llp-facts .llp-drawer{ transition:opacity .18s ease, transform .18s ease; }
.tp .llp-facts .llp-tile{ position:relative; }
.tp .llp-facts .llp-tile h3{ position:relative; z-index:1; }
.tp .llp-facts .llp-drawer{ z-index:0; }

/* Facts desktop override */
@media (min-width:1024px){
  .tp .llp-facts .llp-drawer{ display:block !important; }
}

/* Facts tooltip variant (opt-in via .llp-facts--tooltip) */
@media (min-width:1024px){
  .tp .llp-facts.llp-facts--tooltip .llp-tiles{ overflow:visible; }
  .tp .llp-facts.llp-facts--tooltip .llp-tile{
    position:relative;
    overflow:visible;
    cursor:pointer;
  }
  .tp .llp-facts.llp-facts--tooltip .llp-tile:hover .llp-drawer,
  .tp .llp-facts.llp-facts--tooltip .llp-tile:focus .llp-drawer,
  .tp .llp-facts.llp-facts--tooltip .llp-tile:focus-within .llp-drawer{
    display:block !important;
    opacity:1;
    transform:translateY(0);
    background-color:#f5faff;
  }
  .tp .llp-facts.llp-facts--tooltip .llp-tile:hover,
  .tp .llp-facts.llp-facts--tooltip .llp-tile:focus-visible{
    transform:translateY(-2px);
    box-shadow:var(--pi-shadow-hover);
    border-color:rgba(9,77,134,.18);
  }
}

/* Floating tooltip styles (scoped) */
@media (min-width:1024px){
  .tp .tp-tooltip{
    position:fixed;
    z-index:99999;
    pointer-events:none;
    opacity:0;
    transform:translateY(6px);
    transition:opacity .14s ease, transform .14s ease;
  }
  .tp .tp-tooltip__inner{
    background:#fff;
    color:#0c2a44;
    border:1px solid #e6e9ef;
    border-radius:10px;
    padding:10px 12px;
    box-shadow:0 10px 22px rgba(9,77,134,.12);
    max-width:360px;
  }
  .tp .tp-tooltip__arrow{
    position:absolute;
    width:0;
    height:0;
    border:6px solid transparent;
    border-top:none;
    border-bottom-color:#fff;
    left:50%;
    transform:translateX(-50%);
  }
  .tp .tp-tooltip.is-visible{
    opacity:1;
    transform:translateY(0);
  }
  .tp .tp-tooltip[data-pos="top"] .tp-tooltip__arrow{ top:100%; }
  .tp .tp-tooltip[data-pos="bottom"] .tp-tooltip__arrow{
    bottom:100%;
    transform:translateX(-50%) rotate(180deg);
  }
}

/* Hide glance chips across TP pages */
.tp .llp-glance{ display:none !important; }

/* Sticky/floating CTA styles (scoped) */
.tp .llp-sticky-cta[hidden],
.tp.llp-sticky-cta[hidden],
.tp .llp-float-cta[hidden],
.tp.llp-float-cta[hidden]{
  display:none !important;
}
.tp .llp-sticky-cta,
.tp.llp-sticky-cta{
  position:fixed !important;
  z-index:9999 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:12px 16px 14px !important;
  background:#fff !important;
  box-shadow:0 -10px 28px rgba(9,77,134,.08) !important;
  border-top:1px solid var(--tp-border) !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.tp .llp-sticky-cta__btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:520px !important;
  margin:0 auto !important;
  min-height:52px !important;
  padding:0 18px !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  background:linear-gradient(120deg,var(--pi-brand),var(--pi-accent)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  text-decoration:none !important;
  border-radius:var(--tp-cta-radius) !important;
  box-shadow:var(--tp-cta-shadow) !important;
}
.tp .llp-sticky-cta__btn:hover,
.tp .llp-float-cta__btn:hover{
  filter:brightness(1.03);
}
.tp .llp-float-cta,
.tp.llp-float-cta{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
}
.tp .llp-float-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  min-height:var(--tp-cta-min-height);
  font-size:15px;
  background:linear-gradient(120deg,var(--pi-brand),var(--pi-accent));
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  text-decoration:none;
  border-radius:var(--tp-cta-radius);
  font-weight:700;
  line-height:1.2;
  box-shadow:var(--tp-cta-shadow);
}

/* Hero media image fix */
.tp .llp.llp-drip.vA .llp-media img,
.tp .sqs-block-code .llp-hero .llp-media img,
.tp .sqs-block-html .llp-hero .llp-media img{
  height:100% !important;
  width:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.tp .llp.llp-drip.vA .llp-media{
  overflow:hidden !important;
  border-radius:16px !important;
}

/* Tidio offset above sticky bar on mobile */
@media (max-width:900px){
  .tp #tidio-chat,
  .tp #tidio-chat iframe,
  .tp #tidio-chat-iframe{
    bottom:84px !important;
  }
}
.tp #tidio-chat{ display:block !important; }
.tp #tidio-chat-iframe{ display:block !important; }

.sqs-block-code .llp-hero h1,
.sqs-block-html .llp-hero h1{ font-size:40px !important; margin:0 0 12px !important; line-height:1.1 !important; }
.tp .llp-hero-subheading{ margin:6px 0 12px !important; font-size:30px !important; font-weight:500 !important; color:#0a5d9f !important; letter-spacing:.2px !important; line-height:1.2 !important }
.sqs-block-code .llp-hero-subheading,
.sqs-block-html .llp-hero-subheading{ margin:6px 0 12px !important; font-size:30px !important; font-weight:800 !important; color:#0a5d9f !important; letter-spacing:.2px !important; line-height:1.2 !important }
.sqs-block-code .llp-hero .llp-sub,
.sqs-block-html .llp-hero .llp-sub{ font-size:18px !important; margin:8px 0 16px !important; color:var(--llp-muted) !important; }
.sqs-block-code .llp-section h2,
.sqs-block-html .llp-section h2{ font-size:26px !important; line-height:1.2 !important; margin:0 0 12px !important; }
.sqs-block-code .llp-why .llp-grid,
.sqs-block-html .llp-why .llp-grid{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:14px; }
@media (min-width:1200px){
  .sqs-block-code .llp-hero h1,
  .sqs-block-html .llp-hero h1{ font-size:48px !important; }
  .tp .llp-hero-subheading,
  .sqs-block-code .llp-hero-subheading,
  .sqs-block-html .llp-hero-subheading{ font-size:34px !important; }
  .sqs-block-code .llp-hero .llp-sub,
  .sqs-block-html .llp-hero .llp-sub{ font-size:20px !important; }
}
@media (max-width:900px){
  .sqs-block-code .llp-hero h1,
  .sqs-block-html .llp-hero h1{ font-size:34px !important; }
  .tp .llp-hero-subheading,
  .sqs-block-code .llp-hero-subheading,
  .sqs-block-html .llp-hero-subheading{ font-size:28px !important; }
  .sqs-block-code .llp-hero .llp-sub,
  .sqs-block-html .llp-hero .llp-sub{ font-size:16px !important; }
}
@media (max-width:640px){
  .sqs-block-code .llp-hero h1,
  .sqs-block-html .llp-hero h1{ font-size:32px !important; }
  .tp .llp-hero-subheading,
  .sqs-block-code .llp-hero-subheading,
  .sqs-block-html .llp-hero-subheading{ font-size:26px !important; }
  .sqs-block-code .llp-hero .llp-sub,
  .sqs-block-html .llp-hero .llp-sub{ font-size:18.5px !important; }
}
@media (max-width:900px){ .sqs-block-code .llp-why .llp-grid, .sqs-block-html .llp-why .llp-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .sqs-block-code .llp-why .llp-grid, .sqs-block-html .llp-why .llp-grid{ grid-template-columns:1fr; } }
.sqs-block-code .llp-comes .llp-drip-badge,
.sqs-block-html .llp-comes .llp-drip-badge{ border:1px solid var(--llp-chip-border) !important; border-radius:999px !important; background:var(--llp-chip) !important; font-weight:600 !important; }

/* CTAs */
/* Deduped: hero CTA spacing relies on global button styles */
.llp-hero .llp-cta{
  margin-top:12px;
}

/* =========================
   Optional content section (service description)
   ========================= */
.llp-comes h2{ font-size:26px; margin:0 0 10px; line-height:1.2; }
.llp-comes p { margin:0 0 14px; color:#374151; }

/* Inherit global site link color; only add hover underline */
.llp-comes a:hover{ text-decoration:underline; text-underline-offset:2px; }

/* Drip badges (matches hero chips) */
.llp-comes .llp-drip-badges{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:8px;
}
.llp-comes .llp-drip-badge{
  display:inline-block;
  border:1px solid var(--llp-chip-border);
  border-radius:999px;
  background:var(--llp-chip);
  color:var(--llp-dark);
  font-weight:500;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.llp-comes .llp-drip-badge:hover,
.llp-comes .llp-drip-badge:focus-visible{
  background:var(--llp-brand);
  border-color:var(--llp-brand);
  color:#fff;
  text-decoration:none;
  outline:0;
}

/* Divider utility */
.llp-divider{ border-top:1px solid #f1f5f9; }

/* =========================
   Responsive
   ========================= */
@media (max-width:900px){
  .llp-hero{ grid-template-columns:1fr; padding-bottom:80px; } /* room for chat bubble */
  .llp-hero h1{ font-size:34px; }
  .llp-hero .llp-sub{ font-size:16px; }
}

@media (max-width:640px){
  /* Readability + touch targets on phones */
  .llp-hero h1{ font-size:32px; line-height:1.15; }
  .llp-hero .llp-sub{ font-size:18.5px; line-height:1.6; }
  .llp-hero .llp-badge{ font-size:15.5px; padding:8px 14px; background:#eef2f7; }
  .llp-hero .llp-btn{ min-height:44px; } /* Apple 44px tap target */

  /* Optional: make drip badges full-width for easier tapping */
  .llp-comes .llp-drip-badge{ width:100%; text-align:center; }
}

/* Force two-column hero in narrower content columns */
@media (max-width:900px){
  .llp-hero.llp-wide{ grid-template-columns:1.1fr 0.9fr; padding-bottom:0; }
}
@media (max-width:700px){
  .llp-hero.llp-wide{ grid-template-columns:1fr; padding-bottom:80px; }
}

/* Add spacing around 'Popular options include:' line */
.llp-popular-line {
  margin-top: 18px;
  margin-bottom: 10px;
}

.llp-popular-line strong {
  font-weight: 700;
  color: var(--llp-brand);
}

/* Why Choose purelyIV */
.llp-why h2{
  font-size:26px;
  margin:0 0 10px;
  line-height:1.2;
}
.llp-why .llp-lede{
  color:#374151;
  margin:0 0 18px;
}
.tp .llp-why .llp-lede{
  color:var(--tp-copy);
  font-weight:300;
  line-height:1.68;
}

.llp-why .llp-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:10px 0 14px;
}
.llp-why ul,
.llp-why ol{
  list-style:none;
  padding:0;
  margin:10px 0 14px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.llp-why li{
  border:1px solid var(--llp-chip-border);
  background:var(--llp-chip);
  border-radius:14px;
  padding:16px;
}
.llp-why li strong{
  display:block;
  margin:8px 0 6px;
  font-size:18px;
  line-height:1.25;
}
.llp-why li p,
.llp-why li span{ color:#374151; margin:0; display:block; }
.llp-why .llp-card{
  border:1px solid var(--llp-chip-border);
  background:var(--llp-chip);
  border-radius:14px;
  padding:16px;
}
.llp-why .llp-card h3{
  margin:8px 0 6px;
  font-size:18px;
  line-height:1.25;
}
.llp-why .llp-card p{ color:#374151; margin:0; }
.tp .llp-why .llp-card p{
  color:var(--tp-copy-soft);
  font-weight:400;
  line-height:1.6;
}
.llp-why .llp-icon{
  font-size:22px;
  line-height:1;
}
.llp-why .llp-card .llp-icon .pi-icon{
  --pi-icon:29px;
}

/* Trust list */
.llp-why .llp-trust{
  margin:12px 0 6px 18px;
  color:#374151;
  display:grid;
  gap:6px;
}
.llp-why .llp-trust li{ margin-left:0; }

/* Reusable CTA buttons (global utility) */
.llp-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}
.llp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  min-height:46px;
  line-height:1.2;
  font-size:16px;
  font-weight:600;
  color:#fff;
  background:var(--llp-brand);
  border:0;
  border-radius:10px;
  text-decoration:none;
}
.llp-btn.llp-secondary{
  background:var(--llp-dark);
}

/* Responsive */
@media (max-width:900px){
  .llp-why .llp-grid{ grid-template-columns:repeat(2,1fr); }
  .llp-why ul, .llp-why ol{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .llp-why .llp-grid{ grid-template-columns:1fr; }
  .llp-why ul, .llp-why ol{ grid-template-columns:1fr; }
  .llp-btn{ width:100%; }
}

/* ====== Brand-Colored Tooltip Styling ====== */
.llp-card {
  position: relative; /* anchor for tooltip positioning */
}

.llp-card[title] {
  cursor: help; /* indicate extra info available */
}

/* Hide native tooltip and show custom */
.llp-card[title]::before,
.llp-card[title]::after {
  display: none;
}

.llp-card[title]:hover::before,
.llp-card[title]:hover::after {
  display: block;
}

.llp-card[title]::before {
  content: attr(title);
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--llp-brand);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 6px;
  white-space: nowrap;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.llp-card[title]::after {
  content: '';
  position: absolute;
  bottom: 104%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: var(--llp-brand) transparent transparent transparent;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.llp-card:hover::before,
.llp-card:hover::after {
  opacity: 1;
}

/* =========================
   FAQ Styles (LLP)
   ========================= */
.llp-faqs h2 {
  font-size: 26px;
  margin-bottom: 16px;
  line-height: 1.2;
}

.llp-faqs details {
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 0;
}

.llp-faqs summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--llp-dark);
  font-size: 16px;
  list-style: none; /* remove default arrow */
  position: relative;
}

.llp-faqs summary::-webkit-details-marker {
  display: none; /* Chrome/Safari remove arrow */
}

.llp-faqs summary::after {
  content: "+";
  position: absolute;
  right: 0;
  font-weight: bold;
  transition: transform 0.2s ease;
}

.llp-faqs details[open] summary::after {
  /* Use a Unicode minus to avoid encoding artifacts */
  content: "\2212"; /* - */
  transform: none;
}

.llp-faqs details div {
  margin-top: 8px;
  font-size: 15px;
  color: var(--llp-muted);
  line-height: 1.5;
}

.llp-faqs a {
  color: var(--llp-brand);
  font-weight: 600;
  text-decoration: none;
}

.llp-faqs a:hover {
  text-decoration: underline;
}

/* Scoped review widget styling for LLP pages */
.llp-section.llp-reviews {
  background: #f9fafb;
  border-radius: 14px;
  padding: 28px var(--llp-pad);
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

.llp-review-wrapper {
  max-width: var(--llp-max);
  margin: 0 auto;
}

/* ===== CTA Section (scoped) ===== */
.llp-cta-section{
  background: var(--llp-brand);
  color:#fff;
  border-radius:16px;
  padding:36px var(--llp-pad);
  box-shadow:0 6px 24px rgba(0,0,0,.08);
}
.llp-cta-inner{
  max-width:var(--llp-max);
  margin:0 auto;
  text-align:center;
}
.llp-cta-section h2{
  margin:0 0 10px;
  font-size:32px;
  line-height:1.15;
}
.llp-cta-sub{
  margin:0 auto 16px;
  max-width:760px;
  opacity:.95;
  font-size:17px;
}
@media (min-width:1200px){
  .llp-cta-section h2{ font-size:34px; }
  .llp-cta-sub{ font-size:18px; }
}

/* Center CTA buttons inside the CTA section */
/* Reverted: handled per-page to avoid regressions */

/* Buttons: invert for contrast on brand bg */
.llp-cta-primary{
  background:#fff !important;
  color:var(--llp-brand) !important;
}
.llp-cta-secondary{
  background:transparent !important;
  border:2px solid rgba(255,255,255,.9);
  color:#fff !important;
}

/* Badges under buttons */
.llp-cta-badges{
  display:flex; justify-content:center; flex-wrap:wrap;
  gap:10px; margin-top:14px;
}
.llp-cta-badge{
  display:inline-block;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-size:13.5px; font-weight:600; color:#fff;
}

/* Mobile tweaks */
@media (max-width:640px){
  .llp-cta-section{ padding:28px var(--llp-pad); }
  .llp-cta-section h2{ font-size:24px; }
  .llp-cta-sub{ font-size:16px; }
}

/* CTA Primitives -- Default (llp-cta-bottom) */
.llp-section.llp-cta-bottom{
  background:linear-gradient(180deg, rgba(9,77,134,.04) 0%, rgba(1,160,198,.04) 100%);
  padding:32px var(--llp-pad) 40px;
}
.llp-section.llp-cta-bottom .llp-container{
  max-width:var(--llp-max);
  margin:0 auto;
  padding:0;
}
.llp-section.llp-cta-bottom .llp-card,
.llp-section.llp-cta-bottom .llp-cta-card{
  margin:0 auto;
  max-width:960px;
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:18px;
  padding:22px 20px 20px;
  box-shadow:0 12px 32px rgba(9,77,134,.10);
  text-align:center;
}
.llp-section.llp-cta-bottom .llp-card h2,
.llp-section.llp-cta-bottom .llp-cta-card h2{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.2;
}
@media (min-width:1200px){
  .llp-section.llp-cta-bottom .llp-card h2,
  .llp-section.llp-cta-bottom .llp-cta-card h2{
    font-size:30px;
  }
}
.llp-section.llp-cta-bottom .llp-card p,
.llp-section.llp-cta-bottom .llp-cta-card p{
  margin:0 0 14px;
  color:#5f6b7a;
}
.llp-section.llp-cta-bottom .llp-cta,
.llp-section.llp-cta-bottom .llp-cta-actions{
  justify-content:center;
}
.llp-section.llp-cta-bottom .llp-cta a.llp-btn,
.llp-section.llp-cta-bottom .llp-cta-actions a.llp-btn{
  flex:0 1 auto;
}
.llp-section.llp-cta-bottom .llp-badges{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
@media (max-width:640px){
  .llp-section.llp-cta-bottom{
    padding:28px var(--llp-pad) 34px;
  }
  .llp-section.llp-cta-bottom .llp-card,
  .llp-section.llp-cta-bottom .llp-cta-card{
    padding:18px 16px;
  }
  .llp-section.llp-cta-bottom .llp-card h2,
  .llp-section.llp-cta-bottom .llp-cta-card h2{
    font-size:24px;
  }
}

/* Mid-page CTA callout: moved to page-level to avoid layout shifts */

/* Deduped: consolidated llp-drip-badge rules */
.llp-drip-badge {
  font-size: 15px; /* was 13px */
  padding: 8px 14px; /* was 6px 12px */
}

@media (max-width: 640px) {
  .llp-drip-badge {
    font-size: 14px; /* was 13px */
    padding: 7px 13px; /* proportional bump for mobile */
  }
}

.llp-related h2 {
  font-size: 24px;
  margin-bottom: 8px;
}

.llp-related p {
  margin-bottom: 14px;
  color: var(--llp-muted);
}

.llp-related-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.llp-related-list li {
  margin-bottom: 8px;
  font-size: 16px;
}

.llp-related-list a {
  color: var(--llp-brand);
  font-weight: 600;
  text-decoration: none;
}

.llp-related-list a:hover {
  text-decoration: underline;
}

/* Deduped: consolidated nearby links styles */
.llp-nearby-links {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.llp-nearby-links li {
  margin: 0.4rem 0;
}

.llp-nearby-links a {
  color: var(--llp-brand);
  font-weight: 500;
  text-decoration: none;
}

.llp-nearby-links a:hover {
  text-decoration: underline;
}

.llp-nearby h2 {
  font-size: 1.5rem; /* Matches secondary headings on the page */
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.llp-subheading {
  font-size: 1.5rem; /* same as "Other IV Therapy Options" */
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* Nearby Communities Section */
.tp .nearby-communities {
  margin-top: 2rem; /* space above the section */
}

.tp .nearby-communities h2 {
  font-size: 1.75rem;
  font-weight: 500;
  color: var(--llp-dark, #111827);
  margin-bottom: 0.5rem;
}

.tp .nearby-communities p {
  font-size: 1rem;
  color: var(--llp-muted, #4b5563);
  margin-bottom: 1rem;
}

.tp .nearby-communities a {
  display: inline-block;
  margin-right: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--llp-brand, #094d86);
  text-decoration: none;
}

.tp .nearby-communities a:hover {
  text-decoration: underline;
}

.llp-comes .llp-drip-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
  margin-bottom: 14px; /* added space below chips */
}

/* ===== END: Local Landing Page (LLP) Styles - clean ===== */


/* ===== LLP Override Shim (Squarespace FE) =====
   Ensures LLP layout wins over theme/FE styles. Keep at bottom. */
.sqs-block-code .sqs-block-content,
.sqs-block-html .sqs-block-content,
.sqs-block-code .sqs-block-content .sqs-html-content{ padding:0 !important; margin:0 !important; }
.sqs-block-code + .sqs-block-code{ margin-top:0 !important; }

.sqs-block-code .llp-hero,
.sqs-block-html .llp-hero,
.fluid-engine .sqs-block.code-block .llp-hero,
.fluid-engine .sqs-block.html-block .llp-hero,
.fe-block .sqs-block.code-block .llp-hero,
.fe-block .sqs-block.html-block .llp-hero{
  display:grid !important;
  grid-template-columns:1.1fr 0.9fr !important;
  gap:28px !important;
  align-items:center !important;
  padding:32px 0 !important;
}

.sqs-block-code .llp-hero .llp-media img,
.sqs-block-html .llp-hero .llp-media img{
  border-radius:14px !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
}

/* Fluid Engine-specific overrides (Squarespace editor grid wrappers) */
.fluid-engine .sqs-block.code-block .sqs-block-content .sqs-html-content,
.fluid-engine .sqs-block.html-block .sqs-block-content .sqs-html-content{ max-width:none !important; padding:0 !important; margin:0 !important; }



/* ===== START: Accordion menu style */
#pi-site-footer .footer-accordion,
.Footer .footer-accordion{
  max-width:1100px;
  width:100%;
  margin:0 auto;
  padding:12px 2px 24px;
  display:block;
  font-family:"Poppins",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  text-align:left;
}
#pi-site-footer .footer-accordion .accordion-item,
.Footer .footer-accordion .accordion-item{
  border-bottom:1px solid #e5e7eb;
  margin:0 0 12px;
  position:relative;
}
#pi-site-footer .footer-accordion .accordion-button,
.Footer .footer-accordion .accordion-button{
  background:none;
  border:1px solid #d6dce4;
  border-radius:8px;
  color:#0b4a82;
  font-size:16px;
  font-weight:700;
  letter-spacing:.1px;
  cursor:pointer;
  padding:12px 14px;
  text-align:left;
  width:100%;
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-decoration:none; /* Ensure links don't have underline */
  box-sizing:border-box;
  background-color:#f7fbff;
}
#pi-site-footer .footer-accordion .accordion-button::after,
.Footer .footer-accordion .accordion-button::after{
  content:">";
  color:#0b4a82;
  font-size:16px;
  font-weight:700;
  transition:transform 0.25s;
}
#pi-site-footer .footer-accordion .accordion-button.active::after,
.Footer .footer-accordion .accordion-button.active::after{
  transform:rotate(90deg);
}
#pi-site-footer .footer-accordion .accordion-button.no-submenu::after,
.Footer .footer-accordion .accordion-button.no-submenu::after{
  content:""; /* Hide arrow for items without submenus */
}
#pi-site-footer .footer-accordion .accordion-content,
.Footer .footer-accordion .accordion-content{
  display:none;
  padding:10px 0 4px;
}
#pi-site-footer .footer-accordion .accordion-content a,
.Footer .footer-accordion .accordion-content a{
  display:block;
  padding:2px 0;
}
#pi-site-footer .footer-accordion .accordion-content a h1,
.Footer .footer-accordion .accordion-content a h1{
  display:block;
  color:#0b4a82;
  font-size:16px;
  margin:5px 0;
  text-decoration:none;
  position:relative;
}
#pi-site-footer .footer-accordion .accordion-content a:hover h1,
.Footer .footer-accordion .accordion-content a:hover h1{
  text-decoration:underline;
}

/* Normalize link text inside accordion panels */
#pi-site-footer .footer-accordion .accordion-content a h1,
.Footer .footer-accordion .accordion-content a h1,
#pi-site-footer .footer-accordion .accordion-content a h2,
.Footer .footer-accordion .accordion-content a h2,
#pi-site-footer .footer-accordion .accordion-content a h3,
.Footer .footer-accordion .accordion-content a h3,
#pi-site-footer .footer-accordion .accordion-content a h4,
.Footer .footer-accordion .accordion-content a h4,
#pi-site-footer .footer-accordion .accordion-content a h5,
.Footer .footer-accordion .accordion-content a h5,
#pi-site-footer .footer-accordion .accordion-content a h6,
.Footer .footer-accordion .accordion-content a h6{
  all: unset;
  display: block;
  color: #01a0c6;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.25;
  margin: 5px 0;
  text-decoration: none;
}

#pi-site-footer .footer-accordion .accordion-content a:hover h1,
.Footer .footer-accordion .accordion-content a:hover h1,
#pi-site-footer .footer-accordion .accordion-content a:hover h2,
.Footer .footer-accordion .accordion-content a:hover h2,
#pi-site-footer .footer-accordion .accordion-content a:hover h3,
.Footer .footer-accordion .accordion-content a:hover h3,
#pi-site-footer .footer-accordion .accordion-content a:hover h4,
.Footer .footer-accordion .accordion-content a:hover h4,
#pi-site-footer .footer-accordion .accordion-content a:hover h5,
.Footer .footer-accordion .accordion-content a:hover h5,
#pi-site-footer .footer-accordion .accordion-content a:hover h6,
.Footer .footer-accordion .accordion-content a:hover h6{
  text-decoration: underline;
}

/* ===== End: Accordion menu style */



/* =========================
   Header Menu Dropdown (Squarespace 7.1)
   ========================= */

/* 1) Dropdown container: background, radius, base shadow, padding */
#pi-site-header .Header-nav-folder-content,
#pi-site-header .header-nav-folder-content,
#pi-site-header [class*='nav-folder-content']{
  background:#ffffff !important;
  border-radius:8px !important;
  box-shadow:0 4px 10px rgba(0,0,0,0.1) !important;
  padding:14px 16px !important; /* add horizontal buffer + slight vertical */
  overflow:hidden; /* ensure rounded corners clip child hover backgrounds */
  transition:box-shadow .2s ease; /* smooth hover shadow */
  z-index: 1000; /* ensure it overlays page content */
}

/* Normalize folder lists inside the dropdown */
#pi-site-header .Header-nav-folder-content ul,
#pi-site-header .header-nav-folder-content ul,
#pi-site-header [class*='nav-folder-content'] ul{
  list-style:none;
  margin:0;
  padding:0;
}

/* 2) Submenu links: block layout and typography */
#pi-site-header .Header-nav-folder-content a,
#pi-site-header .header-nav-folder-content a,
#pi-site-header [class*='nav-folder-content'] a,
#pi-site-header .Header-nav-folder-item > a,
#pi-site-header .header-nav-folder-item > a,
#pi-site-header .Header-nav-folder-item-link,
#pi-site-header .header-nav-folder-link,
#pi-site-header .header-nav-folder-item-link{
  display:block;
  width:100%;
  padding:14px 28px; /* more vertical space & a bit wider */
  color:#094d86 !important; /* purelyIV navy for stronger contrast */
  font-weight:500; /* medium (no bold) */
  font-size:16px;
  letter-spacing:.3px;
  text-decoration:none;
  text-align:left;
  transition:background-color .2s ease,color .2s ease; /* smooth hover */
}

/* 3) Hover state for submenu items */
#pi-site-header .Header-nav-folder-content a:hover,
#pi-site-header .Header-nav-folder-content a:focus,
#pi-site-header .header-nav-folder-content a:hover,
#pi-site-header .header-nav-folder-content a:focus,
#pi-site-header [class*='nav-folder-content'] a:hover,
#pi-site-header [class*='nav-folder-content'] a:focus,
#pi-site-header .Header-nav-folder-item > a:hover,
#pi-site-header .Header-nav-folder-item > a:focus,
#pi-site-header .header-nav-folder-item > a:hover,
#pi-site-header .header-nav-folder-item > a:focus,
#pi-site-header .Header-nav-folder-link:hover,
#pi-site-header .Header-nav-folder-link:focus,
#pi-site-header .header-nav-folder-link:hover,
#pi-site-header .header-nav-folder-link:focus,
#pi-site-header .Header-nav-folder-item-link:hover,
#pi-site-header .Header-nav-folder-item-link:focus{
  background-color:#f2f7fb; /* light teal tint */
  color:#01a0c6 !important; /* brand teal on hover */
  text-decoration:none;
}

/* 4) Vertical spacing between submenu items */
/* Cover both direct-anchor stacks and ul > li structures */
#pi-site-header .Header-nav-folder-content > * + *,
#pi-site-header .header-nav-folder-content > * + *,
#pi-site-header [class*='nav-folder-content'] > * + *{
  margin-top:20px !important; /* robust spacing regardless of wrapper type */
}

#pi-site-header .Header-nav-folder-content a + a,
#pi-site-header .header-nav-folder-content a + a,
#pi-site-header [class*='nav-folder-content'] a + a{
  margin-top:20px !important; /* extra separation */
  border-top:1px solid #eef2f6; /* subtle divider between items */
}

#pi-site-header .Header-nav-folder-content li + li,
#pi-site-header .header-nav-folder-content li + li,
#pi-site-header [class*='nav-folder-content'] li + li{
  margin-top:20px !important; /* separation when items are list elements */
}

/* 5) Subtle hover shadow effect on the dropdown */
#pi-site-header .Header-nav-item:hover .Header-nav-folder-content,
#pi-site-header .header-nav-item:hover .header-nav-folder-content,
#pi-site-header .Header-nav-item--folder:hover .Header-nav-folder-content,
#pi-site-header .header-nav-item--folder:hover .header-nav-folder-content,
#pi-site-header [class*='nav-item']:hover [class*='nav-folder-content']{
  box-shadow:0 8px 20px rgba(0,0,0,0.12) !important;
}

/* === LLP Mobile Hero Final Override (ensures 1-col on =900px inside Squarespace blocks) === */
@media (max-width:900px){
  .sqs-block-code .llp-hero,
  .sqs-block-html .llp-hero,
  .fluid-engine .sqs-block.code-block .llp-hero,
  .fluid-engine .sqs-block.html-block .llp-hero,
  .fe-block .sqs-block.code-block .llp-hero,
  .fe-block .sqs-block.html-block .llp-hero{
    grid-template-columns:1fr !important;
    padding-bottom:80px !important;
  }
}

/* =========================
   TP FAQ (moved from header)
   ========================= */
/* TP FAQ: remove collapsed panel strip (border/padding leak) */
.tp .llp-section.llp-faqs .llp-accordion__panel{
  padding:0 !important;
  border-top:0 !important;
}
.tp .llp-section.llp-faqs{
  display:block;
}

.tp .llp-section.llp-faqs .llp-faqs__controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
@media (min-width:900px){
  .tp .llp-section.llp-faqs .llp-faqs__controls{ justify-content:flex-end; }
}
@media (max-width:899px){
  .tp .llp-section.llp-faqs .llp-faqs__controls{ justify-content:center; }
}

.tp .llp-section.llp-faqs .llp-faqs__btn{
  border:1px solid #cfe6f8;
  background:#e6f3ff;
  color:#0c2a44;
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.tp .llp-section.llp-faqs .llp-faqs__btn:hover{
  background:#dff0ff;
  border-color:#bfe0f7;
}
.tp .llp-section.llp-faqs .llp-faqs__btn:focus{
  outline:2px solid #cfe6f8;
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(9,77,134,.12);
}

.tp .llp-section.llp-faqs .llp-accordion__item{
  border:1px solid #e6e9ef;
  border-radius:10px;
  background:#fff;
  margin:10px 0;
  overflow:hidden;
}
.tp .llp-section.llp-faqs .llp-accordion__trigger{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  text-align:left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:600;
  color:#0c2a44;
  background:#f9fbfd;
  border:none;
  cursor:pointer;
}
.tp .llp-section.llp-faqs .llp-accordion__trigger:hover{ background:#f3f7fb; }
.tp .llp-section.llp-faqs .llp-accordion__trigger:focus{
  outline:2px solid rgba(9,77,134,.25);
  outline-offset:3px;
  box-shadow:var(--pi-focus);
}
.tp .llp-section.llp-faqs .llp-accordion__chevron{
  width:16px;
  height:16px;
  display:inline-block;
  border:solid #4a5b6b;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  transition:transform .2s ease;
  margin-left:8px;
}
.tp .llp-section.llp-faqs .is-open .llp-accordion__chevron{ transform:rotate(-135deg); }
.tp .llp-section.llp-faqs .llp-accordion__panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .22s ease;
  background:#fff;
}
.tp .llp-section.llp-faqs .llp-accordion__content{
  padding:12px 14px;
  color:var(--tp-copy);
  border-top:1px solid #e6e9ef;
  font-weight:300;
  line-height:1.65;
}
.tp .llp-section.llp-faqs .is-hidden{ display:none !important; }

@media (min-width:769px){
  .tp .llp-section.llp-faqs .llp-accordion__trigger{ display:flex !important; }
  .tp .llp-section.llp-faqs .llp-accordion__panel{
    height:0;
    overflow:hidden;
    transition:height .22s ease;
  }
}
@media (prefers-reduced-motion:reduce){
  .tp .llp-section.llp-faqs .llp-accordion__panel{ transition:none; }
  .tp .llp-section.llp-faqs .llp-accordion__chevron{ transition:none; }
}

/* =========================
   TP Hero Price Pill (shared)
   ========================= */
.tp .llp-price-multi{
  display:inline-grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:10px 0 12px;
  max-width:none;
  width:auto;
}
.tp .llp-hero .llp-price-multi{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--pi-s4, 16px);
}
@media (min-width:740px){
  .tp .llp-hero .llp-price-multi{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
.tp .llp-price-pill{
  background:linear-gradient(180deg,#ffffff 0%,#f4f9ff 100%);
  border:1px solid #e6e9ef;
  border-radius:16px;
  padding:10px 12px;
  box-shadow:0 4px 12px rgba(9,77,134,.06);
}
.tp .llp-hero .llp-price-pill{
  width:100%;
}
.tp .llp-price-pill strong{
  font-size:22px;
  font-weight:800;
  color:var(--tp-pricing);
}
.tp .llp-price-pill span{
  font-weight:700;
  color:var(--tp-pricing);
}
.tp .llp-price-pill .llp-price-name{
  display:block;
  margin-top:2px;
}
.tp .llp-price-pill small{
  display:block;
  color:#3b4654;
  margin-top:4px;
}
.tp .llp-price-pill:hover{
  background:#e8f4fd;
}
/* TP price emoji legacy rule: keep neutral (SVG handles size) */
.tp .llp-price-pill .llp-price-emoji{
  font-size:0;
  transform:none;
}

/* About page base layout */
.pi-about .pi-hero{
  grid-template-columns:1.1fr 0.9fr;
  align-items:start;
}
.pi-about .pi-hero__media{
  max-width:none;
  width:100%;
  justify-self:stretch;
}
.pi-about .about-us__grid{
  display:grid;
  gap:var(--pi-s4);
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  align-items:stretch;
}
.pi-about .about-us__grid--people{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.pi-about .about-us__summary{
  margin:0;
  color:var(--pi-muted);
  line-height:1.6;
}
.pi-about .pi-accordion__body{
  padding:var(--pi-s2) var(--pi-s1) 0;
  color:var(--pi-muted);
  line-height:1.6;
}
.pi-about #leadership .pi-person-body{
  display:flex;
  flex-direction:column;
  height:100%;
}
.pi-about #leadership .pi-person-body .pi-accordion{
  margin-top:auto;
}
.pi-about .about-us__group-title{
  margin:0;
  color:var(--pi-ink);
}

/* About hero watermark */
.pi-about .pi-hero__media--logo{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
}
.pi-about .pi-hero__media--logo .pi-hero__logo-wrap{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pi-about .pi-hero__media--logo svg.pi-hero-watermark{
  width:88%;
  max-width:520px;
  height:auto;
  max-height:88%;
  display:block;
}

@media (max-width:980px){
  .pi-about .pi-hero__media--logo{
    min-height:320px;
    max-width:100%;
    justify-self:stretch;
  }
  .pi-about .pi-hero__media--logo svg.pi-hero-watermark{
    width:78%;
    max-width:420px;
  }
}

/* About hero watermark - absolute layer inside right panel */
.pi-about .pi-hero__watermark{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  z-index:0;
}

.pi-about .pi-hero__watermark svg.pi-hero-watermark{
  width:72%;
  max-width:520px;
  height:auto;
  opacity:0.24;
  display:block;
}

/* Ensure the right panel real content sits above watermark */
.pi-about .pi-hero__right,
.pi-about .pi-hero__panel,
.pi-about .pi-hero__aside,
.pi-about .pi-hero__cards,
.pi-about .pi-hero__media--logo{
  position:relative;
  z-index:1;
}

@media (max-width:980px){
  .pi-about .pi-hero__watermark svg.pi-hero-watermark{
    width:78%;
    max-width:420px;
    opacity:0.22;
  }
}

/* About hero watermark SVG styles */
.pi-hero-watermark .st0{clip-path:url(#SVGID_4_);fill:#01A0C6;}
.pi-hero-watermark .st1{filter:url(#Adobe_OpacityMaskFilter);}
.pi-hero-watermark .st2{fill:url(#SVGID_8_);}
.pi-hero-watermark .st3{mask:url(#SVGID_7_);fill-rule:evenodd;clip-rule:evenodd;fill:#00FFFF;}
.pi-hero-watermark .st4{filter:url(#Adobe_OpacityMaskFilter_1_);}
.pi-hero-watermark .st5{fill:url(#SVGID_10_);}
.pi-hero-watermark .st6{mask:url(#SVGID_9_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st7{clip-path:url(#SVGID_14_);fill:#01A0C6;}
.pi-hero-watermark .st8{clip-path:url(#SVGID_18_);fill:url(#SVGID_19_);}
.pi-hero-watermark .st9{filter:url(#Adobe_OpacityMaskFilter_2_);}
.pi-hero-watermark .st10{fill:url(#SVGID_21_);}
.pi-hero-watermark .st11{mask:url(#SVGID_20_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st12{filter:url(#Adobe_OpacityMaskFilter_3_);}
.pi-hero-watermark .st13{fill:url(#SVGID_23_);}
.pi-hero-watermark .st14{mask:url(#SVGID_22_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st15{clip-path:url(#SVGID_25_);fill:url(#SVGID_26_);}
.pi-hero-watermark .st16{clip-path:url(#SVGID_28_);fill:url(#SVGID_29_);}
.pi-hero-watermark .st17{filter:url(#Adobe_OpacityMaskFilter_4_);}
.pi-hero-watermark .st18{fill:url(#SVGID_31_);}
.pi-hero-watermark .st19{mask:url(#SVGID_30_);fill-rule:evenodd;clip-rule:evenodd;fill:#BFFF00;}
.pi-hero-watermark .st20{clip-path:url(#SVGID_33_);fill:url(#SVGID_34_);}
.pi-hero-watermark .st21{clip-path:url(#SVGID_36_);fill:url(#SVGID_37_);}
.pi-hero-watermark .st22{filter:url(#Adobe_OpacityMaskFilter_5_);}
.pi-hero-watermark .st23{fill:url(#SVGID_39_);}
.pi-hero-watermark .st24{mask:url(#SVGID_38_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st25{clip-path:url(#SVGID_41_);fill:url(#SVGID_42_);}
.pi-hero-watermark .st26{clip-path:url(#SVGID_44_);fill:url(#SVGID_45_);}
.pi-hero-watermark .st27{filter:url(#Adobe_OpacityMaskFilter_6_);}
.pi-hero-watermark .st28{fill:url(#SVGID_47_);}
.pi-hero-watermark .st29{mask:url(#SVGID_46_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st30{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st31{filter:url(#Adobe_OpacityMaskFilter_7_);}
.pi-hero-watermark .st32{fill:url(#SVGID_49_);}
.pi-hero-watermark .st33{mask:url(#SVGID_48_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st34{filter:url(#Adobe_OpacityMaskFilter_8_);}
.pi-hero-watermark .st35{fill:url(#SVGID_51_);}
.pi-hero-watermark .st36{mask:url(#SVGID_50_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st37{clip-path:url(#SVGID_53_);fill:url(#SVGID_54_);}
.pi-hero-watermark .st38{clip-path:url(#SVGID_56_);fill:url(#SVGID_57_);}
.pi-hero-watermark .st39{filter:url(#Adobe_OpacityMaskFilter_9_);}
.pi-hero-watermark .st40{fill:url(#SVGID_59_);}
.pi-hero-watermark .st41{mask:url(#SVGID_58_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st42{filter:url(#Adobe_OpacityMaskFilter_10_);}
.pi-hero-watermark .st43{fill:url(#SVGID_61_);}
.pi-hero-watermark .st44{mask:url(#SVGID_60_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st45{filter:url(#Adobe_OpacityMaskFilter_11_);}
.pi-hero-watermark .st46{fill:url(#SVGID_63_);}
.pi-hero-watermark .st47{mask:url(#SVGID_62_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st48{clip-path:url(#SVGID_65_);fill:url(#SVGID_66_);}
.pi-hero-watermark .st49{clip-path:url(#SVGID_68_);fill:url(#SVGID_69_);}
.pi-hero-watermark .st50{filter:url(#Adobe_OpacityMaskFilter_12_);}
.pi-hero-watermark .st51{fill:url(#SVGID_71_);}
.pi-hero-watermark .st52{mask:url(#SVGID_70_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st53{filter:url(#Adobe_OpacityMaskFilter_13_);}
.pi-hero-watermark .st54{fill:url(#SVGID_73_);}
.pi-hero-watermark .st55{mask:url(#SVGID_72_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st56{filter:url(#Adobe_OpacityMaskFilter_14_);}
.pi-hero-watermark .st57{fill:url(#SVGID_75_);}
.pi-hero-watermark .st58{mask:url(#SVGID_74_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st59{clip-path:url(#SVGID_77_);fill:url(#SVGID_78_);}
.pi-hero-watermark .st60{clip-path:url(#SVGID_80_);fill:url(#SVGID_81_);}
.pi-hero-watermark .st61{filter:url(#Adobe_OpacityMaskFilter_15_);}
.pi-hero-watermark .st62{fill:url(#SVGID_83_);}
.pi-hero-watermark .st63{mask:url(#SVGID_82_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st64{filter:url(#Adobe_OpacityMaskFilter_16_);}
.pi-hero-watermark .st65{fill:url(#SVGID_85_);}
.pi-hero-watermark .st66{mask:url(#SVGID_84_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st67{filter:url(#Adobe_OpacityMaskFilter_17_);}
.pi-hero-watermark .st68{fill:url(#SVGID_87_);}
.pi-hero-watermark .st69{mask:url(#SVGID_86_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st70{clip-path:url(#SVGID_89_);fill:url(#SVGID_90_);}
.pi-hero-watermark .st71{clip-path:url(#SVGID_92_);fill:url(#SVGID_93_);}
.pi-hero-watermark .st72{filter:url(#Adobe_OpacityMaskFilter_18_);}
.pi-hero-watermark .st73{fill:url(#SVGID_95_);}
.pi-hero-watermark .st74{mask:url(#SVGID_94_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st75{filter:url(#Adobe_OpacityMaskFilter_19_);}
.pi-hero-watermark .st76{fill:url(#SVGID_97_);}
.pi-hero-watermark .st77{mask:url(#SVGID_96_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st78{filter:url(#Adobe_OpacityMaskFilter_20_);}
.pi-hero-watermark .st79{fill:url(#SVGID_99_);}
.pi-hero-watermark .st80{mask:url(#SVGID_98_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st81{clip-path:url(#SVGID_101_);fill:url(#SVGID_102_);}
.pi-hero-watermark .st82{clip-path:url(#SVGID_104_);fill:url(#SVGID_105_);}
.pi-hero-watermark .st83{filter:url(#Adobe_OpacityMaskFilter_21_);}
.pi-hero-watermark .st84{fill:url(#SVGID_107_);}
.pi-hero-watermark .st85{mask:url(#SVGID_106_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st86{filter:url(#Adobe_OpacityMaskFilter_22_);}
.pi-hero-watermark .st87{fill:url(#SVGID_109_);}
.pi-hero-watermark .st88{mask:url(#SVGID_108_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st89{filter:url(#Adobe_OpacityMaskFilter_23_);}
.pi-hero-watermark .st90{fill:url(#SVGID_111_);}
.pi-hero-watermark .st91{mask:url(#SVGID_110_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st92{clip-path:url(#SVGID_113_);fill:url(#SVGID_114_);}
.pi-hero-watermark .st93{filter:url(#Adobe_OpacityMaskFilter_24_);}
.pi-hero-watermark .st94{fill:url(#SVGID_116_);}
.pi-hero-watermark .st95{mask:url(#SVGID_115_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st96{filter:url(#Adobe_OpacityMaskFilter_25_);}
.pi-hero-watermark .st97{fill:url(#SVGID_118_);}
.pi-hero-watermark .st98{mask:url(#SVGID_117_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st99{filter:url(#Adobe_OpacityMaskFilter_26_);}
.pi-hero-watermark .st100{fill:url(#SVGID_120_);}
.pi-hero-watermark .st101{mask:url(#SVGID_119_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st102{clip-path:url(#SVGID_122_);fill:url(#SVGID_123_);}
.pi-hero-watermark .st103{clip-path:url(#SVGID_125_);fill:url(#SVGID_126_);}
.pi-hero-watermark .st104{filter:url(#Adobe_OpacityMaskFilter_27_);}
.pi-hero-watermark .st105{fill:url(#SVGID_128_);}
.pi-hero-watermark .st106{mask:url(#SVGID_127_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st107{filter:url(#Adobe_OpacityMaskFilter_28_);}
.pi-hero-watermark .st108{fill:url(#SVGID_130_);}
.pi-hero-watermark .st109{mask:url(#SVGID_129_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st110{filter:url(#Adobe_OpacityMaskFilter_29_);}
.pi-hero-watermark .st111{fill:url(#SVGID_132_);}
.pi-hero-watermark .st112{mask:url(#SVGID_131_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st113{clip-path:url(#SVGID_134_);fill:url(#SVGID_135_);}
.pi-hero-watermark .st114{clip-path:url(#SVGID_137_);fill:url(#SVGID_138_);}
.pi-hero-watermark .st115{filter:url(#Adobe_OpacityMaskFilter_30_);}
.pi-hero-watermark .st116{fill:url(#SVGID_140_);}
.pi-hero-watermark .st117{mask:url(#SVGID_139_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st118{filter:url(#Adobe_OpacityMaskFilter_31_);}
.pi-hero-watermark .st119{fill:url(#SVGID_142_);}
.pi-hero-watermark .st120{mask:url(#SVGID_141_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st121{filter:url(#Adobe_OpacityMaskFilter_32_);}
.pi-hero-watermark .st122{fill:url(#SVGID_144_);}
.pi-hero-watermark .st123{mask:url(#SVGID_143_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.pi-hero-watermark .st124{filter:url(#Adobe_OpacityMaskFilter_33_);}
.pi-hero-watermark .st125{fill:url(#SVGID_146_);}
.pi-hero-watermark .st126{mask:url(#SVGID_145_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}

/* --------------------------------------------
   About page – prevent single-person cards
   from stretching full width in people grids
--------------------------------------------- */
.pi-about .about-us__grid.about-us__grid--people{
  /* each column is between 260px and 340px, never full-width */
  grid-template-columns:repeat(auto-fit, 320px);
  justify-content: start !important;
}

.pi-about .about-us__grid.about-us__grid--people > .about-us__person{
  width: 100% !important;      /* fill the column */
  max-width: 340px !important; /* cap card width */
}

/* Person cards: keep name headings below section hierarchy */
.pi-about .about-us__person h3{
  font-size:19px;
  line-height:1.3;
}

/* Leadership cards: keep content aligned and accordion pinned */
.pi-about #leadership .about-us__person{
  display:flex;
  flex-direction:column;
}
.pi-about #leadership .about-us__person > .pi-stack{
  flex:1;
  display:flex;
  flex-direction:column;
}
.pi-about #leadership .about-us__person .pi-accordion{
  margin-top:auto;
}
.pi-about #leadership .about-us__person .about-us__summary{
  min-height:4.8em;
}
@media (max-width:640px){
  .pi-about #leadership .about-us__person .about-us__summary{
    min-height:0;
  }
}
@media (max-width:720px){
  .pi-about .about-us__grid.about-us__grid--people{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   HOME: restored from 91986df (authoritative, scoped)
   ============================================================ */

.home.pi{
  --brand:#094d86;
  --brand-2:#01a0c6;
  --ink:#0f172a;
  --muted:#475569;
  --border:#e2e8f0;
  --bg:#f5f8fc;
  --card:#ffffff;
  --pill:#ecf4ff;
  --radius:16px;
  --shadow:0 10px 30px rgba(9,77,134,.10);
  --section-space-top:80px;
  --section-space-bottom:60px;
  --section-inner-gap:44px;
  box-sizing:border-box;
}

.home.pi *{
  box-sizing:border-box;
}

.home.pi h1, .home.pi h2, .home.pi h3{
  margin:0; letter-spacing:.2px;
}

.home.pi a:not(.pi-btn){
  color:var(--brand); text-decoration:none;
}

.home.pi .hero{
  display:grid;
  grid-template-columns:1.2fr .9fr;
  gap:28px;
  background:linear-gradient(135deg,rgba(9,77,134,.08),rgba(1,160,198,.08));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:34px 32px;
  box-shadow:var(--shadow);
  margin:0 0 108px;
}

.home.pi .pi-hero{
  margin:0 0 108px;
}

/* ============================================================
   HOME: hero trust chips hover fix
   ============================================================ */
.home.pi .pi-hero .pi-chips{
  overflow:visible;          /* allow hover shadow to render */
  padding-top:4px;           /* breathing room for top shadow */
}

.home.pi .hero__inner{
  display:contents;
}

.home.pi .hero__copy{
  max-width:620px; width:100%;
}

.home.pi .kicker{
  text-transform:uppercase; font-weight:700; letter-spacing:.08em; color:#0a5d9f; margin:0 0 8px; font-size:13px;
}

.home.pi .lede{
  margin:0 0 12px; color:var(--muted); font-size:16px; line-height:1.55; max-width:600px;
}

.home.pi .micro-promise{
  margin:0 0 14px; color:var(--muted); font-size:14.5px; line-height:1.5; max-width:600px;
}

.home.pi .chips{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin:16px 0 18px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
}

.home.pi .chips::-webkit-scrollbar{
  display:none;
}

.home.pi .chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 12px;
  border:1.2px solid rgba(12,42,68,.25);
  border-radius:14px;
  background:transparent;
  color:var(--ink);
  font-size:14px;
  line-height:1.15;
  transition:border-color .15s ease, background-color .15s ease, color .15s ease;
  cursor:default;
}

.home.pi .chip--link{
  color:var(--brand);
  border-color:rgba(9,77,134,.35);
  background:transparent;
}

.home.pi .chip--interactive{
  cursor:pointer;
  border-color:rgba(9,77,134,.35);
}

.home.pi .chip--interactive:hover, .home.pi .chip--interactive:focus-visible{
  border-color:rgba(9,77,134,.43);
  background:rgba(9,77,134,.03);
  outline:1px solid rgba(9,77,134,.12);
  outline-offset:2px;
}

/* HOME: chip tooltip */
.home.pi .chip-tooltip{
  position:relative;
  display:inline-block;
}

.home.pi .chip-tooltip .chip{
  cursor:help;
}

/* Bubble */
.home.pi .chip-tooltip__bubble{
  position:absolute;
  left:0;
  top:100%;
  margin-top:10px;
  z-index:50;
  width:85vw;
  max-width:340px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(9,77,134,.18);
  background:#fff;
  box-shadow:0 16px 40px rgba(0,0,0,.12);
  font-size:14px;
  line-height:1.25;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
}

/* Show on hover + keyboard focus */
@media (hover:hover) and (pointer:fine){
  .home.pi .chip-tooltip:hover .chip-tooltip__bubble,
  .home.pi .chip-tooltip:focus-within .chip-tooltip__bubble{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
}

/* Touch fallback: JS toggles this class */
.home.pi .chip-tooltip.is-open .chip-tooltip__bubble{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.home.pi .hero__cta{
  display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 10px;
}

.home.pi .panel__eyebrow{
  margin:0; font-weight:800; color:var(--brand); letter-spacing:.05em; text-transform:uppercase; font-size:16px;
}

.home.pi .panel__list{
  list-style:none; margin:12px 0 14px 0; padding:0; color:var(--muted); line-height:1.55; font-size:17px;
}

.home.pi .panel__list--compact li{
  margin:6px 0;
}

.home.pi .icon{
  width:22px; height:22px; flex-shrink:0;
}

.home.pi .panel__list .icon{
  width:26px; height:26px;
}

.home.pi .icon-text{
  display:flex; align-items:flex-start; gap:12px;
}

.home.pi .btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 14px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none;
  transition:transform .1s ease, box-shadow .18s ease, background-color .18s ease;
  border:1px solid transparent;
  font-size:15px;
  cursor:pointer;
}

.home.pi .btn--primary{
  background:linear-gradient(120deg,var(--brand),var(--brand-2)); color:#fff; box-shadow:0 10px 26px rgba(9,77,134,.25);
}

.home.pi .btn--primary:hover{
  transform:translateY(-1px);
}

.home.pi .btn--secondary{
  background:#fff; color:var(--brand); border-color:var(--brand);
}

.home.pi .btn--ghost{
  background:transparent; color:var(--brand); border:1px solid var(--border);
}

.home.pi .btn--ghost.dark{
  border-color:rgba(9,77,134,.45); box-shadow:inset 0 0 0 1px rgba(9,77,134,.08); color:var(--brand);
}

.home.pi .hero__cta .btn{
  padding:14px 18px; min-height:52px;
}

.home.pi .hero__cta .btn--secondary{
  border-color:var(--border); box-shadow:var(--shadow); background:#fff;
}

.home.pi .hero__media{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  min-height:200px;
  max-width:520px;
  justify-self:end;
  align-self:start;
}

.home.pi .hero__media img{
  width:100%; height:auto; object-fit:cover; display:block;
}

@media (min-width:768px) and (max-width:1119px){
  .home.pi .pi-hero__media{
    max-width:none;
    width:100%;
    justify-self:stretch;
  }

  .home.pi .pi-hero__media img{
    width:100%;
    height:auto;
  }
}

.home.pi .hero__badges{
  position:absolute;
  bottom:12px; left:12px;
  display:flex; flex-wrap:wrap; gap:6px;
}

.home.pi .section-lede{
  margin:0 0 8px; color:var(--muted); line-height:1.5;
}

.home.pi .services, .home.pi .spotlight, .home.pi .credibility, .home.pi .service-area, .home.pi .ivs-save, .home.pi .ivs-reviews, .home.pi .blog{
  max-width:1200px;
  margin:var(--section-space-top) auto var(--section-space-bottom);
}

.home.pi .pi-cta--final{
  margin-top:var(--section-space-top);
  margin-bottom:var(--section-space-bottom);
}

.home.pi .ivs-save{
  max-width:1100px;
}

.home.pi .services__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  column-gap:20px;
  row-gap:16px;
}

.home.pi .card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:0 6px 18px rgba(9,77,134,.08);
  display:block;
}

.home.pi .services .card{
  box-shadow:0 6px 18px rgba(9,77,134,.06);
}

.home.pi .card--disabled{
  opacity:0.7;
}

.home.pi .card > * + *{
  margin-top:10px;
}

.home.pi .icon-circle{
  position:relative;
  width:156px; height:156px; border-radius:16px;
  background:linear-gradient(135deg,#f6f9ff,#ffffff);
  border:1px solid rgba(226,232,240,.75);
  display:grid; place-items:center;
  font-weight:800; color:var(--brand);
  float:right;
  margin:0 0 8px 14px;
  box-shadow:0 10px 24px rgba(9,77,134,.06);
}

.home.pi .icon-circle::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:16px;
  background:radial-gradient(circle at 30% 30%,rgba(1,160,198,.07),transparent 55%), radial-gradient(circle at 70% 70%,rgba(9,77,134,.05),transparent 55%);
  z-index:0;
  opacity:.55;
}

.home.pi .icon-circle svg{
  width:72%; height:72%; max-width:100%; max-height:100%; display:block; position:relative; z-index:1;
}

.home.pi .card h3{
  margin:0; font-size:18px;
}

.home.pi .card p{
  margin:0; color:var(--muted); line-height:1.45; font-weight:400;
}

.home.pi .services .card h3{
  font-size:21px;
  font-weight:500;
  line-height:1.33;
  color:#071022;
  margin:12px 0 10px;
}

.home.pi .services .card h3 + p{
  margin-top:12px;
}

.home.pi .card__facts{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 8px;
}

.home.pi .card__fact{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:10px;
  border:1px solid #d7e6f5;
  background:linear-gradient(135deg,#eef5ff,#ffffff);
  color:#0c2a44;
  font-weight:600;
  font-size:13px;
  letter-spacing:.01em;
}

.home.pi .card__actions{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  clear:both;
  align-items:stretch;
  margin-top:6px;
}

.home.pi .card__actions .btn{
  width:100%;
  min-height:48px;
  white-space:nowrap;
}

/* HOME Services: ensure CTA row clears floated icon panel */
.home.pi .services .card__actions{
  clear: both !important;
  width: 100% !important;
  display: grid !important;
}

/* HOME Services: disabled cards should always have a single full-width CTA row */
.home.pi .services .card--disabled .card__actions{
  grid-template-columns: 1fr !important;
}

.home.pi .services .card--disabled .card__actions > *{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

/* Keep the disabled CTA appearance as the faded-blue style */
.home.pi .services .card--disabled .btn[disabled]{
  background: rgba(9,77,134,.04) !important;
  border: 1px solid rgba(9,77,134,.12) !important;
  color: rgba(9,77,134,.45) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Ensure the disabled CTA is visually the faded-blue style */
.home.pi .services .card--disabled .btn[disabled],
.home.pi .services .card--disabled .btn--disabled{
  background: rgba(9,77,134,.04) !important;
  border: 1px solid rgba(9,77,134,.12) !important;
  color: rgba(9,77,134,.45) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Disable hover motion for disabled CTAs */
.home.pi .services .card--disabled .btn[disabled]:hover,
.home.pi .services .card--disabled .btn[disabled]:active{
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.home.pi .services .btn--primary{
  color:#fff;
}

.home.pi .card__actions > *:only-child{
  grid-column:1/-1;
}

.home.pi .services .card--disabled .btn[disabled]{
  background:rgba(9,77,134,.04);
  border:1px solid rgba(9,77,134,.12);
  color:rgba(9,77,134,.45);
  box-shadow:none;
  cursor:not-allowed;
}

.home.pi .services .card--disabled .btn[disabled]:hover,
.home.pi .services .card--disabled .btn[disabled]:active{
  transform:none;
  box-shadow:none;
  filter:none;
}

/* HOME Services: disabled CTA polish (Lab Services) */
.home.pi .services .btn--disabled,
.home.pi .services .card--disabled .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:14px 18px;
  border-radius:16px;
  background:rgba(9,77,134,.04);
  border:1px solid rgba(9,77,134,.12);
  color:rgba(9,77,134,.45);
  box-shadow:none;
  cursor:not-allowed;
}

.home.pi .services .btn--disabled:hover,
.home.pi .services .btn--disabled:active{
  transform:none;
  box-shadow:none;
  filter:none;
}

.home.pi .services .card--disabled{
  padding-bottom:20px;
}

/* Keep chips on one row without scrollbar (size tweak only for labs card) */
.home.pi .services article.card.card--labs .card__facts{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
}
.home.pi .services article.card.card--labs .card__fact{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  padding:8px 10px !important;
  font-size:13px !important;
  border-radius:12px !important;
}

@media (max-width:1024px){
  .home.pi{
    --section-space-top:60px;
    --section-space-bottom:48px;
    --section-inner-gap:36px;
  }

  .home.pi .hero{
    margin-bottom:80px;
  }

  .home.pi .services__grid{
    column-gap:16px;
    row-gap:12px;
  }

  .home.pi .spotlight{
    padding-top:22px; padding-bottom:16px;
  }

  .home.pi .credibility .section-lede{
    margin:18px 0 20px;
  }

  .home.pi .credibility__grid{
    gap:12px;
    grid-template-columns:repeat(2,1fr);
  }

  .home.pi .blog__grid{
    grid-template-columns:repeat(2,1fr);
  }

  .home.pi .service-area__card{
    padding:12px 18px 24px;
  }

  .home.pi .ivs-save__card{
    padding:44px 16px 20px;
  }

}
.home.pi .iv-icon{
  width:60px; height:60px; overflow:visible;
}

.home.pi .icon-niagen{
  width:77px; height:77px;
}

.home.pi .icon-guardian *{
  stroke-width:16px;
}

.home.pi .icon-recovery-rush *{
  stroke:none;
}

.home.pi .icon-too-sexy *{
  stroke-width:14px;
}

.home.pi .icon-core *{
  stroke:none;
}

.home.pi .price{
  margin:4px 0 8px; font-weight:800; color:var(--brand);
}

.home.pi .pill-row{
  display:flex; flex-wrap:wrap; gap:6px;
}

.home.pi .spotlight .price{
  display:none !important;
}

.home.pi .spotlight__actions{
  margin-top:var(--section-inner-gap); display:flex; gap:10px; flex-wrap:wrap;
}

.home.pi .spotlight{
  padding-top:28px; padding-bottom:18px;
}

.home.pi .credibility__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.pi .credibility__grid .pi-h3--icon span,
.pi .credibility_grid .pi-h3--icon span{
  font-size:22px;
  font-weight:500;
  line-height:1.2;
}

.home.pi .credibility .section-lede{
  margin:24px 0 24px;
}

.home.pi .cred-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:0 8px 20px rgba(9,77,134,.06);
}

.home.pi .service-area__card{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between;
  padding:12px 20px 30px;
  background:linear-gradient(120deg,#f0f7ff,#ffffff);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.home.pi .service-area__card a.chip{
  cursor:pointer;
  border-color:rgba(9,77,134,.35);
}

.home.pi .service-area__card a.chip:hover, .home.pi .service-area__card a.chip:focus-visible{
  border-color:rgba(9,77,134,.5);
  background:rgba(9,77,134,.05);
  color:#0a3a5f;
  outline:1px solid rgba(9,77,134,.18);
  outline-offset:2px;
}

.home.pi .service-area-details{
  width:100%;
  margin:16px 0 0;
  padding:16px 18px 20px;
  background:linear-gradient(120deg,#f0f7ff,#ffffff);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.home.pi .service-area-details .pi-accordion__item{
  border:0;
}

.home.pi .service-area-details .pi-accordion__trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
  color:#0c2a44;
  background:transparent;
  border:0;
  padding:0;
  text-align:left;
  width:100%;
}

.home.pi .service-area-details .pi-accordion__trigger:hover, .home.pi .service-area-details .pi-accordion__trigger:focus-visible{
  color:var(--brand);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
  outline:none;
}

.home.pi .service-area-details .pi-accordion__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  flex-shrink:0;
  font-weight:800;
  color:var(--brand);
  transition:transform .2s ease;
}

.home.pi .service-area-details .pi-accordion__icon .pi-icon{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}

.home.pi .service-area-details .pi-accordion__item.is-open .pi-accordion__icon{
  transform:rotate(180deg);
}

.home.pi .service-area-details .pi-accordion__body{
  padding:0;
}

.home.pi .service-area-details__inner{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  column-gap:28px;
  row-gap:12px;
  margin-top:14px;
}

.home.pi .service-area-details__column h3{
  margin:0 0 8px;
  font-size:16px;
  color:#0c2a44;
}

.home.pi .service-area-details__column ul{
  margin:0;
  padding-left:16px;
  display:grid;
  gap:6px;
  color:#304155;
}

.home.pi .service-area-details__column a{
  color:var(--brand);
  font-weight:600;
}

.home.pi .service-area-details__map{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

.home.pi .service-area-details__map img{
  width:100%;
  max-width:720px;
  height:auto;
  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  display:block;
}

.home.pi .ivs-save__card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:50px 18px 22px;
  box-shadow:var(--shadow);
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}

.home.pi .ivs-save__eyebrow{
  margin:0; font-weight:700; color:var(--brand); letter-spacing:.06em; text-transform:uppercase; font-size:12px;
}

.home.pi .ivs-save__lede{
  margin:6px 0 10px; color:var(--muted); max-width:68ch;
}

.home.pi .ivs-save__actions{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;
}

.home.pi .ivs-save .btn{
  min-height:46px;
}

.home.pi .ivs-reviews{
  max-width:1200px; margin:var(--section-space-top) auto var(--section-space-bottom);
}

.home.pi .pi-faq .pi-card{
  background:linear-gradient(180deg,#f5f8fc,#ffffff);
  border:1px solid var(--border);
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow);
}

.home.pi .ivs-reviews__eyebrow{
  margin:0; font-weight:700; color:var(--brand); letter-spacing:.06em; text-transform:uppercase; font-size:12px;
}

.home.pi .ivs-reviews__embed{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px;
  box-shadow:0 12px 30px rgba(9,77,134,.10);
}

.home.pi .blog{
  max-width:1200px; margin:var(--section-space-top) auto var(--section-space-bottom);
}

.home.pi .blog__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.home.pi .blog__card{
  background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden;
  box-shadow:0 8px 18px rgba(9,77,134,.08); display:flex; flex-direction:column;
  transition:transform .14s ease, box-shadow .18s ease;
  text-decoration:none; color:inherit;
}

.home.pi .blog__card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(9,77,134,.12);
}

.home.pi .blog__card:focus-visible{
  outline:2px solid var(--brand-2);
  outline-offset:3px;
  box-shadow:0 0 0 4px rgba(1,160,198,.16), 0 12px 26px rgba(9,77,134,.12);
}

.home.pi .blog__image{
  position:relative; aspect-ratio:1 / 1; background:#f1f5f9; overflow:hidden;
}

.home.pi .blog__image img{
  width:100%; height:100%; object-fit:cover; display:block; transition:transform .18s ease;
}

.home.pi .blog__card:hover .blog__image img{
  transform:scale(1.02);
}

.home.pi .blog__content{
  padding:14px 14px 16px; display:flex; flex-direction:column; gap:8px;
}

.home.pi .blog__title{
  margin:0; font-size:18px; line-height:1.35; color:var(--ink);
}

.home.pi .blog__date{
  margin:0; color:var(--muted); font-size:14px;
}

.home.pi .blog__loading, .home.pi .blog__error{
  grid-column:1 / -1; background:#fff; border:1px dashed var(--border);
  border-radius:14px; padding:16px; text-align:center; color:var(--muted);
}

@media (max-width:640px){
  .home.pi .blog__grid{
    grid-template-columns:1fr; gap:12px;
  }

}
@media (max-width:980px){
  .home.pi .hero{
    grid-template-columns:1fr;
  }

  .home.pi .hero__panel{
    order:-1;
  }

  .home.pi .chips{
    flex-wrap:wrap; overflow-x:visible; padding-bottom:0;
  }

}

/* ============================================================
   HOME Services: prevent horizontal overflow (mobile + all)
   - border-box stops width+padding overflow
   - min-width:0 allows grid items to shrink instead of overflowing
   ============================================================ */
.home.pi .services,
.home.pi .services *{
  box-sizing: border-box;
}

.home.pi .services__grid > *{
  min-width: 0;
}

.home.pi .services .card,
.home.pi .services .card__content,
.home.pi .services .card__actions{
  max-width: 100%;
}

/* Safety: prevent any accidental long strings/chips from forcing overflow */
.home.pi .services .card__facts,
.home.pi .services .card__actions{
  min-width: 0;
}

@media (max-width:720px){
  .home.pi{
    --section-space-top:48px;
    --section-space-bottom:40px;
    --section-inner-gap:32px;
  }

  .home.pi .pi-hero{
    margin-bottom:62px;
  }

  .home.pi .icon-circle{
    float:none;
    width:64px;
    height:64px;
    margin:0 0 8px 0;
  }

  .home.pi .card__actions{
    grid-template-columns:1fr;
  }

  .home.pi .services__grid{
    grid-template-columns:1fr;
  }

  .home.pi .pi-hero__cta, .home.pi .spotlight__actions, .home.pi .service-area__card, .home.pi .ivs-save__actions{
    flex-direction:column; align-items:flex-start;
  }

  .home.pi .hero__cta .btn, .home.pi .spotlight__actions .btn, .home.pi .card__actions .btn, .home.pi .pi-hero__cta .pi-btn, .home.pi .spotlight__actions .pi-btn, .home.pi .ivs-save__actions .pi-btn{
    width:100%;
    max-width:360px;
  }

  .home.pi .spotlight{
    padding-top:18px; padding-bottom:14px;
  }

  .home.pi .credibility .section-lede{
    margin:16px 0 18px;
  }

  .home.pi .credibility__grid{
    gap:12px;
    grid-template-columns:1fr;
  }

  .home.pi .service-area__card{
    padding:12px 16px 20px;
  }

  .home.pi .service-area-details{
    padding:14px 14px 18px;
  }

  .home.pi .service-area-details__inner{
    grid-template-columns:1fr;
  }

  .home.pi .ivs-save__card{
    padding:42px 14px 18px;
  }

}

/* ============================================================
   HOME Services: Lab Services CTA - FE-proof absolute positioning
   ============================================================ */

.home.pi .services article.card.card--labs{
  position: relative !important;
}

/* Absolute CTA positioning */
.home.pi .services article.card.card--labs .btn[disabled],
.home.pi .services article.card.card--labs .btn--disabled{
  position: absolute !important;
  left: var(--pi-s5) !important;
  right: var(--pi-s5) !important;
  bottom: var(--pi-s5) !important;

  width: auto !important;
  max-width: none !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  min-height: 56px !important;
  border-radius: 16px !important;

  background: rgba(9,77,134,.04) !important;
  border: 1px solid rgba(9,77,134,.12) !important;
  color: rgba(9,77,134,.45) !important;

  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Prevent hover effects */
.home.pi .services article.card.card--labs .btn[disabled]:hover,
.home.pi .services article.card.card--labs .btn[disabled]:active{
  transform: none !important;
  box-shadow: none !important;
}

/* HOME Services: Lab Services icon pinned top-right (match other cards) */
.home.pi .services article.card.card--labs{
  position: relative !important; /* ensure anchor for absolute positioning */
}

/* Pin icon to the top-right */
.home.pi .services article.card.card--labs .icon-circle{
  position: absolute !important;
  top: var(--pi-s5) !important;
  right: var(--pi-s5) !important;
  float: none !important;
  margin: 0 !important;
  align-self: auto !important;
  justify-self: auto !important;
}

/* Reserve space on the right so text/chips don't run under icon */
.home.pi .services article.card.card--labs .card__content{
  padding-right: 190px !important;
}

/* HOME Services: Lab Services — mobile should behave like other service cards */
@media (max-width:720px){
  /* Let copy use full width */
  .home.pi .services article.card.card--labs .card__content{
    padding-right: 0 !important;
  }

  /* Unpin icon on mobile so it doesn't require a reserved column */
  .home.pi .services article.card.card--labs .icon-circle{
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin: 0 0 8px 0 !important;
  }

  /* Labs icon is later in DOM; force it to the top like other cards */
  .home.pi .services article.card.card--labs{
    display:flex !important;
    flex-direction:column !important;
  }

  .home.pi .services article.card.card--labs .icon-circle{
    order:-10 !important;
    align-self:flex-start !important;
  }
}

/* HOME Services: Lab Services chips — final mobile override (must win cascade) */
@media (max-width:720px){
  .home.pi .services article.card.card--labs .card__facts{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    clear:both !important;
  }

  .home.pi .services article.card.card--labs .card__fact{
    flex:0 1 auto !important;
    max-width:100% !important;
    /* Make the pill behave */
    box-sizing:border-box !important;
    justify-content:center;
    text-align:center;
    line-height:1.15 !important;

    /* Keep text inside the pill */
    white-space:normal !important;     /* allow wrap */
    overflow-wrap:anywhere !important; /* prevent spill */
    word-break:normal !important;
    padding:7px 10px !important;
    font-size:13px !important;
    border-radius:12px !important;
  }
}

/* =========================
   MEMBERSHIPS PAGE (pi-memberships)
   ========================= */

/* Membership cards and pricing */
.pi-memberships .membership-tiles{
  display:grid;
  gap:18px;
  align-items:stretch;
}
.pi-memberships .membership-tiles .membership-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(9,77,134,.08);
  padding:16px;
  position:relative;
  overflow:hidden;
  --pi-card-topbar-height:16px;
  --pi-card-topbar-opacity:.42;
}
.pi-memberships .membership-tiles .membership-card:nth-of-type(1){
  --pi-card-topbar-opacity:.2;
}
.pi-memberships .membership-tiles .membership-card:nth-of-type(2){
  --pi-card-topbar-opacity:.3;
}
.pi-memberships .membership-tiles .membership-card:nth-of-type(3){
  --pi-card-topbar-opacity:.55;
}
.pi-memberships .membership-tiles .membership-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:var(--pi-card-topbar-height, 10px);
  height:18px;
  background:linear-gradient(180deg, rgba(9,77,134,.06), rgba(9,77,134,0));
  pointer-events:none;
}
.pi-memberships .membership-card{
  transition:border-color .18s ease, box-shadow .18s ease, transform .16s ease;
}
.pi-memberships .membership-card:hover,
.pi-memberships .membership-card:focus-within{
  border-color:#073b62;
  box-shadow:0 12px 28px rgba(7,59,98,.18);
  transform:translateY(-2px);
}
.pi-memberships .membership-card:target{
  border:2px solid #073b62;
  box-shadow:0 14px 34px rgba(7,59,98,.22);
  transform:translateY(-2px);
  outline:2px solid #073b62;
  outline-offset:2px;
}
.pi-memberships .membership-card.is-active{
  border:2px solid #073b62;
  box-shadow:0 14px 34px rgba(7,59,98,.22);
  transform:translateY(-2px);
  outline:2px solid #073b62;
  outline-offset:2px;
}
.pi-memberships .membership-card.is-active:hover,
.pi-memberships .membership-card.is-active:focus-within{
  border:2px solid #073b62;
  box-shadow:0 14px 34px rgba(7,59,98,.22);
  transform:translateY(-2px);
  outline:2px solid #073b62;
  outline-offset:2px;
}
.pi-memberships .membership-head{
  display:grid;
  row-gap:8px;
  justify-items:center;
  align-content:start;
  padding:6px 0 0;
  min-height:0;
}
.pi-memberships .membership-head h3{
  margin:0;
  color:#0a1f36;
  text-align:center;
  font-weight:700;
  font-size:1.14rem;
  line-height:1.2;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pi-memberships .membership-card .membership-tagline + .membership-price{ margin-top:10px; }
.pi-memberships .membership-card .membership-tagline{
  margin:0;
  color:#6b7280;
  text-align:center;
  font-weight:500;
  font-size:0.9rem;
  line-height:1.35;
  min-height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pi-memberships .membership-badge{
  align-self:center;
  display:inline-flex;
  padding:6px 12px;
  border-radius:999px;
  background:#e6f3ff;
  color:#094d86;
  font-weight:700;
  font-size:13px;
}
.pi-memberships .membership-price{
  border:1px solid #e1e8f1;
  border-radius:12px;
  padding:10px 12px;
  background:#ffffff;
  margin-top:10px;
}
.pi-memberships .membership-price ul{
  list-style:none;
  padding:0;
  margin:0;
}
.pi-memberships .membership-price li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 0;
  color:#0c2a44;
  font-weight:600;
  border-bottom:1px solid #e9eff7;
}
.pi-memberships .membership-price li:last-child{ border-bottom:0; }
.pi-memberships .membership-price small{
  display:block;
  color:#5f6b7a;
  font-weight:500;
  margin-top:6px;
  min-height:20px;
  line-height:1.4;
}
.pi-memberships .membership-included{
  margin-top:10px;
}
.pi-memberships .membership-included .pi-accordion__item{
  border:1px solid #dfe7f3;
  border-radius:10px;
  background:#f6faff;
  overflow:hidden;
}
.pi-memberships .membership-included .pi-accordion__trigger{
  cursor:pointer;
  font-weight:700;
  color:#0c2a44;
  padding:10px 12px;
  background:#f6faff;
  border:1px solid #dfe7f3;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  position:relative;
  padding-right:38px;
}
.pi-memberships .membership-included .pi-accordion__item.is-open .pi-accordion__trigger{
  background:#eef6ff;
  border-color:#cfe6f8;
}
.pi-memberships .membership-included .pi-accordion__icon{
  font-size:14px;
  color:#0c2a44;
  transition:transform .18s ease;
}
.pi-memberships .membership-included .pi-accordion__item.is-open .pi-accordion__icon{ transform:rotate(180deg); }
.pi-memberships .membership-included .pi-accordion__body{ padding:0; }
.pi-memberships .membership-included .pi-accordion__panel{
  display:block;
  overflow:hidden;
  max-height:0;
  opacity:0;
  transition:max-height .22s ease, opacity .18s ease;
  will-change:max-height, opacity;
}
.pi-memberships .membership-included .pi-accordion__item.is-open .pi-accordion__panel{
  opacity:1;
}
.pi-memberships .membership-included ul{
  margin:10px 0 0 0;
  color:#5f6b7a;
  padding:10px 14px 12px 24px;
  list-style:disc;
  background:#fff;
  border:1px solid #dfe7f3;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(9,77,134,.1);
  max-height:220px;
  overflow:auto;
}
.pi-memberships .membership-perks h4,
.pi-memberships .membership-bestfor h4{
  margin:0 0 6px;
  font-size:15px;
  color:#0c2a44;
}
.pi-memberships .membership-perks{
  min-height:190px;
  display:flex;
  flex-direction:column;
}
.pi-memberships .membership-perks ul{
  margin:0;
  padding-left:18px;
  color:#5f6b7a;
  flex:1;
}
.pi-memberships .membership-perks a{
  color:#094d86;
  font-weight:700;
  text-decoration:underline;
}
.pi-memberships .membership-bestfor p{
  min-height:72px;
  margin:0;
  color:#5f6b7a;
}
.pi-memberships .membership-cta__group{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-top:auto;
  width:100%;
}
.pi-memberships .membership-cta__btn{
  width:100%;
  justify-content:center;
  min-height:46px;
  padding:0 12px;
  font-size:14.5px;
  border-radius:12px;
  font-weight:800;
  text-decoration:none;
  color:#fff !important;
  background:linear-gradient(120deg,#094d86,#01a0c6);
  box-shadow:0 8px 20px rgba(9,77,134,.18);
  border:1px solid rgba(255,255,255,.16);
  transition:transform .12s ease, box-shadow .18s ease, filter .18s ease;
  box-sizing:border-box;
}
.pi-memberships .membership-cta__btn:hover,
.pi-memberships .membership-cta__btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(9,77,134,.22);
}
.pi-memberships .membership-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:none;
  min-width:0;
  min-height:46px;
  padding:0 16px;
  border-radius:12px;
  font-size:14.5px;
  font-weight:800;
  text-decoration:none;
  color:#fff !important;
  background:linear-gradient(120deg,#094d86,#01a0c6);
  box-shadow:0 8px 20px rgba(9,77,134,.18);
  border:1px solid rgba(255,255,255,.16);
  transition:transform .12s ease, box-shadow .18s ease, filter .18s ease;
  margin-top:auto;
  box-sizing:border-box;
}
.pi-memberships .membership-card:hover .membership-cta,
.pi-memberships .membership-card:focus-within .membership-cta{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(9,77,134,.22);
}
@media (max-width:640px){
  .pi-memberships .membership-cta__group{ grid-template-columns:1fr; }
}
/* How it works styling to match treatment pages */
.pi-memberships .membership-section.membership-how{
  max-width:none;
  width:100%;
  padding-left:0;
  padding-right:0;
}
.pi-memberships .membership-section.membership-how > .membership-container{
  box-sizing:border-box;
  max-width:1280px;
  margin:0 auto;
  padding:0 16px;
}
.pi-memberships .membership-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.pi-memberships .membership-step{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:18px;
  padding:28px 22px 20px 22px;
  box-shadow:0 12px 32px rgba(9,77,134,.06);
}
.pi-memberships .membership-step::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(120deg, rgba(9,77,134,.25), rgba(1,160,198,.25));
  border-radius:inherit;
  pointer-events:none;
}
.pi-memberships .membership-step-num{
  position:absolute;
  top:14px;
  left:18px;
  width:32px;
  height:32px;
  border-radius:999px;
  background:#0b5f9f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:14px;
  border:2px solid #fff;
  box-shadow:0 6px 14px rgba(9,77,134,.18);
  z-index:2;
}
.pi-memberships .membership-step h3{
  margin:18px 0 8px;
  font-size:19px;
  color:#0c2a44;
  line-height:1.3;
  font-weight:800;
}
.pi-memberships .membership-step h3,
.pi-memberships .membership-step p{
  padding-left:52px;
}
.pi-memberships .membership-step p{
  margin:0;
  color:#4b5563;
  font-size:16px;
  line-height:1.55;
}
@media (max-width:1000px){
  .pi-memberships .membership-steps{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .pi-memberships .membership-steps{ grid-template-columns:1fr; }
  .pi-memberships .membership-step{ padding:18px 18px 16px; }
}
/* Which membership styling */
.pi-memberships .which-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.pi-memberships .which-card{
  position:relative;
  display:block;
  height:100%;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:22px;
  padding:22px 20px 20px;
  box-shadow:0 12px 30px rgba(9,77,134,.08);
  text-decoration:none;
  color:inherit;
  transition:transform .16s ease, box-shadow .2s ease, border-color .18s ease;
  overflow:hidden;
}
.pi-memberships .which-card::before{
  content:"";
  position:absolute;
  inset:0 1px auto 1px;
  height:14px;
  background:linear-gradient(120deg, rgba(9,77,134,.18), rgba(1,160,198,.18));
  border-top-left-radius:inherit;
  border-top-right-radius:inherit;
  pointer-events:none;
}
.pi-memberships .which-card:hover,
.pi-memberships .which-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(9,77,134,.30);
  box-shadow:0 16px 40px rgba(9,77,134,.14);
}
.pi-memberships .which-card:focus-visible{
  outline:2px solid rgba(9,77,134,.45);
  outline-offset:3px;
}
.pi-memberships .which-card h3{
  margin:0 0 12px;
  font-size:1.35rem;
  line-height:1.2;
  color:#0a4d86;
  font-weight:800;
}
.pi-memberships .which-card p{
  margin:0;
  color:#4b5563;
  font-size:1rem;
  line-height:1.55;
}
.pi-memberships .which-card a{
  color:#0a4d86;
  font-weight:700;
  text-decoration:none;
}
.pi-memberships .which-card a:hover{ text-decoration:underline; }
.pi-memberships .which-card--link{
  display:block;
  height:100%;
  text-decoration:none;
  color:inherit;
}
.pi-memberships .which-card .which-link{
  color:#094d86;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.pi-memberships .which-card:hover .which-link,
.pi-memberships .which-card:focus-visible .which-link{
  text-decoration-thickness:2px;
}
@media (max-width:1000px){
  .pi-memberships .which-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .pi-memberships .which-grid{ grid-template-columns:1fr; }
}
/* Reviews */
.pi-memberships .membership-reviews .membership-tiles{ display:grid; gap:18px }
.pi-memberships .membership-reviews .membership-quote{ background:#fff; border:1px solid #e6e9ef; border-radius:14px; padding:16px; box-shadow:0 4px 14px rgba(9,77,134,.06) }
@media (max-width:640px){
  .pi-memberships .membership-tiles{ grid-template-columns:1fr; }
}

/* Hero (membership wrapper) */
.pi-memberships .membership-hero{
  --brand:#094d86;
  --brand-2:#01a0c6;
  --ink:#0f172a;
  --muted:#475569;
  --border:#e2e8f0;
  --bg:#f5f8fc;
  --card:#ffffff;
  --pill:#ecf4ff;
  --radius:16px;
  --shadow:0 10px 30px rgba(9,77,134,.10);
  --section-space-top:80px;
  margin-left:auto;
  margin-right:auto;
  color:var(--ink);
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* =========================
     PI MEMBERSHIPS - HERO PRICE CARDS
     ========================= */
  .pi-memberships .membership-price-multi{
    display:grid;
    grid-template-columns:repeat(2, minmax(260px, 1fr));
    gap:var(--pi-s4);
    max-width:760px;
    margin-top:var(--pi-s4);
  }

  @media (max-width:720px){
    .pi-memberships .membership-hero .membership-price-multi{
      grid-template-columns:1fr;
      max-width:520px;
    }
  }

  .pi-memberships .pi-hero-pricecard{
    display:block;
    text-decoration:none;
    color:inherit;
  }

  .pi-memberships .membership-price-pill{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    border:1px solid rgba(12,42,68,.18);
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 65%,#f1f6ff 100%);
    box-shadow:0 4px 10px rgba(9,77,134,.06), 0 14px 30px rgba(9,77,134,.10);
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
  }

  .pi-memberships .pi-hero-pricecard:hover .membership-price-pill{
    transform:translateY(-2px);
    box-shadow:0 6px 14px rgba(9,77,134,.08), 0 18px 38px rgba(9,77,134,.14);
    background:linear-gradient(180deg,#ffffff 0%,#eef4ff 60%,#e3efff 100%);
    border-color:rgba(9,77,134,.30);
  }

  .pi-memberships .membership-price-emoji{
    flex:0 0 auto;
    width:38px;
    height:38px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:radial-gradient(circle at 30% 30%, rgba(1,160,198,.16), rgba(9,77,134,.06));
    border:1px solid rgba(9,77,134,.18);
    box-shadow:0 4px 10px rgba(9,77,134,.18);
  }

  .pi-memberships .membership-price-emoji svg{
    width:22px;
    height:22px;
  }

  .pi-memberships .membership-price-pill > div{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
  }

  .pi-memberships .membership-price-pill strong{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin:0;
    line-height:1.05;
  }

  .pi-memberships .price-prefix{
    font-size:14px;
    font-weight:600;
    color:var(--pi-muted);
  }

  .pi-memberships .price-amt{
    font-size:20px;
    font-weight:800;
    color:var(--pi-ink);
    letter-spacing:-0.01em;
  }

  .pi-memberships .membership-price-name{
    font-size:16px;
    font-weight:650;
    color:var(--pi-ink);
    line-height:1.15;
  }

  .pi-memberships .membership-price-pill small{
    font-size:13px;
    color:var(--pi-muted);
    line-height:1.2;
  }

  .pi-memberships .membership-price-count{
    font-weight:800;
    color:var(--pi-brand);
  }

  /* Membership hero price tiles intentionally omit icons for clarity */
  .pi-memberships .membership-price-pill .membership-price-emoji{
    display: none;
  }
/* Benefit chips */
.pi-memberships .membership-drip.vA .membership-hero .membership-drip-chips{
  display:grid !important;
  column-gap:10px;
  row-gap:8px;
  margin:22px 0 22px;
  align-items:stretch;
}
.pi-memberships .membership-drip.vA .membership-hero .membership-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid #edf0f4;
  background:#fbfcfe;
  box-shadow:0 1px 3px rgba(12,42,68,.03);
  color:#1e293b;
  font-size:13.5px;
  line-height:1.25;
  width:100%;
  min-height:64px;
  justify-content:flex-start;
  box-sizing:border-box;
  cursor:default;
}
.pi-memberships .membership-drip.vA .membership-hero .membership-chip-icon{
  --chip-icon-size:18px;
  display:inline-flex;
  width:22px;
  height:22px;
  flex-shrink:0;
  color:var(--brand);
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(9,77,134,.05);
}
.pi-memberships .membership-drip.vA .membership-hero .membership-chip-icon svg{
  width:var(--chip-icon-size);
  height:var(--chip-icon-size);
  display:block;
}
@media (max-width:1024px){
  .pi-memberships .membership-hero{ --section-space-top:60px; }
}
@media (max-width:720px){
  .pi-memberships .membership-hero{ --section-space-top:48px; }
}
@media (max-width:640px){
  .pi-memberships .pi-hero .pi-chips{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:var(--pi-s3);
  }
  .pi-memberships .pi-hero .pi-chip{
    width:100%;
    min-width:0;
  }
  .pi-memberships .pi-hero .pi-chip--trust{
    max-width:none;
  }
  .pi-memberships .membership-drip.vA .membership-hero .membership-drip-chips{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px;
  }
  .pi-memberships .membership-drip.vA .membership-hero .membership-chip{
    width:100%;
    justify-content:center;
    text-align:center;
    min-height:64px;
    padding:0 10px;
  }
}
.pi-memberships .pi-cta--final{
  margin-bottom: var(--pi-s7, 44px);
}

/* =========================
   PACKAGES PAGE (pi-packages)
   ========================= */

.pi-packages .packages-tier-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.pi-packages .package-card{
  display:grid;
  grid-template-rows:auto auto auto auto auto;
  gap:var(--pi-s3);
  align-content:start;
  position:relative;
  transition:transform .14s ease, box-shadow .18s ease, border-color .18s ease;
  --pi-card-topbar-height:12px;
  --pi-card-topbar-opacity:.85;
}

.pi-packages .package-card:hover,
.pi-packages .package-card:focus-within{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(9,77,134,.16);
  border-color:rgba(9,77,134,.28);
}

.pi-packages .packages-tier__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  color:var(--pi-brand);
  font-weight:800;
  font-size:12px;
}

.pi-packages .packages-tier-grid > .package-card:nth-of-type(1) .packages-tier__pill{
  background:linear-gradient(120deg,rgba(9,77,134,.06),rgba(1,160,198,.08));
}
.pi-packages .packages-tier-grid > .package-card:nth-of-type(2) .packages-tier__pill{
  background:linear-gradient(120deg,rgba(9,77,134,.10),rgba(1,160,198,.14));
}
.pi-packages .packages-tier-grid > .package-card:nth-of-type(3) .packages-tier__pill{
  background:linear-gradient(120deg,rgba(9,77,134,.16),rgba(1,160,198,.20));
}

.pi-packages .package-desc{
  margin:0;
  font-size:15px;
  color:var(--pi-muted);
}

.pi-packages .packages-included{
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
}
@media (min-width:901px){
  .pi-packages .packages-tier-grid.has-open .packages-included{
    min-height:210px;
  }
}
.pi-packages .packages-included .pi-accordion__trigger{
  cursor:pointer;
  padding:12px 14px;
  padding-right:44px;
  font-weight:700;
  background:#f7fbff;
  border:1px solid #dfe7f3;
  border-radius:14px;
  color:var(--pi-ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
}
.pi-packages .packages-included .pi-accordion__item.is-open .pi-accordion__trigger{
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.pi-packages .packages-included .pi-accordion__icon{
  width:10px;
  height:10px;
  border-right:2px solid #0c2a44;
  border-bottom:2px solid #0c2a44;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.pi-packages .packages-included .pi-accordion__item.is-open .pi-accordion__icon{
  transform:rotate(-135deg);
}
.pi-packages .packages-included .pi-accordion__panel{
  border:1px solid #dfe7f3;
  border-top:0;
  border-radius:0 0 14px 14px;
  background:#f8fbff;
}
.pi-packages .packages-included .pi-accordion__body{ padding:0; }
.pi-packages .packages-included__content{
  padding:0 12px 12px;
}
.pi-packages .packages-list{
  margin:6px 0 0;
  padding:0 2px 0 18px;
  list-style:disc;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px 12px;
}
.pi-packages .packages-list li{
  color:var(--pi-muted);
  font-weight:500;
  line-height:1.4;
}

.pi-packages .packages-pricing{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:2px;
}
.pi-packages .packages-option{
  border:1px solid #dfe7f3;
  border-radius:12px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:6px;
  transition:transform .14s ease, box-shadow .18s ease, border-color .18s ease;
}
.pi-packages .packages-option strong{
  color:var(--pi-ink);
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pi-packages .packages-option__total{
  color:var(--pi-ink);
  font-weight:800;
  font-size:22px;
  line-height:1.15;
  margin-top:2px;
}
.pi-packages .packages-option__total .packages-option__suffix{
  font-weight:600;
  font-size:14px;
  color:var(--pi-muted);
  margin-left:4px;
}
.pi-packages .packages-option__divider{
  height:1px;
  background:rgba(9,77,134,.10);
  margin:6px 0 2px;
}
.pi-packages .packages-option__discount{
  color:var(--pi-muted);
  font-size:14px;
  font-weight:500;
}
.pi-packages .packages-option:hover,
.pi-packages .packages-option:focus-within{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(9,77,134,.10);
  border-color:rgba(9,77,134,.18);
}

.pi-packages .packages-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:6px;
}
.pi-packages .packages-actions .pi-btn{
  width:100%;
  justify-content:center;
}

.pi-packages .package-note{
  margin-top:6px;
  line-height:1.4;
}
.pi-packages .package-note strong{
  display:block;
  font-weight:600;
  color:var(--pi-ink);
  margin-bottom:2px;
}
.pi-packages .package-note small{
  display:block;
  font-size:13px;
  font-weight:500;
  color:var(--pi-muted);
}

.pi-packages .packages-steps{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.pi-packages .packages-differentiator{
  font-weight:600;
  color:var(--pi-muted);
  max-width:980px;
}

@media (min-width:1024px){
  .pi-packages .package-note strong{
    white-space:nowrap;
  }
}

@media (max-width:900px){
  .pi-packages .packages-tier-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:760px){
  .pi-packages .packages-actions{ grid-template-columns:1fr; }
  .pi-packages .packages-steps{ grid-template-columns:1fr; }
  .pi-packages .packages-tier-grid{ grid-template-columns:1fr; }
  .pi-packages .packages-pricing{ grid-template-columns:1fr; }
  .pi-packages .packages-list{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .pi-packages .packages-option{ transition:none !important; }
}

/* ============================================================
   PI SPECIALS PAGE
   ============================================================ */
.pi-specials .specials-card__inner{
  padding:22px;
}
.pi-specials .specials-cta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.pi-specials .specials-chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.pi-specials .specials-kicker{ margin:0; }
.pi-specials .specials-h2{
  display:flex;
  align-items:center;
  gap:10px;
}
.pi-specials .specials-ico{
  width:22px;
  height:22px;
  flex:0 0 auto;
  display:inline-block;
}
.pi-specials .pi-cta--final{
  margin-bottom:var(--pi-s7, 44px);
}

/* ============================================================
   FULLSCRIPT PAGE (pi-fullscript)
   ============================================================ */
.pi-fullscript .pi-hero .pi-section-head.pi-section-head--center img{
  display:block;
  width:100%;
  max-width:520px;
  height:auto;
  margin:0 auto 14px;
}
@media (max-width:900px){
  .pi-fullscript .pi-hero .pi-section-head.pi-section-head--center img{ max-width:440px; }
}
@media (max-width:520px){
  .pi-fullscript .pi-hero .pi-section-head.pi-section-head--center img{
    max-width:320px;
    margin-bottom:12px;
  }
}

.pi-fullscript .pi-cta--final .pi-micro a{
  color:var(--pi-accent);
  font-weight:600;
  text-decoration:none;
}
.pi-fullscript .pi-cta--final .pi-micro a:hover,
.pi-fullscript .pi-cta--final .pi-micro a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}

/* ============================================================
   MENOPAUSE PAGE (pi-menopause)
   ============================================================ */
.pi-menopause .pi-hero{
  grid-template-columns:1.1fr 0.9fr;
}
@media (max-width:980px){
  .pi-menopause .pi-hero{ grid-template-columns:1fr; }
}

.pi-menopause .pi-menopause__price-pill{
  display:grid;
  gap:6px;
  padding:14px 16px;
  width:100%;
  max-width:340px;
  justify-self:start;
  align-self:start;
  border:1px solid rgba(12,42,68,.18);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 65%,#f1f6ff 100%);
  box-shadow:0 4px 10px rgba(9,77,134,.06), 0 14px 30px rgba(9,77,134,.10);
}
.pi-menopause .pi-menopause__price-pill .pi-kicker,
.pi-menopause .pi-menopause__price-pill .pi-micro{
  margin:0;
}
.pi-menopause .pi-menopause__price-amount{
  margin:0;
  font-size:22px;
  font-weight:800;
  color:var(--pi-ink);
  letter-spacing:-0.01em;
}
/* Menopause hero: membership chips (compact 2x2) */
.pi-menopause .membership-drip-chips.membership-drip-chips--compact{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:18px 0 18px;
  max-width:660px;
}

.pi-menopause .membership-drip-chips.membership-drip-chips--compact .membership-chip{
  padding:10px 14px;
  min-height:50px;
  background:linear-gradient(135deg,#eef5ff,#ffffff);
  border:1px solid #d7e6f5;
  box-shadow:0 2px 8px rgba(9,77,134,.05);
  font-size:13.5px;
  line-height:1.25;
  font-weight:600;
}

.pi-menopause .membership-drip-chips.membership-drip-chips--compact .membership-chip-icon{
  width:22px;
  height:22px;
  background:rgba(9,77,134,.05);
}

.pi-menopause .membership-drip-chips.membership-drip-chips--compact .membership-chip-icon svg{
  width:18px;
  height:18px;
}

@media (max-width:640px){
  .pi-menopause .membership-drip-chips.membership-drip-chips--compact{
    grid-template-columns:1fr;
    gap:10px;
    max-width:520px;
  }
  .pi-menopause .membership-drip-chips.membership-drip-chips--compact .membership-chip{
    justify-content:center;
    text-align:center;
  }
}

/* Menopause hero: membership benefit cards (2x2) */
.pi-menopause .membership-benefit-cards--menopause{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:22px 0 22px;
  max-width:720px;
}

@media (max-width:640px){
  .pi-menopause .membership-benefit-cards--menopause{
    grid-template-columns:1fr;
  }
}
.pi-menopause .pi-menopause__hero-benefits{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:16px 0 18px !important;
}

@media (max-width:640px){
  .pi-menopause .pi-menopause__hero-benefits{
    display:flex !important;
    flex-wrap:wrap !important;
  }
}

.pi-menopause .pi-steps{
  grid-template-columns:repeat(3,1fr);
}
@media (max-width:1000px){
  .pi-menopause .pi-steps{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .pi-menopause .pi-steps{ grid-template-columns:1fr; }
}

.pi-menopause .pi-menopause__grid{
  display:grid;
  gap:var(--pi-s4);
}
.pi-menopause .pi-menopause__grid--2{ grid-template-columns:repeat(2,1fr); }
.pi-menopause .pi-menopause__grid--3{ grid-template-columns:repeat(3,1fr); }
.pi-menopause .pi-menopause__grid--4{ grid-template-columns:repeat(4,1fr); }

@media (max-width:1000px){
  .pi-menopause .pi-menopause__grid--4{ grid-template-columns:repeat(2,1fr); }
  .pi-menopause .pi-menopause__grid--3{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:640px){
  .pi-menopause .pi-menopause__grid--2,
  .pi-menopause .pi-menopause__grid--3,
  .pi-menopause .pi-menopause__grid--4{ grid-template-columns:1fr; }
}

/* Optional: reduce card interior padding slightly just for these grids (keeps it calm) */
.pi-menopause #who-for .pi-card,
.pi-menopause #safety .pi-card{
  padding:16px;
}

/* Menopause: calm card titles (Who this is for + Safety) */
.pi-menopause .pi-menopause__cardtitle{
  font-size:14.5px;
  line-height:1.4;
  font-weight:500;
  color:rgba(12,42,68,.85);
  margin:0;
}

/* Reduce icon dominance inside card titles */
.pi-menopause .pi-menopause__cardtitle .pi-icon{
  width:18px;
  height:18px;
  opacity:.85;
}

/* Soften icon circle emphasis for these sections */
.pi-menopause #who-for .pi-icon-circle--sm,
.pi-menopause #safety .pi-icon-circle--sm{
  --pi-icon-circle-size:32px;
  background:rgba(9,77,134,.04);
}

.pi-menopause .pi-menopause__list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:6px;
  color:var(--pi-muted);
}

.pi-menopause .pi-menopause__callout{
  padding:var(--pi-s4);
}

.pi-menopause .pi-menopause__service-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
}
.pi-menopause .pi-menopause__service-card:focus-visible{
  outline:2px solid rgba(9,77,134,.35);
  outline-offset:3px;
}
.pi-menopause .pi-menopause__service-card .pi-icon{
  width:28px;
  height:28px;
}

.pi-menopause .tp-price{
  font-weight:900;
  color:var(--pi-brand);
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
  white-space:nowrap;
  display:inline-block;
  padding-left:2px;
  border-bottom:2px solid rgba(1,160,198,.28);
  line-height:1.05;
}

.pi-menopause .pi-menopause__hero-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:16px 0 18px;
}

.pi-menopause .pi-menopause__hero-benefits .llp-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border:1.2px solid rgba(12,42,68,.16);
  border-radius:999px;
  background:#fff;
  color:var(--pi-ink);
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  box-shadow:0 1px 0 rgba(9,77,134,.03);
}

@media (max-width:640px){
  .pi-menopause .pi-menopause__hero-benefits{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
  }
  .pi-menopause .pi-menopause__hero-benefits .llp-chip{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* Menopause: Supportive IV therapies — larger circles + normalized icon fill */
.pi-menopause #supportive-iv-therapies .pi-icon-circle.pi-icon-circle--lg{
  width:76px !important;
  height:76px !important;
}

.pi-menopause #supportive-iv-therapies .pi-icon-circle.pi-icon-circle--lg .pi-icon{
  width:44px !important;
  height:44px !important;
  transform-origin:center;
  display:block;
}

.pi-menopause #supportive-iv-therapies .pi-icon-circle.pi-icon-circle--lg use[href="#icon-myers"]{
  transform:scale(1.20);
  transform-origin:center;
  transform-box:fill-box;
}

.pi-menopause #supportive-iv-therapies .pi-icon-circle.pi-icon-circle--lg use[href="#icon-well-woman"]{
  transform:scale(1.12);
  transform-origin:center;
  transform-box:fill-box;
}

.pi-menopause #supportive-iv-therapies .pi-icon-circle.pi-icon-circle--lg use[href="#icon-iron"]{
  transform:scale(1.00);
  transform-origin:center;
  transform-box:fill-box;
}

.pi-menopause #supportive-iv-therapies .pi-icon-circle.pi-icon-circle--lg use[href="#icon-niagen"]{
  transform:scale(1.28);
  transform-origin:center;
  transform-box:fill-box;
}

/* Slight spacing balance for bigger icons */
.pi-menopause #supportive-iv-therapies .pi-menopause__service-card{
  padding-top:20px;
}

/* ============================================================
   FLU/COVID PAGE (pi-flu-covid)
   ============================================================ */
.pi-flu-covid .pi-hero-price-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(260px, 1fr));
  gap:var(--pi-s4);
  align-items:stretch;
  max-width:760px;
  margin-top:var(--pi-s4);
}

@media (max-width:720px){
  .pi-flu-covid .pi-hero .pi-hero-price-grid{
    grid-template-columns:1fr;
    max-width:520px;
  }
}

.pi-flu-covid .pi-hero-pricecard{
  display:block;
  text-decoration:none;
  color:inherit;
  height:100%;
}

.pi-flu-covid .membership-price-pill{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border:1px solid rgba(12,42,68,.18);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 65%,#f1f6ff 100%);
  box-shadow:0 4px 10px rgba(9,77,134,.06), 0 14px 30px rgba(9,77,134,.10);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.pi-flu-covid .pi-hero-pricecard:hover .membership-price-pill,
.pi-flu-covid .pi-hero-pricecard:focus-within .membership-price-pill{
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(9,77,134,.08), 0 18px 38px rgba(9,77,134,.14);
  background:linear-gradient(180deg,#ffffff 0%,#eef4ff 60%,#e3efff 100%);
  border-color:rgba(9,77,134,.30);
}

.pi-flu-covid .membership-price-emoji{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 30% 30%, rgba(1,160,198,.16), rgba(9,77,134,.06));
  border:1px solid rgba(9,77,134,.18);
  box-shadow:0 4px 10px rgba(9,77,134,.18);
}

.pi-flu-covid .membership-price-emoji svg{
  width:22px;
  height:22px;
}

.pi-flu-covid .membership-price-pill > .pi-hero-pricecard__body{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.pi-flu-covid .membership-price-pill strong{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0;
  line-height:1.05;
}

.pi-flu-covid .membership-price-pill .price-amt{
  font-size:20px;
  font-weight:800;
  color:var(--pi-ink);
  letter-spacing:-0.01em;
}

.pi-flu-covid .membership-price-pill small{
  font-size:13px;
  color:var(--pi-muted);
  line-height:1.2;
}

.pi-flu-covid .pi-hero-pricecard__body{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  min-height:0 !important;
}

/* Flu/COVID hero: equal-height pricing tiles */
.pi-flu-covid .pi-hero-pricecard .membership-price-pill{
  height:100%;
  min-height:112px;
  align-items:flex-start;
}

.pi-flu-covid .pi-hero-pricecard .pi-hero-pricecard__body{
  flex:1 1 auto;
  min-height:0;
}

@media (max-width:720px){
  .pi-flu-covid .pi-hero-pricecard .membership-price-pill{
    min-height:0;
  }
}

.pi-flu-covid .pi-hero .membership-drip-chips{
  display:grid;
  grid-template-columns:repeat(2, minmax(260px, 1fr));
  gap:10px;
  max-width:760px;
  margin-top:var(--pi-s4);
}

.pi-flu-covid .pi-hero .membership-chip{
  width:100%;
  min-height:64px;
}

@media (max-width:720px){
  .pi-flu-covid .pi-hero .membership-drip-chips{
    grid-template-columns:1fr;
    max-width:520px;
  }
}

.pi-flu-covid .pi-menopause__grid{
  display:grid;
  gap:var(--pi-s4);
}

.pi-flu-covid .pi-menopause__grid--1{
  grid-template-columns:1fr;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

.pi-flu-covid .pi-menopause__grid--2{
  grid-template-columns:repeat(2, 1fr);
}

.pi-flu-covid .pi-menopause__grid--4{
  grid-template-columns:repeat(4, 1fr);
}

@media (max-width:1000px){
  .pi-flu-covid .pi-menopause__grid--4{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width:640px){
  .pi-flu-covid .pi-menopause__grid--2,
  .pi-flu-covid .pi-menopause__grid--4{
    grid-template-columns:1fr;
  }
}

.pi-flu-covid .pi-list{
  margin:0;
  padding-left:18px;
}

.pi-flu-covid .pi-price{
  font-weight:900;
  color:var(--pi-brand);
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
  white-space:nowrap;
  display:inline-block;
  padding-left:2px;
  border-bottom:2px solid rgba(1,160,198,.28);
  line-height:1.05;
}

.pi-flu-covid .pi-flu-covid__note{
  margin:var(--pi-s3) 0 0;
}

/* Flu/COVID: Why Choose tiles — calmer heading sizing */
.pi-flu-covid #sec-why .pi-card .pi-h3,
.pi-flu-covid #sec-why .pi-card h3{
  font-size:16px;
  line-height:1.25;
  font-weight:500;
  color:rgba(12,42,68,.92);
}

/* Slightly soften body copy in those tiles */
.pi-flu-covid #sec-why .pi-card .pi-muted{
  font-size:14.5px;
  line-height:1.55;
}

/* Flu/COVID: soften Why Choose tile text */

/* Body copy inside Why tiles */
.pi-flu-covid #sec-why .pi-card p{
  font-size:14.5px;
  line-height:1.55;
  color:rgba(12,42,68,.75);
}

/* Optional: reduce icon dominance slightly */
.pi-flu-covid #sec-why .pi-icon-circle{
  opacity:.9;
}

.pi-flu-covid #reviews .pi-reviews__embed{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

.pi-flu-covid .pi-list--checks{
  list-style:none;
  padding-left:0;
}

.pi-flu-covid .pi-list--checks li{
  margin:8px 0;
  padding-left:26px;
  position:relative;
}

.pi-flu-covid .pi-list--checks li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--pi-brand);
  font-weight:800;
  line-height:1.2;
}

/* ============================================================
   WAYS TO SAVE PAGE (pi-ways-to-save)
   ============================================================ */
.pi-ways-to-save .pi-ways__card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.pi-ways-to-save .pi-ways__body{
  flex:1 1 auto;
}
.pi-ways-to-save .pi-ways__footer{
  margin-top:auto;
}
.pi-ways-to-save .pi-ways__footer .pi-btn{
  width:100%;
  justify-content:center;
}

/* ============================================================
   ESSENTIAL NUTRIENTS PAGE (pi-essential-nutrients)
   ============================================================ */
.pi-essential-nutrients .pi-essential-nutrients__trust-row{
  display:grid;
  gap:10px;
  width:100%;
  max-width:560px;
}
.pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chips{
  margin:0;
  padding-top:0;
  padding-bottom:0;
  max-width:100%;
  overflow:visible;
  flex-wrap:wrap;
  gap:6px;
}
.pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chip{
  --pi-icon:19px;
  gap:6px;
  padding:6px 10px;
  font-size:13px;
  line-height:1.08;
}
.pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chip--trust{
  max-width:128px;
}
.pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chip--trust:last-child{
  max-width:154px;
}
.pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chip--trust span{
  line-height:1.08;
}

.pi-essential-nutrients .pi-essential-nutrients__directory{
  column-gap:20px;
  row-gap:18px;
}
.pi-essential-nutrients .pi-essential-nutrients__directory-card{
  display:flex;
  flex-direction:column;
  gap:0;
  height:100%;
  min-height:100%;
  padding:24px 20px 18px;
  text-decoration:none;
  color:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,253,.96));
  border-color:rgba(12,42,68,.10);
}
.pi-essential-nutrients .pi-essential-nutrients__directory-card:hover,
.pi-essential-nutrients .pi-essential-nutrients__directory-card:focus-visible,
.pi-essential-nutrients .pi-essential-nutrients__directory-card:focus-within{
  border-color:rgba(9,77,134,.20);
  box-shadow:0 16px 30px rgba(9,77,134,.08);
}
.pi-essential-nutrients .pi-essential-nutrients__directory-card .pi-h3{
  margin:0;
  line-height:1.12;
}
.pi-essential-nutrients .pi-essential-nutrients__directory-meta{
  margin:0 0 10px;
  color:rgba(9,77,134,.82);
  font-size:11px;
  letter-spacing:.10em;
}
.pi-essential-nutrients .pi-essential-nutrients__directory-body{
  margin:14px 0 0;
  margin-bottom:auto;
  max-width:33ch;
  line-height:1.58;
}
.pi-essential-nutrients .pi-essential-nutrients__directory-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(9,77,134,.10);
  color:var(--pi-brand);
  font-size:13px;
  font-weight:600;
  line-height:1.15;
}
.pi-essential-nutrients .pi-essential-nutrients__directory-cta::after{
  content:"";
  width:16px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  opacity:.82;
  transition:width .18s ease, transform .18s ease, opacity .18s ease;
}
.pi-essential-nutrients .pi-essential-nutrients__directory-card:hover .pi-essential-nutrients__directory-cta::after,
.pi-essential-nutrients .pi-essential-nutrients__directory-card:focus-visible .pi-essential-nutrients__directory-cta::after,
.pi-essential-nutrients .pi-essential-nutrients__directory-card:focus-within .pi-essential-nutrients__directory-cta::after{
  width:22px;
  transform:translateX(2px);
  opacity:1;
}

@media (max-width:900px){
  .pi-essential-nutrients .pi-essential-nutrients__directory{
    column-gap:16px;
    row-gap:16px;
  }
}
@media (max-width:720px){
  .pi-essential-nutrients .pi-essential-nutrients__trust-row{
    max-width:100%;
  }
  .pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chips{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
  }
  .pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chip,
  .pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chip--trust,
  .pi-essential-nutrients .pi-essential-nutrients__trust-row .pi-chip--trust:last-child{
    width:100%;
    max-width:none;
  }
}
@media (max-width:640px){
  .pi-essential-nutrients .pi-essential-nutrients__directory-card{
    padding:22px 18px 16px;
  }
  .pi-essential-nutrients .pi-essential-nutrients__directory-body{
    max-width:none;
  }
}

/* ============================================================
   GENERATED NUTRIENT PAGE (pi-nutrient-page)
   ============================================================ */
.pi-nutrient-page .pi-hero__copy{
  max-width:860px;
}

.pi-nutrient-page .pi-nutrient-page__support-note{
  max-width:72ch;
}

.pi-nutrient-page .pi-nutrient-page__iv-note{
  max-width:72ch;
  margin:0;
}

.pi-nutrient-page .pi-nutrient-page__trust-row{
  display:grid;
  gap:10px;
  width:100%;
  max-width:760px;
}

.pi-nutrient-page .pi-nutrient-page__trust-row .pi-chips{
  margin:0;
  padding-top:0;
  padding-bottom:0;
  max-width:100%;
  overflow:visible;
  flex-wrap:wrap;
}

.pi-nutrient-page .pi-nutrient-page__trust-row .pi-chip--trust{
  max-width:none;
}

.pi-nutrient-page .pi-hero .pi-nutrient-page__trust-row .pi-chips{
  gap:6px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:visible;
  padding-bottom:2px;
}

.pi-nutrient-page .pi-hero .pi-nutrient-page__trust-row .pi-chip{
  --pi-icon:19px;
  gap:6px;
  padding:6px 10px;
  font-size:13px;
  line-height:1.08;
}

.pi-nutrient-page .pi-hero .pi-nutrient-page__trust-row .pi-chip--trust{
  max-width:128px;
}

.pi-nutrient-page .pi-hero .pi-nutrient-page__trust-row .pi-chip--trust:last-child{
  max-width:154px;
}

.pi-nutrient-page .pi-hero .pi-nutrient-page__trust-row .pi-chip--trust span{
  line-height:1.08;
}

.pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row{
  align-self:center;
}

.pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row .pi-chips{
  gap:6px;
  justify-content:center;
  max-width:640px;
  margin-inline:auto;
}

.pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row .pi-chip{
  --pi-icon:18px;
  gap:6px;
  padding:6px 10px;
  font-size:13px;
  line-height:1.08;
}

.pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row .pi-chip--trust{
  max-width:124px;
}

.pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row .pi-chip--trust:last-child{
  max-width:150px;
}

.pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row .pi-chip--trust span{
  line-height:1.08;
}

.pi-nutrient-page .pi-cta.pi-cta--final .pi-cta__headline{
  font-weight:500;
}

.pi-nutrient-page .pi-nutrient-page__card-grid,
.pi-nutrient-page .pi-nutrient-page__detail-grid{
  display:grid;
  gap:clamp(16px,2.2vw,24px);
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.pi-nutrient-page .pi-nutrient-page__card,
.pi-nutrient-page .pi-nutrient-page__detail-card{
  height:100%;
}

.pi-nutrient-page .pi-nutrient-page__card .pi-h3{
  margin-bottom:12px;
}

.pi-nutrient-page .pi-nutrient-page__detail-card .pi-list{
  margin-top:14px;
}

.pi-nutrient-page .pi-nutrient-page__detail-card .pi-list li + li{
  margin-top:8px;
}

.pi-nutrient-page .pi-spotlight__grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.pi-nutrient-page .pi-spotlight__card-link{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
}

.pi-nutrient-page .pi-spotlight__card-content{
  min-width:0;
  align-self:start;
}

@media (max-width:900px){
  .pi-nutrient-page .pi-nutrient-page__card-grid,
  .pi-nutrient-page .pi-nutrient-page__detail-grid,
  .pi-nutrient-page .pi-spotlight__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:520px){
  .pi-nutrient-page .pi-nutrient-page__trust-row .pi-chips{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--pi-s2);
    width:100%;
  }

  .pi-nutrient-page .pi-nutrient-page__trust-row .pi-chips .pi-chip{
    min-width:0;
    width:100%;
    max-width:100%;
  }
}

@media (max-width:640px){
  .pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row{
    align-self:stretch;
  }

  .pi-nutrient-page .pi-cta.pi-cta--final .pi-nutrient-page__trust-row .pi-chips{
    justify-content:flex-start;
  }
}

/* ============================================================
   PRESS RELEASES - PI primitives
   Scope: .pi-press
   ============================================================ */

.pi-press .pi-press__article{
  max-width:920px;
  margin:0 auto;
  padding:var(--pi-s6) var(--pi-s5);
}

.pi-press .pi-press__header,
.pi-press .pi-press__body,
.pi-press .pi-press__boilerplate,
.pi-press .pi-press__contact,
.pi-press .pi-hero__cta{
  max-width:72ch;
  margin-left:auto;
  margin-right:auto;
}

.pi-press .pi-press__header{
  display:flex;
  flex-direction:column;
  gap:var(--pi-s2);
  padding-bottom:var(--pi-s4);
  border-bottom:1px solid var(--pi-border);
}

.pi-press .pi-press__kicker{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  color:var(--pi-brand);
  font-size:12px;
}

.pi-press .pi-press__headline{
  margin:0;
  font-size:32px;
  line-height:1.15;
  letter-spacing:.2px;
  color:var(--pi-ink);
}

.pi-press .pi-press__dateline{
  margin:0;
  color:var(--pi-muted);
  font-size:13px;
  letter-spacing:.02em;
}

.pi-press .pi-press__body{
  padding-top:var(--pi-s4);
  line-height:1.65;
  color:var(--pi-ink);
}

.pi-press .pi-press__body p{
  margin:0 0 var(--pi-s3);
}

.pi-press .pi-press__subhead{
  margin:var(--pi-s5) 0 var(--pi-s2);
  font-size:20px;
  line-height:1.3;
  color:var(--pi-ink);
}

.pi-press .pi-press__boilerplate,
.pi-press .pi-press__contact{
  margin-top:var(--pi-s5);
  padding-top:var(--pi-s4);
  border-top:1px solid var(--pi-border);
}

.pi-press .pi-press__boilerplate p,
.pi-press .pi-press__contact p{
  margin:0;
}

.pi-press .pi-hero__cta{
  margin-top:var(--pi-s4);
}

@media (max-width:900px){
  .pi-press .pi-press__headline{
    font-size:30px;
  }
}

@media (max-width:720px){
  .pi-press .pi-press__article{
    padding:var(--pi-s5) var(--pi-s4);
  }
}

@media (min-width:1200px){
  .pi-press .pi-press__headline{
    font-size:36px;
  }
}

/* ============================================================
   PRESS RELEASES PAGE (pi-press-releases)
   ============================================================ */
.pi-press-releases .pi-press-releases__list{
  display:flex;
  flex-direction:column;
  gap:var(--pi-s3);
}

.pi-press-releases .pi-press-releases__year{
  margin:0;
  margin-top:var(--pi-s6);
}

.pi-press-releases .pi-press-releases__list > .pi-press-releases__year:first-child{
  margin-top:0;
}

.pi-press-releases .pi-press-releases__item{
  display:block;
  text-decoration:none;
  color:inherit;
}

.pi-press-releases .pi-press-releases__item-inner{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.pi-press-releases .pi-press-releases__date{
  margin:0;
  font-size:13px;
  letter-spacing:.02em;
}

.pi-press-releases .pi-press-releases__subhead{
  margin:0;
  line-height:1.6;
}

.pi-press-releases .pi-press-releases__sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
  white-space:nowrap;
}

@media (max-width:980px){
  .pi-press-releases .pi-hero__media{
    width:100%;
    max-width:none;
    justify-self:stretch;
    align-self:stretch;
  }
  .pi-press-releases .pi-hero__media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
  }
}

/* ============================================================
   CONTACT PAGE (pi-contact)
   ============================================================ */
.pi-contact .pi-contact__grid{
  display:grid;
  gap:var(--pi-s4);
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  align-items:stretch;
}
.pi-contact .pi-contact__card{
  display:flex;
  flex-direction:column;
  gap:var(--pi-s2);
  height:100%;
}
.pi-contact .pi-contact__card .pi-btn{
  align-self:flex-start;
}
.pi-contact .pi-contact__card .pi-h3--icon .pi-icon{
  width:24px;
  height:24px;
}
.pi-contact .pi-contact__icon--thin *{
  stroke-width:1 !important;
}
.pi-contact .pi-contact__link{
  font-weight:600;
  color:var(--pi-ink);
  text-decoration:none;
}
.pi-contact .pi-contact__link:hover{
  text-decoration:underline;
}

/* ============================================================
   CONTACT — Subscribe (Native PI Mailchimp POST Form)
   ============================================================ */
.pi-contact .pi-contact__subscribe-frame{
  padding: var(--pi-s4);
}

.pi-contact .pi-contact__subscribe-frame .pi-contact__subscribe-grid{
  display:grid;
  gap: var(--pi-s6);
  align-items:start;
}

.pi-contact .pi-contact__subscribe-copy{
  max-width: 860px;
}

.pi-contact .pi-contact__subscribe-form{
  max-width: 520px;
}

@media (min-width:900px){
  .pi-contact .pi-contact__subscribe-frame .pi-contact__subscribe-grid{
    grid-template-columns: minmax(0, 1fr) 520px;
    column-gap: var(--pi-s6);
  }

  .pi-contact .pi-contact__subscribe-frame .pi-contact__subscribe-form{
    border-left: 1px solid var(--pi-border);
    padding-left: var(--pi-s6);
  }
}

@media (max-width:899px){
  .pi-contact .pi-contact__subscribe-frame .pi-contact__subscribe-form{
    border-top: 1px solid var(--pi-border);
    padding-top: var(--pi-s4);
  }
}

.pi-contact .pi-contact__subscribe-native{
  width:100%;
}

.pi-contact .pi-contact__subscribe-native .pi-form__grid{
  display:grid;
  gap: var(--pi-s4);
}

.pi-contact .pi-contact__subscribe-native .pi-form__label{
  display:block;
  font-size:13px;
  color:var(--pi-muted);
  font-weight:600;
  letter-spacing:.2px;
  margin-bottom:6px;
}

.pi-contact .pi-contact__subscribe-native .pi-form__req{
  color: var(--pi-brand);
  font-weight:800;
}

.pi-contact .pi-contact__subscribe-native .pi-form__input{
  width:100%;
  border:1px solid var(--pi-border);
  border-radius:12px;
  padding:12px 14px;
  font-size:16px;
  color:var(--pi-ink);
  background:#fff;
}

.pi-contact .pi-contact__subscribe-native .pi-form__input:focus-visible{
  outline:2px solid var(--pi-brand);
  outline-offset:1px;
}

.pi-contact .pi-contact__subscribe-native .pi-form__actions{
  margin-top: var(--pi-s4);
  display:flex;
  justify-content:flex-start;
}

.pi-contact .pi-contact__subscribe-native .pi-form__submit{
  min-height:46px;
  padding:12px 18px;
  border-radius:999px;
}

.pi-contact .pi-contact__subscribe-native .pi-form__hp{
  position:absolute;
  left:-5000px;
  height:1px;
  width:1px;
  overflow:hidden;
}

@media (min-width:900px){
  .pi-contact .pi-contact__subscribe-native .pi-form__grid{
    grid-template-columns: 1fr 1fr;
  }
}
.pi-contact .sqs-site-style-form,
.pi-contact .sqs-site-style-form .sqs-row{
  gap:var(--pi-s2) !important;
}
.pi-contact .sqs-site-style-form .field-list .field,
.pi-contact .sqs-site-style-form .sqs-col-12{
  margin:0 !important;
}
.pi-contact .sqs-site-style-form input,
.pi-contact .sqs-site-style-form textarea,
.pi-contact .sqs-site-style-form select{
  border-radius:10px !important;
  padding:12px 14px !important;
}
.pi-contact .sqs-site-style-form .field-element:focus-visible{
  outline:2px solid var(--pi-brand);
  outline-offset:1px;
}
.pi-contact .sqs-site-style-form .button{
  width:auto !important;
  border-radius:999px !important;
  padding:12px 18px !important;
}

/* ============================================================
   SMS TERMS PAGE (pi-sms-terms)
   ============================================================ */
.pi-sms-terms .pi-card{
  max-width:900px;
  margin:0 auto;
}

.pi-sms-terms .pi-sms-terms__body > * + *{
  margin-top:var(--pi-s3);
}

.pi-sms-terms .pi-sms-terms__body h2{
  margin:0;
  font-size:18px;
  line-height:1.35;
  color:var(--pi-ink);
}

.pi-sms-terms .pi-sms-terms__body p{
  margin:0;
  line-height:1.65;
  color:var(--pi-muted);
}

.pi-sms-terms .pi-sms-terms__callout{
  background:rgba(1,160,198,.08);
  border-left:4px solid var(--pi-accent);
  border-radius:12px;
  padding:var(--pi-s3) var(--pi-s4);
  color:var(--pi-ink);
}

/* ============================================================
   FAQ PAGE (pi-faq)
   ============================================================ */
.pi-faq{
  padding-bottom:0;
  margin-bottom:0;
}

.pi-faq .pi-section:last-of-type{
  padding-bottom:0;
  margin-bottom:0;
}

.pi-faq .llp-section.llp-faqs{
  padding-bottom:0;
  margin-bottom:0;
}

.pi-faq .llp-section.llp-faqs .llp-container > *:last-child{
  margin-bottom:0;
}

.pi-faq .llp-faqs__list > *:last-child{
  margin-bottom:0;
}

.pi-faq .llp-section.llp-faqs{
  display:block;
}

.pi-faq .llp-section.llp-faqs .llp-faqs__controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
@media (min-width:900px){
  .pi-faq .llp-section.llp-faqs .llp-faqs__controls{ justify-content:flex-end; }
}
@media (max-width:899px){
  .pi-faq .llp-section.llp-faqs .llp-faqs__controls{ justify-content:center; }
}

.pi-faq .llp-section.llp-faqs .llp-faqs__btn{
  border:1px solid #cfe6f8;
  background:#e6f3ff;
  color:#0c2a44;
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.pi-faq .llp-section.llp-faqs .llp-faqs__btn:hover{
  background:#dff0ff;
  border-color:#bfe0f7;
}
.pi-faq .llp-section.llp-faqs .llp-faqs__btn:focus{
  outline:2px solid #cfe6f8;
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(9,77,134,.12);
}

.pi-faq .llp-section.llp-faqs .llp-accordion__item{
  border:1px solid #e6e9ef;
  border-radius:10px;
  background:#fff;
  margin:10px 0;
  overflow:hidden;
}
.pi-faq .llp-section.llp-faqs .llp-accordion__trigger{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  text-align:left;
  display:flex !important;
  justify-content:space-between;
  align-items:center;
  font-weight:700;
  color:#0c2a44;
  background:#f9fbfd;
  border:none;
  cursor:pointer;
}
.pi-faq .llp-section.llp-faqs .llp-accordion__trigger:hover{ background:#f3f7fb; }
.pi-faq .llp-section.llp-faqs .llp-accordion__trigger:focus{
  outline:2px solid rgba(9,77,134,.25);
  outline-offset:3px;
  box-shadow:var(--pi-focus);
}
.pi-faq .llp-section.llp-faqs .llp-accordion__chevron{
  width:16px;
  height:16px;
  display:inline-block;
  border:solid #4a5b6b;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  transition:transform .2s ease;
  margin-left:8px;
}
.pi-faq .llp-section.llp-faqs .is-open .llp-accordion__chevron{ transform:rotate(-135deg); }
.pi-faq .llp-section.llp-faqs .llp-accordion__panel{
  max-height:0 !important;
  overflow:hidden !important;
  transition:max-height .22s ease;
  background:#fff;
  padding:0 !important;
  border-top:0 !important;
}
.pi-faq .llp-section.llp-faqs .llp-accordion__item.is-open > .llp-accordion__panel{
  max-height:2000px !important;
}
.pi-faq .llp-section.llp-faqs .llp-accordion__content{
  padding:12px 14px;
  color:#5f6b7a;
  border-top:1px solid #e6e9ef;
  line-height:1.55;
}
.pi-faq .llp-section.llp-faqs .is-hidden{ display:none !important; }

@media (min-width:769px){
  .pi-faq .llp-section.llp-faqs .llp-accordion__panel{
    height:0;
    overflow:hidden;
    transition:height .22s ease;
  }
}
@media (prefers-reduced-motion:reduce){
  .pi-faq .llp-section.llp-faqs .llp-accordion__panel{ transition:none; }
  .pi-faq .llp-section.llp-faqs .llp-accordion__chevron{ transition:none; }
}

.pi-faq + .sqs-block-spacer,
.pi-faq + .sqs-block-horizontalrule,
.pi-faq + .sqs-block.code-block + .sqs-block-spacer{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.pi-faq + *{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* ============================================================
   BLOG INDEX (Squarespace) - PI polish
   Scope: blog list/index only (NOT post detail pages)
   ============================================================ */

.pi .collection-type-blog-side-by-side.view-list .blog-side-by-side.collection-content-wrapper,
body.collection-type-blog-side-by-side.view-list .blog-side-by-side.collection-content-wrapper{
  max-width:var(--pi-max);
  margin:0 auto;
  padding:0 var(--pi-pad) var(--pi-s6);
}

.pi .collection-type-blog-side-by-side.view-list .blog-side-by-side-wrapper,
body.collection-type-blog-side-by-side.view-list .blog-side-by-side-wrapper{
  margin-top:0;
}

.pi .collection-type-blog-side-by-side.view-list .blog-item,
body.collection-type-blog-side-by-side.view-list .blog-item{
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  box-shadow:var(--pi-shadow);
  overflow:hidden;
  transition:transform .16s ease, box-shadow .18s ease, border-color .18s ease;
}

.pi .collection-type-blog-side-by-side.view-list .blog-item + .blog-item,
body.collection-type-blog-side-by-side.view-list .blog-item + .blog-item{
  margin-top:var(--pi-s5);
}

.pi .collection-type-blog-side-by-side.view-list .blog-item-summary,
body.collection-type-blog-side-by-side.view-list .blog-item-summary{
  padding:var(--pi-s4);
}

.pi .collection-type-blog-side-by-side.view-list .blog-item-text,
body.collection-type-blog-side-by-side.view-list .blog-item-text{
  display:flex;
  flex-direction:column;
  gap:var(--pi-s2);
}

.pi .collection-type-blog-side-by-side.view-list .blog-meta-section,
body.collection-type-blog-side-by-side.view-list .blog-meta-section{
  color:var(--pi-muted);
  font-size:13px;
  letter-spacing:.01em;
}

.pi .collection-type-blog-side-by-side.view-list .blog-meta-section .blog-author,
body.collection-type-blog-side-by-side.view-list .blog-meta-section .blog-author,
.pi .collection-type-blog-side-by-side.view-list .blog-meta-section .blog-date,
body.collection-type-blog-side-by-side.view-list .blog-meta-section .blog-date{
  color:var(--pi-muted);
}

.pi .collection-type-blog-side-by-side.view-list .blog-title,
body.collection-type-blog-side-by-side.view-list .blog-title{
  margin:0;
  font-size:22px;
  line-height:1.25;
  font-weight:700;
}

.pi .collection-type-blog-side-by-side.view-list .blog-title a,
body.collection-type-blog-side-by-side.view-list .blog-title a{
  color:var(--pi-ink);
  text-decoration:none;
}

.pi .collection-type-blog-side-by-side.view-list .blog-title a:hover,
body.collection-type-blog-side-by-side.view-list .blog-title a:hover,
.pi .collection-type-blog-side-by-side.view-list .blog-title a:focus-visible,
body.collection-type-blog-side-by-side.view-list .blog-title a:focus-visible{
  color:var(--pi-brand);
}

.pi .collection-type-blog-side-by-side.view-list .blog-excerpt,
body.collection-type-blog-side-by-side.view-list .blog-excerpt{
  color:var(--pi-muted);
  line-height:1.6;
  font-size:15px;
}

.pi .collection-type-blog-side-by-side.view-list .blog-excerpt p,
body.collection-type-blog-side-by-side.view-list .blog-excerpt p{
  margin:0;
}

.pi .collection-type-blog-side-by-side.view-list .blog-more-link,
body.collection-type-blog-side-by-side.view-list .blog-more-link{
  color:var(--pi-brand);
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.pi .collection-type-blog-side-by-side.view-list .blog-more-link:hover,
body.collection-type-blog-side-by-side.view-list .blog-more-link:hover,
.pi .collection-type-blog-side-by-side.view-list .blog-more-link:focus-visible,
body.collection-type-blog-side-by-side.view-list .blog-more-link:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}

.pi .collection-type-blog-side-by-side.view-list .blog-image-wrapper,
body.collection-type-blog-side-by-side.view-list .blog-image-wrapper,
.pi .collection-type-blog-side-by-side.view-list .blog-image-wrapper .image-wrapper,
body.collection-type-blog-side-by-side.view-list .blog-image-wrapper .image-wrapper{
  border-radius:var(--pi-radius);
  overflow:hidden;
}

.pi .collection-type-blog-side-by-side.view-list .blog-image-wrapper img,
body.collection-type-blog-side-by-side.view-list .blog-image-wrapper img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (hover:hover){
  .pi .collection-type-blog-side-by-side.view-list .blog-item:hover,
  body.collection-type-blog-side-by-side.view-list .blog-item:hover,
  .pi .collection-type-blog-side-by-side.view-list .blog-item:focus-within,
  body.collection-type-blog-side-by-side.view-list .blog-item:focus-within{
    transform:translateY(-2px);
    box-shadow:var(--pi-shadow-hover);
    border-color:rgba(9,77,134,.18);
  }
}

@media (max-width:900px){
  .pi .collection-type-blog-side-by-side.view-list .blog-title,
  body.collection-type-blog-side-by-side.view-list .blog-title{
    font-size:20px;
  }
  .pi .collection-type-blog-side-by-side.view-list .blog-item-summary,
  body.collection-type-blog-side-by-side.view-list .blog-item-summary{
    padding:var(--pi-s3);
  }
}

@media (prefers-reduced-motion:reduce){
  .pi .collection-type-blog-side-by-side.view-list .blog-item,
  body.collection-type-blog-side-by-side.view-list .blog-item{
    transition:box-shadow .18s ease, border-color .18s ease;
  }
  .pi .collection-type-blog-side-by-side.view-list .blog-item:hover,
  body.collection-type-blog-side-by-side.view-list .blog-item:hover,
  .pi .collection-type-blog-side-by-side.view-list .blog-item:focus-within,
  body.collection-type-blog-side-by-side.view-list .blog-item:focus-within{
    transform:none;
  }
}

/* BLOG — Launch article base styles */
.llp-section.llp-blog-article .llp-blog-kicker{
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--pi-brand);
  margin:8px 0 12px;
  font-size:12px;
}
.llp-section.llp-blog-article .llp-blog-kicker__link{
  color:inherit;
  text-decoration:none;
}
.llp-section.llp-blog-article .llp-blog-kicker__link:hover,
.llp-section.llp-blog-article .llp-blog-kicker__link:focus-visible{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.llp-section.llp-blog-article .llp-blog-kicker__link:focus-visible{
  outline:2px solid rgba(9,77,134,.25);
  outline-offset:3px;
}
.llp-section.llp-blog-article .llp-blog-intro{
  color:var(--pi-muted,#475569);
  font-size:17px;
  line-height:1.6;
  max-width:var(--pi-blog-text-max);
  margin:0 0 12px;
}
.llp-section.llp-blog-article .llp-blog-intro + .llp-blog-intro{
  margin-top:0;
}
/* =========================================================
   Blog detail typography (canonical)
   - Applies ONLY inside .llp-section.llp-blog-article
   ========================================================= */

.llp-section.llp-blog-article{
  /* keep width rules elsewhere; do not set max-width here */
}

/* BLOG: Squarespace already renders the post title as an H1.
   Our portable blog markup includes its own H1 for dist builds.
   Hide the in-markup H1 ONLY on Squarespace (non-build). */
body:not(.pi-build) .llp-section.llp-blog-article .llp-blog-title{
  display:none !important;
}

/* H1 (post title) */
.llp-section.llp-blog-article .llp-blog-title,
.llp-section.llp-blog-article h1.pi-h1{
  color:var(--pi-ink);
  font-weight:600;
  font-size:42px;
  line-height:1.1;
  letter-spacing:-0.01em;
  margin:0 0 18px;
}

/* H2 */
.llp-section.llp-blog-article .pi-h2,
.llp-section.llp-blog-article h2{
  color:var(--pi-ink);
  font-weight:600;
  font-size:28px;
  line-height:1.2;
  letter-spacing:-0.005em;
  margin:34px 0 12px;
}

/* H3 */
.llp-section.llp-blog-article .pi-h3,
.llp-section.llp-blog-article h3{
  color:var(--pi-ink);
  font-weight:600;
  font-size:20px;
  line-height:1.25;
  margin:18px 0 10px;
}

/* Blog detail body copy: lighter + more editorial (Squarespace-like) */
.llp-section.llp-blog-article p,
.llp-section.llp-blog-article li{
  font-weight:400;
  color:rgba(15,23,42,.78);
  line-height:1.7;
  font-size:16px;
}

.llp-section.llp-blog-article .pi-cta__body{
  color:var(--pi-muted);
  font-weight:400;
  line-height:1.6;
}
.llp-section.llp-blog-article .pi-card h3{
  font-weight:600;
  color:var(--pi-ink);
}
.llp-section.llp-blog-article .llp-blog-drip-link{
  color:inherit;
  text-decoration:none;
}
.llp-section.llp-blog-article .llp-blog-drip-link:hover,
.llp-section.llp-blog-article .llp-blog-drip-link:focus-visible{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.llp-section.llp-blog-article .llp-blog-drip-link:focus-visible{
  outline:2px solid rgba(9,77,134,.25);
  outline-offset:3px;
}

/* =========================================================
   Blog social sharing row
   ========================================================= */
.llp-blog-article .social-sharing{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 12px;
}

.llp-blog-article .social-sharing p{
  margin: 0 12px 0 0;
  font-weight: 600;
}

.llp-blog-article .social-sharing a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.llp-blog-article .social-sharing img{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: block;
}

/* Blog: PI concierge CTA used inside blog articles */
.llp-section.llp-blog-article .pi-cta--blog{
  margin: 26px 0;
}

/* Ensure blog CTAs don't become too narrow */
.llp-section.llp-blog-article .pi-cta--blog .pi-cta__card{
  max-width: 100%;
}

/* =========================================================
   Blog: IV iron comparison components
   ========================================================= */

.llp-blog-article .llp-blog-cta-inline{
  margin: 24px 0;
  padding: 18px 18px 16px;
  border-radius: 14px;
  border: 1px solid var(--pi-border);
  background: linear-gradient(180deg, var(--pi-bg) 0%, var(--pi-card) 100%);
}

.llp-blog-article .llp-blog-cta-inline h3{
  margin-top: 0;
  margin-bottom: 6px;
  color: var(--pi-ink);
  font-weight: 600;
}

.llp-blog-article .llp-blog-cta-inline p{
  margin-bottom: 10px;
}

.llp-blog-article .llp-blog-cta-inline .llp-cta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

/* Legacy llp iron comparison cards */
.llp-blog-article .llp-iron-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 16px 0 6px;
}

.llp-blog-article .llp-iron-card{
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid var(--pi-border);
  background: var(--pi-card);
}

.llp-blog-article .llp-iron-card h3{
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 600;
  color: var(--pi-ink);
}

.llp-blog-article .llp-iron-meta{
  font-size: 14px;
  color: var(--pi-muted);
  margin: 6px 0 10px;
}

/* PI article comparison grid */
.pi .pi-article-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  column-gap:18px;
  row-gap:18px;
  margin:18px 0 8px;
  align-items:stretch;
}

.pi .pi-article-grid > .pi-card{
  height:100%;
}

/* Keep article comparison cards stacked through tablet widths for readable summaries/lists. */
@media (min-width:1100px){
  .pi .pi-article-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Notes + refs */
.llp-blog-article .llp-blog-note{
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--pi-card);
  border: 1px solid var(--pi-border);
  font-size: 14px;
  color: var(--pi-muted);
}

.llp-blog-article .llp-blog-disclaimer{
  font-size: 13px;
  color: var(--pi-muted);
}

.llp-blog-article .llp-blog-refs ol{
  margin: 0 0 16px 1.3em;
  padding: 0;
  font-size: 14px;
}

@media (max-width: 640px){
  .llp-blog-article .llp-blog-cta-inline .llp-btn{
    width: 100%;
  }
}

/* =========================================================
   PI Blog (detail)
   ========================================================= */
.pi.pi-blog{
  background:var(--pi-bg);
  color:var(--pi-ink);
  padding:32px 18px 48px;
  font-family:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

.pi-container--blog{
  max-width:var(--pi-blog-max);
  margin-left:auto;
  margin-right:auto;
}

.pi-blog__title{
  margin:0 0 14px;
  font-weight:600;
  font-size:42px;
  line-height:1.1;
  letter-spacing:-0.01em;
  color:var(--pi-ink);
}

.pi-blog__kicker{
  margin:0 0 14px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  font-size:12px;
  color:var(--pi-brand);
}

.pi-blog__intro{
  margin:0 0 var(--pi-s4);
  max-width:var(--pi-blog-text-max);
  color:rgba(15,23,42,.78);
  font-size:16px;
  line-height:1.7;
  font-weight:400;
}

.pi-blog__prose{
  max-width:var(--pi-blog-max);
}

.pi-blog figure{
  margin:0 0 24px;
  max-width:var(--pi-blog-max);
}

.pi-blog figure img,
.pi-blog figure svg,
.pi-blog figure video,
.pi-blog figure iframe{
  max-width:100%;
  height:auto;
  display:block;
}

.pi-blog figure img{
  border-radius:16px;
}

.pi-blog__prose p,
.pi-blog__prose li{
  font-weight:400;
  color:rgba(15,23,42,.78);
  line-height:1.7;
  font-size:16px;
}

.pi-blog__prose > p{
  max-width:var(--pi-blog-text-max);
  margin:0 0 var(--pi-s5);
}

.pi-blog__prose > h2{
  max-width:var(--pi-blog-text-max);
  margin:var(--pi-s7) 0 var(--pi-s4);
  font-weight:600;
  font-size:28px;
  line-height:1.2;
  color:var(--pi-ink);
}

.pi-blog__prose > h3{
  max-width:var(--pi-blog-text-max);
  margin:var(--pi-s6) 0 var(--pi-s3);
  font-weight:600;
  font-size:20px;
  line-height:1.25;
  color:var(--pi-ink);
}

.pi-blog__prose > ul,
.pi-blog__prose > ol{
  max-width:var(--pi-blog-text-max);
  margin:var(--pi-s4) 0 var(--pi-s5) 1.3em;
  padding:0;
}

.pi-blog__prose > ul > li,
.pi-blog__prose > ol > li{
  margin:0 0 var(--pi-s2);
}

.pi-blog__prose > ul > li:last-child,
.pi-blog__prose > ol > li:last-child,
.pi-blog__prose > p:last-child{
  margin-bottom:0;
}

.pi-blog__prose img,
.pi-blog__prose svg,
.pi-blog__prose video,
.pi-blog__prose iframe{
  max-width:100%;
  height:auto;
  display:block;
}

.pi-blog__prose img{
  border-radius:16px;
}

.pi-blog__note{
  padding:12px 14px;
  border-radius:10px;
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  font-size:14px;
  color:var(--pi-muted);
  max-width:var(--pi-blog-prose);
}

.pi-blog__refs{
  max-width:var(--pi-blog-prose);
}

.pi-blog__refs ol{
  margin:0 0 16px 1.3em;
  padding:0;
  font-size:14px;
}

.pi-blog__refs li{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.pi-blog__refs a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.pi-blog__related{
  margin:34px 0 30px;
}

.pi-blog__related .pi-section-head{
  max-width:56ch;
}

.pi-blog__related .pi-spotlight__card,
.pi-blog__related .pi-spotlight__card-link{
  align-items:flex-start;
}

.pi-blog__related .pi-spotlight__card-link{
  padding:14px 16px;
}

.pi-blog__related .pi-spotlight__card-content .pi-micro{
  margin:0;
  line-height:1.6;
}

/* PI blog: inline links should use the concierge text-link treatment */
.pi-blog .pi-blog__intro a,
.pi-blog .pi-blog__prose p a,
.pi-blog .pi-blog__prose li a,
.pi-blog .pi-blog__prose td a,
.pi-blog .pi-blog__note a,
.pi-blog__refs a{
  color:var(--pi-brand);
  text-decoration:none;
  font-weight:500;
}

.pi-blog .pi-blog__intro a:hover,
.pi-blog .pi-blog__intro a:focus-visible,
.pi-blog .pi-blog__prose p a:hover,
.pi-blog .pi-blog__prose p a:focus-visible,
.pi-blog .pi-blog__prose li a:hover,
.pi-blog .pi-blog__prose li a:focus-visible,
.pi-blog .pi-blog__prose td a:hover,
.pi-blog .pi-blog__prose td a:focus-visible,
.pi-blog .pi-blog__note a:hover,
.pi-blog .pi-blog__note a:focus-visible,
.pi-blog__refs a:hover,
.pi-blog__refs a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}

/* PI blog: linked headings should look like headings (not default anchors) */
.pi-blog .pi-card h3 a,
.pi-blog .pi-blog__prose h3 a,
.pi-blog .pi-blog__prose h2 a{
  color:inherit;
  text-decoration:none;
}

.pi-blog .pi-card h3 a:hover,
.pi-blog .pi-card h3 a:focus-visible,
.pi-blog .pi-blog__prose h3 a:hover,
.pi-blog .pi-blog__prose h3 a:focus-visible,
.pi-blog .pi-blog__prose h2 a:hover,
.pi-blog .pi-blog__prose h2 a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}

.pi-blog .pi-cta--blog{
  margin:26px 0;
}

.pi-blog .social-sharing{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:12px;
}

.pi-blog .social-sharing p{
  margin:0 12px 0 0;
  font-weight:600;
}

.pi-blog .social-sharing a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.pi-blog .social-sharing__link{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--pi-border);
  background:var(--pi-card);
  color:var(--pi-accent);
  line-height:1;
  text-decoration:none;
  transition:border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.pi-blog .social-sharing__link:hover,
.pi-blog .social-sharing__link:focus-visible{
  border-color:var(--pi-brand);
  background:var(--pi-brand);
  color:#fff;
  box-shadow:0 6px 18px rgba(9,77,134,.08);
  transform:translateY(-1px);
}

.pi-blog .social-sharing__icon{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}

/* Hide portable blog H1 in Squarespace (non-build) */
body:not(.pi-build) .pi-blog .pi-blog__title,
body:not(.pi-build) .llp-section.llp-blog-article .llp-blog-title{
  display:none !important;
}

/* Main article column */
.llp-section.llp-blog-article{
  max-width: var(--pi-blog-max);
  margin-left: auto;
  margin-right: auto;
}

/* Make sure immediate children don't accidentally go wider */
.llp-section.llp-blog-article > *{
  max-width: 100%;
}

/* Blog detail: PI wrapper should not constrain width inside the blog column */
.llp-blog-article .pi{
  max-width:100%;
}

/* Keep intro/disclaimer text readable */
.llp-section.llp-blog-article .llp-blog-note{
  max-width: var(--pi-blog-text-max);
}

/* Ensure CTA row spans full article width */
.llp-section.llp-blog-article .llp-cta{
  max-width: 100%;
}

/* Blog body media should never exceed the editorial column */
.llp-section.llp-blog-article img,
.llp-section.llp-blog-article svg,
.llp-section.llp-blog-article video,
.llp-section.llp-blog-article iframe{
  max-width: 100%;
  height: auto;
  display: block;
}

/* Consistent image presentation */
.llp-section.llp-blog-article img{
  border-radius: 16px;
}

/* Common wrappers */
.llp-section.llp-blog-article figure,
.llp-section.llp-blog-article picture{
  margin: 24px 0;
}

.llp-section.llp-blog-article figure > *{
  max-width: 100%;
}

/* Prevent cards/promo sections from spanning beyond the column */
.llp-section.llp-blog-article .pi-card,
.llp-section.llp-blog-article .pi-callout,
.llp-section.llp-blog-article .pi-media,
.llp-section.llp-blog-article .pi-section{
  max-width: 100%;
}

/* Opt-in wider feature section (still centered) */
.llp-section.llp-blog-article .llp-blog-wide{
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.llp-blog-article--launch h2{ margin-top:40px; }
.llp-blog-article--launch h2:first-of-type{ margin-top:0; }
.llp-blog-article--launch figure{ margin:18px 0 26px; }
.llp-blog-article--launch .llp-cta{ margin:14px 0 28px; }
.llp-blog-article--launch ul{ margin-bottom:18px; }

/* BLOG — Launch article spacing */
.llp-blog-article--launch h2 {
  margin-top: 40px;
}

.llp-blog-article--launch figure {
  margin: 24px 0 40px;
}

.llp-blog-article--launch .llp-cta {
  margin: 32px 0 40px;
}

.llp-blog-article--launch ul,
.llp-blog-article--launch ol {
  margin-bottom: 24px;
}

.llp-blog-article--launch p + h2 {
  margin-top: 40px;
}

.llp-blog-article--launch figure + h2 {
  margin-top: 40px;
}

.llp-blog-article--launch .llp-cta + h2 {
  margin-top: 40px;
}

/* If a PI wrapper precedes a new section heading, ensure spacing still applies */
.llp-blog-article--launch .pi + h2 {
  margin-top: 40px;
}

/* ============================================================
   IV SERVICES PAGE (legacy CSS migrated from inline <style>)
   - Phase 1: scoped migration only (preserve visuals)
   - Phase 2+: refactor to PI primitives
   ============================================================ */

  .pi-iv-services .pi-container--services-filters{
    max-width:var(--pi-iv-services-filters-max);
    margin-left:0;
    margin-right:auto;
  }
  .pi-labs .pi-container--services-filters{
    max-width:var(--pi-iv-services-filters-max);
    margin-left:0;
    margin-right:auto;
  }

  .pi-ivs.ivs-page{
    --brand:#094d86;
    --brand-2:#01a0c6;
    --ink:#0f172a;
    --muted:#475569;
    --border:#e2e8f0;
    --bg:#f5f8fc;
    --card:#ffffff;
    --pill:#ecf4ff;
    --radius:16px;
    --shadow:0 10px 30px rgba(9,77,134,.10);
  }
  .pi-ivs.ivs-page *{ box-sizing:border-box; }
  .pi-ivs.ivs-page h1, .pi-ivs.ivs-page h2, .pi-ivs.ivs-page h3{ margin:0; letter-spacing:.2px; }
  .pi-ivs .ivs-addons__chips{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; }
  .pi-ivs .ivs-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 12px;
    border:1px solid var(--border);
    background:var(--card);
    color:var(--ink);
    font-size:13.5px;
    line-height:1.1;
    cursor:default;
  }
  .pi-ivs .ivs-chip--pill{
    cursor:pointer;
  }
  .pi-ivs .ivs-filters .ivs-chip--pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 12px;
    border-radius:999px;
    border-width:1px;
    border-style:solid;
    border-color:#d8e2ee;
    background-color:var(--pill);
    color:var(--ink);
    font-size:13.5px;
    font-weight:500;
    transition:background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
  }
  .pi-ivs .ivs-filters .ivs-chip--pill:hover{
    background-color:#e3edf9;
    border-color:#c7d7e7;
    box-shadow:0 4px 12px rgba(9,77,134,.12);
  }
  .pi-ivs .ivs-filters .ivs-chip--pill.is-active{
    background-color:#094d86;
    color:#fff;
    border-color:#094d86;
    box-shadow:0 8px 22px rgba(9,77,134,.18);
  }
  /* Darker outline on card ghost buttons for clearer affordance */
  .pi-ivs .ivs-card .pi-btn--ghost{
    background:#fff;
    border-color:rgba(9,77,134,.32);
    color:var(--brand);
    box-shadow:inset 0 0 0 1px rgba(9,77,134,.08);
  }

  .pi-ivs .ivs-filters{ margin:0; }
  .pi-ivs .ivs-filter__row{ display:flex; gap:18px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
  .pi-ivs .ivs-filter__label{ margin:0 0 8px; font-weight:700; font-size:14px; color:var(--muted); }
  .pi-ivs .ivs-filter__chips{ display:flex; flex-wrap:wrap; gap:8px; }
  .pi-ivs .ivs-filter__search input{
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--border);
    background:#fff;
    font-size:14px;
    width:100%;
    max-width:320px;
  }

  .pi-ivs .ivs-filter__meta{ margin:12px 0 0; color:var(--muted); font-size:13px; }
  .pi-ivs .ivs-filter__addons{
    color:var(--brand);
    font-weight:700;
    margin-left:10px;
    text-decoration:none;
  }
  .pi-ivs .ivs-filter__addons:hover{ text-decoration:underline; }
  .pi-ivs .ivs-filter__link{
    color:var(--brand);
    font-weight:700;
    margin-left:6px;
    text-decoration:none;
  }
  .pi-ivs .ivs-filter__link:hover{ text-decoration:underline; }

  .pi-ivs .ivs-grid-wrap{
    width:100%;
    max-width:var(--pi-max-wide);
    margin-left:auto;
    margin-right:auto;
  }
  .pi-ivs .ivs-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, 280px);
    gap:16px;
  }
  .pi-ivs .ivs-card{
    background:#fff;
    border:1.2px solid var(--border);
    border-radius:16px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
    box-shadow:0 6px 18px rgba(9,77,134,.08);
    transition:transform 160ms ease-out, box-shadow 160ms ease-out, border-color 160ms ease-out, background-color 160ms ease-out;
  }
  .pi-ivs .ivs-card:hover,
  .pi-ivs .ivs-card:focus-within{
    transform:translateY(-3px);
    box-shadow:0 10px 26px rgba(9,77,134,.16);
    border-color:rgba(9,77,134,.18);
    background:#fff;
  }
  .pi-ivs .ivs-card__top{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px;
    align-items:flex-start;
    margin-bottom:8px;
  }
  .pi-ivs .ivs-card__meta{
    min-width:0;
    width:100%;
  }
  .pi-ivs .ivs-card__meta h3, .pi-ivs .ivs-card__meta p{
    max-width:none;
  }
  .pi-ivs .ivs-card__body{
    display:grid;
    gap:10px;
  }
  .pi-ivs .ivs-icon-circle{
    position:relative;
    width:60px; height:60px;
    border-radius:16px;
    background:linear-gradient(135deg,#f6f9ff,#ffffff);
    border:1.2px solid var(--border);
    display:grid; place-items:center;
    flex-shrink:0;
    box-shadow:0 8px 18px rgba(9,77,134,.08);
    overflow:hidden;
  }
  .pi-ivs .ivs-icon-circle::after{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:inherit;
    background:radial-gradient(circle at 30% 30%,rgba(1,160,198,.08),transparent 55%), radial-gradient(circle at 70% 70%,rgba(9,77,134,.05),transparent 55%);
    opacity:.55;
    z-index:0;
  }
  .pi-ivs .ivs-icon-circle > *{ position:relative; z-index:1; }
  .pi-ivs .ivs-icon{ width:44px; height:44px; }
  .pi-ivs .ivs-icon-text{ font-weight:800; color:var(--brand); font-size:16px; letter-spacing:.02em; }
  .pi-ivs .ivs-card__meta h3{
    margin:0 0 6px;
    font-size:18px;
    font-weight:700;
  }
  .pi-ivs .ivs-price{
    margin:0 0 6px;
    font-weight:800;
    color:var(--brand);
  }
  .pi-ivs .ivs-price small{ font-weight:600; color:var(--muted); margin-left:6px; }
  .pi-ivs .ivs-desc{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.45;
  }
  .pi-ivs .ivs-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:6px 0 0;
    width:100%;
  }
  .pi-ivs .ivs-tag{
    padding:3px 8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    background:#fff;
    border:1px solid #d8e2ee;
    border-radius:7px;
    font-size:12px;
    font-weight:500;
    color:#5b6775;
  }
  .pi-ivs .ivs-badges{
    display:flex; flex-wrap:wrap; gap:6px;
    margin:6px 0 0; padding:0;
    list-style:none;
  }
  .pi-ivs .ivs-badges li{
    background:#f6f9ff;
    border:1px solid #d6e6f7;
    color:#0c2a44;
    padding:5px 9px;
    border-radius:9px;
    font-size:12.5px;
    line-height:1.2;
    white-space:nowrap;
  }
  .pi-ivs .ivs-label{
    margin:10px 0 4px;
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#66758a;
  }
  .pi-ivs .ivs-label-help{
    font-size:10.5px;
    letter-spacing:0;
    text-transform:none;
    color:#5f6b7a;
    margin-left:6px;
    border-bottom:1px dotted #94aac2;
    cursor:help;
    position:relative;
  }
  .pi-ivs .ivs-label-help::after{
    content:attr(data-tooltip);
    position:absolute;
    left:0;
    bottom:100%;
    margin-bottom:6px;
    min-width:200px;
    max-width:260px;
    padding:8px 10px;
    background:#0c2a44;
    color:#fff;
    border-radius:8px;
    box-shadow:0 10px 20px rgba(9,77,134,.2);
    opacity:0;
    pointer-events:none;
    transition:opacity .12s ease, transform .12s ease;
    transform:translateY(4px);
    z-index:10;
    font-size:11px;
    line-height:1.4;
  }
  .pi-ivs .ivs-label-help:hover::after,
  .pi-ivs .ivs-label-help:focus-visible::after{
    opacity:1;
    transform:translateY(0);
  }
  .pi-ivs .ivs-card__inside{
    display:grid;
    gap:8px;
  }
  .pi-ivs .ivs-card__actions{
    display:flex;
    gap:10px;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:stretch;
    margin-top:auto;
  }
  .pi-ivs .ivs-card__actions .pi-btn{
    flex:1 1 0 !important;
    min-width:0;
    justify-content:center !important;
    padding:12px 14px !important;
    min-height:52px !important;
    font-size:15px !important;
    border-radius:12px !important;
    height:auto !important;
    line-height:1.2 !important;
    text-align:center;
  }

  .pi-ivs .addons-menu-wrapper{
    width:100%;
    padding-top:28px;
    margin-left:auto;
    margin-right:auto;
  }
  .pi-ivs .addons-menu{
    width:100%;
  }
  .pi-ivs .ivs-addons{
    width:100%;
    margin:0;
  }
  .pi-ivs .addons-menu .ivs-addons__card{
    width:100%;
    margin:0 auto;
  }
  .pi-ivs .ivs-addons__card{
    padding:20px;
    background:linear-gradient(120deg,#f0f7ff,#ffffff);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
  }
  .pi-ivs .ivs-addons__eyebrow{ margin:0; font-weight:700; color:var(--brand); text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
  .pi-ivs .ivs-addons__lede{ margin:6px 0 8px; color:var(--muted); max-width:72ch; }
  .pi-ivs .ivs-addons__note{ margin:0 0 12px; color:var(--muted); font-size:13px; }
  .pi-ivs .ivs-addons__sections{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:12px;
  }
  .pi-ivs .addons-accordion{ display:grid; gap:12px; }
  .pi-ivs .addons-accordion .pi-accordion__item{
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
  }
  .pi-ivs .addons-accordion .pi-accordion__trigger{
    cursor:pointer;
    padding:12px 14px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:var(--ink);
    gap:10px;
    background:#fff;
    border:0;
    border-radius:0;
  }
  .pi-ivs .addons-category-heading{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    font-size:20px;
    font-weight:600;
  }
  .pi-ivs .addons-category-icon{
    width:22px;
    height:22px;
    flex-shrink:0;
  }
  .pi-ivs .addons-accordion .pi-accordion__item.is-open .pi-accordion__trigger{
    border-bottom:1px solid var(--border);
  }
  .pi-ivs .addons-accordion .pi-accordion__icon{
    font-size:16px;
    color:var(--muted);
  }
  .pi-ivs .addons-accordion .pi-accordion__body{ padding:0; }
  .pi-ivs .ivs-addon-group__grid{
    list-style:none;
    padding:10px;
    margin:0;
    display:grid;
    grid-template-columns:repeat(auto-fit, 220px);
    gap:8px;
  }
  .pi-ivs .ivs-addon{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
    font-size:14px;
    color:var(--ink);
  }
  .pi-ivs .ivs-addon__name{ font-weight:500; }
  .pi-ivs .ivs-addon__price{ color:var(--brand); font-weight:700; }
  .pi-ivs .ivs-addon__price small{ color:var(--muted); font-weight:600; margin-left:4px; }

  .pi-ivs .addons-menu .addon-item{
    transition:
      background-color 0.18s ease,
      box-shadow 0.18s ease,
      border-radius 0.18s ease;
    opacity:1;
    transform:translateY(0);
  }

  .pi-ivs .addons-menu .addon-item--link{
    padding:0;
  }

  .pi-ivs .addons-menu .addon-item--link:hover,
  .pi-ivs .addons-menu .addon-item--link:focus-within{
    background-color:rgba(9, 77, 134, 0.06);
    box-shadow:0 1px 3px rgba(0,0,0,0.06);
    border-radius:10px;
  }

  .pi-ivs .addons-menu .addon-item--link:hover{
    cursor:pointer;
  }

  .pi-ivs .addons-menu .addon-item-name{
    font-weight:500;
  }

  .pi-ivs .addons-menu .addon-item-price{
    font-weight:700;
  }

  .pi-ivs .addons-menu .addon-link{
    color:inherit;
    text-decoration:none;
    font-weight:500;
    transition:color .15s ease, text-decoration-color .15s ease;
  }

  .pi-ivs .addons-menu .addon-link--row{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 10px;
  }

  .pi-ivs .addons-menu .addon-item--link:hover .addon-link,
  .pi-ivs .addons-menu .addon-link:focus-visible{
    color:#094d86;
  }

  .pi-ivs .addons-menu .addon-item--link:hover .addon-item-name,
  .pi-ivs .addons-menu .addon-link:focus-visible .addon-item-name{
    text-decoration:underline;
    text-decoration-thickness:1px;
  }

  /* Tap/press feedback (desktop + touch) */
  .pi-ivs .addons-menu .addon-item:active{
    background-color:rgba(9, 77, 134, 0.10);
    box-shadow:0 2px 6px rgba(0,0,0,0.10);
    border-radius:12px;
    transition-duration:0.12s;
  }

  /* Linked names also visually respond on tap */
  .pi-ivs .addons-menu .addon-link:active{
    opacity:0.8;
  }

  /* Optional: restrict the stronger active styling to coarse pointers (phones/tablets) */
  @media (hover: none) and (pointer: coarse){
    .pi-ivs .addons-menu .addon-item:active{
      background-color:rgba(9, 77, 134, 0.10);
      box-shadow:0 2px 6px rgba(0,0,0,0.10);
      border-radius:12px;
    }
  }

  @keyframes addonFadeIn{
    0%{
      opacity:0;
      transform:translateY(4px);
    }
    100%{
      opacity:1;
      transform:translateY(0);
    }
  }

  /* When a panel is opened, animate its tiles in with a staggered sequence */

  /* CASE A: using PI accordion for accordion */
  .pi-ivs .addons-menu .pi-accordion__item.is-open .addons-panel .addon-item{
    opacity:0;
    transform:translateY(4px);
    animation:addonFadeIn 0.28s ease forwards;
  }

  /* CASE B: using a class-based “open” state; mirror the same logic */
  .pi-ivs .addons-menu .addons-panel.is-open .addon-item{
    opacity:0;
    transform:translateY(4px);
    animation:addonFadeIn 0.28s ease forwards;
  }

  /* Stagger delays by position */
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(1){ animation-delay:0s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(2){ animation-delay:0.03s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(3){ animation-delay:0.06s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(4){ animation-delay:0.09s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(5){ animation-delay:0.12s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(6){ animation-delay:0.15s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(7){ animation-delay:0.18s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(8){ animation-delay:0.21s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(9){ animation-delay:0.24s; }
  .pi-ivs .addons-menu .addons-panel .addon-item:nth-child(10){ animation-delay:0.27s; }

  @media (max-width:720px){
    .pi-ivs .ivs-addon-group__grid{
      grid-template-columns:repeat(auto-fit, 170px);
    }
    .pi-ivs .ivs-filter__chips{ gap:6px; }
    .pi-ivs .ivs-card__actions{
      flex-direction:column;
      flex-wrap:nowrap;
    }
    .pi-ivs .ivs-card__actions .pi-btn{
      width:100% !important;
      max-width:360px;
      margin:0 auto;
      padding:10px 12px !important;
      min-height:46px !important;
      font-size:15px !important;
      border-radius:10px !important;
      line-height:1.15;
    }
    .pi-ivs .ivs-card .pi-btn{
      padding:10px 12px !important;
      min-height:44px !important;
      font-size:15px !important;
      border-radius:10px !important;
      width:100% !important;
      max-width:360px;
      margin:0 auto;
      line-height:1.15 !important;
      box-shadow:0 6px 16px rgba(9,77,134,.14) !important;
    }
    .pi-ivs .ivs-card__top{
      grid-template-columns:1fr;
    }
    .pi-ivs .ivs-icon-circle{
      justify-self:start;
    }
    .pi-ivs .ivs-card__meta{
      width:100%;
    }
  }
  @media (prefers-reduced-motion: reduce){
    .pi-ivs .ivs-card{
      transition:box-shadow 160ms ease-out, border-color 160ms ease-out, background-color 160ms ease-out;
    }
    .pi-ivs .ivs-card:hover,
    .pi-ivs .ivs-card:focus-within{
      transform:none;
    }
  }


/* Labs Page (pi-labs) */
  .pi-labs{
    --brand:#094d86;
    --brand-2:#01a0c6;
    --ink:#0f172a;
    --muted:#475569;
    --border:#e2e8f0;
    --bg:#f5f8fc;
    --card:#ffffff;
    --pill:#ecf4ff;
    --radius:16px;
    --shadow:0 10px 30px rgba(9,77,134,.10);
  }
  /* Labs: indent filters container like IV Services */
  .pi-labs .pi-container.pi-container--services-filters{
    max-width:var(--pi-iv-services-filters-max);
    margin-left:0;
    margin-right:auto;
  }
  .pi-labs *{ box-sizing:border-box; }
  .pi-labs h1, .pi-labs h2, .pi-labs h3{ margin:0; letter-spacing:.2px; }
  .pi-labs .labs-addons__chips{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; }
  .pi-labs .labs-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 12px;
    border:1px solid var(--border);
    background:var(--card);
    color:var(--ink);
    font-size:13.5px;
    line-height:1.1;
    cursor:default;
  }
  .pi-labs .labs-chip--pill{
    cursor:pointer;
  }
  .pi-labs .labs-filters .labs-chip--pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 12px;
    border-radius:999px;
    border-width:1px;
    border-style:solid;
    border-color:#d8e2ee;
    background-color:var(--pill);
    color:var(--ink);
    font-size:13.5px;
    font-weight:500;
    transition:background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
  }
  .pi-labs .labs-filters .labs-chip--pill:hover{
    background-color:#e3edf9;
    border-color:#c7d7e7;
    box-shadow:0 4px 12px rgba(9,77,134,.12);
  }
  .pi-labs .labs-filters .labs-chip--pill.is-active{
    background-color:#094d86;
    color:#fff;
    border-color:#094d86;
    box-shadow:0 8px 22px rgba(9,77,134,.18);
  }
  /* Darker outline on card ghost buttons for clearer affordance */
  .pi-labs .labs-card .pi-btn--ghost{
    background:#fff;
    border-color:rgba(9,77,134,.32);
    color:var(--brand);
    box-shadow:inset 0 0 0 1px rgba(9,77,134,.08);
  }
  .pi-labs [data-pi-overview-enabled="false"]{
    display:none !important;
  }

  .pi-labs .labs-filters{ margin:0; }
  .pi-labs .labs-filter__row{ display:flex; gap:18px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
  .pi-labs .labs-filter__label{ margin:0 0 8px; font-weight:700; font-size:14px; color:var(--muted); }
  .pi-labs .labs-filter__chips{ display:flex; flex-wrap:wrap; gap:8px; }
  .pi-labs .labs-filter__search input{
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--border);
    background:#fff;
    font-size:14px;
    width:100%;
    max-width:320px;
  }

  .pi-labs .labs-filter__meta{ margin:12px 0 0; color:var(--muted); font-size:13px; }
  .pi-labs .labs-filter__addons{
    color:var(--brand);
    font-weight:700;
    margin-left:10px;
    text-decoration:none;
  }
  .pi-labs .labs-filter__addons:hover{ text-decoration:underline; }
  .pi-labs .labs-filter__link{
    color:var(--brand);
    font-weight:700;
    margin-left:6px;
    text-decoration:none;
  }
  .pi-labs .labs-filter__link:hover{ text-decoration:underline; }

  .pi-labs .labs-grid-wrap{
    width:100%;
    max-width:var(--pi-max-wide);
    margin-left:auto;
    margin-right:auto;
  }
  .pi-labs .labs-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, 280px);
    gap:16px;
  }
  .pi-labs .labs-card{
    background:#fff;
    border:1.2px solid var(--border);
    border-radius:16px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
    box-shadow:0 6px 18px rgba(9,77,134,.08);
    transition:transform 160ms ease-out, box-shadow 160ms ease-out, border-color 160ms ease-out, background-color 160ms ease-out;
  }
  .pi-labs .labs-card:hover,
  .pi-labs .labs-card:focus-within{
    transform:translateY(-3px);
    box-shadow:0 10px 26px rgba(9,77,134,.16);
    border-color:rgba(9,77,134,.18);
    background:#fff;
  }
  .pi-labs .labs-card__top{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px;
    align-items:flex-start;
    margin-bottom:8px;
  }
  .pi-labs .labs-card__meta{
    min-width:0;
    width:100%;
  }
  .pi-labs .labs-card__meta h3, .pi-labs .labs-card__meta p{
    max-width:none;
  }
  .pi-labs .labs-card__body{
    display:grid;
    gap:10px;
  }
  .pi-labs .labs-icon-circle{
    position:relative;
    width:60px; height:60px;
    border-radius:16px;
    background:linear-gradient(135deg,#f6f9ff,#ffffff);
    border:1.2px solid var(--border);
    display:grid; place-items:center;
    flex-shrink:0;
    box-shadow:0 8px 18px rgba(9,77,134,.08);
    overflow:hidden;
  }
  .pi-labs .labs-icon-circle::after{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:inherit;
    background:radial-gradient(circle at 30% 30%,rgba(1,160,198,.08),transparent 55%), radial-gradient(circle at 70% 70%,rgba(9,77,134,.05),transparent 55%);
    opacity:.55;
    z-index:0;
  }
  .pi-labs .labs-icon-circle > *{ position:relative; z-index:1; }
  .pi-labs .labs-icon{ width:44px; height:44px; }
  .pi-labs .labs-icon-text{ font-weight:800; color:var(--brand); font-size:16px; letter-spacing:.02em; }
  .pi-labs .labs-card__meta h3{
    margin:0 0 6px;
    font-size:18px;
    font-weight:700;
  }
  .pi-labs .labs-price{
    margin:0 0 6px;
    font-weight:800;
    color:var(--brand);
  }
  .pi-labs .labs-price small{ font-weight:600; color:var(--muted); margin-left:6px; }
  .pi-labs .labs-desc{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.45;
  }
  .pi-labs .labs-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:6px 0 0;
    width:100%;
  }
  .pi-labs .labs-tag{
    padding:3px 8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    background:#fff;
    border:1px solid #d8e2ee;
    border-radius:7px;
    font-size:12px;
    font-weight:500;
    color:#5b6775;
  }
  .pi-labs .labs-badges{
    display:flex; flex-wrap:wrap; gap:6px;
    margin:6px 0 0; padding:0;
    list-style:none;
  }
  .pi-labs .labs-badges li{
    background:#f6f9ff;
    border:1px solid #d6e6f7;
    color:#0c2a44;
    padding:5px 9px;
    border-radius:9px;
    font-size:12.5px;
    line-height:1.2;
    white-space:nowrap;
  }
  .pi-labs .labs-label{
    margin:10px 0 4px;
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#66758a;
  }
  .pi-labs .labs-label-help{
    font-size:10.5px;
    letter-spacing:0;
    text-transform:none;
    color:#5f6b7a;
    margin-left:6px;
    border-bottom:1px dotted #94aac2;
    cursor:help;
    position:relative;
  }
  .pi-labs .labs-label-help::after{
    content:attr(data-tooltip);
    position:absolute;
    left:0;
    bottom:100%;
    margin-bottom:6px;
    min-width:200px;
    max-width:260px;
    padding:8px 10px;
    background:#0c2a44;
    color:#fff;
    border-radius:8px;
    box-shadow:0 10px 20px rgba(9,77,134,.2);
    opacity:0;
    pointer-events:none;
    transition:opacity .12s ease, transform .12s ease;
    transform:translateY(4px);
    z-index:10;
    font-size:11px;
    line-height:1.4;
  }
  .pi-labs .labs-label-help:hover::after,
  .pi-labs .labs-label-help:focus-visible::after{
    opacity:1;
    transform:translateY(0);
  }
  .pi-labs .labs-card__inside{
    display:grid;
    gap:8px;
  }
  .pi-labs .labs-card__actions{
    display:flex;
    gap:10px;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:stretch;
    margin-top:auto;
  }
  .pi-labs .labs-card__actions .pi-btn{
    flex:1 1 0 !important;
    min-width:0;
    justify-content:center !important;
    padding:12px 14px !important;
    min-height:52px !important;
    font-size:15px !important;
    border-radius:12px !important;
    height:auto !important;
    line-height:1.2 !important;
    text-align:center;
  }

  .pi-labs .addons-menu-wrapper{
    width:100%;
    padding-top:28px;
    margin-left:auto;
    margin-right:auto;
  }
  .pi-labs .addons-menu{
    width:100%;
  }
  .pi-labs .labs-addons{
    width:100%;
    margin:0;
  }
  .pi-labs .addons-menu .labs-addons__card{
    width:100%;
    margin:0 auto;
  }
  .pi-labs .labs-addons__card{
    padding:20px;
    background:linear-gradient(120deg,#f0f7ff,#ffffff);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
  }
  .pi-labs .labs-addons__eyebrow{ margin:0; font-weight:700; color:var(--brand); text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
  .pi-labs .labs-addons__lede{ margin:6px 0 8px; color:var(--muted); max-width:72ch; }
  .pi-labs .labs-addons__note{ margin:0 0 12px; color:var(--muted); font-size:13px; }
  .pi-labs .labs-addons__sections{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:12px;
  }
  .pi-labs .addons-accordion{ display:grid; gap:12px; }
  .pi-labs .addons-accordion .pi-accordion__item{
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
  }
  .pi-labs .addons-accordion .pi-accordion__trigger{
    cursor:pointer;
    padding:12px 14px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:var(--ink);
    gap:10px;
    background:#fff;
    border:0;
    border-radius:0;
  }
  .pi-labs .addons-category-heading{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    font-size:20px;
    font-weight:600;
  }
  .pi-labs .addons-category-icon{
    width:22px;
    height:22px;
    flex-shrink:0;
  }
  .pi-labs .addons-accordion .pi-accordion__item.is-open .pi-accordion__trigger{
    border-bottom:1px solid var(--border);
  }
  .pi-labs .addons-accordion .pi-accordion__icon{
    font-size:16px;
    color:var(--muted);
  }
  .pi-labs .addons-accordion .pi-accordion__body{ padding:0; }
  .pi-labs .labs-addon-group__grid{
    list-style:none;
    padding:10px;
    margin:0;
    display:grid;
    grid-template-columns:repeat(auto-fit, 220px);
    gap:8px;
  }
  .pi-labs .labs-addon{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
    font-size:14px;
    color:var(--ink);
  }
  .pi-labs .labs-addon__name{ font-weight:500; }
  .pi-labs .labs-addon__price{ color:var(--brand); font-weight:700; }
  .pi-labs .labs-addon__price small{ color:var(--muted); font-weight:600; margin-left:4px; }

  .pi-labs .addons-menu .addon-item{
    transition:
      background-color 0.18s ease,
      box-shadow 0.18s ease,
      border-radius 0.18s ease;
    opacity:1;
    transform:translateY(0);
  }

  .pi-labs .addons-menu .addon-item:hover{
    background-color:rgba(9, 77, 134, 0.06);
    box-shadow:0 1px 3px rgba(0,0,0,0.06);
    border-radius:10px;
    cursor:pointer;
  }

  .pi-labs .addons-menu .addon-item-name{
    font-weight:500;
  }

  .pi-labs .addons-menu .addon-item-price{
    font-weight:700;
  }

  .pi-labs .addons-menu .addon-link{
    color:inherit;
    text-decoration:none;
    font-weight:500;
    transition:color .15s ease, text-decoration-color .15s ease;
  }

  .pi-labs .addons-menu .addon-link:hover,
  .pi-labs .addons-menu .addon-link:focus-visible{
    color:#094d86;
    text-decoration:underline;
    text-decoration-thickness:1px;
  }

  /* Tap/press feedback (desktop + touch) */
  .pi-labs .addons-menu .addon-item:active{
    background-color:rgba(9, 77, 134, 0.10);
    box-shadow:0 2px 6px rgba(0,0,0,0.10);
    border-radius:12px;
    transition-duration:0.12s;
  }

  /* Linked names also visually respond on tap */
  .pi-labs .addons-menu .addon-link:active{
    opacity:0.8;
  }

  /* Optional: restrict the stronger active styling to coarse pointers (phones/tablets) */
  @media (hover: none) and (pointer: coarse){
    .pi-labs .addons-menu .addon-item:active{
      background-color:rgba(9, 77, 134, 0.10);
      box-shadow:0 2px 6px rgba(0,0,0,0.10);
      border-radius:12px;
    }
  }

  @keyframes addonFadeIn{
    0%{
      opacity:0;
      transform:translateY(4px);
    }
    100%{
      opacity:1;
      transform:translateY(0);
    }
  }

  /* When a panel is opened, animate its tiles in with a staggered sequence */

  /* CASE A: using PI accordion for accordion */
  .pi-labs .addons-menu .pi-accordion__item.is-open .addons-panel .addon-item{
    opacity:0;
    transform:translateY(4px);
    animation:addonFadeIn 0.28s ease forwards;
  }

  /* CASE B: using a class-based “open” state; mirror the same logic */
  .pi-labs .addons-menu .addons-panel.is-open .addon-item{
    opacity:0;
    transform:translateY(4px);
    animation:addonFadeIn 0.28s ease forwards;
  }

  /* Stagger delays by position */
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(1){ animation-delay:0s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(2){ animation-delay:0.03s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(3){ animation-delay:0.06s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(4){ animation-delay:0.09s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(5){ animation-delay:0.12s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(6){ animation-delay:0.15s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(7){ animation-delay:0.18s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(8){ animation-delay:0.21s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(9){ animation-delay:0.24s; }
  .pi-labs .addons-menu .addons-panel .addon-item:nth-child(10){ animation-delay:0.27s; }

  @media (max-width:720px){
    .pi-labs .labs-addon-group__grid{
      grid-template-columns:repeat(auto-fit, 170px);
    }
    .pi-labs .labs-filter__chips{ gap:6px; }
    .pi-labs .labs-card__actions{
      flex-direction:column;
      flex-wrap:nowrap;
    }
    .pi-labs .labs-card__actions .pi-btn{
      width:100% !important;
      max-width:360px;
      margin:0 auto;
      padding:10px 12px !important;
      min-height:46px !important;
      font-size:15px !important;
      border-radius:10px !important;
      line-height:1.15;
    }
    .pi-labs .labs-card .pi-btn{
      padding:10px 12px !important;
      min-height:44px !important;
      font-size:15px !important;
      border-radius:10px !important;
      width:100% !important;
      max-width:360px;
      margin:0 auto;
      line-height:1.15 !important;
      box-shadow:0 6px 16px rgba(9,77,134,.14) !important;
    }
    .pi-labs .labs-card__top{
      grid-template-columns:1fr;
    }
    .pi-labs .labs-icon-circle{
      justify-self:start;
    }
    .pi-labs .labs-card__meta{
      width:100%;
    }
  }
  @media (prefers-reduced-motion: reduce){
    .pi-labs .labs-card{
      transition:box-shadow 160ms ease-out, border-color 160ms ease-out, background-color 160ms ease-out;
    }
    .pi-labs .labs-card:hover,
    .pi-labs .labs-card:focus-within{
      transform:none;
    }
  }

/* ============================================================
   TP H1 OVERRIDE (beats LLP Override Shim)
   - Treatment pages use concierge H1 sizing
   - Must come AFTER the LLP Override Shim in the cascade
   ============================================================ */
.tp .sqs-block-code .llp-hero h1,
.tp .sqs-block-html .llp-hero h1,
.tp .fluid-engine .sqs-block.code-block .llp-hero h1,
.tp .fluid-engine .sqs-block.html-block .llp-hero h1,
.tp .fe-block .sqs-block.code-block .llp-hero h1,
.tp .fe-block .sqs-block.html-block .llp-hero h1{
  font-size:36px !important;
  line-height:1.1 !important;
  letter-spacing:.2px !important;
  font-weight:500 !important;
  margin:0 0 12px !important;
}

@media (max-width:900px){
  .tp .sqs-block-code .llp-hero h1,
  .tp .sqs-block-html .llp-hero h1,
  .tp .fluid-engine .sqs-block.code-block .llp-hero h1,
  .tp .fluid-engine .sqs-block.html-block .llp-hero h1,
  .tp .fe-block .sqs-block.code-block .llp-hero h1,
  .tp .fe-block .sqs-block.html-block .llp-hero h1{
    font-size:32px !important;
  }
}

@media (min-width:1200px){
  .tp .sqs-block-code .llp-hero h1,
  .tp .sqs-block-html .llp-hero h1,
  .tp .fluid-engine .sqs-block.code-block .llp-hero h1,
  .tp .fluid-engine .sqs-block.html-block .llp-hero h1,
  .tp .fe-block .sqs-block.code-block .llp-hero h1,
  .tp .fe-block .sqs-block.html-block .llp-hero h1{
    font-size:40px !important;
  }
}

/* ============================================================
   TP Concierge Parity Lock (must be AFTER LLP Override Shim)
   Ensures vA TP hero stays in concierge card styling.
   ============================================================ */
.tp .llp.llp-drip.vA .llp-hero{
  background:linear-gradient(135deg,rgba(9,77,134,.08),rgba(1,160,198,.08)) !important;
  border:1.2px solid rgba(12,42,68,.12) !important;
  border-radius:var(--pi-radius) !important;
  padding:34px 32px !important;
  box-shadow:var(--pi-shadow) !important;
  margin:0 auto 44px !important;
}

@media (max-width:900px){
  .tp .llp.llp-drip.vA .llp-hero{
    padding:24px 18px !important;
  }
}

.tp .llp.llp-drip.vA .llp-hero__inner{
  max-width:var(--pi-max-wide) !important;
}

/* TP: final CTA trust chips should match hero trust chips */
.tp .llp-cta-bottom .pi-chip--trust{
  font-weight:400 !important;
}



/* BLOG - Launch article spacing (hard override, last in file wins) */
.llp-blog-article.llp-blog-article--launch h2,
.llp-blog-article.llp-blog-article--launch h3{
  margin-top: 40px !important;
}

.llp-blog-article.llp-blog-article--launch figure,
.llp-blog-article.llp-blog-article--launch .llp-cta{
  margin-top: 24px !important;
  margin-bottom: 40px !important;
}


/* BLOG - Normalize linked drip titles so cards don't grow */
.llp-blog-article--launch .pi-card h3 a {
  display: inline;
  line-height: inherit;
  padding: 0;
  margin: 0;
  text-decoration: none;
}


/* BLOG - Prevent launch spacing rules from inflating drip cards */
.llp-blog-article--launch .pi-card h3,
.llp-blog-article--launch .pi-card p{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.llp-blog-article--launch .pi-card .pi-stack--1 > * + *{
  margin-top: 6px !important;
}

/* TP mobile hero layout safety: force single-column stack and responsive media */
@media (max-width:899px){
  .tp .llp-hero,
  .tp .llp-hero__inner,
  .tp .sqs-block-code .llp-hero,
  .tp .sqs-block-html .llp-hero,
  .tp .fluid-engine .sqs-block.code-block .llp-hero,
  .tp .fluid-engine .sqs-block.html-block .llp-hero,
  .tp .fe-block .sqs-block.code-block .llp-hero,
  .tp .fe-block .sqs-block.html-block .llp-hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    min-width:0 !important;
    width:100% !important;
  }

  .tp .llp-copy,
  .tp .llp-hero__copy,
  .tp .llp-media,
  .tp .llp-hero__media{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .tp .llp-media{
    overflow:hidden;
  }

  .tp .llp-media img,
  .tp .llp-hero__media img{
    display:block;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:cover;
  }

  .tp .llp.llp-drip.vA .llp-hero,
  .tp .llp.llp-drip.vA .llp-hero__inner{
    grid-template-columns:1fr !important;
  }
  .tp .llp.llp-drip.vA .llp-copy{
    min-width:0 !important;
    max-width:none !important;
  }
  .tp .llp.llp-drip.vA .llp-media{
    max-width:none !important;
    width:100% !important;
  }
  .tp .llp.llp-drip.vA .llp-media img{
    width:100%;
    height:auto !important;
    display:block;
  }
}

/* Blog index/tag cards (Squarespace side-by-side inspired) */
.pi .pi-blog-index{
  padding-top:var(--pi-s6);
  padding-bottom:var(--pi-s6);
}
.pi .pi-blog-list{
  display:grid;
  gap:var(--pi-s6);
}
.pi .pi-blog-card{
  background:var(--pi-card);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  box-shadow:var(--pi-shadow);
  padding:var(--pi-s4);
}
.pi .pi-blog-card__inner{
  display:flex;
  align-items:center;
  gap:6%;
}
.pi .pi-blog-card__image-link{
  flex:0 0 420px;
  max-width:460px;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:14px;
  background:#f1f5f9;
  display:block;
}
.pi .pi-blog-card__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.pi .pi-blog-card__text{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:var(--pi-s2);
  padding:var(--pi-s1) 0;
  min-width:0;
}
.pi .pi-blog-card__date{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--pi-muted);
}
.pi .pi-blog-card__title{
  margin:0;
  font-size:24px;
  line-height:1.2;
}
.pi .pi-blog-card__title a{
  color:inherit;
  text-decoration:none;
}
.pi .pi-blog-card__title a:hover,
.pi .pi-blog-card__title a:focus-visible{
  color:var(--pi-brand);
  text-decoration:underline;
  text-underline-offset:4px;
}
.pi .pi-blog-card__excerpt{
  margin:0;
  color:#64748b;
  line-height:1.65;
}
.pi .pi-blog-more-link{
  margin-top:var(--pi-s3);
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  color:var(--pi-ink);
  text-decoration:none;
  font-weight:600;
  letter-spacing:.04em;
}
.pi .pi-blog-more-link__break{
  flex-basis:100%;
  height:0;
}
.pi .pi-blog-more-link__underline{
  display:block;
  width:40px;
  height:2px;
  background:var(--pi-accent);
  border-radius:999px;
  margin-left:10px;
  align-self:center;
}
.pi .pi-blog-more-link:hover,
.pi .pi-blog-more-link:focus-visible{
  color:var(--pi-brand);
}
.pi .pi-blog-more-link:hover .pi-blog-more-link__underline,
.pi .pi-blog-more-link:focus-visible .pi-blog-more-link__underline{
  background:var(--pi-brand);
}
@media (max-width:980px){
  .pi .pi-blog-card__inner{
    flex-direction:column;
    gap:var(--pi-s4);
    align-items:stretch;
  }
  .pi .pi-blog-card__image-link{
    max-width:none;
    flex-basis:auto;
    width:100%;
  }
  .pi .pi-blog-card__title{
    font-size:22px;
  }
}
@media (max-width:720px){
  .pi .pi-blog-card{
    padding:var(--pi-s3);
  }
  .pi .pi-blog-card__title{
    font-size:20px;
  }
}


/* LAB TEST PAGES (pi-lab-test) */
  .pi-lab-test{
    background:var(--pi-bg);
    color:var(--pi-ink);
  }
  .pi-lab-test .pi-hero{
    grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  }
  .pi-lab-test .pi-hero__panel{
    align-self:stretch;
  }
  .pi-lab-test__facts{
    display:grid;
    gap:16px;
    grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  }
  .pi-lab-test__fact{
    display:flex;
    flex-direction:column;
    gap:6px;
    height:100%;
  }
  .pi-lab-test .pi-lab-test__fact .pi-list{
    margin-top:14px;
    padding-left:18px;
    list-style:disc;
  }
  .pi-lab-test .pi-lab-test__fact .pi-list li{
    margin:0 0 8px;
  }
  .pi-lab-test .pi-lab-test__fact .pi-list li::before{
    content:none !important;
  }
  .pi-lab-test .pi-lab-test__fact .labs-card__actions{
    display:flex;
    gap:10px;
    margin-top:auto;
    padding-top:8px;
  }
  .pi-lab-test .pi-lab-test__fact .labs-card__actions .pi-btn{
    width:100%;
    justify-content:center !important;
    min-height:48px;
  }
  .pi-lab-test__included .pi-accordion__body{
    padding:12px 12px 14px;
  }
  .pi-lab-test__fit-grid{
    display:grid;
    gap:16px;
    grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  }
  .pi-lab-test__fit-list{
    margin:0;
    padding-left:18px;
    color:var(--pi-muted);
    line-height:1.55;
  }
  .pi-lab-test__fit-list li{ margin:0 0 6px; }
  .pi-lab-test__fit-note{
    margin:10px 0 0;
    font-size:13.5px;
    color:var(--pi-muted);
  }
  @media (max-width:980px){
    .pi-lab-test .pi-hero{ grid-template-columns:1fr; }
  }

/* SQSP-COMPAT: footer accordion hardening (Squarespace) */
/* This styles only our injected footer accordion mount. */
.footer-accordion{
  width:100%;
  max-width:1100px;
  margin:0 auto;
  padding:12px 2px 24px;
  display:block;
}

.footer-accordion .accordion-item{
  border-bottom:1px solid #e5e7eb;
  margin:0 0 12px;
}

.footer-accordion .accordion-button{
  /* Use !important on key props to beat Squarespace theme + UA defaults */
  appearance:none !important;
  background:#f7fbff !important;
  border:1px solid #d6dce4 !important;
  border-radius:10px !important;
  color:#0b4a82 !important;
  padding:12px 14px !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  text-align:left !important;
  cursor:pointer !important;
  box-sizing:border-box !important;

  font-family:"Poppins",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  letter-spacing:.1px !important;
  line-height:1.2 !important;
  margin:0 !important;
}

.footer-accordion .accordion-button:focus-visible{
  outline:2px solid rgba(1,160,198,.65) !important;
  outline-offset:2px !important;
}

.footer-accordion .accordion-button::after{
  content:"›";
  color:currentColor;
  font-size:18px;
  font-weight:700;
  transform:rotate(0deg);
  transition:transform 150ms ease;
}

.footer-accordion .accordion-button.active::after{
  transform:rotate(90deg);
}

.footer-accordion .accordion-content{
  padding:10px 2px 6px;
}

.footer-accordion .accordion-content a{
  display:block;
  padding:2px 0;
  text-decoration:none;
}

.footer-accordion .accordion-content a h1,
.footer-accordion .accordion-content a h2,
.footer-accordion .accordion-content a h3,
.footer-accordion .accordion-content a h4,
.footer-accordion .accordion-content a h5,
.footer-accordion .accordion-content a h6{
  display:block;
  margin:6px 0;
  color:#01a0c6;
  font-size:16px;
  font-weight:600;
  line-height:1.25;
  text-decoration:none;
}

.footer-accordion .accordion-content a:hover h1,
.footer-accordion .accordion-content a:hover h2,
.footer-accordion .accordion-content a:hover h3,
.footer-accordion .accordion-content a:hover h4,
.footer-accordion .accordion-content a:hover h5,
.footer-accordion .accordion-content a:hover h6{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ============================================================
   LABS: filters indent (final)
   ============================================================ */
@media (min-width:981px){
  .pi-labs .pi-container.pi-container--services-filters{
    max-width:var(--pi-iv-services-filters-max);
    margin-right:auto;
    /* Align with hero’s inner padding (hero is 34px/32px) */
    margin-left:34px;
  }
}

/* TP iPad/tablet hero image safety: avoid unexpected cropping/clipping */
@media (min-width: 768px) and (max-width: 1366px) and (pointer: coarse){
  .tp .llp.llp-drip.vA .llp-media img,
  .tp .llp.llp-drip.vA .llp-hero .llp-media img{
    height:auto !important;
    width:100%;
    display:block;
  }

  .tp .llp.llp-drip.vA .llp-media,
  .tp .llp.llp-drip.vA .llp-hero .llp-media{
    height:auto;
    max-width:100%;
  }
}

@media (max-width:1119px){
  .tp .llp.llp-drip.vA .llp-media img,
  .tp .sqs-block-code .llp-hero .llp-media img,
  .tp .sqs-block-html .llp-hero .llp-media img{
    width:100%;
    height:auto !important;
    display:block;
  }
}

/* === TP Tablet Landscape Final Overrides (prevent downstream pull-out) === */
@media (min-width: 900px) and (max-width: 1119px){
  .tp .llp.llp-drip.vA .llp-hero,
  .tp .llp.llp-drip.vA .llp-hero__inner{
    grid-template-columns: minmax(0, 1fr) minmax(0, 360px) !important;
    gap: 20px !important;
  }

  .tp .llp.llp-drip.vA .llp-copy{
    min-width: 0 !important;
    max-width: none !important;
  }

  /* Force media back inside panel */
  .tp .llp.llp-drip.vA .llp-media{
    position: static !important;
    margin: 0 !important;
    transform: none !important;
    inset: auto !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;

    width: 100% !important;
    max-width: 360px !important;
    min-width: 0 !important;
    justify-self: end !important;
  }

  .tp .llp.llp-drip.vA .llp-media img{
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* Keep overlay CTA from being clipped by TP wrappers in this band only */
  .tp,
  .tp .llp.llp-drip.vA,
  .tp .llp.llp-drip.vA .llp-hero,
  .tp .llp.llp-drip.vA .llp-hero__inner{
    overflow: visible !important;
    overflow-x: visible !important;
  }

  .tp .llp-float-cta,
  .tp.llp-float-cta{
    position: fixed !important;
    right: 52px !important;
    bottom: 24px !important;
    z-index: 9999 !important;
    max-width: calc(100vw - 48px);
    box-sizing: border-box;
  }

  .tp .llp-float-cta__btn{
    max-width: calc(100vw - 48px) !important;
    box-sizing: border-box !important;
  }
}
