/*
Theme Name: RoboTurf SW
Theme URI: https://roboturf.uk
Author: RoboTurf SW
Description: A fast, responsive one-page WordPress theme for RoboTurf SW.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: roboturf-sw
*/

:root{--navy:#031d2b;--green:#07931a;--green-light:#64d26e;--cream:#f4f7f2;--muted:#64727a;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;color:var(--navy);background:var(--cream);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body.admin-bar .site-header{top:32px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:88px;display:flex;align-items:center;gap:42px;padding:12px clamp(22px,5vw,76px);background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #dfe7df}
.brand{width:225px;margin-right:auto;display:block}
.brand img{display:block;width:100%;height:61px;object-fit:contain;object-position:left center}
.main-navigation{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:700}
.main-navigation a{padding:12px 0;border-bottom:2px solid transparent}
.main-navigation a:hover,.main-navigation a:focus{color:var(--green);border-color:var(--green)}
.menu-toggle{display:none;border:0;background:transparent;color:var(--navy);padding:10px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 23px;background:var(--green);color:#fff;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-radius:2px;transition:.2s}
.button:hover,.button:focus{background:var(--navy);transform:translateY(-2px);color:#fff}
.button-small{padding:14px 20px;font-size:12px}
.hero{min-height:690px;padding:90px clamp(24px,7vw,110px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:8vw;color:#fff;background:var(--navy);position:relative;overflow:hidden}
.hero-grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-copy,.pitch-card{position:relative;z-index:1}
.eyebrow{margin:0 0 22px;color:#74da7d;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.green{color:var(--green)}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif}
h1{margin:0;font-size:clamp(54px,6.3vw,94px);line-height:.92;letter-spacing:-.055em;font-weight:900}
h1 span{color:#58cc63}
.hero-intro{max-width:620px;margin:32px 0;color:#c6d2d6;font-size:19px;line-height:1.6}
.hero-actions{display:flex;align-items:center;gap:30px}
.text-link{font-size:14px;font-weight:800;border-bottom:1px solid currentColor;padding:10px 0 6px}
.pitch-card{height:500px;padding:32px;background:linear-gradient(145deg,#138322,#075e16);border:1px solid #54c861;box-shadow:20px 22px 0 #ffffff0d;transform:rotate(2deg)}
.pitch{height:100%;border:4px solid #ffffffe0;position:relative;overflow:hidden}
.halfway{position:absolute;left:0;right:0;top:50%;border-top:4px solid #fff}
.centre-circle{width:142px;height:142px;border:4px solid #fff;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.box{width:190px;height:74px;border:4px solid #fff;position:absolute;left:50%;transform:translateX(-50%)}
.box.top{top:-4px}.box.bottom{bottom:-4px}
.marker{width:72px;height:94px;position:absolute;left:25%;top:42%;background:var(--navy);border-radius:34px 34px 18px 18px;box-shadow:0 8px 18px #0006}
.marker:before,.marker:after{content:"";width:22px;height:28px;background:#07141d;border:5px solid #6b7980;border-radius:50%;position:absolute;bottom:-8px}
.marker:before{left:-8px}.marker:after{right:-8px}
.marker span{width:16px;height:28px;background:#fff;position:absolute;bottom:-29px;left:28px}
.precision-label{position:absolute;right:-20px;bottom:24px;padding:14px 18px;background:#fff;color:var(--navy);font-size:13px;transform:rotate(-2deg)}
.precision-label strong{color:var(--green)}
.trust-strip{min-height:78px;padding:20px 7vw;background:#fff;display:flex;align-items:center;justify-content:center;gap:38px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.trust-strip i{width:5px;height:5px;border-radius:50%;background:var(--green)}
.section{padding:110px clamp(24px,7vw,110px)}
.section-heading{display:grid;grid-template-columns:1.1fr .75fr;gap:10vw;align-items:end;margin-bottom:58px}
h2{margin:0;font-size:clamp(42px,5vw,70px);line-height:1;letter-spacing:-.045em}
.section-heading>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{min-height:330px;background:#fff;border-top:5px solid var(--green);padding:30px;position:relative;transition:.2s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px #031d2b17}
.service-number{position:absolute;right:24px;top:24px;color:#a9b5b1;font-size:12px;font-weight:800}
.line-icon{width:66px;height:66px;margin:18px 0 50px;border:2px solid var(--green);border-radius:50%;position:relative}
.line-icon:before{content:"";position:absolute;height:2px;width:78px;background:var(--green);left:31px;top:31px}
.line-icon span{width:12px;height:12px;background:var(--navy);border-radius:50%;position:absolute;left:25px;top:25px}
h3{margin:0 0 14px;font-size:24px;letter-spacing:-.025em}
.service-card p,.benefit-grid p{margin:0;color:var(--muted);line-height:1.65;font-size:15px}
.service-note{margin-top:18px;padding:22px 28px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;border:1px solid #cad7cc}
.service-note span{color:var(--muted);font-size:14px}.service-note a{color:var(--green);font-weight:800}
.about{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:var(--navy);color:#fff}
.about-visual{min-height:560px;position:relative;overflow:hidden;background:linear-gradient(145deg,#16a12b,#087719)}
.field-lines{position:absolute;inset:55px;border:4px solid #ffffffcc}
.field-lines span:first-child{position:absolute;top:0;bottom:0;left:50%;border-left:4px solid #fff}
.field-lines span:nth-child(2){position:absolute;width:190px;height:190px;border:4px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.about-visual p{position:absolute;left:7vw;bottom:65px;margin:0;font-size:25px;font-weight:800;line-height:1.45}
.about-visual p b{display:block;font-size:86px;line-height:.9}
.about-copy{padding:100px clamp(34px,7vw,110px);align-self:center}
.about-copy .lead{font-size:20px;color:#fff;line-height:1.55;margin-top:32px}
.about-copy>p:not(.eyebrow):not(.lead){color:#b8c8cd;line-height:1.7}
.light{display:inline-block;margin-top:20px;color:#6ed577}.compact{grid-template-columns:1fr}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bfcbc0}
.benefit-grid article{padding:28px 28px 20px 0;border-right:1px solid #bfcbc0}
.benefit-grid article:not(:first-child){padding-left:28px}.benefit-grid article:last-child{border:0}
.benefit-grid span{color:var(--green);font-size:12px;font-weight:800}.benefit-grid h3{margin-top:38px}
.contact{padding:100px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--green);color:#fff}
.contact .eyebrow{color:#d1f8d5}.contact>div>p:last-child{max-width:620px;font-size:17px;line-height:1.65;color:#e1f8e3}
.contact-details a{min-height:94px;display:grid;grid-template-columns:120px 1fr auto;align-items:center;border-top:1px solid #ffffff8c}
.contact-details a:last-of-type{border-bottom:1px solid #ffffff8c}.contact-details small{text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.contact-details strong{font-size:clamp(20px,2vw,30px)}.contact-details a span{font-size:24px}.contact-details p{margin-top:28px;font-size:13px!important}
.site-footer{padding:32px clamp(24px,5vw,76px);display:flex;align-items:center;gap:38px;background:#fff;font-size:13px}
.site-footer img{width:170px;height:60px;object-fit:contain}.site-footer p{color:var(--muted);margin-right:auto}.site-footer div{display:flex;gap:24px;font-weight:700}.site-footer small{color:var(--muted)}
.centred-action{text-align:center;margin:42px 0 0}
.page-hero{padding:110px clamp(24px,7vw,110px);background:var(--navy);color:#fff}.page-hero h1{max-width:1050px}.page-hero>p:last-child{max-width:720px;margin:30px 0 0;color:#c6d2d6;font-size:20px;line-height:1.6}
.service-detail-list{padding-top:50px}.service-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;padding:65px 0;border-bottom:1px solid #c6d2c8}.service-detail>div:first-child>span{display:block;color:var(--green);font-size:13px;font-weight:800;margin-bottom:20px}.service-detail h2{font-size:clamp(38px,4vw,60px)}.service-detail .lead,.about-story .lead{font-size:20px;line-height:1.55;color:var(--navy)}.service-detail p,.about-story p,.contact-page p{color:var(--muted);line-height:1.75}.service-detail ul,.contact-page ul{padding:0;margin:26px 0 30px;list-style:none}.service-detail li,.contact-page li{padding:11px 0 11px 25px;border-bottom:1px solid #d6e0d7;position:relative}.service-detail li:before,.contact-page li:before{content:"";position:absolute;left:0;top:18px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.page-cta{padding:90px clamp(24px,7vw,110px);background:var(--green);color:#fff;text-align:center}.page-cta .eyebrow{color:#d1f8d5}.page-cta h2{max-width:920px;margin:0 auto}.page-cta>p:not(.eyebrow){max-width:680px;margin:24px auto 30px;color:#e1f8e3;font-size:18px;line-height:1.6}.page-cta .button{background:var(--navy)}.page-cta .button:hover{background:#fff;color:var(--navy)}
.about-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.about-story>div:last-child{padding-top:20px}.about-values{display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy);color:#fff;padding:0 clamp(24px,7vw,110px)}.about-values article{padding:70px 38px;border-right:1px solid #ffffff29}.about-values article:first-child{padding-left:0}.about-values article:last-child{border:0}.about-values span{color:var(--green-light);font-size:12px;font-weight:800}.about-values h3{margin-top:38px;font-size:30px}.about-values p{color:#b8c8cd;line-height:1.7}
.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-card{background:var(--navy);color:#fff;padding:48px}.contact-card a{display:block;padding:24px 0;border-top:1px solid #ffffff4f}.contact-card a:last-of-type{border-bottom:1px solid #ffffff4f}.contact-card small{display:block;color:var(--green-light);font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.contact-card strong{font-size:clamp(22px,2.5vw,34px);overflow-wrap:anywhere}.contact-card>p:last-child{color:#b8c8cd;margin-top:30px}
.default-content{max-width:900px;margin:0 auto;padding:90px 24px;line-height:1.7}.default-content h1{font-size:48px;color:var(--navy);margin-bottom:36px}
@media(max-width:950px){.site-header .button-small{display:none}.menu-toggle{display:block}.main-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:22px;box-shadow:0 12px 30px #031d2b20;flex-direction:column;align-items:flex-start;gap:8px}.main-navigation.is-open{display:flex}.hero{grid-template-columns:1fr;padding-top:65px}.pitch-card{height:390px}.section-heading,.about,.contact,.service-detail,.about-story,.contact-page{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.about-visual{min-height:500px}.benefit-grid{grid-template-columns:1fr 1fr}.contact{gap:55px}.section-heading{gap:28px}.trust-strip{flex-wrap:wrap;gap:20px}.about-values{grid-template-columns:1fr}.about-values article,.about-values article:first-child{padding:45px 0;border-right:0;border-bottom:1px solid #ffffff29}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:620px){html{scroll-padding-top:74px}.site-header{height:74px;padding:8px 18px}.brand{width:185px}.brand img{height:55px}.hero{min-height:auto;padding:70px 24px}.hero-intro{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.pitch-card{height:300px;padding:20px}.precision-label{right:-8px}.trust-strip i{display:none}.section{padding:80px 24px}.service-note{grid-template-columns:1fr;gap:10px}.about-copy{padding:75px 24px}.about-visual{min-height:390px}.field-lines{inset:30px}.about-visual p{left:45px;bottom:42px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article,.benefit-grid article:not(:first-child){border-right:0;border-bottom:1px solid #bfcbc0;padding:28px 0}.contact{padding:75px 24px}.contact-details a{grid-template-columns:1fr auto;gap:6px;padding:18px 0}.contact-details small{grid-column:1/-1}.contact-details strong{overflow-wrap:anywhere}.site-footer{align-items:flex-start;flex-direction:column;gap:12px}.site-footer div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
