:root {
  --bg: #ffe5e5;
  --card-bg: #ffffff;
  --text: #5d4c4c;
  --accent-lilac: #c5a3ff;
  --accent-lilac-dark: #a283e0;
  --accent-mint: #a4eacc;
  --accent-mint-dark: #7fcaa9;
  --shadow: rgba(0, 0, 0, 0.2);
}
* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family:'Nunito',sans-serif; background:var(--bg); color:var(--text); }
.page-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:1rem}
.logo{width:240px;margin-bottom:1rem}
.card{background:var(--card-bg);border-radius:24px;padding:3rem 2rem;text-align:center;box-shadow:0 8px 24px var(--shadow);max-width:480px;width:100%;position:relative}
h1{font-size:1.9rem;margin-bottom:.5rem}
p{margin:0 0 2rem}
.btn{display:inline-block;padding:1rem 2rem;font-size:1rem;font-weight:700;border:none;border-radius:14px;color:#fff;cursor:pointer;user-select:none;transition:transform .15s ease, box-shadow .15s ease;box-shadow:0 6px 0 rgba(0,0,0,0.2)}
.btn-purple{background:var(--accent-lilac)}
.btn-mint{background:var(--accent-mint)}
.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 rgba(0,0,0,0.2)}
.btn:active{transform:translateY(6px);box-shadow:0 0 0 rgba(0,0,0,0.2)}
.btn + .btn{margin-left:1rem}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:flex;justify-content:center;align-items:center;visibility:hidden;opacity:0;transition:opacity .3s ease;z-index:10}
.overlay.show{visibility:visible;opacity:1}
.modal{background:var(--card-bg);width:90%;max-width:420px;border-radius:18px;box-shadow:0 8px 24px var(--shadow);padding:1rem 1.5rem 1.5rem;position:absolute}
.modal-header{font-weight:700;margin-bottom:1rem;cursor:move;display:flex;justify-content:space-between;align-items:center}
.close-btn{border:none;background:none;font-size:1.2rem;cursor:pointer;line-height:1}
form{display:flex;flex-direction:column;gap:.75rem}
label{font-size:.9rem;font-weight:700;text-align:left}
input,select{padding:.6rem .75rem;border:2px solid #ece2e2;border-radius:10px;font-size:1rem}
.submit-btn{margin-top:1rem;align-self:center;width:60%}
/* Thank-you overlay */
.thankyou{position:fixed;inset:0;background:rgba(255,255,255,0.8);display:flex;justify-content:center;align-items:center;visibility:hidden;opacity:0;transition:opacity .3s ease;z-index:20}
.thankyou.show{visibility:visible;opacity:1}
.thanks-card{background:var(--card-bg);padding:2rem 3rem;border-radius:24px;box-shadow:0 8px 24px var(--shadow);animation:pop .6s ease forwards;font-weight:700;font-size:1.3rem}
@keyframes pop{0%{transform:scale(.6)}80%{transform:scale(1.05)}100%{transform:scale(1)}}
