/* elsafa.org design v3 skin — the VM Cloud template (vmclouds.co.uk) applied over the design-v2 markup.
   Tokens copied from the VM Cloud theme: base #07080b, surface #0d0f14 / #141722, line #1e2330, text #f8fafc,
   muted #94a3b8, accent #00e5ff, radius 4px, Outfit (display) + Geist (body) + JetBrains Mono (labels). */
body.elsafa-v2.v3{
  --v3-base:#07080b;--v3-surface:#0d0f14;--v3-surface-2:#141722;--v3-line:#1e2330;--v3-text:#f8fafc;--v3-muted:#94a3b8;--v3-dim:#64748b;
  --v3-accent:#00e5ff;--v3-accent-soft:rgba(0,229,255,.12);--v3-accent-hover:#5cf0ff;
  --v3-display:"Outfit","Helvetica Neue",Arial,sans-serif;--v3-body:"Geist","Segoe UI",system-ui,sans-serif;--v3-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --v2-dark:var(--v3-base);--v2-navy:var(--v3-surface);--v2-navy-2:var(--v3-surface-2);--v2-ink:var(--v3-text);--v2-muted:var(--v3-muted);--v2-light:var(--v3-muted);
  --v2-off:var(--v3-text);--v2-surface:var(--v3-surface);--v2-amber:var(--v3-accent);--v2-amber-13:var(--v3-accent-soft);--v2-amber-10:var(--v3-accent-soft);--v2-amber-20:var(--v3-accent-soft);
  --v2-r:4px;--v2-font:var(--v3-body);
  background:var(--v3-base);color:var(--v3-text);font-size:17px;line-height:1.6}
body.elsafa-v2.v3[data-accent="amber"]{--v3-accent:#d4a017;--v3-accent-soft:rgba(212,160,23,.14);--v3-accent-hover:#e3b12a}
html[lang^="ar"] body.elsafa-v2.v3{--v3-display:"Cairo",system-ui,sans-serif;--v3-body:"Cairo",system-ui,sans-serif;--v3-mono:"Cairo",system-ui,sans-serif}
.v3 h1,.v3 h2,.v3 h3,.v3 h4{font-family:var(--v3-display);letter-spacing:-.02em}
html[lang^="ar"] .v3 :is(h1,h2,h3,h4,.v2-eyebrow,.v2-pill,.v2-tag,.v2-stat b,.v2-brand__t small,.v2-lang,.v2-footer__col h4,.v2-btn){letter-spacing:0!important;text-transform:none!important}
/* labels: mono, uppercase, letter-spaced, accent dot first */
.v3 .v2-eyebrow,.v3 .v2-pill{font-family:var(--v3-mono);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--v3-muted);background:transparent;padding:0;border-radius:0;gap:10px}
.v3 .v2-eyebrow i,.v3 .v2-pill i{order:-1;width:6px;height:6px;border-radius:3px;background:var(--v3-accent)}
/* header */
.v3 .v2-nav,.v3 .v2-nav--over,.v3 .v2-nav--over.is-stuck{position:sticky;top:0;background:rgba(7,8,11,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--v3-line)}
.v3 .v2-nav__in{padding-block:16px}
.v3 .v2-brand__mark{border-radius:4px}
.v3 .v2-brand__t b{font-family:var(--v3-display);font-size:19px}
.v3 .v2-brand__t small{font-family:var(--v3-mono);font-size:10px;letter-spacing:.16em;color:var(--v3-muted)}
.v3 .v2-menu{font-weight:500;font-size:15px;font-family:var(--v3-body)}
.v3 .v2-menu a{color:var(--v3-muted)}.v3 .v2-menu a:hover,.v3 .v2-menu a.is-active{color:var(--v3-text)}
.v3 .v2-lang{border:1px solid var(--v3-line);border-radius:4px;font-family:var(--v3-mono);font-weight:600;background:var(--v3-surface-2)}
.v3 .v2-lang:hover{border-color:var(--v3-accent);color:var(--v3-accent)}
.v3 .v2-drawer{background:var(--v3-base);border-top-color:var(--v3-line)}.v3 .v2-drawer a{border-bottom-color:var(--v3-line)}
/* buttons */
.v3 .v2-btn{border-radius:4px;font-family:var(--v3-body);font-weight:600;font-size:15px;letter-spacing:.02em;padding:14px 28px;border-width:1px}
.v3 .v2-btn--primary,body.elsafa-v2.v3 .v2-btn--primary{background:var(--v3-accent);color:var(--v3-base);border-color:transparent}
.v3 .v2-btn--primary:hover{background:var(--v3-accent-hover)}
.v3 .v2-btn--outline,body.elsafa-v2.v3 .v2-btn--outline,.v3 .v2-btn--dark,body.elsafa-v2.v3 .v2-btn--dark{background:var(--v3-surface-2);color:var(--v3-text);border-color:var(--v3-line)}
.v3 .v2-btn--outline:hover,.v3 .v2-btn--dark:hover{border-color:var(--v3-accent);background:var(--v3-surface-2)}
.v3 .v2-btn:focus-visible,.v3 .v2-menu a:focus-visible,.v3 .v2-lang:focus-visible{outline-color:var(--v3-accent)}
/* hero */
.v3 .v2-hero::before{background:linear-gradient(180deg,rgba(7,8,11,.55) 0%,rgba(7,8,11,.86) 70%,var(--v3-base) 100%)}
.v3 .v2-hero__in{padding-top:120px;padding-bottom:88px;gap:22px}
.v3 .v2-hero h1{font-size:68px;font-weight:800;line-height:1.08;letter-spacing:-.03em;color:#fff}
html[lang^="ar"] .v3 .v2-hero h1{font-size:56px;line-height:1.25}
.v3 .v2-hero p{font-size:18px;color:var(--v3-muted)}
.v3 .v2-social{color:var(--v3-dim);font-family:var(--v3-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.v3 .v2-social a{background:var(--v3-surface-2);border:1px solid var(--v3-line);border-radius:4px;color:var(--v3-text)}
.v3 .v2-social a:hover{border-color:var(--v3-accent);color:var(--v3-accent);background:var(--v3-surface-2)}
/* section rhythm */
.v3 .v2-about,.v3 .v2-method,.v3 .v2-projects,.v3 .v2-video,.v3 .v2-services--full,.v3 .v2-feature,.v3 .v2-contact{background:var(--v3-base)}
.v3 .v2-services,.v3 .v2-gallery,.v3 .v2-partners,.v3 .v2-faq,.v3 .v2-safety{background:var(--v3-surface)}
.v3 .v2-stats,.v3 .v2-about,.v3 .v2-services,.v3 .v2-method,.v3 .v2-safety,.v3 .v2-projects,.v3 .v2-gallery,.v3 .v2-partners,.v3 .v2-video,.v3 .v2-feature,.v3 .v2-faq,.v3 .v2-contact,.v3 .v2-footer{border-top:1px solid var(--v3-line)}
.v3 .v2-sechead h2{font-size:44px;font-weight:800;color:var(--v3-text);line-height:1.1}
html[lang^="ar"] .v3 .v2-sechead h2{font-size:38px;line-height:1.3}
.v3 .v2-sechead p,.v3 .v2-p,.v3 .v2-lead{color:var(--v3-muted);font-size:17px}
.v3 .v2-h2c{color:var(--v3-text)}
/* stats as bordered tiles with mono accent numbers */
.v3 .v2-stats{background:var(--v3-base)}
.v3 .v2-stats__in{gap:20px;padding-block:56px}
.v3 .v2-stat{align-items:flex-start;text-align:start;background:var(--v3-surface-2);border:1px solid var(--v3-line);border-radius:4px;padding:28px;gap:10px}
.v3 .v2-stat+.v2-stat::before{display:none}
.v3 .v2-stat b{font-family:var(--v3-mono);font-size:48px;font-weight:700;color:var(--v3-accent);letter-spacing:-.02em}
.v3 .v2-stat span{color:var(--v3-text);font-weight:600;font-size:16px}
.v3 .v2-stats--img::before{background:rgba(7,8,11,.9)}
/* about / checks / badge */
.v3 .v2-about__visual{border-radius:4px;border:1px solid var(--v3-line)}
.v3 .v2-badge{background:rgba(13,15,20,.92);border:1px solid var(--v3-line);border-radius:4px;backdrop-filter:blur(6px)}
.v3 .v2-badge b{color:var(--v3-accent)}.v3 .v2-badge small{color:var(--v3-muted)}
.v3 .v2-checks li{color:var(--v3-text);font-weight:500;font-size:16px}
.v3 .v2-checks i{background:transparent;color:var(--v3-accent);width:20px;height:20px;font-size:16px}
/* cards */
.v3 .v2-card{background:var(--v3-surface-2);border:1px solid var(--v3-line);border-radius:4px;box-shadow:none;padding:28px}
.v3 .v2-card:hover{transform:translateY(-2px);box-shadow:none;border-color:rgba(0,229,255,.45)}
.v3[data-accent="amber"] .v2-card:hover{border-color:rgba(212,160,23,.5)}
.v3 .v2-card__ic{background:var(--v3-accent-soft);color:var(--v3-accent);border-radius:4px;border:1px solid var(--v3-line)}
.v3 .v2-card h3{color:var(--v3-text);font-size:22px}
.v3 .v2-card p,.v3 .v2-card--c p{color:var(--v3-muted);font-size:15px}
.v3 .v2-card__img{width:calc(100% + 56px);margin:0 -28px;border-radius:4px 4px 0 0;filter:saturate(.9)}
.v3 .v2-services--full .v2-card{border-color:var(--v3-line)}
/* method steps */
.v3 .v2-step{background:var(--v3-surface-2);border:1px solid var(--v3-line);border-radius:4px}
.v3 .v2-step__ic{background:var(--v3-surface);box-shadow:none;border:1px solid var(--v3-line);color:var(--v3-accent);border-radius:4px}
.v3 .v2-step__n{font-family:var(--v3-mono);color:var(--v3-accent);opacity:.7}
.v3 .v2-step h3{color:var(--v3-text)}.v3 .v2-step p{color:var(--v3-muted);font-size:14px}
/* safety */
.v3 .v2-safety .v2-sechead h2{color:var(--v3-text)}
.v3 .v2-safety__stats b{font-family:var(--v3-mono);color:var(--v3-accent);font-size:32px}
.v3 .v2-safety__stats span{color:var(--v3-muted)}
.v3 .v2-safety__visual{border-radius:4px;border:1px solid var(--v3-line)}
/* projects / gallery / partners / video */
.v3 .v2-project{border-radius:4px;border:1px solid var(--v3-line)}
.v3 .v2-project::before{background:linear-gradient(to bottom,rgba(7,8,11,0) 25%,rgba(7,8,11,.94))}
.v3 .v2-tag{font-family:var(--v3-mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px;background:rgba(7,8,11,.7);border:1px solid var(--v3-line);color:var(--v3-accent);border-radius:4px}
.v3 .v2-gallery figure{background:var(--v3-surface-2);border:1px solid var(--v3-line);border-radius:4px}
.v3 .v2-gallery figcaption{color:var(--v3-text)}
.v3 .v2-logo{background:#f8fafc;border:1px solid var(--v3-line);border-radius:4px}
.v3 .v2-logo span{color:var(--v3-base)}
.v3 .v2-video__frame{border-radius:4px;border:1px solid var(--v3-line)}
/* banner / feature / faq / contact (inner pages) */
.v3 .v2-banner::before{background:linear-gradient(180deg,rgba(7,8,11,.7),var(--v3-base))}
.v3 .v2-banner h1{font-size:56px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
html[lang^="ar"] .v3 .v2-banner h1{font-size:44px;line-height:1.3}
.v3 .v2-feature__visual{border-radius:4px;border:1px solid var(--v3-line)}
.v3 .v2-feature__text h2{color:var(--v3-text)}
.v3 .v2-faq .elsafa-faq details{border-bottom-color:var(--v3-line)}
.v3 .v2-faq .elsafa-faq summary{color:var(--v3-text)}.v3 .v2-faq .elsafa-faq summary::after{color:var(--v3-accent)}
.v3 .v2-faq .elsafa-faq__a{color:var(--v3-muted)}
.v3 .v2-office{color:var(--v3-accent);font-family:var(--v3-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.v3 .v2-contact__form .wpcf7 label{color:var(--v3-text)}
.v3 .v2-contact__form .wpcf7 input:not([type=submit]),.v3 .v2-contact__form .wpcf7 select,.v3 .v2-contact__form .wpcf7 textarea{background:var(--v3-surface);border:1px solid var(--v3-line);color:var(--v3-text);border-radius:4px}
.v3 .v2-contact__form .wpcf7 input:focus,.v3 .v2-contact__form .wpcf7 textarea:focus,.v3 .v2-contact__form .wpcf7 select:focus{outline-color:var(--v3-accent);border-color:var(--v3-accent)}
.v3 .v2-contact__form .wpcf7-submit{background:var(--v3-accent);color:var(--v3-base);border-radius:4px;font-weight:600}
.v3 .v2-contact__form .wpcf7-submit:hover{background:var(--v3-accent-hover)}
/* footer */
.v3 .v2-footer{background:var(--v3-base);padding-block:96px 48px}
.v3 .v2-cta h2{font-size:48px;font-weight:800;color:var(--v3-text);line-height:1.08}
html[lang^="ar"] .v3 .v2-cta h2{font-size:40px;line-height:1.3}
.v3 .v2-cta p{color:var(--v3-muted);font-size:17px}
.v3 .v2-hr{border-top-color:var(--v3-line);margin:56px 0}
.v3 .v2-footer__brand p{color:var(--v3-muted);font-size:14px}
.v3 .v2-footer__col h4{font-family:var(--v3-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--v3-muted);font-weight:700}
.v3 .v2-footer__col a,.v3 .v2-footer__col span{color:var(--v3-muted);font-size:15px}
.v3 .v2-footer__col a:hover{color:var(--v3-text)}
.v3 .v2-footer__bottom{color:var(--v3-dim);font-family:var(--v3-mono);font-size:12px;border-top:1px solid var(--v3-line);padding-top:24px}
.v3 .v2-footer__bottom a:hover{color:var(--v3-accent)}
.v3 .v2-skip:focus{background:var(--v3-accent);color:var(--v3-base)}
@media (max-width:920px){.v3 .v2-hero__in{padding-top:56px}.v3 .v2-hero h1{font-size:40px}html[lang^="ar"] .v3 .v2-hero h1{font-size:34px}.v3 .v2-sechead h2{font-size:32px}.v3 .v2-cta h2{font-size:32px}.v3 .v2-stat b{font-size:38px}}
.v3 .v2-contact__map iframe{border-radius:4px;border:1px solid var(--v3-line)}
