@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{color-scheme:dark;--pearl:#fff3fa;--lilac:#e8c5f7;--mx:0px;--my:0px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#1b102c;color:var(--pearl);font-family:'Manrope',sans-serif;-webkit-tap-highlight-color:transparent}.scene,.shade,.aura,canvas{position:fixed;inset:0;pointer-events:none}.scene{inset:-1.8%;transform:translate3d(var(--mx),var(--my),0) scale(1.02);animation:reveal 2.6s ease-out both}.scene picture,.scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.shade{background:linear-gradient(90deg,rgba(15,7,30,.72),rgba(28,9,43,.28) 51%,rgba(20,7,35,.08) 75%),linear-gradient(0deg,rgba(12,6,26,.64),transparent 25%,transparent 75%,rgba(17,8,32,.25));z-index:1}.aura{z-index:2;background:radial-gradient(ellipse at 30% 45%,#d89de312,transparent 47%);animation:breathe 9s ease-in-out infinite alternate}canvas{z-index:3;width:100%;height:100%}header,footer{position:fixed;z-index:5;left:max(5.2vw,24px);right:max(5.2vw,24px);display:flex;align-items:center;justify-content:space-between}header{top:max(34px,env(safe-area-inset-top));animation:fade 1.7s .7s both}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#f7e6ff;font-size:13px;font-weight:500;letter-spacing:.13em}.brand svg{width:25px;height:25px;stroke:#e6c1fc;fill:none;stroke-width:1}.edition{font-size:10px;letter-spacing:.2em;color:#f6dff1b5}.edition i{font-style:normal;margin-left:16px;color:#edc4ed}main{position:relative;z-index:4;height:100%;height:100svh;display:flex;align-items:center;pointer-events:none}.intro{text-align:center;width:58%;padding-bottom:1vh}.eyebrow{font-size:9px;font-weight:500;letter-spacing:.43em;display:flex;align-items:center;justify-content:center;gap:14px;color:#f0d2ed;animation:up 1.4s .3s both}.eyebrow>span{width:22px;height:1px;background:linear-gradient(90deg,transparent,#cda8d6)}.eyebrow>span:last-child{transform:rotate(180deg)}.title-wrap{position:relative;width:max-content;margin:20px auto 10px}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(100px,15.5vw,245px);letter-spacing:.075em;line-height:1.03;margin:0;padding-left:.075em;perspective:600px;filter:drop-shadow(0 4px 25px #d9a3f132)}h1 span{display:inline-block;background:linear-gradient(115deg,#e8c2f1 0%,#fff9f3 30%,#e5b4e6 49%,#fffaf7 58%,#f1d6f3 75%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:letter 1.8s cubic-bezier(.16,1,.3,1) both,shine 9s 2s ease-in-out infinite}h1 span:nth-child(2){animation-delay:.17s,2s}h1 span:nth-child(3){animation-delay:.34s,2s}.title-star{position:absolute;font-weight:400;color:#f1c9ee;text-shadow:0 0 20px #eac9ff;animation:twinkle 3.5s ease-in-out infinite}.star-one{font-size:37px;top:-8px;right:-25px}.star-two{font-size:16px;bottom:5px;left:-24px;animation-delay:1.5s}.orbit{position:absolute;inset:7% -12%;border:1px solid #eac7f22c;border-radius:50%;transform:rotate(-19deg);animation:orbit 2.5s .5s both}.orbit:after{content:'';position:absolute;right:18%;top:9%;width:5px;height:5px;border-radius:50%;background:#fae4ff;box-shadow:0 0 15px #f4bfff}.tagline{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(21px,2vw,30px);letter-spacing:.04em;color:#f9e7f5d9;margin:17px 0 26px;animation:up 1.5s .8s both}.tagline em{color:#f5d2ef}.signature{display:flex;gap:14px;align-items:center;justify-content:center;animation:fade 2s 1.3s both}.signature span{width:44px;height:1px;background:linear-gradient(90deg,transparent,#d8b7e466)}.signature span:last-child{transform:rotate(180deg)}.signature svg{width:15px;height:18px;fill:none;stroke:#e7c4f0a6;stroke-width:.8}footer{bottom:max(27px,env(safe-area-inset-bottom));animation:fade 2s 1.3s both}.footnote{font-size:9px;letter-spacing:.2em;color:#e7cceaa0}.footnote span{margin-left:12px}button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #f4d5ff30;border-radius:50%;background:#2a123a38;color:#fbeaff;cursor:pointer;backdrop-filter:blur(8px);transition:background .25s,transform .25s}button:hover{background:#d9a4ef33;transform:scale(1.07)}button:focus-visible,a:focus-visible{outline:2px solid #efd5ff;outline-offset:5px}button svg{grid-area:1/1;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}.play-icon{display:none}.paused .pause-icon{display:none}.paused .play-icon{display:block}.paused *{animation-play-state:paused!important}@keyframes letter{from{opacity:0;transform:translateY(45px) rotateX(35deg);filter:blur(12px)}to{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}@keyframes shine{0%,20%{background-position:100% 50%}65%,100%{background-position:0% 50%}}@keyframes reveal{from{opacity:0;filter:blur(8px);scale:1.06}to{opacity:1;filter:blur(0);scale:1}}@keyframes up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}@keyframes breathe{from{opacity:.4}to{opacity:1}}@keyframes orbit{from{opacity:0;transform:rotate(-32deg) scale(.8)}to{opacity:1;transform:rotate(-19deg) scale(1)}}
@media(orientation:portrait){.scene{inset:-1%}.scene img{object-position:center center}.shade{background:linear-gradient(180deg,#130a2a4d,#1b0c2b47 36%,transparent 58%,#160a2855 84%,#130920b3)}header{top:max(26px,env(safe-area-inset-top));left:25px;right:25px}.brand{font-size:11px;gap:9px}.brand svg{width:21px}.edition{font-size:8px;letter-spacing:.12em}.edition i{margin-left:6px}main{align-items:flex-start}.intro{width:100%;padding:0;position:absolute;top:18.5%}.eyebrow{font-size:8px;letter-spacing:.35em;gap:10px}.eyebrow>span{width:18px}.title-wrap{margin:15px auto 7px}h1{font-size:clamp(100px,28vw,200px)}.tagline{font-size:23px;margin:12px 0 20px}.star-one{font-size:29px;right:-20px}.star-two{font-size:13px;left:-19px}footer{left:25px;right:25px;bottom:max(22px,env(safe-area-inset-bottom))}.footnote{font-size:8px}.orbit{inset:7% -9%}}
@media(orientation:landscape) and (max-height:500px){header{top:19px}footer{bottom:16px}h1{font-size:29vh}.title-wrap{margin:12px auto 5px}.tagline{margin:8px 0 15px;font-size:20px}.eyebrow{font-size:8px}.intro{padding-top:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.scene{transform:none}canvas{display:none}}

/* Continuous pearlescent ribbon and floating letter animation. */
footer{justify-content:flex-end}.title-wrap{animation:soft-float 5s ease-in-out infinite}.orbit{animation:halo-drift 8s ease-in-out infinite;border-color:#ffd3ee50;box-shadow:0 0 22px #ffa9dc18,inset 0 0 18px #e6b4ff0c}h1{filter:drop-shadow(0 0 18px #ee9bd25c)}h1 span{background-image:linear-gradient(110deg,#ffe8fa 5%,#f8c2df 20%,#fff8f1 35%,#dcb8ff 50%,#ffc4e6 65%,#fff8f1 80%,#ffe8fa 95%);background-size:300% 100%;animation:pearl-flow 5s linear infinite,letter-float 4s ease-in-out infinite;text-shadow:none}h1 span:nth-child(2){animation-delay:-1.7s,-.6s}h1 span:nth-child(3){animation-delay:-3.4s,-1.2s}.star-one{animation:twinkle 2.6s ease-in-out infinite}.star-two{animation:twinkle 3.2s 1s ease-in-out infinite}@keyframes pearl-flow{from{background-position:100% 50%}to{background-position:0% 50%}}@keyframes letter-float{0%,100%{transform:translateY(0);filter:drop-shadow(0 0 6px #ffc3eb26)}50%{transform:translateY(-6px);filter:drop-shadow(0 0 14px #ffc3eb6b)}}@keyframes soft-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes halo-drift{0%,100%{transform:rotate(-19deg) scale(1);opacity:.55}50%{transform:rotate(-11deg) scale(1.035);opacity:1}}@media(prefers-reduced-motion:reduce){.title-wrap,.orbit,h1 span{animation:none!important}}
