/* Hero & notice. */
.hero { background: var(--cream); border-bottom: 1px solid var(--border); }
.hero-inner { padding-top: 38px; padding-bottom: 52px; }
.crumbs { font-size: 0.875rem; font-weight: 500; color: var(--text-muted); margin-bottom: 26px; }
.crumbs a { color: var(--text-muted); }
.crumbs a:hover { color: var(--orange-deep); }
.crumbs span { margin: 0 8px; opacity: 0.5; }
.crumbs .crumb-home { display: inline-flex; vertical-align: -2px; }
.crumbs .crumb-home svg { width: 15px; height: 15px; display: block; }
.hero-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.hero h1 { font-size: clamp(1.9rem, 4.2vw, 3rem); max-width: 24ch; }
.hero-sub { font-size: 1.15rem; color: var(--text-muted); max-width: 48ch; margin-top: 18px; }
.hero-stats { display: flex; gap: clamp(20px, 4vw, 48px); margin-top: 28px; flex-wrap: wrap; }
.hero-stats .stat b { display: block; font-family: 'Space Grotesk', sans-serif; font-feature-settings: "tnum"; font-weight: 600; font-size: clamp(1.5rem, 3vw, 2.1rem); letter-spacing: -0.02em; }
.hero-stats .stat span { font-size: 0.875rem; color: var(--text-muted); }
.hero-split { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: flex-end; justify-content: space-between; }
.hero-meta {
  display: flex; flex-wrap: wrap; gap: 10px 32px; margin-top: 22px;
  font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 1rem;
  font-feature-settings: "tnum";
}
.hero-meta .m { display: flex; align-items: baseline; gap: 9px; }
.hero-meta .m::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); align-self: center; flex: none; }
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; align-items: center; }
.going {
  font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 0.9rem;
  font-feature-settings: "tnum"; color: var(--text-muted);
}

/* notice / callout */
.notice {
  display: flex; gap: 12px; align-items: baseline;
  background: var(--cream-warm); border-radius: var(--r-media);
  padding: 14px 20px; margin-top: 26px; max-width: 640px;
  font-size: 0.92rem;
}
.notice::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); flex: none; align-self: center; }
.notice b { font-weight: 600; }

/* homepage hero — centered, optional map/photo backdrop, big count-up stats */
.hero { position: relative; overflow: hidden; }
.hero .hero-inner { position: relative; z-index: 1; }
.hero-with-partners { border-bottom: 0; padding-bottom: clamp(24px, 4vw, 42px); }
.hero-with-partners .hero-inner { padding-bottom: 34px; }
.hero-map-bg { position: absolute; inset: -40px 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.hero-map-bg svg { width: 118%; min-width: 1250px; height: auto; }
.home-hero { text-align: center; }
.home-hero .announce { margin-bottom: 28px; }
.home-hero .eyebrow { display: block; margin-bottom: 18px; }
.home-hero h1 { font-size: clamp(2.4rem, 5.4vw, 4rem); font-weight: 650; line-height: 1.05; max-width: 17ch; margin: 0 auto; }
.home-hero .sub { font-size: 1.2rem; color: var(--text-muted); max-width: 46ch; margin: 20px auto 32px; }
.hero-cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.stats-row { display: flex; justify-content: center; gap: clamp(24px, 5.5vw, 72px); padding-top: 48px; flex-wrap: wrap; }
.stat-big { text-align: center; }
.stat-big b { display: block; font-family: 'Space Grotesk', sans-serif; font-feature-settings: "tnum"; font-weight: 650; font-size: clamp(2.2rem, 4.3vw, 3.3rem); letter-spacing: -0.02em; }
.stat-big span { font-size: 0.9rem; color: var(--text-muted); }

/* corner-photo hero variant */
.hero-shot { position: absolute; width: 175px; border-radius: var(--r-media); border: 1px solid var(--border); box-shadow: var(--shadow-card); display: block; }
.hs1 { left: 4%; top: 20%; transform: translateY(-10px); }
.hs2 { left: 8%; bottom: 14%; width: 150px; }
.hs3 { right: 4%; top: 24%; }
.hs4 { right: 8%; bottom: 12%; width: 150px; }
@media (max-width: 1180px) { .hero-shot { display: none; } }

/* "we work with" strip */
.ww-strip { margin-top: 0; padding: 30px 0 26px; background: var(--surface); }
.ww-label { text-align: center; font: 500 0.78rem 'Space Grotesk', sans-serif; text-transform: uppercase; letter-spacing: 0.16em; color: var(--orange); margin: 0 0 14px; }
.hero-with-partners .ww-strip { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 24px; width: min(1140px, calc(100% - 48px)); margin: 0 auto; padding: 16px 0 16px 24px; border-radius: 999px; box-shadow: var(--shadow-card); }
.hero-with-partners .ww-label { text-align: left; margin: 0; white-space: nowrap; }
.hero-with-partners .logo-scroll { margin-top: 0; }
