.intro{display:none}
html.intro-running{overflow:hidden}
html.intro-running .intro{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff;color:#111;animation:introExit .65s cubic-bezier(.76,0,.24,1) 1.7s both}
.intro-logo{width:min(600px,82vw);height:200px;position:relative;display:flex;align-items:center;justify-content:center}
.intro-word{font-family:Arial,Helvetica,sans-serif;font-size:clamp(45px,9vw,100px);font-weight:700;letter-spacing:-.075em;display:flex;align-items:center;gap:18px;animation:introType 1s cubic-bezier(.2,.7,.3,1) .1s both}
.intro-star{font-size:.48em;letter-spacing:0;animation:introStar 1.1s ease .2s both}
.intro-orbit{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#111;stroke-width:1.4;stroke-dasharray:1260;stroke-dashoffset:1260;animation:introOrbit 1s ease .45s both}
.intro-caption{font:9px 'Courier New',monospace;letter-spacing:.14em;animation:introCaption .6s ease .6s both}
.intro-skip{position:absolute;right:var(--pad);top:35px;font:11px 'Courier New',monospace;padding:10px;animation:introCaption .4s ease .3s both}
.intro-complete .header{animation:contentEnter .7s ease both}
.intro-complete .hero-top{animation:contentEnter .8s ease .08s both}
.intro-complete .hero h1{animation:contentEnter .85s cubic-bezier(.2,.7,.3,1) .18s both}
.intro-complete .hero-image{animation:photoEnter 1s ease .35s both}
.intro-complete .hero-bottom,.intro-complete .wordmark{animation:contentEnter .9s ease .45s both}
@keyframes introType{from{opacity:0;filter:blur(10px);clip-path:inset(0 100% 0 0);transform:translateY(20px)}to{opacity:1;filter:blur(0);clip-path:inset(0 0 0 0);transform:translateY(0)}}
@keyframes introStar{from{transform:rotate(-90deg);opacity:0}to{transform:rotate(0);opacity:1}}
@keyframes introOrbit{to{stroke-dashoffset:0}}
@keyframes introCaption{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes introExit{from{transform:translateY(0)}to{transform:translateY(-100%)}}
@keyframes contentEnter{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes photoEnter{from{opacity:0;scale:.92}to{opacity:1;scale:1}}
@media(max-width:650px){.intro-logo{height:150px}.intro-orbit{stroke-width:1}.intro-skip{top:20px}.intro-caption{font-size:8px}}
