/* Local refinements: retain each page's colours, type and component design. */
html { scroll-padding-top: 132px; }
body .ws-header .ws-header__dropdown-icon--local { background:color-mix(in srgb,var(--local-nav-colour) 10%,white);color:var(--local-nav-colour);flex:0 0 38px; }
body .ws-header .ws-header__mobile-service-icon--local { background:color-mix(in srgb,var(--local-nav-colour) 10%,white);color:var(--local-nav-colour); }
body .ws-header__dropdown-icon--local svg {width:21px;height:21px;stroke-width:2;}
body .ws-header__dropdown a>span:last-child {min-width:0;}
body a:focus-visible, body button:focus-visible,
body input:focus-visible, body select:focus-visible, body textarea:focus-visible {
  outline: 3px solid #0654ba;
  outline-offset: 3px;
}
body .wtakeover-beforeafter__image-note-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
body .wtakeover-beforeafter__image-note-icon svg { display: block; margin: 0; }
body .ws-header__mobile-panel {
  max-height: calc(100dvh - var(--local-header-height, 114px));
}
@media (max-width: 640px) {
  html { scroll-padding-top: 130px; }
  body .ws-header__topbar-inner { min-height: 44px; }
  body .ws-header__topbar-item[href] { min-height: 44px; display: inline-flex; align-items: center; }
  body .ws-header__topbar-right { gap: 16px; }
  body .ws-header-spacer { height: 114px; }
  body .t943__buttonwrapper {
    left: 18px !important;
    right: 74px !important;
    bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    transform: none !important;
  }
  body .t943 .t943__btn {
    box-sizing: border-box;
    width: 100%;
    height: auto !important;
    min-height: 46px;
    padding: 12px 14px !important;
    font-size: 14px !important;
    white-space: normal;
  }
  body:has(.t943) .ws-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  body:has(.ws-header__mobile-panel.is-open) .t943 { display: none; }
  body .ws-footer__column li a,
  body .ws-footer nav li a,
  body .ws-footer__email {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  body .ws-footer nav li { margin: 0; }
  body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
  body select, body textarea { font-size: 16px !important; }
  body .wintruder-benefits__footer-copy,
  body .waccess-benefits__footer-copy,
  body .waccess-solutions__footer-copy,
  body .wdesign-systems__footer-copy { min-width: 0; }
  body .wintruder-benefits__button,
  body .waccess-benefits__button,
  body .waccess-solutions__button,
  body .wdesign-systems__button {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body *, body *::before, body *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* Accessible hierarchy and a restrained navigation trail, shared by all pages. */
.seo-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-breadcrumbs{background:#fff;border-bottom:1px solid #edf0f5;color:#61708a;font-family:var(--site-text-font,Arial,sans-serif);font-size:12px;line-height:1.5}
.site-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px 10px;max-width:1200px;margin:0 auto;padding:13px 24px}
.site-breadcrumbs li{display:inline-flex;align-items:baseline;gap:10px;min-width:0}
.site-breadcrumbs li+li:before{content:'›';color:#8793a6}
.site-breadcrumbs a{color:#405778;text-decoration:none}.site-breadcrumbs a:hover{text-decoration:underline}.site-breadcrumbs a:focus-visible{outline:2px solid #0654ba;outline-offset:3px}
.site-breadcrumbs [aria-current=page]{color:#27355a}
@media(max-width:640px){.site-breadcrumbs ol{padding:10px 18px;font-size:11px}}
/* These inherited heroes reserved a 400px image slot on small screens. */
@media(max-width:720px){
 #allrecords :is(.winstall-hero,.wservice-hero,.wtakeover-hero){min-height:0;display:block;padding:56px 0 0;background-size:cover;background-position:center}
 #allrecords :is(.winstall-hero,.wservice-hero,.wtakeover-hero)::before{background:linear-gradient(180deg,rgba(24,35,63,.86),rgba(24,35,63,.96))}
 #allrecords :is(.winstall-hero__process-wrap,.wservice-hero__process-wrap,.wtakeover-hero__process-wrap){position:relative;inset:auto;margin-top:36px}
}
.ws-header__mobile-resources{grid-column:1/-1;min-width:0;border:1px solid #dce3ee;border-radius:10px;background:#fff}
.ws-header__mobile-resources>summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:16px 18px;cursor:pointer;list-style:none;color:#27355a;font-family:var(--site-heading-font);font-size:14px;font-weight:700}
.ws-header__mobile-resources>summary::-webkit-details-marker{display:none}
.ws-header__mobile-resources>summary:after{content:'⌄';font-size:18px;line-height:1;transition:rotate .18s ease}
.ws-header__mobile-resources[open]>summary{background:#f5f8fc;border-radius:10px 10px 0 0}
.ws-header__mobile-resources[open]>summary:after{rotate:180deg}
.ws-header__mobile-resource-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.ws-header__mobile-resource-links>a{min-width:0}
@media(max-width:640px){.ws-header__mobile-resource-links{grid-template-columns:1fr}}

/* Desktop photographs fill the grid row; their intrinsic aspect ratio must not
   determine the height of an entire split section on ultrawide monitors. */
@media (min-width: 1025px) {
  #allrecords :is(
    .wintercom-hero__media,.wintercom-visitor__media,.wintercom-remote__media,.wintercom-maintenance__media,
    .wcctv-hero__media,.wcctv-remote__media,.wcctv-reliability__media,
    .waccess-hero__media,.waccess-remote__media,.waccess-reliability__media,
    .wintruder-hero__media,.wintruder-alerts__media,.hp-hero__media
  ) > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
}
/* Keep full-width section backgrounds, with a composed, centred desktop canvas
   rather than stretching two columns over every pixel of a 2K/4K display. */
@media (min-width: 1600px) {
  #allrecords :is(
    .wintercom-hero__layout,.wintercom-visitor__layout,.wintercom-remote__layout,.wintercom-maintenance__layout,
    .wcctv-hero__layout,.wcctv-remote__layout,.wcctv-reliability__layout,
    .waccess-hero__layout,.waccess-remote__layout,.waccess-reliability__layout,
    .wintruder-hero__layout,.wintruder-alerts__layout
  ) {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
  }
  #allrecords .hp-hero__viewport { max-width: 1600px; margin-inline: auto; }
  #allrecords .hp-hero__arrow--prev { left: max(24px, calc((100% - 1600px) / 2 + 24px)); }
  #allrecords .hp-hero__arrow--next { right: max(24px, calc((100% - 1600px) / 2 + 24px)); }
}
