/* Content remains visible without JS; only decorative layers receive scroll transforms. */
.scene-motion-toggle{position:fixed;right:18px;bottom:18px;z-index:30;border:1px solid #777;border-radius:24px;background:#fffffff2;color:#222;padding:10px 16px;font:11px/1.4 Arial,sans-serif;box-shadow:0 2px 12px #0001;min-height:40px}.scene-motion-toggle:focus-visible{outline:3px solid #4c6ca6;outline-offset:4px}.scene-motion-toggle:disabled{opacity:.7;cursor:default}
.scene-motion-on.motion-clean .clean-image-band{overflow:clip}.scene-motion-on.motion-clean .clean-image-band img{transform:scale(1.08) translateY(calc(var(--scene-shift,0)*18px));clip-path:inset(0 calc((1 - var(--scene-p,.5))*6%) 0 0)}
.scene-motion-on.motion-moving .move-graphic svg,
.scene-motion-on.motion-moving .move-graphic img{transform:translateX(calc(var(--scene-shift,0)*22px)) rotate(calc(var(--scene-shift,0)*-3deg))}.scene-motion-on.motion-moving .route-connector{background-image:linear-gradient(90deg,transparent,#f25b38,transparent);background-size:200% 100%;background-position:calc(var(--scene-p,.5)*100%) 0}
.scene-motion-on.motion-festival .festival-date-rail svg{transform:rotate(calc(var(--scene-shift,0)*65deg))}.scene-motion-on.motion-festival .event-art svg{transition:transform .5s}.scene-motion-on.motion-festival .event:hover .event-art svg,.scene-motion-on.motion-festival .event:focus-within .event-art svg{transform:rotate(-9deg) scale(1.12)}
.scene-motion-on.motion-fitness #training-court svg{transform:translateX(calc(var(--scene-shift,0)*55px)) rotate(calc(var(--scene-shift,0)*4deg))}.motion-fitness .class-row:has([aria-pressed=true]){box-shadow:inset 4px 0 #315bf5}.motion-fitness .trial-card{transition:box-shadow .4s}
.scene-motion-on.motion-skincare .still-life-stage img:nth-child(1){transform:translateY(calc(var(--scene-shift,0)*-32px)) rotate(calc(var(--scene-shift,0)*-8deg))}.scene-motion-on.motion-skincare .still-life-stage img:nth-child(2){transform:translateY(calc(var(--scene-shift,0)*22px)) scale(calc(1 + var(--scene-p,.5)*.04))}.scene-motion-on.motion-skincare .still-life-stage img:nth-child(3){transform:translateY(calc(var(--scene-shift,0)*-40px)) rotate(calc(var(--scene-shift,0)*8deg))}
.scene-motion-on.motion-software .app-shell{transform:perspective(1600px) rotateX(calc((1 - var(--scene-p,.5))*3deg));transform-origin:center top}.scene-motion-on.motion-software .signal svg path:first-child{stroke-dasharray:400;stroke-dashoffset:calc((1 - var(--scene-p,.5))*180)}
.scene-motion-on.motion-architecture .hero-image{overflow:clip}.scene-motion-on.motion-architecture .hero-image img{transform:scale(1.06) translateY(calc(var(--scene-shift,0)*16px))}.motion-architecture .project-row:hover .arrow,.motion-architecture .project-row:focus-visible .arrow{transform:translate(4px,-4px)}.scene-motion-on.motion-architecture .arrow{transition:transform .3s}
.scene-motion-on.motion-hotel .hero{overflow:clip}.scene-motion-on.motion-hotel .hero>img{transform:scale(calc(1.04 + var(--scene-p,.5)*.07)) translateY(calc(var(--scene-shift,0)*20px))}.scene-motion-on.motion-hotel .hero-content{transform:translateY(calc(var(--scene-shift,0)*-18px))}
.scene-motion-on.motion-restaurant .table-art>img:first-child{transform:translateX(calc(var(--scene-shift,0)*-20px)) rotate(calc(-3deg + var(--scene-shift,0)*3deg))}.scene-motion-on.motion-restaurant .table-art .table-detail-art{transform:translateY(calc(var(--scene-shift,0)*-35px)) rotate(calc(7deg - var(--scene-shift,0)*5deg))}
.scene-motion-on.motion-yardline .hero-image{transform:scale(calc(1.02 + var(--scene-p,.5)*.05))}.scene-motion-on.motion-yardline .vision-image{overflow:clip}.scene-motion-on.motion-yardline .vision-image>img{transform:scale(calc(1.12 - var(--scene-p,.5)*.08))}.scene-motion-on.motion-yardline .wireframe{opacity:calc(.15 + var(--scene-p,.5)*.85);clip-path:inset(0 calc((1 - var(--scene-p,.5))*70%) 0 0)}.scene-motion-on.motion-yardline .scene-tag{transform:translateY(calc((1 - var(--scene-p,.5))*28px));transition:transform .15s}.scene-motion-on.motion-yardline .route-line{stroke-dashoffset:calc(var(--scene-p,.5)*-180)}
body.motion-fitness:not(.scene-motion-on) .trial-card{transition:none}@media(max-width:700px){.scene-motion-toggle{bottom:10px;right:10px;font-size:10px;padding:8px 12px}.scene-motion-on.motion-software .app-shell{transform:none}}@media(prefers-reduced-motion:reduce){.scene-motion-on *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.motion-architecture .motion-image-window{overflow:clip}

/* Authored adaptation of the directly observed horizontal /works traversal. */
.arch-pin{display:contents}.arch-track-image,.arch-progress{display:none}
.architecture-traversal .index-opening-grid{display:block!important}
.architecture-traversal .index-opening-grid>.hero-image{display:none}
.architecture-traversal #projects{height:calc(100svh + var(--arch-travel,0px));padding:0!important;position:relative}
.architecture-traversal .arch-pin{display:block;position:sticky;top:0;height:100svh;min-height:600px}
.architecture-traversal .arch-strip-window{position:absolute;top:8vh;left:0;right:0;bottom:165px;overflow:clip}
.architecture-traversal #project-list{display:flex;align-items:flex-end;gap:22px;width:max-content;height:100%;will-change:transform}
.architecture-traversal .project-row{flex:0 0 clamp(260px,28vw,380px);width:clamp(260px,28vw,380px);display:grid;grid-template-columns:28px 1fr 25px;align-items:center;gap:8px;border:0!important;padding:0 0 5px!important;min-height:0;background:transparent!important}
.architecture-traversal .arch-track-image{display:block;grid-column:1/-1;width:100%;height:43vh;max-height:470px;min-height:220px;object-fit:cover;filter:grayscale(1);margin-bottom:8px}
.architecture-traversal .project-row:nth-child(even) .arch-track-image{height:25vh;min-height:170px}
.architecture-traversal .project-row .project-name{font-size:16px}.architecture-traversal .project-row .type,.architecture-traversal .project-row .year{display:none}.architecture-traversal .project-row .arrow{font-size:20px}
.architecture-traversal .section-title{position:absolute;bottom:20px;left:0;margin:0}.architecture-traversal .section-title h2{font:400 clamp(72px,8vw,112px)/1 Arial,sans-serif;letter-spacing:-.07em}.architecture-traversal .section-title>p{display:none}
.architecture-traversal .filter{position:absolute;right:0;bottom:25px;margin:0;gap:18px;font-size:12px}.architecture-traversal .arch-progress{display:block;position:absolute;bottom:39px;left:43%;font-size:10px;letter-spacing:.06em;margin:0}
