/* Reference geometry is the final authority after legacy family styling. */
body.lf-ref-fidelity-v8,
body.lf-ref-fidelity-v8 .elementor-widget-text-editor,
body.lf-ref-fidelity-v8 .elementor-button,
body.lf-ref-fidelity-v8 input,
body.lf-ref-fidelity-v8 textarea,
body.lf-ref-fidelity-v8 select{
  font-family:var(--lf-brain-body-font,var(--lf-brain-font))!important;
}
body.lf-ref-fidelity-v8 .elementor-widget-heading .elementor-heading-title{
  font-family:var(--lf-brain-font)!important;
}
body.lf-ref-fidelity-v8 .lf-reference-section{
  padding-top:var(--padding-top,var(--lf-brain-section,80px))!important;
  padding-bottom:var(--padding-bottom,var(--lf-brain-section,80px))!important;
}
body.lf-ref-fidelity-v8 .lf-el-hero-title,
body.lf-ref-fidelity-v8 .lf-el-hero-title .elementor-heading-title{
  width:100%!important;
  max-width:min(100%,var(--lf-ref-text-width,900px))!important;
  font-size:clamp(var(--lf-ref-title-mobile,42px),6vw,var(--lf-ref-title-size,84px))!important;
  line-height:var(--lf-ref-title-leading,1.04)!important;
  font-weight:var(--lf-ref-title-weight,600)!important;
  text-transform:var(--lf-ref-title-transform,none);
  letter-spacing:normal!important;
}
body.lf-ref-fidelity-v8 .lf-el-hero .lf-el-hero-copy-wrap{
  text-align:var(--lf-ref-text-align,left);
  min-width:0!important;
}
body.lf-ref-fidelity-v8.lf-hero-align-center .lf-el-hero-world-canvas{
  grid-template-columns:1fr!important;
}
body.lf-ref-fidelity-v8.lf-hero-align-center .lf-el-hero-world-canvas>.lf-el-hero-copy-wrap{
  grid-column:1/-1!important;
  width:min(100%,1100px);
  max-width:1100px!important;
  justify-self:center;
  align-items:center!important;
}
body.lf-ref-fidelity-v8.lf-hero-align-center .lf-el-hero-copy{
  max-width:640px;
}
body.lf-ref-fidelity-v8.lf-hero-align-center .lf-el-actions{
  justify-content:center!important;
}
body.lf-ref-fidelity-v8.lf-section-shape-cut :is(.lf-el-button-primary,.lf-el-button-secondary) .elementor-button,
body.lf-ref-fidelity-v8.lf-section-shape-cut :is(.lf-el-about-media,.lf-world-inner-page-hero-media,.lf-reference-service-item,.lf-el-contact-form){
  border-radius:0!important;
}

/* A learned split is one copy panel and one image, with original service links. */
body.lf-ref-fidelity-v8 .lf-services-reference-split{
  display:grid!important;
  grid-template-columns:minmax(0,var(--lf-ref-service-copy,50fr)) minmax(0,var(--lf-ref-service-media,50fr))!important;
  align-items:center;
  gap:clamp(24px,4vw,64px)!important;
}
body.lf-ref-fidelity-v8 .lf-services-reference-split.lf-reference-service-media-left{
  grid-template-columns:minmax(0,var(--lf-ref-service-media,50fr)) minmax(0,var(--lf-ref-service-copy,50fr))!important;
}
body.lf-ref-fidelity-v8 .lf-reference-service-panel{
  min-width:0;
}
body.lf-ref-fidelity-v8 .lf-services-reference-split .lf-reference-service-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
}
body.lf-ref-fidelity-v8 .lf-services-reference-split .lf-reference-service-item{
  padding:20px 0!important;
  border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent);
  background:transparent;
}
body.lf-ref-fidelity-v8 .lf-reference-service-media{
  overflow:hidden;
  border-radius:var(--lf-radius,0);
}
body.lf-ref-fidelity-v8 .lf-reference-service-media img{
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
}

/* Repeated reference cards keep their compact grid rather than huge rows. */
body.lf-ref-fidelity-v8 .lf-services-reference-grid .lf-reference-service-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch;
  gap:var(--lf-brain-gap,24px)!important;
}
body.lf-ref-fidelity-v8 .lf-reference-service-item{
  min-width:0;
  gap:16px!important;
  padding:var(--lf-brain-card-padding,24px)!important;
  border-radius:var(--lf-radius,0)!important;
  background:color-mix(in srgb,var(--ink) 5%,var(--paper));
}
body.lf-ref-fidelity-v8 .lf-reference-service-title .elementor-heading-title{
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.1;
  letter-spacing:normal;
}
body.lf-ref-fidelity-v8 .lf-reference-service-copy{
  font-size:16px;
  line-height:1.65;
}
body.lf-ref-fidelity-v8 .lf-reference-service-image img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:var(--lf-radius,0)!important;
}
body.lf-ref-fidelity-v8 :is(.lf-services-reference-grid,.lf-reference-service-panel) .lf-el-section-title{
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(32px,3.7vw,58px)!important;
  line-height:1.08!important;
  letter-spacing:normal!important;
}
body.lf-ref-fidelity-v8 .lf-services-reference-grid>.lf-el-intro{
  display:grid!important;
  grid-template-columns:minmax(100px,.32fr) minmax(0,1fr)!important;
  gap:20px 40px!important;
  margin-bottom:32px;
}
body.lf-ref-fidelity-v8 .lf-services-reference-grid>.lf-el-intro>.lf-el-kicker{
  grid-column:1;
  grid-row:1;
}
body.lf-ref-fidelity-v8 .lf-services-reference-grid>.lf-el-intro>.lf-el-section-title,
body.lf-ref-fidelity-v8 .lf-services-reference-grid>.lf-el-intro>.lf-el-section-copy{
  grid-column:2;
}
body.lf-ref-fidelity-v8 .lf-services-reference-grid .lf-reference-service-highlight{
  background:var(--accent);
  color:#111;
}
body.lf-ref-fidelity-v8 .lf-services-reference-grid .lf-reference-service-highlight :is(.elementor-heading-title,.elementor-button){
  color:#111!important;
}

/* Dark kit backgrounds are preserved with readable text and restrained shifts. */
body.lf-ref-fidelity-v8.lf-ref-dark{
  background:var(--paper);
  color:var(--ink);
}
body.lf-ref-fidelity-v8.lf-ref-dark .lf-el-section:not(.lf-el-hero){
  background:var(--paper)!important;
  color:var(--ink)!important;
}
body.lf-ref-fidelity-v8.lf-ref-dark .lf-el-section:not(.lf-el-hero) :is(.lf-el-section-title,.lf-el-contact-title,.lf-el-point-text,.lf-el-faq-question) .elementor-heading-title{
  color:var(--ink)!important;
}
body.lf-ref-fidelity-v8.lf-ref-dark .lf-el-section:not(.lf-el-hero) :is(.lf-el-kicker,.lf-el-kicker .elementor-heading-title){
  color:var(--accent)!important;
}
body.lf-ref-fidelity-v8.lf-ref-dark .lf-el-section-copy,
body.lf-ref-fidelity-v8.lf-ref-dark .lf-el-faq-answer{
  color:color-mix(in srgb,var(--ink) 78%,var(--paper))!important;
}
body.lf-ref-fidelity-v8.lf-ref-dark .lf-el-faq-card{
  background:color-mix(in srgb,var(--ink) 5%,var(--paper));
  border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);
  border-radius:var(--lf-radius,0);
}
body.lf-ref-fidelity-v8.lf-ref-dark .lf-enquiry-wrap{
  --ink:#161616;
  --paper:#fff;
  color:var(--ink);
}
body.lf-ref-fidelity-v8 .lf-enquiry-wrap :is(h3,p,label){
  font-family:var(--lf-brain-body-font,var(--lf-brain-font));
}
@media(max-width:767px){
  body.lf-ref-fidelity-v8 .lf-el-hero-title,
  body.lf-ref-fidelity-v8 .lf-el-hero-title .elementor-heading-title{
    font-size:var(--lf-ref-title-mobile,42px)!important;
    max-width:100%!important;
  }
  body.lf-ref-fidelity-v8 .lf-services-reference-split,
  body.lf-ref-fidelity-v8 .lf-services-reference-split.lf-reference-service-media-left,
  body.lf-ref-fidelity-v8 .lf-services-reference-grid .lf-reference-service-list,
  body.lf-ref-fidelity-v8 .lf-services-reference-grid>.lf-el-intro{
    grid-template-columns:1fr!important;
  }
  body.lf-ref-fidelity-v8 .lf-services-reference-grid>.lf-el-intro>*{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.lf-ref-fidelity-v8 .lf-services-reference-split .lf-reference-service-panel{order:1}
  body.lf-ref-fidelity-v8 .lf-services-reference-split .lf-reference-service-media{order:2}
  body.lf-ref-fidelity-v8 .lf-services-reference-split .lf-reference-service-list{grid-template-columns:1fr!important}
}
