/* =========================================================
   Vasu Elementor Addon — Widget Styles
   Exact match to AI Agency design
   ========================================================= */

/* ── CSS Variables (Dark Theme) ───────────────────────── */
.elementor-widget[class*="vasu-aiagency"],
.elementor-widget-vasu-featured-products {
    --bg-dark:         hsl(220, 25%, 7%);
    --bg-card:         hsla(220, 20%, 12%, 0.70);
    --bg-card-hover:   hsla(220, 20%, 16%, 0.85);
    --border-color:    rgba(255,255,255,0.08);
    --border-hover:    rgba(255,255,255,0.15);
    --text-main:       hsl(220, 15%, 85%);
    --text-heading:    hsl(0, 0%, 100%);
    --text-muted:      hsl(220, 10%, 65%);
    --accent-blue:     hsl(195, 100%, 50%);
    --accent-purple:   hsl(270, 95%, 65%);
    --gradient-accent: linear-gradient(135deg, hsl(195,100%,50%) 0%, hsl(270,95%,65%) 100%);
    --glow-shadow:     0 8px 32px 0 rgba(0,0,0,0.37);
    --transition:      all 0.4s cubic-bezier(0.165,0.84,0.44,1);
    --radius-card:     16px;
    --radius-lg:       20px;
}

/* ── Base Wrapper ─────────────────────────────────────── */
.vasu-section {
    width: 100%;
    color: var(--text-main);
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
}

.vasu-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
}

/* ── Typography ───────────────────────────────────────── */
.vasu-eyebrow {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--accent-blue);
    display: block;
    margin-bottom: 16px;
}

.vasu-heading {
    font-family: 'Outfit', sans-serif;
    color: var(--text-heading);
    font-weight: 700;
    line-height: 1.2;
}

.vasu-heading-xl  { font-size: clamp(36px, 5vw, 56px); letter-spacing: -1px; }
.vasu-heading-lg  { font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.5px; }
.vasu-heading-md  { font-size: clamp(22px, 3vw, 32px); }
.vasu-heading-sm  { font-size: 20px; }

.vasu-text-muted  { color: var(--text-muted); }
.vasu-text-main   { color: var(--text-main); }
.vasu-text-white  { color: var(--text-heading); }

.vasu-gradient-text {
    background: var(--gradient-accent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.vasu-lead {
    font-size: 17px;
    color: var(--text-muted);
    line-height: 1.75;
}

.vasu-body {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.7;
}

/* ── Buttons ──────────────────────────────────────────── */
.vasu-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 30px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    border: 1px solid transparent;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
}

.vasu-btn-primary {
    background: var(--gradient-accent);
    color: #fff;
}
.vasu-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(155,81,224,0.45);
    color: #fff;
}

.vasu-btn-dark {
    background-color: var(--text-heading);
    color: var(--bg-dark);
}
.vasu-btn-dark:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(255,255,255,0.2);
    color: var(--bg-dark);
}

.vasu-btn-ghost {
    background: rgba(255,255,255,0.05);
    color: var(--text-main);
    border-color: var(--border-color);
}
.vasu-btn-ghost:hover {
    background: rgba(255,255,255,0.1);
    border-color: var(--border-hover);
    transform: translateY(-1px);
    color: var(--text-heading);
}

.vasu-btn-sm { padding: 9px 20px; font-size: 13px; }
.vasu-btn-lg { padding: 16px 36px; font-size: 15px; }

.vasu-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-muted);
    text-decoration: none;
    transition: var(--transition);
}
.vasu-link:hover { color: var(--text-heading); gap: 10px; }

/* ── Cards ────────────────────────────────────────────── */
.vasu-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-card);
    transition: var(--transition);
    backdrop-filter: blur(12px);
}
.vasu-card:hover {
    background: var(--bg-card-hover);
    border-color: var(--border-hover);
    transform: translateY(-4px);
    box-shadow: var(--glow-shadow);
}

.vasu-card-pad    { padding: 40px; }
.vasu-card-pad-md { padding: 28px; }
.vasu-card-pad-sm { padding: 20px; }

/* ── Grid Layouts ─────────────────────────────────────── */
.vasu-grid { display: grid; gap: 30px; }
.vasu-grid-2 { grid-template-columns: repeat(2, 1fr); }
.vasu-grid-3 { grid-template-columns: repeat(3, 1fr); }
.vasu-grid-4 { grid-template-columns: repeat(4, 1fr); }
.vasu-grid-auto { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

/* ── Flex Utilities ───────────────────────────────────── */
.vasu-flex         { display: flex; }
.vasu-flex-center  { display: flex; align-items: center; }
.vasu-flex-between { display: flex; align-items: center; justify-content: space-between; }
.vasu-flex-col     { display: flex; flex-direction: column; }
.vasu-flex-wrap    { flex-wrap: wrap; }
.vasu-gap-8  { gap: 8px;  }
.vasu-gap-12 { gap: 12px; }
.vasu-gap-16 { gap: 16px; }
.vasu-gap-20 { gap: 20px; }
.vasu-gap-30 { gap: 30px; }
.vasu-gap-40 { gap: 40px; }
.vasu-gap-60 { gap: 60px; }

/* ── Section Divider ──────────────────────────────────── */
.vasu-divider {
    border: 0;
    height: 1px;
    background: var(--border-color);
    margin: 30px 0;
}

/* ── Badge / Tag ──────────────────────────────────────── */
.vasu-badge {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.vasu-badge-accent { background: var(--gradient-accent); color: #fff; }
.vasu-badge-blue   { background: rgba(6,147,227,0.15); color: var(--accent-blue); border: 1px solid rgba(6,147,227,0.25); }
.vasu-badge-dark   { background: rgba(255,255,255,0.07); color: var(--text-muted); border: 1px solid var(--border-color); }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: HERO BANNER                               ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-hero-section {
    position: relative;
    padding: 100px 0;
    background-color: var(--bg-dark);
    overflow: hidden;
}
.vasu-hero-glow {
    position: absolute;
    width: 560px; height: 560px;
    background: radial-gradient(circle, rgba(6,147,227,0.15) 0%, rgba(155,81,224,0.05) 50%, transparent 100%);
    top: 40px; right: 5%;
    pointer-events: none;
    filter: blur(80px);
}
.vasu-hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.vasu-hero-heading { font-size: clamp(40px, 5vw, 58px); letter-spacing: -1.5px; margin: 20px 0 28px; }
.vasu-hero-btns    { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 36px; }
.vasu-hero-img-wrap { position: relative; }
.vasu-hero-img-wrap img { width: 100%; border-radius: var(--radius-lg); border: 1px solid var(--border-color); box-shadow: var(--glow-shadow); }
.vasu-hero-badge-float {
    position: absolute; bottom: -24px; left: -16px;
    background: rgba(18,22,42,0.9);
    backdrop-filter: blur(16px);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 16px 20px;
    min-width: 180px;
}
.vasu-hero-badge-float .num { font-family: 'Outfit',sans-serif; font-size: 22px; font-weight: 800; color: var(--accent-blue); }
.vasu-hero-badge-float .lbl { font-size: 12px; color: var(--text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: ABOUT / INTRO (2-col)                     ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-about-section { padding: 100px 0; background: var(--bg-dark); }
.vasu-about-inner   { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.vasu-about-inner.img-left { direction: rtl; }
.vasu-about-inner.img-left > * { direction: ltr; }
.vasu-about-img { position: relative; }
.vasu-about-img img { width: 100%; border-radius: var(--radius-lg); border: 1px solid var(--border-color); box-shadow: var(--glow-shadow); }
.vasu-about-badge {
    position: absolute; bottom: 20px; left: 20px;
    background: rgba(18,22,42,0.9); backdrop-filter: blur(16px);
    border: 1px solid var(--border-color); border-radius: 12px; padding: 14px 18px;
}
.vasu-bullet-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.vasu-bullet-list li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--text-main); }
.vasu-bullet-check { width: 18px; height: 18px; border-radius: 50%; background: rgba(6,147,227,0.15); border: 1px solid rgba(6,147,227,0.3); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--accent-blue); font-size: 10px; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: CLIENT LOGOS MARQUEE                      ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-clients-section {
    padding: 60px 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    background: rgba(255,255,255,0.01);
    overflow: hidden;
}
.vasu-clients-label {
    font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px;
    color: var(--text-muted); margin-bottom: 32px; font-weight: 600;
    text-align: center;
}
.vasu-marquee-wrap { overflow: hidden; width: 100%; }
.vasu-marquee-track {
    display: flex; width: max-content; align-items: center; gap: 60px;
    animation: vasuMarquee var(--marquee-speed, 30s) linear infinite;
}
.vasu-marquee-track:hover { animation-play-state: paused; }
.vasu-marquee-track img { height: 36px; width: auto; opacity: 0.5; filter: brightness(0) invert(1); transition: var(--transition); }
.vasu-marquee-track img:hover { opacity: 0.9; }
@keyframes vasuMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: STATS / COUNTERS                          ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-stats-section { padding: 100px 0; background: var(--bg-dark); }
.vasu-stats-header  { text-align: center; margin-bottom: 64px; }
.vasu-stats-grid    { display: grid; gap: 30px; }
.vasu-stat-card { padding: 36px; }
.vasu-stat-number {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(44px, 5vw, 64px);
    font-weight: 900;
    background: var(--gradient-accent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: 12px;
}
.vasu-stat-label { font-size: 16px; font-weight: 700; color: var(--text-heading); margin-bottom: 8px; }
.vasu-stat-desc  { font-size: 13px; color: var(--text-muted); line-height: 1.6; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: SERVICES GRID                             ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-services-section { padding: 100px 0; background: rgba(255,255,255,0.01); }
.vasu-services-header  { text-align: center; margin-bottom: 56px; }
.vasu-service-card { padding: 36px; display: flex; flex-direction: column; }
.vasu-service-icon-wrap {
    width: 52px; height: 52px; border-radius: 12px;
    background: rgba(6,147,227,0.1); border: 1px solid rgba(6,147,227,0.2);
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 20px; color: var(--accent-blue);
}
.vasu-service-title { font-size: 18px; font-weight: 700; color: var(--text-heading); margin-bottom: 12px; font-family: 'Outfit', sans-serif; }
.vasu-service-desc  { font-size: 14px; color: var(--text-muted); line-height: 1.65; flex: 1; margin-bottom: 20px; }
.vasu-service-link  { font-size: 13px; font-weight: 600; color: var(--accent-blue); display: inline-flex; align-items: center; gap: 5px; margin-top: auto; text-decoration: none; transition: var(--transition); }
.vasu-service-link:hover { gap: 10px; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: FEATURES HIGHLIGHT (2-col)               ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-fhlight-section { padding: 100px 0; background: var(--bg-dark); }
.vasu-fhlight-inner   { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.vasu-fhlight-img img { width: 100%; border-radius: var(--radius-lg); border: 1px solid var(--border-color); box-shadow: var(--glow-shadow); }
.vasu-fhlight-feat { display: flex; gap: 20px; align-items: flex-start; padding: 20px; border-radius: 12px; transition: var(--transition); }
.vasu-fhlight-feat:hover { background: rgba(255,255,255,0.03); }
.vasu-fhlight-num { font-family: 'Outfit',sans-serif; font-size: 36px; font-weight: 900; background: var(--gradient-accent); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1; flex-shrink: 0; min-width: 56px; }
.vasu-fhlight-feat-title { font-size: 15px; font-weight: 700; color: var(--text-heading); margin-bottom: 6px; font-family: 'Outfit',sans-serif; }
.vasu-fhlight-feat-desc  { font-size: 13px; color: var(--text-muted); line-height: 1.6; }
.vasu-fhlight-feat-link  { font-size: 12px; font-weight: 600; color: var(--accent-blue); text-decoration: none; margin-top: 6px; display: inline-flex; align-items: center; gap: 4px; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: FEATURES GRID (icon cards)               ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-featgrid-section { padding: 100px 0; background: rgba(255,255,255,0.01); }
.vasu-featgrid-header  { margin-bottom: 56px; }
.vasu-featgrid-card    { padding: 36px; display: flex; flex-direction: column; }
.vasu-featgrid-icon-box {
    width: 52px; height: 52px; border-radius: 12px;
    background: rgba(6,147,227,0.1); border: 1px solid rgba(6,147,227,0.2);
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 20px; color: var(--accent-blue); font-size: 22px;
}
.vasu-featgrid-card-title { font-size: 17px; font-weight: 700; color: var(--text-heading); margin-bottom: 10px; font-family: 'Outfit',sans-serif; }
.vasu-featgrid-card-desc  { font-size: 13px; color: var(--text-muted); line-height: 1.65; flex: 1; margin-bottom: 16px; }
.vasu-featgrid-card-link  { font-size: 13px; font-weight: 600; color: var(--accent-blue); display: inline-flex; align-items: center; gap: 5px; text-decoration: none; margin-top: auto; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: COUNTER + PROGRESS BARS                  ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-ctrprog-section { padding: 100px 0; background: var(--bg-dark); }
.vasu-ctrprog-inner   { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.vasu-ctrprog-bignum  { font-family: 'Outfit',sans-serif; font-size: clamp(60px,8vw,90px); font-weight: 900; background: var(--gradient-accent); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1; }
.vasu-ctrprog-biglabel { font-size: 13px; color: var(--text-muted); margin-top: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.vasu-prog-item   { margin-bottom: 24px; }
.vasu-prog-header { display: flex; justify-content: space-between; margin-bottom: 8px; }
.vasu-prog-label  { font-size: 14px; font-weight: 600; color: var(--text-main); }
.vasu-prog-pct    { font-size: 13px; font-weight: 700; color: var(--text-muted); }
.vasu-prog-track  { height: 6px; background: rgba(255,255,255,0.08); border-radius: 3px; overflow: hidden; }
.vasu-prog-fill   { height: 100%; background: rgba(255,255,255,0.2); border-radius: 3px; width: 0%; transition: width 1.4s cubic-bezier(0.4,0,0.2,1); }
.vasu-prog-fill.is-us { background: var(--gradient-accent); }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: MISSION                                   ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-mission-section      { padding: 100px 0; background: rgba(255,255,255,0.01); }
.vasu-mission-header       { max-width: 720px; text-align: center; margin: 0 auto 56px; }
.vasu-mission-split        { display: grid; grid-template-columns: 1fr 1.5fr; gap: 60px; align-items: start; }
.vasu-mission-pillars-grid { display: grid; gap: 20px; }
.vasu-mission-card         { padding: 28px; }
.vasu-mission-icon {
    width: 48px; height: 48px; border-radius: 12px;
    background: rgba(6,147,227,0.1); border: 1px solid rgba(6,147,227,0.2);
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 16px; color: var(--accent-blue); font-size: 20px;
}
.vasu-mission-card-title { font-size: 15px; font-weight: 700; color: var(--text-heading); margin-bottom: 8px; font-family: 'Outfit',sans-serif; }
.vasu-mission-card-desc  { font-size: 13px; color: var(--text-muted); line-height: 1.65; margin: 0; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: CASE STUDIES (tabs)                      ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-cs-section { padding: 100px 0; background: var(--bg-dark); }
.vasu-cs-header  { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 36px; }
.vasu-cs-tabs    { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 36px; }
.vasu-cs-tab {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 15px; font-weight: 600;
    cursor: pointer; padding: 8px 0;
    position: relative; transition: var(--transition);
    font-family: 'Inter', sans-serif;
}
.vasu-cs-tab::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--accent-blue); transition: var(--transition); }
.vasu-cs-tab.active  { color: var(--text-heading); }
.vasu-cs-tab.active::after { width: 100%; }
.vasu-cs-tab + .vasu-cs-tab { margin-left: 28px; }
.vasu-cs-grid  { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 30px; }
.vasu-cs-card  { overflow: hidden; }
.vasu-cs-img   { overflow: hidden; }
.vasu-cs-img img { width: 100%; height: 240px; object-fit: cover; display: block; transition: var(--transition); }
.vasu-cs-card:hover .vasu-cs-img img { transform: scale(1.04); }
.vasu-cs-body  { padding: 28px; }
.vasu-cs-tag   { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--accent-blue); display: block; margin-bottom: 10px; }
.vasu-cs-title { font-size: 20px; font-weight: 700; color: var(--text-heading); margin-bottom: 14px; font-family: 'Outfit',sans-serif; }
.vasu-cs-desc  { font-size: 14px; color: var(--text-muted); margin-bottom: 24px; line-height: 1.65; }
.vasu-cs-result { display: flex; align-items: baseline; gap: 8px; margin-bottom: 20px; }
.vasu-cs-result-num { font-family: 'Outfit',sans-serif; font-size: 28px; font-weight: 900; background: var(--gradient-accent); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.vasu-cs-result-lbl { font-size: 13px; color: var(--text-muted); }
.vasu-cs-meta { display: grid; grid-template-columns: repeat(3,1fr) auto; gap: 16px; border-top: 1px solid var(--border-color); padding-top: 20px; align-items: center; }
.vasu-cs-meta-label { font-size: 11px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.vasu-cs-meta-value { font-size: 13px; font-weight: 600; color: var(--text-heading); }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: PORTFOLIO GRID                            ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-portfolio-section { padding: 100px 0; background: rgba(255,255,255,0.01); }
.vasu-portfolio-header  { text-align: center; margin-bottom: 50px; }
.vasu-portfolio-filters { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.vasu-filter-btn {
    background: rgba(255,255,255,0.04); border: 1px solid var(--border-color);
    color: var(--text-main); padding: 8px 22px; border-radius: 20px;
    cursor: pointer; font-weight: 600; font-size: 14px;
    transition: var(--transition); font-family: 'Inter', sans-serif;
}
.vasu-filter-btn.active, .vasu-filter-btn:hover { background: var(--text-heading); color: var(--bg-dark); border-color: var(--text-heading); }
.vasu-portfolio-grid { display: grid; gap: 28px; }
.vasu-portfolio-item { border-radius: var(--radius-card); overflow: hidden; border: 1px solid var(--border-color); transition: var(--transition); }
.vasu-portfolio-item:hover { transform: translateY(-4px); box-shadow: var(--glow-shadow); }
.vasu-portfolio-img  { position: relative; overflow: hidden; }
.vasu-portfolio-img img { width: 100%; height: 260px; object-fit: cover; display: block; transition: var(--transition); }
.vasu-portfolio-item:hover .vasu-portfolio-img img { transform: scale(1.05); }
.vasu-portfolio-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 20px; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 100%); }
.vasu-portfolio-tag   { display: inline-block; background: rgba(255,255,255,0.15); backdrop-filter: blur(8px); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 4px 12px; border-radius: 20px; margin-bottom: 6px; }
.vasu-portfolio-title { font-size: 16px; font-weight: 700; color: #fff; margin: 0; }
.vasu-portfolio-body  { padding: 20px; background: var(--bg-card); }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: CTA BANNER                                ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-cta-section { padding: 100px 0; }
.vasu-cta-inner   { max-width: 800px; margin: 0 auto; text-align: center; }
.vasu-cta-inner.align-left { text-align: left; margin: 0; max-width: none; }
.vasu-cta-split   { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.vasu-cta-btns    { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
.vasu-cta-btns.justify-center { justify-content: center; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: TESTIMONIALS                              ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-testi-section { padding: 100px 0; background: rgba(255,255,255,0.01); }
.vasu-testi-header  { text-align: center; margin-bottom: 56px; }
.vasu-testi-grid    { display: grid; gap: 28px; }
.vasu-testi-slider  { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 28px; padding-bottom: 8px; }
.vasu-testi-slider::-webkit-scrollbar { display: none; }
.vasu-testi-card    { padding: 36px; display: flex; flex-direction: column; }
.vasu-testi-slider .vasu-testi-card { flex: 0 0 340px; scroll-snap-align: start; }
.vasu-testi-stars   { display: flex; gap: 4px; margin-bottom: 20px; color: #fbbf24; font-size: 16px; }
.vasu-testi-quote   { font-size: 15px; line-height: 1.75; color: var(--text-heading); font-style: italic; flex: 1; margin-bottom: 28px; }
.vasu-testi-author  { display: flex; align-items: center; gap: 14px; }
.vasu-testi-avatar  { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid var(--border-color); }
.vasu-testi-name    { font-size: 15px; font-weight: 700; color: var(--text-heading); }
.vasu-testi-role    { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.vasu-testi-logo    { height: 24px; width: auto; opacity: 0.5; margin-left: auto; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: QUOTE BANNER (mini)                      ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-miniquote-section { padding: 80px 0; background: var(--bg-dark); }
.vasu-miniquote-inner   { max-width: 900px; margin: 0 auto; text-align: center; }
.vasu-miniquote-text    { font-family: 'Outfit',sans-serif; font-size: clamp(22px,3.5vw,36px); font-weight: 700; color: var(--text-heading); line-height: 1.3; margin-bottom: 36px; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: BLOG POSTS                               ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-blog-section { padding: 100px 0; background: rgba(255,255,255,0.01); }
.vasu-blog-header  { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 44px; }
.vasu-blog-grid    { display: grid; gap: 28px; }
.vasu-blog-card    { overflow: hidden; }
.vasu-blog-img img { width: 100%; height: 220px; object-fit: cover; display: block; transition: var(--transition); }
.vasu-blog-card:hover .vasu-blog-img img { transform: scale(1.04); }
.vasu-blog-body    { padding: 24px; background: var(--bg-card); }
.vasu-blog-cat     { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--accent-blue); letter-spacing: 0.5px; display: block; margin-bottom: 10px; }
.vasu-blog-title   { font-size: 17px; font-weight: 700; color: var(--text-heading); margin-bottom: 14px; font-family: 'Outfit',sans-serif; line-height: 1.4; }
.vasu-blog-meta    { font-size: 12px; color: var(--text-muted); margin-bottom: 16px; }
.vasu-blog-excerpt { font-size: 13px; color: var(--text-muted); line-height: 1.65; margin-bottom: 16px; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: PERFORMANCE (2-col, icon list)           ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-perf-section { padding: 100px 0; background: var(--bg-dark); }
.vasu-perf-inner   { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.vasu-perf-img img { width: 100%; border-radius: var(--radius-lg); border: 1px solid var(--border-color); box-shadow: var(--glow-shadow); }
.vasu-perf-items   { display: flex; flex-direction: column; gap: 28px; margin: 28px 0; }
.vasu-perf-item    { display: flex; gap: 18px; align-items: flex-start; }
.vasu-perf-item-icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(6,147,227,0.1); border: 1px solid rgba(6,147,227,0.2); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--accent-blue); font-size: 18px; }
.vasu-perf-item-title { font-size: 15px; font-weight: 700; color: var(--text-heading); margin-bottom: 5px; font-family: 'Outfit',sans-serif; }
.vasu-perf-item-desc  { font-size: 13px; color: var(--text-muted); line-height: 1.6; margin: 0; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: LAUNCH CTA + CERTS                       ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-launch-section { padding: 100px 0; background: var(--bg-dark); }
.vasu-launch-inner   { max-width: 800px; margin: 0 auto; text-align: center; }
.vasu-launch-nav     { display: flex; gap: 28px; justify-content: center; flex-wrap: wrap; margin: 24px 0; }
.vasu-launch-nav a   { font-size: 14px; font-weight: 600; color: var(--text-muted); text-decoration: none; transition: var(--transition); }
.vasu-launch-nav a:hover { color: var(--text-heading); }
.vasu-launch-btns    { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 32px 0 48px; }
.vasu-certs-label    { font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-muted); font-weight: 600; margin-bottom: 20px; }
.vasu-certs-logos    { display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap; }
.vasu-certs-logos img { height: 40px; width: auto; object-fit: contain; opacity: 0.6; transition: var(--transition); filter: brightness(0) invert(1); }
.vasu-certs-logos img:hover { opacity: 0.9; }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: CONTACT                                   ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-contact-section { padding: 100px 0; background: rgba(255,255,255,0.01); }
.vasu-contact-inner   { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: start; }
.vasu-contact-info-cards { display: flex; flex-direction: column; gap: 20px; }
.vasu-contact-card    { padding: 24px; }
.vasu-contact-card-icon { width: 40px; height: 40px; border-radius: 10px; background: rgba(6,147,227,0.1); border: 1px solid rgba(6,147,227,0.2); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 14px; color: var(--accent-blue); font-size: 16px; }
.vasu-contact-card-label { font-size: 15px; font-weight: 700; color: var(--text-heading); margin-bottom: 4px; }
.vasu-contact-card-sub   { font-size: 12px; color: var(--text-muted); margin-bottom: 10px; }
.vasu-contact-card-value { font-size: 14px; font-weight: 700; color: var(--text-heading); text-decoration: none; display: block; }

/* Contact Form */
.vasu-contact-form { display: flex; flex-direction: column; gap: 16px; }
.vasu-form-row     { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vasu-form-group   { display: flex; flex-direction: column; }
.vasu-form-label   { font-size: 12px; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.vasu-form-input, .vasu-form-textarea, .vasu-form-select {
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--border-color);
    color: var(--text-main);
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    width: 100%;
    transition: var(--transition);
    outline: none;
}
.vasu-form-input:focus, .vasu-form-textarea:focus, .vasu-form-select:focus { border-color: var(--accent-blue); background: rgba(6,147,227,0.04); }
.vasu-form-textarea { resize: vertical; min-height: 120px; }
.vasu-form-select   { appearance: none; }
.vasu-form-submit {
    background: var(--gradient-accent); color: #fff;
    border: none; border-radius: 30px;
    padding: 14px 28px; font-size: 15px; font-weight: 600;
    cursor: pointer; transition: var(--transition);
    font-family: 'Inter', sans-serif; width: 100%;
    display: flex; align-items: center; justify-content: center; gap: 8px;
}
.vasu-form-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(155,81,224,0.4); }

/* ╔══════════════════════════════════════════════════════╗
   ║  SECTION: FOOTER                                    ║
   ╚══════════════════════════════════════════════════════╝ */
.vasu-footer-section { padding: 100px 0 0; border-top: 1px solid var(--border-color); background: var(--bg-dark); }
.vasu-footer-main    { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 40px; padding-bottom: 60px; border-bottom: 1px solid var(--border-color); }
.vasu-footer-logo    { height: 28px; width: auto; margin-bottom: 18px; display: block; }
.vasu-footer-desc    { font-size: 14px; color: var(--text-muted); margin-bottom: 28px; line-height: 1.65; }
.vasu-footer-email   { font-size: 14px; font-weight: 600; color: var(--text-heading); text-decoration: none; display: block; margin-bottom: 20px; }
.vasu-footer-socials { display: flex; gap: 10px; }
.vasu-footer-social  { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.05); border: 1px solid var(--border-color); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: var(--text-muted); transition: var(--transition); }
.vasu-footer-social:hover { background: rgba(255,255,255,0.1); color: var(--text-heading); }
.vasu-footer-col-heading { font-size: 15px; font-weight: 700; color: var(--text-heading); margin-bottom: 22px; font-family: 'Outfit',sans-serif; }
.vasu-footer-links   { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.vasu-footer-links a { font-size: 14px; color: var(--text-muted); text-decoration: none; transition: var(--transition); }
.vasu-footer-links a:hover { color: var(--text-heading); }
.vasu-footer-bottom  { display: flex; align-items: center; justify-content: space-between; padding: 28px 0; font-size: 12px; color: var(--text-muted); flex-wrap: wrap; gap: 12px; }
.vasu-footer-bottom-links a { color: var(--text-muted); text-decoration: none; margin-left: 20px; transition: var(--transition); }
.vasu-footer-bottom-links a:hover { color: var(--text-heading); }

/* ╔══════════════════════════════════════════════════════╗
   ║  RESPONSIVE                                         ║
   ╚══════════════════════════════════════════════════════╝ */
@media (max-width: 1024px) {
    .vasu-hero-inner, .vasu-about-inner, .vasu-fhlight-inner,
    .vasu-ctrprog-inner, .vasu-perf-inner, .vasu-contact-inner { grid-template-columns: 1fr; gap: 40px; }
    .vasu-about-inner.img-left { direction: ltr; }
    .vasu-grid-3, .vasu-grid-4 { grid-template-columns: repeat(2,1fr); }
    .vasu-footer-main { grid-template-columns: repeat(2,1fr); }
    .vasu-mission-split { grid-template-columns: 1fr; }
    .vasu-cs-meta { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
    .vasu-hero-inner, .vasu-about-inner, .vasu-grid-2, .vasu-grid-3, .vasu-grid-4,
    .vasu-fhlight-inner, .vasu-ctrprog-inner, .vasu-perf-inner, .vasu-contact-inner,
    .vasu-footer-main { grid-template-columns: 1fr; }
    .vasu-hero-heading { font-size: 36px; }
    .vasu-form-row { grid-template-columns: 1fr; }
}

/* ─── Legacy class compatibility (older widget builds) ─ */
.aiagency-hero-section, .aia-hero-section         { background: var(--bg-dark); padding: 100px 0; }
.aiagency-clients-section, .aia-clients-section   { padding: 60px 0; border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); background: rgba(255,255,255,0.01); overflow:hidden; }
.aiagency-stats-section, .aia-stats-section       { background: var(--bg-dark); padding: 100px 0; }
.aiagency-services-section, .aia-services-section { background: rgba(255,255,255,0.01); padding: 100px 0; }
.aiagency-about-section, .aia-about-section       { background: var(--bg-dark); padding: 100px 0; }
.aiagency-cs-section, .aia-cs-section             { background: var(--bg-dark); padding: 100px 0; }
.aiagency-testi-section, .aia-testi-section       { background: rgba(255,255,255,0.01); padding: 100px 0; }
.aiagency-blog-section, .aia-blog-section         { background: rgba(255,255,255,0.01); padding: 100px 0; }
.aiagency-cta-section, .aia-cta-section           { background: var(--bg-dark); padding: 100px 0; }
.aiagency-contact-section, .aia-contact-section   { background: rgba(255,255,255,0.01); padding: 100px 0; }
.aiagency-footer, .aia-footer-section             { background: var(--bg-dark); padding-top: 80px; border-top: 1px solid var(--border-color); }
.aiagency-mission-section, .aia-mission-section   { background: rgba(255,255,255,0.01); padding: 100px 0; }
.aiagency-portfolio-section, .aia-portfolio-section{ background: rgba(255,255,255,0.01); padding: 100px 0; }
.aiagency-perf-section, .aia-perf-section         { background: var(--bg-dark); padding: 100px 0; }
.aiagency-launch-section, .aia-launch-section     { background: var(--bg-dark); padding: 100px 0; }
.aia-ctrprog-section                              { background: var(--bg-dark); padding: 100px 0; }
.aia-fhlight-section                              { background: var(--bg-dark); padding: 100px 0; }
.aia-featgrid-section                             { background: rgba(255,255,255,0.01); padding: 100px 0; }
.aia-miniquote-section                            { background: var(--bg-dark); padding: 80px 0; }

/* Ensure the elementor widget container doesn't clip sections */
.elementor-widget[class*="vasu-aiagency"] .elementor-widget-container,
.elementor-widget-vasu-aiagency-hero .elementor-widget-container,
.elementor-widget-vasu-aiagency-clients .elementor-widget-container,
.elementor-widget-vasu-aiagency-stats .elementor-widget-container,
.elementor-widget-vasu-aiagency-services .elementor-widget-container,
.elementor-widget-vasu-aiagency-about .elementor-widget-container,
.elementor-widget-vasu-aiagency-case-studies .elementor-widget-container,
.elementor-widget-vasu-aiagency-testimonials .elementor-widget-container,
.elementor-widget-vasu-aiagency-blog .elementor-widget-container,
.elementor-widget-vasu-aiagency-cta .elementor-widget-container,
.elementor-widget-vasu-aiagency-contact .elementor-widget-container,
.elementor-widget-vasu-aiagency-footer .elementor-widget-container,
.elementor-widget-vasu-aiagency-mission .elementor-widget-container,
.elementor-widget-vasu-aiagency-portfolio .elementor-widget-container,
.elementor-widget-vasu-aiagency-performance .elementor-widget-container,
.elementor-widget-vasu-aiagency-launch-cta .elementor-widget-container,
.elementor-widget-vasu-aiagency-counter-progress .elementor-widget-container,
.elementor-widget-vasu-aiagency-features-grid .elementor-widget-container,
.elementor-widget-vasu-aiagency-features-highlight .elementor-widget-container,
.elementor-widget-vasu-aiagency-mini-testimonial .elementor-widget-container,
.elementor-widget-vasu-aiagency-stats .elementor-widget-container {
    overflow: visible !important;
    display: block !important;
}
