:root {
  --pfi-color-ink: #14212b;
  --pfi-color-text: #46515d;
  --pfi-color-muted: #66717d;
  --pfi-color-primary: #7d1518;
  --pfi-color-primary-deep: #5f0f12;
  --pfi-color-secondary: #123e78;
  --pfi-color-secondary-deep: #0b315f;
  --pfi-color-bone: #f3efe6;
  --pfi-color-surface: #fffdf8;
  --pfi-color-panel: #ffffff;
  --pfi-color-line: #d8d3c6;
  --pfi-font-heading: "Barlow Condensed", "Arial Narrow", "Franklin Gothic Medium", sans-serif;
  --pfi-font-body: "IBM Plex Sans", "Segoe UI", sans-serif;
  --pfi-type-h1: clamp(2.75rem, 5vw, 4.8rem);
  --pfi-type-h2: clamp(2rem, 3.4vw, 3.35rem);
  --pfi-type-h3: clamp(1.25rem, 1.6vw, 1.55rem);
  --pfi-type-body: clamp(1rem, 1.15vw, 1.08rem);
  --pfi-type-lead: clamp(1.1rem, 1.35vw, 1.24rem);
  --pfi-type-eyebrow: 0.78rem;
  --pfi-eyebrow-marker-size: 0.5rem;
  --pfi-eyebrow-marker-gap: 0.6875rem;
  --pfi-eyebrow-marker-color: var(--pfi-color-primary);
  --pfi-line-heading: 1.05;
  --pfi-line-body: 1.65;
  --pfi-line-lead: 1.58;
  --pfi-track-heading: 0;
  --pfi-track-eyebrow: 0.14em;
  --pfi-weight-heading: 900;
  --pfi-weight-body: 400;
  --pfi-weight-strong: 800;
  --pfi-shell-standard: 1120px;
  --pfi-shell-wide: 1280px;
  --pfi-shell-archive: 1180px;
  --pfi-text-measure: 680px;
  --pfi-text-measure-wide: 760px;
  --pfi-space-2xs: 0.5rem;
  --pfi-space-xs: 0.75rem;
  --pfi-space-sm: 1rem;
  --pfi-space-md: 1.5rem;
  --pfi-space-lg: 2rem;
  --pfi-space-xl: 3rem;
  --pfi-space-2xl: 4rem;
  --pfi-space-section: clamp(56px, 7vw, 92px);
  --pfi-space-section-tight: clamp(38px, 5vw, 64px);
  --pfi-space-section-hero: clamp(66px, 8vw, 112px);
  --pfi-space-gutter: clamp(20px, 4vw, 48px);
  --pfi-space-card: clamp(20px, 3vw, 32px);
  --pfi-radius-panel: 8px;
  --pfi-radius-card: 4px;
  --pfi-shadow-soft: 0 18px 40px rgba(20, 33, 43, 0.08);
  --pfi-shadow-raised: 0 24px 80px rgba(20, 33, 43, 0.18);

  --pf-color-ink: var(--pfi-color-ink);
  --pf-color-text: var(--pfi-color-text);
  --pf-color-iron: var(--pfi-color-muted);
  --pf-color-sand: var(--pfi-color-bone);
  --pf-color-primary: var(--pfi-color-primary);
  --pf-color-primary-deep: var(--pfi-color-primary-deep);
  --pf-color-secondary: var(--pfi-color-secondary);
  --pf-color-secondary-deep: var(--pfi-color-secondary-deep);
  --pf-color-accent: var(--pfi-color-primary);
  --pf-color-accent-deep: var(--pfi-color-primary-deep);
  --pf-color-surface: var(--pfi-color-surface);
  --pf-color-border: var(--pfi-color-line);
  --pf-color-panel: var(--pfi-color-panel);
  --pf-color-panel-alt: var(--pfi-color-bone);
  --pf-color-soft: var(--pfi-color-bone);
  --pf-color-white: var(--pfi-color-panel);
  --pf-shadow-soft: var(--pfi-shadow-soft);
  --pf-shell-width: var(--pfi-shell-standard);
  --pf-radius: 0;
  --pf-radius-panel: var(--pfi-radius-panel);
  --pf-font-heading: var(--pfi-font-heading);
  --pf-font-body: var(--pfi-font-body);
  --pf-size-eyebrow: var(--pfi-type-eyebrow);
  --pf-size-section-title: var(--pfi-type-h2);
  --pf-size-body: var(--pfi-type-body);
  --pf-space-section: var(--pfi-space-section);
  --pf-space-section-lg: var(--pfi-space-section-hero);
  --pf-space-section-tight: var(--pfi-space-section-tight);
  --pf-space-stack: var(--pfi-space-md);
  --pf-space-stack-tight: var(--pfi-space-sm);
}

.pfi-layout-row {
  margin-inline: auto;
  max-width: var(--pfi-shell-standard);
  width: min(calc(100% - 40px), var(--pfi-shell-standard));
}

.pfi-section-pad {
  padding-block: var(--pfi-space-section);
}

.pfi-section-pad--tight {
  padding-block: var(--pfi-space-section-tight);
}

.pfi-section-pad--hero {
  padding-block: var(--pfi-space-section-hero) var(--pfi-space-section);
}

.pfi-preset-h1,
.pfi-preset-h2,
.pfi-preset-h3 {
  color: var(--pfi-color-ink);
  font-family: var(--pfi-font-heading);
  font-weight: var(--pfi-weight-heading);
  letter-spacing: var(--pfi-track-heading);
  line-height: var(--pfi-line-heading);
  margin: 0;
  text-wrap: balance;
}

.pfi-preset-h1 {
  font-size: var(--pfi-type-h1);
}

.pfi-preset-h2 {
  font-size: var(--pfi-type-h2);
}

.pfi-preset-h3 {
  font-size: var(--pfi-type-h3);
}

.pfi-preset-body,
.pfi-preset-lead {
  color: var(--pfi-color-text);
  font-family: var(--pfi-font-body);
  font-weight: var(--pfi-weight-body);
  letter-spacing: 0;
  margin: 0;
}

.pfi-preset-body {
  font-size: var(--pfi-type-body);
  line-height: var(--pfi-line-body);
}

.pfi-preset-lead {
  font-size: var(--pfi-type-lead);
  line-height: var(--pfi-line-lead);
  max-width: 44ch;
}

.pfi-preset-eyebrow {
  align-items: center;
  color: var(--pfi-color-primary);
  display: inline-flex;
  font-family: var(--pfi-font-body);
  font-size: var(--pfi-type-eyebrow);
  font-weight: var(--pfi-weight-strong);
  gap: var(--pfi-eyebrow-marker-gap);
  letter-spacing: var(--pfi-track-eyebrow);
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

.pfi-preset-eyebrow::before {
  background: var(--pfi-eyebrow-marker-color);
  content: "";
  display: block;
  flex: 0 0 var(--pfi-eyebrow-marker-size);
  height: var(--pfi-eyebrow-marker-size);
  width: var(--pfi-eyebrow-marker-size);
}
