/* Split Text Animation */
.st-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,5rem);max-width:1320px;margin:0 auto;align-items:start}
.st-photo{position:sticky;top:110px;margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -40px rgba(0,0,0,.85)}
.st-photo img{width:100%;height:100%;object-fit:cover}
.st-demos{display:grid;gap:clamp(2.6rem,7vh,4.5rem)}
.st-demo{border-top:1px solid rgba(var(--ink-rgb),.14);padding-top:1.1rem}
.st-meta{display:flex;align-items:center;gap:1rem;margin-bottom:clamp(1rem,2.5vh,1.6rem)}
.st-num{font-size:.66rem;letter-spacing:.3em;color:var(--gold)}
.st-name{flex:1;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.st-replay{padding:.45rem .85rem;font-size:.6rem}
.st{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
.st-xl{font-size:clamp(2.6rem,6.2vw,6rem);line-height:1}
.st-lg{font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.22;font-weight:400}
.st-quote{font-style:italic;padding-left:1.2rem;border-left:2px solid var(--gold)}
.st-gold{color:var(--gold2)}

/* split pieces */
.st-w,.st-c,.st-line,.st-li{display:inline-block}
/* masks: the clip box gets extra room (padding) cancelled by an equal negative margin, so descenders (g y p j), italic tails and
   glyph overhang are never cut and the layout stays identical; the start offsets (135%) keep the text fully below the extended edge */
.st-line{display:block;overflow:hidden;padding:0 .12em .28em;margin:0 -.12em -.28em}
.st-li{display:block}

/* 01 chars rise */
[data-split="chars-rise"] .st-w{overflow:hidden;vertical-align:top;padding:.12em .2em .28em;margin:-.12em -.2em -.28em}
[data-split="chars-rise"] .st-c{transform:translateY(135%);transition:transform .95s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 24ms)}
[data-split="chars-rise"].is-in .st-c{transform:none}
/* 02 words blur */
[data-split="words-blur"] .st-w{opacity:0;filter:blur(12px);transform:translateY(.35em);transition:opacity .9s ease,filter .9s ease,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 45ms)}
[data-split="words-blur"].is-in .st-w{opacity:1;filter:none;transform:none}
/* 03 lines */
[data-split="lines"] .st-li{transform:translateY(135%);transition:transform 1s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 130ms)}
[data-split="lines"].is-in .st-li{transform:none}
/* 04 chars flip */
[data-split="chars-flip"]{perspective:900px}
[data-split="chars-flip"] .st-c{opacity:0;transform:rotateX(-95deg) translateY(.2em);transform-origin:50% 100%;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .5s ease;transition-delay:calc(var(--r) * 45ms)}
[data-split="chars-flip"].is-in .st-c{opacity:1;transform:none}
/* while replaying, snap back instantly */
.st.is-reset *{transition:none!important}

.theme-light .st-photo{box-shadow:0 40px 80px -40px rgba(var(--shadow-rgb),.4)}
@media (max-width:860px){
  .st-grid{grid-template-columns:1fr}
  .st-photo{position:relative;top:auto;aspect-ratio:16/10;max-height:46vh}
}
@media (prefers-reduced-motion:reduce){
  .st *{transition:none!important;transform:none!important;opacity:1!important;filter:none!important}
}
