/*
Theme Name: Olympia BioLabs
Template: generatepress
Description: Custom child theme for Olympia BioLabs — Greek mythology × futuristic biotechnology × advanced science. Phase 1: homepage built.
Author: Olympia BioLabs
Version: 1.0.0
Text Domain: olympia-biolabs
*/

/* Design tokens ported from the React reference app's globals.css — values
   only, not yet wired into any template. Populated here so the source of
   truth lives in one place from day one instead of drifting during
   Phase 1's actual template work. */
:root {
  /* Core */
  --ob-gold: #c9a84c;
  --ob-marble: #faf8f4;
  --ob-charcoal: #1b1e1c;

  /* Obsidian / dark register */
  --ob-obsidian: #14100c;
  --ob-obsidian-raised: #201b16;
  --ob-obsidian-line: #4a3d28;

  /* Glow accent — reserved for verification/technical moments only */
  --ob-glow: #38bdf8;
  --ob-glow-foreground: #bae6fd;

  /* Typography — matches the Airo source (src/styles/globals.css) exactly:
     Cormorant Garamond 600/700 for headings, Lato 400/500 for body/sans,
     the same system mono stack for technical readouts. A previous phase
     substituted Geist/Geist Mono here on a design judgment call; reverted
     per explicit instruction to match the Airo source, not reinterpret it. */
  --ob-font-heading: "Cormorant Garamond", Georgia, serif;
  --ob-font-sans: "Lato", -apple-system, BlinkMacSystemFont, sans-serif;
  --ob-font-mono: ui-monospace, "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;

  /* Fluid type scale — one interpolation formula throughout (400px to
     1440px viewport), so every size grows in lockstep instead of jumping
     at arbitrary breakpoints. Named by role, not by pixel value; ranges
     noted in comments for reference. */
  --ob-text-data: clamp(0.5rem, 0.476rem + 0.1vw, 0.5625rem);       /* 8 → 9 */
  --ob-text-tag: clamp(0.5625rem, 0.538rem + 0.1vw, 0.625rem);      /* 9 → 10 */
  --ob-text-label: clamp(0.625rem, 0.577rem + 0.19vw, 0.75rem);     /* 10 → 12 */
  --ob-text-xs: clamp(0.6875rem, 0.639rem + 0.19vw, 0.8125rem);     /* 11 → 13 */
  --ob-text-sm: clamp(0.75rem, 0.69rem + 0.24vw, 0.90625rem);       /* 12 → 14.5 */
  --ob-text-base: clamp(0.875rem, 0.8rem + 0.29vw, 1.0625rem);      /* 14 → 17 */
  --ob-text-lg: clamp(1.0625rem, 0.966rem + 0.385vw, 1.3125rem);    /* 17 → 21 */
  --ob-text-h2: clamp(2rem, 1.66rem + 1.35vw, 2.875rem);            /* 32 → 46 */
  --ob-text-display: clamp(2.625rem, 2rem + 2.5vw, 4.25rem);        /* 42 → 68 */
  --ob-text-numeral: clamp(2.75rem, 2.317rem + 1.731vw, 3.875rem);  /* 44 → 62 */
  --ob-text-glyph: clamp(11.25rem, 9.81rem + 5.77vw, 15rem);        /* 180 → 240 */

  /* Motion signature — Phase 5 creative pass. Every transition on the
     site previously used generic ease/ease-in-out/linear, which is one
     of the most reliable "template, not designed" tells. Two curves,
     used consistently instead of ad hoc per rule:
     - --ob-ease: content reveals, hover lifts, anything meant to feel
       like it has weight and settles — a confident deceleration, not
       a linear crawl or a bouncy overshoot.
     - --ob-ease-snappy: instant UI feedback (button press, focus) —
       quick and direct, no lingering. */
  --ob-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ob-ease-snappy: cubic-bezier(0.4, 0, 0.2, 1);
}
