/* ════════════════════════════════════════════════════════════════
   CortexaForge — Design Tokens, Fonts, Signature Background
   Derived from the design system's colors_and_type.css.
   Fonts self-hosted as subset woff2. British English. No emoji.
   ════════════════════════════════════════════════════════════════ */

/* ─────────── FONT FACES (woff2) ─────────── */
@font-face { font-family:'Cormorant'; src:url('/fonts/Cormorant-Light.woff2') format('woff2');        font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant'; src:url('/fonts/Cormorant-Italic.woff2') format('woff2');       font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Cormorant'; src:url('/fonts/Cormorant-Medium.woff2') format('woff2');       font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant'; src:url('/fonts/Cormorant-MediumItalic.woff2') format('woff2'); font-weight:500; font-style:italic; font-display:swap; }
@font-face { font-family:'Cormorant'; src:url('/fonts/Cormorant-SemiBold.woff2') format('woff2');     font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant'; src:url('/fonts/Cormorant-SemiBoldItalic.woff2') format('woff2');font-weight:600; font-style:italic; font-display:swap; }

@font-face { font-family:'DM Sans'; src:url('/fonts/DMSans-Light.woff2') format('woff2');    font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('/fonts/DMSans-Regular.woff2') format('woff2');  font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('/fonts/DMSans-Italic.woff2') format('woff2');   font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('/fonts/DMSans-Medium.woff2') format('woff2');   font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('/fonts/DMSans-SemiBold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('/fonts/DMSans-Bold.woff2') format('woff2');     font-weight:700; font-style:normal; font-display:swap; }

@font-face { font-family:'DM Mono'; src:url('/fonts/DMMono-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Mono'; src:url('/fonts/DMMono-Medium.woff2') format('woff2');  font-weight:500; font-style:normal; font-display:swap; }

/* ─────────── TOKENS ─────────── */
:root {
  /* brand palette */
  --cf-basalt:#132E3F; --cf-cinder:#3E2302; --cf-forge-ember:#F13B1F;
  --cf-science-steel:#2C4A54; --cf-harbour:#537B85; --cf-bone:#F4EFE6;
  --cf-mist:#84B4BC; --cf-cortexa-cobalt:#3F9FD4; --cf-fog:#E8E4DC; --cf-tinder:#66350D;

  --accent:var(--cf-forge-ember); --accent-hover:#d63519;

  /* type families */
  --font-display:'Cormorant', Georgia, 'Times New Roman', serif;
  --font-body:'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono:'DM Mono', 'SF Mono', 'Courier New', monospace;

  /* radii / motion */
  --radius-md:8px; --radius-lg:16px; --radius-xl:24px;
  --transition:0.25s ease; --transition-slow:0.4s ease;
  --grid-size:48px;

  /* fluid edge padding */
  --edge: clamp(20px, 6vw, 96px);
}

/* ─────────── BASE ─────────── */
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--cf-basalt); color:var(--cf-bone);
  font-family:var(--font-body); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
}
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; }
:focus-visible { outline:2px solid var(--cf-forge-ember); outline-offset:3px; border-radius:2px; }

/* ─────────── WORDMARK (two-tone) ─────────── */
.wordmark { font-family:var(--font-body); font-weight:700; letter-spacing:0.005em; white-space:nowrap; }
.wordmark .cortexa { color:var(--cf-bone); }
.wordmark .forge   { color:var(--cf-forge-ember); }
.on-light .wordmark .cortexa { color:var(--cf-basalt); }

/* honour reduced motion globally (also the brand's documented preference) */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  * { animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}
