/* ============================================================
   AL BAHRANI GROUP — Enterprise layer (loads AFTER styles.css)
   World-class holding-company UI: cinematic hero, glassmorphism,
   ecosystem diagram, animated counters, per-company themes,
   ABOS dark futuristic mode. No backend changes.
   ============================================================ */

:root{
  /* Enterprise accent tokens (default = Group gold) */
  --e-accent:#b8945f;
  --e-accent-2:#8d734a;
  --e-accent-rgb:184,148,95;
  --e-deep:#0d0b07;
  --e-deep-2:#171208;
  --e-glow:rgba(184,148,95,.45);
  --e-glass:rgba(255,255,255,.08);
  --e-glass-line:rgba(255,255,255,.16);
  --e-ease:cubic-bezier(.16,.84,.34,1);
}

/* ---------- Per-company themes (set class on <body>) ---------- */
body.theme-abc{ --e-accent:#2f80c9; --e-accent-2:#1e8449; --e-accent-rgb:47,128,201; --e-deep:#0a1422; --e-deep-2:#0f2236; --e-glow:rgba(47,128,201,.5); }
body.theme-bgt{ --e-accent:#13a0c9; --e-accent-2:#c9a227; --e-accent-rgb:19,160,201; --e-deep:#04141f; --e-deep-2:#072636; --e-glow:rgba(19,160,201,.5); }
body.theme-bgi{ --e-accent:#3f6fa3; --e-accent-2:#7d8a97; --e-accent-rgb:63,111,163; --e-deep:#0c1620; --e-deep-2:#142433; --e-glow:rgba(63,111,163,.5); }
body.theme-abos{ --e-accent:#3df5b0; --e-accent-2:#2e9bff; --e-accent-rgb:61,245,176; --e-deep:#05080d; --e-deep-2:#0a0f17; --e-glow:rgba(61,245,176,.45); }

/* ============================================================
   LOADING SCREEN
   ============================================================ */
.abg-loader{
  position:fixed; inset:0; z-index:9999; display:grid; place-items:center;
  background:radial-gradient(120% 120% at 50% 30%, #1a140b 0%, #0b0906 60%, #060503 100%);
  transition:opacity .7s ease, visibility .7s ease;
}
.abg-loader.is-done{ opacity:0; visibility:hidden; pointer-events:none; }
.abg-loader__inner{ display:flex; flex-direction:column; align-items:center; gap:22px; }
.abg-loader__ring{ position:relative; width:96px; height:96px; }
.abg-loader__ring::before,.abg-loader__ring::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  border:2px solid transparent;
}
.abg-loader__ring::before{ border-top-color:var(--e-accent); border-right-color:rgba(184,148,95,.4); animation:abgspin 1s linear infinite; }
.abg-loader__ring::after{ inset:14px; border-bottom-color:var(--e-accent); border-left-color:rgba(184,148,95,.25); animation:abgspin 1.5s linear infinite reverse; }
.abg-loader__mark{ position:absolute; inset:0; display:grid; place-items:center; }
.abg-loader__mark img{ width:46px; height:46px; opacity:.95; }
.abg-loader__word{ font-family:var(--ff-head); letter-spacing:.42em; text-transform:uppercase; color:#e9dcc4; font-size:.82rem; padding-inline-start:.42em; }
.abg-loader__bar{ width:160px; height:2px; background:rgba(255,255,255,.12); border-radius:2px; overflow:hidden; }
.abg-loader__bar i{ display:block; height:100%; width:40%; background:linear-gradient(90deg,transparent,var(--e-accent),transparent); animation:abgload 1.1s var(--e-ease) infinite; }
@keyframes abgspin{ to{ transform:rotate(360deg); } }
@keyframes abgload{ 0%{ transform:translateX(-100%);} 100%{ transform:translateX(350%);} }

/* ============================================================
   CINEMATIC HERO (homepage + company pages)
   ============================================================ */
.ehero{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:clamp(560px,92vh,920px); display:grid; align-items:center;
  color:#f4ecdd;
  background:linear-gradient(160deg, var(--e-deep) 0%, var(--e-deep-2) 55%, #000 130%);
}
.ehero__bg{ position:absolute; inset:-10% -10% -10% -10%; z-index:-3; }
.ehero__aurora{
  position:absolute; inset:0; z-index:-3; opacity:.9;
  background:
    radial-gradient(40% 55% at 78% 18%, rgba(var(--e-accent-rgb),.34), transparent 60%),
    radial-gradient(46% 60% at 12% 82%, rgba(var(--e-accent-rgb),.22), transparent 62%),
    radial-gradient(30% 40% at 50% 50%, rgba(255,255,255,.05), transparent 70%);
  animation:auroraFloat 14s ease-in-out infinite alternate;
}
.ehero__grid{
  position:absolute; inset:0; z-index:-2; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(120% 90% at 70% 20%, #000 35%, transparent 80%);
  mask-image:radial-gradient(120% 90% at 70% 20%, #000 35%, transparent 80%);
}
.ehero__glowline{ position:absolute; left:0; right:0; bottom:0; height:1px; z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(var(--e-accent-rgb),.7),transparent); }
@keyframes auroraFloat{ 0%{ transform:translate3d(0,0,0) scale(1);} 100%{ transform:translate3d(-3%,2%,0) scale(1.08);} }

.ehero__inner{ position:relative; z-index:2; padding:clamp(40px,8vh,90px) 0; }
.ehero__eyebrow{
  display:inline-flex; align-items:center; gap:10px; padding:8px 16px; border-radius:999px;
  background:var(--e-glass); border:1px solid var(--e-glass-line); backdrop-filter:blur(8px);
  font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:#e9dcc4; margin-bottom:26px;
}
.ehero__eyebrow .dot{ width:8px; height:8px; border-radius:50%; background:var(--e-accent); box-shadow:0 0 0 4px rgba(var(--e-accent-rgb),.18); }
.ehero h1{
  font-family:var(--ff-head); font-weight:700; color:#fff;
  font-size:clamp(2.5rem,6vw,5.2rem); line-height:1.02; letter-spacing:-.01em; margin:0 0 8px;
  max-width:16ch;
}
.ehero h1 .accent{ color:transparent; background:linear-gradient(100deg,var(--e-accent),#f3e4c6 60%,var(--e-accent-2)); -webkit-background-clip:text; background-clip:text; }
.ehero__ar{ font-family:var(--ff-ar); direction:rtl; color:rgba(244,236,221,.78); font-size:clamp(1.1rem,2.4vw,1.7rem); margin:4px 0 0; }
.ehero__sub{ color:rgba(244,236,221,.72); font-size:clamp(1rem,1.5vw,1.18rem); max-width:54ch; margin:22px 0 0; line-height:1.7; }
.ehero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

[dir="rtl"] .ehero h1{ letter-spacing:0; }

/* ============================================================
   PREMIUM BUTTONS (extend base .btn)
   ============================================================ */
.btn-glass{
  background:var(--e-glass); border:1px solid var(--e-glass-line); color:#f4ecdd; backdrop-filter:blur(10px);
}
.btn-glass:hover{ background:rgba(255,255,255,.16); transform:translateY(-2px); }
.btn-shine{
  position:relative; overflow:hidden;
  background:linear-gradient(100deg,var(--e-accent),var(--e-accent-2)); color:#1a1306; border:none; font-weight:600;
}
.btn-shine::after{
  content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg);
  transition:left .7s var(--e-ease);
}
.btn-shine:hover::after{ left:140%; }
.btn-shine:hover{ transform:translateY(-2px); box-shadow:0 14px 36px rgba(var(--e-accent-rgb),.4); }
.btn-neon{
  background:rgba(var(--e-accent-rgb),.12); border:1px solid rgba(var(--e-accent-rgb),.55); color:var(--e-accent);
  font-weight:600; box-shadow:0 0 0 rgba(var(--e-accent-rgb),.0);
}
.btn-neon:hover{ box-shadow:0 0 28px rgba(var(--e-accent-rgb),.45); transform:translateY(-2px); background:rgba(var(--e-accent-rgb),.2); }

/* ============================================================
   GLASS CARDS
   ============================================================ */
.glass{
  background:linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  border:1px solid var(--e-glass-line); border-radius:18px; backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.glass-light{
  background:linear-gradient(160deg,#fff, #fbf7ef); border:1px solid var(--line);
  border-radius:18px; box-shadow:var(--shadow-md);
}

/* ============================================================
   ECOSYSTEM SECTION (group structure)
   ============================================================ */
.ecosystem{ position:relative; background:linear-gradient(180deg,#0c0a07,#15110a); color:#f1e8d8; overflow:hidden; }
.ecosystem .ehero__aurora{ opacity:.5; }
.ecosystem__head{ text-align:center; max-width:760px; margin:0 auto clamp(34px,5vw,56px); position:relative; z-index:2; }
.ecosystem__head .eyebrow{ color:var(--e-accent); }
.ecosystem__head h2{ color:#fff; font-size:clamp(1.9rem,4vw,3rem); margin:12px 0 0; }
.ecosystem__head p{ color:rgba(241,232,216,.7); margin-top:14px; }

.eco{ position:relative; z-index:2; display:grid; gap:26px; }
.eco__parent{ max-width:520px; margin:0 auto; text-align:center; }
.eco__node{
  display:block; position:relative; padding:26px 24px; border-radius:18px; text-align:center;
  background:linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  border:1px solid var(--e-glass-line); backdrop-filter:blur(14px);
  transition:transform .35s var(--e-ease), box-shadow .35s var(--e-ease), border-color .35s;
  color:inherit; transform-style:preserve-3d;
}
a.eco__node:hover{ transform:translateY(-6px); border-color:rgba(var(--e-accent-rgb),.6); box-shadow:0 26px 60px rgba(0,0,0,.4), 0 0 0 1px rgba(var(--e-accent-rgb),.25) inset; }
.eco__parent .eco__node{ background:linear-gradient(160deg, rgba(var(--e-accent-rgb),.22), rgba(var(--e-accent-rgb),.05)); border-color:rgba(var(--e-accent-rgb),.5); }
.eco__logo{ height:54px; display:grid; place-items:center; margin-bottom:14px; }
.eco__logo img{ height:50px; width:auto; object-fit:contain; }
.eco__code{ font-size:.72rem; letter-spacing:.28em; color:var(--e-accent); text-transform:uppercase; }
.eco__name{ font-family:var(--ff-head); font-weight:700; color:#fff; font-size:1.15rem; margin:6px 0 4px; line-height:1.15; }
.eco__role{ color:rgba(241,232,216,.6); font-size:.86rem; }
.eco__more{ display:inline-flex; align-items:center; gap:6px; margin-top:12px; color:var(--e-accent); font-size:.82rem; font-weight:600; }
.eco__more svg{ width:14px; height:14px; }
[dir="rtl"] .eco__more svg{ transform:scaleX(-1); }

.eco__connector{ height:34px; position:relative; }
.eco__connector::before{ content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:linear-gradient(var(--e-accent),transparent); }
.eco__subs{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.eco__os{ max-width:560px; margin:6px auto 0; }
.eco__os .eco__node{ background:linear-gradient(160deg, rgba(46,155,255,.14), rgba(61,245,176,.06)); border-color:rgba(61,245,176,.4); }
.eco__os .eco__code,.eco__os .eco__more{ color:#5ff0c0; }

/* ============================================================
   STAT / COUNTER BAND
   ============================================================ */
.counters{ background:linear-gradient(180deg,#15110a,#0c0a07); color:#f1e8d8; }
.counters__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.counter__num{ font-family:var(--ff-head); font-weight:700; font-size:clamp(2.2rem,4.5vw,3.4rem); color:#fff; line-height:1; }
.counter__num .suffix{ color:var(--e-accent); }
.counter__label{ margin-top:10px; color:rgba(241,232,216,.62); font-size:.9rem; letter-spacing:.04em; }

/* ============================================================
   FEATURE / SERVICE GRIDS (company pages)
   ============================================================ */
.efeature{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; }
.efeature .card{ position:relative; overflow:hidden; }
.efeature .card::before{ content:""; position:absolute; inset:0 auto auto 0; width:100%; height:3px; background:linear-gradient(90deg,var(--e-accent),transparent); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--e-ease); }
.efeature .card:hover::before{ transform:scaleX(1); }
.eservice-list{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px 26px; }
.eservice-list li{ position:relative; padding:14px 16px 14px 44px; border-radius:12px; background:var(--cream); border:1px solid var(--line); font-weight:500; color:var(--ink); }
.eservice-list li::before{ content:""; position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; border-radius:5px; background:linear-gradient(135deg,var(--e-accent),var(--e-accent-2)); }
[dir="rtl"] .eservice-list li{ padding:14px 44px 14px 16px; }
[dir="rtl"] .eservice-list li::before{ left:auto; right:16px; }

/* themed eyebrow/accents on company pages */
body.theme-abc .eyebrow,body.theme-bgt .eyebrow,body.theme-bgi .eyebrow{ color:var(--e-accent); }
.theme-accent{ color:var(--e-accent); }

/* ============================================================
   COMPANY PAGE HERO (chero) — full themed band
   ============================================================ */
.chero{ position:relative; overflow:hidden; color:#eef4fb; background:linear-gradient(155deg,var(--e-deep),var(--e-deep-2) 60%,#000); min-height:clamp(420px,62vh,640px); display:grid; align-items:center; }
.chero .ehero__aurora{ opacity:.75; }
.chero .ehero__grid{ opacity:.4; }
.chero__inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; padding:clamp(40px,7vh,80px) 0; }
.chero__badge{ display:inline-flex; align-items:center; gap:10px; padding:7px 15px; border-radius:999px; background:var(--e-glass); border:1px solid var(--e-glass-line); font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:#dfe9f5; }
.chero h1{ font-family:var(--ff-head); font-weight:700; color:#fff; font-size:clamp(2.1rem,4.6vw,3.6rem); line-height:1.04; margin:18px 0 6px; }
.chero__ar{ font-family:var(--ff-ar); direction:rtl; color:rgba(238,244,251,.8); font-size:1.2rem; margin-bottom:14px; }
.chero__lead{ color:rgba(238,244,251,.74); line-height:1.7; max-width:52ch; }
.chero__cr{ display:inline-flex; align-items:center; gap:8px; margin-top:18px; padding:7px 15px; border-radius:999px; background:rgba(var(--e-accent-rgb),.16); border:1px solid rgba(var(--e-accent-rgb),.4); color:#fff; font-weight:600; font-size:.9rem; }
.chero__cta{ display:flex; flex-wrap:wrap; gap:13px; margin-top:26px; }
.chero__visual{ position:relative; display:grid; place-items:center; }
.chero__emblem{ width:min(330px,80%); aspect-ratio:1; border-radius:26px; display:grid; place-items:center; padding:34px;
  background:linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.02)); border:1px solid var(--e-glass-line); backdrop-filter:blur(16px);
  box-shadow:0 30px 80px rgba(0,0,0,.45); }
.chero__emblem img{ width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)); }

/* ============================================================
   GOVERNANCE / INVESTOR
   ============================================================ */
.gov-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; }
.gov-card{ padding:24px; border-radius:16px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); transition:transform .3s var(--e-ease), box-shadow .3s; }
.gov-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.gov-card .ic{ width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(135deg,rgba(var(--e-accent-rgb),.18),rgba(var(--e-accent-rgb),.05)); color:var(--e-accent-2); margin-bottom:14px; }
.gov-card .ic svg{ width:24px; height:24px; }
.gov-card h3{ font-size:1.06rem; margin:0 0 6px; }
.gov-card p{ color:var(--ink-soft); font-size:.92rem; line-height:1.6; margin:0; }
.note-chip{ display:inline-flex; align-items:center; gap:8px; padding:6px 13px; border-radius:999px; background:var(--gold-pale); color:var(--gold-deep); border:1px solid var(--gold-soft); font-size:.78rem; font-weight:600; letter-spacing:.02em; }

.invest-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.invest-card{ padding:26px; border-radius:16px; background:linear-gradient(160deg,#15110a,#0c0a07); color:#f1e8d8; border:1px solid rgba(255,255,255,.08); }
.invest-card .big{ font-family:var(--ff-head); font-weight:700; font-size:2rem; color:#fff; }
.invest-card .lbl{ color:rgba(241,232,216,.6); font-size:.86rem; margin-top:6px; }

/* ============================================================
   ABOS — dark futuristic page
   ============================================================ */
body.theme-abos{ background:#05080d; color:#cfe6dd; }
body.theme-abos .site-header{ background:rgba(5,8,13,.72); border-bottom:1px solid rgba(255,255,255,.08); }
body.theme-abos .site-header .brand__name{ color:#eaf5ef; }
body.theme-abos .nav__links a{ color:rgba(207,230,221,.8); }
body.theme-abos .nav__links a:hover{ color:#3df5b0; }
body.theme-abos .nav__burger{ border-color:rgba(255,255,255,.18); }
body.theme-abos .nav__burger span,body.theme-abos .nav__burger span::before,body.theme-abos .nav__burger span::after{ background:#3df5b0; }
body.theme-abos .lang__toggle{ color:#cfe6dd; border-color:rgba(255,255,255,.16); }
body.theme-abos .section{ background:transparent; }
body.theme-abos .section--white,body.theme-abos .section--cream{ background:#070b11; }
body.theme-abos h2,body.theme-abos h3{ color:#eef9f3; }
body.theme-abos .lead,body.theme-abos p{ color:rgba(207,230,221,.72); }
body.theme-abos .footer{ background:#04070b; }

.abos-hero{ background:radial-gradient(120% 110% at 80% 0%, #0a1f1a 0%, #05080d 55%, #02040a 120%); }
.abos-hero .ehero__grid{ background-image:linear-gradient(rgba(61,245,176,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(46,155,255,.07) 1px,transparent 1px); opacity:.6; }
.abos-tag{ font-family:"Inter",monospace; letter-spacing:.3em; }

.module-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; }
.module{ position:relative; padding:20px; border-radius:16px; background:linear-gradient(160deg,rgba(61,245,176,.06),rgba(46,155,255,.03)); border:1px solid rgba(61,245,176,.16); transition:transform .3s var(--e-ease), border-color .3s, box-shadow .3s; }
.module:hover{ transform:translateY(-5px); border-color:rgba(61,245,176,.5); box-shadow:0 0 30px rgba(61,245,176,.18); }
.module .ic{ width:42px; height:42px; border-radius:10px; display:grid; place-items:center; background:rgba(61,245,176,.12); color:#3df5b0; margin-bottom:13px; }
.module .ic svg{ width:22px; height:22px; }
.module h3{ font-size:1rem; margin:0 0 4px; color:#eef9f3; }
.module p{ font-size:.85rem; color:rgba(207,230,221,.6); margin:0; }

/* AI center / dashboard mock */
.aicenter{ background:#070b11; }
.dash{ border-radius:20px; overflow:hidden; border:1px solid rgba(61,245,176,.18); background:linear-gradient(180deg,#0a0f17,#070b11); box-shadow:0 30px 80px rgba(0,0,0,.5); }
.dash__bar{ display:flex; align-items:center; gap:8px; padding:13px 18px; border-bottom:1px solid rgba(255,255,255,.06); }
.dash__dot{ width:11px; height:11px; border-radius:50%; }
.dash__title{ margin-inline-start:12px; font-size:.84rem; color:rgba(207,230,221,.7); letter-spacing:.04em; }
.dash__body{ display:grid; grid-template-columns:1.4fr 1fr; gap:16px; padding:18px; }
.dash__panel{ border-radius:12px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); padding:16px; }
.dash__panel h4{ font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:#3df5b0; margin:0 0 12px; }
.dash__bars{ display:flex; align-items:flex-end; gap:10px; height:120px; }
.dash__bars i{ flex:1; border-radius:6px 6px 0 0; background:linear-gradient(180deg,#3df5b0,rgba(46,155,255,.4)); animation:growbar 1.2s var(--e-ease) backwards; }
@keyframes growbar{ from{ transform:scaleY(0); transform-origin:bottom; } }
.dash__row{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px dashed rgba(255,255,255,.07); font-size:.85rem; }
.dash__row .pill{ font-size:.72rem; padding:3px 9px; border-radius:999px; background:rgba(61,245,176,.14); color:#3df5b0; }
.ai-row{ display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:12px; background:rgba(46,155,255,.06); border:1px solid rgba(46,155,255,.16); }
.ai-row .ic{ width:38px; height:38px; flex:none; border-radius:10px; display:grid; place-items:center; background:rgba(46,155,255,.14); color:#5fb6ff; }
.ai-row .ic svg{ width:20px; height:20px; }
.ai-row h4{ margin:0 0 3px; font-size:.96rem; color:#eef9f3; }
.ai-row p{ margin:0; font-size:.84rem; color:rgba(207,230,221,.6); }

/* ============================================================
   SECTION HELPERS / ANIMATIONS
   ============================================================ */
.section--dark{ background:linear-gradient(180deg,#0c0a07,#15110a); color:#f1e8d8; }
.section--dark h2{ color:#fff; }
.section--dark .lead{ color:rgba(241,232,216,.7); }
.section--dark .eyebrow{ color:var(--e-accent); }

.fade-up{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--e-ease), transform .7s var(--e-ease); }
.fade-up.is-visible{ opacity:1; transform:none; }
.stagger > *{ opacity:0; transform:translateY(22px); }
.stagger.is-visible > *{ animation:staggerIn .6s var(--e-ease) forwards; }
.stagger.is-visible > *:nth-child(1){ animation-delay:.05s; }
.stagger.is-visible > *:nth-child(2){ animation-delay:.13s; }
.stagger.is-visible > *:nth-child(3){ animation-delay:.21s; }
.stagger.is-visible > *:nth-child(4){ animation-delay:.29s; }
.stagger.is-visible > *:nth-child(5){ animation-delay:.37s; }
.stagger.is-visible > *:nth-child(6){ animation-delay:.45s; }
@keyframes staggerIn{ to{ opacity:1; transform:none; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .chero__inner{ grid-template-columns:1fr; gap:30px; }
  .chero__visual{ order:-1; }
  .dash__body{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .eco__subs{ grid-template-columns:1fr; }
  .counters__grid{ grid-template-columns:repeat(2,1fr); gap:30px; }
}
@media (prefers-reduced-motion: reduce){
  .ehero__aurora,.btn-shine::after,.dash__bars i{ animation:none !important; }
  .fade-up,.stagger > *{ transition:none; opacity:1; transform:none; }
}

/* ============================================================
   LIVE CHAT ASSISTANT (Claude-powered)
   ============================================================ */
.abgc-fab{
  position:fixed; inset-block-end:22px; inset-inline-end:22px; z-index:1200;
  width:60px; height:60px; border-radius:50%; border:none; cursor:pointer;
  background:linear-gradient(150deg,#b8945f,#8d734a); color:#fff;
  box-shadow:0 14px 34px rgba(141,115,74,.45); display:grid; place-items:center;
  transition:transform .25s var(--e-ease), box-shadow .25s;
}
.abgc-fab:hover{ transform:translateY(-3px) scale(1.04); box-shadow:0 18px 44px rgba(141,115,74,.55); }
.abgc-fab svg{ width:27px; height:27px; }
.abgc-fab .abgc-close-ic{ display:none; }
.abgc-fab.is-open .abgc-chat-ic{ display:none; }
.abgc-fab.is-open .abgc-close-ic{ display:block; }
.abgc-fab::after{ /* pulse */
  content:""; position:absolute; inset:0; border-radius:50%;
  box-shadow:0 0 0 0 rgba(184,148,95,.5); animation:abgcPulse 2.4s ease-out infinite;
}
.abgc-fab.is-open::after{ animation:none; }
@keyframes abgcPulse{ 70%{ box-shadow:0 0 0 16px rgba(184,148,95,0);} 100%{ box-shadow:0 0 0 0 rgba(184,148,95,0);} }

.abgc-panel{
  position:fixed; inset-block-end:94px; inset-inline-end:22px; z-index:1200;
  width:min(380px, calc(100vw - 32px)); height:min(560px, calc(100dvh - 130px));
  display:flex; flex-direction:column; overflow:hidden;
  background:#fff; border:1px solid var(--line); border-radius:20px;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
  opacity:0; transform:translateY(14px) scale(.98); pointer-events:none;
  transition:opacity .28s var(--e-ease), transform .28s var(--e-ease);
}
.abgc-panel.is-open{ opacity:1; transform:none; pointer-events:auto; }
.abgc-head{
  display:flex; align-items:center; gap:12px; padding:16px 18px; color:#fff;
  background:linear-gradient(150deg,#1a140b,#2a2012);
}
.abgc-head .av{ width:38px; height:38px; border-radius:10px; flex:none; display:grid; place-items:center; background:rgba(184,148,95,.2); }
.abgc-head .av img{ width:26px; height:26px; }
.abgc-head h4{ margin:0; font-family:var(--ff-head); font-size:1.05rem; color:#fff; line-height:1.1; }
.abgc-head p{ margin:2px 0 0; font-size:.74rem; color:rgba(244,236,221,.7); }
.abgc-head .st{ display:inline-block; width:7px; height:7px; border-radius:50%; background:#39d98a; margin-inline-end:5px; }
.abgc-x{ margin-inline-start:auto; background:transparent; border:none; color:rgba(255,255,255,.7); cursor:pointer; padding:4px; border-radius:8px; }
.abgc-x:hover{ color:#fff; background:rgba(255,255,255,.1); }
.abgc-x svg{ width:18px; height:18px; }

.abgc-body{ flex:1; overflow-y:auto; padding:18px; background:var(--ivory); display:flex; flex-direction:column; gap:12px; }
.abgc-msg{ max-width:84%; padding:11px 14px; border-radius:14px; font-size:.92rem; line-height:1.5; white-space:pre-wrap; word-wrap:break-word; }
.abgc-msg.bot{ align-self:flex-start; background:#fff; border:1px solid var(--line); color:var(--ink); border-bottom-left-radius:5px; }
.abgc-msg.user{ align-self:flex-end; background:linear-gradient(150deg,#b8945f,#8d734a); color:#fff; border-bottom-right-radius:5px; }
[dir="rtl"] .abgc-msg.bot{ border-bottom-left-radius:14px; border-bottom-right-radius:5px; }
[dir="rtl"] .abgc-msg.user{ border-bottom-right-radius:14px; border-bottom-left-radius:5px; }
.abgc-typing{ align-self:flex-start; display:inline-flex; gap:5px; padding:13px 15px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.abgc-typing i{ width:7px; height:7px; border-radius:50%; background:var(--gold); animation:abgcDot 1.2s infinite ease-in-out; }
.abgc-typing i:nth-child(2){ animation-delay:.18s; } .abgc-typing i:nth-child(3){ animation-delay:.36s; }
@keyframes abgcDot{ 0%,60%,100%{ transform:translateY(0); opacity:.4; } 30%{ transform:translateY(-5px); opacity:1; } }

.abgc-foot{ padding:12px; border-top:1px solid var(--line); background:#fff; display:flex; gap:8px; align-items:flex-end; }
.abgc-foot textarea{
  flex:1; resize:none; max-height:96px; min-height:42px; font-family:var(--ff-body); font-size:.92rem;
  color:var(--ink); background:var(--ivory); border:1px solid var(--line); border-radius:12px; padding:11px 13px; line-height:1.4;
}
.abgc-foot textarea:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,148,95,.14); }
.abgc-send{ flex:none; width:42px; height:42px; border-radius:12px; border:none; cursor:pointer; background:linear-gradient(150deg,#b8945f,#8d734a); color:#fff; display:grid; place-items:center; transition:transform .2s, opacity .2s; }
.abgc-send:hover{ transform:translateY(-1px); }
.abgc-send:disabled{ opacity:.5; cursor:default; transform:none; }
.abgc-send svg{ width:18px; height:18px; }
[dir="rtl"] .abgc-send svg{ transform:scaleX(-1); }
.abgc-note{ font-size:.68rem; color:var(--muted); text-align:center; padding:0 12px 9px; background:#fff; }

@media (max-width:480px){
  .abgc-panel{ inset-inline:12px; width:auto; inset-block-end:88px; height:min(70dvh, calc(100dvh - 110px)); }
}
