.page-intro{display:none;position:fixed;inset:0;z-index:1000;padding:20px;background:#fff;overflow:hidden}
html.intro-pending,html.intro-pending body{overflow:hidden}
.intro-pending .page-intro{display:block}
.intro-scenes{position:absolute;inset:20px;color:#191f28;visibility:hidden}
.page-intro[data-ready="true"] .intro-scenes{visibility:visible}
.intro-sentence{position:absolute;inset:0;font-size:clamp(28px,5.8vw,84px);font-weight:790;letter-spacing:-.055em;line-height:1.25}
.intro-sentence-long{font-size:clamp(24px,4.8vw,72px)}
.intro-phrase-line{position:absolute;left:50%;top:50%;width:max-content;white-space:pre;transform:translate3d(calc(-50% + var(--phrase-shift,0px)),-50%,0);will-change:transform}
.intro-sentence-long .intro-phrase-line{top:calc(50% - var(--below-progress,0)*.9em)}
.intro-lead,.intro-word{display:inline-block}
.intro-word{opacity:0;clip-path:inset(0 100% 0 0)}
.intro-below{position:absolute;left:50%;top:calc(50% + .8em);opacity:var(--below-progress,0);transform:translate3d(-50%,calc(-50% + (1 - var(--below-progress,0))*14px),0);white-space:nowrap}
.intro-blue{display:block;font-size:1.55em;line-height:1.1;color:transparent;background-image:linear-gradient(90deg,#2860f4 var(--blue-fill,0%),#191f28 var(--blue-fill,0%));background-clip:text;-webkit-background-clip:text}
.intro-finale{position:absolute;top:50%;left:50%;width:max-content;transform:translate(-50%,-50%);font-size:clamp(38px,9.8vw,140px);font-weight:820;letter-spacing:-.05em;line-height:1.08;color:#191f28;text-align:center}
.intro-title-mask{overflow:hidden;padding:.035em .06em;margin:0 -.06em}
.intro-title-mask+.intro-title-mask{margin-top:.08em}
.intro-title{display:block;white-space:nowrap;transform:translate3d(0,110%,0);opacity:0;transform-origin:center;will-change:transform,opacity;text-align:center}
.intro-title-text{display:inline-block;position:relative}
.intro-title-text:after{content:attr(data-word);position:absolute;inset:0;color:transparent;background-image:linear-gradient(110deg,#2149bb 0%,#3477f5 58%,#70b6ff 100%);background-clip:text;-webkit-background-clip:text;clip-path:inset(0 calc(100% - var(--title-fill,0%)) 0 0)}
.intro-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.page-intro [hidden]{display:none!important}
.intro-static .intro-scenes{display:flex;flex-direction:column;justify-content:center;gap:28px}
.intro-static .intro-sentence,.intro-static .intro-finale{position:static;inset:auto;transform:none;width:100%;text-align:center;opacity:1;font-size:clamp(18px,3.4vw,42px)}
.intro-static .intro-phrase-line{position:static;transform:none;width:100%;white-space:nowrap;will-change:auto}
.intro-static .intro-word{opacity:1;clip-path:none}
.intro-static .intro-below{position:static;transform:none;opacity:1;margin-top:12px}
.intro-static .intro-blue{--blue-fill:100%}
.intro-static .intro-finale{font-size:clamp(28px,6vw,64px)}
.intro-static .intro-title{opacity:1;transform:none;will-change:auto;--title-fill:100%}
@media(max-height:480px){.intro-finale{font-size:clamp(32px,9vw,112px)}.intro-static .intro-scenes{gap:16px}.intro-static .intro-finale{font-size:32px}}
