#header-outer,
#header-outer:before,
.nectar-header-wrap {
background: transparent !important;
box-shadow: none !important;
}
#header-outer:before { opacity: 0 !important; }
#header-space { height: 0 !important; background: transparent !important; }
.container-wrap { padding-top: 0 !important; }

/* === Logo Crawl – full-bleed, seamless, left→right === */
.logo-crawl {
position: relative;
overflow: hidden;
width: 100%;
padding-top: 12px;
padding-bottom: 12px;
}

.full-bleed {
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw;
margin-right: -50vw;
width: 100vw;
max-width: 100vw;
overflow: hidden;
}

.logo-crawl::before,
.logo-crawl::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
width: 80px;
pointer-events: none;
z-index: 2;
}
.logo-crawl::before {
left: 0;
background: linear-gradient(to right, rgba(0,0,0,.25), transparent);
}
.logo-crawl::after {
right: 0;
background: linear-gradient(to left, rgba(0,0,0,.25), transparent);
}

.logo-crawl .logo-track {
display: flex !important;
flex-direction: row !important;
align-items: center;
flex-wrap: nowrap !important;
white-space: nowrap;
width: max-content;
will-change: transform;
transform: translate3d(0,0,0);
animation: logo-scroll 20s linear infinite !important;
margin-left: 0 !important;
justify-content: flex-start;
backface-visibility: hidden;
}

.logo-crawl .logo-group {
display: flex;
align-items: center;
flex-wrap: nowrap;
}

.logo-crawl .logo-group > * {
flex: 0 0 auto !important;
display: inline-flex !important;
align-items: center;
margin-right: 3rem;
max-width: none !important;
}

.logo-crawl .logo-group > *:last-child {
margin-right: 3rem;
}

.logo-crawl .logo-track img {
display: block !important;
height: 44px;
width: auto !important;
max-width: none !important;
object-fit: contain;
filter: grayscale(1);
opacity: 0.9;
transition: opacity .2s ease, filter .2s ease, transform .2s ease;
}
.logo-crawl .logo-track img:hover {
filter: none;
opacity: 1;
transform: scale(1.03);
}

/* forward motion: left→right seamless loop */
@keyframes logo-scroll {
from { transform: translateX(-50%); }
to { transform: translateX(0); }
}

@media (max-width: 767px) {
.logo-crawl .logo-track img { height: 32px; }
.logo-crawl .logo-group > * { margin-right: 1.5rem; }
.logo-crawl .logo-group > *:last-child { margin-right: 1.5rem; }
}

.logo-crawl .logo-track br { display: none !important; }

/* === Services accordion (right column) === */
.svc-accordion { border-top: 1px solid rgba(255,255,255,.18); }
.svc { border-bottom: 1px solid rgba(255,255,255,.18); }
.svc summary { display: flex; align-items: center; gap: 16px; padding: 18px 0; cursor: pointer; list-style: none; outline: 0; }
.svc summary::-webkit-details-marker { display: none; }
.svc .num { font-weight: 800; color: #8224e3; letter-spacing: .05em; min-width: 2.8ch; text-align: right; font-variant-numeric: tabular-nums; }
.svc .title { flex: 1; font-weight: 800; line-height: 1.1; font-size: clamp(20px,2.2vw,28px); letter-spacing: .3px; color: #fff; }
.svc .chev { width: 20px; height: 20px; position: relative; }
.svc .chev::before { content: "+"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 22px; line-height: 1; transform: translateY(-1px); transition: transform .2s ease; }
.svc[open] .chev::before { content: "–"; transform: translateY(-1px); }
.svc .panel { padding: 0 0 18px calc(2.8ch + 16px + 6px); max-width: 62ch; color: #d3d3d3; font-size: clamp(14px,1.2vw,16px); line-height: 1.6; }
.svc .panel p { margin: 0; }
.svc summary:focus-visible { outline: 2px solid #ff5a1f; outline-offset: 4px; border-radius: 4px; }
@media (max-width: 991px){
.svc .panel { padding-left: calc(2.8ch + 12px); }
}

/* === Contained row helper (add class "row-contained" to the Our Services row) === */
.row-contained.vc_row,
.row-contained.vc_row-fluid {
max-width: 1200px;
margin-left: auto !important;
margin-right: auto !important;
padding-left: clamp(16px, 3vw, 40px);
padding-right: clamp(16px, 3vw, 40px);
box-sizing: border-box;
}

/* Neutralize WPBakery full-width JS on this row */
.row-contained.vc_row[data-vc-full-width="true"],
.row-contained.vc_row[data-vc-stretch-content="true"] {
position: relative !important;
left: auto !important;
right: auto !important;
width: 100% !important;
max-width: 1200px !important;
transform: none !important;
margin-left: auto !important;
margin-right: auto !important;
padding-left: clamp(16px, 3vw, 40px) !important;
padding-right: clamp(16px, 3vw, 40px) !important;
box-sizing: border-box !important;
}

/* Keep columns clean inside the contained row */
.row-contained .vc_column_container,
.row-contained .vc_column-inner {
max-width: 100%;
margin-left: 0;
margin-right: 0;
box-sizing: border-box;
}

/* Keep the 6 dropdowns (accordion) nicely sized on the right */
.row-contained .svc-accordion {
max-width: 720px;
margin-left: auto;
}

@media (max-width: 991px){
.row-contained,
.row-contained.vc_row[data-vc-full-width="true"],
.row-contained.vc_row[data-vc-stretch-content="true"] {
max-width: 100% !important;
padding-left: 16px !important;
padding-right: 16px !important;
}
.row-contained .svc-accordion {
max-width: 100%;
margin-left: 0;
}
}

/* === Extra-large, cinematic numbers and titles === */
.svc .num {
  font-size: 3.2rem;         /* big, commanding numbers */
  font-weight: 900;
  min-width: 5ch;            /* keeps consistent spacing */
  color: #8224e3;
  letter-spacing: 0.1em;
  line-height: 1;
}

.svc .title {
  font-size: clamp(34px, 3.6vw, 52px); /* large, adaptive titles */
  font-weight: 900;
  letter-spacing: 0.6px;
  color: #ffffff;
  text-transform: uppercase;
  line-height: 1.1;
}

/* Optional: accent open section */
.svc[open] .title {
  color: #8224e3;
  transition: color 0.2s ease;
}

/* Keep things balanced on tablets/mobiles */
@media (max-width: 991px) {
  .svc .num {
    font-size: 2.2rem;
    min-width: 4ch;
  }
  .svc .title {
    font-size: clamp(24px, 5vw, 34px);
  }
}

/* Smooth accordion open/close animation */
.svc .panel {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition:
    max-height 0.4s ease,
    opacity 0.35s ease;
}

/* When open, animate expansion */
.svc[open] .panel {
  opacity: 1;
  max-height: 500px; /* must be larger than your tallest panel */
}

/* Optional: ease the + → – rotation for smoother feedback */
.svc .chev::before {
  transition: transform 0.3s ease, color 0.3s ease;
}
.svc[open] .chev::before {
  transform: rotate(180deg);
  color: #ff5a1f;
}

/* Make all Centered Headings white */
.nectar-animated-heading,
.wpb_heading,
.nectar-split-heading {
  color: #ffffff !important;
}
/* === MOBILE FIXES: HERO + SERVICES ACCORDION === */
@media (max-width: 991px) {

  /* ---- HERO HEADER ---- */
  /* Keeps your hero text centered and readable */
  .nectar-split-heading,
  .nectar-animated-heading,
  .hero-heading,
  h1, h2.hero-title {
    font-size: clamp(28px, 6vw, 38px) !important;
    line-height: 1.2 !important;
    text-align: center !important;
    padding: 0 16px !important;
    word-break: break-word !important;
  }

  /* Reduce gap between hero and next section */
  .hero-section,
  .wpb_row.hero-row {
    margin-bottom: 40px !important;
  }

  /* If you have subtext or tagline */
  .hero-subtext,
  .hero-tagline p {
    font-size: clamp(16px, 4vw, 20px) !important;
    text-align: center !important;
    padding: 0 20px !important;
    color: #d3d3d3 !important;
  }

  /* ---- OUR SERVICES + ACCORDION ---- */
  /* Stack columns cleanly */
  .row-contained .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin-bottom: 30px !important;
  }

  /* Center and resize the left text */
  .svc-intro h2 {
    font-size: clamp(28px, 5vw, 36px) !important;
    text-align: center !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }

  .svc-intro p {
    font-size: clamp(15px, 4vw, 18px) !important;
    text-align: center !important;
    max-width: 90%;
    margin: 0 auto 24px auto !important;
  }

  /* Accordion resizing */
  .svc .num {
    font-size: 2rem !important;
    min-width: 3ch !important;
  }

  .svc .title {
    font-size: clamp(20px, 5vw, 26px) !important;
    line-height: 1.3 !important;
  }

  .svc .panel {
    font-size: clamp(14px, 4vw, 17px) !important;
    padding-left: calc(2ch + 12px) !important;
  }

  /* Reduce spacing between accordion items */
  .svc summary {
    padding: 14px 0 !important;
  }

  /* Avoid side overflow */
  .svc-accordion {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
/* === DESKTOP LAYOUT TUNE (≥ 992px) === */
@media (min-width: 992px) {

  /* Contained rows: add comfy gutters on desktop */
  .row-contained.vc_row,
  .row-contained.vc_row-fluid {
    max-width: 1200px;
    padding-left: 40px;
    padding-right: 40px;
  }

  /* Give the two columns some breathing room (left/right gutters) */
  .row-contained .vc_row-inner > .wpb_column > .vc_column_container:first-child,
  .row-contained > .wpb_column > .vc_column_container:first-child {
    padding-right: 32px;
  }
  .row-contained .vc_row-inner > .wpb_column > .vc_column_container:last-child,
  .row-contained > .wpb_column > .vc_column_container:last-child {
    padding-left: 32px;
  }

  /* Our Services heading & paragraph (left column) – upscale for desktop */
  .svc-intro h2 {
    font-size: clamp(40px, 3.6vw, 56px);
    line-height: 1.15;
    text-align: left;
    margin-bottom: 14px;
  }
  .svc-intro p {
    font-size: clamp(16px, 1.1vw, 20px);
    line-height: 1.65;
    max-width: 62ch;
    text-align: left;
    margin: 0;
  }

  /* Accordion column width/align */
  .row-contained .svc-accordion {
    max-width: 720px;
    margin-left: auto; /* keeps it hugging the right column edge */
  }

  /* Hero header (desktop scale/spacing) */
  .nectar-split-heading,
  .nectar-animated-heading,
  .hero-heading,
  h1, h2.hero-title {
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1.1;
    text-align: center; /* or left if your hero is left-aligned */
    margin-bottom: 32px;
  }
}
/* === DESKTOP CENTERED + WIDER SERVICES ROW (≥992px, corrected) === */
@media (min-width: 992px) {

  /* Centered, wide container */
  #services-row.vc_row,
  #services-row.vc_row-fluid {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;         /* stop forcing position */
    max-width: 1400px !important;       /* wide desktop layout */
    width: 100% !important;
    margin-left: auto !important;       /* auto margins keep it centered */
    margin-right: auto !important;
    padding-left: 60px !important;      /* side gutters */
    padding-right: 60px !important;
    box-sizing: border-box !important;
  }

  /* Even column padding for breathing room */
  #services-row > .wpb_column:first-child > .vc_column_container > .vc_column-inner {
    padding-right: 60px !important;
    box-sizing: border-box !important;
  }
  #services-row > .wpb_column:last-child > .vc_column_container > .vc_column-inner {
    padding-left: 60px !important;
    box-sizing: border-box !important;
  }

  /* Vertical spacing */
  #services-row {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* Accordion width balance */
  #services-row .svc-accordion {
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
.fluentform .ff-btn {
  background-color: #8224e3 !important;
  color: #ffffff !important;
}
.fluentform select {
  background-color: #000000 !important;
  color: #ffffff !important;
}