@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800&display=swap');
:root{
  --plum:#3B2A5A; --plum2:#291D40;
  --sky:#4FA6E4; --sky2:#8FD0F5; --skyDeep:#2E7CC2;
  --heart:#E8467C; --sun:#F6B93B; --grass:#7DBE3C;
  --cream:#FBF6EE; --ink:#2B2340; --mut:#7A6F92;
  --card:#FFFFFF; --line:#ECE6F2; --shadow:0 14px 34px rgba(59,42,90,.14);
  --radius:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{font-family:'Nunito',system-ui,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,.baloo{font-family:'Baloo 2','Nunito',sans-serif;line-height:1.15}
a{color:var(--skyDeep)}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.sky{background:
  radial-gradient(900px 460px at 15% -10%, #cfeeff, transparent 60%),
  radial-gradient(820px 420px at 100% 0%, #ffe6d8, transparent 55%),
  linear-gradient(180deg,#eaf6ff, #fbf6ee 62%)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;
  padding:13px 22px;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:16px;cursor:pointer;
  background:var(--grass);color:#fff;box-shadow:0 8px 18px rgba(125,190,60,.34);transition:transform .08s,filter .15s}
.btn:hover{filter:brightness(1.05)} .btn:active{transform:translateY(1px)}
.btn.plum{background:var(--plum);box-shadow:0 8px 18px rgba(59,42,90,.3)}
.btn.sky{background:var(--sky);box-shadow:0 8px 18px rgba(79,166,228,.34)}
.btn.heart{background:var(--heart);color:#fff;box-shadow:0 8px 18px rgba(232,70,124,.3)}
.btn.ghost{background:#fff;color:var(--plum);border:2px solid var(--line);box-shadow:none}
.btn.sm{padding:8px 14px;font-size:14px}
.btn.block{width:100%}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
input,select,textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;
  border:2px solid var(--line);border-radius:14px;padding:12px 14px;outline:none;transition:border-color .15s}
input:focus,select:focus,textarea:focus{border-color:var(--sky)}
label.lbl{display:block;font-weight:700;font-size:12px;letter-spacing:.4px;color:var(--mut);margin-bottom:5px;text-transform:uppercase}
.field{margin-bottom:12px}
.brandmark{font-family:'Baloo 2',sans-serif;font-weight:800;color:var(--plum);letter-spacing:-.5px}
.brandmark .dot{color:var(--heart)}
.heart{color:var(--heart)}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--plum);color:#fff;
  padding:12px 20px;border-radius:999px;font-weight:700;z-index:200;opacity:0;transition:opacity .25s,transform .25s;box-shadow:var(--shadow)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(-4px)}
.pill{display:inline-block;background:#fff;border:2px solid var(--line);border-radius:999px;padding:5px 12px;font-weight:700;font-size:13px;color:var(--plum)}
.banner{background:linear-gradient(90deg,#fff3d6,#ffe0ec);border:1px solid #ffd8b0;border-radius:16px;padding:12px 16px;font-weight:700;color:#8a5a1f}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
