/* The illustration is replaceable without changing the hero's content or layout. */
.hero{max-width:var(--max);margin:auto;padding:3rem var(--gutter) 2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.hero-copy{min-width:0;padding-block:1rem}.hero-eyebrow{display:flex;align-items:center;gap:.7rem;font-size:.7rem;letter-spacing:.12em;margin-bottom:1.8rem}.hero-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rose);flex-shrink:0}.hero h1{margin:0;font-size:clamp(4rem,9.15vw,8.5rem);font-weight:500;letter-spacing:-.045em;line-height:.90}.hero h1>span{display:block}.hero h1 i{font-style:normal;color:var(--rose)}.hero-intro{margin-top:1.8rem;max-width:28rem;font-size:1.1rem;line-height:1.6;color:var(--dim)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;margin-top:1.3rem}.secondary-link{color:var(--dim)}.hero-visual{max-width:33rem;width:100%;justify-self:center}.hero-illustration{width:100%;height:auto;aspect-ratio:600/640}
@media(max-width:900px){.hero{gap:1.5rem;padding-top:2.2rem}.hero h1{font-size:clamp(3.7rem,9vw,5.5rem)}.hero-intro{font-size:1rem}.hero-eyebrow{font-size:.65rem;letter-spacing:.07em}.hero-actions{gap:.4rem 1rem}.hero-actions .text-link{font-size:.85rem}}
@media(max-width:600px){.hero{grid-template-columns:minmax(0,1fr);gap:.2rem;padding-top:1.5rem;padding-bottom:1.3rem}.hero h1{font-size:clamp(3.7rem,19vw,6.5rem);line-height:.94;letter-spacing:-.035em}.hero-copy{padding-block:.6rem}.hero-eyebrow{font-size:.63rem;letter-spacing:.07em;margin-bottom:1.6rem}.hero-intro{margin-top:1.5rem;font-size:1.05rem;max-width:25rem}.hero-actions{margin-top:1rem}.hero-visual{width:min(100%,22rem);margin-top:.8rem}}

/* The approved bloom stays stable; only two sparse stem signals travel. */
.hero-visual{position:relative;aspect-ratio:600/640;max-width:35rem;margin:0;align-self:center}.hero-bloom{position:absolute;left:22%;top:6.875%;width:56%;z-index:1}.hero-bloom img{display:block;width:100%;height:auto;aspect-ratio:672/632}.hero-structure{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.stem-signal{offset-path:path('M302 594C302 561 289 537 289 503S302 460 302 418V353');animation:stem-transit 11s linear infinite;opacity:0}.signal-later{animation-delay:5.5s}@keyframes stem-transit{0%{offset-distance:0%;opacity:0}12%,80%{opacity:.8}100%{offset-distance:100%;opacity:0}}@media(prefers-reduced-motion:reduce){.stem-signal{animation:none;display:none}}@media(max-width:600px){.hero-visual{width:min(100%,22rem);margin:1.2rem auto 0;max-height:360px}.hero{padding-bottom:2rem}}

/* A wider, shallow signal curve supports the unchanged desktop bloom. */
.structure-mobile{display:none}.structure-desktop .stem-signal{offset-path:path('M302 353C302 389 265 408 273 444S342 495 324 533S286 568 302 598')}
@keyframes stem-transit{0%{offset-distance:100%;opacity:0}12%,80%{opacity:.8}100%{offset-distance:0%;opacity:0}}
@media(max-width:600px){.hero-visual{width:min(100%,22rem);aspect-ratio:600/580;max-height:none;margin-top:1.6rem}.hero-bloom{width:66%;left:17%;top:4.7%}.hero-structure{width:100%;height:auto;aspect-ratio:510/525;inset:auto;top:-4%;left:0;transform:none}.structure-desktop{display:none}.structure-mobile{display:block}.structure-mobile .stem-signal{offset-path:path('M302 353C302 402 275 445 293 505')}}
