/* Keep one full introduction screen, with a shorter card inside it. */
.home-page .hero-screen{min-height:calc(100vh - 68px);min-height:calc(100svh - 68px);display:flex;align-items:center;padding:16px 0 52px;box-sizing:border-box}
.home-page .hero{min-height:min(74vh,660px);min-height:min(74svh,660px);margin-top:0;margin-bottom:0;padding-top:36px;padding-bottom:64px;align-items:center}
.home-page .hero-portrait{height:clamp(240px,52svh,460px);align-self:center}
.hero-scroll{position:absolute;z-index:6;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:6px 10px;color:#777983;font-size:11px;letter-spacing:.08em;text-decoration:none}
.hero-scroll svg{width:13px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;animation:hero-scroll-hint 1.8s ease-in-out infinite}
.hero-scroll:hover{color:var(--blue)}
.hero-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
#videos{scroll-margin-top:0}
/* Keep the full 16:9 cover and its caption visible after scrolling to the section. */
.home-page #videos .video-feature{width:100%;max-width:calc((100vh - 280px)*16/9 + 30px);max-width:calc((100svh - 280px)*16/9 + 30px);margin-left:0;margin-right:auto}
.home-page #videos .video-feature-title{font-size:clamp(11px,calc((100svh - 280px)/22),24px)}
.home-page #videos .video-feature-title small{font-size:1.5em}
.home-page #videos .video-feature-title strong{font-size:4.1em}
@keyframes hero-scroll-hint{0%,100%{transform:translateY(-3px);opacity:.55}50%{transform:translateY(3px);opacity:1}}
@media(min-width:761px) and (max-height:680px){
  .home-page .hero-screen{padding-top:10px;padding-bottom:30px}
  .home-page .hero{min-height:0;padding-top:24px;padding-bottom:54px}
  .home-page .hero-portrait{height:clamp(220px,48svh,320px)}
  .home-page .hero h1{font-size:clamp(25px,2.5vw,34px)}
  .home-page .hero .intro{font-size:16px;margin-top:20px;margin-bottom:24px}
}
@media(max-width:760px){
  .home-page .hero-screen{min-height:calc(100vh - 58px);min-height:calc(100svh - 58px);padding:12px 0 28px}
  .home-page .hero{min-height:0;gap:22px;padding:28px 22px 58px;align-content:center}
  .home-page .hero-portrait{height:clamp(180px,30svh,290px);width:100%}
  .home-page .hero-scroll{bottom:13px}
  .home-page #videos .video-feature{max-width:100%}
  .home-page #videos .video-feature-title{font-size:11px}
  .home-page #videos .video-feature-title small{font-size:1.45em}
  .home-page #videos .video-feature-title strong{font-size:4em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scroll svg{animation:none}}

/* One shared, left-aligned heading system across the homepage. */
.home-page .section-head{display:block;text-align:left;margin-bottom:38px}
.home-page .section-head .eyebrow{margin:0 0 20px}
.home-page .section-head h2{margin:0;max-width:100%;font-size:45px;line-height:1.2;letter-spacing:-.055em}
.home-page #videos .video-heading-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:34px}
.home-page #method{width:100%;padding-left:max(15px,calc((100% - 1180px)/2));padding-right:max(15px,calc((100% - 1180px)/2))}
.home-page #contact{padding:100px 0 96px;text-align:left}
.home-page #contact h2{max-width:940px;margin:0 0 34px;font-size:clamp(32px,4.2vw,58px);line-height:1.25;white-space:normal;letter-spacing:-.045em}
.home-page #contact h2 span{display:block;white-space:normal;text-wrap:balance}
.home-page #contact .contact-methods{width:max-content;max-width:100%;margin:0;justify-items:start;gap:8px;text-align:left}
.home-page #contact .contact-copy-status{margin-left:43px}
.home-page #contact .contact-note{max-width:620px;margin:24px 0 0;line-height:1.8;text-wrap:pretty}
@media(max-width:760px){
  .home-page .section-head{margin-bottom:26px}
  .home-page .section-head .eyebrow{margin-bottom:16px}
  .home-page .section-head h2{font-size:35px}
  .home-page #videos .video-heading-copy{display:block}
  .home-page #contact{padding:76px 0 68px}
  .home-page #contact h2{font-size:clamp(28px,7.8vw,38px);margin-bottom:28px;line-height:1.35}
  .home-page #contact .contact-channel{font-size:19px}
  .home-page #contact .contact-copy-status{margin-left:40px}
}
