/* ══════════════════════════════════════════════════════════════
   INOVATEC CSS DESIGN TOKENS — Light (default) & Dark themes
   ══════════════════════════════════════════════════════════════ */

/* ── LIGHT THEME (default) ─────────────────────────────────── */
:root,
[data-bs-theme="light"] {
  /* Brand */
  --brand:      #cc1f1f;
  --brand-dk:   #a81616;
  --brand-lt:   #e83535;
  --gold:       #e8910a;

  /* Backgrounds */
  --bg:         #ffffff;
  --bg-alt:     #f5f6fa;
  --bg2:        #f0f2f7;
  --surface:    #ffffff;
  --surface2:   #f8f9fc;

  /* Text */
  --text:       #111114;
  --muted:      #5c6272;
  --muted2:     #8a90a0;
  --muted-lt:   #9ba4b4;

  /* Borders */
  --border:     rgba(0,0,0,.09);
  --border-s:   rgba(0,0,0,.06);

  /* Radii */
  --r:          10px;
  --r2:         14px;
  --r3:         20px;

  /* Shadows */
  --sh-xs:      0 1px 4px rgba(0,0,0,.06);
  --sh-sm:      0 2px 8px rgba(0,0,0,.08);
  --sh-md:      0 6px 24px rgba(0,0,0,.10);
  --sh-hover:   0 12px 40px rgba(0,0,0,.12);
  --sh-brand:   0 4px 20px rgba(204,31,31,.25);

  /* Nav */
  --nav-h:      68px;
  --nav-bg:     rgba(255,255,255,.95);
  --nav-border: rgba(0,0,0,.08);

  /* Ring / misc */
  --ring:       #fff;
  --bdg-bg:     rgba(204,31,31,.08);
  --bdg-border: rgba(204,31,31,.2);
}

/* ── DARK THEME ──────────────────────────────────────────────── */
[data-bs-theme="dark"] {
  /* Brand */
  --brand:      #e83535;
  --brand-dk:   #cc1f1f;
  --brand-lt:   #ff5555;
  --gold:       #f59e0b;

  /* Backgrounds */
  --bg:         #0a0f1e;
  --bg-alt:     #111827;
  --bg2:        #0d1535;
  --surface:    #111827;
  --surface2:   #1a2540;

  /* Text */
  --text:       #e2e8f0;
  --muted:      #94a3b8;
  --muted2:     #64748b;
  --muted-lt:   #475569;

  /* Borders */
  --border:     rgba(255,255,255,.08);
  --border-s:   rgba(255,255,255,.04);

  /* Radii (same) */
  --r:          10px;
  --r2:         14px;
  --r3:         20px;

  /* Shadows */
  --sh-xs:      0 1px 4px rgba(0,0,0,.35);
  --sh-sm:      0 2px 8px rgba(0,0,0,.4);
  --sh-md:      0 6px 24px rgba(0,0,0,.45);
  --sh-hover:   0 12px 40px rgba(0,0,0,.5);
  --sh-brand:   0 4px 24px rgba(232,53,53,.35);

  /* Nav */
  --nav-h:      68px;
  --nav-bg:     rgba(10,15,40,.92);
  --nav-border: rgba(255,255,255,.06);

  /* Ring / misc */
  --ring:       #0a0f1e;
  --bdg-bg:     rgba(232,53,53,.12);
  --bdg-border: rgba(232,53,53,.25);
}

/* ── BASE RESET ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  padding-top: var(--nav-h);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
  transition: background .3s, color .3s;
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--text);
}

a { color: var(--brand); text-decoration: none; transition: color .2s; }
a:hover { color: var(--brand-dk); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; }

/* ── SECTIONS ──────────────────────────────────────────────── */
section, footer, nav, header { position: relative; z-index: 2; }
#bg-canvas, .orb, #cur-dot, #cur-ring, #cur-trail { z-index: 0; }

.sec { padding: 5rem 0; }
.sec-alt { background: var(--bg-alt); }
[data-bs-theme="dark"] .sec-alt { background: var(--bg2); }

.container { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }

/* ── UTILITY ────────────────────────────────────────────────── */
.reveal { opacity: 0; transform: translateY(20px);
  transition: opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity: 1; transform: translateY(0); }
.reveal-l { opacity: 0; transform: translateX(-22px);
  transition: opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); }
.reveal-l.in { opacity: 1; transform: translateX(0); }
.reveal-r { opacity: 0; transform: translateX(22px);
  transition: opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); }
.reveal-r.in { opacity: 1; transform: translateX(0); }
@media(prefers-reduced-motion:reduce) {
  .reveal,.reveal-l,.reveal-r { opacity:1!important; transform:none!important; }
}

/* Sec tags + titles */
.sec-tag {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--bdg-bg); border: 1px solid var(--bdg-border);
  border-radius: 100px; padding: .22rem .85rem;
  font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--brand); margin-bottom: .6rem;
}
.sec-title { font-size: clamp(1.55rem, 3.5vw, 2.5rem); color: var(--text); margin-bottom: .5rem; }
.sec-sub { font-size: clamp(.87rem, 1.8vw, .96rem); color: var(--muted); line-height: 1.72; max-width: 500px; }
.sec-center { text-align: center; }
.sec-center .sec-sub { margin: 0 auto; }

/* Buttons */
.btn-brand {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  background: var(--brand); color: #fff !important;
  border: none; border-radius: var(--r); padding: .7rem 1.6rem;
  font-size: .88rem; font-weight: 700; text-decoration: none;
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: var(--sh-brand); min-height: 44px; white-space: nowrap;
}
.btn-brand:hover { background: var(--brand-dk); transform: translateY(-2px); color: #fff !important; }
.btn-brand:active { transform: translateY(0); }

/* ── NAVBAR ────────────────────────────────────────────────── */
#mainNav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  height: var(--nav-h);
  background: var(--nav-bg);
  backdrop-filter: blur(20px) saturate(1.8);
  -webkit-backdrop-filter: blur(20px) saturate(1.8);
  border-bottom: 1px solid var(--nav-border);
  transition: box-shadow .3s, background .3s;
}
#mainNav.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,.12); }
[data-bs-theme="dark"] #mainNav.scrolled { box-shadow: 0 4px 32px rgba(0,0,0,.5); }

#mainNav .container {
  height: 100%; display: flex; align-items: center; gap: 1rem;
}
.navbar-brand { margin-right: auto; }
.navbar-brand img { height: 38px; width: auto; display: block; }

.nav-link {
  font-size: .85rem; font-weight: 600; color: var(--muted);
  padding: .42rem .72rem; border-radius: 8px; text-decoration: none;
  display: inline-flex; align-items: center;
  transition: color .2s, background .2s;
}
.nav-link:hover, .nav-link.active-link {
  color: var(--brand) !important; background: var(--bdg-bg);
}

/* Mega dropdown */
.nav-mega {
  position: absolute; top: calc(100% + .5rem); left: 50%;
  transform: translateX(-50%); min-width: 1060px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 16px; padding: 1.35rem 1.5rem;
  box-shadow: 0 24px 64px rgba(0,0,0,.15); z-index: 500;
  display: none; grid-template-columns: repeat(6,1fr); gap: 1rem;
}
[data-bs-theme="dark"] .nav-mega { box-shadow: 0 24px 64px rgba(0,0,0,.5); }
.nav-dropdown-item:hover .nav-mega,
.nav-dropdown-item:focus-within .nav-mega { display: grid !important; }
.nav-mega-head {
  font-size: .63rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  border-bottom: 1px solid var(--border); margin-bottom: .35rem; padding: .3rem .5rem .4rem;
}
.nav-mega a {
  display: flex; align-items: center; font-size: .8rem; color: var(--muted);
  padding: .42rem .5rem; border-radius: 6px; transition: background .15s, color .15s;
  text-decoration: none;
}
.nav-mega a:hover { background: var(--bdg-bg); color: var(--brand); }

@media(max-width:1280px) { .nav-mega { min-width:800px!important; grid-template-columns:repeat(4,1fr)!important; } }

/* Theme & lang buttons */
.nav-icon-btn {
  background: none; border: 1px solid var(--border); border-radius: 8px;
  color: var(--muted); width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; cursor: pointer; transition: border-color .2s, color .2s;
}
.nav-icon-btn:hover { border-color: var(--brand); color: var(--brand); }
.lang-tag {
  background: none; border: 1px solid var(--border); border-radius: 8px;
  color: var(--muted); padding: .28rem .72rem; font-size: .78rem; font-weight: 600;
  cursor: pointer; display: flex; align-items: center; gap: .3rem;
  transition: border-color .2s, color .2s;
}
.lang-tag:hover { border-color: var(--brand); color: var(--brand); }

/* Dark mode icon toggling */
[data-bs-theme="light"] .icon-moon { display: none; }
[data-bs-theme="light"] .icon-sun  { display: inline; }
[data-bs-theme="dark"]  .icon-moon { display: inline; }
[data-bs-theme="dark"]  .icon-sun  { display: none; }

/* Hamburger */
.mob-hamburger {
  display: none; flex-direction: column; justify-content: center;
  gap: 5px; padding: .4rem .5rem;
  border: 1px solid var(--border); border-radius: 8px;
  background: transparent; min-width: 40px; min-height: 40px;
  transition: border-color .2s;
}
.mob-hamburger:hover { border-color: var(--brand); }
.mob-hamburger span {
  display: block; width: 20px; height: 2px;
  background: var(--text); border-radius: 2px;
  transition: transform .3s, opacity .2s;
}
.mob-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mob-hamburger.open span:nth-child(2) { opacity: 0; }
.mob-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
#mobDrawer { position: fixed; inset: 0; z-index: 1050; pointer-events: none; }
#mobDrawer.open { pointer-events: all; }
#mobDrawerInner {
  position: fixed; top: 0; left: 0; bottom: 0; width: min(320px,92vw);
  background: var(--surface); display: flex; flex-direction: column;
  transform: translateX(-100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  z-index: 1051; box-shadow: 4px 0 32px rgba(0,0,0,.2);
}
#mobDrawer.open #mobDrawerInner { transform: translateX(0); }
#mobDrawerScroll {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  -webkit-overflow-scrolling: touch; padding: .5rem 0;
}
#mobDrawerBackdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.55);
  opacity: 0; transition: opacity .32s; z-index: 1050;
}
#mobDrawer.open #mobDrawerBackdrop { opacity: 1; }

.mdl-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: .72rem 1.1rem; font-size: .93rem; font-weight: 600;
  color: var(--muted); text-decoration: none; background: none; border: none;
  width: 100%; text-align: left; cursor: pointer; font-family: inherit;
  transition: background .15s, color .15s; min-height: 48px;
}
.mdl-link:hover, .mdl-link:focus {
  background: var(--bdg-bg); color: var(--brand); outline: none;
}
.mdl-link.active-link { color: var(--brand) !important; font-weight: 700 !important; background: var(--bdg-bg) !important; }
.mdl-chevron { font-size: .65rem; flex-shrink: 0; opacity: .5; transition: transform .3s cubic-bezier(.4,0,.2,1); }
.mdl-acc-btn[aria-expanded="true"] .mdl-chevron { transform: rotate(180deg); opacity: .9; }
.mdl-acc-body {
  overflow: hidden; height: 0;
  transition: height .35s cubic-bezier(.4,0,.2,1);
  border-left: 2px solid var(--bdg-border); margin-left: .9rem;
}
.mdl-grp {
  font-size: .62rem; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; padding: .65rem 1rem .2rem; margin: 0; color: var(--muted2);
}
.mdl-sub {
  display: flex; align-items: center; padding: .52rem 1rem;
  font-size: .86rem; color: var(--muted); font-weight: 500;
  text-decoration: none; min-height: 42px;
  transition: background .15s, color .15s;
}
.mdl-sub:hover { background: var(--bdg-bg); color: var(--brand); }

/* ── FOOTER ───────────────────────────────────────────────── */
footer {
  background: var(--bg-alt);
  border-top: 1px solid var(--border);
  padding: 2.5rem 0 1.5rem;
}
[data-bs-theme="dark"] footer { background: var(--bg2); }

/* ── FABs ─────────────────────────────────────────────────── */
#cal-fab {
  position: fixed; bottom: 6rem; right: 1.5rem; z-index: 900;
  display: flex; align-items: center; gap: .5rem;
  background: var(--brand); color: #fff; border: none;
  border-radius: 100px; padding: .65rem 1.1rem;
  font-size: .82rem; font-weight: 700;
  box-shadow: 0 4px 16px rgba(204,31,31,.35);
  transition: transform .2s, box-shadow .2s;
}
#cal-fab:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(204,31,31,.45); }
#wa-fab {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 900;
  width: 52px; height: 52px; border-radius: 50%;
  background: #25d366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(37,211,102,.35);
  transition: transform .2s, box-shadow .2s;
}
#wa-fab:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,211,102,.45); }
#wa-fab svg { width: 28px; height: 28px; fill: #fff; }

/* ── CALENDLY MODAL ───────────────────────────────────────── */
#calendly-modal {
  display: none; position: fixed; inset: 0; z-index: 2000;
  align-items: center; justify-content: center;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(8px);
}
#calendly-modal.open { display: flex; }
.cal-box {
  background: var(--surface); border-radius: 16px;
  width: min(680px,96vw); max-height: 90vh;
  display: flex; flex-direction: column;
  box-shadow: 0 24px 64px rgba(0,0,0,.35);
  overflow: hidden;
}
.cal-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem; border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.cal-head h5 { font-size: 1rem; font-weight: 700; margin: 0; display: flex; align-items: center; gap: .5rem; }
.cal-close {
  background: none; border: 1px solid var(--border); border-radius: 8px;
  width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  color: var(--muted); cursor: pointer; font-size: .9rem; transition: border-color .2s, color .2s;
}
.cal-close:hover { border-color: var(--brand); color: var(--brand); }
.cal-body { flex: 1; overflow: hidden; }
.cal-body iframe { width: 100%; height: 520px; border: none; display: block; }
.cal-foot {
  padding: .75rem 1.25rem; border-top: 1px solid var(--border);
  font-size: .78rem; color: var(--muted); display: flex; align-items: center; gap: .45rem;
  flex-shrink: 0;
}

/* ── PAGE BANNER ──────────────────────────────────────────── */
.page-banner {
  padding: 3.25rem 0 2.5rem; position: relative; overflow: hidden;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
}
[data-bs-theme="dark"] .page-banner { background: var(--bg2); }
.page-banner h1 { font-size: clamp(1.75rem,5vw,2.8rem); color: var(--text); margin-bottom: .55rem; }
.page-banner p { font-size: clamp(.88rem,2vw,.98rem); color: var(--muted); max-width: 560px; line-height: 1.75; }
.breadcrumb-row {
  display: flex; align-items: center; gap: .45rem;
  font-size: .73rem; color: var(--muted2); margin-bottom: .85rem; flex-wrap: wrap;
}
.breadcrumb-row a { color: var(--muted2); transition: color .2s; }
.breadcrumb-row a:hover { color: var(--brand); }
.breadcrumb-row .sep { opacity: .4; }

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media(max-width:991px) {
  .mob-hamburger { display: flex !important; }
  .nav-dropdown-item .nav-mega { display: none !important; }
}
@media(max-width:767px) {
  .sec { padding: 3.5rem 0; }
  .container { padding: 0 1.1rem; }
}
@media(max-width:480px) {
  :root { --nav-h: 60px; }
  .sec { padding: 2.5rem 0; }
  .page-banner { padding: 2rem 0 1.75rem; }
  #cal-fab { padding: .6rem .9rem; font-size: .78rem; }
}

/* ── ALERT (flash messages) ─────────────────────────────────── */
.alert-success {
  background: rgba(34,197,94,.1); border: 1px solid rgba(34,197,94,.3);
  border-radius: var(--r); color: #15803d; padding: .85rem 1.1rem;
  margin-bottom: 1.25rem; font-size: .9rem;
}
[data-bs-theme="dark"] .alert-success { background: rgba(34,197,94,.12); color: #4ade80; }
.text-danger { font-size: .78rem; color: var(--brand) !important; margin-top: .25rem; display: block; }
.is-invalid { border-color: var(--brand) !important; }


/* ══════════════════════════════════════════════
   ORIGINAL TEMPLATE STYLES
   ══════════════════════════════════════════════ */

/* ─── TOKENS ─────────────────────────────────────────────────── */
/* ─── RESET & BASE ───────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",system-ui,sans-serif;
  background:var(--bg);color:var(--bs-body-color);
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  padding-top:var(--nav-h);
}
[lang="ar"] body,[lang="ar"] *{font-family:"Cairo",sans-serif!important}
h1,h2,h3,h4,h5,h6{font-weight:800;letter-spacing:-.02em}
[lang="ar"] h1,[lang="ar"] h2,[lang="ar"] h3,
[lang="ar"] h4,[lang="ar"] h5,[lang="ar"] h6{font-family:"Cairo",sans-serif!important;font-weight:800}
img{max-width:100%;height:auto}
a{color:var(--brand)}

/* ─── CURSOR ─────────────────────────────────────────────────── */
@media(pointer:fine){}
#cur-dot{
  position:fixed;top:0;left:0;z-index:2147483647;
  width:11px;height:11px;border-radius:50%;
  background:var(--brand);pointer-events:none;
  transform:translate(-50%,-50%);
  box-shadow:0 0 8px rgba(204,31,31,.8),0 0 20px rgba(204,31,31,.35);
  transition:width .18s,height .18s;will-change:left,top;
}
#cur-ring{
  position:fixed;top:0;left:0;z-index:2147483646;
  width:38px;height:38px;border-radius:50%;
  border:2px solid rgba(204,31,31,.6);pointer-events:none;
  transform:translate(-50%,-50%);
  transition:width .25s,height .25s,border-color .2s;will-change:left,top;
}
#cur-trail{position:fixed;inset:0;z-index:2147483645;pointer-events:none}
body.cur-hover #cur-dot{width:17px;height:17px;box-shadow:0 0 14px rgba(204,31,31,1),0 0 28px rgba(204,31,31,.5)}
body.cur-hover #cur-ring{width:54px;height:54px;border-color:rgba(204,31,31,.9)}
body.cur-click #cur-dot{width:7px;height:7px}
body.cur-click #cur-ring{width:28px;height:28px}
@media(hover:none),(pointer:coarse){#cur-dot,#cur-ring,#cur-trail{display:none!important}}

/* ─── BG CANVAS & ORBS ──────────────────────────────────────── */
#bg-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}
.orb{
  position:fixed;border-radius:50%;filter:blur(80px);
  pointer-events:none;z-index:1;
  animation:orbFloat 22s ease-in-out infinite alternate;
}
.orb-1{width:min(500px,90vw);height:min(500px,90vw);background:var(--orb1);top:-8%;right:-8%;animation-duration:22s}
.orb-2{width:min(380px,80vw);height:min(380px,80vw);background:var(--orb2);bottom:-5%;left:-5%;animation-duration:28s;animation-delay:-10s}
.orb-3{width:min(280px,70vw);height:min(280px,70vw);background:var(--orb1);top:45%;left:42%;animation-duration:34s;animation-delay:-16s;opacity:.4}
@keyframes orbFloat{
  0%{transform:translate(0,0) scale(1)}
  33%{transform:translate(28px,-36px) scale(1.04)}
  66%{transform:translate(-18px,18px) scale(.97)}
  100%{transform:translate(14px,-14px) scale(1.03)}
}

/* ─── NAVBAR ─────────────────────────────────────────────────── */
.navbar{
  position:fixed;top:0;left:0;right:0;width:100%;
  height:var(--nav-h);z-index:1040;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .3s,background .3s;
  padding:0;
}
[data-bs-theme="light"] .navbar{background:rgba(255,255,255,.92)!important}
[data-bs-theme="dark"]  .navbar{background:rgba(13,13,16,.92)!important}
.navbar.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.10)}
[data-bs-theme="dark"] .navbar.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.5)}
.navbar>.container{height:100%}
.navbar-brand img{height:34px;width:auto;display:block}
.nav-link{
  font-size:.85rem;font-weight:500;
  color:var(--muted)!important;
  padding:.4rem .7rem!important;border-radius:6px;
  transition:color .2s,background .2s;white-space:nowrap;
}
.nav-link:hover{color:var(--brand)!important;background:var(--bdg-bg)}
.nav-link.active-link{color:var(--brand)!important}
.navbar-collapse .navbar-nav{padding:.5rem 0}
.navbar-collapse .navbar-nav .nav-link{padding:.55rem .4rem!important;border-radius:0;border-bottom:1px solid var(--border-s)}
.navbar-collapse .navbar-nav .nav-link:last-child{border-bottom:none}

/* icon buttons in nav */
.nav-icon-btn{
  width:34px;height:34px;border-radius:50%;
  border:1px solid var(--border);background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;color:var(--bs-body-color);transition:background .2s,color .2s;
  flex-shrink:0;
}
.nav-icon-btn:hover{background:var(--bdg-bg);color:var(--brand)}
[data-bs-theme="light"] .icon-sun{display:none}
[data-bs-theme="light"] .icon-moon{display:inline}
[data-bs-theme="dark"]  .icon-sun{display:inline}
[data-bs-theme="dark"]  .icon-moon{display:none}
.lang-tag{
  border:1px solid var(--border);border-radius:6px;
  padding:.3rem .65rem;font-size:.75rem;font-weight:600;
  background:transparent;cursor:pointer;color:var(--bs-body-color);
  transition:background .2s,border-color .2s,color .2s;white-space:nowrap;
}
.lang-tag:hover{background:var(--bdg-bg);border-color:var(--brand);color:var(--brand)}

/* ─── BUTTONS ────────────────────────────────────────────────── */
.btn-brand{
  display:inline-flex;align-items:center;gap:.45rem;
  background:var(--brand);color:#fff!important;border:none;
  border-radius:8px;font-size:.9rem;font-weight:600;
  padding:.65rem 1.5rem;text-decoration:none;cursor:pointer;
  box-shadow:var(--sh-brand);
  transition:background .2s,transform .2s,box-shadow .2s;
}
.btn-brand:hover{background:var(--brand-dk);transform:translateY(-2px);box-shadow:0 8px 28px rgba(204,31,31,.45)}
.btn-brand:active{transform:translateY(0)}

/* ─── SECTION HELPERS ────────────────────────────────────────── */
.sec{padding:5rem 0}
.sec-alt{background:var(--bg-alt)}
@media(max-width:575px){.sec{padding:3.25rem 0}}
.sec-tag{
  display:inline-block;background:var(--bdg-bg);border:1px solid var(--bdg-bd);
  border-radius:4px;padding:.18rem .65rem;
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand);margin-bottom:.55rem;
}
.sec-title{
  font-family:"Inter",sans-serif;
  font-size:clamp(1.55rem,3.2vw,2.4rem);font-weight:800;
  letter-spacing:-.022em;line-height:1.12;margin-bottom:.5rem;
}
.sec-sub{font-size:clamp(.875rem,1.8vw,.95rem);color:var(--muted);line-height:1.7;max-width:480px}

/* ─── HERO ───────────────────────────────────────────────────── */
.hero-wrap{
  min-height:calc(100svh - var(--nav-h));
  display:flex;align-items:center;
  position:relative;overflow:hidden;padding:3.5rem 0 3.5rem;
}
.hero-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--grid-c) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-c) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000 30%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000 30%,transparent 100%);
  animation:gridDrift 24s linear infinite;
}
@keyframes gridDrift{0%{background-position:0 0,0 0}100%{background-position:52px 52px,52px 52px}}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.4rem;
  background:var(--bdg-bg);border:1px solid var(--bdg-bd);
  border-radius:100px;padding:.28rem .9rem;
  font-size:.73rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--brand);
  animation:eyePulse 3.5s ease-in-out infinite;
}
@keyframes eyePulse{0%,100%{box-shadow:0 0 0 0 rgba(204,31,31,0)}50%{box-shadow:0 0 0 5px rgba(204,31,31,.08)}}
.hero-title{
  font-family:"Inter",sans-serif;
  font-size:clamp(2.2rem,7vw,4.6rem);font-weight:800;
  line-height:1.06;letter-spacing:-.025em;
}
.hero-title .shine{
  color:var(--brand);
  background:linear-gradient(135deg,var(--brand) 0%,#ff6b6b 45%,var(--brand-dk) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  animation:shine 4s linear infinite;
}
@keyframes shine{0%{background-position:0% center}100%{background-position:200% center}}
.hero-lead{
  font-size:clamp(.93rem,2vw,1.08rem);
  font-weight:400;line-height:1.72;color:var(--muted);
  max-width:500px;
}
.hero-pill{
  display:inline-flex;align-items:center;
  border:1px solid var(--border);border-radius:100px;
  padding:.26rem .82rem;font-size:.76rem;font-weight:500;
  transition:border-color .2s,background .2s,transform .15s;cursor:default;
}
.hero-pill:hover{border-color:var(--brand);background:var(--bdg-bg);transform:translateY(-2px)}

/* Hero 3-D card */
.h3d{
  background:var(--surface);border:1px solid var(--border);
  border-radius:20px;padding:1.75rem;
  box-shadow:var(--sh-md),0 0 0 1px rgba(255,255,255,.5) inset;
  transform:perspective(900px) rotateY(-8deg) rotateX(3deg);
  transition:transform .5s,box-shadow .5s;will-change:transform;
}
[data-bs-theme="dark"] .h3d{box-shadow:var(--sh-md),0 0 0 1px rgba(255,255,255,.06) inset}
[dir="rtl"] .h3d{transform:perspective(900px) rotateY(8deg) rotateX(3deg)}
.h3d-plat{
  display:flex;align-items:center;gap:.6rem;
  background:var(--bdg-bg);border-radius:10px;padding:.55rem .75rem;
  transition:background .2s,transform .2s;
}
.h3d-plat:hover{background:rgba(204,31,31,.12);transform:scale(1.02)}
.h3d-plat .ico{
  width:30px;height:30px;border-radius:8px;
  background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;
}
.h3d-stat .val{font-family:"Inter",sans-serif;font-size:1.45rem;font-weight:800;color:var(--brand);line-height:1}
.h3d-stat .lbl{font-size:.66rem;color:var(--muted);margin-top:.1rem}
.vdiv{width:1px;background:var(--border)}
.h3d-check{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}
.h3d-check .bi{color:var(--brand);font-size:.85rem;flex-shrink:0}

/* ─── STATS BAR ─────────────────────────────────────────────── */
.stat-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-alt)}
.stat-cell{padding:1.6rem 1rem;text-align:center;border-right:1px solid var(--border);transition:background .2s}
.stat-cell:last-child{border-right:none}
.stat-cell:hover{background:var(--bdg-bg)}
.stat-val{font-family:"Inter",sans-serif;font-size:1.9rem;font-weight:800;line-height:1}
.stat-val .c{color:var(--brand)}
.stat-lbl{font-size:.72rem;color:var(--muted);margin-top:.2rem}
@media(max-width:767px){
  .stat-cell{border-right:none;border-bottom:1px solid var(--border)}
  .stat-cell:last-child{border-bottom:none}
}

/* ─── WHY GRID ───────────────────────────────────────────────── */
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid var(--border);border-radius:18px;overflow:hidden;
}
.why-card{
  padding:1.75rem;
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  position:relative;overflow:hidden;cursor:default;
  transition:background .2s,transform .25s,box-shadow .25s;
}
.why-card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(204,31,31,.07) 0%,transparent 60%);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.why-card:hover::before{opacity:1}
.why-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(204,31,31,.09);z-index:2}
.why-card:nth-child(3n){border-right:none}
.why-card:nth-child(n+4){border-bottom:none}
.why-icon{
  width:40px;height:40px;border-radius:11px;
  background:var(--bdg-bg);
  display:flex;align-items:center;justify-content:center;
  color:var(--brand);font-size:1.1rem;
  margin-bottom:.85rem;
  box-shadow:0 2px 8px rgba(204,31,31,.12);
  transition:transform .3s,box-shadow .3s;
}
.why-card:hover .why-icon{transform:scale(1.12) rotate(-5deg);box-shadow:0 4px 16px rgba(204,31,31,.22)}
.why-card h6{font-family:"Inter",sans-serif;font-weight:700;font-size:.92rem;margin-bottom:.3rem}
.why-card p{font-size:.83rem;color:var(--muted);margin:0;line-height:1.65}
@media(max-width:991px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .why-card:nth-child(3n){border-right:1px solid var(--border)}
  .why-card:nth-child(2n){border-right:none}
  .why-card:nth-child(n+5){border-bottom:none}
  .why-card:nth-child(3),.why-card:nth-child(4){border-bottom:1px solid var(--border)}
}
@media(max-width:575px){
  .why-grid{grid-template-columns:1fr}
  .why-card{border-right:none!important}
  .why-card:not(:last-child){border-bottom:1px solid var(--border)!important}
  .why-card:last-child{border-bottom:none!important}
}

/* ─── PLATFORM HEADERS (scope + pricing) ────────────────────── */
.plat-hdr{display:flex;align-items:center;gap:.9rem;margin-bottom:1.5rem}
.plat-hdr h3{font-family:"Inter",sans-serif;font-size:1.4rem;font-weight:800;margin:0;letter-spacing:-.02em}
.plat-hdr .sub{font-size:.8rem;color:var(--muted);margin:.1rem 0 0}
.plat-ico{
  width:50px;height:50px;border-radius:14px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;box-shadow:var(--sh-sm);
}
.plat-ico.az{background:linear-gradient(135deg,#ff9900,#e47911);color:#fff}
.plat-ico.nn{background:linear-gradient(135deg,#fedf00,#f0c600);color:#333}
.plat-bar{height:3px;border-radius:2px;border:none;margin-bottom:1.75rem}
.plat-bar.az{background:linear-gradient(90deg,#ff9900,transparent)}
.plat-bar.nn{background:linear-gradient(90deg,#fedf00,transparent)}

/* ─── SCOPE CARDS ────────────────────────────────────────────── */
.scope-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:1.5rem;height:100%;
  box-shadow:var(--sh-sm);transition:transform .3s,box-shadow .3s;
}
.scope-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.scope-hdr{
  font-family:"Inter",sans-serif;font-size:.77rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;
  display:flex;align-items:center;gap:.45rem;
  margin-bottom:1rem;color:var(--bs-body-color);
}
.scope-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.48rem}
.scope-list li{font-size:.83rem;color:var(--muted);padding-left:1.05rem;position:relative;line-height:1.55}
.scope-list li::before{content:"›";position:absolute;left:0;color:var(--brand);font-weight:700;line-height:1.35}
[dir="rtl"] .scope-list li{padding-left:0;padding-right:1.05rem}
[dir="rtl"] .scope-list li::before{left:auto;right:0;content:"‹"}

/* ─── PLAN CARDS ─────────────────────────────────────────────── */
.plan-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:18px;padding:1.85rem;height:100%;
  position:relative;
  box-shadow:var(--sh-sm);
  transition:transform .32s cubic-bezier(.23,1,.32,1),box-shadow .32s,border-color .22s;
  transform-style:preserve-3d;
}
.plan-card:hover{transform:perspective(800px) rotateX(2deg) rotateY(-2deg) translateY(-6px);box-shadow:var(--sh-lg);border-color:rgba(204,31,31,.22)}
.plan-card.pop{border-color:var(--brand);box-shadow:0 4px 20px rgba(204,31,31,.14)}
.plan-card.pop:hover{box-shadow:0 16px 56px rgba(204,31,31,.22)}
[data-bs-theme="light"] .plan-card.pop{background:linear-gradient(160deg,#fff8f8,#fff)}
[data-bs-theme="dark"]  .plan-card.pop{background:linear-gradient(160deg,rgba(204,31,31,.06),var(--surface))}
.pop-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:#000;
  font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:.2rem .85rem;border-radius:100px;white-space:nowrap;
  box-shadow:0 3px 10px rgba(232,145,10,.35);
}
.plan-name{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.plan-price{font-family:"Inter",sans-serif;font-size:2rem;font-weight:800;line-height:1}
.plan-price sub{font-size:.95rem;font-weight:400;color:var(--muted);bottom:0}
.plan-per{font-size:.78rem;color:var(--muted);margin-top:.1rem}
.plan-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.plan-feats li{font-size:.83rem;color:var(--muted);display:flex;align-items:flex-start;gap:.5rem}
.plan-feats li .bi{color:var(--brand);flex-shrink:0;margin-top:2px}
.plan-btn{
  display:block;text-align:center;margin-top:1.5rem;padding:.68rem;
  border-radius:8px;font-size:.85rem;font-weight:600;
  text-decoration:none;cursor:pointer;
  border:1px solid var(--border);color:var(--bs-body-color);background:none;
  transition:border-color .2s,color .2s,transform .15s;
}
.plan-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}
.plan-card.pop .plan-btn{background:var(--brand);color:#fff!important;border-color:transparent;box-shadow:var(--sh-brand)}
.plan-card.pop .plan-btn:hover{background:var(--brand-dk);box-shadow:0 6px 22px rgba(204,31,31,.4)}

/* ─── ADDON CARDS ────────────────────────────────────────────── */
.addon-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:1.5rem;height:100%;
  box-shadow:var(--sh-sm);transition:transform .28s,box-shadow .28s,border-color .2s;
}
.addon-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:rgba(204,31,31,.2)}
.addon-price{font-family:"Inter",sans-serif;font-size:1.4rem;font-weight:800;color:var(--brand);white-space:nowrap}
.addon-price small{display:block;font-family:"Inter",sans-serif;font-size:.68rem;font-weight:400;color:var(--muted)}
.addon-platforms{font-size:.7rem;font-weight:600;color:var(--brand);margin-bottom:.6rem}
.addon-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.38rem}
.addon-list li{font-size:.8rem;color:var(--muted);padding-left:.95rem;position:relative}
.addon-list li::before{content:"·";position:absolute;left:0;color:var(--brand);font-size:1.1rem;line-height:1}
[dir="rtl"] .addon-list li{padding-left:0;padding-right:.95rem}
[dir="rtl"] .addon-list li::before{left:auto;right:0}

/* ─── PROCESS ────────────────────────────────────────────────── */
.process-sec{
  background:#0f0608;
  position:relative;overflow:hidden;
  padding:5rem 0;
}
/* ambient glow background */
.process-sec::before{
  content:"";position:absolute;
  width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(180,20,20,.22) 0%,transparent 65%);
  top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;
}
.process-sec .sec-tag{
  background:rgba(204,31,31,.18);border-color:rgba(204,31,31,.4);color:#ff6b6b;
}
.process-sec .sec-title{ color:#fff }
.process-sec .sec-sub  { color:rgba(255,255,255,.55) }

/* connector line */
.process-row{
  position:relative;
  display:flex;align-items:flex-start;
  gap:0;
}
.process-row::before{
  content:"";position:absolute;
  top:27px;left:calc(10% + 27px);right:calc(10% + 27px);
  height:2px;
  background:linear-gradient(90deg,rgba(204,31,31,.15),var(--brand) 20%,var(--brand) 80%,rgba(204,31,31,.15));
  z-index:0;
  animation:lineGlow 2.5s ease-in-out infinite alternate;
}
[dir="rtl"] .process-row::before{
  background:linear-gradient(270deg,rgba(204,31,31,.15),var(--brand) 20%,var(--brand) 80%,rgba(204,31,31,.15));
}
@keyframes lineGlow{
  0%  { opacity:.6; box-shadow:none }
  100%{ opacity:1;  box-shadow:0 0 10px rgba(204,31,31,.6) }
}

/* each step column */
.step{
  flex:1;text-align:center;
  position:relative;z-index:1;
  padding:0 .75rem;
}

/* number badge */
.step-num{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(145deg,var(--brand) 0%,var(--brand-dk) 100%);
  color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.1rem;
  position:relative;z-index:1;
  margin-bottom:1.1rem;
  box-shadow:
    0 0 0 4px rgba(204,31,31,.18),
    0 0 0 8px rgba(204,31,31,.08),
    0 8px 24px rgba(204,31,31,.45);
  transition:transform .3s,box-shadow .3s;
}
.step:hover .step-num{
  transform:scale(1.12) translateY(-4px);
  box-shadow:
    0 0 0 4px rgba(204,31,31,.25),
    0 0 0 9px rgba(204,31,31,.12),
    0 14px 32px rgba(204,31,31,.6);
}

/* step text */
.step h6{
  font-weight:700;font-size:.88rem;
  color:#fff;margin-bottom:.35rem;
}
.step p{
  font-size:.78rem;
  color:rgba(255,255,255,.5);
  margin:0;line-height:1.6;
}

/* ─── NEED CARDS ─────────────────────────────────────────────── */
.need-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:1.5rem;height:100%;
  display:flex;gap:1rem;align-items:flex-start;
  box-shadow:var(--sh-sm);transition:transform .28s,box-shadow .28s,border-color .2s;
}
.need-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:rgba(204,31,31,.18)}
.need-num{font-family:"Inter",sans-serif;font-size:2rem;font-weight:800;color:rgba(204,31,31,.18);line-height:1;flex-shrink:0;transition:color .3s,transform .3s}
.need-card:hover .need-num{color:rgba(204,31,31,.32);transform:scale(1.05)}
.need-card h6{font-family:"Inter",sans-serif;font-weight:700;font-size:.88rem;margin-bottom:.3rem}
.need-card p{font-size:.83rem;color:var(--muted);margin:0;line-height:1.65}

/* ─── CTA / CONTACT ──────────────────────────────────────────── */
.cta-wrap{position:relative;overflow:hidden}
.cta-glow{
  position:absolute;pointer-events:none;
  width:min(650px,140vw);height:min(650px,140vw);border-radius:50%;
  background:radial-gradient(circle,var(--glow) 0%,transparent 65%);
  top:50%;left:50%;transform:translate(-50%,-50%);
  animation:orbFloat 14s ease-in-out infinite alternate;
}
.contact-box{
  background:var(--surface);border:1px solid var(--border);
  border-radius:18px;padding:1.85rem;box-shadow:var(--sh-md);
}
.c-lbl{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.18rem}
.c-val{font-size:.88rem;font-weight:500}
.c-val a{color:var(--brand);text-decoration:none}
.c-val a:hover{text-decoration:underline}

/* ─── CALENDLY MODAL ─────────────────────────────────────────── */
#calendly-modal{
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  align-items:center;justify-content:center;padding:1rem;
}
#calendly-modal.open{display:flex;animation:fadeInModal .22s ease}
@keyframes fadeInModal{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
.cal-box{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  width:100%;max-width:760px;max-height:90vh;
  overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 32px 80px rgba(0,0,0,.35);position:relative;
}
.cal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.4rem;border-bottom:1px solid var(--border);flex-shrink:0;
}
.cal-head h5{font-family:"Inter",sans-serif;font-weight:700;font-size:.95rem;margin:0;display:flex;align-items:center;gap:.5rem}
.cal-close{
  width:30px;height:30px;border-radius:50%;
  border:1px solid var(--border);background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;color:var(--muted);transition:background .2s,color .2s;
}
.cal-close:hover{background:rgba(204,31,31,.1);color:var(--brand)}
.cal-body{flex:1;overflow:hidden;min-height:0}
.cal-body iframe{width:100%;height:100%;min-height:500px;border:none;display:block}
.cal-foot{
  display:flex;align-items:center;gap:.45rem;
  padding:.55rem 1.4rem;border-top:1px solid var(--border);
  font-size:.7rem;color:var(--muted);flex-shrink:0;
}

/* ─── FLOATING BOOK BUTTON ───────────────────────────────────── */
#cal-fab{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:9990;
  display:flex;align-items:center;gap:.55rem;
  background:var(--brand);color:#fff;border:none;
  border-radius:50px;padding:.7rem 1.3rem;
  font-family:"Inter",sans-serif;font-size:.85rem;font-weight:600;
  cursor:pointer;text-decoration:none;
  box-shadow:0 4px 20px rgba(204,31,31,.45),0 2px 6px rgba(0,0,0,.15);
  transition:transform .2s,box-shadow .2s,background .2s;
  animation:fabPulse 3s ease-in-out infinite;
}
[dir="rtl"] #cal-fab{right:auto;left:1.5rem}
#cal-fab:hover{background:var(--brand-dk);transform:translateY(-2px) scale(1.03);box-shadow:0 10px 32px rgba(204,31,31,.55);animation:none}
.fab-ico{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
@keyframes fabPulse{0%,100%{box-shadow:0 4px 20px rgba(204,31,31,.45),0 2px 6px rgba(0,0,0,.15)}50%{box-shadow:0 4px 32px rgba(204,31,31,.7),0 2px 6px rgba(0,0,0,.15)}}
@keyframes waPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.45),0 2px 6px rgba(0,0,0,.15)}50%{box-shadow:0 4px 32px rgba(37,211,102,.7),0 2px 6px rgba(0,0,0,.15)}}

/* WhatsApp FAB */
#wa-fab{
  position:fixed;bottom:5rem;right:1.5rem;z-index:9989;
  width:50px;height:50px;border-radius:50%;
  background:#25d366;color:#fff;border:none;
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;cursor:pointer;text-decoration:none;
  box-shadow:0 4px 20px rgba(37,211,102,.45),0 2px 6px rgba(0,0,0,.15);
  transition:transform .2s,box-shadow .2s,background .2s;
  animation:waPulse 3s ease-in-out infinite;
  animation-delay:1.5s;
}
[dir="rtl"] #wa-fab{right:auto;left:1.5rem}
#wa-fab:hover{
  background:#1ebe5d;
  transform:translateY(-3px) scale(1.08);
  box-shadow:0 10px 28px rgba(37,211,102,.6);
  animation:none;
}
/* WhatsApp tooltip */
#wa-fab::before{
  content:attr(data-tip);
  position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);
  background:rgba(0,0,0,.75);color:#fff;
  font-family:"Inter",sans-serif;font-size:.72rem;font-weight:500;
  padding:.3rem .65rem;border-radius:6px;white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .2s;
}
[dir="rtl"] #wa-fab::before{right:auto;left:calc(100% + 10px)}
#wa-fab:hover::before{opacity:1}
/* WhatsApp SVG icon */
#wa-fab svg{width:26px;height:26px;fill:#fff}

@media(max-width:575px){
  #cal-fab .fab-lbl{display:none}
  #cal-fab{padding:.7rem;border-radius:50%;bottom:1.1rem;right:1.1rem}
  [dir="rtl"] #cal-fab{right:auto;left:1.1rem}
  #wa-fab{bottom:4.5rem;right:1.1rem;width:44px;height:44px;font-size:1.2rem}
  [dir="rtl"] #wa-fab{right:auto;left:1.1rem}
}

/* ─── SOCIAL ICONS ───────────────────────────────────────────── */
.social-links{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.social-btn{
  width:36px;height:36px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:1rem;text-decoration:none;
  border:1px solid var(--border);
  color:var(--muted);background:transparent;
  transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;
  position:relative;overflow:hidden;
}
.social-btn::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  opacity:0;transition:opacity .2s;
}
.social-btn:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,.12);color:#fff;border-color:transparent}
.social-btn:hover::before{opacity:1}

/* per-network hover colours */
.social-btn.fb::before  {background:#1877f2}
.social-btn.ig::before  {background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.social-btn.li::before  {background:#0a66c2}
.social-btn.x::before   {background:#000}
.social-btn.yt::before  {background:#ff0000}
.social-btn.tk::before  {background:#010101}
.social-btn.wa::before  {background:#25d366}
.social-btn svg{width:17px;height:17px;fill:currentColor;position:relative;z-index:1;flex-shrink:0}

/* Contact section social row */
.contact-social-row{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  flex-wrap:wrap;margin-top:1.75rem;
}
.contact-social-row .social-btn{width:42px;height:42px;font-size:1.1rem;border-radius:12px}
.contact-social-row .social-btn svg{width:20px;height:20px}

/* ─── FOOTER ─────────────────────────────────────────────────── */
footer{border-top:1px solid var(--border);padding:1.75rem 0}
.footer-inner{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1rem;
}

/* ─── REVEAL ─────────────────────────────────────────────────── */

}


/* Body top padding to account for fixed navbar */
body {
  padding-top: var(--nav-h, 68px);
}

/* Navbar fixed positioning */
#mainNav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--nav-h, 68px);
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(20px) saturate(1.8);
  -webkit-backdrop-filter: blur(20px) saturate(1.8);
  border-bottom: 1px solid var(--border);
  transition: box-shadow .3s, background .3s;
}
[data-bs-theme="dark"] #mainNav {
  background: rgba(10,15,40,.92) !important;
}
#mainNav.scrolled {
  box-shadow: 0 4px 32px rgba(0,0,0,.15);
}

/* Nav brand / logo */
.navbar-brand img {
  height: 38px;
  width: auto;
  display: block;
}

/* Nav link base */
.nav-link {
  font-size: .85rem;
  font-weight: 600;
  color: var(--muted, #64748b);
  padding: .45rem .75rem;
  border-radius: 8px;
  transition: color .2s, background .2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.nav-link:hover,
.nav-link.active-link {
  color: var(--brand, #cc1f1f) !important;
  background: rgba(204,31,31,.07);
}
[data-bs-theme="dark"] .nav-link {
  color: rgba(255,255,255,.7);
}
[data-bs-theme="dark"] .nav-link:hover,
[data-bs-theme="dark"] .nav-link.active-link {
  color: #fff !important;
  background: rgba(204,31,31,.12);
}

/* Desktop nav flex row */
.d-none.d-lg-flex.align-items-center.gap-1.mx-auto {
  display: flex !important;
  align-items: center;
  gap: .15rem;
}

/* Page sections need z-index above canvas */
section, footer, nav {
  position: relative;
  z-index: 2;
}
#mobDrawer {
  z-index: 1050;
}
#bg-canvas, .orb, #cur-dot, #cur-ring, #cur-trail {
  z-index: 0;
}

/* Alert / flash messages */
.alert-success {
  background: rgba(34,197,94,.1);
  border: 1px solid rgba(34,197,94,.3);
  border-radius: 10px;
  color: #15803d;
  padding: .85rem 1.1rem;
  margin-bottom: 1.25rem;
  font-size: .9rem;
}
[data-bs-theme="dark"] .alert-success {
  background: rgba(34,197,94,.12);
  color: #4ade80;
}

/* Contact form validation errors */
.text-danger {
  font-size: .78rem;
  color: var(--brand, #cc1f1f) !important;
  margin-top: .25rem;
  display: block;
}
.is-invalid {
  border-color: var(--brand, #cc1f1f) !important;
}

/* Responsive fixes for blade layout */
@media (max-width: 991px) {
  #mainNav .d-none.d-lg-flex { display: none !important; }
  .mob-hamburger { display: flex !important; }
}
@media (min-width: 992px) {
  .mob-hamburger { display: none !important; }
  .d-none.d-lg-flex { display: flex !important; }
  .d-none.d-lg-block { display: block !important; }
}

/* Brand col */
.sf-logo-link { display: inline-block; margin-bottom: 1.1rem; }
.sf-logo { height: 44px; width: auto; }
.sf-desc {
  font-size: .84rem;
  color: rgba(255,255,255,.6);
  line-height: 1.8;
  margin-bottom: 1.5rem;
  max-width: 320px;
}
.sf-socials { display: flex; gap: .55rem; flex-wrap: wrap; }
.sf-soc {
  width: 36px; height: 36px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  transition: transform .2s, opacity .2s;
  flex-shrink: 0;
}
.sf-soc:hover { transform: translateY(-2px); opacity: .88; }
.sf-soc svg { width: 18px; height: 18px; fill: #fff; }
.sf-fb  { background: #1877f2; }
.sf-ig  { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.sf-yt  { background: #ff0000; }
.sf-tk  { background: #010101; border: 1px solid rgba(255,255,255,.15); }
.sf-fb2 { background: #1877f2; }
.sf-li  { background: #0a66c2; }

/* Links cols */
.sf-links-col { padding-left: 1.5rem; border-left: 1px solid rgba(255,255,255,.06); }
.sf-heading {
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #cc1f1f;
  margin-bottom: 1.15rem;
}
.sf-links {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: .6rem;
}
.sf-links a {
  font-size: .84rem;
  color: rgba(255,255,255,.65);
  text-decoration: none;
  transition: color .2s, padding-left .2s;
  display: flex; align-items: center; gap: .4rem;
}
.sf-links a::before {
  content: "›";
  font-size: .95rem;
  color: #cc1f1f;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
.sf-links a:hover { color: #fff; padding-left: 4px; }

/* Contact list */
.sf-contact-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: .75rem;
}
.sf-contact-list li {
  display: flex; align-items: flex-start; gap: .6rem;
  font-size: .84rem; color: rgba(255,255,255,.65); line-height: 1.55;
}
.sf-ci { font-size: .95rem; flex-shrink: 0; margin-top: .05rem; }
.sf-contact-list a {
  color: rgba(255,255,255,.65); text-decoration: none;
  transition: color .2s;
}
.sf-contact-list a:hover { color: #fff; }

/* Bottom bar */
.sf-bottom {
  background: #0e0e0e;
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 1.1rem 0;
}
.sf-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
}
.sf-copy {
  font-size: .78rem;
  color: rgba(255,255,255,.45);
}
.sf-bottom-email {
  font-size: .78rem;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  display: flex; align-items: center; gap: .35rem;
  transition: color .2s;
}
.sf-bottom-email:hover { color: #fff; }
.sf-bottom-links {
  display: flex; align-items: center; gap: .6rem;
}
.sf-bottom-links a {
  font-size: .78rem; color: rgba(255,255,255,.45);
  text-decoration: none; transition: color .2s;
}
.sf-bottom-links a:hover { color: #fff; }
.sf-divider { color: rgba(255,255,255,.2); font-size: .75rem; }

/* ── Responsive ────────────────────────────────────────────── */
@media(max-width:1100px) {
  .sf-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .sf-links-col:last-child { grid-column: span 1; }
}
@media(max-width:767px) {
  .sf-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .sf-brand-col { grid-column: span 2; }
  .sf-links-col { border-left: none; padding-left: 0; }
  .sf-top { padding: 3rem 0 2rem; }
}
@media(max-width:480px) {
  .sf-grid { grid-template-columns: 1fr; }
  .sf-brand-col { grid-column: span 1; }
  .sf-bottom-inner { flex-direction: column; align-items: flex-start; gap: .5rem; }
  .sf-desc { max-width: 100%; }
}


/* ════════════════════════════════════════════════════════════
   PARTNERS & CLIENTS SECTIONS
   ════════════════════════════════════════════════════════════ */

/* ── Partners ─────────────────────────────────────────────── */
.partners-section { padding: 3rem 0; border-bottom: 1px solid var(--border); }
.partners-header  { margin-bottom: 2rem; }
.partners-label-row {
  display: flex; align-items: center; gap: 1rem; margin-bottom: .75rem;
}
.partners-tag {
  font-size: .68rem; font-weight: 800; letter-spacing: .18em;
  text-transform: uppercase; color: var(--muted2); white-space: nowrap;
}
.partners-line {
  flex: 0 0 120px; height: 1px; background: var(--border);
}
.partners-title {
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
  font-weight: 800; color: var(--text); letter-spacing: -.02em; margin: 0;
}
.partners-logos {
  display: flex; align-items: center;
  gap: 2.5rem; flex-wrap: wrap;
  padding: 1rem 0;
}
.partner-logo-item { flex-shrink: 0; }
.partner-badge {
  display: flex; flex-direction: column;
  align-items: flex-start; gap: .2rem;
  opacity: .75; transition: opacity .2s, transform .2s;
  filter: grayscale(30%);
}
.partner-badge:hover { opacity: 1; filter: grayscale(0); transform: translateY(-2px); }
.partner-badge svg { height: 38px; width: auto; }
.partner-sub {
  font-size: .58rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: #cc1f1f;
  background: rgba(204,31,31,.08); border: 1px solid rgba(204,31,31,.18);
  border-radius: 100px; padding: .1rem .5rem;
}
[data-bs-theme="dark"] .partner-badge { filter: brightness(1.3) grayscale(20%); }

/* ── Clients slider ────────────────────────────────────────── */
.clients-section { padding: 4rem 0; }
.clients-slider-wrap { overflow: hidden; position: relative; }
.clients-track {
  display: flex; transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.clients-slide {
  display: flex; align-items: center; justify-content: space-around;
  min-width: 100%; gap: 1.5rem; flex-wrap: wrap; padding: 1.5rem 0;
}
.client-logo-item { flex: 0 0 auto; }
.cl-badge {
  display: flex; align-items: center; gap: .55rem;
  padding: .75rem 1.25rem;
  border: 1px solid var(--border); border-radius: 10px;
  background: var(--surface);
  opacity: .75; transition: opacity .2s, transform .2s, border-color .2s;
  cursor: default; min-width: 130px; justify-content: center;
}
.cl-badge:hover {
  opacity: 1; transform: translateY(-3px);
  border-color: rgba(204,31,31,.2); box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.cl-name {
  font-size: 1rem; font-weight: 700; letter-spacing: -.01em; line-height: 1;
}
.cl-leaf { font-size: 1.1rem; }
.lilly-font { font-family: 'Georgia', serif; }
.cl-icon {
  width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem; font-weight: 800; flex-shrink: 0;
}
.grabyo-icon {
  background: #e8192c; color: #fff;
  font-size: .95rem; font-family: 'Inter', sans-serif; font-weight: 800;
  width: 30px; height: 30px; border-radius: 50%;
}

/* Dots */
.clients-dots {
  display: flex; justify-content: center; gap: .55rem; margin-top: 1.75rem;
}
.cl-dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--border); border: none; cursor: pointer;
  transition: background .25s, transform .25s;
  padding: 0;
}
.cl-dot.active {
  background: var(--brand); transform: scale(1.25);
}

/* Responsive */
@media(max-width:767px) {
  .partners-logos { gap: 1.5rem; }
  .clients-slide { justify-content: center; gap: 1rem; }
  .cl-badge { min-width: 110px; padding: .6rem .9rem; }
  .cl-name { font-size: .9rem; }
}
@media(max-width:480px) {
  .partners-logos { gap: 1rem; }
  .clients-slide { gap: .75rem; }
  .cl-badge { min-width: auto; }
}


/* ════════════════════════════════════════════════════════════
   SERVICES PAGE — Vertical Card Rows
   ════════════════════════════════════════════════════════════ */
.svc-rows-wrap {
  display: flex; flex-direction: column; gap: 1.25rem;
}
.svc-row-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .25s;
}
.svc-row-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.1);
  border-color: var(--svc-color, var(--brand));
}
.svc-row-top {
  height: 4px; width: 100%;
}
.svc-row-body {
  display: flex; align-items: flex-start; gap: 1.5rem;
  padding: 1.6rem 1.75rem;
}
.svc-row-icon {
  width: 54px; height: 54px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.35rem; flex-shrink: 0;
  border: 1.5px solid;
  transition: transform .3s;
}
.svc-row-card:hover .svc-row-icon { transform: scale(1.08) rotate(-5deg); }
.svc-row-content { flex: 1; min-width: 0; }
.svc-row-title {
  font-size: 1.1rem; font-weight: 800; color: var(--text);
  margin-bottom: .45rem; letter-spacing: -.02em;
}
.svc-row-desc {
  font-size: .88rem; color: var(--muted); line-height: 1.75;
  margin-bottom: .9rem; max-width: 680px;
}
.svc-row-bullets {
  list-style: none; padding: 0; margin: 0 0 1rem;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px,1fr));
  gap: .38rem;
}
.svc-row-bullets li {
  display: flex; align-items: flex-start; gap: .45rem;
  font-size: .82rem; color: var(--muted); line-height: 1.5;
}
.svc-row-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  color: #fff !important; text-decoration: none;
  padding: .55rem 1.25rem; border-radius: 8px;
  font-size: .83rem; font-weight: 700;
  transition: transform .2s, opacity .2s;
}
.svc-row-btn:hover { transform: translateY(-1px); opacity: .9; }

/* Responsive */
@media(max-width:767px) {
  .svc-row-body { flex-direction: column; gap: 1rem; padding: 1.25rem; }
  .svc-row-bullets { grid-template-columns: 1fr; }
}
@media(max-width:480px) {
  .svc-row-body { padding: 1rem; }
  .svc-row-title { font-size: 1rem; }
}

/* ── Service detail pages — color theming ─────────────────── */
.svc-detail-color-bar {
  height: 5px; width: 100%; position: absolute; top: 0; left: 0;
}
.svc-accent-tag {
  display: inline-flex; align-items: center; gap: .4rem;
  border-radius: 100px; padding: .22rem .85rem;
  font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  margin-bottom: .6rem;
}
.svc-feature-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 14px; padding: 1.5rem; height: 100%;
  transition: transform .3s, box-shadow .3s, border-color .25s;
  border-top: 3px solid transparent;
}
.svc-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0,0,0,.1);
}

/* ══════════════════════════════════════════════════════════════
   BUG FIXES — Reveal + Cursor
   ══════════════════════════════════════════════════════════════ */

/* REVEAL — JS adds .on not .in */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal.on{opacity:1!important;transform:translateY(0)!important}
.reveal-l{opacity:0;transform:translateX(-22px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal-l.on{opacity:1!important;transform:translateX(0)!important}
.reveal-r{opacity:0;transform:translateX(22px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal-r.on{opacity:1!important;transform:translateX(0)!important}
/* Also support .in class (added by some paths) */
.reveal.in{opacity:1!important;transform:translateY(0)!important}
.reveal-l.in{opacity:1!important;transform:translateX(0)!important}
.reveal-r.in{opacity:1!important;transform:translateX(0)!important}
/* Reduced motion: always show */
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-l,.reveal-r{opacity:1!important;transform:none!important}
}

/* CUSTOM CURSOR */
*{cursor:none!important}
@media(hover:none),(pointer:coarse){
  *{cursor:auto!important}
  #cur-dot,#cur-ring,#cur-trail{display:none!important}
}
#cur-dot{
  position:fixed;width:8px;height:8px;border-radius:50%;
  background:var(--brand,#cc1f1f);pointer-events:none;
  z-index:9999;transform:translate(-50%,-50%);
  transition:transform .08s,width .2s,height .2s,background .2s;
  top:0;left:0;will-change:transform;
}
#cur-ring{
  position:fixed;width:32px;height:32px;border-radius:50%;
  border:1.5px solid var(--brand,#cc1f1f);pointer-events:none;
  z-index:9998;transform:translate(-50%,-50%);
  transition:transform .12s ease-out,width .25s,height .25s,opacity .2s;
  opacity:.5;top:0;left:0;will-change:transform;
}
#cur-trail{position:fixed;top:0;left:0;pointer-events:none;z-index:9997;width:100vw;height:100vh}
body.cur-hover #cur-dot{width:14px;height:14px;background:var(--brand,#cc1f1f)}
body.cur-hover #cur-ring{width:44px;height:44px;opacity:.3}
body.cur-click #cur-dot{transform:translate(-50%,-50%) scale(.7)}
body.cur-click #cur-ring{transform:translate(-50%,-50%) scale(1.3)}

/* SECTIONS always above canvas */
body>*:not(#bg-canvas):not(.orb):not(#cur-dot):not(#cur-ring):not(#cur-trail){
  /* position:relative;z-index:2; */
}
#mobDrawer,#calendly-modal,#cal-fab,#wa-fab{z-index:1050!important}


/* ════════════════════════════════════════════════════════════
   HERO SLIDER
   ════════════════════════════════════════════════════════════ */
.hero-slider-section {
  padding: 4rem 0 3rem;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}
.hs-wrap { position: relative; }

/* Track holds all slides */
.hs-track {
  position: relative;
  min-height: 420px;
}

/* Each slide */
.hs-slide {
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  animation: hsFadeIn .55s cubic-bezier(.22,.61,.36,1) both;
}
.hs-slide.active { display: grid; }
@keyframes hsFadeIn {
  from { opacity:0; transform:translateY(18px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Left content */
.hs-tag {
  display: inline-block;
  font-size: .78rem; font-weight: 600; letter-spacing: .04em;
  padding: .25rem 0 .25rem .75rem;
  margin-bottom: .9rem;
}
.hs-title {
  font-size: clamp(1.65rem, 4vw, 2.75rem);
  font-weight: 800; line-height: 1.15;
  letter-spacing: -.03em; color: var(--text);
  margin-bottom: 1rem;
}
.hs-accent {
  display: inline-block;
  font-style: italic;
  position: relative;
}
.hs-accent::after {
  content: '';
  position: absolute; bottom: 2px; left: 0; right: 0;
  height: 3px; border-radius: 2px;
  background: currentColor; opacity: .25;
}
.hs-desc {
  font-size: .93rem; color: var(--muted);
  line-height: 1.78; margin-bottom: 1.75rem;
  max-width: 480px;
}
.hs-btn {
  display: inline-flex; align-items: center; gap: .6rem;
  color: #fff !important; text-decoration: none;
  padding: .78rem 1.6rem; border-radius: 10px;
  font-size: .9rem; font-weight: 700;
  transition: transform .2s, opacity .2s;
}
.hs-btn:hover { transform: translateY(-2px); opacity: .92; color: #fff !important; }
.hs-btn-icon {
  width: 26px; height: 26px; border-radius: 50%;
  background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem; flex-shrink: 0;
}

/* Right image card */
.hs-right {
  display: flex; flex-direction: column;
  align-items: center; gap: 1rem;
}
.hs-img-card {
  position: relative;
  width: 100%; max-width: 360px;
  aspect-ratio: 1 / 1;
  border-radius: 28px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  animation: hsFloat 4s ease-in-out infinite alternate;
}
@keyframes hsFloat {
  from { transform: translateY(0px); }
  to   { transform: translateY(-12px); }
}
@media(prefers-reduced-motion:reduce) { .hs-img-card { animation: none; } }
.hs-img-deco {
  position: absolute; inset: 12px;
  border-radius: 20px; border: 1.5px dashed;
  opacity: .4; pointer-events: none;
}
.hs-emoji {
  font-size: 7rem; line-height: 1;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,.15));
  position: relative; z-index: 1;
  animation: hsEmojiFloat 3s ease-in-out infinite alternate;
}
@keyframes hsEmojiFloat {
  from { transform: scale(1) rotate(-2deg); }
  to   { transform: scale(1.06) rotate(2deg); }
}
@media(prefers-reduced-motion:reduce) { .hs-emoji { animation: none; } }
.hs-img-label {
  font-size: 1.15rem; font-weight: 800;
  letter-spacing: -.02em; text-align: center;
}

/* Controls */
.hs-controls {
  display: flex; align-items: center;
  justify-content: center; gap: 1rem;
  margin-top: 2.5rem;
}
.hs-arrow {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--surface); border: 1.5px solid var(--border);
  color: var(--muted); font-size: 1rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .2s, color .2s, background .2s;
}
.hs-arrow:hover {
  border-color: var(--brand); color: var(--brand);
  background: rgba(204,31,31,.05);
}
.hs-dots {
  display: flex; gap: .5rem; align-items: center;
}
.hs-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--border); border: none; cursor: pointer; padding: 0;
  transition: background .25s, transform .25s, width .3s;
}
.hs-dot.active {
  background: var(--brand);
  transform: scale(1.3);
  width: 24px; border-radius: 4px;
}

/* Responsive */
@media(max-width:991px) {
  .hs-slide { grid-template-columns: 1fr; gap: 2.5rem; }
  .hs-right { order: -1; }
  .hs-img-card { max-width: 280px; aspect-ratio: 1/1; }
  .hs-emoji { font-size: 5rem; }
  .hero-slider-section { padding: 3rem 0 2.5rem; }
}
@media(max-width:575px) {
  .hs-title { font-size: clamp(1.4rem, 7vw, 1.9rem); }
  .hs-img-card { max-width: 220px; }
  .hs-emoji { font-size: 4rem; }
  .hs-track { min-height: auto; }
}

/* ════════════════════════════════════════════════════════════
   SERVICES — 3-Column Grid Cards
   ════════════════════════════════════════════════════════════ */
.svc-3col-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.35rem;
}
.svc-grid-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .3s, box-shadow .3s, border-color .25s;
}
.svc-grid-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,.1);
  border-color: var(--sc, var(--brand));
}
.sgc-top {
  height: 4px; width: 100%; flex-shrink: 0;
}
.sgc-body {
  padding: 1.5rem 1.4rem;
  display: flex; flex-direction: column; flex: 1;
}
.sgc-ico {
  width: 48px; height: 48px; border-radius: 12px;
  border: 1.5px solid;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; margin-bottom: .9rem; flex-shrink: 0;
  transition: transform .3s;
}
.svc-grid-card:hover .sgc-ico { transform: scale(1.1) rotate(-6deg); }
.sgc-name {
  font-size: 1rem; font-weight: 800; color: var(--text);
  margin-bottom: .45rem; letter-spacing: -.02em; line-height: 1.3;
}
.sgc-desc {
  font-size: .83rem; color: var(--muted); line-height: 1.7;
  margin-bottom: .85rem; flex: 1;
}
.sgc-list {
  list-style: none; padding: 0; margin: 0 0 1.1rem;
  display: flex; flex-direction: column; gap: .35rem;
}
.sgc-list li {
  display: flex; align-items: flex-start; gap: .4rem;
  font-size: .79rem; color: var(--muted); line-height: 1.4;
}
.sgc-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .82rem; font-weight: 700; text-decoration: none;
  padding: .52rem 1rem; border-radius: 8px; border: 1.5px solid;
  background: transparent; transition: background .2s, color .2s;
  margin-top: auto; align-self: flex-start;
}
.sgc-btn:hover {
  background: var(--sc, var(--brand));
  color: #fff !important;
  border-color: var(--sc, var(--brand)) !important;
}

/* Responsive */
@media(max-width:1100px) { .svc-3col-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:600px)  { .svc-3col-grid { grid-template-columns: 1fr; } }

/* ════════════════════════════════════════════════════════════
   MODERN FOOTER — 3D / Glassmorphism
   ════════════════════════════════════════════════════════════ */
.mf-footer {
  position: relative;
  background: #0a0a0f;
  overflow: hidden;
  padding: 0;
}

/* Background grid pattern */
.mf-bg-grid {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(204,31,31,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(204,31,31,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 0%, #000 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 0%, #000 30%, transparent 100%);
}

/* Glow orbs */
.mf-glow {
  position: absolute; border-radius: 50%;
  pointer-events: none; z-index: 0;
  animation: mfGlowPulse 8s ease-in-out infinite alternate;
}
.mf-glow-1 {
  width: 600px; height: 600px;
  top: -200px; left: -100px;
  background: radial-gradient(circle, rgba(204,31,31,.12) 0%, transparent 68%);
}
.mf-glow-2 {
  width: 400px; height: 400px;
  bottom: -100px; right: -80px;
  background: radial-gradient(circle, rgba(99,102,241,.1) 0%, transparent 68%);
  animation-delay: 4s;
}
@keyframes mfGlowPulse {
  from { transform: scale(1); opacity: .8; }
  to   { transform: scale(1.15); opacity: 1; }
}
@media(prefers-reduced-motion:reduce) { .mf-glow { animation: none; } }

/* ── Brand strip ──────────────────────────────────────────── */
.mf-brand-strip {
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap;
  gap: 2rem; padding: 3rem 0 0;
}
.mf-logo { height: 42px; width: auto; }
.mf-tagline {
  font-size: .76rem; color: rgba(255,255,255,.4);
  margin-top: .55rem; letter-spacing: .05em; font-weight: 500;
}

/* Mini stat cards */
.mf-stats-row {
  display: flex; gap: 1rem; flex-wrap: wrap;
}
.mf-stat-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px; padding: .75rem 1.1rem;
  text-align: center; min-width: 74px;
  backdrop-filter: blur(8px);
  transition: border-color .2s, background .2s, transform .2s;
}
.mf-stat-card:hover {
  border-color: rgba(204,31,31,.35);
  background: rgba(204,31,31,.07);
  transform: translateY(-3px);
}
.mf-stat-val {
  font-size: 1.45rem; font-weight: 800; line-height: 1;
  color: #fff; font-family: 'Plus Jakarta Sans','Inter',sans-serif;
}
.mf-stat-val span { color: #cc1f1f; }
.mf-stat-lbl {
  font-size: .64rem; color: rgba(255,255,255,.45);
  margin-top: .2rem; font-weight: 500; letter-spacing: .04em;
}

/* ── Divider ──────────────────────────────────────────────── */
.mf-divider {
  height: 1px; margin: 2rem 0;
  background: linear-gradient(90deg, transparent, rgba(204,31,31,.25) 30%, rgba(204,31,31,.25) 70%, transparent);
}

/* ── Columns ──────────────────────────────────────────────── */
.mf-cols {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr;
  gap: 3rem;
}
.mf-col-head {
  font-size: .72rem; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; color: #fff;
  margin-bottom: 1.1rem;
  display: flex; align-items: center; gap: .55rem;
}
.mf-head-bar {
  display: inline-block; width: 18px; height: 3px;
  background: linear-gradient(90deg, #cc1f1f, #ff5555);
  border-radius: 2px; flex-shrink: 0;
}

/* Link list */
.mf-link-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: .5rem;
}
.mf-link-list li {
  display: flex; align-items: center; gap: .55rem;
}
.mf-dot {
  width: 6px; height: 6px; border-radius: 50%;
  flex-shrink: 0; opacity: .8;
  transition: transform .2s;
}
.mf-link-list li:hover .mf-dot { transform: scale(1.5); }
.mf-link-list a {
  font-size: .84rem; color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color .2s, padding-left .2s;
}
.mf-link-list a:hover { color: #fff; padding-left: 4px; }

/* Contact list */
.mf-contact-list {
  list-style: none; padding: 0; margin: 0 0 1.4rem;
  display: flex; flex-direction: column; gap: .9rem;
}
.mf-contact-list li {
  display: flex; align-items: flex-start; gap: .75rem;
}
.mf-ci-ico {
  width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
  background: rgba(204,31,31,.12);
  border: 1px solid rgba(204,31,31,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem; color: #cc1f1f;
  margin-top: .05rem;
}
.mf-contact-list a,
.mf-contact-list span {
  font-size: .83rem; color: rgba(255,255,255,.55);
  text-decoration: none; display: block; line-height: 1.6;
  transition: color .2s;
}
.mf-contact-list a:hover { color: #fff; }

/* Social icons */
.mf-socials {
  display: flex; gap: .55rem; flex-wrap: wrap;
}
.mf-soc {
  width: 38px; height: 38px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.6);
  transition: transform .25s, background .2s, border-color .2s, color .2s, box-shadow .25s;
  text-decoration: none;
}
.mf-soc svg { width: 17px; height: 17px; }
.mf-soc:hover { transform: translateY(-4px) scale(1.08); color: #fff; }
.mf-fb:hover  { background:#1877f2;border-color:#1877f2;box-shadow:0 6px 20px rgba(24,119,242,.4); }
.mf-ig:hover  { background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:#dc2743;box-shadow:0 6px 20px rgba(220,39,67,.4); }
.mf-li:hover  { background:#0a66c2;border-color:#0a66c2;box-shadow:0 6px 20px rgba(10,102,194,.4); }
.mf-yt:hover  { background:#ff0000;border-color:#ff0000;box-shadow:0 6px 20px rgba(255,0,0,.4); }
.mf-wa:hover  { background:#25d366;border-color:#25d366;box-shadow:0 6px 20px rgba(37,211,102,.4); }

/* ── Bottom bar ───────────────────────────────────────────── */
.mf-bottom {
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap;
  gap: .75rem; padding: 1.25rem 0;
  background: rgba(255,255,255,.02);
  border-top: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(8px);
  margin-top: .5rem;
}
.mf-copy {
  font-size: .78rem; color: rgba(255,255,255,.35);
}
.mf-copy strong { color: rgba(255,255,255,.55); }
.mf-email-link {
  font-size: .78rem; color: rgba(255,255,255,.4);
  text-decoration: none; display: flex; align-items: center; gap: .35rem;
  transition: color .2s;
}
.mf-email-link:hover { color: #fff; }
.mf-legal-links {
  display: flex; align-items: center; gap: .55rem;
}
.mf-legal-links a {
  font-size: .78rem; color: rgba(255,255,255,.35);
  text-decoration: none; transition: color .2s;
}
.mf-legal-links a:hover { color: #cc1f1f; }
.mf-sep { color: rgba(255,255,255,.2); }

/* ── Responsive ───────────────────────────────────────────── */
@media(max-width:991px) {
  .mf-cols { grid-template-columns: 1fr 1fr; }
  .mf-brand-strip { flex-direction: column; align-items: flex-start; }
}
@media(max-width:640px) {
  .mf-cols { grid-template-columns: 1fr; gap: 2rem; }
  .mf-stats-row { gap: .65rem; }
  .mf-bottom { flex-direction: column; align-items: flex-start; gap: .5rem; }
}
