/* ============================================================================
   LEGACY SALES ENGINEERING - SITE STYLESHEET
   Consolidated 2026-09-04 from nine Elementor Custom Code snippets that
   were previously inlined into <head> on every page:
     5616  anim fix        6389  lion accents     6393  components v3
     5666  design system   6391  header fit       6497  CTA global
     6364  accents v2      6392  topbar icons     6522  legal pages
   Order preserved from the original snippet priority. Rules are unchanged.
   Served as one cached file instead of ~48 KB re-parsed on every page view.
   ============================================================================ */


/* ============================================================================
   [5616] LSE - FIX: reveal content stuck hidden by broken entrance animations
   ============================================================================ */
/* Elementor hides any element with an entrance animation using
   .elementor-invisible { visibility:hidden } and relies on jQuery Waypoints
   to remove it on scroll. Waypoints is NOT loading on this site
   (window.jQuery.fn.waypoint === undefined), so the class is never removed and
   the content stays hidden forever. Confirmed on the footer (4 columns, 521px
   of blank space) and present on all 22 published pages.
   Forcing visibility costs nothing here because no animation was ever running. */
.elementor-invisible{
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}


/* ============================================================================
   [5666] LEGACY SALES ENGINEERING - DESIGN SYSTEM v1
   Consolidated 2026-08-07. Replaces 18 stacked snippets (5610-5664).
   Values here are the RESOLVED end state, not an override chain.

   SECTIONS
     0  global fixes        1  palette
     2  portable patterns   3  header      4  footer
     5  home page structure 6  responsive
   ============================================================================ */

/* ---------- 0. GLOBAL FIXES ------------------------------------------------
   Elementor hides entrance-animated elements with .elementor-invisible and
   relies on jQuery Waypoints to remove it. Waypoints does not load on this
   site, so content stayed hidden permanently (whole footer, 56 elements on
   /services/). Costs nothing to force: no animation was ever running.        */
.elementor-invisible{
  visibility:visible !important; opacity:1 !important; animation:none !important;
}

/* ---------- 1. PALETTE ----------------------------------------------------
   Sampled from the 2026 logo. Raw values are FILLS only: as text on dark they
   fail AA (orange 3.91:1, teal 4.25:1 on #232229). *-ink are +14% lifts.     */
:root{
  --lse-orange:#DF4C2D;     --lse-orange-ink:#E3654A;  --lse-orange-hi:#EC7A5E;
  --lse-teal:#0190B5;       --lse-teal-ink:#25A0BF;    --lse-teal-hi:#43ADC8;
  --lse-ink:#141318;        --lse-surface-1:#1E1D23;   --lse-surface-2:#232229;
  --lse-line:#2E2D36;       --lse-fg:#E9E9E9;          --lse-fg-2:#B9B9C0;
  --lse-fg-3:#8A8994;
}

/* ---------- 2. PORTABLE PATTERNS ------------------------------------------
   Widget-level classes. Reusable on any page. Container classes are NOT used
   because Elementor stores but never renders _css_classes on containers.     */

/* eyebrow label, two variants: .lse-eyebrow on a heading widget,
   .lse-eyebrow-x inside raw HTML widgets */
.lse-eyebrow .elementor-heading-title,
.lse-eyebrow-x{
  font-size:13px !important; letter-spacing:.18em !important; line-height:1.4 !important;
  text-transform:uppercase !important; color:var(--lse-teal-ink) !important;
  display:flex; align-items:center; gap:12px;
}
.lse-eyebrow-x{ font-family:"Antonio",sans-serif; font-weight:700; margin-bottom:20px }
.lse-eyebrow .elementor-heading-title::before,
.lse-eyebrow-x::before{
  content:""; width:28px; height:2px; background:var(--lse-teal-ink); flex:none;
}

/* H1 with an outlined second line. Fallback colour FIRST so it can never
   render invisible where -webkit-text-stroke is unsupported. */
.lse-h1 .elementor-heading-title{ margin-bottom:-10px }
.lse-out{ color:var(--lse-orange-ink); display:block }
@supports (-webkit-text-stroke: 1px black){
  .lse-out{ -webkit-text-stroke:1.6px var(--lse-orange-ink); color:transparent }
}

/* stat pair */
.lse-statn .elementor-heading-title{
  font-family:"Antonio",sans-serif !important; font-weight:700 !important;
  font-size:48px !important; line-height:1 !important; letter-spacing:0 !important;
}
.lse-statl .elementor-heading-title{
  font-size:12.5px !important; letter-spacing:.11em !important;
  text-transform:uppercase !important; line-height:1.5 !important;
}

/* numbered list row (icon-box repurposed) */
.lse-item{ padding:30px 0; border-top:1px solid var(--lse-line) }
.lse-item:last-child{ border-bottom:1px solid var(--lse-line) }
.lse-item .elementor-icon-box-icon{ display:none !important }
.lse-item .elementor-icon-box-title{
  font-size:26px !important; line-height:1.28 !important; color:var(--lse-fg) !important;
  text-transform:none !important; letter-spacing:0 !important; margin-bottom:8px !important;
}
.lse-item .elementor-icon-box-description{
  font-size:19px !important; line-height:1.6 !important; color:var(--lse-fg-2) !important;
}
.lse-num{
  font-family:"Antonio",sans-serif; font-weight:700; font-size:36px; line-height:1;
  letter-spacing:.01em; margin-right:18px; display:inline-block; vertical-align:-2px;
  color:var(--lse-teal-ink);
}

/* card */
.lse-cardh .elementor-heading-title{
  font-size:23px !important; line-height:1.25 !important;
  text-transform:none !important; letter-spacing:0 !important;
}
.lse-kicker .elementor-heading-title{
  font-size:12.5px !important; letter-spacing:.18em !important;
  text-transform:uppercase !important; font-weight:700 !important; line-height:1.4 !important;
}
.lse-cardp p{ font-size:15px !important; margin:0 }

/* oversized proof numeral + pull quote */
.lse-huge .elementor-heading-title{
  font-family:"Antonio",sans-serif !important; font-weight:700 !important;
  font-size:clamp(80px,11vw,170px) !important; line-height:.85 !important;
  letter-spacing:-.01em !important; color:var(--lse-orange-ink) !important;
}
.lse-quote .elementor-heading-title{
  font-family:"Antonio",sans-serif !important; font-weight:600 !important;
  font-size:clamp(21px,2.2vw,30px) !important; line-height:1.4 !important;
  text-transform:none !important; letter-spacing:0 !important;
}

/* AEO summary block - required first body paragraph */
.lse-aeo-block p{
  font-size:23px !important; line-height:1.6 !important; color:var(--lse-fg) !important;
  max-width:74ch; margin:0; padding-left:22px; border-left:3px solid var(--lse-teal-ink);
}

/* long-form prose + FAQ */
.lse-prose h2,.lse-faqwrap h2,.lse-plan h2{ color:var(--lse-fg); margin-bottom:14px }
.lse-prose h3,.lse-faqwrap h3{
  color:var(--lse-fg); font-size:21px !important; line-height:1.3 !important;
  text-transform:none !important; letter-spacing:0 !important; margin:0 0 10px;
}
.lse-prose p,.lse-faqwrap p{
  color:var(--lse-fg-2); font-size:16px; line-height:1.7; margin:0 0 16px; max-width:68ch;
}
.lse-prose a,.lse-faqwrap a{
  color:var(--lse-teal-ink); text-decoration:none; border-bottom:1px solid rgba(37,160,191,.4);
}
.lse-prose a:hover,.lse-faqwrap a:hover{ color:var(--lse-fg); border-bottom-color:var(--lse-fg) }
.lse-prose-head{ max-width:60ch; margin-bottom:52px }
.lse-prose-cols{ display:grid; grid-template-columns:1fr 1fr; gap:56px }
.lse-area{ margin-top:56px; padding-top:36px; border-top:1px solid var(--lse-line) }
.lse-area p{ max-width:80ch }
.lse-faq-list{ margin-top:46px; display:grid; grid-template-columns:1fr 1fr; gap:12px 56px }
.lse-q{ padding:26px 0; border-top:1px solid var(--lse-line) }

/* three-step plan */
.lse-plan-head{ max-width:60ch; margin-bottom:56px }
.lse-plan-lede{ font-size:19px !important; line-height:1.6 !important; color:var(--lse-fg-2) !important; margin:0 }
.lse-plan-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:44px }
.lse-step{ padding-top:26px; border-top:1px solid var(--lse-line) }
.lse-step-n{
  font-family:"Antonio",sans-serif; font-size:12.5px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:var(--lse-teal-ink); margin-bottom:14px;
}
.lse-step h3{
  color:var(--lse-fg); font-size:22px !important; line-height:1.3 !important;
  text-transform:none !important; letter-spacing:0 !important; margin:0 0 14px;
}
.lse-step p{ color:var(--lse-fg-2); font-size:16px; line-height:1.7; margin:0 0 14px }

/* ---------- 3. HEADER (template 4809, all pages) -------------------------- */
/* Contact is the last top-level item; HFE strips menu-item-<id> classes */
.elementor-element-5235ec91 ul.hfe-nav-menu > li:last-child > a.hfe-menu-item{
  color:var(--lse-teal-ink) !important;
}
.elementor-element-5235ec91 ul.hfe-nav-menu > li:last-child > a.hfe-menu-item:hover,
.elementor-element-5235ec91 ul.hfe-nav-menu > li:last-child > a.hfe-menu-item:focus{
  color:var(--lse-teal-hi) !important;
}
/* tel: / mailto: affordance + comfortable tap target */
.elementor-element-5797777e a,.elementor-element-72cc81eb a{
  cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; min-height:32px;
}
.elementor-element-5797777e a:hover .elementor-icon-box-title,
.elementor-element-72cc81eb a:hover .elementor-icon-box-title,
.elementor-element-5797777e a:focus-visible .elementor-icon-box-title,
.elementor-element-72cc81eb a:focus-visible .elementor-icon-box-title{
  text-decoration:underline; text-underline-offset:3px;
}
/* social-icons widget ignores icon_secondary_color; force it */
.elementor-element-5b5fbdc6 .elementor-social-icon,
.elementor-element-5b5fbdc6 .elementor-social-icon i,
.elementor-element-5b5fbdc6 .elementor-social-icon svg,
.elementor-element-5b5fbdc6 .elementor-social-icon path{
  color:var(--lse-orange) !important; fill:var(--lse-orange) !important;
}
.elementor-element-5b5fbdc6 .elementor-social-icon{ background-color:var(--lse-ink) !important }
.elementor-element-5b5fbdc6 .elementor-social-icon:hover{ background-color:var(--lse-teal) !important }
.elementor-element-5b5fbdc6 .elementor-social-icon:hover i,
.elementor-element-5b5fbdc6 .elementor-social-icon:hover svg,
.elementor-element-5b5fbdc6 .elementor-social-icon:hover path{
  color:var(--lse-fg) !important; fill:var(--lse-fg) !important;
}

/* ---------- 4. FOOTER (template 4813, all pages) -------------------------- */
.elementor-element-1b25336f > .elementor-widget-wrap{
  flex-direction:row !important; flex-wrap:nowrap; align-items:flex-start; gap:88px;
}
.elementor-element-351305d7{ flex:0 0 240px; width:240px; align-self:flex-start }
.elementor-element-3c5fc1d0{ flex:1 1 auto; width:auto !important }
.elementor-element-281d435 .elementor-heading-title,
.elementor-element-6dc129a2 .elementor-heading-title,
.elementor-element-4367abc1 .elementor-heading-title{
  font-size:12.5px !important; letter-spacing:.18em !important; text-transform:uppercase !important;
  font-weight:700 !important; color:var(--lse-fg-3) !important; margin-bottom:20px !important;
  line-height:1.4 !important;
}
.elementor-element-784fe2c .elementor-icon-list-text,
.elementor-element-53faa390 .elementor-icon-list-text,
.elementor-element-141fedcf .elementor-icon-list-text{
  color:var(--lse-fg-2) !important; font-size:15px !important; transition:color .2s ease;
}
.elementor-element-784fe2c a:hover .elementor-icon-list-text,
.elementor-element-53faa390 a:hover .elementor-icon-list-text,
.elementor-element-141fedcf a:hover .elementor-icon-list-text{ color:var(--lse-teal-ink) !important }
.elementor-element-784fe2c .elementor-icon-list-item,
.elementor-element-53faa390 .elementor-icon-list-item,
.elementor-element-141fedcf .elementor-icon-list-item{ margin-bottom:11px !important }
.elementor-element-784fe2c .elementor-icon-list-icon i,
.elementor-element-53faa390 .elementor-icon-list-icon i,
.elementor-element-141fedcf .elementor-icon-list-icon i{ color:#4A4954 !important }
/* bottom bar sits on a solid teal band, so everything on it is dark ink */
.elementor-element-98a82b{ border-top:none !important; margin-top:56px; padding-top:0 !important }
.elementor-element-98a82b > .elementor-container{
  display:flex !important; justify-content:space-between !important;
  align-items:center !important; flex-wrap:nowrap; padding:20px 0 !important;
}
.elementor-element-6d9ef8a4{ order:1; width:auto !important; flex:1 1 auto }
.elementor-element-3344347c{ order:2; width:auto !important; flex:0 0 auto }
.elementor-element-5ac59ce0{ order:3; width:auto !important; flex:0 0 auto; margin-left:26px }
.elementor-element-34ce1cc5 .elementor-heading-title{
  font-size:13px !important; color:var(--lse-ink) !important; letter-spacing:.04em !important;
  text-transform:none !important; font-weight:600 !important;
}
.elementor-element-119c5fff .elementor-social-icon,
.elementor-element-119c5fff .elementor-social-icon i,
.elementor-element-119c5fff .elementor-social-icon svg{
  color:var(--lse-ink) !important; fill:var(--lse-ink) !important; background-color:transparent !important;
}
.elementor-element-119c5fff .elementor-social-icon:hover,
.elementor-element-119c5fff .elementor-social-icon:hover i{ color:#FFF !important; fill:#FFF !important }
.elementor-element-5e383ec9 .elementor-icon{ color:var(--lse-ink) !important; font-size:16px }
.elementor-element-5e383ec9 .elementor-icon:hover{ color:#FFF !important }

/* ---------- 5. HOME PAGE STRUCTURE (post 5601) ---------------------------- */
/* hero: containers render the overlay as ::before, not a child div */
.elementor-5601 .elementor-element-591c8bb::before{
  background-color:transparent !important;
  background-image:linear-gradient(100deg,
    rgba(20,19,24,.93) 0%, rgba(20,19,24,.88) 45%,
    rgba(20,19,24,.45) 78%, rgba(20,19,24,.62) 100%) !important;
  opacity:1 !important;
}
/* stat rail overlapping the hero */
.elementor-5601 .elementor-element-e01fc59{ position:relative; overflow:hidden }
.elementor-5601 .elementor-element-e7ac024,
.elementor-5601 .elementor-element-5a062c7,
.elementor-5601 .elementor-element-5e9de74{ border-left:1px solid var(--lse-line) }
/* "the gap": heading centred beside the list, everything left-aligned */
.elementor-5601 .elementor-element-6a3f3cd{ position:static !important; align-self:center !important }
.elementor-5601 .elementor-element-6a3f3cd,
.elementor-5601 .elementor-element-6a3f3cd .elementor-widget-container,
.elementor-5601 .elementor-element-c7d78dc,
.elementor-5601 .elementor-element-c7d78dc .elementor-widget-container,
.elementor-5601 .lse-item .elementor-icon-box-wrapper,
.elementor-5601 .lse-item .elementor-icon-box-content{ text-align:left !important }
.elementor-5601 .elementor-element-c7d78dc > .lse-item{
  width:100% !important; max-width:100% !important; align-self:stretch !important;
}
.elementor-5601 .elementor-element-6a3f3cd .lse-lede p{
  font-size:21px !important; line-height:1.55 !important; color:var(--lse-fg-2) !important; max-width:34ch;
}
/* feature panel pulled over the photo */
.elementor-5601 .elementor-element-f78b2d1{ border-left:3px solid var(--lse-teal); z-index:3 }
/* service cards */
.elementor-5601 .elementor-element-c043e7d,
.elementor-5601 .elementor-element-b11b56b,
.elementor-5601 .elementor-element-8d48f91,
.elementor-5601 .elementor-element-dd142fc,
.elementor-5601 .elementor-element-2e07a19{
  border-color:var(--lse-line) !important; border-width:1px !important; border-style:solid !important;
  transition:transform .25s ease, border-color .25s ease;
}
.elementor-5601 .elementor-element-c043e7d:hover,
.elementor-5601 .elementor-element-b11b56b:hover,
.elementor-5601 .elementor-element-8d48f91:hover,
.elementor-5601 .elementor-element-dd142fc:hover,
.elementor-5601 .elementor-element-2e07a19:hover{
  transform:translateY(-4px); border-color:var(--lse-teal-ink) !important;
}
.elementor-5601 .elementor-element-c043e7d .lse-cardh .elementor-heading-title,
.elementor-5601 .elementor-element-b11b56b .lse-cardh .elementor-heading-title{
  font-size:27px !important; line-height:1.22 !important;
}
.elementor-5601 .elementor-element-c043e7d .lse-kicker .elementor-heading-title,
.elementor-5601 .elementor-element-8d48f91 .lse-kicker .elementor-heading-title,
.elementor-5601 .elementor-element-2e07a19 .lse-kicker .elementor-heading-title{ color:var(--lse-teal-ink) !important }
.elementor-5601 .elementor-element-b11b56b .lse-kicker .elementor-heading-title,
.elementor-5601 .elementor-element-dd142fc .lse-kicker .elementor-heading-title{ color:var(--lse-orange-ink) !important }
/* closing CTA diagonal */
.elementor-5601 .elementor-element-da61ec1{ clip-path:polygon(13% 0,100% 0,100% 100%,0 100%) }

/* ---------- 6. RESPONSIVE ------------------------------------------------- */
@media (max-width:1024px){
  .lse-prose-cols,.lse-faq-list{ grid-template-columns:1fr; gap:34px }
  .lse-plan-steps{ grid-template-columns:1fr; gap:0 }
  .lse-step{ margin-bottom:34px }
  .lse-aeo-block p{ font-size:20px !important }
  .lse-num{ font-size:31px }
  .lse-item .elementor-icon-box-title{ font-size:23px !important }
  .lse-item .elementor-icon-box-description{ font-size:17px !important }
  .lse-statn .elementor-heading-title{ font-size:42px !important }
  .elementor-5601 .elementor-element-6a3f3cd .lse-lede p{ font-size:19px !important; max-width:none }
  .elementor-5601 .elementor-element-6a3f3cd,
  .elementor-5601 .elementor-element-c7d78dc,
  .elementor-5601 .elementor-element-7d9d3cd,
  .elementor-5601 .elementor-element-7eefdab,
  .elementor-5601 .elementor-element-3cb8c34,
  .elementor-5601 .elementor-element-f78b2d1,
  .elementor-5601 .elementor-element-926f4bd,
  .elementor-5601 .elementor-element-da61ec1,
  .elementor-5601 .elementor-element-c043e7d,
  .elementor-5601 .elementor-element-b11b56b,
  .elementor-5601 .elementor-element-5953132{ --width:100% !important }
  .elementor-5601 .elementor-element-f78b2d1{ margin-left:0 !important; border-left:0; border-top:3px solid var(--lse-teal) }
  .elementor-5601 .elementor-element-6a3f3cd{ align-self:flex-start !important }
  .elementor-5601 .elementor-element-da61ec1{ clip-path:none; min-height:320px }
  .elementor-5601 .elementor-element-e01fc59{ flex-wrap:wrap }
  .elementor-5601 .elementor-element-6a28fc0,
  .elementor-5601 .elementor-element-e7ac024,
  .elementor-5601 .elementor-element-5a062c7,
  .elementor-5601 .elementor-element-5e9de74{ --width:50% !important }
  .elementor-5601 .elementor-element-5a062c7{ border-left:none }
  .elementor-5601 .elementor-element-5a062c7,
  .elementor-5601 .elementor-element-5e9de74{ border-top:1px solid var(--lse-line) }
  .elementor-5601 .elementor-element-c043e7d .lse-cardh .elementor-heading-title,
  .elementor-5601 .elementor-element-b11b56b .lse-cardh .elementor-heading-title{ font-size:24px !important }
  .elementor-element-1b25336f > .elementor-widget-wrap{ gap:56px }
  .elementor-element-351305d7{ flex:0 0 200px; width:200px }
}
@media (max-width:767px){
  .elementor-5601 .elementor-element-591c8bb::before{
    background-image:linear-gradient(180deg, rgba(20,19,24,.70), rgba(20,19,24,.92)) !important;
  }
  .elementor-5601 .elementor-element-e01fc59{ margin-top:-50px !important }
  .elementor-5601 .elementor-element-6a28fc0,
  .elementor-5601 .elementor-element-e7ac024,
  .elementor-5601 .elementor-element-5a062c7,
  .elementor-5601 .elementor-element-5e9de74{ --width:100% !important; border-left:none !important }
  .elementor-5601 .elementor-element-e7ac024,
  .elementor-5601 .elementor-element-5a062c7,
  .elementor-5601 .elementor-element-5e9de74{ border-top:1px solid var(--lse-line) }
  .elementor-5601 .elementor-element-8d48f91,
  .elementor-5601 .elementor-element-dd142fc,
  .elementor-5601 .elementor-element-2e07a19{ --width:100% !important }
  .elementor-5601 .elementor-element-f78b2d1{ padding:48px 26px !important }
  .elementor-5601 .elementor-element-926f4bd{ padding:70px 26px !important }
  .lse-statn .elementor-heading-title{ font-size:34px !important }
  .lse-num{ font-size:28px; margin-right:14px }
  .lse-item .elementor-icon-box-title{ font-size:21px !important }
  .lse-aeo-block p{ font-size:18px !important; padding-left:16px }
  .elementor-element-1b25336f > .elementor-widget-wrap{ flex-direction:column !important; gap:36px }
  .elementor-element-351305d7{ flex:none; width:100% }
  .elementor-element-98a82b > .elementor-container{ flex-wrap:wrap; justify-content:center !important; gap:18px }
  .elementor-element-6d9ef8a4{ flex:0 0 100%; text-align:center }
  .elementor-element-5ac59ce0{ margin-left:0 }
}


/* ============================================================================
   [6364] LSE DESIGN SYSTEM v2 - colour accents + client work cards
   Loads AFTER snippet 5666 (priority 6 vs 5). Additive only.
   ============================================================================ */

/* ---------- 1. SECTION HEADING ACCENT RULE ---------------- */
.lse-prose > h2,
.lse-prose-head > h2,
.lse-plan-head > h2,
.lse-faqwrap > h2,
.lse-plan > h2 {
  position: relative;
  padding-top: 22px;
}
.lse-prose > h2::before,
.lse-prose-head > h2::before,
.lse-plan-head > h2::before,
.lse-faqwrap > h2::before,
.lse-plan > h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 46px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--lse-orange) 0%, var(--lse-orange) 58%, var(--lse-teal) 58%, var(--lse-teal) 100%);
}
.e-con:nth-of-type(even) .lse-prose > h2::before,
.e-con:nth-of-type(even) .lse-prose-head > h2::before,
.e-con:nth-of-type(even) .lse-plan-head > h2::before,
.e-con:nth-of-type(even) .lse-faqwrap > h2::before {
  background: linear-gradient(90deg, var(--lse-teal) 0%, var(--lse-teal) 58%, var(--lse-orange) 58%, var(--lse-orange) 100%);
}

/* ---------- 2. NUMBERED ROWS ------------------------------ */
.lse-item:nth-of-type(odd) .lse-num  { color: var(--lse-orange-ink); }
.lse-item:nth-of-type(even) .lse-num { color: var(--lse-teal-ink); }
.lse-item { transition: border-color .2s ease; }
.lse-item:hover { border-top-color: var(--lse-orange); }

/* ---------- 3. THREE-STEP PLAN ---------------------------- */
.lse-plan-steps .lse-step { border-top-width: 2px; }
.lse-plan-steps .lse-step:nth-child(1) { border-top-color: var(--lse-orange); }
.lse-plan-steps .lse-step:nth-child(2) { border-top-color: var(--lse-teal); }
.lse-plan-steps .lse-step:nth-child(3) { border-top-color: var(--lse-orange-hi); }
.lse-plan-steps .lse-step:nth-child(1) .lse-step-n { color: var(--lse-orange-ink); }
.lse-plan-steps .lse-step:nth-child(2) .lse-step-n { color: var(--lse-teal-ink); }
.lse-plan-steps .lse-step:nth-child(3) .lse-step-n { color: var(--lse-orange-hi); }

/* ---------- 4. AEO BLOCK ---------------------------------- */
.lse-aeo-block p {
  background: linear-gradient(90deg, rgba(1,144,181,.10) 0%, rgba(1,144,181,0) 72%);
  padding: 20px 24px 20px 22px !important;
  border-radius: 0 10px 10px 0;
}

/* ---------- 5. FAQ ---------------------------------------- */
.lse-faq-list .lse-q:nth-child(odd)  { border-top-color: rgba(223,76,45,.42); }
.lse-faq-list .lse-q:nth-child(even) { border-top-color: rgba(1,144,181,.42); }
.lse-faqwrap h3 { position: relative; padding-left: 20px; }
.lse-faqwrap h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .48em;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: var(--lse-teal);
}
.lse-faq-list .lse-q:nth-child(odd) h3::before { background: var(--lse-orange); }

/* ---------- 6. CLOSING RULE ------------------------------- */
.lse-area {
  border-top: 2px solid transparent !important;
  border-image: linear-gradient(90deg, var(--lse-orange), var(--lse-teal)) 1;
}

/* ---------- 7. STATS ------------------------------------- */
.lse-statn .elementor-heading-title { color: var(--lse-orange-ink) !important; }
.lse-statl .elementor-heading-title { color: var(--lse-fg-3) !important; }

/* ---------- 8. CLIENT WORK CARDS -------------------------- */
.lse-work-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lse-work-grid > li { margin: 0; padding: 0; }

.lse-work {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--lse-surface-2);
  border: 1px solid var(--lse-line);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease;
}
.lse-work:hover { border-color: var(--lse-teal); transform: translateY(-3px); }
.lse-work:nth-child(even):hover { border-color: var(--lse-orange); }

.lse-work-chrome {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 14px;
  background: #17161b;
  border-bottom: 1px solid var(--lse-line);
}
.lse-work-chrome i {
  width: 10px; height: 10px; border-radius: 50%;
  background: #34333b; flex: 0 0 auto; display: block;
}
.lse-work-chrome i:first-child { background: var(--lse-orange); }
.lse-work-chrome i:nth-child(2) { background: #4a4954; }
.lse-work-chrome i:nth-child(3) { background: var(--lse-teal); }
.lse-work-url {
  flex: 1 1 auto;
  margin-left: 6px;
  padding: 5px 12px;
  border-radius: 6px;
  background: #0f0e12;
  color: var(--lse-fg-3);
  font: 500 11.5px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .02em;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lse-work-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #0f0e12;
}

/* the poster: a real, indexable img that paints instantly */
.lse-work-shot {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  z-index: 2;
  transition: opacity .45s ease;
}
.lse-work-stage.is-live .lse-work-shot { opacity: 0; }

/* the live frame sits underneath and is revealed when it finishes loading.
   400% + scale(.25) gives it a ~1400px desktop viewport at any card width.
   max-width/max-height must be unset: the theme caps every iframe at 100%. */
.lse-work-stage iframe {
  position: absolute;
  top: 0; left: 0;
  width: 400% !important;
  height: 400% !important;
  max-width: none !important;
  max-height: none !important;
  border: 0;
  z-index: 1;
  transform: scale(.25);
  transform-origin: 0 0;
  pointer-events: none;
  background: #fff;
}

.lse-work-stage::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 74px;
  z-index: 3;
  background: linear-gradient(180deg, rgba(30,29,35,0) 0%, rgba(30,29,35,.92) 100%);
  pointer-events: none;
}

.lse-work-live {
  position: absolute;
  z-index: 4;
  right: 12px;
  bottom: 12px;
  display: none;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 20px;
  background: rgba(15,14,18,.82);
  font: 700 9.5px/1 "Antonio", sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--lse-teal-ink);
  pointer-events: none;
}
.lse-work-stage.is-live .lse-work-live { display: flex; }
.lse-work-live::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--lse-teal);
}

.lse-work-meta { padding: 20px 22px 22px; }
.lse-work-meta h3 {
  margin: 0 0 6px;
  color: var(--lse-fg) !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.lse-work-tag {
  display: block;
  margin-bottom: 10px;
  font: 700 11.5px/1.4 "Antonio", sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--lse-teal-ink);
}
.lse-work:nth-child(even) .lse-work-tag { color: var(--lse-orange-ink); }
.lse-work-meta p {
  margin: 0;
  color: var(--lse-fg-2);
  font-size: 15px;
  line-height: 1.6;
}
.lse-work-go {
  position: absolute;
  inset: 0;
  z-index: 5;
  text-indent: -9999px;
  overflow: hidden;
  border: 0 !important;
}
.lse-work-go:focus-visible { outline: 3px solid var(--lse-teal); outline-offset: 3px; }

/* compact three-up strip used on Home and Website Development */
.lse-work-strip .lse-work-stage { aspect-ratio: 16 / 10; }
.lse-work-strip .lse-work-meta { padding: 16px 18px 18px; }
.lse-work-strip .lse-work-meta h3 { font-size: 17px !important; }
.lse-work-strip .lse-work-meta p { display: none; }

@media (max-width: 767px) {
  .lse-work-grid { grid-template-columns: 1fr; gap: 22px; }
  .lse-work-stage { aspect-ratio: 5 / 4; }
  .lse-prose > h2, .lse-prose-head > h2, .lse-plan-head > h2, .lse-faqwrap > h2 { padding-top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .lse-work, .lse-item, .lse-work-shot { transition: none; }
  .lse-work:hover { transform: none; }
}


/* ============================================================================
   [6389] LSE - the lion as a site-wide accent.
   Purely decorative: everything here is a background-image or a
   ::before/::after, so nothing enters the accessibility tree and
   no page markup has to change.
   ============================================================================ */

:root {
  --lse-lion: url("https://legacysaleseng.com/wp-content/uploads/2026/08/lse-lion.png");
  --lse-lion-wm: url("https://legacysaleseng.com/wp-content/uploads/2026/08/lse-lion-watermark.png");
}

/* ---------- 1. WATERMARK BESIDE THE PLAN HEADING ----------- */
/* .lse-plan-head is capped at 60ch, so the space to its right is empty.
   Anchoring to that box keeps the mark clear of the step columns below. */
.lse-plan-head {
  position: relative;
}
.lse-plan-head::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 100%;
  margin-left: 48px;
  top: 50%;
  transform: translateY(-50%);
  width: 330px;
  height: 342px;
  background: var(--lse-lion-wm) no-repeat center / contain;
  opacity: .075;
  pointer-events: none;
}

/* ---------- 2. WATERMARK BESIDE THE CLOSING PROSE ---------- */
/* .lse-area p is capped at 80ch, same idea. */
.lse-area {
  position: relative;
}
.lse-area::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 250px;
  height: 259px;
  background: var(--lse-lion-wm) no-repeat center / contain;
  opacity: .055;
  pointer-events: none;
}
.lse-area > * { position: relative; z-index: 1; }

/* ---------- 3. HERO EYEBROW GETS THE MARK ------------------ */
/* The eyebrow is display:flex with a 28x2 dash as ::before. Only the
   first container on a page swaps that dash for the lion, so each page
   is stamped once rather than every section wearing a tiny lion. */
.e-con:first-of-type .lse-eyebrow-x::before,
.e-con:first-of-type .lse-eyebrow .elementor-heading-title::before {
  width: 24px !important;
  height: 24px !important;
  background: var(--lse-lion) no-repeat center / contain !important;
  border-radius: 0 !important;
}

/* ---------- 4. SECTION DIVIDER STAMP (opt-in) -------------- */
.lse-lion-rule {
  position: relative;
  height: 1px;
  margin: 64px 0;
  background: var(--lse-line);
  border: 0;
}
.lse-lion-rule::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
  background: var(--lse-surface-1) var(--lse-lion) no-repeat center / 34px 34px;
  border-radius: 50%;
  box-shadow: 0 0 0 8px var(--lse-surface-1);
}

/* ---------- 5. UTILITY MARK (opt-in) ----------------------- */
.lse-lion-mark {
  display: inline-block;
  width: 34px;
  height: 34px;
  background: var(--lse-lion) no-repeat center / contain;
  vertical-align: middle;
}
.lse-lion-mark--lg { width: 72px; height: 72px; }

/* ---------- 6. CLIENT WORK CARD HOVER STAMP ---------------- */
.lse-work-meta { position: relative; }
.lse-work-meta::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 14px;
  width: 30px;
  height: 30px;
  background: var(--lse-lion) no-repeat center / contain;
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}
.lse-work:hover .lse-work-meta::after { opacity: .28; }

@media (max-width: 1200px) {
  .lse-plan-head::after { width: 240px; height: 249px; margin-left: 24px; opacity: .06; }
  .lse-area::after { width: 180px; height: 187px; opacity: .05; }
}
@media (max-width: 900px) {
  .lse-plan-head::after,
  .lse-area::after,
  .lse-work-meta::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lse-work-meta::after { transition: none; }
}


/* ============================================================================
   [6391] LSE - keep the header navigation on ONE line.
   Adding "Client Work" pushed the menu to 849px inside an
   798px column, so "Contact" wrapped to a second row.

   NOTE: top-level items WITH a dropdown use a.hfe-sub-menu-item,
   not a.hfe-menu-item. Both must be targeted or Services,
   Training and Resources keep their wider padding.
   ============================================================================ */

.elementor-element-5235ec91 ul.hfe-nav-menu {
  flex-wrap: nowrap !important;
  justify-content: flex-end;
  align-items: center;
}
.elementor-element-5235ec91 ul.hfe-nav-menu > li {
  flex: 0 0 auto;
}
.elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-menu-item,
.elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-sub-menu-item {
  white-space: nowrap !important;
}

/* ---- desktop: 1400px and up -------------------------------- */
@media (min-width: 1400px) {
  .elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-menu-item,
  .elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-sub-menu-item {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
}

/* ---- 1200 to 1399 ------------------------------------------ */
@media (min-width: 1200px) and (max-width: 1399px) {
  .elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-menu-item,
  .elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-sub-menu-item {
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: 16px !important;
  }
}

/* ---- 1025 to 1199, the tightest desktop band --------------- */
@media (min-width: 1025px) and (max-width: 1199px) {
  .elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-menu-item,
  .elementor-element-5235ec91 ul.hfe-nav-menu > li > a.hfe-sub-menu-item {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 15px !important;
    letter-spacing: 0 !important;
  }
  /* trim the logo column to buy the menu more room */
  .elementor-element-72df240f { width: 25% !important; }
  .elementor-element-4e084fd3 { width: 75% !important; }
}

/* below 1025 the mobile toggle takes over, so nothing to do there */


/* ============================================================================
   [6392] LSE - sticky top bar icons.

   Problem 1: the phone and email badges rendered as 22x32
   OVALS. .elementor-icon-box-wrapper is a flex row and the icon
   column was stretching to the full row height, so a 22px circle
   got pulled to 32px tall. The glyph inside was only 10px.

   Problem 2: social icons were 16px. Now 24px, 50% larger.
   ============================================================================ */

/* ---------- phone + email badges --------------------------- */
.elementor-element-5797777e .elementor-icon-box-wrapper,
.elementor-element-72cc81eb .elementor-icon-box-wrapper {
  align-items: center !important;
}

.elementor-element-5797777e .elementor-icon-box-icon,
.elementor-element-72cc81eb .elementor-icon-box-icon {
  flex: 0 0 auto !important;
  align-self: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  margin: 0 !important;
  line-height: 0 !important;
}

.elementor-element-5797777e .elementor-icon,
.elementor-element-72cc81eb .elementor-icon {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  aspect-ratio: 1 / 1;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 14px !important;
  line-height: 1 !important;
  flex: 0 0 32px !important;
}

.elementor-element-5797777e .elementor-icon svg,
.elementor-element-72cc81eb .elementor-icon svg,
.elementor-element-5797777e .elementor-icon i,
.elementor-element-72cc81eb .elementor-icon i {
  width: 14px !important;
  height: 14px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  display: block !important;
}

/* the label sits centred against the badge rather than baseline-drifting */
.elementor-element-5797777e .elementor-icon-box-content,
.elementor-element-72cc81eb .elementor-icon-box-content {
  display: flex !important;
  align-items: center !important;
}

/* ---------- social icons: 16px -> 24px (50% larger) -------- */
.elementor-element-5b5fbdc6 {
  --icon-size: 24px !important;
  --grid-column-gap: 24px !important;
}
.elementor-element-5b5fbdc6 .elementor-social-icon {
  box-sizing: border-box !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  font-size: 24px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.elementor-element-5b5fbdc6 .elementor-social-icon svg,
.elementor-element-5b5fbdc6 .elementor-social-icon i {
  width: 24px !important;
  height: 24px !important;
  font-size: 24px !important;
}


/* ============================================================================
   [6393] LSE - components that work inside RAW HTML widgets.

   The home page uses .lse-statn / .lse-cardh / .lse-item, but
   those are scoped to Elementor widget internals
   (.lse-statn .elementor-heading-title) and do nothing in a
   plain html widget. These are the html-widget equivalents.
   ============================================================================ */

/* ---------- STAT RAIL -------------------------------------- */
.lse-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 34px 44px;
  margin: 0;
  padding: 34px 0 0;
  border-top: 1px solid var(--lse-line);
  list-style: none;
}
.lse-stat { margin: 0; }
.lse-stat-n {
  display: block;
  font-family: "Antonio", sans-serif;
  font-weight: 700;
  font-size: clamp(40px, 4.4vw, 58px);
  line-height: 1;
  letter-spacing: 0;
  color: var(--lse-orange-ink);
  margin-bottom: 10px;
}
.lse-stat:nth-child(even) .lse-stat-n { color: var(--lse-teal-ink); }
.lse-stat-l {
  display: block;
  font-size: 12.5px;
  letter-spacing: .11em;
  text-transform: uppercase;
  line-height: 1.5;
  color: var(--lse-fg-3);
}

/* ---------- NUMBERED ROWS ---------------------------------- */
.lse-rows { margin: 0; padding: 0; list-style: none; }
.lse-row {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 0 26px;
  padding: 30px 0;
  border-top: 1px solid var(--lse-line);
  transition: border-color .2s ease;
}
.lse-rows > .lse-row:last-child { border-bottom: 1px solid var(--lse-line); }
.lse-row:hover { border-top-color: var(--lse-orange); }
.lse-row-n {
  font-family: "Antonio", sans-serif;
  font-weight: 700;
  font-size: 38px;
  line-height: 1;
  color: var(--lse-orange-ink);
}
.lse-row:nth-child(even) .lse-row-n { color: var(--lse-teal-ink); }
.lse-row-h {
  margin: 0 0 8px;
  font-size: 25px !important;
  line-height: 1.28 !important;
  color: var(--lse-fg) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.lse-row-p {
  margin: 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--lse-fg-2);
  max-width: 68ch;
}

/* ---------- CARD GRID -------------------------------------- */
.lse-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lse-card {
  padding: 30px 28px 32px;
  background: var(--lse-surface-2);
  border: 1px solid var(--lse-line);
  border-top: 3px solid var(--lse-orange);
  border-radius: 12px;
}
.lse-cards > .lse-card:nth-child(even) { border-top-color: var(--lse-teal); }
.lse-cards > .lse-card:nth-child(3n) { border-top-color: var(--lse-orange-hi); }
.lse-card-k {
  display: block;
  margin-bottom: 12px;
  font-family: "Antonio", sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--lse-teal-ink);
}
.lse-cards > .lse-card:nth-child(even) .lse-card-k { color: var(--lse-orange-ink); }
.lse-card-h {
  margin: 0 0 10px;
  font-size: 22px !important;
  line-height: 1.25 !important;
  color: var(--lse-fg) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.lse-card-p {
  margin: 0;
  font-size: 16px;
  line-height: 1.62;
  color: var(--lse-fg-2);
}
.lse-card-p + .lse-card-p { margin-top: 12px; }

/* ---------- PULL QUOTE ------------------------------------- */
.lse-pull {
  margin: 0;
  padding: 34px 0 0;
  border-top: 2px solid transparent;
  border-image: linear-gradient(90deg, var(--lse-orange), var(--lse-teal)) 1;
  max-width: 30ch;
}
.lse-pull-q {
  display: block;
  font-family: "Antonio", sans-serif;
  font-weight: 600;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.35;
  color: var(--lse-fg);
  margin: 0 0 16px;
}
.lse-pull-a {
  display: block;
  font-size: 12.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lse-fg-3);
}

/* ---------- OVERSIZED PROOF NUMERAL ------------------------ */
.lse-big {
  display: block;
  font-family: "Antonio", sans-serif;
  font-weight: 700;
  font-size: clamp(76px, 10vw, 150px);
  line-height: .85;
  letter-spacing: -.01em;
  color: var(--lse-orange-ink);
  margin: 0 0 14px;
}
.lse-big-l {
  display: block;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lse-fg-3);
  margin-bottom: 22px;
}

/* ---------- SPLIT: COPY BESIDE MEDIA ----------------------- */
.lse-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.lse-split--narrow { grid-template-columns: 1.15fr .85fr; }
.lse-split-body > :first-child { margin-top: 0; }
.lse-split-body p {
  color: var(--lse-fg-2);
  font-size: 17px;
  line-height: 1.68;
  margin: 0 0 16px;
  max-width: 60ch;
}
.lse-figure {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--lse-line);
  background: var(--lse-surface-2);
}
.lse-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.lse-figure figcaption {
  padding: 12px 16px;
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--lse-fg-3);
  border-top: 1px solid var(--lse-line);
}

/* ---------- CHECK / SIGNAL LIST ---------------------------- */
.lse-signals { margin: 0; padding: 0; list-style: none; }
.lse-signals li {
  position: relative;
  padding: 0 0 0 30px;
  margin: 0 0 14px;
  color: var(--lse-fg-2);
  font-size: 17px;
  line-height: 1.62;
  max-width: 66ch;
}
.lse-signals li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 12px;
  height: 2px;
  background: var(--lse-orange);
}
.lse-signals li:nth-child(even)::before { background: var(--lse-teal); }

/* ---------- SECTION LEDE ----------------------------------- */
.lse-lede {
  font-size: 21px !important;
  line-height: 1.6 !important;
  color: var(--lse-fg) !important;
  max-width: 62ch;
  margin: 0 0 34px !important;
}

@media (max-width: 900px) {
  .lse-split, .lse-split--narrow { grid-template-columns: 1fr; gap: 34px; }
  .lse-row { grid-template-columns: 62px 1fr; gap: 0 18px; }
  .lse-row-n { font-size: 30px; }
  .lse-row-h { font-size: 21px !important; }
  .lse-pull { max-width: none; }
}


/* ============================================================================
   [6497] LSE - CTA buttons and hero block, promoted to global.

   These classes were being redeclared inline inside a <style>
   tag on every page that used them (30+ pages). Any new page
   that forgot the block rendered its CTAs as bare links.
   Declared once here so the markup alone is enough.

   The existing inline copies still win on specificity
   (.elementor-XXXX a.lse-cta-solid) and carry identical
   values, so nothing changes visually on current pages.
   ============================================================================ */

.lse-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin: 26px 0 0;
}

a.lse-cta-solid {
  display: inline-block;
  background: var(--lse-orange);
  color: #141318;
  font-family: "Antonio", sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 16px 28px;
  border: 0;
  border-radius: 2px;
  text-decoration: none;
  transition: background-color .15s ease;
}
a.lse-cta-solid:hover,
a.lse-cta-solid:focus-visible {
  background: var(--lse-orange-hi);
  color: #141318;
}

a.lse-cta-ghost {
  display: inline-block;
  background: transparent;
  color: var(--lse-teal-ink);
  font-family: "Antonio", sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 15px 26px;
  border: 1px solid var(--lse-teal-ink);
  border-radius: 2px;
  text-decoration: none;
  transition: color .15s ease, border-color .15s ease;
}
a.lse-cta-ghost:hover,
a.lse-cta-ghost:focus-visible {
  color: var(--lse-fg);
  border-color: var(--lse-fg);
}

a.lse-cta-solid:focus-visible,
a.lse-cta-ghost:focus-visible {
  outline: 3px solid var(--lse-teal);
  outline-offset: 3px;
}

.lse-cta-note {
  font-size: 14px !important;
  color: var(--lse-fg-3);
  margin: 16px 0 0;
}

/* lse-hero-block had no rule anywhere on the site and was an
   inert wrapper. Give it the job it was named for. */
.lse-hero-block { max-width: 68ch; }
.lse-hero-block > :first-child { margin-top: 0; }


/* ============================================================================
   [6522] LSE - legal pages.

   Termageddon injects its own markup into .policy_embed_div at
   runtime, styled for a light background. Everything below
   re-skins that injected content for the dark site WITHOUT
   touching the policy text itself, which stays under
   Termageddon's control and keeps auto-updating.
   ============================================================================ */

/* ---------- shared long-form legal typography -------------- */
.lse-policy,
.lse-legal {
  max-width: 78ch;
  color: var(--lse-fg-2);
  font-size: 16.5px;
  line-height: 1.75;
}

.lse-legal h2,
.lse-policy h2 {
  color: var(--lse-fg) !important;
  font-size: 27px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 52px 0 16px !important;
  padding-top: 20px;
  position: relative;
}
.lse-legal h2::before,
.lse-policy h2::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 40px; height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--lse-orange) 0%, var(--lse-orange) 58%, var(--lse-teal) 58%, var(--lse-teal) 100%);
}
.lse-legal > h2:first-child,
.lse-policy h2:first-child { margin-top: 0 !important; }

.lse-legal h3,
.lse-policy h3 {
  color: var(--lse-fg) !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 30px 0 10px !important;
}
.lse-legal h4,
.lse-policy h4 {
  color: var(--lse-fg) !important;
  font-size: 17px !important;
  margin: 24px 0 8px !important;
  text-transform: none !important;
}

.lse-legal p,
.lse-policy p {
  color: var(--lse-fg-2);
  font-size: 16.5px;
  line-height: 1.75;
  margin: 0 0 18px;
}
.lse-legal strong,
.lse-policy strong { color: var(--lse-fg); font-weight: 700; }

.lse-legal a,
.lse-policy a {
  color: var(--lse-teal-ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(37,160,191,.4);
}
.lse-legal a:hover,
.lse-policy a:hover { color: var(--lse-fg); border-bottom-color: var(--lse-fg); }

.lse-legal ul, .lse-legal ol,
.lse-policy ul, .lse-policy ol {
  margin: 0 0 18px;
  padding-left: 22px;
  color: var(--lse-fg-2);
}
.lse-legal li, .lse-policy li { margin-bottom: 9px; line-height: 1.7; }
.lse-legal li::marker, .lse-policy li::marker { color: var(--lse-orange-ink); }

/* tables inside Termageddon policies (cookie tables, data tables) */
.lse-policy table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 24px;
  font-size: 15px;
  display: block;
  overflow-x: auto;
}
.lse-policy th,
.lse-policy td {
  border: 1px solid var(--lse-line);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  color: var(--lse-fg-2);
}
.lse-policy th {
  background: var(--lse-surface-2);
  color: var(--lse-fg);
  font-weight: 700;
}

/* Termageddon sometimes ships inline colours on its own wrapper */
.lse-policy .policy_embed_div,
.lse-policy .policy_embed_div * {
  background: transparent !important;
  font-family: inherit !important;
}
.lse-policy .policy_embed_div [style*="color"] { color: inherit !important; }

/* the pre-load fallback line */
.lse-policy .policy_embed_div:empty::after {
  content: "Loading policy";
  display: block;
  color: var(--lse-fg-3);
  font-size: 14px;
}

/* ---------- closing block on the static disclaimer ---------- */
.lse-legal-foot {
  margin-top: 52px;
  padding-top: 26px;
  border-top: 2px solid transparent;
  border-image: linear-gradient(90deg, var(--lse-orange), var(--lse-teal)) 1;
}
.lse-legal-foot p {
  font-size: 15px;
  color: var(--lse-fg-3);
  margin: 0 0 10px;
}

@media (max-width: 767px) {
  .lse-legal h2, .lse-policy h2 { font-size: 23px !important; }
  .lse-policy table { font-size: 14px; }
}
