@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans-100.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans-100Italic.otf") format("opentype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans-300.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans-300Italic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans_500.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans_500_Italic.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans_700.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans-700Italic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans_900.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("../fonts/museo-sans/MuseoSans-900Italic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-ExtraLightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-Book.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-BookItalic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises-MediumItalic";
  src: url("../fonts/ulises/Ulises-MediumItalic.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-Heavy.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ulises";
  src: url("../fonts/ulises/Ulises-HeavyItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

:root {

  --color-primary: #0c4b40;
  --color-primary-tint: rgba(12, 75, 64, 0.08);
  --color-secondary: #efe8e0;
  --color-accent: #a6d222;
  --color-accent-tint: rgba(166, 210, 34, 0.2);
  --color-heading: #0c4b40;
  --color-text: #2c2c2c;
  --color-muted: rgba(44, 44, 44, 0.65);
  --color-background: #ffffff;
  --color-surface: #f7f4ef;
  --color-border: rgba(12, 75, 64, 0.14);
  --color-on-dark: #ffffff;

  --font-primary: "Museo Sans", "Segoe UI", sans-serif;
  --font-secondary: "Ulises", "Georgia", serif;

  --font-size-xs: 0.875rem;
  --font-size-sm: 1rem;
  --font-size-base: 1.25rem;
  --font-size-lg: 1.5625rem;
  --font-size-xl: 2.1875rem;
  --font-size-2xl: 2.8125rem;
  --font-size-3xl: 3.75rem;

  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 2.5rem;
  --space-6: 3rem;
  --space-7: 3.5rem;
  --space-8: 4rem;
  --space-9: 5rem;
  --space-10: 6.25rem;
  --ics-mobile-gutter: 1rem;

  --radius-sm: 0.3125rem;
  --radius-md: 0.625rem;
  --radius-lg: 1.25rem;
  --radius-xl: 2.125rem;
  --radius-pill: 62.5rem;

  --shadow-sm: 0 0.25rem 0.75rem rgba(12, 75, 64, 0.08);
  --shadow-md: 0 0.5rem 1.5rem rgba(12, 75, 64, 0.12);
  --shadow-lg: 0 1rem 2.5rem rgba(12, 75, 64, 0.18);

  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
}

html {
  font-size: 16px;
}

@media (min-width: 576px) and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 992px) and (max-width: 1280px) {
  html {
    font-size: 12.8px;
  }
}

@media (min-width: 1281px) and (max-width: 1399px) {
  html {
    font-size: 14.4px;
  }
}

@media (min-width: 1400px) and (max-width: 1599px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 1600px) and (max-width: 1919px) {
  html {
    font-size: 17px;
  }
}

@media (min-width: 1920px) and (max-width: 2199px) {
  html {
    font-size: 21px;
  }
}

@media (min-width: 2200px) and (max-width: 2439px) {
  html {
    font-size: 20px;
  }
}

@media (min-width: 2440px) {
  html {
    font-size: 22px;
  }
}


body {
  font-family: var(--font-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-regular);
  line-height: 1.5;
  color: var(--color-text);
  background-color: var(--color-background);
  overflow-x: hidden;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.h5 {
  font-family: var(--font-secondary);
  font-weight: var(--font-bold);
  color: var(--color-heading);
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin: 0;
}

.ics-display-heading {
  font-size: clamp(2.1875rem, 1.25rem + 3.8vw, 4.6875rem);
  font-style: italic;
  letter-spacing: -0.04em;
}

.ics-section-heading {
  font-size: clamp(1.75rem, 1.4rem + 1.6vw, var(--font-size-2xl));
}

.ics-lead-text {
  font-family: var(--font-secondary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-regular);
  line-height: 1.4;
  letter-spacing: -0.03125rem;
  color: var(--color-heading);
}

.ics-discover-card__lead--accent {
  font-family: "Ulises-MediumItalic";
  font-size: var(--font-size-b3, 1rem);
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: -0.03rem;
  color: var(--premium-canopy-green, #0c4b40);
}

.ics-body-text {
  font-size: var(--font-size-base);
  font-weight: var(--font-light);
  line-height: 1.4;
  letter-spacing: -0.03em;
}

.ics-body-text--emphasis {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: var(--font-medium);
}

.ics-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: var(--font-size-xs);
  font-weight: var(--font-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-heading);
}

.ics-eyebrow__dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background-color: var(--color-accent);
  flex-shrink: 0;
}

.ics-section {
  padding-block: var(--space-9);
  position: relative;
  overflow: hidden;
}

.ics-section--surface {
  background-color: var(--color-surface);
}

.ics-section--dark {
  background-color: var(--color-primary);
  color: var(--color-on-dark);
}

.ics-section--dark h1,
.ics-section--dark h2,
.ics-section--dark h3 {
  color: var(--color-on-dark);
}

.ics-decorative-line {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  z-index: 0;
  translate: 0 0;
  animation: ics-leaf-drift var(--ics-leaf-drift-duration, 31.4s) ease-in-out infinite;
  animation-delay: var(--ics-leaf-drift-delay, 0s);
  will-change: translate;
}

@keyframes ics-leaf-drift {
  0%,
  100% {
    translate: 0 0;
  }

  38% {
    translate: calc(var(--ics-leaf-drift-x, 0.8rem) * 0.9) calc(var(--ics-leaf-drift-y, 1rem) * -0.7);
  }

  72% {
    translate: calc(var(--ics-leaf-drift-x, 0.8rem) * -0.8) var(--ics-leaf-drift-y, 1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ics-decorative-line {
    animation: none;
    translate: 0 0;
  }
}

.ics-decorative-line--hero-1 {
  z-index: 2;
  --ics-leaf-drift-x: 2.95rem;
  --ics-leaf-drift-y: 2.1rem;
  --ics-leaf-drift-duration: 22.9s;
  --ics-leaf-drift-delay: -6s;
  --ics-faith-hero-leaf-1-x: -29vw;
  --ics-faith-hero-leaf-1-y: -85vh;
  --ics-faith-hero-leaf-1-rotate: 60deg;
  --ics-faith-hero-leaf-1-scale: 0.9;
  --ics-faith-hero-leaf-1-flip: 1;
  transform: translate(var(--ics-faith-hero-leaf-1-x), var(--ics-faith-hero-leaf-1-y)) rotate(var(--ics-faith-hero-leaf-1-rotate)) scale(var(--ics-faith-hero-leaf-1-scale)) scaleX(var(--ics-faith-hero-leaf-1-flip));
}

.ics-decorative-line--hero-2 {
    z-index: 2;
    --ics-leaf-drift-x: -2.85rem;
    --ics-leaf-drift-y: 2.1rem;
    --ics-leaf-drift-duration: 25.7s;
    --ics-leaf-drift-delay: -11s;
    --ics-faith-hero-leaf-2-x: -9vw;
    --ics-faith-hero-leaf-2-y: -11vh;
    --ics-faith-hero-leaf-2-rotate: 181deg;
    --ics-faith-hero-leaf-2-scale: 1;
    --ics-faith-hero-leaf-2-flip: -1;
    transform: translate(var(--ics-faith-hero-leaf-2-x), var(--ics-faith-hero-leaf-2-y)) rotate(var(--ics-faith-hero-leaf-2-rotate)) scale(var(--ics-faith-hero-leaf-2-scale)) scaleX(var(--ics-faith-hero-leaf-2-flip));
}

.ics-decorative-line--child-focus-1 {
    z-index: 0;
    --ics-leaf-drift-x: 2.95rem;
    --ics-leaf-drift-y: 2.1rem;
    --ics-leaf-drift-duration: 22.9s;
    --ics-leaf-drift-delay: -8s;
    --ics-child-focus-line-1-x: 0vw;
    --ics-child-focus-line-1-y: 17vh;
    --ics-child-focus-line-1-rotate: -31deg;
    --ics-child-focus-line-1-scale: 1;
    --ics-child-focus-line-1-flip: -1;
    transform: translate(var(--ics-child-focus-line-1-x), var(--ics-child-focus-line-1-y)) rotate(var(--ics-child-focus-line-1-rotate)) scale(var(--ics-child-focus-line-1-scale)) scaleX(var(--ics-child-focus-line-1-flip));
}
.ics-decorative-line--child-focus-2 {
    z-index: 0;
    --ics-leaf-drift-x: -2.85rem;
    --ics-leaf-drift-y: 2.1rem;
    --ics-leaf-drift-duration: 25.7s;
    --ics-leaf-drift-delay: -14s;
    --ics-child-focus-line-2-x: -26vw;
    --ics-child-focus-line-2-y: -34vh;
    --ics-child-focus-line-2-rotate: -245deg;
    --ics-child-focus-line-2-scale: 1;
    --ics-child-focus-line-2-flip: -1;
    transform: translate(var(--ics-child-focus-line-2-x), var(--ics-child-focus-line-2-y)) rotate(var(--ics-child-focus-line-2-rotate)) scale(var(--ics-child-focus-line-2-scale)) scaleX(var(--ics-child-focus-line-2-flip));
}

.ics-decorative-line--location-1 {
  z-index: 0;
  --ics-leaf-drift-x: 2.95rem;
  --ics-leaf-drift-y: 2.1rem;
  --ics-leaf-drift-duration: 22.9s;
  --ics-leaf-drift-delay: -10s;
  --ics-location-line-1-x: -7vw;
  --ics-location-line-1-y: 56vh;
  --ics-location-line-1-rotate: -35deg;
  --ics-location-line-1-scale: 1;
  --ics-location-line-1-flip: -1;
  transform: translate(var(--ics-location-line-1-x), var(--ics-location-line-1-y)) rotate(var(--ics-location-line-1-rotate)) scale(var(--ics-location-line-1-scale)) scaleX(var(--ics-location-line-1-flip));
}

.ics-decorative-line--location-2 {
  z-index: 0;
  --ics-leaf-drift-x: -2.85rem;
  --ics-leaf-drift-y: 2.1rem;
  --ics-leaf-drift-duration: 25.7s;
  --ics-leaf-drift-delay: -16s;
  --ics-location-line-2-x: -26vw;
  --ics-location-line-2-y: 9vh;
  --ics-location-line-2-rotate: -245deg;
  --ics-location-line-2-scale: 1;
  --ics-location-line-2-flip: -1;
  transform: translate(var(--ics-location-line-2-x), var(--ics-location-line-2-y)) rotate(var(--ics-location-line-2-rotate)) scale(var(--ics-location-line-2-scale)) scaleX(var(--ics-location-line-2-flip));
}

.ics-decorative-line--footer-1 {
  z-index: 0;
  --ics-leaf-drift-x: 2.95rem;
  --ics-leaf-drift-y: 2.1rem;
  --ics-leaf-drift-duration: 22.9s;
  --ics-leaf-drift-delay: -12s;
  --ics-faith-footer-line-1-x: -29vw;
  --ics-faith-footer-line-1-y: -13vh;
  --ics-faith-footer-line-1-rotate: 70deg;
  --ics-faith-footer-line-1-scale: 1;
  --ics-faith-footer-line-1-flip: 1;
  transform: translate(var(--ics-faith-footer-line-1-x), var(--ics-faith-footer-line-1-y)) rotate(var(--ics-faith-footer-line-1-rotate)) scale(var(--ics-faith-footer-line-1-scale)) scaleX(var(--ics-faith-footer-line-1-flip));
}

.ics-decorative-line--footer-2 {
  z-index: 0;
  --ics-leaf-drift-x: -2.85rem;
  --ics-leaf-drift-y: 2.1rem;
  --ics-leaf-drift-duration: 25.7s;
  --ics-leaf-drift-delay: -18s;
  --ics-faith-footer-line-2-x: 0vw;
  --ics-faith-footer-line-2-y: 33vh;
  --ics-faith-footer-line-2-rotate: 160deg;
  --ics-faith-footer-line-2-scale: 1;
  --ics-faith-footer-line-2-flip: -1;
  transform: translate(var(--ics-faith-footer-line-2-x), var(--ics-faith-footer-line-2-y)) rotate(var(--ics-faith-footer-line-2-rotate)) scale(var(--ics-faith-footer-line-2-scale)) scaleX(var(--ics-faith-footer-line-2-flip));
}

.ics-section>.container,
.ics-section>.container-fluid {
  position: relative;
  z-index: 1;
}

.ics-btn-brand {
  --ics-button-bg: var(--color-accent);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  font-family: var(--font-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-semibold);
  line-height: 1.4;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  text-decoration: none;
  border: 0;
  border-radius: var(--radius-sm);
  padding: 0.9375rem 1.5625rem;
  background-color: transparent;
  color: var(--color-primary);
  cursor: pointer;
  transition: box-shadow var(--transition-fast), color var(--transition-fast);
}

.ics-btn-brand::before,
.ics-pill-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-color: var(--ics-button-bg);
  transform: scale(1);
  transition: background-color var(--transition-fast), transform var(--transition-fast);
  pointer-events: none;
}

.ics-btn-brand:hover,
.ics-btn-brand:focus-visible {
  --ics-button-bg: #b9e83a;
  box-shadow:
    inset 0 0.125rem 0.3125rem rgba(12, 75, 64, 0.08),
    0 0.25rem 0.75rem rgba(12, 75, 64, 0.14);
  color: var(--color-primary);
}

.ics-btn-brand:hover::before,
.ics-btn-brand:focus-visible::before,
.ics-pill-link:hover::before,
.ics-pill-link:focus-visible::before {
  transform: scale(0.99);
}

.ics-btn-brand:focus-visible {
  outline: 0.1875rem solid rgba(166, 210, 34, 0.45);
  outline-offset: 0.1875rem;
}

.ics-btn-brand--block {
  width: 100%;
}

.ics-pill-link {
  --ics-button-bg: var(--color-accent);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 0.9375rem;
  min-height: 3.25rem;
  padding: 0.9375rem 1.5625rem;
  border-radius: var(--radius-pill);
  font-size: var(--font-size-sm);
  font-weight: var(--font-semibold);
  line-height: 1.4;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-primary);
  background-color: transparent;
  transition: box-shadow var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);
}

.ics-pill-link:hover,
.ics-pill-link:focus-visible {
  --ics-button-bg: #b9e83a;
  box-shadow:
    inset 0 0.125rem 0.3125rem rgba(12, 75, 64, 0.08),
    0 0.25rem 0.75rem rgba(12, 75, 64, 0.12);
  opacity: 1;
  color: var(--color-primary);
}

.ics-pill-link:focus-visible {
  outline: 0.1875rem solid rgba(166, 210, 34, 0.45);
  outline-offset: 0.1875rem;
}

.ics-pill-link--light {
  --ics-button-bg: var(--color-background);
}

.ics-pill-link--light:hover,
.ics-pill-link--light:focus-visible {
  --ics-button-bg: #fbfff1;
  box-shadow:
    inset 0 0.125rem 0.3125rem rgba(12, 75, 64, 0.06),
    0 0.25rem 0.75rem rgba(12, 75, 64, 0.1),
    inset 0 0 0 0.125rem rgba(166, 210, 34, 0.55);
}

.ics-btn-brand:active,
.ics-pill-link:active {
  box-shadow:
    inset 0 0.1875rem 0.4375rem rgba(12, 75, 64, 0.12),
    0 0.125rem 0.5rem rgba(12, 75, 64, 0.1);
}

.ics-btn-brand:active::before,
.ics-pill-link:active::before {
  transform: scale(0.975);
}

.ics-pill-link__label {
  display: inline-block;
}

@supports not (text-box-trim: trim-both) {
  .ics-pill-link__label {
    margin-block: -0.15em;
  }
}

@supports (text-box-trim: trim-both) {
  .ics-pill-link__label {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ics-pill-link__dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background-color: var(--color-primary);
  flex-shrink: 0;
}

.ics-pill-link--light .ics-pill-link__dot {
  background-color: var(--color-accent);
}

.ics-media-frame {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-lg);
  margin: 0;
}

.ics-media-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ics-media-frame--portrait {
  aspect-ratio: 4 / 5;
}

.ics-media-frame--wide {
  aspect-ratio: 16 / 9;
}

.ics-media-frame--square {
  aspect-ratio: 1 / 1;
}

.ics-site-header {
  background-color: var(--color-primary);
  padding-block: var(--space-4);
  padding-top: 2.56rem;
  text-align: center;
}

.ics-site-header__logo {
  height: 5.05rem;
  width: auto;
}

.ics-hero {
  text-align: center;
  overflow: visible;
  padding-top: 3rem;
  padding-bottom: 1rem;
}

html.ics-js-loading .ics-hero__eyebrow,
html.ics-js-loading .ics-hero__title,
html.ics-js-loading .ics-hero__copy,
html.ics-js-loading .ics-hero__cta,
html.ics-js-loading .ics-hero__media,
html.ics-js-loading .ics-hero .ics-decorative-line {
  opacity: 0;
  visibility: hidden;
}

.ics-hero__eyebrow {
  color: var(--color-on-dark);
  font-family: var(--font-secondary);
  font-size: var(--font-size-base);
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin: 0;
}

@supports not (text-box-trim: trim-both) {
  .ics-hero__eyebrow {
    margin-bottom: -0.1em;
  }
}

@supports (text-box-trim: trim-both) {
  .ics-hero__eyebrow {
    text-box-trim: trim-end;
    text-box-edge: cap alphabetic;
  }
}

.ics-hero h1.ics-hero__title {
  color: var(--color-accent);
  margin-top: 1.25rem;
  margin-bottom: var(--space-3);
}

@supports not (text-box-trim: trim-both) {
  .ics-hero h1.ics-hero__title {
    margin-top: calc(1.25rem - 0.1em);
  }
}

@supports (text-box-trim: trim-both) {
  .ics-hero h1.ics-hero__title {
    text-box-trim: trim-start;
    text-box-edge: cap alphabetic;
  }
}

.ics-hero-word {
  display: inline-block;
  white-space: nowrap;
}

.ics-hero__copy {
  max-width: 50rem;
  margin-inline: auto;
  color: var(--color-on-dark);
}

.ics-hero__copy p+p {
  margin-top: var(--space-3);
}

.ics-hero__cta {
  margin-top: var(--space-4);
}

.ics-hero__media {
  position: relative;
  z-index: 2;
  margin-top: var(--space-6);
  margin-bottom: -6rem;
  padding-inline: 5rem;
}

.ics-hero__media .ics-media-frame {
  width: 100%;

  aspect-ratio: 1280 / 758;
  margin-inline: auto;
  box-shadow: var(--shadow-lg);
}

.ics-hero__stat {
  position: absolute;
  right: 9%;
  bottom: -12rem;
  width: 25rem;
  height: 25rem;
  border-radius: 50%;
  background-color: var(--color-accent);
  color: var(--color-primary);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 3.125rem 2.5rem;
  box-shadow: var(--shadow-lg);
}

.ics-hero__stat--left-center {
  right: auto;
  left: 3%;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

.ics-hero__stat-number {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: var(--font-light);
  font-size: 7.5rem;
  line-height: 1.1;
  letter-spacing: -0.3rem;
}

.ics-hero__stat-title {
  font-family: var(--font-secondary);
  font-style: normal;
  font-weight: var(--font-bold);
  font-size: var(--font-size-lg);
  line-height: 1.1;
  letter-spacing: -0.0625rem;
}

.ics-hero__stat-text {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: var(--font-medium);
  font-size: var(--font-size-base);
  margin-top: var(--space-1);
  line-height: 1.4;
  letter-spacing: -0.0375rem;
}

.ics-parent-voices {
  position: relative;
  overflow: hidden;
  background-color: var(--color-surface);
  color: var(--color-heading);
}

.ics-parent-voices__inner {
  position: relative;
  width: min(100% - 10rem, 80rem);
  height: 122.4375rem;
  margin-inline: auto;
}

.ics-parent-voices__item {
  position: absolute;
  margin: 0;
}

.ics-parent-voices__quote {
  width: 25rem;
}

.ics-parent-voices__quote-line {
  display: block;
  width: 100%;
  height: 0.25rem;
  margin-top: -0.25rem;
  margin-bottom: 1.9375rem;
  background-color: var(--color-accent);
  transform-origin: left center;
}

.ics-parent-voices__quote-text {
  color: var(--color-heading);
  font-family: var(--font-secondary);
  font-size: var(--font-size-lg);
  font-style: italic;
  font-weight: var(--font-medium);
  line-height: 1.4;
  letter-spacing: -0.03em;
  margin: 0 0 1.125rem;
}

.ics-parent-voices__quote-cite {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: var(--font-size-sm);
  font-style: normal;
  font-weight: var(--font-medium);
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ics-parent-voices__media {
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--color-secondary);
}

.ics-parent-voices__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ics-parent-voices__item:nth-child(1) {
  top: 14.625rem;
  left: 0.9375rem;
}

.ics-parent-voices__item:nth-child(2) {
  top: 11.3125rem;
  left: 27.5rem;
  width: 25rem;
  height: 25.1875rem;
  --ics-parent-voices-ratio: 400 / 403;
}

.ics-parent-voices__item:nth-child(3) {
  top: 14.9375rem;
  left: 55.0625rem;
}

.ics-parent-voices__item:nth-child(4) {
  top: 30.625rem;
  left: 0.5rem;
  width: 24.5rem;
  height: 15.5rem;
  --ics-parent-voices-ratio: 392 / 248;
}

.ics-parent-voices__item:nth-child(5) {
  top: 30.625rem;
  left: 55rem;
  width: 24.5rem;
  height: 30.875rem;
  --ics-parent-voices-ratio: 392 / 494;
}

.ics-parent-voices__item:nth-child(6) {
  top: 39.3125rem;
  left: 27.5rem;
}

.ics-parent-voices__item:nth-child(7) {
  top: 48.6875rem;
  left: 0.9375rem;
}

.ics-parent-voices__item:nth-child(8) {
  top: 57.125rem;
  left: 27.5rem;
  width: 24.5rem;
  height: 15.5rem;
  --ics-parent-voices-ratio: 392 / 248;
}

.ics-parent-voices__item:nth-child(9) {
  top: 64.875rem;
  left: 55.0625rem;
}

.ics-parent-voices__item:nth-child(10) {
  top: 75.4375rem;
  left: 27.5rem;
}

.ics-parent-voices__item:nth-child(11) {
  top: 78.875rem;
  left: 55.5625rem;
  width: 24.5rem;
  height: 15.5rem;
  --ics-parent-voices-ratio: 392 / 248;
}

.ics-parent-voices__item:nth-child(12) {
  top: 93.25rem;
  left: 27.5rem;
  width: 24.5rem;
  height: 21.0625rem;
  --ics-parent-voices-ratio: 392 / 337;
}

.ics-parent-voices__item:nth-child(13) {
  top: 71rem;
  left: 0.5rem;
  width: 24.5rem;
  height: 30.875rem;
  --ics-parent-voices-ratio: 392 / 494;
}

@media (max-width: 1199.98px) {
  .ics-parent-voices {
    padding-block: var(--space-8);
  }

  .ics-parent-voices__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6) var(--space-5);
    width: min(100% - 4rem, 58rem);
    height: auto;
  }

  .ics-parent-voices__inner > .ics-parent-voices__item {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
  }

  .ics-parent-voices__inner > .ics-parent-voices__quote,
  .ics-parent-voices__inner > .ics-parent-voices__media {
    width: 100%;
  }

  .ics-parent-voices__quote {
    align-self: center;
  }

  .ics-parent-voices__quote-line {
    height: 0.2rem;
    margin-top: 0;
    margin-bottom: var(--space-3);
  }

  .ics-parent-voices__inner > .ics-parent-voices__media {
    height: auto;
    aspect-ratio: var(--ics-parent-voices-ratio);
  }
}

@media (max-width: 767.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  main {
    overflow-x: clip;
  }

  .ics-parent-voices {
    padding-block: var(--space-7);
    overflow-x: hidden;
  }

  .ics-parent-voices__inner {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    min-width: 0;
    overflow-x: hidden;
  }

  .ics-parent-voices__inner > .ics-parent-voices__item {
    max-width: 100%;
    min-width: 0;
  }

  .ics-parent-voices__quote-text,
  .ics-parent-voices__quote-cite {
    overflow-wrap: anywhere;
  }

  .ics-parent-voices__quote-text {
    font-size: 1.25rem;
  }

  .ics-parent-voices__quote-cite {
    font-size: var(--font-size-xs);
  }
}

.ics-location {
  position: relative;
  min-height: 46.1875rem;
  overflow-x: clip;
  overflow-y: visible;
  clip-path: inset(0 0 -100vh 0);
  background-color: var(--color-background);
}

.ics-location::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 24.5rem;
  background: linear-gradient(to bottom, var(--color-surface) 0%, rgba(247, 244, 239, 0) 100%);
  pointer-events: none;
}

.ics-location__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 90rem);
  min-height: 46.1875rem;
  margin-inline: auto;
}

.ics-location__map {
  position: absolute;
  top: 0;
  left: 0;
  width: 38.125rem;
  height: 46.1875rem;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--color-secondary);
}

.ics-location__map iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.ics-location__content {
  position: absolute;
  top: 0;
  left: 40.375rem;
  display: flex;
  width: 44.8125rem;
  height: 46.1875rem;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-inline: 5rem;
}

.ics-location__copy {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.ics-location__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--color-heading);
  font-size: var(--font-size-xs);
  font-weight: var(--font-bold);
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ics-location__eyebrow-dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: var(--color-accent);
}

.ics-location__title {
  color: var(--color-heading);
  font-family: var(--font-secondary);
  font-size: var(--font-size-3xl);
  font-style: italic;
  font-weight: var(--font-bold);
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin: 0;
}

.ics-location__text {
  color: var(--color-text);
  font-size: var(--font-size-base);
  font-weight: var(--font-light);
  line-height: 1.4;
  letter-spacing: -0.03em;
  margin: 0;
}

.ics-location__badge {
  position: absolute;
  top: 1rem;
  right: 5rem;
  z-index: 2;
  width: 9.5625rem;
  height: 9.5625rem;
}

.ics-location__badge-layer {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.ics-location__badge-ring {
  animation: ics-badge-spin 28s linear infinite;
}

@keyframes ics-badge-spin {
  to {
    rotate: 360deg;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ics-location__badge-ring {
    animation: none;
  }
}

@media (max-width: 1199.98px) {
  .ics-location {
    min-height: 0;
    padding-block: var(--space-8);
  }

  .ics-location::before {
    height: 14rem;
  }

  .ics-location__badge {
    top: 1rem;
    right: 1rem;
    width: 7rem;
    height: 7rem;
  }

  .ics-location__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-6);
    width: min(100% - 4rem, 58rem);
    min-height: 0;
    margin-inline: auto;
  }

  .ics-location__map,
  .ics-location__content {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .ics-location__map {
    height: auto;
    aspect-ratio: 610 / 739;
  }

  .ics-location__content {
    overflow: visible;
    height: auto;
    padding-inline: 0;
  }

  .ics-location__title {
    max-width: 11em;
  }
}

@media (max-width: 767.98px) {
  .ics-location {
    padding-block: var(--space-7);
  }

  .ics-location__inner {
    min-width: 0;
  }

  .ics-location__map,
  .ics-location__content,
  .ics-location__copy {
    min-width: 0;
  }

  .ics-location__title {
    font-size: clamp(1.575rem, 1.26rem + 2.34vw, 3.375rem);
  }

  .ics-location__badge {
    top: -2.5rem;
    right: 0;
    width: 4.5rem;
    height: 4.5rem;
  }

}

.ics-fee-includes {
  background-color: var(--color-surface);
  color: var(--color-text);
  min-height: 91.125rem;
  padding-block: 11.5625rem 9.4375rem;
}

.ics-fee-includes__inner {
  width: min(100% - 10rem, 80rem);
  margin-inline: auto;
}

.ics-fee-includes__intro {
  display: flex;
  width: min(100%, 41.75rem);
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  margin-inline: auto;
  margin-bottom: 4.1875rem;
  text-align: center;
}

.ics-fee-includes__title {
  color: var(--color-heading);
  font-family: var(--font-secondary);
  font-size: 2.8125rem;
  font-weight: var(--font-bold);
  line-height: 1;
  letter-spacing: -0.03em;
  margin: 0;
}

.ics-fee-includes__lead {
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-light);
  line-height: 1.4;
  letter-spacing: -0.03em;
  margin: 0;
}

.ics-fee-includes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  column-gap: 2.5rem;
  row-gap: 7.0625rem;
  align-items: start;
}

.ics-fee-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.25rem;
  width: 100%;
  margin: 0;
}

.ics-fee-card:nth-child(3n + 2) {
  transform: translateY(2.625rem);
}

.ics-fee-card:nth-child(3n) {
  transform: translateY(5.1875rem);
}

.ics-fee-card__media {
  position: relative;
  width: 100%;
  height: 16.5rem;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background-color: var(--color-secondary);
}

.ics-fee-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ics-fee-card__copy {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.3125rem;
  text-align: center;
}

.ics-fee-card__title {
  color: var(--color-heading);
  font-family: var(--font-secondary);
  font-size: 1.5625rem;
  font-weight: var(--font-bold);
  line-height: 1.2;
  margin: 0;
}

.ics-fee-card__text {
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 1.125rem;
  font-weight: var(--font-light);
  line-height: 1.4;
  margin: 0;
}

@media (max-width: 1199.98px) {
  .ics-fee-includes {
    min-height: 0;
    padding-block: var(--space-9);
  }

  .ics-fee-includes__inner {
    width: min(100% - 4rem, 58rem);
  }

  .ics-fee-includes__intro {
    margin-bottom: var(--space-8);
  }

  .ics-fee-includes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-7) var(--space-4);
  }

  .ics-fee-card,
  .ics-fee-card:nth-child(3n + 2),
  .ics-fee-card:nth-child(3n) {
    transform: none;
  }

  .ics-fee-card__media {
    height: auto;
    aspect-ratio: 400 / 264;
  }
}

@media (max-width: 767.98px) {
  .ics-fee-includes {
    padding-block: var(--space-8);
  }

  .ics-fee-includes__intro {
    gap: var(--space-2);
    margin-bottom: var(--space-6);
  }

  .ics-fee-includes__title {
    font-size: clamp(1.575rem, 1.26rem + 2.34vw, 3.375rem);
  }

  .ics-fee-includes__lead {
    font-size: 1.0625rem;
  }

  .ics-fee-includes__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .ics-fee-card {
    gap: var(--space-3);
  }

  .ics-fee-card__title {
    font-size: 1.3125rem;
  }

  .ics-fee-card__text {
    font-size: 1rem;
  }
}

.ics-senior-outcomes {
  position: relative;
  background-color: var(--color-background);
  color: var(--color-text);
  overflow: hidden;
}

.ics-senior-outcomes__inner {
  position: relative;
  width: min(100% - 10rem, 80rem);
  margin-inline: auto;
  padding-top: 6.4375rem;
  padding-bottom: 6.25rem;
}

.ics-senior-outcomes__grid {
  display: grid;
  grid-template-columns: 44.8125rem 33.125rem;
  column-gap: 1.875rem;
  align-items: start;
}

.ics-senior-outcomes__main {
  width: 44.8125rem;
}

.ics-senior-outcomes__copy {
  display: flex;
  width: 100%;
  min-height: 46.1875rem;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 2.53125rem 5rem 2.53125rem 2.5rem;
}

.ics-senior-outcomes__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--color-heading);
  font-size: 0.875rem;
  font-weight: var(--font-bold);
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}

.ics-senior-outcomes__eyebrow-dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: var(--color-accent);
}

.ics-senior-outcomes__title {
  color: var(--color-heading);
  font-family: var(--font-secondary);
  font-size: 3.75rem;
  font-style: italic;
  font-weight: var(--font-bold);
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin: 0 0 1.25rem;
}

.ics-senior-outcomes__body {
  color: var(--color-text);
  font-size: var(--font-size-base);
  font-weight: var(--font-light);
  line-height: 1.4;
  letter-spacing: -0.03em;
  margin-bottom: 1.25rem;
}

.ics-senior-outcomes__body p {
  margin: 0;
}

.ics-senior-outcomes__body p + p {
  margin-top: 1.4em;
}

.ics-senior-outcomes__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 15.625rem));
  gap: 4.875rem 2.5rem;
  width: 33.75rem;
  margin: 1.875rem 0 0 2.5rem;
}

.ics-senior-outcomes__stat {
  margin: 0;
}

.ics-senior-outcomes__stat dt {
  color: var(--color-heading);
  font-family: var(--font-secondary);
  font-size: 3.75rem;
  font-style: italic;
  font-weight: var(--font-light);
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin: 0;
}

.ics-senior-outcomes__stat-line {
  display: block;
  width: 100%;
  height: 0;
  margin: 0.5625rem 0 0.75rem;
  border-top: 0.0625rem solid var(--color-accent);
  transform-origin: left center;
}

.ics-senior-outcomes__stat dd {
  color: var(--color-text);
  font-family: var(--font-secondary);
  font-size: 1rem;
  font-style: italic;
  font-weight: var(--font-medium);
  line-height: 1.4;
  letter-spacing: -0.03em;
  margin: 0;
}

.ics-senior-outcomes__portrait {
  position: relative;
  width: 33.125rem;
  height: 46.1875rem;
  margin: 8.25rem 0 0;
  border-radius: var(--radius-lg);
  background-color: var(--color-secondary);
}

.ics-senior-outcomes__portrait-frame {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
}

.ics-senior-outcomes__portrait-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ics-senior-outcomes__red-dot {
  position: absolute;
  top: -6.75rem;
  right: 4rem;
  z-index: 2;
  width: 9.5625rem;
  height: 9.5625rem;
  border-radius: 50%;
  background-color: #ed171f;
}

@media (max-width: 1199.98px) {
  .ics-senior-outcomes__inner {
    width: min(100% - 4rem, 58rem);
    min-height: 0;
    padding-block: var(--space-8);
  }

  .ics-senior-outcomes__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-6);
  }

  .ics-senior-outcomes__main,
  .ics-senior-outcomes__copy,
  .ics-senior-outcomes__stats,
  .ics-senior-outcomes__portrait {
    width: 100%;
  }

  .ics-senior-outcomes__copy {
    min-height: 0;
    padding: 0;
  }

  .ics-senior-outcomes__title {
    max-width: 11em;
  }

  .ics-senior-outcomes__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: var(--space-8) 0 0;
  }

  .ics-senior-outcomes__portrait {
    height: auto;
    aspect-ratio: 530 / 739;
    margin-top: 0;
    max-width: 33.125rem;
    justify-self: center;
  }

  .ics-senior-outcomes__red-dot {
    top: -3.875rem;
    right: 3.3rem;
    width: 5.5rem;
    height: 5.5rem;
  }
}

@media (max-width: 767.98px) {
  .ics-senior-outcomes__inner {
    padding-block: var(--space-7);
  }

  .ics-senior-outcomes__eyebrow {
    font-size: var(--font-size-xs);
  }

  .ics-senior-outcomes__title {
    font-size: clamp(1.575rem, 1.26rem + 2.34vw, 3.375rem);
  }

  .ics-senior-outcomes__body {
    font-size: 1.0625rem;
  }

  .ics-senior-outcomes__stats {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .ics-senior-outcomes__stat dt {
    font-size: 2.75rem;
  }

  .ics-senior-outcomes__red-dot {
    top: -2.575rem;
    right: 3.275rem;
    width: 4rem;
    height: 4rem;
  }
}

.ics-story-spacer {
  height: 5rem;
  background-color: var(--color-surface);
}

.ics-story-scroll {
  position: relative;
  height: var(--ics-story-scroll-height, 100svh);
  background-color: var(--color-surface);
}

.ics-story-section {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background-color: var(--color-surface);
}

.ics-story-track {
  display: flex;
  height: 100%;
  will-change: transform;
}

.ics-story-row {
  position: relative;
  flex: 0 0 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  padding: var(--space-6);
  background-color: var(--color-background);
}

.ics-story-row--tint {
  background-color: var(--color-surface);
}

.ics-story-row__grid {
  --bs-gutter-x: 0;
  --bs-gutter-y: var(--space-4);
  width: 100%;
}

@media (min-width: 992px) {
  .ics-story-section {
    height: 49.8125rem;
  }

  .ics-story-row__grid {
    display: grid;
    grid-template-columns: 31.875rem minmax(0, 40.625rem);
    column-gap: 7.5rem;
    align-items: center;
    max-width: 80rem;
    margin-inline: auto;
  }

  .ics-story-row__grid > [class*="col"] {
    width: auto;
    max-width: none;
    padding-inline: 0;
  }

  .ics-story-row__grid > .ics-story-row__media-col {
    padding-right: 0;
  }
}

.ics-story-row__media {
  width: 100%;
  will-change: opacity;
}

@media (min-width: 992px) {
  .ics-story-row__media {
    width: 31.875rem;
    height: 39.8125rem;
    border-radius: 1rem;
  }
}

.ics-story-row__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem;
}

@media (min-width: 992px) {
  .ics-story-row__content {
    padding: 0 5rem 0 0;
    max-width: 40.625rem;
  }
}

.ics-story-row__heading {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  color: var(--color-heading);
  font-size: clamp(1.75rem, 1.4rem + 2.6vw, var(--font-size-3xl));
  line-height: 1;
  letter-spacing: -0.04em;
  margin: 0;
}

.ics-story-row__heading-time {
  font-family: var(--font-secondary);
  font-weight: var(--font-regular);
}

.ics-story-row__heading-title {
  font-family: var(--font-secondary);
  font-weight: var(--font-bold);
}

.ics-story-row__quote {
  color: var(--color-heading);
  margin-top: 0.25rem;
}

.ics-story-row .ics-body-text {
  margin: 0;
}

.ics-story-row [data-story-media],
.ics-story-row [data-story-reveal] {
  backface-visibility: hidden;
}

@media (min-width: 992px) {
  .ics-story-row {
    padding: var(--space-9);
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) and (orientation: portrait) {
  .ics-story-section {
    height: min(78svh, 62rem);
  }

  .ics-story-row {
    padding: clamp(1.5rem, 3.5vw, 3rem);
  }

  .ics-story-row__grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: min(84vw, 64rem);
    margin-inline: auto;
    --bs-gutter-y: clamp(1.25rem, 2vw, 2rem);
  }

  .ics-story-row__grid > [class*="col"] {
    width: 100%;
    max-width: none;
    padding-inline: 0;
  }

  .ics-story-row__media {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
  }

  .ics-story-row__content {
    gap: 0.875rem;
    width: min(100%, 50rem);
    max-width: 100%;
    padding: 0;
  }

  .ics-story-row__heading {
    font-size: clamp(3rem, 4.4vw, 4rem);
  }

  .ics-story-row .ics-body-text {
    font-size: 1.375rem;
    line-height: 1.45;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .ics-story-section {
    height: 100vh;
    height: 100svh;
  }

  .ics-story-row {
    height: 100%;
    padding: var(--space-4);
    align-items: center;
  }

  .ics-story-row__grid {
    width: min(100%, 46rem);
    margin-inline: auto;
    --bs-gutter-y: var(--space-3);
  }

  .ics-story-row__media {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 1rem;
  }

  .ics-story-row__content {
    gap: 0.75rem;
  }

  .ics-story-row__heading {
    gap: var(--space-1);
    font-size: clamp(1.575rem, 1.26rem + 2.34vw, 3.375rem);
  }

  .ics-story-row .ics-body-text {
    font-size: 1.125rem;
  }
}

.ics-story-row__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform-origin: center center;
  will-change: transform;
}

.ics-quote-banner {
  position: relative;
  color: var(--color-on-dark);
  text-align: center;
}

.ics-quote-banner__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ics-quote-banner__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ics-quote-banner__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}

.ics-media-parallax-fixed {
  overflow: hidden;
}

.ics-media-parallax-fixed img {
  height: 100vh;
  will-change: transform;
}

/* Drift variant: image oversized 30% and re-centered with the
   translate property; GSAP drifts it through the headroom. */
.ics-media-parallax-drift {
  overflow: hidden;
}

.ics-media-parallax-drift img {
  height: 130%;
  translate: 0 -11.5%;
  will-change: transform;
}

.ics-quote-banner__circle {
  position: relative;
  z-index: 1;
  margin-inline: auto;
  display: flex;
  width: min(39rem, 90vw);
  height: auto;
  min-height: min(39rem, 90vw);
  padding: clamp(var(--space-6), 5vw, 6.25rem);
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  background: var(--color-primary);
}

.ics-quote-banner__circle blockquote {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.ics-quote-mark {
  font-family: var(--font-secondary);
  font-weight: 900;
  color: var(--color-accent);
  font-size: clamp(3.75rem, 3rem + 3vw, 7.5rem);
  line-height: 1.4;
  letter-spacing: -0.03em;
  display: block;
}

@supports not (text-box-trim: trim-both) {
  .ics-quote-mark {
    margin-bottom: -0.21em;
  }
}

@supports (text-box-trim: trim-both) {
  .ics-quote-mark {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ics-quote-banner__text {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: var(--font-medium);
  font-size: var(--font-size-xl);
  line-height: 1.4;
  letter-spacing: -0.06563rem;
  margin: 0;
}

@media (min-width: 768px) {
  .ics-quote-banner__text {
    max-width: 19ch;
  }
}

.ics-quote-banner__cite {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-medium);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent);
  font-style: normal;
}

.ics-testimonial-section {
  position: relative;
  z-index: 2;
  overflow: visible;
  padding-bottom: 12rem;
  height: 73rem;
}

.ics-testimonial-section__stage {
  position: relative;
}

.ics-testimonial-section__media {
  width: 33.125rem;
  height: 20.9375rem;
  max-width: 100%;
}

/* Mobile-only headroom for the internal image parallax: the image is
   13% taller than its frame and re-centered with the translate
   property, which composes with the GSAP transform drift. */
@media (max-width: 767.98px) {
  .ics-testimonial-section__media img {
    height: 120%;
    translate: 0 -8.33%;
  }
}

.ics-testimonial-section__media--a {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  transform: translateY(-88%);
}

.ics-testimonial-section__media--b {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  transform: translateY(95%);
}

.ics-testimonial-section__card {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
  transform: translateY(130%);
}

@media (min-width: 1600px) {
  .ics-testimonial-section__media--a,
  .ics-testimonial-section__card {
    right: calc(5rem - ((100vw - 100%) / 2));
  }

  .ics-testimonial-section__media--b {
    left: calc(5rem - ((100vw - 100%) / 2));
  }
}

@media (max-width: 767.98px) {
  .ics-testimonial-section__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
    padding-inline: var(--space-2);
  }

  .ics-testimonial-section {
    height: auto;
  }

  .ics-testimonial-section__media--a,
  .ics-testimonial-section__media--b,
  .ics-testimonial-section__card {
    position: static;
    transform: none;
  }

  .ics-testimonial-section__media--a {
    margin-top: -14rem;
  }

  .ics-testimonial-section__media--b {
    margin-top: -6rem;
  }

  .ics-testimonial-section__card {
    margin-bottom: -8rem;
  }
}

.ics-testimonial-block {
  text-align: center;
  max-width: 55rem;
  margin-inline: auto;
  padding-top: 9rem;
  padding-bottom: 5rem;
}

.ics-testimonial-block .ics-quote-mark {
  color: var(--color-accent);
}

.ics-testimonial-block__text {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: var(--font-medium);
  color: var(--color-primary);
  font-size: var(--font-size-xl);
  line-height: 1.4;
  letter-spacing: -0.06563rem;
}

.ics-testimonial-block__cite {
  display: block;
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  font-style: normal;
  font-weight: var(--font-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.ics-testimonial-section--simple {
  height: auto;
  padding-bottom: 0;
}

.ics-testimonial-section--simple .ics-testimonial-block {
  padding-top: 0;
  padding-bottom: 0;
}

.ics-child-focus-section {
  padding-top: 5.5625rem;
  overflow-x: clip;
  overflow-y: visible;
  clip-path: inset(0 0 -100vh 0);
}

.ics-child-focus-section__inner {
  width: 100%;
  padding-left: var(--space-4);
  padding-right: var(--space-4);
}

@media (min-width: 992px) {
  .ics-child-focus-section__inner {
    padding-left: 8.12rem;
    padding-right: 8.12rem;
  }
}

.ics-child-focus-section__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
}

.ics-child-focus-section__media {
  width: 100%;
  max-width: 34.375rem;
}

.ics-child-focus-section__content {
  width: 100%;
  max-width: 30.875rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

@media (min-width: 992px) {
  .ics-child-focus-section__grid {
    flex-direction: row;
    gap: 8.5rem;
    max-width: 73.75rem;
    margin-inline: auto;
  }

  .ics-child-focus-section__media {
    flex: 0 0 34.375rem;
  }

  .ics-child-focus-section__content {
    flex: 1 1 30.875rem;
  }

  .ics-child-focus-section--media-right .ics-child-focus-section__grid {
    flex-direction: row-reverse;
  }
}

.ics-child-focus-section__intro-group {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}

.ics-child-focus-section__heading-group {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.ics-child-focus-section__heading {
  font-size: clamp(2.5rem, 2rem + 3vw, 3.75rem);
  line-height: 1;
}

.ics-child-focus-section__features {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.ics-child-focus-section__features .ics-icon-feature {
  gap: 1.375rem;
}

.ics-quote-card {
  position: relative;
}

.ics-quote-card .ics-media-frame {
  aspect-ratio: 550 / 662;
  border-radius: 2.165rem;
}

.ics-quote-card__attribution {
  position: absolute;
  left: 4.5%;
  bottom: 3.6%;
  width: 72.4%;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  background-color: var(--color-background);
  border-radius: 0.865rem;
  padding: 1.75rem 1.5rem 1.25rem 1.8125rem;
  box-shadow: var(--shadow-md);
}

.ics-quote-card__quote {
  font-family: var(--font-secondary);
  font-style: italic;
  color: var(--color-primary);
  font-size: var(--font-size-sm);
  line-height: 1.4;
  letter-spacing: -0.03em;
  margin: 0;
}

.ics-quote-card__person {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.ics-quote-card__avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.ics-quote-card__name {
  font-size: var(--font-size-xs);
  font-weight: var(--font-bold);
  color: var(--color-text);
  display: block;
}

.ics-quote-card__role {
  font-size: var(--font-size-xs);
  font-weight: var(--font-light);
  color: var(--color-text);
  display: block;
}

.ics-icon-feature {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}

.ics-icon-feature__icon {
  flex-shrink: 0;
  width: 2.875rem;
  height: 2.875rem;
  border-radius: var(--radius-sm);
  background-color: var(--color-accent-tint);
  color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.ics-icon-feature__title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-bold);
  color: var(--color-text);
  line-height: 1.4;
  margin: 0;
}

.ics-icon-feature__text {
  font-size: var(--font-size-sm);
  font-weight: var(--font-light);
  color: var(--color-text);
  line-height: 1.4;
  margin: 0;
}

.ics-comparison-section__inner {
  width: 100%;
  padding-left: var(--space-4);
  padding-right: var(--space-4);
  margin-bottom: 14em;
}

@media (min-width: 768px) {
  .ics-comparison-section__inner {
    padding-left: var(--space-9);
    padding-right: var(--space-9);
  }
}

.ics-comparison {
  width: 100%;
  max-width: 66.125rem;
  margin-inline: auto;
  border-collapse: collapse;
  table-layout: fixed;
}

.ics-comparison th {
  font-family: var(--font-secondary);
  font-size: var(--font-size-xl);
  font-weight: var(--font-bold);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--color-heading);
  text-align: left;
  padding-right: 2.5rem;
  padding-bottom: 1.625rem;
  border-bottom: 0.25rem solid var(--color-accent);
  width: 50%;
}

.ics-comparison td {
  padding-block: 1.25rem;
  border-top: 1px solid var(--color-border);
  font-size: var(--font-size-base);
  line-height: 1.4;
  letter-spacing: -0.03em;
  vertical-align: top;
}

.ics-comparison tbody tr:first-child td {
  border-top: 0;
}

.ics-comparison td:first-child {
  font-weight: var(--font-light);
  color: var(--color-text);
  padding-right: 2.5rem;
}

.ics-comparison td:last-child {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: var(--font-medium);
  color: var(--color-primary);
}

.ics-discover {
  position: relative;
  color: var(--color-on-dark);
  height: 72.56rem;
}

@media (min-width: 1200px) {
  .ics-discover {
    height: 89.2857rem;
  }

  .ics-discover .container,
  .ics-site-footer .container,
  .ics-discover-cta .container {
    max-width: min(91.4286rem, calc(100% - 8rem));
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 1920px) and (max-width: 2559.98px) {
  .ics-discover .container,
  .ics-site-footer .container,
  .ics-discover-cta .container {
    max-width: calc(100% - 10rem);
  }
}

.ics-discover__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ics-discover__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ics-discover__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12, 75, 64, 0) 40%, rgba(12, 75, 64, 0.85) 85%, var(--color-primary) 100%);
}

.ics-discover__content {
  position: relative;
  z-index: 1;
}

.ics-discover-card {
  --ics-discover-card-gap: 1.1875rem;
  --ics-discover-card-padding-block: 4.375rem;
  --ics-discover-card-padding-inline: 3.75rem;
  --ics-discover-card-lead-font-size: 1rem;
  --ics-discover-card-lead-letter-spacing: -0.03em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ics-discover-card-gap);
  width: 38.75rem;
  min-height: 41.75rem;
  max-width: 100%;
  background-color: var(--color-accent);
  color: var(--color-primary);
  border-radius: var(--radius-lg);
  padding: var(--ics-discover-card-padding-block) var(--ics-discover-card-padding-inline);
}

.ics-discover-card--surface {
  background-color: var(--color-surface);
}

.ics-discover-cta .row {
  --bs-gutter-x: 2.625rem;
}

.ics-discover-cta .ics-discover-card {
  width: 100%;
}

.ics-discover-card__title {
  font-style: italic;
  margin: 0;
}

.ics-discover-card__content {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ics-discover-card-gap);
}

.ics-discover-card__content > div {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--ics-discover-card-gap);
}

.ics-discover-card__content > *,
.ics-discover-card__content > div > * {
  margin: 0 !important;
}

.ics-discover-card .ics-lead-text:not(.ics-discover-card__lead) {
  font-size: 1.5625rem;
  line-height: 1.4;
  letter-spacing: -0.02em;
}

@media (min-width: 768px) {
  .ics-discover-card__title {
    font-size: var(--font-size-3xl);
    line-height: 1;
  }
}

.ics-discover-card__lead {
  font-size: var(--ics-discover-card-lead-font-size);
  line-height: 1.4;
  letter-spacing: var(--ics-discover-card-lead-letter-spacing);
  margin: 0;
}

.ics-discover-card > .ics-pill-link {
  width: 100%;
  min-height: 3.25rem;
  justify-content: center;
  padding: 0.9375rem 1.5625rem;
  line-height: 1.4;
  margin-top: 0;
}

.ics-discover-card > .ics-pill-link .ics-pill-link__label {
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.ics-discover-card--faith {
  --ics-discover-card-gap: 3.125rem;
  --ics-discover-card-padding-block: 4.375rem;
  --ics-discover-card-padding-inline: 5rem;
  --ics-discover-card-lead-font-size: 1.5625rem;
  --ics-discover-card-lead-letter-spacing: -0.02em;
  width: 42.375rem;
  min-height: 34.125rem;
}

.ics-discover-card--faith .ics-discover-card__content {
  gap: 1.1875rem;
}

.ics-discover-card--faith .ics-discover-card__lead:not(.ics-discover-card__lead--accent) {
  font-family: var(--font-secondary);
  font-weight: var(--font-regular);
}

.ics-discover-card--faith > .ics-pill-link {
  width: max-content;
  max-width: 100%;
  justify-content: flex-start;
}

.ics-discover-card--faith > .ics-pill-link .ics-pill-link__label {
  white-space: nowrap;
}

.ics-prospectus-card {
  display: flex;
  width: 45.625rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
  height: auto;
  max-width: 100%;
  background-color: var(--color-background);
  color: var(--color-text);
  border-radius: var(--radius-lg);
  padding: 5rem;
  box-shadow: var(--shadow-lg);
  margin-top: 20rem;
}

@media (min-width: 1200px) {
  .ics-discover__content .row {
    --bs-gutter-x: 0;
  }

  .ics-prospectus-card {
    width: min(100%, 52.1429rem);
    gap: 2.8571rem;
    padding: 5.7143rem;
    margin-top: 42.8571rem;
  }
}

.ics-prospectus-card__intro {
  display: flex;
  flex-direction: column;
  gap: 1.1875rem;
  width: 100%;
}

.ics-prospectus-card__title {
  font-style: italic;
  font-size: clamp(2.5rem, 2rem + 3vw, 3.75rem);
  line-height: 1;
  margin: 0;
}

.ics-prospectus-card__lead {
  letter-spacing: -0.02em;
  margin: 0;
}

.ics-prospectus-card__body {
  font-weight: var(--font-light);
  margin: 0;
}

.ics-prospectus-card__form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
}

.ics-prospectus-card__fields {
  display: flex;
  gap: 1.25rem;
  width: 100%;
}

.ics-form-field {
  flex: 1 1 0;
  min-width: 0;
}

.ics-form-field__label {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-bold);
  letter-spacing: 0.01em;
  color: var(--color-primary);
  margin-bottom: 0.4375rem;
}

.ics-form-field__input {
  width: 100%;
  border: 0;
  border-radius: var(--radius-sm);
  background-color: var(--color-surface);
  padding: 0.9375rem 1.25rem;
  font-family: var(--font-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-medium);
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: var(--color-text);
}

.ics-form-field__input:focus-visible {
  outline: 0.125rem solid var(--color-accent);
  outline-offset: 0.125rem;
}

.ics-form-success {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 80;
  align-items: flex-start;
  gap: 0.875rem;
  width: min(100%, 28rem);
  padding: 1.25rem 3.25rem 1.25rem 1.25rem;
  border: 1px solid rgba(12, 75, 64, 0.14);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  color: var(--color-primary);
  box-shadow: 0 1.5rem 4rem rgba(12, 75, 64, 0.22);
  transform: translate(-50%, -50%);
}

.ics-form-success[hidden] {
  display: none;
}

.ics-form-success:not([hidden]) {
  display: flex;
}

.ics-form-success__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: var(--color-accent);
  color: var(--color-primary);
}

.ics-form-success__icon::before {
  content: "";
  width: 0.75rem;
  height: 0.4375rem;
  border-left: 0.125rem solid currentColor;
  border-bottom: 0.125rem solid currentColor;
  transform: translateY(-0.0625rem) rotate(-45deg);
}

.ics-form-success__copy {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  font-size: var(--font-size-sm);
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.ics-form-success__copy strong {
  font-weight: var(--font-bold);
}

.ics-form-success__close {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--color-primary);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.ics-form-success__close:hover,
.ics-form-success__close:focus-visible {
  background-color: rgba(12, 75, 64, 0.08);
}

@media (max-width: 767.98px) {
  .ics-prospectus-card {
    padding: var(--space-5);
    gap: 1.5rem;
  }

  .ics-discover__prospectus-card {
    margin-top: 30rem;
  }

  .ics-prospectus-card__title {
    font-size: clamp(1.575rem, 1.26rem + 2.34vw, 3.375rem);
  }

  .ics-prospectus-card__lead {
    font-size: 1.25rem;
  }

  .ics-prospectus-card__body {
    font-size: 1.0625rem;
  }

  .ics-prospectus-card__fields {
    flex-direction: column;
  }

  .ics-discover {
    height: auto;
  }
}

.ics-prospectus-media {
  display: flex;
  width: 25.14756rem;
  height: 31.625rem;
  flex-direction: column;
  align-items: center;
  position: relative;
  max-width: 100%;
  margin-top: 20rem;
  border-radius: var(--radius-md);
  overflow: hidden;
}

@media (min-width: 1200px) {
  .ics-prospectus-media {
    margin-top: 49.2857rem;
    margin-left: auto;
  }
}

@media (max-width: 767.98px) {
  .ics-prospectus-media {
    height: auto;
    aspect-ratio: 4 / 5;
    margin-top: 2rem;
    margin-bottom: var(--space-2);
  }
}

.ics-prospectus-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ics-prospectus-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.40) 12.63%, rgba(0, 0, 0, 0.00) 24.1%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 54.42%, rgba(0, 0, 0, 0.40) 76.1%, rgba(0, 0, 0, 0.65) 100%);
}

.ics-prospectus-media__logo {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 1;
  height: 2.5rem;
  width: auto;
}

.ics-prospectus-media__logo img {
  display: block;
  width: auto;
  height: 100%;
  max-width: min(10rem, 42vw);
  object-fit: contain;
}

@media (max-width: 767.98px) {
  .ics-prospectus-media__logo {
    top: 1rem;
    left: 1rem;
    height: 2rem;
  }
}

.ics-site-footer {
  background-color: var(--color-primary);
  color: var(--color-on-dark);
  padding-block: var(--space-9) var(--space-5);
  position: relative;
  overflow: hidden;
}

.ics-site-footer__top {
  margin-bottom: var(--space-10);
}

.ics-site-footer__logo {
  height: 4.5rem;
  width: auto;
}

.ics-site-footer__tagline {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: 600;
  font-size: var(--font-size-2xl);
  line-height: 1;
  letter-spacing: -0.084375rem;
  max-width: 38.5625rem;
}

@media (min-width: 1200px) {
  .ics-site-footer {
    padding-block: 5.7143rem 2.8571rem;
  }

  .ics-site-footer__top {
    margin-bottom: 6.4286rem;
  }

  .ics-site-footer__logo {
    height: 6.4286rem;
  }

  .ics-site-footer__tagline {
    font-size: 3.2143rem;
    max-width: 44.0714rem;
  }
}

@media (min-width: 1920px) and (max-width: 2559.98px) {
  .ics-site-footer__tagline {
    margin-left: 0;
    max-width: 38rem;
    text-align: left;
  }
}

.ics-footer-content-row {
  --bs-gutter-x: 2rem;
}

@media (min-width: 1200px) {
  .ics-footer-content-row {
    --bs-gutter-x: 0;
    display: grid;
    grid-template-columns: minmax(0, 37.1429rem) minmax(0, 1fr);
    column-gap: 8.5714rem;
    align-items: start;
    margin-bottom: 6.2857rem !important;
  }

  .ics-footer-content-row > [class*="col-"] {
    width: auto;
    max-width: none;
    padding-inline: 0;
  }
}

.ics-footer-links-row {
  --bs-gutter-x: 2rem;
}

@media (min-width: 576px) {
  .ics-footer-links-row {
    --bs-gutter-x: 4.4375rem;
  }
}

@media (min-width: 1200px) {
  .ics-footer-links-row {
    --bs-gutter-x: 0;
    justify-content: space-between;
  }

  .ics-footer-links-row > .ics-footer-col {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
}

.ics-site-footer__intro-group {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  max-width: 26.4375rem;
}

.ics-site-footer__intro {
  font-family: var(--font-secondary);
  font-style: italic;
  font-weight: var(--font-medium);
  font-size: var(--font-size-base);
  line-height: 1.4;
  letter-spacing: -0.0375rem;
  margin: 0;
}

.ics-site-footer__intro-note {
  font-family: var(--font-primary);
  font-weight: var(--font-medium);
  font-size: var(--font-size-xs);
  line-height: 1.4;
  margin: 0;
}

.ics-footer-col__title {
  font-family: var(--font-secondary);
  font-weight: var(--font-bold);
  color: var(--color-accent);
  font-size: var(--font-size-lg);
  line-height: 1.2;
  margin-bottom: 0.625rem;
}

.ics-footer-col__body {
  display: flex;
  flex-direction: column;
}

.ics-footer-col__heading {
  font-family: var(--font-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-bold);
  letter-spacing: 0.01rem;
  line-height: 1.4;
  display: block;
}

.ics-footer-col__text {
  font-family: var(--font-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-medium);
  line-height: 1.4;
  margin: 0;
}

.ics-footer-col__link-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ics-footer-col__link {
  color: var(--color-on-dark);
  text-decoration: none;
  font-size: var(--font-size-xs);
  display: inline-block;
  padding-block: 0.125rem;
}

.ics-footer-col__link:hover,
.ics-footer-col__link:focus-visible {
  color: var(--color-accent);
}

.ics-footer-col__email {
  color: var(--color-accent);
  font-size: var(--font-size-xs);
  text-decoration: underline;
}

.ics-social-icons {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin: 0;
}

.ics-social-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: var(--color-background);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  text-decoration: none;
  transition: transform var(--transition-fast);
}

.ics-social-icon:hover,
.ics-social-icon:focus-visible {
  transform: translateY(-0.125rem);
}

.ics-site-footer__marks-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
}

@media (min-width: 1200px) {
  .ics-site-footer__marks-row {
    flex-wrap: nowrap;
    gap: 6.8571rem;
    margin-bottom: 5.7143rem;
  }
}

.ics-accreditations {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-6);
}

@media (min-width: 1200px) {
  .ics-accreditations {
    flex: 1 1 71.6429rem;
    justify-content: space-between;
    gap: 0;
  }
}

.ics-accreditation-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.ics-accreditation-mark img {
  display: block;
  width: 9.375rem;
  height: 3.63475rem;
  flex-shrink: 0;
  object-fit: contain;
}

.ics-site-footer__divider {
  border: 0;
  height: 1px;
  background: var(--premium-bright-moss, #a6d222);
  opacity: 1;
  margin-block: var(--space-5);
}

.ics-site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-6);
  align-items: center;
  justify-content: space-between;
  font-size: var(--font-size-xs);
}

.ics-site-footer__legal-left {
  gap: 2.75rem;
  align-items: center;
}

.ics-site-footer__legal-list {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ics-site-footer__legal-list a {
  color: var(--color-on-dark);
  text-decoration: none;
}

.ics-site-footer__legal-list a:hover {
  color: var(--color-accent);
}

.ics-faith-text-accent {
  color: var(--color-accent) !important;
}

.ics-faith-text-on-dark {
  color: var(--color-on-dark) !important;
}

.ics-faith-bg-surface {
  background-color: var(--color-surface) !important;
}

.ics-anim-item--scale {
  will-change: opacity;
}

.ics-anim-scale-target {
  transform-origin: center center;
  will-change: transform;
}

.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

@media (min-width: 768px) {
  .ics-hero__copy {
    font-size: var(--font-size-base);
  }
}

@media (max-width: 767.98px) {
  .ics-section {
    padding-block: var(--space-6);
  }

  .ics-hero {
    overflow: visible;
  }

  .ics-decorative-line {
    object-fit: contain;
  }

  .ics-decorative-line--hero-1 {
    z-index: 3;
    --ics-faith-hero-leaf-1-x: -36vw;
    --ics-faith-hero-leaf-1-y: -46vh;
    --ics-faith-hero-leaf-1-scale: 1;
  }

  .ics-decorative-line--hero-2 {
    z-index: 3;
    --ics-faith-hero-leaf-2-x: 12vw;
    --ics-faith-hero-leaf-2-y: -8vh;
    --ics-faith-hero-leaf-2-scale: 1;
  }

  .ics-decorative-line--child-focus-1 {
    --ics-child-focus-line-1-x: 0vw;
    --ics-child-focus-line-1-y: 10vh;
    --ics-child-focus-line-1-scale: 1;
  }

  .ics-decorative-line--child-focus-2 {
    --ics-child-focus-line-2-x: -10vw;
    --ics-child-focus-line-2-y: -15vh;
    --ics-child-focus-line-2-scale: 1;
  }

  .ics-decorative-line--location-1 {
    --ics-location-line-1-x: 0vw;
    --ics-location-line-1-y: 10vh;
    --ics-location-line-1-scale: 1;
  }

  .ics-decorative-line--location-2 {
    --ics-location-line-2-x: -10vw;
    --ics-location-line-2-y: -15vh;
    --ics-location-line-2-scale: 1;
  }

  .ics-decorative-line--footer-1 {
    --ics-faith-footer-line-1-x: -42vw;
    --ics-faith-footer-line-1-y: -18vh;
    --ics-faith-footer-line-1-scale: 1;
  }

  .ics-decorative-line--footer-2 {
    --ics-faith-footer-line-2-x: 22vw;
    --ics-faith-footer-line-2-y: 18vh;
    --ics-faith-footer-line-2-scale: 1;
  }

  .ics-hero__media {
    padding-inline: 1rem;
    margin-bottom: 0;
  }

  .ics-hero__media .ics-media-frame {
    aspect-ratio: 1280 / 1182;
  }

  .ics-hero__stat {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    transform: none;
    z-index: 2;
    margin-top: 1.5rem;
    margin-bottom: -1.5rem;
    margin-inline: auto;
    width: min(19.5rem, 86vw);
    height: auto;
    min-height: min(19.5rem, 86vw);
    padding: 2rem 1.75rem;
  }

  .ics-hero__stat-number {
    font-size: clamp(2.5rem, 11vw, 3.75rem);
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 0.25rem;
  }

  .ics-hero__stat-title {
    line-height: 1.15;
  }

  .ics-hero__stat-text {
    margin-top: 0.35rem;
    line-height: 1.35;
  }

  .ics-hero__copy p {
    font-size: 1.0625rem;
  }

  .ics-story-section {
    height: 100vh;
    height: 100svh;
  }

  .ics-story-row {
    height: 100%;
    padding: var(--space-4);
    align-items: center;
  }

  .ics-story-row__media {
    width: 100%;
    aspect-ratio: 4 / 3;
  }

  .ics-story-row__grid {
    --bs-gutter-y: var(--space-3);
  }

  .ics-story-row .ics-eyebrow {
    font-size: 0.7875rem;
  }

  .ics-story-row__heading {
    font-size: clamp(1.575rem, 1.26rem + 2.34vw, 3.375rem);
  }

  .ics-story-row .ics-body-text {
    font-size: 1.125rem;
  }

  .ics-story-row__content {
    gap: 0.75rem;
  }

  .ics-story-row__heading {
    gap: var(--space-1);
  }

  .ics-child-focus-section__heading {
    font-size: clamp(1.575rem, 1.26rem + 2.34vw, 3.375rem);
  }

  .ics-pill-link {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    font-size: clamp(0.675rem, 3vw, 0.975rem);
    letter-spacing: 0.03em;
    gap: 0.625rem;
    padding: 0.9375rem 1.5625rem;
    border-radius: 1.5rem;
  }

  .ics-btn-brand {
    font-size: clamp(0.675rem, 3vw, 0.975rem);
    letter-spacing: 0.03em;
  }

  .ics-testimonial-block__text {
    font-size: 1.559375rem;
  }

  .ics-discover-card {
    --ics-discover-card-padding-block: 2rem;
    --ics-discover-card-padding-inline: 2rem;
    min-height: 33rem;
  }

  .ics-discover-card__title {
    font-size: 1.75rem;
    line-height: 1.15;
  }

  .ics-discover-card > .ics-pill-link .ics-pill-link__label {
    font-size: clamp(0.675rem, 3vw, 0.975rem);
  }

  .ics-discover-card--faith {
    --ics-discover-card-gap: 2rem;
    --ics-discover-card-lead-font-size: 1.125rem;
    min-height: auto;
  }

  .ics-discover-card--faith > .ics-pill-link {
    width: 100%;
    justify-content: center;
  }

  .ics-discover-card--faith > .ics-pill-link .ics-pill-link__label {
    white-space: normal;
    width: 100%;
  }

  .ics-site-footer {
    padding-block: var(--space-2) var(--space-5);
  }

  .ics-site-footer__top {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    margin-bottom: var(--space-2);
  }

  .ics-site-footer__intro {
    font-size: 1.0625rem;
  }

  .ics-site-footer__tagline {
    font-size: 2rem;
  }

  .ics-site-footer__intro-group {
    align-items: center;
    text-align: center;
  }

  .ics-site-footer__marks-row {
    justify-content: center;
  }

  .ics-site-footer__legal {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }

  .ics-site-footer__legal-left {
    justify-content: center;
  }

  .ics-footer-content-row {
    text-align: center;
  }

  .ics-footer-col__body {
    align-items: center;
  }

  .ics-quote-banner__circle {
    width: 85vw;
    min-height: 85vw;
    padding: 2rem 1.75rem;
  }

  .ics-quote-mark {
    font-size: 3rem;
  }

  .ics-quote-banner__text {
    font-size: 1.5rem;
  }

  .ics-comparison thead {
    display: none;
  }

  .ics-comparison tr {
    display: block;
    padding-block: var(--space-3);
    border-top: 1px solid var(--color-border);
  }

  .ics-comparison tr:first-child {
    border-top: 0;
  }

  .ics-comparison td {
    display: block;
    border-top: 0;
    padding-block: var(--space-1);
    font-size: 1.0625rem;
  }

  .ics-comparison td:first-child::before {
    content: "A values statement";
    display: block;
    font-size: var(--font-size-xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    color: var(--color-muted);
    margin-bottom: 0.25rem;
  }

  .ics-comparison td:last-child::before {
    content: "A living conviction";
    display: block;
    font-size: var(--font-size-xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    color: var(--color-muted);
    margin-bottom: 0.25rem;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .ics-hero {
    padding-bottom: var(--space-7);
  }

  .ics-hero__media {
    padding-inline: clamp(2rem, 7vw, 4rem);
    margin-bottom: 0;
  }

  .ics-hero__stat,
  .ics-hero__stat--left-center {
    position: relative;
    inset: auto;
    transform: none;
    width: min(20rem, 58vw);
    height: auto;
    min-height: min(20rem, 58vw);
    margin: var(--space-4) auto 0;
    padding: 2.25rem 2rem;
  }

  .ics-hero__stat-number {
    font-size: clamp(4rem, 10vw, 5.75rem);
    letter-spacing: -0.15rem;
  }

  .ics-hero__stat-title {
    font-size: clamp(1rem, 2.2vw, 1.25rem);
  }

  .ics-hero__stat-text {
    font-size: clamp(0.875rem, 1.8vw, 1rem);
  }
}

@media (max-width: 1199.98px) {
  .ics-comparison-section__inner {
    margin-bottom: 0;
  }

  .ics-child-focus-section__inner {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .ics-child-focus-section__grid,
  .ics-child-focus-section--media-right .ics-child-focus-section__grid {
    flex-direction: column;
    gap: var(--space-6);
    max-width: 44rem;
    margin-inline: auto;
  }

  .ics-child-focus-section__media,
  .ics-child-focus-section__content {
    width: 100%;
    max-width: 34.375rem;
    flex: 0 1 auto;
  }

  .ics-testimonial-section {
    height: auto;
    padding-bottom: var(--space-8);
  }

  .ics-testimonial-section__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
    padding-inline: var(--space-2);
  }

  .ics-testimonial-section__media {
    width: min(100%, 33.125rem);
    height: auto;
    aspect-ratio: 530 / 335;
  }

  .ics-testimonial-section__media--a,
  .ics-testimonial-section__media--b,
  .ics-testimonial-section__card {
    position: static;
    transform: none;
    margin: 0;
  }

  .ics-testimonial-section__card {
    width: min(100%, 42.375rem);
  }

  .ics-discover {
    height: auto;
    min-height: 0;
  }

  .ics-discover__content {
    padding-block: var(--space-8);
  }

  .ics-discover-card {
    --ics-discover-card-padding-block: clamp(2rem, 6vw, 4rem);
    --ics-discover-card-padding-inline: clamp(2rem, 6vw, 4rem);
  }

  .ics-prospectus-card {
    padding: clamp(2rem, 6vw, 4rem);
  }

  .ics-discover__prospectus-card,
  .ics-prospectus-media {
    margin-top: 0;
  }

  .ics-prospectus-media {
    height: auto;
    aspect-ratio: 4 / 5;
    margin-inline: auto;
  }
}

@media (min-width: 768px) and (max-width: 899.98px) {
  .ics-child-focus-section__grid,
  .ics-child-focus-section--media-right .ics-child-focus-section__grid {
    max-width: min(100%, 42rem);
  }

  .ics-child-focus-section__media,
  .ics-child-focus-section__content {
    max-width: min(100%, 38rem);
  }

  .ics-child-focus-section__heading {
    font-size: clamp(2.75rem, 5.4vw, 3.125rem);
  }
}

@media (min-width: 900px) and (max-width: 1199.98px) {
  .ics-child-focus-section__inner {
    padding-left: clamp(2rem, 5vw, 4rem);
    padding-right: clamp(2rem, 5vw, 4rem);
  }

  .ics-child-focus-section__grid,
  .ics-child-focus-section--media-right .ics-child-focus-section__grid {
    flex-direction: row;
    align-items: center;
    gap: clamp(2.5rem, 5vw, 4rem);
    width: min(100%, 70rem);
    max-width: none;
    margin-inline: auto;
  }

  .ics-child-focus-section__media {
    flex: 0 0 43%;
    width: 43%;
    max-width: none;
  }

  .ics-child-focus-section__content {
    flex: 1 1 0;
    width: auto;
    max-width: none;
  }

  .ics-child-focus-section__heading {
    font-size: clamp(3rem, 4.2vw, 4rem);
  }

  .ics-child-focus-section__features {
    gap: 1rem;
  }

  .ics-child-focus-section__features .ics-icon-feature {
    gap: 1rem;
  }

  .ics-icon-feature__title,
  .ics-icon-feature__text {
    font-size: clamp(1rem, 1.55vw, 1.25rem);
  }

  .ics-quote-card__quote,
  .ics-quote-card__name,
  .ics-quote-card__role {
    font-size: clamp(0.875rem, 1.2vw, 1rem);
  }

  .ics-child-focus-section .ics-pill-link {
    font-size: clamp(0.95rem, 1.3vw, 1.125rem);
  }
}

@media (max-width: 767.98px) {
  .container,
  .container-fluid,
  .ics-section > .container,
  .ics-section > .container-fluid {
    padding-left: var(--ics-mobile-gutter);
    padding-right: var(--ics-mobile-gutter);
  }

  .ics-parent-voices__inner,
  .ics-location__inner,
  .ics-fee-includes__inner,
  .ics-senior-outcomes__inner {
    width: min(100% - calc(var(--ics-mobile-gutter) * 2), 32rem);
  }

  .ics-child-focus-section__inner,
  .ics-comparison-section__inner,
  .ics-discover__content .container {
    padding-left: var(--ics-mobile-gutter);
    padding-right: var(--ics-mobile-gutter);
  }

  .ics-testimonial-section__stage {
    padding-left: 0;
    padding-right: 0;
  }

  .ics-story-row {
    padding-left: var(--ics-mobile-gutter);
    padding-right: var(--ics-mobile-gutter);
  }

  .ics-hero__stat {
    margin-bottom: 0;
  }

  .ics-testimonial-section {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }

  .ics-testimonial-section__stage {
    gap: var(--space-4);
  }

  .ics-testimonial-block {
    padding-top: var(--space-3);
    padding-bottom: var(--space-3);
  }
}

