/* ==========================================================================
   TIMY GONZÁLEZ | LIGHT & DARK THEME SYSTEM
   Maintains 100% identical layout and accent colors while delivering
   an ultra-crisp, modern executive Light Mode experience.
   ========================================================================== */

/* ==========================================================================
   INCONSPICUOUS GRAY THEME TOGGLE BUTTON
   Positioned top-right in navbar, quiet muted gray styling
   ========================================================================== */
.theme-toggle-btn {
  width: 38px;
  height: 38px;
  border-radius: var(--radius-full);
  background: rgba(148, 163, 184, 0.12);
  border: 1px solid rgba(148, 163, 184, 0.28);
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition-fast);
  padding: 0;
  flex-shrink: 0;
  position: relative;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.theme-toggle-btn:hover {
  background: rgba(148, 163, 184, 0.22);
  border-color: #94a3b8;
  color: #f1f5f9;
  transform: translateY(-1px);
}

.theme-toggle-btn:active {
  transform: scale(0.95);
}

.theme-toggle-btn:focus-visible {
  outline: 2px solid var(--accent-cyan);
  outline-offset: 2px;
}

/* Icon visibility */
.theme-icon-sun,
.theme-icon-moon,
.theme-icon-contrast {
  transition: transform var(--transition-fast);
}

.theme-icon-sun {
  display: block;
}

.theme-icon-moon {
  display: none;
}

.theme-icon-contrast {
  display: none;
}

.theme-toggle-btn:hover .theme-icon-sun,
.theme-toggle-btn:hover .theme-icon-moon,
.theme-toggle-btn:hover .theme-icon-contrast {
  transform: rotate(15deg);
}

/* ==========================================================================
   LIGHT MODE DESIGN TOKENS
   Preserves layout and vibrant accent colors with clean, high-contrast surfaces
   ========================================================================== */
[data-theme="light"] {
  /* Surfaces & Backgrounds */
  --bg-base: #f8fafc;
  --bg-surface-1: #ffffff;
  --bg-surface-2: #f1f5f9;
  --bg-surface-3: #e2e8f0;
  --bg-glass: rgba(255, 255, 255, 0.85);
  --bg-glass-strong: rgba(255, 255, 255, 0.96);

  /* Identical Vibrant Brand Accents Preserved */
  --accent-cyan: #0284c7;
  --accent-blue: #2563eb;
  --accent-violet: #7c3aed;
  --accent-purple: #9333ea;
  --accent-pink: #db2777;
  --accent-emerald: #059669;
  --accent-amber: #d97706;

  /* Gradient Presets */
  --gradient-brand: linear-gradient(135deg, #0284c7 0%, #2563eb 50%, #7c3aed 100%);
  --gradient-ai: linear-gradient(135deg, #7c3aed 0%, #db2777 50%, #d97706 100%);
  --gradient-dark: linear-gradient(180deg, rgba(248, 250, 252, 0.5) 0%, rgba(248, 250, 252, 0.98) 100%);
  --gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(241, 245, 249, 0.7) 100%);

  /* Borders & Shadows */
  --border-subtle: rgba(15, 23, 42, 0.08);
  --border-light: rgba(15, 23, 42, 0.14);
  --border-accent: rgba(2, 132, 199, 0.4);
  --glow-cyan: 0 0 25px rgba(2, 132, 199, 0.15);
  --glow-violet: 0 0 25px rgba(124, 58, 237, 0.15);

  /* Typography */
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-inverse: #ffffff;
}

/* Light mode icon swap */
[data-theme="light"] .theme-icon-sun {
  display: none;
}

[data-theme="light"] .theme-icon-moon {
  display: none;
}

[data-theme="light"] .theme-icon-contrast {
  display: block;
}

[data-theme="light"] .theme-toggle-btn {
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.28);
  color: #64748b;
}

[data-theme="light"] .theme-toggle-btn:hover {
  background: rgba(100, 116, 139, 0.18);
  border-color: #64748b;
  color: #0f172a;
}

/* ==========================================================================
   LIGHT MODE COMPONENT SURFACE ADAPTATIONS (HOMEPAGE & GLOBAL)
   ========================================================================== */

/* Body Background */
[data-theme="light"] body {
  background-color: var(--bg-base);
  color: var(--text-primary);
  background-image: 
    radial-gradient(circle at 15% 15%, rgba(2, 132, 199, 0.05) 0%, transparent 40%),
    radial-gradient(circle at 85% 35%, rgba(124, 58, 237, 0.05) 0%, transparent 45%),
    radial-gradient(circle at 50% 80%, rgba(37, 99, 235, 0.04) 0%, transparent 50%);
}

/* Header & Navigation */
[data-theme="light"] .site-header.scrolled,
[data-theme="light"] .site-header.header-frosted {
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--border-subtle);
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
}

[data-theme="light"] .brand-name {
  color: #0f172a;
}

[data-theme="light"] .brand-icon-wrapper {
  background: rgba(15, 23, 42, 0.04);
  border-color: var(--border-subtle);
}

[data-theme="light"] .brand-logo:hover .brand-icon-wrapper {
  border-color: var(--accent-cyan);
  box-shadow: 0 0 15px rgba(2, 132, 199, 0.2);
}

[data-theme="light"] .nav-link {
  color: var(--text-secondary);
}

[data-theme="light"] .nav-link:hover,
[data-theme="light"] .nav-link.active {
  color: #0f172a;
}

[data-theme="light"] .mobile-menu-toggle {
  background: rgba(100, 116, 139, 0.08);
  border-color: var(--border-subtle);
  color: #0f172a;
}

[data-theme="light"] .nav-menu {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

/* ==========================================================================
   HERO SECTION ADAPTATIONS
   ========================================================================== */
[data-theme="light"] .hero-glow-1 {
  background: radial-gradient(circle, rgba(2, 132, 199, 0.08) 0%, transparent 70%);
}

[data-theme="light"] .hero-glow-2 {
  background: radial-gradient(circle, rgba(124, 58, 237, 0.08) 0%, rgba(219, 39, 119, 0.05) 50%, transparent 70%);
}

[data-theme="light"] .hero-title {
  color: #0f172a;
}

[data-theme="light"] .hero-subtitle {
  color: #334155;
}

[data-theme="light"] .hero-description {
  color: #475569;
}

[data-theme="light"] .status-badge {
  background: rgba(5, 150, 105, 0.08);
  border-color: rgba(5, 150, 105, 0.25);
  color: #059669;
}

[data-theme="light"] .portrait-wrapper {
  border-color: var(--border-light);
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08),
              0 0 35px rgba(2, 132, 199, 0.08);
  background: #ffffff;
}

[data-theme="light"] .portrait-overlay-gradient {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 40%,
    rgba(248, 250, 252, 0.8) 75%,
    rgba(248, 250, 252, 0.98) 100%
  );
}

[data-theme="light"] .portrait-title-overlay .overlay-name {
  color: #0f172a;
}

[data-theme="light"] .portrait-title-overlay .overlay-role {
  color: #475569;
}

[data-theme="light"] .floating-chip {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--border-light);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .chip-ai-text strong,
[data-theme="light"] .chip-exp-text strong {
  color: #0f172a;
}

[data-theme="light"] .btn-secondary {
  background: #ffffff;
  border-color: var(--border-subtle);
  color: #0f172a;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .btn-secondary:hover {
  background: #f1f5f9;
  border-color: var(--border-light);
  color: #0f172a;
}

/* Metric Counters Bar */
[data-theme="light"] .hero-metrics-bar {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

[data-theme="light"] .metric-item {
  border-right: 1px solid var(--border-subtle);
}

[data-theme="light"] .metric-label {
  color: #0f172a;
}

[data-theme="light"] .metric-sub {
  color: #64748b;
}

/* ==========================================================================
   CLIENT MARQUEE / SOCIAL PROOF
   ========================================================================== */
[data-theme="light"] .client-proof-section {
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

[data-theme="light"] .client-proof-title {
  color: #f1f5f9;
}

[data-theme="light"] .marquee-item {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  color: #1e293b;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .marquee-item:hover {
  background: #ffffff;
  border-color: var(--accent-cyan);
  color: #0f172a;
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.14);
}

/* ==========================================================================
   SECTION HEADERS (GLOBAL)
   ========================================================================== */
[data-theme="light"] .section-pill {
  background: rgba(2, 132, 199, 0.08);
  border-color: rgba(2, 132, 199, 0.25);
  color: var(--accent-cyan);
}

[data-theme="light"] .section-pill.ai-pill {
  background: rgba(124, 58, 237, 0.08);
  border-color: rgba(124, 58, 237, 0.25);
  color: var(--accent-violet);
}

[data-theme="light"] .section-heading {
  color: #0f172a !important;
}

[data-theme="light"] .section-lead {
  color: #475569 !important;
}

[data-theme="light"] .glass-card {
  background: #ffffff;
  border-color: var(--border-subtle);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .glass-card:hover {
  border-color: var(--border-light);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .glass-card::before {
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.06), transparent);
}

/* ==========================================================================
   USE CASES & PROJECTS SECTION
   ========================================================================== */
[data-theme="light"] .filter-btn {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.02);
}

[data-theme="light"] .filter-btn:hover {
  background: #f1f5f9;
  color: #0f172a;
  border-color: var(--border-light);
}

[data-theme="light"] .filter-btn.active {
  background: var(--accent-cyan);
  border-color: var(--accent-cyan);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25);
}

[data-theme="light"] .filter-btn.active.filter-ai {
  background: var(--accent-violet);
  border-color: var(--accent-violet);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.25);
}

[data-theme="light"] .case-card,
[data-theme="light"] .case-card:first-child,
[data-theme="light"] .case-card.featured-card {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
  grid-column: span 1 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
}

[data-theme="light"] .case-card:hover {
  border-color: var(--border-light);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .case-title {
  color: #0f172a;
}

[data-theme="light"] .case-summary {
  color: #475569;
}

[data-theme="light"] .case-client {
  color: #64748b;
}

[data-theme="light"] .badge-tag {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid var(--border-subtle);
}

[data-theme="light"] .badge-tag.tag-ai {
  background: rgba(124, 58, 237, 0.08);
  color: #7c3aed;
  border-color: rgba(124, 58, 237, 0.22);
}

[data-theme="light"] .badge-tag.tag-fintech {
  background: rgba(2, 132, 199, 0.08);
  color: #0284c7;
  border-color: rgba(2, 132, 199, 0.22);
}

[data-theme="light"] .case-highlight-pill {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid var(--border-subtle);
}

[data-theme="light"] .case-card-btn {
  background: #f8fafc;
  border: 1px solid var(--border-subtle);
  color: var(--accent-cyan);
}

[data-theme="light"] .case-card-btn:hover {
  background: var(--accent-cyan);
  border-color: var(--accent-cyan);
  color: #ffffff;
}

/* ==========================================================================
   ABOUT ME & LEADERSHIP SECTION
   ========================================================================== */
[data-theme="light"] .about-bio-p {
  color: #334155;
}

[data-theme="light"] .pillar-card {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .pillar-card:hover {
  border-color: var(--border-light);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .pillar-title {
  color: #0f172a;
}

[data-theme="light"] .pillar-desc {
  color: #475569;
}

/* Skills Matrix */
[data-theme="light"] .skills-matrix-wrapper {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .skills-matrix-header h3 {
  color: #0f172a;
}

[data-theme="light"] .skills-matrix-header p {
  color: #475569;
}

[data-theme="light"] .skill-category h4 {
  color: #0f172a;
}

[data-theme="light"] .skill-tag {
  background: #f1f5f9;
  border: 1px solid var(--border-subtle);
  color: #334155;
}

[data-theme="light"] .skill-tag:hover {
  background: rgba(2, 132, 199, 0.08);
  border-color: var(--accent-cyan);
  color: var(--accent-cyan);
}

/* Testimonials */
[data-theme="light"] .testimonial-card {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .testimonial-card::before {
  color: rgba(15, 23, 42, 0.06);
}

[data-theme="light"] .testimonial-quote {
  color: #334155;
}

[data-theme="light"] .author-info h4 {
  color: #0f172a;
}

/* ==========================================================================
   CONTACT SECTION
   ========================================================================== */
[data-theme="light"] .contact-section {
  border-top: 1px solid var(--border-subtle);
}

[data-theme="light"] .contact-card-item {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}

[data-theme="light"] .contact-card-item:hover {
  border-color: var(--accent-cyan);
  box-shadow: 0 8px 20px rgba(2, 132, 199, 0.1);
}

[data-theme="light"] .contact-text-box strong {
  color: #64748b;
}

[data-theme="light"] .contact-text-box strong .contact-sublabel {
  color: #64748b;
}

[data-theme="light"] .contact-text-box a,
[data-theme="light"] .contact-text-box span {
  color: #0f172a;
}

[data-theme="light"] .calendly-embed-card {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

[data-theme="light"] .calendly-card-header {
  border-bottom-color: var(--border-subtle);
  background: #f8fafc;
}

[data-theme="light"] .calendly-header-title {
  color: #0f172a;
}

[data-theme="light"] .calendly-external-link {
  color: var(--accent-blue);
}

[data-theme="light"] .contact-form-container {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

[data-theme="light"] .form-label {
  color: #0f172a;
}

[data-theme="light"] .form-input,
[data-theme="light"] .form-textarea,
[data-theme="light"] .form-select {
  background: #f8fafc;
  border: 1px solid var(--border-light);
  color: #0f172a;
}

[data-theme="light"] .form-input:focus,
[data-theme="light"] .form-textarea:focus {
  background: #ffffff;
  border-color: var(--accent-cyan);
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
[data-theme="light"] .site-footer {
  background: #f1f5f9;
  border-top: 1px solid var(--border-subtle);
}

[data-theme="light"] .site-footer-brand {
  color: #0f172a;
}

[data-theme="light"] .footer-desc {
  color: #475569;
}

[data-theme="light"] .footer-title {
  color: #0f172a;
}

[data-theme="light"] .footer-nav-links a {
  color: var(--text-secondary);
}

[data-theme="light"] .footer-nav-links a:hover {
  color: #0f172a;
}

[data-theme="light"] .footer-social-link {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  color: #475569;
}

[data-theme="light"] .footer-social-link:hover {
  background: #f1f5f9;
  border-color: var(--accent-cyan);
  color: var(--accent-cyan);
}

[data-theme="light"] .footer-bottom-row {
  border-top-color: var(--border-subtle);
  color: #64748b;
}

/* ==========================================================================
   DEDICATED CASE STUDY PAGE (case-study.html)
   ========================================================================== */
[data-theme="light"] .cs-back-btn {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  color: #0f172a;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

[data-theme="light"] .cs-back-btn:hover {
  background: rgba(2, 132, 199, 0.08);
  border-color: var(--accent-cyan);
  color: var(--accent-cyan);
}

[data-theme="light"] .cs-breadcrumb {
  color: #64748b;
}

[data-theme="light"] .cs-breadcrumb-current {
  color: #0f172a;
}

[data-theme="light"] .cs-hero-title {
  color: #0f172a;
}

[data-theme="light"] .cs-summary-text {
  color: #334155;
}

[data-theme="light"] .cs-meta-grid {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .cs-meta-label {
  color: #64748b;
}

[data-theme="light"] .cs-meta-val {
  color: #0f172a;
}

[data-theme="light"] .cs-metric-card,
[data-theme="light"] .fluree-case-container .cs-metric-card {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05) !important;
}

[data-theme="light"] .cs-metric-card::before,
[data-theme="light"] .fluree-case-container .cs-metric-card::before {
  background: #4f46e5 !important;
  height: 4px !important;
}

[data-theme="light"] .cs-metric-val,
[data-theme="light"] .fluree-case-container .cs-metric-val {
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: #4338ca !important;
  color: #4338ca !important;
}

[data-theme="light"] .cs-metric-title,
[data-theme="light"] .fluree-case-container .cs-metric-title {
  color: #0f172a !important;
  font-weight: 800 !important;
}

[data-theme="light"] .cs-metric-desc,
[data-theme="light"] .fluree-case-container .cs-metric-desc {
  color: #334155 !important;
  font-weight: 500 !important;
}

[data-theme="light"] .cs-window-frame {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

[data-theme="light"] .cs-window-bar {
  background: #f1f5f9;
  border-bottom: 1px solid var(--border-subtle);
}

[data-theme="light"] .cs-window-address {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  color: #64748b;
}

[data-theme="light"] .cs-gallery-strip {
  background: #f8fafc;
  border-top: 1px solid var(--border-subtle);
}

[data-theme="light"] .cs-gallery-thumb-btn {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  color: #475569;
}

[data-theme="light"] .cs-gallery-thumb-btn:hover {
  background: #f1f5f9;
  border-color: var(--border-light);
  color: #0f172a;
}

[data-theme="light"] .cs-gallery-thumb-btn.active {
  background: rgba(2, 132, 199, 0.1);
  border-color: var(--accent-cyan);
  color: var(--accent-cyan);
}

[data-theme="light"] .cs-active-caption-bar {
  background: #ffffff;
  border-top: 1px solid var(--border-subtle);
  color: #475569;
}

[data-theme="light"] .cs-active-caption-title {
  color: #0f172a;
}

[data-theme="light"] #activeScreenCaption {
  background: #f8fafc !important;
  color: #475569 !important;
  border-top: 1px solid var(--border-subtle) !important;
}

[data-theme="light"] .cs-narrative-card {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .cs-narrative-card.ai-highlight {
  background: linear-gradient(180deg, #ffffff 0%, #faf5ff 100%);
  border-color: rgba(124, 58, 237, 0.25);
  box-shadow: 0 8px 24px rgba(124, 58, 237, 0.06);
}

[data-theme="light"] .cs-card-header h2 {
  color: #0f172a;
}

[data-theme="light"] .cs-narrative-text {
  color: #334155;
}

[data-theme="light"] .cs-page-objective-item,
[data-theme="light"] .cs-page-persona-card {
  background: #f8fafc;
  border: 1px solid var(--border-subtle);
}

[data-theme="light"] .cs-page-objective-item strong,
[data-theme="light"] .cs-persona-name {
  color: #0f172a;
}

[data-theme="light"] .cs-persona-quote {
  color: #334155;
}

[data-theme="light"] .cs-inline-figure {
  background: #f8fafc;
  border-color: var(--border-subtle);
}

[data-theme="light"] .cs-figure-caption {
  background: #ffffff;
  border-top: 1px solid var(--border-subtle);
  color: #475569;
}

[data-theme="light"] .cs-screen-card {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .cs-screen-card-info {
  background: #ffffff;
}

[data-theme="light"] .cs-screen-card-title {
  color: #0f172a;
}

[data-theme="light"] .cs-screen-card-caption {
  color: #475569;
}

[data-theme="light"] .cs-nav-project-card {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .cs-nav-title {
  color: #0f172a;
}

[data-theme="light"] .cs-cta-banner {
  background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .cs-cta-title {
  color: #0f172a;
}

[data-theme="light"] .cs-cta-desc {
  color: #475569;
}

[data-theme="light"] .cs-lightbox-dialog {
  background: #ffffff;
  border-color: var(--border-subtle);
}

[data-theme="light"] .cs-lightbox-header,
[data-theme="light"] .cs-lightbox-footer {
  background: #f8fafc;
  border-color: var(--border-subtle);
  color: #0f172a;
}

[data-theme="light"] .cs-lightbox-title {
  color: #0f172a;
}

[data-theme="light"] .cs-lightbox-close {
  background: rgba(15, 23, 42, 0.06);
  border-color: var(--border-subtle);
  color: #0f172a;
}

/* ==========================================================================
   HIGH CONTRAST THEME (WCAG AAA & VISUAL ACCESSIBILITY SPECIFICATION)
   Deep pitch black backgrounds, pure white text, electric yellow/cyan accents,
   solid visible boundaries, high-contrast focus rings, and zero subtle blur.
   Maintains 100% identical layout, content, and component structure.
   ========================================================================== */

[data-theme="high-contrast"] {
  /* Surfaces & Backgrounds: True Deep Black */
  --bg-base: #000000;
  --bg-surface-1: #0a0a0a;
  --bg-surface-2: #141414;
  --bg-surface-3: #1f1f1f;
  --bg-glass: #000000;
  --bg-glass-strong: #0a0a0a;

  /* High-Visibility Accents (WCAG AAA compliant: >= 7:1 to 21:1 against #000000) */
  --accent-cyan: #00ffff;
  --accent-blue: #38bdf8;
  --accent-violet: #d8b4fe;
  --accent-purple: #f0abfc;
  --accent-pink: #f472b6;
  --accent-emerald: #4ade80;
  --accent-amber: #facc15;
  --accent-yellow: #ffff00;

  /* High Contrast Solid Gradients (replaces subtle transparencies) */
  --gradient-brand: linear-gradient(135deg, #00ffff 0%, #38bdf8 50%, #ffff00 100%);
  --gradient-ai: linear-gradient(135deg, #facc15 0%, #f472b6 50%, #00ffff 100%);
  --gradient-dark: #000000;
  --gradient-surface: #0a0a0a;

  /* Crisp High-Contrast Borders & Outlines */
  --border-subtle: #ffffff;
  --border-light: #ffffff;
  --border-accent: #ffff00;
  --glow-cyan: none;
  --glow-violet: none;

  /* Typography: Maximum Contrast Ratios */
  --text-primary: #ffffff;    /* 21:1 pure contrast */
  --text-secondary: #f0f4f8;  /* 18:1 contrast */
  --text-muted: #e2e8f0;      /* 15:1 contrast */
  --text-inverse: #000000;

  /* High Contrast Scrollbar */
  scrollbar-color: #ffff00 #000000;
}

/* High Contrast Icon Swap: Shows Moon to cycle back to Dark Mode */
[data-theme="high-contrast"] .theme-icon-sun {
  display: none;
}

[data-theme="high-contrast"] .theme-icon-moon {
  display: block;
}

[data-theme="high-contrast"] .theme-icon-contrast {
  display: none;
}

[data-theme="high-contrast"] .theme-toggle-btn {
  background: #000000;
  border: 2px solid #ffff00;
  color: #ffff00;
}

[data-theme="high-contrast"] .theme-toggle-btn:hover {
  background: #ffff00;
  color: #000000;
  border-color: #ffffff;
}

/* Global Body in High Contrast */
[data-theme="high-contrast"] body {
  background-color: #000000;
  color: #ffffff;
  background-image: none !important;
}

/* Global Focus Rings in High Contrast (WCAG 2.4.7) */
[data-theme="high-contrast"] :focus-visible {
  outline: 3px solid #ffff00 !important;
  outline-offset: 3px !important;
}

/* Navigation & Header */
[data-theme="high-contrast"] .site-header.scrolled,
[data-theme="high-contrast"] .site-header.header-frosted {
  background: #000000 !important;
  border-bottom: 2px solid #ffffff !important;
  box-shadow: none !important;
}

[data-theme="high-contrast"] .brand-name {
  color: #ffffff !important;
}

[data-theme="high-contrast"] .brand-role-tag {
  color: #ffff00 !important;
  font-weight: 700;
}

[data-theme="high-contrast"] .brand-icon-wrapper {
  background: #000000;
  border: 2px solid #ffffff;
}

[data-theme="high-contrast"] .nav-link {
  color: #ffffff !important;
  font-weight: 600;
}

[data-theme="high-contrast"] .nav-link:hover,
[data-theme="high-contrast"] .nav-link.active {
  color: #ffff00 !important;
  text-decoration: underline;
  text-underline-offset: 6px;
}

[data-theme="high-contrast"] .mobile-menu-toggle {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .nav-menu.mobile-open {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
}

[data-theme="high-contrast"] .nav-menu.mobile-open .nav-link {
  color: #ffffff !important;
  border-bottom: 1px solid #333333;
}

/* Headings & Text */
[data-theme="high-contrast"] h1,
[data-theme="high-contrast"] h2,
[data-theme="high-contrast"] h3,
[data-theme="high-contrast"] h4,
[data-theme="high-contrast"] h5,
[data-theme="high-contrast"] h6,
[data-theme="high-contrast"] .section-title,
[data-theme="high-contrast"] .section-heading,
[data-theme="high-contrast"] .hero-title,
[data-theme="high-contrast"] .cs-hero-title,
[data-theme="high-contrast"] .fluree-section-title,
[data-theme="high-contrast"] .fluree-tools-heading {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

[data-theme="high-contrast"] .gradient-text,
[data-theme="high-contrast"] .gradient-text-ai {
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: #ffff00 !important;
  color: #ffff00 !important;
}

[data-theme="high-contrast"] p,
[data-theme="high-contrast"] .hero-description,
[data-theme="high-contrast"] .section-subtitle,
[data-theme="high-contrast"] .section-lead,
[data-theme="high-contrast"] .case-summary,
[data-theme="high-contrast"] .metric-sub,
[data-theme="high-contrast"] .cs-cta-desc,
[data-theme="high-contrast"] .fluree-main-desc,
[data-theme="high-contrast"] .fluree-problem-text,
[data-theme="high-contrast"] .fluree-objective-text,
[data-theme="high-contrast"] .fluree-meta-content {
  color: #f0f4f8 !important;
}

/* Badges & Pills */
[data-theme="high-contrast"] .section-pill,
[data-theme="high-contrast"] .badge-tag,
[data-theme="high-contrast"] .status-badge,
[data-theme="high-contrast"] .chip-tag {
  background: #000000 !important;
  border: 2px solid #ffff00 !important;
  color: #ffff00 !important;
  font-weight: 700 !important;
}

[data-theme="high-contrast"] .status-dot {
  background: #ffff00 !important;
  box-shadow: none !important;
}

/* Interactive Buttons */
[data-theme="high-contrast"] .btn-primary,
[data-theme="high-contrast"] .nav-cta-btn {
  background: #ffff00 !important;
  color: #000000 !important;
  border: 2px solid #ffffff !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

[data-theme="high-contrast"] .btn-primary:hover,
[data-theme="high-contrast"] .nav-cta-btn:hover {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffff00 !important;
}

[data-theme="high-contrast"] .btn-secondary,
[data-theme="high-contrast"] .filter-btn {
  background: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  font-weight: 700 !important;
  backdrop-filter: none !important;
}

[data-theme="high-contrast"] .btn-secondary:hover,
[data-theme="high-contrast"] .filter-btn:hover {
  background: #1f1f1f !important;
  border-color: #ffff00 !important;
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .filter-btn.active {
  background: #ffff00 !important;
  color: #000000 !important;
  border: 2px solid #ffffff !important;
  font-weight: 800 !important;
}

[data-theme="high-contrast"] .btn-glow-ai {
  background: #00ffff !important;
  color: #000000 !important;
  border: 2px solid #ffffff !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

/* Cards & Content Surfaces */
[data-theme="high-contrast"] .glass-card,
[data-theme="high-contrast"] .case-card,
[data-theme="high-contrast"] .client-card,
[data-theme="high-contrast"] .cs-metric-card,
[data-theme="high-contrast"] .fluree-case-container .cs-metric-card,
[data-theme="high-contrast"] .fluree-meta-strip,
[data-theme="high-contrast"] .cs-meta-grid,
[data-theme="high-contrast"] .cs-narrative-card,
[data-theme="high-contrast"] .cs-screen-card,
[data-theme="high-contrast"] .fluree-showcase-card,
[data-theme="high-contrast"] .cs-nav-project-card,
[data-theme="high-contrast"] .cs-cta-banner,
[data-theme="high-contrast"] .fluree-persona-card,
[data-theme="high-contrast"] .about-stat-card,
[data-theme="high-contrast"] .leadership-card,
[data-theme="high-contrast"] .testimonial-card,
[data-theme="high-contrast"] .contact-card {
  background: #0a0a0a !important;
  border: 2px solid #ffffff !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

[data-theme="high-contrast"] .glass-card:hover,
[data-theme="high-contrast"] .case-card:hover,
[data-theme="high-contrast"] .fluree-showcase-card:hover,
[data-theme="high-contrast"] .cs-nav-project-card:hover {
  border-color: #ffff00 !important;
}

[data-theme="high-contrast"] .glass-card::before,
[data-theme="high-contrast"] .case-card::before {
  display: none !important;
}

/* Metrics & Statistics in High Contrast */
[data-theme="high-contrast"] .cs-metric-card,
[data-theme="high-contrast"] .fluree-case-container .cs-metric-card {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  box-shadow: none !important;
}

[data-theme="high-contrast"] .cs-metric-card::before,
[data-theme="high-contrast"] .fluree-case-container .cs-metric-card::before {
  background: #ffff00 !important;
  height: 4px !important;
}

[data-theme="high-contrast"] .metric-number,
[data-theme="high-contrast"] .cs-metric-val,
[data-theme="high-contrast"] .fluree-case-container .cs-metric-val,
[data-theme="high-contrast"] .metric-hero-val {
  color: #ffff00 !important;
  -webkit-text-fill-color: #ffff00 !important;
  background: none !important;
  text-shadow: none !important;
}

[data-theme="high-contrast"] .cs-metric-title,
[data-theme="high-contrast"] .fluree-case-container .cs-metric-title {
  color: #ffffff !important;
  font-weight: 800 !important;
}

[data-theme="high-contrast"] .cs-metric-desc,
[data-theme="high-contrast"] .fluree-case-container .cs-metric-desc {
  color: #ffffff !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

[data-theme="high-contrast"] .hero-metrics-bar {
  background: #0a0a0a !important;
  border: 2px solid #ffffff !important;
}

[data-theme="high-contrast"] .metric-item {
  border-color: #333333 !important;
}

[data-theme="high-contrast"] .metric-label {
  color: #ffffff !important;
}

/* Client Marquee in High Contrast */
[data-theme="high-contrast"] .client-proof-section {
  background: #000000 !important;
  border-top: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
}

[data-theme="high-contrast"] .client-proof-title {
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .marquee-item {
  background: #0a0a0a !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .marquee-item:hover {
  border-color: #ffff00 !important;
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .marquee-item img {
  filter: brightness(0) invert(1) !important;
}

/* Case Study Lightbox Modal */
[data-theme="high-contrast"] .cs-lightbox-overlay {
  background: rgba(0, 0, 0, 0.96) !important;
}

[data-theme="high-contrast"] .cs-lightbox-dialog {
  background: #000000 !important;
  border: 3px solid #ffffff !important;
}

[data-theme="high-contrast"] .cs-lightbox-header,
[data-theme="high-contrast"] .cs-lightbox-footer {
  background: #0a0a0a !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .cs-lightbox-title {
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .cs-lightbox-close {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .cs-lightbox-close:hover {
  border-color: #ffff00 !important;
  color: #ffff00 !important;
}

/* Form Controls */
[data-theme="high-contrast"] input,
[data-theme="high-contrast"] textarea,
[data-theme="high-contrast"] select {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] input:focus,
[data-theme="high-contrast"] textarea:focus,
[data-theme="high-contrast"] select:focus {
  border-color: #ffff00 !important;
  outline: 3px solid #ffff00 !important;
}

[data-theme="high-contrast"] input::placeholder,
[data-theme="high-contrast"] textarea::placeholder {
  color: #d1d5db !important;
}

/* Footer */
[data-theme="high-contrast"] .site-footer {
  background: #000000 !important;
  border-top: 2px solid #ffffff !important;
}

[data-theme="high-contrast"] .footer-nav-links a {
  color: #ffffff !important;
  text-decoration: underline;
}

[data-theme="high-contrast"] .footer-nav-links a:hover {
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .back-to-top-btn {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .back-to-top-btn:hover {
  background: #1f1f1f !important;
  border-color: #ffff00 !important;
  color: #ffff00 !important;
}

/* Zetta Mind Map in High Contrast */
[data-theme="high-contrast"] .zetta-mindmap-container {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  background-image: none !important;
}

[data-theme="high-contrast"] .zetta-toolbar {
  background: #0a0a0a !important;
  border: 2px solid #ffffff !important;
}

[data-theme="high-contrast"] .zetta-action-btn {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .zetta-action-btn:hover {
  border-color: #ffff00 !important;
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .zetta-category-chip {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .zetta-category-chip.active {
  background: #ffff00 !important;
  color: #000000 !important;
  border-color: #ffffff !important;
  font-weight: 800 !important;
}

[data-theme="high-contrast"] .zetta-search-input {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .zetta-inspector-panel {
  background: #0a0a0a !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

/* High Contrast Case Studies & Fluree Overrides */
[data-theme="high-contrast"] .fluree-case-container,
[data-theme="high-contrast"] .cs-detail-page,
[data-theme="high-contrast"] .cs-single-wrapper {
  background: #000000 !important;
  color: #ffffff !important;
}

[data-theme="high-contrast"] .fluree-case-container .meta-label,
[data-theme="high-contrast"] .cs-meta-col .meta-label,
[data-theme="high-contrast"] .cs-meta-label {
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .fluree-case-container .meta-val,
[data-theme="high-contrast"] .cs-meta-col .meta-val,
[data-theme="high-contrast"] .cs-meta-val {
  color: #ffffff !important;
}

[data-theme="high-contrast"] .fluree-case-container .meta-val.val-ai,
[data-theme="high-contrast"] .fluree-case-container .meta-val.val-accent,
[data-theme="high-contrast"] .cs-meta-col .meta-val.val-accent,
[data-theme="high-contrast"] .cs-meta-col .meta-val.val-ai {
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .fluree-company-name,
[data-theme="high-contrast"] .fluree-main-title,
[data-theme="high-contrast"] .fluree-section-title,
[data-theme="high-contrast"] .fluree-problem-quote,
[data-theme="high-contrast"] .fluree-challenge-title,
[data-theme="high-contrast"] .fluree-challenge-desc,
[data-theme="high-contrast"] .fluree-goal-card-title,
[data-theme="high-contrast"] .fluree-goal-card-desc,
[data-theme="high-contrast"] .fluree-block-heading,
[data-theme="high-contrast"] .fluree-block-desc,
[data-theme="high-contrast"] .fluree-quote-text,
[data-theme="high-contrast"] .fluree-demo-val,
[data-theme="high-contrast"] .fluree-bullet-list li,
[data-theme="high-contrast"] .fluree-persona-name,
[data-theme="high-contrast"] .cs-page-objective-item strong,
[data-theme="high-contrast"] .cs-page-objective-item span,
[data-theme="high-contrast"] .cs-page-persona-card h4,
[data-theme="high-contrast"] .cs-page-persona-card p {
  color: #ffffff !important;
}

[data-theme="high-contrast"] .fluree-section-pill,
[data-theme="high-contrast"] .fluree-hero-badge,
[data-theme="high-contrast"] .fluree-problem-icon-badge,
[data-theme="high-contrast"] .fluree-goal-num-badge {
  background: #000000 !important;
  border: 2px solid #ffff00 !important;
  color: #ffff00 !important;
}

[data-theme="high-contrast"] .fluree-problem-card,
[data-theme="high-contrast"] .fluree-problem-lead-box,
[data-theme="high-contrast"] .fluree-challenge-mini-card,
[data-theme="high-contrast"] .fluree-goal-card,
[data-theme="high-contrast"] .cs-page-objective-item,
[data-theme="high-contrast"] .cs-page-persona-card,
[data-theme="high-contrast"] .fluree-quote-box {
  background: #0a0a0a !important;
  border: 2px solid #ffffff !important;
}

[data-theme="high-contrast"] .zetta-cat-btn {
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}

[data-theme="high-contrast"] .zetta-cat-btn.active {
  background: #ffff00 !important;
  color: #000000 !important;
  border-color: #ffffff !important;
  font-weight: 800 !important;
}

