/* Home hero: keyword heading, bold tagline and the numbers strip (count-up in assets/js/hero-stats.js) */
.hero3{position:relative;overflow:hidden;background:#fbfbfc;border-bottom:1px solid hsl(var(--border))}
.hero3::before{content:"";position:absolute;inset:0;background-image:linear-gradient(hsl(var(--foreground) / .045) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground) / .045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 35%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 70% 65% at 50% 35%,#000 30%,transparent 100%);pointer-events:none}
.hero3::after{content:"";position:absolute;left:50%;top:-180px;width:900px;height:520px;transform:translateX(-50%);background:radial-gradient(closest-side,hsl(var(--primary) / .09),transparent);pointer-events:none}
.hero3-inner{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:112px 20px 44px;text-align:center}
.hero3-badge{margin-left:auto;margin-right:auto;display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 12px;border:1px solid hsl(var(--border));border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:hsl(var(--muted-foreground));text-decoration:none;box-shadow:0 4px 14px rgba(15,23,42,.05);margin-bottom:24px;transition:border-color .2s,color .2s}
.hero3-badge__dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--primary));box-shadow:0 0 0 4px hsl(var(--primary) / .15)}
.hero3-title{font-size:clamp(42px,6.4vw,82px);line-height:1;font-weight:900;letter-spacing:-.035em;color:hsl(var(--foreground));margin:0 0 26px}
.hero3-title span{color:hsl(var(--primary))}
.hero3-lead{font-size:clamp(16px,1.5vw,18px);line-height:1.7;color:hsl(var(--muted-foreground));max-width:660px;margin:0 auto 30px}
.hero3-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.hero3-btn{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 30px;border-radius:999px;background:hsl(var(--primary));color:#fff;font-weight:700;font-size:16px;text-decoration:none;box-shadow:0 12px 28px hsl(var(--primary) / .28);transition:transform .2s,box-shadow .2s}
.hero3-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px hsl(var(--primary) / .34)}
.hero3-btn span{transition:transform .2s}
.hero3-btn:hover span{transform:translateX(3px)}
.hero3-btn--ghost{background:#fff;color:hsl(var(--foreground));border:1px solid hsl(var(--border));box-shadow:none}
.hero3-btn--ghost:hover{border-color:hsl(var(--foreground) / .35);box-shadow:0 8px 20px rgba(15,23,42,.06)}

/* numbers strip */
.hero3-stats{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid hsl(var(--border))}
.hero3-stat{text-align:center;padding:30px 12px 34px}
.hero3-stat:nth-child(odd){border-right:1px solid hsl(var(--border))}
.hero3-stat:nth-child(-n+2){border-bottom:1px solid hsl(var(--border))}
.hero3-stat b{display:block;font-size:clamp(44px,5.2vw,68px);line-height:1;font-weight:900;letter-spacing:-.04em;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}
.hero3-stat > span{display:block;margin-top:12px;font-size:14px;color:hsl(var(--muted-foreground))}
@media (min-width:900px){
  .hero3-stats{grid-template-columns:repeat(4,1fr)}
  .hero3-stat{padding:30px 16px 34px;border-bottom:0 !important;border-right:1px solid hsl(var(--border))}
  .hero3-stat:last-child{border-right:0}
}

/* entrance: movement only, never hidden, so the headline shows even if animations are paused */
html.motion .hero3-inner > *{animation:heroIn .8s cubic-bezier(.2,.7,.2,1) both}
html.motion .hero3-inner > *:nth-child(2){animation-delay:.06s}
html.motion .hero3-inner > *:nth-child(3){animation-delay:.12s}
html.motion .hero3-inner > *:nth-child(4){animation-delay:.18s}
@keyframes heroIn{from{transform:translateY(18px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){html.motion .hero3-inner > *{animation:none}}
