﻿:root {
   --primary-dark: #001f49;
   --primary-blue: #0049af;
   --secondary-blue: #97aecf;
   --light-blue: #f6f8ff;
   --white: #f3f5f9;
   --white-strong: #ffffff;
   --accent: #c40109;
   --text-muted: #506a8f;
   --black-title: #1E1E1E;
   --text-numbers: #000000;
   --backgroud-clients: #C8E2F047;
   --quote: #97AECF40;
   --hover-blue: #0055A9;
}


/* --- Hero --- */
.hero-qs {
   position: relative;
   min-height: 170px;
   display: flex;
   align-items: flex-end;
   justify-content: center;
   color: var(--white);
   overflow: hidden;
   padding: 0;
}

.hero-qs .bg {
   position: absolute;
   inset: 0;
   background-image: url('../img/hero-qs.jpg');
   background-size: cover;
   background-position: center center;
   background-repeat: no-repeat;
   filter: brightness(.55);
}

.hero-qs .overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(71.48514749297951deg, rgba(0, 31, 73, 0.9) 1.3912%, rgba(0, 74, 175, 0.9) 95.204%)
}

.hero-qs .container {
   position: relative;
   z-index: 2;
   max-width: 1440px;
   padding: 0 24px
}

.hero-qs .hero-inner {
   padding-top: 30px;
   padding-bottom: 18px
}

.hero-qs h1 {
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-weight: 700;
   font-size: 1.8rem;
   line-height: 1.12;
   text-transform: uppercase;
   margin: 0 0 10px;
   color: #ffffff;
   text-align: center;
   text-shadow: 0 3px 10px rgba(0, 0, 0, 0.45)
}

.hero-title-light {
   font-weight: 500;
   display: inline
}

.hero-qs p.lead {
   max-width: 780px;
   margin: 1.2rem auto 1.5625rem;
   font-weight: 400;
   color: #ffffff;
   text-align: center;
   line-height: 1.2;
   font-size: 1rem;
}

.hero-qs .cta {
   display: flex;
   gap: 14px;
   justify-content: center;
   flex-wrap: wrap
}

.btn-ghost {
   border: 2px solid rgba(255, 255, 255, .95);
   color: #fff;
   background: transparent;
   padding: 12px 30px;
   border-radius: 30px;
   font-weight: 700
}

.btn-solid {
   background: var(--accent);
   color: #fff;
   padding: 12px 30px;
   border-radius: 30px;
   border: 0;
   font-weight: 700
}

.btn-hero {
   background: #b9c8e6;
   color: #061e4e;
   font-weight: 600;
   padding: 14px 32px;
   border-radius: 28px;
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
   font-size: 0.75rem
}

.btn-hero:hover {
   background: var(--hover-blue);
   color: var(--white-strong);
   transform: scale(1.02);
   transition: all 0.3s ease;
   box-shadow: 0 4px 40px rgba(151, 174, 207, 0.98);
}

.btn-hero:focus,
.btn-hero:active {
   color: var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
   outline: none
}

.btn-hero:focus-visible {
   outline: 2px solid #ffffff;
   outline-offset: 2px
}


/* --- Numbers --- */
.numbers {
   padding: 50px 0 50px;
   background: #fff
}

.numbers .section-title {
   margin-bottom: 1.5rem;
   font-size: 1.35rem;
   font-weight: 600;
   text-align: center;
   color: var(--black-title)
}

.numbers .stat {
   background: transparent;
   border-radius: 0;
   padding: 16px 0 16px 0;
   text-align: left;
   box-shadow: none;
   min-height: auto;
   display: flex;
   gap: 14px;
   align-items: flex-start;
   max-width: 420px;
   margin: 0 auto;
}

@media (min-width:768px) {
   .numbers .row {
      --card-width: 420px;
      --row-shift-right: clamp(5rem, 1.8vw, 36px);
      display: flex;
      justify-content: center;
      column-gap: var(--card-gap);
      row-gap: 24px;
      transform: translateX(var(--row-shift-right));
   }

   .numbers .row>.col-md-6 {
      flex: 0 0 var(--card-width);
      max-width: var(--card-width);
      padding-left: 0;
      padding-right: 0;
   }

   .numbers .stat {
      margin: 0
   }
}

@media (min-width:1920px) {

   /* .numbers .row{
      transform:none;
      width:calc(100% - var(--row-shift-right));
      margin-left:var(--row-shift-right);
      margin-right:0;
   } */
   .numbers .row {
      --card-width: 420px;
      --card-gap: 4.5rem;
      --row-shift-right: clamp(3rem, 1.8vw, 36px);
      display: flex;
      justify-content: center;
      column-gap: var(--card-gap);
      row-gap: 24px;
      transform: translateX(var(--row-shift-right));
   }
}

@media (min-width:1921px) {
   .numbers .row {
      --card-width: 420px;
      --card-gap: 4.5rem;
      --row-shift-right: clamp(3rem, 1.8vw, 36px);
      display: flex;
      justify-content: center;
      column-gap: var(--card-gap);
      row-gap: 24px;
      transform: translateX(var(--row-shift-right));
   }
}

.numbers .stat-text {
   display: flex;
   flex-direction: column;
   width: 220px;
   max-width: 220px;
}

.numbers .stat-text h3 {
   margin: 0 0 8px;
   text-align: left;
   white-space: nowrap;
}

.numbers .stat-text p {
   margin: 0;
   text-align: left;
   max-width: none;
}

.numbers .stat h3 {
   color: var(--text-numbers);
   font-size: 1.2rem;
   margin: -15px 0 10px;
   font-weight: 600;
   line-height: 1.1;
}

.numbers .stat p {
   color: var(--text-numbers);
   margin: 0;
   font-size: 0.9rem;
   line-height: 1.18;
}

/* Stick icons centered */
.numbers .stat .icon {
   width: 64.6292px;
   height: 64.6292px;
   border-radius: 0;
   border: 0;
   color: #8ea3c8;
   background: transparent;
   display: flex;
   align-items: flex-start;
   justify-content: center;
   font-size: 1.2rem;
   flex: 0 0 64.6292px;
   margin-right: 0.5rem;
}

.numbers .stat .icon i {
   line-height: 1
}

.numbers .stat .icon img {
   width: 60px;
   height: 60px;
   object-fit: contain;
   display: block;
}

.numbers .stat .icon.icon-time {
   width: 80px;
   height: 60px;
   flex: 0 0 85.8958px;
   margin-left: -21.2666px;
   margin-top: 3.9609px;
}

.numbers .stat .icon.icon-time img {
   width: 80px;
   height: 60px;
   transform: none;
}

.numbers .stat .icon.icon-time+.stat-text {
   margin-left: 0;
}

/* --- Why choose --- */
.why-qs {
   padding: 20px 0 50px;
}

.why-qs .why-box {
   background: #fff;
   border: 1px solid #97AECF;
   border-radius: 28px;
   padding: 30px 30px 0 30px;
   box-shadow: 0 0 50px #0069FF24;
   width: 100%;
   margin: 0;
   max-width: 1050px;
   margin-left: auto;
   margin-right: auto;
}

.why-qs .section-title {
   margin-left: 0.75rem;
   margin-bottom: 28px;
   font-size: 1.3rem;
   font-weight: 700;
   color: var(--primary-dark)
}

.col-md-4 {
   padding: 0 !important;
}

.why-qs .why-item {
   text-align: center;
}

.why-qs .icon {
   width: 54px;
   height: 54px;
   border-radius: 50%;
   display: flex;
   align-items: flex-start;
   justify-content: center;
   color: #0a66d0;
   background: #fff;
   margin: 0 auto 14px;
   font-size: 1.25rem;
}

.why-qs h4 {
   margin: 0 0 8px;
   font-weight: 600;
   color: #000000
}

.why-qs p {
   margin: 0 auto;
   padding: 6px;
   max-width: 33ch;
   font-weight: 400;
   font-size: 14px;
   color: #000000;
   line-height: 1.25;
   text-align: center;
   text-wrap: balance;
}

@media (min-width:1920px) {
   .why-qs .section-title {
      margin-left: 1.9rem;
   }
}

/* --- Contact strip --- */
.contact-strip {
   background: #04224b;
   color: #fff;
   border-radius: 0;
   margin: -5px 0 60px;
   text-align: center;
   width: 100%;
   height: 207.5px;
   padding: 60px 0 40px;
   margin-bottom: 0;
}

.contact-strip-inner {
   max-width: 1240px;
   margin: 0 auto;
   padding: 0 24px;
}

.contact-strip h3 {
   font-size: 1.4rem;
   font-weight: 500;
   letter-spacing: 0.5px;
   text-transform: uppercase;
   margin: 0 0 14px;
   color: #ffffff;
}

.contact-strip .btn {
   margin-top: 1rem;
   border-radius: 28px;
   padding: 11px 25px;
   background: linear-gradient(180deg, #95ABCA 0%, #8EA6C8 100%);
   border: 0;
   color: #fff;
   box-shadow:
      0 3.48px 33.39px rgba(3, 18, 43, 0.28),
      0 0 42px rgba(81, 157, 255, 0.44),
      0 0 84px rgba(34, 96, 189, 0.42);
}

.contact-strip .btn:hover {
   background: var(--hover-blue);
   transform: scale(1.02);
   transition: all 0.3s ease;
   box-shadow: 0 4px 40px rgba(151, 174, 207, 0.98);
}

.circle {
   color: white;
   border: 1px solid #19448f;
   border-radius: 20px;
   padding: 1px 6px;
}

/* --- Testimonials --- */
.testimonials-section {
   position: relative;
   padding: 35px 0 64px;
   background: #fff;
   overflow: hidden;
   margin-bottom: 0;
}

.testimonials-container {
   position: relative;
   z-index: 1
}

.testimonials-section .section-title {
   margin: 0 0 50px 80px;
   text-align: left;
   color: #1e1e1e;
   font-size: 1.4rem;
   font-weight: 600;
   line-height: normal;
   letter-spacing: 0;
   text-transform: none;
}

.testimonials-layout {
   position: relative;
   display: grid;
   grid-template-columns: minmax(220px, 390px) minmax(0, 1fr);
   grid-template-areas:
      "media top"
      "media bottom"
      "cta cta";
   row-gap: 18px;
   align-items: start;
   padding-bottom: 8px;
}

.testimonials-lower-bg {
   position: absolute;
   top: 200px;
   width: 1070px;
   height: 250px;
   border-radius: 25px;
   background: var(--backgroud-clients);
   z-index: 0;
}

.testimonial-media {
   grid-area: media;
   position: relative;
   z-index: 2;
   margin-top: 50px;
   margin-left: -120px;
}

.testimonial-media img {
   border-radius: 33px;
   width: 100%;
   max-width: 420px;
   height: 300px;
   aspect-ratio: 537/358;
   object-fit: cover;
   display: block;
   box-shadow: none;
}

.testimonial-card {
   position: relative;
   z-index: 2;
   border: 0;
   border-radius: 25px;
   box-shadow: none;
   margin: 0;
}

.testimonial-card .card-body {
   position: relative;
   padding: 26px 38px 16px 38px;
}

.testimonial-card-top {
   grid-area: top;
   background: var(--backgroud-clients);
   max-width: auto;
   width: 760px;
   height: 180px;
   margin-left: -35px;
}

.testimonial-card-bottom {
   grid-area: bottom;
   background: transparent;
   max-width: 828px;
}

.testimonial-card-bottom .card-body {
   padding: 22px 40px 18px 58px;
}

.quote-mark {
   position: absolute;
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-weight: 600;
   font-size: 146px;
   line-height: 1;
   color: var(--quote);
   pointer-events: none;
}

.testimonial-card .quote-open {
   left: 40px;
   top: 5px
}

.testimonial-card .quote-close {
   right: 258px;
   bottom: -38px
}

.testimonial-card-bottom .quote-mark {
   font-size: 158.358px;
   color: var(--quote);
}

.testimonial-card-bottom .quote-open {
   left: -60px;
   top: 5px
}

.testimonial-card-bottom .quote-close {
   left: 418px;
   right: auto;
   bottom: -45px;
}

.testimonial-text {
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-style: normal;
   font-weight: 400;
   font-size: 14px;
   width: 750px;
   height: 184px;
   line-height: normal;
   color: #000;
   text-align: justify;
   margin: 0 0 0 -65px;

}

/* Dedicated hook for the first testimonial paragraph */
.testimonial-text-first {
   width: 650px;
   height: 110px;
   margin: 0 0 0 14px;
}

.testimonial-card-top .testimonial-text {
   max-width: none;
   margin-right: 42px
}

.testimonial-card-bottom .testimonial-text {
   width: 650px;
   max-width: 650px;
   height: 80px;
   margin: 0 0 12px -60px;
}

.testimonial-text strong {
   font-weight: 600
}

.testimonial-author {
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-weight: 600;
   font-size: 14.837px;
   line-height: normal;
   color: #000;
   margin: 64px 0 10px -60px;
   text-transform: none;
}

.testimonial-author-client {
   display: inline;
}

.testimonial-author-first {
   margin: 0 0 10px 14px;
}

.testimonial-card-top .testimonial-author {
   margin-right: 42px
}

.testimonial-card-bottom .testimonial-author {
   max-width: 720px;
   margin-right: 0;
}

.testimonials-action {
   grid-area: cta;
   justify-self: center;
   align-self: start;
   margin-top: -34px;
   position: relative;
   z-index: 3;
}

/* Figma node 2676:1104 button */
.testimonials-button {
   min-width: 290px;
   min-height: 50px;
   border: 1.374px solid #001f49;
   border-radius: 38.935px;
   background: #fff;
   color: #001f49;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 16px;
   margin-top: 0;
   text-decoration: none;
}

.testimonials-button-icon {
   width: 22px;
   height: 25px;
   flex: 0 0 auto;
}

.testimonials-button-text {
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-weight: 600;
   font-size: 18px;
   line-height: 1.07;
   color: var(--primary-dark);
   white-space: nowrap;
}

.testimonials-button:hover {
   background-color: var(--primary-dark);
   transform: scale(1.02);
   transition: all 0.3s ease;
   box-shadow: 0 4px 40px rgba(151, 174, 207, 0.98);
}

.testimonials-button:hover .testimonials-button-text {
   color: #fff;
}

.testimonials-button:hover .testimonials-button-icon {
   filter: brightness(0) invert(1);
}

.testimonials-button:focus {
   background: #f5f8ff;
   border-color: #001f49;
   color: #001f49;
}

@media (max-width:1199px) {
   .testimonials-layout {
      grid-template-columns: minmax(200px, 330px) 1fr;
      column-gap: 18px
   }

   .testimonial-media {
      margin-left: -60px;
      margin-top: 70px
   }

   .testimonials-lower-bg {
      top: 224px;
      height: 420px
   }

   .testimonial-card-bottom {
      max-width: none
   }
}

@media (max-width:991px) {
   .testimonials-section {
      padding: 56px 0
   }

   .testimonials-section .section-title {
      text-align: center;
      font-size: 24px
   }

   .testimonials-layout {
      grid-template-columns: 1fr;
      grid-template-areas:
         "top"
         "media"
         "bottom"
         "cta";
      row-gap: 18px;
   }

   .testimonials-lower-bg {
      display: none
   }

   .testimonial-media {
      margin: 0;
      justify-self: center;
      max-width: 537px
   }

   .testimonial-card-top,
   .testimonial-card-bottom {
      max-width: none;
      background: #d6e1eb
   }

   .testimonial-card .card-body,
   .testimonial-card-bottom .card-body {
      padding: 18px 22px 14px 28px
   }

   .testimonial-card-top .testimonial-text,
   .testimonial-card-bottom .testimonial-text,
   .testimonial-card-top .testimonial-author,
   .testimonial-card-bottom .testimonial-author {
      max-width: none;
      margin-right: 0
   }

   .quote-mark {
      font-size: 108px
   }

   .testimonial-card .quote-open,
   .testimonial-card-bottom .quote-open {
      left: 4px;
      top: -8px
   }

   .testimonial-card .quote-close,
   .testimonial-card-bottom .quote-close {
      right: 6px;
      bottom: -30px
   }

   .testimonials-action {
      margin-top: 10px
   }
}

@media (max-width:576px) {

   /* Mobile: testimonials */
   .testimonials-section {
      padding: 40px 0 34px;
      overflow-x: hidden;
      overflow-y: visible;
   }

   .testimonials-section .section-title {
      margin: 0 0 18px;
      font-size: 20px;
      line-height: 1.2;
      text-align: center;
   }

   .testimonials-layout {
      position: relative;
      grid-template-areas:
         "top"
         "bottom"
         "cta";
      row-gap: 12px;
      overflow: visible;
   }

   .testimonial-media {
      position: absolute;
      right: -30px;
      bottom: 20px;
      z-index: 3;
      width: 124px;
      max-width: 124px;
   }

   .testimonials-section .testimonial-media img {
      width: 124px;
      height: 124px;
      border-radius: 60px;
      object-fit: cover;
      object-position: center top;
   }

   .testimonial-card-top,
   .testimonial-card-bottom {
      border-radius: 22px;
      background: #fff;
      border: 2px solid #9fb6cc;
      width: auto;
      max-width: none;
      box-sizing: border-box;
   }

   .testimonial-card-top {
      margin: 0 -30px 0 30px;
   }

   .testimonial-card-bottom {
      margin: 0 30px 0 -30px;
   }

   .testimonial-text {
      width: auto;
      height: auto;
      margin: 0;
      padding: 12px 0 0;
      font-size: 14px;
      line-height: 1.28;
      text-align: center;
   }

   .testimonial-author {
      margin: 12px 0 0;
      font-size: 12px;
      line-height: 1.25;
      text-align: center;
   }

   .testimonial-author-separator {
      display: none;
   }

   .testimonial-author-client {
      display: block;
   }

   .testimonial-text-first,
   .testimonial-card-bottom .testimonial-text,
   .testimonial-card-top .testimonial-text,
   .testimonial-card-top .testimonial-author,
   .testimonial-card-bottom .testimonial-author {
      width: auto;
      max-width: none;
      height: auto;
      margin-right: 0;
      margin-left: 0;
   }

   .testimonial-card-bottom .card-body {
      padding: 16px 45px 14px;
   }

   .quote-mark {
      font-size: 150px;
   }

   .testimonial-card .quote-open,
   .testimonial-card-bottom .quote-open {
      left: 10px;
      top: 2px;
   }

   .testimonial-card .quote-close,
   .testimonial-card-bottom .quote-close {
      right: 10px;
      left: auto;
   }

   /* Mobile: testimonials CTA */
   .testimonials-action {
      justify-self: start;
      margin-top: -6px;
      padding-right: 132px;
      z-index: 4;
   }

   .testimonials-button {
      width: auto;
      max-width: 100%;
      min-width: 0;
      min-height: 40px;
      gap: 8px;
      padding: 10px 12px;
      border-width: 1px;
      border-radius: 999px;
   }

   .testimonials-button-text {
      font-size: 11px;
      line-height: 1.1;
      white-space: nowrap;
      text-align: left;
   }

   .testimonials-button-icon {
      width: 18px;
      height: 18px
   }
}

@media (min-width:1920px) {
   .testimonials-section .testimonial-media {
      width: 757px !important;
      max-width: 757px !important;
      margin-left: -100px !important;
   }

   .testimonials-section .testimonial-media img {
      max-width: 600px;
      height: 350px;
      object-fit: cover;
      margin-left: -230px;
   }

   .testimonial-text-first {
      width: 800px;
      height: 80px;
      /* margin: 30px 0 12px -60px; */
   }

   .testimonial-card-bottom .testimonial-text {
      width: 850px;
      max-width: 900px;
      height: 130px;
      margin: 30px 0 12px -64px;
   }

   .testimonial-author {
      margin: 10px 0 36px -60px;
   }

   .testimonial-author-first {
      margin: 30px 0 0 14px;
   }

   .testimonial-card-bottom .quote-open {
      top: 30px;
   }

   .testimonial-card-bottom .quote-close {
      left: 752px;
      right: auto;
      bottom: -30px;
   }

   .testimonials-lower-bg {
      width: 1400px;
      top: 220px;
      height: 260px;
   }

   .testimonials-action {
      margin-top: -50px;
   }

   .testimonials-section .testimonial-card-top {
      max-width: auto;
      width: 900px;
   }
}

@media (min-width:2400px) {
   .testimonials-section .testimonial-media {
      width: 940px !important;
      max-width: 940px !important;
   }

   .testimonials-section .testimonial-media img {
      width: 650px !important;
      height: 400px;
      object-fit: cover;
      margin-left: -300px;
   }

   .testimonial-text-first {
      width: 1000px;
      margin: 0 0 0 10px;
   }

   .testimonial-card .card-body {
      padding: 50px;
   }

   .testimonials-action{
      top: -80px;
   }

   .testimonial-card-bottom .testimonial-text {
      max-width: 1000px;
      margin: 0 0 12px -64px;
   }

   .testimonial-author-first {
      margin: 32px 0 0 10px;
   }

   .testimonial-card .quote-open {
      left: 36px;
      top: 25px
   }

   .testimonial-card-bottom .quote-open {
      left: -60px;
      top: 22px
   }

   .testimonial-card .quote-close {
      bottom: 2px
   }

   .testimonials-layout{
      row-gap: 60px;
   }

   .testimonial-card-bottom .quote-close {
      right: auto;
      bottom: 24px;
   }

   .testimonials-lower-bg {
      width: 1300px;
      top: 270px;
   }

   .testimonials-section .testimonial-card-top {
      max-width: auto;
      width: 1200px;
      height: 200px;
      position: relative;
      left: 130px;
      /* Ajuste este valor conforme necessário */
   }
}

/* --- Leaders --- */
.container {
   max-width: 960px !important;
}

.leaders-section {
   padding: 20px 0 70px;
   background: #fff;
   position: relative;
   margin: -1rem 0 3rem 0;
}

.leaders-bg {
   position: absolute;
   left: 50%;
   top: 0;
   transform: translateX(-50%);
   width: 78%;
   max-width: 1174px;
   height: 100%;
   background: rgba(255, 255, 255, 0.16);
   -webkit-backdrop-filter: blur(6.917px);
   backdrop-filter: blur(6.917px);
   border-radius: 48px;
   box-shadow: inset 0 3.689px 36.891px rgba(255, 255, 255, 0.5), 0 3.689px 36.891px rgba(0, 0, 0, 0.12);
   z-index: 0;
}

.leaders-section .container {
   position: relative;
   z-index: 1
}

.leaders-section .section-title {
   text-align: center;
   color: var(--primary-dark);
   font-size: 1.4rem;
   margin: 15px 0 35px 0;
   text-transform: none;
   letter-spacing: 0
}

.leaders-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 28px 32px;
}

.leaders-viewport {
   overflow: visible;
}

.leaders-carousel-controls {
   display: none;
}

.leaders-nav {
   border: 0;
   background: transparent;
   color: var(--primary-dark);
   width: 28px;
   height: 28px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0;
}

.leaders-nav-icon {
   margin-top: -50px;
   width: 40px;
   height: 40px;
   max-width: none;
   object-fit: contain;
   display: block;
}

.leaders-nav-next {
   margin-right: 3rem;
}

.leaders-nav-prev {
   margin-left: 3rem;
}

.leaders-nav-next .leaders-nav-icon {
   transform: rotate(180deg);
}

.leaders-nav:focus,
.leaders-nav:active,
.leaders-nav:focus-visible {
   outline: none;
   box-shadow: none;
}

.leaders-pagination {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 7px;
}

.leaders-dot {
   width: 8px;
   height: 8px;
   border: 0;
   border-radius: 50%;
   background: #c3d0e3;
   padding: 0;
}

.leaders-dot.is-active {
   background: var(--primary-dark);
}

.leader-card {
   background: transparent;
   border: 0;
   padding: 0;
   text-align: center;
   align-items: center;
   padding: 10px 0;
}

.leader-photo {
   width: 180px;
   height: 250px;
   aspect-ratio: 268.784 / 315.74;
   object-fit: cover;
   border-radius: 18.556px;
   display: block;
   box-shadow: 0 6px 18px rgba(0, 31, 73, 0.08);
   margin: 0 auto;
}

.leader-name {
   color: #1e1e1e;
   font-weight: 600;
   margin: 14px 0 6px;
   font-size: 1.2rem
}

.leader-card .role {
   color: #1e1e1e;
   font-weight: 400;
   font-size: 1.1rem;
   line-height: 1.35;
   margin: 0 auto;
   max-width: 27ch;
   text-align: center;
}

/* --- FAQ --- */
.faq-section {
   padding: 57px 0 47px;
   background: var(--white-strong);
}

.faq-section .faq-container {
   margin: 0 auto;
   max-width: 1174px;
   width: 100%;
   padding: 0;
}

.faq-title {
   margin: 0 0 32px;
   color: var(--primary-dark);
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-size: 23px;
   line-height: 1.15;
   font-weight: 700;
   letter-spacing: 0;
   text-transform: uppercase;
}

.faq-accordion {
   width: 100%;
   max-width: 1171px;
}

.faq-item {
   border-top: 1px solid #97AECF;
}

.faq-item:last-child {
   border-bottom: 1px solid #97AECF;
}

.faq-item-title {
   margin: 0;
}

.faq-question {
   position: relative;
   display: block;
   width: 100%;
   margin: 0;
   border: 0;
   padding: 20px 54px 20px 0;
   background: transparent;
   color: #000;
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-size: 18px;
   line-height: 1.15;
   font-weight: 600;
   text-align: left;
   text-decoration: none;
   cursor: pointer;
}

.faq-question:hover,
.faq-question:focus {
   color: #000;
   text-decoration: none;
   outline: none;
   box-shadow: none;
}

.faq-question:focus-visible {
   outline: 2px solid var(--primary-dark);
   outline-offset: 4px;
}

.faq-question::after {
   content: "";
   position: absolute;
   top: 50%;
   right: 0;
   width: 22.1802px;
   height: 13.1227px;
   transform: translateY(-50%);
   background-repeat: no-repeat;
   background-size: contain;
   background-position: center;
   background-image: url("../img/blue-arrow.svg");
   filter: brightness(0) saturate(100%) invert(67%) sepia(18%) saturate(531%) hue-rotate(174deg) brightness(96%) contrast(86%);
}

.faq-question:not(.collapsed)::after {
   transform: translateY(-50%) rotate(180deg);
}

.faq-answer {
   padding: 0 0 28px;
   color: #000;
   font-family: Montserrat, Helvetica, Arial, sans-serif;
   font-size: 16px;
   line-height: 1.2;
   font-weight: 400;
   border: 0;
   outline: 0;
   box-shadow: none;
}

.bullet-list {
   padding-left: 20px;
}

.faq-item .collapse,
.faq-item .collapsing {
   border: 0;
   outline: 0;
   box-shadow: none;
   background: transparent;
}

@media (max-width:1199px) {
   .faq-section .faq-container {
      width: 100%;
      padding: 0 16px;
   }

   .faq-question::after {
      right: 0;
   }

   .faq-question:not(.collapsed)::after {
      right: 0;
   }
}

@media (max-width:767px) {
   .faq-section {
      padding: 44px 0 40px;
   }

   .faq-title {
      margin-bottom: 24px;
      font-size: 18px;
   }

   .faq-question {
      padding: 24px 34px 24px 0;
      font-size: 17px;
   }

   .faq-question::after {
      width: 18px;
      height: 11px;
   }

   .faq-answer {
      padding-bottom: 24px;
      font-size: 14px;
   }
}

/* --- Contact section --- */
.contact-section {
   padding: 24px 0 36px;
   background: #f6f8ff;
}

.contact-section-container {
   max-width: 1174px;
   display: grid;
   grid-template-columns: 461px 507px;
   grid-template-areas:
      "content form"
      "direct form";
   justify-content: space-between;
   align-items: start;
   gap: 80px;
   padding: 0;
}

.contact-section-left {
   grid-area: content;
   color: #001f49;
   display: flex;
   flex-direction: column;
   justify-content: center;
   height: 100%;
}

.contact-section-direct {
   grid-area: direct;
   color: #001f49;
   margin-top: -100px;
   text-align: start;
}

.contact-section-title {
   margin: 0;
   color: #1e1e1e;
   text-transform: uppercase;
   letter-spacing: 0;
   font-size: 1.7rem;
   line-height: 1.28;
}

.contact-section-title .line-1 {
   display: block;
   font-weight: 500
}

.contact-section-title .line-2 {
   display: inline-block;
   position: relative;
   font-weight: 700;
   padding-bottom: 8px;
   z-index: 1;
}

.contact-section-title .line-2::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   bottom: -6px;
   height: 36px;
   background-image: url('../img/tc/traco.png');
   background-repeat: no-repeat;
   background-size: 90% auto;
   background-position: center bottom;
   pointer-events: none;
   z-index: -1;
}

.contact-section-underline {
   display: none;
}

.contact-section-description {
   margin: 15px 0 36px 0;
   max-width: 320px;
   color: #001f49;
   font-size: 18px;
   text-align: start;
   line-height: 1.22;
   font-weight: 400;
}

.contact-section-description strong {
   font-weight: 600
}

.contact-section-phone-row {
   display: flex;
   align-items: flex-start;
   justify-content: start;
   gap: 2px;
   margin-bottom: 14px;
}

.contact-section-whatsapp-icon {
   width: 23.955px;
   height: 25.37px;
   margin-top: 0;
   margin-right: 12px;
   flex: 0 0 auto;
   filter: brightness(0) saturate(100%) invert(12%) sepia(85%) saturate(1510%) hue-rotate(195deg) brightness(94%) contrast(101%);
}

.contact-section-phone {
   display: flex;
   flex-direction: column;
   align-items: start;
   gap: 8px;
   margin: 0;
   color: #001f49;
   font-size: 18px;
   line-height: 1.3;
   font-weight: 600;
}

.contact-section-phone a {
   color: #001f49;
   text-decoration: none;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

.contact-section-phone a:hover,
.contact-section-phone a:focus {
   text-decoration: underline
}

.contact-section-email {
   display: inline-flex;
   align-items: center;
   gap: 16px;
   margin-top: -4px;
   color: #001f49;
   font-size: 18px;
   line-height: 1.2;
   font-weight: 500;
   text-decoration: none;
}

.contact-section-email:hover,
.contact-section-email:focus {
   text-decoration: underline
}

.contact-section-email-icon {
   font-size: 20px;
   line-height: 1
}

.contact-section-form-shell {
   grid-area: form;
   grid-row: 1 / span 2;
   width: 420px;
   min-height: 525px;
   background: #fff;
   border: 0.768px solid #506a8f;
   border-radius: 46.082px;
   padding: 30px 0 22px;
}

iframe {
   border-radius: 0;
}

.contact-section-form {
   width: 417.729px;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 15px;
}

.contact-section-input {
   width: 80%;
   height: 35px;
   border: 0.768px solid #e0e0e0;
   border-radius: 22.273px;
   background: #fbfbfb;
   color: #1e1e1e;
   font-size: 12.289px;
   font-weight: 400;
   padding: 0 24px;
}

.contact-section-input::placeholder {
   color: #1e1e1e;
   opacity: 1
}

.contact-section-textarea {
   height: 85px;
   border-radius: 28px;
   padding: 16px 24px;
   resize: none;
}

.contact-section-submit-label {
   margin: 4px 0 -2px;
   color: #001f49;
   font-size: 14.283px;
   line-height: 1.07;
   font-weight: 700;
   text-align: center;
}

.contact-section-submit {
   width: 180px;
   height: 50px;
   margin: 15px auto 0;
   border: 0;
   border-radius: 29.612px;
   background: #001f49;
   color: #fff;
   font-size: 12px;
   line-height: 1.07;
   font-weight: 700;
   box-shadow: 0 3.636px 34.879px rgba(151, 174, 207, 0.92);
}

.contact-section-submit:hover {
   background: var(--hover-blue);
   cursor: pointer;
   transform: scale(1.02);
   transition: all 0.3s ease;
   box-shadow: 0 4px 40px rgba(151, 174, 207, 0.98);
}

.contact-section-submit:focus {
   background: #012a63;
   outline: none;
}

@media (max-width:1199px) {
   .contact-section-container {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas:
         "content"
         "form"
         "direct";
      gap: 28px;
   }

   .contact-section-form-shell {
      grid-row: auto;
      width: min(90%, 507px);
      margin: 0 auto;
   }

   .contact-section-left,
   .contact-section-description {
      max-width: unset
   }
}

@media (max-width:991px) {
   .leaders-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px
   }

   /* Mobile: leaders */
   .leaders-section {
      padding: 20px 0 28px;
      margin: 0 0 2rem;
   }

   .leaders-bg {
      width: calc(90% - 10px);
      border-radius: 28px;
   }

   .leaders-carousel {
      position: relative;
      padding: 0 12px;
   }

   .leaders-viewport {
      overflow: hidden;
   }

   .leaders-grid {
      display: flex;
      grid-template-columns: none;
      gap: 0;
      transition: transform 0.35s ease;
      will-change: transform;
   }

   .leaders-section .section-title {
      font-size: 1.35rem;
      line-height: 1.15;
      max-width: 250px;
      margin: 10px auto 22px;
   }

   .leader-card {
      flex: 0 0 100%;
      min-width: 100%;
      padding: 0 6px 58px;
      position: relative;
   }

   .leader-photo {
      width: 100%;
      max-width: 160px;
      height: 216px;
      border-radius: 16px;
      object-position: center top;
   }

   .leader-name {
      margin: 18px 0 4px;
      font-size: 1.5rem;
   }

   .leader-card .role {
      font-size: 1.15rem;
      line-height: 1.12;
      min-height: 2.5em;
   }

   .testimonial-card-top {
      height: 250px;
   }

   .leaders-carousel-controls {
      display: grid;
      grid-template-columns: 40px 1fr 40px;
      grid-template-areas:
         "prev dots next";
      align-items: start;
      gap: 0;
      width: 100%;
      margin: -82px 0 0;
      max-width: none;
      position: relative;
      z-index: 3;
      pointer-events: none;
   }

   .leaders-nav {
      width: 24px;
      height: 24px;
      justify-self: center;
      align-self: start;
      pointer-events: auto;
   }

   /* Mobile: leaders navigation */
   .leaders-nav-prev {
      grid-area: prev;
      margin-top: 8px;
   }

   .leaders-nav-next {
      grid-area: next;
      margin-top: 8px;
   }

   .leaders-pagination {
      grid-area: dots;
      margin-top: 60px;
   }

   .leaders-nav-icon {
      width: 35px;
      height: 35px;
   }

   .contact-section {
      padding: 56px 0 44px;
   }

   .contact-section-title {
      font-size: 25px;
      text-align: center;
   }

   .contact-section-description {
      font-size: 19px;
      text-align: center;
      width: 280px;
      align-self: center;
   }

   .contact-section-email {
      font-size: 17px;
      word-break: break-word;
   }

   .contact-section-form {
      width: calc(100% - 30px);
   }

   .contact-section-phone-row {
      justify-content: center;
   }
}

/* --- Utilities / Responsive --- */
@media (max-width:1360px) {
   .hero-qs {
      min-height: 240px
   }

   .hero-qs .hero-inner {
      padding-top: 120px
   }
}

@media (max-width:1200px) {
   .hero-qs h1 {
      font-size: 1.5rem
   }

   .hero-qs p.lead {
      font-size: 1rem
   }

   .hero-qs .hero-inner {
      padding-top: 52px
   }
}

@media (max-width:991px) {
   .hero-qs {
      min-height: 160px
   }

   .hero-qs h1 {
      font-size: 1.7rem
   }

   .numbers .stat {
      min-height: 130px
   }

   .hero-qs .hero-inner {
      padding-top: 44px
   }
}

@media (max-width:1000px) {

   /* Mobile: hero */
   .hero-qs .container {
      max-width: 90%;
   }

   .hero-qs {
      min-height: 150px;
      overflow: visible;
      position: relative;
   }

   .hero-qs h1 {
      font-size: 1.8rem
   }

   .strong-mobile {
      font-weight: bold;
   }

   /* Mobile: hero copy */
   strong {
      font-weight: normal;
   }


   .hero-qs p.lead {
      font-size: .95rem
   }

   .why-qs .icon {
      width: 60px;
      height: 60px
   }

   .leaders-section .section-title {
      text-align: center
   }

   .hero-qs .hero-inner {
      padding-top: 36px
   }

   .hero-qs .hero-inner br {
      display: none;
   }

   .lead br {
      display: none;
   }

   .btn-hero {
      margin-bottom: -45px;
      position: relative;
      z-index: 10;
   }

   /* Mobile: numbers */
   .numbers {
      margin-top: 60px;
   }

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

   .numbers .row>.col-md-6 {
      max-width: none;
      padding-left: 6px;
      padding-right: 6px;
      margin-bottom: 0 !important;
   }

   .numbers .stat {
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 0;
      padding: 12px 6px;
      justify-content: flex-start;
   }

   .numbers .stat .icon,
   .numbers .stat .icon.icon-time {
      width: 65px !important;
      height: 65px !important;
      flex: 0 0 65px !important;
      margin: 0;
      margin-bottom: 15px !important;
      justify-content: center;
      align-items: center;
   }

   .numbers .stat .icon img,
   .numbers .stat .icon.icon-time img {
      width: 65px;
      height: 65px;
      object-fit: contain;
   }

   .numbers .stat-text {
      display: flex;
      width: 90%;
      max-width: none;
      align-items: center;
      justify-content: center;
      text-align: center;
   }

   .numbers .stat-text h3,
   .numbers .stat-text p,
   .numbers .stat h3,
   .numbers .stat p {
      text-align: center;
   }

   .numbers .stat h3 {
      margin: 0 0 8px;
      white-space: normal;
      font-size: 1.1rem !important;
   }

   .stat-text br {
      display: none;
   }

   /* Mobile: why choose us */
   .why-qs {
      margin-top: -50px;
      padding: 20px 10px 50px;
   }

   .why-qs .section-title {
      font-size: 1.2rem;
   }

   /* Mobile: contact strip */
   .contact-strip-inner {
      max-width: 90%;
   }

   .contact-strip {
      padding-top: 20px;
   }

   .contact-strip .btn {
      margin: 0;
   }

   .contact-strip h3 {
      font-size: 1.5rem;
   }

   .contact-section-direct {
      margin: 0;
      text-align: center;
   }

   .contact-section-phone {
      font-size: 20px;
      align-items: center;
   }

   .contact-section-email {
      font-size: 15px;
      font-weight: 700;
   }

}

/* small tweaks */
.section-title {
   text-transform: uppercase;
   letter-spacing: 1px;
   font-weight: 700;
   margin-bottom: 28px
}
