:root { --ls-accent:#ff6235; --ls-dark:#222; --ls-paper:#eff0f5; }
.ls-page-hero h1,.ls-explorer-intro h1{width:fit-content}
.ls-page-hero h1::after,.ls-explorer-intro h1::after{content:"";display:block;width:100%;height:4px;margin-top:12px;border-radius:4px;background:var(--ls-accent)}
html {scroll-padding-top:120px;}
body {margin:0;overflow-x:clip;}
body.sans {font-family:'Source Sans 3',Arial,sans-serif;}
[hidden] {display:none!important;}
:where(a,button,input,textarea,select):focus-visible {outline:3px solid var(--ls-accent);outline-offset:4px;}
.ls-skip-link {position:fixed;z-index:1000;top:8px;left:8px;padding:12px 20px;background:white;color:#222;transform:translateY(-150%);}
.ls-skip-link:focus {transform:none;}
.ls-menu-list {list-style:none;display:flex;align-items:center;gap:inherit;margin:0;padding:0;}
#mobile-menu {top:100%;left:auto;right:16px;width:clamp(160px,50vw,260px);padding:12px 20px;translate:none;transform:none;text-align:right;border:1px solid #ffffff24;border-radius:0 0 12px 12px;box-shadow:0 12px 28px #0005;max-height:calc(100dvh - 86px);overflow-y:auto;}
#mobile-menu .ls-menu-list {flex-direction:column;align-items:stretch;width:100%;gap:4px;}
#mobile-menu .ls-menu-list a {display:flex;justify-content:flex-end;align-items:center;min-height:44px;padding:8px 0;}
#hamburger-btn {min-width:44px;min-height:44px;justify-content:center;}
#footer-menu ul {list-style:none;margin:0;padding:0;}
.service-tab[aria-pressed=false] {opacity:.7;}
.service-tab:hover,.service-tab:focus-visible {opacity:1;}
.service-tab {text-align:left;}
.service-panel {scroll-margin-top:120px;overflow-wrap:anywhere;}
.service-panel img {max-width:100%;height:auto;}
.ls-form-privacy {font-size:14px;line-height:1.5;font-weight:400;color:#333;margin-top:16px;}
.ls-form-privacy a {text-decoration:underline;}
.ls-cookie-settings {background:#222;color:white;padding:0 24px 24px;text-align:center;font-size:14px;}
.ls-cookie-settings button {text-decoration:underline;cursor:pointer;min-height:44px;}
.splide {visibility:visible;}
.splide {min-width:0;max-width:100%;}
@media(max-width:1279px) {#texts-slider {width:100%;} .page-template-services-page .mr-32 {margin-right:0;}}
.splide:not(.is-initialized) .splide__list {flex-wrap:wrap;gap:24px;}
.splide:not(.is-initialized) .splide__slide {width:100%;}
.ls-reveal {opacity:0;transform:translateY(28px);transition:opacity 1s,transform 1s;}
.ls-reveal.ls-revealed {opacity:1;transform:none;}
.ls-knowledge-body:has(#cf7-blur-overlay) {min-height:1250px;}
#cf7-blur-overlay {pointer-events:none;}
#cf7-blur-overlay>div:last-child {pointer-events:auto;}
.wpcf7-form input,.wpcf7-form select,.wpcf7-form textarea {max-width:100%;}
.wpcf7-not-valid-tip,.wpcf7-response-output {font-weight:400;}
#main-header .custom-logo {height:40px;width:auto;max-width:100%;}
#menu-primary a {white-space:nowrap;}
@media(max-width:767px) {
  .splide__pagination__page {left:0!important;width:24px!important;}
  #main-header .custom-logo {max-width:250px;}
  #main-header .container {gap:8px;}
  #hamburger-btn {margin:0;}
  .service-tab {height:auto;min-height:185px;}
  .service-tab span.mt-12 {margin-top:24px;}
  footer .gap-24 {gap:40px;}
  .ls-cookie-settings {padding-bottom:80px;}
  .ls-knowledge-body:has(#cf7-blur-overlay) {min-height:1450px;}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
  .ls-reveal {opacity:1;transform:none;}
}
/* CF7 retains its original custom submit wrapper; keep readable dark text on orange. */
.wpcf7 .submit-container,.wpcf7 .submit-container input[type=submit]{color:#222!important;stroke:#222!important}
.wpcf7 .submit-container svg{stroke:#222!important}
.wpcf7 .submit-container:hover{background:#ff6235!important;color:#222!important}

/* Shared direct contact fallback; orange remains the brand accent. */
.ls-direct-contact{overflow-wrap:anywhere;color:#20272d}
.ls-direct-contact>p{margin:0 0 20px;line-height:1.65}
.ls-direct-contact>p:last-child{margin:22px 0 0}
.ls-direct-contact p a{color:#20272d;text-decoration:underline;text-decoration-color:#ff6235;text-underline-offset:4px}
.ls-direct-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px}
.ls-direct-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 20px;background:#ff6235;color:#222!important;font-weight:700;border:1px solid #ff6235;border-radius:7px;text-decoration:none!important}
.ls-direct-secondary{background:#fff;border-color:#c9d0d5}
.ls-direct-button:hover{box-shadow:0 3px 14px #0002}
.ls-direct-button:focus-visible{outline:3px solid #20272d;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.ls-direct-button{transition:none}}
