/*
  Theme Name: BizPage
  Theme URL: https://bootstrapmade.com/bizpage-bootstrap-business-template/
  Author: BootstrapMade.com
  License: https://bootstrapmade.com/license/
*/

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/


body {
  background: #fff;
  color: #666666;
  font-family: "Open Sans", sans-serif;
}

a {
  color: #3CBCAE;
  transition: 0.5s;
}

.bold {
  font-weight: 700;
}

.paraghead {
  padding: 0px 0px 0px 20px;
  font-size: 14px;
  line-height: 24px;
  color: #333;
}

.paraghead-last {
  padding: 0px 20px 20px 20px;
  font-size: 14px;
  line-height: 24px;
  color: #333;
}

a:hover,
a:active,
a:focus {
  color: #269b90;
  outline: none;
  text-decoration: none;
}

p {
  padding: 0;
  margin: 0 0 30px 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  margin: 0 0 20px 0;
  padding: 0;
}

/* Back to top button */

.back-to-top {
  position: fixed;
  display: none;
  background: transparent;
  border: 2px solid #3CBCAE;
  color: #fff;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 1;
  font-size: 16px;
  border-radius: 50%;
  right: 26px;
  bottom: 94px;
  transition: background 0.5s;
  z-index: 11;
}

.back-to-top i {
  padding-top: 10px;
  color: #3CBCAE;
}

/* Prelaoder */

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #f2f2f2;
  border-top: 6px solid #3CBCAE;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}

@-webkit-keyframes animate-preloader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes animate-preloader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

#header {
  padding: 30px 0;
  height: 92px;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  transition: all 0.2s;
  z-index: 997;
  background: transparent;
}

#header.header-scrolled {
  height: 72px;
  padding: 20px 0;
  transition: all 0.2s;
  background: rgba(0, 0, 0, 0.9);
}

#header #logo {
  float: left;
  margin-top: -10px;
  height: 50px;
}

#header #logo h1 {
  font-size: 34px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 3px;
}

#header #logo h1 a,
#header #logo h1 a:hover {
  color: #fff;
  padding-left: 10px;
  border-left: 4px solid #3CBCAE;
}

#header #logo img {
  padding: 0;
  margin: 0;
  max-height: 50px;
}

/*--------------------------------------------------------------
# Intro Section
--------------------------------------------------------------*/



#main {
  position: relative;
  z-index: 1;
}



#intro {
  height: 100vh;
  position: relative;
  display: flex;
  justify-content: center;
  overflow: hidden;
  z-index: 2;
  will-change: opacity, transform;

}

#intro.feed-intro {
  height: auto;
}

#intro-container {

  width: 100vw;
  height: 100vh;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
    url("../img/main-img.webp");
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 10px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 3;
  will-change: width, height, border-radius, opacity, transform;
}

#intro-container .content {
  text-align: center;
  padding: 20px;
  opacity: 1;
  color: #333;
}

#intro h1 {
  color: #fff;
  margin-bottom: 30px;
  font-size: 48px;
  font-weight: 700;
}

#intro p {
  width: 80%;
  margin: 0 auto 30px auto;
  color: #fff;
  font-size: 110%;
}





.carousel-fade .carousel-inner .carousel-item {
  transition-property: opacity;
}

#intro .carousel-fade .carousel-inner .carousel-item,
#intro .carousel-fade .carousel-inner .active.carousel-item-left,
#intro .carousel-fade .carousel-inner .active.carousel-item-right {
  opacity: 0;
}

#intro .carousel-fade .carousel-inner .active,
#intro .carousel-fade .carousel-inner .carousel-item-next.carousel-item-left,
#intro .carousel-fade .carousel-inner .carousel-item-prev.carousel-item-right {
  opacity: 1;
  transition: 0.2s;
}

#intro .carousel-fade .carousel-inner .carousel-item-next,
#intro .carousel-fade .carousel-inner .carousel-item-prev,
#intro .carousel-fade .carousel-inner .active.carousel-item-left,
#intro .carousel-fade .carousel-inner .active.carousel-item-right {
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

#intro .carousel-control-prev,
#intro .carousel-control-next {
  width: 10%;
}

#intro .carousel-control-next-icon,
#intro .carousel-control-prev-icon {
  background: none;
  font-size: 32px;
  line-height: 1;
}

#intro .carousel-indicators li {
  cursor: pointer;
}

#intro .btn-get-started {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 8px 32px;
  border-radius: 50px;
  transition: 0.5s;
  margin: 10px;
  color: #fff;
  background: #3CBCAE;
}

#intro .btn-get-started:hover {
  background: #fff;
  color: #3CBCAE;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/

/* Nav Menu Essentials */

.nav-menu,
.nav-menu * {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-menu ul {
  position: absolute;
  display: none;
  top: 100%;
  left: 0;
  z-index: 99;
}

.nav-menu li {
  position: relative;
  white-space: nowrap;
}

.nav-menu>li {
  float: left;
}

.nav-menu li:hover>ul,
.nav-menu li.sfHover>ul {
  display: block;
}

.nav-menu ul ul {
  top: 0;
  left: 100%;
}

.nav-menu ul li {
  min-width: 180px;
}

/* Nav Menu Arrows */

.sf-arrows .sf-with-ul {
  padding-right: 30px;
}

.sf-arrows .sf-with-ul:after {
  content: "\f107";
  position: absolute;
  right: 15px;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
}

.sf-arrows ul .sf-with-ul:after {
  content: "\f105";
}

/* Nav Meu Container */

#nav-menu-container {
  float: right;
  margin: 0;
}

/* Nav Meu Styling */

.nav-menu a {
  padding: 0 8px 10px 8px;
  text-decoration: none;
  display: inline-block;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  outline: none;
}

.nav-menu li:hover>a,
.nav-menu>.menu-active>a {
  color: #3CBCAE;
}

.nav-menu>li {
  margin-left: 10px;
}

.nav-menu ul {
  margin: 4px 0 0 0;
  padding: 10px;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  background: #fff;
}

.nav-menu ul li {
  transition: 0.3s;
}

.nav-menu ul li a {
  padding: 10px;
  color: #333;
  transition: 0.3s;
  display: block;
  font-size: 13px;
  text-transform: none;
}

.nav-menu ul li:hover>a {
  color: #3CBCAE;
}

.nav-menu ul ul {
  margin: 0;
}

/* Mobile Nav Toggle */

#mobile-nav-toggle {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999;
  margin: 20px 20px 0 0;
  border: 0;
  background: none;
  font-size: 24px;
  display: none;
  transition: all 0.4s;
  outline: none;
  cursor: pointer;
}

#mobile-nav-toggle i {
  color: #fff;
}

/* Mobile Nav Styling */

#mobile-nav {
  position: fixed;
  top: 0;
  padding-top: 18px;
  bottom: 0;
  z-index: 998;
  background: rgba(0, 0, 0, 0.8);
  right: -260px;
  width: 260px;
  overflow-y: auto;
  transition: 0.4s;
}

#mobile-nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

#mobile-nav ul li {
  position: relative;
}

#mobile-nav ul li a {
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
  overflow: hidden;
  padding: 10px 22px 10px 15px;
  position: relative;
  text-decoration: none;
  width: 100%;
  display: block;
  outline: none;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
}

#mobile-nav ul li a:hover {
  color: #3CBCAE;
}

#mobile-nav ul li li {
  padding-left: 30px;
}

#mobile-nav ul li.menu-active > a {
  color: #3CBCAE;
}

#mobile-nav ul .menu-has-children i {
  position: absolute;
  right: 0;
  z-index: 99;
  padding: 15px;
  cursor: pointer;
  color: #fff;
}

#mobile-nav ul .menu-has-children i.fa-chevron-up {
  color: #3CBCAE;
}

#mobile-nav ul .menu-has-children li a {
  text-transform: none;
}

#mobile-nav ul .menu-item-active {
  color: #3CBCAE;
}

#mobile-body-overly {
  width: 100%;
  height: 100%;
  z-index: 997;
  top: 0;
  left: 0;
  position: fixed;
  background: rgba(0, 0, 0, 0.7);
  display: none;
}

/* Mobile Nav body classes */

body.mobile-nav-active {
  overflow: hidden;
}

body.mobile-nav-active #mobile-nav {
  right: 0;
  /* When active, it moves to right: 0 */
}

body.mobile-nav-active #mobile-nav-toggle {
  color: #fff;
}

/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/

/* Sections Header
--------------------------------*/

.section-header h2 {
  font-size: 32px;
  color: #111;
  text-transform: uppercase;
  text-align: center;
  font-weight: 700;
  position: relative;
  padding-bottom: 15px;
}

.section-header h2::before {
  content: '';
  position: absolute;
  display: block;
  width: 120px;
  height: 1px;
  background: #ddd;
  bottom: 1px;
  left: calc(50% - 60px);
}

.section-header h2::after {
  content: '';
  position: absolute;
  display: block;
  width: 40px;
  height: 3px;
  background: #3CBCAE;
  bottom: 0;
  left: calc(50% - 20px);
}

.section-header p {
  text-align: center;
  padding-bottom: 10px;
  padding-top: 10px;
  color: #333;
}

.blog-subtitle {
  margin-bottom: 10px;
}

.section-header h3 {
  font-size: 1.5rem !important;
  font-weight: 400 !important;
}

#why-choose-frenzy-hawk-wrapper h3 {
  font-size: 1.35rem;
  margin-bottom: 10px;
}

.services-section .subtitle {
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  color: #666;
  font-family: Montserrat, sans-serif;
  margin: 0;
  padding: 0 0 20px;
}

/* Section with background
--------------------------------*/

.section-bg {
  background: #f7f7f7;
}

/* Featured Services Section
--------------------------------*/

#featured-services {
  background: #000;
}

#featured-services .box {
  padding: 30px 20px;
}

#featured-services .box-bg {
  background-image: linear-gradient(0deg, #000000 0%, #242323 50%, #000000 100%);
}

#featured-services i {
  color: #3CBCAE;
  font-size: 48px;
  display: inline-block;
  line-height: 1;
}

#featured-services h4 {
  font-weight: 400;
  margin: 15px 0;
  font-size: 18px;
}

#featured-services h4 a {
  color: #fff;
}

#featured-services h4 a:hover {
  color: #3CBCAE;
}

#featured-services p {
  font-size: 14px;
  line-height: 24px;
  color: #fff;
  margin-bottom: 0;
}

/* About Us Section
--------------------------------*/


#about .about-col .title {

  color: #000;

  text-align: center;

  font-weight: 700;

  font-size: 32px;

  padding: 0;

  margin: 0 0 12px 0;

  padding-top: 26px;

}



#about .about-col .title a {

  color: #000;

}



#about .about-col .title a:hover {

  color: #3CBCAE;

}

#chatbase-bubble-button {
  position: fixed;
  border: 0px;
  bottom: 5rem;
  right: 1rem;
  width: 55px;
  height: 55px;
  border-radius: 27.5px;
  background-color: rgb(0, 0, 0);
  box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 8px 0px;
  cursor: pointer;
  z-index: 2147483645;
  transition: 0.2s ease-in-out;
  left: unset;
  transform: scale(1);
}

#about {
  background: url("../img/about-bg.webp") center top no-repeat fixed;
  background-size: cover;
  padding: 60px 0 40px 0;
  position: relative;
}

#about::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.92);
  z-index: 9;
}

#about .container {
  position: relative;
  z-index: 10;
}

#about .about-col {
  background: #fff;
  border-radius: 0 0 4px 4px;
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 0;
  height: 96%;
}

#about .about-col .img {
  position: relative;
}

#about .about-col .img img {
  border-radius: 4px 4px 0 0;
}

.rectangle-icon,
.bullhorn-icon {
  line-height: 3;
}

.eye_outline_icon {
  margin-top: -12px;
}

.ion-ios-eye-outline {
  font-size: 46px !important;
}

.analytics-icon,
.stopwatch_icon,
.speedometer_icon,
.chatbubble-icon,
.camera-icon {
  margin-top: -6px;
}

.ion-ios-analytics-outline {
  font-size: 32px;
}

.cloudy_outline_icon {
  margin-top: -18px;
}

.ion-ios-cloudy-outline {
  font-size: 56px !important;
}

.world_outline_icon {
  margin-top: -7px;
}

.ion-ios-world-outline,
.ion-ios-stopwatch-outline,
.ion-ios-speedometer-outline,
.ion.ios-chatbubble-outline,
.ion-ios-camera-outline {
  font-size: 36px;
}

.list li p {
  font-size: 0.9rem;
  margin-bottom: 5px;
}

#about .about-col .icon {

  width: 64px;

  height: 64px;

  padding-top: 8px;

  text-align: center;

  position: absolute;

  background-color: #fff;

  border-radius: 50%;

  text-align: center;


  left: calc(50% - 32px);

  bottom: -30px;

  transition: 0.3s;

}



#about .about-col i {

  font-size: 24px;

  line-height: 1.8;

  color: #3CBCAE;

  transition: 0.3s;

}



#about .about-col:hover .icon {

  background-color: #3CBCAE;

  color: #fff;

}



#about .about-col:hover i {

  color: #fff;

}





#about .about-col .about-p {
  font-size: 14px;
  line-height: 24px;
  color: #333;
  margin-bottom: 0;
  padding: 0 20px 20px 20px;
}

.row.about-cols {
  align-items: stretch;
}

#about .row.about-cols>.col-md-6 {
  padding-left: 15px;
  padding-right: 15px;
}

/* Services Section
--------------------------------*/

#services {
  background: #f7f7f7;
  background-size: cover;
  padding: 60px 0 40px 0;
}

#services .box {
  margin-bottom: 30px;
}

#services .icon {
  float: left;
}

#services .icon i {
  color: #3CBCAE;
  font-size: 36px;
  line-height: 1;
  transition: 0.5s;
}

#services .title {
  margin-left: 60px;
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 18px;
  letter-spacing: -0.04rem;
}

#services .title a {
  color: #111;
}

#services .box:hover .title a {
  color: #3CBCAE;
}

#services .description {
  font-size: 14px;
  margin-left: 60px;
  line-height: 24px;
  margin-bottom: 0;
}

/* Call To Action Section
--------------------------------*/

#call-to-action {
  /* background: linear-gradient(rgba(0, 142, 99, 0.1), rgba(0, 0, 0, 0.1)), url(../img/call-to-action-bg.jpg) fixed center center; */
  background-size: cover;
  padding: 60px 0;
}

#call-to-action h3 {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
}

#call-to-action p {
  color: #fff;
}

.cta-btn {
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1px;
  display: block;
  padding: 8px 28px;
  border-radius: 25px;
  transition: 0.5s;
  margin-top: 10px;
  background-color: #fff;
  border: 2px solid #3CBCAE;
  color: #3CBCAE;
  margin: 20px auto 0px;
}

.cta-btn:hover,
.cta-btn:active,
.cta-btn:focus {
  background: #3CBCAE;
  /* border: 2px solid #fff; */
  color: #fff;
  outline: none;
  /* Ensure no outline */
  text-decoration: none;
  /* Ensure no underline */
}

.cta-btn-small {
  display: inline-block;
  margin: 20px auto 0px;
  /* Keep auto margins for centering if parent is text-align: center */
  width: auto;
  /* Allow button to size to its content */
}

/* Call To Action Section
--------------------------------*/

#skills {
  padding: 60px 0;
}

#skills .progress {
  height: 35px;
  margin-bottom: 10px;
}

#skills .progress .skill {
  font-family: "Open Sans", sans-serif;
  line-height: 35px;
  padding: 0;
  margin: 0 0 0 20px;
  text-transform: uppercase;
}

#skills .progress .skill .val {
  float: right;
  font-style: normal;
  margin: 0 20px 0 0;
}

#skills .progress-bar {
  width: 1px;
  text-align: left;
  transition: .9s;
}

/* Facts Section
--------------------------------*/

#facts {
  background: url("../img/facts-bg.jpg") center top no-repeat fixed;
  background-size: cover;
  padding: 60px 0 0 0;
  position: relative;
}

#facts::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.88);
  z-index: 9;
}

#facts .container {
  position: relative;
  z-index: 10;
}

#facts .counters span {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 48px;
  display: block;
  color: #3CBCAE;
}

#facts .counters p {
  padding: 0;
  margin: 0 0 20px 0;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  color: #111;
}

#facts .facts-img {
  text-align: center;
  padding-top: 30px;
}

/* Portfolio Section
--------------------------------*/

#portfolio {
  padding: 60px 0;
}

#portfolio #portfolio-flters {
  padding: 0;
  margin: 5px 0 35px 0;
  list-style: none;
  text-align: center;
}

#portfolio #portfolio-flters li {
  cursor: pointer;
  margin: 15px 15px 15px 0;
  display: inline-block;
  padding: 10px 20px;
  font-size: 12px;
  line-height: 20px;
  color: #666666;
  border-radius: 4px;
  text-transform: uppercase;
  background: #fff;
  margin-bottom: 5px;
  transition: all 0.3s ease-in-out;
}

#portfolio #portfolio-flters li:hover,
#portfolio #portfolio-flters li.filter-active {
  background: #3CBCAE;
  color: #fff;
}

#portfolio #portfolio-flters li:last-child {
  margin-right: 0;
}

#portfolio .portfolio-wrap {
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.08);
  transition: 0.3s;
}

#portfolio .portfolio-wrap:hover {
  box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.16);
}

#portfolio .portfolio-item {
  position: relative;
  height: 360px;
  overflow: hidden;
}

#portfolio .portfolio-item figure {
  background: #000;
  overflow: hidden;
  height: 240px;
  position: relative;
  border-radius: 4px 4px 0 0;
  margin: 0;
}

#portfolio .portfolio-item figure:hover img {
  opacity: 0.4;
  transition: 0.3s;
}

#portfolio .portfolio-item figure .link-preview,
#portfolio .portfolio-item figure .link-details {
  position: absolute;
  display: inline-block;
  opacity: 0;
  line-height: 1;
  text-align: center;
  width: 36px;
  height: 36px;
  background: #fff;
  border-radius: 50%;
  transition: 0.2s linear;
}

#portfolio .portfolio-item figure .link-preview i,
#portfolio .portfolio-item figure .link-details i {
  padding-top: 6px;
  font-size: 22px;
  color: #333;
}

#portfolio .portfolio-item figure .link-preview:hover,
#portfolio .portfolio-item figure .link-details:hover {
  background: #3CBCAE;
}

#portfolio .portfolio-item figure .link-preview:hover i,
#portfolio .portfolio-item figure .link-details:hover i {
  color: #fff;
}

#portfolio .portfolio-item figure .link-preview {
  left: calc(50% - 38px);
  top: calc(50% - 18px);
}

#portfolio .portfolio-item figure .link-details {
  right: calc(50% - 38px);
  top: calc(50% - 18px);
}

#portfolio .portfolio-item figure:hover .link-preview {
  opacity: 1;
  left: calc(50% - 44px);
}

#portfolio .portfolio-item figure:hover .link-details {
  opacity: 1;
  right: calc(50% - 44px);
}

#portfolio .portfolio-item .portfolio-info {
  background: #fff;
  text-align: center;
  padding: 30px;
  height: 90px;
  border-radius: 0 0 3px 3px;
}

#portfolio .portfolio-item .portfolio-info h4 {
  font-size: 18px;
  line-height: 1px;
  font-weight: 700;
  margin-bottom: 18px;
  padding-bottom: 0;
}

#portfolio .portfolio-item .portfolio-info h4 a {
  color: #333;
}

#portfolio .portfolio-item .portfolio-info h4 a:hover {
  color: #3CBCAE;
}

#portfolio .portfolio-item .portfolio-info p {
  padding: 0;
  margin: 0;
  color: #b8b8b8;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
}

/* Clients Section
--------------------------------*/

#clients {
  padding: 60px 0;
}

#clients img {
  max-width: 100%;
  opacity: 0.5;
  transition: 0.3s;
  padding: 15px 0;
}

#clients img:hover {
  opacity: 1;
}

#clients .owl-nav,
#clients .owl-dots {
  margin-top: 5px;
  text-align: center;
}

#clients .owl-dot {
  display: inline-block;
  margin: 0 5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ddd;
}

#clients .owl-dot.active {
  background-color: #3CBCAE;
}

/* Testimonials Section
--------------------------------*/

#testimonials {
  padding: 60px 0;
}

#testimonials .section-header {
  margin-bottom: 40px;
}

#testimonials .testimonial-item {
  text-align: center;
}

#testimonials .testimonial-item .testimonial-img {
  width: 120px;
  border-radius: 50%;
  border: 4px solid #fff;
  margin: 0 auto;
}

#testimonials .testimonial-item h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0 5px 0;
  color: #111;
}

#testimonials .testimonial-item h4 {
  font-size: 14px;
  color: #999;
  margin: 0 0 15px 0;
}

#testimonials .testimonial-item .quote-sign-left {
  margin-top: -15px;
  padding-right: 10px;
  display: inline-block;
  width: 37px;
}

#testimonials .testimonial-item .quote-sign-right {
  margin-bottom: -15px;
  padding-left: 10px;
  display: inline-block;
  max-width: 100%;
  width: 37px;
}

#testimonials .testimonial-item p {
  font-style: italic;
  margin: 0 auto 15px auto;
}

#testimonials .owl-nav,
#testimonials .owl-dots {
  margin-top: 5px;
  text-align: center;
}

#testimonials .owl-dot {
  display: inline-block;
  margin: 0 5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ddd;
}

#testimonials .owl-dot.active {
  background-color: #3CBCAE;
}

/* Team Section
--------------------------------*/

#team {
  background: #fff;
  padding: 60px 0;
}

#team .member {
  text-align: center;
  margin-bottom: 20px;
  background: #000;
  position: relative;
}

#team .member .member-info {
  opacity: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  transition: 0.2s;
}

#team .member .member-info-content {
  margin-top: -50px;
  transition: margin 0.2s;
}

#team .member:hover .member-info {
  background: rgba(0, 0, 0, 0.7);
  opacity: 1;
  transition: 0.4s;
}

#team .member:hover .member-info-content {
  margin-top: 0;
  transition: margin 0.4s;
}

#team .member h4 {
  font-weight: 700;
  margin-bottom: 2px;
  font-size: 18px;
  color: #fff;
}

#team .member span {
  font-style: italic;
  display: block;
  font-size: 13px;
  color: #fff;
}

#team .member .social {
  margin-top: 15px;
}

#team .member .social a {
  transition: none;
  color: #fff;
}

#team .member .social a:hover {
  color: #3CBCAE;
}

#team .member .social i {
  font-size: 18px;
  margin: 0 2px;
}

/* Contact Section
--------------------------------*/

#blog {
  background: #fff;
}

#contact {
  padding: 60px 0;
}

#contact .contact-info {
  margin-bottom: 20px;
  text-align: center;
}

#contact .contact-info i {
  font-size: 48px;
  display: inline-block;
  margin-bottom: 10px;
  color: #3CBCAE;
}

#contact .contact-info address,
#contact .contact-info p {
  margin-bottom: 0;
  color: #000;
}

#contact .contact-info h3 {
  font-size: 18px;
  margin-bottom: 15px;
  font-weight: bold;
  text-transform: uppercase;
  color: #999;
}

#contact .contact-info a {
  color: #000;
}

#contact .contact-info a:hover {
  color: #3CBCAE;
}

#contact .contact-address,
#contact .contact-phone,
#contact .contact-email {
  margin-bottom: 20px;
}

#contact .form #sendmessage {
  color: #3CBCAE;
  border: 1px solid #3CBCAE;
  display: none;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

#contact .form #errormessage {
  color: red;
  display: none;
  border: 1px solid red;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

#contact .form #sendmessage.show,
#contact .form #errormessage.show,
#contact .form .show {
  display: block;
}

#contact .form .validation {
  color: red;
  display: none;
  margin: 0 0 20px;
  font-weight: 400;
  font-size: 13px;
}

#contact .form input,
#contact .form textarea,
#landing-page .form select.form-control {
  padding: 10px 14px;
  box-shadow: none;
  font-size: 15px;
  border-radius: 8px;
  min-height: 44px;
  /* Ensure enough height for text */
}

#contact .form input,
#contact .form textarea {
  padding: 10px 14px;
  box-shadow: none;
  font-size: 15px;
  border-radius: 8px;
}

/* Override for apply.php content to prevent cropping */
.apply-content {
  height: auto !important;
  overflow: visible !important;
}

.apply-content h4 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #333;
  margin-bottom: 20px;
}

.apply-content label {
  font-family: "Open Sans", sans-serif;
  color: #666666;
  font-weight: 600;
  margin-bottom: 8px;
}

.apply-content .form-control {
  border-radius: 8px;
  border: 1px solid #ddd;
  padding: 10px 14px;
  box-shadow: none;
  font-size: 15px;
}

.apply-content select.form-control {
  padding: 12px 8px;
  /* Reduced horizontal padding */
  line-height: normal;
  height: auto;
}

.apply-content .form-control:focus {
  border-color: #3CBCAE;
  box-shadow: 0 0 0 0.2rem rgba(60, 188, 174, 0.25);
}

.apply-content hr {
  border-top: 1px solid #eee;
  margin-top: 30px;
  margin-bottom: 30px;
}

#contact .form button {
  background: #fff;
  padding: 10px 30px;
  color: #3CBCAE;
  transition: 0.4s;
  cursor: pointer;
  border-radius: 25px;
  border: 2px solid #3CBCAE;
}

#contact .form button:hover {
  background: #3CBCAE;
  color: #fff;
  border: 2px solid #3CBCAE;
}

#contact_h3 {
  font-size: 1rem !important;
}

/* Floating WhatsApp
--------------------------------*/
.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 20px;
  left: 20px;
  background-color: #25d366;
  color: #FFF;
  border-radius: 50px;
  text-align: center;
  font-size: 35px;
  box-shadow: 2px 2px 3px #999;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.whatsapp-float:hover {
  background-color: #128c7e;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 2px 5px 8px #999;
}
@media (min-width: 992px) {
  .whatsapp-float {
    bottom: 40px;
    left: 40px;
  }
}

@media (max-width: 767px) {
  .whatsapp-float {
    bottom: 14px;
    left: 14px;
    width: 44px;
    height: 44px;
    font-size: 24px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
    z-index: 90;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

#footer {
  background: #000;
  color: #eee;
  font-size: 14px;
}

#footer .footer-top {
  background: #111;
  padding: 60px 0 30px 0;
}

#footer .footer-top .footer-info {
  margin-bottom: 30px;
}

#footer .footer-top .footer-info h3 {
  font-size: 34px;
  margin: 0 0 20px 0;
  padding: 2px 0 2px 10px;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 3px;
  border-left: 4px solid #3CBCAE;
}

#footer .footer-top .footer-info p {
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 0;
  font-family: "Montserrat", sans-serif;
  color: #eee;
}

#footer .footer-top .social-links a {
  font-size: 18px;
  display: inline-block;
  background: #333;
  color: #eee;
  line-height: 1;
  padding: 8px 0;
  margin-right: 4px;
  margin-bottom: 10px;
  border-radius: 50%;
  text-align: center;
  width: 36px;
  height: 36px;
  transition: 0.3s;
}

#footer .footer-top .social-links a:hover {
  background: #3CBCAE;
  color: #fff;
}

#footer .footer-top h4 {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 12px;
}

#footer .footer-top h4::before,
#footer .footer-top h4::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
}

#footer .footer-top h4::before {
  right: 0;
  background: #555;
}

#footer .footer-top h4::after {
  background: #3CBCAE;
  width: 60px;
}

#footer .footer-top .footer-links {
  margin-bottom: 30px;
}

#footer .footer-top .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#footer .footer-top .footer-links ul i {
  padding-right: 8px;
  color: #ddd;
}

#footer .footer-top .footer-links ul li {
  padding: 10px 0;
}

/* #footer .footer-top .footer-links ul li:first-child {
  padding-top: 0;
} */

#footer .footer-top .footer-links ul a {
  color: #eee;
}

#footer .footer-top .footer-links ul a:hover {
  color: #3CBCAE;
}

#footer .footer-top .footer-contact {
  margin-bottom: 30px;
}

#footer .footer-top .footer-contact p {
  line-height: 26px;
}

#footer .footer-top .footer-newsletter {
  margin-bottom: 30px;
}

#footer .footer-top .footer-newsletter input[type="email"] {
  border: 0;
  padding: 6px 8px;
  width: 65%;
}

#footer .footer-top .footer-newsletter input[type="submit"] {
  background: #3CBCAE;
  border: 0;
  width: 35%;
  padding: 6px 0;
  text-align: center;
  color: #fff;
  transition: 0.3s;
  cursor: pointer;
}

#footer .footer-top .footer-newsletter input[type="submit"]:hover {
  background: #269b90;
}

#footer .copyright {
  text-align: center;
  padding-top: 30px;
}

#footer .credits {
  text-align: center;
  font-size: 13px;
  color: #ddd;
}

.about-col .h6subtitle {
  font-style: italic;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 400;
  color: #666;
}

.about-col li {
  font-size: 14px;
}

.about-col ul {
  padding: 0 20px 20px 40px;
  margin-bottom: 0px;
  color: #333;
}

.services-subtitle {
  margin-left: 60px;
  font-size: 1rem !important;
}


/*--------------------------------------------------------------
# Responsive Media Queries
--------------------------------------------------------------*/

@media (min-width: 768px) {
  .cta-btn {
    margin: 20px auto 0px;
  }

  #contact .contact-address,
  #contact .contact-phone,
  #contact .contact-email {
    padding: 20px 0;
  }

  #contact .contact-phone {
    border-right: 1px solid #ddd;
  }
}

@media (min-width: 992px) {
  #testimonials .testimonial-item p {
    width: 80%;
  }
}

@media (min-width: 1024px) {
  #header #logo {
    padding-left: 60px;
  }

  #intro p {
    width: 60%;
  }



  #nav-menu-container {
    padding-right: 60px;
  }

}

@media (max-width: 768px) {
  .back-to-top {
    bottom: 90px;
  }

  #header #logo h1 {
    font-size: 28px;
  }

  #header #logo img {
    max-height: 40px;
  }

  #intro h1 {
    font-size: 28px;
  }

  #nav-menu-container {
    display: none;
  }

  #mobile-nav-toggle {
    display: inline;
  }

  #about .row.about-cols {
    margin-left: 0;
    margin-right: 0;
  }

  #about .row.about-cols>.col-md-6 {
    padding-left: 15px;
    padding-right: 0px;
  }

  #about .about-cols {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
  }

  #about .about-cols .col-md-6 {
    flex: 0 0 80vw;
    /* Each item takes 80% of viewport width */
    max-width: 80vw;
    scroll-snap-align: start;
    margin-right: 0px;
    /* Space between items */
    padding-left: 0;
    padding-right: 0;
  }

  #about .about-col {
    margin-bottom: 0;
    /* Remove vertical margin */
    height: 96%;
  }
}


.feed-intro #intro-container {
  height: 60vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url("../img/blog-img.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.feed-intro .post-hero-content {
  min-height: 60vh;
  width: min(920px, calc(100% - 32px));
  margin: 0 auto;
  padding: 120px 16px 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.feed-intro .post-hero-content h1 {
  max-width: 860px;
  margin: 0 auto 18px;
  color: #fff;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.12;
}

.feed-intro .post-hero-content p {
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.86);
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
}

/* Blog Intro Section
--------------------------------*/
.blog-intro {
  height: 60vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url("../img/blog-img.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Blog Header Section
--------------------------------*/
.blog-header {
  height: 40vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url("../img/blog-img.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#blog {
  padding: 60px 0;
}

#blog .row {
  display: flex;
  flex-wrap: wrap;
}

#blog .col-lg-4 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.blog {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  border-radius: 8px;
  overflow: hidden;
}

.blog:hover {
  transform: scale(1.05);
}

#blog .blog-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

#blog .content {
  display: flex;
  flex-direction: column;
  padding: 20px;
  flex-grow: 1;
}

#blog .content.post-long-description {
  height: auto;
  overflow: auto;
}

#blog .title {
  min-height: 50px;
}

#blog .title a {
  color: #666666;
}

#blog .title a:hover {
  color: #3CBCAE;
}

.post-title strong {
  color: #666666;
}

.blog:hover .post-title strong {
  color: #3CBCAE;
}

.post-long-description p {
  white-space: pre-wrap;
}

.pagination .page-item.active .page-link {
  background-color: #3CBCAE;
  border-color: #3CBCAE;
}

.pagination .page-link {
  color: #3CBCAE;
  border: none;
}

.pagination .page-link:hover {
  color: #3CBCAE;
}

.post-description {
  flex-grow: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

#blog .avatar {
  width: 40px;
  height: 40px;
}

.card-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  height: 100%;
}

.card-link small {
  color: #666666;
}

.card-link:hover small {
  color: #666666;
}

.job-list {
  list-style: none;
  padding: 0;
}

.job-list-item {
  display: grid;
  grid-template-columns: 1fr auto;
  /* Job info takes 1 fraction, button takes auto width */
  align-items: center;
  padding: 15px;
  margin-bottom: 10px;
  border: 1px solid #eee;
  /* Thin outline */
  border-radius: 5px;
  background-color: #fff;
}

/*--------------------------------------------------------------
# Landing Page
--------------------------------------------------------------*/
#landing-page {
  padding: 60px 0;
}

#landing-page .form {
  padding: 30px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#landing-page .form .form-group {
  margin-bottom: 20px;
}

#landing-page .form input,
#landing-page .form select,
#landing-page .form textarea {
  border-radius: 8px;
  box-shadow: none;
  font-size: 15px;
  border: 1px solid #ddd;
  padding: 12px 15px;
}

#landing-page .form input:focus,
#landing-page .form select:focus,
#landing-page .form textarea:focus {
  border-color: #3CBCAE;
  box-shadow: 0 0 0 0.2rem rgba(60, 188, 174, 0.25);
}

#landing-page .form button[type="submit"] {
  background: #3CBCAE;
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
}

#landing-page .form button[type="submit"]:hover {
  background: #269b90;
}


.job-list-item .job-info h5 {
  margin-bottom: 5px;
}

.job-list-item .job-info small {
  color: #777;
}

#blog .content {
  height: auto;
  overflow: visible;
}

#general-application {
  padding: 60px 0;
  /* Example padding, adjust as needed */
}

#general-application .box {
  padding: 30px;
  /* Padding inside the box */
  border: 1px solid #eee;
  border-radius: 5px;
  background-color: #fff;
}

#general-application .form-group label {
  font-weight: bold;
  color: #555;
}

#general-application .box h4.title {
  font-size: 24px;
  /* Adjusted font size */
  font-weight: 700;
  color: #333;
  /* Darker color for headings */
  text-align: center;
  /* Center the title */
  margin-bottom: 20px;
}

#general-application .box p {
  color: #666;
  /* Consistent text color */
  line-height: 1.5;
  margin-bottom: 15px;
  /* Add some spacing */
  text-align: center;
  /* Center the paragraph */
}

#general-application .form-control {
  border-radius: 8px;
  border: 1px solid #ddd;
  padding: 10px 14px;
  box-shadow: none;
  font-size: 15px;
  color: #333;
  /* Ensure text color is readable */
}

#general-application select.form-control {
  padding: 10px 14px;
  /* Consistent padding for select */
}

#general-application .form-control:focus {
  border-color: #3CBCAE;
  box-shadow: 0 0 0 0.2rem rgba(60, 188, 174, 0.25);
}

#general-application .form-group label {
  font-weight: 600;
  /* Slightly less bold than h4 */
  color: #555;
  margin-bottom: 8px;
  display: block;
  /* Ensure label takes full width */
}

/* Custom Select Dropdown Styling */
.custom-select-wrapper {
  position: relative;
  display: block;
  /* changed from inline-block to block */
  width: 100%;
  margin-bottom: 15px;
  /* Adjust as needed */
}

.custom-select-trigger {
  display: block;
  padding: 10px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  cursor: pointer;
  font-size: 15px;
  color: #333;
  position: relative;
  line-height: normal;
  /* Ensure text is not cropped */
  min-height: 40px;
  /* Minimum height similar to form-control */
  display: flex;
  /* Use flexbox for alignment */
  align-items: center;
  /* Vertically align text */
}

.custom-select-trigger::after {
  content: " \25BC";
  /* Down arrow character */
  position: absolute;
  right: 14px;
  color: #888;
  font-size: 12px;
  pointer-events: none;
  /* Allow clicks to pass through */
}

.custom-select-wrapper.active .custom-select-trigger {
  border-color: #3CBCAE;
  /* Highlight on active */
  box-shadow: 0 0 0 0.2rem rgba(60, 188, 174, 0.25);
}

.custom-options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #fff;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  z-index: 100;
  display: none;
  /* Hidden by default */
  max-height: 200px;
  /* Max height for scrollable options */
  overflow-y: auto;
  /* Enable scrolling */
}

.custom-options.open {
  display: block;
}

.custom-option {
  padding: 10px 14px;
  cursor: pointer;
  font-size: 15px;
  color: #333;
  line-height: 1.5;
  /* Explicit line height */
  min-height: 40px;
  /* Ensure minimum height */
  display: flex;
  /* Use flexbox for vertical alignment */
  align-items: center;
  /* Vertically center text */
  white-space: nowrap;
  /* Prevent text wrapping */
  overflow: hidden;
  /* Hide overflow if text is too long */
  text-overflow: ellipsis;
  /* Add ellipsis for long text */
}

.custom-option:hover {
  background-color: #f2f2f2;
  /* Light gray on hover */
  color: #3CBCAE;
  /* Teal text on hover */
}

.custom-option.selected {
  background-color: #3CBCAE;
  /* Teal background when selected */
  color: #fff;
  /* White text when selected */
}

.admin-button-spacing {
  margin-bottom: 20px !important;
  /* More space than mb-3 (1rem usually 16px) */
}

#general-application select.form-control {
  height: auto;
  /* Ensure height is not fixed and allows content */
  line-height: normal;
  /* Ensure line height is normal */
}

#general-application select.form-control option {
  background-color: #fff;
  /* Default background for options */
  color: #333;
  /* Default text color for options */
}

#general-application select.form-control option:hover {
  background-color: #3CBCAE;
  /* Teal background on hover */
  color: #fff;
  /* White text on hover */
}

#general-application select.form-control option:checked {
  background-color: #3CBCAE;
  /* Teal background when selected */
  color: #fff;
  /* White text when selected */
}

.apply-now-box {
  border: 1px solid #eee;
  border-radius: 5px;
  padding: 15px;
  /* Add some padding for consistency */
  background-color: #fff;
  text-align: center;
  /* Center content within the box */
}

.text-link-button {
  font-style: italic;
  font-size: 0.8em;
  /* Reduced font size */
  color: #555;
  text-decoration: none;
  display: block;
  /* To make margin-top work */
}

.text-link-button:hover {
  color: #3CBCAE;
}

#cookie-consent-banner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 550px;
  /* Increased max-width for wider text space */
  width: 90%;
  /* Ensure it's responsive */
  background: #222;
  color: #eee;
  padding: 25px 30px;
  /* Increased padding for a bigger look */
  z-index: 10001;
  /* Above the overlay */
  display: none;
  /* Initially hidden, JS will control */
  flex-direction: column;
  /* Stack items vertically */
  align-items: flex-start;
  /* Align items to the start */
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  /* Add shadow for modal effect */
}

#cookie-consent-banner p {
  margin: 0;
  padding: 0;
  margin-bottom: 15px;
  /* Space below text before buttons */
  font-size: 16px;
  /* Adjusted font size */
  line-height: 1.5;
  /* Improve readability */
  font-family: "Open Sans", sans-serif;
  /* Set font to match body */
}

#cookie-consent-banner div {
  display: flex;
  flex-direction: column;
  /* Stack buttons vertically */
  align-items: stretch;
  /* Stretch buttons to full width of their container */
  width: 100%;
  /* Ensure the div takes full width */
}

#cookie-consent-banner .btn {
  padding: 10px 15px;
  /* Larger buttons */
  font-size: 14px;
  /* Larger font size */
  margin-left: 0;
  margin-bottom: 10px;
  /* Space between stacked buttons */
  text-align: center;
  /* Center button text */
  background-color: #3CBCAE;
  /* Accept button color */
  color: #fff;
  /* White text for contrast */
  border: none;
  /* Remove border */
  font-family: "Montserrat", sans-serif;
  /* Set font to match headings */
}

#cookie-consent-banner .btn-decline {
  padding: 10px 15px;
  /* Larger buttons */
  font-size: 14px;
  /* Larger font size */
  margin-left: 0;
  margin-bottom: 0;
  /* No bottom margin for the last button */
  text-align: center;
  /* Center button text */
  background-color: transparent;
  /* Remove background color */
  color: #a8a8a8;
  /* White text for contrast */
  border: 0.5px solid #a8a8a8;
  /* Add white border */
  font-family: "Montserrat", sans-serif;
  /* Set font to match headings */
}

.job-list-item .cta-btn {
  margin: auto;
}

/* Overlay for the modal */
#cookie-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  /* Darker overlay */
  z-index: 10000;
  /* Below the banner */
  display: none;
  /* Initially hidden, JS will control */
}

#recaptcha-container {
  margin-bottom: auto;
}

@media (max-width: 767px) {
  #cookie-consent-banner {
    max-width: calc(100% - 40px);
    /* Adjust max-width for mobile */
    padding: 20px;
    /* Adjust padding for mobile */
  }

  #recaptcha-container {
    margin-bottom: 15px;
  }

  #cookie-consent-banner p {
    font-size: 14px;
    /* Adjust font size for mobile */
  }
}

.section-header .whatsapp-cta-banner p {
  padding-bottom: 0px;
}

.whatsapp-cta-banner {
  border: solid 3px #f3f3f3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-radius: 12px;
  margin: 16px 0;
  gap: 16px;
  flex-direction: row;
  font-family: "Montserrat", sans-serif;
}



.whatsapp-cta-banner .text-block {
  flex-grow: 1;
  min-width: 200px;
}

.whatsapp-cta-banner .headline {
  font-size: 1.1rem;
  font-weight: 600;
  color: #666666;
  /* Changed to #666666 */
  margin-bottom: 4px;
}

.whatsapp-cta-banner .subtext {
  font-size: 0.95rem;
  color: #333;
}

.whatsapp-cta-banner .button-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  flex-direction: row;
}

.btn-whatsapp {
  /* Renamed to avoid conflict with existing .btn */
  padding: 4px 8px;
  /* Even smaller buttons */
  border-radius: 24px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
  font-family: "Montserrat", sans-serif;
  /* Applied Frenzy Hawk's font */
  display: flex;
  /* Enable flexbox for centering */
  justify-content: center;
  /* Center horizontally */
  align-items: center;
  /* Center vertically */
  font-size: 0.8rem;
  /* Reduced font size */
  text-align: center;
  /* Ensure text is centered */
}

.btn-whatsapp-primary {
  background-color: white;
  /* Default transparent background */
  color: #3CBCAE;
  /* Default gray text color */
  border: 2px solid #3CBCAE;
  /* Default gray border */
}

.btn-whatsapp-primary:hover {
  background-color: #3CBCAE;
  /* Teal background on hover */
  color: white;
  /* White text on hover */
  border: 2px solid #3CBCAE;
  /* Teal border on hover */
}


.btn-whatsapp-primary:active,
.btn-whatsapp-primary:focus,
.btn-whatsapp-primary:active:hover,
.btn-whatsapp-primary:focus:hover,
.btn-whatsapp-primary:visited:hover {
  color: white;
  background-color: #3CBCAE;
  /* Force teal background */
  border-color: #3CBCAE;
  outline: none;
  /* Remove default outline */
}

.btn-whatsapp-secondary {
  background-color: white;
  border: 2px solid #3CBCAE;
  /* Default gray border */
  color: #3CBCAE;
  /* Default gray text color */
  font-family: 'Tajawal', sans-serif;
  /* Applied Tajawal font for Arabic */
}

.btn-whatsapp-secondary:hover {
  background-color: #3CBCAE;
  /* Teal background on hover */
  color: white;
  /* White text on hover */
  border: 2px solid #3CBCAE;
  /* Teal border on hover */
}


.btn-whatsapp-secondary:active,
.btn-whatsapp-secondary:focus,
.btn-whatsapp-secondary:active:hover,
.btn-whatsapp-secondary:focus:hover,
.btn-whatsapp-secondary:visited:hover {
  color: white;
  background-color: #3CBCAE;
  border-color: #3CBCAE;
  outline: none;
}

@keyframes fadeInUpSimple {
  from {
    transform: translate3d(0, 100px, 0);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}


@media (max-width: 768px) {
  .wow.bounceInUp {
    animation-name: fadeInUpSimple;
  }

  .blog {
    animation-name: fadeInUpSimple;
  }
}

/* Language Switcher Button */
.nav-menu .language-switch a {
  border: 1px solid #fff;
  padding: 4px 12px;
  border-radius: 50px;
  color: #fff !important;
  transition: 0.3s;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  position: relative;
  top: -2px;
  text-transform: uppercase;
  margin-top: -2px;
}

.nav-menu .language-switch a:hover {
  background: #fff;
  color: #3CBCAE !important;
}

#header.header-scrolled .nav-menu .language-switch a {
  margin-top: 0;
  padding: 4px 12px;
  top: 0;
}

/* Remove icon style as icon is removed */

/*--------------------------------------------------------------
# Frenzy Hawk visual corrections
--------------------------------------------------------------*/

:root {
  --fh-teal: #3CBCAE;
  --fh-teal-dark: #269b90;
  --fh-ink: #111827;
  --fh-muted: #4b5563;
  --fh-header: rgba(7, 14, 18, 0.94);
  --fh-soft: #f5f8f8;
}

#header.header-fixed {
  height: 72px;
  padding: 18px 0;
  background: var(--fh-header);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}

#header.header-fixed #logo {
  margin-top: -8px;
}

#header.header-fixed #logo img {
  max-height: 44px;
}

#header.header-fixed .nav-menu a {
  color: #fff;
}

#header.header-fixed .nav-menu li:hover>a,
#header.header-fixed .nav-menu>.menu-active>a {
  color: var(--fh-teal);
}

#header.header-scrolled {
  height: 76px;
  padding: 16px 0;
  background: rgba(7, 14, 18, 0.82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.2);
}

#header.header-scrolled #nav-menu-container {
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 9px 16px 7px;
}

#header.header-scrolled .nav-menu a {
  padding-bottom: 0;
}

.nav-progress {
  bottom: 0;
  height: 2px;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
}

.nav-progress span {
  background: linear-gradient(90deg, transparent, var(--fh-teal), #fff);
  display: block;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 120ms linear;
  width: 100%;
}

.text-primary,
.btn-link,
a.btn-link,
.card small.text-primary {
  color: var(--fh-teal) !important;
}

.bg-primary {
  background-color: var(--fh-teal) !important;
}

.border-primary {
  border-color: var(--fh-teal) !important;
}

.btn-primary {
  background: var(--fh-teal);
  border-color: var(--fh-teal);
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--fh-teal-dark);
  border-color: var(--fh-teal-dark);
}

#intro-container {
  background:
    radial-gradient(circle at 76% 26%, rgba(60, 188, 174, 0.18), transparent 32%),
    radial-gradient(circle at 12% 88%, rgba(255, 255, 255, 0.08), transparent 30%),
    linear-gradient(135deg, #091014 0%, #111819 48%, #111111 100%);
  height: auto;
  min-height: 100vh;
  overflow: hidden;
}

#intro {
  height: auto;
  min-height: 100vh;
}

#intro-container .content {
  max-width: 1320px;
  padding: 120px 36px 70px;
  position: relative;
  width: 100%;
  z-index: 2;
}

#intro-container::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent 92%);
  opacity: 0.35;
  position: absolute;
}

#intro-container::after {
  background: linear-gradient(90deg, transparent, rgba(60, 188, 174, 0.16), transparent);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 68%;
}

.hero-layout {
  align-items: center;
  display: grid;
  gap: 72px;
  grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1.08fr);
  min-height: 100vh;
}

.hero-copy {
  max-width: 680px;
  text-align: left;
}

.hero-kicker {
  color: var(--fh-teal);
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.4px;
  margin-bottom: 18px;
  text-transform: uppercase;
}

#intro h1 {
  max-width: 680px;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 20px;
  font-size: 54px;
  line-height: 1.05;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.65);
}

@media (min-width: 1200px) {
  #intro h1 {
    line-height: 1.12;
  }
}

.intro-title-break {
  display: block;
}

.intro-title-desktop-break {
  display: none;
}

#intro p {
  max-width: 820px;
  margin-bottom: 24px;
  color: rgba(255, 255, 255, 0.94);
  font-size: 18px;
  line-height: 1.58;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.7);
}

@media (max-width: 1199px) and (min-width: 768px) {
  .hero-layout {
    gap: 44px;
    grid-template-columns: minmax(0, 1fr);
    padding-top: 24px;
  }

  .hero-copy {
    margin-left: auto;
    margin-right: auto;
    max-width: 820px;
    text-align: center;
  }

  #intro h1 {
    font-size: 46px;
    margin-left: auto;
    margin-right: auto;
    max-width: 820px;
  }

  #intro p {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-signal-map {
    bottom: 26px;
    left: 50%;
    margin: 0;
    max-width: 340px;
    min-height: 340px;
    position: absolute;
    transform: translateX(-50%);
    width: 48%;
  }

  .hero-visual {
    margin-left: auto;
    margin-right: auto;
    max-width: 760px;
    min-height: 520px;
    width: 100%;
  }

  .hero-photo-frame {
    height: 470px;
  }
}

#intro .intro-btns {
  margin-left: -10px;
  margin-top: 6px;
}

.hero-visual {
  min-height: 560px;
  position: relative;
}

.hero-photo-frame {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38);
  height: 500px;
  overflow: hidden;
  position: relative;
  right: auto;
  top: auto;
  width: 100%;
}

.hero-photo-frame::after {
  background:
    linear-gradient(90deg, rgba(7, 16, 20, 0.08), rgba(7, 16, 20, 0.36)),
    linear-gradient(180deg, transparent 62%, rgba(7, 16, 20, 0.54));
  content: "";
  inset: 0;
  position: absolute;
}

.hero-photo-frame img {
  filter: saturate(0.78) contrast(1.02);
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.hero-signal-map {
  aspect-ratio: 1;
  background: rgba(7, 16, 20, 0.26);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  bottom: 28px;
  box-shadow: none;
  left: 50%;
  max-width: 360px;
  min-height: 360px;
  overflow: visible;
  position: absolute;
  transform: translateX(-50%);
  width: 56%;
}

.signal-ring,
.signal-axis,
.signal-sweep,
.signal-core,
.signal-node,
.signal-note {
  position: absolute;
}

.signal-ring {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  inset: 50%;
  transform: translate(-50%, -50%);
}

.ring-one {
  height: 38%;
  width: 38%;
}

.ring-two {
  height: 62%;
  width: 62%;
}

.ring-three {
  height: 86%;
  width: 86%;
}

.signal-axis {
  background: rgba(255, 255, 255, 0.12);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.axis-horizontal {
  height: 1px;
  width: 86%;
}

.axis-vertical {
  height: 86%;
  width: 1px;
}

.signal-sweep {
  animation: signalSweep 8s linear infinite;
  background: conic-gradient(from 0deg, rgba(60, 188, 174, 0.36), rgba(60, 188, 174, 0.06) 18%, transparent 27%);
  border-radius: 50%;
  height: 82%;
  left: 9%;
  opacity: 0.5;
  top: 9%;
  transform-origin: center;
  width: 82%;
}

.signal-core {
  align-items: center;
  background: rgba(7, 16, 20, 0.78);
  border: 1px solid rgba(60, 188, 174, 0.5);
  border-radius: 6px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 50%;
  min-height: 116px;
  padding: 18px;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 116px;
}

.signal-core span,
.signal-core strong {
  transform: rotate(-45deg);
}

.signal-core span,
.signal-node span,
.signal-note span {
  color: rgba(255, 255, 255, 0.62);
  display: block;
  font-size: 11px;
  letter-spacing: 0.9px;
  text-transform: uppercase;
}

.signal-core strong,
.signal-node strong,
.signal-note strong {
  color: #fff;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1.35;
  margin-top: 5px;
}

.signal-node {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-left: 3px solid var(--fh-teal);
  border-radius: 6px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
  min-width: 150px;
  padding: 12px 14px;
  transition: border-color 180ms ease, transform 180ms ease, background 180ms ease;
}

.signal-node:hover {
  background: #fff;
  border-color: rgba(60, 188, 174, 0.56);
  transform: translateY(-4px);
}

.signal-node span {
  color: #657174;
}

.signal-node strong {
  color: var(--fh-ink);
}

.node-strategy {
  left: -8%;
  top: 16%;
}

.node-content {
  right: -10%;
  top: 21%;
}

.node-paid {
  left: -12%;
  top: 58%;
}

.node-web {
  right: -12%;
  top: 60%;
}

.signal-note {
  background: rgba(255, 255, 255, 0.94);
  border-radius: 6px;
  bottom: -38px;
  color: var(--fh-ink);
  left: 50%;
  max-width: 300px;
  padding: 14px 16px;
  text-align: center;
  transform: translateX(-50%);
  width: max-content;
}

.signal-note span {
  color: var(--fh-teal-dark);
}

.signal-note strong {
  color: var(--fh-ink);
}

@keyframes signalSweep {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .signal-sweep {
    animation: none;
  }
}

#intro .intro-proof {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

#intro .intro-proof li {
  color: rgba(255, 255, 255, 0.96);
  line-height: 1.45;
  margin-bottom: 10px;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75);
}

#intro .intro-proof i {
  color: var(--fh-teal);
}

#intro .btn-get-started,
#intro .btn-secondary {
  border-radius: 50px;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.4px;
  margin: 10px;
  padding: 11px 28px;
  text-transform: uppercase;
}

#intro .btn-get-started {
  background: var(--fh-teal);
  border: 2px solid var(--fh-teal);
  color: #fff;
}

#intro .btn-get-started:hover,
#intro .btn-get-started:focus {
  background: #fff;
  border-color: #fff;
  color: var(--fh-teal);
}

#intro .btn-secondary {
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.78);
  color: #fff;
}

#intro .btn-secondary:hover,
#intro .btn-secondary:focus {
  background: #fff;
  border-color: #fff;
  color: var(--fh-ink);
}

main.mt-5.pt-5 {
  padding-top: 96px !important;
}

#service-hero,
#segment-hero,
#services-header,
#who-serve-header,
#results-header,
#about-intro {
  margin-top: 0 !important;
  padding: 54px 0 24px;
}

#service-hero h1,
#segment-hero h1,
#services-header h1,
#who-serve-header h1,
#results-header h1,
#about-intro h1 {
  color: var(--fh-ink);
  font-weight: 700;
}

#service-hero .lead,
#segment-hero .lead,
#services-header .lead,
#who-serve-header .lead,
#results-header .lead {
  color: var(--fh-muted);
  line-height: 1.7;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.card {
  border-radius: 8px;
}

.card .icon i,
.about-col .icon i,
#services .icon i {
  color: var(--fh-teal) !important;
}

.form-control:focus,
#contact .form input:focus,
#contact .form textarea:focus,
#contact .form select:focus {
  border-color: var(--fh-teal);
  box-shadow: 0 0 0 0.2rem rgba(60, 188, 174, 0.2);
}

#contact .form select.form-control {
  height: auto;
  min-height: 44px;
  padding: 10px 14px;
}

/* Section rhythm and alternating backgrounds */
main > section:not(#intro) {
  padding-top: 86px;
  padding-bottom: 86px;
}

.section-header {
  margin-bottom: 42px;
}

.section-header h2,
.section-header h3 {
  margin-bottom: 18px;
}

.section-header p,
#service-hero .lead,
#segment-hero .lead,
#services-header .lead,
#who-serve-header .lead,
#results-header .lead,
#about-intro .lead {
  margin-bottom: 0;
  padding-top: 14px;
  padding-bottom: 0;
}

#service-details,
#segment-content,
#features,
#services-grid,
#who-serve-grid,
#case-studies,
#about-mission,
#final-cta {
  padding-top: 82px !important;
  padding-bottom: 82px !important;
}

#who-we-serve,
#ai-principles,
#final-cta {
  background: #fff !important;
}

#services,
#blog,
#contact {
  background: var(--fh-soft) !important;
}

#service-details.section-bg,
#who-serve-grid,
#case-studies,
#about-mission.section-bg,
#segment-content.section-bg {
  background: var(--fh-soft) !important;
}

#features,
#services-header,
#who-serve-header,
#results-header,
#about-intro,
#service-hero,
#segment-hero {
  background: #fff !important;
}

#segment-content p,
#service-details p,
#about-mission p,
#final-cta p {
  line-height: 1.75;
}

#segment-content h3,
#service-details h3,
#about-mission h3,
#final-cta h3 {
  margin-bottom: 22px;
}

.about-col,
.card,
.blog {
  margin-bottom: 24px;
}

#who-we-serve .about-cols {
  align-items: stretch;
}

#who-we-serve .about-col {
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 8px;
  box-shadow: 0 12px 34px rgba(17, 24, 39, 0.08);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#who-we-serve .about-col:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.12);
}

#who-we-serve .about-col .img {
  position: relative;
}

#who-we-serve .about-col .img img {
  aspect-ratio: 16 / 9;
  height: 150px;
  object-fit: cover;
  width: 100%;
}

#who-we-serve .about-col .icon {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(60, 188, 174, 0.28);
  border-radius: 50%;
  bottom: -24px;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.14);
  display: flex;
  height: 54px;
  justify-content: center;
  position: absolute;
  right: 22px;
  transition: background 0.25s ease, border-color 0.25s ease;
  width: 54px;
}

#who-we-serve .about-col .icon i {
  color: var(--fh-teal) !important;
  font-size: 22px;
}

#who-we-serve .about-col:hover .icon {
  background: var(--fh-teal);
  border-color: var(--fh-teal);
}

#who-we-serve .about-col:hover .icon i {
  color: #fff !important;
}

#who-we-serve .about-col .title {
  color: var(--fh-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  min-height: 70px;
  padding: 46px 24px 10px;
  text-align: left;
}

#who-we-serve .about-col .about-p {
  color: var(--fh-muted);
  flex: 1;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  padding: 0 24px 22px !important;
  text-align: left;
}

.see-more-link {
  align-items: center;
  align-self: flex-start;
  color: var(--fh-teal);
  display: inline-flex !important;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 700;
  margin: auto 24px 24px;
  padding: 0 !important;
  text-transform: uppercase;
}

.see-more-link:hover,
.see-more-link:focus {
  color: var(--fh-teal-dark);
}

#ai-principles .box {
  text-align: center;
}

#ai-principles .icon {
  float: none;
  margin: 0 auto 22px;
}

#ai-principles .icon i {
  color: var(--fh-teal) !important;
  font-size: 56px;
  line-height: 1;
}

#ai-principles .title {
  margin-left: 0;
}

#ai-principles .description {
  margin-left: 0;
}

.final-cta-panel {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(7, 14, 18, 0.94), rgba(17, 24, 39, 0.88)),
    radial-gradient(circle at top right, rgba(60, 188, 174, 0.28), transparent 36%);
  border-radius: 8px;
  color: #fff;
  display: grid;
  gap: 38px;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  overflow: hidden;
  padding: 48px;
  position: relative;
}

.final-cta-copy h3 {
  color: #fff;
  font-size: 30px;
  font-weight: 700;
}

.final-cta-copy p {
  color: rgba(255, 255, 255, 0.86);
  max-width: 700px;
}

.final-cta-copy .cta-btn {
  display: inline-block;
  margin-left: 0;
}

.final-cta-copy .cta-btn-secondary {
  border: 2px solid rgba(255, 255, 255, 0.55);
  border-radius: 25px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  padding: 8px 28px;
  text-transform: uppercase;
}

.final-cta-copy .cta-btn-secondary:hover,
.final-cta-copy .cta-btn-secondary:focus {
  background: #fff;
  border-color: #fff;
  color: var(--fh-ink);
}

.final-cta-visual {
  display: grid;
  gap: 16px;
}

.signal-card,
.signal-grid > div {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  backdrop-filter: blur(8px);
}

.signal-card {
  padding: 22px;
}

.signal-card span,
.signal-grid span {
  color: rgba(255, 255, 255, 0.72);
  display: block;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.signal-card strong {
  color: #fff;
  display: block;
  font-size: 18px;
  line-height: 1.45;
  margin-top: 8px;
}

.signal-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.signal-grid > div {
  padding: 18px;
}

.signal-grid i {
  color: var(--fh-teal);
  display: block;
  font-size: 24px;
  margin-bottom: 12px;
}

#contact .section-header {
  text-align: center;
}

#contact .contact-info {
  justify-content: center;
}

#contact .contact-phone,
#contact .contact-email {
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 8px;
  height: 100%;
  padding: 28px 22px;
}

#contact .contact-phone {
  border-right: 1px solid rgba(17, 24, 39, 0.08) !important;
}

@media (max-width: 767px) {
  #intro-container .content {
    padding: 118px 28px 56px;
  }

  .hero-layout {
    display: block;
    min-height: auto;
  }

  .hero-copy {
    margin-left: auto;
    margin-right: auto;
    max-width: 360px;
    text-align: left;
  }

  .hero-kicker {
    display: none;
  }

  #intro h1 {
    font-size: 31px;
    line-height: 1.12;
    margin-bottom: 14px;
    max-width: 360px;
  }

  .intro-title-break {
    display: none;
  }

  #intro p {
    width: 100%;
    max-width: 360px;
    font-size: 15px;
    line-height: 1.58;
    margin-bottom: 18px;
  }

  #intro .intro-btns {
    max-width: 360px;
  }

  .hero-signal-map {
    background: rgba(7, 16, 20, 0.26);
    bottom: 18px;
    left: 50%;
    margin: 0;
    max-width: 230px;
    min-height: 230px;
    position: absolute;
    transform: translateX(-50%);
    width: 66%;
  }

  .hero-visual {
    margin: 34px auto 0;
    max-width: 360px;
    min-height: 350px;
    position: relative;
    width: 100%;
  }

  .hero-photo-frame {
    height: 310px;
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
  }

  .signal-sweep {
    height: 78%;
    left: 11%;
    top: 11%;
    width: 78%;
  }

  .signal-core {
    min-height: 74px;
    width: 74px;
  }

  .signal-core span {
    font-size: 8px;
  }

  .signal-core strong {
    font-size: 9px;
  }

  .signal-note {
    display: none;
  }

  #intro .intro-proof ul {
    display: block !important;
  }

  #intro .btn-get-started,
  #intro .btn-secondary {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }

  main > section:not(#intro),
  #service-details,
  #segment-content,
  #features,
  #services-grid,
  #who-serve-grid,
  #case-studies,
  #about-mission,
  #final-cta {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
  }

  .section-header {
    margin-bottom: 30px;
  }

  .final-cta-panel {
    grid-template-columns: 1fr;
    padding: 34px 24px;
  }

  .final-cta-copy .cta-btn,
  .final-cta-copy .cta-btn-secondary {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 320px;
    text-align: center;
  }

  #who-we-serve .about-col .title {
    min-height: auto;
  }
}

/* Specific adjustment for mobile if needed, though nav-menu usually handles it */
@media (max-width: 768px) {
  .nav-menu .language-switch a {
    display: inline-block;
    margin-top: 10px;
    border: 1px solid #3CBCAE !important;
    /* Force border on mobile */
    top: 0;
  }
}

/*--------------------------------------------------------------
# Hero background image + standalone radar composition
--------------------------------------------------------------*/

#intro,
#intro-container {
  height: auto;
  min-height: 100vh;
}

#intro-container {
  background:
    radial-gradient(circle at 50% 42%, rgba(60, 188, 174, 0.2), transparent 34%),
    linear-gradient(135deg, #081014 0%, #111819 48%, #111111 100%);
  position: relative;
}

#intro-container::before {
  background:
    linear-gradient(rgba(7, 16, 20, 0.74), rgba(7, 16, 20, 0.86)),
    url("../img/main-img.webp") center / cover no-repeat;
  content: "";
  inset: 0;
  opacity: 0.46;
  position: absolute;
}

#intro-container::after {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent 92%);
  opacity: 0.32;
  position: absolute;
}

#intro-container .content {
  max-width: 1120px;
  padding: 126px 32px 88px;
}

.hero-layout {
  display: block;
  min-height: auto;
  text-align: center;
}

.hero-copy {
  margin-left: auto;
  margin-right: auto;
  max-width: 840px;
  text-align: center;
}

#intro h1 {
  font-size: 54px;
  line-height: 1.12;
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}

#intro p {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

.hero-photo-frame {
  display: none;
}

.hero-visual {
  height: 470px;
  margin: 38px auto 0;
  min-height: 0;
  position: relative;
  width: min(520px, 100%);
}

.hero-signal-map {
  background: rgba(7, 16, 20, 0.46);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  bottom: auto;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
  left: auto;
  margin: 0 auto;
  max-width: none;
  min-height: 0;
  overflow: visible;
  position: relative;
  top: auto;
  transform: none;
  width: 430px;
}

.signal-note {
  bottom: -48px;
}

@media (max-width: 1199px) and (min-width: 768px) {
  #intro-container .content {
    max-width: 940px;
    padding: 118px 32px 82px;
  }

  .hero-visual {
    height: 430px;
    max-width: 480px;
  }

  .hero-signal-map {
    width: 390px;
  }
}

@media (max-width: 767px) {
  #intro-container .content {
    padding: 118px 28px 58px;
  }

  .hero-copy {
    max-width: 360px;
    text-align: left;
  }

  #intro h1 {
    font-size: 31px;
    line-height: 1.12;
    max-width: 360px;
    text-align: left;
  }

  #intro p {
    max-width: 360px;
    text-align: left;
  }

  #intro .intro-btns {
    margin-left: auto;
    margin-right: auto;
    max-width: 360px;
  }

  .hero-visual {
    height: 290px;
    margin-top: 34px;
    max-width: 300px;
  }

  .hero-signal-map {
    width: 260px;
  }

  .signal-core {
    min-height: 78px;
    width: 78px;
  }

  .signal-core span {
    font-size: 8px;
  }

  .signal-core strong {
    font-size: 9px;
  }

  .signal-note {
    display: none;
  }
}

/*--------------------------------------------------------------
# Hero data radar refinement
--------------------------------------------------------------*/

#intro-container::before {
  background:
    linear-gradient(rgba(7, 16, 20, 0.56), rgba(7, 16, 20, 0.58)),
    url("../img/main-img.webp") center / cover no-repeat;
  opacity: 0.68;
}

#intro-container {
  background:
    radial-gradient(circle at 50% 36%, rgba(60, 188, 174, 0.2), transparent 34%),
    linear-gradient(135deg, #081014 0%, #111819 48%, #151515 100%);
}

#intro-container .content {
  max-width: 1240px;
  padding: 126px 36px 88px;
}

.hero-layout {
  align-items: center;
  display: grid;
  gap: 76px;
  grid-template-columns: minmax(0, 0.94fr) minmax(430px, 1.06fr);
  text-align: left;
}

.hero-copy {
  margin-left: 0;
  margin-right: 0;
  max-width: 620px;
  text-align: left;
}

.hero-kicker {
  display: none;
}

#intro h1 {
  margin-left: 0;
  margin-right: 0;
  max-width: 640px;
}

#intro p {
  margin-left: 0;
  margin-right: 0;
  max-width: 620px;
}

.hero-visual {
  height: 520px;
  margin: 0;
  width: 100%;
}

.hero-signal-map {
  background: rgba(7, 16, 20, 0.46);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
  width: 430px;
}

.signal-core {
  min-height: 124px;
  width: 124px;
}

.signal-core strong {
  font-size: 13px;
  max-width: 92px;
}

.signal-core span {
  display: none;
}

.signal-node {
  background: rgba(7, 16, 20, 0.46);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-left: 2px solid rgba(60, 188, 174, 0.78);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.22);
  min-width: 148px;
  padding: 12px 14px;
}

.signal-node:hover {
  background: rgba(7, 16, 20, 0.62);
  border-color: rgba(60, 188, 174, 0.5);
  transform: translateY(-2px);
}

.node-strategy:hover,
.node-web:hover {
  transform: translateX(-50%) translateY(-2px);
}

.signal-node span {
  color: rgba(255, 255, 255, 0.62);
}

.signal-node strong {
  color: rgba(255, 255, 255, 0.94);
  font-size: 12px;
}

.node-strategy {
  left: -1%;
  top: 16%;
}

.node-content {
  right: -1%;
  top: 18%;
}

.node-paid {
  left: -1%;
  top: 58%;
}

.node-web {
  right: -1%;
  top: 60%;
}

.signal-note {
  display: none;
}

@media (max-width: 1199px) and (min-width: 768px) {
  .hero-layout {
    display: block;
    text-align: center;
  }

  .hero-copy {
    margin-left: auto;
    margin-right: auto;
    max-width: 820px;
    text-align: center;
  }

  #intro h1,
  #intro p {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-visual {
    height: 440px;
    margin: 42px auto 0;
    max-width: 500px;
  }

  .hero-signal-map {
    width: 390px;
  }
}

@media (max-width: 767px) {
  #intro-container .content {
    padding: 118px 28px 58px;
  }

  .hero-layout {
    display: block;
    text-align: left;
  }

  .hero-copy {
    margin-left: auto;
    margin-right: auto;
    max-width: 360px;
  }

  #intro h1,
  #intro p {
    margin-left: 0;
    margin-right: 0;
    max-width: 360px;
  }

  .hero-visual {
    height: 320px;
    margin: 34px auto 0;
    max-width: 330px;
  }

  .hero-signal-map {
    width: 286px;
  }

  .signal-core {
    min-height: 84px;
    width: 84px;
  }

  .signal-core strong {
    font-size: 9px;
    max-width: 62px;
  }

  .signal-node {
    min-width: 108px;
    padding: 9px 10px;
  }

  .signal-node span {
    font-size: 8px;
  }

  .signal-node strong {
    font-size: 9px;
  }

  .node-strategy {
    left: -2%;
    top: 14%;
  }

  .node-content {
    right: -3%;
    top: 18%;
  }

  .node-paid {
    left: -3%;
    top: 58%;
  }

  .node-web {
    right: -3%;
    top: 62%;
  }
}

/* Pain-to-solution radar polish */

#intro-container::before {
  background:
    linear-gradient(rgba(7, 16, 20, 0.44), rgba(7, 16, 20, 0.44)),
    url("../img/main-img.webp") center / cover no-repeat;
  opacity: 0.57;
}

#intro-container {
  background:
    radial-gradient(circle at 50% 36%, rgba(60, 188, 174, 0.16), transparent 34%),
    radial-gradient(circle at 50% 88%, rgba(255, 255, 255, 0.08), transparent 42%),
    linear-gradient(135deg, #081014 0%, #111819 48%, #181a1a 100%);
}

.hero-visual {
  height: 590px;
}

.hero-signal-map {
  width: 580px;
}

.signal-node {
  align-items: center;
  background: rgba(5, 13, 16, 0.68);
  border-color: rgba(255, 255, 255, 0.24);
  border-left-color: rgba(60, 188, 174, 0.9);
  border-left-width: 2px;
  display: flex;
  justify-content: center;
  min-height: 40px;
  min-width: 0;
  padding: 10px 13px;
  text-align: center;
  white-space: nowrap;
  width: 132px;
}

.signal-node strong {
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  margin-top: 0;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}

.node-strategy {
  bottom: auto;
  left: 50%;
  right: auto;
  top: 11%;
  transform: translateX(-50%);
}

.node-content {
  bottom: auto;
  left: auto;
  right: 9%;
  top: 28%;
}

.node-paid {
  bottom: auto;
  left: auto;
  right: 9%;
  top: 63%;
}

.node-web {
  left: 50%;
  bottom: 11%;
  right: auto;
  top: auto;
  transform: translateX(-50%);
}

.node-reporting {
  bottom: auto;
  left: 9%;
  right: auto;
  top: 63%;
}

.node-ai-opps {
  bottom: auto;
  left: 9%;
  right: auto;
  top: 28%;
}

@media (max-width: 1199px) and (min-width: 768px) {
  .hero-visual {
    height: 560px;
    max-width: 620px;
  }

  .hero-signal-map {
    width: 540px;
  }
}

@media (max-width: 767px) {
  .hero-visual {
    height: 390px;
    max-width: 380px;
  }

  .hero-signal-map {
    width: 360px;
  }

  .signal-node {
    min-height: 32px;
    min-width: 0;
    padding: 7px 9px;
    white-space: nowrap;
    width: 112px;
  }

  .signal-node strong {
    font-size: 7.5px;
  }

  .node-strategy {
    bottom: auto;
    left: 50%;
    right: auto;
    top: 11%;
    transform: translateX(-50%);
  }

  .node-content {
    bottom: auto;
    left: auto;
    right: 6%;
    top: 28%;
  }

  .node-paid {
    bottom: auto;
    left: auto;
    right: 6%;
    top: 63%;
  }

  .node-web {
    left: 50%;
    bottom: 11%;
    right: auto;
    top: auto;
    transform: translateX(-50%);
  }

  .node-reporting {
    bottom: auto;
    left: 6%;
    right: auto;
    top: 63%;
  }

  .node-ai-opps {
    bottom: auto;
    left: 6%;
    right: auto;
    top: 28%;
  }
}

/* Add separator line in mobile menu */
#mobile-nav .language-switch {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 10px;
  padding-top: 10px;
}

/*--------------------------------------------------------------
# Premium site pass
--------------------------------------------------------------*/

main > section:not(#intro) {
  padding-top: 104px;
  padding-bottom: 104px;
}

main > section:not(#intro) .section-header {
  margin-bottom: 46px;
  max-width: 780px;
}

main > section:not(#intro) .section-header h2,
main > section:not(#intro) .section-header h3 {
  color: var(--fh-ink);
  font-size: 34px;
  line-height: 1.15;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}

main > section:not(#intro) .section-header h2::before,
main > section:not(#intro) .section-header h3::before {
  display: none;
}

main > section:not(#intro) .section-header h2::after,
main > section:not(#intro) .section-header h3::after {
  background: var(--fh-teal);
  height: 2px;
  left: 0;
  width: 54px;
}

main > section:not(#intro) .section-header p {
  color: var(--fh-muted);
  font-size: 16px;
  line-height: 1.75;
  max-width: 720px;
  padding-top: 16px;
  text-align: left;
}

#who-we-serve {
  background: #fff;
}

#who-we-serve .about-cols {
  row-gap: 28px;
}

#who-we-serve .about-col,
#services .box,
#ai-principles .box,
.card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(17, 24, 39, 0.08);
  overflow: hidden;
}

#who-we-serve .about-col:hover,
#services .box:hover,
#ai-principles .box:hover,
.card:hover {
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.13);
  transform: translateY(-4px);
}

#who-we-serve .about-col .title {
  min-height: 0;
  padding-top: 42px;
}

#who-we-serve .about-col .about-p {
  min-height: 118px;
}

#services {
  background:
    linear-gradient(180deg, #f5f8f8 0%, #fff 100%) !important;
}

#services .row,
#ai-principles .row {
  row-gap: 28px;
}

#services .box,
#ai-principles .box {
  height: 100%;
  padding: 30px 28px 28px;
  position: relative;
}

#services .box::before,
#ai-principles .box::before {
  background: var(--fh-teal);
  content: "";
  height: 3px;
  left: 28px;
  position: absolute;
  right: 28px;
  top: 0;
}

#services .icon,
#ai-principles .icon {
  float: none;
  margin: 0 0 20px;
}

#services .icon i,
#ai-principles .icon i {
  color: var(--fh-teal) !important;
  font-size: 34px;
}

#services .title,
#ai-principles .title {
  font-size: 18px;
  line-height: 1.3;
  margin: 0 0 12px;
}

#services .description,
#ai-principles .description {
  color: var(--fh-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 18px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#services .learn-more-link {
  color: var(--fh-teal-dark);
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding-bottom: 0 !important;
}

#ai-principles {
  background: #101819;
  color: #fff;
}

#ai-principles .section-header h2,
#ai-principles .section-header p {
  color: #fff;
}

#ai-principles .box {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

#ai-principles .title,
#ai-principles .description {
  color: rgba(255, 255, 255, 0.88);
}

#blog {
  background: #fff !important;
}

#blog .blog {
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 8px !important;
  box-shadow: 0 18px 50px rgba(17, 24, 39, 0.08) !important;
  overflow: hidden;
  transform: none !important;
}

#blog .blog:hover {
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.13) !important;
  transform: translateY(-4px) !important;
}

#blog .post-title strong {
  color: var(--fh-ink);
  line-height: 1.35;
}

#blog .post-description {
  color: var(--fh-muted) !important;
  line-height: 1.65;
}

#contact .section-header {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

#contact .section-header h3,
#contact .section-header p {
  text-align: center !important;
}

#contact .section-header h3::after {
  left: calc(50% - 27px) !important;
}

#blog {
  padding-bottom: 92px;
}

#contact {
  background:
    radial-gradient(circle at 50% 0%, rgba(60, 188, 174, 0.1), transparent 34%),
    var(--fh-soft) !important;
  padding-top: 98px;
}

@media (max-width: 767px) {
  main > section:not(#intro) {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  main > section:not(#intro) .section-header h2,
  main > section:not(#intro) .section-header h3 {
    font-size: 28px;
  }

  #contact .contact-info {
    row-gap: 14px;
  }

  #contact .contact-info > [class*="col-"]:not(:last-child) {
    margin-bottom: 14px;
  }

  #contact .contact-phone,
  #contact .contact-email {
    height: auto;
    margin-bottom: 0;
    padding: 16px 18px;
  }

  #contact .contact-info i {
    font-size: 34px;
    line-height: 1;
    margin-bottom: 8px;
  }

  #contact .contact-info h3 {
    font-size: 13px;
    margin-bottom: 8px;
  }

  #contact .contact-info p {
    line-height: 1.45;
  }
}

/*--------------------------------------------------------------
# Alignment and contrast corrections
--------------------------------------------------------------*/

#who-we-serve .container,
#services .container,
#ai-principles .container,
#blog .container,
#contact .container,
#final-cta .container {
  max-width: 1140px;
}

#who-we-serve .section-header,
#services .section-header,
#ai-principles .section-header,
#blog .section-header {
  margin-left: 0;
  margin-right: auto;
}

#who-we-serve .section-header h2,
#services .section-header h2,
#ai-principles .section-header h2,
#blog .section-header h2,
#who-we-serve .section-header p,
#services .section-header p,
#ai-principles .section-header p,
#blog .section-header p {
  text-align: left !important;
}

#who-we-serve .section-header h2::after,
#services .section-header h2::after,
#ai-principles .section-header h2::after,
#blog .section-header h2::after {
  left: 0 !important;
}

#services .row,
#ai-principles .row,
#blog .row,
#who-we-serve .row {
  align-items: stretch;
}

#services .box,
#ai-principles .box {
  display: flex;
  flex-direction: column;
  margin-bottom: 28px;
  text-align: left !important;
}

#services .icon,
#ai-principles .icon {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#services .title,
#services .description,
#ai-principles .title,
#ai-principles .description {
  margin-left: 0 !important;
  text-align: left !important;
}

#services .learn-more-link {
  margin-top: auto;
}

#ai-principles {
  background:
    radial-gradient(circle at 85% 20%, rgba(60, 188, 174, 0.16), transparent 34%),
    #101819 !important;
}

#ai-principles .section-header h2,
#ai-principles .section-header p,
#ai-principles .title,
#ai-principles .description {
  color: #fff !important;
}

#ai-principles .box {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

#ai-principles .description {
  color: rgba(255, 255, 255, 0.8) !important;
}

@media (min-width: 768px) {
  #services .row > .box {
    height: 312px;
  }

  #ai-principles .row > .box:nth-child(1) {
    height: 228px;
  }

  #ai-principles .row > .box:nth-child(2) {
    height: 248px;
  }

  #ai-principles .row > .box:nth-child(3) {
    height: 268px;
  }
}

#blog .row.align-items-center {
  justify-content: flex-start !important;
  text-align: left !important;
}

#blog .row.align-items-center .col-lg-8 {
  flex: 0 0 100%;
  max-width: 100%;
  text-align: left !important;
}

#blog .row.align-items-center .cta-btn {
  margin-left: 0;
}

#blog .blog-intro-row {
  margin-bottom: 18px !important;
}

#blog .blog-subtitle {
  max-width: none;
  line-height: 1.65;
  margin-left: 0 !important;
  margin-right: auto !important;
}

@media (min-width: 992px) {
  #blog .blog-subtitle {
    white-space: nowrap;
  }
}

body:has(#about-intro) #final-cta .about-cta-btn {
  display: inline-flex;
  justify-content: center;
  max-width: 220px;
  padding-left: 20px;
  padding-right: 20px;
  width: auto;
}

@media (max-width: 767px) {
  #who-we-serve .container,
  #services .container,
  #ai-principles .container,
  #blog .container,
  #contact .container,
  #final-cta .container {
    max-width: 100%;
  }

  #services .box {
    min-height: 284px;
  }
}

@media (min-width: 768px) {
  .intro-title-desktop-break {
    display: block;
  }

  .intro-title-break {
    display: none;
  }

  #intro .btn-get-started,
  #intro .btn-secondary {
    font-size: 13px;
    padding: 9px 22px;
  }

  #intro .intro-btns {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-left: 0;
  }

  #intro .intro-btns .btn-get-started,
  #intro .intro-btns .btn-secondary {
    margin: 0;
    margin-left: 0 !important;
  }

  .hero-visual {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    padding-right: 0;
    transform: translateX(42px);
  }

  .hero-signal-map {
    margin: 0;
  }
}

@media (max-width: 767px) {
  #header,
  #header.header-fixed,
  #header.header-scrolled {
    height: 72px;
    padding: 14px 0;
  }

  #header .container,
  #header .container-fluid,
  #header.container-fluid {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-left: 20px;
    padding-right: 18px;
  }

  #header #logo,
  #header.header-fixed #logo {
    float: none;
    height: auto;
    margin-top: 0;
  }

  #header #logo img,
  #header.header-fixed #logo img {
    display: block;
    max-height: 38px;
    transform: translateY(1.5px);
  }

  #mobile-nav-toggle {
    align-items: center;
    display: flex !important;
    height: 40px;
    justify-content: center;
    margin: 0;
    right: 20px;
    top: 16px;
    width: 40px;
  }

  #mobile-nav-toggle i {
    line-height: 1;
  }

  #intro .intro-btns {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-visual {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-left: -28px;
    margin-right: -28px;
    max-width: none;
    transform: none;
    width: calc(100% + 56px);
  }

  .hero-signal-map {
    flex: 0 0 auto;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    width: min(360px, calc(100% - 32px));
  }
}

/*--------------------------------------------------------------
# Internal pages visual system
--------------------------------------------------------------*/

body:has(#services-header),
body:has(#who-serve-header),
body:has(#resources-header),
body:has(#about-intro),
body:has(#segment-hero),
body:has(#service-hero) {
  background: #fff;
}

#services-header,
#who-serve-header,
#resources-header,
#about-intro,
#segment-hero,
#service-hero {
  background:
    radial-gradient(circle at 82% 24%, rgba(60, 188, 174, 0.14), transparent 34%),
    linear-gradient(135deg, #101819 0%, #151a1b 100%);
  color: #fff;
  margin-top: 0 !important;
  padding: 118px 0 74px;
  position: relative;
}

#services-header .container,
#who-serve-header .container,
#resources-header .container,
#about-intro .container,
#segment-hero .container,
#service-hero .container {
  max-width: 980px;
  text-align: left !important;
}

#services-header h1,
#who-serve-header h1,
#resources-header h1,
#about-intro h1,
#segment-hero h1,
#service-hero h1 {
  color: #fff;
  font-size: 46px;
  font-weight: 700;
  line-height: 1.12;
  margin-bottom: 18px;
  max-width: 820px;
}

#services-header .lead,
#who-serve-header .lead,
#resources-header .lead,
#about-intro .lead,
#segment-hero .lead,
#service-hero .lead {
  color: rgba(255, 255, 255, 0.84);
  font-size: 18px;
  line-height: 1.7;
  margin-left: 0;
  max-width: 760px;
  padding-top: 0;
}

#services-grid,
#who-serve-grid,
#segment-content,
#features,
#service-details {
  margin-top: 0 !important;
  padding-top: 90px;
  padding-bottom: 90px;
}

#services-grid .card,
#features .card,
#service-details .card,
#who-serve-grid .about-col {
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08) !important;
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(17, 24, 39, 0.08) !important;
  text-align: left !important;
}

#services-grid .card,
#features .card {
  display: flex;
  flex-direction: column;
  min-height: 300px;
}

#services-grid .card .icon,
#features .card .icon {
  margin-bottom: 20px !important;
}

#services-grid .card h4,
#features .card h4,
#service-details h3,
#segment-content h3 {
  color: var(--fh-ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 14px;
}

#services-grid .card p,
#features .card p,
#service-details p,
#segment-content p,
#service-details li,
#segment-content li {
  color: var(--fh-muted);
  font-size: 15px;
  line-height: 1.75;
}

#services-grid .card .cta-btn,
#service-details .card .cta-btn,
#segment-content .cta-btn {
  display: inline-block;
  margin-left: 0;
  margin-top: auto;
}

#who-serve-grid .about-col {
  overflow: hidden;
}

#who-serve-grid .about-col .img img {
  height: 170px;
  object-fit: cover;
  width: 100%;
}

#who-serve-grid .about-col .p-4 {
  text-align: left !important;
}

#who-serve-grid .about-col h3 {
  color: var(--fh-ink);
  font-size: 20px;
  font-weight: 700;
}

#who-serve-grid .about-col p {
  color: var(--fh-muted);
  line-height: 1.7;
}

#segment-content img {
  border-radius: 8px !important;
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.14) !important;
}

#service-details {
  background:
    linear-gradient(180deg, #f5f8f8 0%, #fff 100%) !important;
}

#service-details .card {
  background:
    radial-gradient(circle at top right, rgba(60, 188, 174, 0.12), transparent 38%),
    #fff;
  padding: 34px !important;
}

@media (max-width: 767px) {
  #services-header,
  #who-serve-header,
  #resources-header,
  #about-intro,
  #segment-hero,
  #service-hero {
    padding: 104px 0 58px;
  }

  #services-header h1,
  #who-serve-header h1,
  #resources-header h1,
  #about-intro h1,
  #segment-hero h1,
  #service-hero h1 {
    font-size: 34px;
  }

  #services-grid,
  #who-serve-grid,
  #segment-content,
  #features,
  #service-details {
    padding-top: 68px;
    padding-bottom: 68px;
  }
}

/*--------------------------------------------------------------
# Internal pages correction
--------------------------------------------------------------*/

#services-header,
#who-serve-header,
#resources-header,
#about-intro,
#segment-hero,
#service-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(60, 188, 174, 0.1), transparent 30%),
    var(--fh-soft) !important;
  color: var(--fh-ink) !important;
  margin-top: 0 !important;
  padding: 62px 0 44px !important;
}

#services-header .container,
#who-serve-header .container,
#resources-header .container,
#about-intro .container,
#segment-hero .container,
#service-hero .container {
  max-width: 1140px;
  text-align: left !important;
}

#services-header h1,
#who-serve-header h1,
#resources-header h1,
#about-intro h1,
#segment-hero h1,
#service-hero h1 {
  color: var(--fh-ink) !important;
  font-size: 42px;
  line-height: 1.14;
  margin-bottom: 14px;
  max-width: 840px;
}

#services-header .lead,
#who-serve-header .lead,
#resources-header .lead,
#about-intro .lead,
#segment-hero .lead,
#service-hero .lead {
  color: var(--fh-muted) !important;
  font-size: 17px;
  line-height: 1.7;
  max-width: 760px;
  padding-top: 0;
}

#services-grid,
#who-serve-grid,
#segment-content,
#features,
#service-details {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 72px !important;
  padding-top: 72px !important;
}

#services-grid,
#features {
  background: #fff !important;
}

#who-serve-grid,
#service-details,
#segment-content {
  background: var(--fh-soft) !important;
}

#services-grid .card,
#features .card,
#service-details .card,
#who-serve-grid .about-col {
  border-radius: 8px;
  box-shadow: 0 14px 38px rgba(17, 24, 39, 0.08) !important;
  min-height: 0 !important;
  text-align: left !important;
}

#services-grid .card,
#features .card {
  display: flex;
  flex-direction: column;
}

#services-grid .card h4,
#features .card h4,
#service-details h3,
#segment-content h3 {
  color: var(--fh-ink);
  font-size: 21px;
  line-height: 1.28;
}

#services-grid .card p,
#features .card p,
#service-details p,
#segment-content p,
#service-details li,
#segment-content li {
  color: var(--fh-muted);
  line-height: 1.7;
}

#services-grid .card .cta-btn,
#service-details .card .cta-btn,
#segment-content .cta-btn,
#who-serve-grid .cta-btn {
  margin-left: 0;
}

#who-serve-grid .cta-btn {
  display: inline-flex !important;
  align-self: flex-start;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: none;
  margin-top: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 8px 15px !important;
  font-size: 12px !important;
  line-height: 1.1;
  white-space: nowrap;
}

#who-serve-grid .about-col {
  display: flex;
  flex-direction: column;
}

#who-serve-grid .about-col .icon {
  display: none;
}

#who-serve-grid .about-col .p-4 {
  display: flex;
  flex: 1;
  flex-direction: column;
  text-align: left !important;
}

#who-serve-grid .about-col h3 {
  color: var(--fh-ink);
  font-size: 20px;
  font-weight: 700;
}

#who-serve-grid .about-col p {
  color: var(--fh-muted);
  line-height: 1.7;
  margin-bottom: 22px;
}

@media (max-width: 767px) {
  #services-header,
  #who-serve-header,
  #resources-header,
  #about-intro,
  #segment-hero,
  #service-hero {
    padding: 48px 0 34px !important;
  }

  #services-header h1,
  #who-serve-header h1,
  #resources-header h1,
  #about-intro h1,
  #segment-hero h1,
  #service-hero h1 {
    font-size: 32px;
  }

  #services-grid,
  #who-serve-grid,
  #segment-content,
  #features,
  #service-details {
    padding-bottom: 56px !important;
    padding-top: 56px !important;
  }
}

/* Careers page */
.careers-page {
  background: #fff;
  color: var(--fh-ink);
}

#careers-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(60, 188, 174, 0.22), transparent 28%),
    linear-gradient(135deg, rgba(244, 250, 248, 0.96), rgba(255, 255, 255, 0.98));
  padding: 150px 0 76px;
}

.careers-hero-copy,
.careers-section-heading {
  max-width: 760px;
}

.careers-page .eyebrow {
  color: var(--fh-teal);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.careers-hero-copy h1,
.careers-section-heading h2 {
  color: var(--fh-ink);
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  letter-spacing: 0;
}

.careers-hero-copy h1 {
  font-size: 48px;
  line-height: 1.12;
  margin-bottom: 20px;
  max-width: 760px;
}

.careers-hero-copy p,
.careers-section-heading p,
.careers-empty p,
.job-info p {
  color: var(--fh-muted);
  font-size: 16px;
  line-height: 1.75;
}

.careers-hero-copy p {
  max-width: 680px;
}

#careers-openings,
#general-application {
  padding: 82px 0;
}

#careers-openings {
  background: #fff;
}

#general-application {
  background: #f4faf8;
}

.careers-section-heading {
  margin-bottom: 30px;
}

.careers-section-heading h2 {
  font-size: 32px;
  line-height: 1.25;
  margin-bottom: 14px;
}

.careers-panel {
  background: #fff;
  border: 1px solid rgba(17, 36, 39, 0.1);
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(18, 37, 41, 0.08);
  padding: 30px;
}

.careers-page .job-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.careers-page .job-list-item {
  align-items: center;
  border-bottom: 1px solid rgba(17, 36, 39, 0.1);
  display: flex;
  gap: 22px;
  justify-content: space-between;
  padding: 22px;
}

.careers-page .job-list-item:first-child {
  padding-top: 22px;
}

.careers-page .job-list-item:last-child {
  border-bottom: 0;
  padding-bottom: 22px;
}

.job-info h3,
.careers-empty h3 {
  color: var(--fh-ink);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 8px;
}

.job-info p,
.careers-empty p {
  margin-bottom: 0;
}

.careers-form-grid {
  align-items: start;
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1.15fr);
}

.careers-form-panel {
  padding: 34px;
}

.careers-page .form-group {
  margin-bottom: 18px;
}

.careers-page label {
  color: var(--fh-ink);
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 8px;
}

.careers-page .form-control,
.careers-page .form-control-file {
  border: 1px solid rgba(17, 36, 39, 0.16);
  border-radius: 8px;
  color: var(--fh-ink);
  min-height: 46px;
}

.careers-page textarea.form-control {
  min-height: 138px;
}

.careers-page .cta-btn {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  margin: 0;
  padding: 10px 18px;
  width: auto;
}

.careers-page .job-list-item .cta-btn {
  flex: 0 0 auto;
  font-size: 12px;
  min-width: 124px;
  padding: 8px 16px;
  white-space: nowrap;
}

@media (max-width: 991px) {
  #careers-hero {
    padding: 128px 0 58px;
  }

  .careers-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  #careers-hero {
    padding: 112px 0 48px;
  }

  .careers-hero-copy h1 {
    font-size: 34px;
  }

  .careers-hero-copy p,
  .careers-section-heading p,
  .careers-empty p,
  .job-info p {
    font-size: 15px;
  }

  #careers-openings,
  #general-application {
    padding: 56px 0;
  }

  .careers-section-heading h2 {
    font-size: 26px;
  }

  .careers-panel,
  .careers-form-panel {
    padding: 22px;
  }

  .careers-page .job-list-item {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .careers-page .job-list-item .cta-btn {
    min-width: 0;
  }
}

#job-detail-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(60, 188, 174, 0.2), transparent 28%),
    linear-gradient(135deg, rgba(244, 250, 248, 0.96), rgba(255, 255, 255, 0.98));
  padding: 150px 0 70px;
}

#job-detail-content {
  background: #fff;
  padding: 82px 0;
}

.job-detail-grid {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
}

.job-description-panel {
  color: var(--fh-muted);
  font-size: 16px;
  line-height: 1.8;
}

.job-apply-panel {
  position: sticky;
  top: 108px;
}

.job-apply-panel h2 {
  color: var(--fh-ink);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 12px;
}

.job-apply-panel p {
  color: var(--fh-muted);
  line-height: 1.7;
}

.job-apply-panel .cta-btn {
  display: flex;
  margin-bottom: 14px;
  width: 100%;
}

.job-apply-panel .text-link-button {
  color: #2a8d84;
  display: block;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 2px;
  padding: 0;
  text-align: center;
  transition: color 0.2s ease;
}

.job-apply-panel .text-link-button:hover {
  color: #1f766f;
}

@media (max-width: 991px) {
  #job-detail-hero {
    padding: 128px 0 58px;
  }

  .job-detail-grid {
    grid-template-columns: 1fr;
  }

  .job-apply-panel {
    position: static;
  }
}

@media (max-width: 767px) {
  #job-detail-hero {
    padding: 112px 0 48px;
  }

  #job-detail-content {
    padding: 56px 0;
  }
}
