.elementor-kit-31{--e-global-color-primary:#651F21;--e-global-color-secondary:#C28046;--e-global-color-text:#161617ED;--e-global-color-accent:#152F48;--e-global-color-c696dce:#FBF8F0;--e-global-color-14ef391:#C8D5DC;--e-global-color-764183d:#FFFEFD;--e-global-color-d6cea4e:#FFFFFF;--e-global-color-86b4fcd:#02010100;--e-global-color-57c8da2:#000000CC;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:65px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-392b9e0-font-family:"Poppins";--e-global-typography-392b9e0-font-size:22px;--e-global-typography-392b9e0-font-weight:600;--e-global-typography-392b9e0-text-transform:capitalize;--e-global-typography-392b9e0-font-style:normal;--e-global-typography-392b9e0-text-decoration:none;--e-global-typography-392b9e0-line-height:1.2em;--e-global-typography-392b9e0-letter-spacing:0px;--e-global-typography-c05b693-font-family:"Poppins";--e-global-typography-c05b693-font-size:22px;--e-global-typography-c05b693-font-weight:300;--e-global-typography-c05b693-text-transform:none;--e-global-typography-c05b693-font-style:normal;--e-global-typography-c05b693-text-decoration:none;--e-global-typography-c05b693-line-height:1.5em;--e-global-typography-c05b693-letter-spacing:0px;--e-global-typography-6558fb1-font-family:"Poppins";--e-global-typography-6558fb1-font-size:16px;--e-global-typography-6558fb1-font-weight:300;--e-global-typography-6558fb1-text-transform:uppercase;--e-global-typography-6558fb1-font-style:normal;--e-global-typography-6558fb1-text-decoration:none;--e-global-typography-6558fb1-line-height:1.5em;--e-global-typography-6558fb1-letter-spacing:10px;--e-global-typography-92bce3b-font-family:"Poppins";--e-global-typography-92bce3b-font-size:16px;--e-global-typography-92bce3b-font-weight:400;--e-global-typography-92bce3b-text-transform:capitalize;--e-global-typography-92bce3b-font-style:italic;--e-global-typography-92bce3b-text-decoration:underline;--e-global-typography-92bce3b-line-height:1em;--e-global-typography-92bce3b-letter-spacing:0px;--e-global-typography-b2deeae-font-family:"Poppins";--e-global-typography-b2deeae-font-size:85px;--e-global-typography-b2deeae-font-weight:600;--e-global-typography-b2deeae-text-transform:none;--e-global-typography-b2deeae-font-style:normal;--e-global-typography-b2deeae-text-decoration:none;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-b2deeae-letter-spacing:0px;--e-global-typography-fb1a3e0-font-family:"Poppins";--e-global-typography-fb1a3e0-font-size:200px;--e-global-typography-fb1a3e0-font-weight:600;--e-global-typography-fb1a3e0-text-transform:none;--e-global-typography-fb1a3e0-font-style:normal;--e-global-typography-fb1a3e0-text-decoration:none;--e-global-typography-fb1a3e0-line-height:1.2em;--e-global-typography-fb1a3e0-letter-spacing:0px;--e-global-typography-397e168-font-family:"Poppins";--e-global-typography-397e168-font-size:16px;--e-global-typography-397e168-font-weight:400;--e-global-typography-397e168-text-transform:capitalize;--e-global-typography-397e168-font-style:italic;--e-global-typography-397e168-text-decoration:none;--e-global-typography-397e168-line-height:1.3em;--e-global-typography-397e168-letter-spacing:0px;background-color:var( --e-global-color-c696dce );color:#2A2622;font-family:"Inter", Sans-serif;font-size:1.125em;font-weight:500;line-height:1.6em;}.elementor-kit-31 button,.elementor-kit-31 input[type="button"],.elementor-kit-31 input[type="submit"],.elementor-kit-31 .elementor-button{background-color:#C28046;color:var( --e-global-color-accent );box-shadow:-9px -5px 10px -3px rgba(0,0,0,0.5);border-radius:30px 30px 30px 30px;}.elementor-kit-31 e-page-transition{background-color:#FFBC7D;}.site-header{background-color:var( --e-global-color-c696dce );padding-inline-end:8%;padding-inline-start:8%;}.site-footer{background-color:var( --e-global-color-accent );}.elementor-kit-31 a{color:var( --e-global-color-accent );}.elementor-kit-31 a:hover{color:var( --e-global-color-primary );}.elementor-kit-31 h1{color:var( --e-global-color-accent );font-family:"Archivo", Sans-serif;font-weight:700;line-height:1.1em;letter-spacing:-0.02em;}.elementor-kit-31 h2{color:var( --e-global-color-accent );font-family:"Archivo", Sans-serif;font-size:2.3em;font-weight:700;line-height:1.1em;letter-spacing:-0.02em;}.elementor-kit-31 h3{color:#651F21;font-family:"Archivo", Sans-serif;font-size:1.875em;font-weight:600;letter-spacing:-0.01em;}.elementor-kit-31 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-392b9e0-font-family ), Sans-serif;font-size:var( --e-global-typography-392b9e0-font-size );font-weight:var( --e-global-typography-392b9e0-font-weight );text-transform:var( --e-global-typography-392b9e0-text-transform );font-style:var( --e-global-typography-392b9e0-font-style );text-decoration:var( --e-global-typography-392b9e0-text-decoration );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-kit-31 h5{color:var( --e-global-color-accent );font-family:"Archivo", Sans-serif;font-size:1.25em;font-weight:600;}.elementor-kit-31 h6{color:var( --e-global-color-accent );font-family:"Archivo", Sans-serif;font-size:1em;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:15px;--container-default-padding-bottom:0px;--container-default-padding-left:15px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header .header-inner{width:1600px;max-width:100%;}.site-header .site-branding .site-logo img{width:54px;max-width:54px;}.site-header .site-navigation ul.menu li a{color:var( --e-global-color-primary );}.site-header .site-navigation-toggle .site-navigation-toggle-icon{color:var( --e-global-color-accent );}.site-header .site-navigation .menu li{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.site-footer .copyright p{color:var( --e-global-color-c696dce );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}@media(max-width:1024px){.elementor-kit-31{--e-global-typography-primary-font-size:45px;--e-global-typography-secondary-font-size:25px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:14px;--e-global-typography-c05b693-font-size:18px;--e-global-typography-c05b693-line-height:1.4em;--e-global-typography-6558fb1-font-size:14px;--e-global-typography-92bce3b-font-size:14px;--e-global-typography-b2deeae-font-size:65px;--e-global-typography-fb1a3e0-font-size:145px;--e-global-typography-397e168-font-size:14px;}.elementor-kit-31 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}.site-header{padding-inline-end:5%;padding-inline-start:5%;}.site-header .site-navigation .menu li{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.site-footer .copyright p{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:767px){.elementor-kit-31{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:20px;--e-global-typography-392b9e0-font-size:18px;--e-global-typography-c05b693-font-size:16px;--e-global-typography-b2deeae-font-size:42px;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-fb1a3e0-font-size:100px;--e-global-typography-fb1a3e0-line-height:1em;}.elementor-kit-31 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}.site-header{padding-inline-end:8%;padding-inline-start:8%;}.site-header .site-navigation .menu li{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.site-footer .copyright p{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}
/* Start custom CSS *//* ============================================================
   LEONIDAS CREDIT  |  Site Settings > Custom CSS  |  v42
   REBUILT from v17 base (last version with complete .lc-dfooter
   rules) plus all legitimate v18-v27 additions:
     - overflow-x hidden+clip dual declaration (iOS Safari fix)
     - scrollbar-gutter: stable (FI scroll flicker prevention)
     - hero 100vw breakout + gradient + dark lede (v21-v22)
     - .lc-hero-bg--full for homepage 100vh (v23)
     - .lc-tile--lg modifier (v19)
     - mobile overflow safety, title clamps (v24)
     - body text !important (v25)
     - mobile-only Elementor container constraints (v27)
   v22-v27 lost the .lc-dfooter block due to a workspace file
   size cap. v28 starts from v17 to preserve the footer.

   v29 ADDS the real fix for the Platform-page Data Security
   mobile overflow: a viewport-relative (100vw) clamp on
   .lc-section at <= 768px. See the v29 block below.
   ============================================================ */

/* SITE-WIDE ANTI-SCROLL SAFETY */
html {
  overflow-x: hidden;
  overflow-x: clip;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  max-width: 100%;
  overscroll-behavior-y: none;
}
body {
  overflow-x: hidden;
  overflow-x: clip;
  max-width: 100vw;
  overscroll-behavior-y: none;
}

/* v27: Mobile-only Elementor container constraints */
@media (max-width: 768px) {
  .elementor-widget-html, .elementor-widget-container, .e-con-inner {
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* v24: Mobile overflow safety */
.lc-section, .lc-section__inner, .lc-section__header,
.lc-grid, .lc-card, .lc-tile, .lc-flow, .lc-flow__item, .lc-stat,
.lc-callout, .lc-closing__inner {
  min-width: 0 !important;
}
.lc-title, .lc-lede, .lc-card__title, .lc-card__label, .lc-card__body,
.lc-tile__label, .lc-tile__body, .lc-step__title, .lc-step__body,
.lc-callout__body, .lc-stat__body, .lc-closing__body {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* v24: Mobile title clamps */
@media (max-width: 760px) {
  .lc-section .lc-title, .lc-hero-bg .lc-title { font-size: 36px !important; line-height: 1.15 !important; }
}
@media (max-width: 600px) {
  .lc-section .lc-title, .lc-hero-bg .lc-title { font-size: 30px !important; line-height: 1.18 !important; }
}
@media (max-width: 400px) {
  .lc-section .lc-title, .lc-hero-bg .lc-title { font-size: 26px !important; line-height: 1.2 !important; }
}

/* ----- DESIGN TOKENS ----- */
:root {
  --lc-navy:                #152F48;
  --lc-maroon:              #651F21;
  --lc-body:                #2A2622;
  --lc-eyebrow:             #7E532E;

  --lc-band-maroon:         #522A2A;
  --lc-band-maroon-deep:    #3F2020;
  --lc-tan:                 #B98947;
  --lc-tan-accent:          #C28046;

  --lc-cream:               #FBF8F0;
  --lc-cream-soft:          #E8DCC4;
  --lc-cream-border:        #EDE1D0;
  --lc-cream-border-deep:   #E3D6C6;
  --lc-cream-callout:       #FAF1D5;
  --lc-cream-callout-border:#E8D4AC;
  --lc-steel:               #C8D5DC;
  --lc-mist:                rgba(21, 47, 72, 0.08);

  --lc-ink-soft:            #5A5048;
  --lc-muted:               #8A7C6A;

  --lc-status-ok-bg:        #F1E8D4;
  --lc-status-ok-fg:        #6B5A32;
  --lc-status-warn-bg:      #F4DCCB;
  --lc-status-warn-fg:      #8A4A25;

  --lc-font-head: 'Archivo', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --lc-font-body: 'Inter',   system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  --lc-radius:    10px;
  --lc-radius-lg: 12px;
  --lc-radius-xl: 18px;
}

[class*="lc-"], [class*="lc-"] *, [class*="lc-"] *::before, [class*="lc-"] *::after {
  box-sizing: border-box;
}

/* ----- SECTION WRAPPER + VARIANTS ----- */
.lc-section          {
  background: var(--lc-cream); color: var(--lc-body);
  padding: 64px 24px;
  overflow-x: hidden;
  max-width: 100%;
}
.lc-section--maroon  { background: var(--lc-band-maroon); color: var(--lc-cream); }
.lc-section--steel   { background: var(--lc-steel); }
.lc-section--mist    { background: var(--lc-mist); }
section.lc-section--maroon h1, section.lc-section--maroon h2,
section.lc-section--maroon h3, section.lc-section--maroon h4 { color: var(--lc-tan-accent); }
@media (min-width: 880px) { .lc-section { padding: 100px 32px; } }
@media (max-width: 600px) { .lc-section { padding: 56px 22px; } }

/* ============================================================
   v29: MOBILE SECTION WIDTH CLAMP
   Root fix for the "Data security and compliance" section on the
   Platform page extending past the right edge on mobile.

   CAUSE: On the Platform page the Elementor container wrapping
   this HTML widget keeps a desktop "boxed" content width (~1140px)
   on mobile instead of collapsing to the viewport. .lc-section was
   max-width: 100%, i.e. 100% OF THAT PARENT, so the section
   inherited the ~1140px measure. Its text then wrapped at ~1140px
   and only the leftmost viewport-width slice was visible.

   WHY v24-v27 FAILED: they piled max-width: 100% onto ancestor
   elements, but 100% is parent-relative and cannot escape a parent
   that is itself explicitly wide. The chain stayed wide.

   FIX: pin every .lc-section to the viewport width itself (100vw),
   which is viewport-relative, not parent-relative. It holds no
   matter what the Elementor wrapper does. On sections that already
   fit, it is a no-op (the section is already narrower than 100vw).
   Scoped to <= 768px, so there is zero desktop impact.
   ============================================================ */
@media (max-width: 768px) {
  .lc-section {
    max-width: 100vw !important;
  }
  .lc-section__inner,
  .lc-section__header,
  .lc-section__header--wide,
  .lc-section__header--center {
    max-width: 100% !important;
  }
  .lc-card,
  .lc-card__icon {
    max-width: 100% !important;
  }
}

/* ----- CONTAINER ----- */
.lc-section__inner          { max-width: 1140px; margin: 0 auto; }
.lc-section__inner--wide    { max-width: 1200px; }
.lc-section__inner--narrow  { max-width: 880px; }

/* ----- HEADER BLOCK ----- */
.lc-section__header             { max-width: 820px; margin: 0 0 48px; }
.lc-section__header--wide       { max-width: 980px; }
.lc-section__header--center     { text-align: center; margin-left: auto; margin-right: auto; }
@media (max-width: 600px) { .lc-section__header { margin-bottom: 32px; } }

/* ----- EYEBROW ----- */
.lc-eyebrow {
  font-family: var(--lc-font-body);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3;
  color: var(--lc-eyebrow); margin: 0 0 14px;
}
.lc-eyebrow--on-dark, .lc-eyebrow.on-dark { color: var(--lc-tan-accent); }
.lc-eyebrow--natural { text-transform: none; }
@media (max-width: 600px) { .lc-eyebrow { font-size: 11px; } }

/* ----- TITLE ----- */
.lc-section .lc-title,
.lc-hero-bg .lc-title              { margin: 0 0 22px; }
.lc-section .lc-title--center,
.lc-hero-bg .lc-title--center      { text-align: center; }
.lc-title__line                    { display: block; }
.lc-title__line + .lc-title__line  { margin-top: 8px; }

/* ----- LEDE ----- */
.lc-lede {
  font-family: var(--lc-font-body);
  font-size: 16px !important; line-height: 1.6 !important;
  color: var(--lc-ink-soft); margin: 0;
}
.lc-lede--lg { font-size: 17px !important; }
@media (max-width: 600px) { .lc-lede, .lc-lede--lg { font-size: 15px; } }

/* ----- RULE ----- */
.lc-rule          { width: 56px; height: 2px; background: var(--lc-tan); border-radius: 2px; margin: 0 0 28px; }
.lc-rule--center  { margin-left: auto; margin-right: auto; }
.lc-rule--sm      { width: 32px; }

/* ----- CRUMB ----- */
.lc-crumb {
  font-family: var(--lc-font-body);
  font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--lc-muted); font-weight: 500; margin: 0 0 24px;
}
.lc-crumb a       { color: var(--lc-muted); text-decoration: none; }
.lc-crumb a:hover { color: var(--lc-maroon); }

/* ----- GRID UTILITIES ----- */
.lc-grid          { display: grid; gap: 16px; align-items: stretch; }
.lc-grid--2       { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lc-grid--3       { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lc-grid--4       { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lc-grid--5       { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lc-grid--gap-lg  { gap: 20px; }
.lc-grid--gap-sm  { gap: 12px; }
.lc-grid--start   { align-items: start; }
ol.lc-grid, ul.lc-grid { list-style: none; padding: 0; margin: 0; }
@media (max-width: 1100px) {
  .lc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lc-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1000px) { .lc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px)  { .lc-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px)  {
  .lc-grid--2, .lc-grid--3, .lc-grid--4, .lc-grid--5 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

.lc-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  gap: 24px; align-items: start;
}
@media (max-width: 980px) { .lc-split-grid { grid-template-columns: 1fr; gap: 20px; } }

/* ----- HERO LAYOUTS ----- */
.lc-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 432px;
  gap: 64px; align-items: start;
}
@media (max-width: 1100px) { .lc-hero-grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; } }
@media (max-width: 900px)  { .lc-hero-grid { grid-template-columns: 1fr; gap: 40px; } }

.lc-hero-grid--image {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 56px; align-items: center;
}
@media (max-width: 980px) {
  .lc-hero-grid--image { grid-template-columns: 1fr; gap: 32px; }
}
.lc-hero-image {
  display: block; width: 100%; height: auto;
  border-radius: var(--lc-radius-lg);
}

.lc-hero-bg {
  background-color: var(--lc-cream);
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  padding: 100px 0;
  min-height: 560px;
  color: var(--lc-body);
  position: relative;
  display: flex;
  align-items: center;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
  overflow: hidden;
}
.lc-hero-bg::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,
    rgba(251,248,240,0.92) 0%,
    rgba(251,248,240,0.85) 28%,
    rgba(251,248,240,0.55) 48%,
    rgba(251,248,240,0.15) 65%,
    rgba(251,248,240,0)    78%
  );
  pointer-events: none;
}
/* v22: dark hero lede */
.lc-hero-bg .lc-lede, .lc-hero-bg .lc-lede--lg { color: var(--lc-body) !important; }
/* v23: full-viewport hero modifier (homepage only) */
.lc-hero-bg.lc-hero-bg--full { min-height: 100vh; min-height: 100dvh; }
.lc-hero-bg__inner {
  position: relative; z-index: 2;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}
.lc-hero-bg__content {
  max-width: 42%;
}
.lc-hero-bg .lc-eyebrow {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--lc-eyebrow);
  margin: 0 0 22px;
}
.lc-hero-bg__mobile-img { display: none; }

@media (min-width: 1400px) {
  .lc-hero-bg { padding: 140px 0; min-height: 640px; }
}
@media (max-width: 1100px) {
  .lc-hero-bg { padding: 90px 0; }
  .lc-hero-bg__content { max-width: 48%; }
}
@media (max-width: 880px) {
  .lc-hero-bg {
    padding: 64px 0;
    min-height: 500px;
    background-position: center center;
  }
  .lc-hero-bg__inner { padding: 0 24px; }
  .lc-hero-bg__content { max-width: 55%; }
  .lc-hero-bg .lc-eyebrow { font-size: 13px; margin-bottom: 18px; }
  .lc-hero-bg::before {
    background: linear-gradient(
      90deg,
      rgba(251,248,240,0.92) 0%,
      rgba(251,248,240,0.7) 32%,
      rgba(251,248,240,0.25) 58%,
      rgba(251,248,240,0) 78%
    );
  }
}
@media (max-width: 600px) {
  .lc-hero-bg {
    padding: 44px 0;
    min-height: 480px;
    background-position: center center;
  }
  .lc-hero-bg__inner { padding: 0 22px; }
  .lc-hero-bg__content { max-width: 50%; }
  .lc-hero-bg .lc-eyebrow { font-size: 12px; margin-bottom: 14px; letter-spacing: 0.16em; }
}

/* ----- CARD ----- */
.lc-card {
  background: #fff; border: 1px solid var(--lc-cream-border);
  border-radius: var(--lc-radius); padding: 24px 22px 22px;
  display: flex; flex-direction: column; position: relative;
  min-width: 0; max-width: 100%;
}
.lc-card--callout { background: var(--lc-cream-callout); border-color: var(--lc-cream-callout-border); }
.lc-card--tight   { padding: 22px 22px 20px; }
.lc-card--accent  { overflow: hidden; }
.lc-card--accent::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0;
  height: 3px; background: var(--lc-band-maroon);
}

.lc-card__head {
  display: flex; align-items: baseline; gap: 12px;
  margin: 0 0 14px; padding-bottom: 14px;
  border-bottom: 1px solid var(--lc-cream-border);
}
.lc-card--callout .lc-card__head { border-bottom-color: var(--lc-cream-callout-border); }

.lc-card__num {
  font-family: var(--lc-font-body);
  font-size: 12px; font-weight: 600; letter-spacing: 0.08em;
  color: var(--lc-eyebrow); flex-shrink: 0;
}
.lc-card__icon { width: 60px; height: 60px; display: block; margin: 0 0 14px; object-fit: contain; }
.lc-card__mark {
  position: absolute; top: 22px; right: 22px;
  width: 14px; height: 14px; color: var(--lc-eyebrow); opacity: 0.75;
  display: flex; align-items: center; justify-content: center;
}
.lc-card__mark svg { display: block; width: 100%; height: 100%; }

.lc-section .lc-card__title {
  font-family: var(--lc-font-head);
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em;
  color: var(--lc-maroon); margin: 0 0 12px;
  padding-bottom: 12px; border-bottom: 1px solid var(--lc-cream-border);
}
.lc-section .lc-card--callout .lc-card__title { border-bottom-color: var(--lc-cream-callout-border); }
.lc-section .lc-card__title--sm        { font-size: 15px !important; }
.lc-section .lc-card__title--lg        { font-size: 17px !important; }
.lc-section .lc-card__title--with-mark { padding-right: 28px; }
.lc-section .lc-card__title--standalone { /* no-op */ }
.lc-section .lc-card__head .lc-card__title { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
.lc-section .lc-card--tight .lc-card__title { padding-bottom: 0; border-bottom: 0; margin-bottom: 10px; }

.lc-card__body {
  font-family: var(--lc-font-body);
  font-size: 13.5px !important; line-height: 1.55 !important; color: var(--lc-ink-soft); margin: 0;
}

.lc-section .lc-card__label {
  font-family: var(--lc-font-body);
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--lc-eyebrow);
  margin: 0 0 16px; padding-bottom: 14px;
  border-bottom: 1px solid var(--lc-cream-border);
}

.lc-cite {
  color: var(--lc-muted); font-style: italic;
  font-size: 12px; letter-spacing: 0.02em;
}

/* ----- CIRCULAR NUMBER BADGE ----- */
.lc-num {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--lc-band-maroon); color: var(--lc-cream);
  font-family: var(--lc-font-body);
  font-size: 12px; font-weight: 600;
  display: flex; align-items: center; justify-content: center;
  margin: 0 0 14px;
}

/* ----- STEPS ----- */
.lc-steps { list-style: none; margin: 0; padding: 0; }
.lc-step {
  display: grid; grid-template-columns: 34px 1fr; gap: 14px;
  padding: 14px 0; border-top: 1px solid var(--lc-cream-border);
}
.lc-step:first-child { border-top: none; padding-top: 4px; }
.lc-step__num {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--lc-band-maroon); color: var(--lc-cream);
  font-family: var(--lc-font-body);
  font-size: 12px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; margin-top: 2px;
}
.lc-section .lc-step__title {
  font-family: var(--lc-font-head);
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.005em;
  color: var(--lc-maroon); margin: 0 0 4px;
}
.lc-step__body {
  font-family: var(--lc-font-body);
  font-size: 13px; line-height: 1.45; color: var(--lc-ink-soft); margin: 0;
}

/* ----- THREE-COLUMN FLOW ----- */
.lc-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 18px; align-items: start; margin-bottom: 18px;
}
.lc-flow__col   { display: flex; flex-direction: column; min-width: 0; }
.lc-flow__items { display: flex; flex-direction: column; gap: 10px; }
.lc-flow__eyebrow {
  font-family: var(--lc-font-body);
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--lc-muted); font-weight: 600; margin: 0 0 12px;
}
.lc-flow__eyebrow--accent { color: var(--lc-eyebrow); }
.lc-flow__item {
  background: #fff; border: 1px solid var(--lc-cream-border);
  border-radius: var(--lc-radius); padding: 16px 18px 14px;
  min-width: 0;
}
.lc-section .lc-flow__item-title {
  font-family: var(--lc-font-head);
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em; color: var(--lc-maroon); margin: 0 0 4px;
}
.lc-flow__item-body {
  font-family: var(--lc-font-body);
  font-size: 12.5px; line-height: 1.45; color: var(--lc-ink-soft); margin: 0;
}
@media (max-width: 1000px) { .lc-flow { grid-template-columns: 1fr; gap: 24px; } }

.lc-core {
  background: var(--lc-cream-callout);
  border: 1px solid var(--lc-cream-callout-border);
  border-radius: var(--lc-radius); padding: 14px 16px 12px;
}
.lc-core .lc-step {
  grid-template-columns: 24px 1fr; gap: 12px;
  padding: 12px 0; border-top: 1px solid var(--lc-cream-callout-border);
}
.lc-core .lc-step:last-child { padding-bottom: 4px; }
.lc-core .lc-step__num       { width: 22px; height: 22px; font-size: 11px; margin-top: 1px; }

/* ----- ARROW-CONNECTED FLOW ----- */
.lc-flow-line {
  display: grid;
  grid-template-columns: 1fr 28px 1fr 28px 1fr;
  align-items: stretch; gap: 0;
}
.lc-flow-line--5 {
  grid-template-columns: 1fr 28px 1fr 28px 1fr 28px 1fr 28px 1fr;
  gap: 12px;
}
.lc-flow-line--boxed {
  background: var(--lc-cream-callout);
  border: 1px solid var(--lc-cream-callout-border);
  border-radius: var(--lc-radius);
  padding: 28px;
}
@media (max-width: 600px) { .lc-flow-line--boxed { padding: 20px; } }
.lc-arrow {
  display: flex; align-items: center; justify-content: center;
  color: var(--lc-eyebrow);
}
.lc-arrow svg { display: block; width: 18px; height: 18px; }
@media (max-width: 900px) {
  .lc-flow-line { grid-template-columns: 1fr !important; gap: 14px !important; }
  .lc-arrow     { transform: rotate(90deg); padding: 4px 0; }
}
@media (max-width: 1080px) {
  .lc-flow-line--5 { grid-template-columns: 1fr !important; gap: 14px !important; }
  .lc-flow-line--5 .lc-arrow { transform: rotate(90deg); padding: 4px 0; }
}

/* ----- NUMBERED CHAIN LIST ----- */
.lc-chain { list-style: none; margin: 0; padding: 0; }
.lc-chain__item {
  display: grid; grid-template-columns: 26px 1fr;
  gap: 12px; align-items: center; padding: 8px 0;
}
.lc-chain__num {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--lc-band-maroon); color: var(--lc-cream);
  font-family: var(--lc-font-body);
  font-size: 11px; font-weight: 600;
  display: flex; align-items: center; justify-content: center;
}
.lc-chain__label {
  font-family: var(--lc-font-body);
  font-size: 14px; font-weight: 500; line-height: 1.4;
  color: var(--lc-maroon); margin: 0;
}

/* ----- CALLOUT ----- */
.lc-callout {
  display: grid; grid-template-columns: auto 1fr; gap: 16px;
  align-items: baseline; padding: 18px 20px; margin-top: 24px;
  background: #fff; border: 1px solid var(--lc-cream-border-deep);
  border-left: 3px solid var(--lc-tan); border-radius: 6px;
}
.lc-callout:first-child { margin-top: 0; }
.lc-callout--inline {
  background: transparent; border: 0; border-radius: 0;
  border-top: 1px solid var(--lc-cream-border);
  padding: 18px 0 0; margin-top: 24px;
}
.lc-callout__label {
  font-family: var(--lc-font-body);
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  font-weight: 600; color: var(--lc-eyebrow); margin: 0; white-space: nowrap;
}
.lc-callout__body {
  font-family: var(--lc-font-body);
  font-size: 14px; line-height: 1.55; color: var(--lc-ink-soft); margin: 0;
}
.lc-callout--inline .lc-callout__body { font-style: italic; color: var(--lc-muted); font-size: 13px; }
@media (max-width: 600px) { .lc-callout { grid-template-columns: 1fr; gap: 6px; } }

/* ----- FOOTNOTE ----- */
.lc-footnote {
  font-family: var(--lc-font-body);
  font-size: 12px; line-height: 1.55;
  color: var(--lc-muted); font-style: italic;
  margin: 18px 0 0; padding-top: 14px;
  border-top: 1px solid var(--lc-cream-border);
}
.lc-footnote strong {
  font-style: normal; font-weight: 600;
  color: var(--lc-ink-soft); letter-spacing: 0.04em;
  text-transform: uppercase; font-size: 11px; margin-right: 6px;
}

/* ----- PANEL ----- */
.lc-panel {
  background: #fff; border: 1px solid var(--lc-cream-border);
  border-radius: var(--lc-radius); padding: 26px 26px 22px;
}
.lc-panel__eyebrow {
  font-family: var(--lc-font-body);
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--lc-muted); font-weight: 600; margin: 0 0 18px;
}

/* ----- PILLS ----- */
.lc-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.lc-pills:first-child { margin-top: 0; }
.lc-pill {
  display: inline-flex; align-items: center;
  font-family: var(--lc-font-body);
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  font-weight: 600; color: var(--lc-maroon);
  background: transparent; border: 1px solid var(--lc-cream-border-deep);
  border-radius: 999px; padding: 9px 18px; line-height: 1;
}
.lc-pill--solid {
  background: #fff; border-color: var(--lc-band-maroon); color: var(--lc-band-maroon);
  white-space: nowrap;
}

/* ----- TILE ----- */
.lc-tile {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--lc-cream-border);
  border-radius: var(--lc-radius); padding: 22px;
  text-decoration: none; color: inherit;
  cursor: pointer; position: relative;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .lc-tile:hover {
    background-color: var(--lc-cream-callout); border-color: var(--lc-cream-callout-border);
    transform: translateY(-2px); box-shadow: 0 6px 18px rgba(82,42,42,0.07);
  }
  .lc-tile:hover .lc-tile__head  { border-bottom-color: var(--lc-cream-callout-border); }
  .lc-tile:hover .lc-tile__arrow { transform: translateX(4px); color: var(--lc-navy); }
}
.lc-tile:focus-visible {
  background-color: var(--lc-cream-callout); border-color: var(--lc-cream-callout-border);
  outline: 2px solid var(--lc-tan); outline-offset: 2px;
}
.lc-tile:active {
  background-color: var(--lc-cream-callout); border-color: var(--lc-cream-callout-border);
  transform: scale(0.99);
}
.lc-tile__icon { width: 60px; height: 60px; display: block; margin: 0 0 14px; object-fit: contain; }
.lc-tile__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin: 0 0 12px;
  padding-bottom: 12px; border-bottom: 1px solid var(--lc-cream-border);
  transition: border-bottom-color 180ms ease;
}
.lc-section .lc-tile__label {
  font-family: var(--lc-font-head);
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em;
  color: var(--lc-navy); margin: 0;
}
.lc-tile__arrow { width: 16px; height: 16px; color: var(--lc-eyebrow); transition: transform 160ms ease, color 160ms ease; flex-shrink: 0; }
.lc-tile__body {
  font-family: var(--lc-font-body);
  font-size: 13.5px !important; line-height: 1.5 !important; color: var(--lc-ink-soft); margin: 0;
}

/* v19: icon-in-head fix and .lc-tile--lg modifier */
.lc-tile__head .lc-tile__icon { margin: 0; flex-shrink: 0; }
.lc-tile--lg { padding: 28px 26px 26px; }
.lc-tile--lg .lc-tile__head { margin: 0 0 16px; padding-bottom: 16px; }
.lc-tile--lg .lc-tile__icon,
.lc-tile--lg .lc-tile__head .lc-tile__icon { width: 72px; height: 72px; }
.lc-section .lc-tile--lg .lc-tile__label { font-size: 24px !important; }
.lc-tile--lg .lc-tile__body { font-size: 14.5px !important; line-height: 1.6 !important; }
@media (max-width: 600px) {
  .lc-tile--lg { padding: 24px 22px 22px; }
  .lc-tile--lg .lc-tile__icon,
  .lc-tile--lg .lc-tile__head .lc-tile__icon { width: 56px; height: 56px; }
  .lc-section .lc-tile--lg .lc-tile__label { font-size: 20px !important; }
  .lc-tile--lg .lc-tile__body { font-size: 14px !important; }
}

/* ----- CHECKLIST ----- */
.lc-checklist { list-style: none; margin: 0; padding: 0; }
.lc-checklist li {
  position: relative; padding-left: 26px;
  font-family: var(--lc-font-body);
  font-size: 14px; line-height: 1.55; color: var(--lc-ink-soft); margin: 0 0 12px;
}
.lc-checklist li:last-child { margin-bottom: 0; }
.lc-checklist li::before {
  content: ""; position: absolute; left: 0; top: 4px;
  width: 16px; height: 16px; border-radius: 50%; background: var(--lc-band-maroon);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 6.5l2.5 2.5 5-6' fill='none' stroke='%23FBF8F0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat; background-position: center; background-size: 12px 12px;
}
.lc-checklist--tan li::before { background-color: var(--lc-tan); }

/* ----- BULLETS ----- */
.lc-bullets { list-style: none; margin: 0; padding: 0; }
.lc-bullets li {
  position: relative; padding-left: 18px;
  font-family: var(--lc-font-body);
  font-size: 14px; line-height: 1.55; color: var(--lc-ink-soft); margin: 0 0 10px;
}
.lc-bullets li:last-child { margin-bottom: 0; }
.lc-bullets li::before {
  content: ""; position: absolute; left: 0; top: 9px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--lc-tan);
}

/* ----- STAT ----- */
.lc-stat {
  background: #fff; border: 1px solid var(--lc-cream-border);
  border-radius: var(--lc-radius); padding: 28px 26px 22px;
  display: flex; flex-direction: column;
}
.lc-stat--callout  { background: var(--lc-cream-callout); border-color: var(--lc-cream-callout-border); }
.lc-stat--gradient {
  background: linear-gradient(180deg, #F0E6CF 0%, #C8BDA7 100%);
  border: none; border-radius: var(--lc-radius-xl);
  padding: 36px 22px 30px; text-align: center;
}
.lc-stat__value {
  font-family: var(--lc-font-head);
  font-size: 44px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.015em;
  color: var(--lc-maroon); margin: 0 0 12px;
}
.lc-stat__value--on-dark, .lc-stat__value.on-dark { color: var(--lc-tan-accent); }
.lc-stat__rule                       { width: 40px; height: 2px; background: var(--lc-tan); border-radius: 2px; margin: 0 0 14px; }
.lc-stat--gradient .lc-stat__rule    { background: var(--lc-band-maroon); width: 28px; margin: 0 auto 16px; }
.lc-stat__body {
  font-family: var(--lc-font-body);
  font-size: 14px; line-height: 1.55; color: var(--lc-ink-soft);
  margin: 0 0 16px; flex: 1;
}
.lc-stat--gradient .lc-stat__body { font-size: 13.5px; line-height: 1.5; margin: 0; color: var(--lc-body); }
.lc-stat__source {
  font-family: var(--lc-font-body);
  font-size: 11px; letter-spacing: 0.04em;
  color: var(--lc-muted); font-style: italic; margin: 0; line-height: 1.5;
}
@media (max-width: 1024px) { .lc-stat__value { font-size: 36px !important; } }
@media (max-width: 600px)  { .lc-stat__value { font-size: 30px !important; } }

/* ----- CLOSING BAND ----- */
.lc-closing { background: var(--lc-band-maroon); color: var(--lc-cream); padding: 72px 24px; text-align: center; overflow-x: hidden; }
.lc-closing__inner  { max-width: 880px; margin: 0 auto; }
.lc-closing__rule   { width: 56px; height: 2px; background: var(--lc-tan); border-radius: 2px; margin: 0 auto 28px; }
.lc-closing .lc-closing__title,
section.lc-closing h2.lc-closing__title { color: var(--lc-tan-accent) !important; margin: 0 0 22px; }
.lc-closing__body {
  font-family: var(--lc-font-body);
  font-size: 17px; line-height: 1.65;
  color: var(--lc-cream-soft); max-width: 720px; margin: 0 auto 32px;
}
.lc-closing__tagline {
  font-family: var(--lc-font-body);
  font-size: 13px; letter-spacing: 0.06em; font-weight: 500;
  color: var(--lc-tan); margin: 0; line-height: 1.5;
}
@media (min-width: 880px) { .lc-closing { padding: 96px 32px; } }
@media (max-width: 600px) { .lc-closing { padding: 56px 22px; } }

/* ----- STATUS BADGES ----- */
.lc-status {
  display: inline-flex; align-items: center;
  font-family: var(--lc-font-body);
  font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 999px; line-height: 1;
}
.lc-status--matched { background: var(--lc-status-ok-bg); color: var(--lc-status-ok-fg); }
.lc-status--review  { background: var(--lc-status-warn-bg); color: var(--lc-status-warn-fg); }

/* ----- BUTTONS ----- */
.lc-btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--lc-font-body);
  font-size: 14px; font-weight: 600; letter-spacing: 0.02em;
  padding: 13px 22px; border-radius: 8px;
  text-decoration: none; border: 1px solid transparent; cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.lc-btn--primary           { background: var(--lc-band-maroon); color: var(--lc-cream); }
.lc-btn--primary:hover     { background: var(--lc-band-maroon-deep); transform: translateY(-1px); }
.lc-btn--secondary         { background: transparent; color: var(--lc-band-maroon); border-color: var(--lc-band-maroon); }
.lc-btn--secondary:hover   { background: var(--lc-band-maroon); color: var(--lc-cream); transform: translateY(-1px); }

/* ============================================================
   MOBILE FOOTER  |  .lc-footer  (unchanged from v16)
   Show this footer on Mobile only (hide on Tablet + Desktop).
   ============================================================ */
.lc-footer {
  background: var(--lc-navy);
  color: var(--lc-cream-soft);
  font-family: var(--lc-font-body);
  padding: 72px 24px 32px;
  width: 100%;
  box-sizing: border-box;
}
.lc-footer__inner {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
.lc-footer__grid {
  display: grid;
  grid-template-columns: 37% 26% 37%;
  grid-template-areas: "links logo contact";
  gap: 0;
  align-items: start;
  width: 100%;
}
.lc-footer__col--links   { grid-area: links;   min-width: 0; padding-right: 24px; }
.lc-footer__col--logo    { grid-area: logo;    min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 12px; }
.lc-footer__col--contact { grid-area: contact; min-width: 0; display: flex; flex-direction: column; align-items: flex-end; text-align: right; padding-left: 24px; }
.lc-footer .lc-footer__heading {
  font-family: var(--lc-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
  color: var(--lc-tan-accent) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}
.lc-footer__nav-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.lc-footer__nav {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 12px;
}
.lc-footer__nav li { margin: 0; padding: 0; list-style: none; }
.lc-footer .lc-footer__nav a {
  font-family: var(--lc-font-body) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--lc-cream-soft) !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  transition: color 160ms ease;
}
.lc-footer .lc-footer__nav a:hover,
.lc-footer .lc-footer__nav a:focus-visible {
  color: var(--lc-tan-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
.lc-footer__brand { display: inline-block; line-height: 0; }
.lc-footer__logo {
  display: block;
  width: 160px; max-width: 100%; height: auto;
  opacity: 0.95; transition: opacity 160ms ease;
}
.lc-footer__brand:hover .lc-footer__logo { opacity: 1; }
.lc-footer__address {
  font-family: var(--lc-font-body);
  font-size: 14px; line-height: 1.7;
  color: var(--lc-cream-soft); font-style: normal; margin: 0;
}
.lc-footer__company { font-weight: 600; color: var(--lc-cream); }
.lc-footer__email-line { margin: 18px 0 0; font-family: var(--lc-font-body); font-size: 14px; line-height: 1.4; padding: 0; }
.lc-footer .lc-footer__email {
  color: var(--lc-tan-accent) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  word-break: break-word;
  transition: color 160ms ease;
}
.lc-footer .lc-footer__email:hover,
.lc-footer .lc-footer__email:focus-visible {
  color: var(--lc-cream) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
.lc-footer__bottom {
  margin-top: 56px; padding-top: 24px;
  border-top: 1px solid rgba(232, 220, 196, 0.15);
  text-align: center;
}
.lc-footer__copyright {
  font-family: var(--lc-font-body);
  font-size: 12px; letter-spacing: 0.04em;
  color: var(--lc-cream-soft); margin: 0; opacity: 0.75;
}
@media (max-width: 880px) {
  .lc-footer { padding: 56px 22px 28px; }
  .lc-footer__grid {
    grid-template-columns: 1fr;
    grid-template-areas: "logo" "links" "contact";
    gap: 40px;
  }
  .lc-footer__col--links,
  .lc-footer__col--logo,
  .lc-footer__col--contact {
    align-items: center; text-align: center; padding: 0;
  }
  .lc-footer__nav-grid {
    grid-template-columns: 1fr; gap: 12px; justify-items: center;
  }
  .lc-footer__nav { align-items: center; }
  .lc-footer__logo { width: 120px; }
  .lc-footer__bottom { margin-top: 40px; }
}

/* ============================================================
   DESKTOP / TABLET FOOTER  |  .lc-dfooter  (NEW in v17)
   Show this footer on Desktop + Tablet only (hide on Mobile).
   For an edge-to-edge navy band, set the Elementor section
   that contains the footer widget to:
     Edit Section → Layout → Content Width: Full Width
   ============================================================ */
.lc-dfooter {
  background: var(--lc-navy);
  color: var(--lc-cream-soft);
  font-family: var(--lc-font-body);
  padding: 72px 24px 32px;
  width: 100%;
  box-sizing: border-box;
}
.lc-dfooter__inner {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
.lc-dfooter__grid {
  display: grid;
  grid-template-columns: 37% 26% 37%;
  grid-template-areas: "links logo contact";
  gap: 0;
  align-items: start;
  width: 100%;
}
.lc-dfooter__col--links   { grid-area: links;   min-width: 0; padding-right: 24px; }
.lc-dfooter__col--logo    { grid-area: logo;    min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 12px; }
.lc-dfooter__col--contact { grid-area: contact; min-width: 0; display: flex; flex-direction: column; align-items: flex-end; text-align: right; padding-left: 24px; }

/* Column headings */
.lc-dfooter .lc-dfooter__heading {
  font-family: var(--lc-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
  color: var(--lc-tan-accent) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Left column: 2-column sub-grid for navigation */
.lc-dfooter__nav-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.lc-dfooter__nav {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 12px;
}
.lc-dfooter__nav li { margin: 0; padding: 0; list-style: none; }
.lc-dfooter .lc-dfooter__nav a {
  font-family: var(--lc-font-body) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--lc-cream-soft) !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  transition: color 160ms ease;
}
.lc-dfooter .lc-dfooter__nav a:hover,
.lc-dfooter .lc-dfooter__nav a:focus-visible {
  color: var(--lc-tan-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Center column: logo */
.lc-dfooter__brand { display: inline-block; line-height: 0; }
.lc-dfooter__logo {
  display: block;
  width: 160px; max-width: 100%; height: auto;
  opacity: 0.95; transition: opacity 160ms ease;
}
.lc-dfooter__brand:hover .lc-dfooter__logo { opacity: 1; }

/* Right column: address + email */
.lc-dfooter__address {
  font-family: var(--lc-font-body);
  font-size: 14px; line-height: 1.7;
  color: var(--lc-cream-soft); font-style: normal; margin: 0;
}
.lc-dfooter__company { font-weight: 600; color: var(--lc-cream); }
.lc-dfooter__email-line { margin: 18px 0 0; font-family: var(--lc-font-body); font-size: 14px; line-height: 1.4; padding: 0; }
.lc-dfooter .lc-dfooter__email {
  color: var(--lc-tan-accent) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  word-break: break-word;
  transition: color 160ms ease;
}
.lc-dfooter .lc-dfooter__email:hover,
.lc-dfooter .lc-dfooter__email:focus-visible {
  color: var(--lc-cream) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Bottom bar */
.lc-dfooter__bottom {
  margin-top: 56px; padding-top: 24px;
  border-top: 1px solid rgba(232, 220, 196, 0.15);
  text-align: center;
}
.lc-dfooter__copyright {
  font-family: var(--lc-font-body);
  font-size: 12px; letter-spacing: 0.04em;
  color: var(--lc-cream-soft); margin: 0; opacity: 0.75;
}

/* Tablet: tighten padding, fonts, logo so 3 cols still fit nicely */
@media (max-width: 1024px) {
  .lc-dfooter { padding: 56px 20px 28px; }
  .lc-dfooter__col--links   { padding-right: 16px; }
  .lc-dfooter__col--contact { padding-left: 16px; }
  .lc-dfooter__nav-grid { gap: 16px; }
  .lc-dfooter .lc-dfooter__nav a { font-size: 13px !important; line-height: 1.5 !important; }
  .lc-dfooter__logo { width: 130px; }
  .lc-dfooter__address { font-size: 13px; line-height: 1.6; }
  .lc-dfooter__email-line { font-size: 13px; margin-top: 14px; }
  .lc-dfooter__bottom { margin-top: 40px; }
}


/* ============================================================
   v30: PLATFORM HERO TITLE FIT (mobile)
   The Platform hero text column is capped (42% desktop, 50% at
   <= 600px) so the background image stays visible. On a phone
   that column is too narrow for the 14-letter word
   "reconciliation," so it split as "reconciliatio / n."
   Fix (Platform hero only, via the --wide modifier): widen the
   text column to full width on mobile and stop mid-word breaking.
   Add lc-hero-bg__content--wide to the Platform hero's
   .lc-hero-bg__content element. Scoped to <= 600px.
   ============================================================ */
@media (max-width: 600px) {
  .lc-hero-bg__content--wide { max-width: 100% !important; }
  .lc-hero-bg__content--wide .lc-title {
    overflow-wrap: normal !important;
    word-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

/* ============================================================
   v31: MOBILE CARD / GRID CONTAINMENT
   The Data Security section header and lede were contained by the
   v29 section clamp, but the three white cards (Security, Privacy,
   Evidence) still pushed past the right edge on mobile.

   CAUSE: the header is plain text and wraps to the clamped section
   width. The cards sit in a CSS grid, and the single-column mobile
   rule declared the track as "1fr", which the browser expands to
   "minmax(auto, 1fr)". That auto minimum lets the track grow to
   its content and slip past the container. Every other grid rule
   in this file already uses minmax(0, 1fr); only the mobile
   single-column rule used bare 1fr.

   FIX: declare the single-column mobile track as minmax(0, 1fr) so
   it can never exceed its container, and pin the grid and cards to
   100% width with min-width: 0 so they always shrink to fit.
   Scoped to mobile, so desktop multi-column layouts are untouched.
   ============================================================ */
@media (max-width: 768px) {
  .lc-grid {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .lc-grid > .lc-card,
  .lc-card {
    max-width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 600px) {
  .lc-grid--2, .lc-grid--3, .lc-grid--4, .lc-grid--5 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ============================================================
   v32 ADDS the About Us hero split layout.
   .lc-hero-bg--split turns the standard full-bleed hero band
   into a two-column layout: copy on the left, a transparent
   logo (or illustration) on the right, over a warm cream-to-tan
   gradient. Scoped entirely to --split so the existing
   background-image heroes (Home, Platform, Growers, Brands,
   Financial Institutions, Regulatory Agencies) are untouched.
   Used by: About Us hero (ABOUT - Hero snippet).
   ============================================================ */
.lc-hero-bg--split {
  background-image: linear-gradient(135deg,
    var(--lc-cream) 0%, var(--lc-cream-soft) 60%, var(--lc-tan) 100%);
}
.lc-hero-bg--split::before { display: none; }
.lc-hero-bg--split .lc-hero-bg__inner {
  display: flex; align-items: center;
  justify-content: space-between; gap: 56px;
}
.lc-hero-bg--split .lc-hero-bg__content {
  max-width: 560px; flex: 1 1 54%;
}
.lc-hero-bg__media {
  flex: 0 1 42%; display: flex;
  justify-content: center; align-items: center;
}
.lc-hero-bg__logo {
  display: block; width: 100%; max-width: 360px; height: auto;
}
@media (max-width: 880px) {
  .lc-hero-bg--split .lc-hero-bg__inner {
    flex-direction: column; align-items: flex-start; gap: 32px;
  }
  .lc-hero-bg--split .lc-hero-bg__content { max-width: 100%; flex: 0 0 auto; }
  .lc-hero-bg__media { flex: 0 0 auto; width: 100%; justify-content: flex-start; }
  .lc-hero-bg__logo { max-width: 240px; }
}


/* ============================================================
   v33 ADDS .lc-section__header--narrow (760px): a centered,
   narrow header measure for short single-band sections.
   Pairs with .lc-section__header--center. New modifier only;
   no existing rule changes. Used by: About Us Self Funded band.
   ============================================================ */
.lc-section__header--narrow { max-width: 760px; }


/* ============================================================
   v34 ADDS two small utilities for the Problem page
   'What must change' section:
   1. .lc-bullets--maroon: maroon dots for bullet lists set
      inside a cream callout card (the default tan dot is low
      contrast on cream). New modifier only.
   2. .lc-prose: stacked body paragraphs with spacing between
      them, since .lc-lede uses margin 0. Reuses lede type.
   ============================================================ */
.lc-bullets--maroon li::before { background: var(--lc-band-maroon); }
.lc-prose { display: flex; flex-direction: column; gap: 18px; }
.lc-prose .lc-lede { margin: 0; }


/* ============================================================
   v35 ADDS .lc-card__icon--lg: a card icon 15% larger than the
   60px base (69px). Scoped modifier only; the base .lc-card__icon
   and every card icon using it are unchanged. Used by: Brands
   page 'Brand blind spot' cards.
   ============================================================ */
.lc-card__icon--lg { width: 69px; height: 69px; }

/* ============================================================
   v36 ADDS the Who We Help tabbed estimator control:
   .lc-tabs__list / .lc-tab (segment switcher buttons),
   .lc-tabs__panel (white panel holding each embedded app),
   .lc-tabs__frame (the auto-height iframe), plus a scroll
   offset on #lc-estimate for anchor arrivals. The active tab
   inverts to the maroon band color, matching .lc-btn--primary.
   New classes only; no existing rule changes.
   Used by: Who We Help, Estimate Your Value section.
   ============================================================ */
.lc-tabs__list {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin: 0 0 18px; padding: 0;
}
.lc-tab {
  flex: 1 1 200px;
  font-family: var(--lc-font-body);
  font-size: 13px; font-weight: 600; letter-spacing: 0.04em;
  color: var(--lc-band-maroon);
  background: #fff; border: 1px solid var(--lc-cream-border-deep);
  border-radius: 8px; padding: 13px 18px;
  cursor: pointer; text-align: center;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
.lc-tab:hover { border-color: var(--lc-band-maroon); }
.lc-tab[aria-selected="true"] {
  background: var(--lc-band-maroon);
  color: var(--lc-cream);
  border-color: var(--lc-band-maroon);
}
.lc-tab:focus-visible { outline: 2px solid var(--lc-tan); outline-offset: 2px; }
.lc-tabs__panel {
  background: #fff; border: 1px solid var(--lc-cream-border);
  border-radius: var(--lc-radius); padding: 26px;
}
.lc-tabs__panel[hidden] { display: none; }
.lc-tabs__frame {
  width: 100%; border: 0; display: block;
  background: var(--lc-cream);
  margin-top: 18px; min-height: 0; overflow: hidden;
}
#lc-estimate { scroll-margin-top: 90px; }
@media (max-width: 600px) {
  .lc-tab { flex: 1 1 100%; }
  .lc-tabs__panel { padding: 18px 14px; }
}


/* ============================================================
   v37 ADDS .lc-flow-line--4: a four-item variant of the
   arrow-connected flow (base is three items, --5 is five).
   Mirrors the --5 mobile behavior: collapses to a single
   column with rotated (downward) arrows. New modifier only;
   no existing rule changes.
   Used by: Who We Help, How the Value Compounds section.
   ============================================================ */
.lc-flow-line--4 {
  grid-template-columns: 1fr 28px 1fr 28px 1fr 28px 1fr;
  gap: 12px;
}
@media (max-width: 1080px) {
  .lc-flow-line--4 { grid-template-columns: 1fr !important; gap: 14px !important; }
  .lc-flow-line--4 .lc-arrow { transform: rotate(90deg); padding: 4px 0; }
}


/* ============================================================
   v38 HARDENS the Who We Help estimator tabs (.lc-tab).
   PROBLEM: the theme/kit global <button> styles leaked into the
   tab buttons: tan backgrounds and drop shadows on inactive
   tabs, and the kit's pink hover tint. The v36 rules lost on
   specificity against the kit's button .elementor-kit-31s.
   FIX: scope to #lc-estimate and assert the visual properties
   with !important so the kit can never restyle the tabs. Hover
   and keyboard focus now use navy #152F48 (--lc-navy) per
   design. The selected tab stays maroon, including on hover.
   Overrides only; the v36 block is unchanged for history.
   ============================================================ */
#lc-estimate .lc-tab {
  font-family: var(--lc-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  color: var(--lc-band-maroon) !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--lc-cream-border-deep) !important;
  border-radius: 8px !important;
  padding: 13px 18px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  -webkit-appearance: none;
  appearance: none;
}
#lc-estimate .lc-tab:hover,
#lc-estimate .lc-tab:focus,
#lc-estimate .lc-tab:active {
  background: var(--lc-navy) !important;
  color: var(--lc-cream) !important;
  border-color: var(--lc-navy) !important;
  box-shadow: none !important;
}
#lc-estimate .lc-tab[aria-selected="true"],
#lc-estimate .lc-tab[aria-selected="true"]:hover,
#lc-estimate .lc-tab[aria-selected="true"]:focus {
  background: var(--lc-band-maroon) !important;
  color: var(--lc-cream) !important;
  border-color: var(--lc-band-maroon) !important;
}


/* ============================================================
   v39 FIXES the Who We Help scroll trap at the estimator.
   CAUSE: the embed script re-measured the active calculator on
   a 1.5s timer by collapsing the iframe to 0px and restoring
   it. Each tick momentarily removed ~2,000px of layout above
   the viewport; the browser's scroll anchoring compensated and
   pulled the viewport back to the estimator, so the page could
   not be scrolled past the section.
   FIX (two halves):
   1. The WWH-04 widget script (v3) now collapse-measures only
      while a calculator first loads; steady state uses a
      read-only measurement that never changes layout.
   2. This rule disables scroll anchoring inside the section so
      any residual iframe height change can never pull the
      viewport. New rule only; no existing rule changes.
   ============================================================ */
#lc-estimate,
#lc-estimate .lc-tabs__panel { overflow-anchor: none; }

/* ============================================================
   v40 SETS the footer section headings (EXPLORE / CONTACT) and
   the contact links (email, phone) to white in BOTH footers
   (desktop .lc-dfooter and mobile .lc-footer).
   NOTE: the v17 base rules set these to tan-accent with
   !important, which also outranks inline styles; that is why
   inline color pins on the footer HTML had no effect. These
   same-specificity rules sit later in the sheet, so they win
   the cascade. Hover/focus on the email and phone links now
   returns tan-accent so the hover state stays visible against
   the navy band. Overrides only; no existing rule changes.
   ============================================================ */
.lc-dfooter .lc-dfooter__heading,
.lc-footer .lc-footer__heading {
  color: #FFFFFF !important;
}
.lc-dfooter .lc-dfooter__email,
.lc-footer .lc-footer__email {
  color: #FFFFFF !important;
}
.lc-dfooter .lc-dfooter__email:hover,
.lc-dfooter .lc-dfooter__email:focus-visible,
.lc-footer .lc-footer__email:hover,
.lc-footer .lc-footer__email:focus-visible {
  color: var(--lc-tan-accent) !important;
}

/* ============================================================
   v41 STYLES the header "Client Portal" button.
   Normal: #B87841 background, #FBF8F0 text.
   Hover/focus: #651F21 background, #FBF8F0 text.
   HOW TO WIRE: in the Elementor header template, select the
   Client Portal button widget, then Advanced > CSS Classes,
   and add: lc-portal-btn
   Selectors cover the Elementor button widget, a styled text
   link, and a nav-menu CTA item, so the rule applies whichever
   widget type renders the button. !important defeats the kit's
   global button colors. New rules only.
   ============================================================ */
.lc-portal-btn .elementor-button,
.lc-portal-btn a.elementor-button,
a.lc-portal-btn,
.lc-portal-btn a {
  background-color: #B87841 !important;
  background-image: none !important;
  color: #FBF8F0 !important;
}
.lc-portal-btn .elementor-button .elementor-button-text,
.lc-portal-btn a .elementor-button-text {
  color: #FBF8F0 !important;
}
.lc-portal-btn .elementor-button:hover,
.lc-portal-btn .elementor-button:focus,
.lc-portal-btn a.elementor-button:hover,
.lc-portal-btn a.elementor-button:focus,
a.lc-portal-btn:hover,
a.lc-portal-btn:focus,
.lc-portal-btn a:hover,
.lc-portal-btn a:focus {
  background-color: #651F21 !important;
  color: #FBF8F0 !important;
}
.lc-portal-btn .elementor-button:hover .elementor-button-text,
.lc-portal-btn .elementor-button:focus .elementor-button-text {
  color: #FBF8F0 !important;
}


/* ============================================================
   v42 FIXES the Client Portal button text still rendering
   #0a1014 after v41.
   WHY v41 COULD MISS: Elementor places custom classes on the
   widget WRAPPER, header builders vary their markup, the site
   renders separate desktop and mobile header instances, and
   the kit can color the inner text span directly. v41 only
   matched if the lc-portal-btn class sat exactly where
   expected.
   THE v42 FIX needs no manual class. The Client Portal button
   is the only .elementor-button in the header, so these rules
   target every common header wrapper and every inner element
   of the button, including link states. The .lc-portal-btn
   rules from v41 remain as a secondary hook.
   AFTER PASTING: regenerate CSS (Elementor > Tools >
   Regenerate CSS & Data) and clear any page cache, then hard
   refresh. Stale cached CSS shows exactly this symptom.
   ============================================================ */
[data-elementor-type="header"] .elementor-button,
[data-elementor-type="header"] .elementor-button *,
.elementor-location-header .elementor-button,
.elementor-location-header .elementor-button *,
header .elementor-button,
header .elementor-button *,
.ehf-header .elementor-button,
.ehf-header .elementor-button *,
.lc-portal-btn,
.lc-portal-btn * {
  color: #FBF8F0 !important;
}
[data-elementor-type="header"] .elementor-button,
.elementor-location-header .elementor-button,
header .elementor-button,
.ehf-header .elementor-button,
.lc-portal-btn a,
a.lc-portal-btn {
  background-color: #B87841 !important;
  background-image: none !important;
}
[data-elementor-type="header"] .elementor-button:link,
[data-elementor-type="header"] .elementor-button:visited,
.elementor-location-header .elementor-button:link,
.elementor-location-header .elementor-button:visited,
header .elementor-button:link,
header .elementor-button:visited {
  color: #FBF8F0 !important;
}
[data-elementor-type="header"] .elementor-button:hover,
[data-elementor-type="header"] .elementor-button:focus,
[data-elementor-type="header"] .elementor-button:hover *,
[data-elementor-type="header"] .elementor-button:focus *,
.elementor-location-header .elementor-button:hover,
.elementor-location-header .elementor-button:focus,
.elementor-location-header .elementor-button:hover *,
.elementor-location-header .elementor-button:focus *,
header .elementor-button:hover,
header .elementor-button:focus,
header .elementor-button:hover *,
header .elementor-button:focus *,
.ehf-header .elementor-button:hover,
.ehf-header .elementor-button:focus,
.lc-portal-btn a:hover,
.lc-portal-btn a:focus,
a.lc-portal-btn:hover,
a.lc-portal-btn:focus {
  color: #FBF8F0 !important;
}
[data-elementor-type="header"] .elementor-button:hover,
[data-elementor-type="header"] .elementor-button:focus,
.elementor-location-header .elementor-button:hover,
.elementor-location-header .elementor-button:focus,
header .elementor-button:hover,
header .elementor-button:focus,
.ehf-header .elementor-button:hover,
.ehf-header .elementor-button:focus,
.lc-portal-btn a:hover,
.lc-portal-btn a:focus,
a.lc-portal-btn:hover,
a.lc-portal-btn:focus {
  background-color: #651F21 !important;
}/* End custom CSS */