@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');font-style:italic;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--cream:#f6eedc;--gold:#e4c66e;--ink:#070b1a;font-family:Manrope,sans-serif;background:var(--ink);color:var(--cream)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,main:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#invitation{position:fixed;inset:0;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;overflow:hidden}
.ambient{position:absolute;inset:-40px;background:linear-gradient(#070b1a99,#070b1ad9),url('assets/p1.webp') center/cover;filter:blur(24px)}
.stage{position:relative;height:100%;height:100svh;max-width:calc(100svh * .565);margin:auto;isolation:isolate;overflow:hidden;background:#070b1a;box-shadow:0 0 100px #0009}
#poster,#scene,#dust,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}#poster{z-index:0}#scene{z-index:1}#dust{z-index:2}.shade{z-index:3;background:linear-gradient(transparent 65%,#070b1a70 84%,#070b1acc 100%)}
header{position:absolute;z-index:4;left:0;right:0;top:0;text-align:center;padding:calc(17px + env(safe-area-inset-top)) 20px 10px;background:linear-gradient(#070b1a66,transparent);pointer-events:none}.brand{font:500 18px Cormorant,serif;letter-spacing:.08em;text-shadow:0 1px 8px #000}.brand i{color:var(--gold);font-style:normal}
#copy{position:absolute;z-index:5;inset:0;pointer-events:none}.copy{position:absolute;left:7%;right:7%;bottom:13%;text-align:center;text-shadow:0 2px 12px #000,0 0 26px #070b1acc;will-change:opacity,transform}.copy h1,.copy p{margin:0}.name{font:500 clamp(58px,18vw,90px)/.95 Cormorant,serif;letter-spacing:-.045em}.name small{display:block;font:500 12px/1.6 Manrope,sans-serif;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin:13px 0 0;padding-left:.35em}.line{font:500 clamp(28px,7.6vw,38px)/1.13 Cormorant,serif;text-wrap:balance}.line em{color:var(--gold)}.detail .k{display:block;font:600 10px/1.5 Manrope,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.detail .v{display:block;font:500 clamp(25px,6.8vw,34px)/1.08 Cormorant,serif;text-wrap:balance}.detail .s{display:block;font:500 12px/1.55 Manrope,sans-serif;margin-top:8px;text-wrap:balance}.tag{display:inline-block;font:500 8px/1.5 Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase;border:1px solid #d4af3766;border-radius:20px;padding:4px 9px;margin-top:9px}.copy--high{bottom:26%}.copy--low{bottom:11%}.finale{bottom:14%;padding:20px 0}.finale:before{content:'';position:absolute;inset:-35px -35px -55px;background:radial-gradient(ellipse,#070b1af0 0%,#070b1ace 50%,transparent 74%);z-index:-1}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:30px;background:#d4af37;color:#15100a;padding:0 28px;margin-top:24px;font-size:14px;font-weight:700;text-shadow:none;text-decoration:none;pointer-events:auto;box-shadow:0 8px 28px #0006}.sign{margin-top:18px!important;font:500 9px/1.7 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c9bda3}.sign b{color:var(--cream)}
#hint{position:absolute;z-index:6;top:9%;left:9%;right:9%;text-align:center;font:italic 500 17px/1.3 Cormorant,serif;text-shadow:0 2px 10px #000;pointer-events:none;opacity:0}#hint b{font-style:normal;color:var(--gold)}.cover{position:absolute;inset:0;z-index:10;border:0;background:none;touch-action:none}.tap{position:absolute;left:0;right:0;top:78%;font:600 10px/1.5 Manrope,sans-serif;letter-spacing:.28em;text-transform:uppercase;text-shadow:0 1px 8px #000}.ring{display:flex;margin:0 auto 13px;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #e4c66eaa;border-radius:50%;font-size:24px;color:var(--gold)}
.controls{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));left:5%;right:5%;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:8px;visibility:hidden}.opened .controls{visibility:visible}.controls button{border:1px solid #d4af3766;border-radius:28px;min-height:44px;padding:0 12px;background:#070b1a99;backdrop-filter:blur(10px);font-size:10px;letter-spacing:.03em;touch-action:manipulation}.controls button[aria-pressed=true] span:first-child{color:var(--gold)}#status{position:absolute;z-index:8;left:10%;right:10%;bottom:8%;text-align:center;font-size:10px;letter-spacing:.06em;text-shadow:0 1px 5px #000;pointer-events:none}#retry{position:absolute;z-index:11;left:50%;top:45%;transform:translateX(-50%);border:1px solid var(--gold);border-radius:24px;padding:12px 20px;background:#070b1aee;font-size:12px}[hidden]{display:none!important}.noscript{position:fixed;inset:20%;background:#070b1a;padding:20px;z-index:100}
@media(max-aspect-ratio:9/16){.stage{max-width:none}#poster,#scene,#dust{height:100%;object-fit:cover}.copy--high{bottom:25%}.copy--low{bottom:11%}}
@media(max-height:600px){header{padding-top:9px}.name{font-size:54px}.line{font-size:26px}.detail .v{font-size:23px}.detail .s{font-size:10px}.controls{bottom:7px}.copy--high{bottom:30%}.copy--low{bottom:14%}.copy{bottom:17%}.finale .sign{font-size:8px}.finale{bottom:13%}.cta{margin-top:12px;min-height:44px}.tap{top:76%}#hint{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}#dust{display:none}}
