/* Flomm Consult — Services page (post 73)
   IMPORTANT: this Elementor build wraps every Container's real children
   inside a nested .e-con-inner div, and _css_classes does not apply to
   Container elements. So: layout (display/flex-direction/gap/align/
   justify) rules target '.elementor-element-{id} > .e-con-inner', while
   box rules (padding/background/position/sizing) target the id itself. */

.svc-eyebrow{ display:block; color:#FFA033; font-family:'Inter',sans-serif; font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.18em; margin-bottom:16px; }
.svc-eyebrow--dark{ color:#800080; }
.svc-section-h2 .elementor-heading-title{ font-family:'Fraunces',serif; font-weight:600; color:#fff; font-size:clamp(2rem,4vw,3rem); line-height:1.15; margin:0; }

/* Section 01: Hero */
.elementor-element-1000001{ position:relative; min-height:88vh; padding:160px 24px 120px; overflow:hidden; }
.elementor-element-1000001::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(3,24,29,.35) 0%, rgba(3,24,29,.78) 75%, rgba(3,24,29,.94) 100%); z-index:0; }
.elementor-element-1000002{ position:relative; z-index:2; max-width:1280px; width:100%; margin:0 auto; }
.elementor-element-1000002 > .e-con-inner{ display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; align-items:flex-start !important; justify-content:flex-start !important; gap:22px !important; }
.svc-hero-h1 .elementor-heading-title{ font-family:'Fraunces',serif; font-weight:600; color:#fff; font-size:clamp(2.4rem,5.5vw,4.2rem); line-height:1.1; margin:0; max-width:820px; }
.svc-hero-copy p{ color:rgba(255,255,255,.75); font-family:'Inter',sans-serif; font-size:1.05rem; line-height:1.7; max-width:560px; margin:0; }
.elementor-element-1000006{ position:relative; z-index:2; margin-top:18px; }
.elementor-element-1000006 > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:flex-start !important; justify-content:flex-start !important; gap:36px !important; }
.elementor-element-1000006 > .e-con-inner > .svc-trust-item{ flex:0 0 230px !important; width:230px !important; max-width:230px !important; }
.svc-trust-item .elementor-icon-box-wrapper{ align-items:center; }
.svc-trust-item .elementor-icon-box-icon{ color:#FFA033; margin-right:14px; }
.svc-trust-item .elementor-icon-box-icon i{ font-size:22px; }
.svc-trust-item .elementor-icon-box-title{ color:#fff; font-family:'Inter',sans-serif; font-size:.95rem; font-weight:600; margin:0 0 4px; }
.svc-trust-item .elementor-icon-box-description{ color:rgba(255,255,255,.55); font-family:'Inter',sans-serif; font-size:.82rem; line-height:1.5; margin:0; }
.svc-watermark{ position:absolute; left:0; right:0; bottom:-18px; z-index:1; text-align:center; pointer-events:none; }
.svc-watermark .elementor-heading-title{ font-family:'Fraunces',serif; font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:clamp(3.5rem,12vw,9rem); color:rgba(255,255,255,.05); margin:0; white-space:nowrap; }

/* Section 02: Complete Services */
.elementor-element-2000056{ background:#F7F5F1; padding:120px 24px; }
.elementor-element-2000056 .svc-section-h2 .elementor-heading-title{ color:#111; }
.elementor-element-2000054{ max-width:1280px; margin:0 auto 56px; text-align:left; }
.svc-section-copy p{ color:rgba(17,17,17,.6); font-family:'Inter',sans-serif; font-size:1.05rem; margin:10px 0 0; }
.elementor-element-2000055{ max-width:1280px; margin:0 auto; }
.elementor-element-2000055 > .e-con-inner{ display:grid !important; grid-template-columns:repeat(5,1fr) !important; gap:24px !important; }
.elementor-element-2000008, .elementor-element-2000010, .elementor-element-2000018, .elementor-element-2000020, .elementor-element-2000028, .elementor-element-2000030, .elementor-element-2000038, .elementor-element-2000040, .elementor-element-2000048, .elementor-element-2000050{ position:relative; display:flex; align-items:flex-end; min-height:340px; border-radius:14px; overflow:hidden; border:1px solid rgba(0,0,0,.06); text-decoration:none; isolation:isolate; transition:transform .4s cubic-bezier(.22,1,.36,1), border-color .4s ease, box-shadow .4s ease; }
.elementor-element-2000008::before, .elementor-element-2000010::before, .elementor-element-2000018::before, .elementor-element-2000020::before, .elementor-element-2000028::before, .elementor-element-2000030::before, .elementor-element-2000038::before, .elementor-element-2000040::before, .elementor-element-2000048::before, .elementor-element-2000050::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(3,24,29,0) 30%, rgba(3,24,29,.85) 100%); transition:background .4s ease; z-index:0; }
.elementor-element-2000008::after, .elementor-element-2000010::after, .elementor-element-2000018::after, .elementor-element-2000020::after, .elementor-element-2000028::after, .elementor-element-2000030::after, .elementor-element-2000038::after, .elementor-element-2000040::after, .elementor-element-2000048::after, .elementor-element-2000050::after{ content:''; position:absolute; inset:0; border-radius:14px; box-shadow:inset 0 0 0 1px rgba(255,160,51,0); transition:box-shadow .4s ease; z-index:2; pointer-events:none; }
.elementor-element-2000008:hover, .elementor-element-2000010:hover, .elementor-element-2000018:hover, .elementor-element-2000020:hover, .elementor-element-2000028:hover, .elementor-element-2000030:hover, .elementor-element-2000038:hover, .elementor-element-2000040:hover, .elementor-element-2000048:hover, .elementor-element-2000050:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(0,0,0,.18); }
.elementor-element-2000008:hover::before, .elementor-element-2000010:hover::before, .elementor-element-2000018:hover::before, .elementor-element-2000020:hover::before, .elementor-element-2000028:hover::before, .elementor-element-2000030:hover::before, .elementor-element-2000038:hover::before, .elementor-element-2000040:hover::before, .elementor-element-2000048:hover::before, .elementor-element-2000050:hover::before{ background:linear-gradient(180deg, rgba(3,24,29,.15) 0%, rgba(3,24,29,.92) 100%); }
.elementor-element-2000008:hover::after, .elementor-element-2000010:hover::after, .elementor-element-2000018:hover::after, .elementor-element-2000020:hover::after, .elementor-element-2000028:hover::after, .elementor-element-2000030:hover::after, .elementor-element-2000038:hover::after, .elementor-element-2000040:hover::after, .elementor-element-2000048:hover::after, .elementor-element-2000050:hover::after{ box-shadow:inset 0 0 0 1px rgba(255,160,51,.55); }
.elementor-element-2000008 > .e-con-inner, .elementor-element-2000010 > .e-con-inner, .elementor-element-2000018 > .e-con-inner, .elementor-element-2000020 > .e-con-inner, .elementor-element-2000028 > .e-con-inner, .elementor-element-2000030 > .e-con-inner, .elementor-element-2000038 > .e-con-inner, .elementor-element-2000040 > .e-con-inner, .elementor-element-2000048 > .e-con-inner, .elementor-element-2000050 > .e-con-inner{ position:relative; z-index:1; width:100%; }
.elementor-element-2000008 img, .elementor-element-2000010 img, .elementor-element-2000018 img, .elementor-element-2000020 img, .elementor-element-2000028 img, .elementor-element-2000030 img, .elementor-element-2000038 img, .elementor-element-2000040 img, .elementor-element-2000048 img, .elementor-element-2000050 img{ transition:transform .5s cubic-bezier(.22,1,.36,1); }
.elementor-element-2000008:hover img, .elementor-element-2000010:hover img, .elementor-element-2000018:hover img, .elementor-element-2000020:hover img, .elementor-element-2000028:hover img, .elementor-element-2000030:hover img, .elementor-element-2000038:hover img, .elementor-element-2000040:hover img, .elementor-element-2000048:hover img, .elementor-element-2000050:hover img{ transform:scale(1.06); }
.elementor-element-2000007, .elementor-element-200000f, .elementor-element-2000017, .elementor-element-200001f, .elementor-element-2000027, .elementor-element-200002f, .elementor-element-2000037, .elementor-element-200003f, .elementor-element-2000047, .elementor-element-200004f{ position:relative; z-index:1; padding:24px 22px; width:100%; }
.elementor-element-2000007 > .e-con-inner, .elementor-element-200000f > .e-con-inner, .elementor-element-2000017 > .e-con-inner, .elementor-element-200001f > .e-con-inner, .elementor-element-2000027 > .e-con-inner, .elementor-element-200002f > .e-con-inner, .elementor-element-2000037 > .e-con-inner, .elementor-element-200003f > .e-con-inner, .elementor-element-2000047 > .e-con-inner, .elementor-element-200004f > .e-con-inner{ display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; align-items:stretch !important; justify-content:flex-start !important; gap:8px !important; }
.svc-card-icon{ color:#FFA033; margin-bottom:6px; }
.svc-card-icon i{ font-size:20px; }
.svc-card-title .elementor-heading-title{ font-family:'Inter',sans-serif; font-weight:600; font-size:1.08rem; color:#fff; margin:0; }
.svc-card-desc p{ font-family:'Inter',sans-serif; font-size:.85rem; line-height:1.5; color:rgba(255,255,255,.72); margin:0; }
.elementor-element-2000006, .elementor-element-200000e, .elementor-element-2000016, .elementor-element-200001e, .elementor-element-2000026, .elementor-element-200002e, .elementor-element-2000036, .elementor-element-200003e, .elementor-element-2000046, .elementor-element-200004e{ margin-top:10px; }
.elementor-element-2000006 > .e-con-inner, .elementor-element-200000e > .e-con-inner, .elementor-element-2000016 > .e-con-inner, .elementor-element-200001e > .e-con-inner, .elementor-element-2000026 > .e-con-inner, .elementor-element-200002e > .e-con-inner, .elementor-element-2000036 > .e-con-inner, .elementor-element-200003e > .e-con-inner, .elementor-element-2000046 > .e-con-inner, .elementor-element-200004e > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:flex-start !important; gap:8px !important; }
.svc-card-learn-text .elementor-heading-title{ font-family:'Inter',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.04em; color:#fff; text-transform:uppercase; }
.svc-card-learn-arrow{ color:#FFA033; transition:transform .35s cubic-bezier(.22,1,.36,1); }
.svc-card-learn-arrow i{ font-size:13px; }
.elementor-element-2000008:hover .svc-card-learn-arrow, .elementor-element-2000010:hover .svc-card-learn-arrow, .elementor-element-2000018:hover .svc-card-learn-arrow, .elementor-element-2000020:hover .svc-card-learn-arrow, .elementor-element-2000028:hover .svc-card-learn-arrow, .elementor-element-2000030:hover .svc-card-learn-arrow, .elementor-element-2000038:hover .svc-card-learn-arrow, .elementor-element-2000040:hover .svc-card-learn-arrow, .elementor-element-2000048:hover .svc-card-learn-arrow, .elementor-element-2000050:hover .svc-card-learn-arrow{ transform:translateX(6px); }
.elementor-element-2000008:focus-visible, .elementor-element-2000010:focus-visible, .elementor-element-2000018:focus-visible, .elementor-element-2000020:focus-visible, .elementor-element-2000028:focus-visible, .elementor-element-2000030:focus-visible, .elementor-element-2000038:focus-visible, .elementor-element-2000040:focus-visible, .elementor-element-2000048:focus-visible, .elementor-element-2000050:focus-visible{ outline:2px solid #FFA033; outline-offset:3px; }

/* Section 03: Why Flomm Consult */
.elementor-element-300000b{ position:relative; padding:120px 24px; }
.elementor-element-300000b::before{ content:''; position:absolute; inset:0; background:rgba(3,24,29,.82); z-index:0; }
.elementor-element-300000a{ position:relative; z-index:1; max-width:1280px; margin:0 auto; }
.elementor-element-300000a > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:64px !important; align-items:flex-start !important; justify-content:space-between !important; }
.elementor-element-3000004{ flex:1 1 400px !important; max-width:480px !important; }
.svc-why-copy p{ color:rgba(255,255,255,.68); font-family:'Inter',sans-serif; font-size:1.02rem; line-height:1.75; margin:16px 0 0; }
.elementor-element-3000009{ flex:1 1 420px !important; max-width:520px !important; }
.elementor-element-3000009 > .e-con-inner{ display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; align-items:stretch !important; justify-content:flex-start !important; gap:30px !important; }
.svc-why-item .elementor-icon-box-wrapper{ align-items:center; }
.svc-why-item .elementor-icon-box-icon{ width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,160,51,.35); display:flex; align-items:center; justify-content:center; color:#FFA033; margin-right:20px; flex-shrink:0; }
.svc-why-item .elementor-icon-box-icon i{ font-size:20px; }
.svc-why-item .elementor-icon-box-title{ color:#fff; font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:600; margin:0 0 4px; }
.svc-why-item .elementor-icon-box-description{ color:rgba(255,255,255,.55); font-family:'Inter',sans-serif; font-size:.88rem; line-height:1.55; margin:0; }

/* Section 04: Final CTA */
.elementor-element-4000013{ position:relative; padding:140px 24px; overflow:hidden; }
.elementor-element-4000013::before{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(3,24,29,.95) 20%, rgba(3,24,29,.45) 100%); z-index:0; }
.elementor-element-4000012{ position:relative; z-index:1; max-width:1280px; margin:0 auto; }
.elementor-element-4000012 > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:56px !important; align-items:center !important; justify-content:space-between !important; }
.elementor-element-4000005{ flex:1 1 420px !important; max-width:560px !important; }
.svc-cta-h2 .elementor-heading-title{ font-size:clamp(2rem,4vw,2.8rem); }
.svc-cta-copy p{ color:rgba(255,255,255,.7); font-family:'Inter',sans-serif; font-size:1rem; line-height:1.7; margin:14px 0 28px; max-width:460px; }
.svc-cta-btn .elementor-button{ background:linear-gradient(90deg,#800080,#2196F3) !important; border:none !important; color:#fff !important; font-family:'Inter',sans-serif; font-weight:600; font-size:.95rem; padding:18px 34px !important; border-radius:999px !important; transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; }
.svc-cta-btn .elementor-button:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(128,0,128,.35); }
.svc-cta-btn .elementor-button-icon{ margin-inline-start:10px; }
.elementor-element-4000011{ flex:0 1 460px !important; max-width:460px !important; width:460px !important; }
.elementor-element-4000011 > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:stretch !important; justify-content:flex-start !important; gap:28px !important; }
.elementor-element-4000008, .elementor-element-400000c, .elementor-element-4000010{ min-width:100px; }
.elementor-element-4000008 > .e-con-inner, .elementor-element-400000c > .e-con-inner, .elementor-element-4000010 > .e-con-inner{ display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; align-items:flex-start !important; justify-content:flex-start !important; gap:6px !important; }
.svc-stat-number .elementor-heading-title{ font-family:'Fraunces',serif; font-weight:600; font-size:2.4rem; color:#fff; margin:0; }
.svc-stat-label .elementor-heading-title{ font-family:'Inter',sans-serif; font-size:.8rem; color:rgba(255,255,255,.55); margin:0; }
.elementor-element-4000009, .elementor-element-400000d{ width:1px; align-self:stretch; background:rgba(255,255,255,.16); flex:0 0 1px; }

/* Reveal on scroll */
.svc-reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.svc-reveal.svc-revealed{ opacity:1; transform:translateY(0); }

/* Responsive */
@media (max-width:1200px){
  .elementor-element-2000055 > .e-con-inner{ grid-template-columns:repeat(3,1fr) !important; }
}
@media (max-width:1024px){
  .elementor-element-300000a > .e-con-inner, .elementor-element-4000012 > .e-con-inner{ flex-direction:column !important; }
  .elementor-element-4000011{ width:100% !important; max-width:100% !important; }
  .elementor-element-3000004, .elementor-element-3000009, .elementor-element-4000005{ max-width:100% !important; }
}
@media (max-width:767px){
  .elementor-element-1000001{ padding:130px 20px 100px; min-height:auto; }
  .elementor-element-2000055 > .e-con-inner{ grid-template-columns:1fr !important; }
  .elementor-element-2000056, .elementor-element-300000b, .elementor-element-4000013{ padding-left:20px; padding-right:20px; }
  .elementor-element-300000b{ padding-top:80px; padding-bottom:80px; }
  .elementor-element-4000013{ padding-top:90px; padding-bottom:90px; }
  .elementor-element-1000006 > .e-con-inner{ gap:22px !important; }
  .elementor-element-4000011 > .e-con-inner{ flex-wrap:wrap !important; gap:20px !important; }
  .elementor-element-2000008, .elementor-element-2000010, .elementor-element-2000018, .elementor-element-2000020, .elementor-element-2000028, .elementor-element-2000030, .elementor-element-2000038, .elementor-element-2000040, .elementor-element-2000048, .elementor-element-2000050, .svc-trust-item a, .elementor-element-2000006, .elementor-element-200000e, .elementor-element-2000016, .elementor-element-200001e, .elementor-element-2000026, .elementor-element-200002e, .elementor-element-2000036, .elementor-element-200003e, .elementor-element-2000046, .elementor-element-200004e{ min-height:44px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .elementor-element-2000008, .elementor-element-2000010, .elementor-element-2000018, .elementor-element-2000020, .elementor-element-2000028, .elementor-element-2000030, .elementor-element-2000038, .elementor-element-2000040, .elementor-element-2000048, .elementor-element-2000050,
  .elementor-element-2000008::before, .elementor-element-2000010::before, .elementor-element-2000018::before, .elementor-element-2000020::before, .elementor-element-2000028::before, .elementor-element-2000030::before, .elementor-element-2000038::before, .elementor-element-2000040::before, .elementor-element-2000048::before, .elementor-element-2000050::before,
  .elementor-element-2000008::after, .elementor-element-2000010::after, .elementor-element-2000018::after, .elementor-element-2000020::after, .elementor-element-2000028::after, .elementor-element-2000030::after, .elementor-element-2000038::after, .elementor-element-2000040::after, .elementor-element-2000048::after, .elementor-element-2000050::after,
  .elementor-element-2000008 img, .elementor-element-2000010 img, .elementor-element-2000018 img, .elementor-element-2000020 img, .elementor-element-2000028 img, .elementor-element-2000030 img, .elementor-element-2000038 img, .elementor-element-2000040 img, .elementor-element-2000048 img, .elementor-element-2000050 img,
  .svc-card-learn-arrow,
  .svc-cta-btn .elementor-button,
  .svc-reveal{
    transition:none !important;
  }
  .svc-reveal{ opacity:1 !important; transform:none !important; }
}
