/* hero.css — Hero sections */
.hero { background: var(--blue-xl); padding: 64px 24px 52px; position: relative; overflow: hidden; }
.hero-grid-bg { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 44px 44px; pointer-events: none; }
.hero-glow  { position: absolute; top: -80px; right: -100px; width: 500px; height: 500px; background: radial-gradient(circle,rgba(19,66,175,.18),transparent 65%); pointer-events: none; }
.hero-glow2 { position: absolute; bottom: -100px; left: -80px; width: 400px; height: 400px; background: radial-gradient(circle,rgba(30,86,212,.15),transparent 65%); pointer-events: none; }
.hero-inner { max-width: var(--max); margin: 0 auto; position: relative; z-index: 1; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 24px; padding: 5px 14px; margin-bottom: 22px; }
.hero-eyebrow-dot { width: 6px; height: 6px; background: rgba(255,255,255,.8); border-radius: 50%; flex-shrink: 0; }
.hero-eyebrow span { font-size: 11.5px; font-weight: 600; color: rgba(255,255,255,.85); letter-spacing: .5px; font-family: var(--ff-h); }
.hero-h1  { font-family: var(--ff-h); font-size: clamp(30px,4.5vw,52px); font-weight: 900; color: var(--white); line-height: 1.1; margin-bottom: 10px; letter-spacing: -.02em; }
.hero-h1 span { color: rgba(255,255,255,.75); }
.hero-sub { font-size: clamp(14px,1.6vw,16.5px); color: rgba(255,255,255,.62); margin-bottom: 32px; max-width: 600px; line-height: 1.7; }
.hero-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 44px; }
.hero-stats { display: flex; flex-wrap: wrap; gap: 0; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.1); }
.hstat { padding: 0 32px 0 0; margin: 0 32px 0 0; border-right: 1px solid rgba(255,255,255,.1); }
.hstat:first-child { padding-left: 0; }
.hstat:last-child  { border-right: none; margin-right: 0; }
.hstat-n { font-family: var(--ff-h); font-size: 28px; font-weight: 900; color: var(--white); line-height: 1; }
.hstat-l { font-size: 11.5px; color: rgba(255,255,255,.45); margin-top: 4px; }
@media (max-width: 640px) { .hstat { padding: 0 16px 0 0; margin: 0 16px 0 0; } .hstat-n { font-size: 22px; } }
.page-hero-dark { background: var(--blue-xl); padding: 52px 24px; text-align: center; position: relative; overflow: hidden; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 44px 44px; }
.page-hero-dark .section-inner { position: relative; z-index: 1; }
.page-hero-dark h1 { font-family: var(--ff-h); font-size: clamp(26px,4vw,44px); font-weight: 900; color: var(--white); margin-bottom: 10px; }
.page-hero-dark p  { font-size: 15px; color: rgba(255,255,255,.55); max-width: 520px; margin: 0 auto; }
