@font-face{font-family:'Pinyon Script';src:url('/fonts/pinyon-script.ttf') format('truetype');font-display:swap;font-weight:400;font-style:normal}
/* Independent artwork and live type, laid out for the current viewport. */
#intro{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(68px,.8fr) minmax(130px,2.4fr) minmax(75px,.9fr) auto 25px;align-items:center;justify-items:center;justify-content:stretch;gap:14px;padding:68px 24px 18px;isolation:isolate;background:#071c12 url('/brand/palace-curtains-v3.png') center center/cover no-repeat;box-shadow:inset 0 0 100px #0005;overflow:hidden;transition:opacity .65s ease,filter .65s ease}
#intro::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0001,transparent 30%,#03100922 70%,#010a06aa);pointer-events:none}
#intro.fading{opacity:0;filter:blur(4px)}
#intro.opening>.intro-brand,#intro.opening>.intro-title,#intro.opening>.intro-date,#intro.opening>.welcome-copy,#intro.opening>footer{animation:none;opacity:0;transform:translateY(-6px);transition:opacity .24s ease,transform .24s ease;pointer-events:none}
.intro-brand{align-self:end;display:flex;align-items:center;justify-content:center;width:clamp(240px,30vw,420px);height:clamp(56px,10vh,90px);animation:entrance .9s ease both}
.intro-brand img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 0 14px #f2e8d129)}
#intro .intro-title{display:flex;align-items:center;justify-content:center;width:min(640px,62vw);height:100%;max-height:37svh;margin:0;line-height:1;animation:entrance 1.2s .15s ease both}
.intro-title{position:relative}
.intro-title img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 18px #0009);transform-origin:50% 55%;animation:fantasy-float 6.4s ease-in-out infinite;will-change:transform}
.intro-title::before,.intro-title::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 17% 29%,#fff8d9 0 1px,#f6b43a88 2px,transparent 7px),radial-gradient(circle at 69% 24%,#fff6cc 0 1px,#ffc46388 2px,transparent 6px),radial-gradient(circle at 38% 75%,#fff8e0 0 1px,#ffc75b88 2px,transparent 6px),radial-gradient(circle at 84% 69%,#fff8dc 0 1px,#ecbc5688 2px,transparent 7px);animation:fantasy-glimmer 3.8s ease-in-out infinite}
.intro-title::after{inset:4% 3%;animation-delay:-2.1s;animation-duration:4.7s;transform:scaleX(-1);opacity:.2}
@keyframes fantasy-float{0%,100%{transform:translateY(0) rotate(-.25deg) scale(1)}50%{transform:translateY(-5px) rotate(.25deg) scale(1.008)}}
@keyframes fantasy-glimmer{0%,100%{opacity:.08}25%{opacity:.65}48%{opacity:.15}68%{opacity:.95}82%{opacity:.12}}
.intro-date{text-align:center;color:#f0e4c3;line-height:1;align-self:start;text-shadow:0 2px 14px #000,0 1px 2px #000;animation:entrance 1.1s .35s ease both}
.intro-date p{font:400 clamp(35px,4.4vw,58px)/1.05 'Pinyon Script',cursive;margin:0 0 8px;white-space:nowrap}
.intro-date span{font:400 clamp(30px,3.4vw,46px)/1.1 'Pinyon Script',cursive;display:block}
#intro .welcome-copy{position:static;inset:auto;opacity:1;transform:none;text-align:center;pointer-events:auto;animation:entrance 1s .5s ease both}
#intro .welcome-copy button{display:flex;align-items:center;justify-content:center;gap:25px;min-height:49px;margin:0;padding:14px 26px;background:#781c33ed;color:#fff0d8;border:1px solid #d5b87999;border-radius:5px;box-shadow:0 6px 28px #0006;font:600 13px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.2px;pointer-events:auto}
#intro .welcome-copy button:hover{background:#982641;border-color:#f0d49b}
#intro .welcome-copy button:focus-visible{outline:2px solid #f4dca4;outline-offset:5px}
#intro footer{position:static;inset:auto;display:block;margin:0;font:400 9px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:2px;color:#d6c5a3;text-align:center;align-self:end}
#intro footer span{color:inherit;white-space:nowrap}
@keyframes entrance{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){#intro{grid-template-rows:minmax(70px,.9fr) minmax(140px,2.1fr) minmax(87px,1fr) auto 30px;gap:16px;padding:58px 18px max(24px,env(safe-area-inset-bottom));background-position:center}.intro-brand{width:min(300px,78vw);height:74px}#intro .intro-title{width:94vw;max-width:480px;max-height:30svh}.intro-date p{font-size:41px}.intro-date span{font-size:35px}#intro footer{font-size:8px;letter-spacing:1.2px}#intro .welcome-copy button{min-height:50px;padding:14px 24px}}
@media(max-height:540px){#intro{grid-template-rows:50px minmax(80px,1fr) 62px 40px 15px;gap:5px;padding:10px 18px}.intro-brand{width:240px;height:48px;align-self:center}#intro .intro-title{width:min(400px,72vw);max-height:35svh}.intro-date p{font-size:31px;margin-bottom:2px}.intro-date span{font-size:27px}#intro .welcome-copy button{min-height:38px;padding:8px 20px;font-size:12px}#intro footer{font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.intro-brand,#intro .intro-title,.intro-title img,.intro-title::before,.intro-title::after,.intro-date,#intro .welcome-copy{animation:none;will-change:auto}.intro-title::before,.intro-title::after{display:none}#intro{transition:none}}
