/* SHAA Engineering Enterprises — shaaeng.com
   Brand tokens. To switch to the charcoal/gold logo palette, change --ink to #2E3138 and --accent to #C9A14A. */
:root{
  --ink:#0D1B2A;        /* navy: headings, header, footer */
  --ink-2:#16283B;
  --accent:#C85000;     /* SHAA orange */
  --accent-2:#E2691A;
  --paper:#F5F6F8;      /* cool off-white section background */
  --white:#FFFFFF;
  --steel:#566170;      /* body text */
  --line:#D8DDE4;
  --en:'Archivo',system-ui,sans-serif;
  --ar:'IBM Plex Sans Arabic','Tahoma',sans-serif;
  --max:1180px;
  --gut:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--en);color:var(--steel);background:var(--white);font-size:17px;line-height:1.6;overflow-x:hidden}
html[lang="ar"] body{font-family:var(--ar);font-size:17.5px;line-height:1.8}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{color:var(--ink);font-weight:700;line-height:1.1;letter-spacing:-.01em}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{letter-spacing:0;line-height:1.35}
h2{font-size:clamp(28px,4vw,44px);font-stretch:85%;margin-bottom:14px}
h3{font-size:20px}
.lede{max-width:62ch;font-size:18px}
section{padding:clamp(64px,9vw,112px) 0}
.sec-head{margin-bottom:44px;max-width:760px}
.skip{position:absolute;top:0;left:12px;transform:translateY(-120%);background:var(--accent);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{transform:translateY(12px)}

/* Header */
.site-head{position:sticky;top:0;z-index:100;background:var(--ink);color:#fff;border-bottom:3px solid var(--accent)}
.site-head .wrap{display:flex;align-items:center;gap:24px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;flex-shrink:0}
.brand img{height:44px;width:auto;background:#fff;padding:4px 6px;border-radius:3px}
.brand .word{font-weight:800;font-size:22px;font-stretch:80%;letter-spacing:.02em;line-height:1}
.brand .word small{display:block;font-weight:500;font-size:11px;font-stretch:100%;opacity:.7;letter-spacing:0;margin-top:3px}
.nav{display:flex;gap:22px;margin-inline-start:auto}
.nav a{text-decoration:none;font-size:15px;color:rgba(255,255,255,.82);padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{color:#fff;border-color:var(--accent)}
.lang{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;font:600 14px var(--ar);padding:7px 14px;border-radius:3px;cursor:pointer}
html[lang="ar"] .lang{font-family:var(--en)}
.lang:hover{background:var(--accent);border-color:var(--accent)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer;width:44px;height:44px}
@media (max-width:960px){
  .menu-btn{display:block;margin-inline-start:auto}
  .nav{display:none;position:absolute;top:75px;inset-inline:0;background:var(--ink);flex-direction:column;gap:0;padding:8px var(--gut) 20px}
  .nav.open{display:flex}
  .nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
}

/* Hero */
.hero{position:relative;color:#fff;padding:0;min-height:min(86vh,760px);display:flex;align-items:flex-end;
  background:linear-gradient(180deg,rgba(13,27,42,.35) 0%,rgba(13,27,42,.92) 78%),url('../images/hero.jpg') center/cover no-repeat,var(--ink-2)}
.hero .wrap{width:100%;padding-top:120px;padding-bottom:56px}
.hero h1{color:#fff;font-size:clamp(40px,7.5vw,92px);font-stretch:75%;font-weight:800;max-width:14ch;line-height:.98}
html[lang="ar"] .hero h1{font-size:clamp(36px,6vw,72px);line-height:1.25;max-width:18ch}
.hero p{max-width:56ch;font-size:clamp(17px,1.6vw,20px);color:rgba(255,255,255,.86);margin:22px 0 32px}
.hero-meta{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:0;margin-top:48px;border-top:1px solid rgba(255,255,255,.22)}
.hero-meta div{padding:16px 36px 0 0;font-size:14px;color:rgba(255,255,255,.7)}
html[lang="ar"] .hero-meta div{padding:16px 0 0 36px}
.hero-meta strong{display:block;color:#fff;font-size:18px;font-weight:700}
@media (max-width:720px){.hero-meta{grid-template-columns:1fr 1fr;row-gap:8px}}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:16px;padding:14px 26px;border-radius:3px;border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.55)}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* About */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,80px);align-items:start}
.about-grid p+p{margin-top:16px}
.facts{border-top:3px solid var(--ink)}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.facts dt{color:var(--steel)}
.facts dd{color:var(--ink);font-weight:600;text-align:end}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}

/* History timeline — the centrepiece */
.history{background:var(--ink);color:rgba(255,255,255,.8)}
.history h2{color:#fff}
.history .lede{color:rgba(255,255,255,.75)}
.timeline{list-style:none;position:relative;margin-top:16px}
.timeline::before{content:"";position:absolute;inset-inline-start:134px;top:8px;bottom:8px;width:2px;background:rgba(255,255,255,.15)}
.timeline li{display:grid;grid-template-columns:134px 1fr;gap:0 40px;padding:22px 0;position:relative}
.timeline li::after{content:"";position:absolute;inset-inline-start:128px;top:34px;width:14px;height:14px;background:var(--ink);border:3px solid var(--accent);border-radius:50%}
.timeline .yr{font-size:34px;font-weight:800;font-stretch:75%;color:var(--accent-2);line-height:1;padding-top:4px;font-family:var(--en)}
.timeline h3{color:#fff;font-size:20px;margin-bottom:6px}
.timeline p{max-width:66ch;font-size:16px}
.timeline .tag{display:inline-block;margin-top:10px;font-size:13px;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2);padding:2px 10px;border-radius:20px}
@media (max-width:640px){
  .timeline::before{inset-inline-start:6px}
  .timeline li{grid-template-columns:1fr;padding-inline-start:34px}
  .timeline li::after{inset-inline-start:0;top:28px}
  .timeline .yr{font-size:28px;margin-bottom:6px}
}

/* Services */
.services{background:var(--paper)}
.svc-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.svc{background:var(--white);padding:30px 28px 32px;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line)}
.svc svg{width:40px;height:40px;stroke:var(--accent);fill:none;stroke-width:1.6;margin-bottom:18px}
.svc h3{margin-bottom:10px}
.svc p{font-size:15.5px}
@media (max-width:960px){.svc-list{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.svc-list{grid-template-columns:1fr}}

/* Projects */
.proj-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.proj-filter button{font:inherit;font-size:14px;background:#fff;border:1px solid var(--line);color:var(--ink);padding:8px 16px;border-radius:20px;cursor:pointer}
.proj-filter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proj{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.proj .ph{aspect-ratio:4/3;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 60%,#23384f 100%);position:relative;overflow:hidden;cursor:zoom-in}
.proj .ph img{width:100%;height:100%;object-fit:cover}
.proj .ph .ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.18);font-size:64px;font-weight:800;font-stretch:75%}
.proj .ph img+.ini{display:none}
.proj .body{padding:18px 20px 22px;flex:1}
.proj .client{font-size:14px;color:var(--accent);font-weight:600}
.proj h3{font-size:18px;margin:4px 0 8px}
.proj .meta{font-size:14px;color:var(--steel)}
.proj[hidden]{display:none}
@media (max-width:960px){.proj-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.proj-grid{grid-template-columns:1fr}}

/* Gallery (optional — fills from images/gallery-01.jpg …) */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:40px}
.gallery button{border:0;padding:0;background:var(--paper);aspect-ratio:1;cursor:zoom-in;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover}
.lightbox{position:fixed;inset:0;background:rgba(7,14,22,.94);display:none;align-items:center;justify-content:center;z-index:300;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-height:84vh;max-width:min(1100px,100%);object-fit:contain}
.lightbox figcaption{color:#fff;text-align:center;margin-top:12px;font-size:15px}
.lightbox .x{position:absolute;top:16px;inset-inline-end:16px;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;width:44px;height:44px;font-size:24px;cursor:pointer;border-radius:3px}

/* Clients */
.clients{background:var(--paper)}
.client-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.client-groups h3{font-size:15px;color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:8px;margin-bottom:12px}
.client-groups ul{list-style:none}
.client-groups li{color:var(--ink);font-weight:500;padding:7px 0;border-bottom:1px solid var(--line);font-size:15.5px}
@media (max-width:900px){.client-groups{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.client-groups{grid-template-columns:1fr}}

/* Credentials */
.cred-table{width:100%;border-collapse:collapse;font-size:15.5px}
.cred-table th,.cred-table td{text-align:start;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.cred-table th{color:var(--ink);font-weight:600;background:var(--paper)}
.cred-table td:first-child{color:var(--ink);font-weight:600;width:34%}
.status{display:inline-block;font-size:13px;padding:2px 10px;border-radius:20px;white-space:nowrap}
.status.ok{background:#E3F1E7;color:#1E6B3A}
.status.renew{background:#FFF1E2;color:#9A4300}
.note{font-size:14px;margin-top:14px}
@media (max-width:640px){.cred-table thead{display:none}.cred-table tr{display:block;border-bottom:1px solid var(--line);padding:10px 0}.cred-table td{display:block;border:0;padding:4px 0;width:auto!important}}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0;border-top:1px solid var(--line)}
.member{padding:22px 20px 22px 0;border-bottom:1px solid var(--line)}
html[lang="ar"] .member{padding:22px 0 22px 20px}
.member h3{font-size:18px}
.member .role{color:var(--accent);font-weight:600;font-size:15px;margin:2px 0 6px}
.member p{font-size:14.5px}
.member .yrs{font-size:14px;color:var(--ink);font-weight:600;margin-top:6px}

/* Contact */
.contact{background:var(--ink);color:rgba(255,255,255,.8)}
.contact h2{color:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,72px)}
.offices div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.offices h3{color:#fff;font-size:17px;margin-bottom:4px}
.offices a{color:#fff;text-decoration:none;border-bottom:1px solid var(--accent)}
form{display:grid;gap:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-size:14px;color:rgba(255,255,255,.75);margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid transparent;border-radius:3px;padding:12px 14px}
textarea{min-height:140px;resize:vertical}
.form-msg{font-size:14px;color:rgba(255,255,255,.7)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.row2{grid-template-columns:1fr}}

/* Footer */
.site-foot{background:#081320;color:rgba(255,255,255,.6);font-size:14px;padding:32px 0}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.site-foot a{color:#fff;text-decoration:none}

.wa{position:fixed;bottom:20px;inset-inline-end:20px;width:56px;height:56px;border-radius:50%;background:#1FA855;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:90}
.wa svg{width:30px;height:30px;fill:#fff}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
