/* Shared appearance on desktop and mobile. Dark sections remain intentional. */
:root{color-scheme:only light}
html.menu-open,html.menu-open body{overflow:hidden!important;overscroll-behavior:none}
.mobnav .sub{border:0!important}
.mobnav .call a{display:flex;align-items:center;justify-content:center;padding:14px 16px;min-height:48px;line-height:1.4;text-align:center;font-size:15px}
.mobnav .call a.btn-p{color:#fff;background:#cc1517;border:1px solid #cc1517}
.mobnav .call a:not(.btn-p){border:1px solid #505558;color:#fff}
.mobnav .kb-mobile-services .sub{padding:8px 0 12px 12px}
.mobnav .kb-mobile-services .sub a{border:0;font-size:16px;color:#d5d8da;padding:11px 4px}
.mobnav .kb-mobile-services summary{color:#fff}
@media(max-width:1179px){
 .mobnav.open{position:fixed;inset:var(--menu-top,86px) 0 auto;height:calc(100vh - var(--menu-top,86px));height:calc(100dvh - var(--menu-top,86px));max-height:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#1a1c1e;z-index:100;padding-bottom:calc(24px + env(safe-area-inset-bottom));border:0}
 .mobnav>.wrap{padding:12px 22px 20px}.mobnav .call{margin-top:24px}
 html.menu-open .stickycta,html.menu-open .mobilebar,html.menu-open .kb-mobile-bar{visibility:hidden}
}
@media(max-width:760px){
 .nav{min-height:72px;gap:12px}.logo svg{height:42px;max-width:calc(100vw - 112px)}.burger{width:44px;height:44px}
 .kb-service-slide{display:flex;flex-direction:column}
 .kb-slide-media{order:-1;aspect-ratio:3/2;width:100%;background:#f7f7f7}
 .kb-slide-media img{object-fit:contain;object-position:center;mask-image:none;-webkit-mask-image:none;width:100%;height:100%}
 .kb-slide-copy{order:0;padding:26px 22px 24px;gap:16px}
 .kb-slide-copy h1,.kb-slide-copy h2{font-size:clamp(2rem,8vw,3rem);line-height:1.08;color:#fff}
 .kb-slide-copy .lede{font-size:16px;line-height:1.6;color:#dce1e3}
 .kb-slide-copy .cta-row{gap:12px}.kb-slide-copy .btn{font-size:14px;padding:12px 14px;min-height:44px}
 .kb-slider-tools{position:relative;inset:auto;max-width:none;width:100%;margin:0;padding:12px 22px 18px;border:0;box-shadow:none;background:#171c1f;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .kb-slider-tools select{grid-column:1;max-width:100%;width:100%;font-size:14px;height:44px;padding-left:10px}
 .kb-slider-count{display:none}.kb-slider-buttons{gap:4px}.kb-slider-buttons button{min-width:40px;min-height:44px;padding:8px;font-size:14px}.kb-slider-buttons [data-slide-pause]{min-width:60px}
 .breadcrumb a,.breadcrumbs a,footer a{display:inline-flex;align-items:center;min-height:44px}
 .more{display:inline-flex;align-items:center;min-height:44px}
 .hint,figcaption,.kb-budget-note{font-size:13px!important}
}
.field-error{display:block;color:#b80c14;background:#fff4f3;padding:8px 10px;font-size:14px;line-height:1.45;margin-top:6px;border-left:3px solid #cc1517}
[aria-invalid=true]{border:2px solid #d52d34!important}
.fstate.err{color:#fff;background:#a20d17;padding:14px;font-size:15px;line-height:1.5}
button:disabled{cursor:wait;opacity:.65}
html.menu-open nav.mob{display:none!important}
.kb-budget-vat{margin-bottom:8px}.kb-budget-disclaimer{font-size:13px;line-height:1.5;color:#4f5a61;margin:0 0 16px}
@media(max-width:760px){.kb-slide-copy .kb-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.kb-slide-copy .eyebrow{font-size:11px;letter-spacing:.16em}}
