:root {
  color-scheme: light;
  --rp-ink-950: #15231f;
  --rp-ink-900: #172033;
  --rp-ink-800: #25364b;
  --rp-ink-700: #3f5065;
  --rp-ink-600: #667085;
  --rp-ink-500: #7c8998;
  --rp-canvas: #f5f7f6;
  --rp-surface: #ffffff;
  --rp-surface-soft: #f9fbfa;
  --rp-line: #dce4e2;
  --rp-line-strong: #c8d4d1;
  --rp-pine-800: #084b47;
  --rp-pine-700: #0b5f58;
  --rp-pine-600: #0f766e;
  --rp-pine-500: #198a80;
  --rp-mint-400: #70cbbb;
  --rp-mint-200: #bce8df;
  --rp-mint-100: #e8f5f2;
  --rp-mint-50: #f2faf8;
  --rp-gold-700: #8b5714;
  --rp-gold-600: #a66b18;
  --rp-gold-100: #fff4d8;
  --rp-success-700: #18794e;
  --rp-success-100: #eaf7ef;
  --rp-warning-700: #946200;
  --rp-warning-100: #fff4d8;
  --rp-danger-700: #b42318;
  --rp-danger-100: #fff1f0;
  --rp-info-700: #245b8a;
  --rp-info-100: #edf5fb;
  --rp-radius-xs: 6px;
  --rp-radius-sm: 8px;
  --rp-radius-md: 10px;
  --rp-radius-lg: 14px;
  --rp-radius-xl: 20px;
  --rp-radius-2xl: 28px;
  --rp-shadow-xs: 0 1px 2px rgba(21, 35, 31, .05);
  --rp-shadow-sm: 0 8px 24px rgba(21, 35, 31, .07);
  --rp-shadow-md: 0 18px 48px rgba(21, 35, 31, .11);
  --rp-shadow-overlay: 0 28px 80px rgba(21, 35, 31, .2);
  --rp-ease: cubic-bezier(.2, .8, .2, 1);
  --rp-font-display: "Manrope", "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rp-font-ui: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--rp-canvas);
  color: var(--rp-ink-900);
  font-family: var(--rp-font-ui);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.is-locked { overflow: hidden; }

img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

::selection { background: var(--rp-mint-200); color: var(--rp-ink-950); }

:focus-visible {
  outline: 3px solid rgba(25, 138, 128, .28);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 99999;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  border-radius: var(--rp-radius-md);
  background: var(--rp-ink-950);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-150%);
  transition: transform 160ms var(--rp-ease);
}

.skip-link:focus { transform: translateY(0); }

.rp-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--rp-ink-900);
  font-family: var(--rp-font-display);
  font-size: 1.18rem;
  font-weight: 800;
  letter-spacing: -.07em;
  line-height: 1;
  text-decoration: none;
}

.rp-brand img { width: 30px; height: 30px; }
.rp-brand__accent { color: var(--rp-pine-600); }
.rp-brand--inverse { color: #fff; }
.rp-brand--inverse .rp-brand__accent { color: #91ddcf; }

.rp-button {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 17px;
  border: 1px solid transparent;
  border-radius: var(--rp-radius-md);
  background: var(--rp-pine-700);
  color: #fff;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms var(--rp-ease), border-color 160ms var(--rp-ease), color 160ms var(--rp-ease), box-shadow 160ms var(--rp-ease), transform 100ms var(--rp-ease);
}

.rp-button:hover { background: var(--rp-pine-800); box-shadow: 0 8px 20px rgba(11, 95, 88, .16); }
.rp-button:active { transform: scale(.985); }
.rp-button:disabled, .rp-button[aria-disabled="true"] { cursor: not-allowed; opacity: .58; box-shadow: none; }

.rp-button--secondary {
  border-color: var(--rp-line-strong);
  background: rgba(255,255,255,.92);
  color: var(--rp-ink-900);
  box-shadow: var(--rp-shadow-xs);
}

.rp-button--secondary:hover { border-color: #9cb9b3; background: #fff; color: var(--rp-pine-700); }

.rp-button--ghost { background: transparent; color: var(--rp-ink-700); }
.rp-button--ghost:hover { background: var(--rp-mint-50); color: var(--rp-pine-700); box-shadow: none; }

.rp-button--danger { background: var(--rp-danger-700); }
.rp-button--danger:hover { background: #912018; }

.rp-button__arrow { transition: transform 160ms var(--rp-ease); }
.rp-button:hover .rp-button__arrow { transform: translateX(3px); }

.rp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--rp-pine-700);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.rp-eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--rp-mint-400);
  box-shadow: 0 0 0 5px rgba(112, 203, 187, .14);
}

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

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