/*
 * LeadForge Premium Design Engine V9
 * Structural art direction layered after the native Elementor system.
 * No content is flattened: all sections remain Elementor-editable.
 */

.lf-premium-engine-v9{
  --v9-hairline:color-mix(in srgb,var(--ink) 13%,transparent);
  --v9-soft-shadow:0 24px 70px color-mix(in srgb,var(--ink) 10%,transparent);
  --v9-deep-shadow:0 42px 110px color-mix(in srgb,var(--ink) 18%,transparent);
  --v9-copy:color-mix(in srgb,var(--ink) 68%,transparent);
  --v9-radius:clamp(16px,1.7vw,28px);
}
.lf-premium-engine-v9 .lf-el-section-title{max-width:15ch;text-wrap:balance}
.lf-premium-engine-v9 .lf-el-section-copy{max-width:62ch}
.lf-premium-engine-v9 .elementor-button{font-weight:780;letter-spacing:-.015em}
.lf-premium-engine-v9 .lf-el-service-card,.lf-premium-engine-v9 .lf-el-process-card{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.lf-premium-engine-v9 .lf-el-service-card:hover{transform:translateY(-5px)}

/* CTA personalities ------------------------------------------------------- */
.lf-cta-pill .elementor-button{border-radius:999px!important;padding-inline:24px!important}
.lf-cta-square .elementor-button{border-radius:2px!important}
.lf-cta-underline .lf-el-actions .elementor-button{
  min-height:44px!important;display:inline-flex!important;align-items:center!important;padding:11px 0!important;border:0!important;border-bottom:1px solid currentColor!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important;
}
.lf-cta-underline .lf-el-actions .elementor-widget:first-child .elementor-button{color:var(--brand)!important}
.lf-cta-split .lf-el-actions{gap:0!important;border:1px solid var(--v9-hairline);width:max-content;max-width:100%}
.lf-cta-split .lf-el-actions .elementor-button{border-radius:0!important;border:0!important;min-height:52px}
.lf-cta-split .lf-el-actions>.elementor-widget+ .elementor-widget{border-left:1px solid var(--v9-hairline)}

/* Edge systems ----------------------------------------------------------- */
.lf-edge-clean .lf-el-service-card,.lf-edge-clean .lf-el-process-card,.lf-edge-clean .lf-el-proof-card{border-color:transparent!important;box-shadow:none!important}
.lf-edge-hairline .lf-el-service-card,.lf-edge-hairline .lf-el-process-card,.lf-edge-hairline .lf-el-proof-card{border-radius:0!important;border-width:1px!important;box-shadow:none!important}
.lf-edge-cut .lf-el-service-card,.lf-edge-cut .lf-el-process-card,.lf-edge-cut .lf-el-about-media{border-radius:0!important;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}
.lf-edge-floating .lf-el-service-card,.lf-edge-floating .lf-el-process-card{border-color:transparent!important;box-shadow:var(--v9-soft-shadow)!important}

/* Typography personalities --------------------------------------------- */
.lf-type-personality-editorial .lf-el-hero-title,.lf-type-personality-editorial .lf-el-section-title,.lf-type-personality-editorial .lf-el-contact-title,.lf-type-personality-editorial .lf-el-statement-title{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;letter-spacing:-.055em!important}
.lf-type-personality-technical .lf-el-kicker,.lf-type-personality-technical .lf-el-service-number,.lf-type-personality-technical .lf-el-proof-index{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.14em!important}
.lf-type-personality-technical .lf-el-hero-title,.lf-type-personality-technical .lf-el-section-title{letter-spacing:-.05em!important}
.lf-type-personality-humanist .lf-el-hero-title,.lf-type-personality-humanist .lf-el-section-title{font-weight:650!important;letter-spacing:-.045em!important}
.lf-type-personality-modern .lf-el-hero-title,.lf-type-personality-modern .lf-el-section-title{font-weight:790!important;letter-spacing:-.06em!important}

/* Hero density ----------------------------------------------------------- */
.lf-hero-density-focused .lf-el-hero{min-height:min(780px,88vh)}
.lf-hero-density-focused .lf-el-hero-copy-wrap{max-width:680px}
.lf-hero-density-cinematic .lf-el-hero{min-height:max(860px,96vh)}
.lf-hero-density-cinematic .lf-el-hero-title{font-size:clamp(58px,8.3vw,126px)}
.lf-hero-density-compact .lf-el-hero{min-height:640px}
.lf-hero-density-compact .lf-el-hero-media{min-height:430px}
.lf-hero-density-compact .lf-el-hero-title{font-size:clamp(46px,6vw,84px)}

/* Contrast choreography -------------------------------------------------- */
.lf-contrast-alternating .lf-el-section:nth-of-type(even){background:color-mix(in srgb,var(--brand) 5%,var(--paper))}
.lf-contrast-alternating .lf-el-statement,.lf-contrast-alternating .lf-el-showcase,.lf-contrast-alternating .lf-el-process{background:color-mix(in srgb,var(--ink) 96%,black)}
.lf-contrast-paper .lf-el-section{background:#fff}
.lf-contrast-paper .lf-el-statement{background:color-mix(in srgb,var(--paper) 92%,var(--brand));color:var(--ink)}
.lf-contrast-paper .lf-el-statement .lf-el-statement-title,.lf-contrast-paper .lf-el-statement .lf-el-statement-fact{color:var(--ink)}
.lf-contrast-paper .lf-el-statement .lf-el-statement-copy{color:var(--v9-copy)}
.lf-contrast-noir .lf-el-hero,.lf-contrast-noir .lf-el-statement,.lf-contrast-noir .lf-el-showcase,.lf-contrast-noir .lf-el-contact{background:#080b0f;color:#fff}
.lf-contrast-noir .lf-el-hero-title,.lf-contrast-noir .lf-el-statement-title,.lf-contrast-noir .lf-el-showcase .lf-el-section-title,.lf-contrast-noir .lf-el-contact-title{color:#fff}
.lf-contrast-noir .lf-el-hero-copy,.lf-contrast-noir .lf-el-contact-copy{color:rgba(255,255,255,.68)}

/* Variation 4/5 are intentionally more radical than simple re-ordering. */
.lf-variation-4 .lf-el-services>.lf-el-intro{max-width:760px;margin-left:auto}
.lf-variation-4 .lf-el-about{grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr)}
.lf-variation-4 .lf-el-about-media{order:2}.lf-variation-4 .lf-el-about-copy-wrap{order:1}
.lf-variation-5 .lf-el-hero{grid-template-columns:minmax(0,.78fr) minmax(440px,1.22fr)}
.lf-variation-5 .lf-el-services>.lf-el-intro{max-width:560px}
.lf-variation-5 .lf-el-service-layout{gap:0;border-top:1px solid var(--v9-hairline);border-left:1px solid var(--v9-hairline)}
.lf-variation-5 .lf-el-service-card{border-radius:0!important;border-width:0 1px 1px 0!important}

/* Architectural Minimal -------------------------------------------------- */
body.lf-family-architectural-minimal{
  --lf-el-display:clamp(62px,8.7vw,130px);
  --lf-el-section:clamp(94px,11vw,160px);
}
body.lf-family-architectural-minimal .site-header{background:rgba(250,250,247,.92)!important;border-bottom:1px solid rgba(20,25,28,.1)!important;backdrop-filter:blur(20px)}
body.lf-family-architectural-minimal .brand-mark{border-radius:0!important;background:transparent!important;color:var(--brand)!important;border:1px solid currentColor}
.lf-family-architectural-minimal .lf-el-hero{
  min-height:880px;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);grid-template-areas:"copy facts" "media media";align-items:end;background:#f4f3ee;
}
.lf-family-architectural-minimal .lf-el-hero-copy-wrap{padding-bottom:50px;max-width:920px}
.lf-family-architectural-minimal .lf-el-hero-title{max-width:10ch;font-size:var(--lf-el-display);font-weight:720;line-height:.86;letter-spacing:-.075em}
.lf-family-architectural-minimal .lf-el-hero-facts{align-self:end;margin:0 0 50px;padding-left:30px;border-top:0;border-left:1px solid var(--v9-hairline)}
.lf-family-architectural-minimal .lf-el-fact{border-right:0;border-bottom:1px solid var(--v9-hairline)}
.lf-family-architectural-minimal .lf-el-hero-media{min-height:620px}
.lf-family-architectural-minimal .lf-el-hero-image img{border-radius:0!important;box-shadow:none;filter:saturate(.8)}
.lf-family-architectural-minimal .lf-el-services{background:#fff}
.lf-family-architectural-minimal .lf-el-services-split-list{grid-template-columns:1fr;border-top:1px solid var(--v9-hairline)}
.lf-family-architectural-minimal .lf-el-service-card{min-height:0;display:grid!important;grid-template-columns:58px minmax(180px,.6fr) minmax(260px,1fr) auto;align-items:center;padding:27px 0;border:0;border-bottom:1px solid var(--v9-hairline);border-radius:0;background:transparent;box-shadow:none}
.lf-family-architectural-minimal .lf-el-service-number{font-size:11px;letter-spacing:.12em}
.lf-family-architectural-minimal .lf-el-statement{min-height:80vh;background:#111416}
.lf-family-architectural-minimal .lf-el-about{background:#ecebe5}
.lf-family-architectural-minimal .lf-el-about-image img{border-radius:0!important}
.lf-family-architectural-minimal .lf-el-contact{border-top:1px solid var(--v9-hairline);background:#fff}

/* Quiet Luxury ----------------------------------------------------------- */
body.lf-family-quiet-luxury{
  --lf-el-display:clamp(66px,9vw,138px);
  --lf-el-section:clamp(100px,12vw,174px);
}
body.lf-family-quiet-luxury .site-header{background:rgba(245,241,232,.9)!important;border:0!important;backdrop-filter:blur(22px)}
body.lf-family-quiet-luxury .brand-mark{border-radius:50%!important;background:transparent!important;border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);color:var(--brand)!important}
.lf-family-quiet-luxury .lf-el-hero{min-height:96vh;display:grid!important;grid-template-columns:1fr;grid-template-areas:"copy" "facts";align-content:end;color:#fff;background:#11100e}
.lf-family-quiet-luxury .lf-el-hero-media{position:absolute;inset:0;z-index:0;min-height:0}
.lf-family-quiet-luxury .lf-el-hero-image img{border-radius:0!important;filter:brightness(.54) saturate(.68) sepia(.08)}
.lf-family-quiet-luxury .lf-el-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,12,9,.86),transparent 58%),linear-gradient(90deg,rgba(14,12,9,.48),transparent 66%)}
.lf-family-quiet-luxury .lf-el-hero-copy-wrap{position:relative;z-index:2;max-width:980px;padding-top:220px}
.lf-family-quiet-luxury .lf-el-hero-title{max-width:9ch;color:#fff;font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:.85;letter-spacing:-.065em}
.lf-family-quiet-luxury .lf-el-hero-copy{max-width:620px;color:rgba(255,255,255,.72)}
.lf-family-quiet-luxury .lf-el-hero-facts{position:relative;z-index:2;border-color:rgba(255,255,255,.22)}
.lf-family-quiet-luxury .lf-el-fact{border-color:rgba(255,255,255,.2);color:#fff}
.lf-family-quiet-luxury .lf-el-showcase{background:#16130f}
.lf-family-quiet-luxury .lf-el-statement{background:#e7e1d4;color:#28231d}
.lf-family-quiet-luxury .lf-el-statement-title,.lf-family-quiet-luxury .lf-el-statement-fact{color:#28231d;font-family:Georgia,"Times New Roman",serif;font-weight:400}
.lf-family-quiet-luxury .lf-el-statement-copy{color:#736b61}
.lf-family-quiet-luxury .lf-el-service-card{border-radius:0!important;background:transparent;border-width:1px 0 0;box-shadow:none}
.lf-family-quiet-luxury .lf-el-about{background:#f6f2e9}
.lf-family-quiet-luxury .lf-el-about-image img{border-radius:50% 50% 0 0!important}

/* Precision Service ------------------------------------------------------ */
body.lf-family-precision-service{--lf-el-display:clamp(54px,7vw,104px);--lf-el-section:clamp(78px,9vw,132px)}
body.lf-family-precision-service .site-header{border-bottom:3px solid var(--accent)!important;background:rgba(255,255,255,.96)!important}
.lf-family-precision-service .lf-el-hero{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 96%,#06121a),color-mix(in srgb,var(--brand) 72%,#06121a));color:#fff}
.lf-family-precision-service .lf-el-hero-title{color:#fff;max-width:11ch}
.lf-family-precision-service .lf-el-hero-copy{color:rgba(255,255,255,.76)}
.lf-family-precision-service .lf-el-hero-facts,.lf-family-precision-service .lf-el-fact{border-color:rgba(255,255,255,.2)}
.lf-family-precision-service .lf-el-hero-image img{border-radius:0 0 0 clamp(40px,7vw,110px)!important;border:0!important;box-shadow:var(--v9-deep-shadow)}
.lf-family-precision-service .lf-el-proof-grid{gap:12px;border:0;background:transparent}
.lf-family-precision-service .lf-el-proof-card{border:1px solid var(--v9-hairline);border-radius:var(--v9-radius)}
.lf-family-precision-service .lf-el-services-ordered-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--v9-hairline);border:1px solid var(--v9-hairline)}
.lf-family-precision-service .lf-el-service-card{border:0!important;border-radius:0!important;min-height:280px;background:#fff}
.lf-family-precision-service .lf-el-service-card:nth-child(3n+1){background:color-mix(in srgb,var(--accent) 12%,#fff)}
.lf-family-precision-service .lf-el-process{background:color-mix(in srgb,var(--brand) 93%,#071018);color:#fff}
.lf-family-precision-service .lf-el-process .lf-el-section-title,.lf-family-precision-service .lf-el-process .lf-el-card-title{color:#fff}
.lf-family-precision-service .lf-el-process .lf-el-card-copy{color:rgba(255,255,255,.65)}

/* Existing family upgrades ---------------------------------------------- */
.lf-family-minimal-conversion .lf-el-hero{background:#fbfbf8;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)}
.lf-family-minimal-conversion .lf-el-hero-title{max-width:10ch;font-size:clamp(60px,8vw,118px);line-height:.86;letter-spacing:-.075em}
.lf-family-minimal-conversion .lf-el-hero-image img{border-radius:0!important;box-shadow:none}
.lf-family-minimal-conversion .lf-el-services{background:#fff}
.lf-family-minimal-conversion .lf-el-services-split-list{grid-template-columns:1fr}
.lf-family-minimal-conversion .lf-el-service-card{min-height:0;border-radius:0!important;border-width:1px 0 0;padding:25px 0;background:transparent;box-shadow:none;display:grid!important;grid-template-columns:48px minmax(180px,.58fr) minmax(240px,1fr) auto;align-items:center}
.lf-family-authority-split .lf-el-contact{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 8%,#fff),#fff)}
.lf-family-editorial-showcase .lf-el-showcase-grid{gap:5px}
.lf-family-modular-studio .lf-el-service-card{border-color:color-mix(in srgb,var(--accent) 22%,var(--v9-hairline))}
.lf-family-clinical-calm .lf-el-section{--v9-hairline:color-mix(in srgb,var(--brand) 12%,transparent)}
.lf-family-service-conversion .lf-el-contact{background:color-mix(in srgb,var(--brand) 95%,#07131a);color:#fff}
.lf-family-service-conversion .lf-el-contact-title{color:#fff}.lf-family-service-conversion .lf-el-contact-copy{color:rgba(255,255,255,.7)}

/* Better mobile art direction ------------------------------------------- */
@media(max-width:900px){
  .lf-family-architectural-minimal .lf-el-hero{grid-template-columns:1fr;grid-template-areas:"copy" "media" "facts";min-height:0}
  .lf-family-architectural-minimal .lf-el-hero-copy-wrap{padding:72px 0 30px}
  .lf-family-architectural-minimal .lf-el-hero-facts{padding-left:0;margin:0;border-left:0;border-top:1px solid var(--v9-hairline)}
  .lf-family-architectural-minimal .lf-el-service-card,.lf-family-minimal-conversion .lf-el-service-card{display:flex!important;align-items:flex-start}
  .lf-family-quiet-luxury .lf-el-hero{min-height:820px}
  .lf-family-precision-service .lf-el-hero{grid-template-columns:1fr}
  .lf-family-precision-service .lf-el-services-ordered-grid{grid-template-columns:1fr}
  .lf-variation-5 .lf-el-hero{grid-template-columns:1fr}
}
@media(max-width:767px){
  .lf-premium-engine-v9 .lf-el-section-title{max-width:100%}
  .lf-hero-density-cinematic .lf-el-hero{min-height:760px}
  .lf-hero-density-compact .lf-el-hero{min-height:0}
  .lf-cta-split .lf-el-actions{width:100%;display:grid!important}
  .lf-cta-split .lf-el-actions>.elementor-widget+ .elementor-widget{border-left:0;border-top:1px solid var(--v9-hairline)}
  .lf-family-quiet-luxury .lf-el-hero-copy-wrap{padding-top:120px}
  .lf-family-quiet-luxury .lf-el-hero-title{font-size:clamp(54px,15vw,86px)}
  .lf-family-architectural-minimal .lf-el-hero-media{min-height:390px}
}
@media(max-width:520px){
  .lf-family-architectural-minimal .lf-el-service-card,.lf-family-minimal-conversion .lf-el-service-card{padding:20px 0}
  .lf-edge-cut .lf-el-service-card,.lf-edge-cut .lf-el-process-card,.lf-edge-cut .lf-el-about-media{clip-path:none}
}
@media(prefers-reduced-motion:reduce){.lf-premium-engine-v9 .lf-el-service-card{transition:none}}
