/* Second motion study: entrance, tactile choices, and a shared-phrase transition. */
.motion-actions{display:flex;align-items:center;gap:20px}.replay-entrance{display:flex;align-items:center;gap:7px;background:none;border:0;padding:9px 0;font-size:11px}.replay-entrance>span{font-size:18px}.study-label{font-size:9px;letter-spacing:.09em}
.opening-copy{animation:none}.headline-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.headline-line>span,.headline-line>em{display:block;transform-origin:left bottom;will-change:transform,opacity}.is-entering .headline-line:first-child>span{animation:line-arrive 1100ms cubic-bezier(.2,.7,.2,1) both}.is-entering .headline-line:last-child>em{animation:line-arrive 1250ms cubic-bezier(.2,.7,.2,1) 230ms both}.is-entering .intro{animation:gentle-arrive 900ms ease 550ms both}.is-entering .entry-heading{animation:gentle-arrive 750ms ease 850ms both}.is-entering .entry{animation:gentle-arrive 800ms cubic-bezier(.2,.7,.2,1) both}.is-entering .entry:nth-child(1){animation-delay:1050ms}.is-entering .entry:nth-child(2){animation-delay:1160ms}.is-entering .entry:nth-child(3){animation-delay:1270ms}.is-entering .entry:nth-child(4){animation-delay:1380ms}.is-entering .scene-note{animation:gentle-arrive 1100ms ease 750ms both}
@keyframes line-arrive{from{transform:translateY(108%) rotate(2deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes gentle-arrive{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
.entry{--hover-x:45%;--hover-y:50%;isolation:isolate;transition:padding .5s cubic-bezier(.2,.7,.2,1),color .4s}.entry::before{inset:-1px -10px;z-index:-1;background:radial-gradient(ellipse at var(--hover-x) var(--hover-y),#f6c29138,transparent 75%);opacity:0;transition:opacity .55s}.entry::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#eac7a3,rgba(234,199,163,.18));transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.entry:hover,.entry:focus-visible{padding-left:13px;color:#ffe6c4}.entry:focus-visible::before,.entry:active::before{opacity:1}.entry:hover::after,.entry:focus-visible::after,.entry:active::after{transform:scaleX(1)}.entry strong{display:inline-block;transform-origin:left;transition:transform .5s,color .4s,text-shadow .4s}.entry:hover strong,.entry:focus-visible strong{transform:translateX(3px) scale(1.035);color:#ffddb3;text-shadow:0 0 22px #ffd19b30}.entry-arrow{transition:transform .5s cubic-bezier(.2,.7,.2,1),background .4s,border-color .4s,box-shadow .4s}.entry:hover .entry-arrow,.entry:focus-visible .entry-arrow{transform:translate(3px,-3px) rotate(45deg);background:#f5cb9822;border-color:#f3d0a4aa;box-shadow:0 0 25px #facfa321}.entry:active{color:white}.entry:active .entry-arrow{transform:translate(5px,-5px) rotate(45deg) scale(.94)}
.artwork{transform-origin:65% center;transition:transform 1100ms cubic-bezier(.2,.7,.2,1)}.scene-cinema .scene-image{animation-duration:14s}.scene-cinema .light-passage{animation-duration:11s}.light-passage{transition:opacity .6s}.dialog-open .artwork{transform:translateX(-3%) scale(1.07)}.dialog-open .opening-copy,.dialog-open .entry-section,.dialog-open .scene-note{opacity:.46;filter:blur(1px);transition:opacity .75s,filter .75s}.opening-copy,.entry-section,.scene-note{transition:opacity .65s,filter .65s}.entry.is-selected strong{opacity:0}
.response{inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;background:transparent;padding:0;overflow:hidden;box-shadow:none}.response[open]{animation:none}.response::backdrop{background:#0510191a;backdrop-filter:none}.response-card{position:absolute;right:0;top:0;bottom:0;width:min(545px,100%);background:#f5eee2f7;color:#243b3c;padding:62px 46px 35px;overflow-y:auto;overscroll-behavior:contain;box-shadow:-20px 0 100px #0002}.response.is-arriving .response-card{animation:card-arrive 750ms cubic-bezier(.2,.7,.2,1) both}.response.is-arriving .response-body{animation:gentle-arrive 700ms ease 540ms both}.response.is-closing .response-card{animation:card-depart 400ms cubic-bezier(.4,0,.8,.3) both}.response h2{font-size:53px;line-height:1.03;max-width:430px;margin-top:24px}.response-eyebrow{margin-bottom:30px}.response-body .response-rule{margin-top:28px}.response-text{font-size:23px}.detail-text{min-height:88px}.phrase-flight{position:fixed;z-index:3;pointer-events:none;font:400 53px/1.03 var(--serif);letter-spacing:-.02em;transform-origin:top left;color:#243b3c;margin:0;will-change:transform,color}.response h2.is-traveling{visibility:hidden}.response-card.is-settled{animation:none}.response-body{opacity:1}
@keyframes card-arrive{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes card-depart{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(8%)}}
/* Pausing never leaves an entrance or a response halfway hidden. */
.paused .opening-copy,.paused .opening-copy *,.paused .entry-heading,.paused .entry,.paused .scene-note,.paused .response,.paused .response *{animation:none!important;transition:none!important}.paused .artwork{transition:none}.paused .dialog-open .artwork{transform:none}
@media(max-width:1050px){.study-bar{gap:12px}.motion-actions{gap:17px}}
@media(max-width:650px){.motion-actions{justify-content:center;gap:25px;width:100%}.replay-entrance{font-size:9px;padding:1px}.replay-entrance>span{font-size:14px}.response-card{padding:62px 27px 30px}.response h2,.phrase-flight{font-size:47px}.response h2{margin-top:22px}.response-text{font-size:23px}.response-card{background:#f5eee2fc}.dialog-open .artwork{transform:translateX(-2%) scale(1.04)}.entry:hover,.entry:focus-visible{padding-left:8px}.entry:hover strong,.entry:focus-visible strong{transform:translateX(2px) scale(1.02)}}
@media(prefers-reduced-motion:reduce){.is-entering *,.response *{animation:none!important;transition:none!important}.headline-line>span,.headline-line>em{will-change:auto}.dialog-open .artwork{transform:none}.entry:hover strong,.entry:focus-visible strong{transform:none}.entry:hover .entry-arrow,.entry:focus-visible .entry-arrow{transform:none}}
