/* Text led home features over the shared shader background. */
.view#v-home{position:relative;isolation:isolate;overflow:hidden;padding-top:0;background:transparent}
.view#v-home>.home-backdrop{position:absolute;z-index:-1;inset:-4px;pointer-events:none;background:url('/assets/site-background.webp') center 48%/cover no-repeat;filter:blur(2px);opacity:.72;transform:scale(1.01);animation:home-scene-open 1.35s cubic-bezier(.2,.72,.18,1) both}
.view#v-home::after{position:absolute;z-index:-1;inset:0;pointer-events:none;background:rgba(9,13,20,.38);content:""}
.home-hero{position:relative;display:flex;min-height:395px;flex-direction:column;align-items:center;justify-content:center;padding-top:58px;padding-bottom:42px;text-align:center}
.home-kicker{margin-bottom:12px;color:#9ccaff;font-size:.77rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.home-hero h1{max-width:30ch;margin:0;color:#fff;font-size:clamp(2rem,4.7vw,3.35rem);font-weight:600;letter-spacing:-.045em;line-height:1.13;animation:home-title-unmask .82s cubic-bezier(.22,.72,.2,1) .08s both}
.home-intro{max-width:50ch;margin:15px auto 0;color:rgba(238,242,247,.82);font-size:1rem;line-height:1.6}
.home-download{display:flex;justify-content:center;margin-top:24px;animation:home-download-open .72s cubic-bezier(.2,.72,.18,1) .28s both}
.home-download .btn{position:relative;isolation:isolate;overflow:hidden;min-width:180px;min-height:46px;padding:11px 22px;border-radius:7px;background:#47a0fb!important;border-color:#47a0fb!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:700;box-shadow:none!important}
.home-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:24px;padding:20px 24px 76px}
.home-feature-card{min-width:0;overflow:visible;border:0;background:transparent;box-shadow:none;text-align:center}
.home-feature-copy{padding:12px 8px;text-align:center}
.home-feature-copy h2{max-width:28ch;margin:0 auto;color:#fff;font-size:clamp(1rem,1.7vw,1.24rem);font-weight:600;letter-spacing:-.02em;line-height:1.45;animation:feature-float-in .72s cubic-bezier(.2,.72,.18,1) both}
.home-feature-card:nth-child(2) h2{animation-delay:.12s}.home-feature-card:nth-child(3) h2{animation-delay:.24s}
.nlinks a,.nlinks a:hover,.nlinks a:focus,.nlinks a:focus-visible,.nlinks a.on,.nlinks a.active{text-decoration:none!important}
@keyframes home-scene-open{from{opacity:0;transform:scale(1.065)}to{opacity:.72;transform:scale(1.01)}}
@keyframes home-title-unmask{from{clip-path:inset(0 0 100%);opacity:.25}to{clip-path:inset(0);opacity:1}}
@keyframes home-download-open{from{clip-path:inset(0 50%);opacity:.4}to{clip-path:inset(0);opacity:1}}
@keyframes feature-float-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:760px){.home-hero{min-height:345px;padding-top:46px;padding-bottom:34px}.home-feature-grid{gap:18px;padding:12px 20px 56px}.home-feature-copy{padding:12px 5px}.home-feature-copy h2{font-size:.96rem}}
@media(max-width:580px){.view#v-home>.home-backdrop{opacity:.58;filter:blur(2px)}.home-hero{min-height:330px}.home-hero h1{font-size:clamp(1.9rem,8vw,2.65rem)}.home-download{width:100%}.home-download .btn{width:min(100%,320px)}.home-feature-grid{grid-template-columns:1fr;gap:14px;padding:10px 24px 42px}.home-feature-copy{padding:10px 8px}.home-feature-copy h2{font-size:1.02rem}}
@media(prefers-reduced-motion:reduce){.view#v-home>.home-backdrop,.home-hero h1,.home-download,.home-feature-copy h2{animation:none;clip-path:none;filter:none;opacity:1;transform:none}.home-download .btn,.home-download .btn::after{transition:none!important}}
