/* ===== Theme (Black/Gold/White) ===== */
:root{
  --bg:#0a0d13; --bg-2:#0f1420; --ink:#f5f7fb; --muted:#aeb6c5;
  --gold:#d6b56f; --gold-2:#b99854; --line:rgba(214,181,111,.28); --accent:rgba(214,181,111,.10);
  --radius:22px; --shadow:0 14px 50px rgba(0,0,0,.35); --max:1260px;
  --heading-serif:"Times New Roman", ui-serif, Georgia, "Noto Serif", serif;
  --body-sans: ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Cairo", "Noto Kufi Arabic", "Noto Sans Arabic", Arial, sans-serif;
  --ink-strong:#f7fafc; --ink-strong-dark:#10141f;
  --ink-muted: var(--muted); /* UPDATED: provide the var you used later */
    --navy: #1a2847;         /* background gradient end */
  --navy-dark: #0f1a2e;    /* background gradient start */
  --wood: #8b6f47;         /* warm orb */
  --primary: #d4af37;      /* gold-like accent for orb */
}
:root.light{   --navy: #eae6dc;
  --navy-dark: #f5f2ea;
  --wood: #a67c52;
  --primary: #b8941f;--bg:#f7f7f9; --bg-2:#ffffff; --ink:#0e1320; --muted:#5b6475; --line:rgba(10,13,19,.12); --accent:rgba(214,181,111,.14); --ink-strong:#10141f; --ink-strong-dark:#0e1320; }
*{box-sizing:border-box} html,body{height:100%}
body{
  margin:0; color:var(--ink);
  background: radial-gradient(900px 500px at 10% 0%, rgba(214,181,111,.06), transparent 60%),
             radial-gradient(900px 600px at 100% 100%, rgba(214,181,111,.05), transparent 60%),
             linear-gradient(180deg, #070a0f, var(--bg) 60%, var(--bg));
  font-family:var(--body-sans); line-height:1.65;
}
:root.light body{background:linear-gradient(180deg,#fff,#f4f4f7)}
h1,h2,h3,.brand-name{font-family:var(--heading-serif); letter-spacing:.2px}
a{color:inherit; text-decoration:none}
.container{max-width:var(--max); margin-inline:auto; padding:0 22px}
.muted{color:var(--muted)}
.btn{display:inline-flex; align-items:center; gap:10px; cursor:pointer; padding:12px 16px; border-radius:14px; font-weight:700; border:1px solid var(--line); background:linear-gradient(180deg, rgba(214,181,111,.25), rgba(214,181,111,.08)); box-shadow:var(--shadow)}
.btn.ghost{background:transparent}
.btn:hover{filter:brightness(1.05)}

/* Hide old theme buttons in header/drawer */
.mode{ display:none !important; }
/* Hide old language buttons in header/drawer */
.lang{ display:none !important; }
.chip{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:var(--accent); border:1px solid var(--line); font-size:.9rem}

/* ===== Header & Mega ===== */
.header{position:sticky; top:0; z-index:90; backdrop-filter:blur(10px); background:linear-gradient(180deg, rgba(10,13,19,.78), rgba(10,13,19,.42)); border-bottom:1px solid var(--line)}
:root.light .header{background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.6))}
.nav{height:88px; display:flex; align-items:center; justify-content:space-between; gap:16px}
.brand{display:flex; align-items:center; gap:12px}
.brand img{width:44px; height:44px; object-fit:contain; border-radius:10px; background:#fff1; border:1px solid rgba(255,255,255,.08)}
.brand-name{font-size:1.12rem; font-weight:800}
.menu{display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.has-mega{position:relative}
.drawer{display:none}
.mega{position:absolute; inset-inline-end:0; top:100%; display:none; min-width:680px; background:var(--bg-2); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:16px}
.has-mega:hover .mega{display:grid}
.mega-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.mega h4{margin:6px 0 8px}
.mega a{display:block; padding:8px 10px; border-radius:10px}
.mega a:hover{background:var(--accent)}
.lang,.mode{padding:9px 12px; border-radius:999px; border:1px solid var(--line); background:transparent}
.burger{display:none}
@media (max-width:980px){
  .menu{display:none}
  .burger{display:grid; gap:4px; cursor:pointer}
  .burger span{width:26px; height:2px; background:var(--ink)}
  .drawer{display:none; position:fixed; inset:88px 0 0 0; background:var(--bg); border-top:1px solid var(--line); padding:16px; z-index:95}
  :root.light .drawer{background:#fff}
  .drawer.open{display:block !important}
  .drawer a{display:block; padding:14px 6px; border-bottom:1px dashed var(--line)}
}

/* ===== Pages & Hero ===== */
.page{display:none; padding:56px 0}
.page.active{display:block}
.hero{position:relative; padding:96px 0 48px; overflow:clip; border-bottom:1px solid var(--line)}
.hero .bg{position:absolute; inset:0; z-index:-1; opacity:.45; background-size:cover; background-position:center}
.hero-wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center}
.kicker{letter-spacing:.22em; text-transform:uppercase; font-weight:800; font-size:.8rem; color:var(--gold)}
.hero h1{font-size:clamp(32px,6vw,56px); margin:12px 0 10px; color:var(--ink-strong); text-shadow:0 5px 30px rgba(0,0,0,.35)}
:root.light .hero h1{ text-shadow:none }
.lead{color:var(--muted); font-size:1.06rem; max-width:60ch}
.hero-card .btn{ /* ensure CTAs are clearly visible */
  background:linear-gradient(180deg, #e2c989, #d0ad5d);
  color:#2b2310;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 16px 40px rgba(0,0,0,.30);
}
.hero-card .btn.ghost{
  background:transparent;
  border:1px solid var(--gold);
  color:var(--ink);
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
:root.light .hero-card .btn.ghost{ color: var(--ink-strong-dark); }

/* ---------- THEME TOGGLE STYLE ---------- */
.theme-toggle{
  position:fixed; top:1.5rem; right:1.5rem; z-index:100;
  width:48px; height:48px; border:2px solid rgba(214,181,111,.3); border-radius:12px;
  background:rgba(18,23,43,.6); color:#d6b56f; font-size:1.25rem; cursor:pointer; transition:all .4s ease;
}
html.light .theme-toggle{ background:rgba(255,255,255,.7); color:#b99854; border-color:rgba(184,148,31,.4) }
.theme-toggle:hover{ transform:scale(1.1) rotate(10deg); box-shadow:0 0 20px rgba(214,181,111,.4) }
.theme-toggle:active{ transform:scale(.95) rotate(-10deg) }

/* ---------- LANGUAGE TOGGLE STYLE ---------- */
.lang-toggle{
  position:fixed; top:1.5rem; right:5.6rem; z-index:100;
  min-width:48px; height:48px; padding:0 10px;
  border:2px solid rgba(214,181,111,.3); border-radius:12px;
  background:rgba(18,23,43,.6); color:#d6b56f; font-weight:800; cursor:pointer; transition:all .3s ease;
}
html.light .lang-toggle{ background:rgba(255,255,255,.7); color:#0e1320; border-color:rgba(184,148,31,.4) }
.lang-toggle:hover{ transform:scale(1.06) rotate(6deg); box-shadow:0 0 20px rgba(214,181,111,.35) }
.lang-toggle:active{ transform:scale(.95) rotate(-6deg) }

/* RTL positioning for floating controls */
[dir="rtl"] .theme-toggle{ left:1.5rem; right:auto; }
[dir="rtl"] .lang-toggle{ left:5.6rem; right:auto; }

/* Mobile: keep buttons top and side-by-side, shifted left of burger */
@media (max-width: 980px){
  .theme-toggle, .lang-toggle{ top:1.5rem; background:rgba(18,23,43,.92); }
  .theme-toggle{ right:6.2rem; }
  .lang-toggle{ right:11rem; }
  html.light .theme-toggle, html.light .lang-toggle{ background:rgba(255,255,255,.92); }
  /* RTL mirrors */
  [dir="rtl"] .theme-toggle{ left:6.2rem; right:auto; }
  [dir="rtl"] .lang-toggle{ left:11rem; right:auto; }
}

/* FAB RTL/LTR awareness */
[dir="rtl"] .fab-wrap{ left:20px; right:auto; }
[dir="rtl"] .fab-wrap .fab-stack{ left:0; right:auto; }
[dir="rtl"] .fab-wrap .sbtn:hover{ transform:translateX(2px) scale(1.04); }
[dir="rtl"] .fab-wrap .label{ left:70px; right:auto; transform:translateY(-50%) translateX(-8px); }
[dir="rtl"] .fab-wrap .sbtn:hover .label{ transform:translateY(-50%) translateX(0); }
.hero-card{
  background:
    radial-gradient(800px 300px at 10% 0%, rgba(214,181,111,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.20));
  backdrop-filter: blur(14px);
  border:1px solid rgba(214,181,111,.28);
  border-radius:var(--radius); padding:18px; box-shadow:var(--shadow)
}
:root.light .hero-card{
  background:
    radial-gradient(800px 300px at 0% 0%, rgba(214,181,111,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.65));
  border:1px solid rgba(10,13,19,.10);
}
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:12px}
.stat{
  background:linear-gradient(180deg, rgba(214,181,111,.10), rgba(214,181,111,.04));
  border:1px solid rgba(214,181,111,.28);
  padding:14px; border-radius:12px; text-align:center
}
:root.light .stat{ background:linear-gradient(180deg, rgba(214,181,111,.14), rgba(214,181,111,.08)); border:1px solid rgba(10,13,19,.08) }
.stat b{display:block; font-size:1.6rem}
.hero-media{aspect-ratio:4/3; border-radius:var(--radius); border:1px solid var(--line); overflow:hidden; position:relative; box-shadow:var(--shadow)}
.hero-media img{width:100%; height:100%; object-fit:cover; display:block}

section .sec-head{display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:18px}
section .sec-head h2{font-size:clamp(24px,4vw,34px); margin:0}

/* Cards & Grids */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.card{position:relative; overflow:hidden; border-radius:16px; padding:18px; background:linear-gradient(180deg,#0c121d,#0b111b); border:1px solid var(--line); transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-6px); border-color:rgba(214,181,111,.55); box-shadow:var(--shadow)}
.card h3{margin:6px 0 8px}
.card p{color:var(--muted)}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.post{border:1px solid var(--line); border-radius:16px; overflow:hidden; background:linear-gradient(180deg,#0c121d,#0b111b)}
.thumb{aspect-ratio:16/9; background:#111; background-size:cover; background-position:center}
.content{padding:14px}
.meta{font-size:.9rem; color:var(--muted)}

/* Team */
.team{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.person{background:linear-gradient(180deg,#0c121d,#0b111b); border:1px solid var(--line); border-radius:16px; padding:12px}
.avatar{aspect-ratio:1/1; border-radius:12px; border:1px solid var(--line); background:#0b111b center/cover no-repeat}
.role{color:var(--muted); font-size:.95rem}

@media (max-width:1020px){ .hero-wrap{grid-template-columns:1fr} .hero-media{order:-1} .stats{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:980px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){ .cards{grid-template-columns:1fr} .grid-3{grid-template-columns:1fr} .team{grid-template-columns:1fr} }

/* Forms */
.contact-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:16px}
.panel{border:1px solid var(--line); border-radius:16px; padding:16px; background:linear-gradient(180deg,#0c121d,#0b111b)}
.row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.row-1{grid-template-columns:1fr}
input,select,textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--line); background:#0b111b; color:var(--ink)}
:root.light input,:root.light select,:root.light textarea{background:#f4f6fb}
input:invalid,textarea:invalid{outline:1px solid #ff9b9b}
textarea{min-height:120px; resize:vertical}
.map{min-height:240px; border:1px dashed var(--line); border-radius:12px; display:grid; place-items:center; color:var(--muted)}

/* CTA */
.cta{padding:56px 0; border-top:1px solid var(--line); background: linear-gradient(180deg, rgba(214,181,111,.12), rgba(214,181,111,.06))}
.cta-inner{display:grid; gap:16px; text-align:center}
.cta h2{margin:0; font-size:clamp(26px,4.5vw,38px); color:var(--ink-strong)}
.cta-actions{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}

/* Footer */
footer{padding:26px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.95rem}

/* Founder block (improved) */
.founder{display:grid; grid-template-columns:1.1fr 1.6fr; padding:0}
.founder-media{padding:18px; border-inline-end:1px solid var(--line)}
.founder-media img{width:100%; border-radius:14px; border:1px solid var(--line); object-fit:cover}
.founder-body{padding:22px 22px 28px; position:relative}
.quote-mark{font-size:44px; opacity:.3; line-height:1; margin-bottom:6px}
.founder-sign{display:flex; align-items:flex-end; gap:14px; margin-top:14px}
.founder-name{font-weight:800; font-size:1.05rem}
#signature{height:64px; opacity:.95; filter:drop-shadow(0 4px 14px rgba(0,0,0,.25)); background-color: #bca954;}
@media (max-width:800px){
  .founder{grid-template-columns:1fr}
  .founder-media{border-inline-end:none; border-bottom:1px solid var(--line)}
}

/* === Unified FAB (brand colors) === */
.fab-hub{position:fixed; inset-inline-end:16px; bottom:18px; z-index:120}
.fab-main{
  width:62px; height:62px; border-radius:50%;
  background:linear-gradient(180deg, #e2c989, #d0ad5d);
  color:#2b2310; border:1px solid rgba(0,0,0,.08); box-shadow:0 20px 50px rgba(0,0,0,.3);
  font-size:28px; font-weight:900; cursor:pointer;
}
.fab-menu{
  position:absolute; inset-inline-end:0; bottom:74px; display:grid; gap:8px;
  padding:10px; border-radius:16px; background:var(--bg-2); border:1px solid var(--line);
  box-shadow:var(--shadow); transform-origin:bottom right; transform:scale(.9); opacity:0; pointer-events:none;
  min-width:220px;
}
.fab-menu.show{ transform:scale(1); opacity:1; pointer-events:auto }
.fab-item{
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:12px; border:1px solid var(--line); cursor:pointer;
  background:#0b111b; color:#fff; font-weight:700;
}
.fab-item img{width:20px; height:20px; display:block}
.fab-item.wa{background:#25D366; border:none}
.fab-item.call{background:#ffd36b; color:#2b2310; border:none}
.fab-item.mail{background:#EA4335; border:none}
.fab-item.ln{background:#0A66C2; border:none}
.fab-item.ig{background:#E1306C; border:none}
.fab-item.fb{background:#1877F2; border:none}
.fab-item.tt{background:#000000; border:none}

/* Cookie */
.cookie{position:fixed; inset-inline:12px; bottom:12px; z-index:100; display:none}
.cookie.show{display:block}
.cookie .box{background:var(--bg-2); border:1px solid var(--line); border-radius:14px; padding:14px; box-shadow:var(--shadow); max-width:680px}

/* Animations */
@media (prefers-reduced-motion:no-preference){
  [data-anim]{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease}
  [data-anim].in{opacity:1; transform:none}
}
/* ---------- ADD-ONLY: 2150 polish & fixes ---------- */

/* Modern nav hover/active without lasers */
.header .menu a {
  position: relative;
  padding: 10px 12px;
  border-radius: 12px;
  transition: background .2s ease, box-shadow .2s ease, transform .15s ease;
}
.header .menu a:hover {
  background: var(--accent);
  box-shadow: 0 6px 24px rgba(0,0,0,.15) inset;
  transform: translateY(-1px);
}

/* Language/Mode buttons: legible contrast */
.lang, .mode {
  font-weight: 700;
  line-height: 1;
  color: var(--ink-strong);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.08));
}
:root.light .lang, :root.light .mode {
  color: var(--ink-strong-dark);
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.02));
}

/* Services teaser tiles (.srv) used by renderServices() */
#servicesTeasers, #servicesGrid { display: grid; gap: 12px; }
#servicesTeasers { grid-template-columns: repeat(4, minmax(0,1fr)); }
#servicesGrid     { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 980px){
  #servicesTeasers, #servicesGrid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  #servicesTeasers, #servicesGrid { grid-template-columns: 1fr; }
}
.srv{
  display:flex; align-items:center; gap:12px;
  padding:14px; border-radius:16px; border:1px solid var(--line);
  background:linear-gradient(180deg,#0c121d,#0b111b);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
:root.light .srv{ background:linear-gradient(180deg,#fff,#f6f7fa); }
.srv:hover{ transform:translateY(-4px); border-color:rgba(214,181,111,.55); box-shadow:var(--shadow); }
.srv .icon{
  width:46px; height:46px; border-radius:50%;
  background:#111 center/cover no-repeat; border:1px solid var(--line);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.04);
}
.srv .txt{ font-weight:800; color:var(--ink-strong); }

/* FAB: hide labels visually, show icons + tooltips */
.fab-item{
  position: relative;
  color:#fff;
  padding:12px; 
  min-width: 48px; /* keep round */
  justify-content: center;
}
.fab-item::before{
  content:"";
  width:22px; height:22px; display:block;
  background-size:contain; background-repeat:no-repeat; background-position:center;
}
.fab-item.wa::before{ background-image:url('WhatsApp.png'); }
.fab-item.call::before{ background-image:url('call.png'); }
.fab-item.mail::before{ background-image:url('gmail.png'); }
.fab-item.ig::before{ background-image:url('instagram.png'); }
.fab-item.fb::before{ background-image:url('facebook.png'); }
.fab-item.tt::before{ background-image:url('tiktok.png'); }

/* tooltip on hover using data-tip */
.fab-item::after{
  content: attr(data-tip);
  position:absolute; inset-inline-end: calc(100% + 8px); top:50%;
  transform: translateY(-50%) scale(.95);
  opacity:0; pointer-events:none;
  white-space:nowrap;
  background:#111; color:#fff; border:1px solid rgba(255,255,255,.15);
  padding:6px 10px; border-radius:10px; font-weight:800; font-size:.85rem;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
  transition: .15s ease;
}
.fab-item:hover::after{ opacity:1; transform: translateY(-50%) scale(1); }

/* brand-colored tooltip bubbles */
.fab-item.wa::after{ background:#25D366; color:#08220f; }
.fab-item.call::after{ background:#ffd36b; color:#2b2310; }
.fab-item.mail::after{ background:#EA4335; }
.fab-item.ln::after{ background:#0A66C2; }
.fab-item.ig::after{ background:#E1306C; }

/* Ensure tooltip text is white for all social FAB tooltips */
.fab-item::after { color: #fff !important; }

/* Better section divider shadow just above founder block */
#cta-contact{ box-shadow: inset 0 24px 60px rgba(0,0,0,.14); }
:root.light #cta-contact{ box-shadow: inset 0 24px 60px rgba(0,0,0,.06); }

/* ===== FAB: circular stacked icons – override only, no structure changes ===== */
.fab-menu{
  position:absolute;
  inset-inline-end:0;
  bottom:74px;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  transform-origin:bottom right;
  transform:scale(.98);
  opacity:0;
  pointer-events:none;
}
.fab-menu.show{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}

/* each item as a circular independent button */
.fab-item{
  position:absolute;
  inset-inline-end:0;
  width:56px; height:56px;
  border-radius:50%;
  background:linear-gradient(180deg, #e2c989, #d0ad5d);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.30);
  display:grid; place-items:center;
  cursor:pointer;
  text-decoration:none;
  isolation:isolate;
  color:#111 !important;
}
:root.light .fab-item{ background:linear-gradient(180deg, #e2c989, #d0ad5d) !important; }

/* icon <img> inside */
.fab-item img{
  width:24px; height:24px; display:block;
  filter:none !important; mix-blend-mode:normal !important;
}

/* vertical stacking */
.fab-menu .fab-item:nth-child(1){ bottom:   8px; }
.fab-menu .fab-item:nth-child(2){ bottom:  72px; }
.fab-menu .fab-item:nth-child(3){ bottom: 136px; }
.fab-menu .fab-item:nth-child(4){ bottom: 200px; }
.fab-menu .fab-item:nth-child(5){ bottom: 264px; }
.fab-menu .fab-item:nth-child(6){ bottom: 328px; }
.fab-menu .fab-item:nth-child(7){ bottom: 392px; }

/* tooltip from data-title with platform colors */
.fab-item::after{
  content: attr(data-title);
  position:absolute;
  inset-inline-end: calc(100% + 8px);
  top:50%;
  transform: translateY(-50%) scale(.96);
  opacity:0; pointer-events:none;
  white-space:nowrap;
  color:#fff; font-weight:800; font-size:13px;
  padding:8px 12px; border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  transition: opacity .18s ease, transform .18s ease;
}
.fab-item.wa::after{ background:#25D366; color:#08220f; }  /* WhatsApp */
.fab-item.call::after{ background:#222; }                  /* Call */
.fab-item.mail::after{ background:#EA4335; }               /* Gmail */
.fab-item.ig::after{ background:#E1306C; }                 /* Instagram */
.fab-item.fb::after{ background:#1877F2; }                 /* Facebook */
.fab-item.tt::after{ background:#000; }                    /* TikTok */
.fab-item:hover::after{ opacity:1; transform: translateY(-50%) scale(1); }

/* icons only */
.fab-item{ font-size:0; line-height:0; }

/* keep all contact buttons same gold gradient */
.fab-item,
.fab-item.wa, .fab-item.call, .fab-item.mail, .fab-item.ln, .fab-item.ig, .fab-item.fb, .fab-item.tt {
  background: linear-gradient(180deg, #e2c989, #d0ad5d) !important;
  color: #2b2310 !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.30) !important;
}

:root.light .fab-item,
:root.light .fab-item.wa, :root.light .fab-item.call, :root.light .fab-item.mail, :root.light .fab-item.ln, :root.light .fab-item.ig, :root.light .fab-item.fb, :root.light .fab-item.tt {
  background: linear-gradient(180deg, #e2c989, #d0ad5d) !important;
  color: #2b2310 !important;
}

/* --- FAB icons centering & cleanup (no HTML changes) --- */
/* disable earlier ::before icon to avoid double icons (we use <img>) */
.fab-item::before{
  content: none !important;
  display: none !important;
}

/* unify circle + center */
.fab-item{
  width:64px; height:64px; padding:0 !important;
  border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(180deg,#e2c989,#d0ad5d) !important;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.30);
}
:root.light .fab-item{ background:linear-gradient(180deg,#e2c989,#d0ad5d) !important; }

/* icon sizes */
.fab-item img{
  width:28px; height:28px;
  object-fit:contain;
  display:block;
  image-rendering:-webkit-optimize-contrast;
}

/* micro interaction */
.fab-item:hover{ transform: translateY(-2px) scale(1.03); }

/* === New FAB Stack (colored icons) === */
.fab-hub{ display:none !important; }
.fab-wrap{ position:fixed; right:20px; bottom:20px; z-index:200; }
.fab-wrap .fab-main{
  width:64px; height:64px; border-radius:18px;
  display:grid; place-items:center; cursor:pointer;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
  box-shadow:var(--shadow), inset 0 0 0 2px #ffffffcc;
  transform-origin:center;
  transition:transform .5s cubic-bezier(.25,1.25,.5,1), border-radius .4s ease;
}
.fab-wrap .fab-main .x{
  font-size:28px; font-weight:900; color:#0e1220; user-select:none; transition:transform .4s ease;
}
.fab-wrap.open .fab-main{ transform:rotate(45deg) scale(1.05); border-radius:22%; box-shadow:0 0 24px rgba(212,175,55,.6); }
.fab-wrap.open .fab-main .x{ transform:rotate(-45deg); }
.fab-wrap .fab-main:hover{ transform:scale(1.1); }

.fab-wrap .fab-stack{
  position:absolute; bottom:78px; right:0; display:flex; flex-direction:column; gap:14px;
  transform:translateY(10px); opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
}
.fab-wrap.open .fab-stack{ transform:translateY(0); opacity:1; pointer-events:auto; }

.fab-wrap .sbtn{
  width:56px; height:56px; border-radius:14px; display:grid; place-items:center; position:relative;
  background:rgba(18,23,43,.65); border:1px solid var(--line); box-shadow:var(--shadow); backdrop-filter:blur(14px);
  transition:transform .25s, border-color .25s;
}
.fab-wrap .sbtn:hover{ transform:translateX(-2px) scale(1.04); border-color:var(--gold); }

.fab-wrap .sbtn svg{ width:26px; height:26px; fill:none; stroke-width:2; transition:filter .3s ease; }
.fab-wrap .whatsapp svg { stroke:#25D366; filter: drop-shadow(0 0 10px #00ff1eaa);}
.fab-wrap .facebook svg { stroke:#1877f2; filter:drop-shadow(0 0 10px #1877f2aa); }
.fab-wrap .twitter svg  { stroke:#1da1f2; filter:drop-shadow(0 0 10px #1da1f2aa); }
.fab-wrap .instagram svg{ stroke:#e1306c; filter:drop-shadow(0 0 10px #e1306caa); }
.fab-wrap .email svg    { stroke:#f4c542; filter:drop-shadow(0 0 10px #f4c542aa); }
.fab-wrap .phone svg    { stroke:#d4af37; filter:drop-shadow(0 0 10px #d4af37aa); }

.fab-wrap .label{
  position:absolute; right:70px; top:50%; transform:translateY(-50%) translateX(8px);
  opacity:0; pointer-events:none; background:#111827; color:#e5e7eb;
  padding:.45rem .8rem; border-radius:10px; border:1px solid rgba(212,175,55,.35);
  box-shadow:var(--shadow), 0 0 15px rgba(212,175,55,.3); white-space:nowrap; font-weight:600; font-size:.9rem;
  transition:transform .25s, opacity .25s;
}
.fab-wrap .sbtn:hover .label{ opacity:1; transform:translateY(-50%) translateX(0); }

@keyframes fab-pop{0%{transform:translateY(8px) scale(.9);opacity:.6}100%{transform:translateY(0) scale(1)}}
.fab-wrap.open .sbtn{animation:fab-pop .25s ease both}
.fab-wrap.open .sbtn:nth-child(2){animation-delay:.05s}
.fab-wrap.open .sbtn:nth-child(3){animation-delay:.1s}
.fab-wrap.open .sbtn:nth-child(4){animation-delay:.15s}
.fab-wrap.open .sbtn:nth-child(5){animation-delay:.2s}
.fab-wrap.open .sbtn:nth-child(6){animation-delay:.25s}

/* ===== Unified Animated Card Style (gold/glass, tilt+shine) ===== */
:root{
  --card-bg: rgba(12,18,34,.66);
  --card-border-std: rgba(214,181,111,.28);
  --card-border-hover: rgba(214,181,111,.65);
}
:root.light{
  --card-bg: rgba(255,255,255,.85);
  --card-border-std: rgba(184,148,31,.28);
  --card-border-hover: rgba(184,148,31,.7);
}
.card,
.srv,
.post,
.person,
.services-home-card  {
  --rx: 0deg; --ry: 0deg; --tx: 0px; --ty: 0px; --mx: 50%; --my: 50%;
  position: relative;
  padding: var(--pad, 18px);
  border-radius: var(--radius, 18px);
  background: var(--card-bg);
  border: 1px solid var(--card-border-std);
  color: var(--ink);
  transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);
  transition:
    transform .5s cubic-bezier(.23,1,.32,1),
    border-color .35s, box-shadow .35s, background .35s;
  box-shadow:
    0 10px 25px rgba(0,0,0,.35),
    inset 0 0 0 1px rgba(255,255,255,.04);
  overflow: hidden;
  will-change: transform, box-shadow;
}
.card::before,
.srv::before,
.post::before,
.person::before,
.services-home-card::before{
  content:"";
  position:absolute; inset:-1px;
  border-radius: inherit;
  background: radial-gradient(350px 250px at var(--mx) var(--my),
              rgba(214,181,111,.16), transparent 60%);
  opacity: 0; transition: opacity .35s;
  pointer-events:none;
}
.card:hover, .srv:hover, .post:hover, .person:hover, .services-home-card:hover{
  border-color: var(--card-border-hover);
  box-shadow:
    0 28px 70px rgba(214,181,111,.22),
    0 14px 30px rgba(0,0,0,.5);
}
.card:hover::before, .srv:hover::before, .post:hover::before, .person:hover::before, .services-home-card:hover::before{ opacity: 1; }
.card.featured, .srv.featured, .post.featured, .person.featured{
  border-color: var(--card-border-hover);
  box-shadow:
    0 28px 76px rgba(214,181,111,.28),
    0 16px 36px rgba(0,0,0,.55);
}
.card.featured::before, .srv.featured::before, .post.featured::before, .person.featured::before, .services-home-card.featured::before{ opacity: 1; }
.card .icon, .srv .icon, .post .icon, .person .icon{
  --icon-size: 56px;
  width: var(--icon-size); height: var(--icon-size);
  border-radius: 14px; display:grid; place-items:center;
  background: linear-gradient(145deg, #2a3144, #1b2231);
  border:1px solid var(--card-border-std);
  box-shadow:
    0 10px 24px rgba(214,181,111,.18),
    inset 0 0 0 1px rgba(255,255,255,.08);
  margin-bottom: 12px;
  transform: translate3d(var(--tx), var(--ty), 0);
  transition:
    transform .5s cubic-bezier(.23,1,.32,1),
    border-color .35s, box-shadow .35s;
}
.card:hover .icon, .srv:hover .icon, .post:hover .icon, .person:hover .icon{
  border-color: var(--card-border-hover);
  transform: translate3d(calc(var(--tx)*.35), calc(var(--ty)*.35), 0) rotate(3deg);
  box-shadow:
    0 16px 36px rgba(214,181,111,.28),
    inset 0 0 0 1px rgba(255,255,255,.12);
}
.card .title{ font-family: var(--heading-serif); font-weight:800; letter-spacing:.2px; font-size:1.12rem; margin:2px 0 8px; color:var(--ink-strong); }
.card .desc, .srv .desc, .post .desc, .person .desc{ color:var(--muted); font-size:.98rem; }
.card .divider, .srv .divider, .post .divider, .person .divider{
  position:absolute; left: var(--pad,18px); right: var(--pad,18px); bottom: var(--pad,18px);
  height: 6px; border-radius: 999px;
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  filter: drop-shadow(0 6px 18px rgba(214,181,111,.35));
  transform-origin: left center; transform: scaleX(.22);
  transition: transform .6s cubic-bezier(.23,1,.32,1), filter .35s ease;
}
.card:hover .divider, .srv:hover .divider, .post:hover .divider, .person:hover .divider{
  transform: scaleX(1); filter: drop-shadow(0 8px 26px rgba(214,181,111,.55));
}

/* Grids tweak */
.cards,
.grid-3,
#servicesTeasers,
#servicesGrid,
.team { gap: 20px; }

/* ===== Services page: hero mesh & filter pills ===== */
.svc-hero { padding: 72px 0 22px; border-bottom: 1px solid var(--line); }
.gridmesh{
  background:
    radial-gradient(900px 600px at 80% 90%, rgba(214,181,111,.10), transparent 60%),
    linear-gradient(180deg, #0b1220, var(--bg) 60%);
}
:root.light .gridmesh{
  background:
    radial-gradient(900px 600px at 80% 90%, rgba(214,181,111,.18), transparent 60%),
    linear-gradient(180deg, #f8f8fb, #fff 60%);
}
.gridmesh::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.28;
  background:
    repeating-linear-gradient(0deg , transparent 0 46px, rgba(255,255,255,.06) 46px 47px),
    repeating-linear-gradient(90deg, transparent 0 46px, rgba(255,255,255,.06) 46px 47px);
  transform: perspective(900px) rotateX(45deg) translateY(25%);
}
:root.light .gridmesh::after{ opacity:.18; }

.svc-filterbar{
  display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-start;
}
[dir="rtl"] .svc-filterbar{ justify-content:flex-start; }
.pill{
  padding:.7rem 1rem; border-radius:12px; border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.10));
  color:var(--ink-strong); font-weight:800; cursor:pointer;
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
:root.light .pill{ background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.02)); color:var(--ink-strong-dark); }
.pill:hover{ transform:translateY(-2px); }
.pill.active{
  border-color: var(--gold);
  box-shadow: 0 6px 24px rgba(212,175,55,.25) inset;
}

/* Cards layout to match Insights */
.svc-cards{
  display:grid; gap:18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width:1100px){ .svc-cards{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width:560px){ .svc-cards{ grid-template-columns: 1fr; } }

/* service card */
.svc-card{ --pad:18px; }
.svc-card .thumb{
  aspect-ratio: 16/9; border-radius: 12px; border:1px solid var(--line);
  background:#0b111b center/cover no-repeat; margin-bottom:12px; overflow:hidden;
}
:root.light .svc-card .thumb{ background:#f6f7fb center/cover no-repeat; }
.svc-card .meta{ font-size:.85rem; color:var(--muted); margin-bottom:6px; }
.svc-card .title{ font-size:1.1rem; margin:0 0 8px; }
.svc-card .desc{ font-size:.98rem; min-height:3lh; }
.svc-card .actions{ display:flex; gap:8px; margin-top:12px; }
.svc-card .btn{ padding:10px 12px; }
/* Services page: make hero single-column nicely centered */
.services .hero .hero-wrap{ grid-template-columns:1fr; }

/* Cookie banner styles (theme-aware & consistent) */
.cookie {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 1000;
    display: none;
}
.cookie.show{ display:block; }
.cookie .box {
    background: var(--bg-2);          /* UPDATED: keep same surface as other cards */
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
    backdrop-filter: blur(10px);
}
/* Cookie button text colors */
.cookie .btn {
    color: var(--ink-strong) !important;
    border: 1px solid var(--line);
}
.cookie .btn.ghost {
    color: var(--ink-strong) !important;
}
/* Ensure text is readable in both themes */
.cookie b { color: var(--ink-strong) !important; }
.cookie .muted { color: var(--muted) !important; } /* UPDATED: use existing --muted */

/* Dark-mode compatibility for sites that toggle html.light (not .dark) */
html:not(.light) .cookie .btn { color: #ffffff !important; }            /* UPDATED */
html:not(.light) .cookie .btn.ghost { color: #ffffff !important; border-color: var(--line); } /* UPDATED */
html:not(.light) .cookie b { color: #ffffff !important; }                /* UPDATED */
html:not(.light) .cookie .muted { color: #cccccc !important; }          /* UPDATED */



/* ===== Contact page ===== */
.hero-contact{ padding:120px 0 80px; border-bottom:1px solid var(--line); }
.hero-wrap.one-col{ display:grid; grid-template-columns:1fr; }

.contact-page{ padding:100px 0 60px; }
.contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:50px; margin-top:40px;
}
.contact-info{ display:flex; flex-direction:column; gap:25px; }

.contact-card{
  background: var(--card-bg);
  border:1px solid var(--line);
  border-radius:12px; padding:25px; transition:.3s ease;
}
.contact-card:hover{
  transform:translateY(-3px);
  border-color: var(--primary);
  box-shadow:0 8px 25px rgba(0,0,0,.1);
}
.contact-icon{
  width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.2em; margin-bottom:15px;
  background:linear-gradient(135deg, var(--primary), var(--primary-dark));
}
.contact-card h3{ margin:0 0 10px; color:var(--ink-strong); font-size:1.3em; }
.contact-card p{ margin:0; color:var(--muted); line-height:1.6; }
.contact-link{ color:var(--primary); font-weight:700; display:block; margin-top:8px; }
.contact-link:hover{ text-decoration:underline; }

.contact-form{
  background: var(--card-bg);
  border:1px solid var(--line);
  border-radius:12px; padding:35px;
}
.form-group{ margin-bottom:20px; }
.form-group label{ display:block; margin-bottom:8px; color:var(--ink-strong); font-weight:700; }
.form-control{
  width:100%; padding:12px 15px;
  border:1px solid var(--line); border-radius:8px;
  background:var(--bg); color:var(--ink); font-size:1em;
  transition:.3s ease;
}
.form-control:focus{
  outline:none; border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(214,181,111,.1);
}
textarea.form-control{ resize:vertical; min-height:120px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }

.map-container{ margin-top:50px; border-radius:12px; overflow:hidden; border:1px solid var(--line); }
.map-placeholder{
  background: var(--card-bg);
  height:300px; display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:1.1em;
}

/* responsive */
@media (max-width: 968px){
  .contact-grid{ grid-template-columns:1fr; gap:30px; }
  .contact-page{ padding:80px 0 40px; }
  .contact-form{ padding:25px; }
  .form-row{ grid-template-columns:1fr; }
}
@media (max-width: 768px){
  .contact-card{ padding:20px; }
}



/* ===== Contact page layout ===== */
.contact-page { padding: 72px 0 56px; }

/* info cards row (side-by-side) */
.info-row{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
  justify-items:center; /* center cards horizontally in grid */
}
@media (max-width: 1100px){ .info-row{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 760px){  .info-row{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px){  .info-row{ grid-template-columns: 1fr; } }

/* info card style + golden blur glow + subtle lift */
.contact-card{
  position:relative;
  background: var(--card-bg);
  border: 1px solid var(--card-border-std, var(--line));
  border-radius:16px;
  padding:20px 16px;
  overflow:hidden;
  text-align:center;            /* center text and inner content */
  display:flex;
  flex-direction:column;
  align-items:center;           /* center horizontally */
  justify-content:center;       /* center vertically if short */
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  width:100%;
  max-width:260px;              /* uniform card width */
}
.contact-card::before{
  content:"";
  position:absolute; inset:-1px;
  background: radial-gradient(360px 240px at var(--mx,50%) var(--my,50%), rgba(214,181,111,.16), transparent 60%);
  opacity:0; transition:opacity .35s ease;
  pointer-events:none;
}
.contact-card:hover{
  transform: translateY(-4px);
  border-color: var(--card-border-hover, rgba(214,181,111,.65));
  box-shadow: 0 26px 70px rgba(214,181,111,.18), 0 12px 28px rgba(0,0,0,.45);
}
.contact-card:hover::before{ opacity:1; }

/* contact icons */
.contact-icon{
  width:56px; height:56px;
  border-radius:14px;
  display:grid; place-items:center;
  background: linear-gradient(145deg, #2a3144, #1b2231);
  border:1px solid var(--card-border-std, rgba(214,181,111,.28));
  margin-bottom:12px;
  flex-shrink:0;
}
.contact-icon svg{
  width:28px;
  height:28px;
  stroke:var(--gold);
  transition:stroke .25s ease, transform .25s ease;
}
.contact-card:hover .contact-icon svg{
  stroke: var(--gold-2, #e0c784);
  transform: scale(1.08);
}

/* contact text + links centered */
.contact-card h3{
  margin:6px 0 4px;
  font-size:1.05rem;
}
.contact-card p{
  margin:0 0 4px;
  color:var(--muted);
  line-height:1.45;
}
.contact-card .contact-link{
  display:inline-block;
  color:var(--gold);
  font-weight:500;
  text-decoration:none;
  margin-top:4px;
  transition:color .25s ease;
}
.contact-card .contact-link:hover{
  color:var(--gold-2, #e0c784);
}

/* form full width under info row */
.contact-form{
  background: var(--card-bg);
  border: 1px solid var(--line);
  border-radius:16px;
  padding:24px;
  margin-top:10px;
}

/* DUAL MAP (two tiles with golden glow) */
.map-dual{
  display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px;
}
@media (max-width: 760px){ .map-dual{ grid-template-columns:1fr; } }

.map-tile{
  position:relative; border:1px solid var(--line); border-radius:16px; overflow:hidden;
  background: linear-gradient(180deg,#0c121d,#0b111b);
  cursor:pointer;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
:root.light .map-tile{ background:#fff; }

.map-tile .map-thumb{
  aspect-ratio: 16/9;
  background-size: cover; background-position: center;
  border-bottom: 1px solid var(--line);
}
.map-tile .map-body{ padding:14px; text-align:center; }
.map-tile .btn.ghost{ padding:8px 10px; margin-top:8px; }

.map-tile .glow{
  position:absolute; inset:-30% -30% auto auto;
  width: 60%; height: 60%;
  background: radial-gradient(closest-side, rgba(214,181,111,.18), rgba(214,181,111,0));
  filter: blur(18px);
  pointer-events:none;
  opacity:.6;
  transform: translate3d(0,0,0);
}
.map-tile:hover{
  transform: translateY(-4px);
  border-color: rgba(214,181,111,.6);
  box-shadow: 0 26px 70px rgba(214,181,111,.16), 0 12px 28px rgba(0,0,0,.45);
}

/* inputs */
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:760px){ .form-row{ grid-template-columns:1fr; } }
.form-group{ margin-bottom:16px; }
.form-control{
  width:100%; padding:12px 14px; border-radius:12px;
  border:1px solid var(--line); background:#0b111b; color:var(--ink);
}
:root.light .form-control{ background:#f4f6fb; }
.form-control:focus{ outline:none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(214,181,111,.12); }
/* ========== FIX SEND MESSAGE BUTTON IN DARK MODE ========== */
.contact-form .btn {
  background: var(--gold, #d6b56f);
  color: #0e1422; /* readable on dark bg */
  border: none;
  transition: filter .2s ease;
}
.contact-form .btn:hover {
  filter: brightness(0.95);
}
:root.light .contact-form .btn {
  background: var(--gold, #d6b56f);
  color: #0e1422;
}



/* === MAP TILES === */
.map-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 40px;
}

.map-tile {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: var(--card-bg);
  box-shadow: 0 0 30px rgba(0,0,0,0.2);
  transition: transform .25s ease, box-shadow .25s ease;
}
.map-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 40px rgba(214,181,111,0.25);
}

.map-frame iframe {
  width: 100%;
  height: 260px;
  border: none;
  filter: brightness(0.95) contrast(1.05);
  transition: filter .3s ease;
}
:root.light .map-frame iframe {
  filter: brightness(1.05) contrast(1);
}
.map-tile:hover iframe {
  filter: brightness(1.05);
}

.map-body {
  padding: 18px 20px 16px;
}

.map-body h3 {
  color: var(--ink-strong);
  font-size: 1.2em;
  margin-bottom: 4px;
}
.map-body p {
  color: var(--ink-soft);
  font-size: 0.95em;
}

.map-btn {
  display: block;
  text-align: center;
  font-weight: 600;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  background: linear-gradient(90deg,var(--gold),var(--gold-2));
  color: #000;
  text-decoration: none;
  transition: opacity .25s ease;
}
.map-btn:hover {
  opacity: .85;
}

/* Glow accent */
.map-tile .glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 70%, rgba(214,181,111,0.12), transparent 70%);
  opacity: 0;
  transition: opacity .3s ease;
}
.map-tile:hover .glow {
  opacity: 1;
}

/* Responsive */
@media (max-width: 900px) {
  .map-dual {
    grid-template-columns: 1fr;
  }
}



/* ===== Team Page ===== */
.team-page {
  padding: 100px 0 60px;
}
.hero-center { text-align: center; }

.team {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.person {
  background: var(--card-bg);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 30px 25px;
  text-align: center;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
}

.person:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: 0 10px 30px rgba(214,181,111,.18);
}

.person::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  transform: scaleX(0);
  transition: transform .25s ease;
}
.person:hover::before { transform: scaleX(1); }

.avatar {
  width: 120px; height: 120px;
  margin: 0 auto 20px;
  border-radius: 50%;
  overflow: hidden;
  display: grid; place-items: center;
  font-size: 2.2em; font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
}
.avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

.avatar.alt-1 { background: linear-gradient(135deg, #667eea, #764ba2); }
.avatar.alt-2 { background: linear-gradient(135deg, #f093fb, #f5576c); }
.avatar.alt-3 { background: linear-gradient(135deg, #4facfe, #00f2fe); }

.person h3 {
  margin: 0 0 8px;
  color: var(--ink-strong);
  font-size: 1.35em;
}
.role {
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 12px;
  font-size: 1.05em;
}
.bio {
  color: var(--ink-soft);
  line-height: 1.6;
  font-size: .96em;
}

/* CTA soft section */
.cta-soft {
  padding: 60px 0;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(214,181,111,.12), rgba(214,181,111,.06));
}
.cta-center { display: grid; gap: 16px; text-align: center; }
.cta-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Responsive */
@media (max-width: 768px) {
  .team-page { padding: 80px 0 40px; }
  .team { grid-template-columns: 1fr; gap: 20px; }
  .person { padding: 25px 20px; }
  .avatar { width: 100px; height: 100px; font-size: 2em; }
}
/* in styles.css */
.fab-wrap { position: fixed; right: 18px; bottom: 18px; z-index: 9999; }
.fab-main { position: relative; cursor: pointer; }
.fab-main .x { font-size: 26px; font-weight: 900; color: #0e1220; user-select: none; transition: transform .4s ease; }
.fab-wrap.open .fab-main { transform: rotate(45deg) scale(1.05); border-radius: 22%; box-shadow: 0 0 24px rgba(212,175,55,.6); }
.fab-wrap.open .fab-main .x { transform: rotate(-45deg); }




/* ===== Home Services (image cards like design) ===== */
#services-home{
  padding: 10px;
}

/* شبكة الكروت */
.services-home-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:18px;
}

@media (max-width: 980px){
  .services-home-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 640px){
  .services-home-grid{
    grid-template-columns: 1fr;
  }
}

/* الكرت نفسه – يعتمد على ستايل البطاقات الموحّد (.card, .srv, ...) */
.services-home-card{
  position:relative;
  min-height: 170px;
  border-radius:24px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  cursor:pointer;
}

/* طبقة التدرّج فوق الصورة – من جهة النص (نستخدم ::after حتى نترك ::before للتوهّج العام) */
.services-home-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.55) 40%,
    rgba(0,0,0,.08) 100%
  );
  pointer-events:none;
}

/* في الإنجليزية نعكس اتجاه التدرّج */
html[dir="ltr"] .services-home-card::after{
  background:linear-gradient(
    270deg,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.55) 40%,
    rgba(0,0,0,.08) 100%
  );
}

/* محتوى النص داخل الكرت */
.services-home-content{
  position:relative;
  z-index:1;
  height:100%;
  padding:18px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;   /* النص في الأعلى */
  align-items:flex-end;         /* يمين في العربي */
  text-align:right;
  gap:6px;
}

/* في الإنجليزية: يسار */
html[dir="ltr"] .services-home-content{
  align-items:flex-start;
  text-align:left;
}

/* العنوان داخل الكرت */
.services-home-content h3{
  margin:0;
  font-size:1.05rem;
  font-weight:800;
  color:#fdfdfd;
  text-shadow:0 4px 18px rgba(0,0,0,.85);
}

/* الوصف */
.services-home-content p{
  margin:0;
  font-size:.95rem;
  color:#e5e7eb;
  max-width:20ch;            /* نفس الإحساس الضيق في الصورة */
}

.header .menu a.active,
.drawer a.active {
  color: #d6b56f;
  font-weight: 600;
  position: relative;
}

.header .menu a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: #d6b56f;
  border-radius: 999px;
}



/* ===== Fancy glass drawer for mobile burger ===== */
/* ============================= */
/* خلفية القائمة الذهبية الشفافة */
/* ============================= */
/* الخلفية الذهبية الشفافة خلف القائمة فقط */
.drawer-overlay{
  position:fixed;
  top:88px;          /* يبدأ تحت الهيدر */
  bottom:0;
  right:0;
  width:60vw;
  max-width:420px;
  z-index:70;

  /* ذهبية زجاجية ناعمة */
  background: linear-gradient(135deg,
              rgba(214,181,111,0.26),
              rgba(214,181,111,0.14));
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);

  opacity:0;
  pointer-events:none;
  transition: opacity .28s ease;
  border-radius:0 0 0 24px;   /* بس الزاوية السفلية الداخلية */
}

.drawer-overlay.show{
  opacity:1;
  pointer-events:auto;
}

/* إنجليزي: نعكس الجهة */
html[dir="ltr"] .drawer-overlay{
  left:0;
  right:auto;
  border-radius:0 0 24px 0;
}


/* ============================= */
/* القائمة (SIDE SHEET)          */
/* ============================= */
@media (max-width: 980px){

  .header .drawer{
    position:fixed;
    top:88px;
    bottom:0;
    right:0;
    width:60vw;
    max-width:420px;
    z-index:100;

    padding:18px 18px 24px;

    /* مهم: نخليها شفافة تماماً
       عشان ما يظهر أي مستطيل خلف أول زر */
    background:transparent;
    border:none;
    box-shadow:none;

    opacity:0;
    pointer-events:none;
    transform:translateX(24px);
    transition: opacity .30s ease, transform .30s ease;
    display:block;
  }

  /* إنجليزي */
  html[dir="ltr"] .header .drawer{
    left:0;
    right:auto;
    transform:translateX(-24px);
  }

  .header .drawer.open{
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
  }

  /* روابط المنيو */
  .header .drawer a{
    display:block;
    padding:14px 10px;
    margin-bottom:8px;
    border-radius:12px;
    border: 2px solid rgba(243, 202, 115, 0.22);
    background:rgba(5,8,15,.88);
    color:var(--ink-strong);
    font-weight:600;
    text-align:right;
    transition:
      background .2s ease,
      transform .15s ease,
      border-color .2s ease;
  }

  html[dir="ltr"] .header .drawer a{
    text-align:left;
  }

  .header .drawer a:hover{
    background:rgba(214,181,111,.16);
    border-color:rgba(214,181,111,.55);
    transform:translateY(-2px);
  }

  .header .drawer a.btn{
    background:linear-gradient(180deg,#e2c989,#d0ad5d);
    color:#201607;
    border-color:transparent;
    box-shadow:0 14px 32px rgba(0,0,0,.55);
    text-align:center;
  }
}


/* ========== Drawer body (side sheet) ========== */
@media (max-width: 980px){


  
/* ===== زر البورجر / X بدون إطار دائري ===== */
.burger{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  width:28px;
  height:20px;
  cursor:pointer;
  background:transparent;   /* لا خلفية */
  border:none;              /* لا إطار */
  padding:0;
}

/* الخطوط */
.burger span{
  width:100%;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:
    transform .25s ease,
    opacity .2s ease,
    background .2s ease;
}

:root.light .burger span{
  background:#111;
}

/* حالة مفتوح = X متقاطعة أكثر */
.burger.is-open span{
  background:#f5f5f5;          /* ممكن تخليها ذهبية لو حاب */
}

.burger.is-open span:nth-child(1){
  transform:translateY(8.3px) rotate(37deg);
}

.burger.is-open span:nth-child(2){
  opacity:0;
}

.burger.is-open span:nth-child(3){
  transform:translateY(-8.3px) rotate(-37deg);
}

/* ========== Drawer overlay (نفسه للداكن والفاتح) ========== */
.drawer-overlay{
  position:fixed;
  top:88px;
  bottom:0;
  right:0;
  width:60vw;
  max-width:420px;
  z-index:70;
  background: linear-gradient(135deg,
              rgba(214,181,111,0.26),
              rgba(214,181,111,0.14));
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  opacity:0;
  pointer-events:none;
  transition: opacity .28s ease;
  border-radius:0 0 0 24px;
}
.drawer-overlay.show{
  opacity:1;
  pointer-events:auto;
}
html[dir="ltr"] .drawer-overlay{
  left:0;
  right:auto;
  border-radius:0 0 24px 0;
}


  .header .drawer{
    position:fixed;
    top:88px;
    bottom:0;
    right:0;
    width:60vw;
    max-width:420px;
    z-index:100;
    padding:18px 18px 24px;

    /* مهم: لا خلفية ولا مستطيل، الشغل كله على overlay */
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;

    opacity:0;
    pointer-events:none;
    transform:translateX(24px);
    transition: opacity .30s ease, transform .30s ease;
    display:block;
  }

  html[dir="ltr"] .header .drawer{
    left:0;
    right:auto;
    transform:translateX(-24px);
  }

  .header .drawer.open{
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
  }

  /* روابط المنيو العادية */
  .header .drawer a{
    display:block;
    padding:14px 10px;
    margin-bottom:8px;
    border-radius:12px;
    border: 2px solid rgba(243, 202, 115, 0.22);
    background:rgba(5,8,15,.88);
    color:var(--ink-strong);
    font-weight:600;
    text-align:right;
    transition:
      background .2s ease,
      transform .15s ease,
      border-color .2s ease;
  }
  html[dir="ltr"] .header .drawer a{
    text-align:left;
  }
  .header .drawer a:hover{
    background:rgba(214,181,111,.16);
    border-color:rgba(214,181,111,.55);
    transform:translateY(-2px);
  }

  /* زر تواصل: نخليه كما هو (لا نغيّره) */
  .header .drawer a.btn{
    background:linear-gradient(180deg,#e2c989,#d0ad5d);
    color:#201607;
    border-color:transparent;
    box-shadow:0 14px 32px rgba(0,0,0,.55);
    text-align:center;
  }

  /* ========== في الثيم الفاتح: نص الروابط أبيض، بدون لمس زر تواصل ========== */
  :root.light .header .drawer a{
    color:#ffffff;                 /* كل الروابط نصها أبيض */
    background:rgba(10,12,20,.92); /* خلفية داكنة تعطي كونتراست */
  }
  :root.light .header .drawer a.btn{
    /* نرجّع زر تواصل لإعداداته الأصلية */
    background:linear-gradient(180deg,#e2c989,#d0ad5d);
    color:#201607;
  }
}






/* ===== Header layout: logo on one side, buttons on the other ===== */
.header .nav{
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

/* RTL/LTR اتجاه عام للهيدر */
html[dir="ltr"] .header .nav{
  flex-direction:row;
}
html[dir="rtl"] .header .nav{
  flex-direction:row-reverse;
}

/* تجمع اللوجو والاسم */
.header .brand{
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}

/* تجمع AR + القمر + البورجر */
.header .header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

/* نخلي أزرار اللغة والثيم عادية (مش floating) داخل الهيدر */
.header .theme-toggle,
.header .lang-toggle{
  position:static !important;
  top:auto; right:auto; left:auto;
  transform:none;
  z-index:auto;
  margin:0;
}

/* حجم مناسب في الهيدر */
.header .theme-toggle,
.header .lang-toggle{
  min-width:48px;
  height:44px;
  padding:0 12px;
  border-radius:12px;
}

/* البورجر في الهيدر فقط */
.header .burger{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  width:28px;
  height:20px;
  cursor:pointer;
  background:transparent;
  border:none;
  padding:0;
}
.header .burger span{
  width:100%;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:
    transform .25s ease,
    opacity .2s ease,
    background .2s ease;
}
:root.light .header .burger span{
  background:#111;
}

/* حالة الـ X */
.header .burger.is-open span:nth-child(1){
  transform:translateY(8.3px) rotate(37deg);
}
.header .burger.is-open span:nth-child(2){
  opacity:0;
}
.header .burger.is-open span:nth-child(3){
  transform:translateY(-8.3px) rotate(-37deg);
}

/* في الشاشات الكبيرة: نخفي البورجر ونظهر المنيو العادية */
@media (min-width: 981px){
  .header .menu{ display:flex; }
  .header .burger{ display:none; }
}

/* في الموبايل: نخفي المنيو ونبقي الأزرار + البورجر */
@media (max-width: 980px){
  .header .menu{ display:none; }
  .header .header-actions{ gap:8px; }
}



/* ===== هيدر: تثبيت القائمة والأزرار في الزاوية لكل اللغات ===== */

/* شريط الهيدر الأساسي */
.header .nav{
  height:88px;
  display:flex;
  align-items:center;
  justify-content:flex-start; /* ما نستعمل space-between */
  gap:16px;
}

/* اللوجو + الاسم */
.header .brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-inline-end:auto;  /* يدزّ الباقي للطرف الآخر */
}

/* منيو الديسكتوب */
.header .menu{
  display:flex;
  align-items:center;
  gap:18px;
}

/* مجموعة الأزرار (EN + 🌙 + بورجر) في الزاوية */
.header .header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-inline-start:auto; /* تثبيت المجموعة في زاوية الهيدر */
}

/* مهم: اتجاه السطر ثابت في RTL و LTR */
html[dir="rtl"] .header .nav,
html[dir="ltr"] .header .nav{
  flex-direction:row !important;
}

/* نحط أزرار اللغة/الثيم داخل الهيدر بدل fixed */
.theme-toggle,
.lang-toggle{
  position:static !important;
  top:auto; right:auto; left:auto;
  transform:none;
  margin:0;
  min-width:48px;
  height:44px;
  padding:0 12px;
  border-radius:12px;
}

/* موبايل: نخفي المنيو ونخلي الأزرار + البورجر */
@media (max-width:980px){
  .header .menu{
    display:none;
  }

  .header .header-actions{
    gap:8px;
  }
}

/* ديسكتوب: نخفي البورجر */
@media (min-width:981px){
  .header .burger{
    display:none;
  }
}


/* ===== إزاحة روابط القائمة لليمين في الإنجليزية فقط ===== */
@media (max-width: 980px) {
  html[dir="ltr"] .drawer a{
    margin-left: 5px;   /* زحها شوي لليمين */
    margin-right: 0;     /* تأكد ما فيها مسافة يمين */
  }

  /* زر Contact (الذهبي) */
  html[dir="ltr"] .drawer a.btn{
    margin-left: 5px;
    margin-right: 0;
  }
}


/* الإنجليزية: الدروار يفتح من اليسار */
html[dir="ltr"] .drawer {
  right: auto;
  left: 0;
  transform: translateX(-100%);  /* مخفي من اليسار */
}

/* الإنجليزية عند الفتح */
html[dir="ltr"] .drawer.open {
  transform: translateX(0); 
}


/* ===== Make the last button full-width in both Arabic & English ===== */
#drawer a.btn{
  display:block;
  width:100%;
  text-align:center;
  margin-top:12px;
  border-radius:14px;
  padding:14px 10px;
}

/* للعربي (RTL): يبقى بمحاذاة صحيحة */
html[dir="rtl"] #drawer a.btn{
  margin-inline-start:0;
  margin-inline-end:0;
}

/* للإنجليزي (LTR): نفس الشيء بالضبط */
html[dir="ltr"] #drawer a.btn{
  margin-inline-start:0;
  margin-inline-end:0;
}



/* ===== Fix layout under 450px ===== */
@media (max-width: 450px){

  /* شوي تقليل للحواف عشان كل شي يدخل */
  .container{
    padding-inline: 12px;
  }

  /* الهيدر: خليه يتمدد بدل ما الأشياء تتداخل */
  .header .nav{
    height: auto;
    padding-block: 8px;
    flex-wrap: wrap;
    row-gap: 8px;
  }

  /* اللوجو + الاسم ما يأخذوا مساحة كبيرة */
  .header .brand-name{
    font-size: .95rem;
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* مجموعة الأزرار (EN + 🌙 + البورجر) ما تتزاحم */
  .header .header-actions{
    gap: 6px;
    flex-wrap: nowrap;
  }
  .header .theme-toggle,
  .header .lang-toggle{
    min-width: 40px;
    height: 38px;
    padding-inline: 8px;
    font-size: .8rem;
  }

  /* الهيرو يأخذ مساحة أقل من فوق */
  .hero{
    padding: 82px 0 40px;
  }
  .hero-wrap{
    gap: 16px;
  }
  .hero-card{
    padding: 14px;
  }

  /* شبكات البطاقات تكون عمود واحد إذا ضاقت */
  .cards,
  .grid-3,
  .team,
  .services-home-grid{
    grid-template-columns: 1fr !important;
  }

  /* CTA و الفوتر ياخذوا نفس المسافة الجانبية */
  #cta-contact{
    padding-inline: 12px;
  }
  footer .container{
    padding-inline: 12px;
  }

  /* زر الفاب ما يغطي المحتوى تحت */
  .fab-wrap{
    right: 12px;
    bottom: 12px;
  }
}





/* ===== 3D Hero Background (animated) ===== */
/* Additional theme variables (non-conflicting with existing) */


/* Background container */
.hero .hero-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; background:linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 100%); transition:background .6s ease; }

/* Soft gradient orbs */
.hero .gradient-orbs{ position:absolute; inset:0; opacity:.32; }
.hero .orb{ position:absolute; border-radius:50%; filter:blur(90px); animation:hero-float 6s ease-in-out infinite; will-change:transform; }
.hero .orb-1{ top:22%; left:18%; width:380px; height:380px; background:var(--gold); }
.hero .orb-2{ bottom:18%; right:16%; width:380px; height:380px; background:var(--wood); animation-delay:2s; }
.hero .orb-3{ top:48%; left:52%; width:300px; height:300px; background:var(--primary); filter:blur(80px); animation-delay:4s; }

/* Subtle 3D grid */
.hero .grid{
  position:absolute; inset:0; opacity:.18;
  background-image:
    linear-gradient(var(--gold) 1px, transparent 1px),
    linear-gradient(90deg, var(--gold) 1px, transparent 1px);
  background-size:50px 50px;
  transform:perspective(1000px) rotateX(58deg);
  transform-origin:center;
}

/* Rotating scale icon */
.hero .scale-icon{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); opacity:.09; pointer-events:none; z-index:0; }
.hero .scale-icon svg{ width:min(68vmin, 720px); color:var(--gold); animation:hero-rotate3d 30s linear infinite; filter:drop-shadow(0 0 42px rgba(212,175,55,.45)); }

/* Sparkles */
.hero .sparkle{ position:absolute; opacity:.4; animation:hero-float 7s ease-in-out infinite; pointer-events:none; z-index:0; }
.hero .sparkle-1{ top:80px; left:48px; }
.hero .sparkle-2{ right:48px; bottom:80px; animation-delay:1.2s; }
.hero .sparkle svg{ color: var(--gold); filter: drop-shadow(0 0 10px rgba(212,175,55,.85)); }

/* Ensure content sits above */
.hero .hero-wrap{ position:relative; z-index:1; }

/* Keyframes (prefixed to avoid conflicts) */
@keyframes hero-float{
  0%,100%{ transform:translateY(0) rotateZ(0deg); }
  33%{ transform:translateY(-22px) rotateZ(1.5deg); }
  66%{ transform:translateY(-10px) rotateZ(-1.5deg); }
}
@keyframes hero-rotate3d{
  0%   { transform: rotateY(0deg) rotateX(0deg); }
  50%  { transform: rotateY(180deg) rotateX(10deg); }
  100% { transform: rotateY(360deg) rotateX(0deg); }
}
/* ========== FIX: Extra-small screens (max 450px) ========== */
@media (max-width:450px){

  /* تقليل حجم الأورب حتى لا تتداخل */
  .hero .orb-1,
  .hero .orb-2{
    width:220px;
    height:220px;
    filter:blur(70px);
  }

  .hero .orb-3{
    width:160px;
    height:160px;
    filter:blur(60px);
  }

  /* تقليل الارتفاع الظاهري للـ grid لتجنب تغطية المحتوى */
  .hero .grid{
    opacity:.12;
    background-size:32px 32px;
    transform:perspective(700px) rotateX(55deg);
  }

  /* تصغير أيقونة الميزان بالوسط */
  .hero .scale-icon svg{
    width:58vmin;
  }

  /* تصغير السباركلز */
  .hero .sparkle svg{
    width:40px;
    height:40px;
  }

  .hero .sparkle-1{
    top:40px;
    left:22px;
  }
  .hero .sparkle-2{
    bottom:40px;
    right:22px;
  }
}


html[dir="rtl"] .kicker-lg {
  font-size: 1.1rem;
}


/* موبايل: خلّي النص داخل صناديق الإحصائيات يلف تحت بعض */
@media (max-width: 600px){
  .stats .stat span{
    display:block;          /* ينزل للسطر تحت الرقم */
    white-space:normal;     /* يتجاهل أي nowrap افتراضي */
    word-break:break-word;  /* يسمح يكسر الكلمة إذا ضاقت */
    overflow-wrap:anywhere; /* يسمح يكسر حتى بعد / أو وسط الكلمة */
    line-height:1.4;
  }
}
/* ترتيب أفضل لصناديق الإحصائيات في الشاشات الصغيرة */

/* تحت 640px: عمودين، والكرت الأخير يأخذ صف كامل */
@media (max-width: 640px){
  .stats{
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
  }

  /* خلي آخر كرت يمتد على عرض الشبكة */
  .stats .stat:last-child{
    grid-column: 1 / -1;
  }
}

/* تحت 420px: كل كرت لوحده (عمود واحد) */
@media (max-width: 420px){
  .stats{
    grid-template-columns: 1fr;
  }
}

/* تحسين شكل الكرت نفسه */
.stats .stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height: 80px;
}

/* رقم أكبر قليلاً، والنص أنعم */
.stats .stat b{
  font-size:1.7rem;
}

.stats .stat span{
  font-size:.9rem;
  line-height:1.4;
  text-align:center;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
}
