@font-face{font-family:"Exo 2";src:url(/fonts/exo2-latin.woff2)format("woff2");font-style:normal;font-weight:600 800;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-400-latin.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-700-latin.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{--yellow:#fed504;--yellow-section:#ffd500;--charcoal:#3f3f3f;--slate:#5d6165;--ink:#000;--paper:#fff;--soft:#f3f3f3;--container:1140px;--font-body:Lato, Arial, sans-serif;--font-heading:"Exo 2", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font-body);margin:0;font-size:17.6px;line-height:1.5;overflow-x:hidden}body.menu-open{overflow:hidden}img,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration-color:var(--yellow);text-underline-offset:.15em}a:hover{color:var(--yellow)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-heading);font-weight:800;line-height:1}h1,h2{color:var(--slate);font-size:2.6rem}.container{width:min(calc(100% - 40px), var(--container));margin-inline:auto}.section{padding-block:100px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;color:var(--ink);background:var(--yellow);padding:10px 16px;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.pattern-dark{background-color:var(--charcoal);background-image:linear-gradient(#333333ed 31%,#5c616614 100%),url(/images/original/Asset-1.png);background-position:50%;background-size:auto,850px;background-attachment:scroll}.pattern-yellow{background-color:var(--yellow-section);background-image:linear-gradient(#ffd500d6,#ffd500d6),url(/images/original/Asset-1.png);background-size:auto,620px}.button{text-transform:uppercase;cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;min-height:38px;padding:10px 15px;font-size:.9rem;line-height:1;text-decoration:none;transition:color .18s,filter .18s;display:inline-flex}.button--gradient{border:2px solid var(--yellow);color:var(--paper);background:linear-gradient(206deg, #000, transparent), var(--yellow);box-shadow:0 0 10px #00000080}.button--gradient:hover{color:var(--yellow);filter:brightness(.9)}.heading-rule,.section-rule{background:var(--slate);height:1px;margin:28px 0 38px}.section-rule{width:43%;margin-inline:auto}.section-rule--light{background:#fffc}.center{text-align:center}.contact-bar{z-index:95;min-height:44px;color:var(--ink);background:var(--yellow);position:relative}.contact-bar__inner{justify-content:flex-end;align-items:center;gap:22px;min-height:44px;display:flex}.contact-bar a{color:var(--ink);align-items:center;gap:5px;font-size:.98rem;text-decoration:none;display:inline-flex}.contact-bar a:hover,.contact-bar a:focus-visible{color:var(--ink)}.contact-bar__icon{fill:currentColor;flex:none;width:1em;height:1em;display:block}.site-header{z-index:90;background:var(--paper);height:108px;position:sticky;top:0;box-shadow:0 1px 3px #00000014}.nav-shell__inner{justify-content:space-between;align-items:center;gap:30px;height:108px;display:flex}.brand{flex:none;width:227px;text-decoration:none}.brand img{width:227px;height:auto}.primary-nav{align-items:center;gap:8px;display:flex}.primary-nav>ul,.sub-menu{margin:0;padding:0;list-style:none}.primary-nav>ul{align-items:center;display:flex}.primary-nav li{position:relative}.nav-item-row{align-items:center;display:flex}.primary-nav a{color:#444;align-items:center;min-height:48px;padding:3px 10px;font-size:1rem;text-decoration:none;display:flex}.primary-nav a:hover{color:var(--yellow)}.primary-nav a[aria-current=page]{color:#bbb}.primary-nav .has-children>.nav-item-row>a:after{color:#444;content:"⌄";margin-left:8px}.sub-menu{background:var(--slate);min-width:220px;display:none;position:absolute;top:100%;left:0;box-shadow:0 0 10px #0003}.sub-menu a{min-height:44px;color:var(--paper);padding:10px 14px}.has-children:hover>.sub-menu,.has-children:focus-within>.sub-menu{display:block}.submenu-toggle,.mobile-menu__head,.menu-toggle,.menu-scrim{display:none}.share-bar{z-index:80;width:40px;color:var(--ink);background:var(--yellow);flex-direction:column;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.share-bar>span{letter-spacing:.08em;text-align:center;text-transform:uppercase;writing-mode:vertical-rl;padding:10px 0 8px;font-size:.72rem}.share-bar a{place-items:center;width:40px;height:34px;text-decoration:none;display:grid}.hero{height:min(80vh,745px);min-height:620px;color:var(--paper);background:#222;position:relative;overflow:hidden}.hero-slide{opacity:0;pointer-events:none;background-image:linear-gradient(#0000007a, #0000007a), var(--hero-image);background-position:50%;background-size:cover;transition:opacity .3s;position:absolute;inset:0}.hero-slide.is-active{opacity:1;pointer-events:auto}.hero-slide__content{justify-content:flex-end;align-items:center;height:100%;display:flex}.hero-slide__content>div{text-align:center;width:56%}.hero-slide h2{color:var(--paper);text-transform:capitalize;margin-bottom:22px;font-size:3.1rem;line-height:1.2}.hero-arrow{z-index:3;color:#111;background:var(--yellow);cursor:pointer;border:0;width:42px;height:52px;font-size:2rem;position:absolute;top:50%;transform:translateY(-50%)}.hero-arrow--prev{padding-left:22px;left:-26px}.hero-arrow--next{padding-right:22px;right:-26px}.hero__controls{z-index:4;flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.hero__controls button{background:0 0;border:1px solid #111;border-radius:50%;width:8px;height:8px;padding:0}.hero__controls button.is-active{background:#111}.quote-strip{z-index:6;position:relative}.quote-strip__inner{margin-top:-75px;padding:25px 40px 28px;box-shadow:5px 5px 10px #00000080}.quote-strip h2{color:#636363;margin-bottom:14px;font-size:3rem}.quote-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 0;display:grid}.quote-form--compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quote-form--compact .form-field{position:relative}.quote-form--compact .form-field label{z-index:1;pointer-events:none;margin:0;line-height:1;position:absolute;top:8px;left:11px}.quote-form--compact .form-field input{min-height:52px;padding:24px 10px 6px}.form-field{align-content:start;display:grid}.form-field label{color:var(--ink);margin-bottom:3px;font-size:.88rem;font-weight:400}.form-field--select{padding-top:calc(1.32rem + 3px)}.form-field input,.form-field select,.form-field textarea{color:#1f2124;background:var(--paper);border:1px solid #69727d;border-radius:0;width:100%;min-height:48px;padding:9px 10px;font-size:1rem}.form-field textarea{resize:vertical;min-height:90px}.form-field--wide,.quote-form>.button{grid-column:1/-1}.quote-form>.button{min-height:40px;color:var(--paper);background:#000;border:0;border-radius:0}.contact-section .quote-form{column-gap:0}.contact-section .quote-form>.button{border:2px solid var(--yellow);background:linear-gradient(206deg, #000, transparent), var(--yellow)}.form-status{min-height:0;margin:0;font-size:.78rem;font-weight:700}.form-status:empty{display:none}.form-honeypot{width:1px;height:1px;position:fixed;left:-10000px;overflow:hidden}.turnstile-field{gap:4px;min-width:0}.turnstile-widget{width:100%;min-height:65px}.turnstile-note{min-height:1em;color:var(--slate);margin:0;font-size:.72rem}.quote-form>.button:disabled{cursor:not-allowed;opacity:.65}.quote-form[aria-busy=true]>.button:disabled{cursor:wait}.split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:70px;display:grid}.split--intro p{font-size:1.1rem}.intro-section h1{max-width:520px}.intro-section a,.fencing-detail a,.contact-section__content a{color:var(--yellow)}.offset-photo{box-shadow:10px 10px 0 var(--slate);margin:0 10px 10px 0}.offset-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}.services-section{min-height:907px;color:var(--paper);align-items:center;padding-block:100px;display:grid;position:relative}.services-section h2{color:var(--paper);text-align:center}.service-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:52px 24px;display:grid}.service-card{text-align:center;flex-direction:column;align-items:center;text-decoration:none;display:flex}.service-icon{object-fit:contain;width:112px;height:112px}.service-card h3{color:var(--yellow);margin:14px 0 0;font-size:1.3rem;line-height:1.5}.coverage-section{grid-template-columns:repeat(2,minmax(0,1fr));min-height:428px;display:grid}.coverage-section__content{background:var(--yellow-section);align-items:center;display:grid}.coverage-section__content>div{width:min(550px,100% - 60px);margin-left:auto;padding-right:44px}.coverage-section__content h2{color:#000}.coverage-map{border:0;width:100%;height:100%;min-height:425px}.testimonials-section{text-align:center;background:#ffffffed;min-height:335px;padding-block:48px}.testimonials-section h2{color:#000}.testimonials-frame{min-height:150px;position:relative}.testimonial{opacity:0;pointer-events:none;align-content:center;width:min(1050px,84%);margin:auto;transition:opacity .3s;display:grid;position:absolute;inset:0}.testimonial.is-active{opacity:1;pointer-events:auto}.testimonial p{margin-bottom:10px;font-style:italic}.testimonial cite{color:var(--yellow);font-family:var(--font-heading);font-style:normal;font-weight:600}.testimonial-controls{justify-content:space-between;display:flex;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.testimonial-controls button{width:30px;height:30px;color:var(--paper);background:linear-gradient(206deg, #000, transparent), var(--yellow);cursor:pointer;border:0}.value-banner{text-align:center;background-image:linear-gradient(#00000080,#00000080),url(/images/original/Decorative-Laser-Cut-Screen.jpg);background-position:50%;background-size:cover;background-attachment:scroll;place-items:center;min-height:293px;padding:80px 20px 150px;display:grid}.value-banner h2{color:var(--paper);margin:0}.value-cards{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:-101px;display:grid;position:relative}.value-cards article{background:var(--paper);min-height:350px;padding:45px 24px;box-shadow:0 4px 12px #0000004d}.fencing-detail{padding-top:105px}.fencing-detail__grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:30px;display:grid}.fencing-topics{border:1px solid #ddd}.fencing-topics details+details{border-top:1px solid #ddd}.fencing-topics summary{color:#000;font-family:var(--font-heading);text-align:center;cursor:pointer;padding:18px 58px;font-size:1.6rem;font-weight:700;list-style:none;position:relative}.fencing-topics summary::-webkit-details-marker{display:none}.fencing-topics summary:before{content:"+";font-size:2rem;line-height:.8;position:absolute;left:22px}.fencing-topics details[open] summary:before{content:"−"}.fencing-topics details>div{border-top:1px solid #ddd;padding:18px 22px 12px}.button--gallery{min-width:259px;min-height:60px;margin-top:40px;padding:20px 35px;font-weight:700}.core-values{min-height:544px;color:var(--paper);padding-block:100px}.core-values__inner{text-align:left;max-width:1140px}.core-values h2{color:var(--paper);text-align:center}.core-values p{margin-bottom:20px}.contact-section{grid-template-columns:repeat(2,minmax(0,1fr));min-height:821px;display:grid}.contact-section__photo{background:url(/images/original/Aluminium-Panels-with-Timber-Posts-around-Pool.jpg) 50%/cover no-repeat;min-height:650px}.contact-section__content{padding:75px max(42px, calc((100vw - var(--container)) / 2));align-items:center;padding-left:42px;display:grid}.contact-section__content>div{max-width:560px}.contact-section__content h2{color:#000}.contact-section .quote-form{margin-top:34px}.contact-cta{z-index:5;min-height:287px;margin-top:-90px;margin-bottom:-90px;padding:42px 30px;position:relative;box-shadow:5px 5px 10px #00000073}.contact-section+.contact-cta{margin-top:-40px}.contact-cta a,.contact-cta a:hover,.contact-cta a:focus-visible{color:var(--ink)}.contact-cta__links{grid-template-columns:1fr 1fr;margin-top:24px;display:grid}.contact-cta__links a{font-family:var(--font-heading);flex-direction:column;align-items:center;gap:8px;font-size:1.75rem;text-decoration:none;display:flex}.contact-cta__links span{border:3px solid var(--slate);width:64px;height:64px;color:var(--slate);font-family:var(--font-body);border-radius:50%;place-items:center;display:grid}.site-footer{color:var(--paper);background:var(--slate);padding-top:150px}.site-footer__grid{grid-template-columns:1.15fr 1fr 1fr;align-items:center;gap:70px;padding-bottom:48px;display:grid}.footer-logo img{width:334px;height:auto}.site-footer a{color:inherit}.site-footer h2{color:var(--paper);font-family:var(--font-body);font-size:1rem;line-height:1.5}.footer-social{color:var(--yellow);align-items:center;gap:10px;font-size:1.2rem;display:flex}.footer-social a{justify-content:center;align-items:center;display:inline-flex}.footer-social svg{fill:currentColor;width:auto;height:1.1em;display:block}.site-footer__rule{background:#00000073;height:1px}.site-footer__base{padding-block:24px;font-size:.78rem}.site-footer__base .container{flex-direction:column;display:flex}@media (width<=1180px){.primary-nav a{padding-inline:7px;font-size:.9rem}}@media (width<=1024px){.contact-bar,.contact-bar__inner{min-height:34px}.site-header,.nav-shell__inner{height:72px}.brand,.brand img{width:180px}.menu-toggle{border:2px solid var(--yellow);background:var(--yellow);cursor:pointer;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.menu-toggle__bars,.menu-toggle__bars:before,.menu-toggle__bars:after{background:var(--charcoal);content:"";width:24px;height:2px;display:block}.menu-toggle__bars:before{transform:translateY(-7px)}.menu-toggle__bars:after{transform:translateY(5px)}.primary-nav{z-index:110;width:min(320px,86vw);height:100dvh;color:var(--paper);background:#2f3031;transition:transform .5s;display:block;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(105%)}.primary-nav.is-open{transform:translate(0)}.mobile-menu__head{min-height:72px;color:var(--yellow);font-family:var(--font-heading);text-transform:uppercase;justify-content:space-between;align-items:center;padding:14px 20px;font-weight:800;display:flex}.mobile-menu__head button{background:var(--yellow);border:0;border-radius:50%;width:42px;height:42px;font-size:1.8rem}.primary-nav>ul{display:block}.nav-item-row{border-top:1px solid #ffffff1f}.primary-nav a{min-height:52px;color:var(--paper);flex:1;padding:10px 20px;font-size:1rem}.primary-nav .has-children>.nav-item-row>a:after{display:none}.submenu-toggle{width:52px;height:52px;color:var(--yellow);background:0 0;border:0;font-size:1.4rem;display:block}.sub-menu{min-width:0;box-shadow:none;display:none;position:static}.submenu-open>.sub-menu{display:block}.has-children:hover>.sub-menu,.has-children:focus-within>.sub-menu{display:none}.has-children.submenu-open>.sub-menu{display:block}.sub-menu a{padding-left:34px}.menu-scrim{z-index:100;opacity:0;pointer-events:none;background:#0009;border:0;transition:opacity .5s;display:block;position:fixed;inset:0}.menu-scrim.is-open{opacity:1;pointer-events:auto}.split,.fencing-detail__grid{grid-template-columns:1fr}.split{gap:55px}.value-cards{grid-template-columns:1fr}.value-cards article{min-height:0}.fencing-detail__grid{gap:50px}.contact-section{grid-template-columns:1fr}.contact-section__photo{min-height:620px}.contact-section__content{padding:80px 60px 130px}.site-footer__grid{gap:36px}}@media (width<=767px){body{font-size:16px}.container{width:min(calc(100% - 30px), var(--container))}h1,h2{font-size:2.25rem}.section{padding-block:65px}.contact-bar__inner{gap:20px}.contact-bar__label{display:none}.contact-bar__icon{width:.85rem;height:.85rem}.hero{height:300px;min-height:300px}.hero-slide__content{align-items:center}.hero-slide__content>div{width:100%;padding-inline:12px}.hero-slide h2{margin-bottom:22px;font-size:1.78rem;line-height:1.05}.hero-arrow{width:28px;height:34px;font-size:1.2rem}.hero-arrow--prev{padding-left:13px;left:-18px}.hero-arrow--next{padding-right:13px;right:-18px}.hero__controls{flex-direction:row;top:auto;bottom:8px;left:50%;transform:translate(-50%)}.share-bar{width:28px;top:290px;transform:none}.share-bar>span,.share-bar a{width:28px}.share-bar a{height:28px;font-size:.72rem}.quote-strip{width:100%}.quote-strip__inner{margin-top:0;padding:30px 18px 34px}.quote-strip h2{font-size:2.25rem;line-height:1}.quote-form,.quote-form--compact{grid-template-columns:1fr;gap:8px}.intro-section{padding-block:65px}.split--intro p{font-size:1rem}.services-section,.core-values{padding-block:70px}.services-section{min-height:2800px}.service-grid{grid-template-columns:1fr;gap:92px}.service-icon{width:104px;height:104px}.service-card h3{margin-top:8px;font-size:1.25rem}.coverage-section{grid-template-columns:1fr}.coverage-section__content>div{width:100%;padding:52px 28px}.coverage-map{min-height:425px}.testimonials-section{min-height:780px;padding-block:65px}.testimonials-frame{min-height:450px}.testimonial{width:80%}.testimonial p{font-size:1.05rem}.value-banner{background-attachment:scroll;min-height:280px;padding:70px 20px 120px}.value-banner h2{font-size:2rem}.value-cards{gap:26px;margin-top:-82px}.value-cards article{min-height:350px;padding:34px 24px}.fencing-detail{padding-top:70px}.fencing-topics summary{padding:16px 40px;font-size:1.1rem}.fencing-topics summary:before{font-size:1.45rem;left:16px}.button--gallery{min-width:0;min-height:50px}.core-values{text-align:left;min-height:760px}.core-values h2{font-size:2rem}.contact-section__photo{min-height:430px}.contact-section__content{padding:65px 22px 120px}.contact-cta{width:calc(100% - 30px);min-height:0;margin-top:-80px;margin-bottom:-70px;padding:32px 20px}.contact-cta__links{grid-template-columns:1fr;gap:26px}.contact-cta__links a{font-size:1.15rem}.site-footer{padding-top:125px}.site-footer__grid{grid-template-columns:1fr;align-items:start;gap:42px}.footer-logo img{width:min(100%,334px)}.site-footer__base{font-size:.68rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
