@font-face{font-family:CowbirdCondensed;src:url('assets/headline.woff') format('woff');font-weight:700 900;font-display:swap}
:root{color-scheme:dark;--alchemy:#ebf453;--white:#fff}
*{box-sizing:border-box}
html{min-height:100%;background:#120d08}
body{margin:0;min-height:100svh;display:grid;place-items:center;font-family:Arial,Helvetica,sans-serif}
.scene{position:relative;width:100%;max-width:2200px;aspect-ratio:1672/941;isolation:isolate;overflow:hidden;container-type:inline-size}
.backdrop,.backdrop img{display:block;width:100%;height:100%;position:absolute;inset:0}
.backdrop img{object-fit:cover}
.invitation{position:absolute;top:56.7%;left:20%;width:60%;text-align:center;z-index:2}
h1{margin:0;color:var(--white);font-family:CowbirdCondensed,Impact,'Arial Narrow',sans-serif;font-size:5.8cqw;font-weight:900;line-height:1;letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 2px 7px #0009}
.invitation p{margin:.9cqw 0 1.5cqw;font-size:max(.75rem,1.45cqw);line-height:1.25;text-transform:uppercase;letter-spacing:.5em;padding-left:.5em;color:var(--white)}
.contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85cqw 2.4cqw;color:#000;background:var(--alchemy);text-decoration:none;font-size:max(.875rem,1.16cqw);font-weight:800;line-height:1.2;letter-spacing:.015em;text-transform:uppercase;box-shadow:0 0 20px #ebf45312;transition:background .18s,box-shadow .18s,transform .18s}
.contact:hover{background:#f4fa91;box-shadow:0 0 25px #ebf45345;transform:translateY(-1px)}
.contact:focus-visible{outline:3px solid white;outline-offset:5px}
.sign-glow,.neon-glow{position:absolute;pointer-events:none;z-index:1;mix-blend-mode:screen}
.sign-glow{left:20%;top:10%;width:60%;height:44%;border-radius:5%;box-shadow:0 0 32px 6px #f0bd5520;animation:warmth 9s ease-in-out infinite}
.neon-glow{left:8.8%;top:10%;width:4%;height:19%;border-radius:20%;background:#ebf453;filter:blur(14px);opacity:.035;animation:neon 15s linear infinite}
@keyframes warmth{0%,100%{opacity:.35}50%{opacity:.8}}
@keyframes neon{0%,77%,79%,100%{opacity:.035}78%{opacity:.018}78.6%{opacity:.028}}
@media(max-width:700px){
body{display:block}
.scene{aspect-ratio:853/1844;max-width:700px;margin:auto}
.invitation{top:46.8%;left:7%;width:86%}
h1{font-size:12.9cqw;line-height:.99;letter-spacing:-.025em}
h1 span{display:block}
.invitation p{margin:2.8cqw 0 4.2cqw;font-size:max(.75rem,3.6cqw);letter-spacing:.34em;padding-left:.34em}
.contact{font-size:max(.875rem,3.8cqw);min-height:48px;padding:3cqw 9cqw;border-radius:6px}
.sign-glow{top:25%;left:3%;width:94%;height:20%}
.neon-glow{left:15%;top:8%;width:8%;height:10%;filter:blur(10px)}
}
@media(prefers-reduced-motion:reduce){.sign-glow,.neon-glow{animation:none}.contact{transition:none}}
