:root{--p:#b0262b;--pd:#6b0f14;--bg:#fdf8f0;--bg2:#f8eadb;--gold:#c9993a;--gold-l:#e8cf8e;--ink:#3b1f1c}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"EB Garamond",Georgia,serif;font-weight:400;color:var(--ink);background:var(--bg);line-height:1.7;font-size:17px}
body.locked{overflow:hidden;height:100vh}
/* Script font ONLY for couple names */
.script{font-family:"Pinyon Script",cursive;font-weight:400;color:var(--pd)}
.sym{font-size:2.4rem;color:var(--gold);line-height:1;margin:.4rem 0 1rem}
.sym.sm{font-size:1.4rem;margin:.2rem 0 .6rem}
.divider{display:flex;align-items:center;justify-content:center;gap:.8rem;color:var(--gold);margin:1rem 0}
.divider::before,.divider::after{content:"";width:70px;height:1px;background:var(--gold-l)}
.verse{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;line-height:1.8;color:var(--pd)}
.small-caps{letter-spacing:.3em;text-transform:uppercase;font-size:.75rem}
.tiny{font-size:.75rem;opacity:.75}
.title{font-family:"Cormorant Garamond",serif;font-size:1.9rem;color:var(--pd);margin-bottom:1rem}
.title::after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:.5rem auto 0}
.sub{font-family:"Cormorant Garamond",serif;font-size:1.3rem;margin:1.5rem 0 .6rem}
.src{color:var(--gold);font-weight:500;margin-top:.4rem}
.btn{display:inline-block;border:1px solid var(--pd);background:transparent;color:var(--pd);padding:.6rem 1.2rem;border-radius:999px;font:500 .85rem "Inter",system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:.2s;margin:.25rem}
.btn:hover{background:var(--pd);color:var(--bg)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-gold:hover{background:var(--pd);border-color:var(--pd)}
/* cover */
.cover{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--bg);
 background:radial-gradient(circle at 20% 15%,rgba(232,207,142,.33),transparent 40%),radial-gradient(circle at 85% 90%,rgba(232,207,142,.33),transparent 40%),linear-gradient(160deg,#a51e22,#5c0b10);transition:transform .9s ease,opacity .9s}
.cover.open{transform:translateY(-100%);opacity:.3;pointer-events:none}
.cover-inner{border:1px solid var(--gold-l);outline:1px solid rgba(255,255,255,.18);outline-offset:6px;padding:2.5rem 1.5rem;border-radius:200px 200px 16px 16px;max-width:380px;width:100%}
.cover h1{font-size:3.4rem;color:var(--bg);line-height:1.2;margin:.6rem 0}
.cover h1 span{color:var(--gold-l)}
.date-line{letter-spacing:.15em;font-size:.85rem}
.guest{margin:1.8rem 0;font-size:.85rem}
/* Guest name: clean sans (feedback) — never script */
.guest-name{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1.35rem;font-weight:600;letter-spacing:.01em;color:var(--gold-l);margin:.4rem 0;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
/* sections */
main{max-width:520px;margin:0 auto;background:var(--bg)}
.section{padding:3.5rem 1.5rem;position:relative}
.section:nth-of-type(even){background:var(--bg2)}
.center{text-align:center}
.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}
.reveal.show{opacity:1;transform:none}
.person{margin:1.5rem 0}
.person h2{font-size:2.3rem}
.avatar{width:130px;height:160px;margin:0 auto 1rem;border-radius:80px 80px 12px 12px;border:3px solid var(--gold-l);display:flex;align-items:center;justify-content:center;font:700 3rem "Cormorant Garamond",serif;color:#fff}
.amp{font-size:3rem;color:var(--gold)}
.g1{background:linear-gradient(135deg,#d4595d,#6b0f14)}
.g2{background:linear-gradient(135deg,#e8cf8e,#a3761f)}
.g3{background:linear-gradient(135deg,#f8eadb,#c9993a)}
.g4{background:linear-gradient(200deg,#b0262b,#e8cf8e)}
.g5{background:linear-gradient(45deg,#6b0f14,#e39a9c)}
.g6{background:linear-gradient(90deg,#c9993a,#fdf8f0,#b0262b)}
.cards{display:grid;gap:1rem}
.card{background:#fff;border:1px solid var(--gold-l);border-radius:16px;padding:1.5rem;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.card h3{font-family:"Cormorant Garamond",serif;font-weight:700;font-size:1.6rem;color:var(--pd);line-height:1.3}
.day{font-weight:500}
.venue{margin-top:.6rem;font-weight:500}.venue span{font-weight:400;font-size:.85rem;opacity:.85}
.countdown{display:flex;justify-content:center;gap:.6rem}
.countdown div{background:var(--pd);color:var(--bg);border-radius:12px;width:68px;padding:.6rem 0}
.countdown span{display:block;font:700 1.6rem "Cormorant Garamond",serif}
.countdown small{font-size:.7rem;font-family:"Inter",system-ui,sans-serif}
.btn-row{margin:1.2rem 0}
.map{width:100%;height:220px;border:0;border-radius:12px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:110px;gap:.5rem;margin-bottom:.6rem}
.ph{border-radius:10px;position:relative}
.ph::after{content:"✦";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:1.6rem}
.tall{grid-row:span 2}.wide{grid-column:span 2}
.form{display:grid;gap:.6rem;text-align:left}
.form label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.02em;margin:.15rem 0 .1rem;opacity:.9}
.form input,.form select,.form textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--gold-l);border-radius:10px;background:#fff;font:400 .9rem "Inter",system-ui,sans-serif;color:var(--ink)}
.form button{justify-self:center}
.stats{display:flex;justify-content:center;gap:.5rem;margin:1rem 0;flex-wrap:wrap}
.stats span{background:#fff;border:1px solid var(--gold-l);border-radius:999px;padding:.2rem .8rem;font-size:.75rem;font-family:"Inter",system-ui,sans-serif}
.wishes{max-height:340px;overflow:auto;text-align:left;display:grid;gap:.6rem}
.wish{background:#fff;border-radius:12px;padding:.8rem 1rem;border-left:3px solid var(--gold)}
.wish b{font-weight:600;font-family:"Inter",system-ui,sans-serif;font-size:.9rem}.wish .tag{font-size:.7rem;color:var(--p);margin-left:.4rem}
.wish p{font-size:.9rem}.wish time{font-size:.7rem;opacity:.6}
.empty{text-align:center;font-size:.85rem;opacity:.7;padding:1rem;border:1px dashed var(--gold-l);border-radius:12px}
.bank{background:#fff;border:1px solid var(--gold-l);border-radius:16px;padding:1.2rem;margin-top:1rem}
.bank-name{font-weight:500;color:var(--gold)}
.acc{font:700 1.5rem "Cormorant Garamond",serif;letter-spacing:.1em}
.qr{width:150px;height:150px;margin:.6rem auto;border:8px solid #fff;outline:1px solid #ccc;
 background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 0 0/18px 18px}
.closing h2{font-size:2.6rem}
.closing h2.plain{font-size:1.6rem}.closing h2.plain::after{display:none}
footer{text-align:center;padding:1.5rem;font-size:.75rem;background:var(--pd);color:var(--bg);font-family:"Inter",system-ui,sans-serif}
.music{position:fixed;right:16px;bottom:16px;z-index:40;width:44px;height:44px;border-radius:50%;border:none;background:var(--gold);color:#fff;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.music.playing{animation:spin 3s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.5rem 1rem;border-radius:999px;font-size:.8rem;opacity:0;transition:.3s;z-index:60;pointer-events:none;font-family:"Inter",system-ui,sans-serif}
.toast.show{opacity:.92}
@media(min-width:700px){.cards{grid-template-columns:1fr 1fr}.cards.one{grid-template-columns:1fr}.cards.three .card:last-child{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

@media(max-width:480px){
.cover h1{font-size:2.2rem}
.cover .small-caps,.small-caps{font-size:.62rem;letter-spacing:.22em}
.guest-name{font-size:1.15rem}
}

/* WhatsApp CTA modal */
.wa-cta{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s}
.wa-cta.show{opacity:1;visibility:visible;pointer-events:auto}
.wa-cta-card{position:relative;width:100%;max-width:340px;background:#fff;color:#1a1a1a;border-radius:18px;padding:1.6rem 1.35rem 1.25rem;text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.28);border:1px solid var(--gold-l,#e8cf8e)}
.wa-cta-card h3{font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:700;margin:0 0 .5rem;line-height:1.25;color:inherit}
.wa-cta-copy{font-size:.88rem;line-height:1.5;opacity:.82;margin:0 0 1rem}
.wa-cta-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0 0 .65rem;text-decoration:none}
.wa-cta-form{display:inline-block;font-size:.82rem;color:inherit;opacity:.75;margin-bottom:.85rem;text-decoration:underline}
.wa-cta-form:hover{opacity:1}
.wa-cta-close{display:block;width:100%;border:none;background:transparent;color:inherit;opacity:.55;font-size:.8rem;cursor:pointer;padding:.35rem;font-family:inherit}
.wa-cta-close:hover{opacity:.9}
.wa-cta-x{position:absolute;top:8px;right:10px;width:32px;height:32px;border:none;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:inherit;opacity:.45;border-radius:8px}
.wa-cta-x:hover{opacity:.85;background:rgba(0,0,0,.06)}

/* Floating WA FAB — always visible, distinct from scroll modal */
.wa-fab{position:fixed;right:16px;bottom:20px;z-index:55;display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1rem;border-radius:999px;background:#25D366;color:#fff!important;font:600 .82rem "Inter",system-ui,sans-serif;text-decoration:none!important;box-shadow:0 6px 20px rgba(0,0,0,.28);letter-spacing:.01em;max-width:calc(100vw - 32px)}
.wa-fab:hover{filter:brightness(1.06);color:#fff!important}
.wa-fab svg{flex:0 0 auto}
.music{bottom:78px!important}
/* Hide Netlify badge if injected */
a[href*="netlify.com"][href*="badge"],#netlify-badge,.netlify-badge{display:none!important}
.wa-cta-logo{display:block;width:148px;height:auto;margin:0 auto .85rem}
