/*
 * SiteForge Second Brain Primary Director V30
 *
 * The Second Brain chooses the art direction. This layer protects the learned
 * composition from narrow legacy family constraints and keeps typography
 * visually intentional across the full multi-page Elementor site.
 */

body.lf-second-brain-primary-v30{
  --lf-brain-readable-title: min(100%, 18ch);
  --lf-brain-hero-title: min(100%, 11.5ch);
  --lf-brain-copy: min(100%, 68ch);
}

/* Do not let old family rules squeeze Brain-led headings into tiny columns. */
body.lf-second-brain-primary-v30 .lf-el-section-title,
body.lf-second-brain-primary-v30 .lf-el-contact-title,
body.lf-second-brain-primary-v30 .lf-el-spotlight-title,
body.lf-second-brain-primary-v30 .lf-el-cta-band-title{
  width:var(--lf-brain-readable-title);
  max-width:var(--lf-brain-readable-title)!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}

body.lf-second-brain-primary-v30 .lf-el-hero-title{
  width:var(--lf-brain-hero-title);
  max-width:var(--lf-brain-hero-title)!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}

/* Learned service-intro composition: substantial heading + readable support. */
body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  column-gap:clamp(22px,4vw,72px)!important;
  row-gap:clamp(18px,2.4vw,34px)!important;
  align-items:end;
}
body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro>.lf-el-kicker{
  grid-column:1/-1;
}
body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro>.lf-el-section-title{
  grid-column:1/-1;
  width:100%;
  max-width:min(100%,1100px)!important;
  font-size:clamp(42px,5vw,82px);
  line-height:.95;
}
body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro>.lf-el-section-copy{
  grid-column:7/-1;
  width:100%;
  max-width:var(--lf-brain-copy);
  justify-self:end;
  align-self:end;
}

/* Short brand statements may intentionally stack, but not in a cramped box. */
body.lf-second-brain-primary-v30 .lf-el-hero-world-monumental .lf-el-hero-title{
  max-width:min(100%,12ch)!important;
}
body.lf-second-brain-primary-v30 .lf-el-hero-world-canvas .lf-el-hero-copy-wrap,
body.lf-second-brain-primary-v30 .lf-el-hero-world-command .lf-el-hero-copy-wrap{
  min-width:min(100%,460px);
}

/* Brain-led service compositions must remain visibly non-generic. */
body.lf-second-brain-primary-v30 .lf-world-services-editorial-rail,
body.lf-second-brain-primary-v30 .lf-world-services-project-mosaic{
  width:100%;
}
body.lf-second-brain-primary-v30 .lf-world-service-row,
body.lf-second-brain-primary-v30 .lf-world-service-tile{
  min-width:0;
}
body.lf-second-brain-primary-v30 .lf-world-service-title{
  width:min(100%,22ch);
  max-width:min(100%,22ch)!important;
}


/* ---------------------------------------------------------------------- */
/* Brain-directed inner-page hero system                                   */
/* ---------------------------------------------------------------------- */
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero{
  min-height:clamp(420px,58vh,700px);
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  align-content:center;
  gap:clamp(16px,2vw,30px)!important;
  padding-top:clamp(112px,12vw,184px)!important;
  padding-bottom:clamp(76px,9vw,142px)!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 30%),
    linear-gradient(135deg,color-mix(in srgb,var(--paper) 94%,var(--brand)),var(--paper));
}
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero:before{
  content:"";
  position:absolute;
  width:min(42vw,620px);
  aspect-ratio:1;
  right:-12vw;
  top:-18%;
  border:1px solid color-mix(in srgb,var(--ink) 11%,transparent);
  transform:rotate(32deg);
  pointer-events:none;
}
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero>.lf-el-kicker{
  grid-column:1/-1;
}
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero>.lf-el-hero-title{
  grid-column:1/10;
  width:100%;
  max-width:100%!important;
  font-size:clamp(58px,7vw,112px);
  line-height:.88;
  letter-spacing:-.065em;
}
body.lf-second-brain-primary-v30 .lf-world-inner-page-hero>.lf-el-hero-copy{
  grid-column:7/-1;
  width:100%;
  max-width:58ch;
  font-size:clamp(17px,1.4vw,21px);
  line-height:1.65;
  justify-self:end;
}

/* Multi-page headings use the same learned hierarchy instead of reverting. */
body.lf-second-brain-primary-v30 .lf-world-service-detail-scope .lf-el-intro,
body.lf-second-brain-primary-v30 .lf-el-about>.lf-el-intro,
body.lf-second-brain-primary-v30 .lf-el-showcase>.lf-el-intro,
body.lf-second-brain-primary-v30 .lf-el-faq>.lf-el-intro{
  min-width:0;
}
body.lf-second-brain-primary-v30 .lf-world-service-detail-scope .lf-el-section-title{
  max-width:min(100%,20ch)!important;
}

/* The fallback family is implementation detail; Brain art direction wins. */
body.lf-second-brain-primary-v30.lf-world-anti-card .lf-el-service-card{
  border-radius:0!important;
  box-shadow:none!important;
}

/* Tablet guardrails. */
@media(max-width:1100px) and (min-width:768px){
  body.lf-second-brain-primary-v30{
    --lf-brain-readable-title:min(100%,20ch);
    --lf-brain-hero-title:min(100%,13ch);
  }
  body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro>.lf-el-section-title{
    grid-column:1/-1;
    max-width:100%!important;
    font-size:clamp(38px,5vw,64px);
  }
  body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro>.lf-el-section-copy{
    grid-column:5/-1;
  }
}

/* Mobile is always readable; art direction survives through hierarchy/motion. */
@media(max-width:767px){
  body.lf-second-brain-primary-v30{
    --lf-brain-readable-title:100%;
    --lf-brain-hero-title:100%;
  }
  body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro{
    grid-template-columns:1fr!important;
  }
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero{
    grid-template-columns:1fr!important;
    min-height:0;
    padding-top:96px!important;
  }
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero>*{
    grid-column:1!important;
  }
  body.lf-second-brain-primary-v30 .lf-world-inner-page-hero>.lf-el-hero-title{
    font-size:clamp(46px,13vw,76px);
  }
  body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro>*{
    grid-column:1!important;
  }
  body.lf-second-brain-primary-v30 .lf-world-services>.lf-el-intro>.lf-el-section-title{
    font-size:clamp(34px,10vw,54px);
  }
}
