/* ============================================================
   LUMEN LECTIO — Design Tokens
   Refined editorial minimalism, liturgical accents.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap');

:root {
  /* Colors — pergaminho + liturgical */
  --paper:           #F7F2E8;   /* main background, manuscript paper */
  --paper-deep:      #EFE8DA;   /* alt background for cards/hero */
  --paper-shadow:    #E5DBC8;   /* hairline borders, separators */
  --ink:             #1B1714;   /* main text, near-black with warmth */
  --ink-soft:        #3A2F25;   /* large display text */
  --ink-muted:       #6B5E4F;   /* secondary text, sepia gray */
  --ink-faint:       #9C8B73;   /* meta, eyebrow, captions */
  --bordeaux:        #7A1F2A;   /* primary liturgical accent */
  --bordeaux-deep:   #5C151F;   /* hover/active */
  --gold:            #A88B45;   /* secondary, ornamental */
  --gold-soft:       #C4A86B;   /* hairlines, decorations */

  /* Typography */
  --font-display:    'Cormorant Garamond', Georgia, serif;
  --font-body:       'Lora', Georgia, serif;
  --font-ui:         'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Type scale — modular, with breathing room */
  --text-xs:         0.75rem;     /* 12px — eyebrow, captions */
  --text-sm:         0.875rem;    /* 14px — meta */
  --text-base:       1.0625rem;   /* 17px — body, slightly larger for serif */
  --text-lg:         1.25rem;     /* 20px — large body, lead */
  --text-xl:         1.5rem;      /* 24px — small headings */
  --text-2xl:        2rem;        /* 32px */
  --text-3xl:        2.75rem;     /* 44px */
  --text-4xl:        3.75rem;     /* 60px */
  --text-5xl:        5rem;        /* 80px — hero */

  /* Spacing — generous */
  --space-1:         0.25rem;
  --space-2:         0.5rem;
  --space-3:         0.75rem;
  --space-4:         1rem;
  --space-5:         1.5rem;
  --space-6:         2rem;
  --space-7:         3rem;
  --space-8:         4rem;
  --space-9:         6rem;
  --space-10:        8rem;

  /* Layout */
  --container-narrow: 38rem;     /* article reading width */
  --container-text:   46rem;     /* slightly wider for hero/cta */
  --container:        72rem;     /* main page width */
  --container-wide:   90rem;     /* footer */

  /* Borders & rules */
  --rule-hairline:   0.5px;
  --rule-thin:       1px;

  /* Transitions */
  --ease-out:        cubic-bezier(0.16, 1, 0.3, 1);
  --duration:        220ms;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 100%; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--ink);
  background: var(--paper);
  font-feature-settings: 'liga' 1, 'kern' 1;
}
img { max-width: 100%; display: block; }
button { font: inherit; cursor: pointer; background: none; border: none; color: inherit; padding: 0; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
::selection { background: var(--bordeaux); color: var(--paper); }
