
:root {
  --lm-bg: #0D0D0D;
  --lm-surface: #161616;
  --lm-surface-2: #222222;
  --lm-accent: #E05C0A;
  --lm-accent-h: #C44E08;
  --lm-border: #2E2E2E;
  --lm-text: #F0EDE8;
  --lm-text-2: #999793;
  --lm-text-3: #5A5855;
  --fd: 'Bebas Neue', sans-serif;
  --fb: 'Inter', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: #0D0D0D !important;
  color: #F0EDE8 !important;
  font-family: 'Inter', sans-serif !important;
  margin: 0 !important; padding: 0 !important;
  -webkit-font-smoothing: antialiased;
}
.wp-site-blocks { padding: 0 !important; }
a { text-decoration: none; }

/* ── SCROLL REVEAL ──
   Elements visible by default. JS adds .lm-preload to body,
   which enables the opacity-0 initial state for animation. */
.lm-reveal { transition: opacity .5s ease, transform .5s ease; }
.lm-preload .lm-reveal:not(.visible) { opacity: 0; transform: translateY(20px); }
.lm-reveal.visible { opacity: 1 !important; transform: translateY(0) !important; }
.lm-d1 { transition-delay: .08s; }
.lm-d2 { transition-delay: .16s; }
.lm-d3 { transition-delay: .24s; }
.lm-d4 { transition-delay: .32s; }

/* ── NAV ── */
.lm-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  background: rgba(13,13,13,0.96); backdrop-filter: blur(10px);
  border-bottom: 1px solid #2E2E2E;
}
.lm-nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 32px;
  height: 68px; display: flex; align-items: center; justify-content: space-between;
}
.lm-logo { font-family: 'Bebas Neue', sans-serif !important; font-size: 22px; letter-spacing: .08em; color: #F0EDE8 !important; }
.lm-logo span { color: #E05C0A !important; }
.lm-nav-links { display: flex; gap: 32px; list-style: none; margin: 0; padding: 0; }
.lm-nav-links a { font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: #999793 !important; transition: color .2s; }
.lm-nav-links a:hover { color: #F0EDE8 !important; }
.lm-nav-cta { white-space: nowrap; font-size: 13px; font-weight: 600; background: #E05C0A !important; color: #F0EDE8 !important; padding: 10px 22px; text-transform: uppercase; letter-spacing: .06em; transition: background .2s; }
.lm-nav-cta:hover { background: #C44E08 !important; }
.lm-nav-spacer { height: 68px; }

/* ── BUTTONS ── */
.lm-btn-p {
  display: inline-block; background: #E05C0A !important; color: #F0EDE8 !important;
  font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  padding: 16px 36px; transition: background .2s, transform .15s; border: none; cursor: pointer;
}
.lm-btn-p:hover { background: #C44E08 !important; transform: translateY(-2px); }
.lm-btn-s {
  display: inline-block; background: transparent !important; color: #F0EDE8 !important;
  font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em;
  padding: 16px 36px; border: 1px solid rgba(240,237,232,.25); transition: border-color .2s;
}
.lm-btn-s:hover { border-color: #F0EDE8; }
.lm-wrap { max-width: 1200px; margin: 0 auto; width: 100%; }

/* ── HERO ── */
.lm-hero {
  min-height: 90svh; background: #0D0D0D;
  display: flex; align-items: center;
  padding: 80px 32px 64px; position: relative; overflow: hidden;
}
.lm-hero::after {
  content:''; position: absolute; top: -20%; right: -5%;
  width: 60%; height: 140%;
  background: radial-gradient(ellipse at top right, rgba(224,92,10,.07) 0%, transparent 65%);
  pointer-events: none;
}
.lm-hero-inner { max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 1; }
.lm-tag {
  display: inline-block; font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .16em; color: #E05C0A !important; border: 1px solid rgba(224,92,10,.35);
  padding: 6px 14px; margin-bottom: 28px;
}
.lm-hero h1 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(52px, 7.5vw, 96px); line-height: .95; color: #F0EDE8 !important;
  text-transform: uppercase; margin: 0 0 24px !important; letter-spacing: .01em;
}
.lm-hero h1 .ac { color: #E05C0A !important; }
.lm-hero-sub { font-size: clamp(15px, 1.8vw, 18px); color: #999793 !important; max-width: 560px; line-height: 1.7; margin: 0 0 40px !important; }
.lm-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 48px; }
.lm-trust-row { display: flex; gap: 24px; flex-wrap: wrap; padding-top: 32px; border-top: 1px solid #2E2E2E; }
.lm-trust-badge { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #999793 !important; }
.lm-trust-badge .icon { color: #E05C0A !important; font-size: 14px; }
.lm-trust-badge strong { color: #F0EDE8 !important; font-weight: 600; }
.lm-metrics { display: flex; gap: 48px; flex-wrap: wrap; padding: 32px 0; border-top: 1px solid #2E2E2E; margin-top: 32px; }
.lm-m-num {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 48px; line-height: 1; color: #F0EDE8 !important; margin-bottom: 4px;
}
.lm-m-num .pre, .lm-m-num .suf { font-size: 28px; }
.lm-m-label { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #999793 !important; }
.lm-scroll-hint { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: #5A5855 !important; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; animation: lm-bob 2s ease-in-out infinite; }
@keyframes lm-bob { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ── SECTIONS ── */
.lm-section { padding: 96px 32px; }
.lm-section-alt { background: #161616; }
.lm-section-tag { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; color: #E05C0A !important; display: block; margin-bottom: 12px; }
.lm-section-h {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(36px, 5vw, 64px); line-height: 1; color: #F0EDE8 !important;
  text-transform: uppercase; margin: 0 0 16px !important;
}
.lm-section-sub { font-size: 17px; color: #999793 !important; max-width: 580px; line-height: 1.65; margin: 0 0 56px; }

/* ── DIAGNOSTIC CARDS ── */
.lm-diag-grid {
  display: grid; grid-template-columns: repeat(2,1fr);
  gap: 1px; background: #2E2E2E; border: 1px solid #2E2E2E;
}
.lm-diag-card {
  background: #0D0D0D; padding: 40px 36px;
  display: flex; flex-direction: column;
  transition: background .2s;
}
.lm-diag-card:hover { background: rgba(224,92,10,.04); }
.lm-diag-num { font-family: 'Bebas Neue', sans-serif; font-size: 64px; line-height: 1; color: rgba(224,92,10,.12) !important; margin-bottom: 16px; }
.lm-diag-title { font-size: 16px !important; font-weight: 700 !important; color: #F0EDE8 !important; margin: 0 0 12px !important; line-height: 1.35 !important; text-transform: uppercase; letter-spacing: .02em; }
.lm-diag-text { font-size: 14px; color: #999793 !important; line-height: 1.7; margin: 0 0 auto; }
.lm-diag-resolve {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 24px; font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: #E05C0A !important; border-top: 1px solid #2E2E2E;
  padding-top: 16px; transition: gap .2s;
}

/* ── REVIEWS ── */
.lm-reviews { padding: 80px 32px; background: #161616; }
.lm-reviews-inner { max-width: 1200px; margin: 0 auto; }
.lm-rev-stat, .lm-rev-stats { display: flex; gap: 48px; flex-wrap: wrap; margin-bottom: 48px; padding-bottom: 40px; border-bottom: 1px solid #2E2E2E; }
.lm-rev-stat-num { font-family: 'Bebas Neue', sans-serif !important; font-size: 52px; line-height: 1; color: #F0EDE8 !important; }
.lm-rev-stat-label { font-size: 12px; color: #999793 !important; text-transform: uppercase; letter-spacing: .1em; margin-top: 4px; }

/* ── SERVICES GRID ── */
.lm-services-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1px; background: #2E2E2E; border: 1px solid #2E2E2E;
}
.lm-svc-card { background: #161616; padding: 32px 28px; transition: background .2s; position: relative; }
.lm-svc-card:hover { background: #222222; }
.lm-svc-num { font-family: 'Bebas Neue', sans-serif; font-size: 13px; color: #E05C0A !important; letter-spacing: .1em; margin-bottom: 12px; }
.lm-svc-title { font-size: 14px !important; font-weight: 700 !important; color: #F0EDE8 !important; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 10px !important; }
.lm-svc-desc { font-size: 13px; color: #999793 !important; line-height: 1.65; margin: 0; }

/* ── STORY ── */
.lm-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.lm-story-quote { font-family: 'Bebas Neue', sans-serif; font-size: 30px; color: #E05C0A !important; text-transform: uppercase; line-height: 1.15; margin-bottom: 28px; }
.lm-story-text { font-size: 15px; color: #999793 !important; line-height: 1.8; margin-bottom: 16px; }
.lm-result-grid, .lm-story-results { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #2E2E2E; margin-top: 40px; }
.lm-result-box { background: #161616; padding: 24px; }
.lm-result-label { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #E05C0A !important; margin-bottom: 6px; }
.lm-result-text { font-size: 20px; font-weight: 700; color: #F0EDE8 !important; }

/* ── ECOSYSTEM ── */
.lm-eco-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #2E2E2E; border: 1px solid #2E2E2E; }
.lm-eco-item { background: #161616; padding: 28px 24px; }
.lm-eco-rank { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: #E05C0A !important; margin-bottom: 8px; }
.lm-eco-title { font-size: 15px; font-weight: 700; color: #F0EDE8 !important; margin-bottom: 6px; }
.lm-eco-desc { font-size: 13px; color: #999793 !important; line-height: 1.6; margin-bottom: 12px; }
.lm-eco-price { font-size: 13px; font-weight: 600; color: #E05C0A !important; }

/* ── CTA SECTION ── */
.lm-cta-section { padding: 96px 32px; background: #161616; }
.lm-cta-inner, .lm-cta-section > div { max-width: 640px; margin: 0 auto; text-align: center; padding: 0 32px; }
.lm-cta-h { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(40px, 6vw, 72px); line-height: 1; color: #F0EDE8 !important; text-transform: uppercase; margin: 0 0 20px !important; }
.lm-cta-sub { font-size: 17px; color: #999793 !important; line-height: 1.65; margin: 0 0 40px; }
.lm-cta-trust { font-size: 13px; color: #999793 !important; margin-top: 20px; }
.lm-cta-trust strong { color: #F0EDE8 !important; }
.lm-divider, .lm-cta-divider { display: flex; align-items: center; gap: 16px; color: #5A5855 !important; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; margin: 32px 0; }
.lm-divider::before, .lm-cta-divider::before,.lm-divider::after, .lm-cta-divider::after { content:''; flex:1; height:1px; background:#2E2E2E; }
.lm-email-cta { color: #E05C0A !important; font-weight: 600; font-size: 15px; border-bottom: 1px solid rgba(224,92,10,.4); transition: border-color .2s; }
.lm-email-cta:hover { border-color: #E05C0A; }

/* ── FOOTER ── */
.lm-footer { padding: 64px 32px 40px; background: #0D0D0D; border-top: 1px solid #2E2E2E; }
.lm-footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 64px; margin-bottom: 48px; }
.lm-f-logo { font-family: 'Bebas Neue', sans-serif !important; font-size: 22px; color: #F0EDE8 !important; margin-bottom: 16px; }
.lm-f-logo span { color: #E05C0A !important; }
.lm-f-about { font-size: 14px; color: #999793 !important; line-height: 1.7; max-width: 280px; }
.lm-f-head { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: #E05C0A !important; margin-bottom: 16px; }
.lm-f-links { list-style: none; padding: 0; margin: 0; }
.lm-f-links li { margin-bottom: 10px; }
.lm-f-links a { font-size: 14px; color: #999793 !important; transition: color .2s; }
.lm-f-links a:hover { color: #F0EDE8 !important; }
.lm-f-addr { font-size: 13px; color: #999793 !important; line-height: 1.7; }
.lm-footer-bottom { max-width: 1200px; margin: 0 auto; padding-top: 24px; border-top: 1px solid #2E2E2E; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.lm-f-copy, .lm-footer-bottom p { font-size: 12px; color: #5A5855 !important; }
.lm-footer-bottom a { color: #5A5855 !important; }

/* ── STICKY MOBILE CTA ── */
.lm-sticky-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 100;
  background: #E05C0A; padding: 14px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  transform: translateY(100%); transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.lm-sticky-bar.visible { transform: translateY(0); }
.lm-sticky-bar p { font-size: 14px; font-weight: 600; color: #F0EDE8 !important; margin: 0; }
.lm-sticky-bar a { font-size: 13px; font-weight: 700; color: #F0EDE8 !important; background: rgba(0,0,0,.2); padding: 10px 20px; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .lm-hero { padding: 100px 20px 60px; }
  .lm-hero h1 { font-size: clamp(48px, 12vw, 80px); }
  .lm-section { padding: 64px 20px; }
  .lm-diag-grid { grid-template-columns: 1fr; }
  .lm-services-grid { grid-template-columns: 1fr; }
  .lm-story-grid { grid-template-columns: 1fr; gap: 40px; }
  .lm-eco-grid { grid-template-columns: 1fr 1fr; }
  .lm-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .lm-nav-links { display: none; }
  .lm-metrics { gap: 24px; }
}
@media (min-width: 901px) { .lm-sticky-bar { display: none !important; } }

/* ── CLASS ALIASES (HTML uses these names) ── */
.lm-cta-actions { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; margin-bottom: 24px; }
.lm-dba-link { color: #E05C0A !important; font-weight: 600; font-size: 13px; border-bottom: 1px solid rgba(224,92,10,.4); }
.lm-reviews-trust { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 24px; }
.lm-trust-sep { width: 1px; height: 16px; background: #2E2E2E; align-self: center; }

/* NAV DROPDOWN */
.lm-nav-has-dropdown { position: relative; }
.lm-nav-has-dropdown > a::after { content: ' ▾'; font-size: 10px; opacity: .6; }
.lm-nav-dropdown {
  position: absolute; top: calc(100% + 12px); left: -16px;
  background: #0D0D0D; border: 1px solid #2a2a2a; border-radius: 6px;
  min-width: 230px; padding: 8px 0;
  opacity: 0; visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 300; list-style: none; margin: 0;
}
.lm-nav-has-dropdown:hover .lm-nav-dropdown,
.lm-nav-has-dropdown:focus-within .lm-nav-dropdown {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.lm-nav-dropdown li a {
  display: block; padding: 9px 20px;
  color: #999793 !important; font-size: 13px; font-weight: 500;
  text-transform: none !important; letter-spacing: 0 !important;
  white-space: nowrap; transition: color .15s, background .15s;
}
.lm-nav-dropdown li a:hover { color: #E05C0A !important; background: #1a1a1a; }

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

/* Linked service cards */
a.lm-svc-card { display: block; text-decoration: none !important; cursor: pointer; }
a.lm-svc-card:hover { background: #222222; }

/* Service area grid */
.lm-area-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 32px; }
.lm-area-link { display: block; padding: 12px 16px; background: #161616; border: 1px solid #2a2a2a; border-radius: 4px; color: #999793 !important; font-size: 13px; font-weight: 500; text-decoration: none !important; transition: background .2s, color .2s, border-color .2s; }
.lm-area-link:hover { background: #1e1e1e; color: #F0EDE8 !important; border-color: #E05C0A; }
@media (max-width: 900px) { .lm-area-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px) { .lm-area-grid { grid-template-columns: 1fr 1fr; } }
