@charset "UTF-8";
:root {
  /* Brand Colors */
  --teal: #007fa3;
  --dark-teal: #1b5674;
  --green: #047b4b;
  --green-alt: #007b4b;
  --white: #ffffff;
  --light-cyan: #e9fbff;
  --light-teal: #c0e1e8;
  /* Typography */
  --font-display: 'adelle', Georgia, 'Times New Roman', serif;
  --font-body: 'adelle-sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  /* Layout */
  --max-width: 1440px;
  --content-padding: 150px;
  /* Shadows */
  --card-shadow: 15px 15px 52px 2px rgba(0, 0, 0, 0.25);
  --feature-shadow: 15px 15px 52px 2px rgba(0, 0, 0, 0.52);
  /* Header height — used throughout for top offsets */
  --header-h: 131px;
  /* About-page accent (dark teal-green) */
  --about-teal: #006666;
}

/* ============================================================
   HIXNY Homepage Styles
   Fonts: Adelle (serif display) + Adelle Sans (sans-serif body)
   ============================================================ */
/* ----------------------------------------------------------
   RESET & BASE
   ---------------------------------------------------------- */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--dark-teal);
  background: var(--white);
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

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

input, textarea, select, button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100%;
}

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

ul {
  list-style: disc;
}

/* ----------------------------------------------------------
   HEADER / GLOBAL NAV
   ---------------------------------------------------------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: var(--teal);
  height: var(--header-h);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-inner {
  position: relative;
  z-index: 1001;
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.site-logo {
  width: 168px;
  height: auto;
}

.header-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
}

/* For Patients Button (desktop header bar) */
.btn-patients {
  display: inline-block;
  background: var(--white);
  color: var(--teal);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  padding: 6px 24px;
  border-radius: 15px;
  letter-spacing: 0.02em;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  text-decoration: none;
}

.btn-patients:hover {
  opacity: 0.88;
}

/* ----------------------------------------------------------
   LOGIN BUTTON + DROPDOWN  (shared base styles)
   ---------------------------------------------------------- */
.login-dropdown-wrap {
  position: relative;
}

.btn-login {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  background: var(--dark-teal);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  padding: 6px 20px;
  border-radius: 15px;
  border: none;
  cursor: pointer;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  letter-spacing: 0.02em;
}

.btn-login:hover {
  opacity: 0.88;
}

.btn-login .chevron-icon {
  width: 16px;
  height: 16px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.btn-login[aria-expanded=true] .chevron-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.login-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--white);
  border-radius: 20px;
  -webkit-box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
          box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
  min-width: 239px;
  padding: 16px 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  overflow: hidden;
  z-index: 10;
}

.login-dropdown.is-open {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.login-dropdown-item {
  display: block;
  padding: 10px 24px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 16px;
  color: var(--teal);
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  text-decoration: none;
  text-align: right;
}

.login-dropdown-item:hover {
  color: var(--green);
}

/* Mobile login — hidden by default, revealed at ≤768 */
.login-dropdown-wrap--mobile {
  display: none;
}

/* ----------------------------------------------------------
   HAMBURGER ICON
   Bars: 7px tall, gap: 6px  →  centre-to-centre = 13px.
   The X is formed by translating line 1 down and line 3 up
   by exactly that distance, then rotating ±45°.
   ---------------------------------------------------------- */
.hamburger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 6px;
  width: 64px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.hamburger-line {
  display: block;
  width: 100%;
  height: 7px;
  background: var(--white);
  border-radius: 5px;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.2s ease, -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease, -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.hamburger.is-active .hamburger-line:nth-child(1) {
  -webkit-transform: translateY(13px) rotate(45deg);
          transform: translateY(13px) rotate(45deg);
}

.hamburger.is-active .hamburger-line:nth-child(2) {
  opacity: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}

.hamburger.is-active .hamburger-line:nth-child(3) {
  -webkit-transform: translateY(-13px) rotate(-45deg);
          transform: translateY(-13px) rotate(-45deg);
}

/* ----------------------------------------------------------
   HAMBURGER NAV OVERLAY
   Desktop: right-aligned slide-in panel.
   Mobile:  full-width overlay.
   ---------------------------------------------------------- */
.mobile-nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: var(--teal);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.35s ease, visibility 0.35s ease;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  overflow: hidden;
}

.mobile-nav-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.mobile-nav {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--header-h) 50px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

/* Links container — right-aligned, no dividers */
.mobile-nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

/* WP nav menu outputs <ul><li><a> — reset the li wrappers */
.mobile-nav-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.mobile-nav-links li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav-link {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 22px;
  color: var(--white);
  text-transform: uppercase;
  padding: 10px 0;
  text-decoration: none;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  letter-spacing: 0.03em;
}

.mobile-nav-link:hover {
  color: var(--light-teal);
}

/* Button row — hidden at desktop, shown at ≤768 */
.mobile-nav-buttons {
  display: none;
}

/* ----------------------------------------------------------
   HERO SECTION
   ---------------------------------------------------------- */
.hero-section {
  position: relative;
  width: 100%;
  min-height: 670px;
  margin-top: var(--header-h);
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero-card {
  position: relative;
  z-index: 1;
  max-width: 964px;
  margin: 80px auto 0;
  background: var(--dark-teal);
  -webkit-box-shadow: var(--card-shadow);
          box-shadow: var(--card-shadow);
  padding: 50px 34px 60px;
  text-align: center;
}

.hero-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 68px;
  line-height: 1;
  color: var(--white);
  margin-bottom: 22px;
}

.hero-body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.55;
  color: var(--white);
  max-width: 810px;
  margin: 0 auto;
}

/* ----------------------------------------------------------
   FIND YOUR SOLUTIONS
   ---------------------------------------------------------- */
.solutions-section {
  padding: 0;
}

.solutions-card {
  max-width: 1236px;
  margin: -100px auto 0;
  position: relative;
  z-index: 2;
  background: -webkit-gradient(linear, left top, right top, from(var(--light-teal)), to(var(--light-cyan)));
  background: linear-gradient(to right, var(--light-teal), var(--light-cyan));
  -webkit-box-shadow: var(--card-shadow);
          box-shadow: var(--card-shadow);
  padding: 48px 50px 60px;
  text-align: center;
}

.solutions-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 60px;
  color: var(--dark-teal);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 40px;
}

.solutions-desc {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  color: var(--dark-teal);
  margin-bottom: 22px;
}

.solutions-question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 14px;
  margin-bottom: 28px;
}

.question-number {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--dark-teal);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.question-number span {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 36px;
  color: var(--white);
  line-height: 1;
}

.question-label {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 32px;
  color: var(--dark-teal);
}

.solutions-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin-bottom: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.radio-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  cursor: pointer;
  position: relative;
}

.radio-option input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.radio-circle {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  border: 3px solid var(--dark-teal);
  background: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: border-color 0.2s ease, background 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.radio-option input[type=radio]:checked + .radio-circle {
  background: var(--dark-teal);
  border-color: var(--dark-teal);
}

.radio-option input[type=radio]:checked + .radio-circle::after {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--white);
}

.radio-text {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  color: var(--dark-teal);
}

.btn-next {
  display: inline-block;
  background: var(--dark-teal);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 24px;
  text-transform: uppercase;
  padding: 14px 60px;
  border: 7px solid var(--teal);
  cursor: pointer;
  -webkit-transition: background 0.25s ease, -webkit-transform 0.2s ease;
  transition: background 0.25s ease, -webkit-transform 0.2s ease;
  transition: background 0.25s ease, transform 0.2s ease;
  transition: background 0.25s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  letter-spacing: 0.04em;
}

.btn-next:hover {
  background: var(--teal);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

/* ----------------------------------------------------------
   EASY ACCESS BLOCK
   ---------------------------------------------------------- */
.easy-section {
  background: var(--green);
  padding: 80px 50px;
  text-align: center;
}

.easy-inner {
  max-width: 1116px;
  margin: 0 auto;
}

.easy-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 60px;
  color: var(--white);
  letter-spacing: 1.2px;
  margin-bottom: 50px;
}

.easy-body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.65;
  color: var(--white);
  max-width: 1079px;
  margin: 0 auto;
}

/* ----------------------------------------------------------
   PROVEN PERFORMANCE BLOCK
   ---------------------------------------------------------- */
.proven-section {
  padding: 100px 50px 60px;
  text-align: center;
  background: var(--white);
}

.proven-inner {
  max-width: 1116px;
  margin: 0 auto;
}

.proven-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 60px;
  line-height: 1;
  color: var(--green-alt);
  letter-spacing: 1.2px;
  margin-bottom: 48px;
}

.proven-body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.6;
  color: var(--green);
  max-width: 1079px;
  margin: 0 auto 20px;
}

.proven-body em {
  font-style: italic;
}

.proven-cta {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 36px;
  color: var(--green-alt);
  margin-bottom: 14px;
}

.proven-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.down-carrot {
  width: 56px;
  height: 56px;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.down-carrot:hover {
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
}

/* ----------------------------------------------------------
   FEATURES SECTION
   ---------------------------------------------------------- */
.features-section {
  position: relative;
  padding: 110px 0;
  overflow: hidden;
}

.features-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.features-bg-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.features-inner {
  position: relative;
  z-index: 1;
  max-width: 1149px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 62px;
  padding: 0 40px;
}

.feature-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--white);
  -webkit-box-shadow: var(--feature-shadow);
          box-shadow: var(--feature-shadow);
  min-height: 282px;
  overflow: hidden;
}

.feature-card--img-left {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.feature-card--img-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.feature-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 280px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px;
}

.feature-icon-img {
  max-width: 260px;
  max-height: 320px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.feature-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 40px 50px;
}

.feature-heading {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 36px;
  color: var(--dark-teal);
  margin-bottom: 28px;
}

.feature-text {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.5;
  color: var(--dark-teal);
}

.feature-text a {
  font-weight: 700;
  text-decoration: underline;
  color: var(--dark-teal);
}

.feature-text a:hover {
  color: var(--teal);
}

/* ----------------------------------------------------------
   ACCREDITATIONS

   Logos are populated dynamically from an ACF repeater. To keep
   the row visually balanced regardless of which logos are
   uploaded, each logo is constrained to a max bounding box and
   uses object-fit: contain so it displays at its native
   aspect ratio inside the box.

   Original Figma sizes (reference):
   - HITRUST 204×115 (squarish)
   - DirectTrust 208×114 (squarish)
   - ONC 293×69 (very wide)

   Bounding box of 300×115 fits all three at their native size.
   Wide logos (e.g. ONC) take their natural width; tall/square
   logos take height up to 115 then their natural width.
   ---------------------------------------------------------- */
.accreditations-section {
  padding: 60px 50px;
  background: var(--white);
}

.accreditations-inner {
  max-width: 1250px;
  margin: 0 auto;
  padding-left: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 47px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.accreditation-logo {
  max-width: 300px;
  max-height: 115px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */
.site-footer {
  background: var(--teal);
  color: var(--white);
  padding: 60px 50px 36px;
}

@media (max-width: 1024px) {
  .site-footer {
    padding: 50px 30px 30px;
  }
}
@media (max-width: 768px) {
  .site-footer {
    padding: 40px 20px 28px;
  }
}
.footer-inner {
  max-width: 1250px;
  margin: 0 auto;
  padding-left: 100px;
}

@media (max-width: 1024px) {
  .footer-inner {
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  .footer-inner {
    padding-left: 0;
  }
}
.footer-logo-img {
  width: 168px;
  display: block;
  margin-bottom: 44px;
}

@media (max-width: 768px) {
  .footer-logo-img {
    width: 140px;
    margin-bottom: 32px;
  }
}
/* --- Promise List --- */
.footer-promise {
  margin-bottom: 30px;
}

.footer-promise-title {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--white);
  margin-bottom: 10px;
}

.footer-promise-list {
  list-style: disc;
  padding-left: 22px;
  margin: 0;
}

.footer-promise-list li {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  color: var(--white);
  line-height: 1.5;
  margin-bottom: 4px;
  padding-left: 4px;
}

.footer-promise-list li::marker {
  color: var(--white);
}

@media (max-width: 768px) {
  .footer-promise-list li {
    font-size: 15px;
  }
}
/* --- Contact Link --- */
.footer-contact {
  margin: 0 0 30px;
}

.footer-contact a {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--white);
  text-decoration: none;
  display: inline-block;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.footer-contact a:hover {
  opacity: 0.75;
}

@media (max-width: 768px) {
  .footer-contact a {
    font-size: 15px;
  }
}
/* --- Legal Links ---
   Links separated by thin vertical hairlines via ::before. Works
   for the fallback (raw <a>'s) AND the WP nav menu (<li><a>). */
.footer-legal-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 18px;
}

.footer-legal-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-legal-links li {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-legal-links a {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  color: var(--white);
  text-decoration: none;
  padding: 0 14px;
  line-height: 1.4;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.footer-legal-links a:hover {
  opacity: 0.75;
}

.footer-legal-links > a:first-of-type,
.footer-legal-links li:first-child a {
  padding-left: 0;
}

.footer-legal-links > a:last-of-type,
.footer-legal-links li:last-child a {
  padding-right: 0;
}

.footer-legal-links > a + a::before,
.footer-legal-links li + li > a::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 16px;
  background: var(--white);
  margin-right: 14px;
  vertical-align: middle;
  opacity: 0.7;
}

/* Legacy <span class="footer-divider">|</span> markup — hidden;
   the ::before hairlines render dividers now. */
.footer-legal-links .footer-divider {
  display: none;
}

@media (max-width: 768px) {
  .footer-legal-links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
  }
  .footer-legal-links a {
    font-size: 15px;
    padding: 4px 0 !important;
  }
  .footer-legal-links > a + a::before,
  .footer-legal-links li + li > a::before {
    display: none;
  }
}
/* --- PDF Note + Copyright --- */
.footer-pdf-note,
.footer-copyright {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  font-style: italic;
  color: var(--white);
  margin: 0 0 6px;
  line-height: 1.5;
}

.footer-pdf-note a,
.footer-copyright a {
  text-decoration: underline;
  color: var(--white);
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.footer-pdf-note a:hover,
.footer-copyright a:hover {
  opacity: 0.75;
}

@media (max-width: 768px) {
  .footer-pdf-note,
  .footer-copyright {
    font-size: 15px;
  }
}
.footer-copyright {
  margin-bottom: 0;
}

/* ----------------------------------------------------------
   SCROLL ANIMATIONS (triggered via JS)
   ---------------------------------------------------------- */
.js-fade-up {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
}

.js-fade-up.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-fade-left {
  opacity: 0;
  -webkit-transform: translateX(-60px);
          transform: translateX(-60px);
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
}

.js-fade-left.is-visible {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.js-fade-right {
  opacity: 0;
  -webkit-transform: translateX(60px);
          transform: translateX(60px);
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
}

.js-fade-right.is-visible {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* ==========================================================================
   INNER PAGE COMPONENTS
   Shared classes for the Users, Solutions, About, and detail pages.
   Colors are modifiable via modifier classes (--teal, --green, --about-teal).
   ========================================================================== */
/* ----------------------------------------------------------
   PAGE HERO
   Used on all inner pages: illustrative icon + title + subcopy.
   Listing pages (Users, Solutions, About) = image RIGHT of text.
   Detail pages (User-detail, Solution-detail) = image LEFT of text.
   ---------------------------------------------------------- */
.page-hero {
  position: relative;
  background: var(--white);
  padding: 90px 50px 70px;
  margin-top: var(--header-h);
  overflow: hidden;
}

.page-hero-inner {
  max-width: 1340px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}

.page-hero-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 60%;
          flex: 1 1 60%;
  max-width: 900px;
}

.page-hero-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 72px;
  line-height: 1;
  color: var(--dark-teal);
  margin-bottom: 32px;
}

.page-hero-body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 28px;
  line-height: 1.5;
  color: var(--dark-teal);
  max-width: 900px;
}

.page-hero-body a {
  text-decoration: underline;
  color: inherit;
  font-weight: 700;
}

/* Listing pages: image to the right, vertically centered */
.page-hero-image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 436px;
  max-width: 38%;
}

.page-hero-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Detail pages: image on LEFT, text on right */
.page-hero--detail .page-hero-inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.page-hero--detail .page-hero-image {
  width: 220px;
  max-width: 20%;
  padding-top: 10px;
}

/* Solution detail has a larger icon than user detail */
.page-hero--detail.page-hero--green .page-hero-image {
  width: 332px;
  max-width: 28%;
}

/* Hero image rotations (matching Figma) */
.page-hero-image--rotated-cw img {
  -webkit-transform: rotate(18deg);
          transform: rotate(18deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.page-hero-image--rotated-ccw img {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

/* Color variants */
.page-hero--green .page-hero-title,
.page-hero--green .page-hero-body {
  color: var(--green-alt);
}

.page-hero--about .page-hero-title,
.page-hero--about .page-hero-body {
  color: var(--about-teal);
}

/* ----------------------------------------------------------
   DARK BAND (full-width colored section w/ headline + copy)
   Variants: .dark-band--teal (Users), .dark-band--green (Solutions),
             .dark-band--about (About)
   ---------------------------------------------------------- */
.dark-band {
  background: var(--dark-teal);
  color: var(--white);
  padding: 80px 50px 90px;
}

.dark-band--green {
  background: var(--green-alt);
}

.dark-band--about {
  background: var(--about-teal);
}

.dark-band-inner {
  max-width: 1250px;
  margin: 0 auto;
}

.dark-band-section {
  margin-bottom: 40px;
}

.dark-band-section:last-child {
  margin-bottom: 0;
}

.dark-band h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1.3;
  letter-spacing: 0.92px;
  color: var(--white);
  margin-bottom: 24px;
}

.dark-band h2.is-centered {
  text-align: center;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.dark-band p {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--white);
  margin-bottom: 16px;
}

.dark-band p.is-centered {
  text-align: center;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.dark-band p:last-child {
  margin-bottom: 0;
}

.dark-band a {
  color: var(--white);
  text-decoration: underline;
  font-weight: 700;
}

.dark-band-divider {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  margin: 40px 0 50px;
}

/* Indented sub-section: heading + copy are both shifted right together.
   The heading appears centered across the full container, and the copy
   is left-aligned under it. Both share the same left edge. */
.dark-band-section--indented {
  padding-left: 180px;
}

.dark-band-section--indented h2 {
  /* Don't offset the heading — let it sit at the same left edge as the copy.
     The visual "centering" comes from the padding-left on the container. */
}

/* ----------------------------------------------------------
   SECTION HEADINGS (plain-background sections)
   ---------------------------------------------------------- */
.section-block {
  padding: 80px 50px;
  background: var(--white);
}

.section-block--gray {
  background: #f2f2f2;
}

.section-block-inner {
  max-width: 1250px;
  margin: 0 auto;
}

.section-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1.15;
  letter-spacing: 0.92px;
  color: var(--dark-teal);
  margin-bottom: 30px;
}

.section-title.is-centered {
  text-align: center;
}

.section-title--green {
  color: var(--green-alt);
}

.section-title--about {
  color: var(--about-teal);
}

.section-body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--dark-teal);
  margin-bottom: 16px;
}

.section-body--green {
  color: var(--green-alt);
}

.section-body--about {
  color: var(--about-teal);
}

.section-body p {
  margin-bottom: 16px;
}

.section-body p:last-child {
  margin-bottom: 0;
}

.section-body a {
  text-decoration: underline;
  font-weight: 700;
}

.section-body ul {
  padding-left: 27px;
  margin-bottom: 16px;
}

.section-body li {
  line-height: 1.55;
  margin-bottom: 6px;
}

.section-subtitle {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 38px;
  line-height: 1.2;
  letter-spacing: 0.76px;
  color: var(--dark-teal);
  text-transform: uppercase;
  margin: 50px 0 20px;
}

.section-subtitle:first-of-type {
  margin-top: 30px;
}

.section-subtitle--green {
  color: var(--green-alt);
}

/* Full-width horizontal divider between sections */
.section-divider {
  border: none;
  border-top: 2px solid rgba(27, 86, 116, 0.15);
  margin: 0;
}

/* Section with a top divider (used between Best Solutions, Related Users, etc.) */
.section-block--divided {
  position: relative;
}

.section-block--divided .section-block-inner {
  border-top: 2px solid rgba(27, 86, 116, 0.15);
  padding-top: 50px;
}

/* ----------------------------------------------------------
   CARD GRID (colored tiles with icon + label)
   Always 4 columns, equal sizing.
   Default = centered (for "Best Solution Matches" etc. with centered headings).
   .card-grid--left = left-aligned (for "Providers" etc. under left-aligned headings).
   ---------------------------------------------------------- */
.card-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Left-aligned variant (used under left-aligned category headings) */
.card-grid--left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.card-grid .tile-card {
  /* Fixed width matching 4-column: (100% - 3 × 20px gap) / 4 */
  width: calc((100% - 60px) / 4);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.tile-card {
  position: relative;
  background: var(--dark-teal);
  height: 317px;
  padding: 36px 30px 30px;
  text-decoration: none;
  color: var(--white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: background 0.25s ease, -webkit-transform 0.25s ease;
  transition: background 0.25s ease, -webkit-transform 0.25s ease;
  transition: background 0.25s ease, transform 0.25s ease;
  transition: background 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
  overflow: hidden;
}

.tile-card:hover {
  background: var(--teal);
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

/* Active state for tiles (shows current category) */
.tile-card.is-active {
  background: var(--teal);
}

/* Green variant (used on Solutions page) */
.tile-card--green {
  background: var(--green-alt);
}

.tile-card--green:hover,
.tile-card--green.is-active {
  background: #26ad78;
}

/* About page teal variant */
.tile-card--about {
  background: var(--about-teal);
}

.tile-card--about:hover,
.tile-card--about.is-active {
  background: #0f9c9c;
}

.tile-icon {
  width: 100px;
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.tile-icon img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.tile-label {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 28px;
  line-height: 1.15;
  color: var(--white);
}

.tile-label::after {
  content: ">";
  margin-left: 5px;
}

/* ----------------------------------------------------------
   HIGHLIGHTS GRID (used on user-detail / solution-detail pages)
   Shows a 2-column grid of mini headline+copy items inside a card.
   ---------------------------------------------------------- */
.highlights-section {
  background: var(--dark-teal);
  padding: 70px 50px 100px;
  color: var(--white);
}

.highlights-inner {
  max-width: 1250px;
  margin: 0 auto;
}

.highlights-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  color: var(--white);
  margin-bottom: 24px;
}

.highlights-intro {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--white);
  max-width: 980px;
  margin-bottom: 48px;
}

.highlights-intro p {
  margin-bottom: 14px;
}

.highlights-intro p:last-child {
  margin-bottom: 0;
}

.highlights-card {
  background: var(--light-cyan);
  padding: 54px 60px;
}

.highlights-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  position: relative;
}

/* Vertical center divider */
.highlights-grid::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(27, 86, 116, 0.18);
  z-index: 1;
}

/* Horizontal dividers between rows — applied via border-top on every item from 3rd onward */
.highlight-item {
  padding: 36px 40px;
}

/* Items in the 2nd row onward get a top border (the horizontal divider) */
.highlight-item:nth-child(n+3) {
  border-top: 1px solid rgba(27, 86, 116, 0.18);
}

.highlight-item__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  margin-bottom: 14px;
}

.highlight-item__arrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 31px;
  padding-top: 10px;
}

.highlight-item__arrow img {
  width: 100%;
  height: auto;
}

.highlight-item__title {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 32px;
  line-height: 1.1;
  color: var(--dark-teal);
}

.highlight-item__body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--dark-teal);
  padding-left: 47px;
}

.highlight-item__body a {
  text-decoration: underline;
  font-weight: 700;
}

/* ----------------------------------------------------------
   REAL LIFE BLOCK (case studies on user-detail page)
   Two-column layout with divider between
   ---------------------------------------------------------- */
.real-life-section {
  background: #f2f2f2;
  padding: 60px 50px 80px;
}

.real-life-inner {
  max-width: 1400px;
  margin: 0 auto;
}

.real-life-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  color: var(--dark-teal);
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(27, 86, 116, 0.2);
}

.case-studies {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0;
}

.case-study {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
  padding: 0 40px;
  position: relative;
}

/* Vertical divider between side-by-side case studies */
.case-study:nth-child(even) {
  border-left: 1px solid rgba(27, 86, 116, 0.25);
}

/* When there are 3+ items and one wraps, add top border for second row */
.case-study:nth-child(n+3) {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid rgba(27, 86, 116, 0.15);
}

.case-study-logo {
  width: 210px;
  max-width: 100%;
  height: auto;
  margin-bottom: 30px;
}

.case-study-logo--placeholder {
  width: 510px;
  max-width: 100%;
  height: 125px;
  background: #d9d9d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 46px;
  color: var(--dark-teal);
  letter-spacing: 0.92px;
}

/* case-study--logo-bottom: logo appears after the body copy */
.case-study--logo-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.case-study--logo-bottom .case-study-heading {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.case-study--logo-bottom .case-study-body {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.case-study--logo-bottom .case-study-logo,
.case-study--logo-bottom .case-study-logo--placeholder {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 30px;
  margin-bottom: 0;
}

.case-study-heading {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;
  color: var(--dark-teal);
  margin-bottom: 20px;
  letter-spacing: 0.64px;
}

.case-study-body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--dark-teal);
}

.case-study-body p {
  margin-bottom: 16px;
}

.case-study-body ul {
  padding-left: 27px;
  margin-bottom: 16px;
}

.case-study-body li {
  margin-bottom: 4px;
}

/* ----------------------------------------------------------
   TESTIMONIAL SLIDER (Slick)
   Quote + attribution, paginated dots
   ---------------------------------------------------------- */
.testimonial-section {
  background: var(--white);
  padding: 90px 50px 80px;
  position: relative;
}

.testimonial-inner {
  max-width: 1250px;
  margin: 0 auto;
  position: relative;
  padding: 0 80px;
}

.testimonial-inner::before,
.testimonial-inner::after {
  content: "“";
  position: absolute;
  font-family: Georgia, serif;
  font-size: 200px;
  line-height: 1;
  color: var(--dark-teal);
  pointer-events: none;
}

.testimonial-inner::before {
  top: -10px;
  left: 0;
}

.testimonial-inner::after {
  bottom: 80px;
  right: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.testimonial-slider {
  /* Slick will handle layout */
}

.testimonial-slide {
  text-align: center;
  padding: 0 40px;
}

.testimonial-quote {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 42px;
  line-height: 1.24;
  letter-spacing: 0.84px;
  color: var(--dark-teal);
  margin-bottom: 30px;
}

.testimonial-attribution {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.3;
  color: var(--dark-teal);
  letter-spacing: 0.64px;
}

/* Slick custom dots */
.testimonial-section .slick-dots {
  position: relative;
  bottom: auto;
  margin-top: 50px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 18px;
}

.testimonial-section .slick-dots li {
  width: 20px;
  height: 20px;
  margin: 0;
}

.testimonial-section .slick-dots li button {
  width: 20px;
  height: 20px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid var(--dark-teal);
  background: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

.testimonial-section .slick-dots li button::before {
  display: none;
}

.testimonial-section .slick-dots li.slick-active button {
  background: var(--dark-teal);
}

/* ----------------------------------------------------------
   PREVIEW SLIDER (Slick — used on solution-detail page)
   Shows laptop-mockup screenshots with captions
   ---------------------------------------------------------- */
.preview-section {
  padding: 60px 50px;
  background: var(--white);
  overflow: hidden;
}

.preview-inner {
  max-width: 1250px;
  margin: 0 auto;
  /* Allow the slider to extend past the right edge */
  overflow: visible;
}

.preview-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  color: var(--dark-teal);
  margin-bottom: 30px;
}

/* The Slick slider shows the current slide + peek of next on right */
.preview-slider .slick-list {
  overflow: visible;
}

.preview-slide {
  padding: 0 20px;
  text-align: center;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

/* Dim non-active slides (the peek) */
.preview-slide:not(.slick-current) {
  opacity: 0.45;
  pointer-events: none;
}

.preview-slide-media {
  background: #f2f2f2;
  border-radius: 45px;
  padding: 30px 40px;
  margin-bottom: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 420px;
}

.preview-slide-media img {
  max-width: 100%;
  height: auto;
  display: block;
}

.preview-caption {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.55;
  color: var(--dark-teal);
  max-width: 700px;
  margin: 0 auto;
}

/* Arrow sits between the current slide and the peeking next slide */
.preview-slider .slick-prev,
.preview-slider .slick-next {
  width: 48px;
  height: 48px;
  z-index: 5;
  color: #888;
  -webkit-transition: opacity 0.3s ease, color 0.2s ease;
  transition: opacity 0.3s ease, color 0.2s ease;
  top: 40%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.preview-slider .slick-prev {
  left: -10px;
}

.preview-slider .slick-next {
  right: -10px;
}

.preview-slider .slick-prev::before,
.preview-slider .slick-next::before {
  display: none;
}

.preview-slider .slick-arrow svg {
  width: 40px;
  height: 48px;
  display: block;
}

.preview-slider .slick-arrow:hover {
  color: var(--dark-teal);
}

/* ----------------------------------------------------------
   INFO COLUMNS BLOCK (Information Included / Access Options)
   Two headings on same row, divided columns below
   ---------------------------------------------------------- */
.info-columns-section {
  padding: 60px 50px 80px;
  background: var(--white);
}
.info-columns-section a {
  text-decoration: underline;
  font-weight: 700;
}
.info-columns-section ul {
  list-style: disc;
  padding-left: 27px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  color: var(--dark-teal);
  line-height: 1.55;
}
.info-columns-section ul li {
  margin-bottom: 8px;
}

.info-columns-inner {
  max-width: 1340px;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  gap: 60px;
  position: relative;
}
.info-columns-inner:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(27, 86, 116, 0.2);
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}
@media (min-width: 769px) {
  .info-columns-inner.one-one {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .info-columns-inner.one-one:before {
    left: 52%;
  }
  .info-columns-inner.two-one {
    -ms-grid-columns: 2fr 1fr;
    grid-template-columns: 2fr 1fr;
  }
  .info-columns-inner.two-one:before {
    left: 68.5%;
  }
  .info-columns-inner.two-one .info-columns-lists ul {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
  }
}

.info-columns-main h2,
.info-columns-side h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1.2;
  color: var(--dark-teal);
  margin-bottom: 30px;
  letter-spacing: 0.92px;
}

/* ----------------------------------------------------------
   CONNECTION ADVISOR FORM BLOCK
   Appears on most inner pages; wraps a Gravity Forms form
   ---------------------------------------------------------- */
.advisor-section {
  position: relative;
  padding: 100px 40px;
  overflow: hidden;
}

.advisor-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.advisor-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.advisor-card {
  position: relative;
  z-index: 1;
  max-width: 1191px;
  margin: 0 auto;
  background: #f5f5f5;
  -webkit-box-shadow: var(--card-shadow);
          box-shadow: var(--card-shadow);
  padding: 60px 50px 70px;
  text-align: center;
}

.advisor-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1.15;
  letter-spacing: 0.92px;
  color: var(--dark-teal);
  margin-bottom: 24px;
}

.advisor-body {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.4;
  color: var(--dark-teal);
  max-width: 1080px;
  margin: 0 auto 40px;
}

.advisor-body p {
  margin-bottom: 0;
}

/* Form fields — these classes will be wrapped around Gravity Forms output.
   In WordPress, the gform_wrapper will be a child of .advisor-form-wrap,
   or these styles can be targeted at Gravity Forms' own classes via a
   supplemental stylesheet. */
.advisor-form-wrap {
  max-width: 760px;
  margin: 0 auto;
}

.advisor-form-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 36px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 24px 36px;
  text-align: left;
  margin-bottom: 30px;
}

.form-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.form-field--full {
  grid-column: 1/-1;
}

.form-field label {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 20px;
  color: var(--dark-teal);
  margin-bottom: 10px;
}

.form-field input {
  background: #eaeaea;
  border: 1px solid #aaa;
  height: 56px;
  padding: 0 16px;
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--dark-teal);
  width: 100%;
  border-radius: 0;
}

.form-field input::-webkit-input-placeholder {
  color: #626262;
  font-weight: 600;
}

.form-field input::-moz-placeholder {
  color: #626262;
  font-weight: 600;
}

.form-field input:-ms-input-placeholder {
  color: #626262;
  font-weight: 600;
}

.form-field input::-ms-input-placeholder {
  color: #626262;
  font-weight: 600;
}

.form-field input::placeholder {
  color: #626262;
  font-weight: 600;
}

.form-field input:focus {
  outline: none;
  border-color: var(--dark-teal);
  background: var(--white);
}

.btn-submit {
  display: inline-block;
  background: var(--dark-teal);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 24px;
  text-transform: uppercase;
  padding: 14px 80px;
  border: 7px solid var(--teal);
  cursor: pointer;
  -webkit-transition: background 0.25s ease, -webkit-transform 0.2s ease;
  transition: background 0.25s ease, -webkit-transform 0.2s ease;
  transition: background 0.25s ease, transform 0.2s ease;
  transition: background 0.25s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  letter-spacing: 0.04em;
  margin: 0 auto;
}

.btn-submit:hover {
  background: var(--teal);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

/* ----------------------------------------------------------
   WHAT'S NEW FROM HIXNY BLOCK (news/blog carousel)
   3 cards in a row (dynamic, loops via WordPress)
   ---------------------------------------------------------- */
.news-section {
  padding: 80px 50px 100px;
  background: var(--white);
}

.news-inner {
  max-width: 1340px;
  margin: 0 auto;
}

.news-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  text-align: center;
  color: var(--dark-teal);
  letter-spacing: 0.92px;
  margin-bottom: 50px;
}

.news-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 34px 1fr 34px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

.news-card {
  background: var(--white);
  -webkit-box-shadow: 5px 5px 25px 2px rgba(0, 0, 0, 0.15);
          box-shadow: 5px 5px 25px 2px rgba(0, 0, 0, 0.15);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  text-decoration: none;
  color: inherit;
}

.news-card:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: 8px 8px 30px 4px rgba(0, 0, 0, 0.2);
          box-shadow: 8px 8px 30px 4px rgba(0, 0, 0, 0.2);
}

.news-card-image {
  width: 100%;
  aspect-ratio: 352/229;
  -o-object-fit: cover;
     object-fit: cover;
}

.news-card-content {
  padding: 24px 28px 28px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.news-card-heading {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  color: var(--dark-teal);
  margin-bottom: 12px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.news-card-date {
  font-family: var(--font-body);
  font-weight: 600;
  font-style: italic;
  font-size: 18px;
  color: var(--dark-teal);
  margin-bottom: 10px;
}

.news-card-link {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 18px;
  color: var(--dark-teal);
  text-decoration: underline;
  -ms-flex-item-align: start;
      align-self: flex-start;
}

/* ----------------------------------------------------------
   STATS CALLOUT BLOCK (3 equal dark-teal tiles w/ big numbers)
   Used on About page below "What We Do"
   ---------------------------------------------------------- */
.stats-section {
  padding: 70px 50px 90px;
  background: var(--white);
}

.stats-inner {
  max-width: 1340px;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 28px 1fr 28px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.stat-card {
  background: #0f9c9c;
  aspect-ratio: 415/373;
  padding: 40px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.stat-number {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 70px;
  line-height: 1.1;
  color: var(--light-teal);
  margin-bottom: 20px;
}

.stat-label {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 42px;
  line-height: 1.15;
  color: var(--white);
  max-width: 320px;
}

/* ----------------------------------------------------------
   BOARD MEMBERS GRID (About page)
   4-column grid, dynamic (WordPress loop)
   ---------------------------------------------------------- */
.board-section {
  padding: 80px 50px 100px;
  background: #f2f2f2;
}

.board-inner {
  max-width: 1340px;
  margin: 0 auto;
}

.board-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 46px;
  color: var(--about-teal);
  margin-bottom: 24px;
  letter-spacing: 0.92px;
}

.board-intro {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--about-teal);
  max-width: 1080px;
  margin-bottom: 60px;
}

.board-intro p {
  margin-bottom: 14px;
}

.board-intro p:last-child {
  margin-bottom: 0;
}

.board-intro a {
  text-decoration: underline;
  font-weight: 700;
}

.board-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 60px 40px;
}

.board-member {
  text-align: center;
}

.board-member-photo {
  width: 233px;
  max-width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 auto 24px;
  display: block;
}

.board-member-name {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: var(--about-teal);
  margin-bottom: 8px;
}

.board-member-title {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.35;
  color: var(--about-teal);
  margin-bottom: 8px;
}

.board-member-role {
  font-family: var(--font-body);
  font-weight: 600;
  font-style: italic;
  font-size: 18px;
  line-height: 1.3;
  color: var(--about-teal);
}

/* ==========================================================
   RESPONSIVE: TABLET  (max-width: 1024px)
   ========================================================== */
@media (max-width: 1024px) {
  :root {
    --header-h: 100px;
  }
  .header-inner {
    padding: 0 30px;
  }
  .site-logo {
    width: 140px;
  }
  .hero-section {
    min-height: 600px;
  }
  .hero-card {
    margin: 60px 30px 0;
    padding: 40px 30px 50px;
  }
  .hero-title {
    font-size: 48px;
  }
  .hero-body {
    font-size: 20px;
  }
  .solutions-card {
    margin: -60px 30px 0;
    padding: 40px 30px 50px;
  }
  .solutions-title {
    font-size: 44px;
  }
  .solutions-desc {
    font-size: 20px;
  }
  .question-label {
    font-size: 26px;
  }
  .radio-text {
    font-size: 20px;
  }
  .easy-section {
    padding: 60px 30px;
  }
  .easy-title {
    font-size: 44px;
  }
  .easy-body {
    font-size: 20px;
  }
  .proven-section {
    padding: 70px 30px 50px;
  }
  .proven-title {
    font-size: 44px;
  }
  .proven-body {
    font-size: 20px;
  }
  .proven-cta {
    font-size: 28px;
  }
  .features-inner {
    gap: 44px;
    padding: 0 30px;
  }
  .feature-icon {
    width: 200px;
  }
  .feature-icon-img {
    max-width: 180px;
    max-height: 240px;
  }
  .feature-heading {
    font-size: 28px;
    margin-bottom: 18px;
  }
  .feature-content {
    padding: 30px;
  }
  .feature-text {
    font-size: 20px;
  }
  .accreditation-logo--hitrust {
    width: 170px;
  }
  .accreditation-logo--directtrust {
    width: 174px;
  }
  .accreditation-logo--onc {
    width: 240px;
  }
  .accreditations-inner {
    padding-left: 0;
  }
  .footer-inner {
    padding-left: 0;
  }
  /* ========== INNER PAGES @ tablet ========== */
  .page-hero {
    padding: 60px 30px 50px;
  }
  .page-hero-inner {
    gap: 30px;
  }
  .page-hero-title {
    font-size: 52px;
  }
  .page-hero-body {
    font-size: 22px;
  }
  .page-hero-image {
    width: 320px;
  }
  .page-hero--detail .page-hero-image {
    width: 180px;
  }
  .page-hero--detail.page-hero--green .page-hero-image {
    width: 260px;
  }
  .dark-band {
    padding: 60px 30px 70px;
  }
  .dark-band h2 {
    font-size: 36px;
  }
  .dark-band p {
    font-size: 17px;
  }
  .dark-band-section--indented {
    padding-left: 100px;
  }
  .section-block {
    padding: 60px 30px;
  }
  .section-title {
    font-size: 36px;
  }
  .section-body {
    font-size: 17px;
  }
  .section-subtitle {
    font-size: 30px;
    margin: 40px 0 24px;
  }
  .card-grid {
    gap: 16px;
  }
  .card-grid .tile-card {
    width: calc((100% - 48px) / 4);
  }
  .tile-card {
    padding: 28px 22px 22px;
  }
  .tile-icon {
    width: 80px;
    height: 80px;
  }
  .tile-label {
    font-size: 22px;
  }
  .highlights-section {
    padding: 60px 30px 80px;
  }
  .highlights-title {
    font-size: 36px;
  }
  .highlights-intro {
    font-size: 17px;
  }
  .highlights-card {
    padding: 30px 30px;
  }
  .highlights-grid {
    gap: 0;
  }
  .highlight-item {
    padding: 28px 30px;
  }
  .highlight-item__title {
    font-size: 26px;
  }
  .highlight-item__body {
    font-size: 17px;
    padding-left: 47px;
  }
  .real-life-section {
    padding: 50px 30px 70px;
  }
  .real-life-title {
    font-size: 36px;
  }
  .case-study {
    padding: 0 30px;
  }
  .case-study-heading {
    font-size: 26px;
  }
  .case-study-body {
    font-size: 17px;
  }
  .case-study-logo--placeholder {
    width: 100%;
    font-size: 34px;
    height: 110px;
  }
  .testimonial-section {
    padding: 70px 30px 60px;
  }
  .testimonial-inner {
    padding: 0 60px;
  }
  .testimonial-inner::before,
  .testimonial-inner::after {
    font-size: 140px;
  }
  .testimonial-quote {
    font-size: 32px;
  }
  .testimonial-attribution {
    font-size: 26px;
  }
  .preview-section {
    padding: 50px 30px;
  }
  .preview-title {
    font-size: 36px;
  }
  .preview-slide-media {
    min-height: 320px;
    padding: 24px;
    border-radius: 32px;
  }
  .info-columns-section {
    padding: 50px 30px 70px;
  }
  .info-columns-inner {
    gap: 40px;
  }
  .info-columns-main h2,
  .info-columns-side h2 {
    font-size: 36px;
  }
  .info-columns-section ul {
    font-size: 17px;
  }
  .advisor-section {
    padding: 80px 30px;
  }
  .advisor-card {
    padding: 50px 40px 60px;
  }
  .advisor-title {
    font-size: 36px;
  }
  .advisor-body {
    font-size: 20px;
  }
  .advisor-form-grid {
    gap: 20px 24px;
  }
  .form-field label {
    font-size: 18px;
  }
  .news-section {
    padding: 60px 30px 80px;
  }
  .news-title {
    font-size: 36px;
    margin-bottom: 40px;
  }
  .news-grid {
    gap: 24px;
  }
  .news-card-heading {
    font-size: 20px;
  }
  .stats-section {
    padding: 50px 30px 70px;
  }
  .stats-inner {
    gap: 20px;
  }
  .stat-number {
    font-size: 56px;
  }
  .stat-label {
    font-size: 32px;
  }
  .board-section {
    padding: 60px 30px 80px;
  }
  .board-title {
    font-size: 36px;
  }
  .board-intro {
    font-size: 17px;
    margin-bottom: 44px;
  }
  .board-grid {
    gap: 50px 30px;
    -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
    grid-template-columns: repeat(3, 1fr);
  }
  .board-member-photo {
    width: 200px;
  }
}
/* ==========================================================
   RESPONSIVE: MOBILE  (max-width: 768px)
   ========================================================== */
@media (max-width: 768px) {
  :root {
    --header-h: 80px;
  }
  .header-inner {
    padding: 0 20px;
  }
  .site-logo {
    width: 120px;
  }
  /* Hide the desktop-only header buttons */
  .btn-patients {
    display: none;
  }
  .login-dropdown-wrap--desktop {
    display: none;
  }
  /* Smaller hamburger */
  .hamburger {
    width: 48px;
  }
  .hamburger-line {
    height: 5px;
  }
  /* Recalc: gap 6 + bar 5 → centre-to-centre = 11px */
  .hamburger.is-active .hamburger-line:nth-child(1) {
    -webkit-transform: translateY(11px) rotate(45deg);
            transform: translateY(11px) rotate(45deg);
  }
  .hamburger.is-active .hamburger-line:nth-child(3) {
    -webkit-transform: translateY(-11px) rotate(-45deg);
            transform: translateY(-11px) rotate(-45deg);
  }
  /* Full-screen overlay on mobile */
  .mobile-nav-overlay {
    height: 100vh;
  }
  .mobile-nav {
    padding: var(--header-h) 24px 30px;
  }
  .mobile-nav-link {
    font-size: 18px;
    padding: 12px 0;
  }
  /* Show the For Patients + Login buttons inside hamburger */
  .mobile-nav-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 14px;
    margin-top: 40px;
  }
  .mobile-nav-btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    padding: 8px 24px;
    border-radius: 15px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: 0.02em;
  }
  .mobile-nav-btn--patients {
    background: var(--white);
    color: var(--teal);
  }
  .mobile-nav-btn--login {
    background: var(--white);
    color: var(--teal);
  }
  .mobile-nav-btn--login .chevron-icon {
    width: 16px;
    height: 16px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    stroke: var(--teal);
  }
  .mobile-nav-btn--login[aria-expanded=true] .chevron-icon {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  /* Reveal mobile login dropdown wrap */
  .login-dropdown-wrap--mobile {
    display: block;
    position: relative;
  }
  .login-dropdown--mobile {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 240px;
  }
  /* ----- page sections ----- */
  .hero-section {
    min-height: auto;
  }
  .hero-card {
    margin: 30px 16px 0;
    padding: 30px 20px 40px;
  }
  .hero-title {
    font-size: 32px;
    line-height: 1.1;
    margin-bottom: 14px;
  }
  .hero-body {
    font-size: 17px;
  }
  .solutions-card {
    margin: -30px 16px 0;
    padding: 30px 20px 40px;
  }
  .solutions-title {
    font-size: 30px;
    margin-bottom: 24px;
  }
  .solutions-desc {
    font-size: 17px;
    margin-bottom: 18px;
  }
  .question-number {
    width: 40px;
    height: 40px;
  }
  .question-number span {
    font-size: 26px;
  }
  .question-label {
    font-size: 22px;
  }
  .solutions-options {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-left: 40px;
    margin-bottom: 30px;
  }
  .radio-text {
    font-size: 18px;
  }
  .btn-next {
    font-size: 20px;
    padding: 12px 50px;
  }
  .easy-section {
    padding: 50px 20px;
  }
  .easy-title {
    font-size: 30px;
    margin-bottom: 28px;
  }
  .easy-body {
    font-size: 17px;
  }
  .proven-section {
    padding: 50px 20px 40px;
  }
  .proven-title {
    font-size: 30px;
    margin-bottom: 30px;
  }
  .proven-body {
    font-size: 17px;
  }
  .proven-cta {
    font-size: 24px;
  }
  .down-carrot {
    width: 42px;
    height: 42px;
  }
  .features-section {
    padding: 60px 0;
  }
  .features-inner {
    gap: 30px;
    padding: 0 16px;
  }
  .feature-card {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    min-height: auto;
  }
  .feature-card--img-right {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .feature-icon {
    width: 100%;
    padding: 20px;
  }
  .feature-icon-img {
    max-width: 160px;
    max-height: 200px;
    margin: 0 auto;
  }
  .feature-content {
    padding: 24px 20px 30px;
  }
  .feature-heading {
    font-size: 24px;
    margin-bottom: 14px;
  }
  .feature-text {
    font-size: 17px;
  }
  .accreditations-section {
    padding: 40px 20px;
  }
  .accreditations-inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-left: 0;
  }
  .accreditation-logo--hitrust {
    width: 150px;
  }
  .accreditation-logo--directtrust {
    width: 154px;
  }
  .accreditation-logo--onc {
    width: 210px;
  }
  .site-footer {
    padding: 40px 20px 30px;
  }
  .footer-inner {
    padding-left: 0;
  }
  .footer-logo-img {
    width: 140px;
    margin-bottom: 30px;
  }
  .footer-promise-title,
  .footer-promise-list li,
  .footer-contact a,
  .footer-legal-links,
  .footer-legal-links a,
  .footer-pdf-note,
  .footer-copyright {
    font-size: 15px;
  }
  .footer-legal-links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
  }
  .footer-divider {
    display: none;
  }
  /* ========== INNER PAGES @ mobile ========== */
  .page-hero {
    padding: 40px 20px 36px;
  }
  .page-hero-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    gap: 30px;
  }
  .page-hero--detail .page-hero-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  } /* override row-reverse */
  .page-hero-text {
    max-width: 100%;
  }
  .page-hero-title {
    font-size: 34px;
    margin-bottom: 20px;
  }
  .page-hero-body {
    font-size: 17px;
  }
  .page-hero-image {
    width: 220px;
    max-width: 60%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .page-hero--detail .page-hero-image {
    width: 160px;
    max-width: 50%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .page-hero--detail.page-hero--green .page-hero-image {
    width: 200px;
    max-width: 55%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .page-hero-text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .page-hero-image--rotated-cw img,
  .page-hero-image--rotated-ccw img {
    -webkit-transform: none;
            transform: none;
  } /* no rotation on mobile */
  .dark-band {
    padding: 44px 20px 54px;
  }
  .dark-band h2 {
    font-size: 26px;
    margin-bottom: 16px;
  }
  .dark-band p {
    font-size: 15px;
  }
  .dark-band-divider {
    margin: 30px 0 34px;
  }
  .dark-band-section--indented {
    padding-left: 0;
  }
  .section-block {
    padding: 44px 20px;
  }
  .section-title {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .section-body {
    font-size: 15px;
  }
  .section-subtitle {
    font-size: 22px;
    margin: 28px 0 16px;
  }
  .card-grid {
    gap: 14px;
  }
  .card-grid .tile-card {
    width: calc((100% - 14px) / 2);
  }
  .tile-card {
    height: auto;
    min-height: 200px;
    padding: 22px 20px 20px;
  }
  .tile-icon {
    width: 64px;
    height: 64px;
  }
  .tile-label {
    font-size: 18px;
  }
  .highlights-section {
    padding: 44px 20px 60px;
  }
  .highlights-title {
    font-size: 26px;
  }
  .highlights-intro {
    font-size: 15px;
    margin-bottom: 30px;
  }
  .highlights-card {
    padding: 30px 24px;
  }
  .highlights-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .highlights-grid::before,
  .highlights-grid::after {
    display: none;
  }
  .highlight-item {
    padding: 24px 0;
    border-bottom: 1px solid rgba(27, 86, 116, 0.15);
  }
  .highlight-item:last-child {
    border-bottom: none;
  }
  .highlight-item__title {
    font-size: 22px;
  }
  .highlight-item__body {
    font-size: 15px;
    padding-left: 0;
  }
  .real-life-section {
    padding: 40px 20px 54px;
  }
  .real-life-title {
    font-size: 26px;
    padding-bottom: 18px;
    margin-bottom: 18px;
  }
  .case-studies {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .case-study {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
    border-left: none !important;
  }
  .case-study:nth-child(n+2) {
    margin-top: 36px;
    padding-top: 36px;
    border-top: 1px solid rgba(27, 86, 116, 0.15);
  }
  .case-study:nth-child(n+3) {
    margin-top: 36px;
    padding-top: 36px;
  }
  .case-study-heading {
    font-size: 22px;
    margin-bottom: 16px;
  }
  .case-study-body {
    font-size: 15px;
  }
  .case-study-logo {
    width: 160px;
  }
  .case-study-logo--placeholder {
    width: 100%;
    font-size: 26px;
    height: 90px;
  }
  .testimonial-section {
    padding: 50px 20px 44px;
  }
  .testimonial-inner {
    padding: 0 30px;
  }
  .testimonial-inner::before,
  .testimonial-inner::after {
    font-size: 90px;
  }
  .testimonial-inner::before {
    top: 0;
  }
  .testimonial-inner::after {
    bottom: 60px;
  }
  .testimonial-slide {
    padding: 0 10px;
  }
  .testimonial-quote {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .testimonial-attribution {
    font-size: 18px;
  }
  .preview-section {
    padding: 40px 20px;
    overflow: visible;
  }
  .preview-inner {
    overflow: hidden;
  }
  .preview-title {
    font-size: 26px;
  }
  .preview-slide {
    padding: 0 8px;
    opacity: 1 !important;
  }
  .preview-slide-media {
    min-height: 200px;
    padding: 14px;
    border-radius: 20px;
  }
  .preview-caption {
    font-size: 15px;
  }
  .preview-slider .slick-list {
    overflow: hidden;
  }
  .info-columns-section {
    padding: 40px 20px 54px;
  }
  .info-columns-inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .info-columns-inner::before {
    display: none;
  }
  .info-columns-main h2,
  .info-columns-side h2 {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .info-columns-lists {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .info-columns-section ul {
    font-size: 15px;
  }
  .advisor-section {
    padding: 50px 20px;
  }
  .advisor-card {
    padding: 36px 24px 44px;
  }
  .advisor-title {
    font-size: 26px;
    margin-bottom: 16px;
  }
  .advisor-body {
    font-size: 16px;
    margin-bottom: 28px;
  }
  .advisor-form-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .form-field label {
    font-size: 16px;
    margin-bottom: 6px;
  }
  .form-field input {
    height: 48px;
    font-size: 16px;
  }
  .btn-submit {
    font-size: 18px;
    padding: 12px 30px;
    border-width: 5px;
    width: 100%;
    text-align: center;
  }
  .news-section {
    padding: 44px 20px 60px;
  }
  .news-title {
    font-size: 26px;
    margin-bottom: 30px;
  }
  .news-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .news-card-content {
    padding: 20px 22px 24px;
  }
  .news-card-heading {
    font-size: 18px;
  }
  .news-card-date,
  .news-card-link {
    font-size: 15px;
  }
  .stats-section {
    padding: 40px 20px 54px;
  }
  .stats-inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .stat-card {
    aspect-ratio: auto;
    padding: 36px 24px;
  }
  .stat-number {
    font-size: 46px;
    margin-bottom: 14px;
  }
  .stat-label {
    font-size: 26px;
    max-width: 260px;
  }
  .board-section {
    padding: 44px 20px 60px;
  }
  .board-title {
    font-size: 26px;
  }
  .board-intro {
    font-size: 15px;
    margin-bottom: 34px;
  }
  .board-grid {
    -ms-grid-columns: 1fr 24px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 24px;
  }
  .board-member-photo {
    width: 100%;
    max-width: 160px;
    margin-bottom: 16px;
  }
  .board-member-name,
  .board-member-title,
  .board-member-role {
    font-size: 15px;
  }
}
/* ==========================================================
   RESPONSIVE: SMALL MOBILE  (max-width: 480px)
   ========================================================== */
@media (max-width: 480px) {
  .hero-title {
    font-size: 26px;
  }
  .hero-body {
    font-size: 15px;
  }
  .solutions-title {
    font-size: 24px;
  }
  .solutions-desc {
    font-size: 15px;
  }
  .easy-title {
    font-size: 24px;
  }
  .easy-body {
    font-size: 15px;
  }
  .proven-title {
    font-size: 24px;
  }
  .proven-body {
    font-size: 15px;
  }
  .feature-heading {
    font-size: 20px;
  }
  .feature-text {
    font-size: 15px;
  }
  .accreditation-logo--hitrust {
    width: 120px;
  }
  .accreditation-logo--directtrust {
    width: 124px;
  }
  .accreditation-logo--onc {
    width: 170px;
  }
  /* Inner pages — small mobile refinements */
  .page-hero-title {
    font-size: 28px;
  }
  .page-hero-body {
    font-size: 15px;
  }
  .card-grid .tile-card {
    width: 100%;
  }
  .board-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .stat-number {
    font-size: 40px;
  }
  .stat-label {
    font-size: 22px;
  }
}
/* ==========================================================
   PATIENTS PAGE COMPONENTS
   ========================================================== */
/* Patients hero — purple/magenta accent */
.page-hero--patients .page-hero-title,
.page-hero--patients .page-hero-body {
  color: #8e3a80;
}

/* Patients dark band — PURPLE background */
.dark-band--patients {
  background: #8e3a80;
}

/* "Please Note" callout box — pink background with purple "!" icon */
.callout-box {
  background: #f3d1e9;
  padding: 50px 60px 50px 60px;
  margin: 50px auto;
  max-width: 1230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.callout-box-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
}

.callout-box-icon img {
  width: 100%;
  height: auto;
  display: block;
}

.callout-box-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.callout-box h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 36px;
  color: #8e3a80;
  margin-bottom: 20px;
}

.callout-box ul {
  padding-left: 24px;
  margin: 0;
}

.callout-box li {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
  color: #8e3a80;
  margin-bottom: 14px;
}

/* Lifesaver / emergency room block — light grey bg */
.lifesaver-section {
  background: #f2f2f2;
  padding: 60px 0;
}

.lifesaver-inner {
  max-width: 1350px;
  margin: 0 auto;
  padding: 0 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}

.lifesaver-image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 365px;
          flex: 0 0 365px;
}

.lifesaver-image img {
  width: 100%;
  height: auto;
}

.lifesaver-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.lifesaver-content h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 46px;
  color: #8e3a80;
  margin-bottom: 24px;
  letter-spacing: 0.92px;
}

.lifesaver-content .section-body {
  color: #8e3a80;
}

.lifesaver-content .section-body a {
  color: #8e3a80;
}

/* Patients: section titles + body in purple */
.section-title--patients {
  color: #8e3a80;
}

.section-body--patients {
  color: #8e3a80;
}

.section-body--patients a {
  color: #8e3a80;
}

/* CTA band — gradient bg with white card inside */
.cta-band {
  position: relative;
  padding: 80px 50px;
  overflow: hidden;
}

.cta-band-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.cta-band-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.cta-band-card {
  position: relative;
  z-index: 1;
  background: #f5f5f5;
  max-width: 1191px;
  margin: 0 auto;
  padding: 50px 60px;
  text-align: center;
}

.cta-band-card h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 46px;
  color: #8e3a80;
  margin-bottom: 16px;
  letter-spacing: 0.92px;
}

.cta-band-card p {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--dark-teal);
  max-width: 950px;
  margin: 0 auto 30px;
}

.cta-band-card .btn-cta {
  display: inline-block;
  background: #8e3a80;
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
  padding: 16px 50px;
  text-decoration: none;
  letter-spacing: 0.04em;
  -webkit-transition: background 0.25s ease, -webkit-transform 0.2s ease;
  transition: background 0.25s ease, -webkit-transform 0.2s ease;
  transition: background 0.25s ease, transform 0.2s ease;
  transition: background 0.25s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}

.cta-band-card .btn-cta:hover {
  background: #a84d9a;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

/* Page last updated line */
.page-updated {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 15px;
  font-style: italic;
  color: var(--dark-teal);
  padding: 20px 50px;
  max-width: 1350px;
  margin: 0 auto;
}

/* ==========================================================
   CONTACT PAGE COMPONENTS
   ========================================================== */
/* Contact form section — teal background with white card */
.contact-form-section {
  background: var(--dark-teal);
  padding: 80px 50px 90px;
}

.contact-form-card {
  background: var(--white);
  max-width: 1258px;
  margin: 0 auto;
  padding: 50px 80px 60px;
  -webkit-box-shadow: 15px 15px 52px 2px rgba(0, 0, 0, 0.25);
          box-shadow: 15px 15px 52px 2px rgba(0, 0, 0, 0.25);
}

.contact-form-card h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 46px;
  color: var(--teal);
  margin-bottom: 10px;
  letter-spacing: 0.92px;
}

.contact-form-subtitle {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  color: var(--teal);
  font-style: italic;
  text-decoration: underline;
  margin-bottom: 30px;
}

/* Radio options list */
.contact-radio-group {
  margin-bottom: 36px;
}

.contact-radio-group label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  color: var(--dark-teal);
  padding: 8px 0;
  cursor: pointer;
}

.contact-radio-group input[type=radio] {
  width: 31px;
  height: 31px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 2px solid #aaa;
  border-radius: 50%;
  background: var(--white);
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.contact-radio-group input[type=radio]:checked {
  border-color: var(--teal);
  background: var(--teal);
  -webkit-box-shadow: inset 0 0 0 5px var(--white);
          box-shadow: inset 0 0 0 5px var(--white);
}

/* Contact form grid — Name row (2col), Email/Phone/Org row (3col), Message full */
.contact-form-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 36px 1fr 36px 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px 36px;
}

.contact-form-grid .form-field--half {
  -ms-grid-column-span: 1;
  grid-column: span 1;
}

.contact-form-grid .form-field--third {
  -ms-grid-column-span: 1;
  grid-column: span 1;
}

.contact-form-grid .form-field--full {
  grid-column: 1/-1;
}

.contact-form-grid .form-field--name-row {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 36px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

/* Contact form grid layouts */
.contact-field-group {
  margin-bottom: 24px;
}

.contact-name-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 36px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

.contact-3col-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 36px 1fr 36px 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 36px;
  margin-bottom: 24px;
}

.contact-form-textarea {
  background: #eaeaea;
  border: 1px solid #aaa;
  width: 100%;
  min-height: 226px;
  padding: 12px 16px;
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--dark-teal);
  border-radius: 0;
  resize: vertical;
}

.contact-form-textarea:focus {
  outline: none;
  border-color: var(--dark-teal);
  background: var(--white);
}

.contact-form-note {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  color: var(--teal);
  font-style: italic;
  margin-top: 20px;
}

/* What to expect next section */
.expect-section {
  padding: 60px 50px 80px;
  max-width: 1350px;
  margin: 0 auto;
}

.expect-section h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 46px;
  color: var(--dark-teal);
  margin-bottom: 24px;
  letter-spacing: 0.92px;
}

.expect-section ul {
  padding-left: 24px;
  margin-bottom: 16px;
}

.expect-section li {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--dark-teal);
  margin-bottom: 6px;
}

.expect-section li ul {
  margin-top: 6px;
}

.expect-section strong {
  font-weight: 700;
  color: var(--teal);
}

.expect-section a {
  color: var(--teal);
  text-decoration: underline;
  font-weight: 700;
}

/* Contact info band — light grey with phone + hours */
.contact-info-band {
  background: #f2f2f2;
  padding: 60px 50px 80px;
}

.contact-info-inner {
  max-width: 1350px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}

.contact-info-col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}

.contact-info-col + .contact-info-col {
  padding-left: 60px;
  border-left: 1px solid rgba(27, 86, 116, 0.25);
}

.contact-info-col h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 46px;
  color: var(--teal);
  margin-bottom: 16px;
  letter-spacing: 0.92px;
}

.contact-info-col p,
.contact-info-col li {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--dark-teal);
}

.contact-info-col ul {
  list-style: disc;
  padding-left: 24px;
}

.contact-info-col li {
  margin-bottom: 6px;
}

.contact-info-col a {
  color: var(--dark-teal);
  text-decoration: underline;
}

.contact-phone {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 24px;
  color: var(--dark-teal);
  margin-bottom: 12px;
}

.contact-info-col strong {
  color: var(--teal);
  font-weight: 700;
}

/* ==========================================================
   ABOUT SUBPAGE: Feature cards (Who's using Hixny)
   ========================================================== */
.feature-cards-section {
  position: relative;
  padding: 80px 50px;
  color: var(--white);
  overflow: hidden;
}

.feature-cards-section .section-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.feature-cards-section .section-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.feature-cards-inner {
  position: relative;
  z-index: 1;
  max-width: 1250px;
  margin: 0 auto;
}

.feature-cards-inner > h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 46px;
  color: var(--white);
  margin-bottom: 30px;
  letter-spacing: 0.92px;
}

.feature-card-white {
  background: var(--white);
  padding: 40px 70px;
  margin-bottom: 30px;
  -webkit-box-shadow: 15px 15px 52px 2px rgba(0, 0, 0, 0.52);
          box-shadow: 15px 15px 52px 2px rgba(0, 0, 0, 0.52);
}

.feature-card-white h3 {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 36px;
  color: var(--dark-teal);
  margin-bottom: 16px;
}

.feature-card-white p {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.5;
  color: var(--dark-teal);
}

.feature-card-white a {
  color: var(--dark-teal);
  text-decoration: underline;
  font-weight: 700;
}

.feature-cards-note {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.55;
  color: var(--white);
  margin-top: 30px;
}

.feature-cards-note a {
  color: var(--white);
  text-decoration: underline;
  font-weight: 700;
}

/* ==========================================================
   WHATS NEW: Listing page (sidebar + grid layout)
   ========================================================== */
.whats-new-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  max-width: 1350px;
  margin: 0 auto;
  padding: 0 50px;
}

.whats-new-sidebar {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 350px;
          flex: 0 0 350px;
  padding-top: 10px;
}

.whats-new-sidebar h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  color: var(--dark-teal);
  margin-bottom: 24px;
}

.whats-new-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

/* Filter groups */
.filter-group {
  margin-bottom: 28px;
}

.filter-group-title {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 18px;
  color: var(--teal);
  margin-bottom: 10px;
}

.filter-group label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  color: var(--dark-teal);
  padding: 4px 0;
  cursor: pointer;
}

.filter-group input[type=checkbox] {
  width: 40px;
  height: 37px;
  border: 2px solid #aaa;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: var(--white);
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.filter-group input[type=checkbox]:checked {
  background: var(--teal);
  border-color: var(--teal);
}

.btn-filter-submit {
  display: inline-block;
  background: var(--dark-teal);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
  padding: 14px 60px;
  border: none;
  cursor: pointer;
  margin-top: 16px;
  letter-spacing: 0.04em;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

.btn-filter-submit:hover {
  background: var(--teal);
}

/* 3-column post grid for What's New */
.news-grid-3col {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 1fr 20px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.news-grid-3col .news-card {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.news-grid-3col .news-card-image {
  width: 100%;
  height: 164px;
  -o-object-fit: cover;
     object-fit: cover;
}

.news-grid-3col .news-card-content {
  padding: 16px 0 0;
}

.news-grid-3col .news-card-heading {
  font-size: 16px;
  line-height: 1.35;
}

/* Pagination */
.news-pagination {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
}

.news-pagination .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 57px;
  height: 57px;
  border-radius: 50%;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 24px;
  color: var(--dark-teal);
  text-decoration: none;
  border: 2px solid var(--dark-teal);
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}

.news-pagination .page-numbers.current {
  background: var(--dark-teal);
  color: var(--white);
}

.news-pagination .page-numbers:hover:not(.current) {
  background: var(--light-cyan);
}

.news-pagination .next,
.news-pagination .prev {
  border: none;
  width: auto;
  font-size: 18px;
}

/* ==========================================================
   WHATS NEW: Detail page (article layout)
   ========================================================== */
.article-body {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 50px;
}

.article-body .entry-content {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.7;
  color: var(--dark-teal);
}

.article-body .entry-content h2,
.article-body .entry-content h3 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--teal);
  margin: 30px 0 16px;
}

.article-body .entry-content h2 {
  font-size: 32px;
}

.article-body .entry-content h3 {
  font-size: 24px;
}

.article-body .entry-content p {
  margin-bottom: 16px;
}

.article-body .entry-content a {
  color: var(--teal);
  text-decoration: underline;
  font-weight: 700;
}

.article-body .entry-content ul,
.article-body .entry-content ol {
  padding-left: 24px;
  margin-bottom: 16px;
}

.article-body .entry-content li {
  margin-bottom: 6px;
}

.article-date {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  font-style: italic;
  color: var(--dark-teal);
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid rgba(27, 86, 116, 0.15);
}

/* Related Articles block */
.related-articles {
  background: #f2f2f2;
  padding: 60px 0;
  margin-top: 60px;
}

.related-articles-inner {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 50px;
}

.related-articles h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  color: var(--dark-teal);
  margin-bottom: 20px;
}

.related-articles ul {
  list-style: disc;
  padding-left: 24px;
}

.related-articles li {
  margin-bottom: 10px;
}

.related-articles a {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 18px;
  color: var(--dark-teal);
  text-decoration: underline;
  line-height: 1.55;
}

/* ==========================================================
   GRAVITY FORMS STYLE OVERRIDES
   Ensures GF forms match the Hixny design system.
   ========================================================== */
.gform_wrapper.gravity-theme {
  font-family: var(--font-body) !important;
}

/* --- Labels --- */
.gform_wrapper.gravity-theme .gfield_label {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: var(--dark-teal) !important;
  margin-bottom: 10px !important;
}

@media (max-width: 1024px) {
  .gform_wrapper.gravity-theme .gfield_label {
    font-size: 18px !important;
  }
}
@media (max-width: 768px) {
  .gform_wrapper.gravity-theme .gfield_label {
    font-size: 16px !important;
    margin-bottom: 6px !important;
  }
}
/* --- Required indicator + descriptions --- */
.gform_wrapper.gravity-theme .gfield_required,
.gform_wrapper.gravity-theme .gfield_required_text,
.gform_wrapper.gravity-theme .gfield_required_asterisk {
  color: var(--dark-teal) !important;
  font-weight: 700 !important;
}

.gform_wrapper.gravity-theme .gfield_description {
  color: var(--dark-teal) !important;
  font-size: 14px !important;
  margin-top: 6px !important;
}

.gform_wrapper.gravity-theme .gfield_description:empty {
  display: none !important;
}

/* --- Inputs --- */
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
  width: 100% !important;
  height: 56px !important;
  padding: 0 16px !important;
  border: 1px solid #aaa !important;
  border-radius: 0 !important;
  background: #eaeaea !important;
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  color: var(--dark-teal) !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.gform_wrapper.gravity-theme textarea {
  height: auto !important;
  min-height: 140px !important;
  padding: 16px !important;
  resize: vertical !important;
}

.gform_wrapper.gravity-theme input::-webkit-input-placeholder, .gform_wrapper.gravity-theme textarea::-webkit-input-placeholder {
  color: #626262 !important;
  font-weight: 600 !important;
}

.gform_wrapper.gravity-theme input::-moz-placeholder, .gform_wrapper.gravity-theme textarea::-moz-placeholder {
  color: #626262 !important;
  font-weight: 600 !important;
}

.gform_wrapper.gravity-theme input:-ms-input-placeholder, .gform_wrapper.gravity-theme textarea:-ms-input-placeholder {
  color: #626262 !important;
  font-weight: 600 !important;
}

.gform_wrapper.gravity-theme input::-ms-input-placeholder, .gform_wrapper.gravity-theme textarea::-ms-input-placeholder {
  color: #626262 !important;
  font-weight: 600 !important;
}

.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
  color: #626262 !important;
  font-weight: 600 !important;
}

.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus {
  outline: none !important;
  border-color: var(--dark-teal) !important;
  background: var(--white) !important;
}

/* --- Submit Button --- */
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme input[type=submit] {
  display: inline-block !important;
  background: var(--dark-teal) !important;
  color: var(--white) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 14px 80px !important;
  border: 7px solid var(--teal) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  margin: 0 auto !important;
  -webkit-transition: background 0.25s ease, -webkit-transform 0.2s ease !important;
  transition: background 0.25s ease, -webkit-transform 0.2s ease !important;
  transition: background 0.25s ease, transform 0.2s ease !important;
  transition: background 0.25s ease, transform 0.2s ease, -webkit-transform 0.2s ease !important;
}

.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme input[type=submit]:hover {
  background: var(--teal) !important;
  -webkit-transform: translateY(-2px) !important;
          transform: translateY(-2px) !important;
}

/* GF validation styles */
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select {
  border: 2px solid #c0392b !important;
}

.gform_wrapper.gravity-theme .validation_message {
  color: #c0392b !important;
  font-size: 14px !important;
  margin-top: 6px !important;
}

/* GF radio buttons — match the contact form design */
.gform_wrapper.gravity-theme .gfield_radio {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  gap: 4px !important;
}

.gform_wrapper.gravity-theme .gfield_radio .gchoice {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 14px !important;
  padding: 6px 0 !important;
}

.gform_wrapper.gravity-theme .gfield_radio input[type=radio] {
  width: 31px !important;
  height: 31px !important;
  -moz-appearance: none !important;
       appearance: none !important;
  -webkit-appearance: none !important;
  border: 2px solid #aaa !important;
  border-radius: 50% !important;
  background: var(--white) !important;
  cursor: pointer !important;
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

.gform_wrapper.gravity-theme .gfield_radio input[type=radio]:checked {
  border-color: var(--teal) !important;
  background: var(--teal) !important;
  -webkit-box-shadow: inset 0 0 0 5px var(--white) !important;
          box-shadow: inset 0 0 0 5px var(--white) !important;
}

.gform_wrapper.gravity-theme .gfield_radio label {
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  color: var(--dark-teal) !important;
  cursor: pointer !important;
}

/* GF checkbox styling */
.gform_wrapper.gravity-theme .gfield_checkbox .gchoice {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 12px !important;
  padding: 4px 0 !important;
}

.gform_wrapper.gravity-theme .gfield_checkbox input[type=checkbox] {
  width: 24px !important;
  height: 24px !important;
  border: 2px solid #aaa !important;
  background: var(--white) !important;
  cursor: pointer !important;
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

.gform_wrapper.gravity-theme .gfield_checkbox label {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  color: var(--dark-teal) !important;
  cursor: pointer !important;
}

/* --- Field grid layout (matches .advisor-form-grid)
   GF 2.5+ uses a 12-column CSS grid. .gfield--width-half = span 6,
   --width-third = span 4, --width-full = span 12. We use the same
   grid so width classes work as expected without fighting GF. --- */
.gform_wrapper.gravity-theme .gform_fields {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 24px 36px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 30px !important;
}

@media (max-width: 1024px) {
  .gform_wrapper.gravity-theme .gform_fields {
    gap: 20px 24px !important;
  }
}
@media (max-width: 768px) {
  .gform_wrapper.gravity-theme .gform_fields {
    -ms-grid-columns: 1fr !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
.gform_wrapper.gravity-theme .gfield {
  grid-column: 1/-1;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-full {
  -ms-grid-column-span: 12 !important;
  grid-column: span 12 !important;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-half {
  -ms-grid-column-span: 6 !important;
  grid-column: span 6 !important;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-third {
  -ms-grid-column-span: 4 !important;
  grid-column: span 4 !important;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-quarter {
  -ms-grid-column-span: 3 !important;
  grid-column: span 3 !important;
}

/* Legacy CSS Ready Classes (GF 2.4 and earlier) */
.gform_wrapper.gravity-theme .gfield.gf_left_half,
.gform_wrapper.gravity-theme .gfield.gf_right_half {
  -ms-grid-column-span: 6 !important;
  grid-column: span 6 !important;
}

.gform_wrapper.gravity-theme .gfield.gf_left_third,
.gform_wrapper.gravity-theme .gfield.gf_middle_third,
.gform_wrapper.gravity-theme .gfield.gf_right_third {
  -ms-grid-column-span: 4 !important;
  grid-column: span 4 !important;
}

@media (max-width: 768px) {
  .gform_wrapper.gravity-theme .gfield,
  .gform_wrapper.gravity-theme .gfield.gfield--width-full,
  .gform_wrapper.gravity-theme .gfield.gfield--width-half,
  .gform_wrapper.gravity-theme .gfield.gfield--width-third,
  .gform_wrapper.gravity-theme .gfield.gfield--width-quarter,
  .gform_wrapper.gravity-theme .gfield.gf_left_half,
  .gform_wrapper.gravity-theme .gfield.gf_right_half,
  .gform_wrapper.gravity-theme .gfield.gf_left_third,
  .gform_wrapper.gravity-theme .gfield.gf_middle_third,
  .gform_wrapper.gravity-theme .gfield.gf_right_third {
    grid-column: 1/-1 !important;
  }
}
/* --- Compound "Name" field (First / Last on one row) ---
   GF 2.5+ wraps these in .ginput_complex.gform-grid-row. */
.gform_wrapper.gravity-theme .ginput_complex,
.gform_wrapper.gravity-theme .ginput_complex.gform-grid-row {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 36px 1fr !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px 36px !important;
  width: 100% !important;
}

@media (max-width: 1024px) {
  .gform_wrapper.gravity-theme .ginput_complex,
  .gform_wrapper.gravity-theme .ginput_complex.gform-grid-row {
    gap: 20px 24px !important;
  }
}
@media (max-width: 768px) {
  .gform_wrapper.gravity-theme .ginput_complex,
  .gform_wrapper.gravity-theme .ginput_complex.gform-grid-row {
    -ms-grid-columns: 1fr !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
.gform_wrapper.gravity-theme .ginput_complex > span,
.gform_wrapper.gravity-theme .ginput_complex > .gform-grid-col,
.gform_wrapper.gravity-theme .ginput_complex > .name_first,
.gform_wrapper.gravity-theme .ginput_complex > .name_last,
.gform_wrapper.gravity-theme .ginput_complex > .name_middle,
.gform_wrapper.gravity-theme .ginput_complex > .name_prefix,
.gform_wrapper.gravity-theme .ginput_complex > .name_suffix {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 auto !important;
          flex: 1 1 auto !important;
}

.gform_wrapper.gravity-theme .ginput_complex label {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--dark-teal) !important;
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  .gform_wrapper.gravity-theme .ginput_complex label {
    font-size: 13px !important;
  }
}
/* --- Footer (submit button wrapper) ---
   Flex by default so the submit button can be centered or aligned
   easily by overriding justify-content on a parent context. */
.gform_wrapper.gravity-theme .gform_footer {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
  margin-top: 30px !important;
  padding: 0 !important;
}

/* --- Advisor card: center the submit button --- */
.advisor-card .gform_wrapper.gravity-theme .gform_footer {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.advisor-card .gform_wrapper.gravity-theme .gform_body {
  text-align: left;
}

/* --- Contact form card: extra tweaks ---
   Set per-field "Custom CSS Class" to gfield--width-third on
   Email/Phone/Org for the 3-up row. */
.contact-form-card .gform_wrapper.gravity-theme .gform_fields {
  margin-bottom: 24px !important;
}

.contact-form-card .gform_wrapper.gravity-theme .gfield_radio .gchoice {
  gap: 14px !important;
  padding: 8px 0 !important;
}

/* --- Inline "What to expect next" block (placed inside the GF HTML
   field, conditionally shown via Gravity Forms conditional logic).
   Styles mirror .expect-section but adapted for in-form context.
   Scoped to .gf-contact-form (set on the contact form via
   Form Settings → Form Layout → CSS Class Name). ---

   USAGE: in the HTML field, wrap the content in
   <div class="form-expect-block"> ... </div>
   so these rules don't leak to other HTML fields. */
.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block {
  margin: 8px 0 16px !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block h2,
.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block h3 {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-size: 32px !important;
  color: var(--dark-teal) !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 16px !important;
  line-height: 1.2 !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block ul {
  list-style: disc !important;
  padding-left: 24px !important;
  margin: 0 0 12px !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block li {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--dark-teal) !important;
  line-height: 1.5 !important;
  margin-bottom: 6px !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block li ul {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block li ul li {
  font-weight: 400 !important;
  margin-bottom: 4px !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block strong {
  font-weight: 700 !important;
  color: var(--teal) !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block a {
  color: var(--teal) !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .form-expect-block a:hover {
  color: var(--dark-teal) !important;
}

/* GF wraps an HTML field's content in a .gfield_html container
   that has some default padding. Tighten it so the block fits
   cleanly between the radio group and the name field. */
.gform_wrapper.gravity-theme .gf-contact-form .gfield--type-html {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 768px) {
  .gform_wrapper.gravity-theme .gf-contact-form .form-expect-block h2,
  .gform_wrapper.gravity-theme .gf-contact-form .form-expect-block h3 {
    font-size: 26px !important;
  }
  .gform_wrapper.gravity-theme .gf-contact-form .form-expect-block li {
    font-size: 15px !important;
  }
}
/* ==========================================================
   FIND YOUR SOLUTIONS — multi-page form on the home page.
   Class .gf-solutions-form is set in Form Settings → Form Layout.
   ========================================================== */
/* Scoping wrapper — every rule below chains off this. */
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* --- Each page's question heading area: number circle + label inline ---
     The step number is rendered as a ::before on the question's
     gfield_label. The page index is matched via the GF page wrapper's
     id attribute ([id$="_1"], _2, _3) so no manual class needed. */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page .gfield_label {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 32px !important;
  color: var(--dark-teal) !important;
  margin: 0 0 36px !important;
  text-align: center;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* The step circle */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page .gfield_label::before {
  content: attr(data-step); /* fallback if no counter */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--teal);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* Match the step number to the page index using the page wrapper id */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page[id$=_1] .gfield_label::before {
  content: "1";
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page[id$=_2] .gfield_label::before {
  content: "2";
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page[id$=_3] .gfield_label::before {
  content: "3";
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page[id$=_4] .gfield_label::before {
  content: "4";
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page[id$=_5] .gfield_label::before {
  content: "5";
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* Hide the GF "(Required)" suffix — design just shows the question */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page .gfield_required {
  margin-left: 6px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--dark-teal) !important;
  opacity: 0.7;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* --- Radio group: horizontal on desktop, wrap if needed, vertical on mobile --- */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 24px 50px !important;
  width: 100% !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio .gchoice {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* Custom radio circle to match the design */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio input[type=radio] {
  width: 31px !important;
  height: 31px !important;
  -moz-appearance: none !important;
       appearance: none !important;
  -webkit-appearance: none !important;
  border: 2px solid var(--dark-teal) !important;
  border-radius: 50% !important;
  background: var(--white) !important;
  cursor: pointer !important;
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
  margin: 0 !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio input[type=radio]:checked {
  border-color: var(--teal) !important;
  background: var(--teal) !important;
  -webkit-box-shadow: inset 0 0 0 5px var(--white) !important;
          box-shadow: inset 0 0 0 5px var(--white) !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio label {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 24px !important;
  color: var(--dark-teal) !important;
  cursor: pointer !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* --- Checkbox group: same layout pattern as radios, but with
     square-with-check visual instead of filled-circle. --- */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 24px 50px !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox .gchoice {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox input[type=checkbox] {
  width: 31px !important;
  height: 31px !important;
  -moz-appearance: none !important;
       appearance: none !important;
  -webkit-appearance: none !important;
  border: 2px solid var(--dark-teal) !important;
  border-radius: 4px !important;
  background: var(--white) !important;
  cursor: pointer !important;
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
  margin: 0 !important;
  position: relative !important;
  -webkit-transition: background-color 0.15s ease, border-color 0.15s ease !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* Checked state: teal background with white check via SVG */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox input[type=checkbox]:checked {
  border-color: var(--teal) !important;
  background-color: var(--teal) !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8.5 6.5,12 13,4.5'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 22px !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox input[type=checkbox]:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 2px !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox label {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 24px !important;
  color: var(--dark-teal) !important;
  cursor: pointer !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* --- Page nav buttons ---
     Next and Show My Results are styled as full primary buttons.
     Previous is styled as a small text link, ordered BELOW the
     primary button on every page. */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page_footer,
.gform_wrapper.gravity-theme .gf-solutions-form .gform_footer {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 14px !important;
  margin-top: 36px !important;
  padding: 0 !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* Primary buttons: Next + Submit */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page_footer .gform_next_button,
.gform_wrapper.gravity-theme .gf-solutions-form .gform_footer .gform_button,
.gform_wrapper.gravity-theme .gf-solutions-form .gform_footer input[type=submit] {
  display: inline-block !important;
  width: 337px !important;
  max-width: 100% !important;
  height: 64px !important;
  padding: 0 !important;
  background: var(--dark-teal) !important;
  color: var(--white) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border: 7px solid var(--teal) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  -webkit-transition: background 0.25s ease, -webkit-transform 0.2s ease !important;
  transition: background 0.25s ease, -webkit-transform 0.2s ease !important;
  transition: background 0.25s ease, transform 0.2s ease !important;
  transition: background 0.25s ease, transform 0.2s ease, -webkit-transform 0.2s ease !important;
  text-align: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page_footer .gform_next_button:hover,
.gform_wrapper.gravity-theme .gf-solutions-form .gform_footer .gform_button:hover,
.gform_wrapper.gravity-theme .gf-solutions-form .gform_footer input[type=submit]:hover {
  background: var(--teal) !important;
  -webkit-transform: translateY(-2px) !important;
          transform: translateY(-2px) !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* Previous: small text link below the primary button */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page_footer .gform_previous_button,
.gform_wrapper.gravity-theme .gf-solutions-form .gform_footer .gform_previous_button {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  padding: 4px 8px !important;
  background: transparent !important;
  color: var(--dark-teal) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  cursor: pointer !important;
  -webkit-transition: opacity 0.2s ease !important;
  transition: opacity 0.2s ease !important;
  margin: 0 !important;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gform_page_footer .gform_previous_button:hover,
.gform_wrapper.gravity-theme .gf-solutions-form .gform_footer .gform_previous_button:hover {
  opacity: 0.7 !important;
  background: transparent !important;
  -webkit-transform: none !important;
          transform: none !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* --- Hide GF default page step indicator —
     we render our own step circles via ::before. */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gf_page_steps,
.gform_wrapper.gravity-theme .gf-solutions-form .gf_step {
  display: none !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* --- Mobile overrides --- */
}
@media (max-width: 768px) {
  .gform_wrapper.gravity-theme .gf-solutions-form .gform_page .gfield_label {
    font-size: 22px !important;
    gap: 16px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 28px !important;
  }
  .gform_wrapper.gravity-theme .gf-solutions-form .gform_page .gfield_label::before {
    width: 50px;
    height: 50px;
    font-size: 28px;
  }
  .gform_wrapper.gravity-theme .gf-solutions-form {
    /* Stack radios vertically. Each radio+label sits left-aligned to
       its own circle, but the group as a whole is centered on the page
       (matches Figma mobile: column of radios, group centered, content
       aligned within the column). */
  }
  .gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio,
  .gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
    gap: 14px !important;
    width: -webkit-max-content !important;
    width: -moz-max-content !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  .gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio label,
  .gform_wrapper.gravity-theme .gf-solutions-form .gfield_checkbox label {
    font-size: 22px !important;
  }
}
.gform_wrapper.gravity-theme .gf-solutions-form {
  /* --- Shake animation fallback (for when GSAP isn't available) ---
     Applies to required radio groups on the solutions form when
     Next is clicked without a selection. */
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_radio.hixny-shake {
  -webkit-animation: hixny-shake 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important;
          animation: hixny-shake 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
          transform: translate3d(0, 0, 0) !important;
  -webkit-backface-visibility: hidden !important;
          backface-visibility: hidden !important;
  -webkit-perspective: 1000px !important;
          perspective: 1000px !important;
}

/* Smoother shake — uses translate3d for GPU compositing,
   cubic-bezier for natural deceleration, and finer increments. */
@-webkit-keyframes hixny-shake {
  10%, 90% {
    -webkit-transform: translate3d(-2px, 0, 0);
            transform: translate3d(-2px, 0, 0);
  }
  20%, 80% {
    -webkit-transform: translate3d(4px, 0, 0);
            transform: translate3d(4px, 0, 0);
  }
  30%, 50%, 70% {
    -webkit-transform: translate3d(-8px, 0, 0);
            transform: translate3d(-8px, 0, 0);
  }
  40%, 60% {
    -webkit-transform: translate3d(8px, 0, 0);
            transform: translate3d(8px, 0, 0);
  }
}
@keyframes hixny-shake {
  10%, 90% {
    -webkit-transform: translate3d(-2px, 0, 0);
            transform: translate3d(-2px, 0, 0);
  }
  20%, 80% {
    -webkit-transform: translate3d(4px, 0, 0);
            transform: translate3d(4px, 0, 0);
  }
  30%, 50%, 70% {
    -webkit-transform: translate3d(-8px, 0, 0);
            transform: translate3d(-8px, 0, 0);
  }
  40%, 60% {
    -webkit-transform: translate3d(8px, 0, 0);
            transform: translate3d(8px, 0, 0);
  }
}
@media (max-width: 768px) {
  .gform_wrapper.gravity-theme input,
  .gform_wrapper.gravity-theme textarea,
  .gform_wrapper.gravity-theme select {
    max-width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
  }
}
/* ==========================================================
   FACETWP STYLE OVERRIDES
   ========================================================== */
.facetwp-facet {
  margin-bottom: 20px !important;
}

.facetwp-facet .facetwp-checkbox {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 10px !important;
  padding: 4px 0 !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--dark-teal) !important;
  cursor: pointer !important;
}

.facetwp-facet .facetwp-checkbox .facetwp-counter {
  color: #888 !important;
  font-size: 14px !important;
}

.facetwp-facet .facetwp-checkbox.checked {
  color: var(--teal) !important;
  font-weight: 700 !important;
}

.facetwp-type-pager .facetwp-page {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  width: 57px !important;
  height: 57px !important;
  border-radius: 50% !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: var(--dark-teal) !important;
  border: 2px solid var(--dark-teal) !important;
  margin: 0 4px !important;
}

.facetwp-type-pager .facetwp-page.active {
  background: var(--dark-teal) !important;
  color: var(--white) !important;
}

/* ==========================================================
   RESPONSIVE: What's New, Patients, About Sub
   ========================================================== */
@media (max-width: 1024px) {
  .whats-new-layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 30px;
  }
  .whats-new-sidebar {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .news-grid-3col {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .callout-box {
    padding: 36px 40px;
    gap: 30px;
  }
  .lifesaver-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 30px;
  }
  .lifesaver-image {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 280px;
  }
  .feature-card-white {
    padding: 30px 40px;
  }
  .cta-band {
    padding: 60px 30px;
  }
  .cta-band-card {
    padding: 40px 40px;
  }
  .contact-form-card {
    padding: 40px 50px 50px;
  }
  .contact-3col-row {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .contact-info-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
  .contact-info-col + .contact-info-col {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid rgba(27, 86, 116, 0.2);
    padding-top: 40px;
  }
}
@media (max-width: 768px) {
  .whats-new-layout {
    padding: 0 20px;
    gap: 30px;
  }
  .whats-new-sidebar h2 {
    font-size: 28px;
  }
  .news-grid-3col {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .callout-box {
    padding: 24px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
  .callout-box-icon {
    width: 60px;
  }
  .callout-box h3 {
    font-size: 26px;
  }
  .callout-box li {
    font-size: 15px;
  }
  .lifesaver-section {
    padding: 40px 0;
  }
  .lifesaver-inner {
    padding: 0 20px;
    gap: 30px;
  }
  .lifesaver-image {
    width: 200px;
  }
  .lifesaver-content h2 {
    font-size: 28px;
  }
  .cta-band {
    padding: 40px 20px;
  }
  .cta-band-card {
    padding: 30px 24px;
  }
  .cta-band-card h2 {
    font-size: 28px;
  }
  .cta-band-card p {
    font-size: 15px;
  }
  .contact-form-section {
    padding: 50px 20px;
  }
  .contact-form-card {
    padding: 30px 20px 40px;
  }
  .contact-form-card h2 {
    font-size: 28px;
  }
  .contact-name-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .contact-3col-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .contact-radio-group label {
    font-size: 16px;
    gap: 10px;
  }
  .contact-radio-group input[type=radio] {
    width: 26px;
    height: 26px;
  }
  .contact-form-textarea {
    min-height: 150px;
  }
  .expect-section {
    padding: 40px 20px 60px;
  }
  .expect-section h2 {
    font-size: 28px;
  }
  .expect-section li {
    font-size: 15px;
  }
  .contact-info-band {
    padding: 40px 20px 60px;
  }
  .contact-info-col h2 {
    font-size: 28px;
  }
  .contact-info-col p,
  .contact-info-col li {
    font-size: 15px;
  }
  .contact-phone {
    font-size: 20px;
  }
  /* Gravity Forms mobile overrides */
  .gform_wrapper.gravity-theme .gfield_label {
    font-size: 16px !important;
  }
  .gform_wrapper.gravity-theme input[type=text],
  .gform_wrapper.gravity-theme input[type=email],
  .gform_wrapper.gravity-theme input[type=tel],
  .gform_wrapper.gravity-theme input[type=url],
  .gform_wrapper.gravity-theme input[type=number],
  .gform_wrapper.gravity-theme textarea,
  .gform_wrapper.gravity-theme select {
    height: 48px !important;
    font-size: 16px !important;
  }
  .gform_wrapper.gravity-theme .gform_button,
  .gform_wrapper.gravity-theme input[type=submit] {
    font-size: 18px !important;
    padding: 12px 50px !important;
    border-width: 5px !important;
    width: 100% !important;
  }
  .gform_wrapper.gravity-theme .gfield_radio input[type=radio] {
    width: 26px !important;
    height: 26px !important;
  }
  .gform_wrapper.gravity-theme .gfield_radio label {
    font-size: 16px !important;
  }
  .gform_wrapper.gravity-theme .gfield_checkbox input[type=checkbox] {
    width: 32px !important;
    height: 30px !important;
  }
  /* Global mobile content safety — prevent overflow */
  .section-block-inner,
  .dark-band-inner,
  .highlights-inner,
  .real-life-inner,
  .advisor-card,
  .feature-cards-inner,
  .whats-new-main,
  .article-body,
  .related-articles-inner,
  .expect-section,
  .contact-form-card {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  /* Ensure all inputs don't overflow their containers */
  .form-field input,
  .contact-form-textarea,
  .gform_wrapper.gravity-theme input,
  .gform_wrapper.gravity-theme textarea,
  .gform_wrapper.gravity-theme select {
    max-width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
  }
  .feature-cards-section {
    padding: 50px 20px;
  }
  .feature-card-white {
    padding: 24px 28px;
  }
  .feature-card-white h3 {
    font-size: 26px;
  }
  .feature-card-white p {
    font-size: 17px;
  }
  .article-body {
    padding: 0 20px;
  }
  .related-articles-inner {
    padding: 0 20px;
  }
  .page-updated {
    padding: 16px 20px;
  }
  .news-pagination .page-numbers {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }
}
/* ----------------------------------------------------------
   BODY LOCK (when mobile nav is open)
   ---------------------------------------------------------- */
body.nav-open {
  overflow: hidden;
}

.gform_wrapper.gravity-theme .gfield_required {
  color: inherit !important;
  font-size: inherit !important;
  -webkit-padding-start: inherit !important;
          padding-inline-start: inherit !important;
}

.gform_required_legend,
.gform_validation_errors,
.validation_message,
.gform_wrapper [id^=gform_ajax_spinner] {
  display: none !important;
}

.gform_wrapper.gravity-theme .gfield_error label {
  color: inherit !important;
}

.gform_wrapper.gravity-theme .gf-contact-form .gform_button,
.gform_wrapper.gravity-theme .gf-contact-form input[type=submit] {
  margin: 0 0 !important;
}
.gform_wrapper.gravity-theme .gf-contact-form .gfield_required {
  display: none !important;
}
.gform_wrapper.gravity-theme .gf-solutions-form .gfield_required {
  display: none !important;
}

.mobile-nav-link {
  display: block;
}

.footer-legal-links a {
  padding: 0 0 0 14px;
}

.contact-form-subtitle {
  text-decoration: none;
}

.copy-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  background: #2d2d2d;
  color: #fff;
  padding: 12px 18px;
  border-radius: 6px;
  font-size: 14px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, transform 0.25s ease;
  transition: opacity 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
  pointer-events: none;
  z-index: 9999;
}
.copy-toast.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.copy-toast.error {
  background: #b00020;
}
.copy-toast svg {
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
/*# sourceMappingURL=main.css.map */