/* ============================================================
   ARIBI IMPORT — style.css
   Corporate Premium 2026
   ============================================================ */

/* ── Variables ────────────────────────────────────────────── */
:root {
  --orange:       #F47C20;
  --orange-dk:    #C45E0A;
  --orange-lt:    #FFB066;
  --orange-glow:  rgba(244,124,32,.25);
  --black:        #0A0A0A;
  --dark:         #101010;
  --dark2:        #181818;
  --dark3:        #222;
  --card-dark:    #1A1A1A;
  --white:        #FFFFFF;
  --muted:        #888;
  --muted-lt:     #bbb;
  --bg-lt:        #F7F7F7;
  --border-dark:  rgba(255,255,255,.08);
  --border-lt:    rgba(0,0,0,.09);

  --font:         'Poppins', sans-serif;
  --font-ar:      'Cairo', sans-serif;

  --ease:         cubic-bezier(.4,0,.2,1);
  --t:            .3s var(--ease);
  --t-slow:       .6s var(--ease);

  --sh-orange:    0 12px 40px rgba(244,124,32,.35);
  --sh-card:      0 8px 32px rgba(0,0,0,.12);
  --sh-card-dk:   0 12px 48px rgba(0,0,0,.35);

  --r-sm:   8px;
  --r-md:  16px;
  --r-lg:  24px;
  --r-xl:  32px;
}

/* ── Reset ────────────────────────────────────────────────── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body {
  font-family: var(--font);
  background: var(--white);
  color: var(--dark);
  line-height: 1.6;
  overflow-x: hidden;
}
body.rtl { font-family: var(--font-ar); direction: rtl; }

img { max-width:100%; display:block; }
a   { text-decoration:none; }
ul,ol { list-style:none; }
button { cursor:pointer; border:none; background:none; }

/* Scrollbar */
::-webkit-scrollbar       { width:5px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--orange); border-radius:3px; }

/* ── Utilities ────────────────────────────────────────────── */
.container {
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 2rem;
}
.section { padding: 7rem 0; }
.section-dark { background: var(--dark); }

/* Section header */
.sec-head { text-align:center; margin-bottom:4rem; }
.sec-head h2 { font-size:clamp(1.9rem,4vw,2.9rem); font-weight:800; margin:.5rem 0 1rem; }
.sec-head h2.light { color:var(--white); }
.bar {
  width:56px; height:4px;
  background:linear-gradient(90deg,var(--orange),var(--orange-lt));
  border-radius:2px; margin:0 auto;
}

/* Eyebrow */
.eyebrow {
  display:inline-block;
  padding:.35rem 1.1rem;
  background:rgba(244,124,32,.1);
  border:1px solid rgba(244,124,32,.3);
  border-radius:50px;
  color:var(--orange);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.eyebrow.light { background:rgba(244,124,32,.15); color:var(--orange-lt); }

/* Buttons */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.85rem 1.9rem;
  border-radius:var(--r-sm);
  font-family:var(--font);
  font-size:.92rem; font-weight:600;
  border:2px solid transparent;
  transition: var(--t);
  white-space:nowrap;
  position:relative; overflow:hidden;
}
.btn::after {
  content:'';
  position:absolute; inset:0;
  background:rgba(255,255,255,.08);
  opacity:0; transition:opacity .25s;
}
.btn:hover::after { opacity:1; }

.btn-orange {
  background:var(--orange); color:var(--white); border-color:var(--orange);
}
.btn-orange:hover {
  background:var(--orange-dk); border-color:var(--orange-dk);
  transform:translateY(-2px); box-shadow:var(--sh-orange);
}
.btn-ghost {
  background:transparent; color:var(--white);
  border-color:rgba(255,255,255,.45);
}
.btn-ghost:hover {
  background:var(--white); color:var(--dark);
  border-color:var(--white); transform:translateY(-2px);
}
.w-full { width:100%; justify-content:center; }

/* Scroll-reveal */
.reveal { opacity:0; transform:translateY(40px); transition:opacity .75s var(--ease), transform .75s var(--ease); }
.reveal.on { opacity:1; transform:translateY(0); }

/* ── NAVBAR ───────────────────────────────────────────────── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1.4rem 0;
  transition: var(--t);
}
.navbar.scrolled {
  background:rgba(10,10,10,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  padding:.9rem 0;
  border-bottom:1px solid rgba(244,124,32,.18);
  box-shadow:0 4px 30px rgba(0,0,0,.3);
}
.nav-inner {
  max-width:1260px; margin:0 auto; padding:0 2rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.nav-brand {
  display:flex; align-items:center; gap:.7rem;
}
.brand-svg { flex-shrink:0; }
.brand-name {
  font-size:1.05rem; font-weight:800; color:var(--white);
  letter-spacing:.5px; text-transform:uppercase;
}
.brand-name em { font-style:normal; color:var(--orange); }

.nav-links {
  display:flex; gap:.15rem;
}
.nav-links a {
  color:rgba(255,255,255,.75); font-size:.88rem; font-weight:500;
  padding:.45rem .85rem; border-radius:var(--r-sm);
  transition:var(--t); position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:2px; left:50%;
  width:0; height:2px; background:var(--orange); border-radius:2px;
  transition:var(--t); transform:translateX(-50%);
}
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { width:70%; }
.nav-links a.active { color:var(--white); }
.nav-links a.active::after { width:70%; }

/* Lang switcher */
.nav-end { display:flex; align-items:center; gap:1.1rem; }
.lang-row {
  display:flex; gap:.15rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.11);
  border-radius:50px; padding:.2rem;
}
.lbtn {
  background:none; border:none; color:rgba(255,255,255,.55);
  font-family:var(--font); font-size:.75rem; font-weight:600;
  padding:.28rem .62rem; border-radius:50px; cursor:pointer;
  transition:var(--t);
}
.lbtn.active,.lbtn:hover { background:var(--orange); color:var(--white); }

/* Burger */
.burger {
  display:none; flex-direction:column; gap:5px; padding:3px;
}
.burger span {
  display:block; width:24px; height:2px;
  background:var(--white); border-radius:2px; transition:var(--t);
}
.burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── HERO ─────────────────────────────────────────────────── */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center;
  background:var(--black); overflow:hidden;
}
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; }
.hero-overlay {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 15% 50%, rgba(244,124,32,.1) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 85% 20%, rgba(244,124,32,.05) 0%, transparent 55%),
    linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.55) 100%);
  pointer-events:none;
}
/* Subtle grid texture */
.hero::before {
  content:'';
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(244,124,32,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,124,32,.035) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}

.hero-body {
  position:relative; z-index:2;
  max-width:1260px; margin:0 auto; padding:0 2rem;
  padding-top:5rem;
  display:flex; flex-direction:column; gap:1.5rem;
  animation:fadeUp .9s var(--ease) both;
}
@keyframes fadeUp   { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeDown { from{opacity:0;transform:translateY(-20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }

/* Pill */
.hero-pill {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.45rem 1.2rem;
  background:rgba(244,124,32,.14); border:1px solid rgba(244,124,32,.38);
  border-radius:50px; color:var(--orange-lt);
  font-size:.8rem; font-weight:600; letter-spacing:1px; text-transform:uppercase;
  width:fit-content;
  animation:fadeDown .8s var(--ease) .15s both;
}
.hero-pill::before {
  content:''; width:7px; height:7px; background:var(--orange);
  border-radius:50%; animation:pulse 2s ease infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.6)} }

/* Title */
.hero-title {
  display:flex; flex-direction:column; line-height:1;
  font-weight:900; letter-spacing:-2px;
  font-size:clamp(3rem,9vw,7rem);
  animation:fadeUp .8s var(--ease) .3s both;
}
.ht-top  { color:var(--white); }
.ht-main { color:var(--orange); }

/* Sub */
.hero-sub {
  max-width:540px; font-size:1.05rem;
  color:rgba(255,255,255,.62); line-height:1.75;
  animation:fadeUp .8s var(--ease) .5s both;
}

/* CTAs */
.hero-ctas {
  display:flex; gap:1rem; flex-wrap:wrap;
  animation:fadeUp .8s var(--ease) .65s both;
}

/* KPIs */
.hero-kpis {
  display:flex; align-items:center; gap:2rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.08);
  animation:fadeUp .8s var(--ease) .8s both;
}
.kpi { display:flex; flex-direction:column; gap:.2rem; }
.kpi strong { font-size:1.9rem; font-weight:800; color:var(--orange); line-height:1; }
.kpi span   { font-size:.78rem; color:rgba(255,255,255,.48); font-weight:500; }
.kpi-sep    { width:1px; height:38px; background:rgba(255,255,255,.14); }

/* Scroll cue */
.scroll-cue {
  position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center;
  background:none; border:none; cursor:pointer;
  animation:fadeIn .8s var(--ease) 1.4s both;
}
.scroll-line {
  display:block; width:1px; height:48px;
  background:linear-gradient(180deg,var(--orange),transparent);
  animation:scrollPulse 2s ease infinite;
}
@keyframes scrollPulse { 0%,100%{opacity:.8} 50%{opacity:.2} }

/* ── ABOUT ────────────────────────────────────────────────── */
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; align-items:center;
}
.about-visual {
  position:relative; height:420px;
}
/* Orbiting rings */
.av-orbit {
  position:absolute; border-radius:50%;
  top:50%; left:50%; transform:translate(-50%,-50%);
  border:1px solid rgba(244,124,32,.12);
}
.av-orbit-1 { width:320px; height:320px; animation:spin 22s linear infinite; }
.av-orbit-2 { width:430px; height:430px; animation:spin 36s linear infinite reverse; border-color:rgba(244,124,32,.06); }
@keyframes spin { to{transform:translate(-50%,-50%) rotate(360deg)} }

.av-core {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:230px; text-align:center;
  background:var(--dark);
  border:1px solid rgba(244,124,32,.2);
  border-radius:var(--r-lg);
  padding:2.2rem 1.8rem;
  box-shadow:0 24px 60px rgba(0,0,0,.3);
}
.av-icon {
  width:72px; height:72px; margin:0 auto 1.1rem;
  background:linear-gradient(135deg,var(--orange),var(--orange-dk));
  border-radius:var(--r-md); display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; color:var(--white);
  box-shadow:0 8px 28px rgba(244,124,32,.4);
}
.av-core-title { color:var(--white); font-weight:700; font-size:.95rem; margin-bottom:.3rem; }
.av-core-sub   { color:var(--muted); font-size:.78rem; }

.av-chip {
  position:absolute;
  display:flex; align-items:center; gap:.55rem;
  background:var(--white); border-radius:var(--r-sm);
  padding:.75rem 1.1rem; font-size:.82rem; font-weight:600;
  color:var(--dark); box-shadow:var(--sh-card); white-space:nowrap;
}
.av-chip i { color:var(--orange); font-size:1rem; }
.top-r { top:10%; right:-4%; animation:floatY 4s ease-in-out infinite alternate; }
.bot-l { bottom:10%; left:-4%; animation:floatY 4s ease-in-out 2s infinite alternate; }
@keyframes floatY { from{transform:translateY(0)} to{transform:translateY(-10px)} }

/* About text */
.about-text h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:800; margin:.4rem 0 1.1rem; }
.about-text h3 { font-size:1.35rem; font-weight:700; margin-bottom:1rem; }
.about-text p  { color:#555; line-height:1.8; margin-bottom:.9rem; }

.about-checks {
  display:grid; grid-template-columns:1fr 1fr;
  gap:.7rem; margin:1.6rem 0;
}
.chk { display:flex; align-items:center; gap:.55rem; font-size:.88rem; font-weight:500; }
.chk i { color:var(--orange); font-size:1rem; }

/* ── SERVICES ─────────────────────────────────────────────── */
.svc-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;
}
.svc-card {
  background:rgba(255,255,255,.04);
  border:1px solid var(--border-dark);
  border-radius:var(--r-lg); padding:2.2rem 1.8rem;
  position:relative; overflow:hidden;
  transition:var(--t);
  animation-delay:calc(var(--di,0) * 80ms);
}
.svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:2px; background:linear-gradient(90deg,transparent,var(--orange),transparent);
  transform:scaleX(0); transition:transform .4s var(--ease);
}
.svc-card:hover { background:rgba(244,124,32,.06); border-color:rgba(244,124,32,.22); transform:translateY(-6px); box-shadow:var(--sh-card-dk); }
.svc-card:hover::before { transform:scaleX(1); }

.svc-ico {
  width:56px; height:56px; margin-bottom:1.4rem;
  background:rgba(244,124,32,.12); border:1px solid rgba(244,124,32,.2);
  border-radius:var(--r-md); display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:var(--orange); transition:var(--t);
}
.svc-card:hover .svc-ico { background:var(--orange); color:var(--white); box-shadow:0 6px 22px rgba(244,124,32,.4); }
.svc-card h3 { font-size:1.05rem; font-weight:700; color:var(--white); margin-bottom:.65rem; }
.svc-card p  { font-size:.87rem; color:rgba(255,255,255,.48); line-height:1.7; }

/* Bottom hover line */
.svc-card::after {
  content:''; position:absolute; bottom:0; left:0;
  height:3px; width:0;
  background:linear-gradient(90deg,var(--orange),var(--orange-lt));
  transition:width .4s var(--ease);
  border-radius:0 0 0 var(--r-lg);
}
.svc-card:hover::after { width:100%; }

/* ── RÉALISATIONS ─────────────────────────────────────────── */
.real-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:1.4rem;
}
.real-card {
  position:relative; border-radius:var(--r-lg);
  overflow:hidden; min-height:210px; cursor:pointer;
  transition:transform .4s var(--ease);
  animation-delay:calc(var(--di,0) * 80ms);
}
.real-card.real-large { grid-row:1/3; min-height:440px; }
.real-card::before {
  content:''; position:absolute; inset:0;
  background:var(--rbg,#222); transition:transform .5s var(--ease);
}
.real-card:hover::before { transform:scale(1.05); }

.real-body {
  position:absolute; inset:0; z-index:2; padding:2.2rem;
  display:flex; flex-direction:column; justify-content:flex-end;
  background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.15) 60%,transparent 100%);
}
.real-large .real-body { background:linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.2) 55%,transparent 100%); }

.real-tag {
  display:inline-block; padding:.28rem .85rem;
  background:rgba(244,124,32,.28); border:1px solid rgba(244,124,32,.5);
  border-radius:50px; color:var(--orange-lt);
  font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:1px;
  margin-bottom:.65rem; width:fit-content;
}
.real-body h3 { color:var(--white); font-size:1.15rem; font-weight:700; margin-bottom:.45rem; }
.real-large .real-body h3 { font-size:1.45rem; }
.real-body p  { color:rgba(255,255,255,.6); font-size:.85rem; line-height:1.6; margin-bottom:.9rem; }
.real-arrow {
  width:36px; height:36px; background:var(--orange); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:.82rem; transition:var(--t);
}
.real-card:hover .real-arrow { background:var(--white); color:var(--orange); transform:translateX(5px); }

/* ── BUREAUX ──────────────────────────────────────────────── */
.bureaux-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:2rem; max-width:860px; margin:0 auto;
}
.bureau { animation-delay:calc(var(--di,0) * 120ms); }

.bureau-glass {
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--border-dark);
  border-radius:var(--r-xl); padding:2.4rem;
  position:relative; overflow:hidden;
  transition:var(--t);
}
/* subtle radial glow */
.bureau-glass::before {
  content:''; position:absolute;
  top:-50%; right:-50%; width:200%; height:200%;
  background:radial-gradient(circle,rgba(244,124,32,.06) 0%,transparent 60%);
  pointer-events:none;
}
.bureau-glass:hover {
  background:rgba(255,255,255,.07); border-color:rgba(244,124,32,.28);
  transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,.45);
}

.bureau-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.6rem; }
.bureau-flag { font-size:2.4rem; }
.bureau-badge {
  padding:.28rem .85rem;
  background:rgba(244,124,32,.14); border:1px solid rgba(244,124,32,.28);
  border-radius:50px; color:var(--orange); font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.5px;
}

.bureau-ico {
  width:60px; height:60px; margin-bottom:1.1rem;
  background:linear-gradient(135deg,var(--orange),var(--orange-dk));
  border-radius:var(--r-md); display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--white);
  box-shadow:0 8px 26px rgba(244,124,32,.4);
}
.bureau-glass h3 { font-size:1.65rem; font-weight:800; color:var(--white); margin-bottom:.5rem; }
.bureau-addr {
  display:flex; align-items:center; gap:.45rem;
  color:var(--orange); font-size:.88rem; font-weight:500; margin-bottom:1.5rem;
}

.bureau-info {
  display:flex; flex-direction:column; gap:.7rem;
  padding:1.1rem; background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06); border-radius:var(--r-md); margin-bottom:1.8rem;
}
.bureau-info li { display:flex; align-items:center; gap:.7rem; font-size:.84rem; color:rgba(255,255,255,.55); }
.bureau-info li i { color:var(--orange); width:14px; text-align:center; }

.bureau-btn {
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.82rem; background:linear-gradient(135deg,var(--orange),var(--orange-dk));
  color:var(--white); border-radius:var(--r-sm); font-size:.88rem; font-weight:600;
  border:1px solid transparent; transition:var(--t);
}
.bureau-btn:hover { background:transparent; border-color:var(--orange); color:var(--orange); }

/* Future slot */
.bureau-future {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:340px; text-align:center;
  border-style:dashed; border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.02);
}
.future-plus {
  width:64px; height:64px; margin-bottom:1.2rem;
  background:rgba(244,124,32,.1); border:2px dashed rgba(244,124,32,.3);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--orange);
}
.bureau-future h3 { color:rgba(255,255,255,.45); font-size:1.2rem; margin-bottom:.45rem; }
.bureau-future p  { color:rgba(255,255,255,.28); font-size:.84rem; }

/* ── CONTACT ──────────────────────────────────────────────── */
.contact-grid {
  display:grid; grid-template-columns:1fr 1.2fr;
  gap:4rem; align-items:start;
}
.contact-info h3 { font-size:1.55rem; font-weight:700; margin-bottom:.9rem; }
.contact-info > p { color:#555; line-height:1.8; margin-bottom:1.8rem; }

.cnt-list { display:flex; flex-direction:column; gap:1rem; margin-bottom:1.8rem; }
.cnt-list li { display:flex; align-items:flex-start; gap:.9rem; }
.cnt-ico {
  width:44px; height:44px; flex-shrink:0;
  background:rgba(244,124,32,.08); border:1px solid rgba(244,124,32,.15);
  border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center;
  color:var(--orange); font-size:.95rem;
}
.cnt-list li > div { display:flex; flex-direction:column; gap:.18rem; }
.cnt-list small { font-size:.72rem; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
.cnt-list span   { font-size:.88rem; font-weight:500; color:var(--dark); }

.maps-btn {
  display:inline-flex; align-items:center; gap:.35rem; margin-top:.5rem;
  font-size:.73rem; font-weight:600; color:var(--orange);
  border:1px solid rgba(244,124,32,.35); border-radius:20px;
  padding:.24rem .8rem; transition:var(--t); text-decoration:none;
}
.maps-btn:hover { background:var(--orange); color:#fff; border-color:var(--orange); }

.socials { display:flex; gap:.65rem; }
.soc {
  width:40px; height:40px; background:var(--dark); color:var(--white);
  border:1px solid rgba(255,255,255,.1); border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  font-size:.88rem; transition:var(--t);
}
.soc:hover { background:var(--orange); border-color:var(--orange); transform:translateY(-3px); box-shadow:0 8px 20px rgba(244,124,32,.4); }

/* Form */
.contact-form-wrap {
  background:var(--bg-lt); border-radius:var(--r-xl);
  padding:2.4rem; border:1px solid var(--border-lt);
}
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.f-group { position:relative; margin-bottom:1.2rem; }
.f-group:last-of-type { margin-bottom:1.6rem; }
.f-input {
  width:100%; padding:1rem 1.15rem; padding-top:1.5rem;
  background:var(--white); border:1.5px solid var(--border-lt);
  border-radius:var(--r-sm); font-family:var(--font);
  font-size:.88rem; color:var(--dark); outline:none; transition:var(--t);
}
.f-input:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(244,124,32,.1); }
.f-lbl {
  position:absolute; top:50%; left:1.15rem;
  transform:translateY(-50%); font-size:.85rem;
  color:var(--muted); pointer-events:none; transition:var(--t);
}
.f-input:focus + .f-lbl,
.f-input:not(:placeholder-shown) + .f-lbl {
  top:.52rem; font-size:.68rem; color:var(--orange); transform:none;
}
.f-ta { min-height:130px; resize:vertical; padding-top:1.75rem; }
.f-ta + .f-lbl          { top:1.15rem; transform:none; }
.f-ta:focus + .f-lbl,
.f-ta:not(:placeholder-shown) + .f-lbl { top:.52rem; font-size:.68rem; }

/* ── CAPTCHA ──────────────────────────────────────────────── */
.captcha-wrap { margin-bottom:1.2rem; }
.captcha-q {
  display:flex; align-items:center; gap:.55rem; flex-wrap:wrap;
  font-size:.85rem; color:rgba(255,255,255,.55); margin-bottom:.65rem;
}
.captcha-q i { color:var(--orange); font-size:.9rem; }
.captcha-question {
  font-size:1rem; font-weight:700; color:var(--white);
  background:rgba(244,124,32,.12); border:1px solid rgba(244,124,32,.25);
  padding:.15rem .5rem; border-radius:4px; letter-spacing:.5px;
}
.captcha-refresh {
  background:none; border:none; cursor:pointer;
  color:rgba(255,255,255,.35); font-size:.8rem; padding:.1rem .3rem;
  transition:var(--t); border-radius:4px; line-height:1;
}
.captcha-refresh:hover { color:var(--orange); background:rgba(244,124,32,.1); }
.captcha-input { max-width:120px; }
.captcha-error {
  font-size:.78rem; color:#f87171; margin-top:-.5rem;
  margin-bottom:.6rem; display:flex; align-items:center; gap:.35rem;
}
.hidden { display:none !important; }

/* ── FOOTER ───────────────────────────────────────────────── */
.footer { background:var(--black); color:var(--white); }
.footer-top { padding:5rem 0 3rem; border-bottom:1px solid rgba(255,255,255,.06); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; }

.foot-logo {
  display:flex; align-items:center; gap:.65rem;
  margin-bottom:1.1rem;
}
.foot-logo span { font-size:1.05rem; font-weight:800; letter-spacing:.3px; }
.foot-brand p   { color:rgba(255,255,255,.42); font-size:.84rem; line-height:1.8; margin-bottom:1.4rem; }

.foot-soc { display:flex; gap:.55rem; }
.foot-soc a {
  width:36px; height:36px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.55);
  border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center;
  font-size:.82rem; transition:var(--t);
}
.foot-soc a:hover { background:var(--orange); border-color:var(--orange); color:var(--white); }

.foot-col h5 { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:1.4rem; }
.foot-col a,.foot-col span {
  display:block; color:rgba(255,255,255,.42); font-size:.84rem;
  margin-bottom:.65rem; transition:var(--t);
}
.foot-col a:hover { color:var(--orange); padding-left:5px; }
.foot-col i { color:var(--orange); margin-right:.45rem; }

.footer-bar { padding:1.4rem 0; }
.footer-bar-inner {
  display:flex; justify-content:space-between; align-items:center;
}
.footer-bar-inner span { font-size:.78rem; color:rgba(255,255,255,.28); }

/* Back to top */
.back-top {
  position:fixed; bottom:1.8rem; right:1.8rem; z-index:900;
  width:46px; height:46px; background:var(--orange); color:var(--white);
  border-radius:50%; font-size:.9rem;
  opacity:0; visibility:hidden; transform:translateY(16px);
  transition:var(--t); box-shadow:0 6px 22px rgba(244,124,32,.5);
}
.back-top.show { opacity:1; visibility:visible; transform:translateY(0); }
.back-top:hover { background:var(--orange-dk); transform:translateY(-3px); }

/* ── RTL overrides ────────────────────────────────────────── */
[dir="rtl"] .about-grid   { direction:rtl; }
[dir="rtl"] .hero-body    { align-items:flex-start; }
[dir="rtl"] .hero-sub     { text-align:right; }
[dir="rtl"] .nav-links a::after { left:auto; right:50%; transform:translateX(50%); }
[dir="rtl"] .foot-col a:hover   { padding-left:0; padding-right:5px; }
[dir="rtl"] .av-chip.top-r { right:auto; left:-4%; }
[dir="rtl"] .av-chip.bot-l { left:auto; right:-4%; }
[dir="rtl"] .about-checks  { direction:rtl; }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .about-grid { grid-template-columns:1fr; gap:3.5rem; }
  .about-visual { height:320px; }
  .av-orbit-1 { width:240px; height:240px; }
  .av-orbit-2 { width:330px; height:330px; }
  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
}

@media (max-width: 768px) {
  .section { padding:5rem 0; }

  /* Mobile nav */
  .nav-links {
    position:fixed; top:0; right:-100%; width:min(290px,85vw); height:100vh;
    background:rgba(10,10,10,.97); backdrop-filter:blur(20px);
    flex-direction:column; padding:5.5rem 2rem 2rem;
    gap:.35rem; border-left:1px solid rgba(244,124,32,.2);
    transition:right .4s var(--ease); z-index:999;
  }
  [dir="rtl"] .nav-links { right:auto; left:-100%; border-left:none; border-right:1px solid rgba(244,124,32,.2); }
  .nav-links.open  { right:0; }
  [dir="rtl"] .nav-links.open { left:0; right:auto; }
  .nav-links a { font-size:.98rem; padding:.7rem 1rem; border-radius:var(--r-sm); }
  .burger { display:flex; z-index:1000; }

  .hero-ctas { flex-direction:column; }
  .btn { justify-content:center; }
  .hero-kpis { gap:1.2rem; flex-wrap:wrap; }
  .kpi-sep { display:none; }

  .about-grid { grid-template-columns:1fr; }
  .svc-grid { grid-template-columns:1fr; }
  .real-grid { grid-template-columns:1fr; }
  .real-card.real-large { grid-row:auto; min-height:280px; }
  .bureaux-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; gap:3rem; }
  .f-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bar-inner { flex-direction:column; gap:.4rem; text-align:center; }
  .about-checks { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
  .container { padding:0 1.2rem; }
  .hero-title { font-size:clamp(2.6rem,14vw,4rem); }
  .about-visual { height:280px; }
  .av-chip { display:none; }
}

/* ============================================================
   CATALOGUE SECTION
   ============================================================ */

.cat-section { background:var(--dark); }

/* Arabic header text */
.cat-ar-header {
  margin:.8rem 0 .2rem;
  font-family: var(--font-ar);
}
.cat-ar-title {
  font-size:clamp(1.1rem,2.5vw,1.5rem);
  color:var(--orange-lt); font-weight:700; direction:rtl;
  margin-bottom:.3rem;
}
.cat-ar-sub {
  font-size:.95rem; color:rgba(255,255,255,.5);
  direction:rtl; font-weight:400;
}

/* Category grid */
.cat-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
  margin-bottom:2.5rem;
}

.cat-card {
  background:rgba(255,255,255,.04);
  border:1px solid var(--border-dark);
  border-radius:var(--r-lg);
  padding:2rem 1.6rem;
  cursor:pointer;
  position:relative; overflow:hidden;
  transition:var(--t);
  animation-delay:calc(var(--di,0) * 70ms);
}
.cat-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(244,124,32,.08),transparent);
  opacity:0; transition:opacity .35s var(--ease);
}
.cat-card:hover { border-color:rgba(244,124,32,.35); transform:translateY(-6px); box-shadow:0 18px 50px rgba(0,0,0,.4); }
.cat-card:hover::before { opacity:1; }

.cat-ico-wrap {
  width:54px; height:54px; margin-bottom:1.25rem;
  background:rgba(244,124,32,.12);
  border:1px solid rgba(244,124,32,.22);
  border-radius:var(--r-md);
  display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; color:var(--orange);
  transition:var(--t);
}
.cat-card:hover .cat-ico-wrap {
  background:var(--orange); color:var(--white);
  box-shadow:0 6px 22px rgba(244,124,32,.45);
}

.cat-card h4 {
  font-size:1rem; font-weight:700; color:var(--white);
  margin-bottom:.35rem;
}
.cat-ar-label {
  display:block; font-family:var(--font-ar);
  font-size:.88rem; color:var(--orange-lt); font-weight:600;
  margin-bottom:.5rem; direction:rtl; text-align:right;
}
.cat-card p {
  font-size:.78rem; color:rgba(255,255,255,.4); line-height:1.6;
}

/* Bottom accent bar */
.cat-line {
  position:absolute; bottom:0; left:0;
  height:3px; width:0;
  background:linear-gradient(90deg,var(--orange),var(--orange-lt));
  transition:width .4s var(--ease);
  border-radius:0 0 0 var(--r-lg);
}
.cat-card:hover .cat-line { width:100%; }

/* CTA Banner */
.cat-cta {
  border-radius:var(--r-xl); overflow:hidden;
  background:linear-gradient(135deg, rgba(244,124,32,.18) 0%, rgba(196,94,10,.12) 50%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(244,124,32,.25);
  margin-top:.5rem;
}
.cat-cta-inner {
  display:flex; align-items:center;
  justify-content:space-between; gap:2rem;
  padding:2.5rem 3rem;
  background:
    radial-gradient(ellipse 60% 80% at 0% 50%,rgba(244,124,32,.1),transparent);
}
.cat-cta-badge {
  display:inline-block; padding:.28rem .85rem;
  background:rgba(244,124,32,.2); border:1px solid rgba(244,124,32,.4);
  border-radius:50px; color:var(--orange-lt);
  font-size:.72rem; font-weight:600; text-transform:uppercase;
  letter-spacing:1px; margin-bottom:.75rem;
}
.cat-cta-left h3 { font-size:1.55rem; font-weight:800; color:var(--white); margin-bottom:.4rem; }
.cat-cta-left p  { font-size:.9rem; color:rgba(255,255,255,.5); }
.cat-cta-btn { flex-shrink:0; padding:1rem 2.2rem; font-size:.95rem; }

/* ── Responsive Catalogue ──────────────────────────────── */
@media (max-width: 1024px) { .cat-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 768px) {
  .cat-cta-inner { flex-direction:column; padding:2rem; text-align:center; }
  .cat-cta-badge { display:block; width:fit-content; margin:0 auto .75rem; }
}
@media (max-width: 480px) { .cat-grid { grid-template-columns:repeat(2,1fr); gap:.85rem; } }


/* ============================================================
   MARQUES / BRANDS SECTION
   ============================================================ */

.marques-section { background:var(--bg-lt); padding-bottom:5rem; }
.marques-section .sec-head h2 { color:var(--dark); }

.brands-ar-label {
  font-family:var(--font-ar);
  font-size:1.1rem; font-weight:700; color:var(--orange);
  direction:rtl; margin:.25rem 0 .5rem;
  letter-spacing:.5px;
}

/* Overflow mask — fades edges */
.brands-overflow {
  overflow:hidden; position:relative;
  padding: .4rem 0;
}
.brands-overflow::before,
.brands-overflow::after {
  content:''; position:absolute; top:0; bottom:0; z-index:2; width:100px;
  pointer-events:none;
}
.brands-overflow::before { left:0;  background:linear-gradient(90deg,var(--bg-lt),transparent); }
.brands-overflow::after  { right:0; background:linear-gradient(-90deg,var(--bg-lt),transparent); }

/* Scroll track */
.brands-scroll {
  display:flex; gap:1.2rem; width:max-content;
  will-change:transform;
}
.brands-ltr { animation:brandsLeft  30s linear infinite; }
.brands-rtl { animation:brandsRight 28s linear infinite; }

.brands-overflow:hover .brands-scroll { animation-play-state:paused; }

@keyframes brandsLeft  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes brandsRight { from{transform:translateX(-50%)} to{transform:translateX(0)} }

/* Brand card */
.brand-item { flex-shrink:0; }
.brand-card {
  display:flex; align-items:center; justify-content:center;
  width:160px; height:80px;
  background:var(--white);
  border:1.5px solid rgba(0,0,0,.08);
  border-radius:var(--r-md);
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  cursor:default;
  transition:var(--t);
  filter:grayscale(1) opacity(.55);
  position:relative; overflow:hidden;
}
.brand-card::before {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:3px; background:var(--bc,#F47C20);
  transform:scaleX(0); transition:transform .35s var(--ease);
  transform-origin:left;
}
.brand-card:hover {
  filter:grayscale(0) opacity(1);
  border-color:rgba(0,0,0,.14);
  transform:translateY(-4px);
  box-shadow:0 8px 28px rgba(0,0,0,.14);
}
.brand-card:hover::before { transform:scaleX(1); }

.brand-card span {
  position:relative; z-index:2;
  font-size:.62rem; font-weight:800; letter-spacing:.8px;
  color:#333; text-transform:uppercase;
  text-align:center; line-height:1.25;
  transition:var(--t);
}

/* Brand card image support */
.brand-img {
  position:relative;
  width:auto; max-width:80%; height:44px;
  object-fit:contain; z-index:2;
  transition:transform .4s var(--ease);
}
.brand-card:hover .brand-img { transform:scale(1.09); }
.brand-card { flex-direction:column; gap:.3rem; }
.brand-card::after { display:none; }
.brand-card::before { z-index:3; }

/* RTL: reverse carousel directions */
[dir="rtl"] .brands-ltr { animation-name:brandsRight; }
[dir="rtl"] .brands-rtl { animation-name:brandsLeft; }


/* ============================================================
   CBR CATALOGUE CARDS
   ============================================================ */

.cbr-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.4rem;
}

.cbr-card {
  position:relative;
  display:block;
  border-radius:var(--r-lg);
  overflow:hidden;
  aspect-ratio:4/3;
  cursor:pointer;
  text-decoration:none;
  animation-delay:calc(var(--di,0)*60ms);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.cbr-card:hover {
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}
.cbr-card:focus-visible {
  outline:2px solid var(--orange); outline-offset:3px;
}

.cbr-img-wrap {
  position:absolute; inset:0;
  background:#fff;
  display:flex; align-items:center; justify-content:center;
  padding:22px;
}
.cbr-photo {
  width:auto; max-width:78%; max-height:65%;
  height:auto; object-fit:contain;
  transition:transform .5s var(--ease);
}
.cbr-card:hover .cbr-photo { transform:scale(1.07); }

.cbr-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.88) 100%);
  display:flex; align-items:flex-end;
  padding:1.4rem;
  transition:background .35s var(--ease);
}
.cbr-card:hover .cbr-overlay {
  background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.96) 100%);
}

.cbr-content {
  display:flex; flex-direction:column; gap:.2rem;
  transform:translateY(6px); transition:transform .35s var(--ease);
}
.cbr-card:hover .cbr-content { transform:translateY(0); }

.cbr-name {
  font-size:1rem; font-weight:800; color:var(--white);
  text-transform:uppercase; letter-spacing:.5px;
}
.cbr-ar {
  font-family:var(--font-ar); font-size:.75rem;
  color:var(--orange-lt); font-weight:600;
}
.cbr-ico {
  margin-top:.4rem;
  width:30px; height:30px;
  background:var(--orange); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:.72rem;
  opacity:0; transform:translateX(-10px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.cbr-card:hover .cbr-ico { opacity:1; transform:translateX(0); }

/* Responsive CBR grid */
@media (max-width:1024px) { .cbr-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px)  { .cbr-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px)  { .cbr-grid { grid-template-columns:repeat(2,1fr); gap:.75rem; } }
