.home-header { position: absolute; width: 100%; background: transparent; }
.home-header-brand { visibility: hidden; pointer-events: none; }
.hero { min-height: 100vh; min-height: 100svh; padding: 120px 24px 86px; display: grid; place-items: center; position: relative; overflow: hidden; isolation: isolate; text-align: center; background: linear-gradient(145deg, color-mix(in srgb, var(--mesh-lime) 22%, white) 0%, var(--surface) 42%, var(--surface) 57%, color-mix(in srgb, var(--mesh-gold) 30%, white) 100%); }
.hero::before { content: ""; position: absolute; inset: -22%; z-index: -2; background: radial-gradient(ellipse 30% 27% at 7% 14%, color-mix(in srgb, var(--mesh-lime) 92%, white) 0, color-mix(in srgb, var(--mesh-lime) 58%, transparent) 34%, transparent 72%), radial-gradient(ellipse 26% 24% at 32% 2%, color-mix(in srgb, var(--mesh-gold) 82%, white) 0, transparent 70%), radial-gradient(ellipse 30% 32% at 93% 22%, color-mix(in srgb, var(--mesh-sage) 88%, white) 0, color-mix(in srgb, var(--mesh-sage) 42%, transparent) 36%, transparent 74%), radial-gradient(ellipse 34% 27% at 86% 94%, color-mix(in srgb, var(--mesh-gold) 88%, white) 0, color-mix(in srgb, var(--mesh-gold) 50%, transparent) 34%, transparent 74%), radial-gradient(ellipse 25% 30% at 18% 88%, color-mix(in srgb, var(--mesh-gold) 78%, white) 0, transparent 72%), radial-gradient(ellipse 22% 24% at 62% 108%, color-mix(in srgb, var(--mesh-gold) 72%, white) 0, transparent 70%); filter: blur(68px) saturate(1.25); transform: scale(1.1); pointer-events: none; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 61% 74% at 50% 46%, color-mix(in srgb, var(--surface) 93%, transparent) 0, color-mix(in srgb, var(--surface) 62%, transparent) 44%, color-mix(in srgb, var(--surface) 14%, transparent) 72%, transparent 86%); pointer-events: none; }
.hero-content { width: min(930px, 100%); position: relative; z-index: 1; }
.brand-hero { width: clamp(270px, 34vw, 430px); height: auto; margin-bottom: clamp(8px, 1vw, 13px); }
.hero h1 { margin: 0 auto; max-width: 920px; color: var(--brand-secondary); font: 700 clamp(36px, 3.7vw, 48px)/1.12 var(--font-body); font-kerning: normal; font-stretch: normal; font-synthesis: none; letter-spacing: normal; }
.hero h1 em { color: var(--brand-primary); font-style: normal; }
.hero-content > p { margin: 6px auto 28px; font-size: clamp(18px, 1.5vw, 21px); }
.hero-search { min-height: 76px; padding: 8px; display: grid; grid-template-columns: minmax(240px, 1fr) minmax(170px, 230px) auto; gap: 0; background: var(--surface); border-radius: var(--radius-card); box-shadow: 0 2px 6px color-mix(in srgb, var(--brand-secondary) 12%, transparent); text-align: left; }
.hero-search label, .search-input { display: flex; align-items: center; }
.hero-search svg { width: 24px; color: var(--text-muted); margin: 0 5px 0 14px; }
.search-input > .icon-fill { flex: 0 0 20px; width: 20px; height: 20px; }
.hero-search .voice-search { width: 38px; margin: 0 6px 0 0; padding: 9px 12px; color: var(--brand-secondary); }
.hero-search .voice-search svg { width: 100%; height: 100%; margin: 0; }
.hero-search .voice-search:hover { color: var(--brand-primary-dark); }
.hero-search .voice-search.is-listening { color: var(--text-on-dark); }
.hero-search input { width: 100%; min-width: 0; border: 0; outline: 0; padding: 14px 12px; color: var(--text); font-size: 20px; }
.hero-search input::placeholder { color: var(--text-muted); opacity: 1; }
.hero-location { position: relative; }
.hero-location::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 50%; background: var(--border); transform: translateY(-50%); }
.hero-search .button { min-width: 72px; padding-inline: 22px; font-size: 26px; line-height: 1; background: var(--brand-primary); }
.hero-search .button:hover { background: var(--brand-primary-hover); }
.ecosystem-section { padding: var(--section-space) 0; background: var(--surface); }
.ecosystem-layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(320px, 1fr); gap: var(--layout-gap); align-items: center; }
.ecosystem-copy { max-width: 600px; }
.ecosystem-copy .eyebrow { margin-bottom: 18px; font-size: 18px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; }
.ecosystem-copy h2 { margin: 0; color: var(--brand-secondary); font: 700 clamp(44px, 5vw, 66px)/1.04 var(--font-display); letter-spacing: -2.5px; }
.ecosystem-copy h2 em { color: var(--brand-primary); font-style: normal; }
.ecosystem-body { max-width: 590px; margin-top: 30px; }
.ecosystem-body p { margin: 0; }
.ecosystem-body p + p { margin-top: 20px; }
.ecosystem-actions { margin-top: 64px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.ecosystem-action { min-height: 180px; padding: 28px 30px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); transition: border-color var(--transition-ui); }
.ecosystem-action:hover { border-color: var(--brand-primary); }
.ecosystem-action h3 { margin: 0; color: var(--brand-secondary); font: 700 22px/1.25 var(--font-display); }
.ecosystem-action p { max-width: 470px; margin: 10px 0 20px; }
.ecosystem-action span { margin-top: auto; color: var(--brand-primary-dark); font-size: 14px; font-weight: 700; }
.ecosystem-media { width: 100%; overflow: hidden; border-radius: var(--radius-media); }
.ecosystem-media img { display: block; width: 100%; height: auto; }
.local-commerce-bridge { margin-top: 34px; padding: 0; }
.local-commerce-bridge h2 { margin: 0; color: var(--brand-secondary); font: 700 22px/1.25 var(--font-display); }
.local-commerce-bridge p { width: 100%; margin: 10px 0 0; }
.local-commerce-bridge a { color: var(--brand-primary-dark); font-size: 14px; font-weight: 700; white-space: nowrap; }
.local-commerce-bridge a:hover { color: var(--brand-primary); }
@media (max-width: 980px) {
  .ecosystem-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .home-header { position: absolute; background: transparent; }
  .home-header-brand { display: none; }
  .home-header .main-nav { margin-left: auto; }
  .hero { min-height: 100vh; min-height: 100svh; padding: 62px 14px; }
  .hero h1 { font-size: 26px; }
  .hero-search { grid-template-columns: 1fr; gap: 2px; padding: 8px; }
  .hero-location { border-top: 1px solid var(--border); }
  .hero-location::before { display: none; }
  .hero-search .button { margin-top: 4px; }
  .ecosystem-section { padding: var(--section-space-mobile) 0; }
  .ecosystem-layout { grid-template-columns: 1fr; gap: 45px; }
  .ecosystem-copy h2 { font-size: 43px; letter-spacing: -1.8px; }
  .ecosystem-actions { margin-top: 45px; grid-template-columns: 1fr; }
  .ecosystem-action { min-height: 0; }
  .local-commerce-bridge { margin-top: 28px; }
}
