/*
 * SiteForge V32 Visual Reference Blueprints
 *
 * Premium template ZIPs are never copied into customer sites. V32 translates
 * abstract layout geometry learned from licensed Elementor references into
 * original SiteForge-native compositions.
 */

body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-monumental,
body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-command{
  grid-template-columns:
    minmax(0,var(--lf-ref-copy-share,42fr))
    minmax(0,var(--lf-ref-media-share,58fr))!important;
}
body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-monumental,
body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-command{
  grid-template-columns:
    minmax(0,var(--lf-ref-media-share,58fr))
    minmax(0,var(--lf-ref-copy-share,42fr))!important;
}
body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-monumental>.lf-el-hero-copy-wrap,
body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-command>.lf-el-hero-copy-wrap{
  grid-column:2!important;
  grid-row:1!important;
}
body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-monumental>.lf-world-hero-media,
body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-command>.lf-world-hero-media{
  grid-column:1!important;
  grid-row:1!important;
}
body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-monumental>.lf-el-hero-copy-wrap,
body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-command>.lf-el-hero-copy-wrap{
  grid-column:1!important;
  grid-row:1!important;
}
body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-monumental>.lf-world-hero-media,
body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-command>.lf-world-hero-media{
  grid-column:2!important;
  grid-row:1!important;
}
body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-facts,
body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-facts{
  grid-column:1/-1!important;
}

/* Type-led premium references use typography as the focal point. */
body.lf-second-brain-primary-v30.lf-ref-hero-type-led .lf-el-hero-world-monumental{
  grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr)!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-type-led .lf-el-hero-title{
  max-width:18ch!important;
  font-size:clamp(40px,5.2vw,80px)!important;
  line-height:1.04!important;
}

/* A photo learned from an Elementor background occupies the whole stage. */
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media .lf-world-hero-media-canvas{
  grid-template-columns:1fr!important;
  grid-template-rows:1fr!important;
  opacity:1;
}
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media .lf-world-hero-media-canvas>.elementor-widget-image:first-child{
  grid-column:1!important;
  grid-row:1!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media .lf-el-hero-title{
  max-width:17ch!important;
  font-size:clamp(40px,5.5vw,84px)!important;
  line-height:1.04!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media.lf-nav-overlay .site-header{
  background:#080b0f!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media.lf-nav-overlay .site-header .site-brand,
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media.lf-nav-overlay .site-header .brand-words strong,
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media.lf-nav-overlay .site-header nav a{
  color:#fff!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media.lf-nav-overlay .site-header .brand-words small{
  color:#c5ccd1!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-fullbleed-media .lf-el-hero .lf-el-kicker{
  color:#e9edf0!important;
}
body.lf-second-brain-primary-v30 .lf-world-command-card .lf-el-contact-form{
  width:100%;
}
body.lf-second-brain-primary-v30.lf-ref-hero-type-led .lf-world-hero-media{
  align-self:end;
  min-height:420px!important;
  max-height:68vh;
}

/* Centered editorial references become a deliberate editorial masthead. */
body.lf-second-brain-primary-v30.lf-ref-hero-centered-editorial .lf-el-hero-world-monumental{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center;
}
body.lf-second-brain-primary-v30.lf-ref-hero-centered-editorial .lf-el-hero-copy-wrap{
  width:min(100%,1040px);
  align-items:center!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-centered-editorial .lf-el-hero-title{
  max-width:12ch!important;
}
body.lf-second-brain-primary-v30.lf-ref-hero-centered-editorial .lf-world-hero-media{
  width:min(100%,1180px);
  min-height:520px;
}

/* Layered-media references get visibly more depth than the stock house layout. */
body.lf-second-brain-primary-v30.lf-ref-hero-layered-media .lf-world-hero-media{
  isolation:isolate;
}
body.lf-second-brain-primary-v30.lf-ref-hero-layered-media .lf-el-hero-detail-image{
  width:clamp(180px,30%,360px)!important;
  position:absolute!important;
  right:clamp(-20px,-2vw,-8px);
  bottom:clamp(-52px,-5vw,-24px);
  z-index:4;
  box-shadow:0 30px 90px rgba(0,0,0,.22);
}
body.lf-second-brain-primary-v30.lf-ref-hero-layered-media .lf-el-hero-ambient-image{
  opacity:.62;
  transform:translate3d(0,var(--lf-world-parallax,0),0) scale(1.05);
}

/* Reference-derived service choreography. */
body.lf-second-brain-primary-v30.lf-ref-service-media-grid .lf-world-services-project-mosaic,
body.lf-second-brain-primary-v30.lf-ref-service-media-mosaic .lf-world-services-project-mosaic{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
body.lf-second-brain-primary-v30.lf-ref-service-media-grid .lf-world-service-tile:nth-child(6n+1),
body.lf-second-brain-primary-v30.lf-ref-service-media-mosaic .lf-world-service-tile:nth-child(6n+1){
  grid-column:span 7!important;
}
body.lf-second-brain-primary-v30.lf-ref-service-media-grid .lf-world-service-tile:nth-child(6n+2),
body.lf-second-brain-primary-v30.lf-ref-service-media-mosaic .lf-world-service-tile:nth-child(6n+2){
  grid-column:span 5!important;
}
body.lf-second-brain-primary-v30.lf-ref-service-media-grid .lf-world-service-tile:nth-child(6n+3),
body.lf-second-brain-primary-v30.lf-ref-service-media-mosaic .lf-world-service-tile:nth-child(6n+3){
  grid-column:span 5!important;
}
body.lf-second-brain-primary-v30.lf-ref-service-media-grid .lf-world-service-tile:nth-child(6n+4),
body.lf-second-brain-primary-v30.lf-ref-service-media-mosaic .lf-world-service-tile:nth-child(6n+4){
  grid-column:span 7!important;
}

body.lf-second-brain-primary-v30.lf-ref-service-repeated-rail .lf-world-service-row{
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)!important;
  padding-block:clamp(48px,6vw,92px)!important;
}
body.lf-second-brain-primary-v30.lf-ref-service-repeated-rail .lf-world-service-row:nth-child(even){
  grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)!important;
}

/* Premium reference blueprints should create stronger section-to-section shifts. */
body.lf-second-brain-primary-v30[class*="lf-ref-hero-"] .lf-world-class-page>.lf-el-section{
  scroll-margin-top:92px;
}
body.lf-second-brain-primary-v30[class*="lf-ref-hero-"] .lf-world-class-page>.lf-el-section:nth-child(odd){
  --lf-ref-section-shift:0px;
}
body.lf-second-brain-primary-v30[class*="lf-ref-hero-"] .lf-world-class-page>.lf-el-section:nth-child(even){
  --lf-ref-section-shift:clamp(0px,1.3vw,18px);
}

/* Mobile keeps the learned hierarchy, not the desktop geometry. */
@media(max-width:767px){
  body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-monumental,
  body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-monumental,
  body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-command,
  body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-command{
    grid-template-columns:1fr!important;
  }
  body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-monumental>*,
  body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-monumental>*,
  body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-world-command>*,
  body.lf-second-brain-primary-v30.lf-ref-media-right .lf-el-hero-world-command>*{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.lf-second-brain-primary-v30.lf-ref-media-left .lf-world-hero-media{
    order:2;
  }
  body.lf-second-brain-primary-v30.lf-ref-media-left .lf-el-hero-copy-wrap{
    order:1;
  }
  body.lf-second-brain-primary-v30.lf-ref-hero-type-led .lf-el-hero-title{
    max-width:100%!important;
    font-size:clamp(34px,10vw,52px)!important;
  }
  body.lf-second-brain-primary-v30.lf-ref-hero-layered-media .lf-el-hero-detail-image{
    position:relative!important;
    right:auto;
    bottom:auto;
    width:72%!important;
    margin:-72px 0 0 auto;
  }
  body.lf-second-brain-primary-v30.lf-ref-service-media-grid .lf-world-service-tile,
  body.lf-second-brain-primary-v30.lf-ref-service-media-mosaic .lf-world-service-tile{
    grid-column:1/-1!important;
  }
}


/* ---------------------------------------------------------------------- */
/* V34 semantic markers                                                    */
/* Generic 01/02/03 decoration made every site feel templated. Existing   */
/* demos are upgraded visually in CSS, while new Elementor documents also  */
/* store meaningful labels instead of ordinal numbers.                     */
/* ---------------------------------------------------------------------- */
body.lf-elementor-native .lf-el-fact-number .elementor-heading-title,
body.lf-elementor-native .lf-el-trust-number .elementor-heading-title,
body.lf-elementor-native .lf-el-point-number .elementor-heading-title,
body.lf-elementor-native .lf-el-statement-number .elementor-heading-title,
body.lf-elementor-native .lf-el-proof-index .elementor-heading-title,
body.lf-elementor-native .lf-el-service-number .elementor-heading-title,
body.lf-elementor-native .lf-el-process-number .elementor-heading-title,
body.lf-elementor-native .lf-el-package-number .elementor-heading-title,
body.lf-elementor-native .lf-world-service-number .elementor-heading-title{
  font-size:0!important;
  letter-spacing:0!important;
}

body.lf-elementor-native .lf-el-fact-number .elementor-heading-title:before,
body.lf-elementor-native .lf-el-trust-number .elementor-heading-title:before,
body.lf-elementor-native .lf-el-point-number .elementor-heading-title:before,
body.lf-elementor-native .lf-el-statement-number .elementor-heading-title:before,
body.lf-elementor-native .lf-el-proof-index .elementor-heading-title:before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  color:var(--accent);
  font:900 13px/1 var(--lf-brain-font,ui-sans-serif,system-ui,sans-serif);
  letter-spacing:0;
}

body.lf-elementor-native .lf-el-service-number .elementor-heading-title:before,
body.lf-elementor-native .lf-world-service-number .elementor-heading-title:before{
  content:"SERVICE";
}
body.lf-elementor-native .lf-el-process-number .elementor-heading-title:before{
  content:"STEP";
}
body.lf-elementor-native .lf-el-package-number .elementor-heading-title:before{
  content:"OPTION";
}
body.lf-elementor-native .lf-el-service-number .elementor-heading-title:before,
body.lf-elementor-native .lf-el-process-number .elementor-heading-title:before,
body.lf-elementor-native .lf-el-package-number .elementor-heading-title:before,
body.lf-elementor-native .lf-world-service-number .elementor-heading-title:before{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:28px;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  color:var(--accent);
  font:850 10px/1 var(--lf-brain-font,ui-sans-serif,system-ui,sans-serif);
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.lf-world-class-v11 .lf-world-service-copy-wrap{
  grid-template-columns:max-content minmax(0,1fr)!important;
}

body.lf-elementor-native .lf-world-service-number.lf-world-detail-discuss .elementor-heading-title:before{
  content:"DISCUSS";
}
body.lf-elementor-native .lf-world-service-number.lf-world-detail-confirm .elementor-heading-title:before{
  content:"CONFIRM";
}

@media(max-width:767px){
  body.lf-world-class-v11 .lf-world-service-copy-wrap{
    grid-template-columns:1fr!important;
  }
  body.lf-world-class-v11 .lf-world-service-number{
    grid-row:auto!important;
    margin-bottom:6px;
  }
}


/* ---------------------------------------------------------------------- */
/* V35 multi-page + image-system learning                                  */
/* Inner pages inherit the reference's media rhythm without cloning its     */
/* assets. Each page gets a different composition while sharing one grammar.*/
/* ---------------------------------------------------------------------- */
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-reference-rich,
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-reference-balanced{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)!important;
  gap:clamp(28px,5vw,84px)!important;
  align-items:center;
  min-height:clamp(560px,72vh,820px);
  overflow:hidden;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-copy{
  max-width:820px;
  justify-content:center;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media{
  position:relative;
  min-height:clamp(380px,52vw,680px);
  overflow:hidden;
  border-radius:var(--lf-radius,24px);
  isolation:isolate;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-image,
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-image .elementor-widget-container,
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-image img{
  width:100%;
  height:100%;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-image{
  position:absolute;
  inset:0;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-image img{
  display:block;
  object-fit:cover;
  transform:scale(1.015);
  transition:transform 1.1s cubic-bezier(.18,.72,.2,1);
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero:hover .lf-world-inner-page-hero-image img{
  transform:scale(1.055);
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-left{
  grid-template-columns:minmax(320px,.82fr) minmax(0,1fr)!important;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-left .lf-world-inner-page-hero-media{
  grid-column:1;
  grid-row:1;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-left .lf-world-inner-page-hero-copy{
  grid-column:2;
  grid-row:1;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-wide{
  grid-template-columns:1fr!important;
  padding-bottom:0!important;
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-wide .lf-world-inner-page-hero-copy{
  width:min(100%,1040px);
  max-width:1040px;
  padding-bottom:clamp(18px,2vw,34px);
}

body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-wide .lf-world-inner-page-hero-media{
  width:100%;
  min-height:clamp(420px,56vw,760px);
  border-radius:var(--lf-radius,24px) var(--lf-radius,24px) 0 0;
}

@media(max-width:767px){
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-reference-rich,
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-reference-balanced,
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-left,
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-right{
    grid-template-columns:1fr!important;
    min-height:auto;
  }
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-left .lf-world-inner-page-hero-copy,
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media-left .lf-world-inner-page-hero-media{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero-media{
    min-height:360px;
  }
}
