/* ================================================================
   almithaq.co — HOME PAGE (rebuilt 2 Sept 2026)
   Near-black, ivory, brand gold. Marcellus display / Jost UI;
   Amiri + Tajawal under [dir=rtl]. Logical properties everywhere.
   ================================================================ */
:root{
  --bg:#0B0B0D;--bg2:#121215;--bg3:#18181C;
  --ink:#F3EFE6;--white:#FFFFFF;
  --muted:rgba(243,239,230,.66);--faint:rgba(243,239,230,.42);
  --line:rgba(243,239,230,.13);--line2:rgba(243,239,230,.3);
  --gold:#C9A24B;--gold2:#E3C97C;--gold-ink:#141008;--gold-line:rgba(201,162,75,.5);
  --display:'Marcellus','Cormorant Garamond',Georgia,serif;
  --sans:'Jost',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(20px,5vw,88px);--maxw:1560px;--navh:84px;
  --ease:cubic-bezier(.16,1,.3,1);--ease2:cubic-bezier(.76,0,.24,1);
  --dir:1;
}
[dir=rtl]{--dir:-1;--display:'Amiri','Noto Naskh Arabic','Times New Roman',serif;--sans:'Tajawal','IBM Plex Sans Arabic','Segoe UI',Tahoma,sans-serif}
@media(max-width:700px){:root{--navh:72px}}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg);color-scheme:dark;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
body{background:var(--bg);color:var(--ink);font:400 1.02rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;min-height:100svh}
[dir=rtl] body{font-size:1.06rem;line-height:1.9}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
address{font-style:normal}
::selection{background:var(--gold);color:var(--gold-ink)}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
html.drawer-open{overflow:hidden}
bdi{unicode-bidi:isolate;direction:ltr;display:inline-block}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto}
.ico{width:1.1em;height:1.1em;flex:none}
[dir=rtl] .ico-dir{transform:scaleX(-1)}
[lang=ar],[lang=ar] *{letter-spacing:0!important;text-transform:none!important}

/* ---------- type ---------- */
.eyebrow{font:500 .72rem/1.5 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
[dir=rtl] .eyebrow{letter-spacing:0;font-size:.92rem;font-weight:700}
.kicker{font:500 .74rem/1.6 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold2)}
[dir=rtl] .kicker{letter-spacing:0;font-size:.95rem;font-weight:700}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:1.05;color:var(--white);letter-spacing:-.005em}
[dir=rtl] .h2{font-weight:700;line-height:1.4;font-size:clamp(2rem,4vw,3.8rem);letter-spacing:0}
.lead{font-size:clamp(1.05rem,1.35vw,1.3rem);color:var(--muted);max-width:52ch;line-height:1.6}
[dir=rtl] .lead{line-height:1.9}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:52px;padding:0 1.9em;border-radius:999px;font:500 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--line2);color:var(--ink);background:transparent;white-space:nowrap;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s,transform .5s var(--ease)}
[dir=rtl] .btn{letter-spacing:0;font-size:.98rem;font-weight:700}
.btn:hover{transform:translateY(-1px)}
.btn--gold,.btn--solid{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.btn--gold:hover,.btn--solid:hover{background:var(--gold2);border-color:var(--gold2);color:var(--gold-ink)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn .ico-dir{transition:transform .5s var(--ease)}
.btn:hover .ico-dir{transform:translateX(calc(var(--dir) * 4px))}
[dir=rtl] .btn:hover .ico-dir{transform:scaleX(-1) translateX(4px)}
.textlink{display:inline-flex;align-items:center;gap:10px;color:var(--gold2);font:500 .76rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:color .4s}
.textlink:hover{color:var(--white)}
[dir=rtl] .textlink{letter-spacing:0;font-size:.95rem;font-weight:700}

/* ---------- header ---------- */
.hd{position:fixed;inset-inline:0;top:0;z-index:50;height:var(--navh);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--gutter);border-bottom:1px solid transparent;transition:background .6s,border-color .6s,backdrop-filter .6s}
.hd.is-solid{background:rgba(11,11,13,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--line)}
.hd__brand{display:flex;align-items:center;gap:14px;color:var(--white)}
.hd__brand .logo{height:26px;width:auto;color:var(--gold)}
.hd__word{font:500 .95rem/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;padding-inline-start:.1em;white-space:nowrap}
[dir=rtl] .hd__word{letter-spacing:0;font:700 1.4rem/1 var(--sans);padding:0}
.hd__links{display:flex;gap:30px}
.hd__links a{font:500 .76rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .4s}
.hd__links a:hover{color:var(--white)}
[dir=rtl] .hd__links a{letter-spacing:0;font-size:1rem}
.hd__end{display:flex;align-items:center;gap:20px}
.hd__phone{display:flex;align-items:center;gap:11px;color:var(--white)}
.hd__wa{display:none}
.hd__phone .ico{width:20px;height:20px;color:var(--gold)}
/* premium raised buttons: dark glass disc, gold rim, glossy top light; presses down and glows gold when tapped */
.btn3d{position:relative;place-items:center;border-radius:50%;color:var(--gold);isolation:isolate;
  background:radial-gradient(circle at 34% 28%,#3b3b42 0%,#1a1a1f 48%,#0a0a0c 100%);
  box-shadow:0 0 0 1.5px rgba(201,162,75,.9),0 0 0 3px rgba(11,11,13,1),0 0 0 3.5px rgba(201,162,75,.28),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 4px rgba(0,0,0,.6),0 6px 14px rgba(0,0,0,.65),0 0 16px rgba(201,162,75,.16);
  transition:transform .18s ease,box-shadow .28s ease;-webkit-tap-highlight-color:transparent;transform:translateZ(0)}
.btn3d::before{content:"";position:absolute;inset:3px 7px auto 7px;height:42%;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.04) 80%,rgba(255,255,255,0));pointer-events:none;z-index:-1}
.btn3d .ico{color:#EAD48F;filter:drop-shadow(0 1px 0 rgba(0,0,0,.8)) drop-shadow(0 0 7px rgba(227,201,124,.55))}
.btn3d:hover{box-shadow:0 0 0 1.5px var(--gold2),0 0 0 3px rgba(11,11,13,1),0 0 0 3.5px rgba(201,162,75,.4),inset 0 1px 0 rgba(255,255,255,.26),inset 0 -2px 4px rgba(0,0,0,.6),0 8px 18px rgba(0,0,0,.65),0 0 22px rgba(227,201,124,.32)}
.btn3d:active,.btn3d.is-tap{transform:translateY(2px) scale(.94);box-shadow:0 0 0 1.5px var(--gold2),0 0 0 3px rgba(11,11,13,1),0 0 0 3.5px rgba(201,162,75,.4),inset 0 2px 5px rgba(0,0,0,.7),0 2px 5px rgba(0,0,0,.6),0 0 10px rgba(227,201,124,.35)}
.btn3d.is-up{animation:btn3dUp .55s cubic-bezier(.2,.9,.3,1.2)}
@keyframes btn3dUp{0%{transform:translateY(2px) scale(.94);box-shadow:0 0 0 1.5px var(--gold2),0 0 0 3px rgba(11,11,13,1),0 0 0 3.5px rgba(201,162,75,.4),inset 0 2px 5px rgba(0,0,0,.7),0 2px 5px rgba(0,0,0,.6),0 0 10px rgba(227,201,124,.35)}
  45%{transform:translateY(-1px) scale(1.03);box-shadow:0 0 0 1.5px var(--gold2),0 0 0 3px rgba(11,11,13,1),0 0 0 3.5px rgba(201,162,75,.5),inset 0 1px 0 rgba(255,255,255,.26),inset 0 -2px 4px rgba(0,0,0,.6),0 10px 20px rgba(0,0,0,.65),0 0 30px rgba(227,201,124,.75)}
  100%{transform:none}}
.hd__phone .disc{display:grid;width:40px;height:40px;flex:0 0 40px}
.hd__phone .disc .ico{width:20px;height:20px}
.hd__phone small{display:block;font:500 .6rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
[dir=rtl] .hd__phone small{letter-spacing:0;font-size:.78rem}
.hd__phone bdi{font:500 1.05rem/1 var(--sans);letter-spacing:.05em}
.hd__lang{font:500 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:11px 15px;border:1px solid var(--line2);border-radius:999px;transition:border-color .4s,background .4s,color .4s}
.hd__lang:hover{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.hd__lang[lang=ar]{font-family:'Tajawal','Segoe UI',sans-serif;letter-spacing:0;font-size:.98rem;font-weight:700;padding-block:9px}
.hd__cta{min-height:44px;padding-inline:1.5em}
@media(max-width:1180px){.hd__links{display:none}}
@media(max-width:700px){
  .hd{gap:12px}
  .hd__cta{display:none}
  .hd__phone > span:not(.disc){display:none}
  .hd__phone{width:auto;height:auto;border:0}
  .hd{gap:10px}
  .hd__brand{margin-inline-end:auto}
  .hd__phone .disc,.hd__wa{width:44px;height:44px;flex:0 0 44px}
  .hd__wa{display:grid}
  .hd__phone .disc .ico,.hd__wa .ico{width:23px;height:23px}
  .hd__lang{height:44px;display:inline-flex;align-items:center;padding:0 16px;margin-inline-start:2px}
  .hd__lang[lang=ar]{padding-block:0}
  .hd__end{gap:10px}
  .hd__end{gap:10px}
  .hd__brand .logo{height:22px}
  .hd__word{font-size:.82rem;letter-spacing:.28em}
  [dir=rtl] .hd__word{font-size:1.2rem}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(86svh,830px);display:grid;grid-template-rows:1fr auto;padding-top:var(--navh);padding-bottom:0;overflow:hidden;isolation:isolate}
.hero:not(:has(.hero__countries)){grid-template-rows:1fr;padding-bottom:clamp(14px,2vh,26px)}
.hero__bg{position:absolute;inset:0;z-index:-2;will-change:transform}
/* the first screen dissolves into the next section instead of ending on a hard line */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(11,11,13,0) 0%,rgba(11,11,13,.55) 55%,var(--bg) 100%)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 2.6s ease}
.hero__slide.is-on{opacity:1}
.hero__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:kb 16s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.08) translate3d(0,0,0)}to{transform:scale(1.18) translate3d(-1.5%,-2%,0)}}
.hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,13,.8) 0%,rgba(11,11,13,.62) 40%,rgba(11,11,13,.9) 82%,var(--bg) 100%),radial-gradient(60% 50% at 68% 42%,rgba(201,162,75,.10),transparent 72%)}
.hero--plain .hero__veil{background:radial-gradient(60% 55% at 70% 42%,rgba(201,162,75,.16),transparent 70%),radial-gradient(40% 40% at 15% 80%,rgba(201,162,75,.07),transparent 70%),linear-gradient(180deg,#101013,#0B0B0D)}
.hero__grain{position:absolute;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(rgba(243,239,230,.09) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent);mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,72px);align-items:center;align-self:center;padding:clamp(20px,3.5vh,52px) 0 14px}
.hero__in{max-width:640px}
.hero__h1{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,5.1vw,5.3rem);line-height:1;color:var(--white);margin:20px 0 24px;letter-spacing:-.01em}
.hero__h1 .mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.mask__in{display:block}
[dir=rtl] .hero__h1{font-weight:700;line-height:1.3;font-size:clamp(2.4rem,4.6vw,4.8rem);letter-spacing:0}
[dir=rtl] .hero__h1 .mask{padding-bottom:.16em;margin-bottom:-.16em}
.hero__sub{font-size:clamp(1.05rem,1.45vw,1.36rem);line-height:1.6;color:var(--muted);max-width:60ch}
.hero__sub--short{display:none}
[dir=rtl] .hero__sub{line-height:1.9}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero__countries{padding:26px 0 44px}
.hero__label{font:500 .68rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}
[dir=rtl] .hero__label{letter-spacing:0;font-size:.9rem;font-weight:700}
.flags{display:flex;flex-wrap:wrap;gap:10px 34px}
.flags a,.flag__static{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font:500 .9rem/1 var(--sans);letter-spacing:.08em;padding:6px 0;transition:color .4s;cursor:default}
.flags a{cursor:pointer}
.flags a:hover,.flag__static:hover{color:var(--white)}
[dir=rtl] .flags a,[dir=rtl] .flag__static{letter-spacing:0;font-size:1.06rem}
.flag{display:inline-block;width:40px;height:30px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 8px 22px rgba(0,0,0,.45);flex:none;transition:transform .6s var(--ease)}
.flag img{width:100%;height:100%;object-fit:cover;display:block}
.flags a:hover .flag,.flag__static:hover .flag{transform:translateY(-3px) scale(1.06)}
/* tidy arrangements for the flag row (chosen in data/home.json hero.flagsStyle) */
.flags--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 28px}
.flags--grid li{min-width:0}
.flags--grid a,.flags--grid .flag__static{width:100%}
.flags--tiles{display:grid;grid-template-columns:repeat(7,1fr);gap:18px 12px}
.flags--tiles a,.flags--tiles .flag__static{display:grid;justify-items:center;gap:12px;text-align:center;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;padding:4px 0;width:100%}
.flags--tiles .flag{width:52px;height:39px;border-radius:4px}
[dir=rtl] .flags--tiles a,[dir=rtl] .flags--tiles .flag__static{letter-spacing:0;font-size:.95rem}
.flags--pills{display:flex;flex-wrap:wrap;gap:12px}
.flags--pills a,.flags--pills .flag__static{border:1px solid var(--line2);border-radius:999px;padding:8px 18px 8px 8px;gap:12px;background:rgba(243,239,230,.03);transition:border-color .4s,background .4s,color .4s}
[dir=rtl] .flags--pills a,[dir=rtl] .flags--pills .flag__static{padding:8px 8px 8px 18px}
.flags--pills a:hover{border-color:var(--gold);background:rgba(201,162,75,.08)}
.flags--pills .flag{width:34px;height:26px}
@media(max-width:700px){
  .flags--grid{grid-template-columns:1fr 1fr;gap:14px 16px}
  .flags--tiles{grid-template-columns:repeat(4,1fr);gap:16px 6px}
  .flags--tiles a,.flags--tiles .flag__static{font-size:.6rem;letter-spacing:.1em;gap:9px}
  .flags--tiles .flag{width:44px;height:33px}
  .flags--pills{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .flags--pills a,.flags--pills .flag__static{width:100%;font-size:.78rem;padding:7px 12px 7px 7px}
  [dir=rtl] .flags--pills a,[dir=rtl] .flags--pills .flag__static{padding:7px 7px 7px 12px}
}
.scrollcue{position:absolute;bottom:26px;inset-inline-end:var(--gutter);font:500 .6rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:12px}
[dir=rtl] .scrollcue{letter-spacing:0;font-size:.8rem}
.scrollcue span{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);animation:cue 2.2s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* the sketch map */
.hero__map{position:relative;direction:ltr}
.map{position:relative;width:100%}
.map__svg{width:100%;height:auto;display:block;overflow:visible;-webkit-mask-image:radial-gradient(96% 88% at 52% 48%,#000 26%,rgba(0,0,0,.92) 46%,rgba(0,0,0,.55) 64%,rgba(0,0,0,.2) 80%,transparent 92%);mask-image:radial-gradient(96% 88% at 52% 48%,#000 26%,rgba(0,0,0,.92) 46%,rgba(0,0,0,.55) 64%,rgba(0,0,0,.2) 80%,transparent 92%)}
.map__grat path{fill:none;stroke:rgba(243,239,230,.09);stroke-width:1;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}
.map::before{content:"";position:absolute;inset:-14%;background:radial-gradient(38% 42% at 76% 70%,rgba(201,162,75,.3),transparent 70%),radial-gradient(22% 28% at 22% 26%,rgba(201,162,75,.16),transparent 70%);pointer-events:none}
.map__frame{display:none}
.map__title{position:absolute;top:-34px;inset-inline-start:0;font:500 .68rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
[dir=rtl] .map__title{letter-spacing:0;font-size:.9rem;font-weight:700}
.map__land path{fill:rgba(243,239,230,.055);stroke:rgba(243,239,230,.62);stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map__op{fill:url(#hatch);stroke:var(--gold2);stroke-width:1.7;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px rgba(227,201,124,.55));transition:fill .4s}
.map__op.is-hot{fill:rgba(201,162,75,.55)}
.map__route{fill:none;stroke:var(--gold2);stroke-width:1.8;stroke-linecap:round;opacity:.9;vector-effect:non-scaling-stroke}
@keyframes routeflow{to{stroke-dashoffset:-1}}
.map__route.is-hot{opacity:1;stroke-width:2.4}
.map__pulse{fill:#fff;filter:drop-shadow(0 0 6px #E3C97C) drop-shadow(0 0 12px #C9A24B)}
.map__dot{fill:var(--gold2);stroke:#0B0B0D;stroke-width:2;filter:drop-shadow(0 0 8px rgba(227,201,124,.9))}
.map__ring{fill:none;stroke:var(--gold2);stroke-width:1.6;opacity:.85;transform-origin:center;animation:ringpulse 3.2s ease-out infinite}
.map__pin--hq .map__ring{animation-duration:2.6s}
.map__pin:nth-child(2) .map__ring{animation-delay:.5s}.map__pin:nth-child(3) .map__ring{animation-delay:1s}.map__pin:nth-child(4) .map__ring{animation-delay:1.5s}.map__pin:nth-child(5) .map__ring{animation-delay:2s}.map__pin:nth-child(6) .map__ring{animation-delay:2.5s}
@keyframes ringpulse{0%{transform:scale(.35);opacity:.9}70%{opacity:0}100%{transform:scale(1.15);opacity:0}}
.map__pin.is-hot .map__dot{fill:var(--gold2);r:6}
.map__labels{position:absolute;inset:0;pointer-events:none}
.map__label{position:absolute;display:grid;gap:4px;justify-items:start;color:#fff;white-space:nowrap;font:500 .76rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:color .4s}
.map__label b{font-weight:500;background:rgba(11,11,13,.8);border:1px solid rgba(227,201,124,.7);padding:7px 11px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.6)}
.map__label--hq b{background:var(--gold);color:var(--gold-ink);border-color:var(--gold2)}
.map__label.a-l,.map__label.a-tl,.map__label.a-bl{justify-items:end}
.map__label small{font-size:.58rem;letter-spacing:.22em;color:var(--gold2);padding-inline:11px}
.map__label.is-hot{color:var(--gold2)}
[dir=rtl] .map__label{font-family:'Tajawal','Segoe UI',sans-serif;font-size:.86rem;letter-spacing:0;text-transform:none;font-weight:700}
[dir=rtl] .map__label small{font-size:.72rem;letter-spacing:0}
.map__label.a-r{transform:translate(14px,-50%)}
.map__label.a-l{transform:translate(calc(-100% - 14px),-50%);text-align:right}
.map__label.a-t{transform:translate(-50%,calc(-100% - 14px));text-align:center}
.map__label.a-b{transform:translate(-50%,14px);text-align:center}
.map__label.a-tl{transform:translate(calc(-100% - 10px),calc(-100% - 6px));text-align:right}
.map__label.a-tr{transform:translate(10px,calc(-100% - 6px))}
.map__label.a-bl{transform:translate(calc(-100% - 10px),6px);text-align:right}
.map__label.a-br{transform:translate(10px,8px)}
.map__note{margin-top:14px;font-size:.78rem;color:var(--faint);text-align:center;direction:inherit}
[dir=rtl] .map__note{direction:rtl;font-size:.9rem}
/* map look (2026-09-09, all screens): no grid, edges fade to nothing, countries solid gold, names as small soft labels, no head-office tag */
.map__grat,.map__note,.map__hq,.map__title{display:none}
.map__svg{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 80%,transparent 100%);mask-composite:intersect}
.map::before{background:radial-gradient(46% 48% at 74% 66%,rgba(201,162,75,.42),transparent 70%),radial-gradient(22% 28% at 20% 24%,rgba(201,162,75,.2),transparent 70%)}
.map__land{filter:none}
.map__land path{fill:url(#landfill);stroke:rgba(243,239,230,.34);stroke-width:.8}
.map__op,.map__op.is-hot{fill:url(#goldfill);stroke:#F0DCA0;stroke-width:1.2;filter:url(#glow)}
.map__route{stroke:#F0DCA0;stroke-width:2;opacity:1;filter:url(#glow)}
.map__dot{fill:#fff;stroke:#E3C97C;stroke-width:3}
.map__ring{stroke:#F0DCA0}
.map__label b{background:rgba(11,11,13,.55);border:0;box-shadow:none;padding:6px 10px;border-radius:6px;color:rgba(243,239,230,.92);font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.map__label--hq b{color:#0B0B0D;background:var(--gold2)}
@media(max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:28px;padding-top:24px}
  .hero__in{max-width:none}
  .map__label{font-size:.6rem;letter-spacing:.14em}
  .map__label b{padding:5px 8px}
  .map__title{top:-24px}
  [dir=rtl] .map__label{font-size:.76rem}
  .map__label small{display:none}
  .map__land{filter:none}
}
@media(max-width:700px){
  .hero__h1{margin:16px 0 20px}
  /* phone: the buttons sit under the map (moved there by home.js), small; a little air between the paragraph and the map title */
  .hero__map{margin-top:40px}
  .hero__cta{margin:14px 0 0;align-items:center;gap:20px;flex-wrap:nowrap}
  .hero__cta .btn--gold{width:auto;padding:12px 18px;font-size:.66rem;letter-spacing:.16em;min-height:0;border-radius:999px}
  .hero__cta .btn--ghost{width:auto;background:none;border:0;padding:0;font-size:.68rem;letter-spacing:.16em;color:var(--gold2);text-decoration:underline;text-underline-offset:6px;min-height:0}
  .flags{gap:12px 20px}
  .flags a{font-size:.82rem;gap:9px}
  .flag{width:32px;height:24px}
  .scrollcue{display:none}
  .hero__countries{padding:22px 0 30px}
  /* phone map (2026-09-09): shorter paragraph, no grid, edges melt into the photo, countries as solid gold, names as small soft labels */
  .hero__sub--full{display:none}.hero__sub--short{display:block}
  .hero__map{margin-top:28px}
  .map__label{font-size:.56rem;letter-spacing:.14em}
  .map__label b{padding:4px 7px}
  [dir=rtl] .map__label{font-size:.72rem}
}

/* ---------- facts strip ---------- */
.facts{background:var(--bg)}
.facts__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.fact{padding:30px 0 30px 26px;display:grid;gap:6px;border-inline-start:1px solid var(--line);padding-inline-start:26px}
.fact:first-child{border:0;padding-inline-start:0}
.fact b{font:400 clamp(1.9rem,3vw,2.8rem)/1 var(--display);color:var(--white);font-variant-numeric:lining-nums tabular-nums;direction:ltr;unicode-bidi:isolate}
[dir=rtl] .fact b{font-weight:700}
.fact span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
[dir=rtl] .fact span{letter-spacing:0;font-size:.95rem}
@media(max-width:800px){
  .facts__grid{grid-template-columns:1fr}
  /* her request: the numbers strip takes far less room on the phone */
  .facts{padding:8px 0}
  .fact{padding:11px 0;border-inline-start:0;padding-inline-start:0;border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:baseline;gap:14px}
  .fact:first-child{border-bottom:1px solid var(--line)}
  .fact:last-child{border-bottom:0}
  .fact b{font-size:1.5rem;min-width:5.2ch}
  .fact span{font-size:.68rem}
  [dir=rtl] .fact span{font-size:.85rem}
}

/* ---------- global presence: seven tall country cards ---------- */
.cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.card{position:relative;aspect-ratio:9/17;border-radius:18px;overflow:hidden;background:#141416;border:1px solid rgba(243,239,230,.1);isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0);transition:transform .8s var(--ease),border-color .6s,box-shadow .8s var(--ease)}
.card__img{position:absolute;inset:0;z-index:-1;margin:0}
.card__img img{width:100%;height:100%;object-fit:cover;object-position:50% 100%;transform:scale(1.03);transition:transform 1.4s var(--ease);-webkit-user-drag:none}
.card::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(14,14,16,.98) 0%,rgba(14,14,16,.92) 30%,rgba(14,14,16,.35) 55%,rgba(14,14,16,0) 78%,rgba(14,14,16,.55) 100%);pointer-events:none}
.card::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(227,201,124,0);transition:box-shadow .6s;pointer-events:none}
.card__body{position:relative;z-index:1;padding:clamp(18px,1.6vw,26px) clamp(14px,1.3vw,20px) 0}
.card__name{font:500 .8rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-bottom:10px;text-wrap:balance}
[dir=rtl] .card__name{letter-spacing:0;font-size:1.05rem;font-weight:700}
.card__line{font:400 .9rem/1.5 var(--sans);color:var(--muted);max-width:16ch}
[dir=rtl] .card__line{font-size:.98rem;line-height:1.7}
.card__btn{position:absolute;z-index:1;bottom:clamp(16px,1.6vw,22px);left:50%;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;border:1px solid var(--gold2);color:var(--gold2);display:grid;place-items:center;background:rgba(11,11,13,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .5s,color .5s,transform .5s var(--ease)}
.card__btn .ico{width:18px;height:18px}
[dir=rtl] .card__btn .ico-dir{transform:scaleX(-1)}
.card:hover{transform:translateY(-6px);border-color:rgba(227,201,124,.5);box-shadow:0 24px 50px rgba(0,0,0,.45),0 0 40px rgba(201,162,75,.12)}
.card:hover .card__img img{transform:scale(1.09)}
.card:hover .card__btn,.card__btn:focus-visible{background:var(--gold);color:var(--gold-ink);transform:translateX(-50%) scale(1.06)}
.card.is-center{border-color:rgba(227,201,124,.5);box-shadow:0 0 40px rgba(201,162,75,.12)}
@media(max-width:1200px){
  .cards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px var(--gutter) 24px;margin:0 calc(-1 * var(--gutter));-webkit-overflow-scrolling:touch;scroll-padding-inline:var(--gutter)}
  .cards::-webkit-scrollbar{display:none}
  .card{flex:0 0 min(58vw,280px);scroll-snap-align:center;aspect-ratio:1/1.08}
  .card:hover{transform:none}
}
@media(max-width:700px){
  /* her sketch: a row of small tall boxes across the middle of the phone, several in view, swipe for more */
  .net{padding-bottom:22px}
  .cards{gap:10px;padding:6px var(--gutter) 6px;scroll-snap-type:x mandatory;scroll-padding-inline-start:var(--gutter)}
  /* exactly three and a half boxes across the screen, starting from the left */
  .card{flex:0 0 calc((100vw - var(--gutter) - 30px) / 3.5);aspect-ratio:3/4.4;border-radius:12px;scroll-snap-align:start}
  .card__body{padding:12px 10px 0}
  .card__name{font-size:.6rem;letter-spacing:.12em;margin-bottom:0;line-height:1.3}
  .card__line{display:none}
  .card__btn{width:30px;height:30px;bottom:10px}
  .card__btn .ico{width:14px;height:14px}
  .card::before{background:linear-gradient(180deg,rgba(14,14,16,.96) 0%,rgba(14,14,16,.8) 30%,rgba(14,14,16,.2) 55%,rgba(14,14,16,0) 75%,rgba(14,14,16,.55) 100%)}
  .card.is-center{border-color:rgba(227,201,124,.65);box-shadow:0 0 28px rgba(201,162,75,.18)}
}

/* ---------- (older cinematic slider styles, kept for the record) ---------- */
.net{padding-top:clamp(22px,2.4vw,38px)}
.net__stage{position:relative}
.net__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:10px;cursor:grab;-webkit-overflow-scrolling:touch}
.net__track::-webkit-scrollbar{display:none}
.net__track.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.net__slide{position:relative;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:16/7.2;min-height:440px;overflow:hidden;background:var(--bg2);isolation:isolate}
.net__visual{position:absolute;inset:0;z-index:-2}
.net__visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);opacity:.92;transition:transform 9s linear}
.net__slide.is-active .net__visual img{transform:scale(1.12)}
.net__plain{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(60% 70% at 50% 45%,#1c1912,#0e0e11)}
.net__outline{width:min(46%,420px);height:auto;max-height:82%;overflow:visible}
.net__outline path{fill:rgba(201,162,75,.16);stroke:var(--gold2);stroke-width:1.8;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 14px rgba(227,201,124,.55)) drop-shadow(0 0 40px rgba(201,162,75,.3))}
.net__slide::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,13,.12) 0%,rgba(11,11,13,.2) 45%,rgba(11,11,13,.9) 100%),linear-gradient(90deg,rgba(11,11,13,.55),transparent 60%)}
[dir=rtl] .net__slide::before{background:linear-gradient(180deg,rgba(11,11,13,.12) 0%,rgba(11,11,13,.2) 45%,rgba(11,11,13,.9) 100%),linear-gradient(270deg,rgba(11,11,13,.55),transparent 60%)}
.net__slide::after{content:"";position:absolute;inset:auto auto -20% -10%;width:60%;height:70%;z-index:-1;background:radial-gradient(closest-side,rgba(201,162,75,.28),transparent);opacity:0;transition:opacity 1.6s var(--ease)}
[dir=rtl] .net__slide::after{inset:auto -10% -20% auto}
.net__slide.is-active::after{opacity:1}
.net__body{position:absolute;inset-inline-start:clamp(22px,4vw,56px);bottom:clamp(22px,4vw,52px);inset-inline-end:clamp(22px,4vw,56px);max-width:620px;display:grid;gap:12px}
.net__kicker{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font:500 .7rem/1.5 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold2)}
.net__num{font-variant-numeric:tabular-nums;color:var(--faint);white-space:nowrap}
[dir=rtl] .net__kicker{letter-spacing:0;font-size:.9rem;font-weight:700}
.net__name{display:flex;align-items:center;gap:16px;font:400 clamp(2rem,4.2vw,4rem)/1 var(--display);color:var(--white)}
[dir=rtl] .net__name{font-weight:700;line-height:1.3}
.net__name .flag{width:44px;height:33px}
.net__rule{display:block;width:72px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s var(--ease) .2s}
[dir=rtl] .net__rule{transform-origin:100% 50%;background:linear-gradient(270deg,var(--gold),transparent)}
.net__slide.is-active .net__rule{transform:scaleX(1)}
.net__line{font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.6;color:var(--muted);max-width:52ch}
.net__soon{font:500 .72rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
[dir=rtl] .net__soon{letter-spacing:0;font-size:.9rem}
.net__body>*{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.net__slide.is-active .net__body>*{opacity:1;transform:none}
.net__slide.is-active .net__body>:nth-child(2){transition-delay:.08s}.net__slide.is-active .net__body>:nth-child(4){transition-delay:.18s}.net__slide.is-active .net__body>:nth-child(5){transition-delay:.26s}
.net__tabs{display:flex;gap:6px;margin-top:18px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.net__tabs::-webkit-scrollbar{display:none}
.net__tab{display:inline-flex;align-items:center;gap:10px;flex:1 0 auto;justify-content:center;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--muted);font:500 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:color .5s,border-color .5s;position:relative}
.net__tab .flag{width:26px;height:20px;border-radius:2px;opacity:.75;transition:opacity .5s}
.net__tab::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:1px;background:var(--gold2);transform:scaleX(0);transition:transform .8s var(--ease);box-shadow:0 0 12px rgba(227,201,124,.8)}
.net__tab:hover{color:var(--ink)}
.net__tab.is-active{color:var(--gold2)}
.net__tab.is-active .flag{opacity:1}
.net__tab.is-active::after{transform:scaleX(1)}
[dir=rtl] .net__tab{letter-spacing:0;font-size:.92rem}
.net__bar{height:1px;background:var(--line);margin-top:0;position:relative;display:none}
@media(max-width:900px){
  .net__slide{aspect-ratio:4/5;min-height:0}
  .net__body{inset-inline:18px;bottom:20px;gap:10px}
  .net__name{font-size:2rem;gap:12px}
  .net__name .flag{width:34px;height:26px}
  .net__line{font-size:.95rem}
  .net__tabs{gap:2px;margin-top:12px}
  .net__tab{padding:12px 10px;font-size:.62rem;letter-spacing:.1em}
  .net__tab .flag{width:22px;height:17px}
  .net__tabname{display:none}
  .net__tab.is-active .net__tabname{display:inline}
  .net__outline{width:60%}
}

/* ---------- sections ---------- */
section{padding:clamp(72px,9vw,132px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(30px,4vw,54px)}
.sec-head .eyebrow{margin-bottom:16px}
.sec-head .lead{margin-top:16px}
@media(max-width:700px){.sec-head{flex-direction:column;align-items:flex-start;gap:20px}}

/* ---------- history slider ---------- */
.history{padding-bottom:clamp(56px,7vw,104px)}
.slider{position:relative}
.slider__track{display:flex;gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 var(--gutter) 12px;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch;scroll-padding-inline:var(--gutter)}
.slider__track::-webkit-scrollbar{display:none}
.slider__track.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.hcard{flex:0 0 clamp(280px,29vw,440px);scroll-snap-align:start;display:grid;gap:18px;align-content:start}
.hcard__fig{aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--bg3)}
.hcard__fig img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s var(--ease);user-select:none;-webkit-user-drag:none}
.hcard:hover .hcard__fig img{transform:scale(1.08)}
.hcard__year{font:500 .7rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px;min-height:.7rem}
[dir=rtl] .hcard__year{letter-spacing:0;font-size:.9rem;font-weight:700;min-height:.9rem}
.hcard h3{font:400 clamp(1.4rem,1.9vw,1.9rem)/1.15 var(--display);color:var(--white);margin-bottom:8px}
[dir=rtl] .hcard h3{font-weight:700;line-height:1.45}
.hcard p{color:var(--muted);font-size:.98rem;line-height:1.6;max-width:42ch}
.slider__nav{display:flex;gap:10px;flex:none}
.slider__btn{width:54px;height:54px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:background .5s,color .5s,border-color .5s,opacity .4s}
.slider__btn:hover{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.slider__btn[disabled]{opacity:.28;pointer-events:none}
.slider__btn .ico{width:20px;height:20px}
.slider__bar{height:1px;background:var(--line);margin-top:28px;position:relative}
.slider__bar i{position:absolute;top:-1px;inset-inline-start:0;height:3px;width:25%;background:var(--gold);border-radius:2px;transition:inset-inline-start .25s linear,width .25s linear}
@media(max-width:700px){.hcard{flex-basis:80vw}}

/* ---------- countries ---------- */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:clamp(14px,1.8vw,28px);align-items:start}
.ccard{background:var(--bg2);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:border-color .6s,transform .8s var(--ease)}
.ccard:hover,.ccard.is-open{border-color:var(--gold-line)}
.ccard__head{display:grid;width:100%;text-align:start;position:relative;color:var(--ink)}
.ccard__media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg3);position:relative}
.ccard__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.4s var(--ease)}
.ccard:hover .ccard__media img,.ccard.is-open .ccard__media img{transform:scale(1.08)}
.ccard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,11,13,.7))}
.ccard--plain .ccard__media{background:radial-gradient(90% 90% at 50% 30%,#1D1B15,#0F0F11);display:grid;place-items:center}
.ccard__flagbig{width:34%;aspect-ratio:4/3;display:block;opacity:.92;filter:drop-shadow(0 24px 40px rgba(0,0,0,.6));border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.ccard__flagbig img{width:100%;height:100%;object-fit:cover}
.ccard__text{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:22px 24px 26px;align-items:start}
.ccard__flag{grid-row:1/4;width:28px;height:21px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.18);margin-top:7px}
.ccard__flag img{width:100%;height:100%;object-fit:cover}
.ccard__name{font:400 clamp(1.5rem,2vw,2rem)/1.1 var(--display);color:var(--white);padding-inline-end:56px}
[dir=rtl] .ccard__name{font-weight:700;line-height:1.4}
.ccard__tag{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:6px}
[dir=rtl] .ccard__tag{letter-spacing:0;font-size:.92rem}
.ccard__count{font:500 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:14px}
[dir=rtl] .ccard__count{letter-spacing:0;font-size:.92rem;font-weight:700}
.ccard__plus{position:absolute;inset-inline-end:22px;bottom:24px;width:42px;height:42px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;transition:transform .7s var(--ease),background .5s,color .5s,border-color .5s}
.ccard__plus .ico{width:18px;height:18px}
.ccard:hover .ccard__plus{border-color:var(--gold)}
.ccard.is-open .ccard__plus{transform:rotate(45deg);background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.ccard__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .85s var(--ease2)}
.ccard.is-open .ccard__body{grid-template-rows:1fr}
.ccard__inner{overflow:hidden;min-height:0;padding-inline:24px}
.ccard__intro{color:var(--muted);border-top:1px solid var(--line);padding-top:18px;font-size:.98rem;line-height:1.6}
.plist{margin-top:14px;border-top:1px solid var(--line)}
.plist li{border-bottom:1px solid var(--line)}
.plist a,.plist__row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:14px 0;color:var(--ink);transition:padding .5s var(--ease),color .4s}
.plist a:hover{color:var(--gold2);padding-inline-start:8px}
.plist__idx{font:500 .68rem/1 var(--sans);letter-spacing:.2em;color:var(--faint);font-variant-numeric:tabular-nums}
.plist__name{font:400 1.08rem/1.25 var(--display);display:grid}
[dir=rtl] .plist__name{font-weight:700;line-height:1.5}
.plist__name small{font:400 .78rem/1.3 var(--sans);letter-spacing:.06em;color:var(--faint);margin-top:3px}
[dir=rtl] .plist__name small{letter-spacing:0;font-size:.88rem}
.plist__go .ico{width:18px;height:18px;color:var(--gold)}
.ccard__soon{margin-top:16px;color:var(--muted);font-size:.98rem}
.ccard__inner .textlink{margin:18px 0 24px}
.ccard__inner .ccard__guide{margin:18px 0 4px;font-weight:500}

/* ---------- about ---------- */
.about{background:var(--bg2);border-block:1px solid var(--line)}
.about__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:center}
.about__fig{border-radius:8px;overflow:hidden;position:relative;background:var(--bg3)}
.about__fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.about__fig figcaption{position:absolute;inset-inline-start:18px;bottom:16px;font:500 .64rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.85);background:rgba(11,11,13,.55);padding:9px 13px;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
[dir=rtl] .about__fig figcaption{letter-spacing:0;font-size:.82rem}
.about__text .eyebrow{margin-bottom:16px}
.about__p{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.7;color:var(--muted);margin:22px 0 30px}
.about__p{text-align:justify}
[dir=rtl] .about__p{line-height:2;text-align:justify}
@media(max-width:900px){.about__grid{grid-template-columns:1fr}}

/* ---------- reach ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.stat{background:var(--bg);padding:clamp(24px,3vw,40px);display:grid;gap:8px;align-content:start}
.stat b{font:400 clamp(2.3rem,4.2vw,4.2rem)/1 var(--display);color:var(--white);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;direction:ltr;unicode-bidi:isolate}
[dir=rtl] .stat b{font-weight:700}
.stat span{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
[dir=rtl] .stat span{letter-spacing:0;font-size:.95rem}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.stat{padding:20px 18px}}

/* ---------- developers marquee ---------- */
.devs{padding:36px 0;border-block:1px solid var(--line);overflow:hidden}
.devs__label{font:500 .68rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--faint);text-align:center;margin-bottom:24px}
[dir=rtl] .devs__label{letter-spacing:0;font-size:.92rem;font-weight:700}
/* the developer wheel: swipe, gentle curve, the centre logo lit */
.wheel{position:relative;--w:clamp(150px,18vw,230px);--gap:clamp(36px,6vw,110px);perspective:900px;perspective-origin:50% 50%}
.wheel__track{display:flex;align-items:center;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:30px 0 22px;cursor:grab;-webkit-overflow-scrolling:touch;transform-style:preserve-3d;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.wheel__track::-webkit-scrollbar{display:none}
.wheel__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.wheel__pad{flex:0 0 calc(50% - var(--w) / 2 - var(--gap))}
.wheel__item{flex:0 0 var(--w);height:110px;scroll-snap-align:center;display:grid;place-items:center;opacity:.34;transform:scale(.8);will-change:transform,opacity;transition:filter .5s}
.wheel__item img{display:block;width:auto;height:auto;max-width:100%;max-height:96px;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none;filter:brightness(.9)}
@media(max-width:700px){.wheel__item img{max-height:58px}}
.wheel__item.is-center img{filter:brightness(1.04) drop-shadow(0 0 12px rgba(227,201,124,.42)) drop-shadow(0 0 30px rgba(201,162,75,.2))}
.wheel__text{font:400 clamp(1.4rem,2.4vw,2.2rem)/1 var(--display);color:var(--ink);white-space:nowrap}
.wheel__name{text-align:center;margin-top:6px;font:500 .72rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);min-height:1em}
[dir=rtl] .wheel__name{letter-spacing:.12em;font-size:.86rem}
.wheel__more{display:flex;flex-direction:column;align-items:center;gap:4px;margin:14px auto 0;width:max-content;font:500 .62rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .4s}
.wheel__more svg{width:150px;height:14px;display:block;opacity:.9;transition:transform .5s var(--ease),opacity .4s}
.wheel__more:hover{color:var(--gold2)}.wheel__more:hover svg{transform:translateX(6px);opacity:1}
[dir=rtl] .wheel__more{letter-spacing:.06em;font-size:.86rem}[dir=rtl] .wheel__more svg{transform:scaleX(-1)}[dir=rtl] .wheel__more:hover svg{transform:scaleX(-1) translateX(6px)}
@media(max-width:700px){.wheel{--w:128px}.wheel__track{gap:0!important;padding-inline:calc(50vw - 64px)!important}.wheel__item{height:84px;padding:0 4px}.wheel__item img{max-width:96%}}

/* ---------- sister companies ---------- */
.sis{padding:48px 0 64px;background:var(--bg)}
.sis__label{margin-bottom:28px}
.sis__name{display:none}
.sis__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
.sis__card{display:flex;align-items:center;justify-content:center;height:132px;padding:22px 24px;box-sizing:border-box;overflow:hidden;border-radius:16px;background:#16161B;text-decoration:none;transition:transform .35s ease,background .35s ease}
a.sis__card:hover{transform:translateY(-3px);background:#1C1C22}
.sis__card img{display:block;width:auto;height:auto;max-width:100%;max-height:78px;object-fit:contain;user-select:none;-webkit-user-drag:none}
@media(max-width:700px){
  .sis{padding:36px 0 40px;overflow:hidden}
  .sis__grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px var(--gutter) 10px;margin:0 calc(-1 * var(--gutter));-webkit-overflow-scrolling:touch}
  .sis__grid::-webkit-scrollbar{display:none}
  .sis__item{flex:0 0 calc((100vw - 40px) / 3);scroll-snap-align:center}
  .sis__name{display:block;margin-top:4px}
  .sis__card{height:96px;padding:14px 12px;border-radius:12px;transition:background .35s ease}
  .sis__card img{max-height:56px}
  .sis__item.is-center .sis__card{background:#1E1E25}
}
/* ---------- new launches (in place of the country row under the map) ---------- */
.cards--launch{grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:clamp(12px,1.5vw,22px);max-width:1400px;margin-inline:auto}
.card__badge{position:absolute;z-index:2;top:14px;inset-inline-start:14px;background:var(--gold);color:var(--gold-ink);font:600 .62rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:8px 12px;border-radius:999px}
[dir=rtl] .card__badge{letter-spacing:0;font-size:.8rem}
.card--launch{aspect-ratio:4/5;border-radius:20px}
.card--launch .card__link{position:absolute;inset:0;display:block;color:inherit;text-decoration:none;isolation:isolate}
.card--launch .card__link::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(11,11,13,.55),rgba(11,11,13,0) 40%,rgba(11,11,13,.85) 100%)}
.card--launch .card__body{position:absolute;left:0;right:0;bottom:clamp(20px,2vw,30px);z-index:1;padding:0 clamp(16px,1.6vw,26px) 52px}
.card--launch .card__name{font:400 clamp(1.25rem,1.7vw,1.7rem)/1.15 var(--display);letter-spacing:0;text-transform:none;margin-bottom:6px}
[dir=rtl] .card--launch .card__name{font-weight:700}
.card--launch .card__line{font:400 .82rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);max-width:none}
[dir=rtl] .card--launch .card__line{letter-spacing:0;font-size:.95rem}
.card--launch .card__go{position:absolute;z-index:1;bottom:clamp(20px,2vw,30px);inset-inline-start:clamp(16px,1.6vw,26px);display:inline-flex;align-items:center;gap:8px;font:500 .68rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--white);opacity:.85}
.card--launch .card__go .ico{width:16px;height:16px}
[dir=rtl] .card--launch .card__go{letter-spacing:0;font-size:.85rem}
.card--launch:hover .card__img img{transform:scale(1.07)}
@media(max-width:700px){
  .cards--launch{gap:12px}
  .card--launch{flex:0 0 calc((100vw - var(--gutter) - 24px) / 1.45);aspect-ratio:4/5;border-radius:16px}
  .card--launch .card__body{display:block;padding:0 16px 46px}
  .card--launch .card__name{font-size:1.15rem}
  .card--launch .card__line{display:block;font-size:.66rem}
}

/* ---------- contact ---------- */
/* contact: a faint warm gold light from the sides and a thin signature line, no photo, so it never clashes with the page */
.contact{position:relative;isolation:isolate;overflow:clip}
/* 2026-09-10: the gold signature wave behind the contact details was removed at her request; only the soft side light stays */
.contact::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(60% 55% at 12% 82%,rgba(201,162,75,.20),transparent 70%),radial-gradient(48% 48% at 90% 18%,rgba(201,162,75,.11),transparent 70%)}
[dir=rtl] .contact::before{background:radial-gradient(60% 55% at 88% 82%,rgba(201,162,75,.20),transparent 70%),radial-gradient(48% 48% at 10% 18%,rgba(201,162,75,.11),transparent 70%)}
@media(max-width:700px){
  .contact::before{background:radial-gradient(70% 34% at 0% 30%,rgba(201,162,75,.26),transparent 70%),radial-gradient(70% 34% at 100% 72%,rgba(201,162,75,.22),transparent 70%)}
}

.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.contact__text .eyebrow{margin-bottom:16px}
.contact__text .lead{margin-top:16px}
.crows{margin-top:30px;border-top:1px solid var(--line)}
.crows li{border-bottom:1px solid var(--line)}
.crows a,.crow{display:flex;align-items:center;gap:18px;padding:16px 0;color:var(--ink);transition:color .4s}
.crows .ico{width:22px;height:22px;color:var(--gold)}
.crows small{display:block;font:500 .64rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
[dir=rtl] .crows small{letter-spacing:0;font-size:.85rem}
.crows bdi{font:500 1.12rem/1.2 var(--sans)}
.crows a:hover{color:var(--gold2)}
.contact__form{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:clamp(24px,3vw,40px)}
.contact__form .eyebrow{margin-bottom:10px}
.contact__formtext{color:var(--muted);font-size:.98rem}
@media(max-width:900px){.contact__grid{grid-template-columns:1fr}}

/* ---------- forms (same contract as site.js) ---------- */
.lead-form{display:grid;gap:12px;position:relative;margin-top:14px}
.field{position:relative;border-bottom:1px solid var(--line2);transition:border-color .4s}
.field:focus-within{border-color:var(--gold)}
.field label{display:block;font:500 .66rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);padding-top:12px}
[dir=rtl] .field label{letter-spacing:0;font-size:.86rem}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;color:var(--ink);font:400 max(16px,1.02rem)/1.4 var(--sans);padding:8px 0 14px;outline:0;border-radius:0;-webkit-appearance:none;appearance:none}
.field input::placeholder,.field textarea::placeholder{color:var(--faint)}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23C9A24B' stroke-width='1.2'/></svg>");background-repeat:no-repeat;background-position:right .2em center;padding-inline-end:1.6em;cursor:pointer;text-overflow:ellipsis}
[dir=rtl] .field select{background-position:left .2em center}
.field select option{background:#141416;color:#F3EFE6}
.field textarea{min-height:84px;resize:vertical}
.field input[type=tel]{direction:ltr;text-align:left;unicode-bidi:isolate}
.field--row{display:grid;grid-template-columns:minmax(138px,172px) minmax(0,1fr);gap:16px}
.hp{position:absolute;inset-inline-start:-9999px;top:-9999px;opacity:0;height:0;width:0;overflow:hidden}
.lead-form .btn{justify-self:start;margin-top:12px;min-height:54px;padding-inline:2.2em}
.lead-form .msg{min-height:1.5em;font-size:1rem;line-height:1.4}
.lead-form .msg.err{color:#E2A7A7}
.lead-form .msg.ok{color:var(--gold)}
.lead-form .note{font-size:.78rem;color:var(--faint);max-width:44ch;line-height:1.55}
.lead-form .thanks{display:none}
.lead-form.is-done .field,.lead-form.is-done .field--row,.lead-form.is-done .btn,.lead-form.is-done .note,.lead-form.is-done .msg{display:none}
.lead-form.is-done .thanks{display:grid;gap:14px;padding:clamp(22px,3vw,34px);border:1px solid var(--gold-line);border-radius:8px;background:var(--bg);font:400 clamp(1.3rem,2vw,1.7rem)/1.3 var(--display);color:var(--white);justify-items:start}
[dir=rtl] .lead-form.is-done .thanks{font-weight:700;line-height:1.6}
.lead-form .thanks p{max-width:30ch}

/* ---------- drawer ---------- */
.drawer{position:fixed;inset:0;z-index:70;pointer-events:none;visibility:hidden;transition:visibility 0s .95s}
.drawer.is-open{pointer-events:auto;visibility:visible;transition-delay:0s}
.drawer__backdrop{position:absolute;inset:0;background:rgba(11,11,13,.66);opacity:0;transition:opacity .8s}
.drawer.is-open .drawer__backdrop{opacity:1}
.drawer__panel{position:absolute;top:0;bottom:0;inset-inline-end:0;width:min(540px,100%);background:var(--bg2);border-inline-start:1px solid var(--line);padding:clamp(28px,4vw,52px);padding-top:clamp(72px,8vh,96px);overflow-y:auto;overscroll-behavior:contain;transform:translateX(calc(var(--dir) * 100%));transition:transform .9s var(--ease2);display:grid;align-content:start;gap:14px}
.drawer.is-open .drawer__panel{transform:none}
.drawer__close{position:absolute;top:18px;inset-inline-end:18px;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .5s,color .5s}
.drawer__close:hover{background:var(--ink);color:var(--bg)}
.drawer__close .ico{width:18px;height:18px}
.drawer__title{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.05;color:var(--white)}
[dir=rtl] .drawer__title{font-weight:700;line-height:1.4}
.drawer__text{color:var(--muted);max-width:40ch}
.drawer__alt{margin-top:10px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-size:.9rem;color:var(--muted)}
@media(max-width:640px){.drawer__panel{inset-inline:0;top:auto;max-height:94svh;width:100%;border-inline-start:0;border-top:1px solid var(--line);transform:translateY(100%);padding-top:64px;border-radius:14px 14px 0 0}}

/* ---------- footer ---------- */
.ft{border-top:1px solid var(--line);padding:clamp(48px,6vw,80px) 0 32px;background:var(--bg2)}
.ft__top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:32px;border-bottom:1px solid var(--line)}
.ft__brand{display:flex;align-items:center;gap:14px;color:var(--white);font:500 .82rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.ft__brand .logo{height:24px;width:auto;color:var(--gold)}
[dir=rtl] .ft__brand{letter-spacing:0;font:700 1.15rem/1 var(--sans)}
.ft__nav{display:flex;flex-wrap:wrap;gap:8px 26px}
.ft__nav a{font:500 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .4s}
.ft__nav a:hover{color:var(--white)}
[dir=rtl] .ft__nav a{letter-spacing:0;font-size:.98rem}
.ft__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:36px 0;border-bottom:1px solid var(--line)}
.ft__col h4{font:400 1.15rem/1.2 var(--display);color:var(--white);margin-bottom:12px;display:flex;gap:10px;align-items:center}
[dir=rtl] .ft__col h4{font-weight:700}
.ft__col h4 img{width:22px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.ft__col li{margin:8px 0}
.ft__col a{color:var(--muted);font-size:.92rem;transition:color .4s}
.ft__col a:hover{color:var(--gold2)}
.ft__col span{color:var(--faint);font-size:.92rem}
.ft__bottom{padding-top:24px;display:grid;gap:12px;color:var(--faint);font-size:.82rem}
.ft__note{max-width:84ch;line-height:1.6}
@media(max-width:900px){.ft__cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft__cols{grid-template-columns:1fr}}

/* ---------- initial hidden states (only while JS + GSAP are alive) ---------- */
html.js [data-hero]{opacity:0;transform:translateY(22px)}
html.js [data-map]{opacity:0}
html.js .map__route{stroke-dashoffset:1;stroke-dasharray:1 1;animation:none}
html.js .map__route.is-drawn{stroke-dasharray:none;stroke-dashoffset:0}
html.js .hero__h1 .mask__in{transform:translateY(112%)}
html.js .flags li{opacity:0;transform:translateY(16px)}
html.js [data-reveal]{opacity:0;transform:translateY(56px)}
html.js [data-reveal-group]>*{opacity:0;transform:translateY(56px)}
html.js .hcard{opacity:0;transform:translateY(40px)}
.h2 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.h2 .w__in{display:inline-block}
html.js .h2 .w__in{transform:translateY(112%)}
.pop{overflow:hidden}
html.js .pop img{transform:scale(1.18);opacity:0}
@media(prefers-reduced-motion:reduce){
  html.js [data-hero],html.js [data-map],html.js .hero__h1 .mask__in,html.js .flags li,html.js [data-reveal],html.js [data-reveal-group]>*,html.js .hcard,html.js .h2 .w__in,html.js .pop img{opacity:1;transform:none}
  html.js .map__route{stroke-dasharray:none;stroke-dashoffset:0}
  .hero__slide img,.scrollcue span{animation:none}
  .slider__track{scroll-behavior:auto}
}

/* ================================================================
   THE PROJECTS SECTION - four ways to show it.
   Chosen in data/home.json -> countriesSection.style
   countries | cards | index | featured
   ================================================================ */
.pfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(20px,2.5vw,34px)}
.pfilter .chip{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line2);border-radius:999px;font:500 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .4s,border-color .4s,background .4s}
[dir=rtl] .pfilter .chip{letter-spacing:0;font-size:.95rem;font-weight:700}
.pfilter .chip .flag{width:22px;height:16px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.pfilter .chip .flag img{width:100%;height:100%;object-fit:cover}
.pfilter .chip i{font-style:normal;font-size:.68rem;color:var(--faint);font-variant-numeric:tabular-nums}
.pfilter .chip:hover{color:var(--ink)}
.pfilter .chip.is-on{color:var(--gold-ink);background:var(--gold);border-color:var(--gold)}
.pfilter .chip.is-on i{color:rgba(20,16,8,.6)}

/* --- cards: one photo per project --- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px)}
@media(max-width:1100px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.pgrid{grid-template-columns:1fr}}
.pcard{position:relative}
.pcard.is-out{display:none}
.pcard a{display:block;position:relative;border-radius:10px;overflow:hidden;background:var(--bg2);border:1px solid var(--line);transition:border-color .5s,transform .7s var(--ease),box-shadow .7s var(--ease)}
.pcard a:hover{border-color:var(--gold-line);transform:translateY(-5px);box-shadow:0 22px 46px rgba(0,0,0,.45)}
.pcard__img{aspect-ratio:16/11;overflow:hidden;margin:0}
.pcard__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.3s var(--ease)}
.pcard a:hover .pcard__img img{transform:scale(1.08)}
.pcard__flag{position:absolute;top:14px;inset-inline-start:14px;width:30px;height:22px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 6px 16px rgba(0,0,0,.5)}
.pcard__flag img{width:100%;height:100%;object-fit:cover}
.pcard__body{display:grid;gap:7px;padding:20px 22px 24px}
.pcard__name{font:400 clamp(1.3rem,1.7vw,1.7rem)/1.2 var(--display);color:var(--white)}
[dir=rtl] .pcard__name{font-weight:700;line-height:1.45}
.pcard__meta{font-size:.86rem;color:var(--faint)}
.pcard__go{margin-top:6px;font:500 .68rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);display:inline-flex;align-items:center;gap:8px}
[dir=rtl] .pcard__go{letter-spacing:0;font-size:.9rem;font-weight:700}
.pcard__go .ico{width:16px;height:16px;transition:transform .5s var(--ease)}
.pcard a:hover .pcard__go .ico{transform:translateX(calc(var(--dir) * 4px))}

/* --- index: a numbered index with a picture that follows the row --- */
.pindex{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,4vw,64px);align-items:start}
.pindex__list{border-top:1px solid var(--line)}
.pindex__list li{border-bottom:1px solid var(--line)}
.pindex__list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:18px;padding:20px 4px;color:var(--ink);transition:padding .5s var(--ease),color .4s}
.pindex__list a:hover{color:var(--gold2);padding-inline-start:12px}
.pindex__n{font:500 .68rem/1 var(--sans);letter-spacing:.2em;color:var(--faint);font-variant-numeric:tabular-nums}
.pindex__name{font:400 clamp(1.15rem,1.7vw,1.6rem)/1.2 var(--display)}
[dir=rtl] .pindex__name{font-weight:700;line-height:1.5}
.pindex__meta{font-size:.82rem;color:var(--faint);text-align:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch}
.pindex__country{display:inline-flex;align-items:center;gap:8px;font:500 .66rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
[dir=rtl] .pindex__country{letter-spacing:0;font-size:.86rem}
.pindex__country .flag{width:22px;height:16px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.pindex__country .flag img{width:100%;height:100%;object-fit:cover}
.pindex__go .ico{width:18px;height:18px;color:var(--gold)}
.pindex__stage{position:sticky;top:calc(var(--navh) + 24px);aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.pindex__shot{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--ease);margin:0}
.pindex__shot.is-on{opacity:1}
.pindex__shot img{width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){
  .pindex{grid-template-columns:1fr}
  .pindex__stage{display:none}
  .pindex__list a{grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;padding:16px 2px}
  .pindex__meta{display:none}
}

/* --- featured: one large project, the rest listed beside it --- */
.pfeat{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,3vw,44px);align-items:start}
.pfeat__main{position:relative;display:block;border-radius:12px;overflow:hidden;isolation:isolate}
.pfeat__main figure{margin:0;aspect-ratio:4/3.2;overflow:hidden}
.pfeat__main img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.4s var(--ease)}
.pfeat__main:hover img{transform:scale(1.07)}
.pfeat__main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,11,13,.88));pointer-events:none}
.pfeat__cap{position:absolute;inset-inline:clamp(20px,2.5vw,34px);bottom:clamp(20px,2.5vw,32px);z-index:1;display:grid;gap:8px}
.pfeat__cap h3{font:400 clamp(1.7rem,2.8vw,2.8rem)/1.1 var(--display);color:var(--white)}
[dir=rtl] .pfeat__cap h3{font-weight:700;line-height:1.4}
.pfeat__cap p{color:var(--muted);font-size:.92rem}
.pfeat__list{border-top:1px solid var(--line)}
.pfeat__list li{border-bottom:1px solid var(--line)}
.pfeat__list a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 2px;color:var(--ink);transition:padding .5s var(--ease),color .4s}
.pfeat__list a:hover{color:var(--gold2);padding-inline-start:10px}
.pfeat__n{font:500 .66rem/1 var(--sans);letter-spacing:.2em;color:var(--faint);font-variant-numeric:tabular-nums}
.pfeat__name{display:grid;gap:4px;font:400 1.14rem/1.25 var(--display)}
[dir=rtl] .pfeat__name{font-weight:700;line-height:1.5}
.pfeat__name small{font:400 .78rem/1.3 var(--sans);color:var(--faint)}
[dir=rtl] .pfeat__name small{font-size:.88rem}
.pfeat__flag{width:26px;height:19px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.pfeat__flag img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.pfeat{grid-template-columns:1fr}}

/* --- stage: one project fills the screen, swipe or press to move on --- */
.countries--stage{padding-bottom:0}
.pstage{position:relative;margin-top:clamp(22px,3vw,40px);height:min(78vh,760px);min-height:520px;overflow:hidden;isolation:isolate;background:var(--bg2)}
.pstage__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.pstage__track::-webkit-scrollbar{display:none}
.pstage__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.pslide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:center;display:flex;align-items:flex-end;overflow:hidden}
.pslide__img{position:absolute;inset:0;margin:0;z-index:-2}
.pslide__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s linear}
.pslide.is-on .pslide__img img{transform:scale(1.13)}
.pslide__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,13,.42) 0%,rgba(11,11,13,.12) 34%,rgba(11,11,13,.72) 78%,rgba(11,11,13,.96) 100%)}
.pslide__cap{position:relative;padding-bottom:clamp(34px,5vw,64px);display:grid;gap:14px;justify-items:start;max-width:760px}
.pslide__count{display:flex;align-items:center;gap:12px;font:500 .72rem/1 var(--sans);letter-spacing:.24em;color:var(--faint);font-variant-numeric:tabular-nums}
.pslide__count b{font-weight:500;color:var(--gold2)}
.pslide__count i{display:block;width:34px;height:1px;background:var(--line2)}
.pslide__name{font:400 clamp(2.1rem,5vw,4.6rem)/1 var(--display);color:var(--white);text-wrap:balance}
[dir=rtl] .pslide__name{font-weight:700;line-height:1.25}
.pslide__meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:clamp(.92rem,1.1vw,1.06rem)}
.pslide__meta .flag{width:26px;height:19px;border-radius:2px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.pslide__meta .flag img{width:100%;height:100%;object-fit:cover}
.pslide__cap .btn{margin-top:8px}
.pslide__cap>*{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.pslide.is-on .pslide__cap>*{opacity:1;transform:none}
.pslide.is-on .pslide__cap>:nth-child(2){transition-delay:.08s}
.pslide.is-on .pslide__cap>:nth-child(3){transition-delay:.16s}
.pslide.is-on .pslide__cap>:nth-child(4){transition-delay:.24s}
.pstage__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;border-radius:50%;border:1px solid rgba(243,239,230,.35);background:rgba(11,11,13,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);display:grid;place-items:center;transition:background .5s,color .5s,border-color .5s,opacity .4s}
.pstage__arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.pstage__arrow[disabled]{opacity:.25;pointer-events:none}
.pstage__arrow .ico{width:22px;height:22px}
.pstage__arrow--prev{inset-inline-start:clamp(12px,2vw,28px)}
.pstage__arrow--next{inset-inline-end:clamp(12px,2vw,28px)}
[dir=rtl] .pstage__arrow .ico{transform:none}
.pstage__dots{position:absolute;z-index:3;bottom:clamp(14px,2vw,22px);inset-inline-end:clamp(16px,3vw,44px);display:flex;gap:8px}
.pdot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(243,239,230,.5);transition:background .4s,border-color .4s,transform .4s}
.pdot.is-on{background:var(--gold);border-color:var(--gold);transform:scale(1.25)}
@media(max-width:700px){
  .pstage{height:min(76vh,620px);min-height:440px}
  .pstage__arrow{display:none}
  .pslide__cap{padding-bottom:44px;gap:11px}
  .pslide__name{font-size:2.1rem}
  .pstage__dots{inset-inline:0;justify-content:center;bottom:16px}
}

/* --- who-we-are gallery: swipe through the pictures, each shown whole --- */
.agal{position:relative;border-radius:8px;overflow:hidden;background:var(--bg3);isolation:isolate}
.agal__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.agal__track::-webkit-scrollbar{display:none}
.agal__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.agal__slide{flex:0 0 100%;margin:0;scroll-snap-align:start;aspect-ratio:1600/948;background:var(--bg3)}
.agal__slide img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.015)}
.agal__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:44px;border:0;background:none;color:#fff;display:grid;place-items:center;opacity:.9;filter:drop-shadow(0 1px 4px rgba(0,0,0,.7));transition:opacity .4s,transform .3s}
.agal:hover .agal__arrow,.agal:focus-within .agal__arrow{opacity:1}
.agal__arrow:hover{opacity:1;color:var(--gold2)}
.agal__arrow .ico{width:22px;height:22px;stroke-width:1.4}
.agal__arrow--prev{inset-inline-start:12px}
.agal__arrow--next{inset-inline-end:12px}
[dir=rtl] .agal__arrow .ico{transform:scaleX(-1)}
.agal__cap{position:absolute;z-index:3;inset-inline:14px;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}
.agal__cap span{font:500 .64rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.88);background:rgba(11,11,13,.55);padding:8px 12px;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
[dir=rtl] .agal__cap span{letter-spacing:0;font-size:.8rem}
.agal__hint{display:inline-flex;align-items:center;gap:4px;font:500 .6rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);background:rgba(11,11,13,.55);padding:7px 9px;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.agal__hint em{font-style:normal;padding:0 2px}
[dir=rtl] .agal__hint em{letter-spacing:0;font-size:.78rem;font-family:'Tajawal',sans-serif}
.agal__hint .ico{width:12px;height:12px;animation:agalNudge 2.4s ease-in-out infinite}
.agal__hint .ico:first-child{animation-delay:1.2s}
@keyframes agalNudge{0%,100%{transform:translateX(0);opacity:.7}50%{transform:translateX(3px);opacity:1}}
.agal__hint .ico:first-child{animation-name:agalNudgeL}
@keyframes agalNudgeL{0%,100%{transform:translateX(0);opacity:.7}50%{transform:translateX(-3px);opacity:1}}
@media(prefers-reduced-motion:reduce){.agal__hint .ico{animation:none}}
@media(max-width:900px){.agal__arrow{width:28px;height:40px}.agal__arrow .ico{width:16px;height:16px}.agal__arrow--prev{inset-inline-start:8px}.agal__arrow--next{inset-inline-end:8px}.agal__cap span{font-size:.58rem;padding:7px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58%}}

/* --- phones: the country cards are a compact row (picture beside the name), not a full-screen block --- */
@media(max-width:700px){
  .ccard__head{grid-template-columns:36% minmax(0,1fr);align-items:stretch}
  .ccard__media{aspect-ratio:auto;height:100%;min-height:108px;position:relative}
  .ccard__media img{position:absolute;inset:0;width:100%;height:100%}
  .ccard__media::after{background:linear-gradient(90deg,transparent 60%,rgba(11,11,13,.35))}
  [dir=rtl] .ccard__media::after{background:linear-gradient(270deg,transparent 60%,rgba(11,11,13,.35))}
  .ccard--plain .ccard__media{min-height:108px}
  .ccard__flagbig{width:44%}
  .ccard__text{padding:12px 14px;column-gap:10px;align-content:center}
  .ccard__flag{width:22px;height:16px;margin-top:3px}
  .ccard__name{font-size:1.18rem;padding-inline-end:40px}
  [dir=rtl] .ccard__name{font-size:1.28rem;line-height:1.3}
  .ccard__tag{font-size:.66rem;margin-top:3px}
  [dir=rtl] .ccard__tag{font-size:.82rem}
  .ccard__count{margin-top:7px;font-size:.62rem}
  [dir=rtl] .ccard__count{font-size:.8rem}
  .ccard__plus{width:32px;height:32px;inset-inline-end:12px;bottom:auto;top:50%;transform:translateY(-50%)}
  .ccard__plus .ico{width:14px;height:14px}
  .ccard.is-open .ccard__plus{transform:translateY(-50%) rotate(45deg)}
  .ccard__inner{padding-inline:14px}
  .cgrid{gap:10px}
}
/* --- phones and tablets: no blur-behind and no hand-drawn map filter; both make scrolling stutter on iPhones --- */
@media(hover:none),(max-width:900px){
  .hd,.hd.is-solid,.card__btn,.about__fig figcaption,.pstage__arrow,.agal__arrow,.agal__cap span,.agal__hint,.map__label{-webkit-backdrop-filter:none;backdrop-filter:none}
  .hd.is-solid{background:#0B0B0D}
  .map__svg [filter]{filter:none}
  .map__pin{filter:none}
}

/* PC: every country card keeps room for a two-line name, so the four cards end on the same line */
@media(min-width:701px){.ccard__name{min-height:2.2em;font-size:clamp(1.1rem,1.3vw,1.55rem);padding-inline-end:6px;text-wrap:balance}[dir=rtl] .ccard__name{min-height:2.8em}.ccard__tag{min-height:4.6em;padding-inline-end:52px}}

/* --- behind the country cards: a blurred coast, fading in from the first screen and out again below --- */
.net{position:relative;isolation:isolate;overflow:clip}
.net::before{content:"";position:absolute;inset:0;z-index:-2;background:url(/img/home/bg-network.jpg) center/cover no-repeat}
.net::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--bg) 0%,rgba(11,11,13,.3) 20%,rgba(11,11,13,.3) 58%,rgba(11,11,13,.85) 86%,var(--bg) 100%)}
@media(max-width:700px){.net{padding-bottom:64px}.net::after{background:linear-gradient(180deg,var(--bg) 0%,rgba(11,11,13,.3) 16%,rgba(11,11,13,.3) 52%,rgba(11,11,13,.9) 82%,var(--bg) 96%)}}

/* --- the social icons at the end of the page --- */
.ft__social{display:flex;align-items:center;flex-wrap:wrap;gap:14px 16px;padding:30px 0 8px}
.ft__soclabel{font:400 1.25rem/1 var(--display);letter-spacing:.06em;color:var(--ink);margin-inline-end:22px}
[dir=rtl] .ft__soclabel{letter-spacing:0;font-size:1.3rem}
.ft__social a{width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;color:#0B0B0D;background:linear-gradient(160deg,var(--gold2),var(--gold));box-shadow:0 10px 26px rgba(201,162,75,.22);transition:transform .35s ease,box-shadow .35s ease}
.ft__social a svg{width:26px;height:26px}
.ft__social a:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(201,162,75,.34)}
@media(max-width:700px){.ft__soclabel{flex-basis:100%;margin:0 0 10px}.ft__social{gap:12px 12px;padding-top:26px}.ft__social a{width:52px;height:52px}.ft__social a svg{width:24px;height:24px}}

/* her request: every paragraph of running text lines up on both edges, in both languages */
p{text-align:justify}

/* the promise: a quiet closing word before the footer */
.promise{padding:72px 0 88px;background:var(--bg);position:relative;overflow:hidden}
.promise::before{content:"";position:absolute;inset:auto 0 -40% 0;height:120%;background:radial-gradient(60% 50% at 50% 100%,rgba(201,162,75,.16),transparent 70%);pointer-events:none}
.promise__in{position:relative;text-align:center;max-width:760px;margin:0 auto}
.promise__rule{display:block;width:56px;height:1px;background:var(--gold);margin:0 auto 22px;opacity:.8}
.promise .eyebrow{margin-bottom:14px;display:block;text-align:center;justify-content:center}
.promise .h2{font-size:clamp(2rem,4.2vw,3.6rem)}
.promise__p{margin:22px auto 0;text-align:center;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.8;color:var(--muted)}
[dir=rtl] .promise__p{line-height:2}
@media(max-width:900px){.promise{padding:56px 0 64px}}
