/* ─── Tokens ─────────────────────────────────────────── */
    :root {
      --lp-color-primary:        #ef3e35;
      --lp-color-primary-dark:   #c42d25;
      --lp-color-secondary:      #1c2b3a;
      --lp-color-accent:         #ef3e35;
      --lp-color-text:           #2c2c2c;
      --lp-color-text-muted:     #5e6b75;
      --lp-color-bg:             #ffffff;
      --lp-color-bg-section:     #f4f5f6;
      --lp-color-border:         #dde1e5;
      --lp-color-white:          #ffffff;
      --lp-font-display: Verdana, Geneva, Tahoma, sans-serif;
      --lp-font-body:    Verdana, Geneva, Tahoma, sans-serif;
      --lp-text-xs:   1.2rem;
      --lp-text-sm:   1.4rem;
      --lp-text-base: 1.6rem;
      --lp-text-lg:   1.8rem;
      --lp-text-xl:   2.0rem;
      --lp-text-2xl:  2.4rem;
      --lp-text-3xl:  3.0rem;
      --lp-text-4xl:  clamp(3.2rem, 5vw, 5.0rem);
      --lp-space-xs:  0.5rem;
      --lp-space-sm:  1.0rem;
      --lp-space-md:  1.5rem;
      --lp-space-lg:  2.4rem;
      --lp-space-xl:  4.0rem;
      --lp-space-2xl: 6.4rem;
      --lp-space-3xl: 9.6rem;
      --lp-radius-sm: 2px;
      --lp-radius-md: 4px;
      --lp-container: 1200px;
      --lp-container-padding: clamp(1.5rem, 5vw, 3rem);
      --lp-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
      --lp-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
      --lp-shadow-md: 0 4px 16px rgba(0,0,0,0.12);
    }
    html { font-size: 62.5% !important; }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body { font-family: var(--lp-font-body); font-size: 1.6rem; color: var(--lp-color-text); background: var(--lp-color-bg); line-height: 1.75; }
    h1, h2, h3, h4 { font-family: var(--lp-font-display); line-height: 1.15; color: var(--lp-color-secondary); }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    ul { list-style: none; }
    .lp-skip-link {
      position: absolute; top: -100%; left: 1.6rem;
      background: var(--lp-color-secondary); color: #fff;
      padding: 0.8rem 1.6rem; font-size: 1.4rem; font-weight: 600;
      text-decoration: none; z-index: 9999; transition: top 150ms ease-out;
    }
    .lp-skip-link:focus { top: 0; }
    :focus-visible { outline: 3px solid var(--lp-color-primary); outline-offset: 3px; }
    :focus:not(:focus-visible) { outline: none; }
    .lp-container { max-width: var(--lp-container); margin: 0 auto; padding: 0 var(--lp-container-padding); }
    .lp-section { padding: var(--lp-space-3xl) 0; }
    .lp-section--alt { background: var(--lp-color-bg-section); }
    .lp-section-tag {
      display: inline-flex; align-items: center; gap: 0.75rem;
      font-size: var(--lp-text-sm); font-weight: 600; text-transform: uppercase;
      letter-spacing: 0.12em; color: var(--lp-color-primary); margin-bottom: var(--lp-space-sm);
    }
    .lp-section-tag::before { content: ''; display: block; width: 32px; height: 1px; background: var(--lp-color-primary); }
    .lp-btn {
      display: inline-block; padding: 0.875rem 2.2rem; font-family: var(--lp-font-body);
      font-size: var(--lp-text-base); font-weight: 700;
      border-radius: var(--lp-radius-sm); cursor: pointer; border: 2px solid transparent;
      transition: background-color 160ms var(--lp-ease-out), color 160ms var(--lp-ease-out), border-color 160ms var(--lp-ease-out);
    }
    .lp-btn:active { transform: scale(0.97); }
    .lp-btn--primary { background: var(--lp-color-primary); color: #fff; }
    .lp-btn--outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,0.6); }
    .lp-btn--outline-dark { background: transparent; color: var(--lp-color-text); border: 2px solid var(--lp-color-border); }
    @media (hover: hover) and (pointer: fine) {
      .lp-btn--primary:hover { background: var(--lp-color-primary-dark); }
      .lp-btn--outline-white:hover { background: rgba(255,255,255,0.1); border-color: #fff; }
      .lp-btn--outline-dark:hover { border-color: var(--lp-color-primary); color: var(--lp-color-primary); }
    }
    .lp-nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      transition: background-color 250ms var(--lp-ease-out), box-shadow 250ms var(--lp-ease-out);
    }
    .lp-nav__inner {
      display: flex; align-items: center; justify-content: space-between;
      height: 7.2rem; gap: var(--lp-space-lg);
    }
    .lp-nav__logo { display: flex; flex-direction: column; justify-content: center; flex-shrink: 0; }
    .lp-nav__logo-text { font-family: var(--lp-font-display); font-size: 1.7rem; font-weight: 700; color: #fff; line-height: 1.1; letter-spacing: -0.02em; }
    .lp-nav__logo-sub { font-size: 1.1rem; font-weight: 400; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.1em; }
    .lp-nav__links { display: flex; align-items: center; gap: var(--lp-space-xl); }
    .lp-nav__links a { font-size: var(--lp-text-sm); font-weight: 600; color: rgba(255,255,255,0.85); text-transform: uppercase; letter-spacing: 0.08em; }
    .lp-nav__links a.lp-nav__website { color: var(--lp-color-primary); border: 1px solid rgba(239,62,53,0.5); padding: 0.4rem 1.0rem; border-radius: var(--lp-radius-sm); font-size: var(--lp-text-sm); letter-spacing: 0.04em; text-transform: none; }
    .lp-nav__cta { flex-shrink: 0; }
    @media (hover: hover) and (pointer: fine) {
      .lp-nav__links a:hover { color: #fff; }
      .lp-nav__links a.lp-nav__website:hover { background: var(--lp-color-primary); color: #fff; border-color: var(--lp-color-primary); }
    }
    .lp-nav.is-scrolled { background: var(--lp-color-secondary); box-shadow: 0 2px 12px rgba(0,0,0,0.18); }
    @media (max-width: 900px) { .lp-nav__links { display: none; } }
    .lp-hero {
      position: relative; min-height: 88vh;
      display: flex; align-items: center;
      background-size: cover; background-position: center; background-attachment: fixed;
      padding: 12rem 0 8rem;
    }
    .lp-hero__overlay { position: absolute; inset: 0; background: linear-gradient(105deg, color-mix(in srgb, var(--lp-color-secondary) 92%, transparent), color-mix(in srgb, var(--lp-color-secondary) 55%, transparent)); }
    .lp-hero__content { position: relative; z-index: 1; max-width: 70rem; }
    .lp-hero__eyebrow { display: inline-flex; align-items: center; gap: 0.75rem; font-size: var(--lp-text-sm); font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255,255,255,0.75); margin-bottom: var(--lp-space-sm); }
    .lp-hero__eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: var(--lp-color-primary); }
    .lp-hero h1 { font-size: var(--lp-text-4xl); font-weight: 700; color: #fff; line-height: 1.1; margin-bottom: var(--lp-space-md); }
    .lp-hero h1 span { color: var(--lp-color-primary); }
    .lp-hero__sub { font-size: var(--lp-text-lg); color: rgba(255,255,255,0.8); max-width: 54rem; margin-bottom: var(--lp-space-xl); line-height: 1.6; }
    .lp-hero__ctas { display: flex; gap: var(--lp-space-md); flex-wrap: wrap; margin-bottom: var(--lp-space-xl); }
    .lp-hero__trust { display: flex; gap: var(--lp-space-lg); flex-wrap: wrap; padding-top: var(--lp-space-xl); border-top: 1px solid rgba(255,255,255,0.15); }
    .lp-hero__trust-item { display: flex; align-items: center; gap: 0.8rem; font-size: var(--lp-text-sm); color: rgba(255,255,255,0.75); font-weight: 600; }
    .lp-hero__trust-item svg { color: var(--lp-color-primary); flex-shrink: 0; }
    .lp-stats { background: var(--lp-color-primary); color: #fff; padding: var(--lp-space-2xl) 0; }
    .lp-stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
    .lp-stats__item { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; padding: var(--lp-space-lg) var(--lp-space-md); border-left: 1px solid rgba(255,255,255,0.25); text-align: center; }
    .lp-stats__item:first-child { border-left: none; }
    .lp-stats__number { font-family: var(--lp-font-display); font-size: var(--lp-text-4xl); font-weight: 700; line-height: 1; }
    .lp-stats__label { font-size: var(--lp-text-sm); text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.8); font-weight: 600; }
    .lp-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lp-space-2xl); align-items: start; }
    .lp-intro__body h2 { font-size: var(--lp-text-3xl); margin-bottom: var(--lp-space-lg); }
    .lp-intro__body p { color: var(--lp-color-text-muted); margin-bottom: var(--lp-space-md); font-size: var(--lp-text-base); }
    .lp-intro__ctas { display: flex; gap: var(--lp-space-md); flex-wrap: wrap; margin-top: var(--lp-space-xl); }
    .lp-intro__trust { background: var(--lp-color-secondary); color: #fff; border-top: 3px solid var(--lp-color-primary); padding: var(--lp-space-2xl); }
    .lp-intro__trust-title { font-family: var(--lp-font-display); font-size: var(--lp-text-xl); font-weight: 700; color: #fff; margin-bottom: var(--lp-space-lg); }
    .lp-intro__trust-list { display: flex; flex-direction: column; gap: var(--lp-space-md); }
    .lp-intro__trust-item { display: flex; align-items: flex-start; gap: var(--lp-space-md); color: rgba(255,255,255,0.85); font-size: var(--lp-text-base); }
    .lp-intro__trust-icon { flex-shrink: 0; color: var(--lp-color-primary); margin-top: 0.2rem; }
    @media (max-width: 860px) { .lp-intro__grid { grid-template-columns: 1fr; } }
    .lp-services__header { margin-bottom: var(--lp-space-2xl); }
    .lp-services__header h2 { font-size: var(--lp-text-3xl); margin-top: var(--lp-space-sm); }
    .lp-services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--lp-space-lg); }
    .lp-card { background: var(--lp-color-white); border-top: 3px solid var(--lp-color-primary); box-shadow: var(--lp-shadow-sm); padding: var(--lp-space-xl); transition: box-shadow 200ms var(--lp-ease-out), transform 200ms var(--lp-ease-out); }
    .lp-card__icon { width: 4.8rem; height: 4.8rem; background: color-mix(in srgb, var(--lp-color-primary) 10%, transparent); border-radius: var(--lp-radius-md); display: flex; align-items: center; justify-content: center; color: var(--lp-color-primary); margin-bottom: var(--lp-space-lg); }
    .lp-card h3 { font-size: var(--lp-text-xl); margin-bottom: var(--lp-space-sm); color: var(--lp-color-secondary); }
    .lp-card p { font-size: var(--lp-text-base); color: var(--lp-color-text-muted); margin-bottom: var(--lp-space-md); line-height: 1.6; }
    .lp-card ul { display: flex; flex-direction: column; gap: 0.6rem; }
    .lp-card ul li { font-size: var(--lp-text-sm); color: var(--lp-color-text-muted); display: flex; align-items: flex-start; gap: 0.7rem; padding-left: 0; }
    .lp-card ul li::before { content: ''; display: block; width: 6px; height: 6px; background: var(--lp-color-primary); border-radius: 50%; flex-shrink: 0; margin-top: 0.75rem; }
    .lp-card__price { display: inline-block; margin-top: var(--lp-space-lg); font-size: var(--lp-text-sm); font-weight: 700; color: var(--lp-color-primary); border-top: 1px solid var(--lp-color-border); padding-top: var(--lp-space-md); width: 100%; }
    @media (hover: hover) and (pointer: fine) { .lp-card:hover { box-shadow: var(--lp-shadow-md); transform: translateY(-2px); } }
    @media (max-width: 900px) { .lp-services__grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 600px) { .lp-services__grid { grid-template-columns: 1fr; } }
    .lp-area__header { margin-bottom: var(--lp-space-2xl); }
    .lp-area__header h2 { font-size: var(--lp-text-3xl); margin-top: var(--lp-space-sm); }
    .lp-area__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lp-space-2xl); align-items: start; }
    .lp-area__body p { color: var(--lp-color-text-muted); margin-bottom: var(--lp-space-lg); }
    .lp-area__cities { display: flex; flex-wrap: wrap; gap: var(--lp-space-sm); }
    .lp-area__city { background: var(--lp-color-bg-section); border: 1px solid var(--lp-color-border); font-size: var(--lp-text-sm); color: var(--lp-color-text); font-weight: 600; padding: 0.5rem 1.2rem; border-radius: var(--lp-radius-sm); }
    .lp-area__map { border-radius: var(--lp-radius-md); overflow: hidden; height: 380px; box-shadow: var(--lp-shadow-md); }
    .lp-area__map iframe { width: 100%; height: 100%; border: 0; display: block; }
    @media (max-width: 860px) { .lp-area__grid { grid-template-columns: 1fr; } .lp-area__map { height: 300px; } }
    .lp-cta-banner { background: var(--lp-color-secondary); background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px); padding: var(--lp-space-3xl) 0; }
    .lp-cta-banner__inner { text-align: center; }
    .lp-cta-banner__inner h2 { font-size: var(--lp-text-3xl); color: #fff; margin-bottom: var(--lp-space-md); }
    .lp-cta-banner__inner p { font-size: var(--lp-text-lg); color: rgba(255,255,255,0.75); max-width: 52rem; margin: 0 auto var(--lp-space-xl); }
    .lp-cta-banner__buttons { display: flex; gap: var(--lp-space-md); flex-wrap: wrap; justify-content: center; }
    .lp-contact__header { margin-bottom: var(--lp-space-2xl); }
    .lp-contact__header h2 { font-size: var(--lp-text-3xl); margin-top: var(--lp-space-sm); }
    .lp-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lp-space-2xl); align-items: start; }
    .lp-contact__details { display: flex; flex-direction: column; gap: 0; }
    .lp-contact__item { display: flex; align-items: flex-start; gap: var(--lp-space-md); padding: var(--lp-space-lg) 0; border-bottom: 1px solid var(--lp-color-border); }
    .lp-contact__item:first-child { padding-top: 0; }
    .lp-contact__icon { color: var(--lp-color-primary); flex-shrink: 0; margin-top: 0.2rem; }
    .lp-contact__item div { display: flex; flex-direction: column; gap: 0.3rem; }
    .lp-contact__item strong { font-size: var(--lp-text-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--lp-color-secondary); }
    .lp-contact__item span, .lp-contact__item a { font-size: var(--lp-text-base); color: var(--lp-color-text-muted); }
    @media (hover: hover) and (pointer: fine) { .lp-contact__item a:hover { color: var(--lp-color-primary); } }
    .lp-contact__area { padding: var(--lp-space-lg) 0; border-bottom: 1px solid var(--lp-color-border); }
    .lp-contact__area strong { font-size: var(--lp-text-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--lp-color-secondary); display: block; margin-bottom: var(--lp-space-sm); }
    .lp-contact__area p { font-size: var(--lp-text-sm); color: var(--lp-color-text-muted); line-height: 1.6; }
    .lp-contact__av { padding: var(--lp-space-lg) 0; border-bottom: 1px solid var(--lp-color-border); }
    .lp-contact__av strong { font-size: var(--lp-text-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--lp-color-secondary); display: block; margin-bottom: var(--lp-space-sm); }
    .lp-contact__av a { display: inline-flex; align-items: center; gap: 0.6rem; font-size: var(--lp-text-base); color: var(--lp-color-primary); font-weight: 700; border-bottom: 1px solid rgba(239,62,53,0.3); padding-bottom: 0.1rem; }
    @media (hover: hover) and (pointer: fine) { .lp-contact__av a:hover { border-bottom-color: var(--lp-color-primary); } }
    .lp-contact__cta { margin-top: var(--lp-space-xl); }
    .lp-contact__map { border-radius: var(--lp-radius-md); overflow: hidden; height: 460px; box-shadow: var(--lp-shadow-md); }
    .lp-contact__map iframe { width: 100%; height: 100%; border: 0; display: block; }
    @media (max-width: 860px) { .lp-contact__grid { grid-template-columns: 1fr; } .lp-contact__map { height: 300px; } }
    .lp-footer { background: var(--lp-color-secondary); border-top: 3px solid var(--lp-color-primary); padding: var(--lp-space-2xl) 0 var(--lp-space-xl); }
    .lp-footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lp-space-xl); }
    .lp-footer__logo-text { font-family: var(--lp-font-display); font-size: 1.5rem; font-weight: 700; color: #fff; line-height: 1.1; }
    .lp-footer__logo-sub { font-size: 1.1rem; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.1em; display: block; margin-top: 0.3rem; }
    .lp-footer__links { display: flex; gap: var(--lp-space-xl); flex-wrap: wrap; align-items: center; }
    .lp-footer__links a { font-size: var(--lp-text-sm); color: rgba(255,255,255,0.65); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
    .lp-footer__links a.lp-footer__website { color: var(--lp-color-primary); text-transform: none; font-size: var(--lp-text-base); letter-spacing: 0; border-bottom: 1px solid rgba(239,62,53,0.4); padding-bottom: 0.1rem; }
    @media (hover: hover) and (pointer: fine) { .lp-footer__links a:hover { color: #fff; } .lp-footer__links a.lp-footer__website:hover { border-bottom-color: var(--lp-color-primary); color: #fff; } }
    .lp-footer__legal { width: 100%; font-size: var(--lp-text-xs); color: rgba(255,255,255,0.4); border-top: 1px solid rgba(255,255,255,0.1); padding-top: var(--lp-space-lg); margin-top: var(--lp-space-sm); }
    .lp-reveal { opacity: 0; transition: opacity 400ms var(--lp-ease-out), transform 400ms var(--lp-ease-out); }
    .lp-reveal--visible { opacity: 1; transform: translateY(0) !important; }
    @media (prefers-reduced-motion: no-preference) {
      .lp-reveal { transform: translateY(1.6rem); }
      .lp-animate-hero { animation: lp-hero-in 600ms var(--lp-ease-out) both; }
      @keyframes lp-hero-in { from { opacity: 0; transform: translateY(2rem); } to { opacity: 1; transform: translateY(0); } }
    }
    @media (prefers-reduced-motion: reduce) { .lp-reveal { transform: none; transition: opacity 300ms ease; } .lp-animate-hero { animation: none; } }
    @media (max-width: 700px) { .lp-section { padding: var(--lp-space-2xl) 0; } .lp-stats { padding: var(--lp-space-xl) 0; } .lp-cta-banner { padding: var(--lp-space-2xl) 0; } .lp-hero { min-height: 70vh; background-attachment: scroll; } }

/* WordPress admin bar offset */
.admin-bar .lp-nav { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .lp-nav { top: 46px; }
}

/* Force body background */
body { background-color: #ffffff !important; }

/* WP global-styles heading colour override
   (light sections: use secondary; dark sections: force white) */
h1, h2, h3, h4, h5, h6 {
  text-transform: none !important;
  color: var(--lp-color-secondary) !important;
}
.lp-hero h1,
.lp-cta-banner__inner h2 {
  color: #ffffff !important;
}
.lp-stats__number,
.lp-stats__label {
  color: #ffffff !important;
}
.lp-intro__trust-title { color: #ffffff !important; }
.lp-footer__logo-text  { color: #ffffff !important; }
