/* buildcontrol — Shared hero band and hero artwork. */
/* hero */
.hero{position:relative;overflow:hidden;background:var(--screen-bg-alt)}
.hero::after{content:"";position:absolute;top:-120px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(45,107,200,.10),transparent 68%)}
.hero-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:76px 0 84px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-header);font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-600);margin-bottom:18px}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--navy-900)}
.hero h1{font-family:var(--f-header);font-weight:700;font-size:46px;line-height:1.1;letter-spacing:-.01em;color:var(--navy-900);margin-bottom:18px}
.hero .sub{font-family:var(--f-header);font-weight:600;font-size:18px;color:var(--brand-700);margin-bottom:20px}
.hero p{font-size:16px;color:var(--n-600);max-width:520px;margin-bottom:30px}
.tagline{font-family:var(--f-header);font-weight:700;font-size:20px;color:var(--navy-900);margin:26px 0 26px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 28px;border-radius:var(--r-md);font-family:var(--f-body);font-weight:700;font-size:16px;cursor:pointer;border:none;transition:transform .08s ease,filter .15s ease}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand-grad);color:#fff;box-shadow:0 2px 6px rgba(31,88,174,.25)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-light{background:#fff;color:var(--brand-700);box-shadow:var(--shadow-2)}

/* hero art */
.hero-art{position:relative;height:380px}
.orbit{position:absolute;top:50%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%);border-radius:50%;background:var(--header-grad);box-shadow:var(--shadow-3);display:grid;place-items:center;animation:orbit-pulse 4s ease-in-out infinite}
.orbit::before{content:"";position:absolute;inset:26px;border:2px dashed rgba(255,255,255,.22);border-radius:50%;animation:orbit-spin 22s linear infinite}
.orbit::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1.5px solid rgba(45,107,200,.28);animation:orbit-spin-rev 30s linear infinite}
.orbit-label{position:relative;font-family:var(--f-header);font-weight:700;font-size:22px;color:#fff;text-align:center;line-height:1.3;z-index:1}
.orbit-label small{display:block;font-weight:500;font-size:12px;color:#fff;letter-spacing:.14em;text-transform:uppercase;margin-top:6px}
.chip{position:absolute;background:#fff;border-radius:var(--r-full);padding:8px 14px 8px 10px;box-shadow:var(--shadow-2);display:flex;align-items:center;gap:8px;font-family:var(--f-header);font-weight:600;font-size:13px;color:var(--navy-900);opacity:0;animation:chip-in .5s ease forwards,chip-float 4.5s ease-in-out infinite}
.chip .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center}
.chip .dot svg{width:13px;height:13px;fill:#fff}
.chip.c1{top:26px;left:0;animation-delay:.2s,.7s}.chip.c1 .dot{background:var(--success)}
.chip.c2{top:0;right:16px;animation-delay:.45s,1.3s}.chip.c2 .dot{background:var(--brand-600)}
.chip.c3{bottom:40px;left:8px;animation-delay:.7s,1.9s}.chip.c3 .dot{background:var(--warning)}
.chip.c4{bottom:8px;right:0;animation-delay:.95s,2.5s}.chip.c4 .dot{background:var(--purple)}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
@keyframes orbit-spin-rev{to{transform:rotate(-360deg)}}
@keyframes orbit-pulse{0%,100%{box-shadow:var(--shadow-3),0 0 0 0 rgba(45,107,200,.30)}50%{box-shadow:var(--shadow-3),0 0 0 18px rgba(45,107,200,0)}}
@keyframes chip-in{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@keyframes chip-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.orbit,.orbit::before,.orbit::after,.chip{animation:none!important;opacity:1!important}}
