/* Base e componentes do Risca UI Kit usados na landing.
   Copiados de client/src/ui-kit (styles/base.css, components/Card, Button e Logo) sem alterar valores;
   só as fontes trocam o @import do @fontsource por @font-face locais. */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/poppins-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/poppins-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/poppins-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/poppins-latin-800-normal.woff2') format('woff2'); }
@font-face { font-family: 'Caveat'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/caveat-latin-700-normal.woff2') format('woff2'); }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-family-base);
  font-size: var(--font-size-body);
  line-height: var(--font-line-height-base);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p { margin: 0; }
h1 { font-size: var(--font-size-h1); font-weight: var(--font-weight-bold); line-height: var(--font-line-height-tight); letter-spacing: var(--font-tracking-tight); }
h2 { font-size: var(--font-size-h2); font-weight: var(--font-weight-bold); line-height: var(--font-line-height-snug); }
h3 { font-size: var(--font-size-h3); font-weight: var(--font-weight-semibold); line-height: var(--font-line-height-snug); }
img, svg { display: block; max-width: 100%; }
:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.rk-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.rk-highlight {
  background: linear-gradient(transparent 55%, var(--color-highlight) 55%, var(--color-highlight) 92%, transparent 92%);
  padding: 0 0.15em;
}
.rk-hand { font-family: var(--font-family-hand); font-weight: 700; }
.rk-muted { color: var(--color-text-muted); }

/* Card */
.rk-card {
  --card-tilt: 0deg;
  position: relative; display: block; isolation: isolate;
  transform: rotate(var(--card-tilt));
  transition: transform var(--motion-duration-base) var(--motion-easing-bounce);
  margin-bottom: var(--underlay-offset);
}
.rk-card--tilt-left { --card-tilt: var(--tilt-left); }
.rk-card--tilt-right { --card-tilt: var(--tilt-right); }
.rk-card--tilt-left-sm { --card-tilt: var(--tilt-left-sm); }
.rk-card--tilt-right-sm { --card-tilt: var(--tilt-right-sm); }
.rk-card__underlay {
  position: absolute; inset: 0; z-index: 0;
  transform: translateY(var(--underlay-offset));
  border: var(--border-width-base) solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--underlay-neutral);
}
.rk-card__underlay--orange { background: var(--underlay-orange); }
.rk-card__underlay--teal { background: var(--underlay-teal); }
.rk-card__underlay--mint { background: var(--underlay-mint); }
.rk-card__underlay--lilac { background: var(--underlay-lilac); }
.rk-card__underlay--sun { background: var(--underlay-sun); }
.rk-card__underlay--coral { background: var(--underlay-coral); }
.rk-card__body {
  position: relative; z-index: 1; height: 100%;
  background: var(--color-surface);
  border: var(--border-width-base) solid var(--color-line);
  border-radius: var(--radius-lg);
}
.rk-card__body--pad-none { padding: 0; overflow: hidden; }
.rk-card__body--pad-md { padding: var(--space-4); }
.rk-card__body--pad-lg { padding: var(--space-6); }

/* Button (links com aparência de botão) */
.rk-btn {
  --btn-bg: var(--color-primary);
  --btn-fg: var(--color-on-primary);
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: var(--size-control-md); padding: 0 var(--space-5);
  border: var(--border-width-base) solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--btn-bg); color: var(--btn-fg);
  font-weight: var(--font-weight-semibold); font-size: var(--font-size-body); white-space: nowrap;
  text-decoration: none;
  box-shadow: var(--shadow-press);
  transition: transform var(--motion-duration-fast) var(--motion-easing-standard),
              box-shadow var(--motion-duration-fast) var(--motion-easing-standard),
              background-color var(--motion-duration-fast);
}
.rk-btn:hover { transform: translateY(-1px); }
.rk-btn:active { transform: translateY(2px); box-shadow: var(--shadow-press-active); }
.rk-btn:focus-visible { box-shadow: var(--shadow-press), var(--shadow-focus); }
.rk-btn--secondary { --btn-bg: var(--color-secondary); --btn-fg: var(--color-on-secondary); }
.rk-btn--outline { --btn-bg: var(--color-surface); --btn-fg: var(--color-text); }
.rk-btn--sm { height: var(--size-control-sm); padding: 0 var(--space-3); font-size: var(--font-size-small); border-radius: var(--radius-sm); }
.rk-btn--lg { height: var(--size-control-lg); padding: 0 var(--space-6); font-size: var(--font-size-lead); font-weight: var(--font-weight-bold); }
.rk-btn svg { width: var(--size-icon-md); height: var(--size-icon-md); }

/* Logo */
.rk-logo { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-text); text-decoration: none; }
.rk-logo__mark { width: 40px; height: 40px; }
.rk-logo__text { display: flex; flex-direction: column; line-height: 1; }
.rk-logo__word { font-weight: var(--font-weight-black); font-size: 24px; letter-spacing: var(--font-tracking-tight); }
.rk-logo--sm .rk-logo__mark { width: 30px; height: 30px; }
.rk-logo--sm .rk-logo__word { font-size: 18px; }

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