.home-page {
  overflow: hidden;
}

.home-page .home-hero {
  padding-block: var(--space-7) var(--space-9);
}

.home-page .home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
  align-items: stretch;
  gap: var(--space-5);
}

.home-page .home-hero__content,
.home-page .home-hero__scene,
.home-page .home-method__intro,
.home-page .home-method__steps,
.home-page .home-world__figure,
.home-page .home-world__content {
  min-width: 0;
}

.home-page .home-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at 100% 0%, rgba(76, 169, 216, 0.22), transparent 34%), var(--color-amethyst-900);
}

.home-page .home-hero__content > * { margin: 0; }
.home-page .home-hero__eyebrow { color: var(--color-sky-100); }
.home-page .home-hero__content h1 { max-width: 38rem; color: var(--color-pearl-050); }
.home-page .home-hero__lead { max-width: 38rem; color: var(--color-pearl-050); }
.home-page .home-hero__support { max-width: 35rem; color: rgba(255, 253, 248, 0.82); }
.home-page .home-hero__actions { width: 100%; }
.home-page .home-hero__microcopy { max-width: 32rem; color: var(--color-sky-100); font-size: var(--text-sm); }

.home-page .home-hero__areas {
  display: grid;
  width: min(100%, 43.125rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-2);
  padding: var(--space-4);
  color: var(--color-text);
  font-size: var(--text-xs);
  line-height: 1.45;
}
.home-page .home-hero__areas span { min-width: 0; }

.home-page .home-hero__scene {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-2);
  width: 100%;
}
.home-page .home-hero__scene img {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 31rem;
  border-radius: var(--radius-xl);
  object-fit: cover;
  object-position: 68% center;
  box-shadow: var(--shadow-float);
}
.home-page .home-hero__scene figcaption { margin: 0; padding-inline: var(--space-3); }

.home-page .home-identity { padding-block: var(--space-8); }
.home-page .home-identity__inner { width: min(100% - (var(--container-padding) * 2), 47.5rem); margin-inline: auto; }
.home-page .home-identity__inner > h2 { margin-bottom: var(--space-5); text-align: left; }
.home-page .home-identity__panels { display: flex; flex-direction: column; gap: var(--space-4); }
.home-page .home-identity__card { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-radius: var(--radius-lg); }
.home-page .home-identity__card > * { margin: 0; }
.home-page .home-identity__card--sky { border: 1px solid var(--color-border); border-top: 3px solid var(--color-gold-500); background: var(--color-sky-100); }
.home-page .home-identity__card--dark { background: var(--color-amethyst-700); color: var(--color-pearl-050); }
.home-page .home-identity__card--dark h3,
.home-page .home-identity__card--dark .eyebrow { color: var(--color-pearl-050); }

.home-page .home-paths__intro { max-width: 40.625rem; }
.home-page .home-paths__intro .lead { max-width: 39rem; }
.home-page .home-paths__scroller {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}
.home-page .home-path-card { min-width: 0; transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); }
.home-page .home-path-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-float); }
.home-page .home-path-card:focus-within { border-color: var(--color-gold-500); }
.home-page .home-path-card .card__content { display: flex; flex: 1 1 auto; flex-direction: column; gap: var(--space-3); }
.home-page .home-path-card .card__content > * { margin: 0; }
.home-page .home-path-card .card__content > a,
.home-page .home-path-card__links { margin-top: auto; }
.home-page .home-path-card__index,
.home-page .home-path-card__status { color: var(--color-amethyst-700); font-size: var(--text-xs); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-page .home-path-card__status { color: var(--color-emerald-900); }
.home-page .home-path-card__links { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.home-page .home-path-card--muted { box-shadow: none; opacity: .92; }
.home-page .home-path-card--gold { border-top: 3px solid var(--color-gold-500); }
.home-page .home-paths__progress { display: none; }

.home-page .home-method { background: linear-gradient(135deg, rgba(221,243,255,.48), transparent 60%); }
.home-page .home-method__grid { display: grid; grid-template-columns: minmax(0, 38fr) minmax(0, 62fr); gap: var(--space-8); align-items: start; }
.home-page .home-method__intro { max-width: 26.25rem; }
.home-page .home-method__intro .lead { max-width: 24rem; }
.home-page .home-method__steps { display: flex; flex-direction: column; gap: var(--space-6); margin: 0; padding: 0; list-style: none; }
.home-page .home-method__steps li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; }
.home-page .home-method__steps li > span { color: var(--color-amethyst-700); font-family: var(--font-heading); font-size: 2.4rem; font-weight: 700; line-height: 1; }
.home-page .home-method__steps li > div { min-width: 0; max-width: 35rem; border-inline-start: 2px solid var(--color-gold-500); padding-inline-start: var(--space-5); }
.home-page .home-method__steps h3 { margin-bottom: var(--space-3); }

.home-page .home-world__grid { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); gap: clamp(var(--space-6), 6vw, var(--space-9)); align-items: stretch; }
.home-page .home-world__figure { width: 100%; margin: 0; }
.home-page .home-world__figure img { width: 100%; height: 100%; min-height: 38rem; border-radius: var(--radius-xl); object-fit: cover; object-position: center; box-shadow: var(--shadow-card); }
.home-page .home-world__content { display: flex; flex-direction: column; gap: var(--space-5); max-width: 33.75rem; }
.home-page .home-world__content > * { margin: 0; }
.home-page .home-world__content article { position: relative; padding-inline-start: var(--space-6); }
.home-page .home-world__content article > span { position: absolute; inset-inline-start: 0; top: .18rem; color: var(--color-gold-500); font-size: var(--text-xs); font-weight: 700; }
.home-page .home-world__content article h3 { margin-bottom: var(--space-2); }
.home-page .home-world__content article p { max-width: 31.25rem; }

.home-page .home-questions__intro { max-width: 38.75rem; }
.home-page .home-questions__intro .lead { max-width: 37rem; }
.home-page .home-questions__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.home-page .home-question-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); min-height: 100%; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-pearl-100); padding: var(--space-5); box-shadow: var(--shadow-glass); }
.home-page .home-question-card > * { margin: 0; }
.home-page .home-question-card > a,
.home-page .home-question-card > div { margin-top: auto; }
.home-page .home-question-card__tag { color: var(--color-emerald-900); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-page .home-question-card--dark { border-color: rgba(221,243,255,.18); background: var(--color-amethyst-900); color: var(--color-pearl-050); }
.home-page .home-question-card--dark h3 { color: var(--color-pearl-050); }
.home-page .home-question-card--dark a { color: var(--color-sky-100); }
.home-page .home-question-card--dark div { display: flex; flex-wrap: wrap; gap: var(--space-4); }

.home-page .home-audience { background: radial-gradient(circle at 50% 100%, rgba(221,243,255,.8), transparent 45%); }
.home-page .home-audience__intro { max-width: 38.75rem; margin-inline: auto; text-align: center; }
.home-page .home-audience__intro .lead { margin-inline: auto; }
.home-page .home-audience__profiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-6); }
.home-page .home-audience__profiles article { min-width: 0; padding: var(--space-5); border-inline-end: 1px solid var(--color-border); }
.home-page .home-audience__profiles article:last-child { border-inline-end: 0; }
.home-page .home-audience__profiles article > span { display: block; margin-bottom: var(--space-3); color: var(--color-gold-500); font-family: var(--font-heading); font-size: 2rem; font-weight: 700; }
.home-page .home-audience__profiles h3 { max-width: 21.25rem; }
.home-page .home-audience__profiles p { max-width: 21.25rem; }

.home-page .home-map__intro { max-width: 38.75rem; }
.home-page .home-map__intro .lead { max-width: 37rem; }
.home-page .home-map__rows { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-6); }
.home-page .home-map__rows article { display: grid; grid-template-columns: minmax(4rem, 8fr) minmax(0, 62fr) minmax(11rem, 30fr); align-items: center; gap: var(--space-5); min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(247,244,238,.8); padding: var(--space-5); }
.home-page .home-map__rows article > * { min-width: 0; }
.home-page .home-map__rows article > span { color: var(--color-gold-500); font-family: var(--font-heading); font-size: 2rem; font-weight: 700; }
.home-page .home-map__rows h3 { margin-bottom: var(--space-2); }
.home-page .home-map__rows p { max-width: 32.5rem; margin-bottom: 0; }
.home-page .home-map__rows small { display: block; margin-bottom: var(--space-1); color: var(--color-emerald-900); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-page .home-map__rows > article > a,
.home-page .home-map__links { justify-self: end; }
.home-page .home-map__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-4); }
.home-page .home-map__row--dark { border-color: rgba(221,243,255,.18) !important; background: var(--color-amethyst-700) !important; color: var(--color-pearl-050); }
.home-page .home-map__row--dark h3 { color: var(--color-pearl-050); }
.home-page .home-map__row--dark a { color: var(--color-sky-100); }

.home-page .home-final { padding-block: var(--space-8) var(--space-10); }
.home-page .home-final__panel { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); border-radius: var(--radius-xl); padding: clamp(2rem, 6vw, 5rem) var(--space-5); text-align: center; background: radial-gradient(circle at 50% 0%, rgba(76,169,216,.26), transparent 42%), var(--color-amethyst-900); }
.home-page .home-final__panel > * { margin: 0; }
.home-page .home-final__panel h2 { max-width: 36.25rem; }
.home-page .home-final__panel > p:not(.home-final__disclaimer) { max-width: 36.25rem; color: var(--color-pearl-050); }
.home-page .home-final__actions { justify-content: center; }
.home-page .home-final__disclaimer { max-width: 41.875rem; border-top: 1px solid rgba(201,148,50,.72); padding-top: var(--space-4); color: var(--color-sky-100); font-size: var(--text-sm); }

@media (max-width: 61.24rem) {
  .home-page .home-hero__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-page .home-hero__content { width: 100%; }
  .home-page .home-hero__scene img { min-height: 20rem; max-height: 28rem; object-position: center; }
  .home-page .home-paths__scroller { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 59.99rem) {
  .home-page .home-world__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-page .home-world__figure img { min-height: 0; height: auto; aspect-ratio: 16 / 10; object-position: center; }
  .home-page .home-world__content { max-width: none; }
}

@media (max-width: 56.24rem) {
  .home-page .home-method__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-page .home-method__intro { max-width: 37.5rem; }
  .home-page .home-method__intro .lead { max-width: 37.5rem; }
}

@media (max-width: 54.99rem) {
  .home-page .home-audience__profiles { grid-template-columns: 1fr; }
  .home-page .home-audience__profiles article { border-inline-end: 0; border-bottom: 1px solid var(--color-border); }
  .home-page .home-audience__profiles article:last-child { border-bottom: 0; }
  .home-page .home-audience__profiles p,
  .home-page .home-audience__profiles h3 { max-width: 34rem; }
}

@media (max-width: 53.74rem) {
  .home-page .home-map__rows article { grid-template-columns: 1fr; gap: var(--space-3); }
  .home-page .home-map__rows > article > a,
  .home-page .home-map__links { justify-self: start; }
  .home-page .home-map__links { justify-content: flex-start; }
}

@media (max-width: 51.24rem) {
  .home-page .home-questions__grid { grid-template-columns: 1fr; }
}

@media (max-width: 47.99rem) {
  .home-page .home-hero { padding-block: var(--space-6) var(--space-7); }
  .home-page .home-hero__content { padding: var(--space-5); }
  .home-page .home-hero__content h1 { font-size: clamp(2.625rem, 12vw, 3.25rem); }
  .home-page .home-hero__areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .home-hero__scene img { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
  .home-page .home-identity__inner { width: min(100% - (var(--container-padding) * 2), 47.5rem); }
  .home-page .home-paths__scroller { display: flex; width: calc(100% + var(--container-padding)); margin-inline-end: calc(var(--container-padding) * -1); overflow-x: auto; padding: var(--space-2) var(--container-padding) var(--space-4) 0; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .home-page .home-path-card { flex: 0 0 min(86vw, 22rem); scroll-snap-align: start; }
  .home-page .home-paths__progress { display: block; margin: var(--space-3) 0 0; color: var(--color-text-muted); font-size: var(--text-sm); }
  .home-page .home-method__steps li { grid-template-columns: 1fr; gap: var(--space-2); }
  .home-page .home-method__steps li > div { padding-inline-start: var(--space-4); }
  .home-page .home-method__steps li > span { font-size: 2rem; }
  .home-page .home-final__actions { width: 100%; flex-direction: column; align-items: stretch; }
}

@media (prefers-reduced-motion: no-preference) {
  .home-page .home-hero__content::after { content: ""; position: absolute; width: 11rem; height: 11rem; border: 1px solid rgba(201,148,50,.26); border-radius: 50%; transform: translate(125%, 40%); pointer-events: none; }
}
