/* =========================================================
   ATKINSONS "sharp" layer. Loads after each page's own CSS.
   Boxd-style: condensed caps headings, mono labels, square
   corners, hard ink borders and offset shadows. ATKINSONS green.
   Remove the <link> to this file to go back to the old look.
   ========================================================= */
@font-face{font-family:'Barlow';font-weight:400;font-display:swap;src:url('/assets/fonts/Barlow-Regular.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-weight:500;font-display:swap;src:url('/assets/fonts/Barlow-Medium.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-weight:600;font-display:swap;src:url('/assets/fonts/Barlow-SemiBold.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-weight:700;font-display:swap;src:url('/assets/fonts/Barlow-Bold.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-weight:800;font-display:swap;src:url('/assets/fonts/Barlow-Bold.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url('/assets/fonts/BarlowCondensed-Bold.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-display:swap;src:url('/assets/fonts/BarlowCondensed-ExtraBold.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url('/assets/fonts/IBMPlexMono-Regular.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:600;font-display:swap;src:url('/assets/fonts/IBMPlexMono-SemiBold.woff2') format('woff2')}

:root{
  --ink:#17191b; --ink-soft:#2b2e30; --graphite:#2e3230;
  --green:#0A7A34; --green-dark:#075C27; --green-bright:#27C04D; --lime:#4fd07a;
  --paper:#f4f2ee; --concrete:#e8e6e1; --day:#f4f2ee; --line:#c9c6bf; --grey:#4c4f52;
  --mono:'IBM Plex Mono',ui-monospace,monospace; --body:'Barlow',system-ui,sans-serif; --cond:'Barlow Condensed','Arial Narrow',sans-serif;
  --sh:5px 5px 0 rgba(23,25,27,.14);
}

/* ---------- base ---------- */
body{font-family:var(--body)!important;background:var(--paper);color:var(--ink);line-height:1.55;}
*,*::before,*::after{border-radius:0!important;}
.qform input,.qform textarea,.qform select,.book-form input,.book-form textarea,.book-form select,.hero .picker-row select,button,input,select,textarea{font-family:var(--body)!important;}
h1,h2,.display,.page-hero h1,.legal-hero h1{
  font-family:var(--cond)!important;font-weight:800!important;text-transform:uppercase;
  letter-spacing:.005em!important;line-height:.98!important;
}
h2,.display{font-size:clamp(32px,4.4vw,56px);}
h3{font-family:var(--cond);font-weight:700!important;text-transform:uppercase;letter-spacing:.02em!important;line-height:1.1;}
h2 .hi,.display .hi{color:var(--green);}
.eyebrow{font-family:var(--mono)!important;font-weight:600!important;font-size:12px!important;letter-spacing:.16em!important;}
.eyebrow::before{height:2px!important;width:26px!important;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green-bright)!important;outline-offset:2px;}

/* ---------- buttons ---------- */
.btn,.qform .btn,.book-form .btn,.mobile-nav .m-cta{
  font-family:var(--cond)!important;font-weight:700!important;font-size:18px!important;letter-spacing:.05em!important;text-transform:uppercase;
  background:var(--green-bright)!important;color:var(--ink)!important;border:2px solid var(--ink)!important;
  box-shadow:4px 4px 0 var(--ink);padding:11px 24px!important;transition:transform .12s ease,box-shadow .12s ease!important;
}
.btn:hover{transform:translate(-2px,-2px)!important;box-shadow:6px 6px 0 var(--ink);}
.btn:active{transform:translate(2px,2px)!important;box-shadow:1px 1px 0 var(--ink);}

/* ---------- top bar + header ---------- */
.topbar{font-family:var(--mono);font-size:12px!important;letter-spacing:.04em;}
.topbar a{color:var(--lime)!important;}
header.site{background:var(--graphite)!important;border-bottom:2px solid var(--ink)!important;backdrop-filter:none!important;}
header.site .logo img{height:72px!important;width:auto!important;}
@media(max-width:1024px){header.site .logo img{height:60px!important;}}
@media(max-width:420px){header.site .logo img{height:54px!important;}}
header.site .wrap{padding-top:10px!important;padding-bottom:10px!important;}
nav.main a{color:var(--paper)!important;font-family:var(--body);font-weight:600!important;font-size:15px!important;}
nav.main a::after{background:var(--green-bright)!important;height:3px!important;}
header.site .btn{box-shadow:4px 4px 0 var(--ink);}
.burger{border:2px solid var(--paper)!important;}
.burger span{background:var(--paper)!important;}
.mobile-nav{background:var(--graphite)!important;border-bottom:2px solid var(--ink)!important;}
.mobile-nav a{color:var(--paper)!important;border-top:1px solid #4a4e4c!important;font-family:var(--cond);font-weight:700!important;font-size:20px!important;text-transform:uppercase;letter-spacing:.03em;}
.mobile-nav .m-cta{margin:14px 24px 18px;text-align:center;}

/* ---------- homepage hero ---------- */
.hero{background:var(--graphite)!important;color:var(--paper);}
.hero h1{color:var(--paper);font-size:clamp(42px,6vw,80px)!important;}
.hero h1 .hi{display:inline-block;color:var(--green-bright)!important;border:3px solid var(--green-bright);padding:0 12px 4px;margin:4px 0;}
.hero .sub{color:#cfccc5!important;}
.hero .sub strong{color:#fff!important;}
.hero .picker{border:2px solid var(--ink)!important;box-shadow:6px 6px 0 rgba(0,0,0,.35)!important;background:#fff!important;color:var(--ink);}
.hero .picker>label{font-family:var(--mono)!important;font-size:12px!important;letter-spacing:.12em!important;text-transform:uppercase;font-weight:600!important;}
.hero .picker-row select{border:2px solid var(--ink)!important;background-color:var(--paper)!important;}
.hero .picker-note{font-family:var(--mono);font-size:12px!important;}
.hero-img img,.hero-fleet img{border:2px solid var(--ink);}
.hero-img .stamp{font-family:var(--mono)!important;font-weight:600!important;border-left:4px solid var(--green-bright)!important;background:var(--ink)!important;}
.hero-stats{background:var(--green-bright)!important;color:var(--ink)!important;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
.hero-stats .stat{border-left:2px solid var(--ink)!important;}
.hero-stats .stat:first-child{border-left:none!important;}
.hero-stats .num{font-family:var(--cond);font-size:46px!important;color:var(--ink)!important;letter-spacing:0!important;}
.hero-stats .num em{color:var(--ink)!important;}
.hero-stats .lbl{font-family:var(--mono);color:var(--ink)!important;font-size:12px!important;letter-spacing:.08em!important;text-transform:uppercase;}
@media(max-width:920px){.hero-stats .stat:nth-child(3){border-left:none!important;}.hero-stats .stat:nth-child(-n+2){border-bottom:2px solid var(--ink);}}
.places{background:var(--ink)!important;border:0!important;}
.places span{font-family:var(--cond)!important;font-size:17px!important;color:var(--paper)!important;letter-spacing:.08em!important;}
.places i{color:var(--green-bright)!important;}

/* ---------- sections ---------- */
section{padding:88px 0;}
@media(max-width:760px){section{padding:56px 0;}}
.sec-head p,.intro .body p,.split p,.route p,.svc p,.step p,.comm p,.loc p,.cred p{color:var(--grey)!important;}
.intro .body .kicker{font-family:var(--cond);text-transform:uppercase;font-size:24px!important;letter-spacing:.01em!important;border-left:4px solid var(--green-bright)!important;}
.services,.gallery,.community{background:var(--concrete)!important;}
.routes,.process{background:var(--paper);}

/* cards: hard border + offset shadow */
.route,.svc,.loc,.comm,.cred,.sh-card,.cta-card,.contact-card,.book-form,.faq details,.split .s-img img,.patch-img img,.g-scroll img{
  border:2px solid var(--ink)!important;box-shadow:var(--sh);background-color:#fff;
}
.start-here .sh-card{background:var(--ink-soft)!important;border-color:#000!important;box-shadow:5px 5px 0 rgba(0,0,0,.4)!important;}
.patch-img img,.g-scroll img,.split .s-img img{box-shadow:6px 6px 0 rgba(0,0,0,.25);}
.route{padding:34px!important;}
.route:hover,.svc:hover{transform:translate(-2px,-2px)!important;box-shadow:8px 8px 0 rgba(10,122,52,.45)!important;}
.route .tag,.loc .tag,.comm .tag,.svc .cred,.cred .tick,.step .n{font-family:var(--mono)!important;font-weight:600!important;letter-spacing:.12em!important;}
.route h3,.svc h3,.loc h3,.comm h3,.cred h3,.step h3{font-size:24px!important;display:flex;gap:10px;align-items:baseline;}
.route h3::before,.loc h3::before,.cred h3::before{content:"";flex:none;width:10px;height:10px;background:var(--green-bright);transform:translateY(-3px);}
.svc h3{font-size:22px!important;}
.svc img{border-bottom:2px solid var(--ink);}
.svc .cred{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;}
.chips span,.chips a{border:1.5px solid var(--ink)!important;background:#fff!important;font-family:var(--mono);font-size:11.5px!important;font-weight:600!important;letter-spacing:.04em;text-transform:uppercase;}
.chips a:hover{background:var(--green-bright)!important;color:var(--ink)!important;}
.route .go{font-family:var(--cond);font-size:18px;text-transform:uppercase;letter-spacing:.04em;}

/* process */
.step{border-top:4px solid var(--ink)!important;}
.step:hover{border-top-color:var(--green-bright)!important;}
.step .n{font-family:var(--cond)!important;font-size:34px!important;color:var(--green)!important;letter-spacing:0!important;}

/* dark sections */
.patch,.clients,.start-here,.cta,.comm-feature{background:var(--graphite)!important;}
.patch .pc,.postcodes .pc{font-family:var(--cond)!important;border:2px solid var(--green-bright)!important;}
.area-cols a,.area-cols span{font-family:var(--cond);font-size:19px!important;text-transform:uppercase;letter-spacing:.03em;}
.area-cols a::before,.area-cols span::before{border-radius:0!important;width:8px!important;height:8px!important;}
.patch-img .note,.hero-img .stamp{font-family:var(--mono)!important;}
.start-here .sh-card .sh-q{font-family:var(--cond);text-transform:uppercase;font-size:21px!important;}
.cta-card{border-top:2px solid var(--ink)!important;box-shadow:8px 8px 0 rgba(0,0,0,.35)!important;}
.cta-card .live,.contact-card .live{font-family:var(--mono)!important;}
.cta-card a.big,.contact-card a.big{font-family:var(--cond);font-size:48px!important;letter-spacing:.01em!important;}

/* gallery */
.g-scroll figcaption{font-family:var(--mono)!important;font-weight:600!important;}
.g-scroll::-webkit-scrollbar-thumb{background:var(--ink);}
.g-btn{border:2px solid var(--ink)!important;box-shadow:3px 3px 0 var(--ink);font-family:var(--cond);}
.g-btn:hover{background:var(--green-bright)!important;color:var(--ink)!important;}

/* founder */
.founder blockquote{font-family:var(--cond)!important;text-transform:uppercase;font-size:clamp(26px,3vw,38px)!important;line-height:1.08!important;letter-spacing:.005em!important;}

/* ---------- inner pages ---------- */
.page-hero,.legal-hero{background:var(--graphite)!important;border-bottom:2px solid var(--ink);}
.page-hero .crumbs,.legal-hero .crumbs{font-family:var(--mono)!important;font-size:12px!important;letter-spacing:.06em;text-transform:uppercase;}
.page-hero h1{font-size:clamp(38px,5.6vw,68px)!important;color:var(--paper);}
.page-hero h1 .hi{display:inline-block;color:var(--green-bright)!important;border:3px solid var(--green-bright);padding:0 12px 4px;margin-top:4px;}
.page-hero .sub{color:#cfccc5!important;}
.page-hero .phone,.hero .phone,.start-here .sh-phone{font-family:var(--cond)!important;}
.trust-strip{background:var(--ink)!important;border:0!important;}
.trust-strip span{color:var(--paper)!important;font-family:var(--mono);font-size:12px!important;}
.split ul.ticks li::before{border-radius:0!important;}
.faq details{padding:0!important;}
.faq summary{font-family:var(--cond)!important;font-weight:700!important;font-size:20px!important;text-transform:uppercase;letter-spacing:.02em!important;padding:16px 20px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-family:var(--cond);font-size:26px;color:var(--green);flex:none;}
.faq details[open] summary{background:var(--green-bright);border-bottom:2px solid var(--ink);}
.faq details[open] summary::after{content:"\2013";color:var(--ink);}
.faq details > p,.faq details > div{padding:16px 20px 18px;margin:0!important;}
.faq details > p + p{padding-top:0;}
.legal-body h2{font-size:30px!important;}
section[style*="max-width:760px"] h2,.wrap[style*="max-width:760px"] h2{font-size:34px!important;}

/* forms */
.qform label,.book-form label{font-family:var(--mono)!important;font-size:11.5px!important;letter-spacing:.1em!important;text-transform:uppercase;font-weight:600!important;color:var(--grey)!important;}
.qform input,.qform textarea,.qform select,.book-form input,.book-form textarea,.book-form select{border:2px solid var(--ink)!important;background:var(--paper)!important;}
.qform input:focus,.qform textarea:focus,.qform select:focus,.book-form input:focus,.book-form textarea:focus,.book-form select:focus{outline:3px solid var(--green-bright)!important;outline-offset:0;}
.quote-panel{border-left:2px solid var(--ink);}
.quote-panel .qp-head{background:var(--graphite)!important;border-bottom:2px solid var(--ink);}
.quote-panel .qp-head h3{font-size:30px!important;}

/* ---------- footer ---------- */
footer{background:var(--ink)!important;border-top:2px solid #000;}
footer h4{font-family:var(--mono)!important;font-weight:600!important;color:var(--green-bright)!important;letter-spacing:.14em!important;}
footer p,footer a,footer li{font-family:var(--mono);font-size:13px!important;letter-spacing:.01em;}
footer a:hover{color:var(--green-bright)!important;}
footer .legal{font-family:var(--mono);font-size:11.5px!important;border-top:1px solid #3a3f44!important;}

/* keep genuinely round things round */
.topbar .live::before,.cta-card .live::before,.contact-card .live::before,.lb button,.g-btn{border-radius:50%!important;}
.g-btn{border-radius:0!important;}

/* fixes */
.hero-stats .stat{padding:20px 22px!important;}
.hero-stats .wrap{padding-top:0!important;padding-bottom:0!important;}
.contact-card{background:var(--graphite)!important;border-color:#000!important;box-shadow:6px 6px 0 rgba(0,0,0,.3)!important;}
.cx-band{background:var(--green-bright)!important;color:var(--ink)!important;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
.cx-band h2{color:var(--ink)!important;}
.cx-band p{color:rgba(23,25,27,.75)!important;}
.cx-band .btn-ink{box-shadow:4px 4px 0 #fff;}
.tile .big{font-family:var(--cond);font-size:42px!important;}
.sec-tag,.plate-head,.plate-row>span:first-child,.pol .ref,.pol .pmeta,.tile .meta,.tile .status,.tile .go{font-family:var(--mono)!important;}
.btn-green{font-family:var(--cond)!important;font-size:17px!important;background:var(--green-bright)!important;color:var(--ink)!important;border:2px solid var(--ink)!important;}

/* ===== mobile readability + tap targets ===== */
@media(max-width:760px){
  /* nothing under 12px */
  .qform label,.book-form label,.hero .picker>label,footer .legal,footer .legal span,.svc .cred,a.cred,.chips a,.chips span,
  .route .tag,.loc .tag,.comm .tag,.plate-row>span:first-child,.plate-head,.tile .status,.sec-tag,.cp,
  .page-hero .phone span.tag,.hero .phone span.tag,.start-here .sh-phone .tag,.eyebrow,.topbar{font-size:12px!important;}
  /* footer links: full-height rows */
  footer ul li{margin:0!important;}
  footer ul li a{display:block;padding:9px 0;min-height:40px;}
  footer .legal span a{display:inline-block;padding:10px 4px;}
  footer p a{display:inline-block;padding:6px 0;}
  /* cards, chips, towns */
  a.cred{display:inline-block;padding:10px 0;}
  .chips a{padding:9px 12px!important;}
  .area-cols a{padding:8px 0;min-height:40px;}
  .route .go{display:inline-block;padding:10px 0;}
  .topbar a{display:inline-block;padding:8px 0;}
  .page-hero .phone,.hero .phone{min-height:44px;}
  .cp{padding:8px 12px!important;}
  .pol .top{padding:10px 0;}
}
@media(max-width:760px){
  .topbar a.live,.topbar .wrap a{display:inline-flex!important;align-items:center;min-height:40px;padding:0!important;}
  .svc a.cred,.services a.cred{display:inline-block!important;padding:12px 0!important;}
}
@media(max-width:920px){
  .hero-stats .wrap{gap:2px;background:var(--ink);padding:0!important;align-items:stretch!important;}
  .hero-stats .stat{border:0!important;background:var(--green-bright);padding:18px 20px!important;}
}
.area-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.area-chips span{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1.5px solid var(--ink);background:#fff;padding:7px 11px;}
@media(max-width:760px){.hs-dots{gap:10px;}.hs-dots button{width:22px!important;height:22px!important;}}
