/* Video-first homepage hero. Scoped so all sections below stay untouched. */
.hero.hero-featured-video { border-top:4px solid var(--crimson); }
.hero-featured-video .hero-featured-grid {
  display:grid;
  grid-template-columns:minmax(0, .94fr) minmax(0, 1.1fr);
  grid-template-areas:"heading video" "details video";
  grid-template-rows:auto 1fr;
  column-gap:clamp(28px, 4.4vw, 65px);
  row-gap:16px;
  padding-block:clamp(40px, 5vw, 64px) clamp(42px, 5.4vw, 72px);
  align-items:center;
}
.hero-featured-video .hero-featured-heading {grid-area:heading;align-self:end;min-width:0;}
.hero-featured-video .hero-featured-heading .eyebrow {font-size:.73rem;margin-bottom:20px;}
.hero-featured-video .hero-featured-heading h1 {
  color:#fff;
  font-family:Montserrat, 'Segoe UI', Arial, sans-serif;
  font-size:clamp(2.65rem, 4.15vw, 3.85rem);
  letter-spacing:-.042em;
  line-height:1.095;
  font-weight:850;
  max-width:600px;
  margin:0;
  overflow-wrap:normal;
}
.hero-featured-video .hero-featured-heading h1 span {display:block;color:#fff;}
.hero-featured-video .hero-featured-details {grid-area:details;align-self:start;min-width:0;}
.hero-featured-video .hero-featured-details .hero-lede {
  text-align:left;
  color:rgba(255,255,255,.86);
  max-width:570px;
  font-size:1.05rem;
  line-height:1.56;
  margin:14px 0 23px;
  text-wrap:pretty;
}
.hero-featured-video .hero-featured-details .hero-actions {
  display:flex;justify-content:flex-start;align-items:center;gap:18px;flex-wrap:wrap;
}
.hero-featured-video .hero-featured-details .hero-actions .button {min-height:48px;padding-inline:20px;white-space:nowrap;font-size:.83rem;}
.hero-featured-video .hero-featured-details .hero-actions .text-link {font-size:.86rem;white-space:nowrap;}
.hero-featured-video .hero-featured-details .hero-proof {
  display:flex;justify-content:flex-start;gap:8px 16px;flex-wrap:wrap;
  font-size:.7rem;margin-top:22px;
}
.hero-featured-video .hero-video-feature {grid-area:video;min-width:0;width:100%;align-self:center;position:relative;z-index:1;}
.hero-featured-video .hero-video-frame {
  width:100%; aspect-ratio:16/9; overflow:hidden; position:relative;
  background:#081a34;border-radius:17px;
  box-shadow:0 22px 56px rgba(2,14,36,.3);
  border:1px solid rgba(255,255,255,.24);
}
.hero-featured-video .hero-video-poster,
.hero-featured-video .hero-video-element {position:absolute;inset:0;width:100%;height:100%;}
.hero-featured-video .hero-video-poster img {display:block;width:100%;height:100%;object-fit:cover;}
.hero-featured-video .hero-video-element {display:block;object-fit:contain;background:#081a34;}
.hero-featured-video .hero-video-poster[hidden],
.hero-featured-video .hero-video-element[hidden] {display:none !important;}
.hero-featured-video .hero-video-play {
  width:70px;height:70px;display:grid;place-items:center;
  position:absolute;right:5.2%;bottom:7.5%;border-radius:50%;
  background:#b51045;color:#fff;border:3px solid #fff;
  cursor:pointer;box-shadow:0 7px 27px rgba(0,0,0,.37);
  transition:transform .15s ease,background-color .15s ease;
}
.hero-featured-video .hero-video-play:hover {transform:scale(1.06);background:#ce1651;}
.hero-featured-video .hero-video-play:focus-visible {outline:3px solid #fff;outline-offset:5px;}
@media(max-width:1050px) and (min-width:761px) {
  .hero-featured-video .hero-featured-grid {column-gap:30px;}
  .hero-featured-video .hero-featured-heading h1 {font-size:clamp(2.25rem,4vw,3.2rem);}
  .hero-featured-video .hero-featured-details .hero-lede {font-size:.95rem;}
  .hero-featured-video .hero-featured-details .hero-actions {align-items:flex-start;gap:14px;flex-direction:column;}
}
@media(max-width:760px) {
  .hero-featured-video .hero-featured-grid {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"heading" "video" "details";
    gap:0;
    padding-block:27px 35px;
    width:min(100% - 30px,620px);
  }
  .hero-featured-video .hero-featured-heading {text-align:left;}
  .hero-featured-video .hero-featured-heading .eyebrow {margin-bottom:12px;font-size:.67rem;}
  .hero-featured-video .hero-featured-heading h1 {font-size:clamp(2.1rem,8.8vw,3.45rem);max-width:560px;line-height:1.11;}
  .hero-featured-video .hero-video-feature {margin-top:22px;}
  .hero-featured-video .hero-video-frame {border-radius:13px;}
  .hero-featured-video .hero-video-play {height:54px;width:54px;right:5%;bottom:7%;}
  .hero-featured-video .hero-video-play svg {height:22px;width:22px;}
  .hero-featured-video .hero-featured-details {margin-top:24px;}
  .hero-featured-video .hero-featured-details .hero-lede {font-size:.94rem;line-height:1.55;margin:0 0 20px;max-width:570px;}
  .hero-featured-video .hero-featured-details .hero-actions {align-items:stretch;gap:12px;flex-direction:column;}
  .hero-featured-video .hero-featured-details .hero-actions .button {width:100%;min-height:51px;}
  .hero-featured-video .hero-featured-details .hero-actions .text-link {text-align:center;}
  .hero-featured-video .hero-featured-details .hero-proof {margin-top:20px;gap:8px 12px;justify-content:center;}
}
@media(max-width:400px) {
  .hero-featured-video .hero-featured-heading h1 {font-size:clamp(1.98rem,8.3vw,2.3rem);}
}
@media(prefers-reduced-motion:reduce) {
  .hero-featured-video .hero-video-play {transition:none;}
}

/* Approved family-sunset thumbnail: its red play button is part of the artwork.
   Keep an invisible, keyboard-accessible full-frame button for interaction. */
.hero-featured-video .hero-video-poster {position:absolute;inset:0;width:100%;height:100%;}
.hero-featured-video .hero-video-play,
.hero-featured-video .hero-video-play:hover {
  position:absolute;inset:0;right:auto;bottom:auto;
  width:100%;height:100%;border:0;border-radius:0;box-shadow:none;
  background:transparent;color:transparent;transform:none;
  display:block;padding:0;cursor:pointer;
}
.hero-featured-video .hero-video-play:focus-visible {
  outline:3px solid #fff;outline-offset:-6px;border-radius:15px;
}
.hero-featured-video .hero-video-poster:has(.hero-video-play:hover) img { filter:brightness(1.045); }
