:root{
  --navy:#2A3754;--navy-deep:#1F2D4F;--navy-soft:#3B4A6B;
  --gold:#C9A572;--gold-bright:#D9B985;--gold-deep:#A8895C;
  --sand-50:#FBF9F5;--sand-100:#F4EFE6;--sand-200:#E8DFD0;
  --ink-900:#0E1525;--ink-700:#2A3142;--ink-500:#5C6478;
  --signal-red:#C8443A;--signal-green:#4A7A5C;
  --max:1320px;--gutter:60px;
  --ar:'IBM Plex Sans Arabic','Manrope',system-ui,sans-serif;
  --en:'Manrope',system-ui,sans-serif;
  --mono:'JetBrains Mono','SFMono-Regular',Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--ar);color:var(--ink-700);background:var(--sand-50);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.en{font-family:var(--en);direction:ltr;display:inline-block}
.mono{font-family:var(--mono);direction:ltr;letter-spacing:.02em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}

/* Eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow.on-dark{color:var(--gold)}
.eyebrow::before{content:"";width:32px;height:1px;background:currentColor}
.eyebrow.ar-eyebrow{font-family:var(--ar);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:14px;padding:18px 28px;font-family:var(--ar);font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:all .25s ease;line-height:1}
.btn .arrow{display:inline-block;transition:transform .25s ease}
[dir="rtl"] .btn .arrow{transform:scaleX(-1)}
.btn:hover .arrow{transform:translateX(-4px) scaleX(-1)}
.btn-primary{background:var(--gold);color:var(--navy-deep)}
.btn-primary:hover{background:var(--gold-bright)}
.btn-outline{border-color:rgba(255,255,255,.6);color:#fff}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-ghost{color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}

/* Topbar */
.topbar{background:var(--navy-deep);color:#cfd6e4;font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px}
.topbar-left{display:flex;gap:28px;align-items:center}
.topbar-left span{display:inline-flex;align-items:center;gap:8px}
.topbar-left .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.topbar-right{display:flex;gap:18px;align-items:center}
.topbar-right .lang{color:#fff;font-weight:600;letter-spacing:.04em;padding:4px 10px;border:1px solid rgba(255,255,255,.18)}
.topbar-right .lang.active{border-color:var(--gold);color:var(--gold)}

/* Header — inner pages */
header.site{position:sticky;top:0;background:var(--navy-deep);z-index:30}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:88px;border-bottom:1px solid rgba(255,255,255,.08)}
header.site.inner{position:sticky;top:0;background:var(--navy-deep);z-index:30}
header.site.inner .wrap{display:flex;align-items:center;justify-content:space-between;height:88px;border-bottom:1px solid rgba(255,255,255,.08)}
.logo{display:flex;align-items:center;gap:12px}
.logo .mark{height:44px;width:auto;flex:none;background:transparent;border-radius:0;overflow:visible;border:none;display:flex;align-items:center}
.logo .mark img{height:44px;width:auto;object-fit:contain;display:block}
.logo .word{color:#fff;line-height:1.1}
.logo .word .ar{font-family:var(--ar);font-weight:700;font-size:19px;letter-spacing:0}
.logo .word .en{font-family:var(--en);font-weight:600;font-size:10.5px;letter-spacing:.22em;color:rgba(255,255,255,.62);text-transform:uppercase;display:block;margin-top:4px}
nav.primary{display:flex;gap:34px;align-items:center}
nav.primary a{color:rgba(255,255,255,.85);font-size:15px;font-weight:500;position:relative;padding:6px 0}
nav.primary a.active{color:#fff}
nav.primary a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold)}
.header-cta{display:flex;gap:18px;align-items:center}
.header-cta .phone{color:#fff;font-family:var(--mono);font-size:13px;display:inline-flex;align-items:center;gap:8px}
.header-cta .phone .marker{width:6px;height:6px;background:var(--gold);flex-shrink:0;border-radius:50%}
.header-cta .phone .icon{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center}
.header-cta .quote-btn{padding:14px 22px;font-size:13.5px;background:var(--gold);color:var(--navy-deep);font-weight:600}

/* Mobile nav */
.mobile-nav{display:none}
.mobile-nav-toggle{list-style:none;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border:1px solid rgba(255,255,255,.3);color:#fff;flex-shrink:0;position:relative;z-index:201}
.mobile-nav-toggle::-webkit-details-marker,.mobile-nav-toggle::marker{display:none}
.mobile-nav[open] .mobile-nav-toggle{border-color:var(--gold);color:var(--gold)}
.mobile-nav-links{display:none;position:fixed;top:130px;left:0;right:0;bottom:0;background:var(--navy-deep);z-index:200;flex-direction:column;padding:24px 20px 40px;overflow-y:auto}
body:has(.mobile-nav[open]) .mobile-nav-links{display:flex}
body:has(.mobile-nav[open]){overflow:hidden}
.mobile-nav-links a{font-family:var(--ar);font-size:22px;font-weight:600;color:rgba(255,255,255,.85);padding:22px 0;border-bottom:1px solid rgba(255,255,255,.08);display:block;line-height:1}
.mobile-nav-links a:last-child{border-bottom:none}
.mobile-nav-links a.active{color:var(--gold)}
.mobile-nav-links a:hover{color:#fff}

/* Page hero (inner pages) */
.phero{position:relative;background:#0a0f1d;color:#fff;padding:120px 0 100px;overflow:hidden;isolation:isolate}
.phero::before{content:"";position:absolute;inset:0;background:linear-gradient(245deg, rgba(31,45,79,.35) 0%, rgba(31,45,79,.85) 60%, rgba(14,21,37,.96) 100%);z-index:1}
.phero::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);background-size:80px 80px;mask-image:linear-gradient(245deg,transparent 30%,black 80%);-webkit-mask-image:linear-gradient(245deg,transparent 30%,black 80%)}
.phero .wrap{position:relative;z-index:2}
.phero .crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:rgba(255,255,255,.6);text-transform:uppercase;display:flex;gap:10px;align-items:center}
.phero .crumbs a{color:rgba(255,255,255,.6)}
.phero .crumbs a:hover{color:var(--gold)}
.phero .crumbs .sep{color:var(--gold-deep)}
.phero h1{font-family:var(--ar);font-weight:700;font-size:72px;line-height:1.05;letter-spacing:-.02em;margin:24px 0 24px;color:#fff;max-width:880px}
.phero h1 .accent{color:var(--gold)}
.phero p.lede{font-size:19px;line-height:1.7;color:rgba(255,255,255,.78);max-width:680px;margin:0;font-weight:400}
.phero .meta{margin-top:48px;display:flex;gap:48px;border-top:1px solid rgba(255,255,255,.18);padding-top:28px;flex-wrap:wrap}
.phero .meta .m{display:flex;flex-direction:column;gap:8px}
.phero .meta .m .k{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.55);text-transform:uppercase}
.phero .meta .m .v{font-family:var(--ar);font-weight:600;font-size:18px;color:#fff}

/* Footer */
footer{background:var(--ink-900);color:rgba(255,255,255,.72);padding:96px 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-col h5{font-family:var(--ar);font-weight:700;font-size:14px;color:#fff;margin:0 0 24px;letter-spacing:.02em;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot-col ul li{font-size:14px}
.foot-col ul li a:hover{color:var(--gold)}
.foot-brand .logo .word .ar{color:#fff}
.foot-brand p.tag{font-size:14px;line-height:1.75;margin:24px 0 28px;color:rgba(255,255,255,.6);max-width:320px}
.foot-brand .socials{display:flex;gap:10px}
.foot-brand .socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;transition:all .25s ease;color:rgba(255,255,255,.7)}
.foot-brand .socials a:hover{border-color:var(--gold);color:var(--gold)}
.foot-contact .item{margin-bottom:18px;font-size:14px;line-height:1.6}
.foot-contact .item .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--gold-deep);text-transform:uppercase;display:block;margin-bottom:6px}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding:28px 0;font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,.45);letter-spacing:.06em}
.foot-bottom .certs{display:flex;gap:24px;align-items:center}
.foot-bottom .certs span{padding:6px 12px;border:1px solid rgba(255,255,255,.12);font-size:10.5px;letter-spacing:.16em}

/* CTA band */
.ctaband{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden;padding:120px 0}
.ctaband::before{content:"";position:absolute;inset:0;background:url("excavation-pipe.jpeg") center/cover no-repeat;opacity:.18;mix-blend-mode:luminosity}
.ctaband::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, var(--navy-deep) 20%, rgba(31,45,79,.7) 100%)}
.ctaband .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}
.ctaband h2{font-family:var(--ar);font-weight:700;font-size:64px;line-height:1.1;margin:18px 0 0;letter-spacing:-.02em}
.ctaband h2 .gold{color:var(--gold)}
.ctaband .right{display:flex;flex-direction:column;gap:24px}
[dir="rtl"] .ctaband .right{border-right:1px solid rgba(255,255,255,.18);padding-right:48px}
.ctaband .right p{font-size:16px;color:rgba(255,255,255,.78);margin:0;line-height:1.75}
.ctaband .right .row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}

/* Section head */
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:80px;align-items:end}
.section-head h2{font-family:var(--ar);font-weight:700;font-size:56px;color:var(--navy-deep);line-height:1.1;letter-spacing:-.02em;margin:18px 0 0}
.section-head .right p{font-size:17px;line-height:1.75;color:var(--ink-500);margin:0}

/* WhatsApp FAB */
.wa-fab{position:fixed;bottom:28px;left:28px;z-index:60;display:inline-flex;align-items:center;gap:12px;background:#25D366;color:#fff;padding:14px 20px 14px 16px;border-radius:999px;box-shadow:0 12px 36px rgba(37,211,102,.32), 0 4px 12px rgba(0,0,0,.18);font-family:var(--ar);font-weight:600;font-size:14px;line-height:1;text-decoration:none;transition:transform .25s ease, box-shadow .25s ease}
.wa-fab:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(37,211,102,.45), 0 6px 16px rgba(0,0,0,.2)}
.wa-fab .wa-ic{width:40px;height:40px;border-radius:50%;background:#fff;color:#25D366;display:grid;place-items:center;flex:0 0 40px;position:relative}
.wa-fab .wa-ic::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.45);animation:waPulse 2s ease-out infinite}
@keyframes waPulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.4);opacity:0}}
.wa-fab .wa-text{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.wa-fab .wa-text .lbl{font-size:13px;font-weight:600}
.wa-fab .wa-text .sub{font-family:var(--mono);font-size:10.5px;font-weight:500;opacity:.92;letter-spacing:.04em}

/* Project card */
.pcard{background:#fff;overflow:hidden;cursor:pointer;transition:transform .3s ease}
.pcard:hover{transform:translateY(-4px)}
.pcard .ph{aspect-ratio:4/3;overflow:hidden;position:relative;background:#1a1f2e}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pcard:hover .ph img{transform:scale(1.05)}
.pcard .badge{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--navy-deep);padding:6px 12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;font-weight:600;text-transform:uppercase}
.pcard .body{padding:24px 28px 28px}
.pcard .meta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ink-500);text-transform:uppercase;margin-bottom:10px;display:flex;gap:14px;align-items:center}
.pcard .meta .dot{width:3px;height:3px;background:var(--gold-deep);border-radius:50%;display:inline-block}
.pcard h3{font-family:var(--ar);font-weight:700;font-size:20px;color:var(--navy-deep);margin:0 0 14px;line-height:1.35}
.pcard .footer{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--sand-200);font-size:13px;color:var(--ink-700);font-weight:500}
.pcard .footer .arr{color:var(--gold-deep);transform:scaleX(-1)}

/* =====================================================
   ENTRANCE ANIMATIONS
   ===================================================== */

@keyframes revUp{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
@keyframes revFade{
  from{opacity:0}
  to{opacity:1}
}

/* Inner-page phero — fires on load, not scroll */
.phero .crumbs{animation:revUp .5s .0s both cubic-bezier(.22,1,.36,1)}
.phero h1     {animation:revUp .75s .12s both cubic-bezier(.22,1,.36,1)}
.phero .lede  {animation:revUp .65s .32s both cubic-bezier(.22,1,.36,1)}
.phero .meta  {animation:revUp .6s  .52s both cubic-bezier(.22,1,.36,1)}

/* =====================================================
   RESPONSIVE BREAKPOINTS
   ===================================================== */

/* --- Tablet ≤1024px --- */
@media (max-width: 1024px) {
  .wrap{padding:0 32px}

  /* topbar */
  .topbar-left>span:last-child{display:none}

  /* header */
  header.site .wrap,header.site.inner .wrap{height:72px}
  nav.primary{gap:20px}
  nav.primary a{font-size:14px}
  .header-cta .phone{display:none}

  /* phero */
  .phero h1{font-size:52px}
  .phero p.lede{font-size:17px;max-width:100%}
  .phero .meta{gap:28px}

  /* section-head */
  .section-head{gap:40px}
  .section-head h2{font-size:44px}

  /* ctaband */
  .ctaband h2{font-size:48px}
  .ctaband .wrap{gap:48px}

  /* footer */
  .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
}

/* --- Mobile ≤768px --- */
@media (max-width: 768px) {
  .wrap{padding:0 20px}

  /* topbar */
  .topbar .wrap{flex-wrap:wrap;height:auto;padding:8px 20px;gap:4px;justify-content:center}
  .topbar-left{display:none}
  .topbar-right{gap:12px;font-size:11.5px}

  /* header inner pages — mobile */
  .mobile-nav{display:block}
  header.site .wrap,header.site.inner .wrap{height:66px;flex-wrap:nowrap;padding-top:0;padding-bottom:0;gap:10px}
  nav.primary{display:none}
  .header-cta .phone{display:none}
  .header-cta .quote-btn{padding:12px 18px;font-size:13px}
  .logo .mark{height:34px}
  .logo .mark img{height:34px}
  .logo .word .en{display:none}
  .mobile-nav-links{top:108px}

  /* phero */
  .phero{padding:72px 0 56px}
  .phero h1{font-size:36px;max-width:100%}
  .phero p.lede{font-size:15px}
  .phero .meta{flex-direction:column;gap:18px;padding-top:20px;margin-top:32px}

  /* section-head */
  .section-head{grid-template-columns:1fr;gap:16px;margin-bottom:48px}
  .section-head h2{font-size:34px}
  .section-head .right p{font-size:15px}

  /* ctaband */
  .ctaband{padding:72px 0}
  .ctaband .wrap{grid-template-columns:1fr;gap:32px}
  .ctaband h2{font-size:36px}
  .ctaband .right{border-left:none;padding-left:0}
  [dir="rtl"] .ctaband .right{border-right:none;padding-right:0;border-top:1px solid rgba(255,255,255,.18);padding-top:32px}

  /* footer */
  footer{padding:56px 0 0}
  .foot-grid{grid-template-columns:1fr;gap:32px}
  .foot-bottom{flex-direction:column;gap:12px;text-align:center;padding:20px 0}
  .foot-bottom .certs{flex-wrap:wrap;justify-content:center;gap:10px}

  /* whatsapp fab — icon only on mobile */
  .wa-fab .wa-text{display:none}
  .wa-fab{padding:14px;border-radius:50%;bottom:20px;left:20px}
  .wa-fab .wa-ic{width:36px;height:36px;flex:0 0 36px}
}
