/* One softening layer, compositor-friendly drift, and letter fragments only on the large headline. */
.arrival #generic .chaos-stage{width:100%;isolation:isolate}.arrival #generic .chaos-stage>p{font-size:13px}.arrival #generic .chaos-word,.arrival #generic .chaos-letter{will-change:auto;backface-visibility:hidden}.arrival #generic.vanish{animation:smooth-intro-fade 5.8s linear both;background:#efeeeb;will-change:opacity}.arrival #generic.vanish .chaos-stage{animation:smooth-intro-soften 5.8s linear both;will-change:filter}.arrival #generic.vanish .chaos-word{animation:smooth-word-drift 8s cubic-bezier(.25,.1,.25,1) var(--lag) both;will-change:transform,opacity;filter:none}.arrival #generic.vanish .chaos-letter{animation:smooth-letter-drift 6.8s cubic-bezier(.25,.1,.25,1) calc(1.1s + var(--clag)) both;will-change:transform,opacity}.arrival #generic.vanish .generic-foot{animation:smooth-foot-fade 8s linear both;filter:none}.arrival #generic.vanish .generic-blocks>span{transition:none}.arrival #generic.vanish .generic-top{transition:none}
@keyframes smooth-word-drift{0%{transform:translate3d(0,0,0) rotate(0);opacity:1}100%{transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot));opacity:.35}}@keyframes smooth-letter-drift{0%{transform:translate3d(0,0,0) rotate(0);opacity:1}100%{transform:translate3d(var(--cx),var(--cy),0) rotate(var(--cr));opacity:0}}@keyframes smooth-intro-soften{0%,38%{filter:blur(0)}100%{filter:blur(4px)}}@keyframes smooth-intro-fade{0%,65%{opacity:1}100%{opacity:0}}@keyframes smooth-foot-fade{0%,55%{opacity:1}100%{opacity:0}}
@media(max-width:680px){.arrival #generic .chaos-stage>p{font-size:12px;max-width:280px}.arrival #generic.vanish .chaos-stage{animation-name:smooth-intro-soften-mobile}.arrival #generic.vanish .chaos-word{animation-name:smooth-word-mobile}@keyframes smooth-word-mobile{0%{transform:translate3d(0,0,0) rotate(0);opacity:1}100%{transform:translate3d(calc(var(--dx)*.65),calc(var(--dy)*.8),0) rotate(var(--rot));opacity:.4}}@keyframes smooth-intro-soften-mobile{0%,45%{filter:blur(0)}100%{filter:blur(2.5px)}}}
.paused .arrival #generic,.paused .arrival #generic .chaos-stage,.paused .arrival #generic .chaos-word,.paused .arrival #generic .chaos-letter{animation:none!important;will-change:auto!important}@media(prefers-reduced-motion:reduce){.arrival #generic,.arrival #generic .chaos-stage,.arrival #generic .chaos-word,.arrival #generic .chaos-letter{animation:none!important;will-change:auto!important}}

/* The complete generic website occupies the viewport, including its own navigation and footer. */
html.intro-pending body{background:#efeeeb}html.intro-pending body>main{visibility:hidden}html.intro-pending body>header,html.intro-active body>header{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px)}body>header{transition:opacity .5s ease,transform .5s ease}html.intro-active .arrival>:not(#generic){visibility:hidden}html.intro-active main>section:not(.arrival){visibility:hidden}.arrival #generic{position:fixed;inset:0;width:100%;height:100svh;z-index:100;padding:28px var(--pad) 66px;display:block;overflow:hidden}.arrival #generic .chaos-stage{height:100%;display:flex;flex-direction:column;align-items:stretch}.arrival #generic .generic-top{padding-bottom:20px;flex-shrink:0}.arrival #generic .generic-kicker{margin-top:clamp(24px,7vh,70px)}.arrival #generic h2{font-size:clamp(38px,7.5vw,108px);line-height:1.02;margin:18px 0 22px;flex-shrink:0}.arrival #generic .chaos-stage>p{max-width:520px}.arrival #generic .generic-blocks{margin:clamp(20px,5vh,50px) 0 25px;min-height:100px}.generic-blocks i{display:block;height:clamp(38px,8vh,85px);width:100%;background:linear-gradient(135deg,#b6b7b1 49%,#c7c8c1 50%);margin-bottom:17px}.generic-blocks>span:nth-child(2) i{background:repeating-linear-gradient(90deg,#b6b7b1 0 15%,#cecec7 15% 30%)}.generic-blocks>span:nth-child(3) i{background:radial-gradient(circle at center,#b6b7b1 34%,#cecec7 35%)}.generic-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #171c1b33;padding-top:20px;margin-top:auto;font:10px/1.6 Arial;color:#65665f}.arrival #generic #intro-skip{position:absolute;bottom:20px;left:var(--pad);z-index:2;min-height:44px;color:#333;background:#efeeebcc}.arrival #generic .generic-foot{bottom:35px}.arrival #generic.vanish{pointer-events:auto}.arrival #generic.vanish .chaos-stage{pointer-events:none}.arrival #generic.vanish .generic-blocks>span{animation:smooth-box-drift 8s cubic-bezier(.25,.1,.25,1) both}.arrival #generic.vanish .generic-blocks>span:nth-child(2){animation-delay:.25s}.arrival #generic.vanish .generic-blocks>span:nth-child(3){animation-delay:.5s}@keyframes smooth-box-drift{to{transform:translate3d(12px,65px,0) rotate(9deg);opacity:0}}@media(max-width:620px){.arrival #generic{padding:22px 22px 75px}.arrival #generic .generic-top{gap:10px;font-size:9px}.generic-contact{display:none}.arrival #generic .generic-kicker{margin-top:clamp(35px,9vh,85px)}.arrival #generic h2{font-size:clamp(37px,10.6vw,65px);margin:20px 0}.arrival #generic .generic-blocks{margin:35px 0 25px;gap:8px;min-height:115px}.arrival #generic .generic-blocks>span{padding:14px 9px;font-size:10px}.generic-blocks i{height:58px;margin-bottom:12px}.generic-bottom{display:grid;grid-template-columns:1fr 1fr;font-size:9px;gap:12px}.generic-bottom>span:first-child{grid-column:1/-1;font-size:14px}.arrival #generic .generic-foot{max-width:120px;text-align:right;bottom:25px}.arrival #generic #intro-skip{left:22px;bottom:18px;font-size:11px}}@media(max-height:650px){.arrival #generic{padding-top:15px}.arrival #generic .generic-top{padding-bottom:10px}.arrival #generic .generic-kicker{margin-top:18px}.arrival #generic h2{font-size:clamp(30px,6vw,64px);margin:12px 0}.arrival #generic .generic-blocks{margin:18px 0;min-height:0}.generic-blocks i{height:30px}.generic-bottom{padding-top:10px}.arrival #generic .generic-blocks>span{padding:12px}}@media(prefers-reduced-motion:reduce){html.intro-pending body>header,html.intro-active body>header{visibility:visible;opacity:1;transform:none}.arrival #generic{display:none!important}}

/* Keep the opening drift; shorten its tail and reveal the next page underneath. */
html.intro-active .arrival>:not(#generic){opacity:0}html.intro-active.intro-revealing .arrival>:not(#generic){visibility:visible;opacity:1;transition:opacity 1.2s ease}html.intro-revealing #generic .generic-foot{opacity:0;transition:opacity .35s ease}@media(prefers-reduced-motion:reduce){html.intro-active .arrival>:not(#generic){visibility:visible;opacity:1}}
