/* A fixed-size headline slot keeps the surrounding content still. */
.hero h1 .hero-location{display:block;width:100%;padding:0;margin:0;border:0;background:none;color:var(--blue);font:inherit;letter-spacing:inherit;line-height:1.18;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hero-location em{display:grid;overflow:hidden;font:inherit;color:inherit;padding-bottom:.08em;margin-bottom:-.08em}
.hero-location-word{grid-area:1/1;white-space:nowrap;will-change:transform,opacity;animation:location-driveway 13.5s cubic-bezier(.22,.75,.2,1) infinite}
.hero-location-word:nth-child(2){transform:translateX(105%);opacity:0;animation-name:location-workplace}
.hero-location-word:nth-child(3){transform:translateX(105%);opacity:0;animation-name:location-everywhere}
.hero-location[aria-pressed="true"] .hero-location-word{animation-play-state:paused}
.hero-location:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:3px}
@keyframes location-driveway{0%,26.666%{transform:translateX(0);opacity:1}33.333%{transform:translateX(-105%);opacity:0}33.334%,93.333%{transform:translateX(105%);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes location-workplace{0%,26.666%{transform:translateX(105%);opacity:0}33.333%,60%{transform:translateX(0);opacity:1}66.666%,100%{transform:translateX(-105%);opacity:0}}
@keyframes location-everywhere{0%,60%{transform:translateX(105%);opacity:0}66.666%,93.333%{transform:translateX(0);opacity:1}100%{transform:translateX(-105%);opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-location-word{animation:none!important;transform:none;opacity:1;will-change:auto}.hero-location-word+ .hero-location-word{display:none}.hero h1 .hero-location{cursor:default}}

.hero-copy>p.hero-service-line{font-size:clamp(1.3rem,2.4vw,2rem);font-weight:600;line-height:1.3;color:var(--ink);max-width:none;margin:0 0 28px;letter-spacing:-.015em}
