/* RateDrop — Sunset Pop tokens */
:root {
  --rd-ink:         #1a1a2e;
  --rd-ink-2:       #4a4a63;
  --rd-ink-3:       #8a8aa3;
  --rd-line:        #ffe4cf;
  --rd-bg:          #fff8f1;
  --rd-bg-2:        #ffeedd;
  --rd-paper:       #ffffff;

  --rd-red:         #ff7a59;
  --rd-red-ink:     #e85a36;
  --rd-red-tint:    #ffe2d6;

  --rd-green:       #06d6a0;
  --rd-green-ink:   #04a77d;
  --rd-green-tint:  #d2f7ec;

  --rd-yellow:      #ffd166;
  --rd-yellow-ink:  #e8b43a;
  --rd-yellow-tint: #fff2d2;

  --rd-blue:        #6ec4ff;
  --rd-blue-tint:   #d8efff;

  --rd-pink:        #ffb8d9;
  --rd-lavender:    #c8b6ff;

  --rd-cream:       #fff2d2;
  --rd-sand:        #ffd9a8;
  --rd-terracotta:  #ff9b6b;
  --rd-deep:        #2a2142;

  --rd-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --rd-font-sans:    'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --rd-r-sm: 10px;
  --rd-r-md: 18px;
  --rd-r-lg: 28px;
  --rd-r-xl: 36px;

  --rd-shadow-sm: 0 1px 2px rgba(255,122,89,0.08), 0 2px 8px rgba(255,122,89,0.06);
  --rd-shadow-md: 0 2px 6px rgba(255,122,89,0.10), 0 14px 36px rgba(255,122,89,0.10);
  --rd-shadow-lg: 0 4px 14px rgba(255,122,89,0.12), 0 30px 70px rgba(255,122,89,0.15);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--rd-font-sans);
  color: var(--rd-ink);
  background: var(--rd-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-height: 1.5;
}
button { font-family: inherit; cursor: pointer; border: none; background: none; padding: 0; color: inherit; }
input, select, textarea { font-family: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }

:focus-visible {
  outline: 3px solid var(--rd-red);
  outline-offset: 2px;
  border-radius: 4px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: -9999px; top: 10px;
  background: var(--rd-ink); color: #fff;
  padding: 10px 16px; border-radius: 8px;
  font-weight: 600; z-index: 1000;
}
.skip-link:focus { left: 10px; }

.rd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--rd-font-sans);
  font-weight: 700;
  border-radius: 999px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space: nowrap;
  text-decoration: none;
}
.rd-btn-primary {
  background: var(--rd-red);
  color: #fff;
  padding: 18px 28px;
  font-size: 17px;
  box-shadow: 0 6px 20px rgba(255,122,89,0.35), inset 0 -2px 0 rgba(0,0,0,0.08);
}
.rd-btn-primary:hover {
  background: var(--rd-red-ink);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(255,122,89,0.42), inset 0 -2px 0 rgba(0,0,0,0.1);
}
.rd-btn-ghost {
  background: transparent;
  color: var(--rd-ink);
  padding: 14px 20px;
  font-size: 15px;
}
.rd-btn-ghost:hover { background: rgba(0,0,0,0.04); }

.rd-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  background: var(--rd-paper);
  border: 1px solid var(--rd-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink-2);
}

.rd-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--rd-red);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rd-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--rd-font-display);
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -0.01em;
}
.rd-logo-text { line-height: 1; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
