/* Home refinement: a single decisive hero, then quieter evidence-led choices.
   This file loads after the legacy cinematic layers and is the visual authority
   for the public homepage. */
body:has(.cine-home) .site-nav a,
body:has(.cine-home) .menu-button {
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
}

body:has(.cine-home) .signal-footer {
  background: #102a3a;
  border-top-color: rgba(238, 244, 245, .22);
}

body:has(.cine-home) .footer-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  align-items: start;
}

body:has(.cine-home) .footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 12px;
}

body:has(.cine-home) .footer-links a {
  color: #eaf3f5;
  font: 600 14px/1.4 'Be Vietnam Pro', sans-serif;
  text-decoration: none;
}

body:has(.cine-home) .footer-links a:hover,
body:has(.cine-home) .footer-links a:focus-visible {
  color: #9be4de;
  text-decoration: underline;
  text-underline-offset: 4px;
}

body:has(.cine-home) .footer-links span {
  grid-column: 1 / -1;
  max-width: 36ch;
  margin-top: 9px;
}

.cine-hero-beam,
.cine-scroll-mark span::after,
.cine-chapter::before {
  animation: none !important;
}

.cine-hero {
  min-height: min(920px, 100svh);
  background: #102a3a;
}

.cine-hero-media img {
  filter: saturate(.78) contrast(1.01) brightness(.76);
}

.cine-hero-media::after {
  background: linear-gradient(90deg, rgba(12, 34, 48, .97) 0%, rgba(12, 34, 48, .87) 34%, rgba(12, 34, 48, .2) 67%, rgba(12, 34, 48, .08) 100%), linear-gradient(0deg, rgba(12, 34, 48, .86), transparent 44%);
}

.cine-eyebrow,
.cine-chapter-copy > p:first-child {
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
}

.cine-eyebrow span {
  width: 20px;
}

.cine-hero h1 {
  max-width: 10ch;
  font-size: clamp(48px, 6vw, 94px);
  line-height: .97;
  letter-spacing: -.065em;
}

.cine-lede {
  max-width: 54ch;
  font-size: 17px;
}

.cine-actions a,
.cine-closing a {
  gap: 0;
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

.cine-actions a:hover,
.cine-closing a:hover {
  gap: 0;
}

.cine-scroll-mark {
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 12px;
  letter-spacing: 0;
}

.cine-thesis {
  background: #eef4f5;
  color: #183448;
}

.cine-thesis::after {
  display: none;
}

.cine-thesis h2 {
  max-width: 17ch;
}

.cine-thesis h2 em {
  color: #167782;
}

.cine-home {
  background: #eef4f5;
  color: #183448;
}

.cine-chapter,
.cine-chapter--guides,
.cine-chapter--build {
  min-height: 690px;
  padding: 72px 0;
  background: #eef4f5;
  color: #183448;
}

.cine-chapter:nth-child(even) {
  background: #fbfcfc;
}

.cine-chapter::before,
.cine-chapter::after,
.cine-chapter-shade {
  display: none;
}

.cine-chapter-image,
.cine-chapter--guides .cine-chapter-image,
.cine-chapter--build .cine-chapter-image {
  inset: 72px 6% 72px 50%;
  border: 0;
  box-shadow: none;
}

.cine-chapter--guides .cine-chapter-image,
.cine-chapter--build .cine-chapter-image {
  inset: 72px 50% 72px 6%;
}

.cine-chapter-image img {
  border: 1px solid rgba(22, 119, 130, .24);
  filter: saturate(.82) contrast(1.01) brightness(.88);
  transform: none;
}

.cine-chapter--updates .cine-chapter-image img { object-position: 68% center; }
.cine-chapter--guides .cine-chapter-image img { object-position: 30% center; }
.cine-chapter--tools .cine-chapter-image img { object-position: 76% center; }
.cine-chapter--build .cine-chapter-image img { object-position: 34% center; }

.cine-chapter:hover .cine-chapter-image img {
  filter: saturate(.9) contrast(1.01) brightness(.91);
  transform: none;
}

.cine-chapter-layout,
.cine-chapter--guides .cine-chapter-layout,
.cine-chapter--build .cine-chapter-layout {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  min-height: 546px;
}

.cine-chapter-copy,
.cine-chapter--guides .cine-chapter-copy,
.cine-chapter--build .cine-chapter-copy {
  grid-column: 1;
  justify-self: start;
  max-width: 470px;
}

.cine-chapter--guides .cine-chapter-copy,
.cine-chapter--build .cine-chapter-copy {
  grid-column: 2;
  justify-self: end;
}

.cine-chapter-copy > p:first-child {
  color: #167782;
  margin-bottom: 13px;
}

.cine-chapter-copy h2 {
  color: #183448;
  font-size: clamp(47px, 5.3vw, 76px) !important;
  letter-spacing: -.07em !important;
}

.cine-chapter-description {
  color: #46616a;
  font-size: 16px;
}

.cine-chapter-link {
  gap: 0;
  color: #0d626b;
  border-bottom-color: #0d626b;
  font: 600 14px/1.35 'Be Vietnam Pro', sans-serif;
  letter-spacing: 0;
}

.cine-chapter-link::before {
  display: none;
}

.cine-chapter:hover .cine-chapter-link {
  color: #0d626b;
}

.cine-closing {
  min-height: 60svh;
  background: #102a3a;
}

@media (max-width: 800px) {
  body:has(.cine-home) .footer-grid {
    grid-template-columns: 1fr;
  }

  .cine-hero {
    min-height: 780px;
  }

  .cine-hero-media img {
    object-position: 62% center;
  }

  .cine-hero h1 {
    max-width: 8ch;
    font-size: clamp(44px, 12.5vw, 61px);
  }

  .cine-lede {
    font-size: 15px;
  }

  .cine-chapter,
  .cine-chapter--guides,
  .cine-chapter--build {
    min-height: 0;
    padding: 40px 0 48px;
  }

  .cine-chapter-image,
  .cine-chapter--guides .cine-chapter-image,
  .cine-chapter--build .cine-chapter-image {
    position: absolute;
    inset: 40px 20px auto;
    height: 220px;
    border: 1px solid rgba(22, 119, 130, .24);
  }

  .cine-chapter-image img {
    filter: saturate(.86) contrast(1.01) brightness(.92);
  }

  .cine-chapter-layout,
  .cine-chapter--guides .cine-chapter-layout,
  .cine-chapter--build .cine-chapter-layout {
    display: block;
    min-height: 0;
    padding-top: 254px;
  }

  .cine-chapter-copy,
  .cine-chapter--guides .cine-chapter-copy,
  .cine-chapter--build .cine-chapter-copy {
    max-width: 100%;
  }

  .cine-chapter-copy h2 {
    font-size: clamp(43px, 12.6vw, 57px) !important;
  }

  .cine-chapter-description {
    margin: 18px 0 22px;
    font-size: 15px;
  }

  .cine-closing h2 em {
    display: inline;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cine-hero-media,
  .cine-hero-copy,
  .cine-chapter-image img,
  .cine-chapter-copy {
    will-change: auto;
  }
}
