:root{--at-ff-body:'General Sans',Arial,sans-serif;--at-ff-heading:'Switzer',Arial,sans-serif}
body{font-family:var(--at-ff-body);font-weight:500}
button,input,select,textarea{font-family:var(--at-ff-body)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.wilco-service-copy h3,.wilco-stat-value{font-family:var(--at-ff-heading)}
h1,h2,h3,h4,h5,h6,.wilco-hero-heading,.footer-2-connect-title,.wilco-service-copy h3{font-weight:500!important}
.wilco-hero-heading,.footer-2-border .footer-2-connect-title{letter-spacing:-.045em}
.wilco-service-copy h3,.case-heading h1{letter-spacing:-.035em}
.sec-5-home-2 h2{letter-spacing:-.04em;line-height:1.15}

.at-main-menu nav > ul > li > a {font-weight:400!important;}
.at-offcanvas-menu nav ul li > a,
.at-offcanvas-menu nav ul li > a span {font-weight:400!important;}
.wilco-arrow-icon {display:inline-block;width:1em;height:1em;vertical-align:-.1em;flex-shrink:0;}
.wilco-contact-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:1px solid currentColor;border-radius:999px;font-size:16px;font-weight:400;line-height:1.4;color:inherit;text-decoration:none;transition:opacity .2s ease;}
.wilco-contact-button:hover{color:inherit;opacity:.7;}
.wilco-contact-button:focus-visible{outline:2px solid currentColor;outline-offset:4px;}
.footer-fixed-bottom .wilco-contact-button{color:#f5f5f5;}
.wilco-live-clock{display:block;font-size:14px;font-weight:400;line-height:1.7;font-variant-numeric:tabular-nums;}
.wilco-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.wilco-form-status{min-height:1.5em;margin-top:16px;font-size:16px;line-height:1.5;}
#enquiry{scroll-margin-top:100px;}
@media(max-width:1199px){
  .at-offcanvas-menu nav ul li > a{font-size:clamp(32px,9vw,48px)!important;line-height:1.25!important;font-weight:400!important;padding-block:8px!important;letter-spacing:-.025em;}
  .at-offcanvas-menu nav ul li > a span{font-size:inherit!important;font-weight:400!important;}
}

/* SVG mask avoids platform emoji substitution in plan bullets. */
.wilco-plan li::before {content:"";display:inline-block;width:.8em;height:.8em;margin-right:8px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;}

/* Final text reserves the exact width, preventing counter entrance layout shifts. */
.nf-stat{display:inline-grid;vertical-align:baseline}
.nf-stat>.nf-fallback,.nf-stat>.nf-number{grid-area:1/1}
.nf-enhanced>.nf-fallback{opacity:0;pointer-events:none}
.nf-number{font:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums;display:inline-block;line-height:inherit;--number-flow-mask-height:.12em;--number-flow-mask-width:.18em}
.nf-stat>.nf-number{justify-self:center}
.wilco-live-clock .nf-number{min-width:2ch;vertical-align:baseline}

.wilco-contact-mark{position:relative;width:min(100%, 320px);height:320px;margin:0 0 32px}
.wilco-contact-mark .stage{position:absolute;inset:0}
.wilco-contact-mark canvas{display:block;width:100%;height:100%}
.wilco-contact-mark .contact-mark-fallback{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .2s}
.wilco-contact-mark.is-ready .contact-mark-fallback{opacity:0}

.wilco-contact-details{padding-block:64px 32px}
@media(max-width:767px){.wilco-contact-mark{height:260px;width:260px}.wilco-contact-details{padding-top:32px}}
