/* Homepage-only refinements. */
.home-page { --home-accent: #67e8f9; }
.home-page .hero { max-width:1240px; gap:3rem; min-height:0; padding:4rem 2rem; }
.home-page .hero-content { flex:1 1 46%; min-width:0; }
.home-page .hero-title { font-size:clamp(2rem,3.6vw,3.35rem); line-height:1.12; letter-spacing:-.035em; color:#f1f5f9; background:none; -webkit-text-fill-color:currentColor; }
.home-page .hero-subtitle { font-size:1.08rem; color:#b7c6d8; }
.home-eyebrow { color:var(--home-accent); font-size:.76rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; margin:0 0 1rem; }
.home-page .hero-image { flex:1 1 50%; min-width:0; margin:0; }
.home-shot { background:#17273b; border:1px solid #385169; border-radius:16px; overflow:hidden; box-shadow:0 20px 60px #02061755; }
.home-shot img { width:100%; height:auto; display:block; }
.home-shot figcaption { padding:.85rem 1rem; color:#d1deeb; font-size:.8rem; display:flex; align-items:center; gap:.55rem; }
.home-live-dot { width:7px; height:7px; border-radius:50%; background:var(--home-accent); flex-shrink:0; }
.home-page .home-hero-note { color:#9aadc3; font-size:.83rem; line-height:1.6; margin:1rem 0 0; }
.home-page .section { padding:3.5rem 0; }
.home-page .section-title { letter-spacing:-.02em; margin-bottom:1rem; }
.home-page .home-intro { max-width:760px; color:#b7c6d8; }
.home-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:2rem 0; padding:0; }
.home-step-number { display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; border:1px solid #386579; border-radius:10px; color:var(--home-accent); background:#143041; font-weight:700; font-size:.8rem; }
.home-steps h3 { margin:1rem 0 .5rem; font-size:1.12rem; }
.home-steps p { margin:0; color:#b7c6d8; line-height:1.65; font-size:.95rem; }
.home-text-link { color:var(--home-accent); font-weight:650; text-underline-offset:4px; display:inline-block; padding:.5rem 0; }
.home-page .gallery-grid { gap:1.5rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1.75rem; }
.home-page .gallery-item { margin:0; }
.home-page .gallery-item img { height:auto; aspect-ratio:8/5; object-fit:contain; background:#0b1424; }
.home-page .gallery-item figcaption { padding:1.2rem; }
.home-page .gallery-item h3 { font-size:1.12rem; margin:0 0 .5rem; }
.home-page .gallery-item p { color:#b7c6d8; padding:0; font-size:.92rem; line-height:1.6; }
.home-page .feature-icon { color:var(--home-accent); font-size:1.8rem; line-height:1; }
.home-page .feature-card p { font-size:.9rem; line-height:1.65; color:#b7c6d8; }
.home-page .home-final .section-text { max-width:630px; margin:0 auto 1.5rem; }
.home-page .home-final .hero-cta { justify-content:center; }
.home-page a:focus-visible { outline:3px solid var(--home-accent); outline-offset:5px; }
@media(max-width:1000px) {
  .home-page .hero { gap:2rem; padding:3rem 1.5rem; }
}
@media(max-width:800px) {
  .home-page .hero { flex-direction:column; text-align:left; align-items:stretch; }
  .home-page .hero-content,.home-page .hero-image { flex:auto; width:100%; }
  .home-page .hero-cta { justify-content:flex-start; }
  .home-page .hero-image { max-width:620px; align-self:center; }
  .home-page .features-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .home-page .hero { padding:2.25rem 1rem; }
  .home-page .section { padding:2.5rem 0; }
  .home-page .section-inner { padding:0 1rem; }
  .home-steps,.home-page .gallery-grid { grid-template-columns:1fr; }
  .home-steps { gap:1.5rem; }
  .home-steps li { position:relative; padding-left:54px; }
  .home-step-number { position:absolute; left:0; top:0; }
  .home-steps h3 { margin-top:0; }
}
@media(max-width:480px) {
  .home-page .features-grid { grid-template-columns:1fr; }
  .home-page .hero-cta .btn { flex:1 1 auto; text-align:center; white-space:normal; }
  .home-page .hero-title { font-size:2.1rem; }
}
.home-apps { scroll-margin-top: 80px; }
.home-app-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 28px 0 20px; }
.home-app-option { display: flex; flex-direction: column; gap: 9px; padding: 24px; border: 1px solid #31445d; border-radius: 16px; background: #101c2b; color: #f1f5f9; text-decoration: none; }
.home-app-option span { color: #7dd3fc; font-size: .85rem; }
.home-app-option strong { font-size: 1.25rem; }
.home-app-option small { color: #cbd5e1; }
a.home-app-option:hover, a.home-app-option:focus-visible { border-color: #38bdf8; outline: 2px solid #38bdf8; outline-offset: 3px; }
.home-app-pending { border-style: dashed; }
@media (max-width: 700px) { .home-app-options { grid-template-columns: 1fr; } }
