*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--gold:#c9a96e;--gold2:#b8914a;--gold-pale:#f0e4ca;--dark:#1a1410;--dark2:#252018;--dark3:#2e2a1c;--white:#fdfaf2;--muted:rgba(240,228,202,0.45);}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--dark);color:var(--white);overflow-x:hidden;min-height:100vh}
#particles{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0.5}
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:54px;display:flex;align-items:center;padding:0 1rem;gap:0.75rem;background:rgba(26,20,16,0.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(201,169,110,0.1);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1rem;letter-spacing:0.1em;color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:0.45rem;flex-shrink:0;}
.nav-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:pulse 2.5s ease infinite}
.nav-event{flex:1;text-align:center;font-family:'Playfair Display',serif;font-size:0.78rem;font-style:italic;color:rgba(240,228,202,0.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 0.5rem;}
@media(max-width:360px){.nav-event{display:none}}
.nav-back{font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(201,169,110,0.45);text-decoration:none;border:1px solid rgba(201,169,110,0.16);padding:0.32rem 0.72rem;transition:all 0.25s;flex-shrink:0;}
.nav-back:hover{color:var(--gold);border-color:rgba(201,169,110,0.4)}
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 1.25rem 3rem;text-align:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#2e2008 0%,#1a1410 60%);}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='25' cy='25' r='1' fill='%23c9a96e' fill-opacity='0.025'/%3E%3C/svg%3E")}
.orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.orb1{width:400px;height:400px;background:rgba(201,169,110,0.06);top:-80px;left:-80px}
.orb2{width:300px;height:300px;background:rgba(201,169,110,0.04);bottom:-60px;right:-60px}
.hero-inner{position:relative;z-index:1;width:100%;max-width:500px;margin:0 auto}
.eyebrow{font-size:0.58rem;letter-spacing:0.42em;text-transform:uppercase;color:var(--gold);margin-bottom:0.9rem;display:flex;align-items:center;gap:0.9rem;justify-content:center;opacity:0;animation:up 0.8s ease 0.1s forwards;}
.eyebrow::before,.eyebrow::after{content:'';width:20px;height:1px;background:var(--gold);opacity:0.4}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,7vw,3.8rem);font-weight:400;line-height:1.05;color:var(--gold-pale);margin-bottom:0.5rem;opacity:0;animation:up 0.9s ease 0.2s forwards;}
.hero-h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:0.86rem;font-weight:300;color:var(--muted);line-height:1.8;margin-bottom:1.8rem;opacity:0;animation:up 0.9s ease 0.3s forwards;}

/* SUCCESS BANNER */
.success-banner{background:rgba(201,169,110,0.15);border:1px solid rgba(201,169,110,0.35);padding:1rem 1.5rem;margin-bottom:1rem;text-align:center;font-size:0.88rem;color:var(--gold-pale);opacity:0;animation:up 0.5s ease 0s forwards;}
.error-banner{background:rgba(200,50,50,0.1);border:1px solid rgba(200,50,50,0.3);padding:1rem 1.5rem;margin-bottom:1rem;text-align:center;font-size:0.85rem;color:rgba(255,180,180,0.85);}

/* UPLOAD ZONE */
#imgInput{display:none}
.upload-form{width:100%}
.upload-zone{width:100%;cursor:pointer;border:1.5px dashed rgba(201,169,110,0.35);background:rgba(201,169,110,0.04);padding:2.2rem 1.5rem 1.8rem;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;transition:all 0.35s;position:relative;overflow:hidden;margin-bottom:1px;opacity:0;animation:up 0.9s ease 0.35s forwards;}
.upload-zone::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(201,169,110,0.07) 0%,transparent 70%);opacity:0;transition:opacity 0.35s;}
.upload-zone:hover{border-color:rgba(201,169,110,0.65);background:rgba(201,169,110,0.08)}
.upload-zone:hover::before{opacity:1}
.upload-zone.drag-active{border-color:var(--gold);background:rgba(201,169,110,0.12);transform:scale(1.01)}
.uz-icon-wrap{position:relative;width:80px;height:80px;margin-bottom:1.1rem;}
.uz-ring{width:80px;height:80px;border-radius:50%;border:1.5px solid rgba(201,169,110,0.25);background:rgba(201,169,110,0.06);display:flex;align-items:center;justify-content:center;font-size:2rem;transition:all 0.35s;position:relative;z-index:1;}
.upload-zone:hover .uz-ring{border-color:rgba(201,169,110,0.55);background:rgba(201,169,110,0.12);transform:scale(1.08);}
.uz-pulse{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(201,169,110,0.2);animation:uzpulse 2.2s ease infinite;}
.uz-pulse2{animation-delay:1.1s}
@keyframes uzpulse{0%{transform:scale(1);opacity:0.6}100%{transform:scale(1.55);opacity:0}}
.uz-arrow{font-size:1.1rem;animation:uzarrow 1.6s ease infinite;color:var(--gold);margin-bottom:0.4rem;display:block;}
@keyframes uzarrow{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.uz-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:400;color:var(--gold-pale);margin-bottom:0.3rem;transition:color 0.3s;}
.upload-zone:hover .uz-title{color:var(--gold)}
.uz-sub{font-size:0.78rem;font-weight:300;color:rgba(201,169,110,0.45);margin-bottom:0.9rem;line-height:1.6;}
.uz-sub strong{color:rgba(201,169,110,0.75);font-weight:400}
.uz-tap{display:inline-flex;align-items:center;gap:0.5rem;background:var(--gold);color:var(--dark);padding:0.55rem 1.4rem;font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:500;transition:background 0.25s,transform 0.2s;margin-bottom:0.75rem;}
.upload-zone:hover .uz-tap{background:var(--gold2);transform:translateY(-1px)}
.uz-types{display:flex;gap:0.4rem;justify-content:center;flex-wrap:wrap}
.uz-type{font-size:0.55rem;letter-spacing:0.15em;text-transform:uppercase;border:1px solid rgba(201,169,110,0.15);color:rgba(201,169,110,0.35);padding:0.18rem 0.55rem;}
#imgStrip{width:100%;display:flex;gap:5px;flex-wrap:wrap;padding:0.6rem 0 0.2rem;}
#imgStrip:empty{display:none}
.ithumb{width:68px;height:68px;position:relative;overflow:hidden;border:1px solid rgba(201,169,110,0.15);flex-shrink:0;}
.ithumb img{width:100%;height:100%;object-fit:cover;display:block}
.ithumb-del{position:absolute;top:2px;right:2px;width:16px;height:16px;background:rgba(0,0,0,0.75);border:none;color:rgba(255,255,255,0.8);font-size:0.55rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.upload-zone.has-files{padding:1rem 1.5rem;border-style:solid;border-color:rgba(201,169,110,0.3);background:rgba(201,169,110,0.06);}
.inputs{width:100%;border:1px solid rgba(201,169,110,0.15);opacity:0;animation:up 0.9s ease 0.4s forwards;}
.irow{display:flex;align-items:center;border-bottom:1px solid rgba(201,169,110,0.1);background:rgba(201,169,110,0.03);transition:background 0.25s}
.irow:last-child{border-bottom:none}
.irow:focus-within{background:rgba(201,169,110,0.07)}
.irow-ic{width:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:0.95rem;opacity:0.4;border-right:1px solid rgba(201,169,110,0.08);align-self:stretch}
.irow input,.irow textarea{flex:1;background:transparent;border:none;outline:none;font-family:'Jost',sans-serif;font-size:0.86rem;font-weight:300;color:var(--white);padding:0.9rem 0.85rem;resize:none;}
.irow input::placeholder,.irow textarea::placeholder{color:rgba(201,169,110,0.28)}
.irow textarea{min-height:76px;line-height:1.6}
.share-btns{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(201,169,110,0.12);border-top:none;opacity:0;animation:up 0.9s ease 0.5s forwards;}
.sbtn{padding:0.88rem 0.5rem;text-align:center;cursor:pointer;border-right:1px solid rgba(201,169,110,0.08);transition:background 0.25s;text-decoration:none;background:rgba(201,169,110,0.03);display:flex;flex-direction:column;align-items:center;gap:0.28rem;border-top:none;border-bottom:none;font-family:inherit;}
.sbtn:last-child{border-right:none}
.sbtn:hover{background:rgba(201,169,110,0.1)}
.sbtn-ic{font-size:1.2rem}
.sbtn-lb{font-size:0.56rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(201,169,110,0.42)}
.sbtn:hover .sbtn-lb{color:var(--gold)}
.btn-sub{width:100%;padding:1rem;margin-top:1px;background:var(--gold);color:var(--dark);border:none;font-family:'Jost',sans-serif;font-size:0.78rem;letter-spacing:0.24em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background 0.3s,transform 0.15s;display:flex;align-items:center;justify-content:center;gap:0.55rem;opacity:0;animation:up 0.9s ease 0.6s forwards;position:relative;overflow:hidden;}
.btn-sub::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);transition:left 0.5s}
.btn-sub:hover::after{left:100%}
.btn-sub:hover{background:var(--gold2)}
.btn-sub:active{transform:scale(0.99)}
.btn-sub:disabled{opacity:0.6;cursor:not-allowed}
.fab{position:fixed;bottom:1.4rem;right:1.4rem;z-index:150;width:54px;height:54px;border-radius:50%;background:var(--gold);border:none;display:flex;align-items:center;justify-content:center;font-size:1.35rem;cursor:pointer;box-shadow:0 6px 22px rgba(201,169,110,0.35);transition:all 0.3s;opacity:0;animation:up 1s ease 1s forwards;}
.fab:hover{background:var(--gold2);transform:scale(1.08)}
.divider{display:flex;align-items:center;gap:1.1rem;max-width:500px;margin:2.2rem auto;padding:0 1.25rem}
.dl{flex:1;height:1px;background:rgba(201,169,110,0.1)}
.dt{font-size:0.56rem;letter-spacing:0.35em;text-transform:uppercase;color:rgba(201,169,110,0.26);white-space:nowrap}
.wall{padding:0 1.25rem 5rem;position:relative;z-index:1}
.wall-head{max-width:500px;margin:0 auto 1.4rem;display:flex;align-items:flex-end;justify-content:space-between}
.wall-ttl{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:400;color:var(--gold-pale)}
.wall-ttl em{font-style:italic;color:var(--gold)}
.wall-cnt{font-size:0.64rem;color:rgba(201,169,110,0.32);letter-spacing:0.08em;padding-bottom:0.15rem}
.masonry{max-width:500px;margin:0 auto;columns:2;column-gap:5px}
.pc{break-inside:avoid;margin-bottom:5px;background:var(--dark2);position:relative;overflow:hidden;cursor:pointer;transition:transform 0.3s}
.pc:hover{transform:scale(1.02);z-index:2}
.pc-img{width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--dark2),var(--dark3));position:relative;}
.pc:nth-child(4n+1) .pc-img{aspect-ratio:4/5}
.pc:nth-child(4n+2) .pc-img{aspect-ratio:1/1}
.pc:nth-child(4n+3) .pc-img{aspect-ratio:3/4}
.pc:nth-child(4n) .pc-img{aspect-ratio:1/1}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block}
.pc-em{font-size:2.4rem;opacity:0.14;transition:opacity 0.3s}
.pc:hover .pc-em{opacity:0.22}
.pc-gr{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,20,16,0.9) 0%,transparent 55%);opacity:0;transition:opacity 0.3s}
.pc:hover .pc-gr{opacity:1}
.pc-inf{position:absolute;bottom:0;left:0;right:0;padding:0.7rem 0.8rem;opacity:0;transition:opacity 0.3s,transform 0.3s;transform:translateY(3px)}
.pc:hover .pc-inf{opacity:1;transform:translateY(0)}
.pc-who{font-size:0.56rem;letter-spacing:0.1em;color:rgba(201,169,110,0.52);margin-bottom:0.12rem}
.pc-cap{font-family:'Cormorant Garamond',serif;font-size:0.8rem;font-style:italic;color:rgba(240,228,202,0.85);line-height:1.2}
#viewer{position:fixed;inset:0;z-index:400;background:rgba(10,7,4,0.97);display:none;align-items:center;justify-content:center;flex-direction:column;padding:1rem}
#viewer.open{display:flex}
.vc{position:absolute;top:1rem;right:1rem;background:none;border:1px solid rgba(201,169,110,0.18);color:rgba(201,169,110,0.45);width:36px;height:36px;font-size:0.95rem;cursor:pointer;transition:all 0.2s}
.vc:hover{border-color:var(--gold);color:var(--gold)}
.vw{max-width:min(340px,88vw);width:100%;position:relative}
.vi{width:100%;aspect-ratio:4/5;background:linear-gradient(150deg,var(--dark2),var(--dark3));display:flex;align-items:center;justify-content:center;font-size:4rem;opacity:0.25;overflow:hidden}
.vi img{width:100%;height:100%;object-fit:cover;opacity:1}
.vn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(26,20,16,0.7);border:1px solid rgba(201,169,110,0.14);color:rgba(201,169,110,0.45);width:36px;height:36px;font-size:0.9rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center}
.vn:hover{border-color:var(--gold);color:var(--gold)}
.vp{left:-48px}.vnx{right:-48px}
@media(max-width:480px){.vp{left:-4px}.vnx{right:-4px}}
.vm{margin-top:0.9rem;text-align:center}
.vm-cap{font-family:'Playfair Display',serif;font-size:0.95rem;font-style:italic;color:rgba(240,228,202,0.65)}
/* IG MODAL */
#igm{position:fixed;inset:0;z-index:500;background:rgba(6,4,2,0.97);display:none;align-items:flex-start;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0.75rem}
#igm.open{display:flex}
.igm-box{max-width:340px;width:100%;margin:auto;display:flex;flex-direction:column;gap:0.85rem;padding:0.5rem 0 4rem}
.igm-hd{display:flex;align-items:center;justify-content:space-between}
.igm-ttl{font-family:'Playfair Display',serif;font-size:1.05rem;font-style:italic;color:var(--gold-pale)}
.igm-cl{background:none;border:1px solid rgba(201,169,110,0.18);color:rgba(201,169,110,0.4);width:32px;height:32px;font-size:0.9rem;cursor:pointer;transition:all 0.2s;flex-shrink:0}
.igm-cl:hover{border-color:var(--gold);color:var(--gold)}
.sp{width:100%;aspect-ratio:9/16;position:relative;overflow:hidden;border:1px solid rgba(201,169,110,0.15);box-shadow:0 16px 50px rgba(0,0,0,0.6)}
.sp-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 22%,#3a2808 0%,#1a1208 45%,#0c0a06 100%)}
.sp-body{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.2rem;text-align:center}
.s-ey{font-size:0.36rem;letter-spacing:0.38em;text-transform:uppercase;color:rgba(201,169,110,0.45);margin-bottom:0.65rem;display:flex;align-items:center;gap:0.4rem}
.s-ey::before,.s-ey::after{content:'';width:10px;height:1px;background:rgba(201,169,110,0.28)}
.s-mn{font-family:'Playfair Display',serif;font-size:3.2rem;font-style:italic;color:var(--gold);line-height:1}
.s-nm{font-family:'Cormorant Garamond',serif;font-size:0.8rem;letter-spacing:0.12em;color:var(--gold-pale);margin:0.42rem 0 0.75rem}
.s-ln{width:44px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,110,0.5),transparent);margin:0 auto 0.75rem}
.s-tg{font-family:'Playfair Display',serif;font-size:0.48rem;font-style:italic;color:rgba(240,228,202,0.34);max-width:130px;line-height:1.6;margin-bottom:1rem}
.s-dr{display:flex;align-items:center;gap:0.45rem}
.s-di{text-align:center}
.s-dn{font-family:'Playfair Display',serif;font-size:0.85rem;color:var(--gold);line-height:1}
.s-dl{font-size:0.26rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(201,169,110,0.34);margin-top:0.1rem}
.s-sp{width:1px;height:16px;background:rgba(201,169,110,0.16)}
.sp-ft{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(6,4,2,0.94),transparent);padding:0.6rem;display:flex;align-items:center;justify-content:center;gap:0.35rem}
.s-br{font-family:'Cormorant Garamond',serif;font-size:0.44rem;letter-spacing:0.26em;text-transform:uppercase;color:rgba(201,169,110,0.52)}
.s-d2{width:2px;height:2px;border-radius:50%;background:rgba(201,169,110,0.28)}
.s-hd{font-size:0.4rem;letter-spacing:0.1em;color:rgba(201,169,110,0.4)}
.ig-opts{display:flex;flex-direction:column;gap:0.5rem}
.btn-dl{width:100%;padding:0.88rem;background:var(--gold);color:var(--dark);border:none;font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background 0.25s;display:flex;align-items:center;justify-content:center;gap:0.5rem}
.btn-dl:hover{background:var(--gold2)}
.btn-share-native{width:100%;padding:0.88rem;background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff;border:none;font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:opacity 0.25s;display:flex;align-items:center;justify-content:center;gap:0.5rem}
.btn-share-native:hover{opacity:0.88}
.ig-note{font-size:0.6rem;color:rgba(201,169,110,0.26);text-align:center;line-height:1.7}
.ig-stps{border:1px solid rgba(201,169,110,0.09)}
.ig-stp{padding:0.7rem 0.85rem;display:flex;gap:0.7rem;border-bottom:1px solid rgba(201,169,110,0.06)}
.ig-stp:last-child{border-bottom:none}
.ig-sn{width:19px;height:19px;border-radius:50%;background:rgba(201,169,110,0.07);border:1px solid rgba(201,169,110,0.16);display:flex;align-items:center;justify-content:center;font-size:0.52rem;color:var(--gold);flex-shrink:0;font-weight:500}
.ig-st{font-size:0.68rem;color:rgba(240,228,202,0.38);line-height:1.55}
.ig-st strong{color:rgba(240,228,202,0.68);font-weight:500}
.toast{position:fixed;bottom:4.5rem;left:50%;transform:translateX(-50%);background:var(--dark2);border:1px solid rgba(201,169,110,0.18);padding:0.65rem 1.4rem;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);z-index:600;opacity:0;transition:opacity 0.3s;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1}
footer{padding:2.5rem 1.25rem 2rem;text-align:center;border-top:1px solid rgba(201,169,110,0.06);position:relative;z-index:1}
.ft-br{font-family:'Cormorant Garamond',serif;font-size:0.88rem;letter-spacing:0.18em;color:rgba(201,169,110,0.26);margin-bottom:0.55rem}
.ft-lk{display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap;margin-bottom:0.4rem}
.ft-lk a{font-size:0.66rem;color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:0.38rem;opacity:0.62;transition:opacity 0.2s}
.ft-lk a:hover{opacity:1}
.ft-cp{font-size:0.56rem;color:rgba(240,228,202,0.1);letter-spacing:0.08em}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:0.5}}