*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070707;color:#f5f5f5;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.nav{height:92px;padding:0 6vw;display:flex;align-items:center;gap:38px;position:absolute;z-index:5;width:100%;border-bottom:1px solid #222}.brand{margin-right:auto}.brand img{width:520px;max-height:86px;object-fit:contain}.nav nav{display:flex;gap:30px;font-size:13px;text-transform:uppercase;letter-spacing:1.5px}.button{display:inline-block;background:#e10b0b;padding:15px 24px;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:13px}.button:hover{background:#ff1717}.small{padding:11px 17px}.hero{min-height:760px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 55%,#2a0b0b 0,#0d0808 24%,#070707 53%)}.hero:after{content:"RF";position:absolute;right:-2vw;bottom:-16vw;font-weight:900;font-style:italic;font-size:48vw;color:#fff;opacity:.018}.hero-inner{width:88%;max-width:1200px;margin:auto;position:relative;z-index:2;padding-top:70px}.eyebrow{font-size:12px;letter-spacing:3px;color:#e10b0b;font-weight:800}.hero h1,.section h2{margin:15px 0 22px;line-height:.98;text-transform:uppercase;letter-spacing:-3px}.hero h1{font-size:clamp(55px,8vw,110px);max-width:900px}.hero h1 span{color:#e10b0b}.intro{max-width:660px;color:#aaa;font-size:18px}.actions{display:flex;align-items:center;gap:28px;margin-top:38px}.ghost{font-size:13px;text-transform:uppercase;letter-spacing:1px}.accent{position:absolute;right:8%;width:4px;height:180px;background:#e10b0b;transform:skew(-15deg)}.section{padding:110px 6vw;max-width:1400px;margin:auto}.section h2{font-size:clamp(40px,5vw,72px)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#242424;margin-top:55px}.grid article{background:#0d0d0d;padding:38px;min-height:240px}.grid b{color:#e10b0b;font-size:12px}.grid h3{font-size:20px;text-transform:uppercase;margin-top:45px}.grid p,.about p,.contact-intro{color:#9b9b9b}.about{border-top:1px solid #222;border-bottom:1px solid #222;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about p{font-size:18px;max-width:550px}.contact{text-align:center}.contact-intro{max-width:620px;margin:0 auto 55px}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #252525;margin:0 0 45px;text-align:left}.contact-grid>div{padding:28px;border-right:1px solid #252525}.contact-grid>div:last-child{border:0}.contact-grid span{display:block;color:#e10b0b;font-size:10px;font-weight:bold;letter-spacing:2px;margin-bottom:12px}.contact-grid p{margin:0;color:#ddd}footer{padding:45px 6vw;border-top:1px solid #222;display:flex;align-items:center;gap:30px;color:#777;font-size:12px}footer img{width:180px;margin-right:auto} @media(max-width:800px){.nav{height:75px;padding:0 5vw}.brand img{width:180px}.nav nav,.nav .small{display:none}.hero{min-height:680px}.hero-inner{width:90%}.hero h1{letter-spacing:-2px}.intro{font-size:16px}.grid{grid-template-columns:1fr}.about{grid-template-columns:1fr;gap:15px}.section{padding:80px 5vw}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div{border-bottom:1px solid #252525}.actions{align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap}footer img{width:180px;flex-basis:100%}}@media(max-width:480px){.contact-grid{grid-template-columns:1fr}.contact-grid>div{border-right:0}.hero h1{font-size:50px}}
.profile{display:grid;grid-template-columns:minmax(280px,460px) 1fr;gap:8vw;align-items:center;border-top:1px solid #222}
.profile-photo{position:relative}
.profile-photo:after{content:"";position:absolute;left:-14px;bottom:-14px;width:58%;height:58%;border-left:3px solid #e10b0b;border-bottom:3px solid #e10b0b;z-index:-1}
.profile-photo img{display:block;width:100%;max-height:590px;object-fit:cover;object-position:center 18%;filter:saturate(.92) contrast(1.03)}
.profile-copy p:not(.eyebrow){color:#aaa;font-size:18px;max-width:650px}

@media(max-width:800px){
 .brand img{width:290px;max-height:66px}
 .profile{grid-template-columns:1fr;gap:45px}
 .profile-photo{max-width:480px}
 .map-wrap{height:340px;margin-top:45px}
}





.site-footer{align-items:flex-start}
.footer-legal{max-width:720px;margin-right:auto}
.footer-legal p{margin:0 0 7px}
.footer-legal a{color:#bbb;text-decoration:underline;text-underline-offset:3px}
.legal-nav{min-height:100px;padding:18px 6vw;display:flex;align-items:center;border-bottom:1px solid #222;gap:30px}
.legal-nav img{width:330px;max-height:72px;object-fit:contain}
.legal-nav .ghost{margin-left:auto}
.legal-page{max-width:950px;margin:auto;padding:80px 6vw 110px}
.legal-page h1{font-size:clamp(48px,7vw,84px);line-height:1;text-transform:uppercase;letter-spacing:-3px;margin:15px 0 12px}
.legal-page h2{font-size:22px;text-transform:uppercase;margin:42px 0 12px}
.legal-page p{color:#aaa;font-size:16px}
.legal-page a{color:#fff;text-decoration:underline}
.legal-updated{margin-bottom:45px}
@media(max-width:800px){.legal-nav img{width:240px}.legal-page{padding-top:55px}.site-footer{display:block}.site-footer>img{margin-bottom:25px}.footer-legal{margin-bottom:20px}}

.location-panel{max-width:1100px;margin:65px auto 0;min-height:390px;border:1px solid #282828;background:radial-gradient(circle at 18% 50%,#251010 0,#0d0d0d 32%,#090909 70%);display:grid;grid-template-columns:38% 1fr;align-items:center;text-align:left;padding:55px 7%;overflow:hidden;position:relative}
.location-panel:after{content:"RF";position:absolute;right:-25px;bottom:-80px;font-size:260px;font-weight:900;font-style:italic;line-height:1;color:#fff;opacity:.025;pointer-events:none}
.location-pin{font-size:120px;color:#e10b0b;line-height:1;text-align:center}
.location-panel h3{font-size:34px;text-transform:uppercase;margin:8px 0 16px}
.location-panel p:not(.eyebrow){color:#bbb;font-size:17px;line-height:1.7}
.directions-button{margin-top:18px}
@media(max-width:800px){.location-panel{grid-template-columns:1fr;padding:45px 8%;margin-top:45px}.location-pin{font-size:75px;text-align:left;margin-bottom:18px}}

.custom-map{max-width:1100px;height:430px;margin:65px auto 0;position:relative;overflow:hidden;border:1px solid #282828;background:
linear-gradient(25deg,transparent 49.5%,rgba(255,255,255,.025) 50%,transparent 50.5%),
linear-gradient(115deg,transparent 49.5%,rgba(255,255,255,.018) 50%,transparent 50.5%),#0b0d0c;text-align:left}
.custom-map:before,.custom-map:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.035);border-radius:50%;width:420px;height:260px}
.custom-map:before{right:-120px;top:-100px}.custom-map:after{left:-150px;bottom:-140px}
.map-road{position:absolute;background:#303332;border:1px solid #454847;box-shadow:0 0 0 5px #111413}
.road-main{width:760px;height:25px;left:-80px;top:235px;transform:rotate(-12deg)}
.road-branch{width:370px;height:20px;left:470px;top:155px;transform:rotate(62deg)}
.road-name{position:absolute;color:#8e9390;font-size:10px;letter-spacing:2px;font-weight:700}
.norrington{left:245px;top:263px;transform:rotate(-12deg)}
.place-name{position:absolute;color:#666b68;font-size:10px;letter-spacing:2px;font-weight:700}
.broughton{left:45px;top:305px}
.map-marker{position:absolute;z-index:4;left:56%;top:37%;width:58px;height:58px;background:#e10b0b;border:5px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 8px 24px rgba(0,0,0,.55)}
.map-marker span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(45deg);font-weight:900;font-size:16px;color:#fff}
.map-card{position:absolute;z-index:5;right:35px;bottom:30px;width:310px;background:rgba(7,7,7,.95);border:1px solid #333;padding:24px}
.map-card h3{font-size:22px;text-transform:uppercase;margin:5px 0 10px}.map-card p:not(.eyebrow){font-size:13px;color:#bbb;line-height:1.55;margin:0}.map-card .button{margin-top:15px;padding:11px 17px}
@media(max-width:800px){.custom-map{height:520px}.map-card{left:20px;right:20px;bottom:20px;width:auto}.map-marker{left:55%;top:18%}.road-main{top:150px}.road-branch{top:80px}.norrington{top:178px}.broughton{top:215px}}

/* v19: wider-area location map */
.custom-map{height:470px;background:
radial-gradient(circle at 52% 48%,rgba(225,11,11,.045),transparent 22%),
linear-gradient(25deg,transparent 49.5%,rgba(255,255,255,.018) 50%,transparent 50.5%),
linear-gradient(115deg,transparent 49.5%,rgba(255,255,255,.014) 50%,transparent 50.5%),#0b0d0c}
.road-main{width:590px;height:18px;left:120px;top:235px;transform:rotate(-10deg)}
.road-branch{width:270px;height:15px;left:440px;top:180px;transform:rotate(58deg)}
.road-a350{width:620px;height:25px;left:-80px;top:90px;transform:rotate(79deg);background:#373b39}
.road-a365{width:660px;height:22px;left:40px;top:345px;transform:rotate(-3deg);background:#373b39}
.norrington{left:265px;top:252px;transform:rotate(-10deg)}
.broughton{left:160px;top:292px}
.melksham-label{left:55px;bottom:42px;font-size:12px;color:#9ca19e}
.atworth-label{right:120px;bottom:55px}
.shaw-label{left:100px;top:42px}
.a350-label{left:70px;top:150px;transform:rotate(79deg);color:#bbb}
.a365-label{left:240px;bottom:92px;color:#bbb}
.map-marker{left:50%;top:42%;width:52px;height:52px}
.map-card{right:30px;bottom:28px;width:300px}
@media(max-width:800px){
 .custom-map{height:560px}
 .road-a350{left:-145px}
 .road-a365{left:-30px;top:320px}
 .road-main{left:30px;top:205px}
 .road-branch{left:260px;top:145px}
 .map-marker{left:49%;top:29%}
 .norrington{left:110px;top:220px}
 .broughton{left:45px;top:250px}
 .melksham-label{left:30px;bottom:220px}
 .atworth-label{right:30px;bottom:210px}
 .shaw-label{left:35px}
 .map-card{bottom:18px}
}

/* v20 rebuilt location map */
.location-map{max-width:1100px;margin:65px auto 0;border:1px solid #282828;background:#0b0d0c;display:grid;grid-template-columns:minmax(0,1fr) 320px;text-align:left;overflow:hidden}
.area-map{display:block;width:100%;height:100%;min-height:430px;background:#0b0d0c}
.map-details{padding:42px 32px;background:#090909;border-left:1px solid #282828;display:flex;flex-direction:column;justify-content:center}
.map-details h3{font-size:27px;text-transform:uppercase;margin:7px 0 14px}
.map-details p:not(.eyebrow){color:#bbb;line-height:1.7;margin:0 0 24px}
.map-details .button{align-self:flex-start}
@media(max-width:800px){.location-map{grid-template-columns:1fr}.area-map{min-height:350px}.map-details{border-left:0;border-top:1px solid #282828;padding:32px 25px}}

.google-map-wrap{max-width:1100px;height:480px;margin:65px auto 0;border:1px solid #282828;overflow:hidden;background:#111}
.google-map-wrap iframe{width:100%;height:100%;border:0;display:block}
.map-actions{max-width:1100px;margin:0 auto;border:1px solid #282828;border-top:0;background:#090909;padding:24px 28px;display:flex;align-items:center;gap:30px;text-align:left}
.map-actions>div{margin-right:auto}.map-actions h3{font-size:22px;text-transform:uppercase;margin:4px 0}.map-actions p:not(.eyebrow){margin:0;color:#aaa;font-size:13px}
@media(max-width:800px){.google-map-wrap{height:380px;margin-top:45px}.map-actions{display:block}.map-actions .button{margin-top:20px}}

a:focus-visible{outline:2px solid #e10b0b;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v26: hero clearance beneath header; preserve three-column service layout */
.hero-inner{padding-top:125px}
@media(max-width:800px){.hero-inner{padding-top:115px}}
@media(max-width:480px){.hero-inner{padding-top:105px}}
