/* Block: resources_hero
 *
 * Custom rules for this block, extracted verbatim from the OLD static
 * site's resources/assets/css/style.css. Loaded only when this block is
 * present on the page (via ctmfg_enqueue_module_style() in functions.php).
 * Site-wide chrome (header, footer, body, .container) comes from the home
 * bundle (assets/css/style.min.css + custom.css) loaded on every page.
 * Includes .btn / .btn-wrap because the hero CTAs use them; harmless if the only
 * other resources-page block (download_cta) also renders a .btn — overrides match.
 */

.btn-wrap {
  gap: 20px;
}
@media (max-width: 991px) {
  .btn-wrap {
    margin-top: 35px;
  }
}
@media (max-width: 575px) {
  .btn-wrap {
    margin-top: 20px;
  }
}

.btn {
  font-weight: bold;
  font-size: 34px;
  color: #fff;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  border-radius: 0;
  min-width: 286px;
  height: 68px;
  border: 1px solid #F26818;
  background-color: #F26818;
}
@media (max-width: 1439px) {
  .btn {
    font-size: 30px;
  }
}
@media (max-width: 1199px) {
  .btn {
    font-size: 24px;
    min-width: 240px;
  }
}
@media (max-width: 991px) {
  .btn {
    font-size: 18px;
    height: 58px;
  }
}
@media (max-width: 575px) {
  .btn {
    font-size: 16px;
    height: 50px;
  }
}
@media (max-width: 374px) {
  .btn {
    font-size: 15px;
    min-width: 200px;
  }
}

.btn:hover {
  background-color: transparent;
  color: #F26818;
  border: 1px solid #F26818;
}

.hero-section {
  color: #fff;
  background-color: #002150;
  padding: 270px 0;
  text-align: center;
}
@media (max-width: 1599px) {
  .hero-section {
    padding: 200px 0;
  }
}
@media (max-width: 1439px) {
  .hero-section {
    padding: 160px 0;
  }
}
@media (max-width: 1199px) {
  .hero-section {
    padding: 90px 0;
  }
}
@media (max-width: 991px) {
  .hero-section {
    padding: 60px 0 45px;
  }
}
@media (max-width: 767px) {
  .hero-section {
    text-align: left;
  }
}
@media (max-width: 575px) {
  .hero-section {
    padding: 45px 0 30px;
  }
}
.hero-section .hero-text {
  width: 800px;
  margin: 0 auto;
  max-width: 100%;
}
.hero-section h1, .hero-section .h1 {
  font-size: 110px;
  font-weight: bold;
  margin-bottom: 25px;
}
@media (max-width: 1599px) {
  .hero-section h1, .hero-section .h1 {
    font-size: 92px;
  }
}
@media (max-width: 1439px) {
  .hero-section h1, .hero-section .h1 {
    font-size: 82px;
  }
}
@media (max-width: 1199px) {
  .hero-section h1, .hero-section .h1 {
    font-size: 76px;
  }
}
@media (max-width: 575px) {
  .hero-section h1, .hero-section .h1 {
    font-size: 48px;
  }
}
.hero-section p {
  font-size: 24px;
  margin-bottom: 30px;
  color: #fff;
}
@media (max-width: 1439px) {
  .hero-section p {
    font-size: 22px;
  }
}
@media (max-width: 1199px) {
  .hero-section p {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
@media (max-width: 575px) {
  .hero-section p {
    font-size: 16px;
    margin-bottom: 15px;
  }
}

/* Transparent overlay header active (body.ctmfg-new-design): the desktop header
   floats over the hero, so pad the top to clear it. Desktop only — every rule is
   floored at min-width:992 so the in-flow mobile header (<=991px) is never
   touched. Values are tuned per breakpoint because the header overlaps more as
   the base padding shrinks on smaller desktops. >=1600px keeps the original
   top-only +100 (270 -> 370); the smaller ranges use the requested values. */
@media (min-width: 992px) {
  body.ctmfg-new-design .hero-section { padding-top: 370px; }        /* >=1600 */
}
@media (min-width: 992px) and (max-width: 1599px) {
  body.ctmfg-new-design .hero-section { padding: 300px 0; }
}
@media (min-width: 992px) and (max-width: 1439px) {
  body.ctmfg-new-design .hero-section { padding: 350px 0; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.ctmfg-new-design .hero-section { padding: 350px 0 150px; }
}
