/* ============================================================
   Amalia PDF — Design tokens
   Editorial-warm SaaS. Violet primary, coral accent, cream surfaces.
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap");

/* ── CSS Custom Properties ──────────────────────────────── */
:root {
  --ink: #1A1625;
  --fg-1: #1A1625;
  --fg-2: #3A3349;
  --fg-3: #6D6580;
  --fg-4: #9D96AC;
  --bg-surface: #FFFDF9;
  --cream-50: #FAF6EF;
  --cream-100: #F3EDE1;
  --cream-200: #E8E0CF;
  --cream-300: #D8CCB2;
  --stroke-1: #E8E0CF;
  --stroke-2: #D8CCB2;
  --violet-50: #F1EEFE;
  --violet-100: #E0D9FC;
  --violet-200: #C1B4F8;
  --violet-300: #9C87F1;
  --violet-400: #7A60EA;
  --violet-500: #5B3FE0;
  --violet-600: #4A2EC9;
  --violet-700: #3A23A8;
  --coral-50: #FFEEE7;
  --coral-100: #FFD4C2;
  --coral-300: #FF9270;
  --coral-400: #FF7551;
  --coral-500: #F65A33;
  --coral-600: #D9461F;
  --olive-50: #F0EEDB;
  --olive-500: #6B7A3A;
  --teal-50: #DDF0EE;
  --teal-500: #1E7D7A;
  --rose-500: #C73E6F;
  --sky-50: #DCEAF8;
  --sky-500: #2E6FB8;
  --amber-500: #C68A1E;
  --success-50: #E6F7EC;
  --success-500: #1F8A4D;
  --danger-50: #FCE7E5;
  --danger-500: #D43F2F;
  --danger-700: #9A2E22;
}

/* ── Base resets ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
h1,h2,h3,h4,h5 { margin: 0; font-weight: 400; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; padding: 0; color: inherit; }
input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }

::selection { background: #C1B4F8; color: #1A0F54; }
:focus-visible { outline: 2px solid #5B3FE0; outline-offset: 2px; border-radius: 4px; }

body {
  font-family: "Geist", "Helvetica Neue", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ── Typography ──────────────────────────────────────────── */
.display-xl { font-family: "Instrument Serif", Georgia, serif; font-size: 84px; line-height: 1.02; letter-spacing: -0.04em; }
.display-lg { font-family: "Instrument Serif", Georgia, serif; font-size: 62px; line-height: 1.02; letter-spacing: -0.04em; }
.display    { font-family: "Instrument Serif", Georgia, serif; font-size: 46px; line-height: 1.02; letter-spacing: -0.02em; }
.h1 { font-family: "Instrument Serif", Georgia, serif; font-size: 46px; line-height: 1.15; letter-spacing: -0.02em; }
.h2 { font-family: "Instrument Serif", Georgia, serif; font-size: 34px; line-height: 1.15; letter-spacing: -0.02em; }
.h3 { font-family: "Geist", sans-serif; font-size: 26px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; }
.h4 { font-family: "Geist", sans-serif; font-size: 20px; font-weight: 600; line-height: 1.15; }
.body-lg { font-size: 17px; line-height: 1.55; }
.body    { font-size: 15px; line-height: 1.55; }
.body-sm { font-size: 13px; line-height: 1.55; }
.caption { font-size: 12px; }
.eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
}
.mono { font-family: "Geist Mono", ui-monospace, monospace; font-size: 13px; }
.num { font-family: "Geist", sans-serif; font-feature-settings: "tnum" 1, "lnum" 1; font-weight: 600; }

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.005em;
  transition: all 160ms ease;
  white-space: nowrap;
  cursor: pointer;
}
.btn-primary {
  background: #1A1625;
  color: #FFFDF9;
}
.btn-primary:hover { background: #3A3349; transform: translateY(-1px); }
.btn-violet {
  background: #5B3FE0;
  color: white;
  box-shadow: 0 16px 36px -16px rgba(91,63,224,0.5);
}
.btn-violet:hover { background: #4A2EC9; }
.btn-coral {
  background: #FF7551;
  color: white;
}
.btn-coral:hover { background: #F65A33; }
.btn-outline {
  background: transparent;
  color: #1A1625;
  box-shadow: inset 0 0 0 1px #D8CCB2;
}
.btn-outline:hover { background: #F3EDE1; }
.btn-ghost { background: transparent; color: #3A3349; }
.btn-ghost:hover { background: #F3EDE1; color: #1A1625; }
.btn-lg { height: 52px; padding: 0 28px; font-size: 17px; }
.btn-sm { height: 34px; padding: 0 14px; font-size: 13px; }

/* ── Cards / chips ───────────────────────────────────────── */
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  background: #F3EDE1;
  color: #3A3349;
  border: 1px solid #E8E0CF;
}
.chip-violet { background: #F1EEFE; color: #3A23A8; border-color: transparent; }
.chip-coral  { background: #FFEEE7; color: #D9461F; border-color: transparent; }
.chip-success { background: #E6F7EC; color: #1F8A4D; border-color: transparent; }
