/* Reserve the header's space by framing the sculpture lower, at a smaller size. */
.hero-art{animation:sculpture-glide 22s cubic-bezier(.45,0,.55,1) infinite;animation-delay:-5s;animation-play-state:var(--ambient-play,running);transform-origin:72% 52%;will-change:transform}
.hero-art img{animation:none!important;transform:none!important;filter:none!important;will-change:auto}
.hero-art:after{display:none}
@media(min-width:681px){
 .hero-art{inset:100px 0 -60px;display:flex;align-items:center;justify-content:center}
 /* Fade the actual image edges, rather than the full-width letterbox around it. */
 .hero-art img{width:auto;height:auto;max-width:100%;max-height:100%;flex:none;object-fit:contain;object-position:center center;mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 92%,transparent 100%),linear-gradient(to right,transparent 0%,#000 16%,#000 94%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 92%,transparent 100%),linear-gradient(to right,transparent 0%,#000 16%,#000 94%,transparent 100%);-webkit-mask-composite:source-in}
}
@media(max-width:680px){
 .hero-art{animation-name:sculpture-glide-mobile;animation-duration:26s;display:flex;align-items:center;justify-content:center}
 .hero-art img{width:auto;height:auto;max-width:100%;max-height:100%;flex:none}
}
.motion-paused .hero-art{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none!important;transform:none!important}}
@keyframes sculpture-glide{0%,100%{transform:scale(1) translate3d(-7px,9px,0)}50%{transform:scale(1.02) translate3d(9px,-13px,0)}}
@keyframes sculpture-glide-mobile{0%,100%{transform:scale(1.025) translate3d(-3px,7px,0)}50%{transform:scale(1.045) translate3d(4px,-9px,0)}}
/* The complete sculpture gets its own stage below the mobile introduction. */
@media(max-width:680px){
 .hero{height:auto;min-height:900px;max-height:none;padding-bottom:28px}
 .hero-copy{margin:36px 0 0}.hero-description{margin-top:28px}.hero-description p{margin-bottom:18px}
 .hero-art{inset:auto 0 62px;height:clamp(290px,84vw,500px);animation:sculpture-glide-mobile 26s ease-in-out infinite;animation-play-state:var(--ambient-play,running)}
 .hero-art img{width:140%;height:auto;max-width:none;max-height:none;position:relative;left:-18%;object-fit:contain;object-position:center;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 90%,transparent)}
 .hero-footer{margin-top:clamp(320px,91vw,540px)}
}
@keyframes sculpture-glide-mobile{0%,100%{transform:translate3d(0,5px,0) scale(.97)}50%{transform:translate3d(0,-5px,0) scale(.99)}}

/* Include italic descenders in the background painting area, including during selection. */
.hero h1{overflow:visible}
.hero h1>span{font-family:'Outfit',var(--sans);font-weight:500;font-size:.97em;letter-spacing:-.045em;line-height:1.06}
.hero h1 em{line-height:1.14;padding:0 .06em .2em .02em;margin-top:-.08em;margin-left:-.02em;margin-right:-.06em;margin-bottom:-.2em;overflow:visible;background-origin:border-box}

/* Text remains semantic and readable. Only the italic line receives moving tonal light. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .hero h1 em{
  background-image:linear-gradient(110deg,#111 0%,#111 38%,#343434 44%,#737373 49%,#343434 54%,#111 61%,#111 100%);
  background-size:260% 100%;background-position:100% 50%;
  background-clip:text;-webkit-background-clip:text;color:transparent;
  animation:headline-curtain 1.65s .15s both,ink-reflection 6s 1s ease-in-out infinite;
  animation-play-state:var(--ambient-play,running),var(--ambient-play,running);
 }
}
@keyframes ink-reflection{0%,5%{background-position:100% 50%}80%,100%{background-position:0% 50%}}
.motion-paused .hero h1 em{background:none;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.hero h1 em{background:none;color:var(--ink);animation:none!important}}
@media(forced-colors:active){.hero h1 em{background:none;color:CanvasText}}
