
:root{
  --bg:#0d0710; --bg2:#150c17; --text:#f7eef4; --muted:#bcaeb9;
  --pink:#dc82a6; --rose:#efb6c7; --line:rgba(255,255,255,.12); --glass:rgba(18,8,19,.68);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 20% 0%,#2a1428 0,#0d0710 38%,#08050a 100%);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}.ambient{position:fixed;pointer-events:none;filter:blur(80px);opacity:.18;border-radius:50%;z-index:0}
.ambient-1{width:320px;height:320px;background:#a02d71;left:-160px;top:30vh}.ambient-2{width:360px;height:360px;background:#75346b;right:-220px;top:70vh}
.topbar{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:22px 24px;background:linear-gradient(#0b070bbb,transparent)}
.icon-btn,.music-btn,.drawer-close{border:0;background:transparent;color:white}.icon-btn{width:38px}.icon-btn span{display:block;height:2px;background:#fff;margin:6px 0}
.music-btn{display:flex;align-items:center;gap:10px;font-family:"Cormorant Garamond";letter-spacing:.12em;font-size:12px}.music-icon{border:1px solid var(--pink);color:var(--pink);width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:20px}
.drawer{position:fixed;inset:0 0 0 auto;width:min(82vw,360px);background:#100b12f7;z-index:40;padding:90px 30px;transform:translateX(100%);transition:.35s;display:flex;flex-direction:column;gap:24px;border-left:1px solid var(--line)}
.drawer.open{transform:none}.drawer a{font-family:"Cormorant Garamond";font-size:28px}.drawer-close{position:absolute;right:25px;top:20px;font-size:34px}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.hero-photo{position:absolute;inset:0;background-image:url('../img/sofia.jpg');background-size:cover;background-position:center 46%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,5,8,.03) 20%,rgba(11,7,11,.20) 40%,rgba(10,6,10,.86) 67%,#0d0710 100%)}
.sparkles{position:absolute;inset:0;background-image:radial-gradient(circle at 18% 48%,#f3bdd8 0 1px,transparent 2px),radial-gradient(circle at 80% 57%,#c66e9b 0 1px,transparent 2px),radial-gradient(circle at 73% 34%,#fff 0 1px,transparent 2px);background-size:120px 120px,160px 160px,220px 220px;opacity:.45}
.hero-content{position:relative;z-index:2;width:min(92%,720px);padding:54vh 20px 28px;text-align:center}
.monogram{font-family:"Cormorant Garamond";font-size:clamp(58px,16vw,104px);line-height:.8;letter-spacing:.02em;background:linear-gradient(100deg,#f9e6e8,#d890a9,#f1c3c8);-webkit-background-clip:text;color:transparent;text-shadow:0 0 20px rgba(235,130,176,.12)}
.xv{font-family:"Cormorant Garamond";font-size:48px;color:var(--pink);margin-top:10px}
.tagline{font-family:"Cormorant Garamond";font-size:20px;letter-spacing:.12em}.tagline span{font-family:Parisienne;font-size:36px;letter-spacing:0;color:var(--pink)}
.event-meta{margin:28px 0 26px}.date{font-family:"Cormorant Garamond";font-size:34px;letter-spacing:.15em}.time{color:var(--pink);margin:10px 0 18px;letter-spacing:.25em}.venue{font-family:"Cormorant Garamond";font-size:24px;letter-spacing:.18em}.address{font-size:11px;letter-spacing:.16em;color:#d9a0b5;margin-top:8px}
.primary-btn,.secondary-btn,.whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--pink);border-radius:999px;min-height:58px;padding:0 26px;letter-spacing:.14em;font-family:"Cormorant Garamond";font-size:17px}
.primary-btn{width:100%;box-shadow:0 0 28px rgba(214,95,155,.22)}.primary-btn.solid{background:linear-gradient(90deg,#a94979,#7a325f);color:white;border:0;margin-top:18px}
.chevron{font-size:30px;color:var(--pink);animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.section{position:relative;z-index:2;padding:82px 22px;max-width:860px;margin:auto;border-top:1px solid rgba(255,255,255,.06)}
.eyebrow{font-size:11px;letter-spacing:.25em;color:var(--pink);margin-bottom:14px}.section h1,.section h2{font-family:"Cormorant Garamond";font-weight:500;margin:0 0 14px;font-size:42px}.lead,.section-copy{color:#d6c9d2;line-height:1.7}
.invite-card,.glass-card,.alias-card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:24px;backdrop-filter:blur(14px);box-shadow:0 18px 60px rgba(0,0,0,.28)}
.invite-card{padding:24px;margin-top:26px}.invite-type{font-size:11px;letter-spacing:.18em;color:var(--pink);margin-bottom:14px}.guest-list{display:grid;gap:10px}.guest-pill{display:flex;justify-content:space-between;gap:10px;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,.035)}.guest-pill span:last-child{color:#d9a0b5;font-size:12px}
.invite-note{margin-top:16px;color:#d2bdca;font-size:13px}.countdown-wrap{text-align:center;margin-top:55px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.countdown div{padding:18px 6px;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:18px}.countdown strong{font-family:"Cormorant Garamond";font-size:31px}.countdown span{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted)}
.rsvp-grid{display:grid;gap:14px;margin-top:24px}.rsvp-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:rgba(255,255,255,.035)}.rsvp-card h3{font-family:"Cormorant Garamond";font-size:24px;margin:0 0 6px}.badge{display:inline-block;border:1px solid rgba(220,130,166,.5);color:#eab2c6;border-radius:999px;padding:5px 9px;font-size:10px;letter-spacing:.11em;margin-bottom:15px}
.radio-row{display:flex;gap:8px;flex-wrap:wrap}.choice{flex:1;min-width:120px}.choice input{display:none}.choice label{display:block;text-align:center;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.choice input:checked+label{border-color:var(--pink);background:rgba(220,130,166,.12)}
.diet{margin-top:12px}.diet select,.diet input,.song-form input{width:100%;background:#100b12;border:1px solid var(--line);color:white;border-radius:13px;padding:13px 14px}
.split{display:grid;gap:24px}.small{padding:24px}.big-icon{font-size:34px;color:var(--pink)}
.price-grid{display:grid;gap:12px;margin:24px 0}.price-grid div{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.price-grid span{color:#d8c9d2}.price-grid strong{font-family:"Cormorant Garamond";font-size:25px;color:#f3bfd0}
.alias-card{display:grid;grid-template-columns:1fr auto;gap:5px 14px;padding:20px;align-items:center}.alias-card span{grid-column:1/3;color:var(--muted);font-size:11px;letter-spacing:.15em}.alias-card strong{font-size:22px}.copy-btn{border:1px solid var(--pink);background:transparent;color:white;border-radius:999px;padding:9px 14px}
.microcopy{color:#9f919a;font-size:12px;line-height:1.5}.song-form{display:grid;gap:12px;margin-top:22px}.secondary-btn{background:transparent;color:white}.whatsapp-btn{border-color:#5aa879}
.success-message{margin-top:14px;color:#f0c2d2}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,30px);opacity:0;z-index:50;background:#21131e;border:1px solid var(--line);padding:12px 18px;border-radius:999px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
footer{text-align:center;padding:36px 20px 60px;color:#8f818b;letter-spacing:.18em;font-size:11px}
@media(min-width:700px){.hero-content{padding-top:43vh}.split{grid-template-columns:1.4fr .8fr;align-items:center}.price-grid{grid-template-columns:repeat(3,1fr)}.price-grid div{display:block;border:1px solid var(--line);border-radius:18px}.price-grid strong{display:block;margin-top:8px}}

.alias-stack{display:grid;gap:14px;margin-top:22px}
.alias-stack .alias-card{grid-template-columns:1fr auto}
.message-form{display:grid;gap:12px;margin-top:22px}
.message-form textarea{width:100%;min-height:180px;resize:vertical;background:#100b12;border:1px solid var(--line);color:white;border-radius:18px;padding:16px;font:inherit;line-height:1.6}
.message-counter{text-align:right;color:#9f919a;font-size:11px}
.message-success{margin-top:22px;padding:22px;border:1px solid rgba(220,130,166,.35);border-radius:20px;background:rgba(220,130,166,.07)}
.message-success strong{font-family:"Cormorant Garamond";font-size:24px}
.message-success p{color:#cdbfc8}
.message-success .whatsapp-btn{margin-top:6px;width:100%;text-align:center}
