.intro-screen{display:none}
.intro-running .intro-screen{display:grid;position:fixed;inset:0;z-index:2000;grid-template-rows:auto 1fr auto;min-height:100%;padding:clamp(24px,4vw,56px);overflow:hidden;background:#071f36;color:#edf6fb;animation:intro-curtain 1.8s cubic-bezier(.22,1,.36,1) both}
.intro-screen::before{content:"";position:absolute;inset:22% -20% -55%;border:1px solid #a2cde921;border-radius:50%;transform:rotate(-12deg);pointer-events:none}
.intro-screen::after{content:"";position:absolute;inset:43% -30% -65%;border:1px solid #a2cde918;border-radius:50%;transform:rotate(12deg);pointer-events:none}
.intro-top,.intro-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;letter-spacing:.1em}
.intro-top>span{color:#b4cbdc;font-weight:650;letter-spacing:.18em}
.intro-top button{min-height:44px;display:flex;gap:16px;align-items:center;border:1px solid #aecce64d;border-radius:99px;background:transparent;padding:10px 18px;color:inherit;font:inherit;letter-spacing:0;cursor:pointer}
.intro-top button:hover,.intro-bottom a:hover{background:#ffffff12}
.intro-top button:focus-visible,.intro-bottom a:focus-visible{outline:2px solid #e4f2fc;outline-offset:5px}
.intro-center{position:relative;z-index:1;align-self:center;text-align:center;padding:28px 0}
.intro-emblem{display:block;width:116px;height:116px;margin:0 auto 24px;color:#baddf1;stroke:currentColor;stroke-width:1.35}
.intro-orbit{stroke:#bad7e65e;stroke-width:.5;stroke-dasharray:1;animation:intro-stroke 1.1s ease both}
.intro-ridge{stroke-dasharray:1;animation:intro-stroke .9s ease .08s both}
.intro-wordmark{margin:0!important;font-family:Arial,Helvetica,sans-serif;font-weight:750;font-size:clamp(52px,7.5vw,96px);letter-spacing:.04em;line-height:.95;color:#f4f9fd;animation:intro-type .65s cubic-bezier(.22,1,.36,1) both}
.intro-wordmark span{display:block;margin-top:15px;font-size:.265em;letter-spacing:.64em;padding-inline-start:.64em;font-weight:400;color:#c1d6e7}
.intro-line{display:block;height:1px;width:74px;background:#c3dff0;margin:32px auto 21px;transform-origin:center;animation:intro-line .8s ease .15s both}
.intro-tagline{margin:0!important;font-size:clamp(15px,2vw,19px);letter-spacing:.035em;color:#c5d7e4;animation:intro-type .6s ease .18s both}
.intro-bottom{color:#a7c0d3;letter-spacing:.025em}
.intro-bottom a{color:#e7f1f8;text-decoration:none;padding:10px 0;min-height:44px;display:flex;align-items:center}
@keyframes intro-stroke{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes intro-type{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes intro-line{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
/* CSS also dismisses the curtain if a later script fails. */
@keyframes intro-curtain{0%,76%{opacity:1;visibility:visible;transform:none}100%{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-2vh)}}
@media(max-width:600px){.intro-running .intro-screen{padding:20px 22px 24px}.intro-top{font-size:10px;gap:10px}.intro-top>span{letter-spacing:.1em}.intro-top button{padding:9px 13px;gap:10px}.intro-emblem{width:94px;height:94px;margin-bottom:25px}.intro-wordmark{font-size:58px}.intro-bottom{flex-direction:column;gap:3px;font-size:12px}.intro-center{padding:24px 0}.intro-line{margin-top:28px}}
@media(max-height:500px) and (min-width:601px){.intro-running .intro-screen{padding:16px 30px}.intro-center{padding:0}.intro-emblem{width:64px;height:64px;margin-bottom:12px}.intro-wordmark{font-size:48px}.intro-wordmark span{margin-top:10px}.intro-line{margin:16px auto 10px}}
@media(prefers-reduced-motion:reduce){.intro-running .intro-screen{display:none!important}}
@media print{.intro-screen{display:none!important}}
