.firmavelo .hero{background:radial-gradient(900px 500px at 85% 20%,rgba(49,68,137,.45),transparent 70%),var(--night)}
.firmavelo .hero-inner{grid-template-columns:1fr;gap:32px;padding-bottom:76px}
.firmavelo .hero-copy{max-width:900px}
.firmavelo .hero h1{font-size:clamp(40px,6vw,66px);line-height:1.08}
.firmavelo .hero-image img{height:auto;aspect-ratio:auto;object-fit:contain}
.firmavelo .eyebrow{color:#fed7aa}
.firmavelo .section-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:26px;font-size:14px;font-weight:750}
.firmavelo .section-links a{text-underline-offset:5px}
.firmavelo .evidence-note{padding:18px 22px;border-left:3px solid #314489;background:#eef2ff;border-radius:0 12px 12px 0;color:#334155}
.firmavelo .product-step{padding-top:44px}
.firmavelo .product-step h3{margin:0 0 12px;font-size:clamp(24px,3vw,32px);line-height:1.2;letter-spacing:-.025em}
.firmavelo figure{margin:24px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.06)}
.firmavelo figure a{display:block;cursor:zoom-in}
.firmavelo figure img{width:100%;height:auto}
.firmavelo figcaption{padding:16px 20px;color:var(--muted);font-size:14px;border-top:1px solid var(--line)}
.firmavelo .screen-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.firmavelo .mobile-screens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.firmavelo .mobile-screens figure{max-width:340px;justify-self:center}
.firmavelo .architecture-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;margin:26px 0}
.firmavelo .architecture-flow li{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.firmavelo .architecture-flow strong{display:block;color:#314489;font-size:18px;margin-bottom:8px}
.firmavelo .architecture-flow span{color:var(--muted)}
.firmavelo details{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.firmavelo summary{font-weight:800;cursor:pointer}
.firmavelo a:focus-visible,.firmavelo summary:focus-visible{outline:3px solid #2563eb;outline-offset:5px}
@media(max-width:760px){.firmavelo .hero-image{order:initial}.firmavelo .hero-inner{padding-top:40px}.firmavelo .screen-pair,.firmavelo .architecture-flow{grid-template-columns:1fr}.firmavelo .mobile-screens{grid-template-columns:1fr}.firmavelo figcaption{padding:12px 16px}.firmavelo .product-step{padding-top:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
