/* A quiet, personal hello. */
#splash.rf-intro,.rf-intro.admin-splash{position:fixed;inset:0;z-index:200;width:100vw;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(1.25rem,3.8vw,3.5rem);background:var(--bg);overflow:hidden;isolation:isolate;transform:none;clip-path:inset(0 0 0 0);transition:clip-path .85s cubic-bezier(.76,0,.24,1)}
.rf-intro[hidden]{display:none!important}
#splash.rf-intro::before,#splash.rf-intro::after,.rf-intro::before,.rf-intro::after{content:none}
#splash.rf-intro.is-leaving,.rf-intro.admin-splash.is-leaving{transform:none;clip-path:inset(0 0 100% 0)}
.intro-masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;z-index:1}
.intro-brand{font:700 1.5rem/1 var(--fd);letter-spacing:-.07em;color:var(--tx)}.intro-brand>span{color:var(--ak)}
#splash.rf-intro .skip,.rf-intro .skip{position:static;display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.5rem;border:0;background:none;color:var(--mu);font:400 .75rem var(--fd);cursor:pointer;transition:color .2s}
.rf-intro .skip:hover{color:var(--tx)}.rf-intro .skip>span{color:var(--ak)}
.intro-welcome{align-self:center;justify-self:center;text-align:center;width:100%;max-width:1100px;padding:1rem 0 2rem}
.intro-spark{display:block;width:30px;height:30px;margin:0 auto 2rem;color:var(--ak);animation:welcome-spark 1.3s cubic-bezier(.16,1,.3,1) both}
.intro-spark svg{width:100%;height:100%;fill:currentColor}
.intro-hello{font:italic 400 clamp(1.5rem,3vw,2.5rem)/1.3 Georgia,'Times New Roman',serif;color:var(--mu);margin:0 0 .5rem;animation:welcome-in 1s .07s both}
.intro-name{font:500 clamp(5rem,12.5vw,11rem)/1.1 var(--fd);letter-spacing:-.015em;font-kerning:none;color:var(--tx);margin:0;animation:welcome-in 1.1s .15s both}
.intro-name>span{color:var(--ak)}
.admin-splash .intro-name{font-size:clamp(3.1rem,8vw,8rem);letter-spacing:-.045em}
.intro-note{font:400 clamp(.9rem,1.4vw,1.1rem)/1.6 var(--fd);color:var(--mu);margin:1.5rem 0 0;animation:welcome-in 1s .3s both}
.intro-end{height:44px;display:grid;place-items:center}
.intro-end>span{width:56px;height:1px;background:var(--ak);transform-origin:center;animation:welcome-rule 1.4s .2s both}
.intro-masthead,.intro-welcome,.intro-end{transition:opacity .3s,translate .6s cubic-bezier(.16,1,.3,1)}
.rf-intro.is-leaving .intro-masthead,.rf-intro.is-leaving .intro-welcome,.rf-intro.is-leaving .intro-end{opacity:0;translate:0 -18px}
@keyframes welcome-in{from{opacity:0;transform:translateY(14px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes welcome-spark{from{opacity:0;transform:rotate(-70deg) scale(.6)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes welcome-rule{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@media(max-width:700px){#splash.rf-intro,.rf-intro.admin-splash{padding:1.25rem;padding-top:max(1.25rem,env(safe-area-inset-top));padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.intro-spark{width:25px;height:25px;margin-bottom:1.75rem}.intro-name{font-size:clamp(5rem,23vw,8rem)}.intro-note{margin-top:1rem}.admin-splash .intro-name{font-size:clamp(2.6rem,10vw,4.5rem)}}
@media(max-height:500px){#splash.rf-intro,.rf-intro.admin-splash{padding:1rem 1.5rem}.intro-spark{width:20px;height:20px;margin-bottom:.6rem}.intro-hello{font-size:1.3rem}.intro-name{font-size:4.5rem}.admin-splash .intro-name{font-size:3.5rem}.intro-welcome{padding:0}.intro-note{margin-top:.5rem}.intro-end{height:24px}}
@media(prefers-reduced-motion:reduce){#splash.rf-intro,.rf-intro.admin-splash{display:none!important}}
