/* RESET */

*,
::after,
::before {
  box-sizing: border-box;
}

ol[class],
ul[class] {
  padding: 0;
}

blockquote,
body,
dd,
dl,
figcaption,
figure,
h1,
h2,
h3,
h4,
li,
ol[class],
p,
ul[class] {
  margin: 0;
}

body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  font-family: "Mont", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; 
  font-weight: 100;
  -webkit-font-smoothing: antialiased;
  position: relative;
  background-color: #fff;
}

ol[class],
ul[class] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0s !important;
    scroll-behavior: auto !important;
  }
}

html {
  scroll-behavior: smooth;
}

/* COLORS */

	:root {
  --green: #93d383;
  --lightgreen: #cceec9;
  --yellow: #ecb24d;
  --mutedaqua: #52b4bc;
  --aqua: #14babd;
  --lightblue: #e1fbfb;
  --blue: #2e398b;
  --darkblue: #232f3d;
  --powerblue: #02afd7;
  --electricblue: #74daff;
  --mutedpurple: #8967cc;
  --purple: #40246b;
  --orange: #f26522;
  --font: #464646;
  --dark: #282828;
  --black: #171717;
  --white: #fff;
  --gradient: linear-gradient(to right, #74d9ff 0%, #090dbc 100%);
}

/* TEXT COLOR */
.green { color: var(--green); }
.lightgreen { color: var(--lightgreen); }
.yellow { color: var(--yellow); }
.mutedaqua { color: var(--mutedaqua); }
.aqua { color: var(--aqua); }
.lightblue { color: var(--lightblue); }
.blue { color: var(--blue); }
.darkblue { color: var(--darkblue); }
.powerblue { color: var(--powerblue); }
.electricblue { color: var(--electricblue); }
.mutedpurple { color: var(--mutedpurple); }
.purple { color: var(--purple); }
.orange { color: var(--orange); }
.font { color: var(--font); }
.dark { color: var(--dark); }
.black { color: var(--black); }
.white { color: var(--white); }

/* BACKGROUND COLOR */
.green-bg { background-color: var(--green); }
.lightgreen-bg { background-color: var(--lightgreen); }
.yellow-bg { background-color: var(--yellow); }
.mutedaqua-bg { background-color: var(--mutedaqua); }
.aqua-bg { background-color: var(--aqua); }
.lightblue-bg { background-color: var(--lightblue); }
.blue-bg { background-color: var(--blue); }
.darkblue-bg { background-color: var(--darkblue); }
.powerblue-bg { background-color: var(--powerblue); }
.electricblue-bg { background-color: var(--electricblue); }
.mutedpurple-bg { background-color: var(--mutedpurple); }
.purple-bg { background-color: var(--purple); }
.orange-bg { background-color: var(--orange); }
.font-bg { background-color: var(--font); }
.dark-bg { background-color: var(--dark); }
.black-bg { background-color: var(--black); }
.white-bg { background-color: var(--white); }

/* GRADIENT BACKGROUND */
.gradient-bg { background: var(--gradient); }


/* FONTS */

/* Mont - local woff2 */

@font-face {
  font-family: "Mont";
  src: url("../fonts/Montserrat-ExtraLight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Mont";
  src: url("../fonts/Montserrat-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Mont";
  src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Mont";
  src: url("../fonts/Montserrat-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Mont";
  src: url("../fonts/Montserrat-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Mont";
  src: url("../fonts/Montserrat-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Mont";
  src: url("../fonts/Montserrat-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

.center {
  text-align: center;
}

.center h1, .center h2,.center h3, .center p {
  text-align: center;
}




  p {
      color: var(--colorDark);
      font-family: 'Mont', sans-serif;
      font-weight: 400;
      font-size: 20px;
      margin-bottom: 20px;
      line-height: 160%;
  }

  li {
      color: var(--colorDark);
      font-family: 'Mont', sans-serif;
      font-weight: 400;
      font-size: 20px;
      margin-bottom: 10px;
      line-height: 160%;
    text-align: left;
  }

  ul i {
    margin-right: 9px;
}

  h1 {
    font-family: 'Mont', sans-serif;
    letter-spacing: .02em;
    font-size: 40px;
    color: rgb(255,255,255,1);
    text-transform: uppercase;
    font-weight: 600;
    text-align: left;
    line-height: 110%;
    margin-bottom: 20px;
  }

  h2 {
    font-family: 'Mont', sans-serif;
    letter-spacing: .02em;
    font-size: 32px;
    color: var(--colorDarkFont);
    text-transform: uppercase;
    font-weight: 600;
    text-align: left;
    line-height: 120%;
    margin-bottom: 10px;
  }
  
  h3 {
        font-family: 'Mont', sans-serif;
    letter-spacing: .02em;
    font-size: 24px;
    color: var(--orange);
    text-transform: uppercase;
    font-weight: 600;
    text-align: left;
    line-height: 110%;
    margin-bottom: 20px;
  }

/* LINKS */

a {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
  font-family: inherit;
}

.post a:not(.learn-more) {
  color: var(--colorPrimary);
}

.post a:hover {
  border-bottom: 2px dotted var(--colorPrimary);
}

/* COMPONENTS */

.content-wrapper {
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  padding: 70px 20px;
}

.content-wrapper.short {
  max-width: 1170px;
}

.content-wrapper.extra-short {
  max-width: 1080px;
}

.split {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  height: 100%;
}


.post {
  max-width: 1000px;
  margin: 0 auto;
}

.post p {
  text-align: left;
  color: var(--font);
  font-size: 20px;
  line-height: 1.8em;
}

.post p:last-of-type {
  margin-bottom: 0px;
}

.post h2 {
  text-align: left;
  margin: .6em 0 .8em;
}

.post li:before {
  font-family: 'FontAwesome';
  content: '\f0da';
  margin: 4px 8px 0 0;
  color: var(--dark);
  font-size: 16px;
}

.post ul {
  list-style: none;
  padding-left: 20px;
}

.post li {
  color: var(--colorDark);
      font-family: 'Mont', sans-serif;
      font-weight: 400;
      font-size: 16px;
      margin-bottom: 20px;
      line-height: 160%;
}

.post li p {
  margin-bottom: 10px;
}


/* BUTTONS */

  .learn-more.secondary {
    background-color: transparent;
    border: 2px solid var(--white);
    color: var(--white);
    margin-left: 12px;
  }

  .learn-more.secondary:hover {
    background-color: var(--white);
    color: var(--darkblue);
  }

  .learn-more {
    display: inline-block;
    color: var(--white);
    height: auto;
    width: auto;
    justify-content: center;
    align-items: center;
    padding: 16px 24px;
    text-transform: capitalize;
    font-family: 'Mont', sans-serif;
    font-weight: 500;
    line-height: 100%;
    border-radius: 2px;
    letter-spacing: .02em;
    font-size: 16px;
    background-color: var(--orange);
    transition: all .4s;
  }

  a.learn-more:hover {
  transform: scale(1.03);
  cursor: pointer;
  }

  input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }


   header {
    width: 100%;
    position: fixed;
    display: block;
    height: auto;
    left: 0;
    top: 0;
    z-index: 20;
    padding: 0;
    transition: all .5s;
    height: 100px;
}

.header-container {
    max-width: 1400px;
    padding: 10px 20px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

a.logo-container img {
    height: 36px;
}

.header-content .logo {
    height: 100px;
}


.header-logo-container {
    height: 72px;
    /* width: 240px; */
    display: inline-block;
}

.header-logo-container .logo {
    height: 64px;
}

.header-content-content > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    column-gap: 16px;
}

ul#menu-main-menu {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 40px;
}

.header-logo-container svg {
    height: 64px;
    width: 240px;
}

#menu-main-menu > li {position: relative;height: 100%;display: flex;align-items: center;justify-content: center;}

#menu-main-menu > li a {
    font-family: 'Mont', sans-serif;
    font-weight: 500;
    color: var(--white);
    font-size: 15px;
    text-transform: capitalize;
    /* letter-spacing: 1px; */
}


#menu-main-menu > li.nav-button a {
    background-color: var(--red);
    padding: 10px;
    border-radius: 3px;
    font-size: 15px;
}

a.logo-container {
    display: flex;
    align-items: center;
}

/* Sub Menu */

#menu-main-menu > li:hover > ul.sub-menu {
      visibility: visible;
      opacity: 1;
      display: block;
      border-top: 3px solid #fff;
      position: absolute;
      left: 0;
      top: 32px;
      width: auto;
      min-width: 200px;
      /* filter: drop-shadow(1px 1px 1px #777); */
      border-radius: 0px;
      overflow: visible;
      background-color: var(--black);
      z-index: 20;
  }

  #menu-main-menu li:hover ul.sub-menu a {
      padding-bottom: 0px;
  }

  #menu-main-menu > li:not(.nav-cta):hover > a {
      text-decoration: none;
  }

  #menu-main-menu li.menu-item-has-children>a:after {
      font-family: 'Font Awesome 5 Free';
      content: '\f107';
      margin: 0 0 0 5px;
      font-weight:600;
  }

  .sub-menu {
      display: none;
      position: absolute;
      z-index: 20;
      margin: 0;
      height: auto;
      top: 10px;
      width: auto;
      min-width: 160px;
      background-color: var(--colorWhite);
  }

  .sub-menu li {
      margin: 0;
      display: block;
      text-align: left;
      background: var(--colorLight);
      padding: 8px 12px;
  }

  .sub-menu li:hover {
      background-color: var(--colorLightGray);
      color: var(--colorGrayFont);
  }

  .sub-menu li:hover a {
      color: var(--colorGrayFont);
  }

  .sub-menu a {
      font-size: 16px;
      font-weight: 500;
      color: var(--colorGrayFont);
      text-transform: none;
      height: 100%;
      display: block;
      width: 100%;
  }

    .sub-menu a:hover {
      color: var(--powerblue) !important;
  }



/* OVERLAYS */

  .overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    background-color: rgb(0, 0, 40, .75);
  }

/* FORMATTING */

  .alignleft {
      float: left;
      margin: 0 20px 20px 0;
      height: auto;
  }

  .alignright {
      float: right;
      margin: 0 0px 20px 20px;
      height: auto;
  }

  .aligncenter {
      display: block;
      margin: 0 auto 20px;
      height: auto;
  }

  .split {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }

   /* Header */

   header {
    width: 100%;
    position: fixed;
    display: block;
    height: 90px;
    background-color: var(--darkblue);
    left: 0;
    top: 0;
    z-index: 15;
    transition: all .5s;
    border-bottom: 2px solid var(--blue);
}

.nav-one-row-with-banner .header-content {
  padding: 0px 3% 0px 3%;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
  max-width: 1600px;
  margin: 0px auto;
}

/* Banner Row */

.nav-one-row-with-banner .nav-row.top-nav-row {
  background-color: var(--colorPrimary);
  padding: 2px 3%;
  height: 36px;
}

/* Logo */

a.logo-link {
    padding: 6px 0px;
    height: 100%;
    flex: 0 0 320px;
    margin-right: 2%;
    align-items: center;
    display: flex;
}

.logo {
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
    transition: width .3s;
}

/* Nav */

.nav-rows {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: flex-end;
    justify-content: center;
}

.nav-row {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
}

/* Bottom Nav Row */

nav {
    height: 100%;
    flex-grow: 1;
    position: relative;
    margin-right: 3%;
}

/* Nav Menu */

.menu-main-menu-container {
    display: flex;
    justify-content: flex-end;
    height: 100%;
}



/* Sub Menu */

#menu-main-menu > li:hover > ul.sub-menu {
  visibility: visible;
  opacity: 1;
  display: block;
  position: absolute;
  left: 0;
  top: 60px;
  width: auto;
  min-width: 200px;
  border-radius: 0px;
  overflow: visible;
  background-color: var(--blue);
  border-top: 3px solid #fff;
  z-index: 20;
  }

  #menu-main-menu li:hover ul.sub-menu a {
      padding-bottom: 0px;
  }

  #menu-main-menu > li:not(.nav-cta):hover > a {
      text-decoration: none;
  }

  #menu-main-menu li.menu-item-has-children > a:after {
      font-family: 'Font Awesome 5 Free';
      content: '\f107';
      margin: 0 0 0 5px;
      font-weight: 600;
  }

  /* Third-level flyout */

  #menu-main-menu .sub-menu li.menu-item-has-children > a:after {
      content: '\f105';
      float: right;
      margin-left: 10px;
  }

  #menu-main-menu .sub-menu li:hover > ul.sub-menu {
      visibility: visible;
      opacity: 1;
      display: block;
      position: absolute;
      left: 100%;
      top: -3px;
      width: auto;
      min-width: 200px;
      background-color: var(--blue);
      border-top: none;
      border-left: 3px solid #fff;
      overflow: hidden;
      z-index: 21;
  }


/* Fixed Space */

.fixed-header-space {
    height: 92px;
    width: 100%;
    background-color: var(--blue);
}

footer {
    padding-top: 60px;
}

.footer-content {
    padding: 0px 5%;
}

.footer-content-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
    padding-bottom: 40px;
}

.footer-address p {
    color: var(--white);
    margin-bottom: 6px;
    letter-spacing: 0.04em;
}

.footer-address a {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
}

.footer-address p {
    margin-bottom: 0px;
}

.footer-address {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 6px;
}

.footer-address i {
    color: var(--aqua);
}

.button-row {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    align-items: center;
}

.button-row a {
    width: 230px;
    line-height: 150%;
    font-size: 14px;
}

#hero .button-row {
    justify-content: flex-start;
    column-gap: 20px;
}

#hero .button-row a {
    flex: 0 0 auto;
    width: auto;
}

.sub-footer {
    background-color: var(--black);
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub-footer p {
    color: var(--white);
    margin-bottom: 0px;
    font-size: 14px;
}

/* HOME PAGE */
/* Home - Hero */

section#hero {
    overflow: hidden;
    background: linear-gradient(to right, var(--electricblue), var(--blue));
}

.hero-inner {
    display: flex;
    min-height: 500px;
    width: 100%;
}

.hero-images {
    flex: 0 0 62%;
    display: flex;
    position: relative;
    clip-path: polygon(4% 0, 100% 0, 96% 100%, 0 100%);
}

.hero-panel {
    flex: 1;
    position: relative;
    overflow: hidden;
    transform: skewX(-4deg);
    margin-right: 5px;
}

.hero-panel-1 {
    margin-left: -30px;
}

.hero-panel-3 {
    margin-right: 0;
}

.hero-panel img {
    position: absolute;
    top: 0;
    left: -10%;
    width: 120%;
    height: 100%;
    object-fit: cover;
    transform: skewX(4deg);
}

.hero-content {
        flex: 0 0 42%;
    
    padding: 60px 70px 60px 30px;
    background: transparent;
        display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

#hero h1 {
    color: var(--white);
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 20px;
    text-transform: capitalize;
}

.hero-body p {
    color: var(--white);
    font-size: 16px;
    margin-bottom: 30px;
}

@media (max-width: 900px) {
    .hero-inner {
        flex-direction: column;
    }
    .hero-images {
        flex: 0 0 280px;
        min-height: 280px;
    }
    .hero-panel-1 { margin-left: -30px; }
    .hero-content {
        flex: unset;
        padding: 40px 20px;
    }
}

@media (max-width: 600px) {
    .hero-images { display: none; }
}

/* HOME - Industries */

.industries-row {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 50px;
}

.industry {
  flex: 0 0 calc((100% / 4) - 30px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.industry-icon-container {
  height: 160px;
  margin-bottom: 30px;
}

.industry-icon-container img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.industry:nth-of-type(3) img {
    scale: 1.09;
}

.industry-top h3 {
  font-size: 20px;
  text-align: center;
  margin-bottom: 24px;
  text-transform: capitalize;
  max-width: 230px;
}

.home-industries-container h2 {
  text-align: center;
  margin: 0 auto 20px;
}

.home-industries-container p {
  max-width: 1110px;
  margin: 0 auto;
  font-size: 20px;
}

/* Services - Home Page */

#home-services .content-wrapper {
  padding-top: 0px;
}

.services-image-container {
  min-height: 400px;
  overflow: hidden;
  margin-bottom: 30px;
}

section#home-services h3 {
  text-align: center;
  margin-bottom: 30px;
  color: var(--blue);
  text-transform: capitalize;
}

section#home-services h2 {
  margin-bottom: 20px;
}

section#home-services p {
  margin-bottom: 30px;
}

section#home-services ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-flow: wrap;
  row-gap: 30px;
  padding: 0px;
}

section#home-services ul li {
  flex: 1;
  font-weight: 500;
  min-width: 328px;
}

section#home-services ul li a {
  color: var(--purple);
  font-size: 18px;
}

.services-image-container img {
  width: 100%;
  object-fit: cover;
}

/* Home - Contracts */

.contracts-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    column-gap: 50px;
}

.contracts-content {
    flex: 0 0 calc(45% - 25px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.contracts-image-container {
    flex: 0 0 calc(55% - 25px);
}

.contracts-image-container img {
    width: 100%;
}

.contracts-content h2 {
    text-align: left;
    font-size: 40px;
}

.contracts-content p {
    text-align: left;
}

/* Home - Results */

.results-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.results-content {
    flex: 0 0 50%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 70px 50px 70px 7%;
}

.results-image-container {
    flex: 1;
}

.results-image-container img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.results-inner-content ul {
    list-style: none;
    padding-left: 10px;
    margin-bottom: 30px;
}



.results-inner-content i {
    color: var(--green);
}

/* HOME - Testimonials */

#testimonials .content-wrapper {
    padding-top: 60px;
    padding-bottom: 20px;
    text-align: left;
}

.testimonials-slider {
    position: relative;
    overflow: hidden;
    max-width: 860px;
    margin: 0 auto;
}

.testimonial-slide {
    display: flex;
    align-items: flex-start;
    gap: 50px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none;
    z-index: 0;
}

.testimonial-slide.active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
    position: relative;
    z-index: 1;
}

.testimonial-slide.exit {
    opacity: 0;
    transform: translateX(-50px);
    position: absolute;
    z-index: 0;
}

.testimonial-avatar-wrap {
    position: relative;
    flex: 0 0 160px;
    padding-top: 10px;
}

.testimonial-avatar {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.testimonial-avatar-placeholder {
    background-color: rgba(255, 255, 255, 0.25);
}

.testimonial-quote-icon {
    position: absolute;
    top: -8px;
    right: -12px;
    font-size: 72px;
    color: var(--yellow);
    line-height: 1;
    font-family: Georgia, serif;
    font-style: normal;
}

.testimonial-body {
    flex: 1;
}

.testimonial-quote {
    font-style: italic;
    font-weight: 700;
    color: var(--white);
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.testimonial-name {
    font-weight: 700;
    text-transform: uppercase;
    color: var(--yellow);
    font-size: 15px;
    letter-spacing: 0.06em;
    margin-bottom: 4px;
}

.testimonial-company {
    color: var(--white);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 0;
}

.testimonial-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 36px;
}

.testimonial-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    padding: 0;
    transition: background 0.3s;
}

.testimonial-dot.active {
    background: var(--white);
}

/* HOME - Resource Library */

#resource-library .content-wrapper {
    padding-bottom: 40px;
}

.blog-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 860px;
    margin: 0 auto 70px;
}

.blog-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: block;
    text-decoration: none;
    border-bottom: none;
}

.blog-card-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-card-image-placeholder {
    background: #555;
}

.blog-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 24px 28px;
}

.blog-cards-grid .blog-card:nth-child(1) .blog-card-content { background: var(--aqua); }
.blog-cards-grid .blog-card:nth-child(2) .blog-card-content { background: var(--purple); }
.blog-cards-grid .blog-card:nth-child(3) .blog-card-content { background: var(--blue); }
.blog-cards-grid .blog-card:nth-child(4) .blog-card-content { background: var(--green); }

.blog-card-title {
    color: var(--white);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 8px;
    text-transform: none;
}

.blog-card-meta {
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0;
}

.blog-card-excerpt {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
}

.blog-card-excerpt p {
    color: var(--white);
    font-size: 15px;
    line-height: 1.5;
    margin-top: 12px;
    margin-bottom: 10px;
}

.blog-card-arrow {
    color: var(--white);
    font-size: 20px;
    display: block;
}

.blog-card:hover .blog-card-excerpt {
    max-height: 200px;
    opacity: 1;
}

.blog-card:hover {
    border-bottom: none;
}

/* INTERNAL PAGES */
/* Internal Pages - Internal Hero */

section.internal-header {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  margin-top: 0px;
  background-color: var(--colorGold);
  position: relative;
}

section.internal-header h1, section.internal-header p.hero-title {
  color: var(--colorWhite);
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 0px;
  position: relative;
  z-index: 10;
  text-align: center;
  font-family: 'mont';
  width: 100%;
}

/* GALLERY PAGE */

.image-gallery-row {
  display: flex;
  flex-direction: row;
  flex-flow: wrap;
  justify-content: center;
  flex-flow: wrap;
  max-width: 1000px;
  margin: 40px auto 0;
  row-gap: 14px;
  column-gap: 14px;
  }

  .image-gallery-container {
  height: 188px;
  overflow: hidden;
  }

  .image-gallery-container img {
  min-height: 200px;
  min-width: 100%;
  object-fit: cover;
  transition: .5s all;
  }

  .image-gallery-container img:hover {
  transform: scale(1.05);
  }

  a.image-gallery-container {
  border-bottom: none;
  border-radius: 6px;
  flex: 0 0 calc(20% - 12px);
  }

  a.image-gallery-container:hover {
    border-bottom: none;
  }

  /* Contact */

  section#contact {
    background-color: var(--blue);
}

.contact-form-content {
    text-align: center;
    margin-bottom: 50px;
}

.contact-form-content h2 {
    text-align: center;
}

.contact-form-container {
    max-width: 720px;
    margin: 0 auto;
}

/* Gravity Forms - Contact */
#contact .gform_wrapper label,
#contact .gform_wrapper .gfield_label {
    color: var(--white);
    text-align: left;
    display: block;
}

#contact .gform_wrapper .gfield {
    text-align: left;
}

#contact .gform_wrapper input[type="text"],
#contact .gform_wrapper input[type="email"],
#contact .gform_wrapper input[type="tel"],
#contact .gform_wrapper input[type="number"],
#contact .gform_wrapper input[type="url"],
#contact .gform_wrapper select,
#contact .gform_wrapper textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--white);
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 400;
}

#contact .gform_wrapper input::placeholder,
#contact .gform_wrapper textarea::placeholder {
    color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}

#contact .gform_wrapper .gform_footer,
#contact .gform_wrapper .gform_page_footer {
    text-align: left;
}

#contact .gform_wrapper input[type="submit"] {
    display: inline-block;
    color: var(--blue);
    padding: 12px 20px;
    text-transform: capitalize;
    font-family: 'Mont', sans-serif;
    font-weight: 500;
    line-height: 100%;
    border-radius: 2px;
    letter-spacing: .02em;
    font-size: 14px;
    background-color: var(--lightblue);
    border: none;
    cursor: pointer;
    transition: all .4s;
}

#contact .gform_wrapper input[type="submit"]:hover {
    transform: scale(1.03);
}



/* RESPONSIVE */

	@media screen and (max-width: 1260px) {


	}

	@media screen and (max-width: 1120px) {


	}

	@media screen and (min-width: 1001px) {

    .mobile-only {
    display: none !important;
    }

	}

	@media screen and (max-width: 1000px) {

		.desktop {
			display: none !important;
		}

		/* Mobile header */

		header.mobile-only {
			display: flex !important;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 70px;
			background-color: var(--blue);
			z-index: 100;
			align-items: center;
			justify-content: space-between;
			padding: 0 20px;
			box-sizing: border-box;
		}

		header.mobile-only .logo-link img.logo {
			height: 36px;
			width: auto;
		}

		/* Hamburger */

		.mobile-navbar {
			display: flex;
			align-items: center;
		}

		.mobile-navbar ul {
			list-style: none;
			margin: 0;
			padding: 0;
		}

		#menu-icon {
			width: 30px;
			height: 22px;
			position: relative;
			cursor: pointer;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
		}

		#menu-icon span {
			display: block;
			height: 3px;
			width: 100%;
			background-color: var(--white);
			border-radius: 2px;
			transition: all 0.3s ease;
			transform-origin: center;
		}

		#menu-icon.open span:nth-child(1) {
			transform: translateY(9.5px) rotate(45deg);
		}

		#menu-icon.open span:nth-child(2) {
			opacity: 0;
		}

		#menu-icon.open span:nth-child(3) {
			transform: translateY(-9.5px) rotate(-45deg);
		}

		#menu-icon.open span:nth-child(4) {
			opacity: 0;
		}

		/* Sidenav drawer */

		.sidenav {
			position: fixed;
			top: 70px;
			left: 0;
			width: 100%;
			height: calc(100vh - 70px);
			background-color: var(--blue);
			z-index: 99;
			overflow-y: auto;
			transform: translateX(-100%);
			transition: transform 0.3s ease;
			padding: 20px 0;
			box-sizing: border-box;
		}

		.sidenav.open {
			transform: translateX(0);
		}

		.sidenav a {
			text-decoration: none;
		}

		/* All sidenav items — same look */

		.sidenav a,
		.sidenav h3.parent {
			display: block;
			border-bottom: 1px solid rgba(255,255,255,0.1);
		}

		.sidenav h3 {
			color: var(--white);
			font-size: 16px;
			font-weight: 500;
			margin: 0;
			padding: 14px 30px;
			text-transform: none;
		}

		.sidenav a:hover h3,
		.sidenav h3.parent:hover {
			color: var(--orange);
		}

		/* Parent chevron */

		.sidenav h3.parent {
			cursor: pointer;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.sidenav .nav-chevron {
			font-size: 16px;
			display: inline-block;
			transition: transform 0.25s ease;
			flex-shrink: 0;
			margin-left: 8px;
		}

		.sidenav .parent.nav-open > .nav-chevron {
			transform: rotate(90deg);
		}

		/* Children — slightly darker bg */

		.sidenav .children {
			background-color: rgba(0,0,0,0.15);
		}

		.sidenav > a h3 {
			padding: 14px 30px;
			font-weight: 500;
		}

		/* Lock body scroll when menu open */

		body.fixedPosition {
			overflow: hidden;
		}

		/* Page content spacer */

		body {
			padding-top: 70px;
		}

		/* Bottom phone bar */

		#bottom-phone-bar {
			display: flex !important;
			position: fixed;
			bottom: 0;
			left: 0;
			width: 100%;
			background-color: var(--blue);
			z-index: 100;
			padding: 10px 20px;
			box-sizing: border-box;
			align-items: center;
			justify-content: space-between;
		}

		#bottom-phone-bar p {
			color: var(--white);
			margin: 0;
			font-weight: 600;
		}

		#bottom-phone-bar .learn-more.cta {
			color: var(--white);
			font-weight: 600;
			text-decoration: none;
		}

        .industries-row {
    flex-direction: column;
    row-gap: 50px;
}

.services-image-container img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.services-image-container {
    height: auto;
    min-height: 0px;
}

.contracts-container {
    flex-direction: column;
    row-gap: 30px;
}

.results-container {
    flex-direction: column;
}

.testimonial-slide {
    flex-direction: column;
}

.blog-cards-grid {}

.button-row {
    flex-direction: column;
    row-gap: 20px;
    margin-bottom: 60px;
}




.bottom-phone-bar-content {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    column-gap: 20px;
    align-items: center;
}

  }

  @media screen and (max-width: 900px) {

  }

  @media screen and (max-width: 780px) {

  }

  @media screen and (max-width: 520px) {

  }


/* SOLUTION PAGE */

/* Solution - Hero */

#solution-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    background-color: var(--darkblue);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 90px;
}

#solution-hero .content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 100px;
    padding-bottom: 80px;
}

.solution-hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}

#solution-hero h1 {
    color: var(--white);
    font-size: 44px;
    margin-bottom: 20px;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

#solution-hero p {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 30px;
    text-align: center;
    max-width: 820px;
}

/* Solution - Service Pills */

#service-pills {
    position: absolute;
    z-index: 5;
    padding: 0 20px;
    background: transparent;
    pointer-events: none;
    bottom: -70px;
    width: 100%;
}

.service-pills-container {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
    column-gap: 10%;
    max-width: 800px;
    margin: 0 auto;
    pointer-events: all;
}

.service-pill {
    width: 64px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    border: 2px solid #fff;
}

.service-pill span {
    color: var(--white);
    font-family: 'Mont', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

/* Solution - Differentiate */

#differentiate .content-wrapper {
    padding-top: 120px;
    padding-bottom: 80px;
}

section#differentiate {
    padding-top: 30px;
    margin-top: 0px;
}

.differentiate-icon {
    display: block;
    margin: 0 auto 30px;
    width: 80px;
    height: auto;
}

.differentiate-container h2 {
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
    margin-bottom: 24px;
    font-size: clamp(20px, 2.2vw, 28px);
    max-width: 760px;
    margin: 0 auto 26px;
}

.differentiate-body p {
    max-width: 940px;
    margin: 0 auto;
    text-align: center;
    font-size: 18px;
}

/* Solution - Device Mockup */

#device-mockup {
    padding: 40px 0 60px;
    overflow: hidden;
    position: relative;
}

#device-mockup::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: var(--lightblue);
    z-index: 0;
}

#device-mockup .mockup-images-container {
    position: relative;
    z-index: 1;
}

.mockup-images-container {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mockup-image {
    min-width: 0;
}

.mockup-image img {
    display: block;
    height: auto;
    width: 100%;
}

.mockup-left {
    flex: 0 1 500px;
    margin-right: -60px;
    z-index: 1;
}

.mockup-center {
    flex: 0 1 800px;
    z-index: 2;
    position: relative;
}

.mockup-right {
    flex: 0 1 500px;
    margin-left: -60px;
    z-index: 1;
}

@media (max-width: 1000px) {
    .mockup-left  { margin-right: -30px; }
    .mockup-right { margin-left: -30px; }
}

@media (max-width: 600px) {
    .mockup-left, .mockup-right { display: none; }
    .mockup-center { flex: 0 0 100%; padding: 0 20px; }
}


/* Solution - First Impression */

#first-impression .content-wrapper {
    padding-top: 70px;
    padding-bottom: 0px;
}

.page-id-76 #first-impression .content-wrapper,
.page-id-226 #first-impression .content-wrapper,
.page-id-96 #first-impression .content-wrapper,
.page-id-80 #first-impression .content-wrapper {
    padding-bottom: 70px;
}

.impression-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    column-gap: 60px;
}

.impression-content {
    flex: 0 0 55%;
}

.impression-content h2 {
    text-align: left;
    font-size: 32px;
    margin-bottom: 20px;
}

.impression-body p {
    text-align: left;
    font-size: 18px;
    color: var(--font);
}

.impression-body ul {
    list-style: none;
    padding-left: 0;
}

.impression-body li {
    font-size: 18px;
    padding-left: 32px;
    position: relative;
}

.impression-body li::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--orange);
    font-size: 20px;
    position: absolute;
    left: 0;
    top: 3px;
}

.impression-icon-container {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.impression-icon-container img {
    max-width: 400px;
    width: 100%;
    height: auto;
}

/* Solution - Services List */

#solution-services-list .content-wrapper {
    padding-top: 50px;
    padding-bottom: 70px;
}

ul.solution-services {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    row-gap: 0px;
}

ul.solution-services li {
    display: flex;
    align-items: flex-start;
    column-gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 0;
}

ul.solution-services li:last-child {
    border-bottom: none;
}

.solution-service-dash {
    flex-shrink: 0;
    font-size: 22px;
    color: var(--orange);
    margin-top: 2px;
}

i.fa-solid.fa-circle-check.solution-service-dash {
    margin-top: 5px;
}

ul.solution-services li p {
    text-align: left;
    font-size: 18px;
    color: var(--font);
    margin-bottom: 0;
}

ul.solution-services li strong {
    font-weight: 700;
    color: var(--darkblue);
    font-style: italic;
}

/* Solution - CTA Banner */

#solution-cta {
    background-color: var(--darkblue);
}

.solution-cta-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    min-height: 220px;
}

.solution-cta-left {
    flex: 0 0 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 50px 40px;
    border-right: 1px solid rgba(255,255,255,0.15);
    row-gap: 12px;
}

.solution-cta-label {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--aqua) !important;
    margin-bottom: 0;
    text-align: center;
    max-width: 300px;
}

.solution-cta-logo {
    height: 40px;
    width: auto;
}

.solution-cta-tagline {
    font-size: 14px;
    color: var(--white) !important;
    margin-bottom: 0;
}

.solution-cta-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 50px 60px;
    row-gap: 20px;
}



/* .industry-cta .solution-cta-right {
    background-color: var(--aqua);
} */

.solution-cta-right-body p {
    color: var(--white);
    font-size: 16px;
    margin-bottom: 0;
    text-align: left;
}

.solution-cta-right-body p:not(:last-of-type) {
    margin-bottom: 20px;
}

/* Solution Page - Responsive */

@media screen and (max-width: 1000px) {

    .impression-container {
        flex-direction: column;
        row-gap: 40px;
    }

    .impression-content {
        flex: unset;
        width: 100%;
    }

    .solution-cta-container {
        flex-direction: column;
    }

    .solution-cta-left {
        flex: unset;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.15);
        padding: 40px 20px;
    }

    .solution-cta-right {
        padding: 40px 20px;
        align-items: center;
    }

    .solution-cta-right-body p {
        text-align: center;
    }

}

@media screen and (max-width: 780px) {

    #solution-hero h1 {
        font-size: 32px;
    }

    .service-pills-container {
        column-gap: 10px;
    }

    .service-pill {
        width: 60px;
        height: 90px;
    }

    .service-pill span {
        font-size: 9px;
    }

    .impression-content h2 {
        font-size: 28px;
    }


}

.page-template-solution-sub-page #solution-hero {
    padding-bottom: 0px;
}

/* INDUSTRY PAGE */
/* Industry - Hero (left-hero partial) */

#left-hero {
    position: relative;
    min-height: 480px;
    display: flex;
    align-items: center;
    background-color: var(--darkblue);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.dark-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 0;
}

#left-hero .content-wrapper {
    position: relative;
    z-index: 1;
    text-align: left;
}

.internal-hero-row {
    display: flex;
    align-items: center;
    gap: 60px;
}

.internal-hero-content {
    flex: 1;
}

.internal-hero-content h1 {
    color: var(--white);
    font-size: 38px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.internal-hero-content h2 {
    color: var(--white);
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 16px;
}

.internal-hero-content p {
    color: var(--white);
    margin-bottom: 30px;
}

.internal-hero-icon {
    flex: 0 0 340px;
}

.internal-hero-icon img {
    width: 100%;
    display: block;
}

/* Industry - Services Icons */

#industry-services .content-wrapper {
    padding-bottom: 70px;
}

.industry-services-icon {
    display: block;
    width: 60px;
    margin: 0 auto 20px;
}

#industry-services h2 {
    margin-bottom: 50px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.industry-services-row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    max-width: 960px;
    margin: 0 auto;
}

.industry-services-row::before {
    content: '';
    position: absolute;
    top: 38px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: var(--lightblue);
    z-index: 0;
}

.industry-service-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 0 10px;
}

.industry-service-icon-wrap {
    max-width: 100px;
    height: 100px;
    width: 100%;
    border-radius: 50%;
    background: var(--lightblue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    overflow: hidden;
}

.industry-service-icon-wrap img {
    max-width: 100px;
    height: auto;
    object-fit: contain;
}

.industry-service-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.4;
    max-width: 110px;
    margin: 0 auto;
}

/* Industry - Feature */

#industry-feature {
    border-top: 1px solid var(--lightblue);
}

#industry-feature .content-wrapper {
    text-align: left;
}

.industry-feature-container {
    display: flex;
    align-items: center;
    gap: 70px;
}

.industry-feature-content {
    flex: 1;
}

.industry-feature-content h2 {
    margin-bottom: 20px;
}

.industry-feature-image {
    flex: 0 0 45%;
}

.industry-feature-image img {
    width: 100%;
    display: block;
}

/* Industry - Tailored */

#industry-tailored {
    border-top: 1px solid var(--lightblue);
}

#industry-tailored .content-wrapper {
    text-align: left;
}

.industry-tailored-container h2,
.industry-tailored-container h3,
.industry-tailored-container h4 {
    margin-top: 2em;
    margin-bottom: 0.5em;
}

.industry-tailored-container h2:first-child,
.industry-tailored-container h3:first-child {
    margin-top: 0;
}

.sub-content-container h2,
.sub-content-container h3,
.sub-content-container h4 {
    margin-top: 1em;
    margin-bottom: 0.5em;
}

.sub-content-container h2:first-child,
.sub-content-container h3:first-child {
    margin-top: 0;
}

.sub-content-container a {
    color: var(--powerblue);
    /* text-decoration: underline; */
    border-bottom: 2px dotted;
}

h2 b {
font-weight: inherit;
	font-style: inherit;
	color: inherit;
	font-size: inherit;
}


/* Solution Sub Page - Content */

#sub-content {
    border-top: 1px solid var(--lightblue);
}

#sub-content .content-wrapper {
    text-align: left;
}

.sub-content-container {
    max-width: 900px;
    margin: 0 auto;
}

.sub-content-container h2 {
    margin-bottom: 20px;
    font-weight: bold;
    text-transform: none;
    color: var(--blue);
}

/* Industry - Processes */

.industry-processes-container {
    display: flex;
    min-height: 500px;
}

.processes-image-side {
    flex: 1;
    overflow: hidden;
}

.processes-image-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.processes-content-side {
    flex: 0 0 46%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 70px 60px;
}

.processes-content-inner h2 {
    margin-bottom: 20px;
}

.processes-body {
    margin-bottom: 30px;
}

.processes-body p {
    color: var(--white);
}

/* Industry Page - Responsive */

@media screen and (max-width: 1000px) {

    .internal-hero-row {
        flex-direction: column;
        gap: 40px;
    }

    .internal-hero-icon {
        flex: unset;
        width: 260px;
    }

    .industry-feature-container {
        flex-direction: column;
        gap: 40px;
    }

    .industry-feature-image {
        flex: unset;
        width: 100%;
    }

    .industry-processes-container {
        flex-direction: column;
    }

    .processes-image-side {
        min-height: 300px;
    }

    .processes-content-side {
        flex: unset;
        padding: 50px 30px;
    }

}


/* ═══════════════════════════════════════════════
   BLOG ARCHIVE
═══════════════════════════════════════════════ */

#blog-hero {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: center;
    background-color: var(--blue);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#blog-hero .content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 100px;
    padding-bottom: 80px;
}

.blog-hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

#blog-hero h1 {
    color: var(--white);
    font-size: 44px;
    margin-bottom: 16px;
    text-align: center;
}

#blog-hero p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 18px;
    text-align: center;
    margin-bottom: 0;
}

#blog-feed .content-wrapper {
    padding-bottom: 40px;
}

.blog-feed-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 1100px;
    margin: 0 auto 70px;
}

.blog-feed-grid .blog-card:nth-child(4n+1) .blog-card-content { background: var(--aqua); }
.blog-feed-grid .blog-card:nth-child(4n+2) .blog-card-content { background: var(--purple); }
.blog-feed-grid .blog-card:nth-child(4n+3) .blog-card-content { background: var(--blue); }
.blog-feed-grid .blog-card:nth-child(4n+4) .blog-card-content { background: var(--green); }

.blog-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding-bottom: 60px;
}

.blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    background-color: var(--lightblue);
    color: var(--blue);
    font-family: 'Mont', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s, color 0.2s;
}

.blog-pagination .page-numbers.current,
.blog-pagination .page-numbers:hover {
    background-color: var(--blue);
    color: var(--white);
}

.blog-pagination .page-numbers.dots {
    background: transparent;
    color: var(--blue);
}


/* ═══════════════════════════════════════════════
   SINGLE POST
═══════════════════════════════════════════════ */

#single-hero {
    position: relative;
    min-height: 480px;
    display: flex;
    align-items: flex-end;
    background-color: var(--blue);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#single-hero .content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 120px;
    padding-bottom: 60px;
}

.single-hero-content {
    max-width: 820px;
}

.single-hero-content > * {
    text-align: left;
}

.sub-content-container > * {
    text-align: left;
}

.single-post-eyebrow {
    color: var(--orange);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

#single-hero h1 {
    color: var(--white);
    font-size: 40px;
    margin-bottom: 16px;
    line-height: 1.15;
}

.single-post-meta {
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0;
}

#single-content .content-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
}

#post-navigation {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

#post-navigation .content-wrapper {
    padding-top: 40px;
    padding-bottom: 40px;
}

.post-nav-links {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.post-nav-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-decoration: none;
    flex: 1;
}

.post-nav-prev {
    align-items: flex-start;
}

.post-nav-next {
    text-align: right;
    align-items: flex-end;
}

.post-nav-label {
    color: var(--orange);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.post-nav-title {
    color: var(--blue);
    font-family: 'Mont', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.post-nav-item:hover .post-nav-title {
    color: var(--orange);
}

.post-nav-prev .post-nav-title {
    text-align: left;
    max-width: 440px;
}

.post-nav-next .post-nav-title {
    text-align: right;
    max-width: 440px;
}

@media screen and (max-width: 780px) {

    .blog-feed-grid {
        grid-template-columns: 1fr 1fr;
    }

    #single-hero h1 {
        font-size: 30px;
    }

    .post-nav-links {
        flex-direction: column;
        gap: 24px;
    }

    .post-nav-next {
        text-align: left;
        align-items: flex-start;
    }

}

@media screen and (max-width: 600px) {

    .blog-feed-grid {
        grid-template-columns: 1fr;
    }

}


/* ═══════════════════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════════════════ */

.contact-page-split-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 600px;
}

.contact-page-left {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    padding: 70px 60px;
}

.contact-page-left-inner {
    max-width: 100%;
    width: 100%;
}

.contact-page-left-inner h2 {
    margin-bottom: 24px;
}

.contact-page-body iframe,
.contact-page-body embed,
.contact-page-body img {
    max-width: 100%;
    height: 450px;
}

.contact-page-body p {
    font-size: 17px;
    color: var(--font);
    line-height: 1.7;
    margin-bottom: 16px;
}

.contact-page-body p:last-of-type {
    margin-bottom: 0;
}

.contact-page-right {
    width: 480px;
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
}

.contact-page-form-inner {
    width: 100%;
    padding: 70px 50px;
}

.contact-page-form-inner h3 {
    margin-bottom: 28px;
    font-size: 24px;
    text-transform: none;
    font-weight: 500;
}

/* Gravity Forms - Contact Page (light bg) */

#contact-page-split .gform_wrapper label,
#contact-page-split .gform_wrapper .gfield_label {
    color: var(--blue);
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    display: block;
}

#contact-page-split .gform_wrapper input[type="text"],
#contact-page-split .gform_wrapper input[type="email"],
#contact-page-split .gform_wrapper input[type="tel"],
#contact-page-split .gform_wrapper input[type="number"],
#contact-page-split .gform_wrapper input[type="url"],
#contact-page-split .gform_wrapper select,
#contact-page-split .gform_wrapper textarea {
    width: 100%;
    background: var(--white);
    border: 1px solid rgba(46, 57, 139, 0.2);
    border-radius: 2px;
    padding: 12px 14px;
    color: var(--font);
    font-family: 'Mont', sans-serif;
    font-size: 15px;
    font-weight: 400;
}

#contact-page-split .gform_wrapper input::placeholder,
#contact-page-split .gform_wrapper textarea::placeholder {
    color: rgba(0, 0, 0, 0.35);
}

#contact-page-split .gform_wrapper .gform_footer,
#contact-page-split .gform_wrapper .gform_page_footer {
    text-align: left;
}

@media screen and (max-width: 960px) {

    .contact-page-split-container {
        flex-direction: column;
    }

    .contact-page-left {
        padding: 50px 40px;
    }

    .contact-page-left-inner {
        max-width: 100%;
    }

    .contact-page-right {
        width: 100%;
    }

    .contact-page-form-inner {
        padding: 50px 40px;
    }

}

@media screen and (max-width: 600px) {

    .contact-page-left {
        padding: 40px 24px;
    }

    .contact-page-form-inner {
        padding: 40px 24px;
    }

}
