/* =========================================================
   IMMIX MODERN FOOTER
   Lead-driving footer with ScrollMeta-ready structure
========================================================= */

.ixf-footer {
  --ixf-navy: #092a50;
  --ixf-navy-dark: #061b34;
  --ixf-blue: #12345d;
  --ixf-green: #5f9938;
  --ixf-green-dark: #4f842e;
  --ixf-text: #dce8f2;
  --ixf-muted: rgba(220, 232, 242, 0.76);
  --ixf-line: rgba(255, 255, 255, 0.12);
  --ixf-white: #ffffff;

  position: relative;
  overflow: hidden;
  color: var(--ixf-text);
  background:
    radial-gradient(circle at 12% 0%, rgba(95, 153, 56, 0.18), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(255, 255, 255, 0.08), transparent 30%),
    linear-gradient(180deg, #0b2d54 0%, var(--ixf-navy-dark) 100%);
}

.ixf-scrollmeta {
  display: none !important;
}

.ixf-wrap {
  width: min(100% - clamp(24px, 4vw, 72px), 1180px);
  margin-inline: auto;
}

/* Lead band */

.ixf-lead-band {
  padding: clamp(42px, 5vw, 72px) 0 0;
}

.ixf-lead-band__inner {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 4vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 4vw, 52px);
  align-items: center;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(95, 153, 56, 0.98), rgba(67, 125, 47, 0.98)),
    radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.18), transparent 36%);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.ixf-lead-band__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 68%, rgba(255,255,255,0.14) 100%);
  pointer-events: none;
}

.ixf-lead-band__copy,
.ixf-lead-band__actions {
  position: relative;
  z-index: 1;
}

.ixf-kicker {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ixf-lead-band h2 {
  max-width: 15ch;
  margin: 0 0 12px;
  color: #ffffff;
  font-family: "Noto Serif", Georgia, serif;
  font-size: clamp(32px, 3vw, 48px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.ixf-lead-band p {
  max-width: 62ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.65;
}

.ixf-lead-band__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Buttons */

.ixf-btn {
  min-height: 52px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition:
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.ixf-btn:hover,
.ixf-btn:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.ixf-btn--primary {
  color: var(--ixf-navy) !important;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.14);
}

.ixf-btn--secondary {
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.08);
}

.ixf-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* Main footer */

.ixf-main {
  padding: clamp(58px, 6vw, 88px) 0 clamp(44px, 5vw, 68px);
}

.ixf-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.25fr) minmax(170px, 0.8fr) minmax(190px, 0.9fr) minmax(250px, 1fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: start;
}

.ixf-logo {
  display: inline-flex;
  max-width: 190px;
  margin-bottom: 24px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
}

.ixf-brand-card h2 {
  max-width: 14ch;
  margin: 0 0 16px;
  color: #ffffff;
  font-family: "Noto Serif", Georgia, serif;
  font-size: clamp(28px, 2.2vw, 38px);
  line-height: 1.06;
  letter-spacing: -0.035em;
}

.ixf-brand-card p {
  max-width: 42ch;
  margin: 0;
  color: var(--ixf-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.72;
}

.ixf-choice-row {
  margin-top: 22px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.ixf-choice-row a {
  padding: 10px 14px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--ixf-line);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.ixf-choice-row a:hover {
  background: rgba(95, 153, 56, 0.22);
  border-color: rgba(95, 153, 56, 0.48);
}

/* Link cards */

.ixf-link-card h3,
.ixf-contact-card h3 {
  margin: 0 0 18px;
  color: #ffffff;
  font-family: "Noto Serif", Georgia, serif;
  font-size: 22px;
  line-height: 1.1;
}

.ixf-link-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 11px;
}

.ixf-link-card a,
.ixf-contact-list a,
.ixf-bottom a {
  color: var(--ixf-muted);
  text-decoration: none;
}

.ixf-link-card a {
  position: relative;
  display: inline-flex;
  padding-left: 16px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.ixf-link-card a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--ixf-green);
  transform: translateY(-50%);
}

.ixf-link-card a:hover,
.ixf-contact-list a:hover,
.ixf-bottom a:hover {
  color: #ffffff;
}

/* Contact */

.ixf-contact-card address {
  margin: 0 0 16px;
  color: var(--ixf-muted);
  font-style: normal;
  font-size: 14px;
  line-height: 1.65;
}

.ixf-contact-card address strong {
  color: #ffffff;
}

.ixf-contact-list {
  display: grid;
  gap: 9px;
  color: var(--ixf-muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
}

.ixf-social {
  margin-top: 22px;
  display: flex;
  gap: 10px;
}

.ixf-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--ixf-line);
  text-decoration: none;
}

.ixf-social a:hover {
  background: var(--ixf-green);
  border-color: var(--ixf-green);
}

/* Proof strip */

.ixf-proof-strip {
  padding: 0 0 clamp(34px, 4vw, 54px);
}

.ixf-proof-strip__grid {
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--ixf-line);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.055);
}

.ixf-proof-strip__grid > div {
  padding: 22px 24px;
  display: grid;
  gap: 6px;
  border-right: 1px solid var(--ixf-line);
}

.ixf-proof-strip__grid > div:last-child {
  border-right: 0;
}

.ixf-proof-strip strong {
  color: #ffffff;
  font-family: "Noto Serif", Georgia, serif;
  font-size: 20px;
  line-height: 1.15;
}

.ixf-proof-strip span {
  color: var(--ixf-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Bottom */

.ixf-bottom {
  border-top: 1px solid var(--ixf-line);
  background: rgba(0, 0, 0, 0.18);
}

.ixf-bottom__inner {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.ixf-bottom p {
  margin: 0;
  color: rgba(220, 232, 242, 0.70);
  font-size: 13px;
  line-height: 1.5;
}

.ixf-bottom p:last-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Responsive */

@media (max-width: 1120px) {
  .ixf-lead-band__inner {
    grid-template-columns: 1fr;
  }

  .ixf-lead-band__actions {
    justify-content: flex-start;
  }

  .ixf-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ixf-brand-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .ixf-lead-band {
    padding-top: 34px;
  }

  .ixf-lead-band__inner {
    padding: 28px 22px;
    border-radius: 22px;
  }

  .ixf-lead-band h2,
  .ixf-brand-card h2 {
    max-width: 100%;
  }

  .ixf-lead-band__actions,
  .ixf-btn {
    width: 100%;
  }

  .ixf-grid,
  .ixf-proof-strip__grid {
    grid-template-columns: 1fr;
  }

  .ixf-proof-strip__grid > div {
    border-right: 0;
    border-bottom: 1px solid var(--ixf-line);
  }

  .ixf-proof-strip__grid > div:last-child {
    border-bottom: 0;
  }

  .ixf-bottom__inner {
    padding: 20px 0;
    align-items: flex-start;
    flex-direction: column;
  }
}

/* =========================================================
   IMMIX FOOTER REFINEMENT
   Smaller headings + LinkedIn feed replacing Resources
========================================================= */

/* Lead CTA headline */
.ixf-lead-band h2 {
  max-width: 18ch !important;
  font-size: clamp(26px, 2.35vw, 38px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

/* Brand statement headline */
.ixf-brand-card h2 {
  max-width: 18ch !important;
  font-size: clamp(24px, 1.9vw, 32px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

/* Footer column headings */
.ixf-link-card h3,
.ixf-contact-card h3,
.ixf-linkedin-card h3 {
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-family: "Noto Serif", Georgia, serif !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
}

/* CTA band copy tighter and more corporate */
.ixf-lead-band p {
  max-width: 58ch !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
}

/* Brand paragraph */
.ixf-brand-card p {
  max-width: 40ch !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* Footer grid with LinkedIn as third column */
.ixf-grid {
  grid-template-columns:
    minmax(250px, 1.05fr)
    minmax(170px, 0.75fr)
    minmax(260px, 1fr)
    minmax(245px, 0.95fr) !important;
  gap: clamp(26px, 3.4vw, 50px) !important;
}

/* LinkedIn feed card */
.ixf-linkedin-card {
  min-width: 0;
}

.ixf-linkedin-card__intro {
  max-width: 34ch;
  margin: 0 0 16px;
  color: rgba(220, 232, 242, 0.74);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.58;
}

/* Elfsight container styling */
.ixf-linkedin-card .elfsight-app-59dd1e7c-1146-4ad2-8038-3b654e0cadb4 {
  overflow: hidden;
  max-width: 100%;
  min-height: 250px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Services list slightly tighter */
.ixf-link-card ul {
  gap: 9px !important;
}

.ixf-link-card a {
  font-size: 13.5px !important;
  line-height: 1.42 !important;
}

/* Contact text refinement */
.ixf-contact-card address,
.ixf-contact-list {
  font-size: 13.5px !important;
}

/* Lead band proportions */
.ixf-lead-band__inner {
  padding: clamp(28px, 3.4vw, 42px) !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.ixf-lead-band__actions {
  align-items: center !important;
}

/* Keep buttons compact */
.ixf-btn {
  min-height: 46px !important;
  padding: 0 20px !important;
  font-size: 12.5px !important;
}

/* Responsive */
@media (max-width: 1120px) {
  .ixf-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .ixf-brand-card {
    grid-column: 1 / -1;
  }

  .ixf-linkedin-card .elfsight-app-59dd1e7c-1146-4ad2-8038-3b654e0cadb4 {
    min-height: 230px;
  }
}

@media (max-width: 760px) {
  .ixf-grid {
    grid-template-columns: 1fr !important;
  }

  .ixf-lead-band h2,
  .ixf-brand-card h2 {
    max-width: 100% !important;
  }

  .ixf-lead-band__inner {
    grid-template-columns: 1fr !important;
  }

  .ixf-linkedin-card .elfsight-app-59dd1e7c-1146-4ad2-8038-3b654e0cadb4 {
    min-height: 220px;
  }
}
/* =========================================================
   IMMIX FOOTER FINAL TYPOGRAPHY + CTA BALANCE
   Refines:
   - oversized CTA headline
   - oversized brand/footer h2s
   - CTA band proportions
   - footer column hierarchy
========================================================= */

/* Overall footer rhythm */
.ixf-footer {
  padding-top: 0 !important;
}

/* CTA band: more balanced, less massive */
.ixf-lead-band {
  padding-top: clamp(38px, 4vw, 58px) !important;
}

.ixf-lead-band__inner {
  width: min(100% - 56px, 1120px) !important;
  min-height: auto !important;
  padding: clamp(28px, 3vw, 40px) clamp(32px, 4vw, 54px) !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(26px, 4vw, 48px) !important;
  align-items: center !important;
  border-radius: 24px !important;
}

/* CTA kicker */
.ixf-kicker {
  margin-bottom: 10px !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
}

/* CTA headline: smaller and more professional */
.ixf-lead-band h2 {
  max-width: 20ch !important;
  margin-bottom: 12px !important;
  font-size: clamp(25px, 2.15vw, 34px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.028em !important;
}

/* CTA paragraph */
.ixf-lead-band p {
  max-width: 58ch !important;
  font-size: 14.5px !important;
  line-height: 1.58 !important;
  font-weight: 600 !important;
}

/* CTA buttons: smaller and aligned */
.ixf-lead-band__actions {
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.ixf-btn {
  min-height: 44px !important;
  padding: 0 19px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

/* Main footer spacing */
.ixf-main {
  padding-top: clamp(48px, 5vw, 70px) !important;
  padding-bottom: clamp(38px, 4vw, 56px) !important;
}

/* Footer grid: more even column balance */
.ixf-grid {
  grid-template-columns:
    minmax(245px, 1fr)
    minmax(185px, 0.72fr)
    minmax(275px, 1fr)
    minmax(245px, 0.9fr) !important;
  gap: clamp(30px, 4vw, 56px) !important;
  align-items: start !important;
}

/* Brand logo card slightly smaller */
.ixf-logo {
  max-width: 170px !important;
  margin-bottom: 22px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
}

/* Brand headline: this was too large */
.ixf-brand-card h2 {
  max-width: 18ch !important;
  margin-bottom: 14px !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.026em !important;
}

/* Brand paragraph */
.ixf-brand-card p {
  max-width: 38ch !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
}

/* Need / Have plan buttons */
.ixf-choice-row {
  margin-top: 20px !important;
  gap: 9px !important;
}

.ixf-choice-row a {
  padding: 9px 13px !important;
  font-size: 11.5px !important;
}

/* Footer column headings: smaller and cleaner */
.ixf-link-card h3,
.ixf-linkedin-card h3,
.ixf-contact-card h3 {
  margin-bottom: 15px !important;
  font-size: clamp(18px, 1.25vw, 21px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.012em !important;
}

/* Services links: tighter and cleaner */
.ixf-link-card ul {
  gap: 10px !important;
}

.ixf-link-card a {
  padding-left: 15px !important;
  font-size: 13.25px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}

/* LinkedIn card refinement */
.ixf-linkedin-card__intro {
  max-width: 34ch !important;
  margin-bottom: 16px !important;
  font-size: 13.5px !important;
  line-height: 1.56 !important;
}

.ixf-linkedin-card .elfsight-app-59dd1e7c-1146-4ad2-8038-3b654e0cadb4 {
  min-height: 240px !important;
  border-radius: 16px !important;
}

/* Contact column */
.ixf-contact-card address,
.ixf-contact-list {
  font-size: 13.5px !important;
  line-height: 1.56 !important;
}

.ixf-social {
  margin-top: 20px !important;
}

.ixf-social a {
  width: 36px !important;
  height: 36px !important;
}

/* Proof strip, if present */
.ixf-proof-strip strong {
  font-size: 18px !important;
}

.ixf-proof-strip span {
  font-size: 13.5px !important;
}

/* Bottom bar */
.ixf-bottom__inner {
  min-height: 64px !important;
}

/* Tablet */
@media (max-width: 1120px) {
  .ixf-lead-band__inner {
    grid-template-columns: 1fr !important;
  }

  .ixf-lead-band__actions {
    justify-content: flex-start !important;
  }

  .ixf-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .ixf-brand-card {
    grid-column: 1 / -1 !important;
  }

  .ixf-brand-card h2 {
    max-width: 26ch !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .ixf-lead-band {
    padding-top: 32px !important;
  }

  .ixf-lead-band__inner {
    width: min(100% - 28px, 1120px) !important;
    padding: 28px 22px !important;
    border-radius: 22px !important;
  }

  .ixf-lead-band h2 {
    max-width: 100% !important;
    font-size: clamp(24px, 8vw, 32px) !important;
  }

  .ixf-lead-band__actions,
  .ixf-btn {
    width: 100% !important;
  }

  .ixf-grid {
    grid-template-columns: 1fr !important;
  }

  .ixf-brand-card h2 {
    max-width: 100% !important;
    font-size: clamp(23px, 7vw, 30px) !important;
  }

  .ixf-link-card h3,
  .ixf-linkedin-card h3,
  .ixf-contact-card h3 {
    font-size: 20px !important;
  }
}
/* =========================================================
   IMMIX FOOTER CTA + H2 FINAL REFINEMENT
   Smaller h2s, more refined green CTA band
========================================================= */

/* Refined green CTA banner */
.ixf-lead-band {
  padding-top: clamp(34px, 3.5vw, 50px) !important;
}

.ixf-lead-band__inner {
  width: min(100% - 72px, 1080px) !important;
  min-height: auto !important;
  padding: clamp(26px, 2.8vw, 36px) clamp(32px, 4vw, 52px) !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(24px, 3.5vw, 44px) !important;
  align-items: center !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(255, 255, 255, 0.16), transparent 28%),
    linear-gradient(135deg, #5f9938 0%, #538a34 52%, #47782f 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow:
    0 22px 58px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

/* Subtle premium sheen */
.ixf-lead-band__inner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.00) 0%,
      rgba(255, 255, 255, 0.06) 58%,
      rgba(255, 255, 255, 0.13) 100%
    ) !important;
}

/* CTA text column */
.ixf-lead-band__copy {
  max-width: 640px !important;
}

/* Kicker */
.ixf-kicker {
  margin-bottom: 9px !important;
  font-size: 9.5px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.2em !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

/* CTA h2 reduced further */
.ixf-lead-band h2 {
  max-width: 24ch !important;
  margin: 0 0 10px !important;
  font-size: clamp(22px, 1.75vw, 30px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.022em !important;
}

/* CTA paragraph more contained */
.ixf-lead-band p {
  max-width: 62ch !important;
  margin: 0 !important;
  font-size: 13.75px !important;
  line-height: 1.58 !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.86) !important;
}

/* CTA button group refinement */
.ixf-lead-band__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

.ixf-lead-band .ixf-btn {
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  font-size: 11.75px !important;
  letter-spacing: 0.01em !important;
}

/* White primary button */
.ixf-lead-band .ixf-btn--primary {
  color: #12345d !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

/* Secondary outline button */
.ixf-lead-band .ixf-btn--secondary {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.075) !important;
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
}

.ixf-lead-band .ixf-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.52) !important;
}

/* Footer h2s reduced further */
.ixf-brand-card h2 {
  max-width: 21ch !important;
  font-size: clamp(21px, 1.45vw, 26px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
}

/* Any other h2 inside footer */
.ixf-footer h2:not(.ixf-lead-band h2) {
  font-size: clamp(21px, 1.45vw, 26px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
}

/* Footer h3s slightly more restrained too */
.ixf-link-card h3,
.ixf-linkedin-card h3,
.ixf-contact-card h3 {
  font-size: clamp(17px, 1.1vw, 20px) !important;
  line-height: 1.14 !important;
}

/* Main footer moves a little closer to CTA */
.ixf-main {
  padding-top: clamp(42px, 4.4vw, 62px) !important;
}

/* Desktop refinement */
@media (min-width: 1200px) {
  .ixf-lead-band__inner {
    transform: translateY(0) !important;
  }
}

/* Tablet */
@media (max-width: 1120px) {
  .ixf-lead-band__inner {
    width: min(100% - 48px, 1080px) !important;
    grid-template-columns: 1fr !important;
  }

  .ixf-lead-band__actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .ixf-lead-band h2 {
    max-width: 26ch !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .ixf-lead-band__inner {
    width: min(100% - 28px, 1080px) !important;
    padding: 26px 22px !important;
    border-radius: 20px !important;
  }

  .ixf-lead-band h2 {
    max-width: 100% !important;
    font-size: clamp(22px, 7vw, 28px) !important;
  }

  .ixf-lead-band p {
    font-size: 13.5px !important;
  }

  .ixf-lead-band__actions,
  .ixf-lead-band .ixf-btn {
    width: 100% !important;
  }

  .ixf-lead-band__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .ixf-brand-card h2,
  .ixf-footer h2:not(.ixf-lead-band h2) {
    max-width: 100% !important;
    font-size: clamp(21px, 6.5vw, 26px) !important;
  }
}
/* Keep footer CTA headline on one line on desktop */
@media (min-width: 1180px) {
  .ixf-lead-band h2 {
    max-width: none !important;
    white-space: nowrap !important;
    font-size: clamp(22px, 1.55vw, 28px) !important;
    line-height: 1.08 !important;
  }

  .ixf-lead-band__copy {
    max-width: none !important;
  }

  .ixf-lead-band__inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}
/* Wider banner */
.ix-benefit-strip,
.ix-trust-strip,
.ix-value-strip {
  width: min(1640px, calc(100% - 10px));
  max-width: none;
  margin: 0 auto;
}

/* Make the 3 columns breathe a little more */
.ix-benefit-strip__grid,
.ix-trust-strip__grid,
.ix-value-strip__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Card spacing */
.ix-benefit-strip__item,
.ix-trust-strip__item,
.ix-value-strip__item {
  padding: 30px 38px 28px;
}

/* Heading */
.ix-benefit-strip__item h3,
.ix-trust-strip__item h3,
.ix-value-strip__item h3 {
  margin: 0 0 10px;
  font-size: clamp(24px, 1.5vw, 30px);
  line-height: 1.08;
}

/* Descriptor text */
.ix-benefit-strip__item p,
.ix-trust-strip__item p,
.ix-value-strip__item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  white-space: nowrap;
  letter-spacing: 0.01em;
  opacity: 0.92;
}
/* =========================================================
   FOOTER CTA BANNER ALIGNMENT REFINEMENT
   Balances text + buttons inside green lead band
========================================================= */

.ixf-lead-band__inner {
  width: min(100% - 72px, 1120px) !important;
  min-height: 178px !important;
  padding: 34px 46px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto) !important;
  gap: 42px !important;
  align-items: center !important;
}

.ixf-lead-band__copy {
  max-width: 760px !important;
  align-self: center !important;
}

.ixf-lead-band h2 {
  max-width: none !important;
  white-space: nowrap !important;
  margin-bottom: 10px !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  line-height: 1.08 !important;
}

.ixf-lead-band p {
  max-width: 620px !important;
  margin: 0 !important;
}

.ixf-lead-band__actions {
  justify-self: end !important;
  align-self: center !important;
  display: flex !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.ixf-lead-band .ixf-btn {
  min-width: 122px !important;
  min-height: 44px !important;
}

/* Laptop */
@media (max-width: 1180px) {
  .ixf-lead-band__inner {
    width: min(100% - 48px, 1120px) !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .ixf-lead-band__actions {
    justify-self: start !important;
  }

  .ixf-lead-band h2 {
    white-space: normal !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .ixf-lead-band__inner {
    width: min(100% - 28px, 1120px) !important;
    min-height: auto !important;
    padding: 28px 22px !important;
  }

  .ixf-lead-band__actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .ixf-lead-band .ixf-btn {
    width: 100% !important;
  }
}
/* =========================================================
   FOOTER CTA BANNER FINAL CENTRE ALIGNMENT
========================================================= */

.ixf-lead-band {
  padding-top: clamp(38px, 4vw, 58px) !important;
  display: block !important;
}

.ixf-lead-band__inner {
  width: min(100% - 72px, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  min-height: 152px !important;
  padding: clamp(28px, 3vw, 38px) clamp(38px, 4vw, 58px) !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;

  border-radius: 24px !important;
}

/* Keep copy aligned and calm */
.ixf-lead-band__copy {
  max-width: 760px !important;
  min-width: 0 !important;
  justify-self: start !important;
}

.ixf-lead-band h2 {
  max-width: none !important;
  margin: 0 0 8px !important;
  white-space: nowrap !important;
  font-size: clamp(22px, 1.6vw, 29px) !important;
  line-height: 1.1 !important;
}

.ixf-lead-band p {
  max-width: 610px !important;
  margin: 0 !important;
  font-size: 13.75px !important;
  line-height: 1.55 !important;
}

/* Button group aligned to vertical centre */
.ixf-lead-band__actions {
  justify-self: end !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.ixf-lead-band .ixf-btn {
  min-width: 122px !important;
  min-height: 42px !important;
  padding: 0 18px !important;
}

/* Align main footer grid with banner width */
.ixf-main .ixf-wrap,
.ixf-grid {
  width: min(100% - 72px, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tablet */
@media (max-width: 1120px) {
  .ixf-lead-band__inner {
    width: min(100% - 48px, 1180px) !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .ixf-lead-band h2 {
    white-space: normal !important;
  }

  .ixf-lead-band__actions {
    justify-self: start !important;
  }

  .ixf-main .ixf-wrap,
  .ixf-grid {
    width: min(100% - 48px, 1180px) !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .ixf-lead-band__inner {
    width: min(100% - 28px, 1180px) !important;
    padding: 26px 22px !important;
    border-radius: 20px !important;
  }

  .ixf-lead-band__actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .ixf-lead-band .ixf-btn {
    width: 100% !important;
  }

  .ixf-main .ixf-wrap,
  .ixf-grid {
    width: min(100% - 28px, 1180px) !important;
  }
}