:root {
  --cts-green: #041a15;
  --cts-green-2: #0b2a23;
  --cts-light: #f3f3f1;
  --cts-off: #efefeb;
  --cts-ink: #203127;
  --cts-copy: #34453b;
  --cts-gold: #d8c29c;
}

html, body { background: #fff!important; }
body { color: #000!important; }
body.menu-open { overflow: hidden; }

.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(1, 14, 10, .42);
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
  z-index: 1200;
}
.nav-overlay.show { opacity: 1; pointer-events: auto; }

.nav-menu a.active { color: #fff !important; }
.nav-menu a.active::after { transform: scaleX(1); transform-origin: left !important; }

.page-main { padding-top: calc(var(--nav-h) + 34px); }
.page-section {
  padding-top: 72px;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 72px;
  position: relative;
}
.page-section.compact {
  padding-top: 46px;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 46px;
}
.page-section.flush-bottom {
  padding-bottom: 0;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.about {}
.page-section.tint {
  background:
    radial-gradient(circle at 12% 12%, rgba(216, 194, 156, .13), transparent 17%),
    linear-gradient(180deg, #f7f7f5 0%, #efefeb 100%);
}
.page-section.dark-band {
	
	
	
  background: linear-gradient(135deg, var(--cts-green) 0%, #08211c 100%);
  color: #f6efe3;
}

.section-title,
.page-title,
.display-title,
.partner-strip-title,
.mini-card h3 {
  font-family: "Cinzel", serif;
  letter-spacing: .03em;
  color: var(--cts-ink);
}
.page-title {
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: .97;
    margin: 0 0 18px;
    padding-bottom: 0px;
    text-transform: uppercase;
}
.section-title {
  font-size: clamp(2.1rem, 4vw, 3.1rem);
  line-height: .98;
  margin: 0 0 16px;
}
.display-title { font-size: clamp(2rem, 4vw, 3.15rem); margin: 0 0 14px; }
.partner-strip-title { font-size: clamp(1.9rem, 4vw, 2.9rem); margin: 0; color: #fff; }

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: #6a776f;
  font-family: Montserrat, sans-serif;
  font-size: .78rem;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.kicker::before {
  content: "";
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, var(--cts-green), transparent);
}

.body-copy p,
.lead-copy,
.form-copy,
.mini-card p,
.footer-note,
.contact-copy {
  color: var(--cts-copy);
  font-family: "Cinzel", serif;
}
.body-copy p,
.mini-card p,
.form-copy,
.contact-copy {
    font-size: 24px;
    line-height: 1.78;
    margin: 0 0 18px;
}
.lead-copy { font-size: clamp(1.18rem, 2vw, 1.36rem); line-height: 1.72; margin: 0 0 22px; }

.soft-card,
.partner-card,
.mini-card,
.director-spotlight,
.stat-panel,
.request-glass {
  border-radius: 30px;
  box-shadow: 0 22px 48px rgba(10, 22, 17, .08);
}

.director-spotlight {
    min-height: 100%;
    display: flex;
    align-items: end;
    padding: 20px 20px 0;
    overflow: hidden;
}
.director-image {
  width: min(100%, 500px);
  margin: 0 auto;
  display: block;
  filter: drop-shadow(0 28px 44px rgba(0, 0, 0, .14));
}

.partners-slider-shell { position: relative; padding-inline: 40px; }
.partners-slider-window { overflow: hidden; }
.partners-slider-track { display: flex; transition: transform .65s cubic-bezier(.22,.61,.36,1); }
.partners-slide { min-width: 100%; }
.partner-card {
  height: 190px;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.92);
  color: var(--cts-green);
  font-family: Montserrat, sans-serif;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 1.18rem;
  text-align: center;
}
.partners-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 0;
  background: var(--cts-green);
  color: #fff;
  font-size: 2rem;
  box-shadow: 0 14px 24px rgba(4,26,21,.2);
  transition: transform .25s ease, opacity .25s ease;
}
.partners-arrow:hover { transform: translateY(-50%) scale(1.05); }
.partners-prev { left: -2px; }
.partners-next { right: -2px; }

.stat-panel {
  min-height: 390px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, #0d2f27 0%, #071d18 100%);
}
.stat-panel::before,
.stat-panel::after {
  content: "";
  position: absolute;
}
.stat-panel::before {
  inset: 0;
  background:
    radial-gradient(circle at 28% 36%, rgba(216,194,156,.18), transparent 11%),
    radial-gradient(circle at 68% 18%, rgba(255,255,255,.11), transparent 8%),
    radial-gradient(circle at 56% 72%, rgba(255,255,255,.11), transparent 9%);
}
.stat-panel::after {
  right: 9%;
  top: 7%;
  width: 59%;
  height: 86%;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
  clip-path: polygon(43% 0, 74% 7%, 89% 26%, 84% 72%, 58% 99%, 22% 90%, 7% 62%, 12% 20%);
}

.mini-card {
  height: 100%;
  padding: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.92);
  transition: transform .35s ease, box-shadow .35s ease;
}
.mini-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 46px rgba(10,22,17,.12);
}
.mini-card .thumb {
  height: 220px;
  border-radius: 22px;
  margin-bottom: 16px;
  background-size: cover;
  background-position: center;
}
.mini-card h3 { font-size: 1.45rem; margin: 0 0 8px; }
.mini-card p { font-size: 1rem; margin: 0; }
.thumb-yacht { background: linear-gradient(135deg, #186a84, #8dd0e8); }
.thumb-jet { background: linear-gradient(135deg, #8a6d58, #d8c0ac); }
.thumb-villa { background: linear-gradient(135deg, #c6a170, #f2d8ba); }
.thumb-dining { background: linear-gradient(135deg, #4a2013, #d69f59); }
.thumb-transport { background: linear-gradient(135deg, #08182b, #5b718a); }
.thumb-wellness { background: linear-gradient(135deg, #a67f61, #ead7c6); }
.thumb-wedding { background: linear-gradient(135deg, #89665a, #e6c4b2); }
.thumb-honeymoon { background: linear-gradient(135deg, #c3a98f, #f0dcc8); }
.thumb-mice { background: linear-gradient(135deg, #bab6b0, #efedeb); }

.media-banner,
.gallery-shot {
  border-radius: 28px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  box-shadow: 0 20px 46px rgba(10,22,17,.1);
}
.media-banner {
  min-height: 440px;
  background:
    linear-gradient(135deg, rgba(9,38,51,.34), rgba(255,255,255,.08)),
    linear-gradient(118deg, #a9c4db, #dfcfb6 58%, #5f8090);
}
.gallery-shot { min-height: 140px; }
.gallery-large { min-height: 235px; }
.shot-food { background: linear-gradient(135deg, #5b2418, #d59358); }
.shot-pool { background: linear-gradient(135deg, #a6c3dd, #f0e2d1); }
.shot-suite { background: linear-gradient(135deg, #7a6148, #cab8a0); }
.shot-spa { background: linear-gradient(135deg, #cfb4a1, #f3e4da); }
.shot-fitness { background: linear-gradient(135deg, #2f2f2f, #9a9a9a); }
.shot-treatment { background: linear-gradient(135deg, #b27d63, #ead7c4); }

.primary-btn,
.outline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 178px;
  min-height: 56px;
  padding: 12px 24px;
  border-radius: 0;
  font-size: 1.06rem;
  transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease;
}
.primary-btn {
  background: var(--cts-green-2)!important;
  border: 1px solid var(--cts-green-2);
  color: #fff;
}
.outline-btn {
  background: transparent;
  border: 2px solid var(--cts-green-2);
  color: var(--cts-green);
}
.primary-btn:hover,
.outline-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(4,26,21,.14);
}

.form-label {
  font-family: Montserrat, sans-serif;
  color: var(--cts-copy);
  font-size: .82rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.form-control,
textarea.form-control {
  min-height: 56px;
  padding: 14px 18px;
  border-radius: 10px;
  border: 0;
  background: #738177;
  color: #f7f1e8;
  font-family: "Cinzel", serif;
  font-size: 1.05rem;
}
textarea.form-control { min-height: 176px; resize: vertical; }
.form-control::placeholder,
textarea.form-control::placeholder { color: rgba(247,241,232,.9); }
.form-control:focus,
textarea.form-control:focus {
  background: #69786e;
  color: #fff;
  box-shadow: 0 0 0 .24rem rgba(4,26,21,.12);
}

.request-wrap { min-height: calc(100vh - var(--nav-h)); }
.request-layout {
  border-radius: 36px;
  overflow: hidden;
  background: rgba(255,255,255,.8);
  box-shadow: 0 24px 54px rgba(10,22,17,.08);
}
.request-panel { padding: 40px 42px; }
.request-visual {
  min-height: 100%;
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.04)), linear-gradient(120deg, #d6dad7 0%, #b9b0a2 40%, #f5f6f4 100%);
}
.request-visual::before,
.request-visual::after {
  content: "";
  position: absolute;
}
.request-visual::before {
  right: -10%;
  top: 0;
  width: 80%;
  height: 100%;
  background: linear-gradient(135deg, #efefec, #a59682 50%, #8f8f8f 100%);
  clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 100%, 12% 76%, 18% 56%, 12% 38%, 22% 18%);
}
.request-visual::after {
  bottom: 6%;
  left: 10%;
  width: 36%;
  height: 40%;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.3);
  backdrop-filter: blur(8px);
}

.reveal {
  opacity: 0;
  transform: translateY(34px) scale(.985);
  filter: blur(8px);
  transition:
    opacity .9s ease,
    transform .9s cubic-bezier(.22,.61,.36,1),
    filter .8s ease;
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

@media (max-width: 1199.98px) {
  .mini-card .thumb { height: 190px; }
}

@media (max-width: 991.98px) {
  .page-main { padding-top: calc(var(--nav-h) + 18px); }
  .page-section { padding: 52px 0; }
  .page-section.compact { padding: 34px 0; }
  .director-spotlight { margin-top: 8px; }
  .partners-slider-shell { padding-inline: 0; padding-bottom: 78px; }
  .partners-arrow { top: auto; bottom: 0; transform: none; }
  .partners-prev { left: calc(50% - 60px); }
  .partners-next { right: calc(50% - 60px); }
  .request-layout { border-radius: 30px; }
  .request-panel { padding: 32px 28px; }
  .request-visual { min-height: 380px; }
}

@media (max-width: 900px) {
  .nav-overlay { z-index: 1100; }
  .nav-menu { z-index: 1300; }
}

@media (max-width: 767.98px) {
  .page-section { padding: 40px 0; }
  .page-title { font-size: 2.15rem; }
  .section-title { font-size: 1.82rem; }
  .display-title { font-size: 2rem; }
  .body-copy p,
  .lead-copy,
  .form-copy,
  .mini-card p,
  .contact-copy { font-size: 1rem; line-height: 1.7; }
  .media-banner { min-height: 270px; border-radius: 24px; }
  .gallery-large { min-height: 170px; }
  .gallery-shot { min-height: 108px; }
  .partner-card { height: 150px; font-size: 1rem; letter-spacing: .18em; }
  .mini-card { padding: 16px; }
  .mini-card .thumb { height: 170px; border-radius: 18px; }
  .request-panel { padding: 26px 20px; }
  .primary-btn,
  .outline-btn { width: 100%; max-width: 100%; }
}

@media (max-width: 575.98px) {
  .page-main { padding-top: calc(var(--nav-h) + 8px); }
  .page-section { padding: 34px 0; }
  .kicker { margin-bottom: 14px; font-size: .72rem; letter-spacing: .18em; }
  .body-copy p:last-child { margin-bottom: 0; }
  .director-spotlight { padding-inline: 10px; }
  .partner-card { border-radius: 24px; }
  .partners-slider-shell { padding-bottom: 64px; }
  .partners-arrow { width: 44px; height: 44px; font-size: 1.5rem; }
  .request-layout { border-radius: 24px; }
  .request-visual { min-height: 290px; }
}


/* Stronger active state + page preloader / transitions */
.nav-menu a {
  padding: 8px 0;
}
.nav-menu a.active {
  color: var(--gold) !important;
  text-shadow: 0 0 18px rgba(216, 194, 156, .18)!important;
}
.nav-menu a.active::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -8px;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 16px rgba(216,194,156,.55);
}

.page-preloader,
.page-transition {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, rgba(216,194,156,.12) 0%, transparent 18%),
    radial-gradient(circle at center, #0c352c 0%, #041912 62%, #020f0b 100%);
  transition: opacity .7s ease, visibility .7s ease;
}
.page-preloader.hidden {
  opacity: 0;
  visibility: hidden;
}
.page-transition {
  z-index: 3900;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.02);
}
.page-transition.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.preloader-inner {
  position: relative;
  z-index: 2;
  width: min(420px, 84vw);
  text-align: center;
  animation: loaderFloat 2.8s ease-in-out infinite;
}
.preloader-brand {
  font-family: "Cinzel", serif;
  font-size: clamp(2.1rem, 5vw, 3.1rem);
  letter-spacing: .14em;
  color: #fff;
}
.preloader-sub {
  margin-top: 4px;
  color: rgba(255, 255, 255, .64);
  font-size: .78rem;
  letter-spacing: .35em;
  text-transform: uppercase;
}
.preloader-line {
  margin: 20px auto 0;
  width: 100%;
  max-width: 240px;
  height: 1px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
}
.preloader-line span {
  display: block;
  width: 42%;
  height: 100%;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  animation: loadingLine 1.7s linear infinite;
}

@media (max-width: 900px) {
  .nav-menu a.active::before { display: none; }
}


/* ===== Final refinements ===== */
.nav-menu a.active {
  color: #fff;
  font-weight: 600;
}
.nav-menu a.active::after {
  transform: scaleX(1)!important;
  transform-origin: left!important;
  height: 2px!important;
  background: linear-gradient(90deg, rgba(216,194,156,.15), var(--cts-gold), rgba(216,194,156,.15))!important;
}
.nav-menu a.active::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform: translateX(-50%)!important;
  background: var(--cts-gold)!important;
  box-shadow: 0 0 0 6px rgba(216,194,156,.12)!important;
}
.page-preloader,
.page-transition {
  backdrop-filter: blur(6px);
}
.preloader-brand {
  letter-spacing: .14em;
}
.preloader-line span {
  animation-duration: 1.15s;
}
.director-spotlight,
.director-image,
.media-banner,
.gallery-shot,
.thumb,
.partners-slide img,
img.no-shadow {
  box-shadow: none !important;
  filter: none !important;
}


/* =========================
   TESTIMONIALS - LUXURY STYLE
========================= */

.testimonials-section{
  background:#f3f3f1;
  padding:120px 0;
}

.testimonials-heading{
  margin-bottom:52px;
}

.testimonials-kicker{
  display:inline-block;
  margin-bottom:10px;
  font-family:'Montserrat', sans-serif;
  font-size:.78rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#7d877f;
}

.testimonials-title{
  margin:0;
  font-family:'Cinzel', serif;
  font-size:3rem;
  line-height:1;
  font-weight:500;
  color:#233328;
}

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

.testimonial-card{
  position:relative;
  background:#fff;
  border:1px solid rgba(35,51,40,.08);
  border-radius:18px;
  padding:34px 30px 30px;
  box-shadow:0 18px 50px rgba(0,0,0,.06);
  transition:transform .35s ease, box-shadow .35s ease;
}

.testimonial-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.10);
}

.quote-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
  background:linear-gradient(180deg, rgba(0,45,34,.08), rgba(0,45,34,.04));
  border:1px solid rgba(0,45,34,.10);
}

.quote-icon svg{
  width:24px;
  height:24px;
  fill:#002d22;
  opacity:.9;
}

.testimonial-text{
  margin:0 0 28px;
  font-family:'Montserrat', sans-serif;
  font-size:15px;
  line-height:1.9;
  color:#314239;
}

.testimonial-author{
  padding-top:18px;
  border-top:1px solid rgba(35,51,40,.10);
}

.testimonial-author strong{
  display:block;
  font-family:'Cinzel', serif;
  font-size:1.35rem;
  line-height:1.1;
  font-weight:600;
  color:#1f3026;
}

.testimonial-author span{
  display:block;
  margin-top:4px;
  font-family:'Montserrat', sans-serif;
  font-size:.84rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7d877f;
}

@media (max-width: 991.98px){
  .testimonials-section{
    padding:90px 0;
  }

  .testimonials-title{
    font-size:2.4rem;
  }

  .testimonials-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
}

@media (max-width: 767.98px){
  .testimonials-section{
    padding:64px 0;
  }

  .testimonials-title{
    font-size:2rem;
  }

  .testimonial-card{
    padding:28px 22px 24px;
    border-radius:14px;
  }

  .quote-icon{
    width:46px;
    height:46px;
    margin-bottom:18px;
  }

  .quote-icon svg{
    width:20px;
    height:20px;
  }

  .testimonial-text{
    font-size:14px;
    line-height:1.8;
    margin-bottom:22px;
  }
}
.testimonial-card{
  background:linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
}

/* =========================
   PAGE SECTION FIX OVERRIDES
   ========================= */
.page-main{
  padding-top: 92px !important;
}

.page-section{
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: relative;
}

.page-section.mt-5{
  margin-top: 0 !important;
}

.page-section.flush-bottom{
  padding-top: 72px !important;
  padding-bottom: 0 !important;
}

.page-section.compact{
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

.page-section.dark-band{
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

.about{
  margin-top: 0 !important;
}

@media (max-width: 991.98px){
  .page-main{
    padding-top: 86px !important;
  }

  .page-section{
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .page-section.flush-bottom{
    padding-top: 56px !important;
    padding-bottom: 0 !important;
  }

  .page-section.compact{
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

@media (max-width: 767.98px){
  .page-main{
    padding-top: 78px !important;
  }

  .page-section{
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .page-section.flush-bottom{
    padding-top: 40px !important;
    padding-bottom: 0 !important;
  }

  .page-section.compact{
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .page-section.dark-band{
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}


/* =========================
   TESTIMONIALS - LUXURY STYLE
========================= */

.testimonials-section{
  background:#f3f3f1;
  padding:120px 0;
}

.testimonials-heading{
  margin-bottom:52px;
}

.testimonials-kicker{
  display:inline-block;
  margin-bottom:10px;
  font-family:'Montserrat', sans-serif;
  font-size:.78rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#7d877f;
}

.testimonials-title{
  margin:0;
  font-family:'Cinzel', serif;
  font-size:3rem;
  line-height:1;
  font-weight:500;
  color:#233328;
}

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

.testimonial-card{
  position:relative;
  background:#fff;
  border:1px solid rgba(35,51,40,.08);
  border-radius:18px;
  padding:34px 30px 30px;
  box-shadow:0 18px 50px rgba(0,0,0,.06);
  transition:transform .35s ease, box-shadow .35s ease;
}

.testimonial-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.10);
}

.quote-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
  background:linear-gradient(180deg, rgba(0,45,34,.08), rgba(0,45,34,.04));
  border:1px solid rgba(0,45,34,.10);
}

.quote-icon svg{
  width:24px;
  height:24px;
  fill:#002d22;
  opacity:.9;
}

.testimonial-text{
  margin:0 0 28px;
  font-family:'Montserrat', sans-serif;
  font-size:15px;
  line-height:1.9;
  color:#314239;
}

.testimonial-author{
  padding-top:18px;
  border-top:1px solid rgba(35,51,40,.10);
}

.testimonial-author strong{
  display:block;
  font-family:'Cinzel', serif;
  font-size:1.35rem;
  line-height:1.1;
  font-weight:600;
  color:#1f3026;
}

.testimonial-author span{
  display:block;
  margin-top:4px;
  font-family:'Montserrat', sans-serif;
  font-size:.84rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7d877f;
}

@media (max-width: 991.98px){
  .testimonials-section{
    padding:90px 0;
  }

  .testimonials-title{
    font-size:2.4rem;
  }

  .testimonials-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
}

@media (max-width: 767.98px){
  .testimonials-section{
    padding:64px 0;
  }

  .testimonials-title{
    font-size:2rem;
  }

  .testimonial-card{
    padding:28px 22px 24px;
    border-radius:14px;
  }

  .quote-icon{
    width:46px;
    height:46px;
    margin-bottom:18px;
  }

  .quote-icon svg{
    width:20px;
    height:20px;
  }

  .testimonial-text{
    font-size:14px;
    line-height:1.8;
    margin-bottom:22px;
  }
}
.testimonial-card{
  background:linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
}









.page-wrap{
    max-width: 100%;
    margin: 0 auto;
    padding: 34px 84px 48px;
}

.hero-section{
  padding:0 0 94px;
}

.main-title{
  margin:0 0 32px;
  color:var(--green);
  font-size:72px;
  line-height:.95;
  font-weight:600;
  letter-spacing:-0.02em;
}

.hero-grid{
  display:grid;
  grid-template-columns:320px minmax(0, 700px);
  gap:56px;
  align-items:start;
}

.hero-copy{
  padding-top:46px;
}

.hero-copy h2{
  margin:0 0 18px;
  color:var(--green);
  font-size:66px;
  line-height:.86;
  font-weight:600;
}

.hero-copy p{
  margin:0;
  color:var(--green);
  font-size:28px;
  line-height:1.22;
  font-weight:500;
}

.hero-image-wrap{
  width:100%;
}

.hero-image{
  width:100%;
  aspect-ratio:1.06 / 1;
  object-fit:cover;
}

.blueprint-section{
  padding:0;
}

.blueprint-title{
  margin:0 0 58px;
  color:var(--green);
  font-size:66px;
  line-height:.95;
  font-weight:600;
  letter-spacing:-0.02em;
}

.service-card img{
  width:100%;
  aspect-ratio:0.76 / 1;
  object-fit:cover;
  border-radius:14px;
}

@media (max-width: 1200px){
  .page-wrap{
    padding:26px 48px 42px;
  }

  .main-title{
    font-size:58px;
  }

  .hero-grid{
    grid-template-columns:280px minmax(0, 1fr);
    gap:36px;
  }

  .hero-copy h2,
  .blueprint-title{
    font-size:52px;
  }

  .hero-copy p{
    font-size:24px;
  }

  .cards-grid{
    gap:56px 30px;
  }
}

@media (max-width: 900px){
  .page-wrap{
    padding:22px 22px 34px;
  }

  .hero-section{
    padding-bottom:64px;
  }

  .main-title{
    font-size:40px;
    margin-bottom:22px;
  }

  .hero-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .hero-copy{
    padding-top:0;
  }

  .hero-copy h2{
    font-size:42px;
    margin-bottom:14px;
  }

  .hero-copy p{
    font-size:22px;
    line-height:1.3;
  }

  .blueprint-title{
    font-size:40px;
    margin-bottom:30px;
  }

  .cards-grid{
    max-width:none;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
  }
}

@media (max-width: 560px){
  .page-wrap{
    padding:16px 16px 28px;
  }

  .hero-section{
    padding-bottom:44px;
  }

  .main-title{
    font-size:28px;
    margin-bottom:18px;
  }

  .hero-copy h2{
    font-size:30px;
  }

  .hero-copy p{
    font-size:18px;
    line-height:1.34;
  }

  .blueprint-title{
    font-size:28px;
    margin-bottom:20px;
  }

  .cards-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .service-card img{
    aspect-ratio:0.88 / 1;
    border-radius:12px;
  }
}

/* ===== site fixes ===== */
.nav-menu{justify-content:flex-end;}
.nav-menu a{display:inline-flex;align-items:center;}
.request-wrap .row{min-height:calc(100vh - var(--nav-h) - 40px);}
.request-visual img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.form-actions{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.form-success{margin:18px 0 0;padding:14px 18px;border:1px solid rgba(4,26,21,.14);background:rgba(4,26,21,.05);color:var(--cts-green);font-family:Montserrat,sans-serif;font-size:.95rem;}
.primary-btn span{display:inline-flex;align-items:center;}
.primary-btn .arrow{margin-inline-start:10px;}
.hero-grid,.cards-grid,.testimonials-grid,.footer-row{align-items:stretch;}
.hero-image-wrap,.service-card,.testimonial-card,.logos-list,.footer-right,.footer-left,.request-visual{display:flex;justify-content:center;align-items:center;}
.service-card img,.hero-image,.gallery-img{display:block;width:100%;height:100%;object-fit:cover;}
.customer-logos{margin:0 auto;}
.customer-logos .slide{padding:16px;}
.customer-logos .slide img{width:100%;max-width:170px;height:72px;object-fit:contain;margin:0 auto;filter:grayscale(100%);opacity:.82;transition:transform .25s ease,opacity .25s ease,filter .25s ease;}
.customer-logos .slide:hover img{filter:none;opacity:1;transform:translateY(-2px);}
.slick-track{display:flex;align-items:center;}
.slick-prev,.slick-next{width:48px;height:48px;z-index:5;}
.slick-prev:before,.slick-next:before{font-size:36px;color:var(--cts-green);opacity:1;}
.site-header .brand{position:relative;z-index:2101;}
@media (max-width: 900px){
  .nav-shell{grid-template-columns:auto auto;gap:12px;}
  .hamburger{display:inline-flex;}
  .nav-menu{position:fixed;top:var(--nav-h);right:16px;left:16px;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:14px;border-radius:20px;background:#08211c;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 60px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(-16px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease;z-index:2050;}
  .nav-menu.open{opacity:1;visibility:visible;transform:translateY(0);}
  .nav-menu a{width:100%;padding:14px 6px;justify-content:flex-start;border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-menu a:last-child{border-bottom:0;}
  .nav-menu a::after{bottom:8px;}
  .instagram-link{justify-content:flex-start;}
  .hero,.hero-slider{height:auto;min-height:calc(100svh - var(--nav-h));}
  .request-wrap .row{min-height:auto;}
  .request-visual{padding-top:16px;}
}


/* final tweak: testimonials */
.testimonials-section{
  padding:110px 0;
  background:linear-gradient(180deg,#f6f4ef 0%,#efede7 100%) !important;
}
.testimonials-heading.centered{
  max-width:760px;
  margin:0 auto 58px;
  text-align:center;
}
.testimonials-heading.centered .testimonials-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.testimonials-heading.centered .testimonials-kicker::before,
.testimonials-heading.centered .testimonials-kicker::after{
  content:"";
  width:52px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(4,26,21,.45),transparent);
}
.testimonials-title{
  font-size:clamp(2.4rem,4vw,3.6rem) !important;
  letter-spacing:.03em;
}
.testimonials-grid{
  gap:24px !important;
  align-items:stretch;
}
.testimonial-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:38px 32px 30px !important;
  border-radius:24px !important;
  border:1px solid rgba(35,51,40,.08) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9f6f0 100%) !important;
  box-shadow:0 18px 40px rgba(9,24,19,.06) !important;
  overflow:hidden;
}
.testimonial-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#0b2a23,#d8c29c,#0b2a23);
}
.quote-icon{
  width:68px !important;
  height:68px !important;
  margin-bottom:24px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#0b2a23 0%,#163b32 100%) !important;
  border:1px solid rgba(216,194,156,.28) !important;
  box-shadow:0 14px 28px rgba(4,26,21,.16);
}
.quote-icon svg{display:none !important;}
.quote-icon::before{
  content:"Ã‚ÂC";
  color:#d8c29c;
  font-family:"Cinzel", serif;
  font-size:4rem;
  line-height:1;
  transform:translateY(7px);
}
.testimonial-text{
  flex:1;
  margin:0 0 26px !important;
  font-size:1rem !important;
  line-height:1.95 !important;
  color:#314239;
}
.testimonial-author{
  margin-top:auto;
  padding-top:18px !important;
}
.testimonial-author strong{
  font-size:1.65rem !important;
  letter-spacing:.02em;
}
.testimonial-author span{
  margin-top:6px !important;
  letter-spacing:.14em !important;
}
@media (max-width: 991.98px){
  .testimonials-section{padding:84px 0;}
}
@media (max-width: 767.98px){
  .testimonials-section{padding:64px 0;}
  .testimonials-heading.centered{margin-bottom:34px;}
  .testimonial-card{padding:28px 22px 22px !important; border-radius:18px !important;}
  .quote-icon{width:58px !important; height:58px !important; border-radius:16px !important;}
  .quote-icon::before{font-size:3.4rem; transform:translateY(6px);}
}
.page-main {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-section,
.blueprint-section {
  width: 100%;
  display: flex;
  justify-content: center;
}

.hero-wrap,
.blueprint-wrap {
  max-width: 1200px; /* Ã˜Â£Ã™Ë† 1100 Ã˜Â­Ã˜Â³Ã˜Â¨ Ã˜Â§Ã™â€žÃ˜Â¯Ã™Å Ã˜Â²Ã˜Â§Ã™Å Ã™â€  */
  width: 100%;
  padding: 0 20px;
}
.section-main-title,
.blueprint-title {
  text-align: center;
}.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.dark-band {
  width: 100%;
  background: #000; /* Ã˜Â£Ã™Ë† Ã˜Â§Ã™â€žÃ™â€žÃ™Ë†Ã™â€  Ã˜Â¨Ã˜ÂªÃ˜Â§Ã˜Â¹Ã™Æ’ */
  padding: 60px 0;
}

/* ==========================================================================
   FINAL PAGE FIXES
   ========================================================================== */

/* General layout safety */


.page-main {
  width: 100%;
  padding-top: 92px !important;
}

.page-section,
.hero-section,
.blueprint-section {
  width: 100%;
  position: relative;
}

.container,
.about-container,
.hero-wrap,
.blueprint-wrap {
  width: min(1200px, calc(100% - 40px));
  margin-inline: auto;
}

/* Make dark band full width even inside constrained parents */
.page-section.dark-band {
  position: relative;
  
	  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 60px 0;
}
	
	
	
	
	
}

/* Keep content centered inside full-width band */
.page-section.dark-band .container,
.page-section.dark-band .about-container {
  width: min(1200px, calc(100% - 40px));
  margin-inline: auto;
}

/* Fix hero/main centering without breaking full-width sections */
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 40px;
}

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

.hero-copy,
.hero-image-wrap,
.service-card,
.testimonial-card,
.request-visual {
  min-width: 0;
	  margin-top: 40px!important;
}

/* Remove accidental footer forcing from page styles */
.footer-left,
.footer-right,
.logos-list {
  min-width: 0;
}

/* Testimonials clean final look */
.testimonials-section {
  background: #f3f3f1;
  padding: 120px 0;
}

.testimonials-heading {
  margin-bottom: 52px;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.testimonial-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
  padding: 34px 30px 30px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border: 1px solid rgba(35,51,40,.08);
  box-shadow: 0 18px 50px rgba(0,0,0,.06);
}

.quote-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  flex: 0 0 auto;
  background: linear-gradient(180deg, rgba(0,45,34,.08), rgba(0,45,34,.04));
  border: 1px solid rgba(0,45,34,.10);
}

.quote-icon svg {
  width: 24px;
  height: 24px;
  fill: #002d22;
  opacity: .95;
}

.testimonial-text {
  width: 100%;
  margin: 0 0 28px;
}

.testimonial-author {
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(35,51,40,.10);
}

/* Footer overlap fixes from page overrides */
.site-footer,
.site-footer * {
  box-sizing: border-box;
}

.site-footer .footer-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 28px;
  flex-wrap: wrap;
}

.site-footer .footer-left {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    flex: 1 1 360px;
}

.site-footer .footer-right {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  text-align: right !important;
  flex: 1 1 280px;
}

.site-footer .logos-list {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  width: 100%;
}

.site-footer .logos {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px;
}

@media (max-width: 991.98px) {
  .page-main {
    padding-top: 86px !important;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

@media (max-width: 767.98px) {
  .page-main {
    padding-top: 78px !important;
  }

  .container,
  .about-container,
  .hero-wrap,
  .blueprint-wrap {
    width: min(100%, calc(100% - 28px));
  }

  .cards-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .testimonials-section {
    padding: 64px 0;
  }

  .testimonial-card {
    padding: 28px 22px 24px;
    border-radius: 14px;
  }

  .quote-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
  }

  .quote-icon svg {
    width: 20px;
    height: 20px;
  }

  .site-footer .footer-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .site-footer .footer-left,
  .site-footer .footer-right,
  .site-footer .logos-list,
  .site-footer .logos {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

.media-banner {
  height: 400px;
  overflow: hidden;
}

.media-banner video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}







.gallery-section {
  padding: 100px 0;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gallery-item {
  display: block;
  overflow: hidden;
  border-radius: 18px;
  position: relative;
  text-decoration: none;
}

.gallery-item img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

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

/* Lightbox */
.custom-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 30px;
  z-index: 9999;
}

.custom-lightbox.active {
  display: flex;
}

.custom-lightbox img {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.lightbox-close {
  position: absolute;
  top: 24px;
  right: 28px;
  font-size: 36px;
  line-height: 1;
  color: #fff;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.lightbox-prev,
.lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 42px;
  color: #fff;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 10px 16px;
}

.lightbox-prev {
  left: 20px;
}

.lightbox-next {
  right: 20px;
}

@media (max-width: 991.98px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767.98px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .gallery-item img {
    height: 260px;
  }
}

.lux-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin-top: 56px;
}

.lux-pagination-counter {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-family: 'Cinzel', serif;
  letter-spacing: 2px;
}

.lux-pagination-counter .current {
  font-size: 34px;
  font-weight: 600;
  color: #111;
  line-height: 1;
}

.lux-pagination-counter .divider {
  font-size: 22px;
  color: rgba(17, 17, 17, 0.45);
  line-height: 1;
}

.lux-pagination-counter .total {
  font-size: 18px;
  color: rgba(17, 17, 17, 0.45);
  line-height: 1;
}

.lux-pagination-arrow {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(17, 17, 17, 0.16);
  border-radius: 50%;
  background: transparent;
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.lux-pagination-arrow span {
  font-size: 18px;
  line-height: 1;
}

.lux-pagination-arrow:hover {
  background: #111;
  color: #fff;
  border-color: #111;
  transform: translateY(-1px);
}

.lux-pagination-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  transform: none;
}



.primary-btn,
.outline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 178px;
  min-height: 56px;
  padding: 12px 24px;
  border-radius: 0;
  font-size: 1.06rem;
  transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease;
}
.primary-btn {
  background: #000;
  border: 1px solid var(--cts-green);
  color: #fff;
}
.outline-btn {
  background: transparent;
  border: 2px solid var(--cts-green);
  color: var(--cts-green);
}
.primary-btn:hover,
.outline-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(4,26,21,.14);
}


/* === Request access fixes: button link, image sizing, laptop/mobile tuning === */
.brand-logo{
  width:min(42vw,220px)!important;
  max-width:220px;
  height:auto!important;
}

.request-wrap .container-fluid{
  max-width:1440px;
  margin-inline:auto;
}

.request-wrap .row{
  min-height:calc(100vh - var(--nav-h) - 40px);
}

.request-wrap .col-lg-5{
  justify-content:center;
}

.request-visual{
  width:100%;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 24px;
}

.request-image{
  width:min(100%, 520px);
  max-height:72vh;
  object-fit:contain;
  margin-inline:auto;
}

.form-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.form-actions .primary-btn{
  text-decoration:none;
  gap:10px;
  white-space:nowrap;
}

.form-actions .primary-btn span{
  display:inline-flex;
  align-items:center;
}

.form-actions .primary-btn:hover{
  color:#fff;
}

@media (min-width: 992px){
  .request-wrap .col-lg-7 > div{
    display:flex;
    align-items:center;
    min-height:calc(100vh - var(--nav-h) - 40px);
  }
}

@media (max-width: 1199.98px){
  .request-image{
    width:min(100%, 460px);
  }
}

@media (max-width: 991.98px){
  .request-wrap .row{
    min-height:auto;
  }

  .request-visual{
    padding:12px 24px 0;
  }

  .request-image{
    width:min(100%, 440px);
    max-height:52vh;
  }
}

@media (max-width: 767.98px){
  .request-wrap .col-lg-7 .px-4,
  .request-wrap .col-lg-7 .px-md-5,
  .request-wrap .col-lg-7 .px-lg-5{
    padding-inline:20px!important;
  }

  .request-visual{
    padding:8px 20px 0;
  }

  .request-image{
    width:min(100%, 320px);
    max-height:none;
  }

  .form-actions .primary-btn{
    width:100%;
  }
}

@media (max-width: 575.98px){
  .brand-logo{
    max-width:160px;
  }

  .request-image{
    width:min(100%, 260px);
  }
}
.image-container {
  margin-top: 20px;
}

@media (max-width: 768px) {
  .image-container {
    margin-top: 10px;
  }
}@media (max-width: 768px) {
  .request-visual {
    margin-top: 16px;
  }
}.request-visual {
  min-width: 0;
	  margin-top: 40px!important;
}

/* ===== About Us Full Width SAFE ===== */

.about-us-band {
  position: relative;
  background: #022f26;
  color: #fff;

  /* Ã˜Â§Ã™â€žÃ˜Â­Ã™â€ž Ã˜Â§Ã™â€žÃ™â€¦Ã™â€¡Ã™â€¦ Ã°Å¸â€˜â€¡ */
  width: 100vw;
  margin-left: calc(50% - 50vw);

  padding: 100px 0;
}

/* Ã™â€ Ã˜Â­Ã˜Â§Ã™ÂÃ˜Â¸ Ã˜Â¹Ã™â€žÃ™â€° container Ã˜Â¬Ã™Ë†Ã™â€¡ */
.about-us-band .container {
  max-width: 1200px;
}

/* Ã˜ÂªÃ˜Â­Ã˜Â³Ã™Å Ã™â€  Ã˜Â§Ã™â€žÃ˜Â´Ã™Æ’Ã™â€ž */
.about-us-band .title {
  font-size: clamp(32px, 5vw, 64px);
  line-height: 1.2;
}

.about-us-band .text p {
  font-size: 18px;
  line-height: 1.8;
  color: rgba(255,255,255,0.9);
}

/* Ã™â€¦Ã™Ë†Ã˜Â¨Ã˜Â§Ã™Å Ã™â€ž */
@media (max-width: 768px) {
  .about-us-band {
    padding: 60px 0;
  }

  .about-us-band .title {
    font-size: 28px;
  }

  .about-us-band .text p {
    font-size: 16px;
  }
}

/* === Bootstrap standalone page overrides === */
body.standalone-page {
  background: var(--cts-light);
  color: var(--cts-ink);
  font-family: 'Montserrat', sans-serif;
}

.standalone-page .page-main {
  display: block;
  width: 100%;
  padding-top: 0 !important;
}

.standalone-page .page-shell,
.standalone-page .hero-wrap,
.standalone-page .blueprint-wrap,
.standalone-page .about-container,
.standalone-page .container-lux {
  width: min(1200px, calc(100% - 32px));
  margin-inline: auto;
}

.standalone-page .page-section {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.standalone-page .section-title,
.standalone-page .page-title,
.standalone-page .display-title,
.standalone-page .partner-strip-title,
.standalone-page .mini-card h3,
.standalone-page .main-title,
.standalone-page .hero-copy h2,
.standalone-page .blueprint-title,
.standalone-page .testimonials-title,
.standalone-page .section-main-title,
.standalone-page .about-us-band .title {
  font-family: 'Cinzel', serif !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  line-height: 1.05 !important;
}

.standalone-page .body-copy p,
.standalone-page .lead-copy,
.standalone-page .form-copy,
.standalone-page .mini-card p,
.standalone-page .footer-note,
.standalone-page .contact-copy,
.standalone-page .testimonial-text,
.standalone-page .testimonial-author span,
.standalone-page .form-label,
.standalone-page .form-control,
.standalone-page textarea.form-control,
.standalone-page .kicker,
.standalone-page .testimonials-kicker,
.standalone-page .partner-card,
.standalone-page .primary-btn,
.standalone-page .outline-btn,
.standalone-page .hero-copy p,
.standalone-page .text,
.standalone-page .about-us-band .text p {
  font-family: 'Montserrat', sans-serif !important;
}

.standalone-page .hero-panel {
  border-radius: 34px;
  overflow: hidden;
  background: linear-gradient(135deg, #f8f7f4 0%, #efede7 100%);
  box-shadow: 0 24px 60px rgba(10,22,17,.07);
}

.standalone-page .hero-content {
  padding: 56px;
}

.standalone-page .hero-visual {
  min-height: 100%;
  background: linear-gradient(135deg, rgba(9,38,51,.18), rgba(255,255,255,.08)), linear-gradient(118deg, #a9c4db, #dfcfb6 58%, #5f8090);
  position: relative;
}

.standalone-page .hero-visual::after {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 24px;
}

.standalone-page .tint-box {
  border-radius: 34px;
  padding: 40px;
  background: radial-gradient(circle at 12% 12%, rgba(216,194,156,.13), transparent 17%), linear-gradient(180deg, #f7f7f5 0%, #efefeb 100%);
}

.standalone-page .gallery-thumb,
.standalone-page .feature-thumb {
  min-height: 260px;
  border-radius: 22px 22px 0 0;
  background-size: cover;
  background-position: center;
}

.standalone-page .gallery-thumb.thumb-1 { background: linear-gradient(135deg, #186a84, #8dd0e8); }
.standalone-page .gallery-thumb.thumb-2 { background: linear-gradient(135deg, #8a6d58, #d8c0ac); }
.standalone-page .gallery-thumb.thumb-3 { background: linear-gradient(135deg, #c6a170, #f2d8ba); }
.standalone-page .feature-thumb.thumb-4 { background: linear-gradient(135deg, #4a2013, #d69f59); }
.standalone-page .feature-thumb.thumb-5 { background: linear-gradient(135deg, #08182b, #5b718a); }
.standalone-page .feature-thumb.thumb-6 { background: linear-gradient(135deg, #a67f61, #ead7c6); }

.standalone-page .clean-card {
  height: 100%;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(35,51,40,.08);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(9,24,19,.06);
  transition: transform .3s ease, box-shadow .3s ease;
}

.standalone-page .clean-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(9,24,19,.10);
}

.standalone-page .clean-card .card-body {
  padding: 24px;
}

.standalone-page .stats-band {
  background: linear-gradient(135deg, var(--cts-green) 0%, #08211c 100%);
  color: #f6efe3;
  border-radius: 30px;
  padding: 28px;
  overflow: hidden;
  position: relative;
}

.standalone-page .stats-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(216,194,156,.13), transparent 16%), radial-gradient(circle at 80% 24%, rgba(255,255,255,.08), transparent 12%);
}

.standalone-page .stats-item {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 16px 12px;
  border-inline-start: 1px solid rgba(255,255,255,.08);
}

.standalone-page .stats-item:first-child {
  border-inline-start: 0;
}

.standalone-page .stats-number {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.8rem, 3vw, 3rem);
  color: #fff;
  line-height: 1;
  margin-bottom: 8px;
}

.standalone-page .stats-label {
  font-size: .88rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.74);
}

.standalone-page .quote-mark {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #0b2a23 0%, #163b32 100%);
  color: var(--cts-gold);
  font-family: 'Cinzel', serif;
  font-size: 2rem;
  box-shadow: 0 12px 24px rgba(4,26,21,.16);
}

.standalone-page .contact-box {
  border-radius: 34px;
  background: linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
  border: 1px solid rgba(32,49,39,.10);
  box-shadow: 0 24px 54px rgba(10,22,17,.08);
  overflow: hidden;
}

.standalone-page .contact-panel {
  padding: 40px;
}

.standalone-page .contact-visual {
  min-height: 100%;
  background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.04)), linear-gradient(120deg, #d6dad7 0%, #b9b0a2 40%, #f5f6f4 100%);
  position: relative;
}

.standalone-page .contact-visual::before {
  content: "";
  position: absolute;
  right: -10%;
  top: 0;
  width: 80%;
  height: 100%;
  background: linear-gradient(135deg, #efefec, #a59682 50%, #8f8f8f 100%);
  clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 100%, 12% 76%, 18% 56%, 12% 38%, 22% 18%);
}

.standalone-page .contact-visual::after {
  content: "";
  position: absolute;
  bottom: 6%;
  left: 10%;
  width: 36%;
  height: 40%;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.3);
  backdrop-filter: blur(8px);
}

@media (max-width: 1199.98px) {
  .standalone-page .hero-content,
  .standalone-page .contact-panel,
  .standalone-page .tint-box {
    padding: 34px;
  }
}

@media (max-width: 991.98px) {
  .standalone-page .page-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .standalone-page .stats-item:nth-child(3) {
    border-inline-start: 0;
  }
}

@media (max-width: 767.98px) {
  .standalone-page .page-shell,
  .standalone-page .hero-wrap,
  .standalone-page .blueprint-wrap,
  .standalone-page .about-container,
  .standalone-page .container-lux {
    width: min(100%, calc(100% - 24px));
  }

  .standalone-page .page-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .standalone-page .hero-content,
  .standalone-page .contact-panel,
  .standalone-page .tint-box {
    padding: 24px;
  }

  .standalone-page .stats-item {
    border-inline-start: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }

  .standalone-page .stats-item:first-child {
    border-top: 0;
  }
}/* =========================
   TESTIMONIALS - FINAL MATCH
========================= */

.testimonials-section{
  background:#fff!important;
  padding:60px 0 80px;
}

.testimonials-shell{
  width:min(1100px, calc(100% - 32px));
  margin-inline:auto;
}

/* list */
.testimonials-list{
  margin-top:20px;
}

/* card */
.testimonial-item{
  position:relative;
  padding:28px 28px 26px 32px;
  margin-bottom:26px;
  border-radius:12px;
  background:#f7f7f5;
  border:1px solid #e6e6e6;
  transition:.3s ease;
}

.testimonial-item:hover{
  background:#f3f3f0;
}

/* ðŸ”¥ quote icon  */
.testimonial-item::before{
  content:"â€œ";
  position:absolute;
  top:18px;
  left:16px;
  font-size:34px;
  color:#bfa77a;
  font-family:'Cinzel', serif;
  opacity:.9;
}

/* text */
.testimonial-quote{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.9;
  color:#000;
}

/* author */
.testimonial-author{
  font-size:14px;
  font-weight:500;
  color:#000;
  margin-bottom:4px;
}

/* link */
.testimonial-tour{
  font-size:13px;
  color:#8b6a34;
  text-decoration:none;
}

.testimonial-tour:hover{
  text-decoration:underline;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:768px){

  .testimonial-item{
    padding:22px 20px 20px 26px;
  }

  .testimonial-item::before{
    font-size:28px;
    left:12px;
  }

  .testimonial-quote{
    font-size:14px;
  }
}


.services-page{
  padding:28px 0 72px;
  background:#fff;
}

.service-section{
  padding:28px 0 22px;
  background:#fff;
}

.service-panel{
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

.service-panel::before,
.service-panel::after{
  display:none !important;
  content:none !important;
}

.service-kicker{
  margin:0 0 20px;
  font-size:.8rem;
  line-height:1.1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#111;
  font-weight:400;
}

.service-kicker::before{
  display:none;
  content:none;
}

.service-title{
  margin:0 0 22px;
  font-family:'Cinzel',serif;
  font-weight:400;
  font-size:clamp(2rem, 4.2vw, 3.35rem);
  line-height:1.04;
  letter-spacing:.01em;
  color:#000;
  white-space:pre-line;
}

.service-copy{
  margin:0;
  color:#000;
  font-size:clamp(1rem, 1.18vw, 1.08rem);
  line-height:1.9;
  font-weight:300;
  max-width:none;
}

.service-copy + .service-copy{
  margin-top:14px;
}

.service-image,
.transport-grid-bottom img,
.mosaic-grid img{
  width:100%;
  object-fit:cover;
  border-radius:0;
  border:0;
  box-shadow:none !important;
  filter:none !important;
}

/* all main images same size */
.service-image.large,
.service-image.wide{
  aspect-ratio: 1.55 / 1;
}

/* smaller secondary images same size */
.transport-grid-bottom,
.mosaic-grid{
  display:grid;
  gap:14px;
  grid-template-columns:1fr 1fr;
}

.transport-grid-bottom img,
.mosaic-grid img{
  aspect-ratio:1.2 / 1;
}

.service-stack{
  display:grid;
  gap:14px;
}

.hero-title-right{
  display:block;
  margin-bottom:18px;
}

.hero-media-top{
  margin-bottom:0;
}

.service-signature{
  margin-top:18px;
  display:flex;
  justify-content:flex-end;
}


.service-row-gap{
  row-gap:18px;
}

.col-copy{
  display:block;
}

.copy-box{
    padding: 0;
    text-align: left;
}

.service-panel:hover{
  transform:none;
  box-shadow:none;
}

@media (max-width:991.98px){
  .services-page{padding:20px 0 54px}
  .service-section{padding:22px 0 18px}
  .service-kicker{margin-bottom:14px;font-size:.76rem}
  .service-title{
    font-size:clamp(1.75rem,5.8vw,2.7rem);
    margin-bottom:18px;
  }
  .service-copy{
    font-size:.98rem;
    line-height:1.82;
  }
  .transport-grid-bottom,
  .mosaic-grid,
  .service-stack{
    gap:10px;
  }
  .service-signature img{width:126px}
}

@media (max-width:767.98px){
  .service-section{padding:18px 0 16px}
  .service-kicker{
    margin-bottom:10px;
    font-size:.72rem;
  }
  .service-title{
    font-size:clamp(1.45rem,7.8vw,2.1rem);
    line-height:1.06;
    margin-bottom:14px;
  }
  .service-copy{
    font-size:.94rem;
    line-height:1.76;
  }
  .service-copy + .service-copy{margin-top:10px}
  .service-row-gap{row-gap:14px}
  .service-signature{
    margin-top:12px;
	  
  }
  .service-signature img{width:112px}
}


/* === FINAL IMAGE SIZE FIX === */
.service-image{
  width:100%;
  height:320px;
  object-fit:cover;
}

@media (max-width:768px){
  .service-image{
    height:220px;
  }
}

img{display:block;max-width:100%;height:auto}
.page-wrap{
  width:min(1090px, calc(100% - 56px));
  margin-inline:auto;
}
@media (max-width:991.98px){
  .page-wrap{width:min(100%, calc(100% - 36px))}
}
@media (max-width:575.98px){
  .page-wrap{width:min(100%, calc(100% - 24px))}
}


/* === FINAL FONT RULES === */

/* Titles */
.page-title,
.section-title,
.service-title,
.services-title{
  font-family:'Cinzel', serif !important;
  font-weight:400 !important;
}

/* Paragraphs */
p,
.service-copy,
.body-copy p{
    font-family: 'Montserrat', sans-serif !important;
    /* [disabled]font-weight: 100     !important; */
}

/* Header / nav */
.nav-menu a,
.site-header,
.nav-menu{
  font-family:'Montserrat', sans-serif !important;
  font-weight:400 !important;
}
/* ===== FULL CSS WITH QUOTE FIX ===== */

.quote-icon{
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  background: linear-gradient(180deg, rgba(0,45,34,.08), rgba(0,45,34,.04))!important;
  border: 1px solid rgba(0,45,34,.10)!important;
}

.quote-icon svg{
  width: 24px;
  height: 24px;
  display: block !important;
  fill: #002d22;
  opacity: .95;
}

.quote-icon::before{
  content: none !important;
}



/* ==========================================================================
   HARD FIX: REAL QUOTE MARKS FOR DESKTOP + MOBILE
   ========================================================================== */

body.testimonials-page .quote-icon,
body.testimonials-page .testimonial-item::before,
body.testimonials-page .testimonial-item::after,
body.testimonials-page .testimonial-quote::before,
body.testimonials-page .testimonial-quote::after{
  display:none !important;
  content:none !important;
}

body.testimonials-page .testimonials-section{
  background:#fff !important;
  padding:112px 0 72px !important;
}

body.testimonials-page .testimonials-shell{
  width:min(1120px, calc(100% - 48px)) !important;
  margin-inline:auto !important;
}

body.testimonials-page .testimonials-heading{
  margin:0 0 34px !important;
}

body.testimonials-page .page-title{
  font-family:'Cinzel', serif !important;
  font-weight:400 !important;
  font-size:clamp(2.35rem, 4vw, 4.4rem) !important;
  line-height:.98 !important;
  color:#111 !important;
  margin:0 0 18px !important;
}

body.testimonials-page .testimonials-intro{
  font-family:'Montserrat', sans-serif !important;
  font-weight:400 !important;
  font-size:1rem !important;
  line-height:1.85 !important;
  color:#222 !important;
  margin:0 0 14px !important;
}

body.testimonials-page .testimonial-item{
  margin:0 0 24px !important;
  padding:28px 30px 22px !important;
  background:#f7f7f5 !important;
  border:1px solid #e5e3de !important;
  border-radius:18px !important;
  box-shadow:none !important;
}

body.testimonials-page .testimonial-quote{
  margin:0 0 18px !important;
  padding:0 !important;
  font-family:'Montserrat', sans-serif !important;
  font-weight:400 !important;
  font-size:15px !important;
  line-height:1.95 !important;
  color:#111 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

body.testimonials-page .testimonial-quote .quote-mark{
  display:inline !important;
  font-family:'Cinzel', serif !important;
  font-weight:400 !important;
  font-size:30px !important;
  line-height:0 !important;
  color:#b89a63 !important;
  vertical-align:-0.16em !important;
}

body.testimonials-page .testimonial-quote .quote-open{
  margin-inline-end:6px !important;
}

body.testimonials-page .testimonial-quote .quote-close{
  margin-inline-start:6px !important;
}

body.testimonials-page .testimonial-author{
  margin:0 !important;
  padding-top:16px !important;
  border-top:1px solid #e3e1dc !important;
  font-family:'Montserrat', sans-serif !important;
  font-weight:400 !important;
  font-size:14px !important;
  color:#111 !important;
}

body.testimonials-page .testimonial-tour{
  display:block !important;
  margin-top:6px !important;
  font-family:'Montserrat', sans-serif !important;
  font-weight:400 !important;
  font-size:13px !important;
  color:#8b6a34 !important;
  text-decoration:none !important;
}

@media (max-width: 767.98px){
  body.testimonials-page .testimonials-section{
    padding:84px 0 42px !important;
  }

  body.testimonials-page .testimonials-shell{
    width:min(100%, calc(100% - 22px)) !important;
  }

  body.testimonials-page .testimonial-item{
    padding:20px 18px 18px !important;
    border-radius:14px !important;
    margin-bottom:18px !important;
  }

  body.testimonials-page .testimonial-quote{
    font-size:14px !important;
    line-height:1.82 !important;
    margin-bottom:14px !important;
  }

  body.testimonials-page .testimonial-quote .quote-mark{
    font-size:24px !important;
  }

  body.testimonials-page .testimonial-author{
    font-size:13px !important;
    padding-top:14px !important;
  }

  body.testimonials-page .testimonial-tour{
    font-size:12px !important;
  }
}


/* =====================================================================
   FINAL PARTNERS LOGO GRID SLIDER
   3 x 3 on desktop, responsive on smaller screens
   ===================================================================== */
.partner-strip-title {
    text-align: left;
}

.customer-logos.slider {
  width: min(100%, 1120px);
  margin: 0 auto;
}

.customer-logos .slick-list {
  margin: 0 56px;
  overflow: hidden;
}

.customer-logos .slick-track {
  display: block;
}

.customer-logos .slide {
  padding: 14px 18px;
}

.customer-logos .slide > div,
.customer-logos .slick-slide > div {
  height: 100%;
}

.customer-logos .slide img {
  width: 100%;
  max-width: 165px;
  height: 72px;
  object-fit: contain;
  margin: 0 auto;
  filter: grayscale(100%);
  opacity: .86;
  transition: transform .28s ease, opacity .28s ease, filter .28s ease;
}

.customer-logos .slide:hover img {
  filter: none;
  opacity: 1;
  transform: translateY(-2px);
}

.customer-logos .slick-prev,
.customer-logos .slick-next {
  width: 46px;
  height: 46px;
  z-index: 5;
}

.customer-logos .slick-prev {
  left: 2px;
}

.customer-logos .slick-next {
  right: 2px;
}

.customer-logos .slick-prev:before,
.customer-logos .slick-next:before {
  font-size: 34px;
  color: var(--cts-green);
  opacity: 1;
}

@media (max-width: 991.98px) {
  .customer-logos.slider {
    width: min(100%, 900px);
  }

  .customer-logos .slick-list {
    margin: 0 44px;
  }

  .customer-logos .slide {
    padding: 12px 14px;
  }

  .customer-logos .slide img {
    max-width: 150px;
    height: 64px;
  }
}

@media (max-width: 767.98px) {
  .customer-logos .slick-list {
    margin: 0 36px;
  }

  .customer-logos .slick-prev,
  .customer-logos .slick-next {
    width: 40px;
    height: 40px;
  }

  .customer-logos .slick-prev:before,
  .customer-logos .slick-next:before {
    font-size: 28px;
  }

  .customer-logos .slide {
    padding: 10px 8px;
  }

  .customer-logos .slide img {
    max-width: 130px;
    height: 56px;
  }
}

@media (max-width: 479.98px) {
  .customer-logos .slick-list {
    margin: 0 28px;
  }

  .customer-logos .slide img {
    max-width: 120px;
    height: 52px;
  }
}
/* === image + paragraph same height === */
.service-row-gap.align-items-stretch > [class*="col-"] {
  display: flex;
}

.service-row-gap.align-items-stretch .copy-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.service-row-gap.align-items-stretch .service-image {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  display: block;
}

/* keep image/text balanced on desktop */
@media (min-width: 992px) {
  .service-row-gap.align-items-stretch .col-lg-6 {
    align-self: stretch;
  }
}

/* mobile: let image return to natural flow */
@media (max-width: 991.98px) {
  .service-row-gap.align-items-stretch > [class*="col-"] {
    display: block;
  }

  .service-row-gap.align-items-stretch .service-image {
    height: auto;
    min-height: 0;
  }

  .service-row-gap.align-items-stretch .copy-box {
    height: auto;
    padding-top: 18px;
  }
}