*{box-sizing:border-box}
:root{color-scheme:dark;--gold:#e7bd70;--gold-light:#ffe4a7;--navy:#050918}
html,body{margin:0;min-height:100%;background:var(--navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{overflow:hidden}
.intro{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#09255a 0%,#07132e 38%,#030611 78%)}
.portrait-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.portrait{height:100%;width:100%;object-fit:contain;object-position:center center;opacity:0;filter:brightness(.72) saturate(.92);transform:scale(1.07);animation:portraitReveal 2.8s cubic-bezier(.18,.7,.2,1) .25s forwards}
.shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(1,4,15,.34),rgba(1,4,15,.04) 32%,rgba(1,4,15,.12) 52%,rgba(1,4,15,.86) 100%),linear-gradient(90deg,rgba(2,5,16,.35),transparent 45%,rgba(2,5,16,.16));pointer-events:none}
.ambient{position:absolute;z-index:1;pointer-events:none;border-radius:50%;filter:blur(42px);opacity:0;animation:glow 2s ease 1s forwards}
.ambient-one{width:24rem;height:24rem;left:8%;top:30%;background:rgba(0,143,255,.18)}
.ambient-two{width:22rem;height:22rem;right:5%;top:24%;background:rgba(246,174,65,.16)}
.intro-copy{position:relative;z-index:2;width:min(90vw,760px);margin-top:clamp(220px,40vh,440px);text-align:center;padding:2rem 1rem 5rem;opacity:1;transform:translateY(0)}
.eyebrow{font-size:clamp(.95rem,2.6vw,1.3rem);letter-spacing:.3em;color:var(--gold-light);font-weight:700;margin:0 0 1rem;text-shadow:0 2px 14px #000}
.name{opacity:0;animation:copyReveal 1s ease 3.0s forwards}
.tagline{opacity:0;animation:copyReveal 1s ease 4.2s forwards}
.enter-button{opacity:0;animation:copyReveal .8s ease 2s forwards}
.hint{opacity:0;animation:copyReveal 1s ease 11.0s forwards}
.eyebrow{font-size:.75rem;letter-spacing:.34em;color:var(--gold-light);font-weight:650;margin:0 0 1rem;text-shadow:0 2px 14px #000}
h1{margin:0 0 1.8rem;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.1rem,5vw,4.6rem);line-height:1.02;color:#fff5df;text-shadow:0 3px 28px rgba(0,0,0,.85)}
h1 span{color:var(--gold);font-style:italic}
.enter-button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;max-width:100%;padding:1rem 1.5rem;border:1px solid rgba(255,231,177,.9);border-radius:999px;background:linear-gradient(135deg,#ffe2a0,#c9903c);color:#10111b;text-decoration:none;font-weight:750;font-size:clamp(.9rem,2.2vw,1.05rem);box-shadow:0 8px 40px rgba(0,0,0,.4),0 0 32px rgba(230,180,89,.15);transition:transform .25s,box-shadow .25s,filter .25s}
.enter-button:hover,.enter-button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 48px rgba(0,0,0,.5),0 0 42px rgba(230,180,89,.3);filter:brightness(1.06)}
.enter-button:focus-visible,.skip-link:focus-visible{outline:3px solid white;outline-offset:4px}
.arrow{font-size:1.3rem}.hint{margin:1.1rem 0 0;color:rgba(255,255,255,.72);font-size:.8rem;letter-spacing:.08em}
.bottom-mark{position:absolute;z-index:2;bottom:1.25rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.8rem;white-space:nowrap;color:rgba(255,224,165,.78);font-size:.62rem;letter-spacing:.32em}
.bottom-mark span{display:block;width:2.1rem;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.bottom-mark span:last-child{transform:rotate(180deg)}
.skip-link{position:absolute;z-index:3;top:1rem;right:1rem;color:#fff;background:rgba(0,0,0,.45);padding:.55rem .75rem;border-radius:2rem;font-size:.75rem;text-decoration:none;opacity:.75}
.intro.leaving .portrait{animation:leavePortrait .65s ease forwards}.intro.leaving .intro-copy{animation:leaveCopy .45s ease forwards}
@keyframes portraitReveal{to{opacity:1;transform:scale(1)}}@keyframes copyReveal{to{opacity:1;transform:translateY(0)}}@keyframes glow{to{opacity:1}}@keyframes leavePortrait{to{opacity:0;transform:scale(1.04);filter:brightness(1.5)}}@keyframes leaveCopy{to{opacity:0;transform:translateY(-10px)}}
@media(min-aspect-ratio:5/4){.portrait{object-fit:contain;object-position:center center}.intro-copy{margin-top:clamp(150px,36vh,340px);padding-bottom:4rem}.shade{background:linear-gradient(180deg,rgba(1,4,15,.2),rgba(1,4,15,.03) 25%,rgba(1,4,15,.35) 55%,rgba(1,4,15,.92) 100%)}}
@media(max-width:560px){.portrait{object-fit:cover;object-position:center 24%;filter:brightness(.67) saturate(.9)}.intro-copy{margin-top:clamp(240px,48vh,390px);padding:1.5rem 1.15rem 4.5rem}.eyebrow{font-size:.62rem;letter-spacing:.24em}h1{font-size:clamp(2rem,9vw,3rem);margin-bottom:1.35rem}.enter-button{padding:.9rem 1rem;gap:.7rem;font-size:.86rem}.bottom-mark{font-size:.53rem;letter-spacing:.2em;bottom:.85rem}.bottom-mark span{width:1.2rem}.skip-link{top:.65rem;right:.65rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.portrait,.eyebrow,h1,.enter-button,.hint{opacity:1;transform:none}.intro-copy{opacity:1;transform:none}}
