
/* --- widget wrappers stay out of the way ------------------------------- */
.elementor-element.elementor-widget{ display:block; }
.e-con, .e-con-inner{ --gap:0px; --row-gap:0px; --column-gap:0px; }

/* --- headings: the design class sits on the wrapper, the tag sits inside - */
.elementor-widget-heading .elementor-heading-title{
  font-size:inherit; line-height:inherit; letter-spacing:inherit; text-transform:inherit;
}

/* --- text: the original tag and its class are kept verbatim -------------- */
.elementor-widget-text-editor{ color:inherit; }
.elementor-widget-text-editor > :last-child{ margin-bottom:0; }

/* --- images fill the media wrapper they sit in --------------------------- */
.elementor-widget-image{ display:block; width:100%; height:100%; line-height:0; }
.elementor-widget-image > img,
.elementor-widget-image figure,
.elementor-widget-image a{ display:block; width:100%; height:100%; }
.elementor-widget-image img{ display:block; }

/* --- icons: drop Elementor's boxes so our own sizing still applies ------- */
.elementor-widget-icon,
.elementor-widget-icon .elementor-icon-wrapper,
.elementor-widget-icon .elementor-icon{ display:contents; }
.elementor-widget-icon .elementor-icon svg,
.elementor-widget-icon svg{ width:24px; height:24px; fill:none; }

/* --- buttons: strip the wrapper, dress the anchor inside ----------------- */
.elementor-widget-button[class*="lf-btn"]{
  background:none !important; border:0 !important; padding:0 !important;
  min-height:0 !important; box-shadow:none !important; transform:none !important;
  border-radius:0 !important; color:inherit !important; display:inline-block !important;
}
.elementor-widget-button .elementor-button-content-wrapper{
  display:inline-flex; align-items:center; gap:.55em;
}
.elementor-widget-button .elementor-button-icon{ display:inline-flex; }
.elementor-widget-button .elementor-button-icon svg{ width:17px; height:17px; }
.elementor-widget-button .elementor-button-text{ flex-grow:0; }

/* --- FAQ accordion: keep our own marker, drop Elementor's ---------------- */
.lf-faq .e-n-accordion{ display:block; }
.lf-faq .e-n-accordion-item{ border-bottom:1px solid var(--line); }
.lf-faq .e-n-accordion-item-title-icon{ display:none !important; }
.lf-faq summary.e-n-accordion-item-title{
  cursor:pointer; padding:22px 52px 22px 0 !important; position:relative; list-style:none;
  display:block !important; background:none !important; border:0 !important;
  font-family:var(--lf-display); font-weight:700; font-size:1.04rem; color:var(--ink); line-height:1.4;
}
.lf-faq .e-n-accordion-item-title-header{ margin:0; }
.lf-faq .e-n-accordion-item-title-text{ font:inherit; color:inherit; margin:0; letter-spacing:inherit; }
.lf-faq summary.e-n-accordion-item-title::after{
  content:""; position:absolute; right:8px; top:50%; width:14px; height:14px; margin-top:-7px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EE8322' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform var(--dur) var(--ease);
}
.lf-faq details[open] > summary.e-n-accordion-item-title::after{ transform:rotate(135deg); }

/* ==========================================================================
   ELEMENTOR BRIDGE - generated, do not hand-edit
   Re-asserts the design system over Elementor's container defaults.
   ========================================================================== */
.lf-container{width:100% !important;max-width:var(--wrap) !important;margin-inline:auto !important;padding-inline:var(--gutter) !important}
.lf-eyebrow{display:inline-flex !important;flex-direction:row !important;align-items:center !important;gap:9px !important;margin:0 0 18px !important}
.lf-eyebrow::before{width:22px !important;height:2px !important}
.lf-btn{display:inline-flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:.55em !important;min-height:48px !important;padding:13px 26px !important;text-align:center !important}
.lf-btn svg{width:17px !important;height:17px !important}
.lf-btn--lg{min-height:54px !important;padding:16px 32px !important}
.lf-sec{padding:clamp(64px,8.4vw,132px) 0 !important;position:relative !important}
.lf-sec--sm{padding:clamp(48px,5.6vw,84px) 0 !important}
.lf-sec--xs{padding:clamp(34px,4vw,56px) 0 !important}
.lf-head{display:grid !important;grid-template-columns:1fr 1fr !important;gap:clamp(24px,4vw,72px) !important;align-items:end !important;margin-bottom:clamp(38px,4.6vw,64px) !important}
.lf-head__t h2{margin-bottom:0 !important}
.lf-head__d{padding-bottom:6px !important}
.lf-head__d p{margin-bottom:0 !important}
.lf-head--stack{grid-template-columns:1fr !important;gap:18px !important;align-items:start !important;max-width:820px !important}
.lf-head--centre{grid-template-columns:1fr !important;text-align:center !important;max-width:760px !important;margin-inline:auto !important;gap:16px !important}
.lf-head--centre .lf-eyebrow{justify-content:center !important}
.lf-bar .lf-container{display:flex !important;flex-direction:row !important;justify-content:space-between !important;align-items:center !important;gap:20px !important;min-height:38px !important;flex-wrap:wrap !important}
.lf-hero{position:relative !important;overflow:hidden !important}
.lf-hero::after{position:absolute !important;width:52% !important;height:78% !important}
.lf-hero__in{position:relative !important;display:grid !important;grid-template-columns:1.02fr .98fr !important;gap:clamp(32px,4.6vw,76px) !important;align-items:center !important;padding:clamp(48px,5.6vw,84px) 0 clamp(56px,6.4vw,96px) !important}
.lf-hero__t{max-width:600px !important}
.lf-hero__t h1{margin-bottom:22px !important}
.lf-hero__acts{display:flex !important;flex-direction:row !important;gap:13px !important;flex-wrap:wrap !important;margin-bottom:34px !important}
.lf-hero__trust{display:flex !important;flex-direction:row !important;align-items:center !important;gap:16px !important;flex-wrap:wrap !important;padding-top:26px !important}
.lf-hero__trust span{display:block !important;max-width:150px !important}
.lf-hero__trust > div{display:flex !important;flex-direction:row !important;align-items:center !important;gap:11px !important}
.lf-hero__trust .lf-vr{width:1px !important;height:34px !important}
.lf-hero__v{position:relative !important}
.lf-hero__v-main{overflow:hidden !important}
.lf-hero__v-main img{width:100% !important;height:100% !important}
.lf-hero__v-sub{position:absolute !important;width:44% !important;overflow:hidden !important}
.lf-hero__v-sub img{width:100% !important;height:100% !important}
.lf-purpose{max-width:1000px !important}
.lf-purpose p{margin-bottom:0 !important}
.lf-purpose__meta{display:flex !important;flex-direction:row !important;gap:clamp(20px,3vw,48px) !important;flex-wrap:wrap !important;margin-top:44px !important;padding-top:32px !important}
.lf-purpose__meta div{max-width:250px !important}
.lf-purpose__meta b{display:block !important;margin-bottom:5px !important}
.lf-progs{display:grid !important;grid-template-columns:repeat(6,1fr) !important;gap:clamp(14px,1.6vw,22px) !important}
.lf-pc{position:relative !important;overflow:hidden !important;display:flex !important;flex-direction:column !important}
.lf-pc__img{position:relative !important;overflow:hidden !important}
.lf-pc__img img{width:100% !important;height:100% !important}
.lf-pc__b{padding:24px 24px 26px !important;display:flex !important;flex-direction:column !important;flex:1 !important}
.lf-pc h3{margin-bottom:9px !important}
.lf-pc p{margin-bottom:16px !important}
.lf-pc--xl{grid-column:span 3 !important}
.lf-pc--md{grid-column:span 3 !important}
.lf-pc--sm{grid-column:span 2 !important}
.lf-pc--plain .lf-pc__b{padding:22px 0 0 !important}
.lf-ways{display:grid !important;grid-template-columns:1fr 1fr !important;gap:clamp(16px,2vw,28px) !important}
.lf-way{padding:clamp(28px,3vw,44px) !important;position:relative !important;overflow:hidden !important;display:flex !important;flex-direction:column !important}
.lf-way h3{margin-bottom:12px !important}
.lf-way > p{margin-bottom:28px !important;max-width:420px !important}
.lf-way__foot{margin-top:auto !important}
.lf-journey{position:relative !important}
.lf-journey__line{position:absolute !important}
.lf-jsteps{display:grid !important;grid-template-columns:repeat(6,1fr) !important;gap:16px !important;position:relative !important}
.lf-jstep{text-align:left !important}
.lf-jstep__n{width:68px !important;height:68px !important;display:grid !important;margin-bottom:20px !important}
.lf-jstep__n svg{width:26px !important;height:26px !important}
.lf-jstep h3{margin-bottom:7px !important}
.lf-jstep p{margin-bottom:0 !important}
.lf-figs{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important}
.lf-map{display:grid !important;grid-template-columns:1.05fr .95fr !important;gap:clamp(30px,4vw,64px) !important;align-items:start !important}
.lf-districts{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:10px !important}
.lf-legend{display:flex !important;flex-direction:row !important;gap:20px !important;flex-wrap:wrap !important;margin-top:24px !important}
.lf-legend div{display:flex !important;flex-direction:row !important;align-items:center !important;gap:8px !important}
.lf-legend i{width:11px !important;height:11px !important;display:block !important}
.lf-story{display:grid !important;grid-template-columns:.86fr 1.14fr !important;gap:clamp(26px,3.6vw,64px) !important;align-items:center !important}
.lf-story__arc{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;margin-top:30px !important}
.lf-story__arc div{padding:18px 16px 0 0 !important}
.lf-story__arc b{display:block !important;margin-bottom:7px !important}
.lf-break{position:relative !important}
.lf-break img{width:100% !important;height:clamp(280px,42vw,540px) !important;display:block !important}
.lf-break__cap{position:absolute !important;padding:clamp(24px,3vw,46px) 0 !important}
.lf-break__cap p{margin:0 !important;max-width:640px !important}
.lf-break__cap small{display:block !important;margin-top:10px !important}
.lf-collage{display:grid !important;grid-template-columns:1.6fr 1fr !important;grid-template-rows:1fr 1fr !important;gap:14px !important}
.lf-collage img{width:100% !important;height:100% !important}
.lf-collage__a{grid-row:span 2 !important}
.lf-collage__a img{min-height:340px !important}
.lf-collage__b img,.lf-collage__c img{min-height:163px !important}
.lf-docs{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:clamp(14px,1.8vw,22px) !important}
.lf-doc{padding:26px 24px !important;display:flex !important;flex-direction:column !important}
.lf-doc__ic{width:44px !important;height:44px !important;display:grid !important;margin-bottom:18px !important}
.lf-doc__ic svg{width:21px !important;height:21px !important}
.lf-doc h3{margin-bottom:9px !important}
.lf-doc p{margin-bottom:18px !important}
.lf-doc .lf-link{margin-top:auto !important;align-self:flex-start !important}
.lf-news{display:grid !important;grid-template-columns:1fr 1fr !important;gap:clamp(26px,3.4vw,60px) !important;align-items:center !important}
.lf-news h2{margin-bottom:12px !important}
.lf-news > div > p{margin:0 !important;max-width:430px !important}
.lf-final{position:relative !important;overflow:hidden !important}
.lf-final__bg{position:absolute !important}
.lf-final__bg img{width:100% !important;height:100% !important}
.lf-final__bg::after{position:absolute !important}
.lf-final__in{position:relative !important;padding:clamp(64px,8vw,124px) 0 !important;max-width:720px !important}
.lf-final h2{margin-bottom:18px !important}
.lf-final p{margin-bottom:32px !important;max-width:540px !important}
.lf-final__acts{display:flex !important;flex-direction:row !important;gap:13px !important;flex-wrap:wrap !important}
.lf-phero{position:relative !important;overflow:hidden !important}
.lf-phero__bg{position:absolute !important}
.lf-phero__bg img{width:100% !important;height:100% !important}
.lf-phero__bg::after{position:absolute !important}
.lf-phero__in{position:relative !important;padding:clamp(52px,6.4vw,96px) 0 clamp(48px,5.6vw,84px) !important;max-width:760px !important}
.lf-phero h1{margin-bottom:18px !important}
.lf-phero p{margin-bottom:0 !important;max-width:620px !important}
.lf-phero__acts{display:flex !important;flex-direction:row !important;gap:12px !important;flex-wrap:wrap !important;margin-top:30px !important}
.lf-split{display:grid !important;grid-template-columns:1fr 1fr !important;gap:clamp(30px,4.4vw,76px) !important;align-items:center !important}
.lf-split--wl{grid-template-columns:1.12fr .88fr !important}
.lf-split--wr{grid-template-columns:.88fr 1.12fr !important}
.lf-split.is-flip .lf-split__m{order:2 !important}
.lf-split__m img{width:100% !important}
.lf-split__b h2{margin-bottom:18px !important}
.lf-feats{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:clamp(20px,2.6vw,40px) !important}
.lf-feat__ic{width:48px !important;height:48px !important;display:grid !important;margin-bottom:18px !important}
.lf-feat__ic svg{width:22px !important;height:22px !important}
.lf-feat h3{margin-bottom:9px !important}
.lf-feat p{margin-bottom:0 !important}
.lf-note{padding:22px 26px !important}
.lf-note p:last-child{margin-bottom:0 !important}
.lf-faq{max-width:860px !important}
.lf-faq summary{padding:22px 52px 22px 0 !important;position:relative !important}
.lf-faq summary::-webkit-details-marker{display:none !important}
.lf-faq summary::after{position:absolute !important;width:14px !important;height:14px !important;margin-top:-7px !important}
.lf-prose{max-width:var(--read) !important}
.lf-prose > *:first-child{margin-top:0 !important}
.lf-prose h2{margin:2.3em 0 .55em !important}
.lf-prose h3{margin:1.9em 0 .5em !important}
.lf-prose p{margin-bottom:1.3em !important}
.lf-prose ul,.lf-prose ol{margin:0 0 1.6em !important;padding-left:1.25em !important}
.lf-prose li{margin-bottom:.55em !important}
.lf-prose blockquote{margin:2.2em 0 !important;padding:4px 0 4px 26px !important}
.lf-prose blockquote p{margin-bottom:0 !important}
.lf-prose figure{margin:2.3em 0 !important}
.lf-prose figure img{width:100% !important}
.lf-prose figcaption{margin-top:11px !important}
.lf-prose table{width:100% !important;margin:2em 0 !important}
.lf-prose th,.lf-prose td{padding:12px 15px !important;text-align:left !important}
.lf-prose .lf-note{margin:2em 0 !important}
.lf-posts{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:clamp(16px,2vw,26px) !important}
.lf-post{overflow:hidden !important;display:flex !important;flex-direction:column !important}
.lf-post__b{padding:22px 22px 24px !important;display:flex !important;flex-direction:column !important;flex:1 !important}
.lf-post h3{margin-bottom:10px !important}
.lf-post p{margin-bottom:16px !important}
.lf-contact{display:grid !important;grid-template-columns:1fr 1fr !important;gap:clamp(24px,3.4vw,52px) !important}
.lf-cbox{padding:32px 30px !important}
.lf-crow{display:flex !important;flex-direction:row !important;gap:16px !important;align-items:flex-start !important;padding:17px 0 !important}
.lf-crow:last-child{padding-bottom:0 !important}
.lf-crow__ic{width:40px !important;height:40px !important;display:grid !important}
.lf-crow__ic svg{width:18px !important;height:18px !important}
.lf-crow h4{margin-bottom:4px !important}
.lf-crow p{margin-bottom:0 !important}
.lf-logos{display:grid !important;grid-template-columns:repeat(6,1fr) !important;gap:14px !important}
.lf-mt24{margin-top:24px !important}
.lf-mt32{margin-top:32px !important}
.lf-wap{padding:clamp(24px,3vw,38px) !important}
.lf-wap h3{margin-bottom:10px !important}
.lf-wap p{margin-bottom:22px !important}
.lf-logos--real{display:flex !important;flex-direction:row !important;justify-content:center !important;gap:18px !important;flex-wrap:wrap !important}
.lf-container{padding-inline:var(--gutter) !important}
.lf-mob__learn .lf-btn{width:100% !important;padding-inline:12px !important}
@media (max-width:1100px){
.lf-jsteps{grid-template-columns:repeat(3,1fr) !important;row-gap:36px !important}
.lf-journey__line{display:none !important}
.lf-progs{grid-template-columns:repeat(4,1fr) !important}
.lf-pc--xl,.lf-pc--md{grid-column:span 2 !important}
.lf-pc--sm{grid-column:span 2 !important}
.lf-courses,.lf-docs,.lf-posts,.lf-feats{grid-template-columns:repeat(2,1fr) !important}
.lf-logos{grid-template-columns:repeat(4,1fr) !important}
.lf-districts{grid-template-columns:repeat(3,1fr) !important}
.lf-map{grid-template-columns:1fr !important;gap:36px !important}
.lf-hero__in{grid-template-columns:1fr !important;gap:44px !important}
.lf-hero__v{max-width:520px !important}
.lf-hero::after{display:none !important}
}
@media (max-width:900px){
.lf-hd__cta .lf-btn{display:none !important}
.lf-bar .lf-container{justify-content:center !important}
.lf-head{grid-template-columns:1fr !important;gap:18px !important;align-items:start !important}
.lf-ways{grid-template-columns:1fr !important}
.lf-split,.lf-split--wl,.lf-split--wr{grid-template-columns:1fr !important;gap:32px !important}
.lf-split.is-flip .lf-split__m{order:0 !important}
.lf-story{grid-template-columns:1fr !important;gap:30px !important}
.lf-story__arc{grid-template-columns:repeat(2,1fr) !important}
.lf-story__arc div{padding-right:14px !important}
.lf-figs{grid-template-columns:repeat(2,1fr) !important}
.lf-news{grid-template-columns:1fr !important;gap:26px !important}
.lf-contact{grid-template-columns:1fr !important}
.lf-collage{grid-template-columns:1fr 1fr !important;grid-template-rows:auto auto !important}
.lf-collage__a{grid-column:span 2 !important;grid-row:auto !important}
.lf-collage__a img{min-height:0 !important}
}
@media (max-width:640px){
.lf-progs{grid-template-columns:1fr !important}
.lf-pc--xl,.lf-pc--md,.lf-pc--sm{grid-column:span 1 !important}
.lf-jsteps{grid-template-columns:1fr !important;row-gap:0 !important}
.lf-jstep{display:grid !important;grid-template-columns:68px 1fr !important;gap:18px !important;padding-bottom:26px !important;position:relative !important}
.lf-jstep::after{position:absolute !important;width:2px !important}
.lf-jstep:last-child::after{display:none !important}
.lf-jstep__n{margin-bottom:0 !important}
.lf-jstep__tx{padding-top:6px !important}
.lf-courses,.lf-docs,.lf-posts,.lf-feats{grid-template-columns:1fr !important}
.lf-logos{grid-template-columns:repeat(2,1fr) !important}
.lf-districts{grid-template-columns:repeat(2,1fr) !important}
.lf-figs{grid-template-columns:1fr !important}
.lf-give__f .lf-btn{width:100% !important}
.lf-hero__acts .lf-btn,.lf-final__acts .lf-btn,.lf-phero__acts .lf-btn{width:100% !important}
.lf-hero__v-sub{width:48% !important}
.lf-hero__trust{gap:12px !important}
.lf-hero__trust .lf-vr{display:none !important}
.lf-story__arc{grid-template-columns:1fr !important}
.lf-news__form .lf-btn{width:100% !important}
.lf-faq summary{padding-right:40px !important}
.lf-purpose__meta{gap:22px !important}
}
@media print{
.lf-head-wrap,.lf-bar,.lf-ft,.lf-mob,.lf-final,.lf-burger{display:none !important}
.lf-prose{max-width:none !important}
}
@media (max-width:760px){
body.lf .lf-bar .lf-container{justify-content:center !important;min-height:34px !important}
}
@media (max-width:1024px){
.lf-hero__t{max-width:none !important}
.lf-hero__v{max-width:none !important}
.lf-phero__in{max-width:none !important}
}

/* --- button styles moved onto Elementor's anchor --- */
body.lf a:not(.lf-btn) .elementor-button{color:var(--forest) !important}
.lf-btn .elementor-button{display:inline-flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:.55em !important;min-height:48px !important;padding:13px 26px !important;border-radius:var(--r-sm) !important;font-family:var(--lf-display) !important;font-weight:700 !important;font-size:.95rem !important;letter-spacing:-.005em !important;border:1.5px solid transparent !important;cursor:pointer !important;text-align:center !important;line-height:1.25 !important;background:var(--forest) !important;color:var(--white) !important;transition:background var(--dur) var(--ease), color var(--dur) var(--ease),
             border-color var(--dur) var(--ease), transform var(--dur) var(--ease) !important;text-decoration:none !important}
.lf-btn:hover .elementor-button{background:var(--forest-700) !important;color:var(--white) !important;transform:translateY(-1px) !important}
.lf-btn:active .elementor-button{transform:translateY(0) !important}
.lf-btn--accent .elementor-button{background:var(--terra) !important;color:var(--white) !important}
.lf-btn--accent:hover .elementor-button{background:var(--terra-700) !important}
.lf-btn--line .elementor-button{background:transparent !important;color:var(--forest) !important;border-color:var(--line) !important}
.lf-btn--line:hover .elementor-button{background:var(--forest) !important;border-color:var(--forest) !important;color:var(--white) !important}
.lf-btn--ondark .elementor-button{background:transparent !important;color:var(--white) !important;border-color:rgba(255,255,255,.34) !important}
.lf-btn--ondark:hover .elementor-button{background:var(--white) !important;border-color:var(--white) !important;color:var(--forest) !important}
.lf-btn--solid-light .elementor-button{background:var(--white) !important;color:var(--forest) !important}
.lf-btn--solid-light:hover .elementor-button{background:var(--cream) !important;color:var(--forest-700) !important}
.lf-btn--sm .elementor-button{min-height:42px !important;padding:10px 18px !important;font-size:.86rem !important}
.lf-btn--lg .elementor-button{min-height:54px !important;padding:16px 32px !important;font-size:1rem !important}
.lf-btn--block .elementor-button{width:100% !important}
body.lf .lf-ft .lf-btn .elementor-button,body.lf .lf-ft .lf-btn:hover .elementor-button{color:var(--white) !important}
body.lf .lf-forest a:not(.lf-btn):not(.lf-wap__btn) .elementor-button,body.lf .lf-forest-900 a:not(.lf-btn):not(.lf-wap__btn) .elementor-button,body.lf .lf-final a:not(.lf-btn) .elementor-button,body.lf .lf-map a:not(.lf-btn) .elementor-button,body.lf .lf-news a:not(.lf-btn) .elementor-button,body.lf .lf-quote a:not(.lf-btn) .elementor-button,body.lf .lf-way--job a:not(.lf-btn) .elementor-button{color:var(--gold) !important}
body.lf .lf-forest a:not(.lf-btn):hover .elementor-button,body.lf .lf-forest-900 a:not(.lf-btn):hover .elementor-button,body.lf .lf-final a:not(.lf-btn):hover .elementor-button,body.lf .lf-news a:not(.lf-btn):hover .elementor-button{color:var(--white) !important}
.lf-mob__learn .lf-btn .elementor-button{width:100% !important;padding-inline:12px !important;font-size:.9rem !important}
@media (max-width:900px){
.lf-hd__cta .lf-btn .elementor-button{display:none !important}
}
@media (max-width:640px){
.lf-give__f .lf-btn .elementor-button{width:100% !important}
.lf-hero__acts .lf-btn .elementor-button,.lf-final__acts .lf-btn .elementor-button,.lf-phero__acts .lf-btn .elementor-button{width:100% !important}
.lf-news__form .lf-btn .elementor-button{width:100% !important}
}
