/* ===================================================================
   APT Core — design tokens
   The only values a child theme overrides. Components never hardcode
   a colour, font or width: they read these variables.
   =================================================================== */

/* === Brand skin === */
:root { --brand-accent: #87CEEB; --brand-accent-contrast: #000; --brand-accent-hover: #fff; --brand-bg: #000; --brand-surface: #111; --brand-surface-2: #0d0d0d; --brand-header-bg: #232323; --brand-border: #2a2a2a; --brand-line: #fff; --brand-heading: #fff; --brand-text: #e9eef1; --brand-muted: #a8b0b5; --brand-success: #45c47b; --brand-error: #ff6666; --brand-font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; --brand-heading-weight: 900; --brand-wrap-max: 1200px; --brand-wrap-vw: 90vw; }

/* === System mapping (do not override per brand) === */
:root { --font-sans: var(--brand-font); --text: var(--brand-text); --muted: var(--brand-muted); --link: var(--brand-accent); --wrap: min(var(--brand-wrap-max), var(--brand-wrap-vw)); --wrap-text: min(780px, var(--brand-wrap-vw)); --gutter: clamp(16px, 2vw, 28px); --header-h: 80px; --bar-pad-x: clamp(16px, 2.5vw, 32px); --page-pad-y: clamp(40px, 7vh, 96px); --section-gap: clamp(56px, 9vh, 120px); --radius-s: 5px; --radius-m: 12px; --radius-l: 24px; --btn-bg: var(--brand-accent); --btn-text: var(--brand-accent-contrast); --btn-radius: var(--radius-s); --btn-weight: 800; --btn-size: 14px; --btn-pad: 12px 24px; --box-bg: rgba(135, 206, 235, 0.10); --shadow: 0 10px 30px rgba(0, 0, 0, 0.45); --ease: cubic-bezier(.2, .7, .2, 1); }

/* === Type scale === */
:root { --fs-xs: 0.75rem; --fs-s: 0.875rem; --fs-m: 1rem; --fs-l: clamp(1.125rem, 1rem + 0.5vw, 1.375rem); --fs-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem); --fs-h2: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); --fs-h1: clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem); }

@media (min-width: 1920px) { :root { --brand-wrap-vw: 86vw; } }
