/* Electrocore: a lighter layout using the business and its actual work. */
:root { --gutter:clamp(24px,4vw,64px) }

.home .section {padding-top:70px;padding-bottom:70px}

.home .emergency-strip {margin-top:22px;border-radius:8px;padding:24px 28px}
.home .work {background:var(--paper)}
.home .work h2,.home .testimonials h2 {font-size:clamp(32px,3vw,44px)}
.home .work-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.home .work-grid figure {padding:0 0 22px;background:#fff;border:1px solid #e0e0d5;border-radius:8px;overflow:hidden}
.home .work-grid img,.home .work-grid figure:first-child img {height:290px;border-radius:0}
.home .work-grid figcaption {padding:22px 23px 0}
.home .work-grid figcaption>span {font-size:11px}
.home .work-grid h3 {font-size:23px;margin:11px 0}
.home .work-grid p {font-size:14px}
.home .testimonials {display:block;background:#eeeee6}
.home .review-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home .review-card {border:1px solid #dbddce;border-radius:8px;background:var(--paper);padding:26px}
.home .review-text {font-size:15px;line-height:1.8}
.home .review-author span {display:block;margin-top:4px;font-size:12px}
.home .about {background:var(--paper);color:var(--ink)}
.home .about-layout {grid-template-columns:.8fr 1fr;gap:70px;max-width:1180px;margin:auto}
.home .about-layout figure {width:100%;max-width:380px;justify-self:center}
.home .about-layout img {height:425px;border-radius:8px;object-position:center 36%}
.home .about-layout figcaption {color:var(--muted);font-size:12px}
.home .about .eyebrow {color:#6e582b}
.home .about h2 {font-size:clamp(36px,3.5vw,50px)}
.home .about .lead {color:var(--ink);font-size:21px}
.home .about p {color:var(--muted);font-size:16px}
.home .about .text-link {color:#73591f}
.home .licence-note {border-color:var(--line);color:var(--muted)}
.home .licence-note strong {color:var(--ink)}
.home .coverage {background:#eeeee6;gap:65px}
.home .coverage h2 {font-size:clamp(32px,3vw,44px)}
.home .contact {grid-template-columns:1fr 1fr;gap:65px;background:var(--dark);color:var(--paper)}
.home .contact .eyebrow {color:var(--gold)}
.home .contact-intro>p {color:#d2d5c6}
.home .contact h2 {font-size:clamp(38px,3.8vw,54px)}
.home .contact-phone,.home .contact-phone span {color:var(--gold)}
.home .contact-email {color:var(--paper)}
.home .contact-form {color:var(--ink);border-radius:9px}
.home .contact-photo {border-radius:6px}
.page-services .service-cards {gap:24px}
.page-services .service-tile {padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff}
.page-services .service-photo {border-radius:5px}
.page-services .service-tile h3 {font-size:25px}
.page-services .emergency-strip {border-radius:8px}
@media(min-width:1600px){
  .home .section {padding-left:max(var(--gutter),calc((100vw - 1400px)/2));padding-right:max(var(--gutter),calc((100vw - 1400px)/2))}
}
@media(max-width:1100px){

  .home .about-layout {gap:45px}
  .home .contact {gap:40px}
}
@media(max-width:800px){

  .home .work-grid {gap:17px}
  .home .work-grid img,.home .work-grid figure:first-child img {height:230px}
  .home .work-grid figcaption {padding:18px 18px 0}
  .home .work-grid h3 {font-size:21px}
  .home .work-grid p {font-size:13px}
  .home .review-grid {gap:16px}
  .home .review-card {padding:22px}
}
@media(max-width:700px){

  .home .section {padding:50px 24px}

  .home .emergency-strip {padding:25px;margin-top:20px}
  .home .work-grid {grid-template-columns:1fr;gap:22px}
  .home .work-grid img,.home .work-grid figure:first-child img {height:300px}
  .home .work-grid figcaption {padding:21px 23px 0}
  .home .work-grid h3 {font-size:24px}
  .home .work-grid p {font-size:14px}
  .home .review-grid {grid-template-columns:1fr;gap:17px}
  .home .review-card {padding:26px}
  .home .about-layout {grid-template-columns:1fr;gap:30px}
  .home .about-layout img {height:390px}
  .home .about h2 {font-size:39px}
  .home .about .lead {font-size:20px}
  .home .about p {font-size:15px}
  .home .coverage {grid-template-columns:1fr;gap:24px}
  .home .contact {grid-template-columns:1fr;gap:32px}
  .home .contact h2 {font-size:40px}
  .page-services .service-cards {grid-template-columns:1fr;gap:23px}
}


/* An open, photograph-led layout with compact images of the actual business. */
.home {background:#fff}
.home .hero {
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:center;gap:clamp(35px,6vw,90px);
  max-width:1480px;margin:auto;padding:65px var(--gutter) 55px;
  background:#fff;color:var(--ink);border-radius:0;
}
.home .hero-copy {padding:0;min-width:0}
.home .hero .eyebrow {font-size:11px;letter-spacing:.09em;color:#746032;margin-bottom:22px}
.home .hero h1 {font-size:clamp(43px,4.25vw,61px);line-height:1.12;letter-spacing:-.045em;max-width:620px;text-wrap:initial}
.home .hero h1 span {color:#846629}
.home .hero-promise {font-size:clamp(19px,1.7vw,24px);font-weight:500;letter-spacing:-.025em;margin-top:23px;color:var(--ink)}
.home .hero-promise em {color:#846629;font-weight:700}
.home .hero-sub {font-size:16px;line-height:1.8;max-width:560px;margin-top:20px;color:var(--muted)}
.home .hero .button-row {margin-top:28px;gap:14px}
.home .hero .btn-primary {background:var(--dark);color:#fff;border-color:var(--dark)}
.home .hero .btn-primary:hover {background:#45463b}
.home .hero .btn-outline {border-color:#b6b6ab;color:var(--ink)}
.home .hero .btn-outline:hover {background:var(--paper)}
.home .hero-location {border:0;padding-top:0;margin-top:22px;font-size:12px;color:var(--muted)}
.home .hero-photo {
  position:relative;display:block;min-height:0;height:auto;width:100%;max-width:490px;
  justify-self:end;align-self:center;background:#eeeee7;padding:12px 12px 0;
  border-radius:5px;overflow:hidden;
}
.home .hero-photo>img {position:static;display:block;width:100%;height:300px;object-fit:cover;object-position:center 45%;border-radius:3px}
.home .hero-photo figcaption {position:static;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 5px;background:none;color:var(--ink);font-size:13px}
.home .hero-photo figcaption span {font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0}
.home .trust-strip {max-width:none;background:var(--dark);border:0;padding:22px var(--gutter);gap:30px}
.home .trust-strip>div,.home .trust-strip>a {padding-left:22px;border-left:2px solid var(--gold);justify-content:flex-start}
.home .trust-strip strong {color:var(--paper);font-size:14px}
.home .trust-strip p {color:#c8cabb;font-size:12px}
.home .services {background:#fff}
.home .services h2 {font-size:clamp(31px,3vw,43px);letter-spacing:-.04em}
.home .services .section-heading-row {margin-bottom:32px}
.home .service-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.home .service-tile {display:flex;flex-direction:column;padding:0;border:0;border-radius:0;background:none}
.home .service-photo {display:block;height:230px;position:relative;overflow:hidden;border-radius:4px;margin:0}
.home .service-photo img {width:100%;height:100%;object-fit:cover;object-position:center 45%}
.home .service-tile[href="/specialist.html"] .service-photo img {object-position:center 70%}
.home .service-photo>span {position:absolute;left:0;bottom:0;background:var(--dark);color:#fff;padding:10px 18px;font-size:13px;letter-spacing:0;font-weight:600}
.home .service-tile-body {padding:23px 0 0;flex:1;display:flex;flex-direction:column}
.home .service-tile h3 {font-size:25px;line-height:1.25;letter-spacing:-.035em;margin-bottom:14px}
.home .service-tile p {font-size:15px;line-height:1.8;margin-bottom:23px}
.home .service-tile .text-link {font-size:13px;margin-top:auto;padding:15px 0;border-top:1px solid var(--line);border-bottom:0;width:100%;min-width:0}
.home .work {background:var(--paper)}
.home .work-grid figure {border:0;background:none;border-radius:4px}
.home .work-grid figcaption {padding:20px 0 0}
.home .work-grid img,.home .work-grid figure:first-child img {height:260px;border-radius:4px}
.home .work-grid figcaption>span {letter-spacing:.05em}
.home .section h2 {letter-spacing:-.04em}
@media(min-width:1600px){
  .home .trust-strip {padding-left:max(var(--gutter),calc((100vw - 1400px)/2));padding-right:max(var(--gutter),calc((100vw - 1400px)/2))}
}
@media(max-width:1100px){
  .home .hero {gap:35px;padding-top:48px;padding-bottom:45px}
  .home .hero h1 {font-size:46px}
  .home .hero-photo>img {height:265px}
  .home .hero-photo figcaption {flex-direction:column;align-items:flex-start;gap:0}
  .home .hero .btn-primary,.home .hero .btn-outline {font-size:13px;padding:15px 19px;gap:17px}
  .home .service-cards {gap:24px}
  .home .service-photo {height:205px}
  .home .service-tile h3 {font-size:23px}
}
@media(max-width:800px){
  .home .hero {grid-template-columns:1.15fr .85fr;gap:25px;padding:40px 24px}
  .home .hero h1 {font-size:40px}
  .home .hero .eyebrow {font-size:10px}
  .home .hero-promise {font-size:20px}
  .home .hero-sub {font-size:15px}
  .home .hero-photo>img {height:230px;object-position:center 45%}
  .home .hero .btn-primary,.home .hero .btn-outline {padding:13px 14px;font-size:12px;gap:12px}
  .home .trust-strip {padding:22px 24px;gap:18px}
  .home .trust-strip>div,.home .trust-strip>a {padding-left:13px}
  .home .trust-strip strong {font-size:12px}
  .home .trust-strip p {font-size:11px}
  .home .service-cards {gap:20px}
  .home .service-photo {height:190px}
  .home .service-tile h3 {font-size:21px}
  .home .service-tile p {font-size:14px}
}
@media(max-width:700px){
  .home .hero {grid-template-columns:1fr;gap:30px;padding:36px 24px}
  .home .hero h1 {font-size:clamp(39px,10vw,55px);max-width:490px}
  .home .hero .eyebrow {margin-bottom:18px;line-height:1.8}
  .home .hero-promise {font-size:20px;margin-top:19px}
  .home .hero-sub {margin-top:17px}
  .home .hero .button-row {flex-direction:row;gap:12px;margin-top:24px}
  .home .hero-location {margin-top:18px;font-size:11px}
  .home .hero-photo {justify-self:start;max-width:490px}
  .home .hero-photo>img {height:210px;object-position:center 45%}
  .home .hero-photo figcaption {flex-direction:row;gap:10px;padding:13px 3px;font-size:12px}
  .home .trust-strip {grid-template-columns:1fr;gap:18px;padding:27px 24px}
  .home .trust-strip>div,.home .trust-strip>a {border-bottom:0;padding:0 0 0 15px}
  .home .trust-strip strong {font-size:14px}
  .home .trust-strip p {font-size:12px}
  .home .services h2 {font-size:32px}
  .home .services .section-heading-row>.text-link {margin-top:18px}
  .home .service-cards {grid-template-columns:1fr;gap:30px}
  .home .service-photo {height:225px}
  .home .service-tile-body {padding-top:20px}
  .home .service-tile h3 {font-size:25px}
  .home .service-tile p {font-size:15px}
  .home .work-grid img,.home .work-grid figure:first-child img {height:260px}
}
@media(max-width:360px){
  .home .hero .button-row {flex-direction:column;align-items:stretch}
  .home .hero-photo figcaption {flex-direction:column;align-items:flex-start;gap:0}
}

/* Job photographs live alongside the service they illustrate. */
.service-job-gallery {background:#fff;border-top:1px solid var(--line)}
.service-job-gallery h2 {font-size:clamp(32px,3vw,44px)}
.service-job-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}
.service-job-grid figure {min-width:0}
.service-job-grid img {display:block;width:100%;height:280px;object-fit:cover;object-position:center 45%;border-radius:4px;background:var(--paper)}
.service-job-grid figcaption {padding-top:13px;font-size:14px;font-weight:600;line-height:1.5}
.page-commercial .service-job-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){
  .service-job-grid,.page-commercial .service-job-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
  .service-job-grid img {height:270px}
}
@media(max-width:600px){
  .service-job-grid,.page-commercial .service-job-grid {grid-template-columns:1fr;gap:27px}
  .service-job-grid img {height:280px}
  .service-job-gallery .section-heading-row>.text-link {margin-top:18px}
}
