/* First screen only; shared header, other homepage sections and assets stay intact. */
.hv[data-home-visual]{padding-top:0}
.hv .hv-hero{width:100%;min-height:700px;margin:0;border-radius:0;align-items:center}
.hv .hv-hero:after{background:linear-gradient(90deg,rgba(12,12,10,.76),rgba(15,15,12,.52) 60%,rgba(16,16,14,.2)),linear-gradient(0deg,rgba(0,0,0,.22),transparent 65%)}
.hv .hv-hero__content{position:relative;width:min(1200px,calc(100% - 48px));max-width:none;margin-inline:auto;padding:174px 0 106px}
.hv .hv-hero h1{max-width:1020px;font-size:clamp(48px,4.8vw,70px);line-height:1.06;letter-spacing:-.025em;font-weight:500}
.hv .hv-hero__lead{max-width:640px;margin-top:28px;font-size:22px;line-height:1.45}
.hv .hv-hero__actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;margin-top:36px}
.hv .hv-hero__actions .hv-button{min-height:56px;margin:0}
.hv .hv-hero .hv-button--outline{background:transparent;border-color:#fff;color:#fff!important}
.hv .hv-hero .hv-button--outline:hover{background:#ffffff20}
.hv .hv-hero :where(a,button):focus-visible{outline-color:#fff}
.hv .hv-hero__scenery{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hv .hv-hero__frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.035);transition:opacity 1.4s ease;will-change:opacity}
.hv .hv-hero__frame.is-current{opacity:1;z-index:2;animation:hv-hero-pan 15s linear both}
.hv .hv-hero__frame.is-outgoing{opacity:1;z-index:1}
.hv .hv-hero[data-motion-running="false"] .hv-hero__frame{animation-play-state:paused}
.hv .hv-hero__motion{position:absolute;right:0;bottom:26px;display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #ffffff88;border-radius:24px;background:#18171266;color:#fff;font-size:14px;line-height:1.4}
.hv .hv-principles{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-top:36px;padding-bottom:36px}
.hv .hv-principles>div{gap:12px;min-width:0}
.hv .hv-principles h2{font-size:18px;line-height:1.3}
.hv .hv-principles p{font-size:15px;line-height:1.45;margin-top:9px}
@keyframes hv-hero-pan{from{transform:scale(1.025) translateX(-.4%)}to{transform:scale(1.11) translateX(.4%)}}
@media(max-width:1100px){
  .hv .hv-hero{min-height:650px}
  .hv .hv-hero__content{padding-top:160px;padding-bottom:92px}
  .hv .hv-principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
}
@media(max-width:768px){
  .hv .hv-hero{min-height:610px;align-items:center}
  .hv .hv-hero__content{width:calc(100% - 40px);padding:140px 0 90px}
  .hv .hv-hero h1{font-size:clamp(36px,6.2vw,48px);line-height:1.08;letter-spacing:-.02em}
  .hv .hv-hero__lead{font-size:19px;line-height:1.5;max-width:38ch;margin-top:24px}
  .hv .hv-hero__actions{gap:12px;margin-top:28px}
  .hv .hv-hero__actions .hv-button{min-height:52px;padding:14px 18px;gap:18px}
  .hv .hv-hero__motion{bottom:20px}
  .hv .hv-hero__frame{object-position:60% center}
  .hv .hv-principles{gap:24px;padding-top:28px;padding-bottom:28px}
  .hv .hv-principles h2{font-size:17px}
  .hv .hv-principles p{font-size:14px;margin-top:6px}
}
@media(max-width:540px){
  .hv .hv-hero__actions{display:grid;grid-template-columns:1fr;width:100%;max-width:350px}
  .hv .hv-hero__actions .hv-button{justify-content:space-between}
  .hv .hv-principles{grid-template-columns:1fr;gap:20px}
}
@media(max-width:360px){
  .hv .hv-hero__content{width:calc(100% - 32px);padding-top:126px}
  .hv .hv-hero h1{font-size:34px}
  .hv .hv-hero__lead{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
  .hv .hv-hero__frame{animation:none!important;transition:none!important;transform:none!important}
  .hv .hv-hero__motion{display:none!important}
}
