:root{--primary:#a786ff;--accent:#e3d9ef;--surface:#171020;--text:#fbf8ff;--overlay:.38;--bg:none}*{box-sizing:border-box}html{background:var(--surface);scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Montserrat,Arial,sans-serif;background:var(--surface)}.gate{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(#0d0714aa,#0d0714dd),var(--bg),radial-gradient(circle at 50% 20%,#4a2366,#0d0714 60%);background-size:cover;background-position:center;transition:opacity .8s,visibility .8s}.gate.gone{opacity:0;visibility:hidden}.gate-glow{position:absolute;width:260px;height:260px;border-radius:50%;background:var(--primary);filter:blur(95px);opacity:.25}.monogram{position:relative;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);font-family:"Cormorant Garamond",serif;font-size:54px;margin-bottom:28px;box-shadow:0 0 0 10px #ffffff06,0 20px 80px #0008}.gate p,.eyebrow,.section-kicker{font-size:9px;letter-spacing:.28em;font-weight:700;color:var(--accent)}.gate h1{font-family:"Cormorant Garamond",serif;font-size:clamp(58px,16vw,86px);font-weight:500;line-height:.85;margin:12px 0}.gate>span{font-family:"Cormorant Garamond",serif;font-size:25px;font-style:italic;color:#eee4f2}.gate button{margin-top:38px;padding:16px 24px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:#ffffff0c;color:#fff;letter-spacing:.16em;font-size:10px;font-weight:700;box-shadow:0 20px 80px #0007;backdrop-filter:blur(15px)}.invite{min-height:100vh;background:linear-gradient(rgba(5,3,8,var(--overlay)),rgba(5,3,8,calc(var(--overlay) + .18))),var(--bg),radial-gradient(circle at top,#3e2055,var(--surface) 45%);background-size:auto,cover,auto;background-position:center;background-attachment:fixed;padding:24px 14px 70px;overflow:hidden;position:relative}.invite:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,#ffffff06 1px,transparent 1px),linear-gradient(#ffffff04 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#0008,transparent 55%);pointer-events:none}.ambient i{position:fixed;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px 4px var(--primary);animation:float 7s infinite ease-in-out;opacity:.6}.ambient i:nth-child(1){left:12%;top:22%}.ambient i:nth-child(2){right:9%;top:42%;animation-delay:-2s}.ambient i:nth-child(3){left:18%;bottom:14%;animation-delay:-4s}@keyframes float{50%{transform:translateY(-28px) scale(1.8);opacity:.25}}.invite>section,.invite>footer{width:min(620px,100%);margin-left:auto;margin-right:auto;position:relative}.hero-card{text-align:center;padding:54px 18px 24px}.hero-card h1{font-family:"Cormorant Garamond",serif;font-size:clamp(62px,17vw,92px);font-weight:500;line-height:.82;margin:14px 0 4px;text-shadow:0 12px 35px #000}.subtitle{font-family:"Cormorant Garamond",serif;font-size:26px;letter-spacing:.1em;margin:10px 0 30px;color:var(--accent)}.hero-card figure{width:min(355px,88vw);height:480px;margin:0 auto;position:relative;padding:7px;border-radius:180px 180px 38px 38px;background:linear-gradient(135deg,var(--accent),#ffffff22,var(--primary));box-shadow:0 35px 90px #0008,0 0 55px color-mix(in srgb,var(--primary) 30%,transparent)}.hero-card figure:after{content:"";position:absolute;inset:15px;border:1px solid #ffffff2c;border-radius:165px 165px 30px 30px;pointer-events:none}.hero-card figure img{width:100%;height:100%;object-fit:cover;border-radius:173px 173px 32px 32px;background:var(--surface)}.hero-card blockquote{font-family:"Cormorant Garamond",serif;font-size:25px;font-style:italic;line-height:1.35;margin:34px auto 0;max-width:470px;color:#f5edf7}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px;margin-bottom:18px}.countdown div{border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);background:#ffffff0d;backdrop-filter:blur(18px);border-radius:18px;padding:17px 4px;text-align:center;box-shadow:inset 0 1px #ffffff12}.countdown b{display:block;font-family:"Cormorant Garamond",serif;font-size:39px;font-weight:500;color:var(--accent);line-height:1}.countdown span{font-size:8px;letter-spacing:.16em;color:#cfc5d4}.glass{border:1px solid #ffffff19;background:linear-gradient(145deg,#ffffff12,#ffffff07);backdrop-filter:blur(20px);border-radius:25px;box-shadow:0 30px 75px #0005}.details{padding:8px 18px;margin-bottom:18px}.details div{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:18px 2px;border-bottom:1px solid #ffffff11;align-items:center}.details div:last-child{border:0}.details small{font-size:9px;letter-spacing:.17em;color:var(--primary);font-weight:700}.details strong{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:600}.section{padding:54px 10px;text-align:center}.section h2,.centered h2,.modal h2{font-family:"Cormorant Garamond",serif;font-size:38px;font-weight:500;margin:8px 0 24px}.timeline{display:grid;gap:0;text-align:left}.timeline div{display:grid;grid-template-columns:110px 22px 1fr;gap:10px;align-items:center;min-height:72px}.timeline time{font-size:11px;font-weight:700;color:var(--accent);text-align:right}.timeline span{height:100%;position:relative}.timeline span:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:#ffffff21}.timeline span:after{content:"";position:absolute;left:6px;top:31px;width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 16px var(--primary)}.timeline p{font-family:"Cormorant Garamond",serif;font-size:22px}.centered{text-align:center;padding:34px 24px;margin-top:18px}.centered p:last-child{line-height:1.7;color:#ded5e2}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:24px 0}.actions a,.actions button{min-height:56px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:16px;background:#ffffff0c;color:#fff;text-decoration:none;display:grid;place-items:center;text-align:center;font-size:10px;letter-spacing:.1em;font-weight:700;backdrop-filter:blur(18px)}footer{text-align:center;padding:45px 20px 10px;display:grid;gap:8px}footer span{font-size:25px}footer b{font-size:10px;letter-spacing:.19em;color:var(--accent)}footer small{font-family:"Cormorant Garamond",serif;font-size:16px;color:#c9becd}.music{position:fixed;right:18px;bottom:18px;z-index:8;width:58px;height:58px;border-radius:50%;border:1px solid var(--accent);background:#100a17d9;color:var(--accent);font-size:22px;box-shadow:0 12px 45px #0008;backdrop-filter:blur(15px)}.music.playing{animation:spin 5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal{position:fixed;inset:0;background:#060409d9;z-index:30;display:none;place-items:end center;padding:14px}.modal.show{display:grid}.modal form{width:min(520px,100%);max-height:92vh;overflow:auto;background:#171020;border:1px solid #ffffff20;border-radius:26px;padding:28px 20px;position:relative;box-shadow:0 30px 100px #000}.modal .close{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff1a;background:#ffffff0a;color:#fff;font-size:24px}.modal label{display:grid;gap:7px;font-size:11px;font-weight:700;margin-top:13px}.modal input,.modal select,.modal textarea{width:100%;border:1px solid #ffffff18;border-radius:13px;background:#0c0811;color:#fff;padding:13px;font:inherit}.modal button[type=submit]{width:100%;margin-top:18px;border:0;border-radius:14px;padding:15px;background:linear-gradient(135deg,var(--accent),var(--primary));color:#130b18;font-weight:800}.trap{position:absolute!important;left:-9999px!important}#formStatus{text-align:center;margin-top:12px;font-size:12px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.hero-card.reveal{opacity:1;transform:none}@media(min-width:700px){.invite{padding-top:45px}.hero-card{padding-top:70px}.modal{place-items:center}.actions{grid-template-columns:repeat(4,1fr)}}@media(max-width:380px){.hero-card figure{height:420px}.countdown b{font-size:31px}.actions{grid-template-columns:1fr}.timeline div{grid-template-columns:90px 22px 1fr}}

/* ===== Galería Premium ===== */
.gallery-section{padding-left:0;padding-right:0;overflow:visible}.gallery-section>p,.gallery-section>h2{padding-left:14px;padding-right:14px}.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,350px);gap:13px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:6px max(14px,calc((100vw - 620px)/2 + 14px)) 18px;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-card{position:relative;display:block;aspect-ratio:4/5;border-radius:26px;overflow:hidden;scroll-snap-align:center;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);background:#ffffff09;box-shadow:0 28px 70px #0007;text-decoration:none}.gallery-card:before{content:"";position:absolute;inset:9px;z-index:2;border:1px solid rgba(255,255,255,.17);border-radius:19px;pointer-events:none}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,3,8,.48),transparent 45%);pointer-events:none}.gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}.gallery-card:active img{transform:scale(1.025)}.gallery-card span{position:absolute;z-index:3;left:20px;bottom:18px;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(12,8,17,.62);backdrop-filter:blur(13px);color:var(--accent);font-size:10px;letter-spacing:.12em;font-weight:700}.gallery-hint{margin:0!important;text-align:center;color:#c7bdcc;font-size:8px!important;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
@media(min-width:700px){.gallery-track{grid-auto-columns:330px}.gallery-card:hover img{transform:scale(1.035)}}
@media(max-width:380px){.gallery-track{grid-auto-columns:82vw}.gallery-card{border-radius:22px}}
