/*
Theme Name: Centratec Modern IT
Theme URI: https://centratec.co.uk/
Author: Centratec
Description: Lightweight responsive Centratec theme with service and area pages, accessible navigation, review carousel and local SEO.
Version: 1.6.8
Requires PHP: 7.4
Text Domain: centratec-modern
*/
:root{--navy:#122c42;--blue:#166d92;--sky:#eaf4f8;--ochre:#e3a746;--ink:#243847;--muted:#627381;--line:#d9e5eb;--paper:#fff;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:17px/1.65 system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{color:#08618a}a:hover{text-decoration:underline}img{max-width:100%;height:auto}h1,h2,h3{color:var(--navy);line-height:1.19;margin:0 0 .7em}h1{font-size:clamp(2.1rem,4.5vw,3.6rem);letter-spacing:-.035em}h2{font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.02em}h3{font-size:1.2rem}p{margin:0 0 1.1em}.container{width:min(1180px,calc(100% - 36px));margin-inline:auto}.topbar{background:var(--navy);color:#e8f4f8;font-size:.83rem}.topbar .container{display:flex;justify-content:space-between;gap:15px;padding:7px 0}.topbar a{color:#fff}.site-header{position:relative;z-index:20;background:#fff;box-shadow:0 2px 14px #15354b14}.head-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0}.brand{text-decoration:none!important;display:flex;align-items:center;gap:12px;color:var(--navy)}.brand-symbol{display:grid;place-items:center;background:var(--navy);color:var(--ochre);width:52px;height:52px;border-radius:11px;font-size:27px;font-weight:900}.brand-name{display:block;font-size:clamp(1.55rem,2.7vw,2.15rem);font-weight:850;line-height:1;letter-spacing:-.05em}.brand-tag{display:block;color:var(--muted);font-size:.73rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;margin-top:7px}.head-actions{display:flex;align-items:center;gap:12px}.search-form{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.search-form input{width:190px;min-width:0;border:0;padding:12px 13px;font:inherit;font-size:.9rem}.search-form button{border:0;background:var(--blue);color:#fff;padding:0 16px;cursor:pointer}.menu-trigger{background:var(--navy);color:#fff;border:0;border-radius:9px;padding:12px 17px;display:flex;align-items:center;gap:11px;font-weight:700;cursor:pointer}.hamburger{display:flex;flex-direction:column;gap:5px}.hamburger i{display:block;width:22px;height:2px;background:currentColor}.nav-panel{display:none;background:#f5fafc;border-top:1px solid var(--line);box-shadow:0 12px 20px #132c4214}.nav-panel.is-open{display:block}.nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:28px 0}.nav-grid h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}.nav-grid a{display:block;padding:6px 0;color:var(--navy);text-decoration:none}.nav-grid a:hover{color:var(--blue)}.hero{background:linear-gradient(115deg,#112b41 0%,#18435a 70%,#205b72);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:45px;padding:70px 0}.hero h1,.hero p{color:#fff}.hero h1{margin-bottom:24px}.eyebrow{color:#f0bd69!important;text-transform:uppercase;font-weight:800;font-size:.78rem;letter-spacing:.13em;margin-bottom:13px}.hero p{font-size:1.12rem;color:#dcebf1}.hero img{border-radius:18px;aspect-ratio:1.25;object-fit:cover;box-shadow:0 20px 50px #071b2c55}.btn{display:inline-block;text-decoration:none!important;border-radius:9px;padding:12px 21px;font-weight:750;transition:transform .15s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--ochre);color:#1d2b35}.btn-outline{border:1px solid #bdd4e0;color:#fff}.btn-blue{background:var(--blue);color:#fff}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.trustbar{background:#f3f8fa;border-bottom:1px solid var(--line)}.trustbar .container{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;padding:14px 0;font-size:.88rem;font-weight:700;color:var(--navy)}.section{padding:65px 0}.section.alt{background:#f5f9fb}.section-head{max-width:770px;margin-bottom:28px}.section-head p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:25px;background:#fff;box-shadow:0 5px 18px #0c31430a}.card p{color:var(--muted);font-size:.94rem}.card a{font-weight:750}.icon-disc{width:45px;height:45px;display:grid;place-items:center;border-radius:11px;background:#e5f2f7;font-size:23px;margin-bottom:17px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:42px}.split img{border-radius:var(--radius);width:100%;max-height:460px;object-fit:cover}.review-wrap{background:var(--navy);color:#fff}.review-wrap h2{color:#fff}.review-wrap .sub{color:#d1e3ec}.review-viewport{overflow:hidden}.review-track{display:flex;gap:18px;transition:transform .4s ease}.review{flex:0 0 calc((100% - 36px)/3);background:#fff;color:var(--ink);border-radius:14px;padding:25px;min-height:220px}.review p{font-size:.92rem}.stars{color:#c27b12;letter-spacing:2px}.review-nav{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.review-nav button{background:#fff;border:0;border-radius:7px;padding:7px 16px;cursor:pointer;font-size:20px}.area-links{display:flex;flex-wrap:wrap;gap:9px}.area-links a{display:inline-block;border:1px solid #cddfe7;border-radius:30px;padding:6px 13px;text-decoration:none;background:#fff;font-size:.9rem}.cta-band{background:var(--ochre);padding:35px 0}.cta-band .container{display:flex;justify-content:space-between;align-items:center;gap:20px}.cta-band h2{margin:0;font-size:1.8rem}.content-wrap{padding:55px 0 75px}.content-wrap .article{max-width:850px}.content-wrap .article h2{margin-top:1.5em}.content-wrap .article ul{padding-left:24px}.page-intro{background:#eaf4f8;padding:42px 0}.page-intro p{max-width:780px}.breadcrumbs{font-size:.84rem;color:#657781;margin-bottom:15px}.related{margin-top:40px;border-top:1px solid var(--line);padding-top:25px}.footer{background:#122c42;color:#dce8ee;padding:55px 0 22px}.footer h3{color:#fff;font-size:1rem}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.footer a{color:#dce8ee;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-links a{display:inline}.footer-bottom{border-top:1px solid #456072;margin-top:35px;padding-top:18px;font-size:.8rem}.cookie{position:fixed;bottom:0;left:0;right:0;z-index:99;background:#e4ad52;color:#1d2c38;padding:13px 0;box-shadow:0 -4px 20px #0002}.cookie-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}.cookie p{margin:0;font-size:.88rem}.cookie button{border:0;background:var(--navy);color:#fff;padding:8px 18px;border-radius:7px;cursor:pointer}.contact-form{display:grid;gap:13px;max-width:600px}.contact-form label{font-weight:650}.contact-form input,.contact-form textarea{display:block;width:100%;padding:11px;border:1px solid #b9cbd5;border-radius:8px;font:inherit}.contact-form button{border:0;cursor:pointer}.notice{border-left:4px solid var(--ochre);background:#fff9ee;padding:16px 20px;margin:24px 0}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:999}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}@media(max-width:850px){.hero-grid,.split{grid-template-columns:1fr}.hero-grid{padding:43px 0}.hero img{max-height:380px}.cards{grid-template-columns:repeat(2,1fr)}.review{flex-basis:calc((100% - 18px)/2)}.footer-grid{grid-template-columns:repeat(2,1fr)}.nav-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){body{font-size:16px}.topbar .container{justify-content:center}.topbar .container span:last-child{display:none}.head-inner{display:block;padding:13px 0}.brand{width:100%;justify-content:center;padding-bottom:13px}.brand-name{font-size:clamp(1.65rem,8vw,2.4rem)}.brand-tag{font-size:.63rem;letter-spacing:.035em}.head-actions{display:grid;grid-template-columns:1fr auto;gap:9px}.search-form{width:100%}.search-form input{width:100%;padding:10px}.menu-trigger{justify-content:center;padding:11px}.menu-trigger .menu-label{display:none}.nav-grid,.cards,.footer-grid{grid-template-columns:1fr}.nav-grid{gap:10px;padding:18px 0}.section{padding:42px 0}.hero-grid{gap:24px}.review{flex-basis:100%}.cta-band .container,.cookie-inner{align-items:flex-start;flex-direction:column}.footer-grid{gap:18px}.split{gap:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* v1.1 book-style right-side menu */
.nav-backdrop{position:fixed;inset:0;background:rgba(5,19,34,.73);z-index:900;opacity:0;transition:opacity .3s ease}.nav-backdrop[hidden]{display:none}.nav-backdrop.is-open{opacity:1}
.nav-panel{display:block;position:fixed;z-index:901;top:0;right:0;bottom:0;width:min(780px,100%);overflow-y:auto;background:#f3f7fa;box-shadow:-16px 0 45px #0003;border:0;transform:translateX(105%);visibility:hidden;transition:transform .38s cubic-bezier(.2,.7,.2,1),visibility .38s;transform-origin:right center}.nav-panel.is-open{transform:translateX(0);visibility:visible}.drawer-inner{padding:34px clamp(22px,4vw,54px) 50px}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #ccd9e3;padding-bottom:22px}.drawer-kicker,.drawer-columns h3{color:#b9344b;font-size:.69rem;font-weight:850;letter-spacing:.13em}.drawer-title{font-family:Georgia,serif;font-size:2.3rem;color:#122c42;margin-top:9px}.drawer-close{border:1px solid #c5d5e1;background:transparent;color:#102e46;border-radius:3px;padding:10px 13px;font-size:.75rem;font-weight:800;cursor:pointer}.drawer-close span{font-size:1.4rem;vertical-align:middle;margin-left:7px;font-weight:400}.drawer-search{display:flex;margin:22px 0 35px}.drawer-search input{flex:1;min-width:0;padding:13px;border:1px solid #c4d4df;background:#fff;font:inherit;font-size:.85rem}.drawer-search button{border:0;background:#b9344b;color:#fff;font-weight:750;padding:0 22px;cursor:pointer}.drawer-columns{display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px}.drawer-columns h3{margin:0 0 13px}.drawer-main a{display:block;text-decoration:none;color:#142f49;font-family:Georgia,serif;font-size:1.1rem;margin:0 0 13px}.drawer-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 13px}.drawer-link-grid a{display:block;color:#17334b;border-bottom:1px solid #d4e0e8;padding:8px 0;font-size:.72rem;font-weight:750;text-decoration:none;line-height:1.4;text-transform:uppercase}.drawer-link-grid a:hover,.drawer-main a:hover{color:#b9344b}.drawer-area-title{margin-top:28px!important}.menu-trigger[aria-expanded=true]{background:#24516b}body.drawer-open{overflow:hidden}
.footer-grid{grid-template-columns:1.2fr 1.2fr 1.2fr 1fr;gap:26px}.footer-grid p,.footer-grid a{font-size:.8rem;line-height:1.7}.footer-grid h3{font-size:.9rem}.footer-brand{display:flex;align-items:center;gap:10px;text-decoration:none!important;margin-bottom:17px}.footer-brand-icon{display:grid;place-items:center;width:44px;height:44px;border:2px solid #e3a746;color:#e3a746;border-radius:10px;font-size:1.65rem;font-weight:900}.footer-brand strong{display:block;color:#fff;font-size:1.4rem;letter-spacing:-.04em;line-height:1.15}.footer-brand small{display:block;color:#cbdce7;font-size:.62rem;line-height:1.4}.footer-inline-links a{display:inline}
@media(max-width:850px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-columns{grid-template-columns:130px 1fr}.drawer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}.drawer-inner{padding:22px 20px 40px}.drawer-columns{grid-template-columns:1fr;gap:20px}.drawer-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.drawer-main h3{grid-column:1/-1}.drawer-main a{font-size:.98rem}.drawer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-title{font-size:1.8rem}}

/* v1.2.0: clearer, more legible footer typography */
.footer{font-family:"Trebuchet MS", "Segoe UI", Arial, sans-serif;}
.footer-grid p,.footer-grid a{font-size:1rem;line-height:1.85;font-weight:400;letter-spacing:.005em;}
.footer-grid h3{font-size:1.15rem;line-height:1.35;font-weight:750;letter-spacing:.012em;margin-bottom:15px;}
.footer-brand strong{font-size:1.55rem;font-weight:800;letter-spacing:-.035em;}
.footer-brand small{font-size:.83rem;line-height:1.5;}
.footer-bottom,.footer-bottom a{font-size:.9rem;line-height:1.65;}
@media(max-width:600px){.footer-grid p,.footer-grid a{font-size:1rem;line-height:1.8}.footer-grid h3{font-size:1.15rem}}

/* v1.2.1: contact details remain in top bar after removing strapline */
.topbar .container{justify-content:flex-end}
@media(max-width:600px){.topbar .container span:last-child{display:inline}}

/* v1.3.2: floating WhatsApp contact button */
.ct-whatsapp{position:fixed;right:22px;bottom:22px;z-index:110;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#25d366;color:white!important;box-shadow:0 5px 20px #0004;text-decoration:none;transition:transform .2s ease}.ct-whatsapp:hover,.ct-whatsapp:focus{transform:scale(1.08);background:#128c7e}.ct-whatsapp svg{display:block}.cookie:not([hidden])~.ct-whatsapp{bottom:100px}@media(max-width:600px){.ct-whatsapp{width:54px;height:54px;right:16px;bottom:16px}}

/* v1.3.3 footer and contact refinements */
.footer-grid h3{text-transform:uppercase;letter-spacing:.055em;font-size:1.03rem;line-height:1.35}
.footer-grid .footer-inline-links{font-size:.88rem;line-height:1.55}
.footer-grid .footer-inline-links a{font-size:inherit;line-height:inherit}
.footer-separator{color:#e3a746;font-weight:700;margin:0 .1em}
.footer-grid .ct-address{display:inline-block;margin-top:.45rem;line-height:1.65}
.ct-contact-address{margin:26px 0;padding:22px 26px;background:#eaf4f8;border-left:4px solid #166d92;border-radius:8px}
.ct-contact-address address{font-style:normal;line-height:1.75}
@media(max-width:600px){.footer-grid .footer-inline-links,.footer-grid .footer-inline-links a{font-size:.9rem;line-height:1.55}}

/* v1.3.5 — consistent typography across all four footer columns.
   Retains the original navy footer, compact plus-separated services and layout. */
.footer { font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif; }
.footer .footer-grid { font-size: 16px; }
.footer .footer-grid p,
.footer .footer-grid a,
.footer .footer-grid .footer-inline-links,
.footer .footer-grid .footer-inline-links a,
.footer .footer-grid .ct-address,
.footer .footer-grid .footer-separator {
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: normal;
}
.footer .footer-grid h3 {
  font-family: inherit;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .045em;
  text-transform: uppercase;
}
/* Brand wordmark is deliberately larger than normal footer body text. */
.footer .footer-brand strong { font-family: inherit; font-size: 1.55rem; font-weight: 800; }
.footer .footer-brand small { font-family: inherit; font-size: .875rem; line-height: 1.45; }
@media (max-width:600px) {
  .footer .footer-grid { font-size: 16px; }
}

/* v1.3.7: compact services footer and full-width mobile branding */
.footer .footer-grid > div:nth-child(2) .footer-inline-links,
.footer .footer-grid > div:nth-child(2) .footer-inline-links a,
.footer .footer-grid > div:nth-child(2) .footer-separator {font-size:.91rem;line-height:1.45;}
.footer .footer-grid > div:nth-child(2) .footer-inline-links {margin-top:0;}
.footer .footer-grid > div:nth-child(2) .footer-separator {margin:0 .02em 0 0;}
@media(max-width:600px){
 .head-inner{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:13px 0 12px;}
 .head-inner .brand{display:flex;width:100%;max-width:100%;justify-content:space-between;align-items:center;gap:10px;padding:0;text-align:right;}
 .head-inner .brand-symbol{flex:0 0 auto;width:clamp(43px,12vw,54px);height:clamp(43px,12vw,54px);}
 .head-inner .brand > span:last-child{flex:1;min-width:0;}
 .head-inner .brand-name{font-size:clamp(1.7rem,9.5vw,3.4rem);line-height:1.08;letter-spacing:-.055em;white-space:nowrap;}
 .head-inner .head-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;width:100%;}
 .head-inner .search-form{min-width:0;width:100%;}
 .head-inner .search-form input{min-width:0;width:100%;}
 .head-inner .menu-trigger{min-width:46px;justify-content:center;}
}
@media(max-width:360px){.head-inner .brand-name{font-size:8.8vw;}}

/* v1.3.8: sash-and-case-inspired two-row mobile header, Centratec colours */
@media(max-width:600px){
 .site-header .head-inner{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-top:16px;padding-bottom:14px;}
 .site-header .head-inner .brand{display:flex;width:100%;max-width:100%;align-items:center;justify-content:space-between;gap:10px;padding:0;}
 .site-header .head-inner .brand-symbol{width:clamp(44px,12vw,56px);height:clamp(44px,12vw,56px);flex-shrink:0;}
 .site-header .head-inner .brand > span:last-child{flex:1;min-width:0;text-align:right;}
 .site-header .head-inner .brand-name{font-size:clamp(1.6rem,9.4vw,3.25rem);line-height:1.05;white-space:nowrap;letter-spacing:-.055em;}
 .site-header .head-inner .head-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;width:100%;}
 .site-header .head-inner .search-form{display:flex;min-width:0;width:100%;border-radius:5px;}
 .site-header .head-inner .search-form input{flex:1 1 auto;width:0;min-width:0;padding:12px 10px;font-size:clamp(.82rem,3.6vw,1rem);}
 .site-header .head-inner .search-form button{flex:0 0 auto;padding:0 clamp(9px,2.7vw,15px);font-size:clamp(.76rem,3.3vw,.95rem);font-weight:700;}
 .site-header .head-inner .menu-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:64px;padding:8px 9px;border-radius:5px;}
 .site-header .head-inner .menu-trigger .menu-label{display:block;font-size:.7rem;line-height:1;font-weight:800;letter-spacing:.02em;}
 .site-header .head-inner .hamburger{gap:4px;}
 .site-header .head-inner .hamburger i{width:23px;height:2px;}
}
@media(max-width:360px){.site-header .head-inner .brand-name{font-size:8.9vw;}.site-header .head-inner .menu-trigger{min-width:58px;}}

/* v1.3.9: soft-black brand refresh and full-width responsive logo */
:root{--navy:#20252B;--blue:#30363D;--sky:#F3F4F5;--ink:#20252B;--muted:#596169;--line:#D9DDE0;--ochre:#E5A83F;}
.site-header{background:#fff;}
.brand{display:block;min-width:0;max-width:480px;width:100%;}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:1120/240;object-fit:contain;}
.hero{background:linear-gradient(115deg,#171A1E 0%,#20252B 75%,#30363D 100%);}
.review-wrap,.footer,.topbar{background:#20252B;}
.nav-panel{background:#F3F4F5;}
.drawer-title,.drawer-main a,.drawer-link-grid a{color:#20252B;}
.drawer-kicker,.drawer-columns h3,.drawer-link-grid a:hover,.drawer-main a:hover{color:#9D6818;}
.drawer-search button,.search-form button{background:#E5A83F;color:#20252B;font-weight:800;}
.menu-trigger,.cookie button{background:#20252B;}
.menu-trigger[aria-expanded=true]{background:#30363D;}
.page-intro,.section.alt,.trustbar{background:#F3F4F5;}
@media(max-width:600px){
 .site-header .head-inner{gap:12px;padding:12px 0 14px;}
 .site-header .head-inner .brand{display:block;max-width:none;width:100%;padding:0;}
 .site-header .head-inner .brand-logo{width:100%;height:auto;max-width:none;object-fit:contain;}
 .site-header .head-inner .search-form button{background:#E5A83F;color:#20252B;padding:0 12px;min-width:65px;}
 .site-header .head-inner .menu-trigger{background:#20252B;}
}

/* v1.4.0 – Google review carousel and footer Facebook link */
.review{flex:0 0 calc((100% - 18px)/2)}
.review-nav{align-items:center;flex-wrap:wrap}
.review-nav button:disabled{opacity:.4;cursor:not-allowed}
.review-count{margin-right:auto;font-size:.85rem;color:#e6e6e6}
.review-google-link{display:inline-block;background:#e3a746;color:#20252b!important;border-radius:7px;padding:9px 15px;font-size:.9rem;font-weight:750;text-decoration:none}
.review-google-link:hover{text-decoration:underline}
.footer-social{margin-top:20px}
.footer-social a{display:inline-flex;align-items:center;gap:9px;font-weight:700}
.footer-social a span{display:inline-grid;place-items:center;background:#1877f2;color:white;width:25px;height:25px;border-radius:5px;font-size:20px;font-family:Arial,sans-serif;font-weight:bold}
@media(max-width:600px){.review{flex-basis:100%}.review-google-link{width:100%;text-align:center;margin-top:8px}}

/* Trustindex shortcode embed: allow responsive review widget layout */
.centratec-trustindex-reviews{width:100%;max-width:100%;min-width:0;overflow:hidden}
.centratec-trustindex-reviews iframe{max-width:100%}

/* v1.4.2: white Google customer reviews section; retain Trustindex widget styling */
.review-wrap{background:#fff;color:#20252B;}
.review-wrap h2{color:#20252B;}
.review-wrap .eyebrow{color:#9D6818;}
.footer-grid > div:nth-child(3) .footer-separator:last-of-type{margin-right:0;}

/* v1.4.3: balanced homepage contrast, keeping Trustindex on white. */
.home .ct-dark-section{background:#20252B;color:#E8EAED;}
.home .ct-dark-section .section-head h2,.home .ct-dark-section .section-head p:not(.eyebrow){color:#F7F8FA;}
.home .ct-dark-section .eyebrow{color:#E5A83F;}
.home .ct-dark-section .card{background:#F8F9FA;color:#263039;border:1px solid #D7DBDF;box-shadow:0 8px 25px rgba(0,0,0,.12);}
.home .ct-dark-section .card h3{color:#20252B;}
.home .ct-dark-section .card p{color:#45505A;}
.home .ct-dark-section .card a{color:#075D80;}
.home .ct-dark-section .icon-disc{background:#F1E5D0;color:#20252B;}
/* Keep the last area and trailing coverage phrase together without a stray gap. */
.footer-last-area{white-space:nowrap;}

/* v1.5 contextual internal links and Q&A */
.ct-seo-related{margin:2.5rem 0;padding:1.5rem;border:1px solid #d7dde1;border-radius:12px;background:#f6f8f9}.ct-seo-related h2{margin-top:0}.ct-seo-related a{text-decoration:underline;text-underline-offset:3px}

/* Keep commas attached to the following service-area name in footer */
.footer .footer-area-item{display:inline-block;white-space:nowrap;}

/* v1.5.3: each town and its following comma stay together, with natural wrapping between towns. */
.footer .footer-area-item{display:inline;white-space:nowrap;}
.footer .footer-inline-links{overflow-wrap:normal;word-break:normal;}

/* Homepage service cards: soft-black section with high-contrast white cards. */
.home .ct-home-services{background:#20252b;color:#f7f8fa;}
.home .ct-home-services .section-head h2{color:#fff;}
.home .ct-home-services .section-head p:not(.eyebrow){color:#e3e8ec;}
.home .ct-home-services .card{background:#fff;color:#243039;}
.home .ct-home-services .card h3{color:#20252b;}
.home .ct-home-services .card p{color:#52616d;}

/* v1.5.5: soft-black bands across all standard service and area pages.
   Scope to the page template, leaving homepage and WordPress editor unchanged. */
.ct-inner-page .page-intro{background:#20252b;color:#e4e8ec;border-bottom:4px solid #e5a83f;}
.ct-inner-page .page-intro h1{color:#fff;}
.ct-inner-page .page-intro p{color:#d8dee3;}
.ct-inner-page .page-intro .breadcrumbs{color:#c5cdd3;}
.ct-inner-page .page-intro .breadcrumbs a{color:#f1bd68;}
.ct-inner-page .content-wrap{padding-top:48px;}
.ct-inner-page .article{max-width:900px;}
.ct-inner-page .ct-inner-related{background:#20252b;color:#e5e9ed;border:0;border-top:4px solid #e5a83f;border-radius:14px;padding:26px 30px;margin-top:45px;}
.ct-inner-page .ct-inner-related h2,.ct-inner-page .ct-inner-related h3{color:#fff;}
.ct-inner-page .ct-inner-related a{color:#f1bd68;text-decoration:underline;text-underline-offset:3px;}
.ct-inner-page .ct-inner-related a:hover{color:#fff;}
.ct-inner-page .area-links{background:#f3f4f5;border-radius:12px;padding:18px;margin:22px 0;}
.ct-inner-page .area-links a{background:#fff;border-color:#d5dce1;color:#20252b;}
.ct-inner-page .article blockquote{background:#20252b;color:#fff;border-left:4px solid #e5a83f;padding:20px 25px;border-radius:0 10px 10px 0;margin:24px 0;}
.ct-inner-page .article blockquote p{color:#fff;}
@media(max-width:600px){.ct-inner-page .page-intro{padding:32px 0}.ct-inner-page .ct-inner-related{padding:22px 18px}.ct-inner-page .content-wrap{padding-top:32px}}

/* v1.5.6 compact social icons in first footer column */
.footer-social-icons{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.footer-social-icons a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border-radius:7px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.footer-social-icons a:hover,.footer-social-icons a:focus-visible{transform:translateY(-2px);outline:2px solid #e7ad42;outline-offset:2px}
.footer-social-icons a .footer-facebook-icon{display:grid;place-items:center;width:34px;height:34px;background:#1877f2;color:#fff;border-radius:6px;font:700 25px Arial,sans-serif}
.footer-social-icons a .footer-google-icon{display:grid;place-items:center;width:34px;height:34px;background:#fff;color:#4285f4;border-radius:6px;font:700 24px Arial,sans-serif;box-shadow:inset 0 0 0 1px #d5dbe0}

.ct-area-hub-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px 22px;padding-left:22px;margin:18px 0 28px}.ct-area-hub-list li{padding:4px 0}.ct-area-hub{margin-top:30px}

/* v1.6.1 */
.ct-inline-mobile{display:inline;white-space:normal}.ct-local-specific{margin-top:1.5rem;padding:1.25rem;border-left:4px solid #e6a83e;background:#f5f6f7;color:#202428}.ct-local-specific h2{margin-top:0}

/* v1.6.2: side-by-side, high-contrast click-to-call contact tiles */
.ct-phone-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 12px}
.ct-phone-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;background:#202428;color:#fff!important;border:2px solid #e6a83e;border-radius:10px;padding:18px 20px;text-decoration:none!important;min-width:0;box-shadow:0 3px 12px rgba(0,0,0,.09)}
.ct-phone-tile:hover,.ct-phone-tile:focus-visible{background:#30363b;outline:2px solid #e6a83e;outline-offset:2px}
.ct-phone-label{font-size:.9rem;color:#e6a83e;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ct-phone-tile strong{color:#fff;font-size:clamp(1.15rem,2.2vw,1.55rem);white-space:nowrap}
.ct-phone-action{font-size:.82rem;color:#e8e8e8}
@media(max-width:420px){.ct-phone-panel{gap:8px}.ct-phone-tile{padding:12px 10px}.ct-phone-tile strong{font-size:clamp(.95rem,4.2vw,1.15rem)}}

/* v1.6.3: protect equal alignment of the two phone cards */
.ct-phone-panel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;gap:12px!important;width:100%;clear:both}
.ct-phone-panel>.ct-phone-tile{display:flex!important;position:static!important;float:none!important;width:auto!important;min-width:0!important;margin:0!important;align-self:stretch!important;justify-content:center!important;box-sizing:border-box}
.ct-phone-panel .ct-phone-tile strong{display:block;white-space:normal;overflow-wrap:normal;font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.3}
@media(max-width:420px){.ct-phone-panel{gap:8px!important}.ct-phone-panel>.ct-phone-tile{padding:12px 9px!important}.ct-phone-panel .ct-phone-tile strong{font-size:clamp(.9rem,3.7vw,1.12rem)}}

.footer-social-icons a .footer-pinterest-icon{display:grid;place-items:center;width:34px;height:34px;background:#bd081c;color:#fff;border-radius:6px;font:700 24px Georgia,serif}
