/* ========================================================================== 
   LEAFORGE 365 - FINAL MOBILE / TABLET RESPONSIVE LAYER
   VERSION: 0029
   Loaded LAST on every HTML page. Desktop styles are intentionally untouched.
   ========================================================================== */

/* ---------- 1. Global tablet safety ---------- */
@media (max-width: 1100px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  *, *::before, *::after { box-sizing: border-box; }

  body > main,
  main,
  main section,
  main article,
  main aside,
  main div {
    min-width: 0;
  }

  img,
  picture,
  video,
  canvas,
  iframe {
    max-width: 100% !important;
  }

  .lf-fw2-header .lf-fw2-topbar,
  .lf-fw2-header.is-scrolled .lf-fw2-topbar {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
  }

  .lf-fw2-header .lf-fw2-main,
  .lf-fw2-header.is-scrolled .lf-fw2-main {
    background: #002228 !important;
  }

  .lf-fw2-header .lf-fw2-main-inner,
  .lf-fw2-header.is-scrolled .lf-fw2-main-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .lf-fw2-nav { display: none !important; }

  .lf-fw2-header .lf-fw2-menu-toggle,
  #lfFw2MenuToggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }

  #lfMegaMenu,
  .lf-mega-menu {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  main [class*="container"],
  main [class*="__container"],
  main [class*="-shell"],
  main [class*="__shell"] {
    max-width: 100% !important;
  }
}

/* ---------- 2. Tablet layout ---------- */
@media (max-width: 900px) {
  .lf-inner-hero,
  .lf-page-hero,
  .lf-contact-hero {
    background-position: center center !important;
  }

  .lf-inner-hero-container,
  .lf-inner-hero-content,
  .lf-page-container,
  .lf-v18-container,
  .lf-impl-container,
  .lf-cap-container,
  .lf-support-container,
  .lf-rapid-container,
  .lf-pricing-container,
  .lf-training-container,
  .lf-partner-container,
  .lf-blog-container,
  .lf-sa-container {
    max-width: 100% !important;
  }

  .lf-v18-overview,
  .lf-v18-boundary,
  .lf-v18-contact-wrap,
  .lf-impl-dual-grid,
  .lf-impl-feature-split,
  .lf-impl-faq-layout,
  .lf-rapid-pricing-layout,
  .lf-training-formats-layout,
  .lf-cap-overview-grid,
  .lf-unified-second-section .lf-cap-overview-grid,
  .lf-v7-about-wrap,
  .lf-gym-about-wrap,
  .lf-small-business-help,
  .lf-home-adviser-cta__inner,
  .lf-cap-cta-inner,
  .lf-global-consultation > div,
  .contact-container {
    grid-template-columns: 1fr !important;
  }

  .lf-v18-grid.lf-v18-grid-4,
  .lf-v18-grid,
  .lf-v18-why,
  .lf-v18-link-grid,
  .lf-mfg-card-grid--four,
  .lf-dist-card-grid--four,
  .lf-retail-card-grid--four,
  .lf-why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ---------- 3. Phone foundation ---------- */
@media (max-width: 767.98px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

  body {
    font-size: 16px !important;
    line-height: 1.65 !important;
    overflow-x: clip !important;
  }

  main,
  main section,
  main article,
  main aside,
  main div,
  main header,
  main footer {
    min-width: 0 !important;
    max-width: 100%;
  }

  h1, h2, h3, h4, h5, h6,
  p, li, a, span, strong, label, button, summary {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  main h1 {
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.6px !important;
  }

  main h2 {
    font-size: clamp(25px, 7.2vw, 32px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.35px !important;
  }

  main h3 {
    font-size: clamp(18px, 5.2vw, 22px) !important;
    line-height: 1.35 !important;
  }

  main p,
  main li {
    font-size: 14.5px;
    line-height: 1.72 !important;
  }

  img,
  picture,
  video,
  iframe {
    width: auto;
    max-width: 100% !important;
    height: auto;
  }

  /* All major page containers stay inside the viewport. */
  main [class*="container"],
  main [class*="__container"],
  main [class*="-shell"],
  main [class*="__shell"],
  .container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Any content grid becomes one readable column on phones. */
  main [class*="grid"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  main [class*="row"] {
    min-width: 0 !important;
  }

  main [class*="card"] {
    max-width: 100% !important;
  }

  /* Buttons must never overflow. */
  button,
  input,
  select,
  textarea,
  a[class*="btn"],
  a[class*="button"] {
    max-width: 100% !important;
  }

  button,
  [role="button"],
  a[class*="btn"],
  a[class*="button"] {
    min-height: 46px !important;
    white-space: normal !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea {
    width: 100% !important;
    font-size: 16px !important;
  }

  /* Horizontal content such as tables scrolls inside its own area. */
  table {
    max-width: 100% !important;
    font-size: 12.5px !important;
  }

  .table-responsive,
  .lf-table-wrap,
  [class*="table-wrap"],
  [class*="table-responsive"] {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  pre, code {
    max-width: 100% !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
  }
}

/* ---------- 4. Mobile header and full-screen menu ---------- */
@media (max-width: 767.98px) {
  .lf-fw2-header .lf-fw2-main-inner,
  .lf-fw2-header.is-scrolled .lf-fw2-main-inner {
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 16px !important;
    gap: 10px !important;
  }

  .lf-fw2-header .lf-fw2-logo,
  .lf-fw2-logo {
    max-width: calc(100vw - 88px) !important;
    min-width: 0 !important;
  }

  .lf-fw2-header .lf-fw2-logo img,
  .lf-fw2-header .lf-fw2-logo-img {
    width: min(225px, calc(100vw - 96px)) !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }

  .lf-fw2-header .lf-fw2-menu-toggle,
  #lfFw2MenuToggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    flex: 0 0 44px !important;
  }

  body.lf-header-scrolled:not(.home-page) {
    padding-top: 72px !important;
  }

  #lfMegaMenu,
  .lf-mega-menu {
    position: fixed !important;
    inset: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .lf-mega-menu-left,
  .lf-mega-menu-right {
    width: 100% !important;
    max-width: 100% !important;
  }

  .lf-mega-menu-left {
    padding: 82px 18px 28px !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .lf-mega-menu-right {
    padding: 26px 18px 38px !important;
  }

  .lf-mega-col a,
  .lf-mega-quick-links a,
  .lf-mega-contact a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  .lf-mega-close {
    top: 16px !important;
    right: 16px !important;
  }
}

/* ---------- 5. Home hero and homepage sections ---------- */
@media (max-width: 767.98px) {
  body.home-page .lf-home-hero-slider,
  body.home-page .lf-home-slide {
    min-height: 730px !important;
    height: 730px !important;
    max-height: none !important;
  }

  body.home-page .lf-home-slide-content,
  body.home-page .lf-home-hero-slider .lf-home-slide-content {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin: 0 16px !important;
    padding: 86px 0 66px !important;
  }

  body.home-page .lf-home-slide-content h1,
  body.home-page .lf-home-hero-slider .lf-home-slide-content h1 {
    font-size: clamp(29px, 9vw, 38px) !important;
    line-height: 1.13 !important;
  }

  body.home-page .lf-home-slide-content p {
    font-size: 14px !important;
    line-height: 1.68 !important;
  }

  body.home-page .lf-home-slide-features {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  body.home-page .lf-home-feature-item {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.home-page .lf-home-feature-separator { display: none !important; }

  body.home-page .lf-home-slide-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }

  body.home-page .lf-home-slide-buttons .lf-home-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 13px 14px !important;
  }

  body.home-page .lf-gym-feature-strip,
  .page-about-us .lf-gym-feature-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  body.home-page .lf-home-partner-intro,
  body.home-page .lf-small-business-help,
  body.home-page .lf-bc-diagram-section,
  body.home-page .lf-v7-projects-section,
  body.home-page .lf-bc-modules-green-section,
  body.home-page .lf-bc-classic-services-section,
  body.home-page .lf-rapid-packages-directory,
  body.home-page .lf-home-why-overview,
  body.home-page .lf-home-why-cards-section,
  body.home-page .lf-home-transform,
  body.home-page .lf-home-bc-device-showcase,
  body.home-page .lf-cap-cta-section {
    overflow: hidden !important;
  }

  body.home-page .lf-home-adviser-cta__inner,
  .lf-global-consultation .lf-cap-cta-inner,
  .lf-cap-cta-section .lf-cap-cta-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: center !important;
  }

  body.home-page .lf-home-adviser-cta__inner a,
  .lf-global-consultation a[class*="btn"],
  .lf-cap-cta-section a[class*="btn"] {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ---------- 6. Standard inner-page hero ---------- */
@media (max-width: 767.98px) {
  .lf-inner-hero,
  .lf-page-hero.lf-contact-hero {
    min-height: 0 !important;
    padding: 58px 18px 50px !important;
    align-items: flex-start !important;
  }

  .lf-inner-hero::before,
  .lf-page-hero::before,
  .lf-contact-hero::before {
    width: 100% !important;
    background: linear-gradient(180deg, rgba(0,34,40,.88), rgba(0,34,40,.9)) !important;
  }

  .lf-inner-hero-container {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 0 !important;
  }

  .lf-inner-hero-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  .lf-inner-page-eyebrow,
  .lf-inner-hero .lf-home-slide-eyebrow {
    margin-bottom: 14px !important;
    max-width: 100% !important;
  }

  .lf-inner-page-eyebrow .lf-home-eyebrow-text,
  .lf-inner-hero .lf-home-eyebrow-text {
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: 1.3px !important;
    white-space: normal !important;
  }

  .lf-inner-hero-content h1 {
    margin: 0 0 16px !important;
    font-size: clamp(30px, 9vw, 39px) !important;
    line-height: 1.14 !important;
  }

  .lf-inner-hero-content > p {
    margin: 0 0 20px !important;
    font-size: 14.5px !important;
    line-height: 1.68 !important;
  }

  .lf-inner-page-features,
  .lf-inner-hero .lf-home-slide-features {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin: 0 0 22px !important;
  }

  .lf-inner-page-features .lf-home-feature-item,
  .lf-inner-hero .lf-home-feature-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .lf-inner-page-features .lf-home-feature-icon,
  .lf-inner-hero .lf-home-feature-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
  }

  .lf-inner-page-features .lf-home-feature-icon svg,
  .lf-inner-hero .lf-home-feature-icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  .lf-inner-page-features .lf-home-feature-text,
  .lf-inner-hero .lf-home-feature-text {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  .lf-inner-page-features .lf-home-feature-separator,
  .lf-inner-hero .lf-home-feature-separator {
    display: none !important;
  }

  .lf-inner-hero-actions,
  .lf-inner-hero .lf-home-slide-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }

  .lf-inner-hero-actions .lf-home-btn,
  .lf-inner-hero-primary,
  .lf-inner-hero-secondary {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 12px 14px !important;
    justify-content: center !important;
    font-size: 12px !important;
    letter-spacing: .2px !important;
  }
}

/* ---------- 7. V18 modernized pages ---------- */
@media (max-width: 767.98px) {
  body.lf-v18-page .lf-v18-section {
    padding: 52px 18px !important;
  }

  body.lf-v18-page .lf-v18-heading {
    max-width: 100% !important;
    margin-bottom: 28px !important;
    text-align: left !important;
  }

  body.lf-v18-page .lf-v18-heading h2,
  body.lf-v18-page .lf-v18-copy h2,
  body.lf-v18-page .lf-v18-boundary h2,
  body.lf-v18-page .lf-v18-cta h2 {
    font-size: clamp(25px, 7.4vw, 32px) !important;
  }

  body.lf-v18-page .lf-v18-heading p,
  body.lf-v18-page .lf-v18-copy p,
  body.lf-v18-page .lf-v18-boundary p {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  body.lf-v18-page .lf-v18-overview,
  body.lf-v18-page .lf-v18-boundary,
  body.lf-v18-page .lf-v18-fit,
  body.lf-v18-page .lf-v18-price-grid,
  body.lf-v18-page .lf-v18-contact-wrap,
  body.lf-v18-page .lf-v18-cta-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.lf-v18-page .lf-v18-grid,
  body.lf-v18-page .lf-v18-grid.lf-v18-grid-4,
  body.lf-v18-page .lf-v18-why,
  body.lf-v18-page .lf-v18-link-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.lf-v18-page .lf-v18-card,
  body.lf-v18-page .lf-v18-why article,
  body.lf-v18-page .lf-v18-link-card,
  body.lf-v18-page .lf-v18-price-card {
    padding: 21px 18px !important;
    border-radius: 15px !important;
  }

  body.lf-v18-page .lf-v18-media {
    border-radius: 16px !important;
  }

  body.lf-v18-page .lf-v18-media img {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  body.lf-v18-page .lf-v18-boundary {
    padding: 23px 19px !important;
  }

  body.lf-v18-page .lf-v18-fit > div {
    padding: 21px 18px !important;
  }

  body.lf-v18-page .lf-v18-faq {
    max-width: 100% !important;
  }

  body.lf-v18-page .lf-v18-faq details {
    padding: 0 15px !important;
    border-radius: 12px !important;
  }

  body.lf-v18-page .lf-v18-faq summary {
    padding: 16px 34px 16px 0 !important;
    font-size: 14px !important;
  }

  body.lf-v18-page .lf-v18-faq p {
    font-size: 13.5px !important;
  }

  body.lf-v18-page .lf-v18-cta {
    padding: 38px 18px !important;
  }

  body.lf-v18-page .lf-v18-cta-inner {
    text-align: left !important;
  }

  body.lf-v18-page .lf-v18-cta .lf-home-btn {
    width: 100% !important;
    margin-top: 0 !important;
    justify-content: center !important;
  }
}

/* ---------- 8. Industry pages: manufacturing / distribution / retail ---------- */
@media (max-width: 767.98px) {
  .lf-mfg-section,
  .lf-dist-section,
  .lf-retail-section {
    padding: 52px 18px !important;
  }

  .lf-mfg-heading,
  .lf-dist-heading,
  .lf-retail-heading {
    margin-bottom: 28px !important;
    text-align: left !important;
  }

  .lf-mfg-heading h2,
  .lf-dist-heading h2,
  .lf-retail-heading h2 {
    font-size: clamp(25px, 7.4vw, 32px) !important;
  }

  .lf-mfg-flow-strip,
  .lf-dist-flow-strip,
  .lf-retail-flow-strip,
  .lf-mfg-capability-list,
  .lf-dist-capability-list,
  .lf-retail-capability-list,
  .lf-mfg-fit-layout,
  .lf-dist-fit-layout,
  .lf-retail-fit-layout,
  .lf-mfg-license-note,
  .lf-dist-license-note,
  .lf-retail-license-note,
  .lf-mfg-boundary-callout,
  .lf-dist-boundary-callout,
  .lf-retail-boundary-callout {
    grid-template-columns: 1fr !important;
  }

  .lf-mfg-card-grid--four,
  .lf-mfg-control-grid,
  .lf-mfg-type-grid,
  .lf-mfg-checklist,
  .lf-dist-card-grid--four,
  .lf-dist-control-grid,
  .lf-dist-type-grid,
  .lf-dist-checklist,
  .lf-retail-card-grid--four,
  .lf-retail-control-grid,
  .lf-retail-type-grid,
  .lf-retail-checklist {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .lf-mfg-capability-list article,
  .lf-dist-capability-list article,
  .lf-retail-capability-list article {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 18px !important;
  }

  .lf-mfg-fit-cta,
  .lf-dist-fit-cta,
  .lf-retail-fit-cta {
    padding: 22px 18px !important;
  }
}

/* ---------- 9. Legacy / approved core-page sections ---------- */
@media (max-width: 767.98px) {
  .lf-cap-overview-grid,
  .lf-cap-feature-grid,
  .lf-cap-step-grid,
  .lf-cap-benefits-grid,
  .lf-impl-showcase__panel,
  .lf-impl-dual-grid,
  .lf-impl-card-grid--three,
  .lf-impl-card-grid--four,
  .lf-impl-readiness-grid,
  .lf-impl-process-grid,
  .lf-impl-module-grid,
  .lf-impl-feature-split,
  .lf-impl-faq-layout,
  .lf-rapid-fit-grid,
  .lf-r5-classic-grid,
  .lf-r5-home-style-grid,
  .lf-r8-steps-grid,
  .lf-r5-steps-grid,
  .lf-support-pro-grid-4,
  .lf-support-plans-grid,
  .lf-support-process-grid,
  .lf-support-value-grid,
  .lf-pricing-card-grid,
  .lf-pricing-cost-grid,
  .lf-pricing-assessment-grid,
  .lf-pricing-steps,
  .lf-pricing-faq-grid,
  .lf-training-audience-grid,
  .lf-training-online-grid,
  .lf-training-modules-grid,
  .lf-training-formats-grid,
  .lf-bc-potential-grid,
  .lf-bc-feature-items,
  .lf-benefits-container,
  .lf-bc-classic-grid,
  .lf-rapid-packages-directory__grid,
  .lf-capabilities-directory__grid,
  .lf-industry-grid,
  .lf-blog-card-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .lf-impl-section,
  .lf-services-v9-section,
  .lf-bc-v8-section,
  .lf-support-pro-section,
  .lf-support-value-section,
  .lf-rapid-fit-section,
  .lf-rapid5-section,
  .lf-rapid8-section,
  .lf-bc-potential-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .lf-cap-overview-section,
  .lf-unified-second-section,
  .lf-np-studio-section,
  .lf-gym-about-section,
  .lf-about-section,
  .lf-home-why-overview,
  .lf-home-why-cards-section,
  .lf-cap-cta-section,
  .lf-bc-diagram-section,
  .lf-benefits-section,
  .lf-industry-section,
  .lf-bc-modules-green-section,
  .lf-bc-classic-services-section,
  .lf-rapid-packages-directory {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .lf-cap-overview-image img,
  .lf-unified-second-section img,
  .lf-v7-about-image img,
  .lf-gym-about-image img,
  .lf-np-studio-image img,
  .lf-impl-feature-media img,
  .lf-help-image-wrap img,
  .lf-rapid-why-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(220px, 67vw, 310px) !important;
    object-fit: cover !important;
  }
}

/* ---------- 10. About Us page ---------- */
@media (max-width: 767.98px) {
  .page-about-us .lf-about-feature-strip {
    grid-template-columns: 1fr !important;
  }

  .page-about-us .lf-about-approach {
    padding: 48px 18px !important;
  }

  .page-about-us .lf-about-approach__header {
    text-align: left !important;
    margin-bottom: 26px !important;
  }

  .page-about-us .lf-about-approach__grid,
  .page-about-us .lf-home-why-cards-section .lf-why-grid {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }

  .page-about-us .lf-about-approach__card,
  .page-about-us .lf-home-why-cards-section .lf-why-card {
    min-height: 0 !important;
    padding: 20px 18px !important;
  }

  .page-about-us .lf-about-approach__actions {
    margin-top: 24px !important;
    text-align: left !important;
  }

  .page-about-us .lf-about-approach__actions .lf-cap-btn {
    width: 100% !important;
    max-width: 100% !important;
  }

  .page-about-us .lf-home-why-cards-section {
    padding: 40px 18px 50px !important;
  }
}

/* ---------- 11. FAQs across all design generations ---------- */
@media (max-width: 767.98px) {
  .ms-faq-section,
  .lf-mfg-faq,
  .lf-dist-faq,
  .lf-retail-faq {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .ms-faq-section .container,
  .lf-mfg-faq .container,
  .lf-dist-faq .container,
  .lf-retail-faq .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .ms-faq-header {
    margin-bottom: 24px !important;
    text-align: left !important;
  }

  .ms-faq-header h2 {
    font-size: 25px !important;
    line-height: 1.22 !important;
  }

  .ms-faq-header p {
    font-size: 13.5px !important;
    line-height: 1.65 !important;
  }

  .ms-faq-accordion .accordion-item {
    border-radius: 11px !important;
    overflow: hidden !important;
  }

  .ms-faq-accordion .accordion-button {
    min-height: 56px !important;
    padding: 15px 46px 15px 15px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  .ms-faq-accordion .accordion-button::after {
    right: 14px !important;
  }

  .ms-faq-accordion .accordion-body {
    padding: 0 15px 16px !important;
  }
}

/* ---------- 12. Contact, forms and CTA areas ---------- */
@media (max-width: 767.98px) {
  .form-row,
  .contact-container,
  .lf-v18-contact-wrap {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .contact-form,
  #contact-form,
  .lf-v18-contact-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  textarea { min-height: 130px !important; }

  .lf-cap-cta-section,
  .lf-global-consultation,
  .lf-home-adviser-cta,
  .lf-v18-cta {
    overflow: hidden !important;
  }

  .lf-cap-cta-section .lf-home-btn,
  .lf-global-consultation .lf-home-btn,
  .lf-home-adviser-cta .lf-home-btn {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }
}

/* ---------- 13. Footer ---------- */
@media (max-width: 767.98px) {
  .lf-footer-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .lf-footer-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .lf-footer-col,
  .lf-footer-about,
  .lf-footer-contact,
  .lf-footer-address {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .lf-footer-links,
  .lf-footer-links li {
    width: 100% !important;
  }

  .lf-footer-col a,
  .lf-footer-col p,
  .lf-footer-address span,
  .lf-footer-address strong {
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }

  .lf-footer-bottom,
  .lf-footer-bottom-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
    text-align: center !important;
  }

  .lf-linkedin {
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  .lf-back-to-top,
  #backToTop {
    right: 14px !important;
    bottom: 14px !important;
  }
}

/* ---------- 14. Extra-small phones ---------- */
@media (max-width: 430px) {
  .lf-fw2-header .lf-fw2-logo img,
  .lf-fw2-header .lf-fw2-logo-img {
    width: min(195px, calc(100vw - 84px)) !important;
  }

  body.home-page .lf-home-hero-slider,
  body.home-page .lf-home-slide {
    min-height: 750px !important;
    height: 750px !important;
  }

  main h1,
  .lf-inner-hero-content h1 {
    font-size: clamp(28px, 9.2vw, 35px) !important;
  }

  main h2 {
    font-size: clamp(24px, 7.4vw, 29px) !important;
  }

  .lf-inner-hero,
  .lf-page-hero.lf-contact-hero {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.lf-v18-page .lf-v18-section,
  .lf-mfg-section,
  .lf-dist-section,
  .lf-retail-section,
  .lf-impl-section,
  .lf-services-v9-section,
  .lf-bc-v8-section,
  .lf-support-pro-section,
  .lf-support-value-section,
  .lf-rapid-fit-section,
  .lf-rapid5-section,
  .lf-rapid8-section,
  .lf-bc-potential-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .lf-v18-card,
  .lf-mfg-card,
  .lf-dist-card,
  .lf-retail-card,
  .lf-impl-card,
  .lf-support-card,
  .lf-cap-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .lf-home-btn,
  .lf-cap-btn,
  .lf-inner-hero-primary,
  .lf-inner-hero-secondary {
    font-size: 11.5px !important;
  }
}

/* ---------- 15. Motion accessibility ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
