/* NoralAI brand tokens — actual brand
 * Ink: #0A1F2E · Ground: #F5F1EA · Accent: #FF5B2E
 * Type: Inter (heavy, tight tracking) · Fraunces optional · JetBrains Mono for meta
 */

:root {
  /* ---------- CORE PALETTE ---------- */
  --ink:    #0A1F2E;   /* primary ink, near-black navy */
  --ink-2:  #122a3c;   /* secondary surface (inverted card) */
  --cream:  #F5F1EA;   /* primary ground */
  --paper:  #FAF7F1;   /* slightly lighter page bg */
  --sand:   #ECE6DA;   /* subtle surface */
  --signal: #FF5B2E;   /* primary accent — voice/signal orange */
  --signal-soft: #ff8b65;
  --signal-quiet: #ffd4c2;
  --stone:  #4a5560;   /* body text on cream */
  --mist:   #7d8a96;   /* muted meta */

  --rule:        rgba(10, 31, 46, 0.10);
  --rule-strong: rgba(10, 31, 46, 0.20);

  /* ---------- TYPE ---------- */
  --font-display: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-body:    "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --font-serif:   "Fraunces", ui-serif, Georgia, serif;

  /* ---------- RADII ---------- */
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-tile: 17%;  /* matches symbol mark — 40/240 ≈ 17% */
}

html, body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mist);
  font-weight: 500;
}

/* ---------- RESPONSIVE LAYER ---------- */
/* Default desktop nav state; hamburger hidden. */
.nora-nav-desktop { display: flex; }
.nora-nav-burger  { display: none; }

@media (max-width: 1024px) {
  /* tablet collapses */
  .nora-grid-3 { grid-template-columns: 1fr 1fr !important; }
  .nora-grid-6 { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 768px) {
  /* nav: hide desktop links, show hamburger */
  .nora-nav-desktop { display: none !important; }
  .nora-nav-burger  { display: inline-flex !important; }

  /* mobile: collapse all multi-col grids to single column */
  [data-grid="2col"], [data-grid="3col"], [data-grid="4col"], [data-grid="6col"], [data-grid="split"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  /* reset child column spans (e.g., grid-column: span 4) so cards stack cleanly */
  [data-grid="2col"] > *, [data-grid="3col"] > *, [data-grid="4col"] > *, [data-grid="6col"] > *, [data-grid="split"] > * {
    grid-column: 1 / -1 !important;
  }
  /* scale display type */
  [data-type="display"] { font-size: clamp(40px, 9vw, 64px) !important; line-height: 1.05 !important; }
  [data-type="h2"]      { font-size: clamp(28px, 6vw, 40px) !important; }
  [data-type="lede"]    { font-size: 17px !important; line-height: 1.5 !important; }
  /* hide decorative SVG marks on mobile */
  [data-decorative="true"] { display: none !important; }
  /* reduce vertical padding on hero/sections */
  [data-section="hero"] { padding: 64px 20px !important; }
  [data-section]        { padding: 56px 20px !important; }
  /* prevent root horizontal scroll — last-resort guard */
  html, body { overflow-x: hidden; }
}
