.elementor-591 .elementor-element.elementor-element-527d3f9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-591 .elementor-element.elementor-element-d474d63{margin:-2rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0rem 0rem 0rem 0rem;}.elementor-591 .elementor-element.elementor-element-ef4cb11{margin:-2rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0rem 0rem 0rem 0rem;}.elementor-591 .elementor-element.elementor-element-bc09890{margin:-2rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0rem 0rem 0rem 0rem;}.elementor-591 .elementor-element.elementor-element-f542c16{margin:-2rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0rem 0rem 0rem 0rem;}.elementor-591 .elementor-element.elementor-element-b4ecee3{margin:-2rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0rem 0rem 0rem 0rem;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-591 .elementor-element.elementor-element-527d3f9{--margin-top:3rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}}@media(max-width:767px){.elementor-591 .elementor-element.elementor-element-d474d63{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0rem 0rem 0rem 0rem;}}/* Start custom CSS for html, class: .elementor-element-d474d63 *//* HERO SECTION */

.fire-hero{
position:relative;
width:100%;
min-height:1080px;
display:flex;
align-items:center;
background-image:url("https://lancashireefs.co.uk/wp-content/uploads/2026/03/commercial-fire-alarms.png");
background-size:cover;
background-position:center;
overflow:hidden;
font-family:'Montserrat',sans-serif;
font-weight:700;
}

/* HERO OVERLAY */

.fire-hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(
90deg,
rgba(15,23,42,0.95) 0%,
rgba(15,23,42,0.85) 40%,
rgba(15,23,42,0.2) 70%,
rgba(15,23,42,0) 100%
);
z-index:1;
}

.fire-hero-container{
max-width:1400px;
margin:auto;
padding:0 40px;
width:100%;
position:relative;
z-index:2;
}

.fire-hero-content{
max-width:650px;
color:#fff;
}

/* BADGE */

.hero-badge{
color:#fff;
font-weight:600;
letter-spacing:1px;
font-size:14px;
margin-bottom:18px;
}

/* HEADING */

.fire-hero h1{
font-size:64px;
line-height:1.05;
font-weight:800;
margin-bottom:24px;
}

.hero-accent{
background: linear-gradient(90deg, #1da1f2, #1abc9c);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
color: transparent;
}

/* DESCRIPTION */

.hero-description{
font-size:18px;
line-height:1.6;
opacity:0.9;
margin-bottom:35px;
max-width:520px;
}

.hero-tick{
background:linear-gradient(135deg,#22c55e,#0ea5e9);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;
font-weight:700;
margin-right:8px;
}

/* BUTTONS */

.hero-buttons{
display:flex;
gap:20px;
margin-bottom:28px;
flex-wrap:wrap;
}

.hero-btn-primary{
background:#ff3b30;
color:white;
padding:16px 30px;
border-radius:6px;
font-weight:600;
text-decoration:none;
transition:0.3s;
}

.hero-btn-primary:hover

.hero-btn-secondary{
border:1px solid rgba(255,255,255,0.4);
padding:16px 28px;
border-radius:6px;
text-decoration:none;
color:white;
font-weight:500;
}

.hero-btn-secondary:hover{
border-color:white;
}

/* FEATURES */

.hero-features{
display:flex;
gap:30px;
font-size:16px;
opacity:0.9;
flex-wrap:wrap;
}

/* TABLET */

@media (max-width:1024px){

.trust-track{
grid-template-columns:repeat(3,1fr);
row-gap:20px;
}

}

/* MOBILE SCROLL */

@media (max-width:640px){

.trust-track{
display:flex;
gap:40px;
width:max-content;
animation:trustScroll 20s linear infinite;
}

.trust-item{
font-size:14px;
}

}

/* ANIMATION */

@keyframes trustScroll{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-50%);
}

}

/* HERO RESPONSIVE */

@media (max-width:768px){

.fire-hero h1{
font-size:40px;
}

.fire-hero{
min-height:800px;
}

.hero-features{
flex-direction:column;
gap:10px;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ef4cb11 *//* ===============================
   MAP COVERAGE SECTION
================================ */

.efs-map-section{
padding:120px 20px;
background:#f8fafc;
font-family:'Montserrat', sans-serif;
}

.efs-map-container{
max-width:1400px;
margin:auto;
}

.efs-map-grid{
display:grid;
grid-template-columns:1.2fr 1fr;
gap:160px;
align-items:center;
}

/* Map */

.efs-map-image img{
width:100%;
border-radius:16px;
box-shadow:0 25px 60px rgba(0,0,0,0.1);
}

/* Content */

.efs-map-eyebrow{
font-size:13px;
letter-spacing:2px;
font-weight:700;
text-transform:uppercase;
color:#22c55e;
margin-bottom:14px;
}

.efs-map-content h2{
font-size:38px;
margin-bottom:18px;
font-weight:700;
background:linear-gradient(90deg,#1da1f2,#22c55e);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.efs-map-content p{
font-size:17px;
line-height:1.7;
color:#475569;
margin-bottom:30px;
}

/* Region list */

.efs-map-list{
list-style:none;
padding:0;
margin:0 0 30px 0;
}

.efs-map-list li{
padding:8px 0;
font-size:16px;
color:#334155;
display:flex;
align-items:center;
gap:10px;
}

.efs-map-list li::before{
content:"";
width:8px;
height:8px;
border-radius:50%;
background:#22c55e;
display:inline-block;
}

/* Button */

.efs-map-button{
display:inline-block;
padding:14px 28px;
border-radius:8px;
text-decoration:none;
font-weight:600;
color:white;
background:linear-gradient(90deg,#1da1f2,#22c55e);
transition:all .3s ease;
}

.efs-map-button:hover{
transform:translateY(-2px);
box-shadow:0 12px 25px rgba(0,0,0,0.15);
}

/* Responsive */

@media (max-width:1024px){

.efs-map-grid{
grid-template-columns:1fr;
gap:50px;
text-align:center;
}

.efs-map-list li{
justify-content:center;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bc09890 *//* ===============================
   COVERAGE SECTION
================================ */

.efs-coverage-section{
padding:120px 20px;
background:#0f172a;
font-family:'Montserrat', sans-serif;
}

.efs-coverage-container{
max-width:1400px;
margin:auto;
}

/* Heading */

.efs-coverage-heading{
text-align:center;
max-width:800px;
margin:0 auto 80px auto;
}

.efs-coverage-eyebrow{
font-size:13px;
letter-spacing:2px;
font-weight:700;
color:#22c55e;
text-transform:uppercase;
margin-bottom:12px;
}

.efs-coverage-heading h2{
font-size:38px;
margin-bottom:18px;
font-weight:700;
background:#fff;
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.efs-coverage-heading p{
font-size:18px;
line-height:1.7;
color:#cbd5f5;
}

/* Grid */

.efs-coverage-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

/* Cards */

.efs-coverage-card{
position:relative;
display:flex;
flex-direction:column;
justify-content:flex-start;
padding:50px 35px;
border-radius:16px;
color:white;
text-decoration:none;
background-size:cover;
background-position:center;
overflow:hidden;
min-height:280px;
transition:all .35s ease;
}

/* overlay */

.efs-coverage-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(
180deg,
rgba(15,23,42,0.45),
rgba(15,23,42,0.9)
);
}

/* ensure text sits above overlay */

.efs-coverage-card *{
position:relative;
z-index:2;
}

/* hover */

.efs-coverage-card:hover{
transform:translateY(-8px);
box-shadow:0 25px 60px rgba(0,0,0,0.35);
}

/* icon */

.efs-coverage-card i{
font-size:22px;
color:#22c55e;
margin-bottom:14px;
display:block;
}

/* titles */

.efs-coverage-card h3{
font-size:22px;
margin-bottom:10px;
font-weight:700;
transition:color .25s ease;
}

/* description */

.efs-coverage-card p{
font-size:15px;
line-height:1.6;
opacity:0.95;
transition:color .25s ease;
}

/* make text bright on hover */

.efs-coverage-card:hover h3,
.efs-coverage-card:hover p{
color:#ffffff;
}

/* CTA */

.efs-coverage-cta{
margin-top:auto;
padding-top:20px;
font-weight:600;
font-size:15px;
color:#22c55e;
letter-spacing:0.3px;
transition:all .3s ease;
}

/* arrow */

.efs-coverage-cta::after{
content:" →";
transition:transform .3s ease;
display:inline-block;
}

.efs-coverage-card:hover .efs-coverage-cta{
color:#34d399;
}

.efs-coverage-card:hover .efs-coverage-cta::after{
transform:translateX(6px);
}

/* ===============================
   CITY BACKGROUNDS
================================ */

.manchester{
background-image:url("https://images.unsplash.com/photo-1601581875309-fafbf2d3ed3a?auto=format&fit=crop&w=1400&q=80");
}

.lancashire{
background-image:url("https://images.unsplash.com/photo-1600170311833-c2cf5280ce49?auto=format&fit=crop&w=1400&q=80");
}

.merseyside{
background-image:url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1400&q=80");
}

.cheshire{
background-image:url("https://images.unsplash.com/photo-1560343090-f0409e92791a?auto=format&fit=crop&w=1400&q=80");
}

/* ===============================
   RESPONSIVE
================================ */

@media (max-width:1100px){

.efs-coverage-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:640px){

.efs-coverage-grid{
grid-template-columns:1fr;
}

.efs-coverage-heading h2{
font-size:32px;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f542c16 *//* ===============================
   AREA SERVICES SECTION
================================ */

.efs-area-services-section{
padding:120px 20px;
background:#ffffff;
font-family:'Montserrat', sans-serif;
}

.efs-area-services-section .efs-services-container{
max-width:1400px;
margin:auto;
}

/* Heading */

.efs-area-services-section .efs-services-heading{
text-align:center;
max-width:820px;
margin:0 auto 80px auto;
}

.efs-area-services-section .efs-services-eyebrow{
font-size:13px;
letter-spacing:2px;
font-weight:700;
text-transform:uppercase;
color:#22c55e;
margin-bottom:14px;
}

.efs-area-services-section h2{
font-size:40px;
margin-bottom:18px;
font-weight:700;
background:linear-gradient(90deg,#1da1f2,#22c55e);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.efs-area-services-section p{
font-size:18px;
line-height:1.7;
color:#475569;
}

/* Grid */

.efs-area-services-section .efs-services-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:35px;
margin-top:50px;
}

/* Cards */

.efs-area-services-section .efs-service-card{
background:#f8fafc;
padding:40px;
border-radius:14px;
text-align:left;
box-shadow:0 15px 35px rgba(0,0,0,0.05);
transition:all .35s ease;
position:relative;
overflow:hidden;
}

/* top gradient accent */

.efs-area-services-section .efs-service-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,#1da1f2,#22c55e);
}

.efs-area-services-section .efs-service-card:hover{
transform:translateY(-8px);
box-shadow:0 25px 50px rgba(0,0,0,0.1);
}

/* Icons */

.efs-area-services-section .efs-service-icon{
font-size:28px;
color:#22c55e;
margin-bottom:18px;
}

/* Titles */

.efs-area-services-section h3{
font-size:20px;
margin-bottom:12px;
font-weight:700;
color:#0f172a;
}

/* Description */

.efs-area-services-section .efs-service-card p{
font-size:15px;
line-height:1.6;
color:#475569;
}

/* ===============================
   RESPONSIVE
================================ */

@media (max-width:1100px){

.efs-area-services-section .efs-services-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:640px){

.efs-area-services-section .efs-services-grid{
grid-template-columns:1fr;
}

.efs-area-services-section h2{
font-size:32px;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b4ecee3 *//* ===============================
   CONTACT SECTION
================================ */

.efs-contact-section{
  background:#0f172a;
  padding:110px 20px;
}

.efs-contact-container{
  max-width:1320px;
  margin:0 auto;
}

.efs-contact-grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:70px;
  align-items:start;
}

/* LEFT COLUMN */

.efs-contact-info{
  padding-top:10px;
}

.efs-contact-eyebrow{
  font-size:15px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#22c55e;
  margin-bottom:16px;
}

.efs-contact-info h2{
  font-size:58px;
  line-height:1.08;
  font-weight:700;
  color:#ffffff;
  margin:0 0 22px;
}

.efs-contact-intro{
  font-size:18px;
  line-height:1.65;
  color:#cbd5f5;
  max-width:520px;
  margin:0 0 36px;
}

.efs-contact-items{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.efs-contact-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
}

.efs-contact-icon{
  width:42px;
  height:42px;
  border-radius:10px;
  background:linear-gradient(135deg,#22c55e,#0ea5e9);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.efs-contact-icon i{
  color:#ffffff;
  font-size:16px;
}

.efs-contact-text span{
  display:block;
  font-size:15px;
  color:#94a3b8;
  margin-bottom:2px;
}

.efs-contact-text strong{
  display:block;
  font-size:18px;
  line-height:1.4;
  color:#ffffff;
  font-weight:700;
}

/* RIGHT COLUMN */

.efs-contact-form-wrap{
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:34px 34px 30px;
}

.efs-contact-form{
  width:100%;
}

.efs-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.efs-form-group{
  margin-bottom:18px;
}

.efs-form-group label{
  display:block;
  font-size:15px;
  font-weight:600;
  color:#0f172a;
  margin-bottom:10px;
}

.efs-form-group input,
.efs-form-group textarea{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#ffffff;
  padding:15px 16px;
  font-size:16px;
  font-family:inherit;
  color:#0f172a;
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
  box-sizing:border-box;
}

.efs-form-group textarea{
  resize:vertical;
  min-height:130px;
}

.efs-form-group input::placeholder,
.efs-form-group textarea::placeholder{
  color:#94a3b8;
}

.efs-form-group input:focus,
.efs-form-group textarea:focus{
  border-color:#0ea5e9;
  box-shadow:0 0 0 3px rgba(14,165,233,0.15);
}

/* SUBMIT BUTTON */

.efs-contact-submit{
  width:100%;
  border:none;
  border-radius:8px;
  background:linear-gradient(135deg,#22c55e,#0ea5e9);
  color:#ffffff;
  font-size:18px;
  font-weight:700;
  padding:18px 24px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  transition:transform .25s ease, box-shadow .25s ease;
}

.efs-contact-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(14,165,233,0.25);
}

.efs-contact-submit i{
  font-size:16px;
}

.efs-contact-response{
  text-align:center;
  font-size:15px;
  color:#94a3b8;
  margin:18px 0 0;
}

/* Tablet */

@media (max-width:1024px){

  .efs-contact-grid{
    grid-template-columns:1fr;
    gap:50px;
  }

  .efs-contact-info h2{
    font-size:46px;
  }

  .efs-contact-intro{
    max-width:680px;
  }

}

/* Mobile */

@media (max-width:767px){

  .efs-contact-section{
    padding:80px 20px;
  }

  .efs-contact-info h2{
    font-size:36px;
  }

  .efs-contact-intro{
    font-size:16px;
  }

  .efs-contact-form-wrap{
    padding:24px 20px 22px;
  }

  .efs-form-row{
    grid-template-columns:1fr;
    gap:0;
  }

  .efs-contact-submit{
    font-size:17px;
    padding:16px 20px;
  }

  .efs-contact-text strong{
    font-size:17px;
  }

}/* End custom CSS */