/*
 * SiteForge Brain Native Composer V10
 *
 * This layer turns abstracted, high-confidence Design DNA into visible
 * art direction. It never embeds or redistributes third-party theme source.
 * Everything below operates on SiteForge's own native Elementor structures.
 */

/* ---------------------------------------------------------------------- */
/* Learned design variables                                                */
/* ---------------------------------------------------------------------- */
body.lf-brain-recipe{
  --lf-brain-gap:32px;
  --lf-brain-section:112px;
  --lf-brain-card-padding:30px;
  --lf-brain-media-share:52%;
}

body.lf-brain-recipe .lf-el-hero-title,
body.lf-brain-recipe .lf-el-section-title,
body.lf-brain-recipe .lf-el-contact-title,
body.lf-brain-recipe .lf-el-statement-title,
body.lf-brain-recipe .lf-el-card-title,
body.lf-brain-recipe .lf-el-package-title,
body.lf-brain-recipe .lf-el-spotlight-title{
  font-family:var(--lf-brain-font)!important;
}
body.lf-brain-recipe .lf-el-hero-copy,
body.lf-brain-recipe .lf-el-section-copy,
body.lf-brain-recipe .lf-el-card-copy,
body.lf-brain-recipe .lf-el-contact-copy{
  font-family:var(--lf-brain-font);
}

body.lf-brain-recipe .lf-el-section{
  padding-top:var(--lf-brain-section)!important;
  padding-bottom:var(--lf-brain-section)!important;
  gap:var(--lf-brain-gap)!important;
}
body.lf-brain-recipe .lf-el-intro,
body.lf-brain-recipe .lf-el-hero-copy-wrap,
body.lf-brain-recipe .lf-el-about-copy,
body.lf-brain-recipe .lf-el-contact-copy-wrap{
  gap:clamp(14px,calc(var(--lf-brain-gap) * .62),34px)!important;
}
body.lf-brain-recipe .lf-el-service-layout,
body.lf-brain-recipe .lf-el-process-layout,
body.lf-brain-recipe .lf-el-proof-grid,
body.lf-brain-recipe .lf-el-showcase-grid{
  gap:var(--lf-brain-gap)!important;
}
body.lf-brain-recipe .lf-el-service-card,
body.lf-brain-recipe .lf-el-process-card,
body.lf-brain-recipe .lf-el-proof-card,
body.lf-brain-recipe .lf-el-media-card,
body.lf-brain-recipe .lf-el-hero-conversion-card{
  padding:var(--lf-brain-card-padding)!important;
  border-radius:var(--lf-radius)!important;
}
body.lf-brain-recipe .lf-el-service-media img,
body.lf-brain-recipe .lf-el-about-image img,
body.lf-brain-recipe .lf-el-showcase-image img,
body.lf-brain-recipe .lf-el-gallery img{
  border-radius:var(--lf-radius)!important;
}

/* Learned media density -------------------------------------------------- */
body.lf-brain-media-high .lf-el-hero:not(.lf-el-hero-fullbleed-scene){
  grid-template-columns:minmax(0,calc(100% - var(--lf-brain-media-share))) minmax(0,var(--lf-brain-media-share));
}
body.lf-brain-media-medium .lf-el-hero:not(.lf-el-hero-fullbleed-scene){
  grid-template-columns:minmax(0,46%) minmax(0,54%);
}
body.lf-brain-media-low .lf-el-hero:not(.lf-el-hero-fullbleed-scene){
  grid-template-columns:minmax(0,60%) minmax(0,40%);
}
body.lf-brain-media-high .lf-el-service-card-media .lf-el-service-media{
  aspect-ratio:16/10;
  min-height:240px;
}
body.lf-brain-media-medium .lf-el-service-card-media .lf-el-service-media{
  aspect-ratio:4/3;
}
body.lf-brain-media-low .lf-el-showcase-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* Learned conversion density -------------------------------------------- */
body.lf-brain-conversion-high .site-header .top-cta{
  min-height:52px;
  padding-inline:24px;
  font-weight:850;
}
body.lf-brain-conversion-high .lf-el-contact{
  position:relative;
  isolation:isolate;
}
body.lf-brain-conversion-high .lf-el-contact-form{
  box-shadow:0 26px 80px color-mix(in srgb,var(--ink) 14%,transparent);
}
body.lf-brain-conversion-low .lf-el-actions .elementor-button{
  box-shadow:none!important;
}
body.lf-brain-conversion-low .lf-el-contact-form{
  box-shadow:none!important;
}

/* Learned service architecture ------------------------------------------ */
.lf-el-brain-service-cols-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.lf-el-brain-service-cols-3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.lf-el-brain-media-high .lf-el-service-card-brain-media{
  grid-row:span 2;
}
.lf-el-service-card-brain-media .lf-el-service-media{
  overflow:hidden;
  margin:calc(var(--lf-brain-card-padding) * -1) calc(var(--lf-brain-card-padding) * -1) 6px;
  width:calc(100% + (var(--lf-brain-card-padding) * 2));
  max-width:none!important;
}

/* ---------------------------------------------------------------------- */
/* Brain-native hero structures                                            */
/* ---------------------------------------------------------------------- */
.lf-el-hero-brain-media-mosaic{
  min-height:max(760px,90vh);
  align-items:center;
}
.lf-el-hero-media-brain-mosaic{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);
  gap:clamp(10px,1.4vw,22px);
  min-height:610px;
}
.lf-el-hero-media-brain-mosaic>.elementor-widget-image:first-child{
  height:100%;
  min-height:610px;
}
.lf-el-hero-media-brain-mosaic>.elementor-widget-image:first-child img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.lf-el-brain-mosaic-stack{
  display:grid!important;
  grid-template-rows:1fr 1fr auto;
  gap:clamp(10px,1.4vw,22px);
}
.lf-el-brain-mosaic-stack .elementor-widget-image,
.lf-el-brain-mosaic-stack .elementor-widget-image img{
  height:100%;
  min-height:0;
  object-fit:cover;
}
.lf-el-hero-brain-media-mosaic .lf-el-hero-title{
  font-size:clamp(54px,7.4vw,116px);
  max-width:9.5ch;
}

.lf-el-hero-brain-conversion-split{
  min-height:min(840px,92vh);
  align-items:center;
}
.lf-el-hero-media-brain-conversion{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);
  align-items:end;
  gap:clamp(12px,1.7vw,28px);
}
.lf-el-hero-media-brain-conversion>.elementor-widget-image{
  min-height:560px;
}
.lf-el-hero-media-brain-conversion>.elementor-widget-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.lf-el-brain-conversion-card{
  align-self:end;
  margin-left:clamp(-120px,-7vw,-48px);
  margin-bottom:clamp(18px,4vw,54px);
  background:var(--paper);
  border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);
  box-shadow:0 34px 100px color-mix(in srgb,var(--ink) 18%,transparent);
  z-index:3;
}

.lf-el-hero-brain-editorial-layered{
  min-height:max(780px,92vh);
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
}
.lf-el-hero-media-brain-editorial{
  min-height:660px;
  position:relative;
}
.lf-el-hero-media-brain-editorial>.elementor-widget-image:first-child{
  width:82%;
  margin-left:auto;
}
.lf-el-hero-media-brain-editorial>.elementor-widget-image:first-child img{
  min-height:620px;
  object-fit:cover;
}
.lf-el-brain-editorial-inset{
  position:absolute!important;
  left:0;
  bottom:clamp(18px,4vw,60px);
  width:min(54%,360px)!important;
  background:var(--paper);
  box-shadow:0 28px 90px color-mix(in srgb,var(--ink) 16%,transparent);
}
.lf-el-brain-editorial-inset .elementor-widget-image img{
  aspect-ratio:4/5;
  object-fit:cover;
}

/* Learned directional bias ---------------------------------------------- */
body.lf-brain-direction-horizontal .lf-el-about{
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
}
body.lf-brain-direction-vertical .lf-el-about{
  display:grid!important;
  grid-template-columns:1fr;
}
body.lf-brain-direction-vertical .lf-el-about-media{
  min-height:520px;
}
body.lf-brain-direction-vertical .lf-el-about-copy{
  max-width:860px;
}

/* ---------------------------------------------------------------------- */
/* Families that previously had no dedicated family art direction          */
/* ---------------------------------------------------------------------- */

/* Cinematic Story */
body.lf-family-cinematic-story{
  --lf-el-display:clamp(64px,9.5vw,148px);
  --lf-el-section:clamp(104px,12vw,178px);
}
body.lf-family-cinematic-story .site-header{
  background:rgba(7,9,13,.76)!important;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  backdrop-filter:blur(20px);
}
body.lf-family-cinematic-story .site-header a,
body.lf-family-cinematic-story .brand-words small{color:#fff!important}
body.lf-family-cinematic-story .lf-el-hero{
  background:#07090d;
  color:#fff;
}
body.lf-family-cinematic-story .lf-el-hero-title{color:#fff;line-height:.84;letter-spacing:-.075em}
body.lf-family-cinematic-story .lf-el-hero-copy{color:rgba(255,255,255,.7)}
body.lf-family-cinematic-story .lf-el-showcase{background:#0b0e13;color:#fff}
body.lf-family-cinematic-story .lf-el-showcase .lf-el-section-title{color:#fff}
body.lf-family-cinematic-story .lf-el-showcase-grid{grid-template-columns:1.35fr .65fr .65fr}
body.lf-family-cinematic-story .lf-el-showcase-item:first-child{grid-row:span 2}
body.lf-family-cinematic-story .lf-el-service-card{background:transparent;border-width:1px 0 0;border-radius:0!important}

/* Performance Grid */
body.lf-family-performance-grid{
  --lf-el-display:clamp(58px,8vw,124px);
}
body.lf-family-performance-grid .site-header{
  border-bottom:2px solid var(--accent)!important;
  background:rgba(9,12,16,.95)!important;
}
body.lf-family-performance-grid .site-header a,
body.lf-family-performance-grid .brand-words small{color:#fff!important}
body.lf-family-performance-grid .lf-el-hero{
  background:linear-gradient(125deg,#080b0f 0 58%,color-mix(in srgb,var(--accent) 20%,#080b0f) 58% 100%);
  color:#fff;
}
body.lf-family-performance-grid .lf-el-hero-title{color:#fff;text-transform:uppercase;line-height:.88}
body.lf-family-performance-grid .lf-el-hero-copy{color:rgba(255,255,255,.7)}
body.lf-family-performance-grid .lf-el-services{background:#0e1218;color:#fff}
body.lf-family-performance-grid .lf-el-services .lf-el-section-title,
body.lf-family-performance-grid .lf-el-services .lf-el-card-title{color:#fff}
body.lf-family-performance-grid .lf-el-service-layout{gap:1px!important;background:rgba(255,255,255,.12)}
body.lf-family-performance-grid .lf-el-service-card{border:0!important;border-radius:0!important;background:#111720}
body.lf-family-performance-grid .lf-el-service-card:nth-child(3n+1){background:color-mix(in srgb,var(--accent) 12%,#111720)}

/* Detailing Luxe */
body.lf-family-detailing-luxe{
  --lf-el-display:clamp(62px,8.8vw,138px);
  --lf-el-section:clamp(100px,11vw,164px);
}
body.lf-family-detailing-luxe .site-header{
  background:rgba(5,6,8,.82)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(22px);
}
body.lf-family-detailing-luxe .site-header a,
body.lf-family-detailing-luxe .brand-words small{color:#fff!important}
body.lf-family-detailing-luxe .lf-el-hero{background:#050608;color:#fff}
body.lf-family-detailing-luxe .lf-el-hero-title{color:#fff;font-weight:850;text-transform:uppercase}
body.lf-family-detailing-luxe .lf-el-hero-copy{color:rgba(255,255,255,.66)}
body.lf-family-detailing-luxe .lf-el-packages{background:#0b0d10;color:#fff}
body.lf-family-detailing-luxe .lf-el-packages .lf-el-section-title,
body.lf-family-detailing-luxe .lf-el-package-title{color:#fff}
body.lf-family-detailing-luxe .lf-el-package-card{
  background:linear-gradient(180deg,#14181d,#0b0d10);
  border:1px solid rgba(255,255,255,.12);
}
body.lf-family-detailing-luxe .lf-el-package-card:nth-child(2){transform:translateY(-28px);border-color:color-mix(in srgb,var(--accent) 65%,transparent)}

/* Hospitality Journey */
body.lf-family-hospitality-journey{
  --lf-el-display:clamp(66px,9vw,138px);
  --lf-el-section:clamp(110px,12vw,178px);
}
body.lf-family-hospitality-journey .site-header{
  background:rgba(248,245,237,.9)!important;
  border-bottom:0!important;
  backdrop-filter:blur(20px);
}
body.lf-family-hospitality-journey .lf-el-hero{
  min-height:96vh;
  background:#1c211d;
  color:#fff;
}
body.lf-family-hospitality-journey .lf-el-hero-title{
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  line-height:.86;
}
body.lf-family-hospitality-journey .lf-el-hero-copy{color:rgba(255,255,255,.72)}
body.lf-family-hospitality-journey .lf-el-services{background:#f5f0e6}
body.lf-family-hospitality-journey .lf-el-service-card{
  border:0!important;
  border-radius:0!important;
  background:transparent;
  box-shadow:none!important;
}
body.lf-family-hospitality-journey .lf-el-service-media img{aspect-ratio:4/5;object-fit:cover}
body.lf-family-hospitality-journey .lf-el-about{background:#e9e2d3}

/* Route Command */
body.lf-family-route-command{
  --lf-el-display:clamp(56px,7.6vw,116px);
}
body.lf-family-route-command .site-header{
  border-bottom:1px solid color-mix(in srgb,var(--brand) 28%,transparent)!important;
  background:rgba(246,249,250,.94)!important;
}
body.lf-family-route-command .lf-el-hero{
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--brand) 95%,#071018),color-mix(in srgb,var(--brand) 77%,#071018));
  color:#fff;
}
body.lf-family-route-command .lf-el-hero-title{color:#fff;max-width:11ch}
body.lf-family-route-command .lf-el-hero-copy{color:rgba(255,255,255,.74)}
body.lf-family-route-command .lf-el-proof-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px!important;
  background:color-mix(in srgb,var(--brand) 18%,transparent);
}
body.lf-family-route-command .lf-el-proof-card{
  background:#fff;
  border:0!important;
  border-radius:0!important;
}
body.lf-family-route-command .lf-el-process{
  background:color-mix(in srgb,var(--brand) 94%,#071018);
  color:#fff;
}
body.lf-family-route-command .lf-el-process .lf-el-section-title,
body.lf-family-route-command .lf-el-process .lf-el-card-title{color:#fff}

/* Responsive ------------------------------------------------------------- */
@media(max-width:1000px){
  .lf-el-brain-service-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lf-el-hero-media-brain-mosaic,
  .lf-el-hero-media-brain-conversion{grid-template-columns:1fr}
  .lf-el-brain-conversion-card{margin:0}
}
@media(max-width:767px){
  body.lf-brain-recipe .lf-el-section{
    padding-top:clamp(64px,18vw,var(--lf-brain-section))!important;
    padding-bottom:clamp(64px,18vw,var(--lf-brain-section))!important;
  }
  .lf-el-brain-service-cols-2,
  .lf-el-brain-service-cols-3{grid-template-columns:1fr!important}
  .lf-el-hero-brain-media-mosaic,
  .lf-el-hero-brain-conversion-split,
  .lf-el-hero-brain-editorial-layered{
    grid-template-columns:1fr!important;
    min-height:0;
  }
  .lf-el-hero-media-brain-mosaic{min-height:0}
  .lf-el-hero-media-brain-mosaic>.elementor-widget-image:first-child{min-height:430px}
  .lf-el-brain-mosaic-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .lf-el-brain-mosaic-stack .lf-el-media-card{grid-column:1/-1}
  .lf-el-hero-media-brain-editorial>.elementor-widget-image:first-child{width:100%;margin:0}
  .lf-el-brain-editorial-inset{position:relative!important;left:auto;bottom:auto;width:72%!important;margin:-90px 0 0 auto}
  body.lf-family-cinematic-story .lf-el-showcase-grid{grid-template-columns:1fr}
  body.lf-family-detailing-luxe .lf-el-package-card:nth-child(2){transform:none}
  body.lf-family-route-command .lf-el-proof-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  body.lf-brain-recipe *{scroll-behavior:auto!important}
}
