/* Public accessibility refinements for keyboard, touch and motion-sensitive users. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #111;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px #fff;
}

:where(button, .btn, .menu, .phone-link) { min-height: 44px; }

html.tpp-analytics-consent-open { scroll-padding-bottom: 300px; }
html.tpp-analytics-consent-open body { padding-bottom: 300px; }

.tpp-analytics-preference { margin:14px 0 22px;padding:16px 18px;border:1px solid rgba(20,32,24,.14);border-radius:14px;background:#f7faf7; }
.tpp-analytics-preference strong,.tpp-analytics-consent strong {display:block;margin-bottom:6px}
.tpp-analytics-preference-status,.tpp-analytics-consent-copy {display:block;line-height:1.45}
.tpp-analytics-preference-status {margin-bottom:12px}
.tpp-consent-actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.tpp-consent-button {border-radius:999px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.tpp-consent-button-primary {border:0;background:#257a18;color:#fff}
.tpp-consent-button-secondary {border:1px solid #b9c3bc;background:#fff;color:#142018}
.tpp-analytics-consent {position:fixed;left:16px;right:16px;bottom:16px;z-index:10000;max-width:760px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:16px 18px;border:1px solid rgba(20,32,24,.14);border-radius:14px;background:#fff;color:#142018;box-shadow:0 10px 35px rgba(0,0,0,.18);font:inherit;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.tpp-repair-notice {border:2px solid #c8dfc3;background:#f7fbf5}
.tpp-repair-acknowledgement {display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.tpp-repair-acknowledgement input {width:22px;height:22px;min-width:22px;margin-top:2px}
.tpp-staff-login-fallback {padding:8px 16px;text-align:center;font-size:12px}

/* Mobile layout safety pass. */
@media (max-width:760px){
 html{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;scroll-padding-top:80px!important}
 body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
 main,section,header,footer,.container,.hero-grid,.contact-grid,.contact-info,.contact-form,.quick-quote,.it-service-gateway,.it-services-section,.it-build-panel,[data-repair-quote-page]{min-width:0!important;max-width:100%!important}
 .container{width:calc(100% - 28px)!important;margin-left:auto!important;margin-right:auto!important}
 h1,h2,h3,h4,p,strong,small,span,label,a{overflow-wrap:break-word}
 a[href^="mailto:"]{overflow-wrap:anywhere!important;word-break:break-word!important}
 .topbar{display:none!important}.header{height:72px!important;min-height:72px!important}.nav{width:calc(100% - 28px)!important;gap:10px!important}
 .logo{width:172px!important;max-width:52vw!important;min-width:0!important;flex:0 1 172px!important}.logo img{width:100%!important;height:auto!important;max-height:52px!important;object-fit:contain!important}
 .nav-actions{margin-left:auto!important;gap:4px!important}.nav-actions>.phone-link,.nav-actions>.btn{display:none!important}.menu{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:48px!important;min-width:48px!important;height:48px!important;padding:0!important;font-size:27px!important;line-height:1!important;touch-action:manipulation!important}.nav-links{top:72px!important;max-width:calc(100vw - 28px)!important}.nav-links a{display:flex!important;align-items:center!important;min-height:44px!important;padding-top:10px!important;padding-bottom:10px!important}
 .hero{min-height:auto!important;padding:46px 0 34px!important}.hero-grid{grid-template-columns:1fr!important;gap:20px!important;align-items:start!important}.hero h1{max-width:100%!important;margin:16px 0!important;font-size:clamp(40px,11.5vw,54px)!important;line-height:.99!important;letter-spacing:-.052em!important}.hero-copy>p{max-width:100%!important;margin-bottom:22px!important;font-size:16px!important;line-height:1.55!important}.hero-buttons{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}.hero-buttons .btn,.btn-large{width:100%!important;min-height:52px!important;padding:14px 16px!important;white-space:normal!important;text-align:center!important;line-height:1.25!important}.trust-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:24px!important}.trust-item{min-width:0!important}
 /* Keep the diagnostic artwork readable: previous 300px stage clipped its own laptop copy. */
 .device-stage,.device-stage-multi{width:100%!important;height:430px!important;min-height:430px!important;margin-top:2px!important;overflow:hidden!important}.device-stage-multi .stage-glow{inset:62px 4px 18px 24px!important}.device-laptop-hero{left:18px!important;top:142px!important;width:76%!important;max-width:300px!important}.device-laptop-screen{height:176px!important;border-width:8px!important;border-bottom-width:10px!important}.device-laptop-ui{gap:7px!important;padding:14px 14px 12px!important;overflow:hidden!important}.device-laptop-ui small{font-size:10px!important;line-height:1.25!important}.device-laptop-ui strong{font-size:18px!important;line-height:1.08!important}.device-laptop-ui span{font-size:10px!important;line-height:1.35!important}.device-phone-hero{right:8px!important;top:72px!important;width:82px!important;height:166px!important;border-width:6px!important;border-radius:21px!important}.device-phone-hero:before{left:23px!important;width:25px!important;height:8px!important}.device-phone-hero .device-check,.device-tablet-hero .device-check{width:36px!important;height:36px!important;font-size:18px!important}.device-phone-hero small{display:none!important}.device-tablet-hero{right:7px!important;bottom:34px!important;width:103px!important;height:128px!important;border-width:6px!important}.device-stage-multi .float-device-range{left:0!important;top:18px!important;max-width:170px!important;padding:10px 12px!important;z-index:5!important}.device-stage-multi .float-device-range b{font-size:12px!important;line-height:1.28!important}.device-stage-multi .float-tech-support{display:none!important}
 .section,.it-services-section{padding:56px 0!important}.section-head,.it-services-heading,.it-gateway-head,.it-support-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;margin-bottom:24px!important}.section-title,.it-services-heading .section-title,.it-gateway-head h2{max-width:100%!important;font-size:33px!important;line-height:1.05!important;letter-spacing:-.035em!important}.section-head>p,.it-services-heading>p,.it-gateway-head>p{max-width:100%!important;font-size:14px!important;line-height:1.58!important}
 .service-grid,.device-service-grid,.device-category-grid,.promise-grid,.reviews,.process-grid,.it-primary-grid,.it-service-grid,.it-gateway-grid{grid-template-columns:1fr!important;gap:14px!important}.service-card,.device-category,.it-service-card{min-height:0!important;padding:20px 18px!important}.process-grid{gap:28px!important}.process-visual,.multi-workbench{min-height:360px!important}
 .quick-quote-wrap,.it-service-gateway+.quick-quote-wrap{margin-top:0!important;padding:44px 0 52px!important}.quick-quote{width:100%!important;padding:18px 16px!important;border-radius:20px!important}.quick-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;margin-bottom:18px!important}.quick-head h2,.it-service-gateway+.quick-quote-wrap .quick-head h2{font-size:23px!important;line-height:1.15!important}.quick-head p{font-size:13px!important;line-height:1.45!important}.quick-steps{width:100%!important;justify-content:space-between!important;gap:5px!important}.quick-steps i{flex:1 1 auto!important;width:auto!important}.quick-form,.quick-result.show{grid-template-columns:1fr!important;gap:12px!important}.quick-submit{width:100%!important;min-height:50px!important;white-space:normal!important}.metric{border-left:0!important;border-top:1px solid rgba(255,255,255,.16)!important;padding:12px 0 0!important}
 input,select,textarea{max-width:100%!important;font-size:16px!important}.field,.form-field{min-width:0!important}.contact-grid{grid-template-columns:1fr!important}.contact-info,.contact-form{padding:20px 16px!important}.footer-grid{grid-template-columns:1fr!important;gap:22px!important}.tpp-consent-actions{display:grid!important;grid-template-columns:1fr!important}.tpp-consent-button{width:100%!important;min-height:46px!important}
}
@media (max-width:480px){.container,.nav{width:calc(100% - 24px)!important}.logo{width:155px!important;max-width:55vw!important}.hero{padding-top:34px!important}.hero h1{font-size:clamp(37px,11.2vw,48px)!important}.device-stage,.device-stage-multi{height:410px!important;min-height:410px!important}.device-laptop-hero{top:138px!important;width:78%!important}.device-laptop-screen{height:168px!important}.device-phone-hero{top:72px!important}.section-title,.it-services-heading .section-title,.it-gateway-head h2{font-size:30px!important}.quick-quote{padding:16px 13px!important}.contact-info,.contact-form{padding:18px 14px!important}}
@media (max-width:360px){.device-stage-multi{height:350px!important;min-height:350px!important}.device-laptop-hero{left:12px!important;top:96px!important;width:215px!important;max-width:215px!important}.device-laptop-screen{height:136px!important}.device-laptop-ui{gap:8px!important}.device-laptop-ui strong{font-size:16px!important}.device-phone-hero{right:7px!important;top:37px!important;width:76px!important;height:158px!important;border-width:5px!important}.device-phone-hero:before{left:23px!important;width:20px!important}.device-tablet-hero{right:5px!important;bottom:28px!important;width:96px!important;height:122px!important;border-width:5px!important}.device-stage-multi .float-device-range{max-width:145px!important;padding:9px 11px!important}.device-stage-multi .float-device-range b{font-size:12px!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:hover,.service-card:hover{transform:none!important}}

/* White on the original bright green failed normal-text contrast. */
.btn.btn-green { background:#257a18; color:#fff; }
.btn.btn-green:hover { background:#1c6012; color:#fff; }
.guide-content { max-width:760px; margin-inline:auto; overflow-wrap:anywhere; }
.guide-content h2 { margin-top:2rem; }
.guide-content a:not(.btn), .policy-content a { color:#216b16; text-decoration:underline; text-underline-offset:3px; }
.guide-content li { margin-block:.65rem; }
