/*
Theme Name: Goddard Mechanical Live
Theme URI: https://goddardmechanical.co.uk
Author: Goddard Mechanical Ltd
Description: Responsive local heating, plumbing, cooling and commercial mechanical services website.
Version: 1.0.12
Text Domain: goddard-mechanical-live
*/
:root{--ink:#07121d;--navy:#0a2237;--blue:#0799ef;--orange:#ff6309;--green:#4b9c20;--paper:#fff;--mist:#f2f5f7;--line:#d9e0e5;--text:#263746;--muted:#667583;--radius:12px;--shadow:0 18px 50px rgba(3,17,29,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:17px;line-height:1.65;background:#fff}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;left:12px;top:-80px;background:#fff;padding:10px 16px;z-index:100;color:#000}.skip:focus{top:12px}header{background:#03080d;color:#fff;position:relative;z-index:20}.utility{background:linear-gradient(90deg,#0c2a43,#0a1723);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#dbe6ee}.utility .wrap{height:38px;display:flex;align-items:center;justify-content:space-between}.nav-wrap{height:118px;display:grid;grid-template-columns:300px 1fr auto;gap:24px;align-items:center}.brand{height:105px;overflow:hidden;display:flex;align-items:center}.brand img{width:285px;height:auto}.nav-wrap nav{display:flex;align-items:center;justify-content:center;gap:24px}.nav-wrap nav a{text-decoration:none;font-weight:700;font-size:.9rem;padding:45px 0 12px;border-bottom:3px solid transparent}.nav-wrap nav a:hover,.nav-wrap nav a[aria-current=page]{color:#fff;border-color:var(--blue)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-weight:800;border-radius:7px;line-height:1.2;transition:transform .2s,background .2s}.header-cta{background:var(--orange);padding:15px 20px;white-space:nowrap}.header-cta:hover,.button:hover{transform:translateY(-2px)}.menu-button{display:none}.hero{min-height:515px;background-image:var(--hero);background-size:cover;background-position:center;position:relative;color:#fff;display:grid;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,23,38,.98) 0%,rgba(4,23,38,.9) 40%,rgba(4,23,38,.08) 72%,rgba(4,23,38,0) 100%)}.hero-inner{position:relative;padding-block:70px}.hero-copy{max-width:690px}.eyebrow,.kicker{display:block;color:var(--blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:13px}.hero h1{font-family:'Arial Narrow',Impact,Inter,sans-serif;text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(3rem,5vw,5.1rem);line-height:.96;margin:0 0 24px;max-width:850px}.hero h1:after{content:"";display:block;width:400px;max-width:75%;height:4px;margin-top:24px;background:linear-gradient(90deg,var(--blue) 0 50%,var(--orange) 50% 78%,transparent 78%)}.hero p{font-size:1.22rem;line-height:1.55;max-width:660px;margin:0 0 28px;color:#edf4f7}.button-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.button{padding:16px 24px;border:2px solid transparent}.button.primary{background:var(--orange);color:#fff}.button.dark{background:var(--ink);color:#fff}.button.ghost{border-color:var(--blue);color:#fff;background:rgba(0,0,0,.2)}.text-link{font-weight:800;text-decoration:none}.text-link span{color:var(--orange)}.trust-bar{background:#fff;box-shadow:0 4px 18px rgba(3,17,29,.08);position:relative}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:100px}.trust-item{display:flex;align-items:center;gap:14px;padding:18px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong,.trust-item small{display:block}.trust-item strong{font-size:.94rem;line-height:1.25}.trust-item small{font-size:.78rem;color:var(--muted);margin-top:3px}.pin{width:26px;height:34px;background:var(--blue);display:block;border-radius:50% 50% 50% 0;transform:rotate(-45deg);flex:0 0 auto}.pin:after{content:"";width:10px;height:10px;border-radius:50%;background:#fff;display:block;margin:8px}.gas-mark{background:#f7dd00;color:#111;clip-path:polygon(50% 0,100% 100%,0 100%);width:54px;height:48px;text-align:center;font-size:.55rem;line-height:.8;padding-top:18px}.gas-mark b{font-size:.76rem}.building-icon{font-size:2.8rem;line-height:1;color:var(--navy)}.section{padding:85px 0}.section.pt-0{padding-top:0}.section-head{padding-bottom:42px}.section-head h2,.split-panel h2,.image-feature h2,.area-cta h2,.detail-grid h2,.areas-layout h2,.narrow h2,.contact-grid h2{font-family:'Arial Narrow',Impact,Inter,sans-serif;text-transform:uppercase;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.03;margin:0 0 18px;color:var(--ink)}.section-head p{max-width:650px;margin:0;color:var(--muted);font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{min-height:285px;border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(4,23,38,.06);background:#fff}.service-card.orange{border-top-color:var(--orange)}.service-card>span{font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.1em;color:var(--blue)}.service-card.orange>span{color:var(--orange)}.service-card h3{font-size:1.42rem;line-height:1.2;margin:12px 0}.service-card p{margin:0 0 24px;color:var(--muted)}.service-card a{margin-top:auto;font-weight:800;text-decoration:none;color:var(--ink)}.service-card a b{color:var(--orange);float:right}.split-panel{background:var(--ink);color:#fff;padding:85px 0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-panel h2{color:#fff}.split-panel p{color:#c8d5de}.audience-list{display:grid;gap:12px}.audience-list a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:23px;background:#10273a;border-left:4px solid var(--blue);text-decoration:none}.audience-list a:nth-child(2){border-color:var(--orange)}.audience-list a span{font-size:.88rem;color:#b9c9d4}.check-panel{background:#10273a;padding:34px;border-radius:var(--radius);border-top:4px solid var(--blue)}.check-panel ul{padding-left:22px;margin-bottom:0}.image-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.image-feature img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:16/9;object-fit:cover}.kicker.green{color:var(--green)}.area-cta{padding:60px 0;background:linear-gradient(110deg,#eaf6fc,#fff4ed)}.area-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.area-cta h2{font-size:2.4rem;margin-bottom:8px}.area-cta p{margin:0}.detail-grid,.areas-layout,.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature-list li{background:var(--mist);padding:18px;border-radius:8px;font-weight:700}.feature-list span{color:var(--green);margin-right:10px}.lead{font-size:1.2rem;color:#506271}.soft-section{padding:70px 0;background:var(--mist)}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.three-steps>div{background:#fff;padding:28px;border-radius:var(--radius)}.three-steps span,.project-grid article>span{font-weight:900;color:var(--orange);font-size:.8rem}.three-steps h3{margin:10px 0}.three-steps p{margin:0;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-grid article{background:var(--mist);padding:32px;border-radius:var(--radius);border-bottom:4px solid var(--blue)}.project-grid article:nth-child(even){border-color:var(--orange)}.project-grid h3{font-size:1.3rem}.narrow{max-width:850px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.values div{background:var(--mist);padding:24px;border-radius:var(--radius)}.values b,.values span{display:block}.values b{color:var(--ink);font-size:1.2rem;margin-bottom:8px}.values span{font-size:.92rem;color:var(--muted)}.map-card{min-height:360px;background:radial-gradient(circle at center,#163b56 0 18%,#0c283d 18% 38%,#071823 38%);display:grid;place-items:center;border-radius:var(--radius);overflow:hidden}.map-ring{width:190px;height:190px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 10px rgba(7,153,239,.28)}.map-ring b{color:var(--ink);font-size:1.7rem}.map-ring span{font-size:.8rem;color:var(--muted)}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--mist);padding:30px;border-radius:var(--radius)}.enquiry-form label{font-size:.86rem;font-weight:800}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbd4da;background:#fff;padding:13px;border-radius:6px;font:inherit}.enquiry-form .full{grid-column:1/-1}.form-note{font-size:.8rem;color:var(--muted);margin:0}.form-note.success{color:#187442;font-weight:700}.contact-list{margin-top:30px}.contact-list div{padding:14px 0;border-bottom:1px solid var(--line)}.contact-list dt{font-size:.75rem;text-transform:uppercase;font-weight:900;color:var(--blue)}.contact-list dd{margin:3px 0 0;font-weight:700}footer{background:#03080d;color:#aebdc8;padding:65px 0 100px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px}.footer-grid>div:first-child img{width:250px;height:130px;object-fit:cover;object-position:center}.footer-grid h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#fff}.footer-grid a,.footer-grid p{display:block;margin:0 0 8px;text-decoration:none;font-size:.88rem}.footer-grid a:hover{color:#fff}.footer-base{border-top:1px solid #23313b;margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;font-size:.75rem}.mobile-call{display:none}
@media(max-width:1050px){.nav-wrap{grid-template-columns:230px 1fr auto}.brand img{width:220px}.nav-wrap nav{gap:14px}.nav-wrap nav a{font-size:.8rem}.header-cta{padding:13px}}
@media(max-width:850px){body{font-size:16px;padding-bottom:62px}.wrap{width:min(100% - 28px,700px)}.utility{display:none}.nav-wrap{height:86px;display:flex;justify-content:space-between}.brand{height:82px}.brand img{width:185px}.menu-button{display:flex;background:transparent;border:1px solid #375064;color:#fff;border-radius:6px;padding:10px 12px;align-items:center;gap:8px;font-weight:800}.menu-button svg{width:22px}.nav-wrap nav{display:none;position:absolute;left:0;right:0;top:86px;background:#07121d;padding:15px 22px 25px;grid-template-columns:1fr 1fr;gap:0}.nav-wrap nav.open{display:grid}.nav-wrap nav a{padding:14px 8px;border-bottom:1px solid #20394c}.header-cta{display:none}.hero{min-height:610px;background-position:65% center}.hero-overlay{background:linear-gradient(90deg,rgba(4,23,38,.97),rgba(4,23,38,.82) 72%,rgba(4,23,38,.45))}.hero-inner{padding-block:65px}.hero h1{font-size:clamp(2.65rem,11vw,4rem)}.hero p{font-size:1.05rem}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-grid,.project-grid{grid-template-columns:1fr 1fr}.split-grid,.image-feature,.detail-grid,.areas-layout,.contact-grid{grid-template-columns:1fr;gap:38px}.image-feature img{order:2}.three-steps,.values{grid-template-columns:1fr}.area-cta .wrap{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-base{flex-direction:column;gap:7px}.mobile-call{display:flex;position:fixed;z-index:50;bottom:0;left:0;right:0;height:62px;background:var(--orange);color:#fff;align-items:center;justify-content:center;text-decoration:none;font-weight:900;box-shadow:0 -8px 20px rgba(0,0,0,.2)}}
@media(max-width:560px){.hero{min-height:630px;background-position:69% center}.hero-copy{max-width:100%}.hero h1:after{width:260px}.button-row{align-items:stretch}.button-row .button{width:100%}.trust-grid,.service-grid,.project-grid,.feature-list,.footer-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)!important}.section{padding:62px 0}.split-panel{padding:62px 0}.audience-list a{align-items:flex-start;flex-direction:column;gap:5px}.three-steps{grid-template-columns:1fr}.enquiry-form{grid-template-columns:1fr;padding:22px}.enquiry-form>*{grid-column:1}.area-cta h2{font-size:2rem}.footer-grid>div:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* The supplied logo is portrait-oriented, so keep the complete mark visible. */
.nav-wrap{grid-template-columns:190px 1fr auto;height:126px}
.brand{height:118px}
.brand img{width:auto;height:112px}
@media(max-width:1050px){.nav-wrap{grid-template-columns:170px 1fr auto}.brand img{width:auto;height:100px}}
@media(max-width:850px){.nav-wrap{height:86px}.brand{height:82px}.brand img{width:auto;height:78px}}

.utility a,.footer-contact a,.contact-list a{color:inherit;text-decoration:none}.utility-contact{display:flex;gap:22px}.footer-contact a{display:block;color:#fff}.contact-list a:hover,.utility a:hover,.footer-contact a:hover{text-decoration:underline}

.header-actions{display:flex;flex-direction:column;align-items:center;gap:6px}
.header-logos{display:flex;align-items:center;justify-content:center;gap:12px;height:48px}
.header-logos a{display:block}.header-logos img{width:34px;height:39px;object-fit:contain}
.header-logos 
.header-actions .header-cta{padding:11px 16px;font-size:.82rem;border-radius:6px}
.trust-logo{width:53px;height:60px;object-fit:contain;flex:0 0 auto}
.footer-gas-safe{display:flex!important;align-items:center;gap:13px;margin:10px 0 18px!important}
.footer-gas-safe img{width:62px;height:auto}
.footer-gas-safe b,.footer-gas-safe small{display:block;line-height:1.25}
.footer-gas-safe b{color:#fff}.footer-gas-safe small{color:#aebdc8;margin-top:4px}
@media(max-width:850px){.header-actions{order:2;margin-left:auto}.trust-grid .trust-item:last-child{grid-column:1/-1}.menu-button{order:3}.header-logos{gap:9px;height:44px}.header-logos img{width:30px;height:35px}.header-logos }

/* Dedicated tablet layout: roomy two-column content with touch-friendly menu. */
@media(min-width:701px) and (max-width:1050px){
  .utility .wrap{height:42px}.nav-wrap{height:96px;display:flex;justify-content:space-between}.brand{height:92px}.brand img{height:88px}
  .menu-button{display:flex;background:transparent;border:1px solid #375064;color:#fff;border-radius:6px;padding:11px 14px;align-items:center;gap:8px;font-weight:800}.menu-button svg{width:23px}
  .nav-wrap nav{display:none;position:absolute;left:0;right:0;top:138px;background:#07121d;padding:18px max(28px,calc((100% - 760px)/2)) 28px;grid-template-columns:repeat(2,1fr);gap:0;box-shadow:0 18px 30px rgba(0,0,0,.25)}.nav-wrap nav.open{display:grid}.nav-wrap nav a{padding:16px 12px;border-bottom:1px solid #20394c;font-size:.95rem}
  .header-cta{margin-left:auto}.hero{min-height:560px;background-position:62% center}.hero h1{font-size:clamp(3.4rem,7.8vw,4.8rem)}
  .service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.split-grid,.image-feature,.detail-grid,.areas-layout,.contact-grid{grid-template-columns:1fr 1fr;gap:36px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .footer-grid{grid-template-columns:1.35fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}
}

.service-areas{padding:64px 0;background:#f3f6f8;border-top:1px solid #dce4e9;border-bottom:1px solid #dce4e9}
.service-areas-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:54px;align-items:center}
.service-areas h2{margin:10px 0 14px;color:#142333;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}
.service-areas p{max-width:620px;color:#647180;font-size:1.08rem;line-height:1.7}
.service-areas a{display:inline-block;margin-top:12px;color:#0b68bd;font-weight:800;text-decoration:none}
.area-pills{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.area-pills li{padding:10px 15px;border:1px solid #cbd8e1;border-radius:999px;background:#fff;color:#203244;font-weight:750;box-shadow:0 5px 16px rgba(17,41,61,.05)}
.area-pills-wide{margin-top:24px}
.area-note{margin-top:20px;font-size:.98rem}
@media(max-width:760px){
  .service-areas{padding:44px 0}
  .service-areas-grid{grid-template-columns:1fr;gap:28px}
  .area-pills{gap:8px}
  .area-pills li{padding:8px 12px;font-size:.92rem}
}

/* Mobile image bands break up service lists without making the page feel corporate. */
@media(max-width:700px){
  .service-card{padding:0 22px 24px;overflow:hidden}
  .service-card::before{content:"";display:block;height:94px;margin:0 -22px 20px;background-size:cover;background-position:center}
  .service-card:nth-child(3n+1)::before{background-image:linear-gradient(rgba(5,25,40,.05),rgba(5,25,40,.05)),url('assets/home-boiler.webp');background-position:center 44%}
  .service-card:nth-child(3n+2)::before{background-image:linear-gradient(rgba(5,25,40,.05),rgba(5,25,40,.05)),url('assets/heat-pump.webp')}
  .service-card:nth-child(3n)::before{background-image:linear-gradient(rgba(5,25,40,.05),rgba(5,25,40,.05)),url('assets/commercial-plant.webp')}
  .hero{min-height:650px;align-items:end;background-position:64% center}
  .hero-overlay{background:linear-gradient(180deg,rgba(4,23,38,.06) 0 25%,rgba(4,23,38,.58) 47%,rgba(4,23,38,.97) 76% 100%)}
  .hero-inner{padding-top:220px;padding-bottom:48px}
  .service-card.boiler-card::before{background-image:linear-gradient(rgba(5,25,40,.04),rgba(5,25,40,.04)),url('assets/home-boiler.webp');background-position:center 44%}
  .service-card.plumbing-card::before{background-image:linear-gradient(rgba(5,25,40,.04),rgba(5,25,40,.04)),url('assets/plumbing-heating.webp');background-position:center}
  .service-card.cooling-card::before{background-image:linear-gradient(rgba(5,25,40,.04),rgba(5,25,40,.04)),url('assets/air-conditioning.webp');background-position:center}
  .service-card.commercial-card::before{background-image:linear-gradient(rgba(5,25,40,.04),rgba(5,25,40,.04)),url('assets/commercial-plant.webp');background-position:center}
}

.gm-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
