/* Homepage-only depth stage. Title-only is the safe progressive fallback. */
.home{--hero-header:88px;--hero-height:max(640px,calc(100svh - var(--hero-header)));overflow-anchor:none}
.home .site-header{position:sticky;top:0}
.hero-track{position:relative;height:var(--hero-height);overflow:clip;overflow-clip-margin:0px}
.hero-track.is-depth-active{height:calc(var(--hero-height) * 3.85);overflow:visible}
.hero-depth{height:var(--hero-height);min-height:0;max-height:none;padding:0;overflow:clip;background:var(--bg)}
.is-depth-active .hero-depth{position:sticky;top:var(--hero-header)}
.hero-depth .hero-overline{position:absolute;top:0;left:0;right:0;padding-top:25px;z-index:3}
.hero-depth .hero-overline .label{font-size:10px}
.hero-depth .hero-copy{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:88%;padding:0;margin:0;z-index:2}
.hero-depth h1{font-size:clamp(52px,7.8vw,126px);line-height:1.02;font-weight:700;letter-spacing:normal}
.hero-reveal-line{padding:.07em 0;margin:-.07em 0}
.hero-title-word{display:inline-block;vertical-align:top;white-space:nowrap}
.hero-title-glyph{display:inline-block;letter-spacing:normal}
html.hero-intro .hero-title-glyph{animation:hero-title-focus 800ms cubic-bezier(.22,.61,.36,1) var(--glyph-delay,0ms) both}
html.hero-intro .hero-copy>p{animation:hero-copy-arrive 1000ms ease-out 250ms both}
html.motion-paused .hero-title-glyph,html.motion-paused .hero-copy>p{animation:none}
@keyframes hero-title-focus{from{opacity:0;filter:blur(.13em)}to{opacity:1;filter:blur(0)}}
@keyframes hero-copy-arrive{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero-depth .hero-copy>p{font-size:clamp(13px,1.1vw,17px);line-height:1.6;margin-top:25px;max-width:560px}
.hero-depth .hero-actions{margin-top:26px;gap:28px}
.hero-depth .hero-actions .button{min-height:54px;padding:15px 23px;font-size:14px}
.hero-depth .hero-actions .text-link{font-size:14px}
.hero-depth .hero-objects{z-index:0;overflow:clip}
.hero-prop{position:absolute;left:0;top:0;width:var(--size);max-width:none;transform:translate3d(var(--x),var(--y),0);pointer-events:none}
.hero-prop img{width:100%;height:auto;max-width:none}
.hero-prop[hidden]{display:none!important}
/* No script / reduced motion: no decorations and no scroll spacer. */
.hero-track:not(.is-depth-active) .hero-objects{display:none}
.hero-track:not([data-title-ready="true"]) .hero-prop{visibility:hidden}
.hero-depth .hero-bottom{left:var(--pad);right:var(--pad);bottom:24px;gap:20px;z-index:3;background:var(--bg);padding:2px 0}
.hero-skip{display:flex;gap:16px;align-items:center;min-height:44px;font-size:12px}
.hero-skip span{font-size:21px;transition:transform .2s}
.hero-skip:hover span{transform:translate(2px,2px)}
.hero-depth .motion-toggle{display:block;min-height:44px;font-size:11px}
.hero-depth .motion-toggle:disabled{cursor:default}
.hero-track:not([data-ready]) .motion-toggle{display:none}
.hero-ai-note{position:absolute;bottom:11px;width:100%;text-align:center;font-size:9px;color:var(--muted)}
.home #work,.home #services,.home #offers{scroll-margin-top:18px}
@media(min-width:1800px){.hero-depth .hero-copy{top:46%}}
@media(max-width:950px){.home{--hero-header:76px}.hero-depth h1{font-size:8vw}.hero-depth .hero-copy{max-width:90%}.hero-depth .hero-overline .label{font-size:8px}}
@media(max-width:640px){
  .home{--hero-header:68px;--hero-height:max(600px,calc(100svh - var(--hero-header)))}
  .hero-depth .hero-copy{top:49%;width:calc(100% - 38px);max-width:390px}
  .hero-depth h1{font-size:clamp(42px,12.2vw,70px);line-height:1.04}
  .hero-depth .hero-title-second{white-space:normal}
  .hero-depth .hero-copy>p{font-size:12px;line-height:1.65;margin-top:17px;max-width:320px}
  .hero-depth .hero-actions{margin-top:19px;gap:5px;flex-direction:column}
  .hero-depth .hero-actions .button{min-height:46px;padding:11px 16px;font-size:12px}
  .hero-depth .hero-actions .text-link{font-size:12px;min-height:36px}
  .hero-depth .hero-overline{padding-top:18px;gap:8px}
  .hero-depth .hero-overline .label{font-size:7px}
  .hero-prop{width:var(--msize)}
  .hero-depth .hero-bottom{bottom:27px;left:18px;right:18px;gap:10px}
  .hero-skip{font-size:10px;gap:7px}
  .hero-depth .motion-toggle{font-size:10px}
  .hero-ai-note{font-size:8px;bottom:7px}
}
@media(max-height:639px){.hero-depth.is-static .hero-copy{top:46%}}
@media(prefers-reduced-motion:reduce){.hero-track.is-depth-active{height:var(--hero-height)}.hero-depth .motion-toggle{display:block}.hero-skip span{transition:none}html.hero-intro .hero-title-glyph,html.hero-intro .hero-copy>p{animation:none}}
@media print{.hero-track.is-depth-active{height:auto}.hero-depth{position:relative!important;top:0;height:450px}.hero-ai-note{display:none}}
