body.start-motion .hero{position:relative;isolation:isolate;overflow:hidden;background:none}
body.start-motion .hero:before{content:"";position:absolute;inset:-60px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 22% 35%,#d8c6ffb3,transparent 48%),radial-gradient(ellipse at 80% 60%,#bcecdf99,transparent 45%);transform:translate3d(var(--drift-x,0px),var(--drift-y,0px),0);transition:transform 1s ease-out;animation:start-breathe 12s ease-in-out infinite alternate}
@keyframes start-breathe{from{opacity:.65}to{opacity:1}}
body.start-motion .panel{transition:box-shadow .3s ease,transform .3s ease}
body.start-motion .panel:hover{box-shadow:0 18px 50px #49327512}
body.start-motion .suite-images img{transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
body.start-motion .suite-images:hover img:nth-child(even){transform:translateY(-10px) rotate(1deg)}
body.start-motion .suite-images:hover img:nth-child(odd){transform:translateY(-5px) rotate(-1deg)}
body.start-motion .motion-ready{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
body.start-motion .motion-ready.is-visible{opacity:1;transform:none}
body.start-motion .suite{position:relative}
body.start-motion .suite .copy>a:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
body.start-motion .suite-images{position:relative;z-index:2}
body.start-motion .suite:focus-within{outline:3px solid #6840bc;outline-offset:4px}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}body.start-motion .hero:before{animation:none;transform:none;transition:none}body.start-motion .motion-ready{opacity:1;transform:none;transition:none}body.start-motion .panel,body.start-motion .suite-images img{transition:none}body.start-motion .suite-images:hover img:nth-child(n){transform:none}}

/* Cross-browser navigation rather than relying on cross-document View Transitions. */
body.suite-leaving{pointer-events:none}
body.suite-leaving>main,body.suite-leaving>footer{animation:suite-exit .56s cubic-bezier(.4,0,.2,1) both}
body.suite-arriving>main{animation:suite-enter .65s cubic-bezier(.2,.7,.2,1) both}
@keyframes suite-exit{to{opacity:0;transform:translateY(-48px) scale(.98)}}
@keyframes suite-enter{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.motion-preference{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:20px 24px 32px;font-size:13px;color:#555c50}
.motion-preference button{min-height:44px;padding:10px 16px;border:1px solid #a9ae9f;border-radius:8px;background:transparent;color:#22271f;font:inherit;cursor:pointer}
.motion-preference button[aria-pressed=true]{background:#e8e0fa;border-color:#6840bc}
.motion-preference button:focus-visible{outline:3px solid #6840bc;outline-offset:3px}
html.motion-reduced{scroll-behavior:auto!important}
html.motion-reduced *,html.motion-reduced *::before,html.motion-reduced *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.motion-reduced .motion-ready{opacity:1!important;transform:none!important}
html.motion-reduced body.start-motion .hero:before,html.motion-reduced body.start-motion .suite-images img{transform:none!important}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important}body.suite-leaving,body.suite-arriving{animation:none!important}}
.suite-scroll-exit{padding:40px 24px 64px;text-align:center;background:#e8e0fa;color:#292137}
.suite-scroll-exit a{display:inline-flex;align-items:center;gap:14px;min-height:48px;font-size:24px;font-weight:650;color:inherit;text-decoration:none}
.suite-scroll-exit p{font-size:13px;margin:12px 0 0;color:#5a5066}

.suite-scroll-exit{--suite-pressure:0;position:relative;padding-bottom:80px;overscroll-behavior-y:contain}
.suite-scroll-exit:after{content:"";display:block;width:180px;height:4px;margin:24px auto 0;background:#6840bc;transform:scaleX(var(--suite-pressure));transform-origin:left;transition:transform .18s ease-out;border-radius:4px}
.suite-scroll-exit.is-ready a{transform:translateY(calc(var(--suite-pressure) * -10px));transition:transform .18s ease-out}
.suite-transition-curtain{position:fixed;inset:0;z-index:10000;background:#e8e0fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#38255b;animation:suite-curtain .56s cubic-bezier(.4,0,.2,1) both;pointer-events:none}
.suite-transition-curtain span{font:600 12px Arial,sans-serif;letter-spacing:.12em}
.suite-transition-curtain strong{font-size:clamp(32px,6vw,72px);font-weight:650;letter-spacing:-.04em}
@keyframes suite-curtain{from{transform:translateY(100%);opacity:.5}to{transform:none;opacity:1}}
html.motion-reduced .suite-scroll-exit.is-ready a{transform:none}
@media(prefers-reduced-motion:reduce){body.suite-leaving>main,body.suite-leaving>footer,body.suite-arriving>main{animation:none!important}.suite-scroll-exit.is-ready a{transform:none}.suite-scroll-exit:after{transition:none}}

.suite-scroll-exit.about-scroll-exit a{max-width:100%;flex-wrap:wrap;justify-content:center;line-height:1.25;letter-spacing:0}
.suite-scroll-exit.about-scroll-exit a:focus-visible{outline:3px solid #6840bc;outline-offset:6px}
.suite-transition-curtain strong{max-width:calc(100% - 40px);text-align:center;font-size:48px;letter-spacing:0;overflow-wrap:anywhere}
@media(max-width:600px){.suite-transition-curtain strong{font-size:30px}}

/* Shared chapter continuation: intentional extra scroll or an ordinary link. */
[data-page-continuation]{padding:56px 24px 44px;border-top:1px solid #d8cbed}
[data-page-continuation] .chapter-label{display:block;font-size:11px;font-weight:650;letter-spacing:.12em;margin-bottom:15px}
[data-page-continuation] a{font-size:clamp(28px,5vw,54px);line-height:1.1;letter-spacing:-.04em;max-width:100%;overflow-wrap:anywhere}
[data-page-continuation] a:focus-visible{outline:3px solid #6840bc;outline-offset:8px}
[data-page-continuation]:after{display:none}
.chapter-progress{width:180px;height:4px;border-radius:4px;background:#d2c3e9;margin:24px auto 0;overflow:hidden}
.chapter-progress:after{content:'';display:block;height:100%;background:#6840bc;transform:scaleX(var(--suite-pressure,0));transform-origin:left;transition:transform .18s ease-out}
[data-page-continuation] .chapter-motion{display:block;margin:20px auto 0;background:transparent;border:0;color:#5a5066;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:12px;min-height:44px;cursor:pointer}
@media(prefers-reduced-motion:reduce){.chapter-progress:after{transition:none}}
