/* ============================================================
   Hili — Base / reset layer
   Applies the brand's defaults: pale-grey page, warm-brown ink,
   light SimplerPro display. Bidi-aware (Hebrew is the primary
   product language; Latin is fully supported by the same face).
   ============================================================ */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  direction: rtl; /* Hebrew-first; set dir="ltr" on an element for Latin-only blocks */
  font-family: var(--font-body);
  font-weight: var(--fw-light);
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  letter-spacing: var(--ls-body);
  color: var(--text-primary);
  background-color: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headings — light weight, tight tracking, hierarchy via size.
   Colour inherits the surface so they read correctly on dark
   cards/sections; the page default comes from <body>. */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  letter-spacing: var(--ls-header);
  line-height: var(--lh-tight);
  color: inherit;
  margin: 0 0 0.4em;
  text-wrap: balance;
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-snug); }
h3 { font-size: var(--fs-h3); line-height: var(--lh-snug); }

p {
  margin: 0 0 1em;
  text-wrap: pretty;
}

a {
  color: var(--text-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
  transition: color var(--dur-fast) var(--ease-standard);
}
a:hover { color: var(--accent-hover); }

:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
  border-radius: var(--radius-sm);
}

/* ---- A few brand utilities ---- */

/* Display heading (the 4x "large header") */
.hili-display {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-header);
}

/* Lead paragraph (1.75x) */
.hili-lead {
  font-size: var(--fs-lead);
  line-height: var(--lh-relaxed);
  letter-spacing: var(--ls-header);
}

/* Mono eyebrow / kicker — the "data" voice. No uppercase (Hebrew
   has no caps); Latin eyebrows can add text-transform locally. */
.hili-eyebrow {
  font-family: var(--font-mono);
  font-weight: var(--fw-medium);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-mono);
  color: var(--text-muted);
}
