/* v2.2.7: dedicated forest-to-brand reveal for loading pattern 32. */
@property --chisou-counter-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.site-intro__forest, .site-intro__final-logo { display: none; }
.site-intro--sequence-quiet .site-intro__forest { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; opacity: 0; filter: blur(18px) saturate(.62) brightness(.38); transform: scale(1.08); }
.site-intro--sequence-quiet .site-intro__final-logo { position: absolute; z-index: 3; width: min(43vw, 390px); height: auto; display: block; opacity: 0; transform: translate3d(0, 18px, 0) scale(.96); }
.site-intro--sequence-quiet .site-intro__sequence { z-index: 2; }
.site-intro--sequence-quiet .site-intro__stage--1 { transform-origin: 50% 50%; }
.site-intro--sequence-quiet .site-intro__stage--4, .site-intro--sequence-quiet .site-intro__stage--5 { display: none; }
.site-intro--sequence-quiet.is-loaded .site-intro__forest { animation: chisou-forest-arrive 1100ms cubic-bezier(.2, .8, .22, 1) .04s forwards, chisou-forest-retreat 700ms ease 2.65s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__stage--1 { animation: chisou-counter-brush 1100ms cubic-bezier(.2, .82, .22, 1) .48s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__stage--2 { animation: chisou-forest-black-mark 620ms ease-out 1.44s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__stage--3 { animation: chisou-forest-white-mark 680ms cubic-bezier(.2, .82, .22, 1) 1.88s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__sequence { animation: chisou-sequence-dismiss 520ms ease-in 2.70s forwards; }
.site-intro--sequence-quiet.is-loaded .site-intro__final-logo { animation: chisou-final-brand-arrive 900ms cubic-bezier(.18, .82, .22, 1) 3.06s forwards; }

@keyframes chisou-forest-arrive { from { opacity: 0; filter: blur(22px) saturate(.45) brightness(.24); transform: scale(1.12); } to { opacity: .52; filter: blur(5px) saturate(.74) brightness(.38); transform: scale(1); } }
@keyframes chisou-forest-retreat { to { opacity: .18; filter: blur(9px) saturate(.42) brightness(.2); transform: scale(1.03); } }
@keyframes chisou-counter-brush { from { --chisou-counter-angle: 0deg; opacity: 0; transform: rotate(12deg) scale(.86); mask-image: conic-gradient(from 315deg at 50% 50%, transparent 0deg 360deg, #000 360deg); -webkit-mask-image: conic-gradient(from 315deg at 50% 50%, transparent 0deg 360deg, #000 360deg); } 12% { opacity: 1; } to { --chisou-counter-angle: 360deg; opacity: 1; transform: rotate(0) scale(1); mask-image: conic-gradient(from 315deg at 50% 50%, transparent 0deg calc(360deg - var(--chisou-counter-angle)), #000 calc(360deg - var(--chisou-counter-angle)) 360deg); -webkit-mask-image: conic-gradient(from 315deg at 50% 50%, transparent 0deg calc(360deg - var(--chisou-counter-angle)), #000 calc(360deg - var(--chisou-counter-angle)) 360deg); } }
@keyframes chisou-forest-black-mark { from { opacity: 0; transform: translate3d(0, 32px, 0) scale(.94); filter: blur(8px); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); } }
@keyframes chisou-forest-white-mark { from { opacity: 0; transform: translate3d(0, 28px, 0) scale(.94); filter: blur(10px); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); } }
@keyframes chisou-sequence-dismiss { to { opacity: 0; filter: blur(9px); transform: scale(.96); } }
@keyframes chisou-final-brand-arrive { from { opacity: 0; transform: translate3d(0, 18px, 0) scale(.96); filter: blur(8px); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); } }

@media (max-width: 767px) { .site-intro--sequence-quiet .site-intro__final-logo { width: min(66vw, 300px); } }
@media (prefers-reduced-motion: reduce) { .site-intro--sequence-quiet .site-intro__forest, .site-intro--sequence-quiet .site-intro__final-logo { animation: none !important; } .site-intro--sequence-quiet .site-intro__forest { opacity: .25; filter: blur(5px) brightness(.3); transform: none; } .site-intro--sequence-quiet .site-intro__sequence { display: none; } .site-intro--sequence-quiet .site-intro__final-logo { opacity: 1; filter: none; transform: none; } }
