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

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  background: #fff;
  /* Default text color (was set to white, making content invisible on white backgrounds) */
  color: #444;
  font-family: "Open Sans", sans-serif;
}

a {
  color: rgba(52,92,106);
  transition: 0.5s;
  text-decoration: none;
}

a:hover, a:active, a:focus {
  color: rgba(52,92,106);
  outline: none;
  text-decoration: none;
}

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

h2, h3, h4, h5, h6 {
  font-family: "Microsoft yahei UI light";
  font-weight: 400;
  margin: 0 0 20px 0;
  padding: 0;
}

h1 {
  font-family: 'Lucida Sans Unicode', arial;
  font-weight: 400;
  margin: 0 0 20px 0;
  padding: 0;
}
/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: rgba(52,92,106);
  width: 40px;
  height: 40px;
  border-radius: 50px;
  transition: all 0.4s;
}
.back-to-top i {
  font-size: 28px;
  color: #fff;
  line-height: 0;
}
.back-to-top:hover {
  background: #2ce782;
  color: #fff;
}
.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/* 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 rgba(52,92,106);
  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% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  transition: all 0.5s;
  z-index: 997;
  background: rgba(0, 0, 0, 0.9);
  height: 80px;
}
#header.header-transparent {
  background: transparent;
}
#header.header-scrolled {
  background: rgba(0, 0, 0, 0.9);
  height: 60px;
}
#header .logo {
  font-size: 34px;
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 3px;
  padding-left: 10px;
  border-left: 4px solid rgba(52,92,106);
}
#header .logo a {
  color: #fff;
}
#header .logo img {
  max-height: 80px;
}
@media (max-width: 992px) {
  #header .logo {
    font-size: 28px;
  }
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.navbar {
  padding: 0;
}
.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}
.navbar li {
  position: relative;
}
.navbar a, .navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  text-transform: uppercase;
  transition: 0.3s;
}
.navbar a i, .navbar a:focus i {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
}
.navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a {
  color: rgba(52,92,106);
}
.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 14px;
  top: calc(100% + 30px);
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: 0.3s;
}
.navbar .dropdown ul li {
  min-width: 200px;
}
.navbar .dropdown ul a {
  padding: 10px 20px;
  text-transform: none;
  color: #666666;
}
.navbar .dropdown ul a i {
  font-size: 12px;
}
.navbar .dropdown ul a:hover, .navbar .dropdown ul .active:hover, .navbar .dropdown ul li:hover > a {
  color: rgba(52,92,106);
}
.navbar .dropdown:hover > ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}
.navbar .dropdown .dropdown ul {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}
.navbar .dropdown .dropdown:hover > ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}
@media (max-width: 1366px) {
  .navbar .dropdown .dropdown ul {
    left: -90%;
  }
  .navbar .dropdown .dropdown:hover > ul {
    left: -100%;
  }
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }

  .navbar ul {
    display: none;
  }
}
.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(26, 26, 26, 0.9);
  transition: 0.3s;
  z-index: 999;
}
.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
}
.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.3s;
}
.navbar-mobile a, .navbar-mobile a:focus {
  padding: 10px 20px;
  font-size: 15px;
  color: #333333;
}
.navbar-mobile a:hover, .navbar-mobile .active, .navbar-mobile li:hover > a {
  color: rgba(52,92,106);
}
.navbar-mobile .getstarted, .navbar-mobile .getstarted:focus {
  margin: 15px;
}
.navbar-mobile .dropdown ul {
  position: static;
  display: none;
  margin: 10px 20px;
  padding: 10px 0;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}
.navbar-mobile .dropdown ul li {
  min-width: 200px;
}
.navbar-mobile .dropdown ul a {
  padding: 10px 20px;
}
.navbar-mobile .dropdown ul a i {
  font-size: 12px;
}
.navbar-mobile .dropdown ul a:hover, .navbar-mobile .dropdown ul .active:hover, .navbar-mobile .dropdown ul li:hover > a {
  color: rgba(52,92,106);
}
.navbar-mobile .dropdown > .dropdown-active {
  display: block;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
  width: 100%;
  height: 110vh;
  background: #000;
  overflow: hidden;
  position: relative;
}
@media (max-height: 500px) {
  #hero {
    height: 150vh;
  }
}
#hero .carousel, #hero .carousel-inner, #hero .carousel-item, #hero .carousel-item::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
#hero .carousel-item {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#hero .carousel-item::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.7);
}
#hero .carousel-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  top: 70px;
  left: 50px;
  right: 50px;
}
#hero .container {
  text-align: center;
}
#hero h2 {
  color: #fff;
  margin-bottom: 30px;
  font-size: 48px;
  font-weight: 700;
}
@media (max-width: 768px) {
  #hero h2 {
    font-size: 28px;
  }
}
#hero p {
  width: 80%;
  margin: 0 auto 30px auto;
  color: #fff;
}
@media (min-width: 1024px) {
  #hero p {
    width: 60%;
  }
}
#hero .carousel-fade {
  overflow: hidden;
}
#hero .carousel-fade .carousel-inner .carousel-item {
  transition-property: opacity;
}
#hero .carousel-fade .carousel-inner .carousel-item,
#hero .carousel-fade .carousel-inner .active.carousel-item-start,
#hero .carousel-fade .carousel-inner .active.carousel-item-end {
  opacity: 0;
}
#hero .carousel-fade .carousel-inner .active,
#hero .carousel-fade .carousel-inner .carousel-item-next.carousel-item-start,
#hero .carousel-fade .carousel-inner .carousel-item-prev.carousel-item-end {
  opacity: 1;
  transition: 0.5s;
}
#hero .carousel-fade .carousel-inner .carousel-item-next,
#hero .carousel-fade .carousel-inner .carousel-item-prev,
#hero .carousel-fade .carousel-inner .active.carousel-item-start,
#hero .carousel-fade .carousel-inner .active.carousel-item-end {
  left: 0;
  transform: translate3d(0, 0, 0);
}
#hero .carousel-control-prev, #hero .carousel-control-next {
  width: 10%;
}
@media (min-width: 1024px) {
  #hero .carousel-control-prev, #hero .carousel-control-next {
    width: 5%;
  }
}
#hero .carousel-control-next-icon, #hero .carousel-control-prev-icon {
  background: none;
  font-size: 32px;
  line-height: 1;
}
#hero .carousel-indicators li {
  cursor: pointer;
}
#hero .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: rgba(52,92,106);
}
#hero .btn-get-started:hover {
  background: #fff;
  color: rgba(52,92,106);
}

/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/
section {
  overflow: hidden;
}

/* Sections Header
--------------------------------*/
.section-header h3 {
  font-size: 32px;
  color: #111;
  text-transform: uppercase;
  text-align: center;
  font-weight: 700;
  position: relative;
  padding-bottom: 15px;
}
.section-header h3::before {
  content: "";
  position: absolute;
  display: block;
  width: 120px;
  height: 1px;
  background: #ddd;
  bottom: 1px;
  left: calc(50% - 60px);
}
.section-header h3::after {
  content: "";
  position: absolute;
  display: block;
  width: 40px;
  height: 3px;
  background: rgba(52,92,106);
  bottom: 0;
  left: calc(50% - 20px);
}
.section-header p {
  text-align: center;
  padding-bottom: 30px;
  color: #333;
}

/* Section with background
--------------------------------*/
.section-bg {
  background: #f7f7f7;
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
  padding: 20px 0;
  background-color: #f7f7f7;
  min-height: 40px;
  margin-top: 80px;
}
.breadcrumbs h2,
.breadcrumbs h1 {
  font-size: 24px;
  margin-bottom: 0;
  font-weight: 400;
}
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
}
.breadcrumbs ol li + li {
  padding-left: 10px;
}
.breadcrumbs ol li + li::before {
  display: inline-block;
  padding-right: 10px;
  color: #6c757d;
  content: "/";
}
@media (max-width: 768px) {
  .breadcrumbs .d-flex {
    display: block !important;
  }
  .breadcrumbs ol {
    display: block;
  }
  .breadcrumbs ol li {
    display: inline-block;
  }
}

/* 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: rgba(52,92,106);
  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: rgba(52,92,106);
}
#featured-services p {
  font-size: 14px;
  line-height: 24px;
  color: #fff;
  margin-bottom: 0;
}

/* About Us Section
--------------------------------*/
#about {
  background: url("../img/about-bg.jpg") 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: 20px;
}
#about .about-col .img {
  position: relative;
}
#about .about-col .img img {
  height: 27rem;
}
#about .about-col .icon img {
  border-radius: 4px 4px 0 0;
  height: auto;
}
#about .icon img {
  width: 50px;
  height: 50px;
  transition: 0.5s;
}
#about .about-col .icon {
  width: 80px;
  height: 80px;
  text-align: center;
  position: absolute;
  background-color: rgba(52,92,106);
  border-radius: 50%;
  border: 4px solid #fff;
  left: calc(50% - 32px);
  bottom: -30px;
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
#about .about-col i {
  font-size: 28px;
  line-height: 0;
  color: #fff;
  transition: 0.3s;
}
#about .about-col:hover .icon {
  background-color: #fff;
}
#about .about-col:hover i {
  color: rgba(52,92,106);
}
#about .about-col h2 {
  color: #000;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
  padding: 0;
  margin: 40px 0 12px 0;
}
#about .about-col h2 a {
  color: #000;
}
#about .about-col h2 a:hover {
  color: rgba(52,92,106);
}
#about .about-col p {
  font-size: 14px;
  line-height: 24px;
  color: #333;
  margin-bottom: 0;
  padding: 0 20px 20px 20px;
}

/* Services Section
--------------------------------*/
#services {
  background: #fff;
  background-size: cover;
  padding: 60px 0 40px 0;
}
#services p {
  font-size: 14px;
  line-height: 24px;
  color: black;
  margin-bottom: 0;
  text-align: justify;
}
#services .box {
  margin-bottom: 30px;
}
#services .box img {
  width: 50px;
  height: 50px;
  float: left;
  line-height: 0;
  transition: 0.5s;
}
#services .title {
  margin-left: 60px;
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 18px;
}
#services .title a {
  color: #111;
}
#services .box:hover .title a {
  color: rgba(52,92,106);
}
#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;
}
#call-to-action .cta-btn {
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 8px 28px;
  border-radius: 25px;
  transition: 0.5s;
  margin-top: 10px;
  border: 2px solid #fff;
  color: #fff;
}
#call-to-action .cta-btn:hover {
  background: rgba(52,92,106);
  border: 2px solid rgba(52,92,106);
}

/* Call To Action Section
--------------------------------*/
#skills {
  padding: 60px 0;
}
#skills .progress {
  height: 35px;
  margin-bottom: 10px;
  border-radius: 0;
}
#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: 0.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: rgba(52,92,106);
}
#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: rgba(52,92,106);
  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-flex;
  align-items: center;
  justify-content: center;
  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 {
  font-size: 22px;
  color: #333;
  line-height: 0;
}
#portfolio .portfolio-item figure .link-preview:hover, #portfolio .portfolio-item figure .link-details:hover {
  background: rgba(52,92,106);
}
#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: rgba(52,92,106);
}
#portfolio .portfolio-item .portfolio-info p {
  padding: 0;
  margin: 0;
  color: #b8b8b8;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
}

/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
  padding-top: 40px;
}
.portfolio-details .portfolio-details-slider img {
  width: 100%;
}
.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 20px;
  position: relative;
}
.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid rgba(52,92,106);
}
.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: rgba(52,92,106);
}
.portfolio-details .portfolio-info {
  padding: 30px;
  box-shadow: 0px 0 30px rgba(51, 51, 51, 0.08);
}
.portfolio-details .portfolio-info h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}
.portfolio-details .portfolio-info ul li + li {
  margin-top: 10px;
}
.portfolio-details .portfolio-description {
  padding-top: 30px;
}
.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}
.portfolio-details .portfolio-description p {
  padding: 0;
}

/* Clients Section
--------------------------------*/
#clients {
  padding: 60px 0;
}
#clients img {
  opacity: 0.5;
  transition: 0.3s;
}
#clients img:hover {
  opacity: 1;
}
#clients .swiper-pagination {
  margin-top: 30px;
  position: relative;
}
#clients .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid rgba(52,92,106);
}
#clients .swiper-pagination .swiper-pagination-bullet-active {
  background-color: rgba(52,92,106);
}

/* Testimonials Section
--------------------------------*/
#testimonials {
  padding: 60px 0;
}

#testimonials p {
  color: #999;
}
#testimonials .section-header {
  margin-bottom: 40px;
}
#testimonials .testimonials-carousel, #testimonials .testimonials-slider {
  overflow: hidden;
}
#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;
}
@media (min-width: 992px) {
  #testimonials .testimonial-item p {
    width: 80%;
  }
}
#testimonials .swiper-pagination {
  margin-top: 20px;
  position: relative;
}
#testimonials .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid rgba(52,92,106);
}
#testimonials .swiper-pagination .swiper-pagination-bullet-active {
  background-color: rgba(52,92,106);
}

/* 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: flex;
  justify-content: 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: rgba(52,92,106);
}
#team .member .social i {
  font-size: 18px;
  margin: 0 2px;
}

/* Contact Section
--------------------------------*/
#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: rgba(52,92,106);
}
#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: rgba(52,92,106);
}
#contact .contact-address, #contact .contact-phone, #contact .contact-email {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  #contact .contact-address, #contact .contact-phone, #contact .contact-email {
    padding: 20px 0;
  }
}
@media (min-width: 768px) {
  #contact .contact-phone {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }
}
#contact .php-email-form {
  box-shadow: 0 0 30px rgba(214, 215, 216, 0.6);
  padding: 30px;
  background: #fff;
}
#contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  font-weight: 600;
}
#contact .php-email-form .error-message br + br {
  margin-top: 25px;
}
#contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: rgba(52,92,106);
  text-align: center;
  padding: 15px;
  font-weight: 600;
}
#contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
}
#contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid rgba(52,92,106);
  border-top-color: #eee;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}
#contact .php-email-form .form-group {
  margin-bottom: 20px;
}
#contact .php-email-form input, #contact .php-email-form textarea {
  padding: 10px 14px;
  border-radius: 0;
  box-shadow: none;
  font-size: 15px;
}
#contact .php-email-form input::focus, #contact .php-email-form textarea::focus {
  background-color: rgba(52,92,106);
}
#contact .php-email-form button[type=submit] {
  background: rgba(52,92,106);
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  cursor: pointer;
}
#contact .php-email-form button[type=submit]:hover {
  background: #13a456;
}
@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Blog
--------------------------------------------------------------*/
.blog {
  padding: 40px 0 20px 0;
}
.blog .entry {
  padding: 30px;
  margin-bottom: 60px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.blog .entry .entry-img {
  max-height: 440px;
  margin: -30px -30px 20px -30px;
  overflow: hidden;
}
.blog .entry .entry-title {
  font-size: 28px;
  font-weight: bold;
  padding: 0;
  margin: 0 0 20px 0;
}
.blog .entry .entry-title a {
  color: #333333;
  transition: 0.3s;
}
.blog .entry .entry-title a:hover {
  color: rgba(52,92,106);
}
.blog .entry .entry-meta {
  margin-bottom: 15px;
  color: rgba(52,92,106);
}
.blog .entry .entry-meta ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  align-items: center;
  padding: 0;
  margin: 0;
}
.blog .entry .entry-meta ul li + li {
  padding-left: 20px;
}
.blog .entry .entry-meta i {
  font-size: 16px;
  margin-right: 8px;
  line-height: 0;
}
.blog .entry .entry-meta a {
  color: #666666;
  font-size: 14px;
  display: inline-block;
  line-height: 1;
}
.blog .entry .entry-content p {
  line-height: 24px;
}
.blog .entry .entry-content .read-more {
  -moz-text-align-last: right;
  text-align-last: right;
}
.blog .entry .entry-content .read-more a {
  display: inline-block;
  background: #fff;
  color: #333333;
  padding: 6px 30px 8px 30px;
  transition: 0.3s;
  font-size: 14px;
  border-radius: 50px;
  border: 2px solid rgba(52,92,106);
}
.blog .entry .entry-content .read-more a:hover {
  background: rgba(52,92,106);
  color: #fff;
}
.blog .entry .entry-content h3 {
  font-size: 22px;
  margin-top: 30px;
  font-weight: bold;
}
.blog .entry .entry-content blockquote {
  overflow: hidden;
  background-color: #fafafa;
  padding: 60px;
  position: relative;
  text-align: center;
  margin: 20px 0;
}
.blog .entry .entry-content blockquote p {
  color: #666666;
  line-height: 1.6;
  margin-bottom: 0;
  font-style: italic;
  font-weight: 500;
  font-size: 22px;
}
.blog .entry .entry-content blockquote::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: rgba(52,92,106);
  margin-top: 20px;
  margin-bottom: 20px;
}
.blog .entry .entry-footer {
  padding-top: 10px;
  border-top: 1px solid #e6e6e6;
}
.blog .entry .entry-footer i {
  color: rgba(52,92,106);
  display: inline;
}
.blog .entry .entry-footer a {
  color: #666666;
  transition: 0.3s;
}
.blog .entry .entry-footer a:hover {
  color: rgba(52,92,106);
}
.blog .entry .entry-footer .cats {
  list-style: none;
  display: inline;
  padding: 0 20px 0 0;
  font-size: 14px;
}
.blog .entry .entry-footer .cats li {
  display: inline-block;
}
.blog .entry .entry-footer .tags {
  list-style: none;
  display: inline;
  padding: 0;
  font-size: 14px;
}
.blog .entry .entry-footer .tags li {
  display: inline-block;
}
.blog .entry .entry-footer .tags li + li::before {
  padding-right: 6px;
  color: #6c757d;
  content: ",";
}
.blog .entry .entry-footer .share {
  font-size: 16px;
}
.blog .entry .entry-footer .share i {
  padding-left: 5px;
}
.blog .entry-single {
  margin-bottom: 30px;
}
.blog .blog-author {
  padding: 20px;
  margin-bottom: 30px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.blog .blog-author img {
  width: 120px;
  margin-right: 20px;
}
.blog .blog-author h4 {
  font-weight: 600;
  font-size: 22px;
  margin-bottom: 0px;
  padding: 0;
  color: #333333;
}
.blog .blog-author .social-links {
  margin: 0 10px 10px 0;
}
.blog .blog-author .social-links a {
  color: rgba(51, 51, 51, 0.4);
  margin-right: 5px;
  transition: 0.3s;
}
.blog .blog-author .social-links a:hover {
  color: rgba(52,92,106);
}
.blog .blog-author p {
  font-style: italic;
  color: #666666;
}
.blog .blog-comments {
  margin-bottom: 30px;
}
.blog .blog-comments .comments-count {
  font-weight: bold;
}
.blog .blog-comments .comment {
  margin-top: 30px;
  position: relative;
}
.blog .blog-comments .comment .comment-img {
  margin-right: 14px;
}
.blog .blog-comments .comment .comment-img img {
  width: 60px;
}
.blog .blog-comments .comment h5 {
  font-size: 16px;
  margin-bottom: 2px;
}
.blog .blog-comments .comment h5 a {
  font-weight: bold;
  color: #666666;
  transition: 0.3s;
}
.blog .blog-comments .comment h5 a:hover {
  color: #333333;
}
.blog .blog-comments .comment h5 .reply {
  padding-left: 10px;
  color: rgba(52,92,106);
}
.blog .blog-comments .comment h5 .reply i {
  font-size: 20px;
}
.blog .blog-comments .comment time {
  display: block;
  font-size: 14px;
  color: #999999;
  margin-bottom: 5px;
}
.blog .blog-comments .comment.comment-reply {
  padding-left: 40px;
}
.blog .blog-comments .reply-form {
  margin-top: 30px;
  padding: 30px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.blog .blog-comments .reply-form h4 {
  font-weight: bold;
  font-size: 22px;
}
.blog .blog-comments .reply-form p {
  font-size: 14px;
}
.blog .blog-comments .reply-form input {
  border-radius: 4px;
  padding: 10px 10px;
  font-size: 14px;
}
.blog .blog-comments .reply-form input:focus {
  box-shadow: none;
  border-color: #666666;
}
.blog .blog-comments .reply-form textarea {
  border-radius: 4px;
  padding: 10px 10px;
  font-size: 14px;
}
.blog .blog-comments .reply-form textarea:focus {
  box-shadow: none;
  border-color: #666666;
}
.blog .blog-comments .reply-form .form-group {
  margin-bottom: 25px;
}
.blog .blog-comments .reply-form .btn-primary {
  border-radius: 50px;
  padding: 10px 30px;
  border: 0;
  background-color: rgba(52,92,106);
}
.blog .blog-comments .reply-form .btn-primary:hover {
  background-color: #1ee57a;
}
.blog .blog-pagination {
  color: rgba(52,92,106);
}
.blog .blog-pagination ul {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}
.blog .blog-pagination li {
  margin: 0 5px;
  transition: 0.3s;
}
.blog .blog-pagination li a {
  color: rgba(52,92,106);
  padding: 6px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  font-weight: bold;
}
.blog .blog-pagination li.active, .blog .blog-pagination li:hover {
  background: rgba(52,92,106);
  border-radius: 50px;
}
.blog .blog-pagination li.active a, .blog .blog-pagination li:hover a {
  color: #fff;
}
.blog .sidebar {
  padding: 30px;
  margin: 0 0 60px 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.blog .sidebar .sidebar-title {
  font-size: 20px;
  font-weight: 700;
  padding: 0 0 0 0;
  margin: 0 0 15px 0;
  color: #333333;
  position: relative;
}
.blog .sidebar .sidebar-item {
  margin-bottom: 30px;
}
.blog .sidebar .search-form form {
  background: #fff;
  border: 1px solid #ddd;
  padding: 3px 10px;
  position: relative;
  border-radius: 50px;
}
.blog .sidebar .search-form form input {
  border: 0;
  padding: 4px;
  border-radius: 4px;
  width: calc(100% - 70px);
  box-shadow: none;
}
.blog .sidebar .search-form form input:focus {
  box-shadow: none;
}
.blog .sidebar .search-form form button {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  border: 0;
  background: none;
  font-size: 16px;
  padding: 0 30px;
  margin: -1px;
  background: rgba(52,92,106);
  color: #fff;
  transition: 0.3s;
  line-height: 0;
  border-radius: 50px;
}
.blog .sidebar .search-form form button i {
  line-height: 0;
}
.blog .sidebar .search-form form button:hover {
  background: #13a456;
}
.blog .sidebar .categories ul {
  list-style: none;
  padding: 0;
}
.blog .sidebar .categories ul li + li {
  padding-top: 10px;
}
.blog .sidebar .categories ul a {
  color: #333333;
  transition: 0.3s;
}
.blog .sidebar .categories ul a:hover {
  color: rgba(52,92,106);
}
.blog .sidebar .categories ul a span {
  padding-left: 5px;
  color: #b3b3b3;
  font-size: 14px;
}
.blog .sidebar .recent-posts .post-item + .post-item {
  margin-top: 15px;
}
.blog .sidebar .recent-posts img {
  width: 80px;
  float: left;
}
.blog .sidebar .recent-posts h4 {
  font-size: 15px;
  margin-left: 95px;
  font-weight: bold;
}
.blog .sidebar .recent-posts h4 a {
  color: #333333;
  transition: 0.3s;
}
.blog .sidebar .recent-posts h4 a:hover {
  color: rgba(52,92,106);
}
.blog .sidebar .recent-posts time {
  display: block;
  margin-left: 95px;
  font-style: italic;
  font-size: 14px;
  color: #b3b3b3;
}
.blog .sidebar .tags {
  margin-bottom: -10px;
}
.blog .sidebar .tags ul {
  list-style: none;
  padding: 0;
}
.blog .sidebar .tags ul li {
  display: inline-block;
}
.blog .sidebar .tags ul a {
  color: #333333;
  font-size: 14px;
  padding: 6px 20px;
  margin: 0 6px 8px 0;
  border: 1px solid rgba(52,92,106);
  display: inline-block;
  border-radius: 50px;
  transition: 0.3s;
}
.blog .sidebar .tags ul a:hover {
  color: #fff;
  background: rgba(52,92,106);
}
.blog .sidebar .tags ul a span {
  padding-left: 5px;
  color: white;
  font-size: 14px;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  background: #000;
  padding: 0 0 30px 0;
  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 rgba(52,92,106);
}
#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 {
  display: inline-block;
  background: #333;
  color: #eee;
  line-height: 1;
  margin-right: 4px;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  transition: 0.3s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#footer .footer-top .social-links a i {
  line-height: 0;
  font-size: 16px;
}
#footer .footer-top .social-links a:hover {
  background: rgba(52,92,106);
  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: rgba(52,92,106);
  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 {
  border-bottom: 1px solid #333;
  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: rgba(52,92,106);
}
#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: rgba(52,92,106);
  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: #13a456;
}
#footer .copyright {
  text-align: center;
  padding-top: 30px;
}
#footer .credits {
  text-align: center;
  font-size: 13px;
  color: #ddd;
}

/* =========================================================
   Cookie consent (first-layer banner + configuration modal)
   ========================================================= */
.jt-cookie-banner{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  padding: 14px 16px;
  background: rgba(0,0,0,0.85);
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
}
.jt-cookie-banner__inner{
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}
.jt-cookie-banner__text{
  flex: 1 1 auto;
  min-width: 240px;
}
.jt-cookie-banner__actions{
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.jt-cookie-link{
  color: #fff;
  text-decoration: underline;
}
.jt-cookie-btn{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.55);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 14px;
  cursor: pointer;
  background: transparent;
  color: #fff;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
}
.jt-cookie-btn:active{ transform: translateY(1px); }
.jt-cookie-btn--primary{
  background: #18d26e;
  border-color: #18d26e;
  color: #0b1b11;
  font-weight: 600;
}
.jt-cookie-btn--primary:hover{ background: #13b95f; border-color: #13b95f; }
.jt-cookie-btn--ghost:hover{ background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.75); }

/* Close (X) — placed at the far left of the banner */
.jt-cookie-banner__close{
  appearance: none;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font-size: 26px;
  line-height: 38px;
  text-align: center;
  cursor: pointer;
  opacity: 0.9;
}
.jt-cookie-banner__close:hover{ opacity: 1; border-color: rgba(255,255,255,0.6); }
.jt-cookie-banner__close:focus{
  outline: 2px solid rgba(255,255,255,0.65);
  outline-offset: 2px;
}

.jt-cookie-modal{
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
}
body.jt-cookie-modal-open .jt-cookie-modal{
  display: block;
}
.jt-cookie-modal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}
.jt-cookie-modal__panel{
  position: relative;
  width: min(720px, calc(100% - 24px));
  max-height: calc(100% - 24px);
  overflow: auto;
  background: #fff;
  margin: 12px auto;
  border-radius: 10px;
  padding: 18px 18px 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}
.jt-cookie-modal__header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.jt-cookie-modal__title{
  margin: 0 0 4px 0;
  font-size: 20px;
  font-weight: 700;
}
.jt-cookie-modal__subtitle{
  margin: 0;
  color: #666;
  font-size: 14px;
}
.jt-cookie-iconbtn{
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  padding: 0 6px;
  cursor: pointer;
  color: #333;
}
.jt-cookie-modal__body{ margin-top: 14px; }
.jt-cookie-hr{
  border: 0;
  border-top: 1px solid #eee;
  margin: 12px 0;
}
.jt-cookie-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
}
.jt-cookie-row__label{ flex: 1 1 auto; }
.jt-cookie-row__hint{
  margin-top: 4px;
  font-size: 13px;
  color: #666;
}
.jt-cookie-switch{
  width: 52px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid #ccc;
  background: #f2f2f2;
  position: relative;
  cursor: pointer;
  flex: 0 0 auto;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.jt-cookie-switch::after{
  content: '';
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  position: absolute;
  top: 2px;
  left: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
  transition: transform 0.15s ease;
}
.jt-cookie-switch.is-on{
  background: #18d26e;
  border-color: #18d26e;
}
.jt-cookie-switch.is-on::after{
  transform: translateX(24px);
}
.jt-cookie-switch.is-disabled{
  opacity: 0.55;
  cursor: not-allowed;
}
.jt-cookie-note{
  margin: 10px 0 0 0;
  padding: 10px 12px;
  background: #f7f7f7;
  border-radius: 8px;
  font-size: 13px;
  color: #444;
}
.jt-cookie-modal__footer{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #eee;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.jt-cookie-modal__footer-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 768px){
  .jt-cookie-banner__inner{ flex-direction: column; align-items: flex-start; }
  .jt-cookie-banner__actions{ width: 100%; justify-content: flex-start; }
}


/* =========================================================
   Privacy consent (forms)
   ========================================================= */
.jt-privacy-notice__text{
  font-size: 13px;
  color: rgba(255,255,255,0.85);
  margin: 0 0 10px 0;
}
#contact .jt-privacy-notice__text{
  color: #444;
}
.jt-privacy-notice a{
  text-decoration: underline;
}
.jt-privacy-consent{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.35;
}
.jt-privacy-consent label{
  cursor: pointer;
}
.jt-privacy-consent input[type="checkbox"]{
  margin-right: 8px;
  transform: translateY(1px);
}

.jt-consent-error{
  display: none;
  margin-top: 6px;
  font-size: 13px;
  color: #dc3545;
}
.jt-consent-error.is-visible{
  display: block;
}

/* ==================================================
   TRABAJOS (volúmenes anuales) – gráfico
   ================================================== */
#skills .jt-work-subtitle{
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 20px;
  color: #556877;
}

.jt-work-chart{
  margin-top: 28px;
}

.jt-work-row{
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 18px 0;
}

.jt-work-icon{
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  flex: 0 0 64px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  background: #f7f9fb;
}

.jt-work-bar-wrap{
  flex: 1;
  background: #eef2f5;
  border-radius: 14px;
  height: 64px;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}

.jt-work-bar{
  height: 64px;
  width: var(--w, 100%);
  min-width: 34%;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  color: #fff;
  letter-spacing: .3px;
  box-shadow: 0 14px 28px rgba(0,0,0,.14);
}

.jt-work-label{
  font-weight: 800;
  font-size: 18px;
  text-transform: uppercase;
}

.jt-work-value{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

.jt-work-value strong{
  font-size: 34px;
  line-height: 1;
}

.jt-work-value span{
  font-size: 18px;
  opacity: .9;
}

/* Paleta (deja el estilo como el mockup) */
.jt-green{ background: linear-gradient(90deg, #1f7a4b 0%, #2e8b57 55%, #2a7b52 100%); }
.jt-cyan{ background: linear-gradient(90deg, #2bb3c0 0%, #29a9be 55%, #238fb6 100%); }
.jt-blue{ background: linear-gradient(90deg, #2f86c7 0%, #2f78c5 55%, #2a66b3 100%); }
.jt-amber{ background: linear-gradient(90deg, #f2b01d 0%, #f0a90f 55%, #e79a00 100%); }
.jt-red{ background: linear-gradient(90deg, #d94a50 0%, #d23f45 55%, #bf343a 100%); }
.jt-teal{ background: linear-gradient(90deg, #2b9aa0 0%, #2a8f97 55%, #247c90 100%); }
.jt-gray{ background: linear-gradient(90deg, #d7dce1 0%, #cfd6dd 55%, #c6ced6 100%); color:#2c3e50; }

/* Iconos: misma tonalidad que la barra, pero suave */
.jt-work-icon.jt-green{ background: rgba(46,139,87,.12); color:#2e8b57; }
.jt-work-icon.jt-cyan{ background: rgba(41,169,190,.12); color:#1f8fa2; }
.jt-work-icon.jt-blue{ background: rgba(47,120,197,.12); color:#2f78c5; }
.jt-work-icon.jt-amber{ background: rgba(240,169,15,.16); color:#d88f00; }
.jt-work-icon.jt-red{ background: rgba(210,63,69,.14); color:#d23f45; }
.jt-work-icon.jt-teal{ background: rgba(42,143,151,.14); color:#2a8f97; }
.jt-work-icon.jt-gray{ background: rgba(38,70,83,.08); color:#264653; }

@media (max-width: 992px){
  #skills .jt-work-subtitle{ font-size: 18px; }
  .jt-work-icon{ width: 56px; height: 56px; flex-basis: 56px; font-size: 24px; }
  .jt-work-bar-wrap, .jt-work-bar{ height: 56px; }
  .jt-work-label{ font-size: 16px; }
  .jt-work-value strong{ font-size: 30px; }
  .jt-work-value span{ font-size: 16px; }
}

@media (max-width: 576px){
  .jt-work-row{ gap: 12px; }
  .jt-work-label{ font-size: 14px; }
  .jt-work-value strong{ font-size: 26px; }
}


/* Equipo JT — ampliación 2026 */
.jt-team-section{background:#f5f7f8;padding:80px 0 70px;position:relative;overflow:hidden}
.jt-team-section:before{content:"";position:absolute;right:-120px;top:-170px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(52,92,106,.13)}
.jt-team-section .section-header{margin-bottom:42px}
.jt-team-section .section-header p{max-width:760px;margin:0 auto;color:#666}
.jt-team-leads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:52px}
.jt-team-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.jt-team-grid .jt-team-card{grid-column:span 2}
.jt-team-grid .jt-team-card:nth-last-child(2){grid-column:2/span 2}
.jt-team-grid .jt-team-card:last-child{grid-column:4/span 2}
.jt-team-card{background:#fff;border:1px solid rgba(52,92,106,.13);box-shadow:0 14px 34px rgba(20,38,44,.08);padding:28px 24px;text-align:center;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative}
.jt-team-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:rgb(52,92,106);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.jt-team-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(20,38,44,.14);border-color:rgba(52,92,106,.32)}
.jt-team-card:hover:after{transform:scaleX(1)}
.jt-team-card-lead{display:grid;grid-template-columns:180px 1fr;align-items:center;text-align:left;padding:30px;min-height:270px}
.jt-team-photo{width:154px;height:154px;border-radius:50%;overflow:hidden;margin:0 auto 22px;border:6px solid #eef3f4;box-shadow:0 0 0 1px rgba(52,92,106,.18);background:#e7ecee}
.jt-team-card-lead .jt-team-photo{width:168px;height:168px;margin:0}
.jt-team-photo img{width:100%;height:100%;object-fit:cover;display:block}
.jt-team-content h4{font-family:"Montserrat",sans-serif;font-size:19px;font-weight:700;color:#263238;margin:0 0 7px}
.jt-team-card-lead .jt-team-content h4{font-size:24px}
.jt-team-role{font-size:12px;line-height:1.45;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:rgb(52,92,106);min-height:34px}
.jt-team-card-lead .jt-team-role{min-height:auto;margin-bottom:14px}
.jt-team-content p{margin:0;color:#666;line-height:1.7;font-size:14px}
.jt-team-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#7c8b90;margin-bottom:10px}
.jt-team-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-bottom:1px solid rgba(52,92,106,.2);padding-bottom:16px;margin-bottom:28px}
.jt-team-subhead span{font-family:"Montserrat",sans-serif;font-size:22px;font-weight:700;color:#263238}
.jt-team-subhead p{max-width:680px;margin:0;text-align:right;color:#6b7478;font-size:14px;line-height:1.6}
@media (max-width:991px){.jt-team-leads{grid-template-columns:1fr}.jt-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jt-team-grid .jt-team-card,.jt-team-grid .jt-team-card:nth-last-child(2),.jt-team-grid .jt-team-card:last-child{grid-column:auto}.jt-team-grid .jt-team-card:last-child{grid-column:1/-1;max-width:calc(50% - 12px);width:100%;justify-self:center}.jt-team-subhead{display:block}.jt-team-subhead p{text-align:left;margin-top:8px}}
@media (max-width:640px){.jt-team-section{padding:65px 0 55px}.jt-team-card-lead{grid-template-columns:1fr;text-align:center;padding:28px 22px}.jt-team-card-lead .jt-team-photo{margin:0 auto 22px}.jt-team-grid{grid-template-columns:1fr}.jt-team-grid .jt-team-card:last-child{grid-column:auto;max-width:none}.jt-team-role{min-height:auto}.jt-team-subhead span{font-size:20px}}

/* Ajuste visual 2026 — cabecera y pie más luminosos */
#header {
  background: rgba(43, 62, 70, 0.94);
  box-shadow: 0 8px 24px rgba(18, 35, 42, 0.12);
}
#header.header-transparent {
  background: rgba(43, 62, 70, 0.38);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
#header.header-scrolled {
  background: rgba(43, 62, 70, 0.96);
  box-shadow: 0 8px 24px rgba(18, 35, 42, 0.16);
}

#footer {
  background: #263a42;
  color: #f3f6f7;
}
#footer .footer-top {
  background: #314a54;
}
#footer .footer-top .footer-info p,
#footer .footer-top .footer-links ul a,
#footer .footer-top .footer-contact p,
#footer .credits {
  color: #eef3f4;
}
#footer .footer-top .footer-links ul li {
  border-bottom-color: rgba(255,255,255,.16);
}
#footer .footer-top h4::before {
  background: rgba(255,255,255,.28);
}
#footer .footer-top .social-links a {
  background: rgba(255,255,255,.14);
  color: #fff;
}
#footer .footer-top .social-links a:hover {
  background: #7fa0ac;
}

/* El aviso de cookies acompaña la nueva paleta, sin negro puro */
.jt-cookie-banner {
  background: rgba(32, 49, 57, 0.98);
  box-shadow: 0 -8px 24px rgba(18,35,42,.22);
}

/* ==============================================================
   AJUSTE DE LUMINOSIDAD — PORTADA Y BANDA DE CONTACTO
   Mantiene las fotografías en blanco y negro, pero reduce el velo
   oscuro para dar a la web una imagen más luminosa.
   ============================================================== */
#hero {
  background: #dfe4e5;
}

#hero .carousel-item {
  background-color: rgba(255, 255, 255, 0.22);
  background-blend-mode: screen;
  filter: grayscale(100%);
}

#hero .carousel-item::before {
  background: linear-gradient(
    180deg,
    rgba(20, 32, 36, 0.22) 0%,
    rgba(20, 32, 36, 0.30) 100%
  );
}

#hero h2,
#hero p {
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.42);
}

#call-to-action {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.24)),
    url(../img/call-to-action-bg.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-blend-mode: screen;
  filter: grayscale(100%);
}

#call-to-action h3,
#call-to-action p,
#call-to-action .cta-btn {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.38);
}

@media (max-width: 991px) {
  #call-to-action {
    background-attachment: scroll;
  }
}

/* ==============================================================
   REDISEÑO CLARO JT — CABECERA, PIE Y COOKIES
   Fondo blanco, textos y logotipos oscuros, manteniendo el azul JT.
   ============================================================== */
:root{
  --jt-ink:#17252b;
  --jt-muted:#5f6c71;
  --jt-line:#dce3e6;
  --jt-accent:#345c6a;
  --jt-white:rgba(255,255,255,.94);
}

#header,
#header.header-transparent,
#header.header-scrolled{
  background:rgba(255,255,255,.96) !important;
  color:var(--jt-ink);
  box-shadow:0 1px 0 rgba(23,37,43,.10),0 8px 28px rgba(23,37,43,.06) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
#header .logo{
  border-left-color:var(--jt-accent);
}
#header .logo img{
  max-height:72px;
  width:auto;
  object-fit:contain;
}
#header.header-scrolled .logo img{max-height:54px}
.navbar a,.navbar a:focus{
  color:var(--jt-ink) !important;
}
.navbar a:hover,.navbar .active,.navbar .active:focus,.navbar li:hover>a{
  color:var(--jt-accent) !important;
}
.mobile-nav-toggle{color:var(--jt-ink) !important}
.navbar-mobile{
  background:rgba(255,255,255,.98) !important;
}
.navbar-mobile ul{
  background:#fff !important;
  box-shadow:0 18px 45px rgba(23,37,43,.12);
}
.navbar-mobile a,.navbar-mobile a:focus{color:var(--jt-ink) !important}

#footer,
#footer .footer-top{
  background:#fff !important;
  color:var(--jt-ink) !important;
}
#footer{
  border-top:1px solid var(--jt-line);
  box-shadow:0 -12px 35px rgba(23,37,43,.035);
}
#footer .footer-top{
  padding-top:58px;
}
#footer .footer-top .footer-info p,
#footer .footer-top .footer-links ul a,
#footer .footer-top .footer-contact p,
#footer .footer-top h4,
#footer .copyright,
#footer .credits{
  color:var(--jt-ink) !important;
}
#footer .footer-top .footer-links ul li{
  border-bottom-color:var(--jt-line) !important;
}
#footer .footer-top .footer-links ul i{
  color:var(--jt-accent) !important;
}
#footer .footer-top h4::before{
  background:var(--jt-line) !important;
}
#footer .footer-top h4::after{
  background:var(--jt-accent) !important;
}
#footer .footer-top .social-links a{
  background:#eef2f3 !important;
  color:var(--jt-ink) !important;
  border:1px solid #e1e7e9;
}
#footer .footer-top .social-links a:hover{
  background:var(--jt-accent) !important;
  color:#fff !important;
}
#footer .footer-info .logo img{
  width:100%;
  max-width:330px;
  height:auto;
}

/* Banner de cookies translúcido y ligero */
.jt-cookie-banner{
  background:rgba(255,255,255,.84) !important;
  color:var(--jt-ink) !important;
  border-top:1px solid rgba(23,37,43,.12);
  box-shadow:0 -10px 35px rgba(23,37,43,.10) !important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
.jt-cookie-banner__text,
.jt-cookie-banner strong{color:var(--jt-ink) !important}
.jt-cookie-link{color:var(--jt-ink) !important}
.jt-cookie-btn{
  color:var(--jt-ink) !important;
  border-color:rgba(23,37,43,.35) !important;
  background:rgba(255,255,255,.40) !important;
}
.jt-cookie-btn--ghost:hover{background:rgba(52,92,106,.08) !important}
.jt-cookie-btn--primary{
  background:var(--jt-accent) !important;
  border-color:var(--jt-accent) !important;
  color:#fff !important;
}
.jt-cookie-btn--primary:hover{background:#294c58 !important}
.jt-cookie-banner__close{
  color:var(--jt-ink) !important;
  border-color:rgba(23,37,43,.28) !important;
  background:rgba(255,255,255,.42) !important;
}
.jt-cookie-banner__close:hover{border-color:rgba(23,37,43,.55) !important}
.jt-cookie-banner__close:focus{outline-color:rgba(52,92,106,.55) !important}

/* Panel de configuración: blanco translúcido sobre velo muy suave */
.jt-cookie-modal,
.jt-cookie-modal__overlay{
  background:rgba(23,37,43,.18) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.jt-cookie-modal__panel,
.jt-cookie-modal__dialog{
  background:rgba(255,255,255,.94) !important;
  color:var(--jt-ink) !important;
  border:1px solid rgba(23,37,43,.10);
  box-shadow:0 24px 70px rgba(23,37,43,.18) !important;
}

@media(max-width:991px){
  #header .logo img{max-height:62px}
}

/* ==============================================================
   PORTADA EDITORIAL JT 2026 — imagen única, clara y arquitectónica
   ============================================================== */
:root{
  --jt-accent:#2f7890;
  --jt-accent-deep:#235f73;
}

/* Un azul más visible en hover y estado activo */
.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover > a{
  color:var(--jt-accent) !important;
}
.navbar > ul > li > a::before{
  background-color:var(--jt-accent) !important;
  height:3px;
}

#hero.jt-hero-single{
  position:relative;
  width:100%;
  min-height:clamp(650px, calc(100vh - 86px), 900px);
  margin-top:86px;
  overflow:hidden;
  background:#f7f8f8;
  display:flex;
  align-items:center;
}
.jt-hero-visual{
  position:absolute;
  inset:0;
  background-image:url('../img/home/hero-jt-v11.jpg?v=11');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:69% center;
  filter:grayscale(100%) contrast(.94) brightness(1.12);
  transform:scale(1.01);
}
.jt-hero-single::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.97) 24%,
    rgba(255,255,255,.78) 43%,
    rgba(255,255,255,.16) 64%,
    rgba(255,255,255,.02) 100%);
}
.jt-hero-single::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(17,31,37,.04));
  pointer-events:none;
}
.jt-hero-layout{
  position:relative;
  z-index:2;
  width:100%;
}
.jt-hero-copy{
  max-width:650px;
  padding:72px 0 80px;
}
.jt-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
  color:var(--jt-accent-deep);
  font-family:"Montserrat",sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.jt-hero-kicker::before{
  content:"";
  display:block;
  width:44px;
  height:2px;
  background:var(--jt-accent);
}
#hero.jt-hero-single h1{
  margin:0;
  max-width:620px;
  color:#142228;
  font-family:"Montserrat",sans-serif;
  font-size:clamp(42px,5.2vw,76px);
  line-height:1.03;
  letter-spacing:-.045em;
  font-weight:700;
  text-shadow:none;
}
#hero.jt-hero-single p{
  max-width:585px;
  margin:28px 0 0;
  color:#4d5b61;
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.7;
  text-shadow:none;
}
.jt-hero-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px 26px;
  margin-top:38px;
}
.jt-hero-primary,
.jt-hero-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 25px;
  font-family:"Montserrat",sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  transition:.25s ease;
}
.jt-hero-primary{
  gap:25px;
  color:#fff !important;
  background:var(--jt-accent-deep);
  border:1px solid var(--jt-accent-deep);
  box-shadow:0 12px 30px rgba(35,95,115,.18);
}
.jt-hero-primary span{font-size:22px;font-weight:400;transition:transform .25s ease}
.jt-hero-primary:hover{
  color:#fff !important;
  background:var(--jt-accent);
  border-color:var(--jt-accent);
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(35,95,115,.25);
}
.jt-hero-primary:hover span{transform:translateX(4px)}
.jt-hero-secondary{
  color:#17252b !important;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(23,37,43,.22);
  backdrop-filter:blur(8px);
}
.jt-hero-secondary:hover{
  color:var(--jt-accent-deep) !important;
  border-color:var(--jt-accent);
  background:#fff;
}
.jt-hero-scroll{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:24px;
  width:28px;
  height:46px;
  border:1px solid rgba(23,37,43,.35);
  border-radius:18px;
  transform:translateX(-50%);
}
.jt-hero-scroll span{
  position:absolute;
  left:50%;
  top:9px;
  width:4px;
  height:8px;
  background:var(--jt-accent);
  border-radius:4px;
  transform:translateX(-50%);
  animation:jt-scroll-dot 1.8s ease-in-out infinite;
}
@keyframes jt-scroll-dot{
  0%{opacity:0;transform:translate(-50%,0)}
  35%{opacity:1}
  100%{opacity:0;transform:translate(-50%,16px)}
}
@media (max-width:991px){
  #hero.jt-hero-single{margin-top:78px;min-height:760px;align-items:flex-end}
  .jt-hero-visual{background-position:63% center}
  .jt-hero-single::before{
    background:linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.22) 28%,rgba(255,255,255,.93) 67%,#fff 100%);
  }
  .jt-hero-copy{max-width:720px;padding:320px 0 92px}
  #hero.jt-hero-single h1{font-size:clamp(42px,8vw,64px);max-width:690px}
}
@media (max-width:575px){
  #hero.jt-hero-single{margin-top:70px;min-height:720px}
  .jt-hero-visual{background-position:69% top}
  .jt-hero-copy{padding:285px 8px 82px}
  .jt-hero-kicker{font-size:11px;letter-spacing:.11em}
  #hero.jt-hero-single h1{font-size:39px;letter-spacing:-.035em}
  #hero.jt-hero-single p{font-size:16px;line-height:1.6;margin-top:20px}
  .jt-hero-actions{align-items:stretch;gap:12px;margin-top:28px}
  .jt-hero-primary,.jt-hero-secondary{width:100%}
  .jt-hero-scroll{display:none}
}


/* JT v7 — Servicios: iconografía contemporánea y tarjetas limpias */
#services {
  background: #fff;
  padding: 88px 0 72px;
}

#services .row {
  row-gap: 24px;
}

#services .box {
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 20px;
  align-items: start;
  margin-bottom: 0;
  padding: 28px 26px 30px;
  border: 1px solid #e6ecef;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 30px rgba(23, 45, 55, .06);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  overflow: hidden;
}

#services .box::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: linear-gradient(90deg, #28768a, #59b8c3);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s ease;
}

#services .box:hover {
  transform: translateY(-5px);
  border-color: rgba(40,118,138,.3);
  box-shadow: 0 18px 42px rgba(23, 45, 55, .11);
}

#services .box:hover::after {
  transform: scaleX(1);
}

#services .icon {
  position: static;
  width: 58px;
  height: 58px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(40,118,138,.22);
  border-radius: 16px;
  background: linear-gradient(145deg, #f8fcfd, #edf6f8);
  color: #28768a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

#services .icon i {
  font-size: 27px;
  line-height: 1;
  color: #28768a;
  transition: transform .28s ease, color .28s ease;
}

#services .box:hover .icon i {
  transform: scale(1.08);
  color: #1f6577;
}

#services .title {
  grid-column: 2;
  margin: 4px 0 12px;
  font-family: "Montserrat", sans-serif;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: .01em;
}

#services .title a {
  color: #1f2c32;
}

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

#services .description {
  grid-column: 2;
  margin: 0;
  padding: 0;
  color: #56646b;
  font-size: 15px;
  line-height: 1.75;
  text-align: left;
}

#services .description + .description {
  margin-top: 10px;
}

@media (max-width: 767px) {
  #services {
    padding: 68px 0 52px;
  }

  #services .box {
    grid-template-columns: 52px 1fr;
    column-gap: 16px;
    padding: 22px 20px 24px;
    border-radius: 15px;
  }

  #services .icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
  }

  #services .icon i {
    font-size: 23px;
  }

  #services .title {
    font-size: 15px;
  }

  #services .description {
    grid-column: 1 / -1;
    margin-top: 14px;
    font-size: 14px;
  }
}

/* JT v8 — iconos SVG robustos y bloque de contacto actualizado */
#services .icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .28s ease, color .28s ease;
}
#services .box:hover .icon svg {
  transform: scale(1.08);
  color: #176e84;
}
#contact .contact-info {
  margin-top: 44px;
  border: 1px solid #e4eaed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(23,45,55,.06);
  overflow: hidden;
}
#contact .contact-info > div {
  padding: 0;
}
#contact .contact-address,
#contact .contact-phone,
#contact .contact-email {
  min-height: 250px;
  padding: 42px 28px 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  border: 0;
}
#contact .contact-info > div:not(:last-child) > div {
  border-right: 1px solid #e4eaed;
}
#contact .jt-contact-icon {
  width: 66px;
  height: 66px;
  margin-bottom: 22px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #28768a;
  background: linear-gradient(145deg,#f8fcfd,#edf6f8);
  border: 1px solid rgba(40,118,138,.22);
}
#contact .jt-contact-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#contact .contact-info h3 {
  margin: 0 0 15px;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #1f2c32;
}
#contact .contact-info address,
#contact .contact-info p,
#contact .contact-info a {
  margin: 0;
  color: #56646b;
  font-size: 15px;
  line-height: 1.65;
  font-style: normal;
}
#contact .contact-info a:hover { color: #176e84; }
@media (max-width: 767px) {
  #contact .contact-info { border-radius: 16px; }
  #contact .contact-address,
  #contact .contact-phone,
  #contact .contact-email { min-height: auto; padding: 32px 22px; }
  #contact .contact-info > div:not(:last-child) > div {
    border-right: 0;
    border-bottom: 1px solid #e4eaed;
  }
}

/* JT v9: iconografía corporativa del bloque Quiénes somos */
#about .about-col .icon {
  background:#ffffff;
  border:3px solid #d7e5e9;
  box-shadow:0 8px 24px rgba(31,72,86,.14);
}
#about .about-icon-svg {
  width:44px;
  height:44px;
  fill:none;
  stroke:#245f73;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease, stroke .25s ease;
}
#about .about-col:hover .icon {
  background:#edf7f9;
  border-color:#5fb7c1;
}
#about .about-col:hover .about-icon-svg {
  stroke:#16899a;
  transform:scale(1.06);
}

/* JT v12 — logos definitivos */
#header .logo img,
.header .logo img {
  width: auto !important;
  height: 72px !important;
  max-width: 190px !important;
  object-fit: contain !important;
  display: block !important;
}

#footer .logo img,
.footer .logo img {
  width: min(100%, 410px) !important;
  height: auto !important;
  max-height: 260px !important;
  object-fit: contain !important;
}

@media (max-width: 991px) {
  #header .logo img,
  .header .logo img {
    height: 58px !important;
    max-width: 155px !important;
  }
}
/* SEO/identity refinements preserving the original visual system */
.jt-hero-tagline{font-weight:700;color:#17252b!important;margin-top:18px!important}
#hero.jt-hero-single h1{font-size:clamp(2.35rem,4.6vw,4.65rem)!important;max-width:780px}
@media(max-width:767px){#hero.jt-hero-single h1{font-size:2.35rem!important}}

/* Contacto y WhatsApp: correcciones funcionales 2026-07 */
.jt-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.php-email-form select.form-control{height:48px;background:#fff;color:#444}
.php-email-form .loading,.php-email-form .error-message,.php-email-form .sent-message{display:none}
.jt-whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:9998;display:inline-flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:#25d366;color:#fff!important;font-weight:700;box-shadow:0 8px 26px rgba(0,0,0,.24);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.jt-whatsapp-float:hover,.jt-whatsapp-float:focus{color:#fff!important;transform:translateY(-2px);box-shadow:0 11px 30px rgba(0,0,0,.28)}
.jt-whatsapp-float i{font-size:22px;line-height:1}
@media(max-width:767px){.jt-whatsapp-float{right:14px;bottom:14px;padding:12px 14px}.back-to-top{bottom:72px}}
@media(prefers-reduced-motion:reduce){.jt-whatsapp-float{transition:none}}

/* Mejoras V5: WhatsApp corporativo, FAQ y contenidos */
.jt-whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:9998;display:flex;align-items:center;gap:9px;background:#2b6675;color:#fff!important;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:12px 18px;font-weight:700;box-shadow:0 10px 28px rgba(16,44,55,.22);transition:.2s ease;text-decoration:none}.jt-whatsapp-float:hover{background:#1f5260;transform:translateY(-2px)}.jt-whatsapp-float i{font-size:1.25rem}.social-links .whatsapp,.social-links .linkedin{background:#2b6675!important;color:#fff!important}.jt-faq-index{padding:70px 0}.jt-faq-intro{max-width:820px;margin:0 auto 36px;color:#52616a;font-size:1.08rem}.jt-faq-group{background:#fff;border:1px solid #dfe7ea;border-radius:18px;padding:28px;margin-bottom:24px;box-shadow:0 8px 24px rgba(18,48,61,.05)}.jt-faq-group h2{margin-top:0;color:#17252c}.jt-faq-item{padding:18px 0;border-top:1px solid #e7edef}.jt-faq-item:first-of-type{border-top:0}.jt-faq-item h3{font-size:1.15rem;margin:0 0 8px}.jt-faq-item p{margin:0;color:#52616a}.jt-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.jt-question-card{border:1px solid #dfe7ea;border-radius:16px;padding:22px;background:#fff}.jt-question-card h3{font-size:1.1rem}.jt-question-card a{font-weight:700;color:#2b6675}.jt-article-body{max-width:860px;margin:auto}.jt-article-body h2{margin-top:34px}.jt-author-box{margin:36px 0;padding:20px 24px;border-left:4px solid #2b6675;background:#f5f9fa}.jt-related-guides{margin-top:36px;padding-top:24px;border-top:1px solid #dfe7ea}@media(max-width:768px){.jt-question-grid{grid-template-columns:1fr}.jt-whatsapp-float{right:14px;bottom:14px;padding:11px 14px}.jt-whatsapp-float{font-size:0}.jt-whatsapp-float i{font-size:1.35rem}}

/* V6 — reseñas reales de Google */
#testimonials .jt-reviews-intro{max-width:760px;margin:0 auto 28px;text-align:center;color:#56646b;font-size:17px;line-height:1.7}
#testimonials .jt-review-source{display:flex;align-items:center;justify-content:center;gap:7px;margin:7px 0 12px;color:#2c7184;font-size:13px;font-weight:700}
#testimonials .jt-google-reviews-cta{text-align:center;margin-top:34px}
#testimonials .jt-google-reviews-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:2px solid #2c7184;border-radius:6px;color:#173f4d;background:#fff;font-family:"Montserrat",sans-serif;font-weight:700;transition:.2s ease}
#testimonials .jt-google-reviews-btn:hover{background:#2c7184;color:#fff}
@media(max-width:575px){#testimonials .jt-google-reviews-btn{width:100%;justify-content:center}}


/* V9 — pie de página compacto y WhatsApp corporativo */
#footer .footer-top{padding:30px 0 18px!important}
#footer .footer-top .footer-info{margin-bottom:0!important}
#footer .footer-info .logo{display:inline-block;margin:0!important}
#footer .footer-info .logo img,#footer .logo img,.footer .logo img{width:280px!important;max-width:100%!important;max-height:155px!important;height:auto!important;object-fit:contain!important;margin:0!important}
#footer .footer-top .footer-info p{display:none!important;margin:0!important}
#footer .footer-top h4{margin:0 0 14px!important}
#footer .footer-top .footer-links ul li{padding:3px 0!important}
#footer .footer-top .footer-contact p{margin:0 0 12px!important;line-height:1.65!important}
#footer .copyright{padding:13px 0!important}
#footer .credits{display:none!important}
.site-footer{padding:2rem 0 .75rem!important}
.site-footer .footer-grid{align-items:start!important;gap:1.35rem!important}
.site-footer .footer-grid p:first-of-type{display:none!important}
.site-footer .footer-bottom{margin-top:1.25rem!important;padding-top:.8rem!important}
.jt-whatsapp-float{position:fixed!important;right:22px!important;bottom:22px!important;z-index:9998!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;background:#2b6675!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;padding:12px 18px!important;font-family:"Open Sans",Arial,Helvetica,sans-serif!important;font-size:15px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;box-shadow:0 10px 28px rgba(16,44,55,.26)!important;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease!important}
.jt-whatsapp-float:hover,.jt-whatsapp-float:focus{background:#1f5260!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 13px 32px rgba(16,44,55,.32)!important}
.jt-whatsapp-float i{font-size:21px!important;line-height:1!important;color:#fff!important}
@media(max-width:767px){
  #footer .footer-top{padding:24px 0 12px!important}
  #footer .footer-info .logo img,#footer .logo img,.footer .logo img{width:230px!important;max-height:125px!important}
  #footer .copyright{padding:11px 10px!important}
  .jt-whatsapp-float{right:14px!important;bottom:14px!important;width:50px!important;height:50px!important;padding:0!important;font-size:0!important;border-radius:50%!important}
  .jt-whatsapp-float i{font-size:23px!important}
  .back-to-top{bottom:76px!important}
}
@media(prefers-reduced-motion:reduce){.jt-whatsapp-float{transition:none!important}}
