/*
 * SiteForge World-Class Art Direction V11
 *
 * This layer turns learned Design DNA into client-specific, original
 * compositions. It styles only SiteForge's own native Elementor structures.
 */

body.lf-world-class-v11{
  --lf-world-max:1440px;
  --lf-world-gutter:clamp(22px,4vw,72px);
  --lf-world-hairline:color-mix(in srgb,var(--ink) 14%,transparent);
  --lf-world-shadow:0 36px 120px color-mix(in srgb,var(--ink) 18%,transparent);
  --lf-world-display:clamp(64px,8.8vw,142px);
  --lf-world-section:clamp(92px,10vw,164px);
}
body.lf-world-class-v11 .lf-elementor-page{
  overflow:hidden;
}
body.lf-world-class-v11 .lf-el-section{
  position:relative;
  isolation:isolate;
}
body.lf-world-class-v11 .lf-el-section-title{
  max-width:13ch;
  font-size:clamp(44px,5.8vw,88px);
  line-height:.94;
  letter-spacing:-.055em;
}
body.lf-world-class-v11 .lf-el-section-copy{
  max-width:66ch;
}
body.lf-world-class-v11 .lf-el-kicker{
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
}
body.lf-world-class-v11 .lf-el-actions{
  margin-top:clamp(10px,2vw,26px);
}
body.lf-world-class-v11 .elementor-button{
  min-height:50px;
}

/* ---------------------------------------------------------------------- */
/* Client-specific hero canvases                                           */
/* ---------------------------------------------------------------------- */
body.lf-world-class-v11 .lf-el-hero-world-monumental,
body.lf-world-class-v11 .lf-el-hero-world-canvas,
body.lf-world-class-v11 .lf-el-hero-world-command{
  min-height:min(940px,94vh);
  padding-top:clamp(88px,10vw,154px)!important;
  padding-bottom:clamp(70px,8vw,128px)!important;
  gap:clamp(28px,4vw,74px)!important;
}
body.lf-world-class-v11 .lf-el-hero-title{
  font-size:var(--lf-world-display);
  line-height:.84;
  letter-spacing:-.075em;
  text-wrap:balance;
}
body.lf-world-class-v11 .lf-el-hero-copy{
  max-width:60ch;
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.6;
}

/* Monumental editorial: huge type + sculptural media stack */
body.lf-world-class-v11 .lf-el-hero-world-monumental{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:center;
}
body.lf-world-class-v11 .lf-el-hero-world-monumental .lf-el-hero-title{
  max-width:8.8ch;
}
body.lf-world-class-v11 .lf-world-hero-media-monumental{
  position:relative;
  min-height:650px;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(160px,.42fr);
  grid-template-rows:1fr auto;
  gap:clamp(12px,1.8vw,28px);
}
body.lf-world-class-v11 .lf-world-hero-media-monumental>.elementor-widget-image:first-child{
  grid-column:1/3;
  grid-row:1/3;
  min-height:650px;
}
body.lf-world-class-v11 .lf-world-hero-media-monumental>.elementor-widget-image:first-child img{
  width:100%;
  height:100%;
  min-height:650px;
  object-fit:cover;
}
body.lf-world-class-v11 .lf-world-hero-inset{
  grid-column:2;
  grid-row:2;
  align-self:end;
  margin:0 0 clamp(-48px,-3vw,-20px) clamp(-80px,-5vw,-32px);
  background:var(--paper);
  padding:14px!important;
  box-shadow:var(--lf-world-shadow);
  z-index:4;
}
body.lf-world-class-v11 .lf-world-hero-inset .elementor-widget-image img{
  aspect-ratio:4/5;
  object-fit:cover;
}
body.lf-world-class-v11 .lf-world-hero-label{
  padding:10px 4px 2px;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
body.lf-world-class-v11 .lf-el-hero-world-monumental>.lf-el-hero-facts{
  grid-column:1/-1;
}

/* Canvas: image becomes the stage instead of a card beside text */
body.lf-world-class-v11 .lf-el-hero-world-canvas{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  grid-template-rows:1fr auto;
  background:#07090d;
  color:#fff;
}
body.lf-world-class-v11 .lf-el-hero-world-canvas .lf-el-hero-title,
body.lf-world-class-v11 .lf-el-hero-world-canvas .lf-el-fact-value{
  color:#fff;
}
body.lf-world-class-v11 .lf-el-hero-world-canvas .lf-el-hero-copy{
  color:rgba(255,255,255,.72);
}
body.lf-world-class-v11 .lf-world-hero-media-canvas{
  grid-column:1/-1;
  grid-row:1/3;
  position:absolute!important;
  inset:0;
  min-height:100%;
  display:grid!important;
  grid-template-columns:1fr .34fr;
  grid-template-rows:1fr .34fr;
  gap:12px;
  opacity:.72;
  z-index:-1;
}
body.lf-world-class-v11 .lf-world-hero-media-canvas:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,8,12,.96) 0%,rgba(6,8,12,.78) 39%,rgba(6,8,12,.18) 74%,rgba(6,8,12,.46) 100%);
}
body.lf-world-class-v11 .lf-world-hero-media-canvas>.elementor-widget-image:first-child{
  grid-row:1/3;
}
body.lf-world-class-v11 .lf-world-hero-media-canvas .elementor-widget-image,
body.lf-world-class-v11 .lf-world-hero-media-canvas img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}
body.lf-world-class-v11 .lf-el-hero-world-canvas>.lf-el-hero-copy-wrap{
  grid-column:1;
  grid-row:1;
  align-self:center;
  z-index:2;
  max-width:760px;
}
body.lf-world-class-v11 .lf-el-hero-world-canvas>.lf-el-hero-facts{
  grid-column:1/-1;
  grid-row:2;
  z-index:2;
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:28px;
}
body.lf-world-class-v11 .lf-el-hero-world-canvas .lf-el-fact{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Command: premium conversion panel integrated into the visual composition */
body.lf-world-class-v11 .lf-el-hero-world-command{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:center;
  background:
    radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 38%),
    linear-gradient(125deg,color-mix(in srgb,var(--brand) 96%,#05090d),color-mix(in srgb,var(--brand) 74%,#05090d));
  color:#fff;
}
body.lf-world-class-v11 .lf-el-hero-world-command .lf-el-hero-title,
body.lf-world-class-v11 .lf-el-hero-world-command .lf-el-fact-value{
  color:#fff;
}
body.lf-world-class-v11 .lf-el-hero-world-command .lf-el-hero-copy{
  color:rgba(255,255,255,.72);
}
body.lf-world-class-v11 .lf-world-hero-media-command{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(170px,.5fr);
  align-items:end;
  min-height:640px;
}
body.lf-world-class-v11 .lf-world-hero-media-command>.elementor-widget-image:first-child{
  grid-column:1/3;
  grid-row:1;
  min-height:640px;
}
body.lf-world-class-v11 .lf-world-hero-media-command>.elementor-widget-image:first-child img{
  min-height:640px;
  height:100%;
  object-fit:cover;
}
body.lf-world-class-v11 .lf-world-command-card{
  grid-column:1/3;
  grid-row:1;
  justify-self:end;
  align-self:end;
  width:min(440px,76%);
  margin:0 clamp(0px,2vw,30px) clamp(22px,3vw,48px);
  background:var(--paper);
  color:var(--ink);
  padding:clamp(26px,3vw,44px)!important;
  box-shadow:0 38px 110px rgba(0,0,0,.32);
  z-index:3;
}
body.lf-world-class-v11 .lf-el-hero-world-command>.lf-el-hero-facts{
  grid-column:1/-1;
}

/* ---------------------------------------------------------------------- */
/* Service sections that do not look like six repeated AI cards            */
/* ---------------------------------------------------------------------- */
body.lf-world-class-v11 .lf-world-services{
  padding-top:var(--lf-world-section)!important;
  padding-bottom:var(--lf-world-section)!important;
}
body.lf-world-class-v11 .lf-world-services>.lf-el-intro{
  display:grid!important;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  column-gap:clamp(28px,6vw,110px)!important;
  align-items:end;
  margin-bottom:clamp(30px,5vw,74px);
}
body.lf-world-class-v11 .lf-world-services>.lf-el-intro>.lf-el-kicker{
  grid-column:1/-1;
}
body.lf-world-class-v11 .lf-world-services>.lf-el-intro>.lf-el-section-copy{
  align-self:end;
  margin-bottom:8px;
}

/* Editorial rail */
body.lf-world-class-v11 .lf-world-services-editorial-rail{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  border-top:1px solid var(--lf-world-hairline);
}
body.lf-world-class-v11 .lf-world-service-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(28px,5vw,86px)!important;
  align-items:center;
  padding:clamp(38px,5vw,76px) 0!important;
  border-bottom:1px solid var(--lf-world-hairline);
  background:transparent!important;
}
body.lf-world-class-v11 .lf-world-service-row-reverse .lf-world-service-copy-wrap{
  order:2;
}
body.lf-world-class-v11 .lf-world-service-row-reverse>.elementor-widget-image{
  order:1;
}
body.lf-world-class-v11 .lf-world-service-copy-wrap{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr);
  align-items:start;
  column-gap:clamp(18px,3vw,46px)!important;
}
body.lf-world-class-v11 .lf-world-service-number{
  grid-row:1/5;
  font-size:12px;
  letter-spacing:.15em;
  color:color-mix(in srgb,var(--ink) 48%,transparent);
}
body.lf-world-class-v11 .lf-world-service-title{
  font-family:var(--lf-brain-font);
  font-size:clamp(34px,4.4vw,72px);
  line-height:.95;
  letter-spacing:-.05em;
  max-width:12ch;
}
body.lf-world-class-v11 .lf-world-service-copy{
  max-width:62ch;
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.7;
}
body.lf-world-class-v11 .lf-world-service-row>.elementor-widget-image img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
body.lf-world-class-v11 .lf-world-service-row:nth-child(3n+1)>.elementor-widget-image img{
  aspect-ratio:4/5;
}

/* Project mosaic */
body.lf-world-class-v11 .lf-world-services-project-mosaic{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense;
  gap:clamp(12px,1.5vw,24px)!important;
}
body.lf-world-class-v11 .lf-world-service-tile{
  grid-column:span 4;
  min-height:520px;
  padding:0 0 26px!important;
  overflow:hidden;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.lf-world-class-v11 .lf-world-service-tile-1,
body.lf-world-class-v11 .lf-world-service-tile-4{
  grid-column:span 7;
}
body.lf-world-class-v11 .lf-world-service-tile-2,
body.lf-world-class-v11 .lf-world-service-tile-3{
  grid-column:span 5;
}
body.lf-world-class-v11 .lf-world-service-tile .lf-world-service-image{
  overflow:hidden;
  margin-bottom:24px;
}
body.lf-world-class-v11 .lf-world-service-tile .lf-world-service-image img{
  width:100%;
  aspect-ratio:16/11;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.75,.2,1);
}
body.lf-world-class-v11 .lf-world-service-tile:nth-child(even) .lf-world-service-image img{
  aspect-ratio:4/5;
}
body.lf-world-class-v11 .lf-world-service-tile:hover .lf-world-service-image img{
  transform:scale(1.025);
}
body.lf-world-class-v11 .lf-world-service-tile .lf-world-service-number,
body.lf-world-class-v11 .lf-world-service-tile .lf-world-service-title,
body.lf-world-class-v11 .lf-world-service-tile .lf-world-service-copy,
body.lf-world-class-v11 .lf-world-service-tile .lf-el-text-link{
  margin-left:clamp(0px,1vw,14px);
  margin-right:clamp(0px,1vw,14px);
}

/* ---------------------------------------------------------------------- */
/* Section rhythm and transitions                                          */
/* ---------------------------------------------------------------------- */
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(3n+2){
  background:color-mix(in srgb,var(--paper) 94%,var(--brand) 6%);
}
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(4n+3){
  background:color-mix(in srgb,var(--ink) 97%,var(--brand) 3%);
  color:#fff;
}
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(4n+3) .lf-el-section-title,
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(4n+3) .lf-el-card-title,
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(4n+3) .lf-world-service-title{
  color:#fff;
}
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(4n+3) .lf-el-section-copy,
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(4n+3) .lf-el-card-copy,
body.lf-world-class-v11 .lf-world-class-page>.lf-el-section:nth-child(4n+3) .lf-world-service-copy{
  color:rgba(255,255,255,.7);
}
body.lf-world-transition-overlap .lf-el-showcase,
body.lf-world-transition-overlap .lf-el-about{
  margin-top:clamp(-70px,-5vw,-34px);
  z-index:4;
}
body.lf-world-transition-layered .lf-el-showcase-grid,
body.lf-world-transition-layered .lf-el-about-media{
  transform:translateY(clamp(-36px,-2vw,-18px));
}
body.lf-world-transition-cut-panels .lf-el-section:nth-child(even){
  clip-path:polygon(0 4vw,100% 0,100% 100%,0 100%);
  padding-top:calc(var(--lf-world-section) + 4vw)!important;
}
body.lf-world-transition-paper-shift .lf-el-section:nth-child(even){
  border-top:1px solid var(--lf-world-hairline);
  border-bottom:1px solid var(--lf-world-hairline);
}

/* Anti-card mode removes the generic AI-dashboard feeling */
body.lf-world-anti-card .lf-el-trust-card,
body.lf-world-anti-card .lf-el-proof-card,
body.lf-world-anti-card .lf-el-process-card{
  border-width:1px 0 0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.lf-world-anti-card .lf-el-proof-grid,
body.lf-world-anti-card .lf-el-process-layout{
  gap:clamp(22px,4vw,68px)!important;
}

/* Signature motifs */
body.lf-world-class-v11 .lf-el-hero:before,
body.lf-world-class-v11 .lf-el-services:before{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  opacity:.22;
}
body.lf-world-motif-grid .lf-el-hero:before,
body.lf-world-motif-technical-grid .lf-el-hero:before{
  inset:0;
  background-image:
    linear-gradient(to right,currentColor 1px,transparent 1px),
    linear-gradient(to bottom,currentColor 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg,transparent,black 70%);
}
body.lf-world-motif-signal-line .lf-el-services:before,
body.lf-world-motif-route-line .lf-el-services:before,
body.lf-world-motif-speed-line .lf-el-services:before{
  width:1px;
  top:0;
  bottom:0;
  left:var(--lf-world-gutter);
  background:var(--accent);
  opacity:.55;
}
body.lf-world-motif-frame .lf-el-hero:before,
body.lf-world-motif-hairline .lf-el-hero:before{
  inset:clamp(18px,2.5vw,42px);
  border:1px solid currentColor;
  opacity:.14;
}
body.lf-world-motif-orbit .lf-el-hero:before{
  width:min(58vw,760px);
  aspect-ratio:1;
  border:1px solid currentColor;
  border-radius:50%;
  right:-18vw;
  top:-24vw;
}
body.lf-world-motif-beam .lf-el-hero:before{
  width:44vw;
  height:120%;
  right:-12vw;
  top:-10%;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 32%,transparent));
  transform:skewX(-18deg);
}

/* Header follows the art direction rather than looking like a separate app bar */
body.lf-world-class-v11 .site-header{
  backdrop-filter:blur(18px);
}
body.lf-world-class-v11.lf-world-concept-craft-cinematic .site-header,
body.lf-world-class-v11.lf-world-concept-dark-showroom .site-header,
body.lf-world-class-v11.lf-world-concept-digital-canvas .site-header,
body.lf-world-class-v11.lf-world-concept-kinetic-track .site-header{
  background:rgba(7,9,13,.78)!important;
  border-bottom-color:rgba(255,255,255,.1)!important;
}
body.lf-world-class-v11.lf-world-concept-craft-cinematic .site-header a,
body.lf-world-class-v11.lf-world-concept-dark-showroom .site-header a,
body.lf-world-class-v11.lf-world-concept-digital-canvas .site-header a,
body.lf-world-class-v11.lf-world-concept-kinetic-track .site-header a,
body.lf-world-class-v11.lf-world-concept-craft-cinematic .brand-words small,
body.lf-world-class-v11.lf-world-concept-dark-showroom .brand-words small,
body.lf-world-class-v11.lf-world-concept-digital-canvas .brand-words small,
body.lf-world-class-v11.lf-world-concept-kinetic-track .brand-words small{
  color:#fff!important;
}

/* Motion is restrained and disabled for users who request reduced motion */
@media(prefers-reduced-motion:no-preference){
  body.lf-world-class-v11 .lf-world-service-row,
  body.lf-world-class-v11 .lf-world-service-tile,
  body.lf-world-class-v11 .lf-world-hero-inset,
  body.lf-world-class-v11 .lf-world-command-card{
    transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s ease;
  }
  body.lf-world-class-v11 .lf-world-service-row:hover{
    transform:translateX(6px);
  }
  body.lf-world-class-v11 .lf-world-hero-inset:hover,
  body.lf-world-class-v11 .lf-world-command-card:hover{
    transform:translateY(-5px);
  }
}

@media(max-width:1100px){
  body.lf-world-class-v11 .lf-el-hero-world-monumental,
  body.lf-world-class-v11 .lf-el-hero-world-command{
    grid-template-columns:1fr 1fr;
  }
  body.lf-world-class-v11 .lf-world-services-project-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.lf-world-class-v11 .lf-world-service-tile,
  body.lf-world-class-v11 .lf-world-service-tile-1,
  body.lf-world-class-v11 .lf-world-service-tile-2,
  body.lf-world-class-v11 .lf-world-service-tile-3,
  body.lf-world-class-v11 .lf-world-service-tile-4{
    grid-column:span 1;
  }
}

@media(max-width:767px){
  body.lf-world-class-v11{
    --lf-world-display:clamp(48px,15vw,78px);
  }
  body.lf-world-class-v11 .lf-el-hero-world-monumental,
  body.lf-world-class-v11 .lf-el-hero-world-canvas,
  body.lf-world-class-v11 .lf-el-hero-world-command{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    min-height:0;
    padding-top:clamp(78px,18vw,112px)!important;
  }
  body.lf-world-class-v11 .lf-el-hero-world-canvas{
    background:#07090d;
  }
  body.lf-world-class-v11 .lf-world-hero-media-canvas{
    position:relative!important;
    inset:auto;
    grid-column:1!important;
    grid-row:auto!important;
    min-height:440px;
    opacity:1;
    z-index:1;
    order:2;
  }
  body.lf-world-class-v11 .lf-world-hero-media-canvas:after{
    background:linear-gradient(180deg,transparent 52%,rgba(7,9,13,.45));
  }
  body.lf-world-class-v11 .lf-el-hero-world-canvas>.lf-el-hero-copy-wrap{
    grid-column:1!important;
    grid-row:auto!important;
    order:1;
  }
  body.lf-world-class-v11 .lf-el-hero-world-canvas>.lf-el-hero-facts{
    grid-column:1!important;
    grid-row:auto!important;
    order:3;
  }
  body.lf-world-class-v11 .lf-world-hero-media-monumental,
  body.lf-world-class-v11 .lf-world-hero-media-command{
    min-height:0;
    grid-template-columns:1fr;
  }
  body.lf-world-class-v11 .lf-world-hero-media-monumental>.elementor-widget-image:first-child,
  body.lf-world-class-v11 .lf-world-hero-media-command>.elementor-widget-image:first-child{
    grid-column:1;
    min-height:430px;
  }
  body.lf-world-class-v11 .lf-world-hero-inset{
    grid-column:1;
    grid-row:auto;
    width:72%!important;
    margin:-90px 0 0 auto;
  }
  body.lf-world-class-v11 .lf-world-command-card{
    grid-column:1;
    grid-row:auto;
    width:92%;
    margin:-74px auto 0;
  }
  body.lf-world-class-v11 .lf-world-services>.lf-el-intro{
    grid-template-columns:1fr!important;
  }
  body.lf-world-class-v11 .lf-world-service-row{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  body.lf-world-class-v11 .lf-world-service-row-reverse .lf-world-service-copy-wrap,
  body.lf-world-class-v11 .lf-world-service-row-reverse>.elementor-widget-image{
    order:initial;
  }
  body.lf-world-class-v11 .lf-world-service-copy-wrap{
    grid-template-columns:42px minmax(0,1fr);
  }
  body.lf-world-class-v11 .lf-world-services-project-mosaic{
    grid-template-columns:1fr!important;
  }
  body.lf-world-class-v11 .lf-world-service-tile{
    min-height:0;
  }
  body.lf-world-transition-cut-panels .lf-el-section:nth-child(even){
    clip-path:none;
    padding-top:var(--lf-world-section)!important;
  }
  body.lf-world-transition-overlap .lf-el-showcase,
  body.lf-world-transition-overlap .lf-el-about,
  body.lf-world-transition-layered .lf-el-showcase-grid,
  body.lf-world-transition-layered .lf-el-about-media{
    margin-top:0;
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  body.lf-world-class-v11 *,
  body.lf-world-class-v11 *:before,
  body.lf-world-class-v11 *:after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
