/* Design v3 for Elementor pages (VM Cloud template, amber accent). Applies to pages with the _elsafa_e3 meta; body.e3. */
body.e3{--e3-base:#07080b;--e3-surface:#0d0f14;--e3-surface-2:#141722;--e3-line:#1e2330;--e3-text:#f8fafc;--e3-muted:#94a3b8;--e3-dim:#64748b;
  --e3-accent:#d4a017;--e3-accent-soft:rgba(212,160,23,.14);--e3-accent-hover:#e3b12a;
  --e3-display:"Outfit","Helvetica Neue",Arial,sans-serif;--e3-body:"Geist","Segoe UI",system-ui,sans-serif;--e3-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  background:var(--e3-base);color:var(--e3-text);font-family:var(--e3-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.e3.e3-accent-cyan{--e3-accent:#00e5ff;--e3-accent-soft:rgba(0,229,255,.12);--e3-accent-hover:#5cf0ff}
html[lang^="ar"] body.e3{--e3-display:"Cairo",system-ui,sans-serif;--e3-body:"Cairo",system-ui,sans-serif;--e3-mono:"Cairo",system-ui,sans-serif}
.e3 h1,.e3 h2,.e3 h3,.e3 h4,.e3 .elementor-heading-title,.e3 .elementor-icon-box-title{font-family:var(--e3-display);color:var(--e3-text);letter-spacing:-.02em;line-height:1.15;margin:0}
html[lang^="ar"] .e3 :is(h1,h2,h3,h4,.elementor-heading-title,.elementor-icon-box-title,.e3-eyebrow,.e3-tag,.e3-stat-n,.e3-footer-h,.e3-copy,.e3-social-label){letter-spacing:0!important;text-transform:none!important;line-height:1.3}
.e3 p{margin:0;color:inherit}.e3 a{color:inherit;text-decoration:none}
.e3 .e-con{--e3-x:0}
/* bands */
.e3 .e3-band{border-top:1px solid var(--e3-line);background:var(--e3-base)}
.e3 .e3-services,.e3 .e3-partners,.e3 .e3-safety{background:var(--e3-surface)}
/* eyebrow */
.e3 .e3-eyebrow p{display:flex;align-items:center;gap:10px;font-family:var(--e3-mono);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--e3-muted)}
.e3 .e3-eyebrow p::before{content:"";width:6px;height:6px;border-radius:3px;background:var(--e3-accent);flex:none}
.e3 .e3-sechead .elementor-heading-title{font-size:44px;font-weight:800}
html[lang^="ar"] .e3 .e3-sechead .elementor-heading-title{font-size:38px}
.e3 .e3-sub p,.e3 .e3-p p{color:var(--e3-muted);font-size:17px;line-height:1.7;max-width:72ch}
.e3 .e3-sechead--c{text-align:center}.e3 .e3-sechead--c .e3-sub p{margin-inline:auto}
/* header */
.e3 .e3-header{position:sticky;top:0;z-index:60;background:rgba(7,8,11,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--e3-line)}
.admin-bar .e3 .e3-header{top:32px}
.e3 .e3-brand-logo img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:4px;padding:3px}
.e3 .e3-brand-logo--sm img{width:40px;height:40px}
.e3 .e3-brand-text p{line-height:1.2}.e3 .e3-brand-text b{font-family:var(--e3-display);font-size:19px;font-weight:800;color:#fff}
.e3 .e3-brand-text small{font-family:var(--e3-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--e3-muted)}
.e3 .e3-menu{flex:1 1 auto}
.e3 .e3-menu .elementor-icon-list-items{display:flex;gap:22px;flex-wrap:nowrap;justify-content:center;white-space:nowrap}
.e3 .e3-menu .elementor-icon-list-item{margin:0;padding:0}.e3 .e3-menu .elementor-icon-list-icon{display:none}
.e3 .e3-menu .elementor-icon-list-text{font-size:14px;font-weight:500;color:var(--e3-muted)}.e3 .e3-menu a:hover .elementor-icon-list-text{color:var(--e3-text)}
/* buttons */
.e3 .e3-btn .elementor-button{border-radius:4px;font-family:var(--e3-body);font-weight:600;font-size:15px;letter-spacing:.02em;padding:14px 28px;line-height:1.3;border:1px solid transparent;transition:transform .15s,background .15s,border-color .15s}
.e3 .e3-btn .elementor-button:hover{transform:translateY(-1px)}
.e3 .e3-btn--primary .elementor-button{background:var(--e3-accent);color:var(--e3-base)}.e3 .e3-btn--primary .elementor-button:hover{background:var(--e3-accent-hover)}
.e3 .e3-btn--secondary .elementor-button,.e3 .e3-btn--lang .elementor-button{background:var(--e3-surface-2);color:var(--e3-text);border-color:var(--e3-line)}
.e3 .e3-btn--secondary .elementor-button:hover,.e3 .e3-btn--lang .elementor-button:hover{border-color:var(--e3-accent)}
.e3 .e3-btn--lang .elementor-button{font-family:var(--e3-mono);padding:8px 14px;font-size:13px}
.e3 .e3-btn .elementor-button-icon{font-size:14px}.e3 .e3-btn .elementor-button-icon svg{width:14px;height:14px;fill:currentColor}
.e3 .e3-brand,.e3 .e3-header-cta{width:auto!important;flex:0 0 auto}
html[lang^="ar"] .e3 .e3-btn .elementor-button-icon svg,html[lang^="ar"] .e3 .e3-btn .elementor-button-icon i{transform:none}
html[lang^="en"] .e3 .e3-btn .elementor-button-icon i.fa-arrow-left{transform:scaleX(-1)}
/* hero */
.e3 .e3-hero{color:#fff}
.e3 .e3-hero-h1 .elementor-heading-title{font-size:68px;font-weight:800;line-height:1.08;letter-spacing:-.03em;color:#fff;max-width:760px;text-wrap:balance}
html[lang^="ar"] .e3 .e3-hero-h1 .elementor-heading-title{font-size:56px;line-height:1.25}
.e3 .e3-lead p{font-size:18px;color:var(--e3-muted);max-width:760px;line-height:1.7}
.e3 .e3-social-label p{font-family:var(--e3-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--e3-dim)}
.e3 .e3-socials .elementor-icon-list-items{display:flex;gap:10px}.e3 .e3-socials .elementor-icon-list-item{margin:0;padding:0}
.e3 .e3-socials .elementor-icon-list-text{display:none}
.e3 .e3-socials .elementor-icon-list-icon{width:36px;height:36px;border-radius:4px;background:var(--e3-surface-2);border:1px solid var(--e3-line);display:inline-flex;align-items:center;justify-content:center;color:var(--e3-text);transition:border-color .15s,color .15s}
.e3 .e3-socials .elementor-icon-list-icon i,.e3 .e3-socials .elementor-icon-list-icon svg{font-size:15px;color:inherit;fill:currentColor}
.e3 .e3-socials a:hover .elementor-icon-list-icon{border-color:var(--e3-accent);color:var(--e3-accent)}
/* stats */
.e3 .e3-stat{background:var(--e3-surface-2);border:1px solid var(--e3-line);border-radius:4px}
.e3 .e3-stat-n .elementor-heading-title{font-family:var(--e3-mono);font-size:48px;font-weight:700;color:var(--e3-accent);letter-spacing:-.02em;line-height:1}
.e3 .e3-stat-l p{color:var(--e3-text);font-weight:600;font-size:16px}
/* about */
.e3 .e3-about-visual{position:relative}
.e3 .e3-about-img img{width:100%;height:480px;object-fit:cover;border-radius:4px;border:1px solid var(--e3-line)}
.e3 .e3-badge{position:absolute;bottom:32px;inset-inline-start:32px;max-width:calc(100% - 64px)}
.e3 .e3-badge .elementor-icon-box-wrapper{display:flex;align-items:center;gap:12px;background:rgba(13,15,20,.92);border:1px solid var(--e3-line);border-radius:4px;padding:16px 20px;backdrop-filter:blur(6px);text-align:start}
.e3 .e3-badge .elementor-icon-box-icon{margin:0}.e3 .e3-badge .elementor-icon{color:var(--e3-accent);font-size:28px}
.e3 .e3-badge .elementor-icon-box-title{font-size:17px;font-weight:800;color:var(--e3-accent)}.e3 .e3-badge .elementor-icon-box-description{font-size:12px;color:var(--e3-muted);margin:0}
.e3 .e3-checks .elementor-icon-list-item{padding:6px 0}
.e3 .e3-checks .elementor-icon-list-icon{color:var(--e3-accent);width:22px}.e3 .e3-checks .elementor-icon-list-icon i,.e3 .e3-checks .elementor-icon-list-icon svg{color:var(--e3-accent);fill:var(--e3-accent);font-size:15px;width:15px;height:15px}
.e3 .e3-checks .elementor-icon-list-text{color:var(--e3-text);font-weight:500;font-size:16px;padding-inline-start:8px}
/* cards (icon-box) */
.e3 .e3-card .elementor-icon-box-wrapper{background:var(--e3-surface-2);border:1px solid var(--e3-line);border-radius:4px;padding:28px;text-align:start;display:flex;flex-direction:column;gap:18px;height:100%;transition:transform .15s,border-color .15s}
.e3 .e3-card:hover .elementor-icon-box-wrapper{transform:translateY(-2px);border-color:rgba(212,160,23,.5)}
.e3 .e3-card .elementor-icon-box-icon{margin:0}.e3 .e3-card .elementor-icon svg,.e3 .e3-step-box .elementor-icon svg,.e3 .e3-badge .elementor-icon svg{fill:currentColor;width:1em;height:1em}
.e3 .e3-card .elementor-icon{width:56px;height:56px;border-radius:4px;background:var(--e3-accent-soft);border:1px solid var(--e3-line);color:var(--e3-accent);display:inline-flex;align-items:center;justify-content:center;font-size:24px}
.e3 .e3-card .elementor-icon-box-title{font-size:22px;font-weight:800;color:var(--e3-text);margin-bottom:8px}.e3 .e3-card .elementor-icon-box-title a{color:inherit}
.e3 .e3-card .elementor-icon-box-description{color:var(--e3-muted);font-size:15px;line-height:1.6;margin:0}
.e3 .e3-card{height:100%}.e3 .e3-cards>.e-con,.e3 .e3-cards>.elementor-widget{height:100%}
/* steps */
.e3 .e3-step{background:var(--e3-surface-2);border:1px solid var(--e3-line);border-radius:4px}
.e3 .e3-step-n p{font-family:var(--e3-mono);color:var(--e3-accent);opacity:.75;font-weight:700;font-size:14px;letter-spacing:.1em}
.e3 .e3-step-box .elementor-icon-box-wrapper{text-align:start;display:flex;flex-direction:column;gap:12px}
.e3 .e3-step-box .elementor-icon-box-icon{margin:0}.e3 .e3-step-box .elementor-icon{width:40px;height:40px;border-radius:4px;background:var(--e3-surface);border:1px solid var(--e3-line);color:var(--e3-accent);display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.e3 .e3-step-box .elementor-icon-box-title{font-size:18px;font-weight:800;margin-bottom:6px}.e3 .e3-step-box .elementor-icon-box-description{color:var(--e3-muted);font-size:14px;margin:0}
/* safety */
.e3 .e3-mini-n .elementor-heading-title{font-family:var(--e3-mono);color:var(--e3-accent);font-size:32px;font-weight:700}
.e3 .e3-mini-l p{color:var(--e3-muted);font-size:13px}
.e3 .e3-safety-img img{width:100%;height:400px;object-fit:cover;border-radius:4px;border:1px solid var(--e3-line)}
/* projects */
.e3 .e3-project{border-radius:4px;border:1px solid var(--e3-line);overflow:hidden;color:#fff}
.e3 .e3-tag p{display:inline-flex;align-items:center;gap:6px;font-family:var(--e3-mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px;background:rgba(7,8,11,.7);border:1px solid var(--e3-line);color:var(--e3-accent);border-radius:4px;padding:4px 10px}
.e3 .e3-project-title .elementor-heading-title{font-size:20px;font-weight:800;line-height:1.35;color:#fff}
/* partners */
.e3 .e3-logo{background:#f8fafc;border:1px solid var(--e3-line);border-radius:4px}
.e3 .e3-logo-img img{max-height:64px;width:auto;object-fit:contain}
.e3 .e3-logo-text .elementor-heading-title{color:#0d0f14;font-size:15px;font-weight:800;text-align:center}
/* video */
.e3 .e3-video-frame .elementor-wrapper{border-radius:4px;overflow:hidden;border:1px solid var(--e3-line)}
/* footer */
.e3 .e3-cta{text-align:center}
.e3 .e3-cta-h .elementor-heading-title{font-size:48px;font-weight:800;line-height:1.08;max-width:800px;text-wrap:balance}
html[lang^="ar"] .e3 .e3-cta-h .elementor-heading-title{font-size:40px}
.e3 .e3-cta-p p{color:var(--e3-muted);font-size:17px;max-width:620px;margin-inline:auto}
.e3 .e3-cta .e3-btns{justify-content:center}
.e3 .e3-hr .elementor-divider-separator{border-top:1px solid var(--e3-line)!important;width:100%}.e3 .e3-hr .elementor-divider{padding:24px 0}
.e3 .e3-footer-desc p{color:var(--e3-muted);font-size:14px;max-width:400px}
.e3 .e3-footer-h .elementor-heading-title{font-family:var(--e3-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--e3-muted);font-weight:700}
.e3 .e3-footer-links .elementor-icon-list-icon,.e3 .e3-office .elementor-icon-list-icon{width:20px}
.e3 .e3-footer-links .elementor-icon-list-icon{display:none}
.e3 .e3-footer-links .elementor-icon-list-text,.e3 .e3-office .elementor-icon-list-text{color:var(--e3-muted);font-size:15px}
.e3 .e3-footer-links a:hover .elementor-icon-list-text,.e3 .e3-office a:hover .elementor-icon-list-text{color:var(--e3-text)}
.e3 .e3-office .elementor-icon-list-icon i,.e3 .e3-office .elementor-icon-list-icon svg{color:var(--e3-accent);fill:var(--e3-accent);font-size:14px;width:14px;height:14px}
.e3 .e3-office .elementor-icon-list-item{padding:5px 0}
.e3 .e3-copy p{font-family:var(--e3-mono);font-size:12px;color:var(--e3-dim)}
/* inner pages */
.e3 .e3-banner-h1 .elementor-heading-title{font-size:56px;font-weight:800;line-height:1.1;letter-spacing:-.03em;color:#fff;max-width:20ch;text-wrap:balance}
html[lang^="ar"] .e3 .e3-banner-h1 .elementor-heading-title{font-size:44px;line-height:1.3}
.e3 .e3-h2c .elementor-heading-title{font-size:32px;font-weight:800;text-align:center}
.e3 .e3-card-img{border-radius:4px;overflow:hidden;border:1px solid var(--e3-line);background:var(--e3-surface-2)}
.e3 .e3-card-photo img{width:100%;height:200px;object-fit:cover;display:block}
.e3 .e3-card--flat .elementor-icon-box-wrapper{border:0;border-radius:0}
.e3 .e3-card--c .elementor-icon-box-description{color:var(--e3-text);font-size:15px}
.e3 .e3-gal{background:var(--e3-surface-2);border:1px solid var(--e3-line);border-radius:4px;overflow:hidden}
.e3 .e3-gal-img img{width:100%;height:180px;object-fit:cover;display:block}
.e3 .e3-gal-img .widget-image-caption{padding:10px 12px;font-size:12px;font-weight:700;color:var(--e3-text);text-align:start;margin:0}
.e3 .e3-feature-img img{width:100%;height:420px;object-fit:cover;border-radius:4px;border:1px solid var(--e3-line)}
.e3 .e3-feature-h .elementor-heading-title{font-size:34px;font-weight:800}
.e3 .e3-faq-list .elsafa-faq details{border-bottom:1px solid var(--e3-line);padding:4px 0}
.e3 .e3-faq-list .elsafa-faq summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:700;font-size:17px;color:var(--e3-text);display:flex;justify-content:space-between;gap:16px;align-items:center;font-family:var(--e3-display)}
.e3 .e3-faq-list .elsafa-faq summary::-webkit-details-marker{display:none}
.e3 .e3-faq-list .elsafa-faq summary::after{content:"+";font-size:22px;color:var(--e3-accent);flex:none}
.e3 .e3-faq-list .elsafa-faq details[open] summary::after{content:"–"}
.e3 .e3-faq-list .elsafa-faq__a{padding:0 0 16px;color:var(--e3-muted);line-height:1.8}
.e3 .e3-office-label p{text-align:center;color:var(--e3-accent);font-family:var(--e3-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.e3 .e3-form .wpcf7 form{display:flex;flex-direction:column;gap:14px}
.e3 .e3-form .wpcf7 label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:var(--e3-text)}
.e3 .e3-form .wpcf7 input:not([type=submit]),.e3 .e3-form .wpcf7 select,.e3 .e3-form .wpcf7 textarea{width:100%;padding:12px 14px;border:1px solid var(--e3-line);border-radius:4px;font:inherit;font-size:15px;color:var(--e3-text);background:var(--e3-surface)}
.e3 .e3-form .wpcf7 input:focus,.e3 .e3-form .wpcf7 textarea:focus,.e3 .e3-form .wpcf7 select:focus{outline:2px solid var(--e3-accent);border-color:var(--e3-accent)}
.e3 .e3-form .wpcf7 textarea{min-height:140px}
.e3 .e3-form .wpcf7-submit{background:var(--e3-accent);color:var(--e3-base);border:0;border-radius:4px;padding:14px 28px;font:inherit;font-weight:600;font-size:15px;cursor:pointer}
.e3 .e3-form .wpcf7-submit:hover{background:var(--e3-accent-hover)}
.e3 .e3-form .wpcf7-response-output{border-radius:4px;padding:12px 16px;margin:12px 0 0;font-size:14px;border-color:var(--e3-line)}
.e3 .e3-form .wpcf7-not-valid-tip{color:#f87171;font-size:13px;font-weight:600}
.e3 .e3-map iframe{width:100%;height:460px;border:0;border-radius:4px}
/* theme wrappers and the shared header/footer templates */
.e3 #content,.e3 .site-content,.e3 .ast-container,.e3 #primary,.e3 .site-main,.e3 .ast-article-single,.e3 .entry-content{max-width:none;padding:0;margin:0;width:100%}
.e3 .ehf-header,.e3 header.ehf-header,.e3 .e3-site-header{position:sticky;top:0;z-index:60}
.admin-bar .e3 .e3-site-header{top:32px}
.e3 .e3-site-header .e3-header,.e3 .e3-site-footer .e3-footer{margin:0}
.e3 .e3-nav .hfe-nav-menu{display:flex;gap:4px}.e3 .e3-nav .hfe-nav-menu li{margin:0}
.e3 .e3-nav a.hfe-menu-item,.e3 .e3-nav a.hfe-sub-menu-item{color:var(--e3-muted);font-size:14px;font-weight:500;padding:8px 12px;border-radius:4px}
.e3 .e3-nav a.hfe-menu-item:hover,.e3 .e3-nav .current-menu-item>a.hfe-menu-item,.e3 .e3-nav .current_page_item>a.hfe-menu-item{color:var(--e3-text);background:var(--e3-surface-2)}
.e3 .e3-nav .sub-menu{background:var(--e3-surface-2);border:1px solid var(--e3-line);border-radius:4px}
.e3 .e3-nav .hfe-nav-menu__toggle{color:var(--e3-text);border:1px solid var(--e3-line);border-radius:4px}
.e3 .e3-nav .hfe-nav-menu__toggle-icon{color:var(--e3-text)}
.e3 .e3-nav li.lang-item,.e3 .e3-nav li.pll-parent-menu-item{display:none}
/* responsive */
@media (max-width:1024px){.e3 .e3-hero-h1 .elementor-heading-title{font-size:48px}html[lang^="ar"] .e3 .e3-hero-h1 .elementor-heading-title{font-size:40px}.e3 .e3-sechead .elementor-heading-title{font-size:34px}.e3 .e3-cta-h .elementor-heading-title{font-size:34px}.e3 .e3-menu{display:none}.e3 .e3-nav .hfe-nav-menu--dropdown{background:var(--e3-base);border:1px solid var(--e3-line)}}
@media (max-width:767px){.e3 .e3-hero-h1 .elementor-heading-title{font-size:38px}html[lang^="ar"] .e3 .e3-hero-h1 .elementor-heading-title{font-size:32px}.e3 .e3-stat-n .elementor-heading-title{font-size:38px}.e3 .e3-about-img img{height:340px}.e3 .e3-badge{bottom:16px;inset-inline-start:16px}.e3 .e3-site-header .e3-header>.e-con-inner{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:10px}.e3 .e3-site-header .e3-brand{flex:1 1 auto;width:auto!important}.e3 .e3-site-header .e3-nav{flex:0 0 auto;width:auto!important;order:3}.e3 .e3-site-header .e3-header-cta{flex:0 0 auto;width:auto!important;order:2}.e3 .e3-site-header .e3-btn--lang{display:none}.e3 .e3-site-header .e3-brand-text small{display:none}.e3 .e3-site-header .e3-header{padding-top:10px!important;padding-bottom:10px!important}.e3 .e3-site-header .e3-btn .elementor-button{padding:10px 14px;font-size:14px}}
