:root{--n:#14142b;--c:#1d1d3a;--g:#d4b06a;--i:#f3ead8}*{box-sizing:border-box}
body{margin:0;background:var(--n);color:var(--i);font:17px/1.6 Georgia,'Times New Roman',serif}
h1,h2,h3{font-weight:400;margin:.3em 0}h2{font-size:1.5rem;text-align:center;color:var(--i)}h2:after{content:"";display:block;width:48px;height:1px;background:var(--g);margin:10px auto 0}
.lang{position:fixed;top:10px;right:12px;z-index:9;background:#14142bcc;padding:2px 12px;border-radius:14px;border:1px solid var(--g)}.lang a{color:var(--i);text-decoration:none}.lang .on{color:var(--g);font-weight:700}
main{max-width:560px;margin:0 auto}.center{text-align:center;padding-top:25vh}.center h1{font-size:2rem}
.hero{position:relative;min-height:88vh;overflow:hidden}.hero .cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ov{position:absolute;inset:auto 0 0;padding:90px 20px 40px;text-align:center;background:linear-gradient(transparent,var(--n) 85%)}
.ov h1{font-size:2.6rem;line-height:1.15}.ov h1 span{display:block;font-size:1.3rem;color:var(--g);font-style:italic}.kick{letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--g)}.date{font-size:1.25rem}
.sec{padding:44px 18px 8px}.lead{text-align:center;font-style:italic}.when{text-align:center;color:var(--g);font-size:1.15rem}.pre{white-space:pre-line}
.card{background:var(--c);border:1px solid #2c2c52;border-radius:14px;padding:18px;margin:14px 0;text-align:center;animation:f .6s ease}@keyframes f{from{opacity:0;transform:translateY(8px)}}
.card small,.mem small{display:block;color:var(--g);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}.grid{display:grid;gap:12px}
.ph{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#1d1d3a,#1d1d3a 10px,#22224a 10px,#22224a 20px);border:1px dashed var(--g);color:var(--g);font-size:.85rem;text-align:center;border-radius:12px}
img{max-width:100%;display:block}.hero .ph{border-radius:0}.collage{display:grid;grid-template-columns:1fr 1fr;gap:8px}.collage .g{width:100%;object-fit:cover;border-radius:12px;height:100%}.g1,.g4{aspect-ratio:3/4}.g2,.g3{aspect-ratio:4/5}.g2{margin-top:24px}.g3{margin-top:-24px}
.vp{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:10px}
.tl{list-style:none;margin:24px 0;padding:0 0 0 22px;border-left:1px solid var(--g)}.tl li{position:relative;padding:0 0 22px 12px}.tl li:before{content:"";position:absolute;left:-28px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--g)}.tl b{display:block;color:var(--g)}
.mems{grid-template-columns:1fr 1fr}.mem{text-align:center}.av{width:110px;height:110px;border-radius:50%;object-fit:cover;margin:0 auto 8px}.mem p{font-size:.85rem;font-style:italic;color:#cfc6b4}
details{background:var(--c);border-radius:10px;padding:12px 16px;margin:8px 0}summary{cursor:pointer}details p{color:#cfc6b4}
.btn,button{display:inline-block;background:var(--g);color:var(--n);border:0;border-radius:24px;padding:12px 26px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;margin-top:10px}.btn.ghost{background:none;color:var(--g);border:1px solid var(--g);display:table;margin:14px auto 0}
label{display:block;text-align:left;margin:10px 0;font-size:.95rem}input,textarea,select{width:100%;padding:10px;border:1px solid #3a3a66;border-radius:8px;font:inherit;background:var(--n);color:var(--i)}label.r{display:flex;gap:8px;align-items:center}label.r input{width:auto}
.err{color:#ff9a9a}.muted{color:#a89f8e;font-size:.9rem}.hidden{display:none}.qr{width:240px;margin:10px auto;border-radius:10px}
#cd{display:flex;gap:10px;justify-content:center;margin:12px 0}#cd div{min-width:64px;background:var(--c);border-radius:10px;padding:8px;text-align:center;font-size:.75rem}#cd b{display:block;font-size:1.6rem;color:var(--g)}
.closing{margin-top:40px;height:60vh;position:relative}.closing .cover{width:100%;height:100%;object-fit:cover}footer{text-align:center;padding:30px 0 50px;color:var(--g)}
.env{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(#26264d,var(--n));cursor:pointer;z-index:5;transition:transform .9s ease,opacity .9s}
.env .flap{width:min(80vw,340px);height:200px;background:var(--c);border:2px solid var(--g);border-radius:8px;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}.seal{position:absolute;font-size:2.6rem;color:var(--g);margin-top:-110px}.env.open{transform:translateY(-100%);opacity:0;pointer-events:none}
@media(min-width:800px){main{max-width:760px}.grid{grid-template-columns:1fr 1fr}.mems{grid-template-columns:repeat(3,1fr)}}
