/* ipsemet-brand.css — shared design tokens + wordmark mechanics
 * ------------------------------------------------------------------------- */
:root {
  /* Ink / brand */
  --ipse-ink: #173453;       /* primary text ink */
  --ipse-navy: #0E2C49;      /* deepest brand navy */
  --ipse-mid: #1C6E8E;
  --ipse-cy: #33B7C4;        /* cyan accent */
  --ipse-cy-2: #5FE3E3;      /* light cyan */
  /* Surfaces */
  --ipse-night: #081522;     /* near-black navy, dark surfaces */
  --ipse-night-2: #0C2236;
  --ipse-cream: #F4F1EA;     /* warm paper */
  --ipse-cream-2: #EAE6DC;
  --ipse-paper: #FBFAF6;
  --ipse-line: rgba(23,52,83,.14);
  --ipse-line-dk: rgba(255,255,255,.12);
  /* Type */
  --ipse-serif: 'Libre Baskerville', Georgia, serif;
  --ipse-sans: 'Saira', system-ui, sans-serif;
  --ipse-mono: 'JetBrains Mono', ui-monospace, monospace;
  /* Gradient */
  --ipse-grad: linear-gradient(120deg, var(--ipse-navy), var(--ipse-mid) 42%, var(--ipse-cy) 74%, var(--ipse-cy-2));
}

/* —— Wordmark ————————————————————————————————————————————————————————————
 * The locked lockup: italic Libre Baskerville i + Saira lowercase "psemet".
 * i stem height is matched to the x-height of psemet (ratio 71/74 = .959);
 * the rest is nudged +1px at 74px (≈ .0135em) for optical spacing. */
.ipse-wm {
  display: inline-flex;
  align-items: baseline;
  line-height: .9;
  white-space: nowrap;
  font-family: var(--ipse-sans);
}
.ipse-wm-i {
  font-family: var(--ipse-serif);
  font-style: italic;
  font-weight: 400;
  font-size: .959em;
}
.ipse-wm-rest {
  font-family: var(--ipse-sans);
  font-weight: 500;
  letter-spacing: 0;
  margin-left: .0135em;
}
.ipse-wm.caps .ipse-wm-rest { text-transform: uppercase; letter-spacing: .05em; margin-left: .07em; }
.ipse-wm.caps .ipse-wm-i { font-size: 1.27em; }

/* —— Lockup ——————————————————————————————————————————————————————————————— */
.ipse-lockup { display: inline-flex; align-items: center; }
.ipse-lockup.ipse-horizontal { flex-direction: row; gap: .42em; }
.ipse-lockup.ipse-stacked { flex-direction: column; gap: .34em; }
.ipse-lockup-mark { display: inline-flex; flex: none; }
.ipse-lockup-mark svg { display: block; width: 100%; height: 100%; }
.ipse-mark-svg { display: block; }
