:root{
  --primary:#0869c9;
  --primary-dark:#073b72;
  --cyan:#13b9c7;
  --navy:#071d36;
  --ink:#102033;
  --muted:#62748b;
  --soft:#f4f8fc;
  --border:#dce8f4;
  --white:#ffffff;
  --shadow-sm:0 10px 30px rgba(16,32,51,.08);
  --shadow-lg:0 28px 80px rgba(7,29,54,.16);
  --radius-sm:18px;
  --radius:26px;
  --radius-lg:38px;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  padding-top:82px;
  overflow-x:hidden;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
}

[v-cloak]{
  display:none;
}

img{
  max-width:100%;
}

a{
  color:var(--primary);
  text-decoration:none;
}

a:hover{
  color:var(--primary-dark);
}

.navbar{
  min-height:82px;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(18px);
  box-shadow:0 8px 30px rgba(7,29,54,.06);
}

.navbar-brand{
  margin-right:2rem;
}

.brand-logo{
  width:54px;
  height:54px;
  object-fit:contain;
}

.brand-text{
  color:var(--navy);
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:-.035em;
}

.brand-text span{
  color:var(--cyan);
  font-weight:700;
}

.navbar .nav-link{
  position:relative;
  margin:0 .12rem;
  padding:.8rem .65rem!important;
  color:#3d4f65;
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap;
}

.navbar .nav-link::after{
  content:"";
  position:absolute;
  right:.65rem;
  bottom:.45rem;
  left:.65rem;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary),var(--cyan));
  transform:scaleX(0);
  transition:transform .2s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link.active{
  color:var(--primary);
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after{
  transform:scaleX(1);
}

.btn{
  border-radius:999px;
  padding:.8rem 1.35rem;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.btn-primary{
  border:0;
  background:linear-gradient(135deg,var(--primary),var(--cyan));
  box-shadow:0 14px 34px rgba(8,105,201,.24);
}

.btn-primary:hover{
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(8,105,201,.3);
}

.btn-outline-light:hover,
.btn-light:hover{
  transform:translateY(-2px);
}

.page-hero{
  position:relative;
  display:flex;
  min-height:620px;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background-color:var(--navy);
  background-position:center;
  background-size:cover;
}

.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,19,39,.96) 0%,rgba(4,28,57,.84) 46%,rgba(4,28,57,.32) 100%),
    linear-gradient(180deg,rgba(4,19,39,.1),rgba(4,19,39,.58));
}

.page-hero::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-180px;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  box-shadow:
    0 0 0 70px rgba(255,255,255,.035),
    0 0 0 140px rgba(255,255,255,.02);
}

.page-hero .container,
.page-hero .container-fluid{
  position:relative;
  z-index:2;
}

.page-hero-content{
  max-width:780px;
  padding:100px 0;
}

.page-kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:1.25rem;
  padding:.55rem .85rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:#dffbff;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.page-hero h1{
  max-width:950px;
  margin:0 0 1.35rem;
  color:#fff;
  font-size:clamp(3rem,6vw,6.4rem);
  font-weight:900;
  letter-spacing:-.065em;
  line-height:.95;
}

.page-hero p{
  max-width:720px;
  margin-bottom:2rem;
  color:#d6e5f5;
  font-size:1.22rem;
}

.section{
  position:relative;
  padding:100px 0;
}

.section-soft{
  background:var(--soft);
}

.section-dark{
  color:#fff;
  background:
    radial-gradient(circle at 85% 20%,rgba(19,185,199,.22),transparent 28%),
    linear-gradient(135deg,#06172d,#082448 58%,#075b9e);
}

.section-heading{
  max-width:820px;
  margin-bottom:46px;
}

.section-heading.center{
  margin-right:auto;
  margin-left:auto;
  text-align:center;
}

.section-label{
  display:inline-flex;
  margin-bottom:1rem;
  padding:.45rem .72rem;
  border:1px solid #cdeeff;
  border-radius:999px;
  color:var(--primary);
  background:#eaf7ff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.section-dark .section-label{
  border-color:rgba(255,255,255,.2);
  color:#fff;
  background:rgba(255,255,255,.1);
}

.section h2{
  margin-bottom:1.1rem;
  color:var(--navy);
  font-size:clamp(2.2rem,4vw,4.35rem);
  font-weight:900;
  letter-spacing:-.055em;
  line-height:1.02;
}

.section-dark h2,
.section-dark h3{
  color:#fff;
}

.section-lead{
  color:var(--muted);
  font-size:1.16rem;
}

.section-dark .section-lead,
.section-dark p{
  color:#c6d7ea;
}

.content-card{
  height:100%;
  padding:30px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-sm);
  transition:transform .22s ease,box-shadow .22s ease;
}

.content-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}

.content-card h3{
  color:var(--navy);
  font-size:1.3rem;
  font-weight:850;
  letter-spacing:-.03em;
}

.content-card p{
  color:var(--muted);
}

.image-panel{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
}

.image-panel img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}

.image-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(4,19,39,.72));
}

.image-panel-caption{
  position:absolute;
  right:32px;
  bottom:28px;
  left:32px;
  z-index:2;
  color:#fff;
}

.image-panel-caption strong{
  display:block;
  font-size:1.25rem;
}

.metric-strip{
  position:relative;
  z-index:3;
  margin-top:-70px;
}

.metric-strip-inner{
  overflow:hidden;
  border:1px solid rgba(220,232,244,.85);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-lg);
  backdrop-filter:blur(16px);
}

.metric-item{
  height:100%;
  padding:28px;
  border-right:1px solid var(--border);
}

.metric-item:last-child{
  border-right:0;
}

.metric-item strong{
  display:block;
  color:var(--primary-dark);
  font-size:2rem;
  font-weight:900;
  letter-spacing:-.04em;
}

.metric-item span{
  color:var(--muted);
  font-size:.9rem;
  font-weight:700;
}

.icon-box{
  display:inline-flex;
  width:58px;
  height:58px;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  border-radius:18px;
  color:var(--primary);
  background:linear-gradient(135deg,#eaf6ff,#dffcff);
  font-size:.78rem;
  font-weight:900;
}

.feature-list{
  display:grid;
  gap:14px;
}

.feature-list div{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#31455c;
  font-weight:650;
}

.feature-list span{
  display:inline-flex;
  flex:0 0 26px;
  width:26px;
  height:26px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#087b87;
  background:#e5fafc;
  font-weight:900;
}

.team-card{
  position:relative;
  height:100%;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}

.team-card-image{
  height:420px;
  overflow:hidden;
  background:#eaf2f8;
}

.team-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}

.team-card:hover .team-card-image img{
  transform:scale(1.04);
}

.team-card-body{
  padding:26px;
}

.team-card-body h3{
  margin-bottom:.25rem;
  color:var(--navy);
  font-size:1.45rem;
  font-weight:900;
}

.team-role{
  display:block;
  margin-bottom:.8rem;
  color:var(--primary);
  font-size:.85rem;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.team-card-body p{
  margin:0;
  color:var(--muted);
}

.cta-section{
  padding:90px 0;
}

.cta-box{
  position:relative;
  overflow:hidden;
  padding:58px;
  border-radius:var(--radius-lg);
  color:#fff;
  background:
    radial-gradient(circle at 85% 20%,rgba(55,239,246,.28),transparent 25%),
    linear-gradient(135deg,#071d36,#0869c9 62%,#13b9c7);
  box-shadow:var(--shadow-lg);
}

.cta-box::after{
  content:"";
  position:absolute;
  top:-130px;
  right:-130px;
  width:360px;
  height:360px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  box-shadow:0 0 0 60px rgba(255,255,255,.04);
}

.cta-box > *{
  position:relative;
  z-index:2;
}

.cta-box h2{
  max-width:820px;
  color:#fff;
}

.cta-box p{
  max-width:760px;
  color:#dff5ff;
  font-size:1.1rem;
}

.footer{
  padding:58px 0 24px;
  color:#d8e7f7;
  background:#06172d;
}

.footer-logo{
  width:54px;
  height:54px;
  padding:5px;
  border-radius:15px;
  object-fit:contain;
  background:#fff;
}

.footer p{
  max-width:520px;
  color:#aebfd4;
}

.footer-heading{
  margin-bottom:1rem;
  color:#fff;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.footer a{
  display:block;
  width:max-content;
  margin-bottom:.65rem;
  color:#c5d6e8;
  font-weight:650;
}

.footer a:hover{
  color:#7ff4ff;
}

.footer-bottom{
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#91a8c0;
  font-size:.88rem;
}

.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1050;
  display:flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--cyan));
  box-shadow:0 14px 32px rgba(8,105,201,.28);
}

@media (max-width:1199px){
  .navbar .nav-link{
    padding:.72rem .48rem!important;
    font-size:.84rem;
  }

  .navbar-brand{
    margin-right:1rem;
  }
}

@media (max-width:991px){
  body{
    padding-top:74px;
  }

  .navbar{
    min-height:74px;
  }

  .navbar-collapse{
    max-height:calc(100vh - 74px);
    overflow-y:auto;
    padding:1rem 0 1.4rem;
  }

  .navbar .nav-link{
    padding:.7rem 0!important;
  }

  .navbar .nav-link::after{
    display:none;
  }

  .page-hero{
    min-height:560px;
  }

  .page-hero-content{
    padding:80px 0;
  }

  .section{
    padding:76px 0;
  }

  .metric-strip{
    margin-top:-40px;
  }

  .metric-item{
    border-right:0;
    border-bottom:1px solid var(--border);
  }

  .metric-item:last-child{
    border-bottom:0;
  }

  .image-panel,
  .image-panel img{
    min-height:420px;
  }

  .cta-box{
    padding:40px;
  }
}

@media (max-width:575px){
  .brand-logo{
    width:46px;
    height:46px;
  }

  .brand-text{
    font-size:.91rem;
  }

  .page-hero{
    min-height:520px;
  }

  .page-hero h1{
    font-size:2.85rem;
  }

  .page-hero p{
    font-size:1.02rem;
  }

  .section{
    padding:60px 0;
  }

  .section h2{
    font-size:2.35rem;
  }

  .content-card{
    padding:24px;
  }

  .image-panel,
  .image-panel img{
    min-height:350px;
  }

  .team-card-image{
    height:360px;
  }

  .cta-box{
    padding:30px 24px;
    border-radius:28px;
  }
}

/* Compact header CTA */
.site-header .btn,
.navbar .btn[href="contact.html"] {
  min-width: auto !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}


/* Team cards: show complete portraits and prevent role text clipping */
.team-card img,
.team-card-image img,
.team-photo img {
  width: 100% !important;
  height: 460px !important;
  object-fit: contain !important;
  object-position: center top !important;
  padding: 14px 14px 0 !important;
  background: #eef2f7 !important;
}

.team-card .team-role,
.team-card .member-role,
.team-role {
  display: block !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  line-height: 1.35 !important;
  min-height: 44px !important;
  padding-right: 8px !important;
}

@media (max-width: 767px) {
  .team-card img,
  .team-card-image img,
  .team-photo img {
    height: 390px !important;
  }
}



/* Homepage three-slide hero carousel */
.home-hero-carousel {
  width: 100%;
  overflow: hidden;
  background: #031426;
}

#homeHeroCarousel .carousel-item img {
  width: 100%;
  height: auto;
  max-height: calc(100vh - 92px);
  object-fit: contain;
  object-position: center;
  background: #031426;
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next {
  width: 7%;
  opacity: .2;
  transition: opacity .25s ease;
}

#homeHeroCarousel:hover .carousel-control-prev,
#homeHeroCarousel:hover .carousel-control-next {
  opacity: .9;
}

#homeHeroCarousel .carousel-control-prev-icon,
#homeHeroCarousel .carousel-control-next-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(3, 20, 38, .75);
  background-size: 45%;
}

#homeHeroCarousel .carousel-indicators button {
  width: 34px;
  height: 4px;
  border-radius: 8px;
}

#homeHeroCarousel .carousel-indicators .active {
  width: 54px;
  background-color: #14bfd1;
}

.home-contact-visual {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  border-radius: 28px;
  background: #031426;
}

.home-contact-visual img {
  width: 100%;
  height: 520px;
  object-fit: cover;
}

.home-contact-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(3, 20, 38, .92) 0%,
    rgba(3, 20, 38, .72) 42%,
    rgba(3, 20, 38, .12) 78%
  );
}

.home-contact-visual-overlay {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 7%;
  width: min(520px, 86%);
  transform: translateY(-50%);
  color: #fff;
}

.home-contact-visual-overlay h2 {
  color: #fff;
}

.home-contact-visual-overlay p {
  color: rgba(255, 255, 255, .82);
  font-size: 1.1rem;
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item img {
    min-height: 290px;
    max-height: none;
    object-fit: cover;
  }

  #homeHeroCarousel .carousel-control-prev,
  #homeHeroCarousel .carousel-control-next {
    width: 12%;
    opacity: .8;
  }

  .home-contact-visual,
  .home-contact-visual img {
    min-height: 460px;
    height: 460px;
  }

  .home-contact-visual::after {
    background: rgba(3, 20, 38, .72);
  }

  .home-contact-visual-overlay {
    left: 7%;
  }
}


/* Final homepage image and layout correction */
.home-showcase {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #04172a;
}

#homeHeroCarousel,
#homeHeroCarousel .carousel-inner,
#homeHeroCarousel .carousel-item {
  width: 100%;
}

#homeHeroCarousel .carousel-item {
  height: clamp(440px, 58vw, 720px);
  background: #04172a;
}

#homeHeroCarousel .carousel-item img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next {
  width: 7%;
  opacity: .72;
}

#homeHeroCarousel .carousel-control-prev:hover,
#homeHeroCarousel .carousel-control-next:hover {
  opacity: 1;
}

#homeHeroCarousel .carousel-control-prev-icon,
#homeHeroCarousel .carousel-control-next-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(3, 20, 38, .72);
  background-size: 44%;
}

#homeHeroCarousel .carousel-indicators {
  margin-bottom: 18px;
}

#homeHeroCarousel .carousel-indicators button {
  width: 42px;
  height: 4px;
  border: 0;
  border-radius: 20px;
}

#homeHeroCarousel .carousel-indicators .active {
  width: 64px;
  background-color: #16bfd0;
}

/* Correct metric strip */
.home-metrics {
  position: relative;
  z-index: 3;
  margin: 0;
  padding: 28px 0 36px;
  background: #f4f8fc;
}

.home-metrics .container-fluid {
  padding-left: 4% !important;
  padding-right: 4% !important;
}

.home-metrics-panel {
  overflow: hidden;
  border: 1px solid #dbe7f1;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(15, 45, 78, .09);
}

.home-metric-item {
  display: flex;
  min-height: 132px;
  padding: 24px 20px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  border-right: 1px solid #e4edf5;
}

.home-metrics .col-lg-3:last-child .home-metric-item {
  border-right: 0;
}

.home-metric-item strong {
  display: block;
  color: #083e78;
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 900;
  line-height: 1.1;
}

.home-metric-item span {
  display: block;
  max-width: 260px;
  color: #60738a;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

/* Keep content images controlled */
.home-feature-image,
.home-wide-visual,
.home-leadership-visual {
  overflow: hidden;
  border-radius: 24px;
  background: #edf4fa;
  box-shadow: 0 18px 50px rgba(11, 41, 74, .1);
}

.home-feature-image img {
  display: block;
  width: 100%;
  height: 430px;
  object-fit: cover;
  object-position: center;
}

.home-wide-visual {
  max-width: 1120px;
  margin: 46px auto 0;
}

.home-wide-visual img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
}

.home-leadership-visual {
  max-width: 1080px;
  margin: 0 auto 42px;
}

.home-leadership-visual img {
  display: block;
  width: 100%;
  height: 440px;
  object-fit: cover;
  object-position: center;
}

.home-final-cta-inner {
  max-height: 520px;
}

.home-final-cta-inner > img {
  width: 100%;
  height: 520px;
  object-fit: cover;
}

/* Prevent excessive vertical gaps */
.home-intro-section,
.home-consultation-section {
  padding-top: 72px;
  padding-bottom: 72px;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item {
    height: 500px;
  }

  .home-metric-item {
    border-bottom: 1px solid #e4edf5;
  }

  .home-metrics .col-6:nth-child(2n) .home-metric-item {
    border-right: 0;
  }

  .home-feature-image img,
  .home-wide-visual img,
  .home-leadership-visual img {
    height: 360px;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item {
    height: 340px;
  }

  #homeHeroCarousel .carousel-control-prev,
  #homeHeroCarousel .carousel-control-next {
    width: 12%;
  }

  .home-metrics {
    padding: 18px 0 26px;
  }

  .home-metrics-panel {
    border-radius: 18px;
  }

  .home-metric-item {
    min-height: 118px;
    padding: 18px 12px;
  }

  .home-metric-item strong {
    font-size: 21px;
  }

  .home-metric-item span {
    font-size: 13px;
  }

  .home-feature-image img,
  .home-wide-visual img,
  .home-leadership-visual img {
    height: 280px;
  }

  .home-final-cta-inner,
  .home-final-cta-inner > img {
    height: 430px;
  }
}



/* Homepage images: preserve complete generated artwork */
.home-showcase,
#homeHeroCarousel,
#homeHeroCarousel .carousel-inner {
  width: 100% !important;
  height: auto !important;
  background: #04172a !important;
}

#homeHeroCarousel .carousel-item {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: #04172a !important;
}

#homeHeroCarousel .carousel-item img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.home-leadership-visual {
  max-width: 1180px !important;
  margin: 0 auto 42px !important;
  overflow: hidden !important;
  border-radius: 24px !important;
}

.home-leadership-visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
}

.home-feature-image {
  overflow: hidden !important;
  border-radius: 24px !important;
}

.home-feature-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.home-wide-visual {
  display: none !important;
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: auto !important;
    min-height: 0 !important;
  }

  .home-leadership-visual img,
  .home-feature-image img {
    height: auto !important;
    max-height: none !important;
  }
}



/* Carousel final: show complete original artwork */
.home-showcase {
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: #031426;
}

#homeHeroCarousel,
#homeHeroCarousel .carousel-inner {
  width: 100%;
  height: auto;
  background: #031426;
}

#homeHeroCarousel .carousel-item {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  text-align: center;
  background: #031426;
}

#homeHeroCarousel .carousel-item img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next {
  width: 8%;
  opacity: .85;
}

#homeHeroCarousel .carousel-control-prev-icon,
#homeHeroCarousel .carousel-control-next-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: rgba(3, 20, 38, .72);
  background-size: 44%;
}

#homeHeroCarousel .carousel-indicators {
  margin-bottom: 14px;
}

#homeHeroCarousel .carousel-indicators button {
  width: 38px;
  height: 4px;
  border: 0;
  border-radius: 10px;
}

#homeHeroCarousel .carousel-indicators .active {
  width: 58px;
  background-color: #18bfd0;
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-control-prev,
  #homeHeroCarousel .carousel-control-next {
    width: 12%;
  }

  #homeHeroCarousel .carousel-control-prev-icon,
  #homeHeroCarousel .carousel-control-next-icon {
    width: 38px;
    height: 38px;
  }
}

/* Reduce homepage carousel height without cropping the artwork */
#homeHeroCarousel .carousel-item {
  height: 520px !important;
  min-height: 520px !important;
  max-height: 520px !important;
}

#homeHeroCarousel .carousel-item img {
  width: auto !important;
  max-width: 100% !important;
  height: 520px !important;
  max-height: 520px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: 420px !important;
    min-height: 420px !important;
    max-height: 420px !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
}


/* Keep carousel height, enlarge image width, reduce side space */
#homeHeroCarousel .carousel-item {
  height: 520px !important;
  min-height: 520px !important;
  max-height: 520px !important;
  overflow: hidden !important;
}

#homeHeroCarousel .carousel-item img {
  width: 92% !important;
  max-width: 92% !important;
  height: 520px !important;
  max-height: 520px !important;
  margin: 0 auto !important;
  object-fit: fill !important;
  object-position: center !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: 420px !important;
    min-height: 420px !important;
    max-height: 420px !important;
  }

  #homeHeroCarousel .carousel-item img {
    width: 96% !important;
    max-width: 96% !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  #homeHeroCarousel .carousel-item img {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Reduce carousel image width by 20% and preserve image quality */
#homeHeroCarousel .carousel-item img {
  width: 80% !important;
  max-width: 80% !important;
  height: 520px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item img {
    width: 84% !important;
    max-width: 84% !important;
    height: 420px !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item img {
    width: 92% !important;
    max-width: 92% !important;
    height: 300px !important;
  }
}


/* Restore original image width; keep current carousel height */
#homeHeroCarousel .carousel-item img {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item img {
    width: auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item img {
    width: auto !important;
    max-width: 100% !important;
  }
}


/* Increase carousel image width by 20% without changing height */
#homeHeroCarousel .carousel-item img {
  width: 120% !important;
  max-width: 120% !important;
  height: 520px !important;
  margin-left: -10% !important;
  margin-right: -10% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item img {
    width: 120% !important;
    max-width: 120% !important;
    height: 420px !important;
    margin-left: -10% !important;
    margin-right: -10% !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item img {
    width: 120% !important;
    max-width: 120% !important;
    height: 300px !important;
    margin-left: -10% !important;
    margin-right: -10% !important;
  }
}


/* Visibly widen carousel artwork by 20% while keeping the same height */
#homeHeroCarousel .carousel-item {
  overflow: hidden !important;
}

#homeHeroCarousel .carousel-item img {
  width: auto !important;
  max-width: none !important;
  height: 520px !important;
  margin: 0 auto !important;
  transform: scaleX(1.2) !important;
  transform-origin: center center !important;
  object-fit: contain !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item img {
    height: 420px !important;
    transform: scaleX(1.2) !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item img {
    height: 300px !important;
    transform: scaleX(1.2) !important;
  }
}


/* Increase carousel artwork width by another 20%; keep height unchanged */
#homeHeroCarousel .carousel-item img {
  transform: scaleX(1.4) !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item img {
    transform: scaleX(1.4) !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item img {
    transform: scaleX(1.4) !important;
  }
}


/* Increase carousel height by 10% */
#homeHeroCarousel .carousel-item,
#homeHeroCarousel .carousel-item img {
  height: 572px !important;
  min-height: 572px !important;
  max-height: 572px !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: 462px !important;
    min-height: 462px !important;
    max-height: 462px !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: 330px !important;
    min-height: 330px !important;
    max-height: 330px !important;
  }
}



/* Final carousel sizing: full artwork, no distortion, responsive height */
#homeHeroCarousel .carousel-item {
  position: relative !important;
  height: clamp(620px, 78vh, 860px) !important;
  min-height: clamp(620px, 78vh, 860px) !important;
  max-height: clamp(620px, 78vh, 860px) !important;
  overflow: hidden !important;
  background: #04172a !important;
  text-align: center !important;
}

#homeHeroCarousel .carousel-item::before {
  content: "" !important;
  position: absolute !important;
  inset: -28px !important;
  background-image: var(--slide-bg) !important;
  background-size: cover !important;
  background-position: center !important;
  filter: blur(22px) brightness(.48) !important;
  transform: scale(1.08) !important;
  opacity: .75 !important;
}

#homeHeroCarousel .carousel-item::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(3, 20, 38, .18) !important;
}

#homeHeroCarousel .carousel-item img {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: auto !important;
  max-width: min(1180px, 94vw) !important;
  height: clamp(620px, 78vh, 860px) !important;
  min-height: clamp(620px, 78vh, 860px) !important;
  max-height: clamp(620px, 78vh, 860px) !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next,
#homeHeroCarousel .carousel-indicators {
  z-index: 4 !important;
}

@media (max-width: 991px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: clamp(480px, 68vh, 620px) !important;
    min-height: clamp(480px, 68vh, 620px) !important;
    max-height: clamp(480px, 68vh, 620px) !important;
  }
}

@media (max-width: 767px) {
  #homeHeroCarousel .carousel-item,
  #homeHeroCarousel .carousel-item img {
    height: 480px !important;
    min-height: 480px !important;
    max-height: 480px !important;
  }

  #homeHeroCarousel .carousel-item img {
    max-width: 96vw !important;
  }
}

/* Dark-section feature list readability */
.section-dark .feature-list > div {
  color: #e6f2ff !important;
  opacity: 1 !important;
}

.section-dark .feature-list > div > span {
  color: #087b87 !important;
  background: #e5fafc !important;
  opacity: 1 !important;
}

/* Homepage bottom CTA spacing and background */
.home-consultation-section {
  padding-bottom: 28px !important;
}

.home-bottom-cta-section {
  margin: 0 !important;
  padding: 0 0 56px !important;
  background: #ffffff;
}

.home-bottom-cta {
  display: flex;
  min-height: 410px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 64px;
  background:
    linear-gradient(
      90deg,
      rgba(3, 20, 38, .97) 0%,
      rgba(4, 38, 76, .90) 46%,
      rgba(4, 61, 105, .48) 72%,
      rgba(4, 61, 105, .22) 100%
    ),
    url("../img/home/home-contact-consultation.jpg") center 48% / cover no-repeat !important;
}

.home-bottom-cta::after {
  display: none !important;
}

.home-bottom-cta .section-label {
  border-color: rgba(255, 255, 255, .28);
  color: #ffffff;
  background: rgba(255, 255, 255, .13);
}

.home-bottom-cta h2 {
  max-width: 900px;
  margin-bottom: 1rem;
  color: #ffffff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .25);
}

.home-bottom-cta p {
  max-width: 760px;
  margin-bottom: .7rem;
  color: #e5f3ff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .22);
}

@media (max-width: 991px) {
  .home-consultation-section {
    padding-bottom: 22px !important;
  }

  .home-bottom-cta-section {
    padding-bottom: 42px !important;
  }

  .home-bottom-cta {
    min-height: 360px;
    padding: 46px 38px;
    background-position: 62% center !important;
  }
}

@media (max-width: 575px) {
  .home-consultation-section {
    padding-bottom: 18px !important;
  }

  .home-bottom-cta-section {
    padding-bottom: 30px !important;
  }

  .home-bottom-cta {
    min-height: 380px;
    padding: 34px 24px;
    border-radius: 26px;
    background:
      linear-gradient(rgba(3, 20, 38, .90), rgba(3, 20, 38, .90)),
      url("../img/home/home-contact-consultation.jpg") 68% center / cover no-repeat !important;
  }
}