/* ============================================================
   Recsolcorp Consulting and Talent Growth FZC
   Design system — "The Shortlist"
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --ink:      #0D231E;
  --ink-soft: #164034;
  --ink-line: #24564A;
  --stone:    #EAE7DF;
  --stone-2:  #DFDBD1;
  --sand:     #CFC8B9;
  --saffron:  #E3A42B;
  --saffron-d:#C6871A;
  --sage:     #6E9384;
  --white:    #FFFFFF;

  --on-ink:      #EFEDE6;
  --on-ink-mute: rgba(239,237,230,.62);
  --on-ink-faint:rgba(239,237,230,.34);
  --on-stone:      #0D231E;
  --on-stone-mute: rgba(13,35,30,.66);

  --ff-display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;
  --ff-body: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ff-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --maxw: 1240px;
  --gut: clamp(20px, 5vw, 64px);
  --sec-y: clamp(72px, 9vw, 132px);

  --r-sm: 4px;
  --r-md: 10px;
  --r-lg: 18px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:clamp(15.5px,1.02vw,17px);
  line-height:1.62;
  font-weight:400;
  color:var(--on-stone);
  background:var(--stone);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }
h1,h2,h3,h4{ margin:0; font-family:var(--ff-display); font-weight:600; letter-spacing:-.022em; line-height:1.05; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

::selection{ background:var(--saffron); color:var(--ink); }

:focus-visible{
  outline:2px solid var(--saffron);
  outline-offset:3px;
  border-radius:2px;
}

/* ---------- Layout helpers ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.section{ padding-block:var(--sec-y); position:relative; }
.section--ink{ background:var(--ink); color:var(--on-ink); }
.section--tight{ padding-block:clamp(52px,6vw,84px); }

.grain::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.045'/></svg>");
  mix-blend-mode:overlay;
}

/* ---------- Type utilities ---------- */
.eyebrow{
  font-family:var(--ff-mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--saffron);
  display:flex; align-items:center; gap:12px;
  margin:0 0 22px;
}
.eyebrow::before{
  content:""; width:26px; height:1px; background:var(--saffron); flex:none;
}
.eyebrow--plain::before{ display:none; }

.h-xl{ font-size:clamp(2.35rem,5vw,4.1rem); font-variation-settings:"wdth" 92; }
.h-lg{ font-size:clamp(2rem,4.3vw,3.35rem); font-variation-settings:"wdth" 94; }
.h-md{ font-size:clamp(1.45rem,2.3vw,2rem); }
.h-sm{ font-size:clamp(1.12rem,1.5vw,1.32rem); letter-spacing:-.012em; }

.lead{ font-size:clamp(1.02rem,1.32vw,1.19rem); line-height:1.62; color:var(--on-stone-mute); font-weight:350; }
.section--ink .lead, .hero .lead, .phero .lead{ color:var(--on-ink-mute); }
.measure{ max-width:60ch; }
.measure-sm{ max-width:46ch; }

.mark-word{ position:relative; white-space:nowrap; }
.mark-word::after{
  content:""; position:absolute; left:-.03em; right:-.03em; bottom:.055em; height:.17em;
  background:var(--saffron); opacity:.92; z-index:-1; border-radius:2px;
  transform:scaleX(0); transform-origin:left; transition:transform .9s var(--ease) .35s;
}
.is-ready .mark-word::after{ transform:scaleX(1); }

.mono{ font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:999px;
  font-size:14.5px; font-weight:500; letter-spacing:.005em;
  border:1px solid transparent; cursor:pointer;
  transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.btn:hover{ transform:translateY(-2px); }
.btn svg{ transition:transform .3s var(--ease); }
.btn:hover svg{ transform:translateX(4px); }

.btn--solid{ background:var(--saffron); color:var(--ink); }
.btn--solid:hover{ background:var(--white); }

.btn--ghost{ border-color:rgba(239,237,230,.28); color:var(--on-ink); }
.btn--ghost:hover{ border-color:var(--on-ink); background:rgba(239,237,230,.06); }

.btn--dark{ background:var(--ink); color:var(--on-ink); }
.btn--dark:hover{ background:var(--ink-soft); }

.btn--outline-dark{ border-color:rgba(13,35,30,.24); color:var(--ink); }
.btn--outline-dark:hover{ border-color:var(--ink); background:rgba(13,35,30,.04); }

/* ---------- Header ---------- */
.hdr{
  position:fixed; inset:0 0 auto; z-index:80;
  padding-block:18px;
  transition:background .35s var(--ease), padding .35s var(--ease), border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
.hdr__in{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hdr.is-stuck{
  background:rgba(13,35,30,.94);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  padding-block:11px;
  border-bottom-color:rgba(239,237,230,.1);
}

.logo{ display:flex; align-items:center; gap:11px; color:var(--on-ink); }
.logo__mark{ width:30px; height:30px; flex:none; }
.logo__txt{
  font-family:var(--ff-display); font-weight:700; font-size:16.5px;
  letter-spacing:.005em; font-variation-settings:"wdth" 88;
  line-height:1;
}
.logo__txt span{ color:var(--saffron); }
.logo__sub{
  display:block; font-family:var(--ff-mono); font-size:8.5px; letter-spacing:.19em;
  text-transform:uppercase; color:var(--on-ink-faint); margin-top:4px; font-weight:400;
}

.nav{ display:flex; align-items:center; gap:6px; }
.nav a{
  font-size:14px; font-weight:400; color:var(--on-ink-mute);
  padding:9px 14px; border-radius:999px;
  transition:color .2s var(--ease), background .2s var(--ease);
}
.nav a:hover{ color:var(--on-ink); background:rgba(239,237,230,.07); }
.nav a[aria-current="page"]{ color:var(--on-ink); }
.nav a[aria-current="page"]::after{
  content:""; display:block; height:1.5px; background:var(--saffron); margin-top:4px;
}

.nav > .btn{ display:none; }
.hdr__cta{ display:inline-flex; }
.hdr__cta .btn{ padding:11px 20px; font-size:13.5px; }

.burger{
  display:none; width:44px; height:38px; border:1px solid rgba(239,237,230,.24);
  background:transparent; border-radius:999px; cursor:pointer;
  align-items:center; justify-content:center; gap:4px; flex-direction:column;
}
.burger span{ display:block; width:16px; height:1.5px; background:var(--on-ink); transition:transform .3s var(--ease), opacity .2s; }
.burger.is-open span:nth-child(1){ transform:translateY(3px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-3px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{
  background:var(--ink); color:var(--on-ink);
  padding-block:clamp(116px,13vw,152px) clamp(56px,7vw,88px);
  position:relative; overflow:hidden;
}
.hero::before{
  content:""; position:absolute; width:min(60vw,760px); aspect-ratio:1;
  right:-14vw; top:-16vw; border-radius:50%;
  background:radial-gradient(circle, rgba(227,164,43,.14), transparent 66%);
  pointer-events:none;
}
.hero__grid{
  display:grid; grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr); gap:clamp(38px,4.2vw,60px);
  align-items:center; position:relative; z-index:2;
}
.hero h1{ margin-bottom:26px; }
.phero h1{ text-wrap:balance; }
.hero h1 em{ font-style:normal; position:relative; z-index:1; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }

.hero__facts{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px 18px; margin-top:44px;
  padding-top:26px; border-top:1px solid rgba(239,237,230,.13);
}
.fact__n{ font-family:var(--ff-display); font-size:clamp(1.4rem,1.8vw,1.72rem); font-weight:600; line-height:1; color:var(--saffron); font-variation-settings:"wdth" 88; }
.fact__l{ font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-ink-faint); margin-top:8px; }

/* ---------- Signature: shortlist ledger ---------- */
.ledger{
  background:rgba(239,237,230,.04);
  border:1px solid rgba(239,237,230,.13);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.7);
}
.ledger__top{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:15px 20px; border-bottom:1px solid rgba(239,237,230,.11);
  background:rgba(239,237,230,.03);
}
.ledger__title{ font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.15em; text-transform:uppercase; color:var(--on-ink-mute); }
.ledger__live{ display:flex; align-items:center; gap:7px; font-family:var(--ff-mono); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--sage); }
.dot{ width:6px; height:6px; border-radius:50%; background:var(--saffron); animation:pulse 2.4s infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.35; transform:scale(.75); } }

.ledger__rows{ display:flex; flex-direction:column; }
.row{
  display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:12px; align-items:center;
  padding:15px 20px; border-bottom:1px solid rgba(239,237,230,.08);
  opacity:0; transform:translateY(10px);
  animation:rowIn .6s var(--ease) forwards;
}
.row:last-child{ border-bottom:0; }
@keyframes rowIn{ to{ opacity:1; transform:none; } }
.row__id{ font-family:var(--ff-mono); font-size:10.5px; color:var(--on-ink-faint); letter-spacing:.06em; }
.row__role{ display:block; font-size:14.5px; font-weight:500; color:var(--on-ink); line-height:1.3; }
.row__meta{ display:block; font-family:var(--ff-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--on-ink-faint); margin-top:5px; }
.chip{
  font-family:var(--ff-mono); font-size:9px; letter-spacing:.11em; text-transform:uppercase;
  padding:5px 9px; border-radius:999px; white-space:nowrap;
  border:1px solid; transition:all .45s var(--ease);
}
.chip[data-s="mapping"]{ color:var(--on-ink-mute); border-color:rgba(239,237,230,.2); background:rgba(239,237,230,.04); }
.chip[data-s="shortlisted"]{ color:var(--saffron); border-color:rgba(227,164,43,.4); background:rgba(227,164,43,.1); }
.chip[data-s="interviewing"]{ color:#9CC8B7; border-color:rgba(156,200,183,.35); background:rgba(156,200,183,.08); }
.chip[data-s="offer"]{ color:var(--ink); border-color:var(--saffron); background:var(--saffron); }
.chip[data-s="placed"]{ color:var(--ink); border-color:#A9D6C2; background:#A9D6C2; }

.ledger__foot{
  padding:14px 20px; border-top:1px solid rgba(239,237,230,.11);
  font-family:var(--ff-mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase;
  color:var(--on-ink-faint); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
}

/* ---------- Sector ticker ---------- */
.ticker{
  background:var(--saffron); color:var(--ink);
  padding-block:14px; overflow:hidden; position:relative;
  border-block:1px solid rgba(13,35,30,.14);
}
.ticker__track{ display:flex; width:max-content; animation:slide 46s linear infinite; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
@keyframes slide{ to{ transform:translateX(-50%); } }
.ticker__item{
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  font-weight:500; padding-inline:22px; display:flex; align-items:center; gap:22px; white-space:nowrap;
}
.ticker__item::after{ content:"◆"; font-size:6px; opacity:.5; }

/* ---------- Section head ---------- */
.shead{
  display:grid; grid-template-columns:1fr auto; gap:24px 48px;
  align-items:end; margin-bottom:clamp(34px,4vw,58px);
}
.shead__aside{ max-width:34ch; }

/* ---------- Register (services as ruled rows) ---------- */
.register{ border-top:1px solid rgba(13,35,30,.16); }
.section--ink .register{ border-top-color:rgba(239,237,230,.14); }

.reg{
  display:grid; grid-template-columns:66px 1fr 1.15fr auto; gap:20px 30px;
  align-items:start; padding-block:clamp(26px,2.7vw,34px);
  border-bottom:1px solid rgba(13,35,30,.16);
  position:relative; transition:padding-inline-start .4s var(--ease);
}
.reg::before{
  content:""; position:absolute; inset-inline-start:0; bottom:-1px; height:2px; width:0;
  background:var(--saffron); transition:width .55s var(--ease);
}
.reg:hover::before, .reg:focus-within::before{ width:100%; }
.reg:hover{ padding-inline-start:14px; }
.reg__i{ font-family:var(--ff-mono); font-size:11px; letter-spacing:.09em; color:var(--sage); padding-top:6px; }
.reg__t{ font-family:var(--ff-display); font-size:clamp(1.24rem,1.85vw,1.62rem); font-weight:600; letter-spacing:-.018em; line-height:1.16; }
.reg__d{ color:var(--on-stone-mute); font-size:15px; line-height:1.6; }
.section--ink .reg__d{ color:var(--on-ink-mute); }
.reg__tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.tag{
  font-family:var(--ff-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; border:1px solid rgba(13,35,30,.18); color:var(--on-stone-mute);
}
.section--ink .tag{ border-color:rgba(239,237,230,.2); color:var(--on-ink-mute); }
.reg__go{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(13,35,30,.2);
  display:grid; place-items:center; flex:none; margin-top:4px;
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.reg:hover .reg__go{ background:var(--saffron); border-color:var(--saffron); transform:rotate(-45deg); }

/* ---------- Process ---------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(239,237,230,.13); border:1px solid rgba(239,237,230,.13); border-radius:var(--r-lg); overflow:hidden; }
.step{ background:var(--ink); padding:clamp(24px,2.6vw,34px); transition:background .35s var(--ease); }
.step:hover{ background:var(--ink-soft); }
.step__n{
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.14em; color:var(--saffron);
  display:flex; align-items:center; gap:9px; margin-bottom:20px;
}
.step__n::after{ content:""; flex:1; height:1px; background:rgba(239,237,230,.14); }
.step h3{ font-size:1.2rem; margin-bottom:11px; }
.step p{ font-size:14.5px; color:var(--on-ink-mute); line-height:1.58; }
.step__d{ font-family:var(--ff-mono); font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--on-ink-faint); margin-top:16px; }

/* ---------- Pillars ---------- */
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.4vw,30px); }
.pillar{
  background:var(--white); border:1px solid rgba(13,35,30,.1); border-radius:var(--r-lg);
  padding:clamp(24px,2.6vw,34px);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.pillar:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -26px rgba(13,35,30,.34); }
.pillar__ic{ width:42px; height:42px; border-radius:11px; background:var(--ink); display:grid; place-items:center; margin-bottom:20px; }
.pillar__ic svg{ width:20px; height:20px; stroke:var(--saffron); }
.pillar h3{ font-size:1.14rem; margin-bottom:10px; }
.pillar p{ font-size:14.5px; color:var(--on-stone-mute); line-height:1.58; }

/* ---------- Split (about) ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,70px); align-items:center; }
.card-ink{
  background:var(--ink); color:var(--on-ink); border-radius:var(--r-lg);
  padding:clamp(28px,3.2vw,44px); position:relative; overflow:hidden;
}
.deflist{ display:grid; gap:0; margin-top:8px; }
.deflist > div{ padding-block:16px; border-bottom:1px solid rgba(239,237,230,.12); display:grid; grid-template-columns:118px 1fr; gap:16px; align-items:baseline; }
.deflist > div:last-child{ border-bottom:0; }
.deflist dt{ font-family:var(--ff-mono); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-ink-faint); }
.deflist dd{ margin:0; font-size:14.5px; color:var(--on-ink); line-height:1.5; }
.deflist a:hover{ color:var(--saffron); }

.checks li{
  display:flex; gap:13px; align-items:flex-start; padding-block:13px;
  border-bottom:1px solid rgba(13,35,30,.12); font-size:15px;
}
.checks li:last-child{ border-bottom:0; }
.checks svg{ width:17px; height:17px; flex:none; margin-top:4px; stroke:var(--saffron); }

/* ---------- Sector grid ---------- */
.sectors{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(13,35,30,.14); border:1px solid rgba(13,35,30,.14); border-radius:var(--r-md); overflow:hidden; }
.sector{ background:var(--stone); padding:20px 22px; display:flex; align-items:center; gap:12px; transition:background .3s var(--ease), color .3s var(--ease); }
.sector:hover{ background:var(--ink); color:var(--on-ink); }
.sector b{ font-family:var(--ff-mono); font-size:10px; letter-spacing:.1em; color:var(--sage); font-weight:400; }
.sector span{ font-size:14.5px; font-weight:450; }

/* ---------- CTA band ---------- */
.cta{ background:var(--saffron); color:var(--ink); }
.cta__in{ display:grid; grid-template-columns:1fr auto; gap:30px 48px; align-items:center; }
.cta h2{ font-size:clamp(1.75rem,3.5vw,2.8rem); font-variation-settings:"wdth" 92; }
.cta p{ margin-top:14px; max-width:46ch; color:rgba(13,35,30,.76); font-size:16px; }
.cta .btn--dark:hover{ background:var(--ink-soft); }

/* ---------- Forms ---------- */
.form{ display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field--full{ grid-column:1/-1; }
.field label{ font-family:var(--ff-mono); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-stone-mute); }
.field label .req{ color:var(--saffron); }
.field input, .field select, .field textarea{
  font-family:var(--ff-body); font-size:15.5px; color:var(--ink);
  background:transparent; border:0; border-bottom:1px solid rgba(13,35,30,.25);
  padding:11px 2px; border-radius:0; width:100%;
  transition:border-color .3s var(--ease);
}
.field textarea{ resize:vertical; min-height:118px; line-height:1.6; }
.field select{ appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230D231E' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat; background-position:right 2px center; padding-right:24px;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-bottom-color:var(--saffron); border-bottom-width:2px; padding-bottom:10px; }
.field input::placeholder, .field textarea::placeholder{ color:rgba(13,35,30,.34); }
.field.has-error input, .field.has-error select, .field.has-error textarea{ border-bottom-color:#B8442E; }
.err{ font-size:12.5px; color:#B8442E; display:none; }
.field.has-error .err{ display:block; }

/* Visually hidden without creating overflow — off-screen positioning breaks RTL. */
.hp{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%);
  white-space:nowrap; border:0;
}

.form__foot{ grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:18px; justify-content:space-between; margin-top:6px; }
.form__note{ font-size:12.5px; color:var(--on-stone-mute); max-width:40ch; }

.alert{ grid-column:1/-1; padding:15px 18px; border-radius:var(--r-md); font-size:14.5px; display:none; }
.alert.is-on{ display:block; }
.alert--ok{ background:rgba(110,147,132,.16); border:1px solid var(--sage); color:#1D4A3B; }
.alert--bad{ background:rgba(184,68,46,.1); border:1px solid rgba(184,68,46,.4); color:#8E3423; }

/* ---------- Contact info ---------- */
.cinfo{ display:grid; gap:0; }
.cinfo > div{ padding-block:20px; border-bottom:1px solid rgba(13,35,30,.13); }
.cinfo > div:first-child{ padding-top:0; }
.cinfo > div:last-child{ border-bottom:0; }
.cinfo h3{ font-family:var(--ff-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--sage); font-weight:400; margin-bottom:9px; }
.cinfo p, .cinfo a{ font-size:15.5px; line-height:1.55; }
.cinfo a{ border-bottom:1px solid rgba(13,35,30,.22); transition:border-color .25s, color .25s; }
.cinfo a:hover{ color:var(--saffron-d); border-bottom-color:var(--saffron); }

.map{ border-radius:var(--r-lg); overflow:hidden; border:1px solid rgba(13,35,30,.14); line-height:0; }
.map iframe{ width:100%; height:340px; border:0; filter:grayscale(.35) contrast(1.02); }

/* ---------- Page hero (inner pages) ---------- */
.phero{
  background:var(--ink); color:var(--on-ink);
  padding-block:clamp(122px,14vw,168px) clamp(50px,6vw,80px);
  position:relative; overflow:hidden;
}
.phero::before{
  content:""; position:absolute; width:min(52vw,620px); aspect-ratio:1; right:-10vw; top:-14vw;
  border-radius:50%; background:radial-gradient(circle, rgba(227,164,43,.13), transparent 66%);
}
.phero__in{ position:relative; z-index:2; }
.crumb{ font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--on-ink-faint); margin-bottom:20px; }
.crumb a:hover{ color:var(--saffron); }

/* ---------- Footer ---------- */
.ftr{ background:var(--ink); color:var(--on-ink); padding-block:clamp(52px,6vw,78px) 30px; }
.ftr__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:38px; padding-bottom:44px; border-bottom:1px solid rgba(239,237,230,.12); }
.ftr h4{ font-family:var(--ff-mono); font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--on-ink-faint); font-weight:400; margin-bottom:18px; }
.ftr li{ margin-bottom:11px; }
.ftr li a, .ftr address{ font-size:14.5px; color:var(--on-ink-mute); font-style:normal; line-height:1.6; transition:color .25s; }
.ftr li a:hover{ color:var(--saffron); }
.ftr__brand p{ font-size:14.5px; color:var(--on-ink-mute); margin-top:18px; max-width:34ch; }
.ftr__bot{ display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; padding-top:24px; font-family:var(--ff-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--on-ink-faint); }

/* ---------- Reveal ---------- */
.rv{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.rv.is-in{ opacity:1; transform:none; }
.rv[data-d="1"]{ transition-delay:.09s; }
.rv[data-d="2"]{ transition-delay:.18s; }
.rv[data-d="3"]{ transition-delay:.27s; }
.rv[data-d="4"]{ transition-delay:.36s; }

/* ---------- Responsive ---------- */
@media (max-width:1040px){
  .hero__grid{ grid-template-columns:1fr; gap:44px; }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .sectors{ grid-template-columns:repeat(3,1fr); }
  .ftr__grid{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:900px){
  .nav, .hdr__cta{ display:none; }
  .burger{ display:flex; }
  .nav.is-open{
    display:flex; flex-direction:column; align-items:stretch; gap:2px;
    position:absolute; top:calc(100% + 10px); left:var(--gut); right:var(--gut);
    background:var(--ink); border:1px solid rgba(239,237,230,.14);
    border-radius:var(--r-lg); padding:12px; box-shadow:0 24px 50px -22px rgba(0,0,0,.7);
  }
  .nav.is-open a{ padding:13px 16px; font-size:15px; }
  .nav.is-open a[aria-current="page"]::after{ display:none; }
  .nav.is-open > .btn{ display:inline-flex; margin-top:8px; justify-content:center; }
  .split, .pillars, .form, .cta__in{ grid-template-columns:1fr; }
  .sectors{ grid-template-columns:repeat(2,1fr); }
  .shead{ grid-template-columns:1fr; align-items:start; }
  .reg{ grid-template-columns:44px 1fr; gap:6px 18px; }
  .reg__d{ grid-column:2; }
  .reg__go{ display:none; }
  .reg:hover{ padding-inline-start:0; }
}
@media (max-width:560px){
  .steps{ grid-template-columns:1fr; }
  .sectors{ grid-template-columns:1fr; }
  .ftr__grid{ grid-template-columns:1fr; }
  .row{ grid-template-columns:1fr auto; gap:10px; }
  .row__id{ display:none; }
  .hero__facts{ grid-template-columns:repeat(2,1fr); gap:22px 18px; }
  .fact__n{ font-size:1.55rem; }
  .btn{ padding:13px 22px; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .rv{ opacity:1; transform:none; }
  .row{ opacity:1; transform:none; }
  .mark-word::after{ transform:scaleX(1); }
}

/* ============================================================
   ARABIC / RTL
   ============================================================ */

[dir="rtl"]{
  --ff-display:"IBM Plex Sans Arabic","Noto Naskh Arabic",sans-serif;
  --ff-body:"IBM Plex Sans Arabic","Noto Naskh Arabic",sans-serif;
  --ff-mono:"IBM Plex Sans Arabic","Noto Naskh Arabic",sans-serif;
}

/* Arabic script does not take letter-spacing — it breaks the joins. */
[dir="rtl"] *{ letter-spacing:normal; }

/* Arabic needs more leading and no negative tracking */
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4{ line-height:1.32; font-weight:600; }
[dir="rtl"] .h-xl{ font-size:clamp(2.05rem,4.2vw,3.4rem); font-variation-settings:normal; }
[dir="rtl"] .h-lg{ font-size:clamp(1.75rem,3.5vw,2.7rem); font-variation-settings:normal; }
[dir="rtl"] .h-md{ font-size:clamp(1.35rem,2.1vw,1.8rem); }
[dir="rtl"] body{ line-height:1.85; }
[dir="rtl"] .lead{ line-height:1.9; }

/* small utility labels are unreadable at Latin caption sizes in Arabic */
[dir="rtl"] .eyebrow{ font-size:13px; }
[dir="rtl"] .mono,[dir="rtl"] .row__meta,[dir="rtl"] .fact__l,[dir="rtl"] .step__d,
[dir="rtl"] .ledger__title,[dir="rtl"] .ledger__live,[dir="rtl"] .ledger__foot,
[dir="rtl"] .crumb,[dir="rtl"] .ftr h4,[dir="rtl"] .cinfo h3,[dir="rtl"] .field label,
[dir="rtl"] .deflist dt,[dir="rtl"] .ftr__bot,[dir="rtl"] .sector b{ font-size:12px; }
[dir="rtl"] .tag,[dir="rtl"] .chip{ font-size:11px; padding:5px 11px; }
[dir="rtl"] .step__n{ font-size:12.5px; }
[dir="rtl"] .reg__i{ font-size:12.5px; }
[dir="rtl"] .row__id{ font-size:12px; }
[dir="rtl"] .ticker__item{ font-size:13px; }
[dir="rtl"] .logo__sub{ font-size:10px; }

/* the wordmark stays Latin */
[dir="rtl"] .logo__txt{ font-family:"Bricolage Grotesque",sans-serif; direction:ltr; }
[dir="rtl"] .logo{ direction:rtl; }

/* mirror the arrows */
[dir="rtl"] .btn svg,[dir="rtl"] .reg__go svg{ transform:scaleX(-1); }
[dir="rtl"] .btn:hover svg{ transform:scaleX(-1) translateX(4px); }
[dir="rtl"] .reg:hover .reg__go{ transform:rotate(45deg); }

/* mirror decorative and directional bits */
[dir="rtl"] .hero::before,[dir="rtl"] .phero::before{ right:auto; left:-14vw; }
[dir="rtl"] .field select{ background-position:left 2px center; padding-right:2px; padding-left:24px; }
[dir="rtl"] .ticker__track{ animation-name:slideRtl; }
@keyframes slideRtl{ to{ transform:translateX(50%); } }

/* language switch */
.lang{
  display:inline-flex; align-items:center; gap:2px; margin-inline-start:4px;
  border:1px solid rgba(239,237,230,.34); border-radius:999px; padding:3px; flex:none;
}
.lang a{
  font-size:12.5px; font-weight:500; line-height:1; padding:7px 12px; border-radius:999px;
  color:rgba(239,237,230,.82);
  transition:background .25s var(--ease), color .25s var(--ease);
}
.lang a:hover{ color:var(--on-ink); background:rgba(239,237,230,.1); }
.lang a[aria-current="true"]{ background:var(--saffron); color:var(--ink); font-weight:600; }
.lang .ar{ font-family:"IBM Plex Sans Arabic","Noto Naskh Arabic",sans-serif; font-size:13.5px; padding:6px 12px; }
.hdr__end{ display:flex; align-items:center; gap:12px; }

@media (max-width:900px){
  .hdr__end .btn{ display:none; }
  .lang{ margin-inline-end:2px; }
}
