/* === OPEN SANS FONTS === */
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-SemiBoldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-ExtraBoldItalic.ttf') format('truetype');
  font-weight: 800;
  font-style: italic;
}

/* === OPEN SANS CONDENSED (optional) === */
@font-face {
  font-family: 'Open Sans Condensed';
  src: url('../fonts/OpenSans_Condensed-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans Condensed';
  src: url('../fonts/OpenSans_Condensed-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

/* === OPEN SANS SEMICONDENSED (optional) === */
@font-face {
  font-family: 'Open Sans SemiCondensed';
  src: url('../fonts/OpenSans_SemiCondensed-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans SemiCondensed';
  src: url('../fonts/OpenSans_SemiCondensed-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

/* === GLOBAL FONT OVERRIDE === */
html, body, h1, h2, h3, h4, h5, h6, p, span, div, a, li, ul, ol, blockquote, label, input, textarea, button, th, td, strong, em, small, legend, figcaption {
  font-family: 'Open Sans', sans-serif !important;
}

/* === Global Font Size Override (Reduced) === */
html {
  font-size: 16px !important; /* Base size */
}

body {
  font-size: 0.95rem !important; /* ~15.2px */
  line-height: 1.5 !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Open Sans', sans-serif !important;
  line-height: 1.3 !important;
  margin-bottom: 0.6em;
}

h1 {
  font-size: 2.2rem !important; /* ~35px */
  font-weight: 700 !important;
}
h2 {
  font-size: 1.8rem !important; /* ~29px */
  font-weight: 700 !important;
}
h3 {
  font-size: 1.5rem !important; /* ~24px */
  font-weight: 600 !important;
}
h4 {
  font-size: 1.3rem !important; /* ~21px */
}
h5 {
  font-size: 1.1rem !important; /* ~18px */
}
h6 {
  font-size: 1rem !important; /* 16px */
}

/* Text elements */
p, li, a, span, strong, em, small, label, input, textarea, button, th, td, blockquote, figcaption {
  font-size: 1rem !important; /* 16px */
  font-family: 'Open Sans', sans-serif !important;
}

/* Responsive scaling */
@media (max-width: 768px) {
  html {
    font-size: 14px !important;
  }

  h1 {
    font-size: 1.8rem !important;
  }

  h2 {
    font-size: 1.5rem !important;
  }

  h3 {
    font-size: 1.3rem !important;
  }
}

