/* Independent decorative SVG beside the headline in the desktop right column. */
.home-hero {position:relative}
.hero-geometry {display:none}
@media (min-width:70rem) {
 .home-hero {display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:clamp(2rem,4vw,4rem);align-items:start}
 .hero-copy {display:contents}
 .home-hero .section-label {grid-column:1;grid-row:1}
 .home-hero h1 {grid-column:1;grid-row:2}
 .home-hero .lead {grid-column:1;grid-row:3}
 /* The artwork starts at y327 inside its 1100-unit square; align that visible edge, not the empty SVG margin. */
 .hero-geometry {display:block;grid-column:2;grid-row:2 / 4;align-self:start;justify-self:center;width:min(100%,380px);height:auto;aspect-ratio:1;transform:translateY(-29.727273%);pointer-events:none}
}
.hero-geometry-arc,.hero-geometry-tangent {stroke-dasharray:1;stroke-dashoffset:0}
@media (prefers-reduced-motion:no-preference) and (min-width:70rem) {
 .hero-geometry-playing .hero-geometry-arc {animation:hero-geometry-draw 800ms cubic-bezier(.25,.1,.25,1) both}
 .hero-geometry-playing .hero-geometry-tangent {animation:hero-geometry-draw 800ms linear 800ms both}
 /* The line reaches x349 at 349/1100 of its 800ms traversal (~1054ms). */
 .hero-geometry-playing .hero-geometry-point {animation:hero-geometry-connect 76.8ms linear 1054ms both}
 @keyframes hero-geometry-draw {from {stroke-dashoffset:1} to {stroke-dashoffset:0}}
 @keyframes hero-geometry-connect {from {opacity:0} to {opacity:1}}
}
@media (prefers-reduced-motion:reduce) {
 .hero-geometry * {animation:none!important}
 .hero-geometry-arc,.hero-geometry-tangent {stroke-dashoffset:0}
 .hero-geometry-point {opacity:1}
}

.hero-geometry-armed .hero-geometry-arc,.hero-geometry-armed .hero-geometry-tangent {stroke-dashoffset:1}
.hero-geometry-armed .hero-geometry-point {opacity:0}
@media(prefers-reduced-motion:reduce) {
 .hero-geometry-armed .hero-geometry-arc,.hero-geometry-armed .hero-geometry-tangent {stroke-dashoffset:0}
 .hero-geometry-armed .hero-geometry-point {opacity:1}
}
