/* One brief entrance, followed by stationary text for reading. */
main>.chapter.scene-active .copy{animation:none}
.type-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.type-ink{display:block;transform-origin:left bottom}
.scene-active:not(#begin) .type-ink{animation:phrase-reveal .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.12s + var(--line)*.11s)}
.draw-title em{position:relative;display:inline-block;font-style:normal}
.draw-title em:after{content:'';position:absolute;left:0;right:0;bottom:.015em;height:1px;background:linear-gradient(90deg,#7f689a88,#b297c8cc,#7f689a33);transform-origin:left center}
.scene-active:not(#begin) .draw-title em:after{animation:draw-underline .65s .6s cubic-bezier(.2,.7,.2,1) both}
.drawing-rule{display:block;position:absolute;left:0;top:-19px;width:clamp(50px,8vw,110px);height:1px;background:linear-gradient(90deg,#7b608e00,#7b608eb3);transform-origin:left;pointer-events:none}
.scene-active:not(#begin) .drawing-rule{animation:draw-rule .95s cubic-bezier(.2,.7,.2,1) both}
.scene-active:not(#begin) .type-support{animation:copy-settle .65s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.24s + var(--order)*.065s)}
#process.scene-active li{animation:step-connect .65s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.42s + var(--step)*.11s)}
#process li b{position:relative}#process.scene-active li b:after{content:'';position:absolute;left:0;bottom:-4px;width:18px;height:1px;background:#9d85b3;transform-origin:left;animation:draw-underline .5s both;animation-delay:calc(.65s + var(--step)*.11s)}
#assurance .draw-title{position:relative}#assurance.scene-active .draw-title:after{content:'';position:absolute;inset:-12px -16px;border:1px solid #92809f55;border-radius:4px;pointer-events:none;animation:outline-trace 1s .25s both}
.ocean-note .ocean-quote{opacity:1}.ocean-note.note-in-view .ocean-quote{animation:quote-open .32s cubic-bezier(.16,1,.3,1) both}
#begin .drawing-rule{position:relative;top:auto;left:auto;margin:0 auto 16px;background:linear-gradient(90deg,transparent,#9278a9,transparent)}
.portal-ready #begin .type-ink{animation:phrase-reveal .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.15s + var(--line)*.13s)}
.portal-ready #begin .draw-title em:after{animation:draw-underline .7s .6s both}
.motion-paused .scene-active *,.motion-paused .scene-active *:before,.motion-paused .scene-active *:after{animation:none!important}
.motion-paused .scene-active .type-ink,.motion-paused .scene-active .type-support,.motion-paused #begin .copy>*{opacity:1!important;filter:none!important;transform:none!important;clip-path:none!important}
@keyframes phrase-reveal{from{transform:translateY(calc(var(--arrival,1)*105%)) rotate(.8deg);opacity:.25;clip-path:inset(0 100% 0 0)}to{transform:translateY(0) rotate(0);opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes draw-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes draw-rule{0%{transform:scaleX(0);opacity:0}40%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:.35}}
@keyframes copy-settle{from{opacity:0;transform:translateY(calc(var(--arrival,1)*16px));clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes step-connect{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes outline-trace{from{clip-path:inset(0 100% 100% 0);opacity:0}to{clip-path:inset(0);opacity:1}}
@keyframes quote-open{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@media(max-width:650px){#assurance.scene-active .draw-title:after{inset:-8px -10px}.drawing-rule{top:-14px}#begin .drawing-rule{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.scene-active *,.scene-active *:before,.scene-active *:after{animation:none!important}.type-ink,.type-support{opacity:1!important;transform:none!important;clip-path:none!important}.scene-active .drawing-rule{opacity:.35}.scene-active .draw-title em:after{transform:none}}
