/* ==========================================================================
   FONT SYSTEM - Pixel Perfect Typography from Figma Design
   ========================================================================== */

/* Adobe Caslon Pro - Display Font */
@font-face {
  font-family: "Adobe Caslon Pro";
  src: url("../fonts/ITC Caslon 224 Std Book.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Adobe Caslon Pro";
  src: url("../fonts/ACaslonPro-Semibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Adobe Caslon Pro";
  src: url("../fonts/ITC Caslon 224 Std Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Adrianna - Body Font */
@font-face {
  font-family: "Adrianna";
  src: url("../fonts/fonnts.com-Adrianna_Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Adrianna";
  src: url("../fonts/fonnts.com-Adrianna_Demibold.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Adrianna";
  src: url("../fonts/fonnts.com-Adrianna_Demibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Adrianna";
  src: url("../fonts/fonnts.com-Adrianna_Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Fallback Font Stack */
:root {
  --font-display: "Adobe Caslon Pro", "Playfair Display", Georgia, serif;
  --font-body: "Adrianna", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
}

/* Typography Scale - Based on Figma Design */
:root {
  /* Headings - Adobe Caslon Pro */
  --h1-size: 48px;
  --h1-line: 1.2;
  --h1-weight: 600;
  --h1-spacing: -0.02em;

  --h2-size: 34px;
  --h2-line: 1.2;
  --h2-weight: 600;
  --h2-spacing: 0.25px;

  --h3-size: 28px;
  --h3-line: 1.3;
  --h3-weight: 600;

  --h4-size: 24px;
  --h4-line: 1.334;
  --h4-weight: 600;

  /* Body Text - Adrianna */
  --body-large: 24px;
  --body-regular: 16px;
  --body-small: 14px;

  --body-line-height: 1.5;
  --body-line-height-large: 1.334;
}

/* Global Typography Styles */
body {
  font-family: var(--font-body);
  font-size: var(--body-regular);
  line-height: var(--body-line-height);
  color: #093855;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display);
  font-weight: var(--h2-weight);
  color: #093855;
  margin: 0;
}

h1 {
  font-size: var(--h1-size);
  line-height: var(--h1-line);
  letter-spacing: var(--h1-spacing);
  font-weight: var(--h1-weight);
}

h2 {
  font-size: var(--h2-size);
  line-height: var(--h2-line);
  letter-spacing: var(--h2-spacing);
  font-weight: var(--h2-weight);
}

h3 {
  font-size: var(--h3-size);
  line-height: var(--h3-line);
  font-weight: var(--h3-weight);
}

h4 {
  font-size: var(--h4-size);
  line-height: var(--h4-line);
  font-weight: var(--h4-weight);
}

/* Body Text Styles */
p {
  margin: 0 0 1rem;
}

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

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

strong,
b {
  font-weight: 700;
}

/* Utility Classes */
.font-display {
  font-family: var(--font-display);
}

.font-body {
  font-family: var(--font-body);
}

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.text-center {
  text-align: center;
}

.text-white {
  color: #ffffff;
}

.text-primary {
  color: #093855;
}

.text-secondary {
  color: #397396;
}

.text-accent {
  color: #eb6929;
}
