:root {
  --color-ink: #000000;
  --color-muted: #463939;
  --color-surface: #ffffff;
  --color-surface-soft: #e9e9e9;
  --color-border: #d9d9d9;
  --color-brand: #5d1c61;
  --color-brand-dark: #5d1c61;
  --color-accent: #c6a5ca;
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --shadow-sm: 0 0.75rem 2rem rgba(23, 32, 51, 0.08);
  --container: 75rem;
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 5rem;

  color: var(--color-ink);
  background: var(--color-surface);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;

  background: var(--color-surface);
  font-size: 1rem;
  line-height: 1.65;
}

img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

a {
  color: var(--color-brand);
}

h1,
h2,
h3,
h4 {
  margin-block: 0 0.6em;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

h1 {
  font-size: clamp(2.6rem, 8vw, 5.5rem);
}

h2 {
  font-size: clamp(2rem, 5vw, 3.5rem);
}

h3 {
  font-size: clamp(1.3rem, 3vw, 1.75rem);
}

.site-shell {
  width: min(calc(100% - 2rem), var(--container));
  margin-inline: auto;
}

.section {
  padding-block: var(--space-7);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-ink);
  color: white;
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);


}

.site-header__inner {
  display: flex;

  align-items: center;

}

.site-brand {
  margin-right: auto;
}

.site-brand__name {
  display: flex;
  min-width: 12.5rem;
  flex-direction: column;
  align-items: center;
  color: white;
  line-height: 1;
  text-decoration: none;
}

.site-brand__spark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.45rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.site-brand__center {
  margin-top: 0.28rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.custom-logo {
  display: block;
  width: auto;
  max-height: 3rem;
}

.primary-nav__menu {
  display: flex;
  margin: 0;
  padding: 0;
  align-items: center;

  list-style: none;
}

.primary-nav__menu > li {
  position: relative;
}

.primary-nav__menu .sub-menu {
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  display: none;
  min-width: 15rem;
  margin: 0;
  padding: 0.7rem;
  border-radius: 0.65rem;
  background: white;
  box-shadow: 0 1.25rem 3rem rgba(18, 29, 48, 0.2);
  list-style: none;
  transform: translateX(-50%);
}

/* Keep the visual gutter below a parent item without creating a dead hover
   zone. The transparent pseudo-element belongs to the submenu, so moving the
   pointer through the 1rem gap preserves :hover/focus-within. */
.primary-nav__menu > li > .sub-menu::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 1rem;
  content: "";
}

.primary-nav__menu li:hover > .sub-menu,
.primary-nav__menu li:focus-within > .sub-menu {
  display: block;
}

.primary-nav__menu .sub-menu .sub-menu {
  top: 0;
  left: calc(100% + 0.35rem);
  transform: none;
}

.primary-nav__menu .sub-menu .sub-menu::before {
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  width: 0.35rem;
  content: "";
}

.primary-nav a {
  color: #e9e9e9;



  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.primary-nav__menu .sub-menu a {
  display: block;
  padding: 0.55rem 0.65rem;
  color: var(--color-brand-dark);
  font-size: 0.82rem;
  text-transform: none;
  white-space: normal;
}

.menu-toggle {
  display: none;
}

.button,
button,
input[type="submit"] {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.15rem;
  border: 1px solid var(--color-brand);
  border-radius: 999px;
  background: var(--color-brand);
  color: white;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.button--secondary {
  background: transparent;
  color: var(--color-brand);
}

.button--small {

  gap: 0.55rem;
  padding-inline: 1.15rem;
  border-color: white;

  background: white;
  color: var(--color-brand-dark);

  letter-spacing: 0.04em;

}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.hero {
  padding-block: clamp(4rem, 10vw, 8rem);
  background: linear-gradient(135deg, #ffffff, #f5eef6);
}

.hero__grid {
  display: grid;
  align-items: center;
  gap: var(--space-6);
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
}

.hero__copy,
.lede {
  max-width: 44rem;
  color: var(--color-muted);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
}

.eyebrow {
  margin-block: 0 0.7rem;
  color: var(--color-brand);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.media-placeholder {
  display: grid;
  min-height: 24rem;
  place-items: center;
  border: 1px dashed #aeb8c7;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, transparent 49.5%, #d9e0ea 49.5%, #d9e0ea 50.5%, transparent 50.5%),
    var(--color-surface);
  color: var(--color-muted);
}

.media-placeholder--card {
  min-height: 12rem;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background-color: var(--color-surface-soft);
}

.section-heading,
.page-heading {
  max-width: 52rem;
  margin-bottom: var(--space-6);
}

.page-heading h1 {
  font-size: clamp(2.5rem, 7vw, 4.75rem);
}

.card-grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.card__body {
  padding: var(--space-4);
}

.card > a {
  display: block;
  overflow: hidden;
}

.card > a img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 0;
  object-fit: cover;
  transition: transform 250ms ease;
}

.card:hover > a img {
  transform: scale(1.025);
}

.card__body h2 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.card__body h2 a {
  color: var(--color-ink);
  text-decoration: none;
}

.card__body h2 a:hover {
  color: var(--color-brand);
}

.card__body p {
  margin: 0;
  color: var(--color-muted);
}

.navigation.pagination {
  margin-top: 3rem;
}

.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.navigation.pagination .page-numbers {
  display: grid;
  min-width: 2.7rem;
  min-height: 2.7rem;
  padding: 0.4rem 0.7rem;
  place-items: center;
  border: 1px solid var(--color-border);
  border-radius: 0.6rem;
  text-decoration: none;
}

.navigation.pagination .current {
  border-color: var(--color-brand);
  background: var(--color-brand);
  color: #fff;
}

.content-layout {
  max-width: 58rem;
}

.entry-content > * {
  max-width: 48rem;
}

.entry-content > .alignwide {
  width: min(68rem, 100%);
  max-width: none;
  margin-inline: 50%;
  transform: translateX(-50%);
}

.featured-media {
  margin-bottom: var(--space-5);
}

.empty-state {
  min-height: 60vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.migrated-content .entry-content,
.migrated-content {
  width: 100%;
}

/* Imported Duda pages arrive inside one extra document wrapper. The generic
   editor rule above deliberately constrains prose blocks to 48rem, but that
   wrapper is the page canvas and must remain full width. */
.migrated-content .entry-content > * {
  width: 100%;
  max-width: none;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child {
  display: flex;

  align-items: center;

  background-position: center;
  background-size: cover;
  color: white;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-grid {
  max-width: 64rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text h1,
.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text h2,
.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text h3,
.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text h4 {
  color: white;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text h1 {
  margin-bottom: 0.05em;


}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text p {
  max-width: 54rem;
  margin-inline: auto;
  font-size: clamp(1rem, 1.7vw, 1.32rem);
  line-height: 1.55;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .videobgwrapper,
.migrated-home .dmHomeRespTmpl > .spark-section:first-child .bgExtraLayerOverlay {
  display: none;
}

.spark-section {
  position: relative;
  width: 100%;
  padding: clamp(3rem, 7vw, 6rem) 1rem;
  background-position: center;
  background-size: cover;
}

.spark-section:nth-child(even):not([style*="background"]) {
  background-color: #f8f5f8;
}

.spark-grid {
  display: flex;
  width: min(100%, 75rem);
  margin-inline: auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
}

.spark-col {
  min-width: 0;
  flex: 1 1 0;
}

.spark-col-1 { flex-basis: 8.333%; }
.spark-col-2 { flex-basis: 16.666%; }
.spark-col-3 { flex-basis: 25%; }
.spark-col-4 { flex-basis: 33.333%; }
.spark-col-5 { flex-basis: 41.666%; }
.spark-col-6 { flex-basis: 50%; }
.spark-col-7 { flex-basis: 58.333%; }
.spark-col-8 { flex-basis: 66.666%; }
.spark-col-9 { flex-basis: 75%; }
.spark-col-10 { flex-basis: 83.333%; }
.spark-col-11 { flex-basis: 91.666%; }
.spark-col-12 { flex-basis: 100%; }

.spark-rich-text h1,
.spark-rich-text h2,
.spark-rich-text h3,
.spark-rich-text h4 {
  color: var(--color-ink);
}

.spark-rich-text h1 { font-size: clamp(2.8rem, 7vw, 4.25rem); }
.spark-rich-text h2 { font-size: clamp(2.1rem, 5vw, 3rem); }

.spark-media {
  margin: 0;
}

.spark-media img,
.spark-section img {
  width: 100%;
  border-radius: 0.75rem;
}

.spark-table {
  width: 100%;
  border-collapse: collapse;
}

.spark-table th,
.spark-table td {
  padding: 0.8rem;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}

.entry-content > .spark-section,
.migrated-content > .spark-section {
  max-width: none;
}

.site-footer a {
  color: white;
}

.site-footer__title {
  font-size: 1.25rem;
  font-weight: 800;
}

.site-footer__bottom {

  padding-top: var(--space-4);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.72);
}

/* Polished content layout ------------------------------------------------- */

.site-main {
  overflow: hidden;
}

.migrated-content {
  background: #fff;
}

.migrated-content p,
.migrated-content ul,
.migrated-content ol {
  margin-block: 0 1rem;
}

.migrated-content p:empty,
.migrated-content li:empty {
  display: none;
}

.migrated-content ul,
.migrated-content ol {
  padding-left: 1.25rem;
}

.migrated-content .spark-section .spark-section {
  padding: 0;
  background: transparent;
}

.migrated-content .spark-section .spark-section:nth-child(even) {
  background: transparent;
}

.migrated-home .dmHomeRespTmpl > .spark-section {
  padding: clamp(4.5rem, 8vw, 7.5rem) 1.25rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section > .spark-grid {
  width: min(100%, 72rem);
}

.migrated-content .spark-col > a:not(:has(img)),
.migrated-content .spark-col > p > a:not(:has(img)) {
  display: inline-flex;
  min-height: 3.15rem;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.35rem;
  border-radius: 0.7rem;
  background: var(--color-brand);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.migrated-content .spark-col > a:not(:has(img)):hover,
.migrated-content .spark-col > p > a:not(:has(img)):hover {
  background: var(--color-brand-dark);
  box-shadow: 0 0.8rem 1.8rem rgba(93, 28, 97, 0.18);
  transform: translateY(-2px);
}

/* Migrated blog posts ---------------------------------------------------- */

.spark-post-hero {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 40.5rem;
  padding: 11.25rem 1rem;
  align-items: center;
  background-color: #222;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.22)),
    var(--spark-post-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #efefef;
  text-align: center;
}

.spark-post-hero__inner {
  width: 100%;
  margin: auto;
}

.spark-post-hero--empty {
  background-color: #bdbdbd;
  background-image: none;
}

.spark-post-hero h1 {
  width: calc(100% - 7rem);
  max-width: 54.6875rem;
  margin: 0 auto;
  padding: 0.125rem 0;
  color: #efefef;
  font-family: var(--font-sans);
  font-size: 4.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}

.spark-post-hero time {
  display: block;
  width: calc(100% - 3.625rem);
  max-width: 46.5rem;
  margin: 0.9375rem auto 0;
  padding: 0.125rem 0;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.3125;
}

.migrated-blog-post > .entry-content {
  padding: 2.5rem 0 0;
}

.migrated-blog-post > .entry-content > .spark-section {
  padding: 3.125rem 1rem 6.25rem;
  background: #fff;
}

.migrated-blog-post > .entry-content > .spark-section > .spark-grid {
  display: block;
  width: min(calc(100% - 2rem), 68.75rem);
}

.migrated-blog-post .spark-rich-text {
  color: #222120;
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: 1.5;
}

.migrated-blog-post .spark-rich-text h3 {
  margin: 1.1875rem 0 1.5rem;
  color: #222120;
  font-family: var(--font-sans);
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.25;
}

.migrated-blog-post .spark-rich-text p {
  margin: 0 0 1.25rem;
}

/* Homepage: hero */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(1) {
  min-height: min(47rem, calc(100vh - 5.9rem));
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(1) .spark-rich-text h3 {
  margin-top: 2.1rem;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(1) .spark-rich-text:last-child p {
  margin-bottom: 0.3rem;
  font-size: 1rem;
}

/* Homepage: problem / solution split */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) {
  background: #f8f5f8;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) > .spark-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) > .spark-grid > .spark-col:first-child {
  padding-right: clamp(0rem, 3vw, 2rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) > .spark-grid > .spark-col:last-child {
  min-height: 39rem;
  align-self: stretch;
  border-radius: 1.5rem;
  background:
    linear-gradient(180deg, rgba(18, 29, 48, 0.03), rgba(93, 28, 97, 0.18)),
    url("../images/spark-learning.png") center 35% / cover no-repeat;
  box-shadow: var(--shadow-sm);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) h1 {
  max-width: 11ch;
  font-size: clamp(2.7rem, 5vw, 4.4rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) .spark-section {
  margin-top: 2rem;
}

/* Homepage: premium experience */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) {
  background: #fff;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) .spark-grid {
  max-width: 57rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) h1 {
  font-size: clamp(2.7rem, 5.2vw, 4.5rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) .spark-col > .spark-rich-text:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) p {
  padding: 1.15rem;
  border: 1px solid var(--color-border);
  border-radius: 0.85rem;
  background: #f8f5f8;
  font-size: 1.03rem;
  text-align: left;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) p:first-child,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) p:nth-last-child(2) {
  grid-column: 1 / -1;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) p:first-child {
  font-size: 1.12rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) p:nth-last-child(2) {
  margin-top: 0.8rem;
  font-size: 1.15rem;
}

/* Homepage: assessment CTA */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4),
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) {
  width: min(calc(100% - 2rem), 72rem);
  margin: clamp(4rem, 7vw, 7rem) auto;
  padding: clamp(2.5rem, 5vw, 4rem);
  border-radius: 1.5rem;
  color: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) .spark-grid,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) .spark-grid {
  width: 100%;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) .spark-col,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) .spark-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 2rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) h2,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) h3 {
  margin: 0;
  color: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) p,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) a,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) a {
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: #fff;
  color: var(--color-brand-dark);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) .spark-col > p:has(> a),
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) .spark-col > p:has(> a),
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) .spark-col > a,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) .spark-col > a {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) .dmSpacer,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) .dmSpacer {
  display: none;
}

/* Homepage: advantage cards */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(5) {
  padding-block: clamp(3.5rem, 6vw, 5.5rem) 2rem;
  background: #fff;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(5) h1,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(8) h1,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(12) h1,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(14) h1 {
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(6) {
  padding-top: 1.5rem;
  background: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(6) > .spark-grid {
  align-items: stretch;
  gap: 1.25rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(6) > .spark-grid > .spark-col {
  padding: 1.25rem 1.25rem 1.5rem;
  border: 1px solid var(--color-border);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 1rem 2.5rem rgba(18, 29, 48, 0.07);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(6) .dmSpacer {
  min-height: 7.5rem;
  margin-bottom: 1.5rem;
  border-radius: 0.9rem;
  background: linear-gradient(135deg, #f1e9f2, #c6a5ca);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(6) > .spark-grid > .spark-col:nth-child(2) .dmSpacer {
  background: linear-gradient(135deg, #e8eef7, #9eb7d8);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(6) > .spark-grid > .spark-col:nth-child(3) .dmSpacer {
  background: linear-gradient(135deg, #f8eee0, #dfb982);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(6) h4 {
  font-size: 1.4rem;
}

/* Homepage: trust section */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) {
  background: var(--color-ink);
  color: #fff;
  text-align: left;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) h1 {
  max-width: 18ch;
  color: #fff;
  font-size: clamp(2.6rem, 5vw, 4.3rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) > .spark-grid > .spark-col > .spark-section {
  margin-top: 3rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) .spark-section > .spark-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding: 0;
  list-style: none;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) li {
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.08);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) .spark-section .spark-col:last-child {
  min-height: 23rem;
  border-radius: 1.3rem;
  background:
    linear-gradient(180deg, transparent, rgba(18, 29, 48, 0.24)),
    url("../images/spark-community.png") center / cover no-repeat;
}

/* Homepage: programs overview */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(8) {
  padding-bottom: 2rem;
  background: #f8f5f8;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) {
  padding-top: 1rem;
  background: #f8f5f8;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) > .spark-grid {
  display: block;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) > .spark-grid > .spark-col:first-child {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) > .spark-grid > .spark-col:last-child {
  display: none;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) .spark-section {
  padding: 1.5rem;
  border: 1px solid var(--color-border);
  border-radius: 1.2rem;
  background: #fff;
  text-align: left;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) .spark-section > .spark-grid {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 1rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) h1 {
  color: var(--color-accent);
  font-size: 2rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) h3 {
  font-size: 1.35rem;
}

/* Homepage: detailed program cards */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) {
  background: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) > .spark-grid > .spark-col > .spark-rich-text:first-child {
  max-width: 52rem;
  margin: 0 auto 3rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) h2 {
  font-size: clamp(2.6rem, 5vw, 4.2rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) .spark-section {
  margin-top: 1.25rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) .spark-section > .spark-grid {
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr) 3.2rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) .spark-col-1 h1 {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin: 0;
  place-items: center;
  border-radius: 50%;
  background: var(--color-brand);
  color: #fff;
  font-size: 1.2rem;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) .spark-col-5 {
  min-height: 100%;
  padding: 1.6rem;
  border: 1px solid var(--color-border);
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 0.8rem 2rem rgba(18, 29, 48, 0.06);
  text-align: left;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) .spark-col-5 h4,
.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) .spark-col-5 > .spark-rich-text:first-child p {
  color: var(--color-brand-dark);
  font-size: 1.35rem;
}

/* Homepage: image pair */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) {
  height: auto;
  padding: 0 40px;
  background: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) .spark-grid {
  width: min(100%, 1200px);
  max-width: 1200px;
  margin-inline: auto;
  align-items: flex-start;
  gap: 0;
  line-height: 0;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) .spark-col {
  width: 50%;
  padding: 0;
  flex: 0 0 50%;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) .spark-col:first-child {
  padding-right: 18px;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) .spark-col:last-child {
  padding-left: 18px;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) figure {
  display: inline-block;
  width: 74.68%;
  height: auto;
  margin: 0;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) .spark-col:last-child figure {
  width: 74.93%;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) .spark-col:first-child figure {
  margin-left: 5.325%;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
  object-fit: fill;
}

/* Homepage: testimonials */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(12) {
  padding: 46px 40px 30px 76px;
  background: #fff;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) {
  padding: 0 40px 46px;
  background: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) > .spark-grid {
  align-items: stretch;
  gap: 40px;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) > .spark-grid > .spark-col {
  position: static;
  min-height: 264.5px;
  padding: 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) > .spark-grid > .spark-col::before {
  content: none;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) .graphicWidget {
  display: block;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) .dmShape {
  display: block;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) > .spark-grid > .spark-col > .spark-rich-text p {
  font-size: 20px;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(13) .spark-section {
  position: static;
  margin-top: 32px;
  padding: 0;
  border: 0;
}

/* Homepage: FAQ */

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(14) {
  padding-bottom: 1rem;
  background: #fff;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(15) {
  padding-top: 1.5rem;
  background: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(15) ul {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  list-style: none;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(15) li {
  padding: 1.35rem 1.45rem;
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(18, 29, 48, 0.04);
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(15) li div:empty {
  display: none;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(15) h3 {
  margin-bottom: 0.75rem;
  color: var(--color-brand-dark);
  font-size: 1.08rem;
  line-height: 1.35;
  letter-spacing: 0;
}

.migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(15) p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.94rem;
  line-height: 1.65;
}

/* Migrated inner pages */

.migrated-content:not(.migrated-home) .entry-content > * > .spark-section,
.migrated-content:not(.migrated-home) .entry-content > .spark-section {
  padding: clamp(4rem, 7vw, 6.5rem) 1.25rem;
}

.migrated-content:not(.migrated-home) .entry-content > * > .spark-section > .spark-grid,
.migrated-content:not(.migrated-home) .entry-content > .spark-section > .spark-grid {
  width: min(100%, 68rem);
}

.migrated-content:not(.migrated-home) .entry-content > * > .spark-section:first-child,
.migrated-content:not(.migrated-home) .entry-content > .spark-section:first-child {
  background: linear-gradient(135deg, #f8f5f8, #fff);
}

.migrated-content:not(.migrated-home) .spark-rich-text > h2,
.migrated-content:not(.migrated-home) .spark-rich-text > h3 {
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
}

.migrated-content:not(.migrated-home) .spark-rich-text > ul,
.migrated-content:not(.migrated-home) .spark-rich-text > ol {
  display: grid;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  list-style: none;
}

.migrated-content:not(.migrated-home) .spark-rich-text > ul > li,
.migrated-content:not(.migrated-home) .spark-rich-text > ol > li {
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 0.7rem;
  background: #fff;
}

/* Programs hub */

.spark-source-programs .migrated-content .entry-content > * > .spark-section:first-child {
  background: #fff;
}

.spark-source-programs .migrated-content .spark-rich-text h1 {
  margin-bottom: 1.25rem;

}

.spark-source-programs .migrated-content .spark-rich-text > h3 {






  text-align: left;
}

.spark-source-programs .migrated-content .spark-rich-text > p {
  max-width: 55rem;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.spark-source-programs .migrated-content .spark-rich-text > ul {
  max-width: 55rem;
  margin: 1.25rem auto 1.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  text-align: left;
}

.spark-source-programs .migrated-content .spark-rich-text p > a {

  margin-left: 0.4rem;




  font-weight: 800;

}

.spark-source-programs .migrated-content .spark-col > .spark-rich-text:last-of-type {
  margin-top: 5rem;



}

.spark-source-programs .migrated-content .spark-col > .spark-rich-text:last-of-type h3 {
  margin-top: 0;
  padding: 0;
  background: transparent;
  color: var(--color-ink);
  text-align: center;
}

.spark-source-programs .migrated-content .spark-col > .spark-rich-text:last-of-type p {
  text-align: center;
}

.spark-source-programs .migrated-content .spark-col > p:has(> a),
.spark-source-programs .migrated-content .spark-col > a {
  margin-top: 1.5rem;
}

.content-layout {
  padding-block: clamp(4rem, 7vw, 7rem);
}

.content-layout .page-heading {
  margin-bottom: 3rem;
}

.content-layout .page-heading h1 {
  max-width: 15ch;
  font-size: clamp(3rem, 6vw, 5.3rem);
}

.content-layout .entry-content {
  margin-inline: auto;
  font-size: 1.08rem;
}

.content-layout .entry-content h2,
.content-layout .entry-content h3 {
  margin-top: 2.3em;
}

.content-layout .entry-content img {
  margin-block: 1.5rem;
  border-radius: 1rem;
}

/* Full footer */

.site-footer {
  padding-block: clamp(4rem, 7vw, 6rem) 1.5rem;

}

.site-footer__brand > p {
  max-width: 23rem;
  margin-block: 1.4rem 0;
  color: rgba(255, 255, 255, 0.78);
}

.site-footer__wordmark {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  line-height: 1;
  text-decoration: none;
}

.site-footer__wordmark span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.65rem;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.site-footer__wordmark small {
  margin-top: 0.35rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.site-footer__promise {
  padding-left: 1rem;
  border-left: 2px solid var(--color-accent);
  font-size: 0.9rem;
}

.site-footer__heading {
  margin: 0 0 1.1rem;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.site-footer__nav a,
.site-footer__contact a {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
}

.site-footer__nav a:hover,
.site-footer__contact a:hover,
.site-footer__bottom a:hover {
  color: #fff;
}

.site-footer__contact p {
  margin-block: 0 0.65rem;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.5;
}

.site-footer__contact .site-footer__cta {
  display: inline-flex;
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.6rem;
  background: #fff;
  color: var(--color-brand-dark);
  font-weight: 800;
}

.site-footer__bottom {
  display: flex;
  margin-top: clamp(3rem, 6vw, 5rem);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.85rem;
}

.site-footer__bottom p {
  margin: 0;
}

.site-footer__bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.site-footer__bottom a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
}

@media (max-width: 900px) {

  .hero__grid,
  .card-grid {
    grid-template-columns: 1fr;
  }

  .primary-nav,
  .site-header__inner > .button {
    display: none;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .spark-grid {
    flex-direction: column;
    align-items: stretch;
  }

  .spark-col,
  [class*="spark-col-"] {
    flex-basis: auto;
    width: 100%;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) > .spark-grid,
  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) .spark-section > .spark-grid {
    grid-template-columns: 1fr;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(2) > .spark-grid > .spark-col:last-child,
  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(7) .spark-section .spark-col:last-child {
    min-height: 28rem;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(10) .spark-section > .spark-grid {
    grid-template-columns: 3.2rem minmax(0, 1fr);
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(15) ul {
    grid-template-columns: 1fr;
  }

  .spark-source-programs .migrated-content .spark-rich-text > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Header interaction states --------------------------------------------- */
@media (min-width: 901px) {

}

@media (max-width: 480px) {

}

/* Final homepage desktop parity lock. */
@media (min-width: 901px) {
  .site-header.is-condensed,
  .site-header.is-condensed .site-header__inner {
    min-height: 62px;
  }

  .site-header.is-condensed .site-brand__name,
  .site-header.is-condensed .site-brand__name img,
  .site-header.is-condensed .custom-logo-link,
  .site-header.is-condensed .custom-logo {
    width: 134px;
    max-height: 56px;
  }

  .site-header .site-shell {
    padding-inline: 57px;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1710246645 {
    display: block;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1216168183 {
    width: 589px;
    margin: 9px 0 0;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1452238940 {
    width: 407px;
    margin: 8px 0 0;
    padding: 2px 0;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1710246645 > p {
    margin: 32px 0 0;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1710246645 > p > a {
    display: flex;
    width: 280px;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 6px;
    background: #5d1c61;
    color: #fff;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1710246645 > p > a br,
  .migrated-home .spark-node-1303175865 .spark-node-1710246645 > p > a span:empty {
    display: none;
  }

  .migrated-home .spark-node-1330474883 h1 {
    font-size: 48px;
    line-height: 1.28;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid {
    display: grid;

    gap: 20px;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid > .spark-col {
    width: 440px;
    margin: 0;
    padding: 25px;
  }

  .migrated-home .spark-node-1634888472 .spark-node-1987041221,
  .migrated-home .spark-node-1634888472 .spark-node-1368547868,
  .migrated-home .spark-node-1634888472 .spark-node-1555756684 {
    width: 390px;
    height: 234px;
    min-height: 0;
  }

  .migrated-home .spark-node-1908878426 {
    background: url("../images/home-advantage-love.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1930536606 {
    background: url("../images/home-advantage-results.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1182950680 {
    background: url("../images/home-advantage-progress.webp") center / cover no-repeat;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1341954636 {
    background: #fff;
    color: #222120;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1067344269 {
    height: 494.984px;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1832110652 {
    height: 119px;
    padding: 2px 0;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1832110652 h1 {
    width: 100%;
    max-width: none;
    margin: 0;
    color: #7d2880;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1477451177 {
    height: 366px;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1477451177 > .spark-grid {
    display: grid;
    grid-template-columns: 7fr 5fr;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1393822791 {
    width: auto;
    height: 366px;
    padding: 0;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1260444125 {
    width: auto;
    height: 342px;
    margin: 16px 17.34px 8px;
  }

  .migrated-home .spark-node-1341954636 p,
  .migrated-home .spark-node-1341954636 li {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #222120;
    font-size: 22px;
    line-height: 1.3;
  }

  .migrated-home .spark-node-1341954636 ul {
    display: block;
    margin: 0;
    padding-left: 26px;
    list-style: disc;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1356287033 {
    width: auto;
    height: 366px;
    margin: 0 20px;
    padding: 0;
    background: url("../images/home-trusted-families.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1414197986 h1 {
    color: #7d2880;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.28;
  }

  .migrated-home .spark-node-1414197986 h2 {
    margin: 0;
    color: #7d2880;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.28;
  }

  .migrated-home .spark-node-1387766705 > .spark-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .migrated-home .spark-node-1387766705 > .spark-grid > .spark-col {
    display: block;
    width: auto;
    height: 852px;
    flex: none;
  }

  .migrated-home .spark-node-1387766705 .spark-node-1585441453 {
    background: url("../images/home-programs-overview.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1387766705 .spark-section {
    margin: 0 0 40px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .migrated-home .spark-node-1387766705 .spark-section > .spark-grid {
    display: grid;
    grid-template-columns: 145px 1fr;
  }

  .migrated-home .spark-node-1483840954 h2 {
    width: 100%;
    max-width: none;
    margin: 0 0 80px;
    color: #7d2880;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
  }

  .migrated-home .spark-node-1483840954 .spark-section {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .migrated-home .spark-node-1483840954 .spark-section > .spark-grid {
    display: flex;
    width: 100%;
    max-width: none;
    gap: 0;
  }

  .migrated-home .spark-node-1483840954 .spark-col-1 h1 {
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #7d2880;
    font-size: 48px;
  }

  .migrated-home .spark-node-1483840954 .spark-col-5 {
    min-height: 0;
    padding: 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .migrated-home .spark-node-1611751615 ul {
    display: block;
    margin: 0;
    padding: 0;
  }

  .migrated-home .spark-node-1611751615 li {
    position: relative;
    display: block;
    width: 100%;
    min-height: 73px;
    margin: 0;
    padding: 20px 16px;
    border: 0;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .migrated-home .spark-node-1611751615 h3 {
    position: relative;
    margin: 0;
    padding-right: 44px;
    color: #7d2880;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.35;
    cursor: pointer;
  }

  .migrated-home .spark-node-1611751615 h3::after {
    position: absolute;
    top: 50%;
    right: 4px;
    color: #222120;
    content: "+";
    font-family: var(--font-sans);
    font-size: 28px;
    font-weight: 300;
    transform: translateY(-50%);
  }

  .migrated-home .spark-node-1611751615 li.is-open h3::after {
    content: "−";
  }

  .migrated-home .spark-node-1611751615 li > p {
    display: none;
    margin: 16px 44px 0 0;
    font-size: 16px;
  }

  .migrated-home .spark-node-1611751615 li > div:nth-child(2) {
    display: none;
  }

  .migrated-home .spark-node-1611751615 li.is-open > div:nth-child(2) {
    display: block;
    margin-top: 16px;
  }

  .migrated-home .spark-node-1611751615 li.is-open > p {
    display: block;
  }

}

@media (min-width: 901px) and (max-width: 1199px) {

  .migrated-home .spark-rich-text,
  .migrated-home .spark-rich-text h1,
  .migrated-home .spark-rich-text h2,
  .migrated-home .spark-rich-text h3,
  .migrated-home .spark-node-1595249821 .spark-node-1668358176,
  .migrated-home .spark-node-1595249821 .spark-node-1172773411,
  .migrated-home .spark-node-1595249821 .spark-node-1178248678 {
    max-width: 100%;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1595249821 {
    height: auto;
    min-height: 909.8px;
  }

  .migrated-home .spark-node-1595249821 > .spark-grid,
  .migrated-home .spark-node-1595249821 > .spark-grid > .spark-col {
    height: auto;
    min-height: 789.8px;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1746933399 {
    width: 100%;
    max-width: 100%;
  }



  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 {
    padding-bottom: 63px;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1477451177 > .spark-grid {
    width: 100%;
    max-width: 100%;
    grid-template-columns: 7fr 5fr;
  }
}

/* Homepage spacing rhythm ------------------------------------------------ */
@media (min-width: 901px) {
  .migrated-home .dmHomeRespTmpl > .spark-node-1125318557 {
    padding: 40px 30px 48px;
  }

  .migrated-home .spark-node-1634888472 .spark-node-1987041221,
  .migrated-home .spark-node-1634888472 .spark-node-1368547868,
  .migrated-home .spark-node-1634888472 .spark-node-1555756684 {
    margin-bottom: 24px;
  }

  .migrated-home .spark-node-1634888472 h4 {
    margin: 0 0 16px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1341954636 {
    height: auto;
    min-height: 633px;
    padding: 48px 20px 90px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1414197986 {
    height: auto;
    min-height: 117px;
    padding: 32px 20px 24px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1387766705 {
    height: auto;
    min-height: 972px;
    padding: 48px 20px 72px;
  }

  .migrated-home .spark-node-1387766705 h3 {
    margin: 0 0 20px;
  }

  .migrated-home .spark-node-1387766705 p {
    margin: 0 0 14px;
  }

  .migrated-home .spark-node-1483840954 .spark-node-1352112540 {
    margin-bottom: 48px;
  }

  .migrated-home .spark-node-1483840954 h4 {
    margin: 0 0 18px;
  }

  .migrated-home .spark-node-1483840954 p {
    margin-top: 0;
    margin-bottom: 14px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1785760200 {
    height: auto;
    min-height: 395.6px;
    padding: 32px 40px;
  }
}

@media (max-width: 900px) {
  .migrated-home .spark-node-1634888472 .spark-node-1987041221,
  .migrated-home .spark-node-1634888472 .spark-node-1368547868,
  .migrated-home .spark-node-1634888472 .spark-node-1555756684 {
    margin-bottom: 20px;
  }

  .migrated-home .spark-node-1634888472 h4 {
    margin: 0 0 14px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1341954636 {
    padding-top: 40px;
    padding-bottom: 72px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1387766705 {
    padding-top: 40px;
    padding-bottom: 60px;
  }

  .migrated-home .spark-node-1483840954 .spark-node-1352112540 {
    margin-bottom: 32px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1785760200 {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}

/* The source mobile site intentionally keeps a 768px content canvas. */
@media (max-width: 900px) {
  .migrated-home {
    width: 768px;
    min-width: 768px;
    border-top: 8px solid #fff;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section {
    width: 768px;
    min-width: 768px;
    margin: 0;
    box-sizing: border-box;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1724716257 {
    height: 1168px;

  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1595249821 {
    height: 1211.35px;
    padding: 60px 20px;
  }

  .migrated-home .spark-node-1595249821 > .spark-grid {
    display: grid;
    width: 728px;
    min-width: 728px;
    height: 1091.35px;
    grid-template-columns: repeat(2, 364px);
    gap: 0;
  }

  .migrated-home .spark-node-1595249821 > .spark-grid > .spark-col {
    display: block;
    width: 364px;
    height: 1091.35px;
    min-width: 0;
    flex: none;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1389367015 {
    padding: 16px 20px 16px 16px;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1668358176 {
    width: 328px;
    height: 325px;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1668358176 h1 {
    width: 328px;
    max-width: none;
    margin: 0;
    color: #7d2880;
    font-size: 54px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1172773411 {
    width: 328px;
    height: 604.38px;
    margin-top: 16px;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1172773411 p {
    margin: 0;
    font-size: 22px;
    line-height: 1.3;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1178248678 {
    width: 328px;
    height: 82px;
    margin-top: 32px;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1842189154 {
    padding: 40px 16px;
    border-radius: 0;
    background: url("../images/home-problem.webp") center / cover no-repeat;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1125318557 { height: 691.3px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1303175865 { width: 768px; height: 461.5px; padding: 9px 20px 60px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1330474883 { height: 166px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1634888472 { height: 679.5px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1341954636 { height: 613.5px; background: #fff; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1414197986 {
    height: 74px;
    padding: 0 20px;
  }
  .migrated-home .dmHomeRespTmpl > .spark-node-1387766705 { height: 1182px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1483840954 { height: 1659.5px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1785760200 { height: 282.9px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1927116090 { height: 193px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 { height: 400px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1170060726 { height: 184px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1611751615 { height: 2334px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1170084957 { width: 768px; height: 206px; }

  .migrated-home .spark-node-1303175865 .spark-node-1710246645 {
    display: block;
    width: 728px;
    height: 392.5px;
    padding: 40px;
    border-radius: 20px;
    background: url("../images/home-assessment-monsters.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid {
    display: grid;
    width: 728px;
    min-width: 728px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid > .spark-col {
    width: auto;
    margin: 0;
  }

  .migrated-home .spark-node-1908878426 { background: url("../images/home-advantage-love.webp") center / cover no-repeat; }
  .migrated-home .spark-node-1930536606 { background: url("../images/home-advantage-results.webp") center / cover no-repeat; }
  .migrated-home .spark-node-1182950680 { background: url("../images/home-advantage-progress.webp") center / cover no-repeat; }

  .migrated-home .spark-node-1341954636 .spark-node-1832110652 h1,
  .migrated-home .spark-node-1414197986 h2 {
    width: 100%;
    max-width: none;
    color: #7d2880;
    font-size: 48px;
    text-align: center;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1477451177 > .spark-grid,
  .migrated-home .spark-node-1387766705 > .spark-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .migrated-home .spark-node-1341954636 .spark-node-1356287033 {
    background: url("../images/home-trusted-families.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1387766705 .spark-node-1585441453 {
    background: url("../images/home-programs-overview.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1785760200 > .spark-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .migrated-home .spark-node-1611751615 ul {
    display: block;
    margin: 0;
    padding: 0;
  }

  .migrated-home .spark-node-1611751615 li {
    position: relative;
    display: block;
    width: 100%;
    min-height: 73px;
    margin: 0;
    padding: 20px 16px;
    border: 0;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .migrated-home .spark-node-1611751615 h3 {
    position: relative;
    margin: 0;
    padding-right: 44px;
    color: #7d2880;
    font-size: 20px;
    font-weight: 400;
    cursor: pointer;
  }

  .migrated-home .spark-node-1611751615 h3::after {
    position: absolute;
    top: 50%;
    right: 4px;
    content: "+";
    font-size: 28px;
    transform: translateY(-50%);
  }

  .migrated-home .spark-node-1611751615 li > p { display: none; }
  .migrated-home .spark-node-1611751615 li.is-open > p { display: block; }
  .migrated-home .spark-node-1611751615 li > div:nth-child(2) { display: none; }
  .migrated-home .spark-node-1611751615 li.is-open > div:nth-child(2) { display: block; }
}

/* Home desktop parity lock. Keep this final so later shared-page refinements
   cannot re-introduce the previous redesign spacing on the imported homepage. */
@media (min-width: 901px) {

}

/* Homepage testimonials — source parity -------------------------------- */
.migrated-home .dmHomeRespTmpl > .spark-node-1927116090 {
  min-height: 0;
  padding: 46px 40px 30px 76px;
  background: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1927116090 > .spark-grid {
  width: min(100%, 1200px);
  max-width: 1200px;
  margin-inline: auto;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1927116090 .spark-node-1887278311 {
  width: 88%;
  margin-inline: auto;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1927116090 .spark-node-1683794934 {
  width: 74%;
  margin-inline: auto;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1927116090 .spark-node-1887278311 h2 {
  margin: 0;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 48px;
  font-weight: 400;
  line-height: 48px;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1927116090 .spark-node-1683794934 p {
  margin: 18px 0 0;
  color: #222120;
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 300;
  line-height: 25.5px;
  text-align: center;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 {
  min-height: 0;
  padding: 0 40px 46px;
  background: #fff;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid {
  display: flex;
  width: min(100%, 1200px);
  max-width: 1200px;
  margin-inline: auto;
  align-items: stretch;
  flex-direction: row;
  gap: 40px;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col {
  position: static;
  min-width: 0;
  height: 264.5px;
  min-height: 0;
  padding: 16px;
  border: 0;
  border-radius: 0;
  flex: 1 1 0;
  background: transparent;
  box-shadow: none;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col::before {
  content: none;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 .graphicWidget {
  display: block;
  width: 116px;
  height: 28px;
  margin: 0 0 26px;
  opacity: 0;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col > .spark-rich-text p {
  margin: 0;
  color: #222120;
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 300;
  line-height: 25.5px;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col > .spark-section {
  position: static;
  min-height: 0;
  height: 70px;
  margin-top: 32px;
  padding: 0;
  border: 0;
  background: transparent;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col > .spark-section > .spark-grid {
  display: flex;
  width: 100%;
  height: 70px;
  max-width: none;
  margin: 0;
  align-items: center;
  flex-direction: row;
  gap: 0;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col > .spark-section .spark-col-9 {
  width: 75%;
  padding: 0;
  flex: 0 0 75%;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col > .spark-section .spark-col-3 {
  width: 25%;
  padding: 0;
  flex: 0 0 25%;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col > .spark-section strong {
  color: #222120;
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: normal;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col > .spark-section p {
  margin: 0;
  color: #222120;
  font-family: var(--font-serif);
  font-size: 14px;
  font-weight: 300;
  line-height: normal;
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 .dmShape {
  display: block;
  width: 54.664px;
  height: 56px;
  margin-left: auto;
  border-radius: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  transform: translateY(2px);
}

.migrated-home .dmHomeRespTmpl > .spark-node-1028202187 .dmShape > * {
  display: none;
}

.migrated-home .spark-node-1502011689 {
  background-image: url("../images/testimonial-le-duy-lan.webp");
}

.migrated-home .spark-node-1864480187 {
  background-image: url("../images/testimonial-tina-huynh.webp");
}

.migrated-home .spark-node-1284297461 {
  background-image: url("../images/testimonial-whitney-evalt.webp");
}

@media (max-width: 900px) {
  .migrated-home .dmHomeRespTmpl > .spark-node-1927116090 {
    padding-right: 40px;
    padding-left: 76px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1927116090 > .spark-grid,
  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid {
    min-width: 0;
    max-width: none;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1927116090 .spark-node-1887278311,
  .migrated-home .dmHomeRespTmpl > .spark-node-1927116090 .spark-node-1683794934 {
    width: calc(100% - 32px);
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid {
    width: 100%;
    flex-direction: row;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 > .spark-grid > .spark-col {
    height: 354px;
  }
}

/* ESL detail page -------------------------------------------------------
   The source keeps its two-column 768px canvas on tablets and phones. */
.spark-source-esl .migrated-content .entry-content > * > .spark-section:first-child {
  min-height: 18.5rem;
  padding: 0;
  background-color: transparent;
  background-position: center;
  background-size: cover;
}

.spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) {
  padding: 2.25rem 2.5rem 6rem;
  background: #fff;
}

.spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid {
  width: 100%;
  max-width: none;
  align-items: flex-start;
  gap: 1.875rem;
}

.spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid > .spark-col {
  width: 50%;
  flex: 0 0 50%;
}

.spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) img {
  display: block;
  width: 100%;
  border-radius: 0;
}

/* Homepage source-parity pass -------------------------------------------
   The imported node IDs are retained as stable visual hooks. These rules
   reproduce the source composition while keeping our own semantic HTML. */
@media (min-width: 901px) {
  .migrated-home .dmHomeRespTmpl > .spark-section {
    box-sizing: border-box;
    min-height: 0;
    background-color: #fff;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section > .spark-grid {
    width: 1200px;
    max-width: 1200px;
    gap: 0;
  }

  .migrated-home .spark-rich-text p,
  .migrated-home .spark-rich-text li {
    color: #222120;
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 300;
    line-height: 1.28;
  }

  /* Hero */

  .migrated-home .spark-node-1724716257 .videobgwrapper {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
  }

  .migrated-home .spark-node-1724716257 .spark-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .migrated-home .spark-node-1724716257 .bgExtraLayerOverlay {
    position: absolute;
    inset: 0;
    display: block;
    background: rgba(0, 0, 0, 0.18);
  }

  .migrated-home .spark-node-1724716257 > .spark-grid {
    position: relative;

  }

  .migrated-home .spark-node-1724716257 .spark-node-1311962694 {
    height: 631px;
    padding: 16px;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1068702967 {
    width: 1055px;
    margin: 8px auto;
    padding: 2px 0;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1068702967 h1 {
    margin: 0;
    color: #fff;

    font-weight: 700;

    letter-spacing: 0;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1018958234 {
    width: 761px;
    margin: 8px auto;
    padding: 2px 0;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1018958234 p,
  .migrated-home .spark-node-1724716257 .spark-node-1879911682 p {
    color: #fff;
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.48;
    text-align: center;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1879911682 {
    width: 637px;
    margin: 16px auto 8px;
    padding: 2px 0;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1879911682 h3 {
    margin: 0;
    color: #fff;

    font-weight: 400;
    letter-spacing: 0;
  }

  /* Problem */
  .migrated-home .dmHomeRespTmpl > .spark-node-1595249821 {
    height: 909.789px;
    padding: 60px 20px;
    background: #fff;
  }

  .migrated-home .spark-node-1595249821 > .spark-grid {
    height: 789.789px;
    align-items: stretch;
  }

  .migrated-home .spark-node-1595249821 > .spark-grid > .spark-col {

    height: 789.789px;

  }

  .migrated-home .spark-node-1595249821 h1 {
    max-width: none;
    margin: 0;
    color: #7d2880;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1172773411 {
    margin-top: 16px;
    padding: 2px 0;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1842189154 {
    min-height: 0;
    padding: 40px 16px;
    border-radius: 20px;
    background: url("../images/home-problem.webp") center / cover no-repeat;
    box-shadow: none;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1746933399 {
    width: 500px;
    height: 597px;
    min-height: 0;
    margin: 0 auto;
    background: none;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1178248678 {
    width: 564px;
    height: 82px;
    margin-top: 32px;
  }

  /* Premium learning statement */
  .migrated-home .dmHomeRespTmpl > .spark-node-1125318557 {

    padding: 10px 30px 20px;
    text-align: center;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1731732704 {
    width: 100%;
    padding: 16px;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1037788300 {
    margin: 0 0 20px;
  }

  .migrated-home .spark-node-1125318557 h1 {
    margin: 0;
    color: #7d2880;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1468773086,
  .migrated-home .spark-node-1125318557 .spark-col > .spark-rich-text:last-child {
    display: block;
    width: 773px;
    margin: 0 auto;
  }

  .migrated-home .spark-node-1125318557 p {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 20px;
    line-height: 1.28;
    text-align: center;
  }

  /* Assessment banner */
  .migrated-home .dmHomeRespTmpl > .spark-node-1303175865 {






    color: #fff;
  }

  .migrated-home .spark-node-1303175865 > .spark-grid {
    height: 392.5px;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1710246645 {
    width: 100%;
    height: 392.5px;
    padding: 40px;
    border-radius: 20px;
    background: url("../images/home-assessment-monsters.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1303175865 .spark-node-1710246645 > * {
    max-width: 590px;
  }

  .migrated-home .spark-node-1303175865 h2 {
    color: #fff;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1303175865 p {
    color: #fff;
    font-size: 20px;
  }

  .migrated-home .spark-node-1303175865 a {
    width: 280px;
    min-height: 55px;
    border-radius: 6px;
    background: #5d1c61;
    color: #fff;
  }

  /* Advantage heading and cards */
  .migrated-home .dmHomeRespTmpl > .spark-node-1330474883 {


    text-align: center;
  }

  .migrated-home .spark-node-1330474883 h1 {
    margin: 0;
    color: #7d2880;
    font-size: 48px;
    line-height: 1.28;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid {


    height: 477px;
    align-items: stretch;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid > .spark-col {
    height: 477px;
    margin-right: 20px;
    padding: 25px;
    border: 0;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.05);
    box-shadow: none;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid > .spark-col:last-child {
    margin-right: 0;
  }

  .migrated-home .spark-node-1634888472 .dmSpacer {
    width: 100%;
    height: 234px;
    min-height: 0;
    margin: 0 0 20px;
    border-radius: 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .migrated-home .spark-node-1987041221 { background-image: url("../images/home-advantage-love.webp"); }
  .migrated-home .spark-node-1368547868 { background-image: url("../images/home-advantage-results.webp"); }
  .migrated-home .spark-node-1555756684 { background-image: url("../images/home-advantage-progress.webp"); }

  .migrated-home .spark-node-1634888472 h4 {
    color: #7d2880;
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1634888472 p {
    font-size: 20px;
  }

  /* Trusted families */
  .migrated-home .dmHomeRespTmpl > .spark-node-1341954636 {
    height: 584.984px;
    padding: 0 20px 90px;
    background: #fff;
    color: #222120;
  }

  .migrated-home .spark-node-1341954636 > .spark-grid {
    display: block;
    height: 494.984px;
  }

  .migrated-home .spark-node-1341954636 h1 {
    max-width: none;
    margin: 0 0 24px;
    color: #7d2880;
    font-size: 48px;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1477451177 {
    height: 366px;
    margin: 0;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1477451177 > .spark-grid {
    display: flex;
    width: 1200px;
    height: 366px;
    gap: 0;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1477451177 .spark-col {
    width: 50%;
    padding: 16px;
    flex: 0 0 50%;
  }

  .migrated-home .spark-node-1341954636 ul {
    display: block;
    padding-left: 26px;
    list-style: disc;
  }

  .migrated-home .spark-node-1341954636 li {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
  }

  .migrated-home .spark-node-1341954636 .spark-node-1356287033 {
    min-height: 0;
    border-radius: 0;
    background: url("../images/home-trusted-families.webp") center / cover no-repeat;
  }

  /* Four-program overview */
  .migrated-home .dmHomeRespTmpl > .spark-node-1414197986 {
    height: 73.992px;
    padding: 0 20px;
    text-align: center;
  }

  .migrated-home .spark-node-1414197986 h1 {
    margin: 0;
    color: #7d2880;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.28;
    letter-spacing: 0;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1387766705 {
    height: 982px;
    padding: 70px 20px 60px;
    background: #fff;
  }

  .migrated-home .spark-node-1387766705 > .spark-grid {
    display: flex;
    height: 852px;
    align-items: stretch;
  }

  .migrated-home .spark-node-1387766705 > .spark-grid > .spark-col {
    display: block;
    width: 50%;
    height: 852px;
    flex: 0 0 50%;
  }

  .migrated-home .spark-node-1387766705 .spark-node-1643864857 {
    padding-right: 20px;
  }

  .migrated-home .spark-node-1387766705 .spark-node-1585441453 {
    display: block;
    background: url("../images/home-programs-overview.webp") center / cover no-repeat;
  }

  .migrated-home .spark-node-1387766705 .spark-section {
    min-height: 0;
    margin: 0 0 40px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .migrated-home .spark-node-1387766705 .spark-section > .spark-grid {
    display: grid;
    width: 100%;
    grid-template-columns: 145px 1fr;
    gap: 0;
  }

  .migrated-home .spark-node-1387766705 h1 {
    color: #7d2880;
    font-size: 56px;
    line-height: 1;
  }

  .migrated-home .spark-node-1387766705 h3 {
    color: #7d2880;
    font-size: 30px;
    line-height: 1.15;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1387766705 p {
    font-size: 16px;
  }

  /* Detailed program copy */
  .migrated-home .dmHomeRespTmpl > .spark-node-1483840954 {

    padding: 100px 30px 70px;
  }

  .migrated-home .spark-node-1483840954 h2 {
    margin: 0 0 80px;
    color: #7d2880;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1483840954 .spark-section {
    margin: 0;
    padding: 0;
  }

  .migrated-home .spark-node-1483840954 .spark-section > .spark-grid {
    display: flex;
    width: 100%;
    max-width: none;
    align-items: flex-start;
    gap: 0;
  }

  .migrated-home .spark-node-1483840954 .spark-col-1 h1 {
    display: block;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #7d2880;
    font-size: 48px;
  }

  .migrated-home .spark-node-1483840954 .spark-col-5 {
    min-height: 0;
    padding: 16px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .migrated-home .spark-node-1483840954 h4,
  .migrated-home .spark-node-1483840954 .spark-col-5 > .spark-rich-text:first-child p {
    color: #222120;
    font-family: var(--font-serif);
    font-size: 20px;
  }

  .migrated-home .spark-node-1483840954 p,
  .migrated-home .spark-node-1483840954 li {
    font-size: 16px;
  }

  /* FAQ */
  .migrated-home .dmHomeRespTmpl > .spark-node-1170060726 {
    height: 155.5px;
    padding: 35px 20px 20px;
  }

  .migrated-home .spark-node-1170060726 h1 {
    margin: 0;
    color: #7d2880;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1170060726 p {
    margin: 12px 0 0;
    font-size: 20px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1611751615 {

    padding: 20px 60px 60px;
  }

  .migrated-home .spark-node-1611751615 > .spark-grid {


    align-items: flex-start;
  }

  .migrated-home .spark-node-1611751615 ul {
    display: block;
  }

  .migrated-home .spark-node-1611751615 li {
    min-height: 73px;
    padding: 20px 16px;
    border: 0;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    box-shadow: none;
  }

  .migrated-home .spark-node-1611751615 h3 {
    margin: 0;
    color: #7d2880;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0;
  }

  .migrated-home .spark-node-1611751615 p {
    margin-top: 16px;
    font-size: 16px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1170084957 {




    border-radius: 0;

    color: #222120;
    text-align: center;
  }

  .migrated-home .spark-node-1170084957 h3 {

    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 300;
  }

  .migrated-home .spark-node-1170084957 a {
    width: 260px;
    min-height: 56px;
    border-radius: 6px;
    background: #5d1c61;
    color: #fff;
  }
}

.spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) h2 {
  margin: 1.25rem 0 1rem;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
}

.spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) p {
  margin-bottom: 1.65rem;
  font-family: var(--font-serif);
  font-size: 1.375rem;
  line-height: 1.35;
}

@media (min-width: 1400px) {
  .spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid > .spark-col:first-child {
    visibility: hidden;
  }
}

@media (max-width: 900px) {
  .spark-source-esl .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid {
    flex-direction: row;
  }
}

/* Our Story ------------------------------------------------------------- */
.spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child {
  display: flex;
  min-height: 29.125rem;
  padding: 2rem;
  align-items: center;
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: center;
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child::before {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(0, 0, 0, 0.34);
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child > .spark-grid {
  position: relative;
  z-index: 1;
  transform: translateY(-2rem);
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child h1 {
  margin: 0 0 0.55rem;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child p {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:nth-child(2) {
  padding: 2.25rem 3.75rem 5.5rem;
  background: #fff;
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid {
  width: min(100%, 59.625rem);
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:nth-child(2) h2 {
  margin: 0 0 2.5rem;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:nth-child(2) hr {
  width: 4.25rem;
  margin: 0 auto 2.15rem;
  border: 0;
  border-top: 1px solid #444;
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:nth-child(2) .dmDividerWrapper {
  padding-top: 2.5rem;
}

.spark-source-our-story .migrated-content .entry-content > * > .spark-section:nth-child(2) p {
  margin: 0 0 1.7rem;
  font-family: var(--font-serif);
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.4;
}

@media (min-width: 1400px) {
  .spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child {
    background: #777;
  }

  .spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child::before {
    display: none;
  }
}

@media (max-width: 900px) {
  .spark-source-our-story .migrated-content .entry-content > * > .spark-section:first-child {
    min-height: 31.0625rem;
    background-size: auto 200%;
  }
}

/* Academic-English explainer ------------------------------------------- */
.spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:first-child {
  min-height: 18.5rem;
  padding: 0;
  background-position: center;
  background-size: cover;
}

.spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) {
  padding: 7rem 2.5rem 6rem;
  background: #fff;
}

.spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid {
  width: 100%;
  max-width: none;
  align-items: flex-start;
  gap: 0.625rem;
}

.spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid > .spark-col {
  width: 50%;
  flex: 0 0 50%;
}

.spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) h2 {
  margin: 0 0 1.25rem;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) img {
  display: block;
  width: 100%;
  border-radius: 0;
}

.spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) p {
  margin: 0 0 1.55rem;
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
}

@media (min-width: 1400px) {
  .spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:first-child {
    background: #fff;
  }

  .spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) {
    padding-top: 21.5rem;
  }
}

@media (max-width: 900px) {
  .spark-source-why-academic-english-matters .migrated-content .entry-content > * > .spark-section:nth-child(2) > .spark-grid {
    flex-direction: row;
  }
}

@media (min-width: 1400px) {

}

/* Contact page ---------------------------------------------------------- */
.spark-source-contact .entry-content > .dmHomeRespTmpl,
.spark-source-contact .entry-content > .spark-node-1571087853 {
  width: 100%;
  max-width: none;
}

/* Assessment page ------------------------------------------------------- */
.spark-source-assessment .site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
}

/* Student exclusive landing page --------------------------------------- */
.spark-source-access .site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
}

.spark-source-access .entry-content > .dmHomeRespTmpl {
  width: 100%;
  max-width: none;
}

.spark-source-access .spark-node-62a71175fdd2b461c33665c1,
.spark-source-access .spark-node-62a71175fdd2b461c33665c0 {
  min-height: 56.25vw;
}

.spark-source-access .spark-node-62a71175fdd2b461c33665c1 {
  padding: 0;
}

.spark-source-access .spark-node-62a71175fdd2b461c33665c0 {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
    url("../images/spark-access-hero.png") center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.spark-source-access .spark-node-62a71175fdd2b461c33665be {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.spark-source-access .spark-node-1876361109,
.spark-source-access .spark-node-1596650588 {
  position: absolute;
  left: 50%;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1;
  transform: translateX(-50%);
}

.spark-source-access .spark-node-1876361109 {
  top: -5.5rem;
}

.spark-source-access .spark-node-1596650588 {
  bottom: -5.5rem;
}

.spark-source-access .spark-node-1279668438 h4,
.spark-source-access .spark-node-1279668438 h4 * {
  margin: 0 0 0.2rem;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

.spark-source-access .spark-node-1414598866 h1,
.spark-source-access .spark-node-1414598866 h1 * {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
}

.spark-source-access .spark-node-1032906666 {
  padding: 2rem 1.25rem 6rem;
  background: #fff;
  text-align: center;
}

.spark-source-access .spark-node-1032906666 > .spark-grid {
  display: block;
  width: min(calc(100% - 2rem), 48rem);
  margin: 0 auto;
}

.spark-source-access .spark-node-1032906666 h1,
.spark-source-access .spark-node-1032906666 h2,
.spark-source-access .spark-node-1032906666 h3 {
  margin: 0 auto 1.4rem;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
}

.spark-source-access .spark-node-1032906666 p {
  display: block;
  margin: 0 auto 1.5rem;
  color: #3f2b3d;
  font-family: var(--font-serif);
  font-size: 1.375rem;
  line-height: 2;
  text-align: center;
}

.spark-source-access .spark-node-1032906666 p > a {
  display: inline;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #7d2880;
  font-family: var(--font-serif);
  font-weight: 700;
  text-decoration: underline;
}

@media (max-width: 900px) {
  .spark-source-access .spark-node-62a71175fdd2b461c33665c1,
  .spark-source-access .spark-node-62a71175fdd2b461c33665c0 {
    min-height: 37.75rem;
  }
}

/* Student portal reuses the exclusive hero geometry with its own photo. */
.spark-source-student-portal .site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
}

/* Spark rewards store --------------------------------------------------- */
.spark-source-spark-store .site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
}

.spark-source-spark-store .entry-content > .dmHomeRespTmpl {
  width: 100%;
  max-width: none;
}

.spark-source-spark-store .spark-node-62a71175fdd2b461c33665c1 {
  min-height: 56.25vw;
  padding: 0;
}

.spark-source-spark-store .spark-node-62a71175fdd2b461c33665c0 {
  display: flex;
  width: 100%;
  min-height: 56.25vw;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)),
    url("../images/spark-store-hero.png") center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.spark-source-spark-store .spark-node-62a71175fdd2b461c33665be {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.spark-source-spark-store .spark-node-1876361109,
.spark-source-spark-store .spark-node-1596650588 {
  position: absolute;
  left: 50%;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1;
  transform: translateX(-50%);
}

.spark-source-spark-store .spark-node-1876361109 { top: -5.5rem; }
.spark-source-spark-store .spark-node-1596650588 { bottom: -5.5rem; }

.spark-source-spark-store .spark-node-1279668438 h4 {
  margin: 0 0 0.2rem;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.3em;
}

.spark-source-spark-store .spark-node-1414598866 h1 {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1.15;
}

.spark-source-spark-store .spark-node-06a9d795 {
  min-height: 25rem;
  padding: 2.5rem 1.25rem 5rem;
  background: #fff;
  text-align: center;
}

.spark-source-spark-store .spark-node-06a9d795 > .spark-grid {
  display: block;
  width: min(calc(100% - 2rem), 48rem);
  margin: 0 auto;
}

.spark-source-spark-store .spark-node-06a9d795 h1 {
  margin: 0;
  color: #142036;
  font-family: var(--font-sans);
  font-size: 4.25rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

@media (max-width: 900px) {
  .spark-source-spark-store .spark-node-62a71175fdd2b461c33665c1,
  .spark-source-spark-store .spark-node-62a71175fdd2b461c33665c0 {
    min-height: 37.75rem;
  }
}

.spark-source-student-portal .entry-content > .dmHomeRespTmpl {
  width: 100%;
  max-width: none;
}

.spark-source-student-portal .spark-node-62a71175fdd2b461c33665c1 {
  min-height: 56.25vw;
  padding: 0;
}

.spark-source-student-portal .spark-node-62a71175fdd2b461c33665c0 {
  display: flex;
  width: 100%;
  min-height: 56.25vw;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
    url("../images/spark-student-portal-hero.png") center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.spark-source-student-portal .spark-node-62a71175fdd2b461c33665be {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.spark-source-student-portal .spark-node-1876361109,
.spark-source-student-portal .spark-node-1596650588 {
  position: absolute;
  left: 50%;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1;
  transform: translateX(-50%);
}

.spark-source-student-portal .spark-node-1876361109 { top: -5.5rem; }
.spark-source-student-portal .spark-node-1596650588 { bottom: -5.5rem; }

.spark-source-student-portal .spark-node-1279668438 h4 {
  margin: 0 0 0.2rem;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.3em;
}

.spark-source-student-portal .spark-node-1414598866 h1 {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1.15;
}

@media (max-width: 900px) {
  .spark-source-student-portal .spark-node-62a71175fdd2b461c33665c1,
  .spark-source-student-portal .spark-node-62a71175fdd2b461c33665c0 {
    min-height: 37.75rem;
  }
}

.spark-source-assessment .entry-content > .dmHomeRespTmpl {
  width: 100%;
  max-width: none;
}

.spark-source-assessment .entry-content > .dmHomeRespTmpl > div:first-child > section {
  min-height: 56.25vw;
  padding: 0;
}

.spark-source-assessment .spark-node-62a71042fdd2b461c3364170 {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 56.25vw;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(rgba(23, 29, 32, 0.3), rgba(23, 29, 32, 0.3)),
    url("../images/spark-assessment-hero.jpg") center / cover no-repeat;
  text-align: center;
}

.spark-source-assessment .spark-node-62a71042fdd2b461c336416e {
  display: flex;
  width: min(calc(100% - 4rem), 48rem);
  flex-direction: column;
  align-items: center;
}

.spark-source-assessment .spark-node-62a71067fdd2b461c3364478 {
  order: 2;
}

.spark-source-assessment .spark-node-62a71073fdd2b461c33646fc {
  order: 1;
}

.spark-source-assessment .spark-node-1849876604 h4 {
  margin: 0 0 0.45rem;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.31em;
  text-transform: uppercase;
}

.spark-source-assessment .spark-node-1475371329 h1 {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.spark-source-assessment .spark-node-1457190132 {
  padding: 4.8rem 1.25rem 6rem;
  background: #c1a6c7;
  text-align: center;
}

.spark-source-assessment .spark-node-1457190132 > .spark-grid {
  display: block;
  width: min(calc(100% - 2rem), 48rem);
  margin: 0 auto;
}

.spark-source-assessment .spark-node-1457190132 h2,
.spark-source-assessment .spark-node-1457190132 h3,
.spark-source-assessment .spark-node-1457190132 h4 {
  width: 23.625rem;
  margin: 0 auto 2.35rem;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.15;
  text-align: center;
}

.spark-source-assessment .spark-node-1457190132 h3 + h3 {
  display: none;
}

.spark-source-assessment .spark-node-1457190132 p {
  display: block;
  width: 27rem;
  margin: 0 auto 1.75rem;
  color: #5d4058;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  line-height: 1.15;
  text-align: center;
}

@media (max-width: 900px) {
  .spark-source-assessment .entry-content > .dmHomeRespTmpl > div:first-child > section,
  .spark-source-assessment .spark-node-62a71042fdd2b461c3364170 {
    min-height: 37.75rem;
  }

  .spark-source-assessment .spark-node-62a71042fdd2b461c336416e {
    width: 45rem;
  }

  .spark-source-assessment .spark-node-1475371329 h1 {
    font-size: 2.375rem;
  }
}

.spark-source-contact .entry-content > .dmHomeRespTmpl > div:first-child > section {
  position: relative;
  display: flex;
  min-height: 39rem;
  align-items: center;
  justify-content: center;
  background: #5d1c61;
  color: #fff;
  text-align: center;
}

.spark-source-contact .entry-content > .dmHomeRespTmpl > div:first-child > section .grid,
.spark-source-contact .entry-content > .dmHomeRespTmpl > div:first-child > section .group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.spark-source-contact .spark-node-1292034811,
.spark-source-contact .spark-node-1888475334 {
  position: absolute;
  left: 50%;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1;
  transform: translateX(-50%);
}

.spark-source-contact .spark-node-1292034811 {
  top: 8.7rem;
}

.spark-source-contact .spark-node-1888475334 {
  bottom: 8.7rem;
}

.spark-source-contact .spark-node-1141412214 h4 {
  margin: 0 0 0.35rem;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.spark-source-contact .spark-node-1177881247 h1 {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 4.25rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.spark-source-contact .entry-content > .spark-node-1571087853 > section {
  padding: 3.15rem 1.25rem 6rem;
  background: #fff;
}

.spark-source-contact .entry-content > .spark-node-1571087853 > section > .grid {
  display: block;
  width: min(calc(100% - 2rem), 68rem);
  margin: 0 auto;
}

.spark-source-contact .spark-node-1555397056 p {
  display: block;
  max-width: 48rem;
  margin: 0 auto;
  color: #68415f;
  font-family: var(--font-serif);
  font-size: 1.375rem;
  line-height: 2;
  text-align: center;
}

.spark-source-contact .spark-node-1520006125 > h3 {
  display: none;
}

.spark-source-contact .spark-node-1520006125 {
  margin-top: 3.25rem;
}

.spark-source-contact .dmform-wrapper form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.875rem;
}

.spark-source-contact .dmforminput {
  grid-column: span 1;
}

.spark-source-contact .dmforminput.small-12.medium-12,
.spark-source-contact .dmforminput.large-12,
.spark-source-contact .dmformsubmit,
.spark-source-contact .dmform-wrapper form > p {
  grid-column: 1 / -1;
}

.spark-source-contact .dmforminput input + input,
.spark-source-contact .dmform-wrapper form > p {
  display: none;
}

.spark-source-contact .dmforminput label {
  display: block;
  margin-bottom: 0.3rem;
  color: #3e263b;
  font-family: var(--font-serif);
  font-size: 0.875rem;
}

.spark-source-contact .dmforminput input,
.spark-source-contact .dmforminput textarea {
  width: 100%;
  min-height: 2.5rem;
  border: 1px solid #5d1c61;
  background: #fff;
}

@media (max-width: 900px) {
  .spark-source-contact .entry-content > .spark-node-1571087853 > section {
    padding-top: 5rem;
  }

  .spark-source-contact .entry-content > .spark-node-1571087853 > section > .grid {
    width: 42.125rem;
  }
}

@media (max-width: 600px) {
  .site-shell {
    width: min(calc(100% - 1.25rem), var(--container));
  }

  .section {
    padding-block: var(--space-6);
  }

  .media-placeholder {
    min-height: 16rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section {
    padding: 3.75rem 0.75rem;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(1) {
    min-height: 43rem;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(1) .spark-rich-text h1 {
    font-size: clamp(2.35rem, 12vw, 3.3rem);
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4),
  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) {
    width: min(calc(100% - 1.25rem), 72rem);
    margin-block: 3rem;
    padding: 2rem 1.35rem;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) .spark-col,
  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) .spark-col {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) a,
  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) a {
    grid-column: auto;
    grid-row: auto;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(9) > .spark-grid > .spark-col:first-child {
    grid-template-columns: 1fr;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(3) .spark-col > .spark-rich-text:last-child {
    grid-template-columns: 1fr;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(4) .spark-col > p:has(> a),
  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(16) .spark-col > p:has(> a) {
    grid-column: auto;
    grid-row: auto;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) figure,
  .migrated-home .dmHomeRespTmpl > .spark-section:nth-of-type(11) img {
    height: 20rem;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .migrated-content:not(.migrated-home) .spark-rich-text > ul,
  .migrated-content:not(.migrated-home) .spark-rich-text > ol,
  .spark-source-programs .migrated-content .spark-rich-text > ul {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}

/* Source fidelity layer -------------------------------------------------- */

@font-face {
  font-family: "Spark Avenir";
  src: url("../fonts/avenir-next-regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Spark Avenir";
  src: url("../fonts/avenir-next-bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Spark Avenir";
  src: url("../fonts/avenir-next-italic.otf") format("opentype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Frank Ruhl Libre";
  src: url("../fonts/frank-ruhl-libre-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
}

:root {
  --font-sans: "Spark Avenir", "Avenir Next", Avenir, sans-serif;
  --font-serif: "Frank Ruhl Libre", Georgia, serif;
  --header-height: 5.875rem;
  font-family: var(--font-sans);
}

body {
  color: #000;
  font-family: var(--font-sans);
}

.site-header {
  min-height: var(--header-height);
  border: 0;
  background: #5d1c61;
  backdrop-filter: none;
}

.site-header .site-shell {
  width: 100%;
  max-width: none;
  padding-inline: 1.5625rem;
}

.site-header__inner {
  min-height: var(--header-height);
  gap: clamp(1rem, 2.2vw, 2rem);
}

.site-brand__name,
.site-brand__name img,
.custom-logo-link,
.custom-logo {
  display: block;
  width: 12.5rem;
  max-width: none;
  height: auto;
  max-height: 5rem;
  object-fit: contain;
}

.primary-nav__menu {
  gap: clamp(0.65rem, 1.55vw, 1.55rem);
}

.primary-nav a {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
}

.primary-nav__menu > .current-menu-item > a,
.primary-nav__menu > .current-menu-ancestor > a {
  text-decoration: overline underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.42rem;
}

.primary-nav__menu .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.primary-nav__menu .menu-item-has-children > a::after {
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: translateY(-0.12rem) rotate(45deg);
  transition: transform 160ms ease;
}

.primary-nav__menu .sub-menu .menu-item-has-children > a::after {
  margin-left: auto;
  transform: rotate(-45deg);
}

.primary-nav__menu > li > a {
  position: relative;
  padding-block: 0.75rem;
}

.primary-nav__menu > li > a::before {
  position: absolute;
  right: 0;
  bottom: 0.45rem;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0;
  transform: scaleX(0.5);
  transition: opacity 160ms ease, transform 160ms ease;
}

.primary-nav__menu > li:hover > a::before,
.primary-nav__menu > li:focus-within > a::before {
  opacity: 1;
  transform: scaleX(1);
}

.primary-nav__menu .sub-menu a:hover,
.primary-nav__menu .sub-menu a:focus-visible {
  border-radius: 0.35rem;
  background: rgba(93, 28, 97, 0.08);
  color: #5d1c61;
  outline: none;
}

.submenu-toggle {
  display: none;
}

.button--small {
  min-width: 10.75rem;
  min-height: 2.625rem;
  border: 0;
  border-radius: 0.375rem;
  font-family: var(--font-serif);
  font-size: 0.875rem;
  text-transform: uppercase;
}

.menu-toggle {
  width: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0.35rem 0.2rem;
  border: 0;
  border-radius: 0;
  flex-direction: column;
  gap: 0.27rem;
  background: transparent;
}

.menu-toggle__line {
  display: block;
  width: 1.875rem;
  border-top: 2px solid #d9d9d9;
}

/* The current source site serves its main canvas at a 768px minimum on
   phone widths. Keeping that behaviour makes the reference and rebuild
   agree exactly, including the visible horizontal crop. */
@media (max-width: 767px) {
  .site-main {
    min-width: 48rem;
  }

  .migrated-content .entry-content > * {
    width: 48rem;
    min-width: 48rem;
  }
}

@media (max-width: 900px) {
  :root {
    --header-height: 5.3125rem;
  }

  .site-header .site-shell {
    padding-inline: 2.625rem 1.75rem;
  }

  .site-brand__name,
  .site-brand__name img,
  .custom-logo-link,
  .custom-logo {
    width: 8.7rem;
    max-height: 4.2rem;
  }

  .menu-toggle {
    margin-left: auto;
  }

}

/* Search and 404 -------------------------------------------------------- */
.search-page__hero {
  padding: clamp(4rem, 8vw, 7rem) 1rem;
  background: #5d1c61;
  color: #fff;
  text-align: center;
}

.search-page__hero h1 {
  max-width: 55rem;
  margin: 0.5rem auto 2rem;
  color: #fff;
  font-size: clamp(2rem, 4.5vw, 3.75rem);
}

.spark-site-search {
  display: flex;
  width: min(100%, 36rem);
  margin-inline: auto;
  padding: 0.3rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.15);
}

.spark-site-search input {
  min-width: 0;
  height: 3rem;
  padding: 0 1rem;
  border: 0;
  flex: 1;
  background: transparent;
  color: #000;
}

.spark-site-search input:focus {
  outline: 2px solid transparent;
}

.spark-site-search button {
  min-height: 3rem;
  padding-inline: 1.4rem;
}

.search-page__results {
  width: min(calc(100% - 2rem), 60rem);
  padding-block: 3.5rem 6rem;
}

.search-page__count {
  margin-bottom: 1.5rem;
  color: #6b596c;
}

.search-result {
  padding: 2rem 0;
  border-bottom: 1px solid rgba(93, 28, 97, 0.18);
}

.search-result:first-child {
  border-top: 1px solid rgba(93, 28, 97, 0.18);
}

.search-result h2 {
  margin: 0.35rem 0 0.65rem;
  font-size: clamp(1.4rem, 3vw, 2rem);
}

.search-result h2 a {
  color: #5d1c61;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2rem;
}

.error404 .empty-state {
  display: flex;
  min-height: 38rem;
  padding-block: 5rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.error404 .empty-state h1 {
  margin: 0.5rem 0 1rem;
  font-size: clamp(2.5rem, 7vw, 5rem);
}

.error404 .empty-state > p:not(.eyebrow) {
  max-width: 38rem;
  margin-bottom: 2rem;
}

.error404 .empty-state .spark-site-search {
  border: 1px solid rgba(93, 28, 97, 0.2);
}

.error404 .empty-state .button-row {
  margin-top: 1.5rem;
}

.spark-lead-form .spark-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.spark-form-notice {
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  border: 1px solid #5d1c61;
  border-radius: 0.4rem;
  background: rgba(93, 28, 97, 0.08);
  color: #5d1c61;
  font-family: var(--font-sans);
  font-weight: 700;
}


/* Homepage hero */

.migrated-home .dmHomeRespTmpl > .spark-section:first-child {
  min-height: calc(100vh - var(--header-height));
  padding: 5.4rem 1.25rem 4.4rem;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
    url("../images/spark-hero-poster.jpg");
  overflow: hidden;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .videobgwrapper {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-hero-video {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .bgExtraLayerOverlay {
  position: absolute;
  inset: 0;
  display: block;
  background: rgba(0, 0, 0, 0.2);
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child > .spark-grid {
  position: relative;
  z-index: 1;
  width: min(100%, 65.9375rem);
  max-width: 65.9375rem;
  transform: translateY(6.375rem);
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text h1 {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 4.25rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text:nth-of-type(2) {
  width: min(100%, 47.5835rem);
  margin: 0.75rem auto 0;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text:nth-of-type(2) p {
  font-family: var(--font-sans);
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.5;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text:nth-of-type(3) h3 {
  margin: 2.3rem 0 0;
  font-family: var(--font-sans);
  font-size: 1.75rem;
  font-weight: 400;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text:nth-of-type(3) {
  width: 39.8125rem;
  margin-inline: auto;
}

.migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text:nth-of-type(3) p {
  font-family: var(--font-sans);
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.45;
}



/* Programs hub mirrors the source's narrow editorial column. */

.spark-source-programs .migrated-content,
.spark-source-programs .migrated-content p,
.spark-source-programs .migrated-content ul,
.spark-source-programs .migrated-content ol {
  font-family: var(--font-serif);
}

.spark-source-programs .migrated-content .entry-content > * > .spark-section:first-child,
.spark-source-programs .migrated-content .entry-content > .spark-section:first-child {
  padding: 6.35rem 1.25rem 5rem;
  background: #fff;
}

.spark-source-programs .migrated-content .spark-section > .spark-grid {
  width: min(100%, 48rem);
  max-width: 48rem;
}

.spark-source-programs .migrated-content .spark-rich-text h1 {
  margin: 0 0 2rem;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.18;
  text-align: center;
}

.spark-source-programs .migrated-content hr {
  width: 4.25rem;
  margin: 0 auto 2.15rem;
  border: 0;
  border-top: 1px solid #777;
}

.spark-source-programs .migrated-content .spark-rich-text > p,
.spark-source-programs .migrated-content .spark-rich-text > ul,
.spark-source-programs .migrated-content .spark-rich-text > ol {
  max-width: none;
  margin: 0 0 1.45rem;
  padding: 0;
  color: #222120;
  font-size: 1.375rem;
  line-height: 1.35;
  text-align: left;
}

.spark-source-programs .migrated-content .spark-rich-text > ul,
.spark-source-programs .migrated-content .spark-rich-text > ol {
  display: block;
  padding-left: 1.75rem;
  list-style: initial;
}

.spark-source-programs .migrated-content .spark-rich-text > ul > li,
.spark-source-programs .migrated-content .spark-rich-text > ol > li {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.spark-source-programs .migrated-content .spark-rich-text > h3 {
  margin: 1.65rem 0 1.7rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #7d2880;
  font-family: var(--font-sans);
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.25;
}

.spark-source-programs .migrated-content .spark-rich-text p > a {
  display: inline;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #222120;
  font-family: var(--font-serif);
  text-decoration: underline;
}

.spark-source-programs .migrated-content .spark-col > .spark-rich-text:last-of-type {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

/* Summer campaign hero */

.spark-source-summer .migrated-content .entry-content > * > .spark-section:first-child,
.spark-source-summer .migrated-content .entry-content > .spark-section:first-child {
  display: flex;
  min-height: calc(100vh - var(--header-height));
  padding: 4rem 1.25rem;
  align-items: center;
  background:
    linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)),
    url("../images/spark-summer-hero.png") center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.spark-source-summer .migrated-content .entry-content > * > .spark-section:first-child > .spark-grid,
.spark-source-summer .migrated-content .entry-content > .spark-section:first-child > .spark-grid {
  width: min(100%, 48rem);
}

.spark-source-summer .migrated-content .entry-content > * > .spark-section:first-child h1,
.spark-source-summer .migrated-content .entry-content > .spark-section:first-child h1 {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.spark-source-summer .migrated-content .entry-content > * > .spark-section:first-child p,
.spark-source-summer .migrated-content .entry-content > .spark-section:first-child p {
  display: block;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  line-height: 1.35;
}

.spark-source-summer .migrated-content .entry-content > * > .spark-section:first-child a,
.spark-source-summer .migrated-content .entry-content > .spark-section:first-child a {
  min-width: 13.875rem;
  margin-top: 1.25rem;
  border-radius: 0.25rem;
  background: #5d1c61;
  color: #fff;
  font-family: var(--font-serif);
  font-weight: 700;
}

@media (max-width: 900px) {
  .spark-source-summer .migrated-content .entry-content > * > .spark-section:first-child > .spark-grid,
  .spark-source-summer .migrated-content .entry-content > .spark-section:first-child > .spark-grid {
    width: 43rem;
    min-width: 43rem;
  }

  .spark-source-summer .migrated-content .entry-content > * > .spark-section:first-child h1,
  .spark-source-summer .migrated-content .entry-content > .spark-section:first-child h1 {
    font-size: 3rem;
  }
}

/* Footer on the source is intentionally spare: wordmark, two link columns,
   then social/contact details on the same purple field. */

.site-footer {
  min-height: 21.75rem;
  padding: 7.25rem 0 4.25rem;
  background: #5d1c61;
  color: #fff;
  font-family: var(--font-serif);
}

.site-footer__grid {
  display: grid;
  width: min(calc(100% - 2rem), 75rem);
  align-items: start;
  gap: 3.5rem;
  grid-template-columns: 1.5fr 0.85fr 0.85fr 1.2fr;
}

.site-footer__wordmark,
.site-footer__wordmark img {
  display: block;
  width: 14.5rem;
  height: auto;
}

.site-footer__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__nav li + li {
  margin-top: 2.5rem;
}

.site-footer__nav a,
.site-footer__contact a,
.site-footer__contact p {
  color: #fff;
  font-size: 1rem;
  line-height: 1.35;
}

.site-footer__contact p {
  margin: 0;
}

.site-footer__social {
  display: flex;
  min-height: 2.25rem;
  align-items: center;
  gap: 1.15rem;
  margin-bottom: 1.5rem;
}

.site-footer__social a {
  font-family: var(--font-sans);
  font-size: 1.2rem;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 900px) {
  .migrated-home .dmHomeRespTmpl > .spark-section:first-child {
    min-height: calc(100vh - var(--header-height));
    padding-block: 5.8rem 3.5rem;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:first-child > .spark-grid {
    width: 40rem;
    min-width: 40rem;
    max-width: 40rem;
    transform: translateY(6.875rem);
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text h1 {
    width: 40rem;
    font-size: 4.25rem;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text:nth-of-type(2) {
    width: 30.8125rem;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section:first-child .spark-rich-text:nth-of-type(3) {
    width: 37rem;
    margin-inline: auto;
  }

  .spark-source-programs .migrated-content .entry-content > * > .spark-section:first-child,
  .spark-source-programs .migrated-content .entry-content > .spark-section:first-child {
    padding-top: 6.95rem;
  }

  .spark-source-programs .migrated-content .spark-section > .spark-grid {
    width: 37.1875rem;
    min-width: 37.1875rem;
    max-width: 37.1875rem;
    margin-right: auto;
    margin-left: auto;
    flex: none;
  }

  .spark-source-programs .migrated-content .spark-section > .spark-grid > .spark-col {
    width: 100%;
  }

  .spark-source-programs .migrated-content .spark-rich-text h1 {
    width: 38.5rem;
    margin-left: -0.65625rem;
    font-size: 4.25rem;
  }

}

/* Blog source geometry has greater specificity than the generic migrated-page
   layer above. Keep this last so every imported post shares the same rhythm. */
.migrated-content.migrated-blog-post > .entry-content > .spark-section {
  padding: 3.125rem 1rem 6.25rem;
  background: #fff;
}

/* Blog index ------------------------------------------------------------ */
.blog .site-main {
  background: #fff;
}

.spark-blog-hero {
  display: flex;
  min-height: 19.6875rem;
  padding: 2rem 1.25rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("../images/spark-blog-hero.webp") center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.spark-blog-hero h1 {
  margin: 0 0 1rem;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.spark-blog-search {
  position: relative;
  width: 22.5rem;
}

.spark-blog-search input {
  width: 100%;
  height: 2.75rem;
  padding: 0 3rem 0 1.25rem;
  border: 0;
  border-radius: 2rem;
  background: #fff;
  color: #222;
  font-family: var(--font-serif);
  font-size: 0.875rem;
}

.spark-blog-search button {
  position: absolute;
  top: 0;
  right: 0;
  width: 3rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #222;
  font-size: 1.4rem;
}

.spark-blog-index {
  width: min(calc(100% - 2rem), 75rem);
  padding: 0.625rem 0 5rem;
}

.spark-blog-index .card-grid {
  display: grid;
  gap: 1.125rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.spark-blog-index .card {
  overflow: hidden;
  border: 0;
  border-radius: 0.2rem;
  background: #fff;
  box-shadow: 0 0.2rem 0.65rem rgba(0, 0, 0, 0.2);
}

.spark-blog-index .card > a,
.spark-blog-index .card > a img {
  display: block;
  width: 100%;
}

.spark-blog-index .card > a img {
  height: 11.875rem;
  border-radius: 0;
  object-fit: cover;
}

.spark-blog-index .card__body {
  padding: 0.85rem 0.9rem 1.2rem;
}

.spark-blog-index .card h2 {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  line-height: 1.35;
}

.spark-blog-index .card h2 a {
  color: #222120;
  text-decoration: none;
}

.spark-blog-index .card p {
  margin: 0;
  color: #8d8189;
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .spark-blog-index {
    width: 43rem;
  }
}

@media (max-width: 480px) {

  .menu-toggle {
    width: 1.375rem;
    min-width: 1.375rem;
  }

  .menu-toggle__line {
    width: 1.375rem;
  }
}

.migrated-content.migrated-blog-post > .entry-content > .spark-section > .spark-grid {
  display: block;
  width: min(calc(100% - 2rem), 68.75rem);
}

.migrated-content.migrated-blog-post .spark-rich-text h3 {
  margin: 1.1875rem 0 1.5rem;
  color: #222120;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.2;
}


@media (max-width: 900px) {
  .spark-post-hero {
    padding-right: 0;
    padding-left: 0;
    background-position: calc((100vw - 150vh) / 2) top;
    background-size: auto 100vh;
  }

  .spark-post-hero h1 {
    width: 34.75rem;
  }

  .spark-post-hero time {
    width: 38.125rem;
  }

  .migrated-content.migrated-blog-post > .entry-content > .spark-section > .spark-grid {
    width: 41.75rem;
  }
}

@media (max-width: 480px) {
  .site-header .site-shell {
    padding-right: 1.25rem;
  }

  .menu-toggle,
  .menu-toggle__line {
    width: 1.375rem;
    min-width: 1.375rem;
  }

  .spark-source-assessment .entry-content > .dmHomeRespTmpl > div:first-child > section,
  .spark-source-assessment .spark-node-62a71042fdd2b461c3364170 {
    min-height: 27rem;
  }

  .spark-source-access .spark-node-62a71175fdd2b461c33665c1,
  .spark-source-access .spark-node-62a71175fdd2b461c33665c0,
  .spark-source-student-portal .spark-node-62a71175fdd2b461c33665c1,
  .spark-source-student-portal .spark-node-62a71175fdd2b461c33665c0,
  .spark-source-spark-store .spark-node-62a71175fdd2b461c33665c1,
  .spark-source-spark-store .spark-node-62a71175fdd2b461c33665c0 {
    min-height: 33.75rem;
  }

  .spark-source-contact .entry-content > .dmHomeRespTmpl > div:first-child > section {
    min-height: 36.8125rem;
    border-top: 0.5rem solid #fff;
  }
}

/* Desktop source parity must remain the last desktop homepage rule. */
@media (min-width: 901px) {
  .migrated-home .spark-node-1595249821 > .spark-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .migrated-home .spark-node-1595249821 > .spark-grid > .spark-col {
    width: 100%;
    min-width: 0;
    flex: none;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1389367015 {
    padding: 16px 20px 16px 16px;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1668358176,
  .migrated-home .spark-node-1595249821 .spark-node-1668358176 h1 {
    width: 564px;
    max-width: none;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1668358176 h1 {
    margin: 0;
    font-size: 54px;
    font-weight: 400;
    line-height: normal;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1172773411 {
    width: 561px;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1172773411 p {
    margin: 0;
    font-size: 22px;
    line-height: 1.3;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1170084957 {
    width: 100%;
    margin: 0;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1724716257 {
    display: block;
    min-height: 0;
    height: 971px;
    padding: 170px 20px;
    background-image: none;
  }

  .migrated-home .spark-node-1724716257 > .spark-grid {
    width: 1200px;
    max-width: 1200px;
    height: 631px;
    transform: none;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1068702967 h1 {
    font-size: 64px;
    line-height: 1.28;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1018958234,
  .migrated-home .spark-node-1724716257 .spark-node-1879911682 {
    margin-top: 8px;
  }

  .migrated-home .spark-node-1724716257 .spark-node-1879911682 h3 {
    margin-top: 0;
    font-size: 30px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1303175865 {
    width: 100%;
    height: 461.5px;
    margin: 0;
    padding: 9px 20px 60px;
    border-radius: 0;
    background: #fff;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1330474883 {
    height: 108.5px;
    padding: 25px 40px 14px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1634888472 {
    height: 537px;
    padding: 20px 40px 40px;
  }
}

/* Final mobile parity details. */
@media (max-width: 900px) {
  .migrated-home .spark-node-1595249821 .spark-node-1172773411,
  .migrated-home .spark-node-1595249821 .spark-node-1172773411 p {
    font-family: var(--font-serif);
  }

}

/* Layout resilience pass -------------------------------------------------
   Preserve the imported composition, but allow content to expand instead
   of painting over the following row at narrower desktop widths or when
   copy wraps differently. */
.migrated-home,
.migrated-home * {
  min-width: 0;
}

.migrated-home .spark-rich-text,
.migrated-home .spark-rich-text * {
  overflow-wrap: break-word;
}

.migrated-home img,
.migrated-home video,
.migrated-home svg {
  max-width: 100%;
}

.migrated-home .graphicWidget svg {
  display: block;
  width: 100%;
  height: auto;
}

.migrated-home .dmHomeRespTmpl > .spark-section {
  isolation: isolate;
}

@media (min-width: 901px) {
  .migrated-home .dmHomeRespTmpl > .spark-node-1125318557 {
    height: auto;
    min-height: 462.25px;
  }

  .migrated-home .spark-node-1125318557 > .spark-grid {
    height: auto;
    min-height: 432.25px;
    align-items: flex-start;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1731732704 {
    height: auto;
    min-height: 0;
    align-self: flex-start;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1037788300 {
    height: auto;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1468773086 {
    display: block;
    height: auto;
    min-height: 0;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1468773086 p {
    display: block;
    width: 100%;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .migrated-home .spark-node-1634888472 > .spark-grid {
    width: min(1360px, calc(100vw - 80px));
    max-width: calc(100vw - 80px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .migrated-home .spark-node-1634888472 > .spark-grid > .spark-col,
  .migrated-home .spark-node-1634888472 .spark-node-1987041221,
  .migrated-home .spark-node-1634888472 .spark-node-1368547868,
  .migrated-home .spark-node-1634888472 .spark-node-1555756684 {
    width: auto;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1483840954 {
    height: auto;
    min-height: 1372.5px;
  }

  .migrated-home .spark-node-1483840954 > .spark-grid {
    width: min(1380px, calc(100vw - 60px));
    max-width: calc(100vw - 60px);
    height: auto;
    min-height: 1202.5px;
    align-items: flex-start;
  }

  .migrated-home .spark-node-1483840954 .spark-node-1150951572,
  .migrated-home .spark-node-1483840954 .spark-section,
  .migrated-home .spark-node-1483840954 .spark-section > .spark-grid,
  .migrated-home .spark-node-1483840954 .spark-section .spark-col {
    height: auto;
    min-height: 0;
    align-self: flex-start;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1611751615 {
    height: auto;
    min-height: 2325px;
  }

  .migrated-home .spark-node-1611751615 > .spark-grid {
    width: min(1320px, calc(100vw - 120px));
    max-width: calc(100vw - 120px);
    height: auto;
    min-height: 2265px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1170084957 {
    height: auto;
    min-height: 238px;
    padding: 32px 40px;
    background: #fff;
  }

  .migrated-home .spark-node-1170084957 > .spark-grid {
    width: min(1360px, calc(100vw - 80px));
    min-height: 174px;
    padding: 40px;
    border-radius: 24px;
    background: #5d1c61;
    color: #fff;
  }

  .migrated-home .spark-node-1170084957 h3 {
    margin: 0;
    color: #fff;
  }
}

@media (max-width: 900px) {
  .migrated-home .dmHomeRespTmpl > .spark-section {
    height: auto;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1724716257 { min-height: 1168px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1595249821 { min-height: 1211.35px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1125318557 { min-height: 691.3px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1303175865 { min-height: 461.5px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1330474883 { min-height: 166px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1634888472 { min-height: 679.5px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1341954636 { min-height: 613.5px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1414197986 { min-height: 74px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1387766705 { min-height: 1182px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1483840954 { min-height: 1659.5px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1785760200 { min-height: 282.9px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1927116090 { min-height: 193px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 { min-height: 400px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1170060726 { min-height: 184px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1611751615 { min-height: 2334px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1170084957 { min-height: 206px; }

  .migrated-home .dmHomeRespTmpl > .spark-node-1170084957 {
    padding: 24px;
    background: #fff;
  }

  .migrated-home .spark-node-1170084957 > .spark-grid {
    width: 720px;
    min-width: 0;
    min-height: 158px;
    padding: 28px;
    border-radius: 20px;
    background: #5d1c61;
    color: #fff;
  }

  .migrated-home .spark-node-1170084957 h3 {
    margin: 0;
    color: #fff;
  }

  .migrated-home .spark-node-1125318557 > .spark-grid,
  .migrated-home .spark-node-1125318557 .spark-node-1731732704,
  .migrated-home .spark-node-1483840954 > .spark-grid,
  .migrated-home .spark-node-1483840954 .spark-node-1150951572,
  .migrated-home .spark-node-1611751615 > .spark-grid {
    height: auto;
    align-items: flex-start;
  }

  .migrated-home .spark-node-1125318557 .spark-node-1468773086 {
    display: block;
    height: auto;
  }
}

.site-footer {
  position: relative;
  z-index: 1;
  clear: both;
}

/* Narrow desktop containment must remain after fixed source dimensions. */
@media (min-width: 901px) and (max-width: 1199px) {
  .migrated-home .dmHomeRespTmpl > .spark-node-1330474883,
  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 {
    height: auto;
  }

  .migrated-home .dmHomeRespTmpl > .spark-node-1330474883 { min-height: 108.5px; }
  .migrated-home .dmHomeRespTmpl > .spark-node-1028202187 { min-height: 310.5px; }

  .site-header .site-shell {
    padding-right: 24px;
    padding-left: 24px;
  }

  .site-header__inner {
    gap: 12px;
  }

  .site-brand__name,
  .site-brand__name img,
  .custom-logo-link,
  .custom-logo {
    width: 134px;
    max-height: 56px;
  }

  .primary-nav__menu { gap: 8px; }
  .primary-nav a { font-size: 13px; }

  .site-header__inner > .button {
    width: 140px;
    min-width: 140px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .migrated-home .dmHomeRespTmpl > .spark-section > .spark-grid {
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .migrated-home .spark-rich-text,
  .migrated-home .spark-rich-text h1,
  .migrated-home .spark-rich-text h2,
  .migrated-home .spark-rich-text h3 {
    max-width: 100%;
  }

  .migrated-home .spark-node-1595249821 .spark-node-1668358176,
  .migrated-home .spark-node-1595249821 .spark-node-1668358176 h1,
  .migrated-home .spark-node-1595249821 .spark-node-1172773411,
  .migrated-home .spark-node-1595249821 .spark-node-1178248678 {
    width: 100%;
    max-width: 100%;
  }
}

/* Keep every footer link and contact field reachable on narrow screens. */
@media (max-width: 900px) {
  .site-footer { width: 100%; min-width: 0; min-height: 0; padding: 60px 0; }
  .site-footer__grid { width: calc(100% - 48px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .site-footer__grid > * { min-width: 0; }
  .site-footer__wordmark, .site-footer__wordmark img { width: min(232px, 100%); }
  .site-footer__contact { overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
  .site-footer__brand, .site-footer__contact { grid-column: 1 / -1; }
  .site-footer__nav li + li { margin-top: 24px; }
}
