:root{--font-display:"Fredoka", sans-serif;--font-body:"Nunito", sans-serif;--color-pink:#ff71ce;--color-pink-light:#ffb3e3;--color-pink-dark:#e054b3;--color-blue:#7dd8e8;--color-blue-light:#b8edf5;--color-blue-dark:#4bbfd6;--color-yellow:#ffd93d;--color-yellow-light:#fff0a0;--color-green:#6bcb77;--color-green-light:#aeeab6;--color-purple:#c77dff;--color-orange:#ff9f51;--color-bg:#fffef5;--color-bg-2:#fff5fb;--color-bg-card:#fff;--color-primary:var(--color-pink);--color-primary-light:var(--color-pink-light);--color-secondary:var(--color-blue);--color-cta:#ff5aa5;--color-cta-hover:#e0458e;--color-accent:var(--color-yellow);--color-border:#f0d6f0;--color-border-hover:#e0a0dc;--color-text:#2d2844;--color-text-muted:#7b6e8a;--color-text-light:#b0a4bf;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:9999px;--shadow-sm:0 2px 8px #ff71ce1f;--shadow-md:0 4px 20px #ff71ce2e;--shadow-lg:0 8px 40px #ff71ce38;--shadow-card:0 4px 24px #c77dff1f;--duration-fast:.15s;--duration-medium:.3s;--duration-slow:.5s;--easing:cubic-bezier(.4, 0, .2, 1);--bounce:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);line-height:1.2}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.gradient-text{background:linear-gradient(135deg, var(--color-pink) 0%, var(--color-purple) 50%, var(--color-blue) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-warm{background:linear-gradient(135deg, var(--color-yellow) 0%, var(--color-orange) 50%, var(--color-pink) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.card{background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--duration-medium) var(--bounce)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-pink{border-color:var(--color-pink-light);background:linear-gradient(135deg,#fff0f8 0%,#fff8ff 100%)}.card-blue{border-color:var(--color-blue-light);background:linear-gradient(135deg,#f0faff 0%,#f8feff 100%)}.card-yellow{border-color:var(--color-yellow-light);background:linear-gradient(135deg,#fffbf0 0%,#fffef8 100%)}.btn-primary{font-family:var(--font-display);background:linear-gradient(135deg, var(--color-cta), var(--color-purple));color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-medium) var(--bounce);white-space:nowrap;letter-spacing:.01em;border:none;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 20px #ff5aa559}.btn-primary:hover{transform:translateY(-3px)scale(1.04);box-shadow:0 8px 32px #ff5aa580}.btn-secondary{font-family:var(--font-display);color:var(--color-pink-dark);border:2px solid var(--color-pink-light);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-medium) var(--bounce);white-space:nowrap;background:#fff;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 2px 12px #ff71ce26}.btn-secondary:hover{border-color:var(--color-pink);background:#fff0f8;transform:translateY(-3px);box-shadow:0 6px 24px #ff71ce4d}.pill{font-family:var(--font-display);border-radius:var(--radius-full);letter-spacing:.03em;align-items:center;gap:.35rem;padding:.3rem .9rem;font-size:.78rem;font-weight:600;display:inline-flex}.pill-pink{color:var(--color-pink-dark);border:1px solid var(--color-pink-light);background:#ffe8f7}.pill-blue{color:var(--color-blue-dark);border:1px solid var(--color-blue-light);background:#e8f8ff}.pill-yellow{color:#b8860b;border:1px solid var(--color-yellow-light);background:#fff8d6}.pill-green{color:#3a8a44;border:1px solid var(--color-green-light);background:#edfff0}.pill-purple{color:#8b3fc5;background:#f5e8ff;border:1px solid #e0c0ff}.section-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--color-pink-dark);margin-bottom:.75rem;font-size:.8rem;font-weight:600}.divider{background:linear-gradient(90deg, transparent, var(--color-pink-light), var(--color-purple) 50%, var(--color-blue-light), transparent);border:none;height:2px;margin:1.5rem 0}.dots-bg{background-image:radial-gradient(var(--color-border) 1.5px, transparent 1.5px);background-size:24px 24px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-pink-light);border-radius:3px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatSlow{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-14px)rotate(2deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-8deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--easing) both}.animate-float{animation:3.5s ease-in-out infinite float}.animate-float-slow{animation:5s ease-in-out infinite floatSlow}.animate-pop-in{animation:popIn .5s var(--bounce) both}.animate-wave{animation:1.5s ease-in-out infinite wave}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
