/*
  STEWARD TYPOGRAPHY
  Fonts are linked from Google Fonts. No font files are packaged locally.
*/

@import url("https://fonts.googleapis.com/css2?family=Audiowide&family=Inconsolata:wght@400;500;600;700&display=swap");

:root {
  --font-display: "Audiowide", sans-serif;
  --font-secondary: "Inconsolata", monospace;

  /* Core text sizes */
  --font-size-legal: 0.8125rem;  /* 13px */
  --font-size-eyebrow: 0.875rem; /* 14px */
  --font-size-small: 0.9375rem;   /* 15px */
  --font-size-body: 1.125rem;     /* 18px */
  --font-size-large: clamp(1.25rem, 1.5vw, 1.5rem); /* 20–24px */

  /* Responsive heading scale */
--font-size-h6: 1rem;                              /* 16px */
--font-size-h5: clamp(1.25rem, 1.7vw, 1.375rem);  /* 20–22px */
--font-size-h4: clamp(1.5rem, 2.2vw, 1.75rem);    /* 24–28px */
--font-size-h3: clamp(1.75rem, 3vw, 2.375rem);    /* 28–38px */
--font-size-h2: clamp(2.25rem, 3.75vw, 2.875rem); /* 36–46px */
--font-size-h1: clamp(2.875rem, 4.5vw, 3.5rem);   /* 46–56px */

  /* Line heights */
  --line-height-display: 1.04;
  --line-height-heading: 1.15;
  --line-height-body: 1.65;
  --line-height-small: 1.6;

  /* Font weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
}

body {
  font-family: var(--font-secondary);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--font-weight-regular);
  text-wrap: balance;
}

h1,
.h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-display);
  letter-spacing: -0.035em;
}

h2,
.h2 {
  font-size: var(--font-size-h2);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

h3,
.h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-heading);
  letter-spacing: -0.015em;
}

h4,
h5,
h6 {
  margin: 0;
  font-family: var(--font-secondary);
  font-weight: var(--font-weight-bold);
}

h4,
.h4 {
  font-size: var(--font-size-h4);
  line-height: 1.2;
}

h5,
.h5 {
  font-size: var(--font-size-h5);
  line-height: 1.25;
}

h6,
.h6 {
  font-size: var(--font-size-h6);
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:is(h1, h2, h3, h4, h5, h6).heading-shadow {
  text-shadow: 3px 3px 3px #daa540;
}

p {
  margin: 0;
}

strong,
b {
  font-weight: var(--font-weight-bold);
}

.eyebrow {
  margin: 0;
  font-family: var(--font-secondary);
  font-size: var(--font-size-eyebrow);
  font-weight: var(--font-weight-bold);
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.body-large {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-medium);
  line-height: 1.55;
}

.body-small {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.body-legal {
  font-size: var(--font-size-legal);
  line-height: var(--line-height-small);
}

a,
button,
.button,
input,
textarea,
select {
  font-family: var(--font-secondary);
}

a {
  font-weight: var(--font-weight-bold);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

code {
  font-family: var(--font-secondary);
  font-size: 0.9em;
}


