:root {
  --ink: #090d24;
  --muted: #5a6178;
  --soft: #f8fbff;
  --line: rgba(120, 137, 189, 0.18);
  --pink: #ff3b91;
  --hot: #ff5aa8;
  --purple: #7c5cff;
  --blue: #4aa7ff;
  --cyan: #48e0ff;
  --peach: #ffd6b5;
  --green: #26d18c;
  --gold: #ffb443;
  --radius-xl: 34px;
  --radius-lg: 26px;
  --radius-md: 18px;
  --shadow-soft: 0 22px 70px rgba(82, 95, 160, .16);
  --shadow-card: 0 18px 45px rgba(70, 87, 145, .13);
  --shadow-pink: 0 18px 42px rgba(255, 59, 145, .28);
  --gradient-text: linear-gradient(105deg, #ff3b91 10%, #9b55ff 54%, #356dff 92%);
  --gradient-card: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(249, 251, 255, .74));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 81, 157, .18), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(77, 166, 255, .16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 36%, #f5f9ff 100%);
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section-pad { padding: 44px 0; }
.gradient-text { background: var(--gradient-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  color: #db3d8d;
  background: linear-gradient(135deg, rgba(255, 240, 248, .95), rgba(235, 239, 255, .88));
  border: 1px solid rgba(255, 105, 177, .18);
  box-shadow: 0 10px 30px rgba(188, 88, 198, .13);
  font-size: 13px;
  font-weight: 800;
}
.kicker::before { content: "✦"; color: #ff9a3c; }
.section-heading { text-align: center; margin-bottom: 24px; }
.section-heading h2 { margin: 0; font-size: clamp(1.45rem, 3vw, 2.1rem); letter-spacing: -0.04em; }
.section-heading p { max-width: 720px; margin: 8px auto 0; color: var(--muted); line-height: 1.55; font-weight: 600; }
.glass {
  background: var(--gradient-card);
  border: 1px solid rgba(255, 255, 255, .76);
  box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(18px);
}
.noscript-message { padding: 30px; text-align: center; font-weight: 800; }
@media (max-width: 720px) {
  .container { width: min(100% - 28px, 1180px); }
  .section-pad { padding: 32px 0; }
}
