/* Vivid — bold startup gradients, rounded shapes. */
.theme-vivid { --grad: linear-gradient(120deg, var(--c-brand), var(--c-accent)); }
.theme-vivid .topbar { background: var(--grad); }
.theme-vivid .btn--primary { --btn-bg: transparent; background: var(--grad); border-color: transparent; }
.theme-vivid .btn--primary:hover { box-shadow: 0 14px 30px -10px color-mix(in srgb, var(--c-accent) 70%, transparent); filter: saturate(1.15); }
.theme-vivid .header-cta { box-shadow: 0 8px 20px -8px color-mix(in srgb, var(--c-brand) 70%, transparent); }

/* Hero */
.theme-vivid .hero-slide__bg::after { background: linear-gradient(115deg, color-mix(in srgb, var(--c-navy-900) 92%, transparent) 0%, color-mix(in srgb, var(--c-brand) 72%, transparent) 55%, color-mix(in srgb, var(--c-accent) 55%, transparent) 100%); }
.theme-vivid .hero-slider { border-radius: 0 0 48px 48px; }
.theme-vivid .hero-slide__title { font-weight: 800; letter-spacing: -.02em; }
.theme-vivid .hero-slide .eyebrow--light { background: rgba(255,255,255,.14); color: #fff; padding: 7px 16px; border-radius: 999px; backdrop-filter: blur(6px); }
.theme-vivid .hero-slide .eyebrow--light::before { display: none; }
.theme-vivid .hero-slide .btn--primary { background: #fff; color: var(--c-brand); }
.theme-vivid .slider-dot.is-active { background: #fff; }

/* Headings */
.theme-vivid .eyebrow { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.theme-vivid .eyebrow::before { background: var(--grad); }
.theme-vivid .section--dark .eyebrow, .theme-vivid .section--brand .eyebrow, .theme-vivid .eyebrow--light { background: none; color: #fff; }
.theme-vivid .section-title { font-weight: 800; }

/* Cards with gradient edge */
.theme-vivid .plan--highlight { box-shadow: 0 0 0 2px var(--c-accent), 0 28px 60px -24px color-mix(in srgb, var(--c-brand) 60%, transparent); }
.theme-vivid .card, .theme-vivid .feature-card, .theme-vivid .industry-card, .theme-vivid .testimonial, .theme-vivid .plan, .theme-vivid .image-card,
.theme-vivid .contact-card, .theme-vivid .numbered-card { position: relative; border: 0; box-shadow: 0 2px 4px rgba(28,16,51,.04), 0 18px 40px -22px rgba(76,29,149,.35); }
.theme-vivid .feature-card, .theme-vivid .contact-card { overflow: hidden; }
.theme-vivid .feature-card::before, .theme-vivid .card::before, .theme-vivid .contact-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--grad); z-index: 2; }
.theme-vivid .card:hover, .theme-vivid .feature-card:hover, .theme-vivid .industry-card:hover { box-shadow: 0 28px 60px -24px color-mix(in srgb, var(--c-brand) 60%, transparent); }
.theme-vivid .feature-card__icon { background: var(--grad); border-radius: 18px; }
.theme-vivid .card__icon, .theme-vivid .industry-card__icon { background: linear-gradient(135deg, color-mix(in srgb, var(--c-brand) 12%, #fff), color-mix(in srgb, var(--c-accent) 14%, #fff)); }
.theme-vivid .industry-card:hover .industry-card__icon { background: var(--grad); }
.theme-vivid .card__label { color: var(--c-accent); }
.theme-vivid .section--brand { background: var(--grad); }
.theme-vivid .section--brand .btn--light { color: var(--c-brand); }
.theme-vivid .section--muted { background: radial-gradient(40% 60% at 100% 0%, color-mix(in srgb, var(--c-accent) 10%, transparent), transparent 70%), radial-gradient(40% 60% at 0% 100%, color-mix(in srgb, var(--c-brand) 10%, transparent), transparent 70%), var(--c-bg-muted); }
.theme-vivid .page-header { background: linear-gradient(115deg, var(--c-navy-950), color-mix(in srgb, var(--c-brand) 75%, var(--c-navy-950)) 60%, color-mix(in srgb, var(--c-accent) 70%, var(--c-navy-950))); border-radius: 0 0 40px 40px; }
.theme-vivid .page-header::after { display: none; }
.theme-vivid .cta-banner { background: linear-gradient(115deg, var(--c-navy-950), color-mix(in srgb, var(--c-brand) 70%, var(--c-navy-950)), color-mix(in srgb, var(--c-accent) 60%, var(--c-navy-950))); }
.theme-vivid .accordion__item[open] { border-color: var(--c-accent); }
.theme-vivid .site-footer { border-radius: 48px 48px 0 0; }
.theme-vivid .support-widget__toggle, .theme-vivid .back-to-top:hover { background: var(--grad); }
