/* Ambient artist orbs: positioning outside, circular cropping inside. */
.orbit-hero{padding:230px 40px 110px;min-height:740px}
.orbit-hero .orbit-copy{width:min(730px,calc(100% - 400px));max-width:none}
.artist-bubble{--orb-x:2px;--orb-y:-8px;--orb-time:6s;--orb-delay:-1s;box-sizing:border-box;aspect-ratio:1;border-radius:9999px;padding:5px;border:1px solid #d5abea80;background:linear-gradient(135deg,#f3c5ed30,#6159ae24);box-shadow:0 0 28px #bc79d21c,0 14px 32px #0005,inset 0 0 10px #efcaeb26;animation:artist-orb-float var(--orb-time) ease-in-out var(--orb-delay) infinite;transition:border-color .25s,box-shadow .25s}
.artist-bubble .artist-bubble__image-wrap{position:relative;display:block;width:100%;height:100%;aspect-ratio:1;overflow:hidden;border-radius:9999px;background:#241b34;isolation:isolate}
.artist-bubble .artist-bubble__image-wrap img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;border-radius:9999px}
.artist-bubble .artist-bubble__image-wrap::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 25% 5%,#fff3,transparent 50%);box-shadow:inset 0 0 0 1px #f4d9ff25}
.artist-bubble .artist-bubble__label{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);max-width:calc(100% + 30px);padding:6px 12px;border-radius:9999px;border:1px solid #ae81c665;background:#21182fee;color:#faf4fe;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;text-align:center;box-shadow:0 4px 12px #0004}
.artist-bubble:hover,.artist-bubble:focus-visible{border-color:#efb7df;box-shadow:0 0 30px #d28cd432,0 14px 32px #0005}
.artist-bubble:focus-visible{animation-play-state:paused}
.bubble-0{left:3%;right:auto;top:120px;width:180px;height:180px;--orb-time:6.4s;--orb-delay:-1.2s;--orb-x:3px;--orb-y:-10px}
.bubble-1{right:3%;left:auto;top:115px;width:188px;height:188px;--orb-time:7.8s;--orb-delay:-3.6s;--orb-x:-3px;--orb-y:-8px}
.bubble-2{left:6%;right:auto;top:440px;width:148px;height:148px;--orb-time:6.9s;--orb-delay:-2.4s;--orb-x:2px;--orb-y:-9px}
.bubble-2 .artist-bubble__image-wrap img{object-position:center 65%}
.bubble-3{right:6%;left:auto;top:450px;width:156px;height:156px;--orb-time:7.2s;--orb-delay:-5.1s;--orb-x:-2px;--orb-y:-12px}
.bubble-4{left:calc(50% - 64px);right:auto;top:32px;width:128px;height:128px;--orb-time:5.8s;--orb-delay:-.8s;--orb-x:1px;--orb-y:-6px}
@keyframes artist-orb-float{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(var(--orb-x),var(--orb-y),0) scale(1.008)}}
/* Give portraits their own rows on smaller screens; text height can grow freely. */
@media(max-width:1000px){
 .orbit-hero{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:44px 16px;align-items:start;min-height:0;padding:32px 32px 36px}
 .hero-orbit{display:contents}
 .artist-bubble{position:relative;left:auto;right:auto;top:auto;bottom:auto;justify-self:center;align-self:center;width:clamp(94px,16vw,140px);height:auto}
 .bubble-0{grid-column:1/span 2;grid-row:1}.bubble-1{grid-column:3/span 2;grid-row:1}.bubble-2{grid-column:5/span 2;grid-row:1}
 .bubble-3{grid-column:2/span 2;grid-row:3}.bubble-4{grid-column:4/span 2;grid-row:3}
 .orbit-hero .orbit-copy{grid-column:1/-1;grid-row:2;width:100%;max-width:660px;margin:0 auto}
 .orbit-caption{position:static;grid-column:1/-1;grid-row:4;margin:0;text-align:center}
}
@media(max-width:700px){
 .orbit-hero{padding:28px 20px 30px;gap:40px 10px}
 .artist-bubble{width:clamp(76px,22vw,110px);height:auto;padding:4px;--orb-y:-6px;--orb-x:1px}
 .artist-bubble .artist-bubble__label{font-size:10px;padding:5px 8px;bottom:-12px}
 .orbit-hero .orbit-copy{max-width:560px}
}
@media(prefers-reduced-motion:reduce){.artist-bubble{animation:none;transform:none;transition:none}.artist-bubble:hover,.artist-bubble:focus-visible{transform:none}}

/* State the service directly below the wordmark. */
.orbit-copy h1:has(.ll-hero-logo)>.hero-service-label{margin-top:20px;font-family:inherit;font-size:22px;line-height:1.4;font-weight:700;letter-spacing:.015em;color:#faf4fe}
.orbit-copy h1:has(.ll-hero-logo)>.hero-provider{margin-top:10px;font-size:14px;line-height:1.6;font-weight:500;letter-spacing:.08em;color:#dfbfe9}
@media(max-width:700px){.orbit-copy h1:has(.ll-hero-logo)>.hero-service-label{font-size:19px;line-height:1.5;margin-top:16px}.orbit-copy h1:has(.ll-hero-logo)>.hero-provider{font-size:13px;margin-top:8px}}
