/* Lumex Global Publications: layout repairs, loaded last on every public page.
   The pages are static snapshots; their generated CSS collapses several layouts
   once the original runtime is gone. !important is needed to beat the inline
   rules in each page. */

:root { --lumex-gutter: clamp(16px, 4vw, 48px); }
html, body { max-width: 100%; overflow-x: clip; }
html { scroll-behavior: auto !important; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-stopped { overflow: clip; }
#lumex-progress-bar { width: 100% !important; transform: scaleX(0); transform-origin: 0 50%; transition: none !important; }

/* Hidden only once the boot script confirms animation will run (see repair-site.js). */
.lx-anim [data-reveal] { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .framer-1abbo6c, .lumex-hero-subtitle-container, .framer-1np505i { animation: none !important; opacity: 1 !important; }
  #lumex-progress-bar { display: none !important; }
}

/* ---------- Shared header ---------- */
.lx-header { position: sticky; top: 0; z-index: 9999; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid transparent; font-family: "Urbanist", "Urbanist Placeholder", system-ui, sans-serif; transition: box-shadow .3s ease, border-color .3s ease; }
.lx-header.lx-scrolled { border-color: rgba(6, 31, 21, .08); box-shadow: 0 6px 24px rgba(6, 31, 21, .07); }
.lx-header-inner { display: flex; align-items: center; gap: 24px; max-width: 1440px; margin-inline: auto; padding: 10px var(--lumex-gutter); box-sizing: border-box; }
.lx-logo { display: block; flex: none; line-height: 0; }
.lx-logo img { height: 60px !important; width: auto !important; max-height: none !important; object-fit: contain; transition: height .3s ease; }
.lx-header.lx-scrolled .lx-logo img { height: 50px !important; }
.lx-nav { display: flex; align-items: center; justify-content: center; gap: 32px; flex: 1 1 auto; }
.lx-nav a { position: relative; color: #061F15; font-size: 16px; font-weight: 600; text-decoration: none; padding: 6px 0; transition: color .2s ease; }
.lx-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: #D5A344; transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.lx-nav a:hover, .lx-nav a.is-active { color: #B4842B; }
.lx-nav a:hover::after, .lx-nav a.is-active::after { transform: scaleX(1); }
.lx-nav a:focus-visible, .lx-menu-toggle:focus-visible, .lx-btn:focus-visible, .lx-footer a:focus-visible { outline: 2px solid #D5A344; outline-offset: 3px; border-radius: 4px; }
.lx-nav-contact { display: none !important; }
.lx-menu-toggle { display: none; flex: none; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 44px; height: 44px; margin-left: auto; padding: 0; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.lx-menu-toggle span { display: block; width: 22px; height: 2px; background: #061F15; border-radius: 2px; transition: transform .3s cubic-bezier(.16, 1, .3, 1), opacity .2s ease; }
.lx-nav-open .lx-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lx-nav-open .lx-menu-toggle span:nth-child(2) { opacity: 0; }
.lx-nav-open .lx-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.lx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex: none; padding: 13px 24px; border-radius: 999px; background: #D5A344; color: #061F15; font-family: "Urbanist", "Urbanist Placeholder", system-ui, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.2; text-decoration: none; transition: background-color .25s ease, box-shadow .25s ease; }
.lx-btn svg { transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.lx-btn:hover { background: #E2B35B; box-shadow: 0 10px 28px rgba(213, 163, 68, .35); }
.lx-btn:hover svg { transform: translate(3px, -3px); }
.lx-btn-light { background: #fff; }
.lx-btn-light:hover { background: #fff; box-shadow: 0 10px 28px rgba(6, 31, 21, .2); }
.lx-badge { display: inline-block; padding: 6px 14px; border-radius: 999px; background: rgba(213, 163, 68, .16); border: 1px solid rgba(213, 163, 68, .45); color: #E2B35B; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Process section ---------- */
.lx-process { width: 100%; box-sizing: border-box; background: radial-gradient(1000px 500px at 85% -10%, rgba(213, 163, 68, .16), transparent 70%), #061F15; color: #fff; font-family: "Urbanist", "Urbanist Placeholder", system-ui, sans-serif; }
.lx-process-inner { max-width: 1440px; margin-inline: auto; padding: clamp(64px, 8vw, 112px) var(--lumex-gutter); box-sizing: border-box; }
.lx-process-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 28px 48px; margin-bottom: clamp(40px, 5vw, 64px); }
.lx-process-head > div { flex: 1 1 520px; min-width: 0; }
.lx-process-head h2 { margin: 18px 0 14px; color: #fff; font-size: clamp(30px, 4.2vw, 52px); font-weight: 500; line-height: 1.12; letter-spacing: -.02em; }
.lx-process-intro { margin: 0; max-width: 640px; color: rgba(255, 255, 255, .72); font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; }
.lx-steps-wrap { position: relative; }
.lx-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; position: relative; }
.lx-steps-line { position: absolute; top: 56px; left: 40px; right: 40px; height: 2px; background: rgba(255, 255, 255, .12); border-radius: 2px; overflow: hidden; }
.lx-steps-line span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #D5A344, #F0C475); transform-origin: left; }
.lx-step { position: relative; display: flex; flex-direction: column; padding: 28px 24px 32px; box-sizing: border-box; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); border-radius: 16px; transition: transform .4s cubic-bezier(.16, 1, .3, 1), background-color .3s ease, border-color .3s ease, box-shadow .4s ease; }
.lx-step:hover { transform: translateY(-6px); background: rgba(255, 255, 255, .07); border-color: rgba(213, 163, 68, .55); box-shadow: 0 22px 44px rgba(0, 0, 0, .3); }
.lx-step-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 44px; }
.lx-step-icon { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #0E3128; border: 1px solid rgba(213, 163, 68, .5); transition: background-color .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1); }
.lx-step-icon img { width: 28px; height: 28px; }
.lx-step:hover .lx-step-icon { background: #15402F; transform: scale(1.06); }
.lx-step-num { position: relative; z-index: 1; padding: 4px 10px; border-radius: 999px; background: #0E3128; color: #E2B35B; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lx-step h3 { margin: 0 0 10px; color: #fff; font-size: clamp(19px, 1.5vw, 22px); font-weight: 600; line-height: 1.25; }
.lx-step p { margin: 0; color: rgba(255, 255, 255, .7); font-size: 15.5px; line-height: 1.6; }

/* ---------- Contact page ---------- */
.lx-contact { width: 100%; font-family: "Urbanist", "Urbanist Placeholder", system-ui, sans-serif; background: #F6F7F6; color: #10261C; }
.lx-contact-hero { background: radial-gradient(900px 420px at 85% -10%, rgba(213, 163, 68, .18), transparent 70%), #061F15; color: #fff; }
.lx-contact-hero-inner { max-width: 1440px; margin-inline: auto; padding: clamp(48px, 7vw, 88px) var(--lumex-gutter) clamp(96px, 11vw, 140px); box-sizing: border-box; }
.lx-contact-hero h1 { margin: 18px 0 12px; max-width: 760px; color: #fff; font-size: clamp(32px, 5vw, 60px); font-weight: 500; line-height: 1.1; letter-spacing: -.02em; }
.lx-contact-hero p { margin: 0; max-width: 620px; color: rgba(255, 255, 255, .75); font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; }
.lx-contact-body { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: 24px; max-width: 1440px; margin: clamp(-96px, -7vw, -56px) auto 0; padding-inline: var(--lumex-gutter); box-sizing: border-box; }
.lx-contact-cards { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
.lx-contact-card { display: flex; align-items: flex-start; gap: 16px; padding: 20px; background: #fff; border: 1px solid #E5E9E6; border-radius: 16px; box-shadow: 0 6px 22px rgba(6, 31, 21, .06); transition: transform .35s cubic-bezier(.16, 1, .3, 1), border-color .25s ease, box-shadow .35s ease; }
.lx-contact-card:hover { transform: translateY(-3px); border-color: rgba(213, 163, 68, .6); box-shadow: 0 14px 32px rgba(6, 31, 21, .1); }
.lx-contact-ic { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 46px; height: 46px; border-radius: 12px; background: #FBF4E4; color: #80590F; }
.lx-contact-card > div { min-width: 0; }
.lx-contact-label { display: block; margin-bottom: 2px; color: #5C6C64; font-size: 13.5px; font-weight: 600; }
.lx-contact-card a { color: #10261C; font-size: 16.5px; font-weight: 600; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.lx-contact-card a:hover { color: #80590F; text-decoration: underline; }
.lx-form { display: flex; flex-direction: column; gap: 18px; padding: clamp(22px, 3vw, 36px); background: #fff; border: 1px solid #E5E9E6; border-radius: 20px; box-shadow: 0 16px 44px rgba(6, 31, 21, .1); }
.lx-form-head { display: flex; align-items: center; gap: 12px; }
.lx-form-ic { display: inline-flex; color: #80590F; }
.lx-form-head h2 { margin: 0; font-size: clamp(22px, 2vw, 27px); font-weight: 600; letter-spacing: -.01em; }
.lx-form-intro { margin: -8px 0 0; color: #5C6C64; font-size: 15.5px; }
.lx-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.lx-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; font-size: 15px; font-weight: 600; }
.lx-field b { color: #B42318; font-weight: 700; }
.lx-field input, .lx-field select, .lx-field textarea { width: 100%; padding: 12px 14px; box-sizing: border-box; background: #fff; border: 1px solid #D9DFDB; border-radius: 10px; color: #10261C; font: inherit; font-size: 16px; font-weight: 400; line-height: 1.5; transition: border-color .2s ease, box-shadow .2s ease; }
.lx-field textarea { min-height: 136px; resize: vertical; }
.lx-field input::placeholder, .lx-field textarea::placeholder { color: #6B7A72; }
.lx-field input:focus, .lx-field select:focus, .lx-field textarea:focus { border-color: #D5A344; outline: 0; box-shadow: 0 0 0 3px rgba(213, 163, 68, .22); }
.lx-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.lx-form-submit { width: 100%; padding-block: 15px; border: 0; border-radius: 12px; cursor: pointer; }
.lx-form-submit[disabled] { opacity: .65; cursor: progress; }
.lx-form-note { margin: 0; color: #5C6C64; font-size: 13.5px; line-height: 1.6; text-align: center; }
.lx-form-note a { color: #10261C; font-weight: 700; }
.lx-form .lumex-form-notice { margin-top: 0; }
.lx-map-wrap { position: relative; max-width: 1344px; margin: clamp(32px, 5vw, 56px) auto 0; }
.lx-map-wrap { width: calc(100% - 2 * var(--lumex-gutter)); }
.lx-map { width: 100%; height: clamp(320px, 42vw, 540px); overflow: hidden; background: #E5E9E6; border-radius: 20px; }
.lx-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.lx-map-card { position: absolute; left: 24px; bottom: 24px; width: min(400px, calc(100% - 48px)); padding: 24px; box-sizing: border-box; background: #061F15; border-radius: 16px; color: #fff; box-shadow: 0 16px 40px rgba(6, 31, 21, .3); }
.lx-map-card h2 { margin: 0 0 8px; color: #fff; font-size: 21px; font-weight: 600; line-height: 1.25; }
.lx-map-card p { margin: 0 0 16px; color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 1.55; }
@media (max-width: 1000px) {
  .lx-contact-body { grid-template-columns: minmax(0, 1fr); }
  .lx-contact-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); order: 2; }
  .lx-form { order: 1; }
}
@media (max-width: 640px) {
  .lx-form-row, .lx-contact-cards { grid-template-columns: minmax(0, 1fr); }
  .lx-contact-card { padding: 16px; gap: 12px; }
  .lx-contact-card a { font-size: 15px; }
  .lx-map { border-radius: 16px 16px 0 0; }
  .lx-map-card { position: static; width: 100%; border-radius: 0 0 16px 16px; box-shadow: none; }
}

/* ---------- Shared call to action and footer ---------- */
.lx-cta-wrap { background: #fff; padding: clamp(40px, 6vw, 80px) var(--lumex-gutter); box-sizing: border-box; }
.lx-cta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 28px; max-width: 1344px; margin-inline: auto; padding: clamp(32px, 5vw, 64px); box-sizing: border-box; background: #D5A344; border-radius: 20px; font-family: "Urbanist", "Urbanist Placeholder", system-ui, sans-serif; }
.lx-cta > div { flex: 1 1 420px; min-width: 0; }
.lx-cta .lx-badge { background: rgba(255, 255, 255, .22); border-color: rgba(255, 255, 255, .5); color: #fff; }
.lx-cta h2 { margin: 16px 0 0; max-width: 680px; color: #fff; font-size: clamp(28px, 4vw, 48px); font-weight: 500; line-height: 1.15; letter-spacing: -.02em; }
.lx-footer { background: #061F15; color: rgba(255, 255, 255, .72); font-family: "Urbanist", "Urbanist Placeholder", system-ui, sans-serif; font-size: 15.5px; line-height: 1.6; }
.lx-footer-inner { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, .8fr) minmax(0, 1.2fr) minmax(0, .7fr); gap: 40px; max-width: 1440px; margin-inline: auto; padding: clamp(48px, 6vw, 80px) var(--lumex-gutter) 40px; box-sizing: border-box; }
.lx-footer h3 { margin: 6px 0 16px; color: #fff; font-size: 18px; font-weight: 600; }
.lx-footer ul { margin: 0; padding: 0; list-style: none; }
.lx-footer li { margin-bottom: 10px; }
.lx-footer a { color: inherit; text-decoration: none; overflow-wrap: anywhere; transition: color .2s ease; }
.lx-footer a:hover { color: #E2B35B; }
.lx-footer-brand p { margin: 0 0 18px; max-width: 420px; }
.lx-footer-logo { display: inline-block; margin-bottom: 18px; padding: 8px 14px; background: #fff; border-radius: 10px; line-height: 0; }
.lx-footer-logo img { height: 56px !important; width: auto !important; max-height: none !important; }
.lx-footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 32px; max-width: 1440px; margin-inline: auto; padding: 22px var(--lumex-gutter) 26px; box-sizing: border-box; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14px; }
.lx-footer-bottom p { margin: 0; }
.lx-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.lx-footer-bottom li { margin: 0; }

@media (max-width: 1180px) {
  .lx-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lx-steps-line { display: none; }
  .lx-step-top { margin-bottom: 24px; }
  .lx-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .lx-menu-toggle { display: inline-flex; }
  .lx-header-cta { display: none !important; }
  .lx-logo img { height: 50px !important; }
  .lx-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--lumex-gutter) 16px; background: #fff; border-top: 1px solid rgba(6, 31, 21, .08); box-shadow: 0 16px 28px rgba(6, 31, 21, .14); }
  .lx-nav-open .lx-nav { display: flex; }
  .lx-nav a { display: flex; align-items: center; min-height: 46px; padding: 4px 0; }
  .lx-nav a::after { display: none; }
  .lx-nav .lx-nav-contact { display: flex !important; }
}
@media (max-width: 640px) {
  .lx-steps { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-left: 20px; }
  .lx-steps-line { display: block; top: 8px; bottom: 8px; left: 4px; right: auto; width: 2px; height: auto; }
  .lx-steps-line span { background: linear-gradient(180deg, #D5A344, #F0C475); transform-origin: top; }
  .lx-footer-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lx-footer-bottom { flex-direction: column; align-items: flex-start; }
  .lx-cta .lx-btn { width: 100%; }
}

/* ---------- Section headings: stop badge, title, text and button overlapping ---------- */
[data-framer-name="Choose Us Section"] [data-framer-name="Heading"],
[data-framer-name="Our Process Section"] [data-framer-name="Heading"],
[data-framer-name="Stories Section"] [data-framer-name="Heading"],
[data-framer-name="FAQ Section"] [data-framer-name="Heading"],
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
}
[data-framer-name="Choose Us Section"] [data-framer-name="Heading"] > [data-framer-name="Details"],
[data-framer-name="Our Process Section"] [data-framer-name="Heading"] > [data-framer-name="Details"],
[data-framer-name="Stories Section"] [data-framer-name="Heading"] > [data-framer-name="Details"],
[data-framer-name="FAQ Section"] [data-framer-name="Heading"] > [data-framer-name="Details"],
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] > [data-framer-name="Details"] {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 820px !important;
  height: auto !important;
}
[data-framer-name="Choose Us Section"] [data-framer-name="Heading"] h1,
[data-framer-name="Our Process Section"] [data-framer-name="Heading"] h1,
[data-framer-name="Stories Section"] [data-framer-name="Heading"] h1,
[data-framer-name="FAQ Section"] [data-framer-name="Heading"] h1,
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] h1,
[data-framer-name="Choose Us Section"] [data-framer-name="Heading"] p,
[data-framer-name="Our Process Section"] [data-framer-name="Heading"] p,
[data-framer-name="Stories Section"] [data-framer-name="Heading"] p,
[data-framer-name="FAQ Section"] [data-framer-name="Heading"] p,
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] p {
  white-space: normal !important;
  width: 100% !important;
  word-break: normal !important;
}
[data-framer-name="Choose Us Section"] [data-framer-name="Heading"] h1,
[data-framer-name="Our Process Section"] [data-framer-name="Heading"] h1,
[data-framer-name="Stories Section"] [data-framer-name="Heading"] h1,
[data-framer-name="FAQ Section"] [data-framer-name="Heading"] h1,
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] h1 {
  font-size: clamp(28px, 4vw, 48px) !important;
  --framer-font-size: clamp(28px, 4vw, 48px) !important;
  line-height: 1.15 !important;
  text-align: left !important;
}
[data-framer-name="Choose Us Section"] [data-framer-name="Heading"] > div:not([data-framer-name]),
[data-framer-name="Our Process Section"] [data-framer-name="Heading"] > div:not([data-framer-name]),
[data-framer-name="Stories Section"] [data-framer-name="Heading"] > div:not([data-framer-name]),
[data-framer-name="FAQ Section"] [data-framer-name="Heading"] > div:not([data-framer-name]),
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] > div:not([data-framer-name]) { width: auto !important; }

[data-framer-name$="Section"] [data-framer-name="Heading"] > [data-framer-name="Details"] p { text-align: inherit; }
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] [class*="-container"]:has(> [data-framer-name^="Desktop"]) { width: fit-content !important; max-width: 100% !important; flex: none !important; }
[data-framer-name="Blogs Section"] [data-framer-name="Heading"] p { text-align: left !important; }
a[data-framer-name="Variant 3"] { width: auto !important; }
[data-framer-name$="Section"] .framer-fdflr2, [data-framer-name$="Section"] .framer-7qTim { width: max-content !important; max-width: 100% !important; }
[data-framer-name$="Section"] [class*="-container"]:has(> .framer-fdflr2), [data-framer-name$="Section"] [class*="-container"]:has(> .framer-7qTim) { width: fit-content !important; max-width: 100% !important; flex: none !important; }
[data-framer-name="Choose Us Section"] [data-framer-name="Heading"] h1, [data-framer-name="Our Process Section"] [data-framer-name="Heading"] h1, [data-framer-name="Stories Section"] [data-framer-name="Heading"] h1, [data-framer-name="FAQ Section"] [data-framer-name="Heading"] h1, [data-framer-name="Blogs Section"] [data-framer-name="Heading"] h1 { font-family: "Urbanist", "Urbanist Placeholder", sans-serif !important; font-weight: 500 !important; letter-spacing: -0.02em !important; }
[data-framer-name="Our Process Section"] [data-framer-name="Heading"] a { width: max-content !important; }
[data-framer-name="Our Process Section"] [data-framer-name="Heading"] a [data-framer-name="Title"] { left: auto !important; transform: none !important; }

/* Section containers collapse to display:block with no gutter or spacing. */
[data-framer-name="Choose Us Section"] > [data-framer-name="Container"],
[data-framer-name="Our Process Section"] > [data-framer-name="Container"],
[data-framer-name="Stories Section"] > [data-framer-name="Container"],
[data-framer-name="FAQ Section"] > [data-framer-name="Container"],
[data-framer-name="Blogs Section"] > [data-framer-name="Container"] {
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
  width: 100% !important;
  max-width: 1440px !important;
  height: auto !important;
  margin-inline: auto !important;
  padding: 72px var(--lumex-gutter) !important;
  box-sizing: border-box !important;
}
[data-framer-name="Choose Us Section"],
[data-framer-name="Our Process Section"],
[data-framer-name="Stories Section"],
[data-framer-name="FAQ Section"],
[data-framer-name="Blogs Section"] {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
}
[data-framer-name="Our Process Section"] [data-framer-name="Cards"],
[data-framer-name="FAQ Section"] [data-framer-name="Cards"] {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  height: auto !important;
}
[data-framer-name="Our Process Section"] [data-framer-name="Cards"] > *,
[data-framer-name="Our Process Section"] [data-framer-name^="Card "] { width: 100% !important; height: auto !important; }
[data-framer-name="Our Process Section"] [data-framer-name="Desktop"] {
  height: auto !important;
  min-height: 0 !important;
  border-radius: 12px !important;
  position: relative !important;
}

/* ---------- Why Choose Us: one image, no duplicated background ---------- */
[data-framer-name="Choose Us Section"] .framer-hyx9zs,
[data-framer-name="Choose Us Section"] .framer-1ag6nsw,
.framer-y7AmW [data-framer-name="Image"] {
  background-image: none !important;
}
[data-framer-name="Choose Us Section"] .framer-1ag6nsw { width: 100% !important; flex: 1 1 100% !important; max-width: none !important; }
[data-framer-name="Choose Us Section"] .framer-1ag6nsw > div,
[data-framer-name="Choose Us Section"] .framer-1ag6nsw img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
[data-framer-name="Choose Us Section"] .framer-16c2sd9-container,
[data-framer-name="Choose Us Section"] [data-framer-name="Bottom Content"],
[data-framer-name="Choose Us Section"] [data-framer-name="Bottom Content"] > div,
[data-framer-name="Choose Us Section"] [class*="-container"] > .framer-y7AmW { width: 100% !important; height: auto !important; max-width: none !important; }
[data-framer-name="Choose Us Section"] .framer-35lw96 { height: auto !important; max-width: none !important; min-width: 0 !important; }
[data-framer-name="Choose Us Section"] .framer-y7AmW [data-framer-name^="Item"] { height: auto !important; width: 100% !important; box-sizing: border-box !important; }

/* ---------- Service cards: remove dead height, keep text readable at any width ---------- */
.framer-cvcy0, .framer-cvcy0 > [class*="-container"] { height: auto !important; min-height: 0 !important; width: 100% !important; }
.framer-cvcy0 [data-framer-name="Desktop Close"] { height: auto !important; min-height: 0 !important; display: block !important; width: 100% !important; padding: 0 !important; box-sizing: border-box !important; }
.framer-cvcy0 [data-framer-name="Container"] { height: auto !important; min-height: 0 !important; min-width: 0 !important; width: 100% !important; gap: 24px !important; padding: 28px 32px !important; box-sizing: border-box !important; align-items: center !important; }
.framer-cvcy0 [data-framer-name="Text Content"],
.framer-cvcy0 [data-framer-name="Left Content"],
.framer-cvcy0 [data-framer-name="Heading"],
.framer-cvcy0 [data-framer-name="Title "],
.framer-cvcy0 [data-framer-name="Details"] { height: auto !important; min-height: 0 !important; min-width: 0 !important; }
.framer-cvcy0 [data-framer-name="Heading"] { gap: 8px !important; }
.framer-cvcy0 [data-framer-name="Title "], .framer-cvcy0 [data-framer-name="Details"] { padding: 0 !important; margin: 0 !important; }
.framer-cvcy0 [data-framer-name="Text Content"] { flex: 1 1 0 !important; }
.framer-cvcy0 [data-framer-name="Title "] br, .framer-cvcy0 [data-framer-name="Details"] br { display: none !important; }
.framer-cvcy0 [data-framer-name="Title "] *, .framer-cvcy0 [data-framer-name="Details"] * { white-space: normal !important; margin: 0 !important; padding: 0 !important; line-height: 1.35 !important; }
.framer-cvcy0 [data-framer-name="Title "] * { font-size: clamp(20px, 2.2vw, 28px) !important; --framer-font-size: clamp(20px, 2.2vw, 28px) !important; line-height: 1.25 !important; }
.framer-cvcy0 [data-framer-name="Details"] * { font-size: 16px !important; --framer-font-size: 16px !important; }
.framer-cvcy0 [class*="w8gxc8-container"] { flex: none !important; }

/* ---------- Testimonials: keep cards inside the section ---------- */
[data-framer-name="Stories Section"] [data-framer-name="Ticker"],
[data-framer-name="Stories Section"] .framer-g5301k { max-height: none !important; height: auto !important; max-width: 100% !important; }
[data-framer-name="Stories Section"] section { overflow: hidden !important; height: auto !important; }
[data-framer-name="Stories Section"] ul { height: auto !important; align-items: stretch !important; }
[data-framer-name="Stories Section"] li { height: auto !important; }
@media (prefers-reduced-motion: reduce) {
  [data-framer-name="Stories Section"] ul { animation: none !important; }
  .lumex-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  html { scroll-behavior: auto !important; }
}

/* ---------- FAQ accordion ---------- */
.lumex-faq-item { width: 100% !important; height: auto !important; opacity: 1 !important; }
.lumex-faq-item [data-framer-name="TItle Block"] { cursor: pointer; width: 100% !important; box-sizing: border-box !important; }
.lumex-faq-item [data-framer-name="TItle Block"]:focus-visible { outline: 2px solid #D5A344; outline-offset: 2px; border-radius: 8px; }
.lumex-faq-item [data-framer-name="Question"] { min-width: 0 !important; flex: 1 1 auto !important; width: auto !important; }
.lumex-faq-item [data-framer-name="Question"] h5 { white-space: normal !important; }
/* Closed items in the snapshot are clipped to one row and position the answer absolutely. */
[data-framer-name="FAQ Section"] [data-framer-name^="Item"] { height: auto !important; width: 100% !important; }
.lumex-faq-item { display: block !important; position: relative !important; overflow: hidden !important; }
.lumex-faq-item > [data-framer-name="Answer"] {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-rows: 0fr;
  width: 100% !important;
  height: auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  opacity: 0 !important;
  visibility: hidden;
  overflow: hidden !important;
  transition: grid-template-rows .35s cubic-bezier(.16, 1, .3, 1), opacity .25s ease, padding .35s cubic-bezier(.16, 1, .3, 1), visibility .35s;
}
.lumex-faq-item > [data-framer-name="Answer"] > [data-framer-name="Answer"] { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; min-height: 0 !important; overflow: hidden !important; opacity: 1 !important; }
.lumex-faq-item > [data-framer-name="Answer"] p { white-space: normal !important; }
.lumex-faq-item.lumex-faq-open > [data-framer-name="Answer"] { grid-template-rows: 1fr; padding-bottom: 20px !important; opacity: 1 !important; visibility: visible; }
.lumex-faq-item [data-framer-name="Icon"] { position: relative !important; flex: none !important; width: 24px !important; height: 24px !important; }
.lumex-faq-item [data-framer-name="Icon"] > * { display: none !important; }
.lumex-faq-item [data-framer-name="Icon"]::before,
.lumex-faq-item [data-framer-name="Icon"]::after { content: ""; position: absolute; left: 4px; right: 4px; top: 11px; height: 2px; background: #061F15; transition: transform .2s ease; }
.lumex-faq-item [data-framer-name="Icon"]::after { transform: rotate(90deg); }
.lumex-faq-item.lumex-faq-open [data-framer-name="Icon"]::after { transform: rotate(0deg); }

/* ---------- Blog cards: single-column safety on narrow screens ---------- */
[data-framer-name="Blogs Section"] .framer-1nomc6n:has(> .framer-w4fuwb) { display: block !important; }
[data-framer-name="Blogs Section"] .framer-w4fuwb,
[data-framer-name="Blogs Section"] .framer-1nomc6n { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important; }

/* ---------- Contact page ---------- */
[data-framer-name="Contact Section"] [data-framer-name="Bottom Content"] {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
  align-items: stretch !important;
  gap: 24px !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}
[data-framer-name="Contact Section"] [data-framer-name^="Card "] {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  justify-content: flex-start !important;
  padding: 32px 20px !important;
  box-sizing: border-box !important;
}
[data-framer-name="Contact Section"] [data-framer-name="Email"] { width: 100% !important; max-width: 100% !important; left: auto !important; transform: none !important; position: relative !important; }
[data-framer-name="Contact Section"] [data-framer-name="Email"] h6 { white-space: normal !important; overflow-wrap: anywhere; text-align: center !important; }
.lumex-contact-form button[disabled] { opacity: .6; cursor: progress; }
.lumex-form-notice { width: 100%; box-sizing: border-box; flex: 0 0 100%; margin-top: 16px; padding: 16px 20px; border-radius: 8px; font-size: 15px; line-height: 1.5; font-family: inherit; outline: none; }
.lumex-form-notice a { text-decoration: underline; color: inherit; }
.lumex-form-notice-success { background: #0E3128; color: #fff; border: 1px solid #D5A344; }
.lumex-form-notice-error { background: #FDECEA; color: #7A1C14; border: 1px solid #E5A29B; }

@media (max-width: 900px) {
  /* ---------- Phones and tablets: stack everything the snapshot laid out for desktop ---------- */
  [data-framer-name="Choose Us Section"] .framer-y7AmW { flex-direction: column !important; }
  [data-framer-name="Choose Us Section"] .framer-hyx9zs { min-height: 320px !important; width: 100% !important; flex: none !important; height: 320px !important; }
  [data-framer-name="Choose Us Section"] .framer-1ag6nsw { min-height: 320px !important; height: 320px !important; }
  [data-framer-name="Choose Us Section"] .framer-35lw96 { width: 100% !important; flex: none !important; }

  .framer-cvcy0 [data-framer-name="Container"] { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; padding: 20px !important; }
  .framer-cvcy0 [data-framer-name="Text Content"],
  .framer-cvcy0 [data-framer-name="Left Content"],
  .framer-cvcy0 [data-framer-name="Heading"],
  .framer-cvcy0 [data-framer-name="Details"] { width: 100% !important; flex: none !important; max-width: 100% !important; }


  [data-framer-name="Programs Section"],
  [data-framer-name="Services Section"],
  [data-framer-name="More Programs Section"] { padding: 48px var(--lumex-gutter) !important; box-sizing: border-box !important; }
  [data-framer-name="More Programs Section"] > [data-framer-name="Container"],
  [data-framer-name="Programs Section"] > [data-framer-name="Container"] { width: 100% !important; max-width: 100% !important; }
  [data-framer-name="Stories Section"] li { flex-basis: min(82vw, 340px) !important; width: min(82vw, 340px) !important; }
  [data-framer-name="Banner Section"] { height: auto !important; }
}

@media (max-width: 900px) {
  [data-framer-name="Map "] [data-framer-name="Text Content"] a { width: auto !important; position: static !important; transform: none !important; }
  [data-framer-name="Banner Section"] [data-framer-name="Details"] { flex-direction: column !important; width: 100% !important; height: auto !important; }
  [data-framer-name="Banner Section"] [data-framer-name="Details"] > [data-framer-name="Details"] { flex: none !important; width: 100% !important; padding-inline: var(--lumex-gutter) !important; box-sizing: border-box !important; }
  [data-framer-name="Banner Section"] p, [data-framer-name="Banner Section"] h1 { white-space: normal !important; }
  [data-framer-name="Map "] { min-height: 300px !important; height: auto !important; }
  [data-framer-name="Map "] [data-framer-name="Text Content"] { width: auto !important; left: 12px !important; right: 12px !important; bottom: 12px !important; max-width: calc(100% - 24px) !important; box-sizing: border-box !important; }
  [data-framer-name="Map "] [data-framer-name="Text Content"] *, [data-framer-name="Title & Details"] * { white-space: normal !important; min-width: 0 !important; }
  [data-framer-name="Map "] [data-framer-name="Heading"], [data-framer-name="Map "] [data-framer-name="Title"], [data-framer-name="Map "] [data-framer-name="Details"] { width: 100% !important; }
  [data-framer-name="Title & Details"] { width: auto !important; left: 16px !important; right: 16px !important; max-width: calc(100% - 32px) !important; box-sizing: border-box !important; }
  [data-framer-name="Title & Details"] > * { width: 100% !important; }
}

@media (max-width: 640px) {
  #lumex-whatsapp-float { bottom: 16px !important; right: 16px !important; }
}

/* ==========================================================================
   Mobile layer. "html body" outranks the snapshot's !important rules, some of
   which sit in <style> tags later in the page.
   ========================================================================== */
html body [data-framer-name="Banner Section"] img { object-fit: cover !important; }

@media (max-width: 900px) {
  /* Hero: photo on top, text below, so the text never covers the subject's face and any
     landscape photo still works on a tall screen. */
  html body [data-framer-name="Hero Section"] { display: flex !important; flex-direction: column !important; align-items: stretch !important; height: auto !important; min-height: 0 !important; padding: 0 !important; overflow: hidden !important; background: #061F15 !important; }
  html body [data-framer-name="Hero Section"] > [data-framer-name="BG Image"] { position: relative !important; inset: auto !important; flex: none !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; overflow: hidden !important; opacity: 1 !important; }
  html body [data-framer-name="Hero Section"] > [data-framer-name="BG Image"] > div { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
  html body [data-framer-name="Hero Section"] > [data-framer-name="BG Image"] img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 70% 25% !important; }
  html body [data-framer-name="Hero Section"] > [data-framer-name="Container"] { width: 100% !important; max-width: none !important; height: auto !important; padding: 28px var(--lumex-gutter) 40px !important; gap: 0 !important; box-sizing: border-box !important; }
  html body [data-framer-name="Hero Section"] .framer-1abbo6c { gap: 18px !important; width: 100% !important; height: auto !important; align-items: stretch !important; }
  html body [data-framer-name="Hero Section"] h1 { font-size: clamp(30px, 8.4vw, 46px) !important; --framer-font-size: clamp(30px, 8.4vw, 46px) !important; line-height: 1.14 !important; }
  html body [data-framer-name="Hero Section"] .lumex-hero-subtitle-container, html body [data-framer-name="Hero Section"] .lumex-hero-subtitle-container p { width: 100% !important; max-width: 640px !important; font-family: "Urbanist", "Urbanist Placeholder", system-ui, sans-serif !important; font-size: 16.5px !important; line-height: 1.55 !important; color: rgba(255, 255, 255, .84) !important; -webkit-text-fill-color: rgba(255, 255, 255, .84) !important; }
  html body [data-framer-name="Hero Section"] .framer-1np505i { flex-wrap: wrap !important; width: 100% !important; height: auto !important; gap: 10px !important; margin-top: 4px !important; }
  html body [data-framer-name="Hero Section"] .framer-1np505i a { width: auto !important; min-height: 48px !important; }

  /* Section rhythm */
  html body [data-framer-name="Categories Section"], html body [data-framer-name="Programs Section"], html body [data-framer-name="More Programs Section"], html body [data-framer-name="Services Section"] { height: auto !important; padding: 44px var(--lumex-gutter) !important; box-sizing: border-box !important; }
  html body [data-framer-name="Categories Section"] > [data-framer-name="Container"], html body [data-framer-name="Programs Section"] > [data-framer-name="Container"], html body [data-framer-name="More Programs Section"] > [data-framer-name="Container"] { width: 100% !important; max-width: none !important; padding: 0 !important; gap: 24px !important; }
  html body [data-framer-name="Choose Us Section"], html body [data-framer-name="Stories Section"], html body [data-framer-name="FAQ Section"], html body [data-framer-name="Blogs Section"] { padding: 0 !important; height: auto !important; }
  html body [data-framer-name="Choose Us Section"] > [data-framer-name="Container"], html body [data-framer-name="Stories Section"] > [data-framer-name="Container"], html body [data-framer-name="FAQ Section"] > [data-framer-name="Container"], html body [data-framer-name="Blogs Section"] > [data-framer-name="Container"] { width: 100% !important; max-width: none !important; padding: 44px var(--lumex-gutter) !important; gap: 24px !important; }
  html body [data-framer-name="Heading"] h1 { font-size: clamp(26px, 7vw, 40px) !important; --framer-font-size: clamp(26px, 7vw, 40px) !important; line-height: 1.16 !important; }
  html body [data-framer-name="Heading"] > [data-framer-name="Details"] p { font-size: 16px !important; line-height: 1.5 !important; }

  /* Category cards: no empty gap between the icon and the text */
  html body [data-framer-name="Categories Section"] [data-framer-name="Cards"] { gap: 12px !important; height: auto !important; }
  html body [data-framer-name="Categories Section"] [data-framer-name^="Card "] { width: 100% !important; height: auto !important; }
  html body [data-framer-name="Categories Section"] [data-framer-name="Desktop"] { height: auto !important; padding: 18px !important; }
  html body [data-framer-name="Categories Section"] [data-framer-name="Container"] { gap: 12px !important; height: auto !important; }

  /* Service cards: the whole card is the link, so keep them compact */
  html body .framer-cvcy0 [data-framer-name="Container"] { gap: 8px !important; padding: 18px !important; }
  html body .framer-cvcy0 [data-framer-name="Heading"], html body .framer-cvcy0 [data-framer-name="Left Content"] { gap: 6px !important; }
  html body .framer-cvcy0 [data-framer-name="Title "], html body .framer-cvcy0 [data-framer-name="Details"], html body .framer-cvcy0 [data-framer-name="Title "] *, html body .framer-cvcy0 [data-framer-name="Details"] * { height: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
  html body .framer-cvcy0 [data-framer-name="Title "] * { font-size: 19px !important; --framer-font-size: 19px !important; }
  html body .framer-cvcy0 [data-framer-name="Details"] * { font-size: 15.5px !important; --framer-font-size: 15.5px !important; line-height: 1.45 !important; }
  html body .framer-cvcy0 [class*="w8gxc8-container"] [data-framer-name="Desktop"] { padding: 4px 0 0 !important; height: auto !important; }
  html body .lumex-service-card-item, html body .framer-cvcy0 { margin: 0 !important; }
  html body [data-framer-name="Desktop Home"], html body [data-framer-name="Desktop CMS"], html body .framer-199ea7p { gap: 12px !important; height: auto !important; }

  /* Why Choose Us: full-width text, and a photo that keeps every face */
  html body [data-framer-name="Choose Us Section"] .framer-35lw96 { gap: 12px !important; }
  html body [data-framer-name="Choose Us Section"] [data-framer-name^="Item "] { gap: 12px !important; padding: 18px !important; }
  html body [data-framer-name="Choose Us Section"] [data-framer-name="Title & Details"] { width: 100% !important; margin: 0 !important; padding: 0 !important; left: auto !important; height: auto !important; }
  html body [data-framer-name="Choose Us Section"] [data-framer-name="Title & Details"] > * { width: 100% !important; height: auto !important; }
  html body [data-framer-name="Choose Us Section"] .framer-y7AmW { gap: 16px !important; }
  html body [data-framer-name="Choose Us Section"] .framer-hyx9zs, html body [data-framer-name="Choose Us Section"] .framer-1ag6nsw { position: relative !important; width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 3; flex: none !important; }
  html body [data-framer-name="Choose Us Section"] .framer-1ag6nsw img { object-position: 50% 30% !important; }

  /* Testimonials: swipe between whole cards instead of a moving row that clips text */
  html body [data-framer-name="Stories Section"] [data-framer-name="Ticker"], html body [data-framer-name="Stories Section"] section { width: 100% !important; overflow: visible !important; }
  html body [data-framer-name="Stories Section"] section { overflow-x: auto !important; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 6px !important; mask-image: none !important; -webkit-mask-image: none !important; }
  html body [data-framer-name="Stories Section"] section::-webkit-scrollbar { display: none; }
  html body [data-framer-name="Stories Section"] ul { position: static !important; animation: none !important; transform: none !important; gap: 12px !important; width: max-content !important; left: auto !important; }
  html body [data-framer-name="Stories Section"] li { flex: 0 0 min(84vw, 340px) !important; width: min(84vw, 340px) !important; height: auto !important; scroll-snap-align: start; transform: none !important; }
  html body [data-framer-name="Stories Section"] li.lx-dup { display: none !important; }
  html body [data-framer-name="Stories Section"] li > div, html body [data-framer-name="Stories Section"] li > div > div, html body [data-framer-name="Stories Section"] li [data-framer-name="Container"] { width: 100% !important; height: 100% !important; box-sizing: border-box !important; }

  /* Articles */
  html body [data-framer-name="Blogs Section"] .framer-1ghi44t, html body [data-framer-name="Blogs Section"] .framer-1r5ml2f-container, html body [data-framer-name="Blogs Section"] .framer-stb7c, html body [data-framer-name="More Blog Section"] .framer-1ghi44t { height: 300px !important; max-height: 300px !important; }

  /* Process and footer */
  .lx-process-inner { padding-block: 48px; }
  .lx-process-head { margin-bottom: 28px; }
  .lx-step { padding: 18px; }
  .lx-step-top { margin-bottom: 14px; }
  .lx-step-icon { width: 46px; height: 46px; }
  .lx-cta-wrap { padding-block: 32px; }
}

@media (max-width: 640px) {
  html body [data-framer-name="Hero Section"] > [data-framer-name="BG Image"] { aspect-ratio: 4 / 3; }
  html body [data-framer-name="Hero Section"] .framer-1np505i > * { width: 100% !important; }
  html body [data-framer-name="Hero Section"] .framer-1np505i a { width: 100% !important; justify-content: center !important; }
  #lumex-whatsapp-float { padding: 10px !important; }
  #lumex-whatsapp-float svg { width: 26px !important; height: 26px !important; }
  .lx-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; padding-bottom: 24px; }
  .lx-footer-brand { grid-column: 1 / -1; }
  .lx-footer-col:nth-child(3) { grid-column: 1 / -1; order: 3; }
  .lx-footer li { margin-bottom: 8px; }
  .lx-footer-bottom { padding-bottom: 76px; }
}

/* These blocks would otherwise render their source whitespace as blank lines. */
html body .framer-cvcy0 [data-framer-name="Title "], html body .framer-cvcy0 [data-framer-name="Details"] { white-space: normal !important; }
@media (max-width: 640px) {
  html body [data-framer-name="Hero Section"] .framer-1np505i [class*="-container"] { width: 100% !important; }
  html body [data-framer-name="Hero Section"] .framer-1np505i a { justify-content: center !important; }
}
@media (max-width: 900px) {
  html body [data-framer-name="Choose Us Section"] [data-framer-name^="Item "] { display: flex !important; flex-direction: column !important; align-items: stretch !important; box-sizing: border-box !important; }
  html body [data-framer-name="Choose Us Section"] [data-framer-name="Title & Details"] { position: relative !important; inset: auto !important; transform: none !important; align-self: stretch !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; }
  html body [data-framer-name="Choose Us Section"] [data-framer-name="Title & Details"] > * { width: auto !important; max-width: 100% !important; align-self: stretch !important; transform: none !important; position: relative !important; left: auto !important; }
  html body [data-framer-name="Choose Us Section"] [data-framer-name="Top"] { width: auto !important; align-self: stretch !important; }
}
