/* USFR home hero 3D layer (2026-10-19). Paired with /js/usfr-hero3d-1.0.0.js. Scoped under .usfrh.
   The layer is absolutely positioned inside the hero, so it never takes layout space (no CLS, CTA never moves). */
.usfrh .usfrh-hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 78% 40%,#123a72 0%,#0a2552 45%,#051a53 100%)}
.usfrh .usfrh-hero > .usfrh-in{position:relative;z-index:1}
.usfrh-3d{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
.usfrh-3d.is-on{opacity:1}
.usfrh-3d canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}
.usfrh-3d .usfrh-3d-poster{position:absolute;height:auto;max-width:none;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(closest-side,#000 72%,transparent 100%)}
/* Keeps the headline and subhead at full contrast over the particles. */
.usfrh-3d:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(5,26,83,.82) 0%,rgba(5,26,83,.55) 34%,rgba(5,26,83,0) 58%)}
/* Video card reads as a lit window in front of the house. */
.usfrh .usfrh-hero .hero-embed-video-col{border-color:rgba(212,168,75,.55);box-shadow:0 28px 70px rgba(2,8,30,.6),0 0 0 1px rgba(212,168,75,.18),0 0 48px rgba(212,168,75,.16)}
.usfrh .usfrh-hero .usfrh-proof{border-top-color:rgba(212,168,75,.28)}
.usfrh .usfrh-hero .usfrh-vlabel{position:relative;text-shadow:0 1px 8px rgba(5,26,83,.95),0 0 2px rgba(5,26,83,.9)}
@media (max-width:860px){
  .usfrh-3d:after{background:linear-gradient(180deg,rgba(5,26,83,.55) 0%,rgba(5,26,83,.3) 35%,rgba(5,26,83,0) 55%)}
}
@media (prefers-reduced-motion:reduce){.usfrh-3d{transition:none}}
@media print{.usfrh-3d{display:none}}
