/* =============================================================
   Pavlok Orchid UI — design tokens + semantic styles
   Vendored from the Pavlok Orchid UI design system, trimmed to the
   weights this site actually uses and re-pointed at local woff2.
   ============================================================= */

@font-face { font-family: "Lato"; font-weight: 400; font-style: normal;
  src: url("fonts/Lato-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Lato"; font-weight: 600; font-style: normal;
  src: url("fonts/Lato-Semibold.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Lato"; font-weight: 700; font-style: normal;
  src: url("fonts/Lato-Bold.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Lato"; font-weight: 900; font-style: normal;
  src: url("fonts/Lato-Black.woff2") format("woff2"); font-display: swap; }

@font-face { font-family: "Bitter"; font-weight: 100 900; font-style: normal;
  src: url("fonts/Bitter-VariableFont_wght.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Bitter"; font-weight: 100 900; font-style: italic;
  src: url("fonts/Bitter-Italic-VariableFont_wght.woff2") format("woff2"); font-display: swap; }

@font-face { font-family: "Outfit"; font-weight: 100 900; font-style: normal;
  src: url("fonts/Outfit-VariableFont_wght.woff2") format("woff2"); font-display: swap; }

@font-face { font-family: "Plak"; font-weight: 900; font-style: normal;
  src: url("fonts/Plak_LT_Black_Condensed.woff2") format("woff2"); font-display: swap; }

:root {
  /* ────────── COLOR — Brand ────────── */
  --pv-primary:        #8338EC;
  --pv-primary-dark:   #712BD3;
  --pv-primary-light:  #7F5BFF;
  --pv-primary-tint:   #F8F3FF;
  --pv-primary-08:     rgba(131, 56, 236, 0.08);
  --pv-primary-14:     rgba(131, 56, 236, 0.14);
  --pv-primary-glow:   #BDACFB;
  --pv-primary-pale:   #C4A0FF;

  --pv-accent:         #FFB706;
  --pv-accent-dark:    #F1A60F;
  --pv-accent-tint:    #FFF6E0;

  /* ────────── COLOR — Neutrals ────────── */
  --pv-ink:            #383E53;
  --pv-ink-2:          #202538;
  --pv-ink-3:          #16182A;
  --pv-muted:          #9C9D9F;
  --pv-divider:        #E9E9E9;
  --pv-divider-2:      #F1F2F4;
  --pv-surface:        #FFFFFF;
  --pv-bg:             #FCFBFF;
  --pv-body:           #5A6076;

  /* ────────── COLOR — Semantic ────────── */
  --pv-success:        #4AD993;
  --pv-success-ink:    #1E8F5C;
  --pv-error:          #FF5D5D;

  /* ────────── TYPE ────────── */
  --pv-font:           "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --pv-font-serif:     "Bitter", Georgia, "Times New Roman", serif;
  --pv-font-display:   "Plak", "Lato", sans-serif;
  --pv-font-alt:       "Outfit", "Lato", sans-serif;

  --pv-tracking-display: -0.018em;
  --pv-tracking-body:    -0.003em;
  --pv-tracking-eyebrow:  0.22em;

  /* ────────── RADII ────────── */
  --pv-r-md:  12px;
  --pv-r-lg:  16px;
  --pv-r-xl:  24px;
  --pv-r-pill: 999px;

  /* ────────── ELEVATION ────────── */
  --pv-shadow-card:    0 1px 3px rgba(166, 175, 195, 0.4);
  --pv-shadow-float:   0 4px 12px rgba(13, 10, 44, 0.08);
  --pv-shadow-page:    0 24px 60px rgba(43, 25, 84, 0.16);
  --pv-glow-focus:     0 0 0 4px rgba(131, 56, 236, 0.18);

  /* ────────── MOTION ────────── */
  --pv-ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --pv-dur-fast:    120ms;
  --pv-dur-base:    200ms;
}

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

html { font-family: var(--pv-font); color: var(--pv-ink); -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--pv-bg);
  font-size: 16px;
  line-height: 24px;
  letter-spacing: var(--pv-tracking-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  color: var(--pv-ink); margin: 0; font-weight: 700;
  letter-spacing: var(--pv-tracking-display);
}
p { margin: 0; color: var(--pv-ink); }
a { color: var(--pv-primary); text-decoration: none; }
a:hover { color: var(--pv-primary-dark); }
img { max-width: 100%; }
input, select, button, textarea { font-family: var(--pv-font); }

::selection { background: var(--pv-primary-tint); color: var(--pv-primary-dark); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #D8D2E6; border-radius: var(--pv-r-pill); }

:focus-visible { outline: none; box-shadow: var(--pv-glow-focus); border-radius: 6px; }

/* numbered eyebrow — '01  The verdict' */
.pv-section-num {
  display: inline-flex; gap: 12px; align-items: baseline;
  font-weight: 500; font-size: 20px; line-height: 32px; color: var(--pv-ink);
}
.pv-section-num::before { content: attr(data-num); color: var(--pv-muted); }

.pv-sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

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