/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

/* Google Fonts */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&family=Inter:wght@400;500;600;700&display=swap");
/* Typography families */
/* Colors (adjust to your palette) */
/* Replace with TKZ accent */
/* ============================
   TKZ Outline Scope
   ============================ */
.tkz-mode {
  /* Base body type */
  /* Headings */
  /* Uppercase for H1 + H2 */
  /* Fluid scale for key headings (safe for scssphp via calc()) */
  /* === Heading color variants === */
  /* Paragraphs & small text */
  /* Lists */
  /* Links */
  /* Buttons */
  /* Ensure primary button text always stays white */
  /* Blockquotes */
  /* Utilities */
  /* Text color utilities (no duplicates) */
  /* White Space No Wrap) */
  /* Utility spacer classes */
}
.tkz-mode body {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: #222;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.tkz-mode h1, .tkz-mode h2, .tkz-mode h3, .tkz-mode h4, .tkz-mode h5, .tkz-mode h6 {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.5em;
  color: #111;
  letter-spacing: -0.01em;
}
.tkz-mode h1, .tkz-mode h2 {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.tkz-mode h1 {
  font-size: clamp(2.25rem, calc(4vw + 0.5rem), 3.5rem);
}
.tkz-mode h2 {
  font-size: clamp(1.75rem, calc(3vw + 0.25rem), 2.5rem);
}
.tkz-mode h3 {
  font-size: clamp(1.5rem, calc(2vw + 0.25rem), 2rem);
}
.tkz-mode h4 {
  font-size: 1.25rem;
}
.tkz-mode h5 {
  font-size: 1.125rem;
}
.tkz-mode h6 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.tkz-mode h1.h-black, .tkz-mode h2.h-black, .tkz-mode h3.h-black {
  color: #111;
}
.tkz-mode h1.h-white, .tkz-mode h2.h-white, .tkz-mode h3.h-white {
  color: #fff;
}
.tkz-mode h1.h-blue, .tkz-mode h2.h-blue, .tkz-mode h3.h-blue {
  color: #406199;
}
.tkz-mode h1.h-gray, .tkz-mode h2.h-gray, .tkz-mode h3.h-gray {
  color: #b0b7bc;
}
.tkz-mode p {
  margin: 0 0 1.25em;
  font-size: 1rem;
}
.tkz-mode small, .tkz-mode .text-small {
  font-size: 0.875rem;
  color: #555;
}
.tkz-mode ul, .tkz-mode ol {
  margin: 0 0 1.25em 1.25em;
}
.tkz-mode li {
  margin: 0.4em 0;
}
.tkz-mode a {
  color: #0a5cc0;
  text-decoration: none;
  font-weight: 500;
}
.tkz-mode a:hover, .tkz-mode a:focus {
  text-decoration: underline;
}
.tkz-mode .button, .tkz-mode button, .tkz-mode input[type="submit"] {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 0.35rem;
  padding: 0.65rem 1.25rem;
  line-height: 1.1;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.tkz-mode .button-primary {
  background: #0a5cc0;
  color: #fff;
  border: 1px solid #0a5cc0;
}
.tkz-mode .button-primary:hover, .tkz-mode .button-primary:focus {
  background: #084c9e;
  border-color: #084c9e;
}
.tkz-mode .button-primary, .tkz-mode .button-primary:visited, .tkz-mode .button-primary:hover, .tkz-mode .button-primary:focus {
  color: #fff !important;
}
.tkz-mode blockquote {
  margin: 1.25em 0;
  padding: 0.75em 1em;
  border-left: 4px solid #0a5cc0;
  color: #555;
  font-style: italic;
}
.tkz-mode .lead {
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 68ch;
}
.tkz-mode .eyebrow {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: #555;
  margin-bottom: 0.35rem;
}
.tkz-mode .measure {
  max-width: 68ch;
}
.tkz-mode .text-black {
  color: #111 !important;
}
.tkz-mode .text-white {
  color: #fff !important;
}
.tkz-mode .text-blue {
  color: #406199 !important;
}
.tkz-mode .text-gray {
  color: #b0b7bc !important;
}
.tkz-mode .button-nowrap {
  white-space: nowrap;
}
.tkz-mode .spacer-20 {
  height: 20px;
}
.tkz-mode .spacer-40 {
  height: 40px;
}
.tkz-mode .spacer-60 {
  height: 60px;
}
.tkz-mode .spacer-80 {
  height: 80px;
}
.tkz-mode #g-utility {
  position: relative;
  background: url('../../images/utility/bg-utility.webp?68ab943b') no-repeat center center;
  background-size: cover;
  color: #fff;
  /* blue overlay */
}
.tkz-mode #g-utility::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(64, 97, 153, 0.8);
  z-index: 1;
}
.tkz-mode #g-utility > .g-container {
  position: relative;
  z-index: 2;
}
/* Phone viewport typography refinements */
@media (max-width: 480px) {
  .tkz-mode {
    /* Keep spacing tighter on phone */
  }
  .tkz-mode body {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
  .tkz-mode h1 {
    font-size: 1.75rem;
    letter-spacing: 0.03em;
    line-height: 1.15;
  }
  .tkz-mode h2 {
    font-size: 1.375rem;
    letter-spacing: 0.04em;
    line-height: 1.2;
  }
  .tkz-mode h3 {
    font-size: 1.125rem;
    line-height: 1.25;
  }
  .tkz-mode h4, .tkz-mode h5, .tkz-mode h6 {
    font-size: 1rem;
  }
  .tkz-mode p, .tkz-mode .lead {
    font-size: 0.9375rem;
    line-height: 1.65;
  }
  .tkz-mode .eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
  }
  .tkz-mode .spacer-20 {
    height: 15px;
  }
  .tkz-mode .spacer-40 {
    height: 30px;
  }
  .tkz-mode .spacer-60 {
    height: 45px;
  }
  .tkz-mode .spacer-80 {
    height: 60px;
  }
}
.tkz-mode .g-logo img, .tkz-mode .logo img {
  max-width: 120px;
  height: auto;
  display: block;
}
@media (max-width: 480px) {
  .tkz-mode .g-logo img, .tkz-mode .logo img {
    max-width: 120px;
    margin: 0 auto;
  }
}
/* End .tkz-mode */
/*# sourceMappingURL=custom_tkz_-_core.css.map */