/* Keep the narrow masthead controls within the viewport. */
@media (max-width: 380px) {
  body.ls-inner-page .ls-masthead .ls-wrap { gap: 6px; }
  body.ls-inner-page .ls-masthead-side { gap: 6px; }
  body.ls-inner-page .ls-masthead .ls-logo {
    width: clamp(105px, 42vw, 150px) !important;
    max-width: 100% !important;
  }
  body.ls-inner-page .ls-masthead .ls-brandmark-tag { letter-spacing: .08em; }
}

@media (max-width: 520px) {
  .ls-page .p-transport-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-page .p-transport-line a { min-width: 0; padding: 14px; }
  .ls-page .p-transport-line span { font-size: 13px; overflow-wrap: anywhere; }
}

@media (max-width: 767px) {
  body.ls-inner-page .container-content-company .ls-inner-title {
    font-size: clamp(22px, 6.4vw, 42px) !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }
  body.ls-inner-page .opp-scheme-container-wrapper li {
    box-sizing: border-box;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  body.ls-inner-page #ls-content .add_content.more_more2 {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }
  body.ls-inner-page #ls-content a.main-button.spec_call {
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    white-space: normal;
    box-sizing: border-box;
  }
}

body.ls-inner-page #ls-content .dotted-table-ul:has(> .services_btn-container) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}
body.ls-inner-page #ls-content .dotted-table-ul > .services_btn-container {
  float: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.ls-inner-page #ls-content .services_btn-container > .main-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box;
  text-align: center;
  overflow-wrap: anywhere;
  white-space: normal !important;
}
body.ls-inner-page #ls-content > .row:has(.dotted-table-ul > .services_btn-container) {
  min-width: 0;
  max-width: 100%;
}

body.ls-inner-page #ls-content > .row > .container-content:has(.services_btn-container) {
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 380px) {
  body.ls-home-page .h-route-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

body.ls-inner-page #ls-content .dotted-table-ul > .services_btn-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)) !important;
  width: 100% !important;
  max-width: 755px;
  gap: 14px !important;
}

/* Keep footer copy readable where legacy article and service styles override it. */
body .ls-foot .ls-foot-brand p {
  color: #d8cfdc !important;
  font-size: 15px;
  line-height: 1.6;
}
body .ls-foot .ls-foot-tel {
  color: #fff !important;
}
body .ls-foot .ls-foot-col h4 a {
  color: #ece5ef !important;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body .ls-foot .ls-foot-col h4 a:hover,
body .ls-foot .ls-foot-col h4 a:focus-visible {
  text-decoration: underline;
}
body .ls-foot .ls-foot-col ul:not(:has(li)) {
  display: none;
}
body .ls-foot .ls-foot-top {
  padding-bottom: clamp(24px, 3vw, 40px);
}

/* Service category heading and card grid. */
body.ls-inner-page #ls-content .container-content section:has(> .dotted-table-ul > .services_btn-container) > h1 {
  margin-bottom: clamp(24px, 3vw, 38px) !important;
  line-height: 1.08 !important;
}
body.ls-inner-page #ls-content .container-content .dotted-table-ul > .services_btn-container {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)) !important;
  gap: 16px !important;
}
body.ls-inner-page #ls-content .dotted-table-ul > .services_btn-container > a.main-button {
  min-height: 96px;
  padding: 16px 20px !important;
  font-size: clamp(17px, 1.5vw, 21px) !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}
body.ls-inner-page #ls-content .dotted-table-ul > .services_btn-container > a.main-button > span {
  font: inherit !important;
  line-height: inherit !important;
  display: block;
  min-width: 0;
  text-wrap: balance;
}

.ls-extra-services-section {
  container-type: inline-size;
  max-width: 755px;
  display: block !important;
}
body.ls-inner-page #ls-content .ls-extra-services-section > h1.ls-inner-title {
  margin: 0 0 24px !important;
  padding: 0 !important;
  font-size: clamp(15px, 6.1cqw, 52px) !important;
  line-height: 1.1 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: initial;
}
.ls-extra-services-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  margin-bottom: 22px;
}
body.ls-inner-page .ls-extra-services-top .ls-inner-kicker {
  margin: 0;
}
body.ls-inner-page #ls-content .ls-extra-services-top a.spec_call {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 44px;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  font: 650 14px/1.3 Arial, sans-serif !important;
  text-transform: none;
  box-shadow: none !important;
}
body.ls-inner-page #ls-content .ls-extra-services-section .services_btn-container > a.main-button {
  align-items: center;
  justify-content: center;
  font-family: Arial, sans-serif !important;
}
body.ls-inner-page #ls-content .ls-extra-services-section .services_btn-container > a.main-button > span {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  text-align: center;
}
body.ls-inner-page #ls-content .ls-extra-services-empty-cta { display: none !important; }

/* Use the entire service panel and center labels independently of legacy icons. */
.ls-extra-services-section {
  max-width: none;
}
body.ls-inner-page #ls-content .ls-extra-services-section .dotted-table-ul > .services_btn-container {
  max-width: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.ls-inner-page #ls-content .ls-extra-services-section .services_btn-container > a.main-button {
  display: grid !important;
  place-items: center;
  padding: 16px 20px !important;
}
body.ls-inner-page #ls-content .ls-extra-services-section .services_btn-container > a.main-button::before,
body.ls-inner-page #ls-content .ls-extra-services-section .services_btn-container > a.main-button::after {
  content: none !important;
  display: none !important;
}
body.ls-inner-page #ls-content .ls-extra-services-section > h1.ls-inner-title {
  font-size: clamp(15px, 4.5cqw, 46px) !important;
}
@container (min-width: 650px) {
  body.ls-inner-page #ls-content .ls-extra-services-section > h1.ls-inner-title {
    white-space: nowrap !important;
  }
}
@container (max-width: 500px) {
  body.ls-inner-page #ls-content .ls-extra-services-section .dotted-table-ul > .services_btn-container {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Limit the panel itself so its grid and outer edges stay together. */
body.ls-inner-page #ls-content > .row > .container-content:has(.ls-extra-services-section) {
  float: none !important;
  width: 100% !important;
  max-width: 880px !important;
  padding: clamp(20px, 3vw, 42px) !important;
  justify-self: start;
}
