.elementor-kit-9{--e-global-color-primary:#0A0912;--e-global-color-secondary:#F7F8FC;--e-global-color-text:#FF1A9D;--e-global-color-accent:#00FFBB;--e-global-color-7a27ba1:#121020;--e-global-color-ce6a133:#781AFF;--e-global-color-9b96672:#DEFF1A;--e-global-color-f1e829d:#1D1D1B;--e-global-color-dabdd82:#2C0E71;--e-global-typography-primary-font-family:"Anton";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:0.86em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-letter-spacing:1px;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Barlow";--e-global-typography-accent-font-weight:700;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --39F5C5:#39F5C5; }
/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow+Condensed:wght@600;700&family=Barlow:wght@400;500;600;700&display=swap');

/* Reference only — every rule below uses literal hex, on purpose:
   a CSS minifier that drops or reorders this block would otherwise
   make var() fail, and an element with an invalid background paints
   nothing (that is the 'fully black eyebrow' symptom). */
:root {
  --lq-ink: #0A0912;      /* page background */
  --lq-panel: #121020;    /* cards */
  --lq-char: #1D1D1B;     /* borders, footer */
  --lq-pink: #FF1A9D;
  --lq-mint: #00FFBB;
  --lq-lime: #DEFF1A;
  --lq-violet: #781AFF;
  --lq-grape: #2C0E71;
  --lq-paper: #E4E4E4;
}

/* --- 1. TYPE + BASE ---------------------------------------- */

body {
  background-color: #0A0912;
  color: #E4E4E4;
  font-family: Barlow, Helvetica, Arial, sans-serif;
}

/* Literal hex, not var(), and !important throughout.
   Reason: Elementor writes Style-tab values as
   .elementor-123 .elementor-element-abc .elementor-heading-title
   (three classes) and scopes desktop values into their own rule.
   Plain class rules lose that fight at full width only, which is why
   a heading looks right in the editor and wrong on the live site.
   !important removes the whole problem. */

h1, h2, h3, h4, .lq-display,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title {
  font-family: Anton, Impact, 'Arial Black', sans-serif !important;
  text-transform: uppercase !important;
  line-height: .95 !important;
  letter-spacing: -.015em !important;
  font-weight: 400 !important;
  color: #fff !important;
}

/* clamp() = auto-responsive DEFAULTS. Deliberately NOT !important:
   size is the one thing you need to tune per element, so anything you
   set in a widget's Style tab > Typography > Size wins over these. */
h1, .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(42px, 7.5vw, 116px); }
h2, .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(32px, 4.8vw, 68px); }
h3, .elementor-widget-heading h3.elementor-heading-title { font-size: clamp(24px, 2.6vw, 34px); }
h4, .elementor-widget-heading h4.elementor-heading-title { font-size: clamp(20px, 1.8vw, 26px); }
p  { font-size: clamp(16px, 1.2vw, 19px); }

/* Per-headline overrides. The tag-qualified .elementor-kit-9s are required:
   the base block above is (0,2,1) and also !important, so a plain
   .lq-tight .elementor-heading-title at (0,2,0) would silently lose. */

.lq-tight .elementor-heading-title,
.lq-tight div.elementor-heading-title,
.lq-tight h1.elementor-heading-title,
.lq-tight h2.elementor-heading-title,
.lq-tight h3.elementor-heading-title,
.lq-tight h4.elementor-heading-title { line-height: .88 !important; }

.lq-airy .elementor-heading-title,
.lq-airy div.elementor-heading-title,
.lq-airy h1.elementor-heading-title,
.lq-airy h2.elementor-heading-title,
.lq-airy h3.elementor-heading-title,
.lq-airy h4.elementor-heading-title { line-height: 1.1 !important; }

.lq-track-0 .elementor-heading-title,
.lq-track-0 div.elementor-heading-title,
.lq-track-0 h1.elementor-heading-title,
.lq-track-0 h2.elementor-heading-title,
.lq-track-0 h3.elementor-heading-title,
.lq-track-0 h4.elementor-heading-title { letter-spacing: 0 !important; }

.lq-track-tight .elementor-heading-title,
.lq-track-tight div.elementor-heading-title,
.lq-track-tight h1.elementor-heading-title,
.lq-track-tight h2.elementor-heading-title,
.lq-track-tight h3.elementor-heading-title,
.lq-track-tight h4.elementor-heading-title { letter-spacing: -.035em !important; }

.lq-track-wide .elementor-heading-title,
.lq-track-wide div.elementor-heading-title,
.lq-track-wide h1.elementor-heading-title,
.lq-track-wide h2.elementor-heading-title,
.lq-track-wide h3.elementor-heading-title,
.lq-track-wide h4.elementor-heading-title { letter-spacing: .04em !important; }

/* --- 2b. SMALL CHEVRON CTA LINK ---------------------------- */
/* The 'Enquire now >>' style links inside cards. Anton, but small.
   Class: lq-cta   (on a Heading widget, tag = div, wrapped in a link) */

.lq-cta .elementor-heading-title,
.lq-cta div.elementor-heading-title,
.lq-cta h1.elementor-heading-title,
.lq-cta h2.elementor-heading-title,
.lq-cta h3.elementor-heading-title,
.lq-cta h4.elementor-heading-title,
.lq-cta a {
  font-family: Anton, Impact, sans-serif !important;
  text-transform: uppercase !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
  color: #00FFBB !important;
  margin: 0 !important;
}

.lq-cta a:hover { color: #DEFF1A !important; }

/* --- 2. BUTTONS -------------------------------------------- */
/* Box leans -9deg, label leans back +9deg so text stays upright. */

.lq-btn .elementor-button,
.lq-btn-ghost .elementor-button {
  font-family: Anton, Impact, 'Arial Black', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  font-size: clamp(18px, 2vw, 25px) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  transform: skewX(-9deg);
  transition: transform .12s ease, box-shadow .12s ease,
              background-color .12s ease, border-color .12s ease;
}

/* counter-skew the LABEL ONLY — never the wrapper too, that doubles it */
.lq-btn .elementor-button-text,
.lq-btn-ghost .elementor-button-text {
  display: block;
  transform: skewX(9deg);
}

.lq-btn .elementor-button {
  background-color: #00FFBB !important;
  background-image: none !important;
  color: #0A0912 !important;
  border: 0 !important;
  padding: 16px 38px !important;
  box-shadow: 7px 7px 0 #FF1A9D !important;
}

.lq-btn .elementor-button:hover,
.lq-btn .elementor-button:focus {
  background-color: #DEFF1A !important;
  color: #0A0912 !important;
  box-shadow: 4px 4px 0 #781AFF !important;
  transform: skewX(-9deg) translate(3px, 3px);
}

.lq-btn-ghost .elementor-button {
  background-color: transparent !important;
  background-image: none !important;
  color: #fff !important;
  border: 3px solid #fff !important;
  padding: 13px 35px !important;
  box-shadow: none !important;
}

.lq-btn-ghost .elementor-button:hover,
.lq-btn-ghost .elementor-button:focus {
  background-color: transparent !important;
  border-color: #DEFF1A !important;
  color: #DEFF1A !important;
}

@media (max-width: 767px) {
  .lq-btn .elementor-button,
  .lq-btn-ghost .elementor-button { width: 100%; justify-content: center; }
}

/* --- 3. EYEBROW PLATE -------------------------------------- */
/* Small skewed colour tab above a headline.
   Works on a Heading widget (any tag) or a Text Editor.
   CSS Classes field: lq-eyebrow   <-- NO leading dot */

.lq-eyebrow .elementor-heading-title,
.lq-eyebrow .elementor-widget-container > p,
.lq-eyebrow h1, .lq-eyebrow h2, .lq-eyebrow h3,
.lq-eyebrow h4, .lq-eyebrow h5, .lq-eyebrow h6,
.lq-eyebrow div.elementor-heading-title {
  display: inline-block !important;
  background-color: #FF1A9D !important;
  background-image: none !important;
  color: #fff !important;
  font-family: 'Barlow Condensed', Barlow, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .2em !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  padding: 5px 15px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transform: skewX(-9deg);
}

/* keep the plate hugging its text rather than filling the row */
.lq-eyebrow .elementor-widget-container { display: flex; }

/* Variants must out-specify the base block above, which includes a
   div.elementor-heading-title .elementor-kit-9 (0,2,1). Matching that with
   div. here keeps the colour swap working — without it the base's
   white text wins and a mint plate keeps white text. */

.lq-eyebrow--mint .elementor-heading-title,
.lq-eyebrow--mint div.elementor-heading-title,
.lq-eyebrow--mint h1.elementor-heading-title,
.lq-eyebrow--mint h2.elementor-heading-title,
.lq-eyebrow--mint h3.elementor-heading-title,
.lq-eyebrow--mint h4.elementor-heading-title,
.lq-eyebrow--mint h5.elementor-heading-title,
.lq-eyebrow--mint h6.elementor-heading-title,
.lq-eyebrow--mint h1, .lq-eyebrow--mint h2, .lq-eyebrow--mint h3,
.lq-eyebrow--mint h4, .lq-eyebrow--mint h5, .lq-eyebrow--mint h6 {
  background-color: #00FFBB !important;
  color: #0A0912 !important;
}

.lq-eyebrow--lime .elementor-heading-title,
.lq-eyebrow--lime div.elementor-heading-title,
.lq-eyebrow--lime h1.elementor-heading-title,
.lq-eyebrow--lime h2.elementor-heading-title,
.lq-eyebrow--lime h3.elementor-heading-title,
.lq-eyebrow--lime h4.elementor-heading-title,
.lq-eyebrow--lime h5.elementor-heading-title,
.lq-eyebrow--lime h6.elementor-heading-title,
.lq-eyebrow--lime h1, .lq-eyebrow--lime h2, .lq-eyebrow--lime h3,
.lq-eyebrow--lime h4, .lq-eyebrow--lime h5, .lq-eyebrow--lime h6 {
  background-color: #DEFF1A !important;
  color: #0A0912 !important;
}

/* --- 4. BLACK TEXT PLATE (offer bar) ----------------------- */

.lq-plate .elementor-heading-title {
  display: inline-block !important;
  background-color: #0A0912 !important;
  color: #fff !important;
  padding: 7px 30px !important;
  margin: 0 !important;
  transform: skewX(-9deg);
  font-family: Anton, Impact, sans-serif !important;
  text-transform: uppercase !important;
  font-size: clamp(20px, 3.4vw, 34px) !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

/* Variant must match the base block's !important, or the base wins:
   an important declaration always beats a non-important one. */
.lq-plate--sub .elementor-heading-title {
  font-family: Barlow, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  text-transform: none !important;
  font-size: clamp(13px, 1.6vw, 17px) !important;
  line-height: 1.4 !important;
  padding: 6px 26px !important;
}

/* --- 5. CHEVRON BANDS ------------------------------------- */
/* Pattern is an inline SVG — nothing to upload. */

.lq-chevron-band {
  min-height: 26px !important;
  background-color: #0A0912 !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%3E%3Cg%20fill='none'%20stroke-width='23'%20stroke-linecap='square'%3E%3Cpath%20d='M-32%20-32%20L0%200%20L-32%2032%20L0%2064%20L-32%2096'%20stroke='%2300FFBB'/%3E%3Cpath%20d='M0%20-32%20L32%200%20L0%2032%20L32%2064%20L0%2096'%20stroke='%23FF1A9D'/%3E%3Cpath%20d='M32%20-32%20L64%200%20L32%2032%20L64%2064%20L32%2096'%20stroke='%2300FFBB'/%3E%3Cpath%20d='M64%20-32%20L96%200%20L64%2032%20L96%2064%20L64%2096'%20stroke='%23FF1A9D'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 26px 26px;
  background-repeat: repeat;
}

.lq-chevron-band--purple {
  background-color: #2C0E71 !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%3E%3Cg%20fill='none'%20stroke-width='23'%20stroke-linecap='square'%3E%3Cpath%20d='M-32%20-32%20L0%200%20L-32%2032%20L0%2064%20L-32%2096'%20stroke='%23781AFF'/%3E%3Cpath%20d='M0%20-32%20L32%200%20L0%2032%20L32%2064%20L0%2096'%20stroke='%232C0E71'/%3E%3Cpath%20d='M32%20-32%20L64%200%20L32%2032%20L64%2064%20L32%2096'%20stroke='%23781AFF'/%3E%3Cpath%20d='M64%20-32%20L96%200%20L64%2032%20L96%2064%20L64%2096'%20stroke='%232C0E71'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 80px 80px;
}

@keyframes lq-slide { to { background-position: 52px 0; } }
.lq-chevron-band--slide { animation: lq-slide 3s linear infinite; }

@media (prefers-reduced-motion: reduce) {
  .lq-chevron-band--slide { animation: none; }
}

/* --- 6. CARDS + ANGLED EDGES ------------------------------ */

.lq-card {
  background-color: #121020 !important;
  background-image: none !important;
  border: 3px solid #1D1D1B !important;
  border-radius: 0 !important;
  transition: border-color .15s ease, transform .15s ease;
}
.lq-card:hover { border-color: #00FFBB !important; transform: translateY(-4px); }

.lq-card--pink:hover { border-color: #FF1A9D !important; }

/* Left colour rule instead of a full border (contact + FAQ blocks) */
.lq-rule {
  background-color: #121020 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.lq-rule--mint { border-left-color: #00FFBB !important; }
.lq-rule--lime { border-left-color: #DEFF1A !important; }

/* Diagonal bottom edge under the hero. 5vw = shallower on phones. */
.lq-cut-bottom { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%); }

/* --- 6b. ANGLED IMAGE MASK -------------------------------- */
/* Class: lq-clip   on the IMAGE widget (Advanced > CSS Classes).
   Lives here rather than in per-widget Custom CSS on purpose: widget
   Custom CSS is Pro-only and is written into a generated front-end
   file, so a stale file means it shows in the editor and vanishes on
   the live page. This stylesheet always ships.
   Targets the widget, container, lightbox <a>, <figure> and <img>
   because Elementor wraps images for the lightbox and lazy-load
   plugins swap the img node after paint. */

.lq-clip,
.lq-clip .elementor-widget-container,
.lq-clip a,
.lq-clip figure,
.lq-clip img {
  -webkit-clip-path: polygon(8% 4%, 100% 12%, 92% 96%, 17% 88%);
          clip-path: polygon(8% 4%, 100% 12%, 92% 96%, 17% 88%);
  border-radius: 0 !important;
  overflow: visible !important;
}

.lq-clip img {
  display: block !important;
  max-width: none !important;
}

/* mirror-image lean, for an image on the other side of a row */
.lq-clip--flip,
.lq-clip--flip .elementor-widget-container,
.lq-clip--flip a,
.lq-clip--flip figure,
.lq-clip--flip img {
  -webkit-clip-path: polygon(0 12%, 92% 4%, 83% 88%, 8% 96%);
          clip-path: polygon(0 12%, 92% 4%, 83% 88%, 8% 96%);
}

/* shallow slant only */
.lq-clip--slant,
.lq-clip--slant .elementor-widget-container,
.lq-clip--slant a,
.lq-clip--slant figure,
.lq-clip--slant img {
  -webkit-clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
          clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
}

/* Gentler lean on phones so faces do not get clipped.
   Each variant needs its own entry in here: these .elementor-kit-9s match the
   variant blocks' specificity exactly, so whichever comes LAST wins —
   without these, plain .lq-clip would clobber --flip and --slant. */
@media (max-width: 767px) {
  .lq-clip,
  .lq-clip .elementor-widget-container,
  .lq-clip a,
  .lq-clip figure,
  .lq-clip img {
    -webkit-clip-path: polygon(4% 2%, 100% 6%, 96% 98%, 8% 94%);
            clip-path: polygon(4% 2%, 100% 6%, 96% 98%, 8% 94%);
  }

  .lq-clip--flip,
  .lq-clip--flip .elementor-widget-container,
  .lq-clip--flip a,
  .lq-clip--flip figure,
  .lq-clip--flip img {
    -webkit-clip-path: polygon(0 6%, 96% 2%, 92% 94%, 4% 98%);
            clip-path: polygon(0 6%, 96% 2%, 92% 94%, 4% 98%);
  }

  .lq-clip--slant,
  .lq-clip--slant .elementor-widget-container,
  .lq-clip--slant a,
  .lq-clip--slant figure,
  .lq-clip--slant img {
    -webkit-clip-path: polygon(0 0, 100% 2%, 100% 100%, 0 98%);
            clip-path: polygon(0 0, 100% 2%, 100% 100%, 0 98%);
  }
}

/* Big hollow step numerals */
.lq-outline-num .elementor-heading-title,
.lq-outline-num h1, .lq-outline-num h2, .lq-outline-num h3,
.lq-outline-num h4, .lq-outline-num h5, .lq-outline-num h6 {
  font-family: Anton, Impact, sans-serif !important;
  font-size: clamp(52px, 6vw, 78px) !important;
  line-height: .8 !important;
  letter-spacing: 0 !important;
  color: transparent !important;
  -webkit-text-stroke: 2px rgba(255,255,255,.55);
  margin: 0 !important;
}

/* --- 7. MARQUEE TICKER ------------------------------------ */
/* Container = .lq-marquee, one Text Editor inside = .lq-marquee__track. */
/* Duplicate the list of words TWICE inside it so the loop is seamless. */

.lq-marquee {
  overflow: hidden !important;
  background-color: #FF1A9D !important;
  border-top: 3px solid #0A0912 !important;
  border-bottom: 3px solid #0A0912 !important;
  border-radius: 0 !important;
  padding: 11px 0 !important;
}

.lq-marquee__track p {
  display: flex;
  gap: 30px;
  width: max-content;
  margin: 0 !important;
  animation: lq-marquee 24s linear infinite;
  font-family: Anton, Impact, sans-serif !important;
  text-transform: uppercase !important;
  font-size: 21px !important;
  letter-spacing: .04em !important;
  color: #0A0912 !important;
  white-space: nowrap;
}

@keyframes lq-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
  .lq-marquee__track p { animation: none; }
}

/* --- 8. HEADER (a normal flex Container) ------------------ */
/* No Theme Builder needed. Add .lq-header to your flex Container. */

.lq-header {
  background-color: #0A0912 !important;
  background-image: none !important;
  border-bottom: 3px solid #FF1A9D !important;
  box-shadow: none !important;
}

.lq-header .elementor-nav-menu a,
.lq-header .lq-navlink a {
  font-family: 'Barlow Condensed', Barlow, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  font-size: 17px !important;
  color: #E4E4E4 !important;
  border-bottom: 3px solid transparent;
  padding: 10px 2px;
  transition: color .12s ease, border-color .12s ease;
}

.lq-header .elementor-nav-menu a:hover,
.lq-header .lq-navlink a:hover { color: #DEFF1A !important; }

.lq-header .elementor-nav-menu .current-menu-item a {
  color: #00FFBB !important;
  border-bottom-color: #00FFBB !important;
}

.lq-header .elementor-menu-toggle {
  background-color: #FF1A9D !important;
  color: #fff !important;
  border-radius: 0 !important;
  width: 46px;
  height: 46px;
}

/* Logo lock-up: white version of the logo on dark */
.lq-logo img { filter: invert(1); height: 48px; width: auto; }

/* If your header is the THEME's header (not an Elementor container)
   there is no CSS Classes field to type .lq-header into. These rules
   target the theme header directly, so no class is needed.
   Safe to keep even if you do use .lq-header. */

header.site-header,
#masthead,
.site-header,
.ast-main-header-wrap,
header#site-header {
  background-color: #0A0912 !important;
  background-image: none !important;
  border-bottom: 3px solid #FF1A9D !important;
  box-shadow: none !important;
}

header.site-header .menu-item a,
#masthead .menu-item a,
.site-header .menu-item a {
  font-family: 'Barlow Condensed', Barlow, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  font-size: 17px !important;
  color: #E4E4E4 !important;
}

header.site-header .menu-item a:hover,
#masthead .menu-item a:hover,
.site-header .menu-item a:hover { color: #DEFF1A !important; }

header.site-header .current-menu-item a,
#masthead .current-menu-item a,
.site-header .current-menu-item a { color: #00FFBB !important; }

/* --- 9. TABLE, ACCORDION, FORM, MAP ----------------------- */

.lq-table { overflow-x: auto; border: 3px solid #1D1D1B !important; border-radius: 0 !important; }
.lq-table table { width: 100%; min-width: 700px; border-collapse: collapse; background-color: #121020 !important; }
.lq-table th {
  text-align: left;
  padding: 16px 20px !important;
  background-color: #0A0912 !important;
  font-family: Anton, Impact, sans-serif !important;
  text-transform: uppercase !important;
  font-size: 20px !important;
  letter-spacing: 0 !important;
  color: #fff !important;
}
.lq-table td {
  padding: 15px 20px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(228,228,228,.78) !important;
}
.lq-table tr td:first-child {
  font-family: 'Barlow Condensed', Barlow, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: #fff !important;
}

.lq-accordion .elementor-accordion-item {
  background-color: #121020 !important;
  border: 0 !important;
  border-left: 5px solid #FF1A9D !important;
  border-radius: 0 !important;
  margin-bottom: 8px !important;
}
.lq-accordion .elementor-tab-title {
  font-family: Anton, Impact, sans-serif !important;
  text-transform: uppercase !important;
  font-size: 21px !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  padding: 18px 22px !important;
}
.lq-accordion .elementor-accordion-icon { color: #00FFBB !important; }
.lq-accordion .elementor-tab-content {
  background-color: transparent !important;
  border: 0 !important;
  padding: 0 22px 22px !important;
  color: rgba(228,228,228,.74) !important;
}

.lq-form input:not([type=submit]),
.lq-form textarea,
.lq-form select {
  background-color: #121020 !important;
  border: 2px solid rgba(255,255,255,.16) !important;
  border-radius: 0 !important;
  color: #fff !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
}
.lq-form input::placeholder, .lq-form textarea::placeholder { color: rgba(228,228,228,.45); }

/* Dark-mode Google map */
.lq-map iframe { filter: grayscale(.35) invert(.9) hue-rotate(180deg); }

/* --- 10. SECTION PADDING HELPER --------------------------- */
/* Optional: put .lq-section on a Container instead of typing padding. */

.lq-section { padding: clamp(40px, 7vw, 96px) clamp(16px, 4vw, 44px); }

.lq-header-bar,
.elementor-element.lq-header-bar,
.elementor-element.lq-header-bar.e-con,
.elementor-element.lq-header-bar.e-flex {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 14px clamp(16px, 3vw, 48px) !important;
  background-color: #0A0912 !important;
  border-bottom: 3px solid #FF1A9D !important;
}

.lq-header-bar > .elementor-element,
.lq-header-bar > div {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  align-self: center !important;
}

.lq-header-bar .elementor-widget-image { flex: 0 0 auto !important; }
.lq-header-bar .elementor-widget-image img {
  width: auto !important;
  max-width: 110px !important;
  height: auto !important;
  margin: 0 !important;
}

.lq-header-bar .elementor-widget-nav-menu {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.lq-header-bar .elementor-nav-menu--main {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lq-header-bar .elementor-nav-menu--main li {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.lq-header-bar .elementor-widget-button .elementor-button {
  white-space: nowrap !important;
}

/* hide the desktop burger */
.lq-header-bar .elementor-menu-toggle { display: none !important; }

@media (max-width: 767px) {
  .lq-header-bar {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 12px 16px !important;
  }
  .lq-header-bar .elementor-widget-nav-menu { flex: 0 0 100% !important; justify-content: center !important; }
  .lq-header-bar .elementor-menu-toggle { display: flex !important; }
}

.lq-chevron-bg {
  background-color: #2C0E71 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='none' stroke-width='23' stroke-linecap='square'%3E%3Cpath d='M-32 -32 L0 0 L-32 32 L0 64 L-32 96' stroke='%23781AFF'/%3E%3Cpath d='M32 -32 L64 0 L32 32 L64 64 L32 96' stroke='%23781AFF'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-size: 80px 80px !important;
  background-repeat: repeat !important;
}

@media (max-width: 767px) {
  .lq-chevron-bg { background-size: 48px 48px !important; }
}

.lq-hero-block {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  gap: 12px !important;
  align-items: flex-start !important;
}

.lq-hero-block > .elementor-element,
.lq-hero-block .elementor-widget {
  margin: 0 !important;
  min-height: 0 !important;
  align-self: flex-start !important;
}

.lq-hero-block p,
.lq-hero-block .elementor-widget-text-editor p {
  margin: 0 !important;
}

.elementor-off-canvas,
.e-off-canvas,
[class*="off-canvas"] {
  z-index: 999999 !important;
}

/* never let a stale lock survive */
body { overflow-x: hidden !important; }/* End custom CSS */