.hero.hero-full { position: relative; display: flex; align-items: center; min-height: clamp(620px, calc(100svh - 96px), 820px); padding: 84px 24px 94px; overflow: hidden; isolation: isolate; background: var(--navy); color: #fff; }
.hero-background { position: absolute; inset: 0; z-index: -2; }
.hero-background video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-background::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,30,.87) 0%, rgba(0,0,30,.70) 47%, rgba(0,0,30,.32) 100%); }
.hero-full .hero-content { position: relative; padding: 0; }
.hero-eyebrow { margin: 0 0 24px; color: #fff; font: 600 12px/1.5 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.hero-full h1 { max-width: 1060px; color: #fff; font-size: clamp(46px, 5.1vw, 72px); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.hero-full h1 span { display: block; color: #ded8ff; }
.hero-full .hero-lead { max-width: 660px; margin-top: 28px; color: #fff; font-size: 19px; line-height: 1.65; }
.hero-full .btn { margin-top: 32px; font-weight: 600; padding: 14px 24px; }
.hero-full .hero-credit { position: absolute; right: 24px; bottom: 12px; color: rgba(255,255,255,.8); font-size: 10px; line-height: 1.5; text-decoration: none; }
.hero-full .hero-credit:hover { text-decoration: underline; }
@media (max-width: 900px) {
  .hero.hero-full { min-height: 660px; padding: 64px 24px 72px; }
  .hero-full .hero-content { padding: 0; }
  .hero-full h1 { font-size: clamp(42px, 6.3vw, 62px); max-width: 900px; }
  .hero-background::after { background: rgba(0,0,30,.73); }
  .hero-full .hero-lead { font-size: 18px; }
}
@media (max-width: 520px) {
  .hero.hero-full { min-height: 640px; padding: 52px 20px 64px; }
  .hero-full h1 { font-size: clamp(36px, 9.3vw, 46px); line-height: 1.1; }
  .hero-eyebrow { font-size: 10px; letter-spacing: .12em; margin-bottom: 22px; }
  .hero-full .hero-lead { font-size: 17px; line-height: 1.6; margin-top: 24px; }
  .hero-full .btn { width: 100%; text-align: center; margin-top: 28px; }
  .hero-full .hero-credit { right: 20px; bottom: 10px; font-size: 9px; }
  .hero-background video { object-position: 58% center; }
}
