/* ================================================================
   APPGLIDE — MAIN STYLESHEET
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Sora:wght@300;400;600;700;800&display=swap');

:root {
  --blue:       #7C3AED;
  --blue-dark:  #5b21b6;
  --blue-light: #f0ebff;
  --mint:       #00D4FF;
  --mint-dark:  #00aed4;
  --yellow:     #FFC107;
  --dark:       #2D1B69;
  --dark-mid:   #3D2080;
  --text:       #1e1a2e;
  --text-light: #64748b;
  --bg:         #F8F6FF;
  --bg-soft:    #F0EEFF;
  --border:     #e8e2f5;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--text);
  background: var(--bg);
  overflow-x: hidden;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 { font-family: 'Sora', sans-serif; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }

/* ── ANIMATIONS ── */
@keyframes fadeUp    { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeRight { from{opacity:0;transform:translateX(28px)} to{opacity:1;transform:translateX(0)} }
@keyframes pulse     { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }
@keyframes scrollLogos { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── COLOR STRIP ── */
.ag-color-strip {
  height: 3px;
  background: linear-gradient(90deg,#FFC107 0%,#7C3AED 30%,#00D4FF 60%,#7C3AED 80%,#FFC107 100%);
}

/* ── EYEBROW ── */
.ag-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--blue); font-size:.76rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; margin-bottom:12px;
}
.ag-eyebrow::before { content:''; width:22px; height:2.5px; background:var(--blue); border-radius:2px; }

/* ── HEADINGS ── */
.ag-heading { font-size:clamp(1.85rem,3vw,2.6rem); font-weight:800; color:var(--dark); line-height:1.18; letter-spacing:-.022em; margin-bottom:14px; }
.ag-sub { color:var(--text-light); font-size:1.02rem; line-height:1.72; max-width:540px; }

/* ── BUTTONS ── */
.ag-btn-primary {
  background:var(--blue); color:white;
  padding:14px 28px; border-radius:12px;
  font-weight:700; font-size:.93rem;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 6px 24px rgba(124,58,237,.4);
  transition:all .25s; cursor:pointer; border:none;
}
.ag-btn-primary:hover { background:var(--blue-dark); transform:translateY(-2px); box-shadow:0 10px 32px rgba(124,58,237,.5); color:white; }
.ag-btn-outline {
  color:#7C3AED; padding:14px 28px; border-radius:12px;
  font-weight:600; font-size:.93rem;
  border:1.5px solid rgba(124,58,237,.35);
  display:inline-flex; align-items:center; gap:8px;
  transition:all .25s; background:rgba(124,58,237,.05);
}
.ag-btn-outline:hover { border-color:rgba(124,58,237,.7); background:rgba(124,58,237,.1); color:#7C3AED; }

/* ================================================================
   ANNOUNCEMENT BAR
   ================================================================ */
.ag-ann-bar {
  background:linear-gradient(90deg,#EDE8FF 0%,#E4DEFF 50%,#EDE8FF 100%);
  color:#4a3a6a; text-align:center;
  padding:10px 20px; font-size:.82rem; font-weight:500;
  letter-spacing:.01em; border-bottom:1px solid rgba(124,58,237,.15);
}
.ag-ann-bar strong { color:#7C3AED; }

/* ================================================================
   NAVBAR
   ================================================================ */
.ag-nav {
  position:sticky; top:0; z-index:1000;
  background:rgba(248,246,255,.98);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:0 6%;
  display:flex; align-items:center; justify-content:space-between;
  height:70px;
  box-shadow:0 2px 24px rgba(124,58,237,.07);
}
.ag-nav-logo img { height:44px; object-fit:contain; }
.ag-nav-links { display:flex; list-style:none; gap:2px; align-items:center; padding:0; margin:0; }
.ag-nav-links > li { position:relative; }
.ag-nav-links > li > a {
  color:var(--text); font-size:.875rem; font-weight:500;
  padding:8px 13px; border-radius:8px; transition:all .2s;
  display:flex; align-items:center; gap:5px; white-space:nowrap;
}
.ag-nav-links > li > a:hover { background:var(--blue-light); color:var(--blue); }
.ag-chevron { width:14px; height:14px; opacity:.5; transition:transform .25s; }
.ag-nav-links > li:hover > a .ag-chevron { transform:rotate(180deg); opacity:1; }
.ag-dropdown {
  position:absolute; top:calc(100% + 8px); left:0;
  background:white; border:1px solid var(--border);
  border-radius:16px; padding:8px; min-width:240px;
  box-shadow:0 16px 50px rgba(124,58,237,.14);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:all .22s cubic-bezier(.16,1,.3,1); z-index:999;
}
.ag-dropdown.wide { min-width:280px; }
.ag-nav-links > li:hover .ag-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.ag-dropdown-item { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:10px; color:var(--text); font-size:.845rem; font-weight:500; transition:all .18s; }
.ag-dropdown-item:hover { background:var(--blue-light); color:var(--blue); }
.ag-d-icon { width:34px; height:34px; border-radius:9px; background:var(--blue-light); padding:7px; box-sizing:border-box; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .18s; }
.ag-dropdown-item:hover .ag-d-icon { background:var(--blue); }
.ag-dropdown-item:hover .ag-d-icon svg { stroke:white; }
.ag-d-title { font-weight:600; font-size:.845rem; color:var(--dark); line-height:1.3; }
.ag-d-sub { font-size:.75rem; color:var(--text-light); margin-top:1px; }
.ag-dropdown-item:hover .ag-d-title { color:var(--blue); }
.ag-dropdown-divider { height:1px; background:var(--border); margin:6px 4px; }
.ag-dropdown-header { padding:8px 12px 4px; font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--text-light); }
.ag-nav-cta {
  background:var(--blue) !important; color:white !important;
  padding:10px 20px !important; border-radius:10px !important;
  font-weight:700 !important; margin-left:6px;
  box-shadow:0 4px 16px rgba(124,58,237,.35);
  white-space:nowrap; display:inline-block;
}
.ag-nav-cta:hover { background:var(--blue-dark) !important; transform:translateY(-1px); color:white !important; }

/* ================================================================
   HERO — FIXED VERSION
   ================================================================ */

/* Kill ALL top spacing from WordPress/Hello Elementor */
body, html { padding-top:0 !important; margin-top:0 !important; }
body .hfeed, body .site, body #page,
body #content, body #primary, body main,
body .site-main, body .site-content,
body .page-content, body .entry-content,
body .hentry, body .elementor-section-wrap {
  padding-top:0 !important;
  margin-top:0 !important;
  max-width:100% !important;
  width:100% !important;
}

.ag-hero {
  min-height: calc(100vh - 70px);
  background: linear-gradient(145deg,#F8F6FF 0%,#EDE8FF 40%,#E0F7FF 100%);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 60px 6%;
  margin: 0 !important;
}

.ag-hero-grid-bg {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(124,58,237,.06) 1px,transparent 1px);
  background-size:56px 56px;
}
.ag-hero-orb-1 { position:absolute; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(124,58,237,.12) 0%,transparent 65%); top:-200px; right:-100px; pointer-events:none; }
.ag-hero-orb-2 { position:absolute; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(0,212,255,.1) 0%,transparent 65%); bottom:-100px; left:0; pointer-events:none; }

/* Left content — max 48% to leave room for GIF */
.ag-hero-content {
  position: relative;
  z-index: 2;
  width: 48%;
  max-width: 580px;
  animation: fadeUp .85s ease both;
  flex-shrink: 0;
}

.ag-hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(124,58,237,.08); border:1px solid rgba(124,58,237,.2);
  color:#7C3AED; font-size:.79rem; font-weight:600;
  padding:6px 16px; border-radius:100px; margin-bottom:26px; letter-spacing:.03em;
}
.ag-pulse-dot { width:7px; height:7px; border-radius:50%; background:var(--mint); animation:pulse 2s infinite; }
.ag-hero h1 { font-size:clamp(2rem,3.8vw,3.4rem); font-weight:800; color:#1a0a3c; line-height:1.13; margin-bottom:22px; letter-spacing:-.025em; }
.ag-hero h1 .grad { background:linear-gradient(130deg,#7C3AED 0%,#00AACC 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ag-hero-desc { color:#4a3a6a; font-size:1rem; line-height:1.8; margin-bottom:36px; }
.ag-hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }
.ag-hero-stats {
  display:flex; gap:32px; flex-wrap:wrap;
  animation:fadeUp .85s .3s ease both; opacity:0; animation-fill-mode:forwards;
}
.ag-stat-item .num { font-family:'Sora',sans-serif; font-size:1.8rem; font-weight:800; color:#1a0a3c; }
.ag-stat-item .num em { color:#7C3AED; font-style:normal; }
.ag-stat-item .lbl { color:#6b5a8a; font-size:.78rem; font-weight:500; margin-top:2px; }

/* ── HERO PANEL (right side GIF) ── */
.ag-hero-panel {
  position: absolute;
  right: 3%;
  top: 50%;
  transform: translateY(-50%);
  width: 46%;
  max-width: 600px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeRight .9s .2s ease both;
  opacity: 0;
  animation-fill-mode: forwards;
}

.ag-panel-img-wrap {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ag-panel-img-wrap img {
  width: 100%;
  height: auto;
  max-height: 600px;
  min-height: 380px;
  object-fit: contain;
  object-position: center center;
  border-radius: 20px;
  display: block;
  box-shadow: 0 24px 64px rgba(124,58,237,.15);
}

.ag-img-badge-tl, .ag-img-badge-br {
  position:absolute; background:white; border-radius:16px; padding:14px 18px;
  box-shadow:0 8px 32px rgba(124,58,237,.18);
  display:flex; align-items:center; gap:10px; z-index:3;
}
.ag-img-badge-tl { top:-18px; left:-18px; border:1px solid rgba(124,58,237,.1); }
.ag-img-badge-br { bottom:-18px; right:-18px; border:1px solid rgba(0,170,204,.15); }
.ag-badge-icon { font-size:1.4rem; }
.ag-badge-label { font-size:.72rem; color:var(--text-light); font-weight:500; }
.ag-badge-val { font-family:'Sora',sans-serif; font-size:1rem; font-weight:800; color:#1a0a3c; }
.ag-badge-val.cyan { color:#00AACC; }

/* ================================================================
   TRUSTED BY
   ================================================================ */
.ag-trusted { background:var(--bg-soft); padding:48px 6%; border-bottom:1px solid var(--border); text-align:center; }
.ag-trusted-lbl { color:#94a3b8; font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:26px; }
.ag-logo-track-wrap { overflow:hidden; position:relative; }
.ag-logo-track-wrap::before, .ag-logo-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:100px; z-index:2; }
.ag-logo-track-wrap::before { left:0; background:linear-gradient(90deg,var(--bg-soft),transparent); }
.ag-logo-track-wrap::after  { right:0; background:linear-gradient(-90deg,var(--bg-soft),transparent); }
.ag-logo-track { display:flex; gap:48px; align-items:center; animation:scrollLogos 32s linear infinite; width:max-content; }
.ag-logo-track:hover { animation-play-state:paused; }
.ag-logo-pill { flex-shrink:0; font-family:'Sora',sans-serif; font-weight:700; font-size:.9rem; color:#9daec4; letter-spacing:.02em; background:#fff; border:1px solid #e0d8f5; padding:9px 18px; border-radius:10px; transition:all .2s; }
.ag-logo-pill:hover { color:var(--blue); border-color:var(--blue); }

/* ================================================================
   WHY APPGLIDE
   ================================================================ */
.ag-why-wrap { background:#F8F6FF; padding:88px 6%; }
.ag-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-top:56px; }
.ag-benefits-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ag-ben-card { background:#fff; border:1px solid var(--border); border-radius:16px; padding:24px; transition:all .3s; }
.ag-ben-card:hover { border-color:var(--blue); box-shadow:0 8px 28px rgba(124,58,237,.1); transform:translateY(-3px); }
.ag-ben-ico { width:44px; height:44px; border-radius:12px; background:var(--blue-light); display:flex; align-items:center; justify-content:center; margin-bottom:14px; padding:10px; box-sizing:border-box; border:1px solid rgba(124,58,237,.15); transition:all .3s; }
.ag-ben-card:hover .ag-ben-ico { background:var(--blue); }
.ag-ben-card:hover .ag-ben-ico svg { stroke:white; }
.ag-ben-ico svg { width:100%; height:100%; display:block; }
.ag-ben-title { font-family:'Sora',sans-serif; font-size:.93rem; font-weight:700; color:var(--dark); margin-bottom:6px; }
.ag-ben-desc { color:var(--text-light); font-size:.84rem; line-height:1.62; }
.ag-why-dark { background:linear-gradient(145deg,#7C3AED 0%,#5b21b6 100%); border-radius:24px; padding:40px; position:relative; overflow:hidden; box-shadow:0 20px 60px rgba(124,58,237,.25); }
.ag-why-dark::before { content:''; position:absolute; top:0; right:0; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(0,212,255,.2) 0%,transparent 70%); }
.ag-why-dark-quote { position:relative; z-index:2; font-family:'Sora',sans-serif; font-size:1.35rem; font-weight:700; color:white; line-height:1.5; margin-bottom:28px; }
.ag-why-dark-quote .hi { color:#00D4FF; }
.ag-steps-list { position:relative; z-index:2; }
.ag-step-row { display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
.ag-step-num { min-width:32px; height:32px; border-radius:8px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); color:white; font-family:'Sora',sans-serif; font-weight:800; font-size:.82rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ag-step-txt { color:rgba(255,255,255,.75); font-size:.87rem; line-height:1.55; }
.ag-step-txt strong { color:white; }

/* ================================================================
   OFFERINGS
   ================================================================ */
.ag-off-section { background:var(--bg-soft); padding:88px 6%; }
.ag-off-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:50px; }
.ag-off-card { background:#fff; border:1px solid var(--border); border-radius:20px; padding:32px; position:relative; overflow:hidden; transition:all .3s; }
.ag-off-card::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--blue),var(--mint)); transform:scaleX(0); transform-origin:left; transition:transform .35s; }
.ag-off-card:hover { box-shadow:0 14px 44px rgba(124,58,237,.13); transform:translateY(-5px); border-color:transparent; }
.ag-off-card:hover::after { transform:scaleX(1); }
.ag-off-ico { width:50px; height:50px; border-radius:13px; background:var(--blue-light); display:flex; align-items:center; justify-content:center; font-size:1.35rem; margin-bottom:20px; padding:11px; box-sizing:border-box; border:1px solid rgba(124,58,237,.15); transition:all .3s; }
.ag-off-card:hover .ag-off-ico { background:var(--blue); }
.ag-off-card:hover .ag-off-ico svg { stroke:white; }
.ag-off-ico svg { width:100%; height:100%; display:block; }
.ag-off-title { font-family:'Sora',sans-serif; font-size:1.05rem; font-weight:700; color:var(--dark); margin-bottom:10px; }
.ag-off-desc { color:var(--text-light); font-size:.86rem; line-height:1.68; margin-bottom:20px; }
.ag-off-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.ag-tag { background:var(--bg-soft); color:var(--text-light); border:1px solid var(--border); font-size:.74rem; font-weight:600; padding:4px 10px; border-radius:6px; }
.ag-off-link { color:var(--blue); font-size:.86rem; font-weight:700; display:inline-flex; align-items:center; gap:6px; transition:gap .2s; }
.ag-off-link:hover { gap:10px; color:var(--blue); }

/* ================================================================
   STATS BAR
   ================================================================ */
.ag-stats-bar { background:linear-gradient(130deg,#6d28d9 0%,#7C3AED 50%,#5b21b6 100%); padding:68px 6%; position:relative; overflow:hidden; }
.ag-stats-bar::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(124,58,237,.18) 0%,transparent 65%); }
.ag-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:40px; position:relative; z-index:2; text-align:center; }
.ag-stat-big .n { font-family:'Sora',sans-serif; font-size:3.2rem; font-weight:800; color:white; line-height:1; }
.ag-stat-big .n em { color:var(--mint); font-style:normal; }
.ag-stat-big .l { color:rgba(255,255,255,.55); font-size:.88rem; margin-top:8px; }

/* ================================================================
   HOW IT WORKS
   ================================================================ */
.ag-how-section { background:#F8F6FF; padding:88px 6%; }
.ag-how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:56px; position:relative; }
.ag-how-line { position:absolute; top:30px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,var(--blue-light),var(--blue),var(--mint),var(--blue-light)); z-index:0; }
.ag-how-card { text-align:center; position:relative; z-index:1; }
.ag-how-num { width:60px; height:60px; border-radius:50%; margin:0 auto 22px; background:var(--blue); color:white; font-family:'Sora',sans-serif; font-weight:800; font-size:1.1rem; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 22px rgba(124,58,237,.38); border:4px solid white; outline:2px solid var(--blue-light); }
.ag-how-title { font-family:'Sora',sans-serif; font-size:1rem; font-weight:700; color:var(--dark); margin-bottom:10px; }
.ag-how-desc { color:var(--text-light); font-size:.84rem; line-height:1.62; }

/* ================================================================
   TESTIMONIALS
   ================================================================ */
.ag-testi-section { background:var(--bg-soft); padding:88px 6%; }
.ag-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:48px; }
.ag-testi-card { background:#fff; border:1px solid var(--border); border-radius:20px; padding:30px; transition:all .3s; }
.ag-testi-card:hover { box-shadow:0 12px 38px rgba(124,58,237,.1); transform:translateY(-4px); }
.ag-qmark { font-family:Georgia,serif; font-size:2.8rem; color:var(--blue); line-height:1; margin-bottom:12px; }
.ag-testi-txt { color:var(--text); font-size:.91rem; line-height:1.72; margin-bottom:22px; font-style:italic; }
.ag-testi-author { display:flex; align-items:center; gap:12px; }
.ag-avatar { width:44px; height:44px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg,var(--blue),var(--mint)); display:flex; align-items:center; justify-content:center; color:white; font-family:'Sora',sans-serif; font-weight:700; font-size:.95rem; overflow:hidden; }
.ag-avatar img { width:100%; height:100%; object-fit:cover; }
.ag-a-name { font-weight:700; font-size:.88rem; color:var(--dark); }
.ag-a-role { color:var(--text-light); font-size:.78rem; }

/* ================================================================
   ERP PARTNER
   ================================================================ */
.ag-erp-section { background:linear-gradient(145deg,#EDE8FF 0%,#E0D5FF 50%,#D8F0FF 100%); padding:72px 6%; text-align:center; position:relative; overflow:hidden; }
.ag-erp-section::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 60% 40%,rgba(0,212,255,.08) 0%,transparent 55%), radial-gradient(ellipse at 30% 60%,rgba(124,58,237,.08) 0%,transparent 55%); }
.ag-erp-logo { position:relative; margin-bottom:26px; }
.ag-erp-logo img { height:44px; margin:0 auto; }
.ag-erp-badge { display:inline-flex; align-items:center; gap:10px; background:rgba(124,58,237,.1); border:1px solid rgba(124,58,237,.25); border-radius:100px; padding:9px 22px; color:#7C3AED; font-weight:600; font-size:.83rem; margin-bottom:26px; position:relative; }
.ag-erp-section h2 { font-size:clamp(1.7rem,3vw,2.5rem); font-weight:800; color:#1a0a3c; margin-bottom:14px; letter-spacing:-.02em; position:relative; }
.ag-erp-section p { color:#4a3a6a; font-size:1.02rem; max-width:540px; margin:0 auto 36px; line-height:1.72; position:relative; }

/* ================================================================
   CTA
   ================================================================ */
.ag-cta-wrap { background:#F8F6FF; padding:88px 6%; }
.ag-cta-box { background:linear-gradient(145deg,#7C3AED 0%,#5b21b6 60%,#4c1d95 100%); border-radius:28px; padding:64px 52px; text-align:center; position:relative; overflow:hidden; box-shadow:0 24px 80px rgba(124,58,237,.3); }
.ag-cta-box::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 70% 30%,rgba(0,212,255,.2) 0%,transparent 50%), radial-gradient(ellipse at 20% 70%,rgba(255,255,255,.05) 0%,transparent 50%); }
.ag-cta-box h2 { font-size:clamp(1.9rem,3vw,2.7rem); font-weight:800; color:white; margin-bottom:14px; letter-spacing:-.02em; position:relative; }
.ag-cta-box h2 em { color:#00D4FF; font-style:normal; }
.ag-cta-box p { color:rgba(255,255,255,.75); font-size:1.03rem; margin-bottom:38px; position:relative; }
.ag-cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; }
.ag-cta-box .ag-btn-primary { background:white; color:#7C3AED; box-shadow:0 6px 24px rgba(0,0,0,.15); }
.ag-cta-box .ag-btn-primary:hover { background:#f0ebff; color:#7C3AED; }
.ag-cta-box .ag-btn-outline { color:white; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }
.ag-cta-box .ag-btn-outline:hover { border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.15); color:white; }

/* ================================================================
   FOOTER
   ================================================================ */
.ag-footer { background:linear-gradient(160deg,#F0EEFF 0%,#EDE8FF 100%); padding:64px 6% 30px; border-top:1px solid rgba(124,58,237,.15); }
.ag-ft-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.3fr; gap:48px; margin-bottom:48px; }
.ag-ft-brand-logo img { height:38px; margin-bottom:16px; }
.ag-ft-brand-desc { color:#5a4a7a; font-size:.86rem; line-height:1.72; margin-bottom:20px; }
.ag-ft-socials { display:flex; gap:10px; }
.ag-soc { width:36px; height:36px; border-radius:9px; border:1px solid rgba(124,58,237,.2); display:flex; align-items:center; justify-content:center; color:#7C3AED; background:rgba(124,58,237,.06); transition:all .2s; }
.ag-soc:hover { border-color:var(--blue); background:var(--blue); color:white; }
.ag-soc svg { width:16px; height:16px; }
.ag-ft-col h4 { color:#1a0a3c; font-family:'Sora',sans-serif; font-weight:700; font-size:.88rem; margin-bottom:18px; }
.ag-ft-col ul { list-style:none; padding:0; margin:0; }
.ag-ft-col ul li { margin-bottom:10px; }
.ag-ft-col ul li a { color:#5a4a7a; font-size:.86rem; transition:color .2s; }
.ag-ft-col ul li a:hover { color:var(--blue); }
.ag-ft-addr { font-size:.81rem; line-height:1.72; color:#5a4a7a; }
.ag-ft-addr strong { color:#3d206e; display:block; margin-bottom:3px; font-size:.83rem; }
.ag-ft-addr .addr-block { margin-bottom:18px; }
.ag-ft-bottom { border-top:1px solid rgba(124,58,237,.15); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:.81rem; color:#7a6a9a; }
.ag-ft-bottom a { color:#7a6a9a; transition:color .2s; }
.ag-ft-bottom a:hover { color:var(--blue); }
.ag-ft-links { display:flex; gap:20px; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:960px) {
  .ag-hero-panel    { display:none !important; }
  .ag-hero-content  { width:100% !important; max-width:100% !important; }
  .ag-why-grid      { grid-template-columns:1fr; }
  .ag-benefits-grid { grid-template-columns:1fr 1fr; }
  .ag-off-grid      { grid-template-columns:1fr 1fr; }
  .ag-testi-grid    { grid-template-columns:1fr; }
  .ag-how-grid      { grid-template-columns:1fr 1fr; }
  .ag-how-line      { display:none; }
  .ag-stats-grid    { grid-template-columns:1fr 1fr; }
  .ag-ft-grid       { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
  .ag-benefits-grid { grid-template-columns:1fr; }
  .ag-off-grid      { grid-template-columns:1fr; }
  .ag-how-grid      { grid-template-columns:1fr; }
  .ag-stats-grid    { grid-template-columns:1fr; }
  .ag-ft-grid       { grid-template-columns:1fr; }
  .ag-hero-stats    { gap:24px; }
  .ag-cta-box       { padding:40px 24px; }
}

/* ================================================================
   MOBILE NAV
   ================================================================ */
.ag-hamburger { display:none !important; }
.ag-mobile-menu { visibility:hidden; position:fixed; top:0; right:-100%; width:82%; max-width:340px; height:100vh; background:white; z-index:2000; box-shadow:-8px 0 40px rgba(124,58,237,.18); transition:right .35s cubic-bezier(.16,1,.3,1); overflow-y:auto; }
.ag-mobile-menu.active { right:0 !important; visibility:visible !important; }
.ag-mobile-overlay { display:none; position:fixed; inset:0; background:rgba(45,27,105,.45); z-index:1999; opacity:0; }
.ag-mobile-overlay.active { display:block !important; opacity:1 !important; }
.ag-mobile-menu-inner { padding:20px 24px 40px; display:flex; flex-direction:column; }
.ag-mobile-close { align-self:flex-end; background:var(--blue-light); border:none; color:var(--blue); font-size:1rem; font-weight:700; width:36px; height:36px; border-radius:8px; cursor:pointer; margin-bottom:20px; display:flex; align-items:center; justify-content:center; }
.ag-mobile-links { list-style:none !important; padding:0 !important; margin:0 !important; display:flex !important; flex-direction:column !important; gap:2px !important; }
.ag-mobile-links li { list-style:none !important; }
.ag-mobile-links > li > a { display:block !important; padding:12px 14px !important; border-radius:10px !important; color:var(--dark) !important; font-size:.95rem !important; font-weight:600 !important; text-decoration:none !important; transition:all .2s !important; }
.ag-mobile-links > li > a:hover { background:var(--blue-light) !important; color:var(--blue) !important; }
.ag-mobile-links .sub-menu { list-style:none !important; padding:0 !important; margin:2px 0 6px 16px !important; border-left:2px solid var(--border) !important; display:flex !important; flex-direction:column !important; gap:1px !important; }
.ag-mobile-links .sub-menu li a { display:block !important; padding:9px 14px !important; border-radius:8px !important; font-size:.86rem !important; font-weight:500 !important; color:var(--text-light) !important; text-decoration:none !important; }
.ag-mobile-links .sub-menu li a:hover { color:var(--blue) !important; background:var(--blue-light) !important; }
.ag-mobile-menu-inner .ag-btn-primary { display:flex !important; justify-content:center !important; margin-top:20px !important; width:100% !important; }

@media(max-width:960px) {
  .ag-nav-links        { display:none !important; }
  .ag-nav-cta-desktop  { display:none !important; }
  .ag-hamburger {
    display:flex !important; flex-direction:column !important;
    justify-content:center !important; align-items:center !important;
    gap:5px !important; width:40px !important; height:40px !important;
    background:none !important; border:none !important;
    cursor:pointer !important; padding:4px !important; border-radius:8px !important;
  }
  .ag-hamburger span { display:block !important; width:24px !important; height:2.5px !important; background:var(--dark) !important; border-radius:2px !important; }
  .ag-mobile-menu { visibility:visible; display:block !important; }
  .ag-mobile-overlay { display:block !important; }
}

/* ================================================================
   SECTION CLIP FIX — prevents all sections from being clipped
   ================================================================ */
.ag-stats-bar,
.ag-erp-section,
.ag-why-wrap,
.ag-off-section,
.ag-how-section,
.ag-testi-section,
.ag-trusted,
.ag-cta-wrap,
.ag-footer {
  overflow: visible !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* Stats bar needs overflow hidden for the radial gradient */
.ag-stats-bar { overflow: hidden !important; }

/* Ensure proper padding on all sections */
.ag-stats-bar  { padding: 88px 6% !important; }
.ag-erp-section { padding: 88px 6% !important; }

/* ================================================================
   WHY APPGLIDE — ANIMATION PANEL
   ================================================================ */
.ag-why-anim-wrap {
  position: relative;
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(124,58,237,.18);
  background: #ffffff;
  aspect-ratio: 16 / 10;
  min-height: 360px;
  border: 1px solid var(--border);
}
.ag-anim-stage-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 24px;
}
.ag-anim-stage {
  position: absolute;
  left: 50%; top: 50%;
  width: 1920px; height: 1080px;
  transform-origin: center center;
  transform: translate(-50%,-50%) scale(0.3);
  --a: 15s linear infinite both;
  --sd: 0s;
}

/* Grid alignment fix */
.ag-why-grid {
  align-items: stretch !important;
}

@media(max-width:960px) {
  .ag-why-anim-wrap {
    min-height: 280px;
    aspect-ratio: 16 / 10;
  }
}

/* ── Blog single post — remove Hello Elementor container width constraints ── */
body.single-post .site,
body.single-post .site-content,
body.single-post #content,
body.single-post .site-main,
body.single-post main,
body.single-post article.post,
body.single-post .entry-content,
body.single-post .page-content,
body.single-post .hentry {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
}
body.single-post .page-header,
body.single-post .page-title { display: none !important; }

/* ── Blog listing page — same fix ── */
body.page-template-page-blog .site,
body.page-template-page-blog #content,
body.page-template-page-blog .site-main,
body.page-template-page-blog .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ================================================================
   SINGLE POST — Kill Hello Elementor auto-injected featured image
   Our single.php places the image manually in the correct position
   ================================================================ */
body.single-post .post-thumbnail,
body.single-post .entry-thumbnail,
body.single-post figure.post-thumbnail,
body.single-post .wp-post-image,
body.single-post img.wp-post-image,
body.single-post img.attachment-post-thumbnail,
body.single-post .post-thumbnail img,
body.single-post .featured-image,
body.single-post .hentry .post-thumbnail,
body.single-post article.hentry > figure,
body.single-post article.hentry > img,
body.single-post .site-main figure.post-thumbnail,
body.single-post .page-header .post-thumbnail {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Make sure the hero section spans 100% width on single posts */
body.single-post .b-hero,
body.single-post .b-feat-wrap,
body.single-post .b-layout,
body.single-post .b-related,
body.single-post .b-newsletter {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}

/* ── Kill Hello Elementor thumbnail injection on single posts (final) ── */
body.single-post .post-thumbnail,
body.single-post .entry-thumbnail,
body.single-post figure.post-thumbnail,
body.single-post img.wp-post-image,
body.single-post .wp-post-image,
body.single-post .hentry > .post-thumbnail,
body.single-post .hentry > figure,
body.single-post article > img,
body.single-post article > figure:not(.b-hero-img-col figure),
body.single-post .site-content > img,
body.single-post .page-content > img {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}
