/* PRISM APEX — base.css: tokens, fonts, reset, layout, buttons, header, footer, utilities.
   One stylesheet for AR (rtl) and EN (ltr): logical properties only.
   Breakpoints: <768 mobile (v2 mobile design) · 768–1023 tablet (compressed desktop) · >=1024 desktop. */

/* ---------- Fonts (self-hosted, CSP font-src 'self') ---------- */
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";src:url(/assets/fonts/plex-arabic-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";src:url(/assets/fonts/plex-arabic-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";src:url(/assets/fonts/plex-arabic-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";src:url(/assets/fonts/plex-arabic-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}

/* ---------- Tokens (README "Design tokens", red accent only) ---------- */
:root{
  --ink:#0E1215; --surface:#EEF2F2; --white:#FFFFFF; --card:#1B2226; --slate:#505C62;
  --on-dark:#F3F5F5;
  --muted:#4A5458; --muted-2:#A9B1B3; --muted-3:#C3CACC; --muted-4:#D5DBDC;
  --line-dark:#3A4448; --line:#9AA4A7; --line-light:#C4CCCE;
  --input:#E2E6E7; --form-card:#F7F9F9;
  --accent:#DB4249;       /* buttons, fills, dots (white on it = 4.30:1, accepted by Ahmed) */
  --on-accent:#FFFFFF;
  --accent-soft:#F6B3BB;
  --accent-text:#C40B20;  /* red TEXT on light backgrounds */
  --r-4:4px; --r-6:6px; --r-8:8px; --r-10:10px; --r-12:12px; --r-14:14px; --r-16:16px; --r-32:32px; --r-pill:999px;
  --fs-11:11px; --fs-12:12px; --fs-13:13px; --fs-14:14px; --fs-15:15px; --fs-16:16px; --fs-18:18px;
  --fs-20:20px; --fs-21:21px; --fs-22:22px; --fs-24:24px; --fs-26:26px; --fs-28:28px; --fs-36:36px;
  --fs-40:40px; --fs-48:48px; --fs-60:60px;
  --font:'Montserrat','IBM Plex Sans Arabic',system-ui,sans-serif;
  --hls:0;               /* headline letter-spacing: 0 in AR */
  --container:1200px;
  --pad:24px;            /* inline padding of .container */
  --hdr-h:56px;
  --section-y:64px;
}
html[lang="en"]{--hls:-0.02em}
@media (min-width:768px){:root{--pad:40px; --hdr-h:72px; --section-y:96px}}
@media (min-width:1024px){:root{--pad:64px; --section-y:120px}} /* 1328 max → 120px sides at 1440 */

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-width:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--ink);background:var(--surface);text-wrap:pretty;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}
ul[role="list"],ol[role="list"]{list-style:none;padding:0}
img,video,svg,picture{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,.t-h1,.t-h2,.t-h3{letter-spacing:var(--hls);overflow-wrap:break-word}
main{display:block;flex:1 0 auto}
main:focus{outline:none}
[hidden]{display:none!important}

/* ---------- Accessibility ---------- */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.btn:focus-visible{outline-offset:3px}
.skip-link{position:absolute;inset-block-start:8px;inset-inline-start:8px;z-index:100;padding:10px 16px;border-radius:var(--r-8);background:var(--ink);color:var(--on-dark);font-weight:700;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- Layout ---------- */
.container{width:100%;max-width:calc(var(--container) + 2 * var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.section{padding-block:var(--section-y)}
.section--dark{background:var(--ink);color:var(--on-dark)}
.section--light{background:var(--surface);color:var(--ink)}
.section--white{background:var(--white);color:var(--ink)}
.under-hdr{margin-block-start:calc(-1 * var(--hdr-h))} /* first section slides under the sticky header */
.stack{display:flex;flex-direction:column;gap:var(--gap,24px)}

/* ---------- Type utilities ---------- */
.t-eyebrow{font-size:var(--fs-13);font-weight:700;letter-spacing:.04em;color:var(--muted)}
.section--dark .t-eyebrow{color:var(--muted-3)}
.t-h1{font-size:var(--fs-28);line-height:1.2;font-weight:800}
.t-h2{font-size:var(--fs-28);line-height:1.2;font-weight:700}
.t-h3{font-size:var(--fs-20);line-height:1.3;font-weight:700}
.t-body{font-size:var(--fs-15);line-height:1.65;color:var(--muted)}
.section--dark .t-body{color:var(--muted-3)}
.ac-text{color:var(--accent-text)}
@media (min-width:768px){
  .t-eyebrow{font-size:var(--fs-14)}
  .t-h1{font-size:40px;line-height:1.15}
  .t-h2{font-size:34px}
  .t-h3{font-size:var(--fs-22)}
  .t-body{font-size:var(--fs-16)}
}
@media (min-width:1024px){
  .t-h1{font-size:var(--fs-48);line-height:1.1}
  .t-h2{font-size:var(--fs-40)}
  .t-body{font-size:var(--fs-18)}
}
html[dir="rtl"] .flip-rtl{transform:scaleX(-1)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-block-size:52px;padding:0 36px;border:0;border-radius:var(--r-14);background:var(--accent);color:var(--on-accent);font-size:var(--fs-16);font-weight:700;line-height:1.2;text-align:center;transition:filter .15s}
.btn:hover{filter:brightness(.92)}
.btn--sm{min-block-size:44px;padding:0 22px;border-radius:var(--r-12);font-size:var(--fs-15)}
.btn--block{display:flex;inline-size:100%}

/* ---------- Header ---------- */
.hdr{--hdr-bg:rgba(14,18,21,.78);--hdr-fg:#F3F5F5;--hdr-lb:rgba(243,245,245,.45);
  position:sticky;top:0;z-index:20;block-size:var(--hdr-h);background:var(--hdr-bg);color:var(--hdr-fg);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hdr--dark-solid{--hdr-bg:rgba(14,18,21,.88);--hdr-lb:#3A4448}
.hdr--white{--hdr-bg:rgba(255,255,255,.88);--hdr-fg:#0E1215;--hdr-lb:#C4CCCE}
.hdr--surface{--hdr-bg:rgba(238,242,242,.88);--hdr-fg:#0E1215;--hdr-lb:#C4CCCE}
.hdr--white-soft{--hdr-bg:rgba(255,255,255,.8);--hdr-fg:#0E1215;--hdr-lb:rgba(14,18,21,.35)}
.hdr__bar{block-size:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.hdr__logo{flex:none;display:block}
.hdr__logo img{block-size:34px;inline-size:auto}
.hdr__actions{position:relative;display:flex;align-items:center;gap:10px}
.hdr__nav{display:none}
.hdr__link{padding-block:6px;border-block-end:2px solid transparent;font-size:var(--fs-15);font-weight:500;white-space:nowrap}
.hdr__link[aria-current="page"]{border-block-end-color:var(--accent)}
.hdr__link:hover{opacity:.8}
.hdr__lang{display:inline-flex;align-items:center;justify-content:center;block-size:40px;min-inline-size:40px;padding:0 12px;border:1px solid var(--hdr-lb);border-radius:var(--r-10);font-size:var(--fs-14);font-weight:600;line-height:1}
.hdr__cta{display:none}
.hdr__menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;inline-size:40px;block-size:40px;padding:0;border:0;border-radius:var(--r-10);background:var(--accent)}
.hdr__menu-btn span{display:block;inline-size:20px;block-size:2px;background:var(--on-accent);transition:transform .2s,opacity .2s}
.hdr__menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hdr__menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.hdr__menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hdr__menu{position:absolute;inset-block-start:calc(100% + 12px);inset-inline-end:0;z-index:5;inline-size:220px;max-inline-size:calc(100vw - 2 * var(--pad));padding:8px;display:flex;flex-direction:column;border-radius:var(--r-12);background:var(--ink);box-shadow:0 12px 32px rgba(14,18,21,.25)}
.hdr__menu a{padding:14px 12px;border-radius:var(--r-8);color:var(--on-dark);font-size:var(--fs-16);font-weight:500}
.hdr__menu a:hover,.hdr__menu a[aria-current="page"]{background:rgba(243,245,245,.08)}
.hdr__menu a:focus-visible{outline-offset:-2px}
@media (min-width:768px){
  .hdr__bar{gap:24px}
  .hdr__logo img{block-size:40px}
  .hdr__actions{gap:12px}
  .hdr__nav{display:flex;align-items:center;gap:20px;margin-inline-end:8px}
  .hdr__lang{block-size:44px;min-inline-size:44px}
  .hdr__cta{display:inline-flex}
  .hdr__menu-btn,.hdr__menu{display:none!important}
}
@media (min-width:1024px){
  .hdr__bar{gap:32px}
  .hdr__logo img{block-size:44px}
  .hdr__nav{gap:32px;margin-inline-end:20px}
}

/* ---------- Footer ---------- */
.ftr{background:var(--ink);color:var(--on-dark);border-block-start:1px solid #1E2629;padding-block:32px 20px}
.ftr__inner{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"logo logo" "social nav" "bottom bottom";gap:24px 16px}
.ftr__logo{grid-area:logo;justify-self:start}
.ftr__logo img{block-size:40px;inline-size:auto}
.ftr__nav{grid-area:nav;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:end;font-size:var(--fs-14)}
.ftr__nav a:hover,.ftr__bottom a:hover{opacity:.8}
.ftr__social{grid-area:social;align-self:start;display:flex;gap:10px;margin:0;padding:0;list-style:none}
.ftr__social a{display:flex;align-items:center;justify-content:center;inline-size:36px;block-size:36px;border:1px solid var(--line-dark);border-radius:var(--r-8);color:var(--on-dark)}
.ftr__social a:hover{border-color:var(--muted-2)}
.ftr__bottom{grid-area:bottom;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block-start:14px;border-block-start:1px solid #2A3236;font-size:var(--fs-12);color:var(--muted-2)}
.ftr__bottom a{text-decoration:underline;text-underline-offset:3px}
@media (min-width:768px){
  .ftr{padding-block:48px 24px}
  .ftr__inner{grid-template-columns:auto 1fr auto;grid-template-areas:"logo nav social" "bottom bottom bottom";align-items:center;gap:32px 32px}
  .ftr__logo img{block-size:44px}
  .ftr__nav{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;font-size:var(--fs-14)}
  .ftr__social{align-self:center}
  .ftr__bottom{padding-block-start:16px;font-size:var(--fs-13)}
}
@media (min-width:1024px){
  .ftr{padding-block:56px 28px}
  .ftr__inner{column-gap:56px}
  .ftr__nav{gap:32px;font-size:var(--fs-15)}
}

/* ---------- Stub / 404 (temporary pages, shared) ---------- */
.stub{background:var(--surface);padding-block:calc(var(--hdr-h) + 96px) 120px}
.stub__inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.stub__inner .t-h1{max-inline-size:720px}
