/* v2.2.4: high-resolution official logo and layered logo-loading sequences. */
.site-intro__sequence { position: absolute; width: min(46vw, 420px); aspect-ratio: 1; pointer-events: none; }
.site-intro__stage { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; opacity: 0; transform: scale(.94); }
.site-intro--sequence-ripple .site-intro__brush, .site-intro--sequence-ripple .site-intro__logo, .site-intro--sequence-quiet .site-intro__brush, .site-intro--sequence-quiet .site-intro__logo, .site-intro--sequence-rise .site-intro__brush, .site-intro--sequence-rise .site-intro__logo, .site-intro--sequence-sweep .site-intro__brush, .site-intro--sequence-sweep .site-intro__logo, .site-intro--sequence-seal .site-intro__brush, .site-intro--sequence-seal .site-intro__logo { display: none; }
.site-intro:not(.site-intro--sequence-ripple):not(.site-intro--sequence-quiet):not(.site-intro--sequence-rise):not(.site-intro--sequence-sweep):not(.site-intro--sequence-seal) .site-intro__sequence { display: none; }

.site-intro--sequence-ripple.is-loaded .site-intro__stage--1 { animation: chisou-stage-circle 900ms cubic-bezier(.2, .82, .22, 1) .08s forwards; }
.site-intro--sequence-ripple.is-loaded .site-intro__stage--2 { animation: chisou-stage-rise 530ms ease-out .72s forwards; }
.site-intro--sequence-ripple.is-loaded .site-intro__stage--3 { animation: chisou-stage-rise 530ms ease-out 1.12s forwards; }
.site-intro--sequence-ripple.is-loaded .site-intro__stage--4 { animation: chisou-stage-left 520ms cubic-bezier(.2, .8, .22, 1) 1.52s forwards; }

.site-intro--sequence-quiet.is-loaded .site-intro__stage--1 { animation: chisou-stage-quiet 760ms ease-out .08s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__stage--2 { animation: chisou-stage-rise 500ms ease-out .66s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__stage--3 { animation: chisou-stage-rise 500ms ease-out 1.06s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__stage--4 { animation: chisou-stage-left 480ms cubic-bezier(.2, .8, .22, 1) 1.44s forwards; }

.site-intro--sequence-rise.is-loaded .site-intro__stage--1 { animation: chisou-stage-from-bottom 700ms cubic-bezier(.2, .82, .22, 1) .08s forwards; }
.site-intro--sequence-rise.is-loaded .site-intro__stage--2 { animation: chisou-stage-from-bottom 500ms cubic-bezier(.2, .82, .22, 1) .68s forwards; }
.site-intro--sequence-rise.is-loaded .site-intro__stage--3 { animation: chisou-stage-from-bottom 500ms cubic-bezier(.2, .82, .22, 1) 1.08s forwards; }
.site-intro--sequence-rise.is-loaded .site-intro__stage--4 { animation: chisou-stage-from-bottom 520ms cubic-bezier(.2, .82, .22, 1) 1.48s forwards; }

.site-intro--sequence-sweep.is-loaded .site-intro__stage--1 { animation: chisou-stage-sweep-circle 780ms ease-out .08s forwards; }
.site-intro--sequence-sweep.is-loaded .site-intro__stage--2 { animation: chisou-stage-sweep 510ms ease-out .68s forwards; }
.site-intro--sequence-sweep.is-loaded .site-intro__stage--3 { animation: chisou-stage-sweep 510ms ease-out 1.08s forwards; }
.site-intro--sequence-sweep.is-loaded .site-intro__stage--4 { animation: chisou-stage-left 540ms cubic-bezier(.2, .8, .22, 1) 1.48s forwards; }

.site-intro--sequence-seal.is-loaded .site-intro__stage--1 { animation: chisou-stage-seal 760ms cubic-bezier(.18, 1.18, .3, 1) .08s forwards; }
.site-intro--sequence-seal.is-loaded .site-intro__stage--2 { animation: chisou-stage-seal 500ms cubic-bezier(.18, 1.18, .3, 1) .66s forwards; }
.site-intro--sequence-seal.is-loaded .site-intro__stage--3 { animation: chisou-stage-seal 500ms cubic-bezier(.18, 1.18, .3, 1) 1.06s forwards; }
.site-intro--sequence-seal.is-loaded .site-intro__stage--4 { animation: chisou-stage-seal 540ms cubic-bezier(.18, 1.18, .3, 1) 1.46s forwards; }

@keyframes chisou-stage-circle { from { opacity: 0; clip-path: circle(0 at 50% 50%); transform: rotate(-115deg) scale(.72); } to { opacity: 1; clip-path: circle(75% at 50% 50%); transform: rotate(0) scale(1); } }
@keyframes chisou-stage-rise { from { opacity: 0; transform: translate3d(0, 30px, 0) scale(.95); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }
@keyframes chisou-stage-left { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translate3d(-24px, 0, 0); } to { opacity: 1; clip-path: inset(0); transform: translate3d(0, 0, 0); } }
@keyframes chisou-stage-quiet { from { opacity: 0; transform: scale(.82); filter: blur(7px); } to { opacity: 1; transform: scale(1); filter: blur(0); } }
@keyframes chisou-stage-from-bottom { from { opacity: 0; transform: translate3d(0, 56px, 0) scale(.88); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }
@keyframes chisou-stage-sweep-circle { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: skewX(-10deg); } to { opacity: 1; clip-path: inset(0); transform: skewX(0); } }
@keyframes chisou-stage-sweep { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translate3d(-40px, 0, 0); } to { opacity: 1; clip-path: inset(0); transform: translate3d(0, 0, 0); } }
@keyframes chisou-stage-seal { from { opacity: 0; transform: scale(1.38); filter: brightness(1.7); } 64% { opacity: 1; transform: scale(.92); } to { opacity: 1; transform: scale(1); filter: brightness(1); } }

@media (max-width: 767px) { .site-intro__sequence { width: min(72vw, 340px); } }
@media (prefers-reduced-motion: reduce) { .site-intro__stage { opacity: 0; animation: none !important; } .site-intro--sequence-ripple .site-intro__stage--4, .site-intro--sequence-quiet .site-intro__stage--4, .site-intro--sequence-rise .site-intro__stage--4, .site-intro--sequence-sweep .site-intro__stage--4, .site-intro--sequence-seal .site-intro__stage--4 { opacity: 1; transform: none; } }
