/* v2.2.3: fifteen distinct logo-loading motions and portrait hero art direction. */
.site-intro--zoom.is-loaded .site-intro__logo { animation: chisou-intro-zoom 840ms cubic-bezier(.14, .88, .23, 1) .08s forwards; }
.site-intro--float.is-loaded .site-intro__logo { animation: chisou-intro-float 1120ms cubic-bezier(.2, .8, .22, 1) .08s forwards; }
.site-intro--ink.is-loaded .site-intro__logo { animation: chisou-intro-ink 1080ms ease-out .08s forwards; }
.site-intro--fan.is-loaded .site-intro__logo { transform-origin: 50% 100%; animation: chisou-intro-fan 950ms cubic-bezier(.16, .84, .24, 1) .08s forwards; }
.site-intro--shutter-logo.is-loaded .site-intro__logo { animation: chisou-intro-shutter-logo 880ms cubic-bezier(.2, .82, .22, 1) .08s forwards; }
.site-intro--pulse.is-loaded .site-intro__logo { animation: chisou-intro-pulse 980ms cubic-bezier(.2, .8, .22, 1) .08s forwards; }
.site-intro--beam.is-loaded .site-intro__logo { animation: chisou-intro-beam 950ms cubic-bezier(.2, .8, .22, 1) .08s forwards; }
.site-intro--moon.is-loaded .site-intro__logo { animation: chisou-intro-moon 1020ms ease-out .08s forwards; }
.site-intro--spin-in.is-loaded .site-intro__logo { animation: chisou-intro-spin-in 950ms cubic-bezier(.18, .8, .22, 1) .08s forwards; }
.site-intro--descend.is-loaded .site-intro__logo { animation: chisou-intro-descend 920ms cubic-bezier(.18, .82, .22, 1) .08s forwards; }
.site-intro--reveal-up.is-loaded .site-intro__logo { animation: chisou-intro-reveal-up 900ms cubic-bezier(.18, .82, .22, 1) .08s forwards; }
.site-intro--blur-slide.is-loaded .site-intro__logo { animation: chisou-intro-blur-slide 900ms cubic-bezier(.2, .8, .22, 1) .08s forwards; }
.site-intro--snap.is-loaded .site-intro__logo { animation: chisou-intro-snap 720ms cubic-bezier(.15, 1.3, .3, 1) .08s forwards; }
.site-intro--wave.is-loaded .site-intro__logo { animation: chisou-intro-wave 1080ms cubic-bezier(.2, .8, .22, 1) .08s forwards; }
.site-intro--glint.is-loaded .site-intro__logo { animation: chisou-intro-glint 1050ms cubic-bezier(.2, .8, .22, 1) .08s forwards; }
.site-intro--curtain-logo.is-loaded .site-intro__logo { animation: chisou-intro-curtain-logo 940ms cubic-bezier(.18, .82, .22, 1) .08s forwards; }

@keyframes chisou-intro-zoom { from { opacity: 0; transform: scale(.3); filter: blur(9px); } to { opacity: 1; transform: scale(1); filter: blur(0); } }
@keyframes chisou-intro-float { from { opacity: 0; transform: translate3d(0, 56px, 0) rotate(3deg) scale(.88); } 62% { opacity: 1; transform: translate3d(0, -8px, 0) rotate(-1deg) scale(1.02); } to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); } }
@keyframes chisou-intro-ink { from { opacity: 0; clip-path: inset(43% 43% 43% 43% round 50%); filter: blur(16px); transform: scale(1.2); } to { opacity: 1; clip-path: inset(0 0 0 0 round 0); filter: blur(0); transform: scale(1); } }
@keyframes chisou-intro-fan { from { opacity: 0; clip-path: polygon(50% 100%, 50% 100%, 50% 100%); transform: perspective(800px) rotateX(-68deg) scale(.78); } to { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); transform: perspective(800px) rotateX(0) scale(1); } }
@keyframes chisou-intro-shutter-logo { from { opacity: 1; clip-path: inset(0 50% 0 50%); transform: scale(1.04); } to { opacity: 1; clip-path: inset(0 0 0 0); transform: scale(1); } }
@keyframes chisou-intro-pulse { from { opacity: 0; transform: scale(.62); filter: brightness(2.1); } 54% { opacity: 1; transform: scale(1.12); filter: brightness(1.25); } 74% { transform: scale(.96); } to { opacity: 1; transform: scale(1); filter: brightness(1); } }
@keyframes chisou-intro-beam { from { opacity: 0; clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); filter: brightness(2.6); transform: skewX(-10deg); } to { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); filter: brightness(1); transform: skewX(0); } }
@keyframes chisou-intro-moon { from { opacity: 0; clip-path: circle(0 at 50% 50%); transform: scale(1.15); } to { opacity: 1; clip-path: circle(75% at 50% 50%); transform: scale(1); } }
@keyframes chisou-intro-spin-in { from { opacity: 0; transform: rotate(-155deg) scale(.35); filter: blur(8px); } to { opacity: 1; transform: rotate(0) scale(1); filter: blur(0); } }
@keyframes chisou-intro-descend { from { opacity: 0; transform: translate3d(0, -110px, 0) rotate(-8deg) scale(.86); } 70% { opacity: 1; transform: translate3d(0, 6px, 0) rotate(1deg) scale(1.02); } to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); } }
@keyframes chisou-intro-reveal-up { from { opacity: 0; clip-path: inset(100% 0 0 0); transform: translate3d(0, 36px, 0); } to { opacity: 1; clip-path: inset(0 0 0 0); transform: translate3d(0, 0, 0); } }
@keyframes chisou-intro-blur-slide { from { opacity: 0; filter: blur(22px); transform: translate3d(64px, 0, 0) scale(1.08); } to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); } }
@keyframes chisou-intro-snap { from { opacity: 0; transform: scale(.18) rotate(16deg); filter: contrast(1.8) brightness(2); } 64% { opacity: 1; transform: scale(1.16) rotate(-2deg); } to { opacity: 1; transform: scale(1) rotate(0); filter: contrast(1) brightness(1); } }
@keyframes chisou-intro-wave { from { opacity: 0; clip-path: ellipse(0 100% at 50% 50%); transform: scale(.95); } 58% { opacity: 1; clip-path: ellipse(58% 100% at 50% 50%); } to { opacity: 1; clip-path: ellipse(75% 100% at 50% 50%); transform: scale(1); } }
@keyframes chisou-intro-glint { from { opacity: 0; filter: brightness(2.8) contrast(1.35) drop-shadow(-28px 0 16px rgba(222, 193, 110, .78)); transform: translate3d(-24px, 0, 0) scale(.95); } to { opacity: 1; filter: brightness(1) contrast(1) drop-shadow(0 0 0 rgba(222, 193, 110, 0)); transform: translate3d(0, 0, 0) scale(1); } }
@keyframes chisou-intro-curtain-logo { from { opacity: 1; clip-path: inset(0 50% 0 50%); transform: scale(.92); } 72% { opacity: 1; clip-path: inset(0 -2% 0 -2%); transform: scale(1.02); } to { opacity: 1; clip-path: inset(0); transform: scale(1); } }

@media (max-width: 767px) {
  .brand-hero__washi { filter: brightness(1.2) contrast(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .site-intro--zoom.is-loaded .site-intro__logo, .site-intro--float.is-loaded .site-intro__logo, .site-intro--ink.is-loaded .site-intro__logo, .site-intro--fan.is-loaded .site-intro__logo, .site-intro--shutter-logo.is-loaded .site-intro__logo, .site-intro--pulse.is-loaded .site-intro__logo, .site-intro--beam.is-loaded .site-intro__logo, .site-intro--moon.is-loaded .site-intro__logo, .site-intro--spin-in.is-loaded .site-intro__logo, .site-intro--descend.is-loaded .site-intro__logo, .site-intro--reveal-up.is-loaded .site-intro__logo, .site-intro--blur-slide.is-loaded .site-intro__logo, .site-intro--snap.is-loaded .site-intro__logo, .site-intro--wave.is-loaded .site-intro__logo, .site-intro--glint.is-loaded .site-intro__logo, .site-intro--curtain-logo.is-loaded .site-intro__logo { animation: none !important; opacity: 1; clip-path: none; filter: none; transform: none; }
}
