:root {
  --navy: #0c203a;
  --navy-2: #102c4d;
  --cyan: var(--lst-color-secondary);
  --blue: #269ee9;
  /* Semantic brand tokens; Customizer values override these defaults. */
  --lst-color-primary: #39b84b;
  --lst-color-primary-hover: color-mix(in srgb, var(--lst-color-primary) 82%, black);
  --lst-color-secondary: #5bdcf5;
  --lst-color-accent: #259de5;
  --lst-accent: var(--lst-color-accent);
  --lst-button-bg: var(--lst-color-primary);
  --lst-button-text: #fff;
  /* Compatibility for existing child themes and custom CSS. */
  --green: var(--lst-color-primary);
  --green-dark: var(--lst-color-primary-hover);
  --text: #0d243d;
  --muted: #5f7183;
  --border: #e5ecf1;
  --soft: #f5f8fb;
  --white: #fff;
  --radius: 20px;
  --wrap: 1380px;
  --heading: Manrope,Arial,sans-serif;
  --body: "DM Sans",Arial,sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}
body {
  margin: 0;
  background: #fff;
  color: var(--text);
  font: 16px/1.6 var(--body);
  -webkit-font-smoothing: antialiased;
}
a {
  color: inherit;
  text-decoration: none;
}
button,input,select {
  font: inherit;
}
button {
  cursor: pointer;
}
img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.container {
  width: min(var(--wrap),calc(100% - 80px));
  margin-inline: auto;
}
.skip-link {
  position: absolute;
  top: -70px;
  left: 20px;
  background: white;
  z-index: 100;
  padding: 10px;
}
.skip-link:focus {
  top: 10px;
}

.site-header.scrolled {
  height: 72px;
  box-shadow: 0 7px 25px #0c203a12;
}
.nav-wrap {
  
  margin: auto;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 45px;
}
.brand {
  display: inline-flex;
  align-items: center;
  font: 700 20px/1 var(--heading);
  white-space: nowrap;
  letter-spacing: -1.15px;
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  background: #8650fa;
  color: white;
  width: 29px;
  height: 29px;
  border-radius: 7px;
  font-size: 24px;
  margin-right: 7px;
}
.brand-bold {
  font-weight: 800;
}
.brand em {
  font-style: normal;
  color: #9453f9;
}
.main-nav {
  display: flex;
  gap: 30px;
  align-items: center;
  margin-left: auto;
}
.main-nav a {
  font-weight: 700;
  font-size: 13px;
  transition: color .2s;
}
.main-nav a:hover,.main-nav .active {
  color: var(--blue);
}
.nav-actions {
  display: flex;
  align-items: center;
  gap: 22px;
}
.phone {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}
/* Keep the telephone number in step with menu links without recolouring the icon. */
.nav-actions .phone > span:last-child {
  color: var(--lst-header-link, #0d243d);
}
.phone-dot {
  color: #fff;
  display: grid;
  place-items: center;
  background: var(--lst-color-accent, #259de5);
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 16px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 52px;
  padding: 7px 8px 7px 24px;
  border: 0;
  border-radius: 100px;
  font-weight: 800;
  font-size: 13px;
  transition: transform .25s,background .25s,box-shadow .25s;
  white-space: nowrap;
}
.button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px #071c2f20;
}
.button-green {
  color: #fff;
  background: var(--lst-color-primary);
}
.button-green:hover {
  background: var(--lst-color-primary-hover);
}
.button-dark {
  color: white;
  background: var(--navy);
}
.button-light {
  background: #fff;
  color: var(--navy);
}
.circle-arrow {
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  flex: 0 0 37px;
  border-radius: 50%;
  background: #09243c;
  color: #fff;
  font-size: 18px;
}
.button-dark .circle-arrow {
  background: #23415c;
}
.menu-toggle {
  display: none;
}
.hero {
  padding: 0 24px;
}
.hero-shell {
  max-width: 1600px;
  margin: auto;
  background: var(--navy);
  color: #fff;
  border-radius: 28px;
  overflow: hidden;
}
.hero-top {
  text-align: center;
  padding: 90px 20px 54px;
}
.eyebrow,.kicker {
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .13em;
}
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #ffffff2d;
  padding: 9px 16px;
  border-radius: 40px;
  color: #e8f4ff;
  background: #ffffff0a;
}
.live-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2fd486;
  box-shadow: 0 0 0 5px #2fd48622;
}
.hero h1 {
  font: 800 clamp(46px,5.3vw,88px)/1.08 var(--heading);
  letter-spacing: -.068em;
  max-width: 1070px;
  margin: 22px auto;
}
.hero h1 span {
  color: var(--lst-color-primary);
}
.hero-desc {
  font-size: 17px;
  max-width: 680px;
  line-height: 1.75;
  margin: 0 auto;
  color: #d4e1ed;
}
.hero-lower {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: stretch;
  gap: 18px;
  padding: 0 30px;
}
.hero-image,.hero-side-image {
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  min-height: 390px;
}
.hero-image {
  background: url("../assets/hero-original.png") center/cover;
}
.hero-image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,#061a37d9,transparent 55%);
}
.hero-image-caption {
  position: absolute;
  bottom: 23px;
  left: 24px;
  right: 12px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}
.round-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #fff6;
  background: #ffffff2c;
  border-radius: 50%;
  font-weight: 800;
}
.hero-image-caption strong,.hero-image-caption small {
  display: block;
}
.hero-image-caption strong {
  font-size: 15px;
}
.hero-image-caption small {
  font-size: 12px;
  color: #d8e8f1;
}
.hero-side-image img {
  object-position: 50%;
}
.side-image-label {
  position: absolute;
  bottom: 18px;
  left: 18px;
  right: 18px;
  background: #fff;
  color: var(--navy);
  font-weight: 800;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border-radius: 12px;
}
.sparkle {
  color: var(--lst-color-primary);
  font-size: 22px;
}
.quote-card {
  background: #f5e900;
  color: var(--navy);
  border-radius: 18px;
  padding: 28px 26px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.form-heading {
  text-align: center;
}
.form-mini {
  font-size: 10px;
  letter-spacing: .13em;
  font-weight: 800;
}
.form-heading h2 {
  font: 800 clamp(23px,2vw,33px)/1.14 var(--heading);
  letter-spacing: -.05em;
  margin: 8px 0;
}
.form-heading p {
  font-size: 12px;
  margin: 0 auto 20px;
  max-width: 310px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}
.form-grid label {
  font-weight: 800;
  font-size: 10px;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.form-grid input,.form-grid select {
  display: block;
  width: 100%;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #fff;
  margin-top: 5px;
  padding: 13px 12px;
  font-size: 12px;
  color: var(--navy);
  outline: 0;
}
.form-grid input:focus,.form-grid select:focus {
  border-color: #1282ce;
  box-shadow: 0 0 0 3px #0c74bf22;
}
.form-grid input[aria-invalid="true"],.form-grid select[aria-invalid="true"] {
  border-color: #b12424;
}
.submit-btn {
  width: 100%;
  margin-top: 17px;
  background: var(--navy);
}
.submit-btn:hover {
  background: #244463;
}
/* AJAX enquiry feedback: visible while the existing submit lock is active. */
.submit-btn.is-submitting,
.submit-btn.is-submitting:hover {
  cursor: progress;
  opacity: .85;
  background: var(--navy);
}
.lst-submit-spinner {
  display: inline-block;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: lst-submit-spin .65s linear infinite;
}
@keyframes lst-submit-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .lst-submit-spinner { animation-duration: 1.4s; }
}
.form-note {
  text-align: center;
  font-size: 10px;
  margin: 10px 0 0;
}
.form-message {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 8px;
  padding: 14px 16px;
  margin: 14px 0 0;
  border: 1px solid transparent;
}
.form-message[hidden] { display: none !important; }
.form-message.is-success { color: #14532d; background: #dcfce7; border-color: #86efac; }
.form-message.is-error { color: #991b1b; background: #fee2e2; border-color: #fca5a5; }
.hero-footer {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  max-width: 1150px;
  margin: 0 auto;
  padding: 32px 35px 37px;
}
.hero-trust {
  display: flex;
  align-items: center;
  gap: 13px;
  justify-content: center;
}
.trust-icon {
  color: var(--lst-color-secondary);
  font-size: 32px;
  font-weight: 700;
}
.hero-trust strong,.hero-trust small {
  display: block;
}
.hero-trust strong {
  font: 800 17px var(--heading);
}
.hero-trust small {
  font-size: 11px;
  color: #b8cadd;
}
.section:not(.reviews-section) {
  padding: 110px 0;
}
.color-accent {
  color: #2e9fe6;
}
.kicker {
  color: #1689d6;
}
.centered {
  text-align: center;
}

.section-heading p {
  color: var(--muted);
  max-width: 640px;
  margin: auto;
}



.service-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 32px #0e31521b;
}


.service-card:hover img {
  transform: scale(1.08);
}

.service-card-bottom small,.service-card-bottom strong {
  display: block;
}
.service-card-bottom small {
  font-size: 10px;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: .09em;
}


.service-card:hover .service-arrow {
  background: var(--blue);
  color: white;
}
.services-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
}
.services-bottom p {
  color: var(--muted);
  margin: 0;
}
.services-bottom strong {
  color: var(--navy);
}
.text-link {
  font-weight: 800;
  color: #1689d6;
  font-size: 13px;
}
.text-link span {
  font-size: 20px;
  margin-left: 5px;
}
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8%;
  align-items: center;
}
.about-media {
  min-height: 620px;
  position: relative;
}
.about-media img {
  border-radius: 22px;
  object-position: center;
}
.experience-badge {
  position: absolute;
  right: -25px;
  top: 35px;
  background: white;
  box-shadow: 0 14px 40px #0002;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 22px;
  border-radius: 16px;
}
.experience-badge strong {
  font: 800 45px/1 var(--heading);
  letter-spacing: -.07em;
}
.experience-badge small {
  font-weight: 700;
  font-size: 12px;
  line-height: 1.4;
}
.about-copy p,.areas-copy p {
  color: var(--muted);
  max-width: 540px;
}
.benefits {
  display: grid;
  gap: 13px;
  margin: 30px 0;
}
.benefits div {
  font-weight: 700;
  font-size: 14px;
}
.benefits span {
  display: inline-grid;
  place-items: center;
  background: #ddf8e0;
  color: #289e37;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  margin-right: 9px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
}

.stat:last-child {
  border: 0;
}
.stat strong {
  font: 800 clamp(32px,3.8vw,58px)/1.2 var(--heading);
  letter-spacing: -.05em;
}
.stat strong span {
  color: var(--lst-color-secondary);
}
.stat p {
  margin: 4px 0 0;
  color: #ccdae4;
  font-size: 12px;
}

.location-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 25px 0 35px;
  max-width: 550px;
}
.location-chips span {
  padding: 8px 14px;
  border-radius: 100px;
  background: #f0f5f8;
  font-weight: 700;
  font-size: 12px;
}

.areas-image {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,#00355f44,#ffffff16),url("../assets/residential.jpg") center/cover;
  transform: scale(1.01);
}
.floating-location {
  position: absolute;
  top: 42%;
  left: 25%;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-radius: 14px;
  padding: 16px 20px;
  box-shadow: 0 10px 40px #0003;
  z-index: 2;
}
.floating-location strong,.floating-location small {
  display: block;
}
.floating-location small {
  font-size: 11px;
  color: var(--muted);
}
.pin {
  color: var(--blue);
  font-size: 35px;
}
.areas-ring {
  position: absolute;
  width: 330px;
  height: 330px;
  border: 2px solid #fff9;
  border-radius: 50%;
  top: 10%;
  left: 18%;
  pointer-events: none;
}

.review-head {
  display: flex;
  
  justify-content: space-between;
  gap: 30px;
  
}
.review-head h2 {
  margin-bottom: 0;
}
.review-head p {
  max-width: 330px;
  color: var(--muted);
}
.review-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  
}

.review-icon {
  font: 800 66px/1 var(--heading);
  color: var(--lst-color-primary);
}



.cta-section {
  padding: 35px 0 85px;
}
.cta-inner {
  padding: 67px 72px;
  background: var(--navy);
  border-radius: 25px;
  color: white;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: center;
}
.cta-inner .kicker {
  color: var(--lst-color-secondary);
}
.cta-inner h2 {
  font: 800 clamp(34px,3.6vw,55px)/1.1 var(--heading);
  letter-spacing: -.06em;
  margin: 12px 0;
}
.cta-inner h2 span {
  color: var(--lst-color-secondary);
}
.cta-inner p {
  margin: 0;
  color: #cbd9e7;
}
.cta-actions {
  display: flex;
  gap: 11px;
  flex-wrap: wrap;
}
.footer {
  background: #f0f5f9;
  padding: 65px 0 24px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 80px;
}
.footer-grid p {
  max-width: 300px;
  color: var(--muted);
  font-size: 13px;
}
.footer-grid>div:not(:first-child) {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-grid strong {
  font-weight: 800;
  margin-bottom: 4px;
}
.footer-grid a:not(.brand) {
  font-size: 13px;
  color: #556a7c;
}
.footer-bottom {
  border-top: 1px solid #dae3e9;
  margin-top: 50px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  color: #6b7d8d;
  font-size: 11px;
}
.mobile-call {
  display: none;
}
@media (max-width:1250px) {
  .main-nav {
    gap: 16px;
  }
  .nav-wrap {
    
  }
  .hero-lower {
    gap: 12px;
    padding: 0 20px;
  }
  .hero-image,.hero-side-image {
    min-height: 360px;
  }
  .quote-card {
    padding: 20px 16px;
  }
  .service-media {
    height: 185px;
  }
  .cta-inner {
    padding: 45px;
  }
}
@media (max-width:1050px) {
  .nav-wrap {
    width: calc(100% - 40px);
  }
  .main-nav {
    position: absolute;
    top: 100%;
    right: 16px;
    left: 16px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 15px 30px #10233a25;
    padding: 20px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
  }
  .main-nav.open {
    display: flex;
  }
  .main-nav a {
    padding: 10px;
  }
  .menu-toggle {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: transparent;
    border: 0;
    padding: 10px;
  }
  .menu-toggle span {
    height: 2px;
    width: 24px;
    background: #0a203c;
  }
  .nav-actions {
    margin-left: auto;
  }
  .hero-lower {
    grid-template-columns: 1fr 1fr;
  }
  .hero-side-image {
    display: none;
  }
  .hero-image,.quote-card {
    min-height: 380px;
  }
  .services-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .service-media {
    height: 230px;
  }
  .about-grid,.areas-grid {
    gap: 5%;
  }
  .about-media {
    min-height: 520px;
  }
  .cta-inner {
    display: block;
  }
  .cta-actions {
    margin-top: 25px;
  }
}
@media (max-width:700px) {
  .container {
    width: calc(100% - 36px);
  }
  .nav-wrap {
    
  }
  .site-header {
    height: 70px;
  }
  .brand {
    font-size: 15px;
  }
  .brand-mark {
    width: 24px;
    height: 24px;
    font-size: 19px;
  }
  .nav-actions .phone span:last-child,.header-cta {
    display: none;
  }
  .hero {
    padding: 0 9px;
  }
  .hero-shell {
    border-radius: 19px;
  }
  .hero-top {
    padding: 58px 19px 35px;
  }
  .hero h1 {
    font-size: clamp(39px,9vw,60px);
    letter-spacing: -.06em;
  }
  .hero-desc {
    font-size: 14px;
  }
  .hero-lower {
    grid-template-columns: 1fr;
    padding: 0 14px;
  }
  .hero-image {
    height: 260px;
    min-height: 260px;
  }
  .quote-card {
    min-height: auto;
    padding: 29px 18px;
  }
  .form-heading h2 {
    font-size: 30px;
  }
  .form-grid {
    gap: 10px;
  }
  .hero-footer {
    grid-template-columns: 1fr 1fr;
    padding: 22px 16px;
    gap: 22px;
  }
  .hero-trust {
    justify-content: flex-start;
    gap: 8px;
  }
  .trust-icon {
    font-size: 23px;
  }
  .hero-trust strong {
    font-size: 14px;
  }
  .hero-trust small {
    font-size: 10px;
  }
  .section:not(.reviews-section) {
    padding: 68px 0;
  }
  .section-heading h2,.about-copy h2,.areas-copy h2,.review-head h2 {
    font-size: clamp(34px,8vw,46px);
  }
  .section-heading {
    margin-bottom: 30px;
  }
  .services-grid {
    
  }
  .service-media {
    
  }
  .service-card-bottom {
    padding: 12px;
    
  }
  .service-card-bottom strong {
    
  }
  .service-card-bottom small {
    font-size: 8px;
  }
  .service-arrow {
    
    
    
  }
  .services-bottom {
    display: block;
    text-align: center;
  }
  .services-bottom .text-link {
    display: block;
    margin-top: 14px;
  }
  .about-grid,.areas-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .about-media {
    min-height: 390px;
  }
  .experience-badge {
    right: 12px;
    top: 15px;
  }
  .about-copy h2 {
    margin-top: 14px;
  }
  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }
  .stat:nth-child(2) {
    border: 0;
  }
  .stat:nth-child(-n/**/+2) {
    border-bottom: 1px solid #ffffff25;
  }
  .areas-visual {
    height: 320px;
  }
  .floating-location {
    left: 13%;
    top: 36%;
  }
  .review-head {
    display: block;
  }
  .review-grid {
    grid-template-columns: 1fr;
  }
  .review-card {
    
  }
  .review-card p {
    margin-bottom: 20px;
  }
  .cta-section {
    padding: 0 0 50px;
  }
  .cta-inner {
    padding: 40px 23px;
  }
  .cta-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  .footer-grid>div:first-child {
    grid-column: 1/-1;
  }
  .footer-bottom {
    display: block;
    padding-bottom: 36px;
  }
  .footer-bottom span {
    display: block;
    margin-bottom: 8px;
  }
  .mobile-call {
    display: block;
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 40;
    background: var(--lst-color-primary);
    box-shadow: 0 9px 27px #0004;
    color: white;
    font-weight: 800;
    padding: 12px 20px;
    border-radius: 30px;
  }
}
@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation-duration: .01ms !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
/* v2: sections rebuilt to match the approved full-page visual concept */


.hero-copy {
  max-width: 690px;
}



.hero-highlights {
  display: flex;
  gap: 30px;
  margin-top: 54px;
  align-items: center;
}
.hero-highlights>div {
  display: flex;
  gap: 11px;
  align-items: center;
}
.highlight-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lst-color-accent, #259de5);
  color: #fff;
  font-size: 26px;
  font-weight: 900;
  flex: none;
}
.hero-highlights b,.hero-highlights small {
  display: block;
}


.quote-card-v2 {
  justify-content: flex-start;
  background: #fff;
  color: var(--navy);
  box-shadow: 0 12px 40px #0003;
  border-radius: 13px;
  padding: 29px 30px;
  max-width: 440px;
  width: 100%;
}
.quote-card-v2 .form-heading {
  text-align: left;
}
.quote-card-v2 .form-heading h2 {
  font-size: 29px;
  margin: 0 0 3px;
}
.quote-card-v2 .form-heading p {
  max-width: none;
  margin: 0 0 21px;
  font-size: 12px;
  color: #6b778b;
}
.quote-card-v2 .form-grid {
  grid-template-columns: 1fr;
  gap: 9px;
}
.quote-card-v2 .form-grid label {
  font-size: 10px;
  color: #283e57;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}
.quote-card-v2 .form-grid input,.quote-card-v2 .form-grid select {
  border: 1px solid #d9e0e8;
  min-height: 39px;
  border-radius: 6px;
  padding: 10px 13px;
  font-size: 12px;
  margin-top: 3px;
  background: #fff;
}
.quote-card-v2 .submit-btn {
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  margin-top: 19px;
  font-size: 11px;
}
.quote-card-v2 .submit-btn span {
  font-size: 19px;
}
.quote-card-v2 .form-note {
  color: #728194;
  font-size: 10px;
  line-height: 1.5;
}




.services-grid {
  display: grid;
  
  
 
  gap: 23px;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.service-card {
  background: #fff;
  overflow: hidden;
  
  
  transition: transform .35s,box-shadow .35s;
 
  border-radius: 10px;
  box-shadow: 0 8px 24px #0e31520b;
}
.service-media {
  
  overflow: hidden;
 
  height: 165px;
  background: #dae4e9;
}
.service-media img {
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
 
  object-fit: cover;
}
.service-card-bottom {
  
  padding: 20px;
  
  align-items: center;
  justify-content: space-between;
  
 
  min-height: 54px;
  padding: 12px 14px;
  display: flex;
  gap: 10px;
}
.service-mini-icon {
  display: grid;
  place-items: center;
  background: #d6f0ff;
  border-radius: 50%;
  color: #138ddd;
  width: 27px;
  height: 27px;
  flex: none;
  font-size: 16px;
}
.service-card-bottom strong {
  font: 800 18px/1.25 var(--heading);
  margin-top: 7px;
 
  font-size: 14px;
  line-height: 1.2;
  margin: 0;
  flex: 1;
}
.service-arrow {
  border: 1px solid #bfe5f9;
  color: var(--blue);
  
  border-radius: 50%;
  display: grid;
  place-items: center;
  
  
  flex: none;
  transition: background .2s,color .2s;
 
  font-size: 18px;
  width: 26px;
  height: 26px;
}
.services-bottom-v2 {
  display: flex;
  justify-content: center;
  margin-top: 37px;
}
.button-outline-blue {
  border: 1px solid #2298e7;
  color: #178bdd;
  background: transparent;
  min-height: 47px;
  padding: 10px 23px;
  font-size: 12px;
}
.button-outline-blue:hover {
  background: #e4f5ff;
}

.stat {
  text-align: center;
  padding: 18px;
  
 
  border-right: 0;
}
.stat-icon {
  
  color: #59dafa;
  line-height: 1.1;
  margin-bottom: 15px;
  font-family: Arial,sans-serif;
}

.stats-section .stat strong span {
  color: inherit;
}


.areas-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  
  align-items: center;
 
  gap: 7%;
}


.areas-copy .button {
  margin-top: 19px;
}
.areas-visual {
  
  border-radius: 22px;
  position: relative;
  
  background: #c7dfeb;
 
  height: auto;
  aspect-ratio: 1.67;
  background: #d4e9f6;
  overflow: hidden;
}
.areas-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-head {
  align-items: end;
  margin-bottom: 33px;
}
.review-head h2 {
  
  margin-top: 7px;
}
.review-head .text-link {
  padding-bottom: 9px;
}
.review-grid {
  gap: 20px;
}

.review-stars {
  font-size: 21px;
  letter-spacing: 3px;
  color: #20c766;
  line-height: 1.3;
}


.review-tag strong,.review-tag small {
  display: block;
}

.review-disclaimer {
  font-size: 11px;
  color: #778997;
  
 
  margin-top: 18px;
}
@media (max-width:1100px) {
  .hero-layout {
    gap: 4%;
    grid-template-columns: 1fr 390px;
  }
  .hero-highlights {
    gap: 15px;
  }
  .hero-highlights>div {
    gap: 6px;
  }
  .highlight-icon {
    width: 35px;
    height: 35px;
    font-size: 21px;
  }
  .hero-highlights b {
    font-size: 11px;
  }
  .services-grid {
    gap: 12px;
  }
  .service-media {
    height: 140px;
  }
  .service-card-bottom strong {
    font-size: 12px;
  }
}
@media (max-width:850px) {
  .hero-layout {
    
    
    padding-top: 55px;
    padding-bottom: 55px;
  }
  .hero-v2 h1 {
    font-size: clamp(46px,8vw,70px);
  }
  .hero-highlights {
    margin-top: 32px;
  }
  .quote-card-v2 {
    
  }
  .quote-card-v2 .form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .services-grid {
    
  }
  .service-media {
    
  }
  .service-card-bottom strong {
    
  }
}
@media (max-width:700px) {
  .hero-v2 {
    padding: 0;
  }
  .hero-layout {
    
    
  }
  .hero-v2 h1 {
    
  }
  .hero-v2 .hero-desc {
    
  }
  .hero-highlights {
    gap: 13px;
    flex-wrap: wrap;
  }
  .hero-highlights b {
    
  }
  .quote-card-v2 {
    padding: 24px 20px;
  }
  .quote-card-v2 .form-grid {
    grid-template-columns: 1fr;
  }
  .services-section {
    padding: 65px 0;
  }
  .services-grid {
    gap: 12px;
  }
  .service-media {
    
  }
  .service-card-bottom {
    padding: 11px 8px;
    gap: 6px;
  }
  .service-mini-icon {
    width: 19px;
    height: 19px;
    font-size: 11px;
  }
  .service-card-bottom strong {
    
  }
  .service-arrow {
    
    
    font-size: 14px;
  }
  .stats-section {
    padding: 34px 0;
  }
  .stat-icon {
    font-size: 36px;
    margin-bottom: 8px;
  }
  .areas-section {
    padding: 65px 0;
  }
  .areas-visual {
    aspect-ratio: 1.67;
  }
  .review-head .text-link {
    display: inline-block;
    margin-top: 15px;
  }
  .review-card {
    
  }
}
/* v3: Purezo scale and aligned full-content grid (compare Purezo max-width 1870px). */
:root {
  --wrap: 1510px;
  --content-gutter: 40px;
}
body {
  font-size: 17px;
  line-height: 1.68;
}
.container {
  width: min(var(--wrap),calc(100% - (var(--content-gutter) * 2)));
}
.nav-wrap {
  width: min(var(--wrap),calc(100% - (var(--content-gutter) * 2)));
}
.section:not(.reviews-section) {
  padding-top: 112px;
  padding-bottom: 112px;
}
.kicker,.eyebrow {
  font-size: 13px;
  letter-spacing: .095em;
}
.section-heading {
  
  margin: 0 auto 43px;
 
  max-width: 940px;
  margin-bottom: 52px;
}
.section-heading h2,.about-copy h2,.areas-copy h2,.review-head h2 {
  font: 800 clamp(40px,3.6vw,65px)/1.13 var(--heading);
  letter-spacing: -.052em;
  margin: 14px 0 18px;
}
.section-heading p,.about-copy p,.areas-copy p,.review-head p {
  font-size: 17px;
  line-height: 1.75;
}
.services-section {
  background: var(--soft);
 
  background: #f8fbfd;
  padding: 82px 0 72px;
 
  padding: 106px 0 98px;
}
.services-section .section-heading {
  max-width: 950px;
  margin-bottom: 51px;
}
.services-section .section-heading h2 {
  
  margin: 9px 0 13px;
  letter-spacing: -.055em;
 
  font-size: clamp(42px,3.5vw,62px);
}
.services-section .section-heading p {
  font-size: 17px;
}
.hero-layout {
  
  display: grid;
  
  align-items: center;
  
  
  
 
  grid-template-columns: minmax(0,1fr) minmax(385px,465px);
  gap: 6%;
  min-height: 715px;
  padding-top: 65px;
  padding-bottom: 65px;
}

.hero-v2 h1 {
  max-width: none;
  text-align: left;
  margin: 21px 0 23px;
  
  letter-spacing: -.055em;
  line-height: 1.06;
 
  font-size: clamp(58px,5vw,88px);
}
.hero-v2 .hero-desc {
  
  line-height: 1.65;
  color: #fff;
  text-align: left;
  
  margin: 0;
 
  font-size: 19px;
  max-width: 600px;
}
.hero-v2 .hero-eyebrow {
  background: #154c80;
  border: 0;
  color: #fff;
  border-radius: 99px;
  padding: 8px 17px;
  
  letter-spacing: .055em;
 
  font-size: 12px;
}
.hero-highlights b {
  font: 800 13px/1.4 var(--heading);
  white-space: nowrap;
 
  font-size: 15px;
}
.hero-highlights small {
  
  color: #e2f0fb;
  white-space: nowrap;
 
  font-size: 12px;
}
.stats-section {
  background: #0c2743;
  color: white;
  padding: 45px 0;
 
  background: linear-gradient(#062748c9,#062748df),url("../assets/mock-stats-background.jpg") center/cover no-repeat;
  padding: 45px 0 47px;
 
  padding: 62px 0;
}
.stat-icon {
  font-size: 48px;
}
.stats-section .stat strong {
  font-size: clamp(29px,2.7vw,44px);
}
.stats-section .stat p {
  
  color: #fff;
 
  font-size: 15px;
}
.areas-section {
  padding: 95px 0 60px;
 
  padding: 115px 0 94px;
}
.areas-copy h2 {
  font-size: clamp(40px,3.6vw,65px);
}
.areas-copy p {
  
  line-height: 1.7;
 
  font-size: 17px;
}
.review-head h2 {
  font-size: clamp(40px,3.6vw,65px);
}
.review-card {
  
  background: #fff;
  padding: 29px;
  
  display: flex;
  flex-direction: column;
 
  
  padding: 30px 27px;
  border-radius: 15px;
  box-shadow: 0 12px 28px #0e315209;
 
  padding: 35px 32px;
  min-height: 255px;
}
.review-card p {
  
  
  flex: 1;
  margin: 3px 0 30px;
 
  
  color: #42566a;
  line-height: 1.58;
  margin: 15px 0 22px;
 
  font-size: 17px;
}
.review-tag {
  font-weight: 800;
  
  
 
  color: #112a42;
  
 
  font-size: 15px;
}
.review-tag small {
  
  font-weight: 400;
  color: #7b8fa1;
  margin-top: 2px;
 
  font-size: 13px;
}
@media (max-width:1200px) {
  :root {
    --content-gutter: 30px;
  }
  .hero-layout {
    gap: 4%;
    grid-template-columns: minmax(0,1fr) minmax(360px,410px);
  }
  .hero-v2 h1 {
    font-size: clamp(48px,5vw,72px);
  }
  .hero-highlights {
    gap: 13px;
  }
  .hero-highlights b {
    font-size: 13px;
  }
  .hero-highlights small {
    font-size: 11px;
  }
  .service-card-bottom strong {
    font-size: 15px;
  }
}
@media (max-width:850px) {
  :root {
    --content-gutter: 24px;
  }
  .hero-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    min-height: auto;
  }
  .hero-v2 {
    
  }
  .quote-card-v2 {
    max-width: 660px;
  }
  .services-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .service-media {
    height: 220px;
  }
  .service-card-bottom strong {
    font-size: 17px;
  }
}
@media (max-width:700px) {
  :root {
    --content-gutter: 18px;
  }
  .nav-wrap {
    width: calc(100% - 28px);
  }
  .section:not(.reviews-section) {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  .hero-layout {
    padding-top: 45px;
    padding-bottom: 36px;
  }
  .hero-v2 h1 {
    font-size: clamp(40px,9.3vw,62px);
  }
  .hero-v2 .hero-desc {
    font-size: 16px;
  }
  .hero-highlights b {
    font-size: 12px;
  }
  .hero-highlights small {
    font-size: 11px;
  }
  .quote-card-v2 {
    padding: 26px 22px;
  }
  .quote-card-v2 .form-heading h2 {
    font-size: 30px;
  }
  .quote-card-v2 .form-grid label {
    font-size: 12px;
  }
  .quote-card-v2 .form-grid input,.quote-card-v2 .form-grid select {
    font-size: 15px;
    min-height: 46px;
  }
  .services-section {
    padding: 75px 0;
  }
  .services-section .section-heading h2,.section-heading h2,.about-copy h2,.areas-copy h2,.review-head h2 {
    font-size: clamp(34px,8vw,47px);
  }
  .services-section .section-heading p,.section-heading p {
    font-size: 16px;
  }
  .service-media {
    height: clamp(125px,27vw,200px);
  }
  .service-card-bottom {
    padding: 11px;
    min-height: 80px;
  }
  .service-card-bottom strong {
    font-size: 13px;
  }
  .service-mini-icon {
    display: none;
  }
  .service-arrow {
    width: 24px;
    height: 24px;
  }
  .areas-section {
    padding: 75px 0;
  }
  .areas-copy p,.about-copy p,.review-card p {
    font-size: 16px;
  }
  .review-card {
    min-height: auto;
  }
  .stats-section .stat p {
    font-size: 13px;
  }
}
/* Framework compatibility */
.wp-site-blocks {
  overflow: clip;
}
.wp-block-pestsurrey-section {
  margin-block: 0;
}
.ps-editor-preview {
  border: 1px solid #e5ecf1;
  padding: 18px;
  border-radius: 10px;
  background: #f5f8fb;
}
.ps-editor-preview strong {
  display: block;
  color: #0c203a;
  font-size: 22px;
}
.ps-editor-preview p {
  margin: 7px 0;
}
.ps-editor-preview small {
  color: #1689d6;
}
.admin-bar .site-header {
  top: 32px;
}
@media (max-width:782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}
.ps-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
/* Local Service global brand support */
.lst-brand-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 280px;
  object-fit: contain;
}
.lst-brand-name {
  font-size: clamp(19px,1.4vw,25px);
  letter-spacing: -.04em;
}
.main-nav .menu {
  display: contents;
}
.footer .brand {
  color: inherit;
}
.footer .menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer .menu li {
  margin: 0 0 8px;
}
.editor-styles-wrapper .lst-block-editor {
  font-family: Manrope,Arial,sans-serif;
  color: #0d243d;
}
.lst-block-editor .lst-edit-field {
  outline-offset: 3px;
}
.lst-block-editor .lst-edit-field:focus {
  outline: 2px solid #269ee9;
}
.lst-editor-panel {
  padding: 22px;
  border: 1px solid #dae4ec;
  border-radius: 16px;
  background: #fff;
  margin: 12px 0;
}
.lst-editor-panel h2 {
  font-size: clamp(28px,3vw,50px);
  margin: 8px 0;
}
.lst-editor-panel p {
  font-size: 17px;
}
.lst-editor-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
  gap: 16px;
}
.lst-editor-card {
  border-radius: 12px;
  border: 1px solid #e5ecf1;
  overflow: hidden;
  padding-bottom: 12px;
}
.lst-editor-card img {
  height: 130px;
  object-fit: cover;
}
.lst-editor-card .lst-edit-field {
  margin: 12px;
  font-size: 17px;
  font-weight: 700;
}
.lst-editor-hero {
  background: #102c4d;
  color: white;
  padding: 50px;
}
.lst-editor-hero .lst-edit-field {
  color: inherit;
}
.lst-editor-hero h2 {
  font-size: clamp(32px,4vw,58px);
  color: white;
}
.lst-editor-thumb {
  height: 240px;
  max-width: 400px;
  object-fit: cover;
  border-radius: 12px;
}
.lst-editor-review {
  padding: 20px;
  border: 1px solid #e5ecf1;
  border-radius: 12px;
  background: #f8fbfd;
}
.lst-editor-review:before {
  content: "★★★★★";
  display: block;
  color: #20c766;
  font-size: 22px;
  letter-spacing: 4px;
}
/* v0.3 WordPress navigation: reset native menu list styles and contain dropdowns */
.site-header {
  border-bottom: 1px solid rgb(238 238 238 / 10%);
  height: 86px;
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(16px);
  transition: box-shadow .3s,height .3s;
 
  background: var(--lst-header-bg,#fff);
}
.main-nav {
  min-width: 0;
}
.main-nav .lst-menu,.main-nav ul.menu {
  display: flex;
  align-items: center;
  gap: clamp(12px,1.5vw,28px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav .lst-menu li,.main-nav ul.menu li {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.main-nav .lst-menu li::marker,.main-nav ul.menu li::marker {
  content: "";
}
.main-nav .lst-menu a,.main-nav ul.menu a,.main-nav>a {
  color: var(--lst-header-link,#0d243d);
  display: block;
  font-weight: 700;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.35;
  padding: 14px 0;
}
.main-nav .lst-menu a:hover,.main-nav .lst-menu .current-menu-item>a,.main-nav ul.menu a:hover,.main-nav>a:hover {
  color: var(--lst-header-hover,#269ee9);
}
.main-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  display: block;
  min-width: 230px;
  max-width: min(350px,90vw);
  background: var(--lst-header-bg,#fff);
  color: var(--lst-header-link,#0d243d);
  padding: 9px !important;
  margin: 0 !important;
  list-style: none !important;
  box-shadow: 0 14px 35px #09243c26;
  border: 1px solid #00000010;
  border-radius: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(9px);
  pointer-events: none;
  transition: opacity .2s,transform .2s,visibility .2s;
}
.main-nav .sub-menu .sub-menu {
  top: 0;
  left: 100%;
}
.main-nav .sub-menu a {
  padding: 10px 13px !important;
  white-space: normal;
  border-radius: 7px;
}
.main-nav .sub-menu a:hover {
  background: #8899aa16;
}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav li.submenu-open>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.main-nav .menu-item-has-children>.submenu-toggle {
  border: 0;
  background: transparent;
  color: var(--lst-header-link,#0d243d);
  font-size: 15px;
  padding: 6px;
  display: inline-grid;
  place-items: center;
  margin-left: 1px;
  cursor: pointer;
}
.main-nav .menu-item-has-children>a {
  display: inline-block;
}
.main-nav .menu-item-has-children>.submenu-toggle[aria-expanded=true] {
  transform: rotate(180deg);
}
@media (max-width:1250px) {
  .nav-wrap {
    gap: 18px;
  }
  .main-nav .lst-menu,.main-nav ul.menu {
    gap: 12px;
  }
  .main-nav .lst-menu a,.main-nav ul.menu a {
    font-size: 13px;
  }
}
@media (max-width:1050px) {
  .main-nav {
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .main-nav .lst-menu,.main-nav ul.menu {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 10px 0 !important;
  }
  .main-nav .lst-menu li,.main-nav ul.menu li {
    display: block;
    width: 100%;
  }
  .main-nav .lst-menu a,.main-nav ul.menu a {
    font-size: 16px;
    white-space: normal;
    padding: 12px 14px !important;
  }
  .main-nav .sub-menu {
    position: static !important;
    display: none !important;
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    box-shadow: none;
    min-width: 0;
    max-width: none;
    width: 100%;
    padding: 0 0 0 18px !important;
    border: 0;
    background: transparent;
  }
  .main-nav li.submenu-open>.sub-menu {
    display: block !important;
  }
  .main-nav .menu-item-has-children>.submenu-toggle {
    position: absolute;
    right: 4px;
    top: 7px;
    padding: 8px 15px;
  }
  .main-nav .menu-item-has-children>a {
    max-width: calc(100% - 48px);
  }
}
.lst-child-editor {
  background: #fff;
  border: 1px solid #d8e4ed;
  border-radius: 12px;
  padding: 14px;
  min-height: 90px;
}
.lst-child-editor img {
  height: 130px;
  object-fit: cover;
  border-radius: 9px;
  margin-bottom: 10px;
}
.lst-child-editor .block-editor-rich-text__editable {
  font-size: 17px;
  font-weight: 700;
}
.lst-child-editor .components-base-control {
  margin-bottom: 8px;
}
.lst-collection-editor .block-editor-inner-blocks>.block-editor-block-list__layout {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(185px,1fr));
  gap: 16px;
}
@media (max-width:1050px) {
  .main-nav {
    background: var(--lst-header-bg,#fff);
    max-height: calc(100dvh - 95px);
  }
  .main-nav .sub-menu {
    background: transparent !important;
  }
}
/* v0.4: editor-only overview of separately editable hero elements */
.lst-editor-highlights {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin: 18px 0;
}
.lst-editor-highlights>div {
  padding: 12px;
  border: 1px solid #dce5ec;
  border-radius: 10px;
}
.lst-editor-highlights strong,.lst-editor-highlights p {
  display: block;
  margin: 4px 0;
}
@media (max-width:700px) {
  .lst-editor-highlights {
    grid-template-columns: 1fr;
  }
}
/* v0.5 flexible Gutenberg sections */
.lst-layout-inner {
  width: min(var(--lst-layout-width,1510px),calc(100% - 64px));
  margin-inline: auto;
}
.lst-layout-section .wp-block-columns {
  gap: clamp(20px,3vw,48px);
}
.lst-layout-section .wp-block-button__link {
  transition: transform .25s,box-shadow .25s;
}
.lst-layout-section .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px #0002;
}
.lst-layout-section img {
  height: auto;
}
.lst-layout-editor .lst-layout-inner {
  width: 100%;
}
.lst-layout-editor .block-editor-inner-blocks {
  min-height: 70px;
}
@media (max-width:700px) {
  .lst-layout-inner {
    width: calc(100% - 36px);
  }
  .lst-layout-editor {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
/* v0.6 reusable Hero Builder; default retains v0.5 split hero. */
.hero-v2 {
  padding: 0;
  
  color: #fff;
  overflow: hidden;
  background: linear-gradient(90deg,rgba(7,34,63,.97) 0%,rgba(9,38,67,.88) 40%,rgba(8,28,50,.46) 70%,rgba(8,30,52,.62) 100%),url("../assets/hero-original.png") center 40%/cover no-repeat;
 
  background-position: var(--lst-hero-position,center center);
  background-size: cover;
  background-repeat: no-repeat;
  min-height: var(--lst-hero-min-height,715px);
}
.hero-v2>.hero-layout {
  width: min(var(--lst-hero-width,1510px),calc(100% - (var(--content-gutter,40px) * 2)));
  min-height: var(--lst-hero-min-height,715px);
}
.lst-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  margin-top: 30px;
}
.lst-hero-secondary {
  font-weight: 750;
  color: white;
  border-bottom: 1px solid currentColor;
  padding: 8px 2px;
}
.lst-hero-form-hidden {
  display: none !important;
}
.lst-hero-split-left .hero-copy {
  order: 2;
}
.lst-hero-split-left .quote-card {
  order: 1;
}
.lst-hero-centered .hero-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: center;
  gap: 36px;
  padding-block: 85px;
}
.lst-hero-centered .hero-copy {
  max-width: 900px;
}
.lst-hero-centered .hero-desc {
  margin-inline: auto;
}
.lst-hero-centered .hero-highlights,.lst-hero-centered .lst-hero-buttons {
  justify-content: center;
}
.lst-hero-centered .quote-card {
  width: min(100%,620px);
  max-width: 620px;
  text-align: left;
}
.lst-hero-centered .hero-highlights {
  justify-content: center;
}
.lst-editor-hero-actions {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
  padding: 15px 0;
}
@media (max-width:850px) {
  .lst-hero-split-left .hero-copy,.lst-hero-split-left .quote-card {
    order: initial;
  }
  .hero-v2>.hero-layout {
    min-height: auto;
  }
  .hero-v2 {
    min-height: 0;
  }
  .lst-hero-centered .hero-layout {
    padding-block: 55px;
  }
}
.lst-hero-centered.hero-v2 h1 {
  text-align: center;
}
.lst-hero-centered.hero-v2 .hero-desc {
  text-align: center;
}
.lst-hero-buttons:empty {
  display: none;
}
/* v0.7 universal form builder */
.lst-field-editor {
  background: #f7f9fb;
  border: 1px solid #d7dfe8;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 14px;
}
.lst-field-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
}
.lst-field-actions strong {
  margin-right: auto;
}
.lst-form-builder {
  margin: 22px 0;
}
.lst-dynamic-form .form-grid textarea {
  min-height: 110px;
  width: 100%;
  border-radius: 9px;
  padding: 14px;
  border: 1px solid #d8e0e8;
  resize: vertical;
}
.lst-dynamic-form .form-grid label {
  min-width: 0;
}
/* v0.8 shared visual design tokens; each override is opt-in. */
.lst-design-section {
  color: var(--lst-design-color,inherit);
}
.lst-design-section :is(.container,.section-container,.hero-layout,.lst-layout-inner,.stats-inner,.areas-inner,.reviews-inner,.services-inner,.about-inner,.cta-inner) {
  max-width: var(--lst-design-width, inherit);
}
.lst-design-section :is(h1,h2,h3,.section-title) {
  font-size: var(--lst-design-heading,inherit);
}
.lst-design-section :is(p,.service-card p,.review-card p) {
  font-size: var(--lst-design-body,inherit);
}
.lst-design-section :is(.service-card,.review-card,.quote-card,.stats-card,.lst-child-editor) {
  border-radius: var(--lst-design-radius,inherit);
}
.lst-design-section :is(.services-grid,.review-grid,.stats-grid,.hero-layout,.areas-grid) {
  gap: var(--lst-design-gap, inherit);
}
@media (max-width:767px) {
  .lst-design-section :is(.container,.hero-layout,.lst-layout-inner) {
    padding-left: var(--lst-design-mobile-pad,inherit);
    padding-right: var(--lst-design-mobile-pad,inherit);
  }
}
@media (prefers-reduced-motion:reduce) {
  .lst-design-section,.lst-design-section * {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
/* Native Gutenberg composition layer, v1.0 */
.lst-pattern {
  box-sizing: border-box;
  max-width: 1510px;
  margin-inline: auto;
  padding: clamp(48px,6vw,100px) clamp(20px,3vw,42px);
}
.lst-pattern.alignfull {
  max-width: none;
  margin-inline: 0;
}
.lst-pattern-lead-hero {
  padding-block: clamp(70px,9vw,150px);
}
.lst-pattern .wp-block-columns {
  gap: clamp(24px,3vw,48px);
}
.lst-pattern p:not(.lst-eyebrow) {
  font-size: clamp(17px,1.2vw,19px);
  line-height: 1.7;
}
.lst-pattern .lst-eyebrow {
  font-size: 13px;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 800;
}
.lst-pattern-hero-card,.lst-native-card {
  padding: clamp(24px,2.5vw,40px);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(13,37,61,.08);
}
.lst-native-card {
  height: 100%;
  background: #f3f8f9;
}
.lst-native-card h3 {
  font-size: clamp(21px,2vw,27px);
}
.lst-pattern-media-placeholder {
  min-height: 320px;
  background: #e1ebee;
  border: 2px dashed #92adb8;
  border-radius: 20px;
  display: grid;
  place-items: center;
  padding: 30px;
}
.lst-pattern-hero-card {
  background: #fff;
  color: #102a40;
}
.lst-stars {
  color: #28a965;
  font-size: 24px !important;
  letter-spacing: .13em;
}
.lst-pattern .wp-block-button__link {
  padding: 14px 26px;
}
@media (max-width:781px) {
  .lst-pattern {
    padding: 60px 20px;
  }
  .lst-pattern-media-placeholder {
    min-height: 220px;
  }
}

/* Reviews: shared cards, configurable grid or accessible scroll-snap slider. */
.reviews-section .review-grid {grid-template-columns:repeat(var(--lst-reviews-desktop,3), minmax(0,1fr));}
.reviews-section.lst-review-mode-slider .lst-review-track {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;gap:20px;padding-bottom:16px;}
.reviews-section.lst-review-mode-slider .lst-review-track::-webkit-scrollbar {display:none;}
.reviews-section.lst-review-mode-slider .review-card {flex:0 0 calc((100% - (var(--lst-reviews-desktop,3) - 1)*20px)/var(--lst-reviews-desktop,3));scroll-snap-align:start;min-width:0;}
.lst-review-controls {display:flex;justify-content:flex-end;gap:10px;margin:-65px 0 25px;position:relative;z-index:1;}
.lst-review-controls button {display:grid;place-items:center;cursor:pointer;border:1px solid #dae4e9;color:var(--navy,#102a40);background:#fff;border-radius:100%;width:42px;height:42px;font-size:20px;transition:background .2s,color .2s;}
.lst-review-controls button:hover:not(:disabled) {background:var(--navy,#102a40);color:#fff;}
.lst-review-controls button:disabled {opacity:.35;cursor:default;}
@media(max-width:1100px){.reviews-section .review-grid{grid-template-columns:repeat(var(--lst-reviews-tablet,2),minmax(0,1fr));}.reviews-section.lst-review-mode-slider .review-card{flex-basis:calc((100% - (var(--lst-reviews-tablet,2) - 1)*20px)/var(--lst-reviews-tablet,2));}}
@media(max-width:650px){.reviews-section .review-grid{grid-template-columns:repeat(var(--lst-reviews-mobile,1),minmax(0,1fr));}.reviews-section.lst-review-mode-slider .review-card{flex-basis:calc((100% - (var(--lst-reviews-mobile,1) - 1)*20px)/var(--lst-reviews-mobile,1));}.lst-review-controls{margin:0 0 18px;}}
@media(prefers-reduced-motion:reduce){.reviews-section.lst-review-mode-slider .lst-review-track{scroll-behavior:auto;}}


/* Form labels are visually optional; each input retains its accessible label. */
.lst-dynamic-form.lst-hide-field-labels .lst-form-field-label,
.lst-preview-fields.lst-hide-field-labels .lst-form-field-label {
 position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.lst-dynamic-form.lst-hide-field-labels .lst-form-field {position:relative;}

/* Native editorial sections: reusable Gutenberg layout styling. */
.lst-editorial-section{padding-block:clamp(55px,7vw,100px);max-width:1510px;margin-inline:auto;}
.lst-editorial-section h2{font:800 clamp(34px,3.6vw,60px)/1.14 var(--heading);letter-spacing:-.052em;}
.lst-editorial-section h3{margin-top:24px;}
.lst-location-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 24px;list-style:none;padding:0;}
.lst-location-list li{padding:12px 16px;border-radius:12px;background:var(--lst-global-light,#f2f7f7);}
@media(max-width:850px){.lst-location-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.lst-location-list{grid-template-columns:1fr;}}


/* Native Gutenberg design layer: shared by public pages and block editor. */
.lst-designed-section{padding-block:clamp(40px,5vw,80px);box-sizing:border-box}


.is-style-lst-eyebrow{display:block;color:var(--lst-color-accent,var(--brand-blue,#259de5));font-size:12px!important;line-height:1.5;font-weight:800!important;letter-spacing:.13em;text-transform:uppercase;margin-block:0 16px!important}
.is-style-lst-section-heading{font-family:var(--heading,inherit);font-size:clamp(36px,4vw,58px)!important;line-height:1.15!important;letter-spacing:-.06em!important;font-weight:800!important;max-width:1050px;margin-block:0 18px!important}
.is-style-lst-section-lead{font-size:clamp(16px,1.35vw,19px)!important;line-height:1.65;max-width:760px!important;color:var(--muted,#61727e);margin-block:0!important}
.lst-service-card-columns{gap:clamp(16px,2vw,30px)!important;align-items:stretch!important}
.lst-service-card-columns > .wp-block-column{min-width:0;display:flex;flex-direction:column}
.lst-service-card-columns .service-card,.lst-service-card-grid .service-card{height:100%;box-sizing:border-box;min-width:0}
.lst-service-card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px!important;align-items:stretch}
.lst-services-section :where(.wp-block-column,.lst-service-card-grid) > :where(.service-card){width:100%;max-width:none!important;margin:0!important}
.lst-services-section :where(.wp-block-column,.lst-service-card-grid) > :where(.wp-block-localservice-service-card){width:100%;max-width:none!important;margin:0!important}
.is-style-lst-tick-list{list-style:none;padding-left:0}
.is-style-lst-tick-list li{position:relative;padding-left:36px;margin-block:10px}
.is-style-lst-tick-list li:before{content:'✓';position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--lst-color-accent,#259de5);color:#fff;text-align:center;font-size:13px;line-height:24px}
@media(max-width:1050px){.lst-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.lst-service-card-grid{grid-template-columns:1fr}.lst-service-card-columns{flex-wrap:wrap!important}.lst-service-card-columns>.wp-block-column{flex-basis:100%!important}}


.lst-native-split-section .wp-block-columns{align-items:center!important;gap:clamp(26px,4vw,70px)!important}
.lst-native-split-section .wp-block-column{min-width:0}
.lst-native-split-section .wp-block-image{margin:0;width:100%;max-width:none}
.lst-native-split-section .wp-block-image img{display:block;max-width:100%}
.lst-native-split-section .wp-block-column > :where(p:not(.is-style-lst-eyebrow)){color:var(--muted,#61727e);line-height:1.7}
.lst-native-split-section .wp-block-column > :where(p:not(.is-style-lst-eyebrow))+p{margin-top:1em}
@media(max-width:780px){.lst-native-split-section .wp-block-columns{flex-wrap:wrap!important}.lst-native-split-section .wp-block-column{flex-basis:100%!important}}


/* Native Gutenberg Kent service sections: editable outer colour/padding + wide inner content. */
.lst-section{width:100%;max-width:none;box-sizing:border-box}
.lst-section > .lst-section-inner{width:min(100% - 40px,var(--wp--style--global--wide-size,1510px));max-width:var(--wp--style--global--wide-size,1510px);margin-inline:auto!important}
.lst-section .lst-intro-centered{text-align:center;margin:0 auto clamp(32px,4vw,64px);padding:0}
.lst-section .lst-intro-centered > :where(*){margin-left:auto!important;margin-right:auto!important}
.lst-section .lst-intro-centered .is-style-lst-section-heading{max-width:1050px}
.lst-section .lst-intro-centered .is-style-lst-section-lead{max-width:760px}
.lst-section .lst-service-card-columns,.lst-section .lst-service-card-grid{margin-block:0}
@media(max-width:600px){.lst-section > .lst-section-inner{width:calc(100% - 32px)}}

/* v1.5.2.2: Respect native Gutenberg wide alignment for top-level Groups.
   Earlier sections only worked when given a bespoke inner width rule.
   Do not constrain alignfull section backgrounds or nested block layouts. */
#main > .wp-block-group.alignwide {
  box-sizing: border-box;
  width: min(calc(100% - 40px), var(--wp--style--global--wide-size, 1510px));
  max-width: var(--wp--style--global--wide-size, 1510px);
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 600px) {
  #main > .wp-block-group.alignwide {
    width: calc(100% - 32px);
  }
}

/* Trust / image-text composition. Native Group, Columns, Image, Heading, List and Buttons. */
.lst-trust-section .lst-trust-columns{gap:clamp(32px,4.5vw,86px)!important;align-items:center}
.lst-trust-section .lst-trust-columns>.wp-block-column{min-width:0}
.lst-trust-media-wrap{position:relative;width:100%}
.lst-trust-media-wrap>.wp-block-image{margin:0!important;width:100%}
.lst-trust-media-wrap>.wp-block-image img{display:block;max-width:100%}
.lst-trust-media-wrap>.lst-trust-badge{position:absolute;z-index:2;right:-3%;top:7%;display:flex;align-items:center;gap:12px;padding:16px 23px;background:var(--wp--preset--color--base,#fff);color:var(--lst-global-dark,#17243c);box-shadow:0 12px 32px rgba(16,30,46,.12);border-radius:var(--lst-radius,16px);max-width:90%}
.lst-trust-badge .lst-trust-years{font-size:clamp(30px,3vw,47px)!important;line-height:1!important;letter-spacing:-.06em;margin:0!important;font-weight:800}
.lst-trust-badge .lst-trust-years-label{font-size:12px!important;line-height:1.3!important;font-weight:700;color:inherit!important;margin:0!important}
.lst-trust-section .lst-trust-heading{max-width:none}
.lst-text-accent{color:var(--lst-color-accent,var(--brand-blue,#659ce1))}
.lst-trust-copy>.wp-block-list,.lst-trust-copy>.lst-trust-features{margin-block:24px 26px!important}
.lst-trust-features li{font-weight:700;color:var(--lst-global-dark,#17243c);padding-left:38px!important}
.lst-trust-features li:before{background:var(--lst-tick-background,#e2f7df)!important;color:var(--lst-tick-color,#309348)!important}
.lst-trust-buttons{margin-top:26px}
.lst-trust-cta .wp-block-button__link{display:inline-flex;align-items:center;gap:16px;border-radius:100px;padding:9px 9px 9px 25px;background:var(--lst-color-primary,#39b84b);color:var(--lst-button-text,#fff);font-weight:700;text-decoration:none}
.lst-trust-cta-arrow{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--lst-global-dark,#14253d);color:#fff;font-size:21px;transition:transform .25s}
.lst-trust-cta .wp-block-button__link:hover .lst-trust-cta-arrow{transform:rotate(45deg)}
@media(max-width:781px){.lst-trust-media-wrap>.lst-trust-badge{right:12px;top:12px}.lst-trust-section .lst-trust-columns{gap:35px!important}}

/* v1.5.3.1 Accessible app-like navigation; theme tokens determine its colours. */
.main-nav .submenu-toggle { transition: background-color .2s, color .2s; border-radius: 999px; }
.main-nav .submenu-toggle svg {display:block; transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.main-nav .submenu-toggle[aria-expanded="true"] {transform:none !important}
.main-nav .submenu-toggle[aria-expanded="true"] svg {transform:rotate(180deg)}
@media (min-width:1051px) {
 .main-nav .sub-menu {border-radius:17px;box-shadow:0 22px 65px #0c233326;padding:12px !important;transition:opacity .24s ease,transform .24s cubic-bezier(.2,.8,.2,1),visibility .24s;}
 .main-nav .sub-menu a {padding:12px 14px !important;transition:background-color .2s,color .2s,transform .2s}
 .main-nav .sub-menu a:hover {transform:translateX(3px)}
 .main-nav .menu-item-has-children>.submenu-toggle:hover {background:color-mix(in srgb,var(--lst-color-primary,#16764b) 10%,transparent)}
}
@media (max-width:1050px) {
 body.lst-nav-open {overflow:hidden;}
 .site-header {z-index:10000;}
 .main-nav {position:fixed !important;inset:0 !important;top:0 !important;width:100vw !important;height:100dvh !important;max-height:none !important;overflow-y:auto !important;overscroll-behavior:contain;background:var(--lst-header-bg,#fff) !important;border-radius:0 !important;box-shadow:none !important;padding:clamp(90px,13vh,125px) max(24px,calc((100vw - 660px)/2)) 70px !important;display:flex !important;flex-direction:column;align-items:stretch;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .28s ease,transform .28s ease,visibility .28s;}
 .main-nav.open {opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
 .menu-toggle {position:relative;z-index:10002;min-height:48px;min-width:48px;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb,var(--lst-header-link,#0d243d) 8%,transparent);}
 .menu-toggle span {transition:transform .25s,opacity .2s;background:var(--lst-header-link,#0d243d)}
 .menu-toggle[aria-expanded="true"] span:nth-child(1) {transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3) {transform:translateY(-7px) rotate(-45deg)}
 .main-nav .lst-menu,.main-nav ul.menu {padding:0 !important;}
 .main-nav .lst-menu>li,.main-nav ul.menu>li {border-bottom:1px solid color-mix(in srgb,var(--lst-header-link,#0d243d) 12%,transparent)}
 .main-nav .lst-menu>li>a,.main-nav ul.menu>li>a {font-size:clamp(21px,4vw,29px) !important;letter-spacing:-.035em;line-height:1.2;padding:20px 52px 20px 0 !important;font-weight:700}
 .main-nav .menu-item-has-children>.submenu-toggle {top:12px;right:0;background:color-mix(in srgb,var(--lst-header-link,#0d243d) 8%,transparent);padding:13px;border-radius:50%;}
 .main-nav .sub-menu {padding:0 0 18px 18px !important;margin:0 !important;border-left:2px solid var(--lst-color-primary,#16764b) !important;border-radius:0 !important;}
 .main-nav .sub-menu li>a {font-size:16px !important;font-weight:550;padding:12px 52px 12px 4px !important;line-height:1.4}
 .main-nav .sub-menu .submenu-toggle {top:4px}
 .main-nav li.submenu-open>.sub-menu {animation:lstNavAccordion .25s ease both}
 @keyframes lstNavAccordion {from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion:reduce){.main-nav,.main-nav .sub-menu,.main-nav .submenu-toggle svg,.menu-toggle span{transition:none !important;animation:none !important}}

/* v1.5.3.3: Inline submenu controls and persistent mobile header actions. */
.lst-mobile-phone { display:none; }
@media (min-width:1051px) {
  /* Link and its adjacent chevron form one predictable horizontal row. */
  .main-nav .menu-item-has-children { display:flex; align-items:center; flex-wrap:nowrap; }
  .main-nav .menu-item-has-children > a { display:inline-flex; align-items:center; min-width:0; }
  .main-nav .menu-item-has-children > .submenu-toggle {
    position:static !important; display:inline-flex; align-items:center; justify-content:center;
    flex:0 0 auto; align-self:center; margin:0 0 0 5px; padding:5px;
    line-height:1; transform:none !important;
  }
  .main-nav .sub-menu .menu-item-has-children > a { flex:1 1 auto; white-space:normal; }
  .main-nav .sub-menu .menu-item-has-children > .submenu-toggle { margin:0 8px 0 0; }
  .main-nav .menu-item-has-children:hover > .submenu-toggle svg,
  .main-nav .menu-item-has-children:focus-within > .submenu-toggle svg,
  .main-nav .menu-item-has-children > .submenu-toggle[aria-expanded="true"] svg { transform:rotate(90deg); }
}
@media (max-width:1050px) {
  .site-header { position:sticky; top:0; z-index:10000; }
  .site-header .nav-wrap { position:relative; gap:10px; }
  .site-header .brand { position:relative; z-index:10003; flex:0 1 auto; min-width:0; margin-right:auto; }
  .site-header .nav-actions { display:none; }
  .lst-mobile-phone {
    position:relative; z-index:10003; display:inline-grid; place-items:center;
    flex:0 0 46px; width:46px; height:46px; border-radius:13px;
    color:var(--lst-header-link,#0d243d);
    background:color-mix(in srgb,var(--lst-header-link,#0d243d) 9%,transparent);
    text-decoration:none;
  }
  .lst-mobile-phone:hover,.lst-mobile-phone:focus-visible { color:var(--lst-color-primary,#16764b); }
  .site-header .menu-toggle { position:relative; z-index:10003; flex:0 0 46px; }
  .site-header .main-nav { z-index:10001; }
  /* Keep the intended mobile 180-degree state, independent of desktop hover. */
  .main-nav .submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
}
@media (max-width:480px) {
  .site-header .nav-wrap { width:calc(100% - 24px); gap:7px; }
  .site-header .brand { font-size:clamp(12px,3.6vw,16px); letter-spacing:-.05em; }
  .site-header .brand img { max-width:min(48vw,220px); height:auto; object-fit:contain; }
  .lst-mobile-phone,.site-header .menu-toggle { flex-basis:42px; width:42px; min-width:42px; min-height:42px; height:42px; }
}
@media (prefers-reduced-motion:reduce) {
  .main-nav .submenu-toggle svg { transition:none !important; }
}

/* v1.5.3.6 — configurable, responsive reference-inspired footer */
.footer.lst-footer-modern{background:var(--lst-footer-bg,#102139);padding:0;color:#f5f8ff;}
.lst-footer-cta{position:relative;isolation:isolate;overflow:hidden;background:#14273d;color:white;padding:68px 0;background-image:linear-gradient(90deg,#14273d 0%,rgba(20,39,61,.97) 33%,rgba(20,39,61,.75) 61%,rgba(20,39,61,.25) 100%),var(--lst-footer-cta-image);background-position:center,right center;background-repeat:no-repeat;background-size:cover,cover}
.lst-footer-cta-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.8fr);align-items:center;gap:50px}
.lst-footer-eyebrow{margin:0 0 12px;color:var(--lst-color-primary);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lst-footer-cta h2{font-size:clamp(36px,4vw,68px);font-weight:800;letter-spacing:-.055em;line-height:1.1;color:#fff;margin:0 0 14px;max-width:780px}
.lst-footer-cta-desc{margin:0;max-width:600px;color:#e2e8f3;line-height:1.6}
.lst-footer-benefits{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:24px;font-weight:700;color:#f2f5fb}
.lst-footer-benefits span{white-space:nowrap}
.lst-footer-cta-actions{display:flex;flex-wrap:wrap;gap:22px}
.lst-footer-main-button{display:inline-flex;align-items:center;gap:16px;background:var(--lst-button-bg,var(--lst-color-primary));color:var(--lst-button-text,#fff)!important;padding:9px 9px 9px 25px;border-radius:var(--lst-global-button-radius,100px);font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.14);transition:transform .3s,box-shadow .3s}
.lst-footer-main-button:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.26)}
.lst-footer-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#172842;color:white;transition:transform .35s}
.lst-footer-main-button:hover .lst-footer-arrow{transform:rotate(45deg)}
.lst-footer-cta-phone{display:flex;flex-direction:column;color:white!important;gap:2px}.lst-footer-cta-phone span{color:#dde5f2}.lst-footer-cta-phone strong{font-size:22px;color:white}
.lst-footer-main{display:grid;grid-template-columns:1.25fr .7fr 1fr 1.05fr;gap:clamp(25px,3vw,60px);padding:58px 0 40px}
.lst-footer-modern .brand{display:inline-flex;margin-bottom:16px}.lst-footer-modern .brand img{max-width:280px;height:auto;max-height:70px;object-fit:contain}
.lst-footer-about>p{color:#d9e2f0;line-height:1.7;max-width:350px;margin:0 0 20px}
.lst-footer-highlights{display:flex;flex-direction:column;gap:10px;color:#e4eaf5;}.lst-footer-highlights span:first-letter{color:var(--lst-color-primary)}
.lst-footer-badges{display:flex;gap:16px;align-items:center;margin-top:24px;flex-wrap:wrap}.lst-footer-badges img{width:auto;max-width:30%;height:auto;object-fit:contain;-webkit-filter:brightness(0) invert();filter:brightness(0) invert()}
.lst-footer-nav{min-width:0}.lst-footer-nav h3{color:white;font-weight:800;margin:0 0 24px}.lst-footer-nav h3:after{content:"";display:block;width:40px;height:2px;background:var(--lst-color-primary);margin-top:12px}
.lst-footer-modern .lst-footer-menu{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;margin:0}.lst-footer-modern .lst-footer-menu li{margin:0;padding:0;list-style:none}.lst-footer-modern .lst-footer-menu a{color:#dfe7f3;line-height:1.6;transition:color .2s;display:inline-block}.lst-footer-modern .lst-footer-menu a:hover{color:var(--lst-color-primary)}
.lst-footer-modern .lst-footer-menu .sub-menu{list-style:none;padding:8px 0 0 14px;margin:0}.lst-footer-modern .lst-footer-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.lst-footer-contact{border-top:1px solid rgba(255,255,255,.16);padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.lst-footer-contact-item{display:flex;align-items:center;gap:13px;min-width:0;color:white!important}.lst-footer-contact-icon{background:var(--lst-color-primary);color:var(--lst-button-text,#fff);width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;}.lst-footer-contact-item>span:last-child{display:flex;flex-direction:column;min-width:0}.lst-footer-contact-item small{color:#c7d2e2;}.lst-footer-contact-item strong{color:white;overflow-wrap:anywhere}
.lst-footer-social{display:flex;align-items:center;gap:8px}.lst-footer-social a{background:rgba(255,255,255,.12);color:#fff;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-weight:800;text-transform:uppercase}.lst-footer-social a:hover{background:var(--lst-color-primary)}
.lst-footer-social a img{display:block;width:100%;height:100%;object-fit:contain;flex:none}
.lst-footer-legal{background:rgba(0,0,0,.18)}.lst-footer-legal-inner{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:21px 0;color:#cbd5e4}.lst-footer-legal-inner>div{display:flex;gap:18px;flex-wrap:wrap}.lst-footer-legal a{color:#cbd5e4}.lst-footer-legal a:hover{color:white}
@media(max-width:1100px){.lst-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.lst-footer-contact{justify-content:flex-start}.lst-footer-contact-item{flex:1 1 220px}}
@media(max-width:700px){.lst-footer-cta{padding:55px 0;background-size:cover,cover;background-image:linear-gradient(90deg,rgba(20,39,61,.96),rgba(20,39,61,.83)),var(--lst-footer-cta-image)}.lst-footer-cta-inner{grid-template-columns:1fr;gap:28px}.lst-footer-main{grid-template-columns:1fr 1fr;gap:35px 18px;padding:45px 0 35px}.lst-footer-about{grid-column:1/-1}.lst-footer-nav:last-child{grid-column:1/-1}.lst-footer-legal-inner{flex-direction:column;align-items:flex-start}.lst-footer-cta h2{font-size:clamp(36px,8vw,52px)}}
@media(max-width:420px){.lst-footer-main{grid-template-columns:1fr}.lst-footer-about,.lst-footer-nav:last-child{grid-column:auto}.lst-footer-contact-item{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.lst-footer-main-button,.lst-footer-arrow{transition:none}}

/* v1.5.3.7 - contained photographic footer CTA (footer columns unaffected). */
.lst-footer-cta {
  width: calc(100% - 40px);
  max-width: var(--wp--style--global--wide-size, 1510px);
  margin: 32px auto 0;
  border: 1px solid #535b6a;
  border-radius: 22px;
  background-size: cover, cover;
  background-position: center, center;
}
@media (max-width: 700px) {
  .lst-footer-cta {
    width: calc(100% - 24px);
    margin-top: 18px;
    border-radius: 16px;
    background-size: cover, cover;
  }
}

/* v1.5.3.9 — the CTA is a sibling before <footer>. Bring the footer background
   behind the bottom of the card, compensating with padding so the footer
   columns do not move or overlap the card. */
.lst-footer-cta { z-index: 2; }
.footer.lst-footer-modern {
  margin-top: -160px;
  padding-top: 160px;
}
@media (max-width: 700px) {
  .footer.lst-footer-modern {
    margin-top: -105px;
    padding-top: 105px;
  }
}

/* v1.5.4.0: native Areas and FAQ sections. */
.lst-areas-section .wp-block-image img{display:block;width:100%;height:auto;border-radius:var(--lst-radius,18px)}
.lst-faq-section{padding:clamp(56px,7vw,100px) 24px}
.lst-faq-container{width:min(100%,var(--wp--style--global--wide-size,1510px));margin-inline:auto}
.lst-faq-columns{gap:clamp(26px,4vw,80px)}
/* Accessible native Details accordion: filled panels and animated height by small JS enhancement. */
.lst-faq-columns{align-items:flex-start}
.lst-faq-item{overflow:hidden;border:1px solid var(--lst-faq-border,#e1e8ee);border-radius:var(--lst-global-card-radius,18px);background:var(--lst-faq-bg,#fff);margin:0 0 14px;padding:0;box-shadow:0 5px 20px rgba(16,35,58,.035);transition:border-color .25s,box-shadow .25s,background-color .25s}
.lst-faq-item[open]{border-color:var(--lst-color-primary);box-shadow:0 12px 30px rgba(16,35,58,.07)}
.lst-faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;font-weight:700;color:var(--lst-text,#17243c)}
.lst-faq-item summary::-webkit-details-marker{display:none}
.lst-faq-item summary::after{content:'+';display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--lst-color-primary);color:var(--lst-button-text,#fff);font-size:24px;font-weight:400;line-height:1;transition:transform .3s cubic-bezier(.2,.8,.2,1),background-color .3s}
.lst-faq-item[open] summary::after{transform:rotate(45deg)}
.lst-faq-item > :not(summary){margin:0;padding:0 26px 25px;color:var(--lst-muted,#657287);max-width:none;line-height:1.65}
.lst-faq-item:focus-within{outline:2px solid var(--lst-color-primary);outline-offset:2px}
@media(max-width:781px){.lst-faq-columns{display:block}.lst-faq-columns>.wp-block-column+ .wp-block-column{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.lst-faq-item,.lst-faq-item summary::after{transition:none}}



/* Optional hero ratings: tokens inherit the active theme design system. */
.lst-hero-ratings{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;align-items:stretch;max-width:100%}
.lst-hero-rating-card{display:flex;flex-wrap:wrap;align-content:center;align-items:center;column-gap:10px;row-gap:3px;min-width:170px;padding:12px 17px;border:1px solid rgba(255,255,255,.25);border-radius:var(--lst-card-radius,12px);background:#fff;color:#18263b;text-decoration:none;box-shadow:0 8px 28px rgba(0,0,0,.12)}
.lst-hero-rating-brand{flex-basis:100%;font-weight:750;font-size:.9em;line-height:1.25}
.lst-hero-rating-brand-google{color:#4285f4}.lst-hero-rating-brand-trustpilot{color:#008f69}.lst-hero-rating-brand-reviewsio{color:#18263b}.lst-hero-rating-brand-facebook{color:#1877f2}.lst-hero-rating-brand-checkatrade{color:#145ab8}
.lst-hero-rating-score{font-size:1.18em;font-weight:800;line-height:1.3}.lst-hero-rating-outof{font-size:.72em;color:#697487;font-weight:500}
.lst-hero-rating-stars{color:#f3af22;letter-spacing:1px;font-size:.89em}.lst-hero-rating-count{width:100%;color:#66758a;font-size:.76em;line-height:1.4}
@media(max-width:767px){.lst-hero-ratings{gap:9px}.lst-hero-rating-card{min-width:0;flex:1 1 136px;padding:10px 12px}}

/* Hero review cards: logo and editable provider label, score, supporting text. */
.lst-hero-rating-card{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:7px;min-width:205px}
.lst-hero-rating-header,.lst-hero-rating-line{display:flex;align-items:center;gap:10px;min-width:0}
.lst-hero-rating-header{font-weight:700}
.lst-hero-rating-logo{display:block;width:44px;height:40px;max-width:44px;object-fit:contain;flex:0 0 44px}
.lst-hero-rating-brand{flex-basis:auto;font-size:.92em;color:#18263b;line-height:1.2}
.lst-hero-rating-line{flex-wrap:wrap;gap:10px}
.lst-hero-rating-count{width:auto;font-size:.78em}
@media(max-width:767px){.lst-hero-rating-card{min-width:0}.lst-hero-rating-logo{width:36px;height:34px;flex-basis:36px}}


/* Hero review cards: logo occupies left column; all text stacks on right. */
.lst-hero-rating-card{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;column-gap:14px;row-gap:0;min-width:255px;flex-direction:unset;flex-wrap:unset;align-content:unset;justify-content:unset}
.lst-hero-rating-logo{grid-column:1;width:72px;height:72px;max-width:100%;object-fit:contain;flex:none}
.lst-hero-rating-content{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;gap:3px}
.lst-hero-rating-brand,.lst-hero-rating-count{display:block;width:auto;flex-basis:auto}
.lst-hero-rating-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:767px){.lst-hero-rating-card{grid-template-columns:54px minmax(0,1fr);min-width:225px;column-gap:10px}.lst-hero-rating-logo{width:54px;height:54px}}

/* 1.5.4.8: fractional review stars and optional split hero pill. Scoped only to ratings/pill. */
.lst-rating-stars{position:relative;display:inline-block;white-space:nowrap;line-height:1;font-size:1.14em;letter-spacing:2px;vertical-align:middle;flex:none}
.lst-rating-stars-base{color:#cad2d9;display:block}
.lst-rating-stars-fill{color:var(--lst-stars-color,#eab631);position:absolute;left:0;top:0;width:var(--lst-star-fill,100%);overflow:hidden;white-space:nowrap}
.hero-v2 .hero-eyebrow.lst-hero-pill-with-stars{display:inline-flex;align-items:center;gap:0;padding:0;overflow:hidden;background:#154c80}
.lst-hero-pill-star-segment{display:inline-flex;align-items:center;align-self:stretch;padding:9px 13px;background:rgba(0,0,0,.13)}
.lst-hero-pill-star-icons{padding:0;margin:0;font-size:1.14em}
.lst-hero-pill-star-icons .lst-rating-stars-base{color:rgba(255,255,255,.3)}
.lst-hero-pill-star-icons .lst-rating-stars-fill{color:var(--lst-pill-stars-color,#75efb0)}
.lst-hero-pill-label{padding:8px 17px}
.lst-preview-eyebrow-wrap.lst-hero-pill-with-stars{display:inline-flex;align-items:center;border-radius:99px;overflow:hidden;gap:0;background:#154c80;color:white}
.lst-preview-eyebrow-wrap.lst-hero-pill-with-stars .lst-preview-eyebrow{margin:0;padding:8px 17px}


/* 1.5.4.1: one CTA button treatment for new native sections, matching the existing trust CTA. */
.lst-native-arrow-button .wp-block-button__link,
.lst-trust-cta .wp-block-button__link{
 border-radius:var(--lst-global-button-radius,100px);padding:9px 25px;
 background:var(--lst-button-bg,var(--lst-color-primary));color:var(--lst-button-text,#fff);
 font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.14);
 transition:transform .3s ease,box-shadow .3s ease;
}
.lst-native-arrow-button .wp-block-button__link:hover,
.lst-trust-cta .wp-block-button__link:hover{
 transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.24);
}
@media(prefers-reduced-motion:reduce){.lst-native-arrow-button .wp-block-button__link,.lst-trust-cta .wp-block-button__link{transition:none}}

/* Generic rounded media frame: Gutenberg Group owns radius and shadow settings. */
.lst-video-frame{max-width:min(100%,1050px);margin-inline:auto!important;overflow:hidden}
.lst-video-frame .wp-block-embed{margin:0;border-radius:inherit;overflow:hidden}

/* The video Group is the frame: do not constrain its embedded video to Gutenberg's text width. */
.lst-video-frame > .wp-block-embed,
.lst-video-frame > .wp-block-embed.wp-block-embed-youtube {
  width:100%;max-width:none;margin:0!important;
}
.lst-video-frame > .wp-block-embed > .wp-block-embed__wrapper { width:100%; }
/* Stable, genuinely round number labels regardless of numeral or font metrics. */
.lst-feature-number {
  box-sizing:border-box;flex:0 0 80px;width:80px;height:80px;min-width:80px;min-height:80px;
  display:grid;place-items:center;margin:0!important;padding:0!important;
  border-radius:50%!important;line-height:1!important;text-align:center;
}
@media(max-width:600px){.lst-feature-number{flex-basis:64px;width:64px;height:64px;min-width:64px;min-height:64px}}

/* Consistent, locally bundled SVG contact icons. Inherit the existing text/icon colour. */
.phone-dot svg { display:block; width:19px; height:19px; }
.lst-mobile-phone svg { display:block; width:21px; height:21px; }
.lst-footer-contact-icon svg { display:block; width:22px; height:22px; }
.lst-inline-phone-icon { display:inline-flex; align-items:center; vertical-align:middle; line-height:0; }
.lst-inline-phone-icon svg { display:block; width:18px; height:18px; }

/* SVG stat icons preserve the existing icon footprint without font-glyph dependence. */
.stats-section .stat-icon .lst-stat-svg,
.editor-styles-wrapper .lst-preview-stat-icon .lst-stat-svg {
    display: block;
    width: 1em;
    height: 1em;
    object-fit: contain;
    margin-inline: auto;
}
