/*
Theme Name: Ayed Chokri
Theme URI: https://ayadchokri.com
Author: Ayed Chokri
Author URI: https://ayadchokri.com
Description: Custom bilingual (EN/AR) theme for a Digital Experience & Product Consultant. One stylesheet, one component set, RTL by mirroring rather than duplication.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ayed
Tags: portfolio, one-column, custom-colors, rtl-language-support, translation-ready
*/

/* ============================================================
   AYED CHOKRI — DESIGN SYSTEM
   One stylesheet. Every page. Both languages.
   ============================================================ */

/* ------------------------------------------------------------
   ⬛ CHANGE THE WHOLE SITE FROM THESE TWO LINES
   ------------------------------------------------------------ */
:root{
  --brand:#2A1B4A;          /* ← primary / ink            */
  --accent:#C8551F;         /* ← accent                   */
  /* everything below is derived — do not edit by hand */
  /* inverted bands (services, callout, result, footer) */
  --band-line:color-mix(in srgb, var(--band-fg) 16%, transparent);
  --band-soft:color-mix(in srgb, var(--band-fg) 70%, transparent);
  --band-faint:color-mix(in srgb, var(--band-fg) 56%, transparent);
  /* type */
  --display:"Bricolage Grotesque",Georgia,sans-serif;
  --body:"IBM Plex Sans","IBM Plex Sans Arabic",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --h1:clamp(34px,5vw,60px);
  --h2:clamp(26px,3.2vw,40px);
  --h3:clamp(19px,2.1vw,25px);
  /* space + controls */
  --pad:clamp(20px,5vw,72px);
  --maxw:1240px;
  --read:min(720px,100%);
  --btn-py:12px;
  --btn-px:22px;
  --btn-fs:15px;
  --radius:12px;
  --sw-dir:1;
}

/* ------------------------------------------------------------
   DARK IS THE DEFAULT. Light is the opt-in.
   ------------------------------------------------------------ */
:root{
  color-scheme:dark;
  --paper:#121016;
  --surface:#1C1826;
  --line:color-mix(in srgb, #fff 14%, var(--paper));
  --ink:#F6F4F9;
  --ink-soft:color-mix(in srgb, var(--ink) 84%, var(--paper));
  --muted:color-mix(in srgb, var(--ink) 62%, var(--paper));
  --accent-text:color-mix(in srgb, var(--accent) 62%, #fff);
  --accent-soft:color-mix(in srgb, var(--accent) 20%, var(--paper));
  --card:color-mix(in srgb, #fff 5%, var(--paper));
  --band-bg:var(--surface);
  --band-fg:var(--ink);
  --band-accent:color-mix(in srgb, var(--accent) 62%, #fff);
}
:root[data-theme="light"]{
  color-scheme:light;
  --paper:#FCFBFA;
  --surface:#F2F0EE;
  --line:color-mix(in srgb, var(--brand) 12%, var(--paper));
  --ink:var(--brand);
  --ink-soft:color-mix(in srgb, var(--brand) 84%, #fff);
  --muted:color-mix(in srgb, var(--brand) 70%, #fff);
  --accent-text:color-mix(in srgb, var(--accent) 84%, #000);
  --accent-soft:color-mix(in srgb, var(--accent) 11%, var(--paper));
  --card:#FFFFFF;
  --band-bg:var(--brand);
  --band-fg:#FCFBFA;
  --band-accent:color-mix(in srgb, var(--accent) 62%, #fff);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip;max-width:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
svg{flex:none}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.06;margin:0}
/* ---------- HEADER, NAV, MOBILE PANEL ---------- */
header{position:sticky;top:0;z-index:100;background:color-mix(in srgb, var(--paper) 90%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
.logo{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em;position:relative;z-index:110}
.logo em{font-style:normal;color:var(--accent)}
.desk-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.desk-nav a{font-size:14.5px;color:var(--ink-soft);padding-block:11px;border-bottom:1px solid transparent}
.desk-nav a:hover{color:var(--ink);border-bottom-color:var(--accent)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);padding:9px 15px;border-radius:100px}
.nav-cta:hover{background:var(--ink);color:var(--paper)}
.lang-sw{font-family:"IBM Plex Sans Arabic",var(--body);font-size:16px;line-height:1;border:1px solid var(--line);border-radius:100px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--ink-soft)}
.lang-sw:hover{border-color:var(--ink);color:var(--ink)}
.burger{display:none;position:relative;z-index:110;width:44px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;padding:0}
.burger i{position:absolute;inset-inline-start:11px;width:22px;height:1.5px;background:var(--ink);transition:transform .3s ease,opacity .2s ease}
.burger i:nth-child(1){top:13px}
.burger i:nth-child(2){top:19px}
.burger i:nth-child(3){top:25px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-panel{
  position:fixed;inset:0;z-index:105;background:var(--paper);
  padding:100px var(--pad) 40px;
  display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s;
}
.mobile-panel.open{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-panel ul{list-style:none;margin:0;padding:0}
.mobile-panel li{border-top:1px solid var(--line)}
.mobile-panel li:last-child{border-bottom:1px solid var(--line)}
.mobile-panel a{display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-size:28px;font-weight:600;letter-spacing:-.02em;padding:18px 0}
.mobile-panel a small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);font-weight:400}
.mobile-foot{margin-top:auto;padding-top:28px}
.mobile-foot .btn{width:100%;justify-content:center}
.mobile-foot p{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted);margin:16px 0 0;text-align:center}
/* ---------- BUTTONS ---------- */
/* ============================================================
   BUTTONS
   ============================================================ */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:var(--paper);padding:var(--btn-py) var(--btn-px);border-radius:100px;font-weight:500;font-size:var(--btn-fs);line-height:1.2;transition:background .2s ease,color .2s ease}
.btn:hover{background:var(--accent);color:var(--paper)}
.btn-ghost{border:1px solid var(--line);background:transparent;color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn svg{transition:transform .25s ease}
.btn:hover svg{transform:translateX(3px)}
/* ---------- HERO + SIGNATURE ---------- */
.hero{padding-block:clamp(44px,7vw,90px) clamp(36px,5vw,64px)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,68px);align-items:center}
.hero h1{font-size:clamp(36px,5.4vw,68px);max-width:15ch;margin-block:18px 0}
.hero h1 .hl{position:relative;white-space:nowrap;z-index:0}
.hero h1 .hl::after{content:"";position:absolute;left:-.05em;right:-.05em;bottom:.09em;height:.30em;background:var(--accent-soft);z-index:-1}
.hero p.lead{font-size:clamp(16px,1.6vw,19px);color:var(--ink-soft);max-width:46ch;margin:26px 0 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;align-items:center}
/* ---------- SIGNATURE ---------- */
.sig-stage{position:relative;height:clamp(320px,36vw,400px);background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -28px rgba(0,0,0,.35)}
.raw::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% 34px;opacity:.45}
.raw{position:absolute;inset:0;transition:opacity .5s ease}
.frag{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:7px 11px;font-size:12.5px;color:var(--ink-soft);box-shadow:0 6px 16px -12px rgba(0,0,0,.5);transition:transform .7s cubic-bezier(.2,.8,.25,1),opacity .45s ease}
.frag.ar{font-family:"IBM Plex Sans Arabic",var(--body);direction:rtl}
.f1{top:8%;inset-inline-start:5%;transform:rotate(-6deg)}
.f2{top:20%;inset-inline-start:44%;transform:rotate(4deg)}
.f3{top:36%;inset-inline-start:11%;transform:rotate(2deg)}
.f4{top:50%;inset-inline-start:47%;transform:rotate(-4deg)}
.f5{top:64%;inset-inline-start:7%;transform:rotate(5deg)}
.f6{top:76%;inset-inline-start:39%;transform:rotate(-3deg)}
.f7{top:9%;inset-inline-start:63%;transform:rotate(8deg)}
.clear{position:absolute;inset:0;padding:24px 26px;opacity:0;transition:opacity .5s ease .12s;pointer-events:none}
.clear .doc-top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--ink);padding-bottom:10px}
.clear .doc-top strong{font-family:var(--display);font-size:17px}
.clear .row{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}
.clear .row i{font-family:var(--mono);font-style:normal;font-size:11.5px;color:var(--accent-text)}
.clear .row b{display:block;font-size:14.5px;font-weight:600}
.clear .row small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.sig-stage.is-clear .raw{opacity:0}
.sig-stage.is-clear .frag{transform:rotate(0deg) scale(.96)}
.sig-stage.is-clear .clear{opacity:1}
.sig-switch{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.sw{position:relative;width:64px;height:30px;border-radius:100px;background:var(--surface);border:1px solid var(--line);cursor:pointer;padding:0;flex:none}
.sw::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);transition:transform .45s cubic-bezier(.2,.8,.25,1),background .3s ease}
.sw[aria-pressed="true"]::after{transform:translateX(calc(34px * var(--sw-dir)));background:var(--accent)}
.sig-switch .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .3s ease}
.sig-switch .lbl.on{color:var(--ink)}
.sig-caption{margin-inline-start:auto;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* ---------- PROOF STRIP ---------- */
.proof{border-block:1px solid var(--line);background:var(--surface)}
.proof-in{display:grid;grid-template-columns:repeat(5,1fr)}
.proof-in div{padding:22px 8px;text-align:center;border-inline-end:1px solid var(--line)}
.proof-in div:last-child{border-inline-end:0}
.proof b{display:block;font-family:var(--display);font-size:clamp(20px,2.4vw,30px);font-weight:600;letter-spacing:-.02em}
.proof span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:5px}
/* ---------- SECTION HEADS ---------- */
section{padding-block:clamp(54px,7vw,100px)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.sec-head h2{font-size:var(--h2);max-width:19ch}
.sec-head p{margin:10px 0 0;color:var(--ink-soft);max-width:48ch}
.sec-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:3px;white-space:nowrap}
/* ---------- IMAGE SYSTEM ---------- */
/* ---------- IMAGE SYSTEM ---------- */
.fig{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--line);width:100%}
.fig img{width:100%;height:100%;object-fit:cover;display:block}
.fig.ph{border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;gap:9px;color:var(--muted)}
.fig.ph svg{opacity:.4}
.fig.ph .spec{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.fig.ph .what{font-size:12.5px;line-height:1.5;max-width:36ch;font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--muted)}
.r43{aspect-ratio:4/3}
.r169{aspect-ratio:16/9}
.r11{aspect-ratio:1/1}
.r32{aspect-ratio:3/2}
.r45{aspect-ratio:4/5}
figure{margin:0}
figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:9px;line-height:1.7}
.gal3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:700px){.gal3{grid-template-columns:1fr}}
/* ---------- WORK ROWS (home) ---------- */
/* ---------- WORK ---------- */
.privacy-note{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--muted);margin:0 0 6px;padding:10px 14px;background:var(--surface);border-radius:8px;display:inline-block;line-height:1.7}
.work-row{display:grid;grid-template-columns:165px 1fr 250px;gap:30px;padding:28px 22px;margin-inline:-22px;border-top:1px solid var(--line);align-items:start}
.work-row:last-of-type{border-bottom:1px solid var(--line)}
.work-row:hover{background:linear-gradient(90deg,var(--accent-soft),transparent 60%)}
.work-meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.9}
.work-body h3{font-size:var(--h3)}
.work-body .prob{margin:12px 0 0;color:var(--ink-soft);max-width:54ch}
.work-body .did{margin:8px 0 0;max-width:54ch}
.work-body .did strong{color:var(--accent-text);font-weight:600}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.tags span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:3px 10px;color:var(--ink-soft)}
.work-num{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.work-num a{display:inline-flex;align-items:center;gap:7px;border-bottom:1px solid var(--accent);padding-bottom:2px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
/* ---------- SERVICE CARDS + PROCESS STEPS ---------- */
/* ---------- SERVICES ---------- */
.svc-wrap{background:var(--band-bg);color:var(--band-fg)}
.svc-wrap h2{color:var(--band-fg)}
.svc-wrap .sec-head p{color:var(--band-fg)}
.svc-wrap .eyebrow{color:var(--band-fg)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1px;background:var(--band-fg);border:1px solid var(--band-fg)}
.svc{background:var(--band-bg);padding:30px 26px 34px}
.svc h3{font-size:21px;margin-bottom:12px;color:var(--band-fg)}
.svc p{color:var(--band-fg);font-size:15px;margin:0 0 16px}
.svc ul{list-style:none;margin:0;padding:0;font-size:14px}
.svc li{padding:7px 0;border-top:1px solid var(--band-fg);color:var(--band-fg)}
.svc .tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--band-accent)}
.process{margin-top:54px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:1px;background:var(--band-fg);margin-top:22px;border:1px solid var(--band-fg)}
.step{background:var(--band-bg);padding:22px 18px}
.step i{font-family:var(--mono);font-style:normal;font-size:11px;color:var(--band-accent);letter-spacing:.1em}
.step b{display:block;font-family:var(--display);font-size:17px;font-weight:600;margin-top:10px}
.step small{display:block;color:var(--band-fg);font-size:13px;margin-top:6px;line-height:1.5}
/* ---------- SECTORS ---------- */
/* ---------- SECTORS ---------- */
.sectors-head{max-width:30ch}
.sectors-head h2{font-size:var(--h2)}
.sector-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.sector-cloud b{font-family:var(--display);font-weight:500;font-size:clamp(17px,2.1vw,25px);border:1px solid var(--line);border-radius:100px;padding:9px 20px;background:var(--card);transition:background .2s ease,border-color .2s ease}
.sector-cloud b:nth-child(3n){background:var(--accent-soft);border-color:transparent}
.sector-cloud b:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sector-note{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);margin-top:44px;padding-top:34px;border-top:1px solid var(--line)}
.sector-note p{margin:0;color:var(--ink-soft)}
.sector-note p strong{color:var(--ink);font-weight:600}
/* ---------- ABOUT BAND ---------- */
/* ---------- ABOUT BAND ---------- */
.about-band{background:var(--surface);border-block:1px solid var(--line)}
.about-band section{padding-block:clamp(48px,6vw,86px)}
.ab-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:center}
.ab-grid h2{font-size:clamp(25px,3vw,36px);max-width:20ch;margin:14px 0 18px}
.ab-grid p{color:var(--ink-soft);max-width:52ch;margin:0 0 14px}
@media (max-width:1000px){.ab-grid{grid-template-columns:1fr}.ab-grid figure{max-width:340px}}
/* ---------- NOTE CARD ---------- */
/* ---------- NOTE ---------- */
.note{border:1px solid var(--line);border-radius:14px;padding:clamp(24px,4vw,40px);background:var(--card);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.note h3{font-size:var(--h3);max-width:24ch;margin-top:12px}
.note p{color:var(--ink-soft);margin:12px 0 0;max-width:60ch}
/* ---------- FOOTER ---------- */
/* ---------- FOOTER ---------- */
footer{background:var(--band-bg);color:var(--band-fg);padding-block:44px 30px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--band-fg);margin:0 0 12px;font-weight:400}
footer ul{list-style:none;margin:0;padding:0}
footer li{padding:5px 0}
footer a:hover{color:var(--paper)}
.foot-logo{font-family:var(--display);font-size:20px;font-weight:700;color:var(--paper)}
.foot-tag{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.06em;margin-top:10px}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px;padding-top:18px;border-top:1px solid var(--band-fg);font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--band-fg)}
/* ---------- PAGE HEAD + FILTERS + PROJECT LIST + GROUPED ---------- */
/* page head */
.page-head{padding-block:clamp(40px,6vw,76px) clamp(24px,3vw,36px)}
.page-head h1{font-size:var(--h1);max-width:17ch;margin-top:16px}
.page-head p.lead{font-size:clamp(16px,1.6vw,19px);color:var(--ink-soft);max-width:50ch;margin:22px 0 0}
.privacy-note{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--muted);margin:26px 0 0;padding:12px 16px;background:var(--surface);border-radius:8px;display:inline-block;line-height:1.7;max-width:62ch}
.privacy-note b{color:var(--ink);font-weight:500}
/* filters */
.filters{position:sticky;top:70px;z-index:60;background:color-mix(in srgb, var(--paper) 94%, transparent);backdrop-filter:blur(8px);border-block:1px solid var(--line);padding-block:14px}
.filter-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.filter-row .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-inline-end:6px}
.chip{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:100px;padding:10px 16px;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.count{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-inline-start:auto}
/* ---------- IMAGE SYSTEM ---------- */
.fig{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--line);width:100%}
/* project list */
.plist{padding-block:8px clamp(48px,6vw,84px)}
.pitem{display:grid;grid-template-columns:175px 1fr 250px;gap:30px;padding:32px 22px;margin-inline:-22px;border-bottom:1px solid var(--line);align-items:start;transition:background .25s ease}
.pitem:hover{background:linear-gradient(90deg,var(--accent-soft),transparent 60%)}
.pitem.hide{display:none}
.pmeta{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.95}
.pmeta b{display:block;color:var(--ink);font-weight:500}
.pbody h3{font-size:var(--h3);max-width:22ch}
.pbody .role{font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-text);margin:10px 0 0}
.pbody p{margin:10px 0 0;color:var(--ink-soft);max-width:56ch}
.pcta{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.pcta a{display:inline-flex;align-items:center;gap:7px;border-bottom:1px solid var(--accent);padding-bottom:2px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.pcta em{display:block;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* grouped */
.grouped{background:var(--surface);border-top:1px solid var(--line)}
.grouped section{padding-block:clamp(48px,6vw,88px)}
.grouped h2{font-size:var(--h2);max-width:20ch;margin-top:14px}
.grouped>section>p.sub{color:var(--ink-soft);max-width:52ch;margin:14px 0 0}
.glist{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;margin-top:34px}
.gitem{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px 0;border-top:1px solid var(--line);align-items:baseline}
.gitem b{font-family:var(--display);font-size:17px;font-weight:600}
.gitem small{display:block;color:var(--muted);font-size:13.5px;font-family:var(--body);letter-spacing:0;text-transform:none;margin-top:2px}
.gitem span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
/* early */
.early{border-top:1px solid var(--line);margin-top:44px;padding-top:26px}
.early p{color:var(--ink-soft);max-width:58ch;margin:10px 0 0}
/* ---------- CASE STUDY ---------- */
/* breadcrumb */
.crumb{padding-top:22px}
.crumb a{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.crumb a:hover{color:var(--ink)}
/* project head */
.phead{padding-block:26px clamp(30px,4vw,48px)}
.phead h1{font-size:var(--h1);max-width:19ch;margin-top:14px}
.phead .sum{font-size:clamp(17px,1.7vw,20px);color:var(--ink-soft);max-width:56ch;margin:22px 0 0}
/* fact bar */
.facts{border-block:1px solid var(--line);background:var(--surface)}
.facts-in{display:grid;grid-template-columns:repeat(5,1fr)}
.facts-in div{padding:20px 8px;border-inline-end:1px solid var(--line)}
.facts-in div:last-child{border-inline-end:0}
.facts-in span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.facts-in b{font-family:var(--display);font-size:16px;font-weight:600;line-height:1.3;display:block}
/* body */
.pbody{padding-block:clamp(44px,6vw,80px)}
.block{max-width:var(--read);margin-bottom:clamp(38px,5vw,60px)}
.block h2{font-size:var(--h2);margin-bottom:16px;max-width:20ch}
.block h2 .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--accent-text);display:block;margin-bottom:12px;font-weight:400}
.block p{margin:0 0 16px;color:var(--ink-soft)}
.block p strong{color:var(--ink);font-weight:600}
.block ul{margin:0 0 16px;padding-inline-start:0;list-style:none}
.block li{padding:11px 0 11px 0;border-top:1px solid var(--line);color:var(--ink-soft)}
.block li b{color:var(--ink);font-weight:600}
.pull{border-inline-start:2px solid var(--accent);padding-inline-start:20px;margin:26px 0;font-family:var(--display);font-size:clamp(18px,2.1vw,24px);line-height:1.35;color:var(--ink);max-width:26ch}
/* before / after */
.ba{margin:0 0 clamp(38px,5vw,60px)}
.ba-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.ba-stage{position:relative;height:clamp(300px,34vw,380px);background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ba-before::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% 34px;opacity:.45}
.ba-before,.ba-after{position:absolute;inset:0;padding:26px 28px;transition:opacity .5s ease}
.ba-after{opacity:0}
.ba-stage.on .ba-before{opacity:0}
.ba-stage.on .ba-after{opacity:1}
.mess{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.mess i{font-style:normal;font-size:12.5px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:6px 10px}
.mess i.ar{font-family:"IBM Plex Sans Arabic",var(--body);direction:rtl}
.tidy .t-row{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);align-items:start}
.tidy .t-row:last-child{border-bottom:0}
.tidy .t-row i{font-family:var(--mono);font-style:normal;font-size:11.5px;color:var(--accent-text)}
.tidy .t-row b{display:block;font-size:14.5px;font-weight:600}
.tidy .t-row small{display:block;color:var(--muted);font-size:12.5px}
.tidy .t-top{font-family:var(--display);font-size:17px;font-weight:600;border-bottom:2px solid var(--ink);padding-bottom:9px;margin-bottom:6px}
.ba-switch{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.sw::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);transition:transform .45s cubic-bezier(.2,.8,.25,1),background .3s}
.lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .3s}
.lbl.on{color:var(--ink)}
/* result */
.result{background:var(--band-bg);color:var(--band-fg);border-radius:14px;padding:clamp(26px,4vw,42px);max-width:var(--read)}
.result h2{color:var(--band-fg);font-size:var(--h2);margin-bottom:18px}
.result h2 .n{color:var(--band-accent)}
.result p{color:var(--band-fg);margin:0 0 14px}
.result .honest{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--band-fg);border-top:1px solid var(--band-fg);padding-top:14px;margin-top:20px;line-height:1.8}
.privacy-note{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--muted);padding:12px 16px;background:var(--surface);border-radius:8px;line-height:1.7;max-width:var(--read);margin:0 0 clamp(38px,5vw,56px)}
/* next */
.next{border-top:1px solid var(--line)}
.next section{padding-block:clamp(40px,5vw,68px)}
.next-row{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.next h3{font-size:var(--h2);max-width:20ch;margin-top:12px}
.contact{background:var(--ink);color:var(--paper)}
.contact section{padding-block:clamp(52px,6vw,88px)}
.contact h2{font-size:clamp(28px,4vw,46px);max-width:17ch;color:var(--paper)}
.contact p{color:var(--band-fg);max-width:50ch;margin-top:16px}
.contact .eyebrow{color:var(--band-fg)}
.contact .btn{background:var(--paper);color:var(--ink)}
.contact .btn:hover{background:var(--accent);color:var(--paper)}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
footer{background:var(--band-bg);color:var(--band-fg);padding-block:10px 30px;font-size:14px;border-top:1px solid var(--band-fg)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-top:40px}
@media (max-width:1000px){
  .desk-nav,.bar>.nav-cta{display:none}
  .burger{display:block}
  .facts-in{grid-template-columns:repeat(2,1fr)}
  .facts-in div{border-bottom:1px solid var(--line)}
  .facts-in div:nth-child(2n){border-inline-end:0}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  body{font-size:16px}
  .mobile-panel a{font-size:24px}
  .acts .btn{flex:1 1 100%;justify-content:center}
  .mess i{font-size:11.5px;padding:5px 8px}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms !important}html{scroll-behavior:auto}}
/* ---------- ACCESSIBILITY ---------- */
.skip{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip:focus{position:fixed;top:0;inset-inline-start:0;z-index:200;width:auto;height:auto;margin:0;clip-path:none;background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:0 0 10px 0;font-size:14px}
/* ============================================================
   CANONICAL CONTACT BLOCK — identical on every page, both languages
   ============================================================ */
.contact{background:var(--surface);border-top:1px solid var(--line);color:var(--ink)}
.contact section{padding-block:clamp(52px,6vw,92px)}
.contact .eyebrow{color:var(--muted)}
.contact h2{font-size:var(--h2);max-width:18ch;color:var(--ink)}
.contact p.lead{color:var(--ink-soft);max-width:52ch;margin:18px 0 0;font-size:clamp(16px,1.6vw,18px)}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;align-items:center}
.contact .btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}
.contact .btn:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}
.contact .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.contact .btn-ghost:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.contact .lines{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px}
.contact .lines a{font-family:var(--mono);font-size:13px;letter-spacing:.04em;border-bottom:1px solid var(--accent);padding-bottom:3px}
@media (max-width:560px){.acts .btn{flex:1 1 100%;justify-content:center}}
/* ---------- SERVICES / PROPOSALS COMPONENTS ---------- */
.offer{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,4vw,56px);padding:clamp(30px,4vw,48px) 0;border-top:1px solid var(--line);align-items:start}
.offer:last-of-type{border-bottom:1px solid var(--line)}
.offer .tagn{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.offer h2{font-size:var(--h2);margin:12px 0 14px;max-width:18ch}
.offer .for{color:var(--ink-soft);max-width:44ch;margin:0}
.offer .cols{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.offer h3{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400;margin:0 0 10px}
.offer ul{list-style:none;margin:0;padding:0}
.offer li{padding:9px 0;border-top:1px solid var(--line);font-size:15px;color:var(--ink-soft)}
.offer .meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.offer .meta div span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.offer .meta div b{font-family:var(--display);font-size:16px;font-weight:600}
.aud{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}
.aud div{background:var(--paper);padding:26px 24px}
.aud h3{font-size:19px;margin-bottom:10px}
.aud p{margin:0;color:var(--ink-soft);font-size:15px}
.deliv{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;margin-top:30px}
.deliv div{border-top:2px solid var(--ink);padding-top:14px}
.deliv b{font-family:var(--display);font-size:17px;font-weight:600;display:block;margin-bottom:6px}
.deliv p{margin:0;font-size:14.5px;color:var(--ink-soft)}
.faq{margin-top:34px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:inherit;background:none;border:0;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:18px;cursor:pointer;font-family:var(--display);font-size:clamp(17px,1.9vw,20px);font-weight:600;color:var(--ink);letter-spacing:-.01em}
.faq-q::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--accent-text);flex:none}
.faq-q[aria-expanded="true"]::after{content:"–"}
.faq-a{padding:0 0 22px;color:var(--ink-soft);max-width:64ch}
.faq-a p{margin:0}
.callout{background:var(--band-bg);color:var(--band-fg);padding:clamp(26px,4vw,44px);margin-top:clamp(34px,5vw,56px)}
.callout h2{color:var(--band-fg);font-size:var(--h2);max-width:20ch}
.callout p{color:var(--band-fg);max-width:56ch;margin:16px 0 0}
.callout .eyebrow{color:var(--band-fg)}
.callout .grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px}
.callout ul{list-style:none;margin:0;padding:0}
.callout li{padding:9px 0;border-top:1px solid var(--band-fg);color:var(--band-fg);font-size:15px}
@media (max-width:900px){
  .offer{grid-template-columns:1fr}
  .offer .cols,.callout .grid2{grid-template-columns:1fr}
}
/* ---------- ACCESSIBILITY ---------- */
/* ---------- ACCESSIBILITY ---------- */
.skip{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* ---------- CANONICAL CONTACT (identical on every page) ---------- */
.contact{background:var(--surface);border-top:1px solid var(--line)}
.contact h2{font-size:clamp(30px,4.4vw,54px);max-width:17ch}
.contact .lines{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px}
/* ---------- FOOTER ---------- */
footer{background:var(--band-bg);color:var(--band-fg);padding-block:44px 30px;font-size:14px}
/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .desk-nav,.bar>.nav-cta{display:none}
  .burger{display:block}
  .hero-grid{grid-template-columns:1fr}
  .proof-in{grid-template-columns:repeat(3,1fr)}
  .proof-in div{border-bottom:1px solid var(--line)}
  .proof-in div:nth-child(3n){border-inline-end:0}
  .work-row{grid-template-columns:1fr;gap:14px}
  .work-num{text-align:start}
  .sector-note{grid-template-columns:1fr}
  .note{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  body{font-size:16px}
  .proof-in{grid-template-columns:repeat(2,1fr)}
  .proof-in div:nth-child(3n){border-inline-end:1px solid var(--line)}
  .proof-in div:nth-child(2n){border-inline-end:0}
  .frag{font-size:11px;padding:5px 9px}
  .mobile-panel a{font-size:24px}
  .hero-actions .btn{flex:1 1 100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
  html{scroll-behavior:auto}
}
/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){.ab-grid{grid-template-columns:1fr}.ab-grid figure{max-width:340px}}
/* ---------- NOTE ---------- */
.note{border:1px solid var(--line);border-radius:14px;padding:clamp(24px,4vw,40px);background:var(--card);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
/* ---------- CONTACT ---------- */
.contact{background:var(--surface);border-top:1px solid var(--line)}
@media (max-width:1000px){
  .desk-nav,.bar>.nav-cta{display:none}
  .burger{display:block}
  .pitem{grid-template-columns:1fr;gap:14px}
  .pcta{align-items:flex-start}
  .pcta .fig{max-width:340px}
  .glist{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .filters{top:70px}
}
@media (max-width:560px){
  body{font-size:16px}
  .mobile-panel a{font-size:24px}
  .acts .btn{flex:1 1 100%;justify-content:center}
}
/* ---------- TIMELINE (About) ---------- */
.timeline{margin-top:26px;border-top:1px solid var(--line)}
.tl-row{display:grid;grid-template-columns:110px 1fr;gap:26px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.tl-row>b{font-family:var(--display);font-size:clamp(18px,2.1vw,24px);font-weight:600;color:var(--accent-text);letter-spacing:-.01em}
.tl-row strong{display:block;font-family:var(--display);font-size:18px;font-weight:600;margin-bottom:5px}
.tl-row p{margin:0;color:var(--ink-soft);font-size:15px;max-width:60ch}
/* ---------- NOTES INDEX ---------- */
.note-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.note-feat{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,52px);align-items:center;border:1px solid var(--line);border-radius:14px;padding:clamp(20px,3vw,32px);background:var(--card);transition:border-color .2s ease}
.note-feat:hover{border-color:var(--ink)}
.note-feat h2{font-size:var(--h2);max-width:22ch;margin:14px 0 12px}
.note-feat p{margin:0 0 18px;color:var(--ink-soft);max-width:52ch}
.note-list{margin-top:clamp(34px,5vw,56px);border-top:1px solid var(--line)}
.note-row{display:grid;grid-template-columns:210px 1fr 160px;gap:28px;padding:26px 22px;margin-inline:-22px;border-bottom:1px solid var(--line);align-items:start;transition:background .25s ease}
.note-row:hover{background:linear-gradient(90deg,var(--accent-soft),transparent 60%)}
.note-row h3{font-size:var(--h3);max-width:24ch}
.note-row p{margin:9px 0 0;color:var(--ink-soft);max-width:56ch}
.note-row .note-meta{flex-direction:column;gap:5px;line-height:1.8}
.note-cta{text-align:end}
.note-cta a{display:inline-flex;align-items:center;gap:7px;border-bottom:1px solid var(--accent);padding-bottom:2px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
[dir="rtl"] .note-row:hover{background:linear-gradient(270deg,var(--accent-soft),transparent 60%)}
[dir="rtl"] .note-meta,[dir="rtl"] .note-cta a,[dir="rtl"] .tl-row strong{letter-spacing:0;text-transform:none;font-family:var(--body)}
@media (max-width:1000px){
  .tl-row{grid-template-columns:80px 1fr;gap:18px}
  .note-feat{grid-template-columns:1fr}
  .note-row{grid-template-columns:1fr;gap:12px}
  .note-cta{text-align:start}
  .note-row .note-meta{flex-direction:row;gap:14px}
}
.foot-blurb{margin-top:14px;max-width:34ch;font-size:13.5px;color:var(--band-faint)}
.lang-sw.ar-sw{font-family:"IBM Plex Sans",sans-serif;font-size:12px;letter-spacing:.04em}
.band-lead{color:var(--band-soft);max-width:52ch;margin:0}
.band-h2{max-width:18ch;margin:14px 0 14px;color:var(--band-fg)}
.doc-ver{color:var(--muted);font-size:11px}

/* ---------- CONTACT FORM ---------- */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,64px);margin-top:34px;align-items:start}
.cform{display:grid;gap:16px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.cform input,.cform select,.cform textarea{
  width:100%;font-family:var(--body);font-size:15px;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;transition:border-color .2s ease;
}
.cform textarea{resize:vertical;min-height:130px;line-height:1.6}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--ink)}
.cform input::placeholder,.cform textarea::placeholder{color:var(--muted);opacity:.75}
.cform .submit{justify-self:start;margin-top:4px}
.cform .privacy{font-family:var(--mono);font-size:11px;color:var(--muted);margin:0;line-height:1.7}
.contact-side{border-top:2px solid var(--ink);padding-top:18px}
.contact-side h3{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400;margin:0 0 12px}
.contact-side ul{list-style:none;margin:0 0 26px;padding:0}
.contact-side li{padding:9px 0;border-top:1px solid var(--line)}
.contact-side li a,.contact-side li span{font-size:15px}
.contact-side .why li{color:var(--ink-soft);font-size:14.5px}
[dir="rtl"] .cform label,[dir="rtl"] .contact-side h3,[dir="rtl"] .cform .privacy{letter-spacing:0;text-transform:none;font-family:var(--body)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.cf-row{grid-template-columns:1fr}}

/* ---------- THEME TOGGLE ---------- */
.theme-btn{width:38px;height:38px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:100px;background:var(--paper);color:var(--ink-soft);cursor:pointer;padding:0}
.theme-btn:hover{border-color:var(--ink);color:var(--ink)}
.theme-btn .sun{display:none}
.theme-btn .moon{display:initial}
:root[data-theme="light"] .theme-btn .sun{display:initial}
:root[data-theme="light"] .theme-btn .moon{display:none}
/* ============================================================
   RTL — the ONLY difference between the Arabic and English builds.
   No separate Arabic layout exists. Same components, mirrored.
   ============================================================ */
[dir="rtl"]{
  --sw-dir:-1;
  --display:"IBM Plex Sans Arabic","Bricolage Grotesque",sans-serif;
  --body:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,sans-serif;
}
[dir="rtl"] body{line-height:1.75}
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3{letter-spacing:0;line-height:1.35}
/* Arabic: never letter-spaced, never uppercased */
[dir="rtl"] .eyebrow,[dir="rtl"] .mono,[dir="rtl"] .chip,[dir="rtl"] .count,[dir="rtl"] .privacy-note,[dir="rtl"] .work-meta,[dir="rtl"] .pmeta,[dir="rtl"] .tags span,[dir="rtl"] .sec-link,[dir="rtl"] .nav-cta,[dir="rtl"] .step i,[dir="rtl"] .svc .tag,[dir="rtl"] .offer h3,[dir="rtl"] .offer .tagn,[dir="rtl"] .note-meta,[dir="rtl"] .note-cta a,[dir="rtl"] .cform label,[dir="rtl"] .contact-side h3,[dir="rtl"] figcaption,[dir="rtl"] .fig.ph .spec,[dir="rtl"] .lbl,[dir="rtl"] .crumb a,[dir="rtl"] .facts-in span,[dir="rtl"] .pbody .role,[dir="rtl"] .gitem span,[dir="rtl"] footer h4,[dir="rtl"] .foot-bottom,[dir="rtl"] .foot-tag,[dir="rtl"] .block h2 .n,[dir="rtl"] .result .honest,[dir="rtl"] .sig-caption,[dir="rtl"] .mobile-panel a small,[dir="rtl"] .theme-btn{font-family:var(--body);text-transform:none}
/* Latin runs inside Arabic text keep the mono voice and their own direction */
.lat{font-family:var(--mono);letter-spacing:.06em;direction:ltr;unicode-bidi:isolate;display:inline-block}
[dir="rtl"] .tags .chip-lat{font-family:var(--mono);direction:ltr;unicode-bidi:isolate}
[dir="rtl"] .frag{direction:rtl}
[dir="rtl"] .frag.ltr,[dir="rtl"] .mess i.ltr{direction:ltr;font-family:var(--mono);font-size:11.5px}
[dir="rtl"] .mess i{direction:rtl}
/* gradients and optical details flow the other way */
[dir="rtl"] .work-row:hover,[dir="rtl"] .pitem:hover,[dir="rtl"] .note-row:hover{
  background:linear-gradient(270deg,var(--accent-soft),transparent 60%);
}
[dir="rtl"] .pull{font-size:clamp(17px,2vw,22px);line-height:1.6}
[dir="rtl"] .hero h1 .hl::after{bottom:.02em;height:.26em}

/* ---- Arabic: letter-spacing is never applied to Arabic script ---- */
[dir="rtl"] *{letter-spacing:0}
[dir="rtl"] .block h2 .n,
[dir="rtl"] .cform label,
[dir="rtl"] .chip,
[dir="rtl"] .contact .lines a,
[dir="rtl"] .contact-side h3,
[dir="rtl"] .count,
[dir="rtl"] .crumb a,
[dir="rtl"] .eyebrow,
[dir="rtl"] .facts-in span,
[dir="rtl"] .faq-q,
[dir="rtl"] .fig.ph .spec,
[dir="rtl"] .fig.ph .what,
[dir="rtl"] .filter-row .lbl,
[dir="rtl"] .foot-bottom,
[dir="rtl"] .foot-tag,
[dir="rtl"] .gitem small,
[dir="rtl"] .gitem span,
[dir="rtl"] .lang-sw.ar-sw,
[dir="rtl"] .lbl,
[dir="rtl"] .logo,
[dir="rtl"] .mobile-foot p,
[dir="rtl"] .mobile-panel a,
[dir="rtl"] .mobile-panel a small,
[dir="rtl"] .mono,
[dir="rtl"] .nav-cta,
[dir="rtl"] .note-cta a,
[dir="rtl"] .note-meta,
[dir="rtl"] .offer .meta div span,
[dir="rtl"] .offer .tagn,
[dir="rtl"] .offer h3,
[dir="rtl"] .pbody .role,
[dir="rtl"] .pcta a,
[dir="rtl"] .pcta em,
[dir="rtl"] .pmeta,
[dir="rtl"] .privacy-note,
[dir="rtl"] .proof b,
[dir="rtl"] .proof span,
[dir="rtl"] .result .honest,
[dir="rtl"] .sec-link,
[dir="rtl"] .sig-caption,
[dir="rtl"] .sig-switch .lbl,
[dir="rtl"] .step i,
[dir="rtl"] .svc .tag,
[dir="rtl"] .tags span,
[dir="rtl"] .tl-row>b,
[dir="rtl"] .work-meta,
[dir="rtl"] .work-num a,
[dir="rtl"] figcaption,
[dir="rtl"] footer h4,
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3{letter-spacing:0}
[dir="rtl"] .lat,[dir="rtl"] .chip-lat{letter-spacing:.04em}

/* ---------- CONTACT FORM STATES + HONEYPOT ---------- */
.form-note{margin:22px 0 0;padding:14px 18px;border-radius:10px;font-size:15px;max-width:62ch}
.form-note.is-ok{background:var(--accent-soft);color:var(--ink)}
.form-note.is-bad{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ---------- WORDPRESS CORE CLASSES ---------- */
.alignwide{width:100%}
.aligncenter{margin-inline:auto;display:block}
.wp-caption-text,.blocks-gallery-caption{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:9px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pbody .block img,.pbody .block figure{max-width:100%;height:auto;border-radius:var(--radius)}
.pagination,.nav-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;font-family:var(--mono);font-size:12px}
.pagination .page-numbers{border:1px solid var(--line);border-radius:100px;padding:8px 14px}
.pagination .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.admin-bar header{top:32px}
@media (max-width:782px){.admin-bar header{top:46px}}
