
/* Layout: a set of construction drawing sheets — each section is a "sheet" on a faint blueprint grid, with a title-block label, maroon as the single structural accent. */
:root{
  --bg:#F2EFEF; --surface:#FFFFFF; --fg:#221B1E; --muted:#6B6064; --line:#DED6D8; --grid:rgba(122,59,80,.07);
  --brand:#7A3B50; --brand-ink:#5B2638; --brand-soft:#F3E6EA; --steel:#8B8D90; --on-brand:#FFFFFF;
  --ok:#2F7A55; --ok-soft:#E3F1E9; --shadow:0 18px 40px -24px rgba(60,20,35,.35);
  --f-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --f-body:"IBM Plex Sans","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-ar:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,"Segoe UI",Tahoma,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --r:6px; --max:1180px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#151113; --surface:#1F191C; --fg:#F0E9EB; --muted:#A99CA1; --line:#3A2F34; --grid:rgba(214,140,165,.06);
  --brand:#C9809A; --brand-ink:#E7AFC1; --brand-soft:#33212A; --steel:#9A9CA0; --on-brand:#1A1013;
  --ok:#6CC395; --ok-soft:#1D3127; --shadow:0 18px 40px -24px rgba(0,0,0,.7); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#151113; --surface:#1F191C; --fg:#F0E9EB; --muted:#A99CA1; --line:#3A2F34; --grid:rgba(214,140,165,.06);
  --brand:#C9809A; --brand-ink:#E7AFC1; --brand-soft:#33212A; --steel:#9A9CA0; --on-brand:#1A1013;
  --ok:#6CC395; --ok-soft:#1D3127; --shadow:0 18px 40px -24px rgba(0,0,0,.7); color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px}
html[lang="ar"] body{font-family:var(--f-ar);line-height:1.8}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
a{color:var(--brand)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:20px}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
html[lang="ar"] .mono{font-family:var(--f-ar);letter-spacing:0;font-size:13px;text-transform:none}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;min-height:64px}
.brandmark{display:flex;align-items:center;background:#fff;border-radius:4px;padding:4px 6px;flex:none}
.brandmark img{height:34px;width:auto;display:block}
.nav{display:flex;gap:2px;margin-inline-start:auto;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--muted);text-decoration:none;font-size:14px;padding:8px 10px;border-radius:4px;white-space:nowrap}
.nav a:hover,.nav a.on{color:var(--brand);background:var(--brand-soft)}
.lang{flex:none;border:1px solid var(--brand);background:transparent;color:var(--brand);border-radius:999px;padding:6px 14px;font-weight:600;cursor:pointer;font-size:14px}
.lang:hover{background:var(--brand);color:var(--on-brand)}


/* hero */
.hero{padding-block:56px 40px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.eyebrow{color:var(--brand);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--brand)}
.hero h1{font-family:var(--f-display);font-weight:800;font-size:clamp(46px,7vw,92px);line-height:.92;letter-spacing:-.01em;text-transform:uppercase;margin-block:18px 20px}
html[lang="ar"] .hero h1{font-family:var(--f-ar);text-transform:none;font-weight:700;font-size:clamp(38px,5.4vw,68px);line-height:1.2}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero .lede{color:var(--muted);font-size:18px;max-width:52ch}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:4px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--brand);font-size:15px}
.btn.solid{background:var(--brand);color:var(--on-brand)}
.btn.solid:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.btn.ghost{background:transparent;color:var(--brand)}
.btn.ghost:hover{background:var(--brand-soft)}
.frame{position:relative;min-width:0}
.frame img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);display:block;box-shadow:var(--shadow)}
.frame::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--brand);border-radius:var(--r);z-index:-1}
html[dir="rtl"] .frame::before{inset:-14px -14px 14px 14px}
.tblock{position:absolute;inset-inline-start:16px;bottom:16px;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:4px;display:grid;grid-template-columns:auto auto;font-size:12px;max-width:calc(100% - 32px)}
.tblock div{padding:6px 10px;border-inline-end:1px solid var(--line)}
.tblock div:last-child{border:0}
.tblock b{display:block;font-size:14px}
.tblock .mono{font-size:10px;color:var(--muted)}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:36px}.hero{padding-block:36px 24px}}

/* stats */
.stats{border-block:1px solid var(--line);background:var(--surface)}
.stats .wrap{display:grid;grid-template-columns:repeat(6,1fr)}
.stat{padding:22px 14px;border-inline-end:1px solid var(--line);min-width:0}
.stat:last-child{border:0}
.stat .n{font-family:var(--f-display);font-weight:700;font-size:42px;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}
.stat .n small{font-size:20px;margin-inline-start:2px}
.stat .l{color:var(--muted);font-size:13px;margin-top:6px;line-height:1.35}
@media (max-width:900px){.stats .wrap{grid-template-columns:repeat(3,1fr)}.stat:nth-child(3){border:0}.stat:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.stats .wrap{grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid var(--line)}.stat:nth-child(3){border-inline-end:1px solid var(--line)}.stat:nth-child(2n){border-inline-end:0}}

/* sections */
section.sheet{padding-block:56px 20px}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:16px}
.shead h1,.shead h2{font-family:var(--f-display);text-transform:uppercase;font-weight:700;font-size:clamp(34px,4.6vw,54px);line-height:1}
html[lang="ar"] .shead h1,.shead h2{font-family:var(--f-ar);text-transform:none;font-size:clamp(28px,3.6vw,42px);line-height:1.3}
.shead .sub{color:var(--muted);max-width:46ch}
.sheetno{color:var(--brand);margin-bottom:8px}

/* about */
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.about .story p{font-size:18px;max-width:60ch}
.about .story p+p{margin-top:16px;color:var(--muted);font-size:16px}
.solar{margin-top:24px;display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px dashed var(--brand);border-radius:var(--r);background:var(--brand-soft)}
.solar svg{flex:none;color:var(--brand)}
.tabs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:0}
.tablist{display:flex;border-bottom:1px solid var(--line)}
.tablist button{flex:1;background:none;border:0;padding:14px 8px;cursor:pointer;color:var(--muted);font-weight:600;border-bottom:3px solid transparent}
.tablist button[aria-selected="true"]{color:var(--brand);border-color:var(--brand)}
.tabpanel{padding:24px;min-height:220px}
.tabpanel .big{font-size:19px;line-height:1.55}
.goals{display:grid;gap:14px}
.goal{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.goal .ic{width:36px;height:36px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:700}
.goal h4{margin:0 0 2px;font-size:15px}
.goal p{color:var(--muted);font-size:14px}
@media (max-width:860px){.about{grid-template-columns:1fr}}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc{background:var(--surface);border:0;text-align:start;padding:22px 20px;cursor:pointer;display:flex;flex-direction:column;gap:12px;min-height:150px;transition:background .2s}
.svc svg{width:34px;height:34px;color:var(--brand);transition:transform .25s}
.svc h3{font-size:17px;font-weight:600}
.svc .cnt{margin-top:auto;color:var(--muted)}
.svc:hover{background:var(--brand-soft)}
.svc:hover svg{transform:translateY(-3px)}
.svc[aria-pressed="true"]{background:var(--brand);color:var(--on-brand)}
.svc[aria-pressed="true"] svg,.svc[aria-pressed="true"] .cnt{color:var(--on-brand)}
.svc-detail{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--brand);border-radius:var(--r);padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.svc-detail h3{font-size:22px;margin-bottom:6px}
.svc-detail p{color:var(--muted);max-width:70ch}
.svc-detail .chips{margin-top:12px}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc-detail{grid-template-columns:1fr}}

.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);white-space:nowrap}

/* flagship */
.flag{display:grid;grid-template-columns:1.25fr 1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.flag-media{position:relative;min-width:0;background:#000}
.flag-media img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block;transition:opacity .35s}
.thumbs{position:absolute;inset-inline:12px;bottom:12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.thumbs button{flex:none;width:64px;height:46px;padding:0;border:2px solid rgba(255,255,255,.6);border-radius:4px;overflow:hidden;cursor:pointer;background:#000;opacity:.75}
.thumbs button[aria-current="true"]{border-color:#fff;opacity:1}
.thumbs img{width:100%;height:100%;object-fit:cover;min-height:0}
.flag-body{padding:30px;display:flex;flex-direction:column;gap:18px;min-width:0}
.flag-body h3{font-family:var(--f-display);font-size:34px;line-height:1.05;text-transform:uppercase;font-weight:700}
html[lang="ar"] .flag-body h3{font-family:var(--f-ar);text-transform:none;font-size:26px;line-height:1.4}
.km{display:flex;align-items:baseline;gap:10px;padding:14px 0;border-block:1px solid var(--line)}
.km .n{font-family:var(--f-display);font-size:64px;font-weight:800;color:var(--brand);line-height:.9}
.km .t{color:var(--muted);font-size:14px;line-height:1.35}
.scope{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.scope li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:15px}
.scope li::before{content:"";width:10px;height:10px;margin-top:8px;border:2px solid var(--brand);transform:rotate(45deg)}
@media (max-width:860px){.flag{grid-template-columns:1fr}.flag-media img{min-height:260px;aspect-ratio:4/3}}

/* projects */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.filters button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;cursor:pointer;font-size:14px;color:var(--muted)}
.filters button:hover{border-color:var(--brand);color:var(--brand)}
.filters button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.filters .n{font-family:var(--f-mono);font-size:11px;opacity:.75;margin-inline-start:4px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer;text-align:start;padding:0;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pcard .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--line)}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .ph img{transform:scale(1.05)}
.pcard .tag{position:absolute;top:10px;inset-inline-start:10px;background:var(--surface);color:var(--brand);border-radius:3px;padding:2px 8px}
.pcard .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard h3{font-size:17px;font-weight:600;line-height:1.35}
.pcard .own{color:var(--muted);font-size:13.5px}
.pcard .chips{margin-top:auto;padding-top:8px}
.pcard[hidden]{display:none!important}
@media (max-width:960px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pgrid{grid-template-columns:1fr}}

/* clients */
.clients{overflow:hidden;border-block:1px solid var(--line);background:var(--surface);padding-block:22px;margin-top:64px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:18px;width:max-content;animation:slide 48s linear infinite}
.clients:hover .track{animation-play-state:paused}
html[dir="rtl"] .track{animation-name:slide-rtl}
@keyframes slide{to{transform:translateX(-50%)}}
@keyframes slide-rtl{to{transform:translateX(50%)}}
.logo{flex:none;width:150px;height:84px;background:#fff;border:1px solid var(--line);border-radius:4px;display:grid;place-items:center;padding:12px}
.logo img{max-height:60px;max-width:120px;object-fit:contain}
.clients-cap{text-align:center;color:var(--muted);margin-bottom:14px}

/* org */
.org{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;overflow-x:auto}
.org-top{display:flex;flex-direction:column;align-items:center;gap:0}
.node{border:1px solid var(--line);background:var(--bg);border-radius:4px;padding:10px 16px;text-align:center;font-weight:600;font-size:14px}
.node.lead{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.vline{width:1px;height:22px;background:var(--brand)}
.depts{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;position:relative;padding-top:22px;min-width:820px}
.depts::before{content:"";position:absolute;top:0;inset-inline:calc(100%/12);height:1px;background:var(--brand)}
.dept{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:8px}
.dept::before{content:"";position:absolute;top:-22px;inset-inline-start:50%;width:1px;height:22px;background:var(--brand)}
.dept>button{border:1px solid var(--brand);background:var(--surface);color:var(--brand-ink);border-radius:4px;padding:12px 8px;font-weight:600;font-size:14px;cursor:pointer;line-height:1.35;min-height:64px}
.dept>button:hover,.dept>button[aria-expanded="true"]{background:var(--brand);color:var(--on-brand)}
.dept ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dept li{font-size:13px;padding:7px 10px;border-inline-start:2px solid var(--brand);background:var(--bg);border-radius:0 3px 3px 0;color:var(--muted);animation:drop .25s ease both}
html[dir="rtl"] .dept li{border-radius:3px 0 0 3px}
@keyframes drop{from{transform:translateY(-4px);opacity:.3}}
.org-hint{color:var(--muted);font-size:13px;margin-top:16px;text-align:center}

/* fleet */
.fleet{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:start}
.fleet-photo{position:relative;border-radius:var(--r);overflow:hidden;min-width:0}
.fleet-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(1.1)}
.fleet-photo .tot{position:absolute;inset-inline-start:0;bottom:0;background:var(--brand);color:var(--on-brand);padding:14px 20px}
.fleet-photo .tot b{font-family:var(--f-display);font-size:44px;line-height:1;display:block}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface);margin-bottom:18px}
.seg button{border:0;background:none;padding:7px 16px;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:600;font-size:14px}
.seg button[aria-pressed="true"]{background:var(--brand);color:var(--on-brand)}
.eq{display:grid;gap:8px;min-width:0}
.eqrow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) 64px;gap:12px;align-items:center;font-size:14px;padding:6px 0;border-bottom:1px dashed var(--line)}
.eqrow .bar{height:10px;background:var(--brand-soft);border-radius:2px;overflow:hidden}
.eqrow .bar i{display:block;height:100%;background:var(--brand);width:0;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.eqrow .v{font-family:var(--f-mono);text-align:end;font-variant-numeric:tabular-nums;font-size:13px}
.eqrow small{display:block;color:var(--muted);font-size:12px}
@media (max-width:860px){.fleet{grid-template-columns:1fr}}

/* certs */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.cert{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0;cursor:pointer;text-align:start;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s}
.cert:hover{border-color:var(--brand)}
.cert .pv{height:140px;background:var(--bg);display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.cert .pv img{max-height:124px;max-width:88%;object-fit:contain;box-shadow:0 4px 14px -6px rgba(0,0,0,.35);transition:transform .3s}
.cert:hover .pv img{transform:scale(1.06) rotate(-1deg)}
.cert .cb{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.cert h3{font-size:15px;font-weight:600;line-height:1.35}
.cert .meta{color:var(--muted);font-size:13px}
.valid{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ok)}
.valid::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.iso-band{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.iso{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;gap:16px;align-items:center;cursor:pointer;text-align:start}
.iso:hover{border-color:var(--brand)}
.iso .badge{flex:none;width:72px;height:72px;border-radius:50%;border:2px solid var(--brand);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;color:var(--brand);font-size:15px;line-height:1;text-align:center}
.iso .badge b{display:block;font-size:19px;letter-spacing:-.01em}
.iso h3{font-size:16px}
.iso p{color:var(--muted);font-size:13px}
@media (max-width:860px){.iso-band{grid-template-columns:1fr}}

/* contact */
.contact{margin-top:84px;background:var(--brand);color:var(--on-brand);border-radius:var(--r);padding:44px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;position:relative;overflow:hidden}
.contact::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.contact h2{font-family:var(--f-display);font-size:clamp(36px,5vw,60px);text-transform:uppercase;line-height:.95;font-weight:800}
html[lang="ar"] .contact h2{font-family:var(--f-ar);text-transform:none;font-size:clamp(28px,3.6vw,42px);line-height:1.3}
.contact p{opacity:.85;margin-top:14px;max-width:44ch}
.card-addr{position:relative;z-index:1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);border-radius:4px;padding:20px;display:grid;gap:14px;min-width:0}
.card-addr .k{opacity:.7;font-size:12px}
.card-addr .vv{font-size:15px;overflow-wrap:anywhere}
.card-addr a{color:inherit}
.copy{justify-self:start;background:var(--on-brand);color:var(--brand);border:0;border-radius:4px;padding:8px 14px;font-weight:600;cursor:pointer}
.contact>div{position:relative;z-index:1;min-width:0}
@media (max-width:760px){.contact{grid-template-columns:1fr;padding:28px}}
footer{padding-block:36px 48px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* modal */
dialog{border:0;padding:0;border-radius:var(--r);background:var(--surface);color:var(--fg);max-width:min(980px,calc(100vw - 32px));width:100%;max-height:calc(100vh - 48px);box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
dialog::backdrop{background:rgba(20,10,14,.7);backdrop-filter:blur(3px)}
.m-in{display:grid;grid-template-columns:1.3fr 1fr}
.m-media{background:#000;min-width:0;position:relative}
.m-media img{width:100%;height:100%;max-height:70vh;object-fit:cover;display:block}
.m-body{padding:28px;display:flex;flex-direction:column;gap:14px;min-width:0;overflow-y:auto;max-height:70vh}
.m-body h3{font-size:24px;line-height:1.3}
.m-body dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px}
.m-body dt{color:var(--muted)}
.m-body dd{margin:0}
.m-close{position:absolute;top:10px;inset-inline-end:10px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:var(--surface);color:var(--fg);cursor:pointer;font-size:20px;line-height:1}
.m-nav{display:flex;gap:8px;margin-top:auto}
.m-nav button{flex:1;border:1px solid var(--line);background:var(--bg);padding:9px;border-radius:4px;cursor:pointer}
.m-nav button:hover{border-color:var(--brand);color:var(--brand)}
dialog.cert-view{max-width:min(860px,calc(100vw - 32px))}
dialog.cert-view .m-in{grid-template-columns:1fr}
dialog.cert-view .m-media{background:var(--bg);padding:20px;display:grid;place-items:center}
dialog.cert-view .m-media img{object-fit:contain;max-height:72vh;width:auto;max-width:100%;height:auto}
@media (max-width:760px){.m-in{grid-template-columns:1fr}.m-media img{max-height:38vh}.m-body{max-height:none}}

.reveal{transition:transform .6s ease,opacity .6s ease}
.reveal.pre{transform:translateY(14px);opacity:.35}

/* multi-page additions */
.menu-btn{display:none;flex:none;width:40px;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:4px;cursor:pointer;place-items:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:2px;background:var(--fg);position:relative;content:"";transition:transform .2s}
.menu-btn span::before{position:absolute;top:-6px}.menu-btn span::after{position:absolute;top:6px}
body.menu-open .menu-btn span{background:transparent}
body.menu-open .menu-btn span::before{transform:translateY(6px) rotate(45deg)}
body.menu-open .menu-btn span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:980px){
  .menu-btn{display:grid}
  .lang{margin-inline-start:auto}
  .nav{display:none;position:absolute;top:100%;inset-inline:0;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 16px 16px;gap:2px;margin:0;box-shadow:var(--shadow)}
  body.menu-open .nav{display:flex}
  .nav a{font-size:16px;padding:12px}
}
.top .wrap{position:relative}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:64px}
.pg{display:flex;flex-direction:column;gap:2px;padding:18px 20px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s}
.pg:hover{border-color:var(--brand);transform:translateY(-2px)}
.pg .mono{color:var(--muted)}
.pg b{font-size:18px;color:var(--brand)}
.pg.next{text-align:end;grid-column:2}
.pg.prev::before{content:"";}
.ctaband{margin-top:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 28px;border-radius:var(--r);background:var(--brand);color:var(--on-brand)}
.ctaband h2{font-family:var(--f-display);text-transform:uppercase;font-size:30px;line-height:1.05}
html[lang="ar"] .ctaband h2{font-family:var(--f-ar);text-transform:none;font-size:24px}
.ctaband p{opacity:.85;margin-top:4px}
.ctaband .btn{background:var(--on-brand);color:var(--brand);border-color:var(--on-brand)}
.ixgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ix{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--fg);transition:transform .25s,box-shadow .25s}
.ix:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ixph{aspect-ratio:16/10;overflow:hidden;background:var(--line)}
.ixph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ix:hover .ixph img{transform:scale(1.06)}
.ixb{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.ixb .mono{color:var(--brand)}
.ixb h3{font-size:18px}
.ixb p{color:var(--muted);font-size:14px;line-height:1.45}
.ixb .go{margin-top:auto;padding-top:8px;color:var(--brand);font-weight:600;font-size:14px}
@media (max-width:980px){.ixgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.ixgrid{grid-template-columns:1fr}}
.nf{padding-block:120px;text-align:center;display:grid;gap:16px;justify-items:center}
.nf .code{font-family:var(--f-display);font-size:120px;font-weight:800;color:var(--brand);line-height:.9}
.contact{margin-top:20px}

/* ---------- motion layer ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .22s ease both}
::view-transition-new(root){animation:vt-in .4s cubic-bezier(.2,.7,.2,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(12px)}}
.progress{position:absolute;inset-inline:0;bottom:-1px;height:3px;background:var(--brand);transform:scaleX(0);transform-origin:left;pointer-events:none}
html[dir="rtl"] .progress{transform-origin:right}
/* hero entrance */
.hero{position:relative;isolation:isolate;overflow:hidden}
html.anim .hero .eyebrow{animation:rise .7s .05s cubic-bezier(.2,.7,.2,1) both}
html.anim .hero h1{animation:rise .8s .15s cubic-bezier(.2,.7,.2,1) both}
html.anim .hero .lede{animation:rise .8s .3s cubic-bezier(.2,.7,.2,1) both}
html.anim .hero .cta>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
html.anim .hero .cta>*:nth-child(1){animation-delay:.42s}
html.anim .hero .cta>*:nth-child(2){animation-delay:.5s}
html.anim .hero .cta>*:nth-child(3){animation-delay:.58s}
html.anim .frame img{animation:unveil 1.1s .25s cubic-bezier(.7,0,.2,1) both}
html.anim .frame::before{animation:frame-in 1s .7s cubic-bezier(.2,.7,.2,1) both}
html.anim .tblock{animation:rise .6s 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(26px)}}
@keyframes unveil{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
html[dir="rtl"].anim .frame img{animation-name:unveil-rtl}
@keyframes unveil-rtl{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes frame-in{from{opacity:0;transform:translate(14px,-14px)}}
.blueprint{position:absolute;inset-inline-end:-40px;bottom:-10px;width:min(780px,70%);z-index:-1;color:var(--brand);opacity:.16;pointer-events:none}
html[dir="rtl"] .blueprint{transform:scaleX(-1)}
.blueprint path,.blueprint line,.blueprint rect,.blueprint circle{fill:none;stroke:currentColor;stroke-width:1.4;stroke-dasharray:1400;stroke-dashoffset:0}
html.anim .blueprint path,html.anim .blueprint line,html.anim .blueprint rect,html.anim .blueprint circle{animation:draw 3.2s cubic-bezier(.4,0,.2,1) both}
html.anim .blueprint .hook{animation:draw 3.2s both,sway 4s 3.2s ease-in-out infinite alternate;transform-origin:430px 40px;transform-box:view-box}
@keyframes draw{from{stroke-dashoffset:1400}}
@keyframes sway{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}
/* ken burns on feature photo */
.flag-media{overflow:hidden}
html.anim .flag-media>img{animation:kb 16s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07) translate(-1%,-1%)}}
/* scroll reveal */
html.anim .rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 70ms)}
html.anim .rv.in{opacity:1;transform:none}
html.anim .pcard.rv.in:hover,html.anim .ix.rv.in:hover{transition-delay:0s}
.shead{position:relative}
.shead::after{content:"";position:absolute;bottom:-1px;inset-inline-start:0;height:3px;width:120px;background:var(--brand);transform-origin:left}
html[dir="rtl"] .shead::after{transform-origin:right}
html.anim .shead.rv::after{transform:scaleX(0);transition:transform 1s .25s cubic-bezier(.7,0,.2,1)}
html.anim .shead.rv.in::after{transform:scaleX(1)}
html.anim .org.rv .depts::before{transform:scaleX(0);transition:transform .9s .35s cubic-bezier(.7,0,.2,1)}
html.anim .org.rv.in .depts::before{transform:scaleX(1)}
html.anim .org.rv .vline{transform:scaleY(0);transform-origin:top;transition:transform .4s .1s}
html.anim .org.rv.in .vline{transform:scaleY(1)}
/* tilt */
.pcard,.ix{transform-style:preserve-3d;will-change:transform}
.tilt{transition:transform .12s linear!important}
/* button shine */
.btn.solid{position:relative;overflow:hidden}
.btn.solid::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s}
.btn.solid:hover::after{transform:translateX(120%)}
/* stat ticks */
.stat{position:relative}
.stat::before{content:"";position:absolute;top:0;inset-inline-start:0;height:2px;width:0;background:var(--brand);transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.stats.lit .stat::before{width:100%}
.stats.lit .stat:nth-child(2)::before{transition-delay:.1s}.stats.lit .stat:nth-child(3)::before{transition-delay:.2s}.stats.lit .stat:nth-child(4)::before{transition-delay:.3s}.stats.lit .stat:nth-child(5)::before{transition-delay:.4s}.stats.lit .stat:nth-child(6)::before{transition-delay:.5s}
@media (prefers-reduced-motion:reduce){html.anim .rv{opacity:1;transform:none}.progress{display:none}}
