/* ============================================================
   INFINITY POWERS — OWNER REVIEW V2 OVERRIDES
   Static HTML review build. These rules are intentionally kept
   separate so the approved changes can later move cleanly to WP.
   ============================================================ */
@font-face {
  font-family: 'Alexandria';
  src: url('../fonts/alexandria/Alexandria-VariableFont_wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --infinity-brand: #14677c;
  --infinity-brand-rgb: 20, 103, 124;
  --infinity-deep: #0b4253;
  --infinity-navy: #071d2c;
  --infinity-aqua: #63d8d8;
  --infinity-white: #ffffff;
  /* Replace the template's green/aqua primary with Infinity brand teal. */
  --thm-primary-color: var(--infinity-brand) !important;
  --thm-primary-color-rgb: var(--infinity-brand-rgb) !important;
}

/* Keep the page-opening loader aligned with the Infinity brand palette. */
.loader-wrap .layer .overlay {
  background: var(--infinity-brand) !important;
}

/* Company typography for the review version. */
body,
button,
input,
select,
textarea,
.main-menu__list a,
.mobile-nav__content a {
  font-family: 'Alexandria', 'Montserrat', 'Hanken Grotesk', sans-serif !important;
}
h1,h2,h3,h4,h5,h6 {
  font-family: 'Alexandria', 'Montserrat', sans-serif !important;
}

/* Owner request 01: page-opening colour aligned with Infinity identity. */
.breadcrumb-style1 {
  background: linear-gradient(40deg, #061d2d 12%, #14677c 46%, #071d2c 82%) !important;
}
.breadcrumb-style1::before,
.breadcrumb-style1::after {
  border-color: rgba(99,216,216,.24) !important;
}
.breadcrumb-menu ul li.active,
.breadcrumb-menu ul li.active a {
  color: var(--infinity-aqua) !important;
}

/* Unified active-page behaviour. JS adds .infinity-menu-active. */
.main-menu__list a[aria-current='page'],
.main-menu__list a.infinity-menu-active,
.mobile-nav__content .main-menu__list a[aria-current='page'],
.mobile-nav__content .main-menu__list a.infinity-menu-active {
  color: var(--infinity-aqua) !important;
}
.main-menu__list li.current > a:not([aria-current='page']):not(.infinity-menu-active) {
  color: inherit;
}

/* Owner request 02: mobile navigation uses the same Infinity identity. */
.mobile-nav__content {
  background: linear-gradient(180deg, #061d2d 0%, #0b4253 100%) !important;
  width: min(88vw, 350px) !important;
  border-right: 1px solid rgba(99,216,216,.18);
}
.mobile-nav__overlay {
  background-color: var(--infinity-navy) !important;
}
.mobile-nav__content .logo-box {
  margin: 0 52px 26px 0 !important;
  padding: 13px 16px !important;
  min-height: 76px;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.mobile-nav__content .logo-box a { display:block; width:100%; }
.mobile-nav__content .logo-box img {
  display: block;
  width: auto !important;
  max-width: 198px !important;
  max-height: 58px !important;
  object-fit: contain;
}
.mobile-nav__content .main-menu__list > li > a,
.mobile-nav__content .main-menu__list > li > ul > li > a {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.mobile-nav__content .main-menu__list li,
.mobile-nav__content .main-menu__list li + li {
  border-color: rgba(255,255,255,.10) !important;
}
.mobile-nav__close,
.mobile-nav-search-box .search-form button {
  background-color: var(--infinity-brand) !important;
}
.mobile-nav__contact li i,
.mobile-nav__social a:hover {
  color: var(--infinity-aqua) !important;
}

@media (max-width: 767px) {
  .mobile-nav__content .logo-box img { max-width: 172px !important; }
  .breadcrumb-style1 .title h2 { font-size: clamp(38px, 10vw, 54px) !important; }
}
