.motion-plate{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover;background-position:center}
.motion-plate video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:inherit;opacity:0;transition:opacity .6s ease}
.motion-plate video.is-ready{opacity:1}
.opening-art{background-image:url('../assets/piu-thread.jpg');background-position:center;z-index:0}
.brand-muse{width:170px;margin:0 0 28px auto;mix-blend-mode:multiply}
.brand-muse img{width:100%;height:auto}
.brand-muse figcaption{font-size:8px;color:var(--muted);text-align:right;margin-top:6px}
.brand-note{padding-top:0}
.brand-note .tiny-cross{display:none}
.corpus{height:155svh;min-height:1100px;padding:0;position:relative;overflow:visible;background:#20211f}
.corpus-stage{min-height:700px}
.corpus-art{background-image:url('../assets/corpus-material.jpg');background-position:center}
.corpus-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,30,27,.2),transparent 65%)}
.corpus-top{position:absolute;top:100px;left:var(--gutter);right:var(--gutter)}
.corpus-scene-copy{position:absolute;top:23%;left:var(--gutter);width:43%;max-width:650px}
.corpus-scene-copy .corpus-wordmark{margin:0 0 56px}
.corpus-scene-copy .corpus-thesis{font-size:clamp(48px,5.2vw,84px);line-height:1.03}
.corpus-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between}
.corpus-details{background:var(--dark);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:96px;padding-bottom:112px}
.corpus-details h2{font:400 clamp(45px,5.6vw,84px)/1.06 var(--serif);letter-spacing:-.045em;margin-top:30px}
.corpus-details .corpus-detail{padding-top:8px}
@media(max-width:900px){.corpus-scene-copy{width:48%}.corpus-scene-copy .corpus-wordmark{margin-bottom:56px}.corpus-scene-copy .corpus-thesis{font-size:48px}.brand-muse{width:140px}}
@media(max-width:700px){
 .opening-stage{background:#f4f2eb}
 .opening-art{top:46%;bottom:15%;background-size:100% auto;background-position:center;background-color:#f4f2eb}
 .opening-art video{object-fit:contain;object-position:center}
 .brand-muse{width:138px;margin-bottom:24px}
 .corpus{height:145svh;min-height:1060px}
 .corpus-stage{min-height:740px;background:#20211f}
 .corpus-art{top:46%;background-size:auto 100%;background-position:75% center}
 .corpus-art video{object-position:75% center}
 .corpus-wash{background:linear-gradient(180deg,#20211f 40%,rgba(32,33,31,.92) 46%,transparent 68%)}
 .corpus-top{top:100px}
 .corpus-scene-copy{top:21%;width:calc(100% - var(--gutter)*2);max-width:400px}
 .corpus-scene-copy .corpus-wordmark{width:76%;margin-bottom:30px}
 .corpus-scene-copy .corpus-thesis{font-size:44px}
 .corpus-scene-copy .text-link{margin-top:16px}
 .corpus-bottom{font-size:8px;gap:28px;bottom:24px;text-shadow:0 1px 6px #20211f}
 .corpus-details{grid-template-columns:1fr;gap:44px;padding-top:64px;padding-bottom:68px}
 .corpus-details h2{font-size:53px;margin-top:22px}
 .corpus-details .corpus-detail{padding:0 0 0 28px}
}
:root[data-reduced-motion="true"] .corpus{height:auto;min-height:0}
:root[data-reduced-motion="true"] .motion-plate video{display:none}
@media(prefers-reduced-motion:reduce){.corpus{height:auto;min-height:0}.motion-plate video{display:none}}
/* Three beats: type arrives, the material moves, the artwork fills the frame. */
.archive{height:190svh;min-height:0}
.corpus{height:190svh;min-height:1250px}
.opening-art,.corpus-art{transform:scale(var(--film-push,1));transform-origin:75% 50%;will-change:transform}
.archive-copy,.corpus-scene-copy{opacity:var(--title-presence,1);transform:translateY(var(--title-lift,0px))}
.archive-wash{opacity:var(--wash-presence,1)}
.artwork-takeover .archive-copy,.artwork-takeover .corpus-scene-copy{visibility:hidden}
.flash-line{display:block}
.cinematic-title.is-entered .flash-line{animation:type-cut .34s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--cut-delay,0ms)}
@keyframes type-cut{0%{opacity:0;transform:translateY(14px);filter:blur(7px);clip-path:inset(0 100% 0 0)}28%{opacity:1;filter:blur(0);color:var(--red);clip-path:inset(0 0 0 0)}100%{opacity:1;transform:none;filter:none;clip-path:none}}
.corpus .cinematic-title.is-entered .flash-line{animation-name:type-cut-light}
@keyframes type-cut-light{0%{opacity:0;transform:translateY(14px);filter:blur(7px);clip-path:inset(0 100% 0 0)}28%{opacity:1;filter:blur(0);color:#e8b4ad;clip-path:inset(0 0 0 0)}100%{opacity:1;transform:none;filter:none;clip-path:none}}
@media(max-width:700px){.archive{height:190svh;min-height:0}.corpus{height:185svh;min-height:1300px}.opening-art{transform:none}}
:root[data-reduced-motion="true"] .archive,:root[data-reduced-motion="true"] .corpus{height:auto;min-height:0}
:root[data-reduced-motion="true"] .motion-plate,:root[data-reduced-motion="true"] .ink-art{transform:none;will-change:auto}
:root[data-reduced-motion="true"] .cinematic-title .flash-line{animation:none;opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.archive,.corpus{height:auto;min-height:0}.motion-plate,.ink-art{transform:none;will-change:auto}.cinematic-title .flash-line{animation:none;opacity:1;transform:none;filter:none}}
.hero-wordmark{animation:mark-cut .18s ease-out both}
@keyframes mark-cut{0%{opacity:0}32%{opacity:1;color:var(--red)}100%{opacity:1}}
:root[data-reduced-motion="true"] .hero-wordmark{animation:none}
@media(prefers-reduced-motion:reduce){.hero-wordmark{animation:none}}
.archive{height:190svh;min-height:0}
.ink-art{background-position:center;background-size:100% 100%;filter:none}
.ink-art video{object-fit:fill;object-position:center}
.archive-notes{background:var(--paper)}
@media(max-width:700px){.archive{height:190svh;min-height:0}}
:root[data-reduced-motion="true"] .archive{height:auto;min-height:0}
@media(prefers-reduced-motion:reduce){.archive{height:auto;min-height:0}}
.corpus-scene-copy{mix-blend-mode:screen}
.brand-note{mix-blend-mode:multiply}
@media(max-width:700px){.hero-wordmark{font-size:52vw}.opening-caption{font-size:24px;max-width:190px;width:190px;flex-shrink:0}.opening-art{mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}}
@media(max-width:700px){.opening-caption{font-size:23px;width:205px;max-width:205px}.opening-art{top:48%;bottom:auto;width:100%;aspect-ratio:16/9}}

.opening-art,.studio-material .corpus-art{filter:grayscale(1)}
.opening-stage .opening-art{inset:0;width:100%;height:100%;aspect-ratio:auto;background-size:cover;background-position:right center;mask-image:none;mix-blend-mode:multiply}
.opening-stage .opening-art video{object-fit:cover;object-position:right center}
