/* ============================================================
   VirtualCA — 2026 public-site revamp design system
   All classes are namespaced `vca-` so this file CANNOT leak
   into / break the legacy theme used by service & tool pages.
   Loaded LAST in base.html.
   ============================================================ */

:root {
    --vca-blue: #1a73e8;
    --vca-blue-d: #1557b0;
    --vca-indigo: #4f46e5;
    --vca-navy: #0e2a47;
    --vca-ink: #14233b;
    --vca-body: #5a6b87;
    --vca-orange: #f7941d;
    --vca-orange-d: #e07c08;
    --vca-bg: #ffffff;
    --vca-bg-soft: #f5f8fc;
    --vca-bg-soft2: #eef3fb;
    --vca-line: #e4ecf6;
    --vca-radius: 18px;
    --vca-radius-sm: 12px;
    --vca-shadow: 0 18px 50px -22px rgba(16, 42, 75, 0.35);
    --vca-shadow-sm: 0 8px 24px -12px rgba(16, 42, 75, 0.28);
    --vca-grad: linear-gradient(120deg, #1a73e8 0%, #4f46e5 100%);
    --vca-grad-soft: linear-gradient(160deg, #eef4ff 0%, #f6f9ff 60%, #ffffff 100%);
    --vca-font: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ---- scope reset (only inside .vca-page) ---- */
.vca-page { font-family: var(--vca-font); color: var(--vca-ink); line-height: 1.6; -webkit-font-smoothing: antialiased; }
.vca-page * { box-sizing: border-box; }
.vca-page p { color: var(--vca-body); margin: 0 0 1rem; }
.vca-page h1, .vca-page h2, .vca-page h3, .vca-page h4 { color: var(--vca-ink); font-family: var(--vca-font); font-weight: 800; line-height: 1.18; margin: 0 0 .6rem; letter-spacing: -0.02em; }
.vca-page a { text-decoration: none; }

.vca-container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.vca-section { padding: 92px 0; position: relative; }
.vca-section.is-soft { background: var(--vca-bg-soft); }
.vca-section.is-tight { padding: 64px 0; }

/* ---- shared heading block ---- */
.vca-eyebrow { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--vca-blue); background: var(--vca-bg-soft2); padding: 7px 15px; border-radius: 999px; margin-bottom: 18px; }
.vca-head { max-width: 720px; margin: 0 auto 54px; text-align: center; }
.vca-head h2 { font-size: clamp(28px, 3.4vw, 40px); }
.vca-head p { font-size: 17px; margin-bottom: 0; }
.vca-head.is-left { margin-left: 0; text-align: left; }

/* ---- buttons ---- */
.vca-btn { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; font-size: 15.5px; padding: 14px 26px; border-radius: 12px; border: 2px solid transparent; cursor: pointer; transition: transform .15s ease, box-shadow .2s ease, background .2s ease; line-height: 1; }
.vca-btn:hover { transform: translateY(-2px); }
.vca-btn-primary { background: var(--vca-orange); color: #fff; box-shadow: 0 12px 26px -10px rgba(247, 148, 29, .7); }
.vca-btn-primary:hover { background: var(--vca-orange-d); color: #fff; }
.vca-btn-dark { background: var(--vca-navy); color: #fff; }
.vca-btn-dark:hover { background: #0a2038; color: #fff; }
.vca-btn-ghost { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.5); }
.vca-btn-ghost:hover { background: rgba(255,255,255,.2); color: #fff; }
.vca-btn-outline { background: #fff; color: var(--vca-blue); border-color: var(--vca-line); }
.vca-btn-outline:hover { border-color: var(--vca-blue); color: var(--vca-blue); }

/* ============================================================
   HERO
   ============================================================ */
.vca-hero { position: relative; background: var(--vca-grad-soft); overflow: hidden; padding: 70px 0 84px; }
.vca-hero::before { content:''; position:absolute; top:-160px; right:-160px; width:520px; height:520px; background: radial-gradient(circle, rgba(79,70,229,.16), transparent 70%); border-radius:50%; }
.vca-hero::after { content:''; position:absolute; bottom:-200px; left:-140px; width:480px; height:480px; background: radial-gradient(circle, rgba(26,115,232,.12), transparent 70%); border-radius:50%; }
.vca-hero-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; }
.vca-hero-badge { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--vca-line); border-radius:999px; padding:7px 15px 7px 9px; font-size:13.5px; font-weight:600; color:var(--vca-ink); box-shadow: var(--vca-shadow-sm); margin-bottom:22px; }
.vca-hero-badge .dot { width:9px; height:9px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.18); }
.vca-hero h1 { font-size: clamp(33px, 4.4vw, 54px); line-height: 1.08; }
.vca-hero h1 .grad { background: var(--vca-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.vca-hero-sub { font-size: 18.5px; max-width: 520px; margin: 18px 0 30px; }
.vca-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 30px; }
.vca-hero-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; padding-top: 26px; border-top: 1px solid var(--vca-line); }
.vca-hero-trust .item { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; color: var(--vca-ink); }
.vca-hero-trust .stars { color: #f5a623; letter-spacing: 1px; }
.vca-hero-trust i { color: var(--vca-blue); }

/* hero visual */
.vca-hero-visual { position: relative; }
.vca-hero-visual img { width: 100%; border-radius: 22px; box-shadow: var(--vca-shadow); display: block; object-fit: cover; aspect-ratio: 4/4.4; }
.vca-hero-float { position: absolute; background: #fff; border-radius: 16px; box-shadow: var(--vca-shadow); padding: 14px 18px; display: flex; align-items: center; gap: 12px; }
.vca-hero-float.is-tl { top: 26px; left: -26px; }
.vca-hero-float.is-br { bottom: 26px; right: -22px; }
.vca-hero-float .ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; color: #fff; font-size: 18px; }
.vca-hero-float .ic.g { background: linear-gradient(135deg,#22c55e,#16a34a); }
.vca-hero-float .ic.b { background: var(--vca-grad); }
.vca-hero-float .t { font-size: 19px; font-weight: 800; color: var(--vca-ink); line-height: 1; }
.vca-hero-float .s { font-size: 12.5px; color: var(--vca-body); }

/* ---- centered hero variant (matches reference sites) ---- */
.vca-hero.is-center { text-align: center; padding: 92px 0 100px; }
.vca-hero.is-center::before { top: -180px; right: 6%; }
.vca-hero.is-center::after { bottom: -200px; left: 6%; }
.vca-hero-grid-pattern { position: absolute; inset: 0; background-image: linear-gradient(rgba(26,115,232,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(26,115,232,.06) 1px, transparent 1px); background-size: 46px 46px; -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 75%); z-index: 0; }
.vca-hero-inner { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; }
.vca-hero.is-center .vca-hero-badge { margin: 0 auto 26px; }
.vca-hero.is-center h1 { font-size: clamp(36px, 5.4vw, 62px); }
.vca-hero.is-center .vca-hero-sub { font-size: 19.5px; max-width: 660px; margin: 24px auto 34px; }
.vca-hero.is-center .vca-hero-cta { justify-content: center; margin-bottom: 0; }
.vca-hero.is-center .vca-hero-trust { justify-content: center; border-top: none; padding-top: 34px; margin-top: 12px; }
.vca-hero-badge .rate { display:inline-flex; align-items:center; gap:5px; padding-left:11px; margin-left:4px; border-left:1px solid var(--vca-line); color:#f5a623; font-weight:700; }

/* ============================================================
   STATS BAR
   ============================================================ */
.vca-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.vca-stat { text-align: center; padding: 10px; }
.vca-stat .num { font-size: clamp(30px, 3.4vw, 42px); font-weight: 800; color: var(--vca-blue); letter-spacing: -.02em; }
.vca-stat .lbl { font-size: 14.5px; font-weight: 600; color: var(--vca-body); margin-top: 4px; }

/* ============================================================
   SERVICES GRID
   ============================================================ */
.vca-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.vca-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vca-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.vca-card { background: #fff; border: 1px solid var(--vca-line); border-radius: var(--vca-radius); padding: 30px; transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease; display: flex; flex-direction: column; }
.vca-card:hover { transform: translateY(-6px); box-shadow: var(--vca-shadow); border-color: transparent; }
.vca-card .ico { width: 56px; height: 56px; border-radius: 15px; background: var(--vca-bg-soft2); color: var(--vca-blue); display: grid; place-items: center; font-size: 23px; margin-bottom: 20px; transition: background .2s, color .2s; }
.vca-card:hover .ico { background: var(--vca-grad); color: #fff; }
.vca-card h4 { font-size: 19px; }
.vca-card p { font-size: 15px; margin-bottom: 18px; }
.vca-card .more { margin-top: auto; font-weight: 700; font-size: 14.5px; color: var(--vca-blue); display: inline-flex; align-items: center; gap: 7px; }
.vca-card .more i { transition: transform .2s; }
.vca-card:hover .more i { transform: translateX(4px); }

/* ============================================================
   HOW IT WORKS
   ============================================================ */
.vca-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; counter-reset: step; }
.vca-step { position: relative; text-align: center; padding: 0 6px; }
.vca-step .n { width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 50%; background: #fff; border: 2px solid var(--vca-line); color: var(--vca-blue); font-size: 22px; font-weight: 800; display: grid; place-items: center; position: relative; z-index: 2; }
.vca-step.is-on .n { background: var(--vca-grad); color: #fff; border-color: transparent; box-shadow: 0 14px 30px -12px rgba(26,115,232,.6); }
.vca-step h4 { font-size: 17.5px; }
.vca-step p { font-size: 14.5px; }
.vca-steps .vca-step:not(:last-child)::after { content:''; position: absolute; top: 32px; left: calc(50% + 40px); width: calc(100% - 80px); height: 2px; background: var(--vca-line); z-index: 1; }

/* ============================================================
   WHY / FEATURE SPLIT
   ============================================================ */
.vca-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.vca-split-media img { width: 100%; border-radius: 22px; box-shadow: var(--vca-shadow); display: block; object-fit: cover; aspect-ratio: 5/4; }
.vca-feat { display: flex; gap: 16px; margin-bottom: 24px; }
.vca-feat:last-child { margin-bottom: 0; }
.vca-feat .ic { flex-shrink: 0; width: 48px; height: 48px; border-radius: 13px; background: var(--vca-bg-soft2); color: var(--vca-blue); display: grid; place-items: center; font-size: 19px; }
.vca-feat h4 { font-size: 17.5px; margin-bottom: 4px; }
.vca-feat p { font-size: 14.5px; margin: 0; }

/* media frame accent */
.vca-media-wrap { position: relative; }
.vca-media-wrap::before { content:''; position:absolute; inset: 18px -18px -18px 18px; background: var(--vca-grad); border-radius: 24px; opacity: .12; z-index: 0; }
.vca-media-wrap img { position: relative; z-index: 1; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.vca-quote { background: #fff; border: 1px solid var(--vca-line); border-radius: var(--vca-radius); padding: 30px; height: 100%; display: flex; flex-direction: column; }
.vca-quote .stars { color: #f5a623; margin-bottom: 14px; letter-spacing: 2px; }
.vca-quote .txt { font-size: 15.5px; color: var(--vca-ink); margin-bottom: 22px; flex: 1; }
.vca-quote .who { display: flex; align-items: center; gap: 13px; }
.vca-quote .who img, .vca-quote .who .av { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.vca-quote .who .av { background: var(--vca-grad); color: #fff; display: grid; place-items: center; font-weight: 800; }
.vca-quote .who .nm { font-weight: 700; font-size: 15px; color: var(--vca-ink); }
.vca-quote .who .ps { font-size: 13px; color: var(--vca-body); }

/* ============================================================
   BLOG
   ============================================================ */
.vca-blog-card { background: #fff; border: 1px solid var(--vca-line); border-radius: var(--vca-radius); overflow: hidden; transition: transform .2s, box-shadow .25s; display: flex; flex-direction: column; }
.vca-blog-card:hover { transform: translateY(-6px); box-shadow: var(--vca-shadow); }
.vca-blog-card .thumb { aspect-ratio: 16/9; overflow: hidden; }
.vca-blog-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.vca-blog-card:hover .thumb img { transform: scale(1.06); }
.vca-blog-card .bd { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.vca-blog-card .dt { font-size: 12.5px; color: var(--vca-body); font-weight: 600; margin-bottom: 9px; }
.vca-blog-card h4 { font-size: 17px; line-height: 1.35; margin-bottom: 14px; }
.vca-blog-card h4 a { color: var(--vca-ink); }
.vca-blog-card h4 a:hover { color: var(--vca-blue); }
.vca-blog-card .more { margin-top: auto; font-weight: 700; font-size: 14px; color: var(--vca-blue); }

/* ============================================================
   CTA BAND
   ============================================================ */
.vca-cta { background: var(--vca-navy); border-radius: 26px; padding: 56px 56px; position: relative; overflow: hidden; text-align: center; }
.vca-cta::before { content:''; position:absolute; top:-120px; right:-80px; width:380px; height:380px; background: radial-gradient(circle, rgba(79,70,229,.5), transparent 65%); border-radius:50%; }
.vca-cta::after { content:''; position:absolute; bottom:-140px; left:-90px; width:360px; height:360px; background: radial-gradient(circle, rgba(26,115,232,.45), transparent 65%); border-radius:50%; }
.vca-cta > * { position: relative; z-index: 2; }
.vca-cta h2 { color: #fff; font-size: clamp(26px, 3.2vw, 38px); }
.vca-cta p { color: rgba(255,255,255,.8); font-size: 17.5px; max-width: 560px; margin: 0 auto 28px; }
.vca-cta .vca-hero-cta { justify-content: center; }

/* ============================================================
   QUOTE / LEAD FORM (restyled Get Quote)
   ============================================================ */
.vca-leadcard { background:#fff; border-radius: 20px; box-shadow: var(--vca-shadow); padding: 30px; border: 1px solid var(--vca-line); }
.vca-leadcard h3 { font-size: 22px; text-align: center; margin-bottom: 4px; }
.vca-leadcard .sub { text-align:center; font-size:14px; color:var(--vca-body); margin-bottom:22px; }
.vca-leadcard .vca-field { margin-bottom: 14px; }
.vca-leadcard select.form-control, .vca-leadcard input.form-control { width:100%; height: 50px; border:1px solid var(--vca-line); border-radius: 12px; padding: 0 16px; font-size: 15px; color: var(--vca-ink); background:#fff; transition: border-color .15s, box-shadow .15s; margin-bottom: 0; }
.vca-leadcard select.form-control:focus, .vca-leadcard input.form-control:focus { outline:none; border-color: var(--vca-blue); box-shadow: 0 0 0 4px rgba(26,115,232,.12); }
.vca-leadcard button[type=submit] { width: 100%; height: 52px; border: none; border-radius: 12px; background: var(--vca-orange); color: #fff; font-weight: 700; font-size: 16px; cursor: pointer; transition: background .2s, transform .15s; }
.vca-leadcard button[type=submit]:hover { background: var(--vca-orange-d); transform: translateY(-2px); }
.vca-leadcard .secure { text-align:center; font-size:12.5px; color:var(--vca-body); margin-top:14px; }

/* ============================================================
   SITE-WIDE HEADER + FOOTER POLISH (overrides legacy theme)
   These target existing markup so the whole site feels cohesive.
   ============================================================ */
#top-bar { background: var(--vca-navy) !important; padding: 9px 0; font-size: 13.5px; }
#top-bar a { color: rgba(255,255,255,.88) !important; }
#top-bar a:hover { color: #fff !important; }
header { box-shadow: 0 2px 18px -10px rgba(16,42,75,.25); position: sticky; top: 0; z-index: 900; background: #fff; }
.navigation .nav-menu > li > a { font-family: var(--vca-font); font-weight: 600 !important; color: var(--vca-ink) !important; font-size: 15.5px; }
.navigation .nav-menu > li > a:hover { color: var(--vca-blue) !important; }
.navigation .button-sm { background: var(--vca-orange) !important; color:#fff !important; border-radius: 10px !important; font-weight:700 !important; padding: 10px 20px !important; border: none !important; }
.navigation .button-sm.text-primary { background: var(--vca-grad) !important; }

footer { background: var(--vca-navy); color: rgba(255,255,255,.72); padding-top: 64px; }
footer h3 { color:#fff; font-family: var(--vca-font); font-weight: 700; font-size: 16px; }
footer p, footer a { color: rgba(255,255,255,.72) !important; }
footer a:hover { color:#fff !important; }
footer .footer-list a { font-size: 14px; }
footer hr { border-color: rgba(255,255,255,.12); }
footer .footer-bar { border-top: 1px solid rgba(255,255,255,.12); margin-top: 28px; padding-top: 20px; }
footer .footer-social-icons ul li a { background: rgba(255,255,255,.1); color:#fff !important; }
footer .footer-social-icons ul li a:hover { background: var(--vca-blue); }

/* ============================================================
   PAGE HEADER (about / contact hero band)
   ============================================================ */
.vca-pagehead { background: var(--vca-navy); position: relative; overflow: hidden; padding: 66px 0; text-align: center; }
.vca-pagehead::before { content:''; position:absolute; top:-150px; right:-100px; width:420px; height:420px; background: radial-gradient(circle, rgba(79,70,229,.45), transparent 65%); border-radius:50%; }
.vca-pagehead::after { content:''; position:absolute; bottom:-180px; left:-100px; width:400px; height:400px; background: radial-gradient(circle, rgba(26,115,232,.4), transparent 65%); border-radius:50%; }
.vca-pagehead > * { position: relative; z-index: 2; }
.vca-pagehead h1 { color:#fff; font-size: clamp(30px, 4vw, 46px); margin-bottom: 10px; }
.vca-pagehead p { color: rgba(255,255,255,.8); font-size: 17px; max-width: 600px; margin: 0 auto; }
.vca-pagehead .crumbs { color: rgba(255,255,255,.6); font-size: 14px; margin-top: 14px; }
.vca-pagehead .crumbs a { color: rgba(255,255,255,.85); }

/* ---- check list ---- */
.vca-checklist { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 28px; }
.vca-checklist li { position: relative; padding-left: 34px; font-size: 15.5px; color: var(--vca-ink); }
.vca-checklist li i { position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: #dcf3e6; color: #1faa55; display: grid; place-items: center; font-size: 11px; }

/* ---- contact info cards ---- */
.vca-contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: start; }
.vca-info-item { display: flex; gap: 16px; align-items: flex-start; padding: 20px; background:#fff; border:1px solid var(--vca-line); border-radius: var(--vca-radius-sm); margin-bottom: 16px; transition: box-shadow .2s, transform .2s; }
.vca-info-item:hover { box-shadow: var(--vca-shadow-sm); transform: translateY(-3px); }
.vca-info-item .ic { flex-shrink:0; width: 50px; height: 50px; border-radius: 13px; background: var(--vca-bg-soft2); color: var(--vca-blue); display: grid; place-items: center; font-size: 19px; }
.vca-info-item.wa .ic { background:#dcf8e8; color:#1faa55; }
.vca-info-item h4 { font-size: 16px; margin-bottom: 3px; }
.vca-info-item p, .vca-info-item a { font-size: 15px; margin: 0; color: var(--vca-body); }
.vca-info-item a { color: var(--vca-blue); font-weight: 600; }
.vca-contact-form textarea.form-control { width:100%; min-height: 130px; border:1px solid var(--vca-line); border-radius: 12px; padding: 14px 16px; font-size:15px; font-family: var(--vca-font); margin-bottom:0; }
.vca-contact-form textarea.form-control:focus { outline:none; border-color: var(--vca-blue); box-shadow: 0 0 0 4px rgba(26,115,232,.12); }
.vca-map { width:100%; height: 380px; border:0; display:block; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 992px) {
    .vca-hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .vca-hero-visual { max-width: 460px; margin: 0 auto; }
    .vca-split { grid-template-columns: 1fr; gap: 36px; }
    .vca-grid-2 { grid-template-columns: 1fr; }
    .vca-grid-3 { grid-template-columns: repeat(2, 1fr); }
    .vca-grid-4 { grid-template-columns: repeat(2, 1fr); }
    .vca-steps { grid-template-columns: repeat(2, 1fr); }
    .vca-steps .vca-step::after { display: none; }
    .vca-stats { grid-template-columns: repeat(2, 1fr); gap: 30px 16px; }
    .vca-cta { padding: 44px 26px; }
    .vca-contact-grid { grid-template-columns: 1fr; }
    .vca-checklist { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .vca-section { padding: 60px 0; }
    .vca-grid-3 { grid-template-columns: 1fr; }
    .vca-grid-4 { grid-template-columns: 1fr; }
    .vca-hero-float.is-tl { left: -8px; top: 12px; }
    .vca-hero-float.is-br { right: -8px; }
    .vca-hero-cta .vca-btn { flex: 1; justify-content: center; }
}

/* ============================================================
   ============  PREMIUM UPGRADE LAYER  =======================
   Adds depth, motion and signature components for a memorable,
   high-end feel. Still fully namespaced & non-destructive.
   ============================================================ */

/* ---- richer hero: animated aurora + bigger type ---- */
.vca-hero.is-center { padding: 104px 0 120px; background: #fff; }
.vca-hero.is-center .vca-aurora { position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.vca-hero.is-center .vca-aurora span { position:absolute; border-radius:50%; filter: blur(70px); opacity:.55; animation: vca-float 16s ease-in-out infinite; }
.vca-hero.is-center .vca-aurora span:nth-child(1){ width:520px;height:520px; top:-160px; left:8%; background: radial-gradient(circle,#bcd4ff,transparent 70%); }
.vca-hero.is-center .vca-aurora span:nth-child(2){ width:480px;height:480px; top:-120px; right:6%; background: radial-gradient(circle,#d8ccff,transparent 70%); animation-delay:-4s; }
.vca-hero.is-center .vca-aurora span:nth-child(3){ width:560px;height:560px; bottom:-260px; left:38%; background: radial-gradient(circle,#cfe3ff,transparent 70%); animation-delay:-8s; }
@keyframes vca-float { 0%,100%{ transform: translate(0,0) scale(1);} 33%{ transform: translate(28px,-22px) scale(1.06);} 66%{ transform: translate(-22px,18px) scale(.96);} }
.vca-hero.is-center h1 { font-size: clamp(40px, 6vw, 70px); line-height: 1.03; letter-spacing: -0.035em; font-weight: 800; }
.vca-hero.is-center h1 .grad { position: relative; background: linear-gradient(100deg,#1a73e8,#4f46e5 55%,#8b5cf6); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.vca-hero.is-center h1 .ul { position: relative; white-space: nowrap; }
.vca-hero.is-center h1 .ul::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='14' viewBox='0 0 200 14'%3E%3Cpath d='M2 9 C50 2 150 2 198 8' stroke='%23f7941d' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%; opacity:0; transform: scaleX(.2); transform-origin:left; transition: opacity .5s .4s, transform .7s .4s cubic-bezier(.2,.7,.2,1); }
.vca-hero.is-center.is-in h1 .ul::after { opacity:1; transform: scaleX(1); }
.vca-hero-badge .rate i { color:#f5a623; }

/* ---- signature hero showcase: compliance dashboard mockup ---- */
.vca-showcase { position: relative; z-index: 2; max-width: 940px; margin: 56px auto 0; }
.vca-showcase::before { content:''; position:absolute; inset: 30px 40px -30px 40px; background: var(--vca-grad); filter: blur(60px); opacity:.22; border-radius: 40px; z-index:0; }
.vca-dash { position: relative; z-index:1; background: rgba(255,255,255,.85); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.9); border-radius: 22px; box-shadow: 0 40px 90px -40px rgba(16,42,75,.45), 0 6px 20px -10px rgba(16,42,75,.2); overflow: hidden; text-align: left; }
.vca-dash-top { display:flex; align-items:center; gap:8px; padding: 15px 20px; background: rgba(248,250,253,.9); border-bottom: 1px solid var(--vca-line); }
.vca-dash-top .dot { width:11px;height:11px;border-radius:50%; }
.vca-dash-top .dot.r{background:#ff5f57;} .vca-dash-top .dot.y{background:#febc2e;} .vca-dash-top .dot.g{background:#28c840;}
.vca-dash-top .ttl { margin-left:10px; font-weight:700; font-size:14px; color:var(--vca-ink); }
.vca-dash-top .pill { margin-left:auto; font-size:12px; font-weight:700; color:#1faa55; background:#e3f8ec; padding:5px 12px; border-radius:999px; }
.vca-dash-body { display:grid; grid-template-columns: 1.5fr 1fr; gap:0; }
.vca-dash-list { padding: 12px 8px; }
.vca-dash-row { display:flex; align-items:center; gap:14px; padding: 13px 16px; border-radius:12px; transition: background .2s; }
.vca-dash-row:hover { background: var(--vca-bg-soft); }
.vca-dash-row .ric { width:38px;height:38px;border-radius:10px; display:grid;place-items:center; font-size:15px; flex-shrink:0; }
.vca-dash-row .ric.b{ background:#e8f0fe; color:#1a73e8;} .vca-dash-row .ric.v{ background:#efeaff; color:#6d28d9;} .vca-dash-row .ric.o{ background:#fff1e0; color:#e07c08;}
.vca-dash-row .rmain{ flex:1; }
.vca-dash-row .rmain b{ display:block; font-size:14px; color:var(--vca-ink); }
.vca-dash-row .rmain span{ font-size:12.5px; color:var(--vca-body); }
.vca-dash-row .rstat{ font-size:12px; font-weight:700; padding:4px 11px; border-radius:999px; }
.vca-dash-row .rstat.done{ background:#e3f8ec; color:#1faa55; }
.vca-dash-row .rstat.prog{ background:#fff4e0; color:#e07c08; }
.vca-dash-side { padding: 22px; border-left:1px solid var(--vca-line); background: linear-gradient(180deg,#fbfcff, #f5f8fd); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.vca-ring { --p:98; width:128px; height:128px; border-radius:50%; display:grid; place-items:center; background: conic-gradient(#1a73e8 calc(var(--p)*1%), #e6edf7 0); position:relative; }
.vca-ring::before{ content:''; position:absolute; inset:12px; background:#fff; border-radius:50%; box-shadow: inset 0 2px 6px rgba(16,42,75,.06); }
.vca-ring .rv{ position:relative; z-index:1; font-size:26px; font-weight:800; color:var(--vca-ink); }
.vca-dash-side .rlbl{ font-size:13px; font-weight:600; color:var(--vca-body); text-align:center; }
.vca-chip { position:absolute; z-index:3; background:#fff; border:1px solid var(--vca-line); border-radius:14px; box-shadow: var(--vca-shadow); padding:11px 15px; display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; color:var(--vca-ink); }
.vca-chip .ci{ width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:14px; }
.vca-chip.c1{ top:-22px; left:-26px; animation: vca-bob 5s ease-in-out infinite; }
.vca-chip.c2{ bottom:34px; right:-30px; animation: vca-bob 5s ease-in-out infinite; animation-delay:-2.5s; }
.vca-chip.c1 .ci{ background:linear-gradient(135deg,#22c55e,#16a34a);} .vca-chip.c2 .ci{ background:var(--vca-grad);}
@keyframes vca-bob { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-9px);} }

/* ---- scroll reveal ---- */
.vca-reveal { opacity:0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.vca-reveal.is-visible { opacity:1; transform: none; }
.vca-reveal.d1{ transition-delay:.08s;} .vca-reveal.d2{ transition-delay:.16s;} .vca-reveal.d3{ transition-delay:.24s;} .vca-reveal.d4{ transition-delay:.32s;}
@media (prefers-reduced-motion: reduce){ .vca-reveal{ opacity:1!important; transform:none!important;} .vca-hero.is-center .vca-aurora span,.vca-chip{ animation:none!important;} }

/* ---- refined section heading underline accent ---- */
.vca-head h2 { position: relative; display: inline-block; }
.vca-eyebrow { box-shadow: 0 2px 10px -4px rgba(26,115,232,.35); }

/* ---- elevated cards & buttons ---- */
.vca-card { border-radius: 20px; }
.vca-card:hover { box-shadow: 0 30px 60px -30px rgba(16,42,75,.4); }
.vca-btn-primary { background: linear-gradient(120deg,#f7941d,#f76b1d); box-shadow: 0 14px 30px -10px rgba(247,131,29,.55); }
.vca-btn-primary:hover { background: linear-gradient(120deg,#f08400,#ef5d0a); }
.vca-btn { border-radius: 13px; }

/* ---- glass sticky header ---- */
header { background: rgba(255,255,255,.82)!important; backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid rgba(16,42,75,.06); }

/* ---- industries strip ---- */
.vca-industries { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.vca-ind { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:#fff; border:1px solid var(--vca-line); border-radius:999px; font-size:14px; font-weight:600; color:var(--vca-ink); transition: transform .2s, box-shadow .2s, border-color .2s; }
.vca-ind:hover{ transform: translateY(-3px); box-shadow: var(--vca-shadow-sm); border-color:transparent; }
.vca-ind i{ color: var(--vca-blue); }

/* ---- comparison ---- */
.vca-compare { max-width: 860px; margin: 0 auto; background:#fff; border:1px solid var(--vca-line); border-radius: 22px; overflow:hidden; box-shadow: var(--vca-shadow-sm); }
.vca-compare-row { display:grid; grid-template-columns: 1.4fr 1fr 1fr; align-items:center; }
.vca-compare-row + .vca-compare-row { border-top:1px solid var(--vca-line); }
.vca-compare-row > div { padding: 18px 22px; font-size: 15px; }
.vca-compare-head { background: var(--vca-bg-soft); font-weight:800; color:var(--vca-ink); font-size:13px!important; text-transform:uppercase; letter-spacing:.05em; }
.vca-compare-head .vc-us { color: var(--vca-blue); }
.vca-compare-row .feat { font-weight:600; color:var(--vca-ink); }
.vca-compare-row .vc-us { background: linear-gradient(180deg, rgba(26,115,232,.06), rgba(79,70,229,.05)); text-align:center; font-weight:700; color:#1a73e8; }
.vca-compare-row .vc-them { text-align:center; color:var(--vca-body); }
.vca-compare-row .vc-us i{ color:#1faa55; } .vca-compare-row .vc-them i{ color:#c0392b; opacity:.7; }

/* ---- FAQ ---- */
.vca-faq { max-width: 820px; margin: 0 auto; }
.vca-faq details { background:#fff; border:1px solid var(--vca-line); border-radius: 14px; margin-bottom: 14px; overflow:hidden; transition: box-shadow .2s, border-color .2s; }
.vca-faq details[open]{ box-shadow: var(--vca-shadow-sm); border-color: transparent; }
.vca-faq summary { list-style:none; cursor:pointer; padding: 20px 24px; font-weight:700; font-size:16.5px; color:var(--vca-ink); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.vca-faq summary::-webkit-details-marker{ display:none; }
.vca-faq summary .qi { flex-shrink:0; width:28px;height:28px;border-radius:50%; background:var(--vca-bg-soft2); color:var(--vca-blue); display:grid;place-items:center; font-size:14px; transition: transform .25s, background .2s, color .2s; }
.vca-faq details[open] summary .qi{ transform: rotate(45deg); background:var(--vca-grad); color:#fff; }
.vca-faq .ans { padding: 0 24px 22px; color:var(--vca-body); font-size:15px; line-height:1.65; }

/* ---- hero blend tagline ---- */
.vca-hero-tag { display:inline-flex; align-items:center; gap:10px; margin: 18px auto 0; font-size: clamp(17px,2.2vw,21px); font-weight:700; color: var(--vca-navy); }
.vca-hero-tag .ln { width:26px; height:2px; background: var(--vca-grad); border-radius:2px; }
.vca-hero-tag .accent { background: var(--vca-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* ---- value band (always-on) ---- */
.vca-valueband { display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.vca-value { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--vca-line); border-radius:18px; padding:24px; transition: transform .2s, box-shadow .2s; }
.vca-value:hover{ transform: translateY(-4px); box-shadow: var(--vca-shadow-sm); }
.vca-value .vi { flex-shrink:0; width:52px;height:52px;border-radius:14px; background: var(--vca-grad); color:#fff; display:grid;place-items:center; font-size:21px; }
.vca-value h4 { font-size:17px; margin-bottom:5px; }
.vca-value p { font-size:14px; margin:0; }
.vca-soon { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#e07c08; background:#fff1e0; padding:3px 9px; border-radius:999px; margin-left:8px; vertical-align:middle; }

/* ---- DeltaBooks band ---- */
.vca-deltabooks { background: linear-gradient(135deg,#0e2a47 0%, #163a63 55%, #1a3f74 100%); border-radius:26px; padding:54px; position:relative; overflow:hidden; }
.vca-deltabooks::before{ content:''; position:absolute; top:-120px; right:-80px; width:360px;height:360px; background: radial-gradient(circle, rgba(79,70,229,.5), transparent 65%); border-radius:50%; }
.vca-deltabooks::after{ content:''; position:absolute; bottom:-140px; left:-90px; width:340px;height:340px; background: radial-gradient(circle, rgba(26,115,232,.4), transparent 65%); border-radius:50%; }
.vca-db-grid { position:relative; z-index:2; display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:center; }
.vca-db-copy .vca-eyebrow{ background: rgba(255,255,255,.12); color:#cfe0ff; box-shadow:none; }
.vca-db-copy h2 { color:#fff; font-size:clamp(26px,3.2vw,36px); }
.vca-db-copy p { color: rgba(255,255,255,.8); }
.vca-db-list { list-style:none; padding:0; margin:18px 0 26px; }
.vca-db-list li { position:relative; padding-left:32px; margin-bottom:13px; color: rgba(255,255,255,.92); font-size:15.5px; }
.vca-db-list li i { position:absolute; left:0; top:3px; width:21px;height:21px;border-radius:50%; background: rgba(34,197,94,.2); color:#43d17a; display:grid;place-items:center; font-size:10px; }

/* browser mockup */
.vca-browser { background:#fff; border-radius:16px; box-shadow: 0 40px 90px -40px rgba(0,0,0,.6); overflow:hidden; }
.vca-browser-bar { display:flex; align-items:center; gap:7px; padding:12px 16px; background:#f1f4f8; border-bottom:1px solid var(--vca-line); }
.vca-browser-bar .d{ width:11px;height:11px;border-radius:50%; } .vca-browser-bar .d.r{background:#ff5f57;} .vca-browser-bar .d.y{background:#febc2e;} .vca-browser-bar .d.g{background:#28c840;}
.vca-browser-bar .url{ margin-left:12px; flex:1; background:#fff; border:1px solid var(--vca-line); border-radius:7px; padding:6px 12px; font-size:12.5px; color:var(--vca-body); display:flex; align-items:center; gap:7px; }
.vca-browser-bar .url i{ color:#1faa55; font-size:11px; }
.vca-browser-body { padding:20px; }
.vca-inv-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.vca-inv-head b { font-size:15px; color:var(--vca-ink); }
.vca-inv-head .btn { background: var(--vca-orange); color:#fff; font-size:12.5px; font-weight:700; padding:7px 14px; border-radius:9px; }
.vca-inv-row { display:flex; align-items:center; gap:12px; padding:11px 12px; border:1px solid var(--vca-line); border-radius:10px; margin-bottom:9px; }
.vca-inv-row .ci { width:30px;height:30px;border-radius:8px; background:#e8f0fe; color:#1a73e8; display:grid;place-items:center; font-size:12px; }
.vca-inv-row .im{ flex:1; } .vca-inv-row .im b{ display:block; font-size:13px; color:var(--vca-ink); } .vca-inv-row .im span{ font-size:11.5px; color:var(--vca-body); }
.vca-inv-row .amt{ font-weight:700; font-size:13.5px; color:var(--vca-ink); }
.vca-inv-row .tag{ font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px; background:#e3f8ec;color:#1faa55; }

/* ---- premium responsive ---- */
@media (max-width: 860px){
    .vca-valueband { grid-template-columns: 1fr; }
    .vca-db-grid { grid-template-columns: 1fr; gap:32px; }
    .vca-deltabooks { padding:36px 24px; }
    .vca-dash-body{ grid-template-columns: 1fr; }
    .vca-dash-side{ border-left:none; border-top:1px solid var(--vca-line); }
    .vca-chip.c1{ left:-8px; } .vca-chip.c2{ right:-8px; }
    .vca-compare-row{ grid-template-columns: 1.3fr .8fr .8fr; }
    .vca-compare-row > div{ padding:14px 14px; font-size:13.5px; }
}
@media (max-width: 600px){
    .vca-showcase::before{ inset: 20px 10px -20px 10px; }
    .vca-chip{ display:none; }
}

/* ============================================================
   ======  LEGACY SERVICE-PAGE RESTYLE (override layer)  ======
   Modernises the ~21 compliance/service pages WITHOUT editing
   their templates or the Razorpay buy-flow JS. Targets only
   legacy classes (.main-image-section, .contact-form-box,
   .default-tabs, #sticky-header, .section-block, etc.) which
   the new .vca-* pages never use — so zero bleed.
   ============================================================ */

/* --- banner / hero --- */
.main-image-section { background: var(--vca-grad-soft) !important; position: relative; overflow: hidden; padding: 54px 0 64px !important; }
.main-image-section .medium-overlay { display: none !important; }
.main-image-section .row.container, .main-image-section > .container { position: relative; z-index: 2; }
.main-image-section h1, .main-image-section h2 { font-family: var(--vca-font); font-weight: 800; color: var(--vca-ink); letter-spacing: -.02em; }
.main-image-section h2 { font-size: clamp(26px, 3.4vw, 38px); line-height: 1.12; }
.main-image-section .text-justify { color: var(--vca-body); font-size: 16px; line-height: 1.65; }

/* --- plan tabs (Basic / Premium ...) --- */
.default-tabs .tab-menu { display: flex; flex-wrap: wrap; gap: 10px; border: none !important; padding: 0; margin-bottom: 20px; list-style: none; }
.default-tabs .tab-menu li { margin: 0 !important; border: none !important; }
.default-tabs .tab-menu li a { display: inline-block; padding: 9px 22px !important; border-radius: 999px; background: #fff; border: 1px solid var(--vca-line) !important; color: var(--vca-ink); font-weight: 700; font-family: var(--vca-font); font-size: 14.5px; transition: all .2s; }
.default-tabs .tab-menu li a:hover { border-color: var(--vca-blue) !important; color: var(--vca-blue); }
.default-tabs .tab-menu li.active-tab a, .default-tabs .tab-menu li.active a, .default-tabs .tab-menu li a.active { background: var(--vca-grad); color: #fff !important; border-color: transparent !important; box-shadow: 0 10px 22px -10px rgba(26,115,232,.5); }
.tabs.tabs_animate .tab-menu li.active-tab a.select_plan, .tabs.tabs_animate .tab-menu li.active-tab a { color: #fff !important; }
.default-tabs .tab-body, .tabs .tab-body { background: #fff; border: 1px solid var(--vca-line); border-radius: 16px; padding: 22px !important; box-shadow: var(--vca-shadow-sm); }
.tab-body table.table-borderless td { padding: 9px 6px; font-size: 15px; color: var(--vca-ink); border: none; vertical-align: middle; }
.tab-body table.table-borderless tr td:first-child { color: var(--vca-body); }
.tab-body table.table-borderless tr td:last-child { font-weight: 700; text-align: right; }
.section-single-heading h4 { font-family: var(--vca-font); font-weight: 800; color: var(--vca-ink); font-size: 18px; }

/* --- "Includes" / primary lists --- */
.primary-list { list-style: none; padding-left: 0; }
.primary-list li { position: relative; padding-left: 30px; margin-bottom: 11px; color: var(--vca-ink); font-size: 15px; line-height: 1.5; }
.primary-list li i { position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: #dcf3e6; color: #1faa55; display: inline-grid; place-items: center; font-size: 10px; }

/* --- enquiry form card (also styles Enquire/Plan modals in base.html) --- */
.contact-form-box { background: #fff; border: 1px solid var(--vca-line); border-radius: 20px; box-shadow: var(--vca-shadow); padding: 28px !important; }
.contact-form-box h3 { font-family: var(--vca-font); font-weight: 800; color: var(--vca-ink); font-size: 22px; text-align: center; margin-bottom: 6px; }
.contact-form-box .section-heading-line { margin: 8px auto 18px; }
.contact-form-box .form-control { height: 48px; border-radius: 12px; border: 1px solid var(--vca-line); padding: 0 15px; font-size: 15px; margin-bottom: 14px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.contact-form-box textarea.form-control { height: auto; min-height: 110px; padding: 12px 15px; }
.contact-form-box .form-control:focus { outline: none; border-color: var(--vca-blue); box-shadow: 0 0 0 4px rgba(26,115,232,.12); }
.contact-form-box .primary-button, .contact-form-box button[type="submit"], .contact-form-box .enquire-btn, .contact-form-box .btn-primary {
    background: linear-gradient(120deg,#f7941d,#f76b1d) !important; color: #fff !important; border: none !important;
    border-radius: 12px !important; font-weight: 700 !important; font-family: var(--vca-font); padding: 13px 20px !important;
    box-shadow: 0 12px 26px -12px rgba(247,131,29,.6); transition: transform .15s, background .2s; }
.contact-form-box .primary-button:hover, .contact-form-box button[type="submit"]:hover, .contact-form-box .enquire-btn:hover, .contact-form-box .btn-primary:hover { transform: translateY(-2px); color: #fff !important; }
.contact-form-box h6 { font-family: var(--vca-font); color: var(--vca-ink); }
.contact-form-box .card-bg, .contact-form-box .card { border-radius: 14px; }

/* --- sticky sub-nav (Overview / Types / Process) --- */
#sticky-header { background: #fff; border-top: 1px solid var(--vca-line); border-bottom: 1px solid var(--vca-line); }
.service-tab-inside ul { list-style: none; margin: 0; padding: 0; }
.service-tab-inside li a { display: inline-block; padding: 15px 24px !important; font-family: var(--vca-font); font-weight: 600; color: var(--vca-ink); position: relative; transition: color .2s; }
.service-tab-inside li a:hover { color: var(--vca-blue); }
.service-tab-inside li a::after { content: ''; position: absolute; left: 24px; right: 24px; bottom: 8px; height: 2px; background: var(--vca-grad); transform: scaleX(0); transition: transform .2s; border-radius: 2px; }
.service-tab-inside li a:hover::after { transform: scaleX(1); }

/* --- content sections + headings --- */
.section-block-grey { background: var(--vca-bg-soft) !important; }
.section-block h3, .section-block-grey h3, .section-block h4, .section-block-grey h4, .section-block h5, .section-block-grey h5 { font-family: var(--vca-font); font-weight: 800; color: var(--vca-ink); letter-spacing: -.01em; }
.section-block p, .section-block-grey p { color: var(--vca-body); }
.section-block p strong, .section-block-grey p strong { color: var(--vca-ink); }
.section-heading-line { background: var(--vca-grad) !important; height: 3px !important; width: 64px !important; border-radius: 2px; margin: 14px auto; border: none !important; }
.section-heading-line-left { background: var(--vca-grad) !important; height: 3px !important; width: 64px !important; border-radius: 2px; border: none !important; }

/* --- Types feature cards --- */
.feature-flex-square { background: #fff; border: 1px solid var(--vca-line); border-radius: 16px; padding: 26px !important; margin-bottom: 20px; box-shadow: var(--vca-shadow-sm); transition: box-shadow .2s, transform .2s; }
.feature-flex-square:hover { box-shadow: var(--vca-shadow); transform: translateY(-3px); }
.feature-flex-square-content h4 { font-family: var(--vca-font); font-weight: 700; margin-bottom: 10px; }
.feature-flex-square-content h4 a { color: var(--vca-ink); }
.feature-flex-square-content p { color: var(--vca-body); }

/* --- process timeline --- */
.timeline-panel .plane-box-text { background: var(--vca-bg-soft); border: 1px solid var(--vca-line); border-radius: 10px; padding: 12px 16px; }
.timeline-panel .plane-box-text p, .timeline-panel .plane-box-text h6 { margin: 0; color: var(--vca-ink); font-size: 14.5px; font-family: var(--vca-font); }

/* --- FAQ accordion (LLP, company pages, etc.) --- */
.panel-group .panel.accordion { border: 1px solid var(--vca-line) !important; border-radius: 14px !important; margin-bottom: 12px; overflow: hidden; box-shadow: none !important; }
.panel-group .panel.accordion .panel-heading.accordion-heading { background: #fff !important; padding: 0; border: none; }
.panel-title.accordion-title a { font-family: var(--vca-font); font-weight: 700; color: var(--vca-ink); padding: 18px 22px; display: block; font-size: 16px; }
.panel-title.accordion-title a:hover { color: var(--vca-blue); }
.panel-body.accordion-body { padding: 0 22px 18px !important; color: var(--vca-body); font-size: 15px; line-height: 1.65; }
