/* D-017 / D-018. Student life fills the hero; the transparent exterior follows. */
body.home-page {
  --home-blue: var(--color-link);
  --home-sky: #e3f4fe;
  --home-stage: #d7effd;
  background: var(--color-bg);
}

html.site-js body.home-page .hero--home,
html body.home-page .hero--home {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
  padding: calc(var(--site-header-space) + clamp(2.5rem, 4vw, 4rem)) var(--gutter) clamp(12rem, 29vw, 24rem);
  overflow: clip;
  color: #fff;
  background: #173653;
  box-shadow: none;
  isolation: isolate;
}
body.home-page .home-scene { position: absolute; inset: 0; z-index: -2; }
body.home-page .home-scene__photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 52%;
  opacity: 0;
  transition: opacity .65s ease;
}
body.home-page [data-home-photo="1"] .home-scene__photo--1,
body.home-page [data-home-photo="2"] .home-scene__photo--2,
body.home-page [data-home-photo="3"] .home-scene__photo--3 { opacity: 1; }
body.home-page .hero--home::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, #102e48f2 0%, #102e48d9 16%, #102e489c 42%, #102e482b 72%, var(--color-bg) 100%);
  pointer-events: none;
}
body.home-page .hero-content--home {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1rem;
  width: 100%;
  max-width: 52rem;
}
body.home-page .hero--home p { animation: none; opacity: 1; }
body.home-page .hero-kicker {
  padding: 0;
  margin: 0 0 .3rem;
  border: 0;
  border-radius: 0;
  background: none;
  backdrop-filter: none;
  color: #d2e8ff;
  font-size: .7rem;
  font-weight: 650;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.home-page .hero--home h1 {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.2;
  text-shadow: 0 2px 24px #08233b33;
}
.home-title__eyebrow { font-size: clamp(.85rem, 1.4vw, 1rem); font-weight: 500; letter-spacing: .1em; }
.home-title__location { font-size: clamp(1.35rem, 3.3vw, 2.8rem); }
.home-title__name { font-size: clamp(3.5rem, 6.5vw, 5.5rem); color: #fff; letter-spacing: -.09em; }
body.home-page .hero--home .hero-lead {
  max-width: 38rem;
  margin: .4rem auto 0;
  color: #f0f5fc;
  font-size: clamp(1rem, .95rem + .2vw, 1.125rem);
  line-height: 1.9;
  text-wrap: pretty;
  text-shadow: 0 1px 12px #102e4880;
}
body.home-page .hero-cta--home {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .75rem;
  width: 100%;
  margin: .4rem 0 0;
}
body.home-page .hero-cta .cta-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 3.25rem;
  width: auto;
  max-width: none;
  margin: 0;
  padding: .8rem 1.5rem;
  border-radius: .85rem;
  border: 1px solid transparent;
  font-size: .9rem;
  text-decoration: none;
  backdrop-filter: none;
}
body.home-page .hero-cta .primary { background: #fff; color: #16599a; box-shadow: 0 6px 24px #08233b1c; }
body.home-page .hero-cta .primary:hover { background: #e9f3ff; }
body.home-page .hero-cta .secondary { color: #fff; background: #102e4859; border-color: #ffffff5c; }
body.home-page .hero-cta .secondary:hover { background: #102e48a6; }
body.home-page .hero-facts {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .5rem 1.75rem;
  width: min(100%, 68rem);
  max-width: none;
  margin: 1.5rem auto 0;
  padding: 0;
  list-style: none;
  color: #fff;
  font-size: .75rem;
  text-shadow: 0 1px 10px #0a213ccc;
}
body.home-page .hero-facts li { padding: 0; }
body.home-page .hero-facts li::before { content: none; }
body.home-page .hero-facts strong { font-weight: 500; margin-right: .4rem; }
.home-photo-picker { display: flex; justify-content: center; gap: .15rem; margin: .6rem auto 1.25rem; }
.home-photo-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.home-photo-button::after { content: ""; display: block; width: 22px; height: 4px; border-radius: 9px; background: #ffffff66; transition: background .2s ease, width .2s ease; }
.home-photo-button[aria-pressed="true"]::after { background: #fff; width: 30px; }
.home-photo-button:hover::after { background: #ffffffcc; }
.home-photo-button:focus-visible { outline: 2px solid white; outline-offset: 1px; border-radius: 8px; }

/* Only a lightweight render of the exterior is delivered to the browser. */
body.home-page .home-model {
  position: relative;
  width: min(calc(100% - 2 * var(--gutter)), 96rem);
  scroll-margin-top: calc(var(--site-header-space) + .5rem);
  margin: calc(-1 * clamp(9rem, 24vw, 20rem)) auto 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-align: center;
}
body.home-page .home-model .home-model__kicker { margin: 0; color: #d2e8ff; font-size: .6rem; font-weight: 650; letter-spacing: .2em; text-shadow: 0 1px 12px #102e48; }
body.home-page .home-model .section-title { margin: .4rem 0 1rem; padding: 0; border: 0; font-size: 1rem; font-weight: 500; color: #fff; line-height: 1.5; letter-spacing: .1em; background: none; -webkit-text-fill-color: currentColor; text-shadow: 0 1px 12px #102e48; animation: none; }
body.home-page .home-model .section-title::before { content: none; }
body.home-page .building-view__figure { margin: 0; }
body.home-page .building-view__figure img { display: block; width: 100%; max-width: 1000px; height: auto; margin: 0 auto; filter: drop-shadow(0 20px 18px #354e6d20); }
body.home-page .building-view__figure figcaption { margin: .75rem auto 0; color: var(--color-ink-muted); font-size: .875rem; line-height: 1.6; letter-spacing: .025em; text-align: center; }

/* Let the page itself hold the content; use cards only for independent links. */
html body.home-page .main-content--full { grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0 var(--gutter); }
body.home-page .content-area { display: flex; flex-direction: column; gap: 0; min-width: 0; }
html body.home-page .content-area > .content-section {
  width: 100%;
  max-width: 72rem;
  padding: clamp(3.5rem, 7vw, 7rem) 0;
  margin: 0 auto;
  border: 0;
  border-bottom: 1px solid var(--color-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  backdrop-filter: none;
}
html body.home-page .content-area .section-title {
  margin: 0 0 1.4rem;
  padding: 0;
  font-size: clamp(1.65rem, 3.7vw, 3rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.45;
  text-wrap: balance;
  border: 0;
  background: none;
  color: var(--color-ink);
  -webkit-text-fill-color: currentColor;
}
body.home-page .section-title::before { content: none; }
body.home-page .section-kicker {
  color: var(--home-blue);
  font-size: .875rem;
  letter-spacing: .16em;
  margin-bottom: .75rem;
  text-transform: uppercase;
}
body.home-page .quick-summary__intro { display: block; padding: 0; text-align: center; }
body.home-page .quick-summary__lead { color: var(--color-ink-muted); font-size: 1rem; text-align: center; margin-inline: auto; }
body.home-page .quick-summary__media {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.8rem, 2vw, 1.5rem);
  margin: 2.5rem 0;
  padding: 0;
  overflow: visible;
}
body.home-page .quick-scene {
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 1.2rem;
  background: var(--color-surface);
  box-shadow: 0 3px 12px #14273e06;
}
body.home-page .quick-scene::after { content: none; }
body.home-page .quick-scene img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; transform: none; }
body.home-page .quick-scene figcaption {
  position: static;
  display: grid;
  gap: .4rem;
  padding: 1.3rem;
  background: none;
  color: var(--color-ink);
  text-shadow: none;
}
body.home-page .quick-scene figcaption strong { color: var(--color-ink); font-size: 1.1rem; }
body.home-page .quick-scene figcaption span { color: var(--color-ink-muted); font-size: .9375rem; line-height: 1.7; }
body.home-page .quick-summary__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; }
body.home-page .quick-summary__item { padding: 0; border: 0; background: transparent; }
body.home-page .quick-summary__eyebrow { color: var(--home-blue); font-size: .875rem; letter-spacing: .14em; }
body.home-page .quick-summary__item h3 { font-size: 1.05rem; color: var(--color-ink); margin: .6rem 0 .9rem; }
body.home-page .quick-summary__item ul { padding-left: 1.15rem; }
body.home-page .quick-summary__item li { color: var(--color-ink-muted); font-size: 1rem; line-height: 1.9; }
body.home-page .quick-summary__item li + li { margin-top: .5rem; }

.home-about-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; margin-block: 2.5rem; }
body.home-page .seo-content > .section-title { max-width: 23em; }
body.home-page .seo-intro { min-width: 0; }
body.home-page .seo-intro p { font-size: 1rem; line-height: 2; color: var(--color-ink-muted); }
body.home-page .seo-intro mark { background: none; color: var(--color-ink); font-weight: 600; }
.home-about-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: center; }
.home-about-photo { margin: 0; overflow: hidden; border-radius: 1rem; }
.home-about-photo:first-child { grid-column: 1/-1; }
.home-about-photo:nth-child(2) { grid-column: 2; margin-top: -5rem; border: .4rem solid var(--color-bg); }
.home-about-photo img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
body.home-page .seo-content .features-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
body.home-page .seo-content .feature-item { padding: 1.4rem 0 0; background: transparent; border: 0; border-top: 1px solid var(--color-line); border-radius: 0; box-shadow: none; text-align: left; }
body.home-page .seo-content .feature-item h3 { color: var(--color-ink); font-size: 1.05rem; }
body.home-page .seo-content .feature-item p { font-size: 1rem; color: var(--color-ink-muted); line-height: 1.9; }
body.home-page .home-film__header { display: block; text-align: center; margin-bottom: 2rem; }
body.home-page .home-film__lead { margin: 0 auto; max-width: 38rem; color: var(--color-ink-muted); font-size: 1rem; }
body.home-page .home-film__frame { border-radius: 1.5rem; box-shadow: 0 20px 50px #14273e0c; transform: none; }
body.home-page .home-film__frame { margin: 0; overflow: hidden; }
body.home-page .home-film__frame video { display: block; width: 100%; aspect-ratio: 16/9; }
body.home-page .home-film__meta { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 1rem; color: var(--color-ink-muted); justify-content: center; mix-blend-mode: normal; font-size: .75rem; }
body.home-page #purpose-guides > .section-title { width: 100%; margin-inline: 0; text-align: center; }
body.home-page .features-grid--guide {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: min(22rem, 86%);
  gap: 1.25rem;
  width: 100%;
  padding: .75rem .2rem 1.5rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: .2rem;
  scrollbar-width: none;
  scrollbar-color: var(--color-link) var(--color-surface-soft);
}
body.home-page .features-grid--guide:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; border-radius: .5rem; }
body.home-page .features-grid--guide .feature-item--guide { display: flex; flex-direction: column; min-width: 0; gap: 1.25rem; padding: 1.5rem; border-radius: 1.2rem; border: 1px solid var(--color-line); background: var(--color-surface); box-shadow: none; scroll-snap-align: start; scroll-snap-stop: always; }
body.home-page .features-grid--guide .feature-item--guide:hover { transform: translateY(-4px); border-color: var(--color-link); box-shadow: 0 14px 24px #14273e09; }
body.home-page .feature-item--guide .feature-item__visual { min-height: 7rem; height: 7rem; flex: 0 0 auto; }
body.home-page .feature-item--guide .feature-item__visual img { width: auto; max-width: 100%; max-height: 5.5rem; }
body.home-page .feature-item--guide .feature-item__body { display: flex; flex-direction: column; gap: .55rem; }
body.home-page .feature-item--guide p { font-size: 1rem; line-height: 1.85; }
.home-guide-controls { display: flex; justify-content: flex-end; gap: .65rem; margin: -.2rem 0 .3rem; }
.home-guide-controls[hidden] { display: none; }
.home-guide-arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--color-line); border-radius: 50%; background: var(--color-surface); color: var(--color-link); cursor: pointer; }
.home-guide-arrow:hover:not(:disabled) { border-color: var(--color-link); }
.home-guide-arrow:disabled { opacity: .35; cursor: default; }
.home-guide-arrow:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
body.home-page .faq-section .faq-item { border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; padding: 1.5rem 0; background: transparent; box-shadow: none; }
body.home-page .faq-section .faq-item h3 { color: var(--color-ink); font-size: 1.05rem; }
body.home-page .faq-section .faq-item p { color: var(--color-ink-muted); font-size: 1rem; line-height: 1.9; max-width: 52rem; }
html body.home-page .cta-section { width: 100%; max-width: 72rem; margin: 4rem auto; padding: clamp(2rem, 5vw, 5rem); background: var(--home-sky); color: var(--color-ink); border: 0; border-radius: 1.5rem; box-shadow: none; text-align: center; }
body.home-page .cta-section h2 { color: var(--color-ink); font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1.5; }
body.home-page .cta-section p { color: var(--color-ink-muted); }
body.home-page .cta-section .cta-button { margin-bottom: 0; }
body.home-page .cta-section .cta-button.primary { background: var(--color-action); color: #fff; border: 2px solid transparent; }
body.home-page .cta-section .cta-button.secondary { background: transparent; color: var(--color-link); border: 2px solid currentColor; }
body.home-page .cta-section .cta-button:hover { background: var(--color-surface); color: var(--color-link); border-color: currentColor; }

@media (min-width: 900px) and (max-height: 850px) {
  html.site-js body.home-page .hero--home { padding-top: calc(var(--site-header-space) + 1.5rem); }
  body.home-page .hero-content--home { gap: .7rem; }
  body.home-page .home-title__location { font-size: 2rem; }
  body.home-page .home-title__name { font-size: 4.4rem; }
  body.home-page .hero--home .hero-lead { font-size: 1.0625rem; }
  body.home-page .hero-facts { margin-top: 1.1rem; }
  .home-photo-picker { margin-block: .1rem .6rem; }
}
@media (max-width: 1100px) {
  body.home-page .quick-summary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  body.home-page .quick-summary__grid { grid-template-columns: minmax(0, 1fr); max-width: 42rem; margin-inline: auto; gap: 1.5rem; }
  body.home-page .quick-summary__item + .quick-summary__item { border-top: 1px solid var(--color-line); padding-top: 1.5rem; }
  body.home-page .quick-summary__media { grid-template-columns: minmax(0, 1fr); max-width: 42rem; margin-inline: auto; gap: 1.25rem; }
  body.home-page .quick-scene { display: grid; grid-template-columns: 43% minmax(0, 1fr); align-items: stretch; border-radius: .9rem; }
  body.home-page .quick-scene img { height: 100%; aspect-ratio: 4/3; object-fit: cover; }
  body.home-page .quick-scene figcaption { align-content: center; padding: 1rem; }
  body.home-page .seo-content .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-about-layout { grid-template-columns: minmax(0, 1fr); }
  .home-about-photos { max-width: 36rem; margin-inline: auto; }
}
@media (max-width: 540px) {
  html.site-js body.home-page .hero--home { padding-top: calc(var(--site-header-space) + 2rem); }
  body.home-page .hero-content--home { gap: .9rem; }
  body.home-page .hero-kicker { font-size: .6rem; letter-spacing: .12em; }
  body.home-page .hero-cta--home { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); max-width: 25rem; gap: .5rem; }
  body.home-page .hero-cta .cta-button { min-height: 3rem; padding: .75rem 1rem; font-size: .8rem; }
  body.home-page .building-view__figure figcaption { font-size: .875rem; }
  body.home-page .hero-facts { gap: .75rem; }
  body.home-page .hero-facts li:last-child { flex-basis: 100%; }
  body.home-page .home-model .section-title { font-size: .8rem; margin-bottom: .7rem; }
  body.home-page .home-scene__photo { object-position: 48% center; }
  body.home-page .quick-summary__media { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin: 2rem 0; }
  body.home-page .quick-scene { display: grid; grid-template-columns: 43% minmax(0, 1fr); align-items: stretch; border-radius: .9rem; }
  body.home-page .quick-scene img { height: 100%; aspect-ratio: 1; object-fit: cover; }
  body.home-page .quick-scene figcaption { align-content: center; padding: 1rem; }
  body.home-page .quick-scene figcaption span { font-size: .9375rem; }
  body.home-page .quick-summary__grid { gap: 1.75rem 1rem; }
  body.home-page .quick-summary__item h3 { font-size: 1rem; }
  body.home-page .seo-content .features-grid { grid-template-columns: 1fr; }
  body.home-page .features-grid--guide .feature-item--guide { padding: 1.25rem; }
  body.home-page .home-film__frame { border-radius: .85rem; }
}
@media (prefers-color-scheme: dark) {
  body.home-page { --home-blue: #8cc4ff; --home-sky: #141f2e; --home-stage: #1c2c40; }
}
@media (prefers-reduced-motion: reduce) {
  body.home-page .hero--home *, body.home-page .content-section * { animation: none !important; transition: none !important; }
}

/* D-019: readable facts, scroll-driven exterior and responsive content layouts. */
body.home-page .hero-facts { display: grid; grid-template-columns: auto auto auto; gap: 1.25rem 2rem; width: fit-content; max-width: 100%; padding: 1rem 1.5rem; border-radius: 1rem; background: #0b243acc; font-size: 1rem; line-height: 1.65; text-shadow: none; }
body.home-page .hero-facts li { display: grid; gap: .25rem; }
body.home-page .hero-facts strong { margin: 0; font-size: .875rem; color: #c8e1f9; }
.home-photo-playback { display: grid; place-items: center; width: 44px; height: 44px; margin-left: .5rem; padding: 0; border: 1px solid #ffffff55; border-radius: 50%; background: #0b243a88; color: #fff; cursor: pointer; }
.home-photo-playback[hidden], .home-photo-play-icon { display: none; }
.home-photo-playback[aria-pressed="true"] .home-photo-play-icon { display: block; }
.home-photo-playback[aria-pressed="true"] .home-photo-pause-icon { display: none; }
.home-photo-playback:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.home-model__stage { position: relative; width: 100%; height: min(60svh, 72vw, calc(100svh - 11rem), var(--model-stage-limit, 100svh)); margin: 0 auto; }
body.home-page .home-model__stage img { width: 100%; height: 100%; object-fit: contain; transition: opacity .4s ease; }
.home-model__stage canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.home-model.is-3d-ready .home-model__stage img { opacity: 0; }
body.home-page .home-model--scroll { --turn-distance: clamp(26rem, 70vh, 50rem); min-height: calc(var(--model-height, 32rem) + var(--turn-distance)); }
.home-model--scroll .home-model__sticky { position: sticky; top: var(--model-stick-top, calc(var(--site-header-space) + 1rem)); }
.home-model__scroll-hint { display: none; margin-top: .5rem; color: var(--color-link); font-size: .875rem; }
.home-model.is-3d-ready .home-model__scroll-hint { display: block; }
body.home-page .home-model--on-page .home-model__kicker { color: var(--home-blue); text-shadow: none; }
body.home-page .home-model--on-page .section-title { color: var(--color-ink); text-shadow: none; }
body.home-page .home-notice-table { width: 100%; border-collapse: collapse; margin-top: .5rem; color: var(--color-ink); }
body.home-page .home-notice-table thead { background: var(--color-bg-soft); color: var(--color-ink); }
body.home-page .home-notice-table :is(th, td) { padding: 1rem; border: 1px solid var(--color-line); font-size: 1rem; line-height: 1.7; text-align: center; }
body.home-page .home-notice-table .home-notice-round { font-weight: 600; white-space: nowrap; }
body.home-page .features-grid--guide::-webkit-scrollbar { display: none; }
.home-guide-position { margin-right: auto; align-self: center; color: var(--color-ink-muted); font-size: .9375rem; font-variant-numeric: tabular-nums; }
.home-guide-controls { margin-top: 1rem; }
@media (min-width: 960px) {
  html body.home-page .content-area > .home-film { display: grid; grid-template-columns: .85fr 1.35fr; column-gap: 3rem; align-items: center; }
  body.home-page .home-film__header { grid-column: 1; grid-row: 1 / 3; text-align: left; margin: 0; }
  body.home-page .home-film__frame { grid-column: 2; grid-row: 1; }
  body.home-page .home-film__meta { grid-column: 2; grid-row: 2; font-size: .875rem; }
  body.home-page .home-film .section-title { font-size: clamp(1.75rem, 2.7vw, 2.5rem); }
}
@media (min-width: 1000px) {
  body.home-page .features-grid--guide { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; scroll-snap-type: none; padding: .75rem 0 0; }
  .home-guide-controls { display: none; }
}
@media (max-width: 1100px) {
  body.home-page .seo-content .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  body.home-page .hero-facts { grid-template-columns: minmax(0, 1fr); width: min(100%, 25rem); padding: 1rem; text-align: left; }
  body.home-page .hero-facts li { grid-template-columns: 4.5em minmax(0, 1fr); gap: .5rem; align-items: baseline; }
  body.home-page .home-notice-table :is(th, td) { padding: .65rem .5rem; font-size: .9375rem; }
  body.home-page .home-model--scroll { --turn-distance: 28rem; }
}
@media (max-width: 540px) {
  body.home-page .seo-content .features-grid { grid-template-columns: minmax(0, 1fr); }
  body.home-page .hero-cta .cta-button { font-size: .9375rem; padding-inline: .7rem; }
  body.home-page .features-grid--guide { grid-auto-columns: 88%; gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.home-page .home-model--scroll { min-height: 0; }
  .home-model--scroll .home-model__sticky { position: static; }
  body.home-page .home-model__stage img { transition: none; }
}
@media (max-height: 600px) and (orientation: landscape) {
  body.home-page .home-model :is(.home-model__kicker, .section-title) { display: none; }
}

/* Light appearance: daylight photography, readable actions and a blue wordmark. */
@media (prefers-color-scheme: light) {
  html body.home-page .hero--home { background-color: #d4efff; color: var(--hero-light-ink); }
  body.home-page .hero--home::before { background: var(--home-light-overlay); }
  body.home-page .hero--home h1, body.home-page .home-title__name { color: var(--hero-light-ink); text-shadow: none; }
  body.home-page .hero-kicker { color: #e3f4ff; }
  body.home-page .hero--home .hero-lead { color: var(--hero-light-muted); text-shadow: none; }
  body.home-page .hero-cta .primary { background: #fff; color: var(--color-link); box-shadow: none; }
  body.home-page .hero-cta .secondary { background: #0756813d; color: #fff; border-color: #ffffffbf; }
  body.home-page .hero-cta .cta-button:hover { background: #fff; color: var(--color-link); border-color: var(--color-link); }
  body.home-page .hero-facts { background: #ffffffeb; color: var(--color-ink); }
  body.home-page .hero-facts strong { color: var(--color-ink-muted); }
  .home-photo-playback { color: var(--color-link); background: #ffffffd9; border-color: var(--color-link); }
}
