/* Homepage narrative motion layer: GSAP handles sequencing, CSS handles surfaces. */
html.home-motion-active{--hm-ease:cubic-bezier(.22,1,.36,1)}
html.home-motion-active .site-intro,html.home-motion-active .site-intro *,html.home-motion-active .site-intro *::before,html.home-motion-active .site-intro *::after{animation:none!important}
html.home-motion-active .hero,html.home-motion-active .hero-strip{perspective:1200px}
html.home-motion-active .hero-strip figure{isolation:isolate;transform:translate3d(var(--hm-x,0px),var(--hm-y,0px),0);will-change:transform}
.hm-portal-stage{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;border-radius:inherit}
.hm-portal-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(12,11,16,.18));pointer-events:none}
.portal-still .hm-photo{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;opacity:0;filter:saturate(.9) contrast(1.04)}
.portal-still .hm-photo.a{clip-path:inset(0 48% 0 0)}
.portal-still .hm-photo.b{clip-path:inset(0 0 0 52%);object-position:62% 42%}
.hm-contact-index{position:absolute;top:16px;right:16px;z-index:3;display:grid;grid-template-columns:repeat(3,5px);gap:5px}
.hm-contact-index i{width:5px;height:5px;border-radius:50%;background:rgba(251,250,252,.76);box-shadow:0 0 0 1px rgba(23,22,26,.16)}
.hm-ai-stage{background:radial-gradient(circle at 18% 16%,rgba(251,194,235,.34),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--paper) 90%,var(--veil-c) 10%),color-mix(in srgb,var(--paper) 78%,var(--veil-a) 22%))}
.hm-ai-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(123,97,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(123,97,255,.12) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(#000,transparent 80%)}
.hm-ai-brief,.hm-ai-output{position:absolute;width:31%;padding:13px 14px;border:1px solid var(--line-2);border-radius:10px;background:color-mix(in srgb,var(--paper) 92%,var(--veil-c) 8%);box-shadow:var(--shadow-sm);color:var(--ink)}
.hm-ai-brief{left:8%;top:17%;transform:rotate(-4deg)}
.hm-ai-output{right:7%;bottom:20%}
.hm-ai-core{position:absolute;left:42%;top:28%;width:29%;aspect-ratio:1;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 44%,var(--line));border-radius:50%;display:grid;place-content:center;text-align:center;background:color-mix(in srgb,var(--paper) 88%,var(--veil-c) 12%);box-shadow:0 20px 44px -30px rgba(123,97,255,.7);color:var(--ink)}
.hm-ai-brief span,.hm-ai-output span,.hm-ai-core span{display:block;font-family:var(--mono);font-size:8px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.hm-ai-brief strong,.hm-ai-output strong,.hm-ai-core strong{display:block;margin-top:8px;font-family:var(--serif);font-size:clamp(15px,1.4vw,21px);font-weight:500;line-height:1.02}
.hm-ai-signal{position:absolute;left:34%;top:46%;width:48%;height:1px;transform-origin:left;background:linear-gradient(90deg,var(--veil-b),var(--accent),var(--veil-a))}
.hm-ai-signal::after{content:"";position:absolute;right:-4px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}
.hm-motion-stage{background:linear-gradient(145deg,rgba(23,22,26,.08),rgba(123,97,255,.14))}
.hm-edit-frame{position:absolute;inset:10% 10% 33%;overflow:hidden;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(244,122,42,.42),rgba(123,97,255,.22)),url("../work-uwants.jpg") 52% center/cover;box-shadow:0 18px 50px -26px rgba(0,0,0,.62)}
.hm-edit-frame::after{content:"PROGRAM";position:absolute;left:10px;top:10px;padding:4px 6px;border-radius:5px;background:rgba(23,22,26,.72);color:#fff;font:7px var(--mono);letter-spacing:.1em}
.hm-timeline-strip{position:absolute;left:8%;right:8%;bottom:14%;height:14%;display:grid;grid-template-columns:1.15fr .78fr .95fr 1.4fr;gap:3px}
.hm-timeline-strip i{border-radius:3px;background:color-mix(in srgb,var(--veil-a) 55%,var(--paper));border:1px solid rgba(255,255,255,.22)}
.hm-timeline-strip i:nth-child(2){background:color-mix(in srgb,#F47A2A 38%,var(--paper))}
.hm-timeline-strip i:nth-child(3){background:color-mix(in srgb,var(--veil-b) 50%,var(--paper))}
.hm-playhead{position:absolute;top:8%;bottom:8%;left:17%;width:1px;background:#fff;box-shadow:0 0 0 1px rgba(23,22,26,.16)}
.workflow-rail{position:relative}.hm-workflow-line{position:absolute;left:0;right:0;top:-1px;height:2px;z-index:2;transform-origin:left;background:linear-gradient(90deg,var(--veil-b),var(--accent),var(--veil-a));pointer-events:none}
html.home-motion-active .workflow-step{position:relative;z-index:3}
html.home-motion-active .works .cell .cell-img img{transform:translate3d(0,var(--hm-parallax-y,0px),0) scale(var(--image-scale));will-change:transform}
html.home-motion-active .works .cell-shell.is-motion-ready .cell-caption::before{background-size:100% 1px}
html[data-theme="dark"].home-motion-active .hm-ai-stage{background:radial-gradient(circle at 18% 16%,rgba(201,101,140,.2),transparent 34%),linear-gradient(145deg,#1b1820,#25202d)}
@media(max-width:900px){.hm-workflow-line{display:none}.hm-ai-brief{width:36%;left:6%}.hm-ai-core{width:31%}.hm-ai-output{width:34%;right:5%}}
@media(max-width:620px){html.home-motion-active .hero-strip figure{transform:none!important}}
@media(prefers-reduced-motion:reduce){html.home-motion-active .hero-strip figure,html.home-motion-active .works .cell .cell-img img{transform:none!important;transition:none!important}.hm-portal-stage,.hm-workflow-line{animation:none!important;transition:none!important}}