:root {
  --vsol-bg-primary: #0a0f1c;
  --vsol-bg-secondary: #0f1729;
  --vsol-bg-tertiary: #131d32;
  --vsol-card: rgba(15, 23, 42, 0.78);
  --vsol-card-solid: #101a2d;
  --vsol-text: #f1f5f9;
  --vsol-text-secondary: #cbd5e1;
  --vsol-muted: #94a3b8;
  --vsol-accent: #10b981;
  --vsol-accent-hover: #34d399;
  --vsol-accent-soft: rgba(16, 185, 129, 0.15);
  --vsol-border: rgba(255, 255, 255, 0.07);
  --vsol-border-accent: rgba(16, 185, 129, 0.24);
  --vsol-radius-sm: 8px;
  --vsol-radius-md: 12px;
  --vsol-radius-lg: 16px;
  --vsol-shadow: 0 1px 3px rgba(0,0,0,.3), 0 16px 42px rgba(0,0,0,.2);
}

/* Shared public-site chrome */
#header { position: sticky; top: 0; z-index: 1000; }
#header header { position: static !important; background: rgba(9, 15, 28, .96) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; box-shadow: 0 8px 25px rgba(2,10,22,.25) !important; backdrop-filter: blur(18px); }
#header nav a:hover, #footer a:hover { color: #6ee7d8 !important; }
#footer footer { background: #08101e !important; border-top: 1px solid rgba(255,255,255,.06); }

/* VEM uses the same visual system while retaining its product layout. */
body.vem-product-page {
  color: var(--vsol-text-secondary);
  background: var(--vsol-bg-primary);
}
.vem-product-page main { background: var(--vsol-bg-primary); }
.vem-product-page h1,
.vem-product-page h2,
.vem-product-page h3 { color: var(--vsol-text); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: -.025em; }
.vem-product-page p { color: var(--vsol-text-secondary); }
.vem-product-page .container { width: 100%; max-width: 1200px; padding-inline: clamp(24px,5vw,48px); }

.vem-product-page .hero {
  min-height: 740px;
  padding: clamp(105px,12vw,150px) 0 clamp(72px,8vw,100px);
  background:
    radial-gradient(ellipse at 74% 24%, rgba(16,185,129,.09), transparent 48%),
    radial-gradient(ellipse at 8% 88%, rgba(16,185,129,.04), transparent 38%),
    var(--vsol-bg-primary);
}
.vem-product-page .hero::after { display: none; }
.vem-product-page .hero h1 { font-size: clamp(2.4rem,5vw,3.8rem); line-height: 1.15; }
.vem-product-page .hero h1 span { color: var(--vsol-accent); }
.vem-product-page .hero-copy { color: var(--vsol-muted); }
.vem-product-page .eyebrow { color: var(--vsol-accent) !important; }
.vem-product-page .eyebrow::before { background: var(--vsol-accent); }
.vem-product-page .microcopy,
.vem-product-page .hero-proof { color: var(--vsol-muted); }
.vem-product-page .hero-proof i { color: var(--vsol-accent); }

.vem-product-page .btn { min-height: 48px; border-radius: var(--vsol-radius-sm); font-weight: 650; transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.vem-product-page .btn-primary { color: #07130f; background: var(--vsol-accent); box-shadow: 0 3px 14px rgba(16,185,129,.24); }
.vem-product-page .btn-primary:hover { color: #07130f; background: var(--vsol-accent-hover); box-shadow: 0 6px 22px rgba(16,185,129,.3); }
.vem-product-page .btn-outline,
.vem-product-page .btn-light { color: var(--vsol-text); border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.055); }
.vem-product-page .btn-outline:hover,
.vem-product-page .btn-light:hover { border-color: var(--vsol-border-accent); background: var(--vsol-accent-soft); }

.vem-product-page .product-window { border-color: var(--vsol-border-accent); border-radius: var(--vsol-radius-lg); background: rgba(15,23,42,.75); box-shadow: var(--vsol-shadow); }
.vem-product-page .trust-band { margin-top: 0; padding: 0 0 56px; background: var(--vsol-bg-primary); }
.vem-product-page .trust-inner { overflow: hidden; border-color: var(--vsol-border); border-radius: var(--vsol-radius-lg); background: var(--vsol-bg-secondary); box-shadow: var(--vsol-shadow); }
.vem-product-page .trust-item { border-color: var(--vsol-border); }
.vem-product-page .trust-item strong { color: var(--vsol-text); }
.vem-product-page .trust-item span { color: var(--vsol-muted); }

.vem-product-page section { padding: clamp(64px,8vw,96px) 0; border-top: 1px solid var(--vsol-border); }
.vem-product-page section:not(.hero):not(.security):not(.final-cta) { background: var(--vsol-bg-primary); }
.vem-product-page section.soft-section { background: var(--vsol-bg-secondary); }
.vem-product-page .section-head p { color: var(--vsol-muted); }
.vem-product-page .feature,
.vem-product-page .workflow-row,
.vem-product-page .price-card,
.vem-product-page .compare-wrap,
.vem-product-page .faq-grid details {
  border: 1px solid var(--vsol-border);
  border-radius: var(--vsol-radius-lg);
  background: var(--vsol-card);
  box-shadow: var(--vsol-shadow);
}
.vem-product-page .feature:hover { border-color: var(--vsol-border-accent); box-shadow: 0 0 30px rgba(16,185,129,.07); }
.vem-product-page .feature-icon { color: var(--vsol-accent) !important; background: var(--vsol-accent-soft) !important; }
.vem-product-page .feature p,
.vem-product-page .workflow-row p,
.vem-product-page .plan-copy,
.vem-product-page .plan-list li,
.vem-product-page .fineprint,
.vem-product-page .faq-grid p { color: var(--vsol-muted); }
.vem-product-page .check-list li { color: var(--vsol-text-secondary); }
.vem-product-page .check-list i { color: var(--vsol-accent); }
.vem-product-page .workflow-number { color: #07130f; background: var(--vsol-accent); }
.vem-product-page .workflow-state { color: #6ee7d8; background: var(--vsol-accent-soft); }

.vem-product-page #pricing { background: var(--vsol-bg-primary); }
.vem-product-page .billing-switch { border-color: var(--vsol-border); background: var(--vsol-bg-tertiary); }
.vem-product-page .billing-switch button { color: var(--vsol-muted); }
.vem-product-page .billing-switch button.active { color: #07130f; background: var(--vsol-accent); box-shadow: none; }
.vem-product-page .save-tag,
.vem-product-page .plan-label,
.vem-product-page .plan-list i,
.vem-product-page .yes { color: var(--vsol-accent); }
.vem-product-page .price-card.featured { border: 1px solid var(--vsol-accent); box-shadow: 0 0 36px rgba(16,185,129,.1); }
.vem-product-page .popular { color: #07130f; background: var(--vsol-accent); }
.vem-product-page .price span,
.vem-product-page .contact-price { color: var(--vsol-muted); }
.vem-product-page .plan-list { border-color: var(--vsol-border); }
.vem-product-page .license-note { border: 1px solid var(--vsol-border-accent); border-radius: var(--vsol-radius-lg); background: var(--vsol-bg-tertiary); }
.vem-product-page .license-note p { color: var(--vsol-muted); }

.vem-product-page .compare-wrap { overflow: auto; }
.vem-product-page th { color: var(--vsol-muted); background: var(--vsol-bg-tertiary); }
.vem-product-page th,
.vem-product-page td { color: var(--vsol-text-secondary); border-color: var(--vsol-border); }
.vem-product-page .roadmap { color: #a7f3d0; }
.vem-product-page .dash { color: #64748b; }

.vem-product-page .security { background: var(--vsol-bg-secondary); }
.vem-product-page .security .section-head p,
.vem-product-page .security-item p { color: var(--vsol-muted); }
.vem-product-page .security-item { border-color: var(--vsol-border); border-radius: var(--vsol-radius-lg); background: var(--vsol-card); }
.vem-product-page .security-item i { color: var(--vsol-accent); }
.vem-product-page .faq-grid summary { color: var(--vsol-text); }
.vem-product-page .faq-grid summary::after { color: var(--vsol-accent); }
.vem-product-page .final-cta { border-top-color: var(--vsol-border); background: radial-gradient(ellipse at 84% 20%, rgba(16,185,129,.1), transparent 38%), var(--vsol-bg-secondary); }
.vem-product-page .final-inner p { color: var(--vsol-muted); }

/* Checkout remains deliberately high contrast and purchase-focused. */
.vem-product-page .checkout { border: 1px solid #d8e1eb; border-radius: var(--vsol-radius-lg); }
.vem-product-page .checkout h2,
.vem-product-page .checkout h3 { color: #122039; }
.vem-product-page .checkout p { color: #60718a; }

@media (max-width: 720px) {
  .vem-product-page .container { padding-inline: 20px; }
  .vem-product-page .hero { padding-top: 96px; }
  .vem-product-page .trust-band { padding-bottom: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .vem-product-page *, .vem-product-page *::before, .vem-product-page *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; }
}

/* ================================================================
   PUBLIC SITE UNIFICATION
   Page-aware presentation for consulting, audit, careers, knowledge,
   article and service pages. Content and interaction logic remain local.
   ================================================================ */
.brand-page {
  color: var(--vsol-text);
  background:
    radial-gradient(circle at 84% 8%, rgba(16,185,129,.055), transparent 26rem),
    var(--vsol-bg-primary) !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  line-height: 1.65;
  overflow-x: hidden;
}
.brand-page main { color: var(--vsol-text); background: transparent; }
.brand-page h1,
.brand-page h2,
.brand-page h3,
.brand-page h4 { color: var(--vsol-text) !important; letter-spacing: -.025em; }
.brand-page p,
.brand-page li { color: var(--vsol-muted); }
.brand-page a { text-underline-offset: 3px; }
.brand-page #header .logo img { filter: brightness(0) invert(1) !important; }
.brand-page #header nav a,
.brand-page #header .mobile-menu { color: var(--vsol-text-secondary) !important; }
.brand-page #header nav a:hover { color: var(--vsol-accent) !important; }
.brand-page .container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.brand-page .highlight,
.brand-page .accent,
.brand-page .eyebrow,
.brand-page .hero-badge,
.brand-page .blog-meta,
.brand-page .card-category { color: var(--vsol-accent) !important; }
.brand-page .hero-badge,
.brand-page .blog-meta,
.brand-page .card-category {
  border: 1px solid var(--vsol-border-accent) !important;
  border-radius: 999px !important;
  background: var(--vsol-accent-soft) !important;
}
.brand-page .btn,
.brand-page .button-primary,
.brand-page .open-form-btn,
.brand-page .open-form-btn2,
.brand-page .submit-btn,
.brand-page .contact-email {
  border: 1px solid var(--vsol-accent) !important;
  border-radius: var(--vsol-radius-md) !important;
  color: #06140f !important;
  background: var(--vsol-accent) !important;
  box-shadow: 0 12px 30px rgba(16,185,129,.15) !important;
  font-weight: 750;
}
.brand-page .btn:hover,
.brand-page .button-primary:hover,
.brand-page .open-form-btn:hover,
.brand-page .open-form-btn2:hover,
.brand-page .submit-btn:hover,
.brand-page .contact-email:hover {
  border-color: var(--vsol-accent-hover) !important;
  background: var(--vsol-accent-hover) !important;
  transform: translateY(-2px);
}
.brand-page .button-secondary,
.brand-page .btn-outline-light {
  border: 1px solid var(--vsol-border) !important;
  border-radius: var(--vsol-radius-md) !important;
  color: var(--vsol-text) !important;
  background: rgba(255,255,255,.035) !important;
}
.brand-page input,
.brand-page select,
.brand-page textarea {
  border: 1px solid var(--vsol-border) !important;
  border-radius: var(--vsol-radius-sm) !important;
  color: var(--vsol-text) !important;
  background: var(--vsol-bg-tertiary) !important;
}
.brand-page input:focus,
.brand-page select:focus,
.brand-page textarea:focus { border-color: var(--vsol-accent) !important; box-shadow: 0 0 0 3px rgba(16,185,129,.12) !important; }
.brand-page input::placeholder,
.brand-page textarea::placeholder { color: #71809a !important; }

/* Careers: people-focused layouts, retained within the core brand. */
.career-page .hero,
.career-page .values,
.career-page .work,
.career-page .growth,
.career-page .profile,
.career-page .cta { background-color: transparent !important; }
.career-page .hero-panel,
.career-page .value-card,
.career-page .work-card,
.career-page .growth-step,
.career-page .profile-panel,
.career-page .trait,
.career-page .cta-inner {
  border-color: var(--vsol-border) !important;
  background: var(--vsol-card) !important;
  box-shadow: var(--vsol-shadow) !important;
}
.career-page .discipline-mark,
.career-page .work-code,
.career-page .growth-number { color: var(--vsol-accent) !important; border-color: var(--vsol-border-accent) !important; background: var(--vsol-accent-soft) !important; }
.career-page .proof-strip { border-color: var(--vsol-border) !important; background: var(--vsol-bg-secondary) !important; }
.career-page .proof + .proof { border-color: var(--vsol-border) !important; }

/* Main consulting page: cinematic hero plus controlled enterprise cards. */
.consulting-page .hero::after { background: linear-gradient(90deg, rgba(10,15,28,.96), rgba(10,15,28,.7), rgba(10,15,28,.9)) !important; }
.consulting-page .hero-overlay { background: linear-gradient(180deg, rgba(10,15,28,.08), rgba(10,15,28,.82)) !important; }
.consulting-page .section { color: var(--vsol-text); background: transparent !important; border-top: 1px solid var(--vsol-border); }
.consulting-page .services { background: var(--vsol-bg-secondary) !important; }
.consulting-page .section-title h2::after { background: var(--vsol-accent) !important; }
.consulting-page .service-card,
.consulting-page .industry-card,
.consulting-page .process-step,
.consulting-page .benefit-card,
.consulting-page .position-card,
.consulting-page .about-content {
  border: 1px solid var(--vsol-border) !important;
  border-radius: var(--vsol-radius-lg) !important;
  background: var(--vsol-card) !important;
  box-shadow: var(--vsol-shadow) !important;
}
.consulting-page .service-card:hover,
.consulting-page .industry-card:hover { border-color: var(--vsol-border-accent) !important; }
.consulting-page .service-icon,
.consulting-page .industry-icon,
.consulting-page .step-number { color: var(--vsol-accent) !important; background: var(--vsol-accent-soft) !important; }
.consulting-page .cta { background: radial-gradient(circle at 80% 20%, rgba(16,185,129,.12), transparent 34%), var(--vsol-bg-secondary) !important; }

/* Knowledge hub: preserves flip interaction while aligning the surfaces. */
.knowledge-page .articles-hero { background: radial-gradient(circle at 78% 28%, rgba(16,185,129,.14), transparent 30rem), var(--vsol-bg-primary) !important; }
.knowledge-page .articles-hero::before { opacity: .14 !important; }
.knowledge-page .filter-container,
.knowledge-page .section-title,
.knowledge-page .insight-cta { border-color: var(--vsol-border) !important; background: transparent !important; }
.knowledge-page .flip-front,
.knowledge-page .flip-back,
.knowledge-page .insight-cta {
  border: 1px solid var(--vsol-border) !important;
  border-radius: var(--vsol-radius-lg) !important;
  background: var(--vsol-card-solid) !important;
  box-shadow: var(--vsol-shadow) !important;
}
.knowledge-page .flip-card:hover .flip-front,
.knowledge-page .flip-card:hover .flip-back { border-color: var(--vsol-border-accent) !important; }
.knowledge-page .flip-front .article-meta,
.knowledge-page .flip-back .read-more-hint { color: var(--vsol-accent) !important; }

/* Audit: keeps its diagnostic flow and modal behavior, changes only chrome. */
.audit-page .audit-hero { background: radial-gradient(circle at 76% 28%, rgba(16,185,129,.13), transparent 32rem), var(--vsol-bg-primary) !important; }
.audit-page .section { color: var(--vsol-text); background: transparent !important; border-top: 1px solid var(--vsol-border); }
.audit-page .audit-card,
.audit-page .e2e-audit,
.audit-page .why-item {
  border: 1px solid var(--vsol-border) !important;
  border-radius: var(--vsol-radius-lg) !important;
  background: var(--vsol-card) !important;
  box-shadow: var(--vsol-shadow) !important;
}
.audit-page .audit-card:hover,
.audit-page .why-item:hover { border-color: var(--vsol-border-accent) !important; }
.audit-page .card-icon,
.audit-page .why-item > i,
.audit-page .e2e-shield { color: var(--vsol-accent) !important; }
.audit-page .card-tags span { color: var(--vsol-accent) !important; border-color: var(--vsol-border-accent) !important; background: var(--vsol-accent-soft) !important; }
.audit-page .cta-audit { background: radial-gradient(circle at 50% 0, rgba(16,185,129,.13), transparent 28rem), var(--vsol-bg-secondary) !important; }
.audit-page .modal-content { border: 1px solid var(--vsol-border) !important; border-radius: var(--vsol-radius-lg) !important; background: var(--vsol-card-solid) !important; }
.audit-page .modal-header { border-color: var(--vsol-border) !important; background: var(--vsol-bg-secondary) !important; }

/* Articles and service detail pages: readable editorial surface on dark shell. */
.editorial-page .blog-hero { background: radial-gradient(circle at 82% 20%, rgba(16,185,129,.12), transparent 28rem), var(--vsol-bg-secondary) !important; border-bottom: 1px solid var(--vsol-border); }
.editorial-page .blog-header { max-width: 900px; }
.editorial-page .blog-header h1 { max-width: 18ch; font-size: clamp(2.25rem,5vw,4.4rem) !important; line-height: 1.06 !important; }
.editorial-page .blog-header h2,
.editorial-page .blog-header p { color: var(--vsol-text-secondary) !important; -webkit-text-fill-color: var(--vsol-text-secondary) !important; }
.editorial-page .featured-image { overflow: hidden; border: 1px solid var(--vsol-border) !important; border-radius: var(--vsol-radius-lg) !important; background: var(--vsol-card) !important; box-shadow: var(--vsol-shadow) !important; }
.editorial-page .blog-content {
  max-width: 920px !important;
  margin: clamp(32px,6vw,72px) auto !important;
  padding: clamp(24px,5vw,64px) !important;
  border: 1px solid var(--vsol-border) !important;
  border-radius: var(--vsol-radius-lg) !important;
  background: var(--vsol-card) !important;
  box-shadow: var(--vsol-shadow) !important;
}
.editorial-page .blog-content h2 { margin-top: 2.3em; padding-top: .25em; border-top: 1px solid var(--vsol-border); }
.editorial-page .blog-content h3 { margin-top: 1.8em; }
.editorial-page .blog-content p,
.editorial-page .blog-content li { color: var(--vsol-text-secondary) !important; font-size: clamp(1rem,1.3vw,1.08rem); }
.editorial-page .blog-content a:not(.contact-email) { color: #6ee7d8 !important; }
.editorial-page .insight-block,
.editorial-page .gradient-box,
.editorial-page .contact-block {
  border: 1px solid var(--vsol-border-accent) !important;
  border-radius: var(--vsol-radius-md) !important;
  background: linear-gradient(135deg, rgba(16,185,129,.09), rgba(255,255,255,.025)) !important;
}
.editorial-page .feature-list li::before,
.editorial-page .blog-content li::marker { color: var(--vsol-accent) !important; }

@media (max-width: 768px) {
  .brand-page .container { width: min(100% - 32px,1180px); }
  .brand-page h1 { font-size: clamp(2.25rem,11vw,3.6rem) !important; }
  .brand-page .fade-left,
  .brand-page .fade-right,
  .brand-page .fade-up,
  .brand-page .scale-up { opacity: 1 !important; transform: none !important; }
  .consulting-page .section,
  .consulting-page .cta { width: 100% !important; margin-inline: 0 !important; }
  .consulting-page .process-step { width: 100% !important; margin-inline: 0 !important; }
  .knowledge-page .articles-grid { grid-template-columns: minmax(0,1fr) !important; }
  .knowledge-page .flip-card,
  .knowledge-page .flip-card-inner,
  .knowledge-page .flip-front,
  .knowledge-page .flip-back { width: 100% !important; max-width: 100% !important; }
  .editorial-page .blog-content { padding: 24px 20px !important; }
  .consulting-page .service-card,
  .consulting-page .industry-card,
  .audit-page .audit-card { border-radius: var(--vsol-radius-md) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-page *, .brand-page *::before, .brand-page *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; }
}
