:root{--navy:#06112b;--navy2:#0a2042;--purple:#24113e;--wine:#3a1231;--gold:#d6ac55;--gold2:#f2d68a;--cream:#fff7e8;--muted:#c9cede;--line:rgba(214,172,85,.42);--glass:rgba(4,12,34,.72) }*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--navy)}body{margin:0;color:var(--cream);font-family:Montserrat,sans-serif;background:var(--navy);padding-bottom:82px;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.stars-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}main,.header,footer,.audio-player,.admin-shell{position:relative;z-index:1}.welcome-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;text-align:center;padding:22px;background:radial-gradient(circle,#261143e6,#03081afa)}.welcome-content img{width:170px;height:170px;border-radius:50%;object-fit:cover;box-shadow:0 0 55px #d6ac5538}.welcome-content h1,.hero h1,footer h2{font:400 clamp(4rem,12vw,8rem) Allura,cursive;color:var(--gold2);line-height:.8;margin:20px 0}.welcome-content h1 span,.hero h1 span,footer h2 span{font-family:Cormorant Garamond,serif;font-size:.55em}.welcome-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.header{position:fixed;top:0;left:0;right:0;z-index:30;height:78px;display:flex;align-items:center;gap:22px;padding:8px 4vw;background:linear-gradient(180deg,rgba(3,8,27,.96),rgba(3,8,27,.65),transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo-link img{width:62px;height:62px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}nav{display:flex;flex:1;justify-content:center;gap:24px}nav a{text-decoration:none;text-transform:uppercase;font-size:.64rem;letter-spacing:.12em}nav a:hover{color:var(--gold2)}.mobile-menu{display:none}.song-button,.mobile-menu{display:flex;align-items:center;gap:8px;background:#040a1fad;border:1px solid var(--gold);color:var(--gold2);padding:11px 15px;border-radius:3px}.section{position:relative;padding:115px 6vw;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-family:Cormorant Garamond,serif;font-size:.78rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 26px;border-radius:3px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}.button.gold{background:var(--gold);border:1px solid var(--gold);color:#10162f;font-weight:600}.button.outline{background:#00000026;border:1px solid var(--gold);color:var(--gold2)}.hero{min-height:100svh;display:grid;place-items:center;text-align:center;background:linear-gradient(#02081947,#020819b8),url(/assets/fondo-luna.jpeg) center/cover fixed}.hero-inner{max-width:980px;margin-top:65px}.hero .marry{text-transform:uppercase;letter-spacing:.35em;font-family:Cormorant Garamond,serif;font-size:1.15rem}.date{font-family:Cormorant Garamond,serif;color:var(--gold2);letter-spacing:.24em;font-size:1.35rem}.countdown{display:grid;grid-template-columns:repeat(4,130px);justify-content:center;gap:14px;margin-top:28px}.countdown div{padding:16px 8px;background:#03091e94;border:1px solid var(--gold)}.countdown strong{display:block;font:500 2.8rem Cormorant Garamond,serif}.countdown span{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold2)}.scroll-down{display:inline-block;text-decoration:none;font-size:3rem;margin-top:14px;animation:bounce 1.8s infinite}@keyframes bounce{50%{transform:translateY(8px)}}.shooting{position:absolute;width:190px;height:1px;background:linear-gradient(90deg,transparent,#fff4c2,transparent);opacity:0;transform:rotate(-27deg);animation:shoot 8s infinite}.shooting-1{top:24%;left:-18%}.shooting-2{top:52%;left:-24%;animation-delay:4s}@keyframes shoot{0%,82%{opacity:0;transform:translate(0) rotate(-27deg)}86%{opacity:1}to{opacity:0;transform:translate(145vw) rotate(-27deg)}}.story-section{background:linear-gradient(#190c37d6,#190c37d6),url(/assets/logo-boda.jpeg) center/cover fixed;border-top:1px solid var(--gold)}.two-column{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.35fr;gap:60px;align-items:center}.story-copy h2,.section-heading h2,.event-info h2,.honeymoon-card h2{font:500 clamp(2.8rem,6vw,5rem) "Cormorant Garamond",serif;margin:10px 0 20px}.story-copy p{line-height:1.9;color:var(--muted)}.photo-collage{display:flex;justify-content:center;align-items:center;gap:10px}.polaroid{margin:0;width:210px;background:#f5efe3;padding:10px 10px 18px;color:#332b25;box-shadow:0 22px 45px #00000073}.polaroid img{width:100%;height:275px;object-fit:cover}.polaroid figcaption{text-align:center;font:1.2rem Allura,cursive;margin-top:9px}.rotate-left{transform:rotate(-7deg)}.rotate-right{transform:rotate(7deg)}.event-section{background:linear-gradient(#031937c7,#031937e0),url(/assets/fondo-luna.jpeg) center/cover fixed;border-top:1px solid var(--gold)}.event-layout{width:min(1250px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.event-details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.event-details article{text-align:center;padding:18px;border-right:1px solid var(--line)}.event-details article:last-child{border:0}.event-details svg{color:var(--gold);width:30px;height:30px}.event-details h3{font:500 1.5rem Cormorant Garamond,serif;color:var(--gold2)}.event-details p{line-height:1.7;color:var(--muted)}.venue-photo{overflow:hidden;border-radius:48% 0 0 48%;border-left:1px solid var(--gold)}.venue-photo img{width:100%;height:480px;object-fit:cover;display:block}.menu-section{background:linear-gradient(#340c2ce6,#100d30f0),url(/assets/logo-boda.jpeg) center/cover fixed;border-top:1px solid var(--gold)}.section-heading{text-align:center;max-width:820px;margin:0 auto 48px}.section-heading>p{color:var(--muted)}.menu-columns{width:min(1420px,100%);margin:auto;display:grid;grid-template-columns:repeat(5,1fr)}.menu-block{padding:25px;border-right:1px solid var(--line)}.menu-block:last-child{border:0}.menu-block h3{font:500 1.8rem Cormorant Garamond,serif;color:var(--gold2);text-align:center}.menu-block h4{color:var(--gold2);margin:18px 0 5px;font-size:.83rem;text-transform:uppercase;letter-spacing:.05em}.menu-block p{color:var(--muted);line-height:1.65;font-size:.88rem}.menu-icon{display:block;text-align:center;color:var(--gold);font-size:1.8rem}.main-course{background:#0000001f}.honeymoon-section{min-height:600px;display:grid;place-items:center;background:linear-gradient(90deg,#031330f0,#031330b3 48%,#03133033),url(/assets/fondo-luna.jpeg) center/cover fixed;border-top:1px solid var(--gold)}.honeymoon-card{width:min(760px,100%);margin-right:auto;padding:40px;background:#040c23c2;border:1px solid var(--line)}.honeymoon-card p{line-height:1.9;color:var(--muted)}.gold-icon{color:var(--gold)}.alias-box{margin:24px 0;padding:20px;border:1px solid var(--line);background:#0000002e}.alias-box span,.alias-box strong{display:block}.alias-box span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.alias-box strong{font:600 2rem Cormorant Garamond,serif;color:var(--gold2);margin:7px 0}.alias-box button,.bank-data button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--gold2);padding:0}.honeymoon-form{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px}.rsvp-section{background:linear-gradient(#090d2ded,#090d2df2),url(/assets/logo-boda.jpeg) center/cover fixed;border-top:1px solid var(--gold)}.rsvp-form{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:32px;border:1px solid var(--line);background:#03081fb8}label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}input,select,textarea{width:100%;margin-top:9px;padding:14px;border:1px solid rgba(214,172,85,.52);background:#0000002e;color:#fff;outline:none}select option{background:#111633}.full{grid-column:1/-1}.total-box{padding:22px;text-align:center;border:1px solid var(--gold);background:#d6ac551a}.total-box span,.total-box strong,.total-box small{display:block}.total-box span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted)}.total-box strong{font:600 2.8rem Cormorant Garamond,serif;color:var(--gold2);margin:5px 0}.total-box small{color:#b9c0d2}.status-box{margin-top:20px;padding:18px;border-left:3px solid var(--gold);background:#d6ac5517;color:var(--gold2)}.status-box.error{border-color:#e58e8e;color:#ffd0d0}.rsvp-status{width:min(1120px,100%);margin:22px auto}.payment-panel{width:min(1180px,100%);margin:40px auto 0;padding:34px;border:1px solid var(--line);background:#03081fc7}.compact-heading{margin-bottom:28px}.confirmed-total{display:inline-block;padding:14px 24px;border:1px solid var(--line);background:#0000002b;font-size:1.05rem}.confirmed-total strong{color:var(--gold2);font-size:1.35rem}.payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.payment-card{padding:28px;border:1px solid var(--line);background:#09102fbd;display:flex;flex-direction:column}.payment-card h3{font:500 2rem Cormorant Garamond,serif;color:var(--gold2);text-align:center;margin:10px 0}.payment-card p{color:var(--muted);line-height:1.7;text-align:center}.payment-icon-svg{display:block;margin:0 auto;color:var(--gold);width:38px;height:38px}.payment-card .button{width:100%;margin-top:auto}.bank-data{display:grid;gap:7px;margin:12px 0 20px;padding:18px;background:#0000002b;border:1px solid rgba(214,172,85,.22)}.bank-data span{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:#aeb6ca}.bank-data strong{color:var(--cream)}.receipt-upload{display:block;margin-bottom:15px}.cash-check{display:flex;align-items:center;gap:10px;margin:20px 0;padding:16px;border:1px solid rgba(214,172,85,.3);background:#00000024}.cash-check input{width:auto;margin:0}.cash-check span{text-transform:none;letter-spacing:0}.final-info{padding:55px 6vw;background:#071631;border-top:1px solid var(--gold)}.final-grid{width:min(1000px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.final-grid>div{padding:16px;border-right:1px solid var(--line)}.final-grid>div:last-child{border:0}.final-grid svg{color:var(--gold);width:30px;height:30px}.final-grid h3{font:500 1.5rem Cormorant Garamond,serif;margin:8px 0;color:var(--gold2)}.final-grid p{color:var(--muted)}footer{text-align:center;padding:45px 20px;background:#040b22;border-top:1px solid var(--gold)}footer h2{font-size:4rem;margin:0}footer p{color:var(--muted)}.audio-player{position:fixed;left:0;right:0;bottom:0;z-index:40;height:82px;display:flex;align-items:center;gap:13px;padding:9px 3vw;background:#070826f7;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.audio-player img{width:52px;height:52px;object-fit:cover;border-radius:4px}.track{min-width:180px}.track strong,.track span{display:block}.track span{font-size:.74rem;color:#b8bed0;margin-top:4px}.audio-player button{display:grid;place-items:center;border:0;background:transparent;color:#fff}.audio-player .play{width:46px;height:46px;border-radius:50%;background:var(--gold);color:#17192f}.audio-player input[type=range]{accent-color:var(--gold)}.audio-progress{flex:1}.audio-volume{width:95px}.admin-shell{min-height:100vh;padding:40px clamp(18px,4vw,60px);background:linear-gradient(#050b22f5,#050b22f5),url(/assets/fondo-luna.jpeg) center/cover fixed}.admin-shell.centered{display:grid;place-items:center}.admin-login-card{width:min(430px,100%);padding:35px;border:1px solid var(--line);background:#050c24e6;display:grid;gap:16px}.admin-login-card img{width:110px;height:110px;object-fit:cover;border-radius:50%;margin:auto}.admin-login-card h1{text-align:center;font:500 2.5rem Cormorant Garamond,serif;margin:0}.admin-login-card p{text-align:center;color:var(--muted);margin-top:-10px}.admin-header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.admin-header h1{font:500 clamp(2.5rem,5vw,4.5rem) "Cormorant Garamond",serif;margin:5px 0}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:35px}.stats-grid article{padding:20px;border:1px solid var(--line);background:#081130d1}.stats-grid span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.stats-grid strong{display:block;margin-top:8px;color:var(--gold2);font:600 1.7rem Cormorant Garamond,serif}.admin-section{margin-top:30px}.admin-section h2{font:500 2rem Cormorant Garamond,serif;color:var(--gold2)}.admin-table-wrap{overflow:auto;border:1px solid var(--line)}.admin-table{width:100%;border-collapse:collapse;min-width:1050px;background:#050c24e6}.admin-table th,.admin-table td{padding:13px;border-bottom:1px solid rgba(214,172,85,.15);text-align:left;vertical-align:top}.admin-table th{color:var(--gold2);font-size:.74rem;text-transform:uppercase}.admin-table small{color:var(--muted)}.admin-table select{min-width:170px}.tiny-button{border:1px solid var(--gold);background:transparent;color:var(--gold2);padding:7px 12px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;padding:25px;background:#070d29}nav.open{display:flex}.mobile-menu{display:flex}.song-button{margin-left:auto}.two-column,.event-layout{grid-template-columns:1fr}.menu-columns{grid-template-columns:repeat(2,1fr)}.menu-block{border:1px solid var(--line)}.venue-photo{border-radius:25px}.rsvp-form{grid-template-columns:repeat(2,1fr)}.payment-grid{grid-template-columns:1fr}}@media(max-width:680px){.section{padding:100px 20px}.song-button span{display:none}.hero h1{font-size:4.7rem}.countdown{grid-template-columns:repeat(2,1fr)}.photo-collage{overflow-x:auto;justify-content:flex-start;padding:20px}.polaroid{min-width:175px}.polaroid img{height:230px}.event-details,.menu-columns,.rsvp-form,.final-grid,.honeymoon-form{grid-template-columns:1fr}.event-details article,.final-grid>div{border-right:0;border-bottom:1px solid var(--line)}.full{grid-column:auto}.track,.audio-volume{display:none}.audio-player img{width:42px;height:42px}.stats-grid{grid-template-columns:1fr 1fr}.admin-header{align-items:flex-start;flex-direction:column}}
