/* Theme system: default is current dark. Light theme overrides tokens + key surfaces. */

/* Toggle button (works in both themes) */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 36px;
  height: 36px;
  margin-left: 10px;
  border-radius: 999px;
  border: 1px solid var(--border-subtle);
  background: rgba(7, 10, 24, 0.6);
  color: var(--text-main);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.theme-toggle:hover {
  background: rgba(15, 23, 42, 0.72);
  border-color: rgba(79, 140, 255, 0.35);
  transform: translateY(-1px);
}
html[data-theme="light"] .theme-toggle {
  background: rgba(7, 10, 24, 0.6);
  color: #f5f7ff;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}
html[data-theme="light"] .theme-toggle:hover {
  background: rgba(15, 23, 42, 0.72);
  border-color: rgba(79, 140, 255, 0.35);
  box-shadow: none;
}
.theme-toggle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.theme-toggle-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 18px;
}
.theme-toggle .icon-sun { display: none; }
html[data-theme="light"] .theme-toggle .icon-sun { display: inline-flex; }
html[data-theme="light"] .theme-toggle .icon-moon { display: none; }

/* Theme mode popover (3-state) */
.theme-popover {
  position: absolute;
  z-index: 10002;
  width: 260px;
  padding: 8px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(5, 7, 19, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
}
.theme-popover-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(245, 247, 255, 0.92);
  cursor: pointer;
  text-align: left;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
.theme-popover-item:hover,
.theme-popover-item:focus-visible {
  background: rgba(79, 140, 255, 0.10);
  border-color: rgba(79, 140, 255, 0.22);
  outline: none;
}
.theme-popover-item:active { transform: translateY(1px); }
.theme-popover-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(245, 247, 255, 0.35);
  background: rgba(245, 247, 255, 0.10);
  box-shadow: 0 0 0 3px rgba(79, 140, 255, 0.00);
  flex-shrink: 0;
}
.theme-popover-item.is-selected .theme-popover-dot {
  border-color: rgba(79, 140, 255, 0.65);
  background: linear-gradient(135deg, var(--accent), var(--accent-strong));
  box-shadow: 0 0 0 3px rgba(79, 140, 255, 0.16);
}
.theme-popover-label { font-weight: 600; font-size: 0.875rem; letter-spacing: 0.01em; }

.theme-popover-section-title {
  margin: 4px 6px 8px;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(163, 173, 199, 0.78);
}
.theme-popover-sep {
  height: 1px;
  margin: 8px 6px;
  background: rgba(148, 163, 255, 0.14);
  border-radius: 999px;
}

/* Page-level placement helper (privacy/qr) */
.theme-toggle.theme-toggle--page {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 10001;
}

/* ===== Light theme — Luxury edition ===== */
html[data-theme="light"] {
  --bg-main: #f0f3fb;
  --bg-alt: #e6ebf7;
  --bg-elevated: #ffffff;

  --text-main: #0b1220;
  /* Slightly darker for readability on glass surfaces */
  --text-muted: #2b3a52;

  --border-subtle: rgba(15, 23, 42, 0.10);
  /* Glass borders should still be visible on pale backgrounds */
  --border-glass: rgba(15, 23, 42, 0.12);
  --shadow-soft: 0 20px 50px rgba(2, 6, 23, 0.10);
  --shadow-card: 0 4px 24px rgba(2, 6, 23, 0.06), 0 1px 3px rgba(2, 6, 23, 0.04);
  --shadow-card-hover: 0 16px 48px rgba(37, 99, 235, 0.10), 0 4px 12px rgba(2, 6, 23, 0.06);
  --glass-bg: rgba(255, 255, 255, 0.78);
  --glass-blur: blur(16px);

  --accent: #2563eb;
  --accent-soft: rgba(37, 99, 235, 0.14);
  --accent-strong: #7c3aed;
  --accent-warm: #a78bfa;
}

html[data-theme="light"] body {
  background:
    radial-gradient(ellipse 80% 50% at 10% 0%, rgba(37, 99, 235, 0.07) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 90% 100%, rgba(124, 58, 237, 0.05) 0%, transparent 50%),
    linear-gradient(180deg, #f0f3fb 0%, #e8ecf8 50%, #e2e7f4 100%);
  color: var(--text-main);
}

/* ---- Header: dark (same as dark theme) ---- */
html[data-theme="light"] .site-header {
  background: radial-gradient(circle at top left, rgba(53, 87, 255, 0.18), transparent 60%),
    rgba(5, 7, 19, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
html[data-theme="light"] .logo-brand {
  color: #e8eef8;
  -webkit-text-fill-color: #e8eef8;
}
html[data-theme="light"] .logo:hover .logo-brand {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}
html[data-theme="light"] .nav-list a {
  color: rgba(163, 173, 199, 0.8);
  transition: color 0.2s ease-out;
}
html[data-theme="light"] .nav-list a:hover,
html[data-theme="light"] .nav-list a:focus-visible,
html[data-theme="light"] .nav-list a.is-active { color: #f5f7ff; }
html[data-theme="light"] .nav-toggle-line { background: #e8eef8; }

/* Logo iIi in header: keep original metallic gradient (dark header) */

/* ---- Hero: TODOIT premium gradient (darker) ---- */
html[data-theme="light"] .hero-mega-todoit {
  background: linear-gradient(110deg, #070b18 0%, #122254 18%, #1e40af 34%, #5b21b6 50%, #1e40af 66%, #122254 82%, #070b18 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
html[data-theme="light"] .hero-mega-ili {
  background: linear-gradient(110deg, #0f1b3d 0%, #1e40af 20%, #5b21b6 40%, #1e40af 60%, #122254 80%, #0f1b3d 100%);
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
html[data-theme="light"] .hero-mega-ili-wrap {
  animation: iliHaloPulseLight 3.2s ease-in-out infinite;
}
html[data-theme="light"] .hero-mega-tagline {
  color: #334155;
}
html[data-theme="light"] .hero-mega-tagline-sub {
  color: #475569;
}
html[data-theme="light"] .hero-tagline-ili {
  background: linear-gradient(110deg, #0f1b3d 0%, #1e40af 22%, #5b21b6 44%, #1e40af 66%, #0f1b3d 88%, #070b18 100%);
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}
html[data-theme="light"] .hero-brand-strip .hero-brand-card-mark.card-label {
  color: var(--accent);
}

/* ---- Sections: layered backgrounds ---- */
html[data-theme="light"] .section-light {
  background:
    radial-gradient(ellipse 50% 30% at 80% 0%, rgba(124, 58, 237, 0.03), transparent),
    linear-gradient(180deg, #f5f7fd 0%, #eef2fb 100%);
  border-top: 1px solid rgba(37, 99, 235, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
html[data-theme="light"] .section-light + .section-light {
  background:
    radial-gradient(ellipse 50% 30% at 20% 100%, rgba(37, 99, 235, 0.03), transparent),
    linear-gradient(180deg, #eef2fb 0%, #e6ebf7 100%);
  border-top-color: rgba(37, 99, 235, 0.06);
}
html[data-theme="light"] .section-dark {
  background: linear-gradient(135deg, #f0f3fb, #e6ebf7);
}

/* ---- Section title: accent line ---- */
html[data-theme="light"] .section-title {
  color: #0f172a;
  position: relative;
  display: inline-block;
}
html[data-theme="light"] .section-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  margin-top: 10px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--accent), var(--accent-strong));
}

/* ---- Cards: glass + refined shadows ---- */
html[data-theme="light"] .card,
html[data-theme="light"] .format-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--border-glass);
  box-shadow: var(--shadow-card);
  transition: transform 0.28s ease-out, box-shadow 0.28s ease-out, border-color 0.28s ease-out;
}
html[data-theme="light"] .card:hover,
html[data-theme="light"] .format-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card-hover);
  border-color: rgba(37, 99, 235, 0.18);
}
html[data-theme="light"] .card-title,
html[data-theme="light"] .ecosystem-card-name,
html[data-theme="light"] .role-en { color: #0f172a; }
html[data-theme="light"] .card-text,
html[data-theme="light"] .format-text { color: var(--text-muted); }
html[data-theme="light"] .card-label { color: var(--accent); }
html[data-theme="light"] .format-title { color: #0f172a; }
html[data-theme="light"] .format-subtitle { color: var(--accent); }

/* ---- Founder block: premium glass card ---- */
html[data-theme="light"] .vp-founder-shell {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-color: var(--border-glass);
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
html[data-theme="light"] .vp-founder-name { color: #0f172a; }
html[data-theme="light"] .vp-founder-name-over { color: #475569; }
html[data-theme="light"] .vp-founder-headline { color: #0f172a; }
html[data-theme="light"] .vp-founder-bio { color: #334155; }
html[data-theme="light"] .vp-founder-kicker { color: var(--accent); }
html[data-theme="light"] .vp-founder-accent { color: #475569; }
html[data-theme="light"] .vp-founder-bullets li::before { color: var(--accent); }
html[data-theme="light"] .vp-founder-photo-wrapper {
  border: none;
  background-image: none;
  box-shadow: 0 18px 50px rgba(2, 6, 23, 0.22), 0 6px 16px rgba(2, 6, 23, 0.10);
}

/* ---- Buttons: refined ---- */
html[data-theme="light"] .btn-vp-icon-img,
html[data-theme="light"] .contact-icon-img {
  filter: brightness(0.45);
}
html[data-theme="light"] .btn-vp-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.18);
  box-shadow: 0 2px 6px rgba(2, 6, 23, 0.08), 0 6px 20px rgba(2, 6, 23, 0.06);
  transition: all 0.22s ease-out;
}
html[data-theme="light"] .btn-vp-secondary:hover,
html[data-theme="light"] .btn-vp-secondary:focus-visible {
  background: #f8faff;
  color: var(--accent);
  border-color: rgba(37, 99, 235, 0.30);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.12), 0 8px 28px rgba(2, 6, 23, 0.08);
  transform: translateY(-2px);
}

/* CTA button: premium glow */
html[data-theme="light"] .contact-btn.primary {
  background: linear-gradient(135deg, var(--accent), var(--accent-strong));
  box-shadow:
    0 8px 28px rgba(37, 99, 235, 0.28),
    0 0 0 1px rgba(37, 99, 235, 0.10);
}
html[data-theme="light"] .contact-btn.primary:hover {
  box-shadow:
    0 12px 36px rgba(37, 99, 235, 0.32),
    0 0 0 1px rgba(124, 58, 237, 0.14);
}

/* ---- Expertise: high-contrast ---- */
html[data-theme="light"] .expertise-sort-toggle {
  background: #ffffff;
  color: #1e293b;
  border-color: rgba(15, 23, 42, 0.16);
  box-shadow: 0 2px 6px rgba(2, 6, 23, 0.06);
}
html[data-theme="light"] .expertise-sort-toggle:hover,
html[data-theme="light"] .expertise-sort-toggle[aria-expanded="true"] {
  background: #f8faff;
  color: var(--accent);
  border-color: rgba(37, 99, 235, 0.24);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}
html[data-theme="light"] .expertise-sort-menu {
  background: rgba(255, 255, 255, 0.97);
  border-color: rgba(15, 23, 42, 0.10);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}
html[data-theme="light"] .expertise-sort-item {
  color: #334155;
}
html[data-theme="light"] .expertise-sort-item:hover {
  background: rgba(37, 99, 235, 0.06);
  color: var(--accent);
}
html[data-theme="light"] .expertise-sort-item.is-active {
  color: var(--accent);
}
html[data-theme="light"] .expertise-sort-item--filter::after {
  border-color: rgba(15, 23, 42, 0.18);
}
html[data-theme="light"] .expertise-sort-item--filter.is-active-filter::after {
  background: #059669;
  border-color: #059669;
}
html[data-theme="light"] .expertise-sort-item--filter.is-active-filter {
  color: #059669;
}
html[data-theme="light"] .expertise-sort-sep {
  border-top-color: rgba(15, 23, 42, 0.08);
}
html[data-theme="light"] .ecosystem-group-tag { color: #334155; }
html[data-theme="light"] .ecosystem-lead { color: #334155; }
html[data-theme="light"] .ecosystem-group-head { border-bottom-color: rgba(15, 23, 42, 0.12); }
html[data-theme="light"] .ecosystem-group-title { color: #0f172a; }
html[data-theme="light"] .ecosystem-stage-num { opacity: 0.35; }

/* Expertise card blocks: board-level palette */
html[data-theme="light"] #expertise .ecosystem-card-block--service {
  background: linear-gradient(135deg, rgba(15, 40, 90, 0.07), rgba(238, 243, 251, 0.95));
  border: 1px solid rgba(100, 134, 188, 0.28);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 2px 8px rgba(15, 40, 90, 0.06);
}
/* Риск — amber/warning в светлой теме */
html[data-theme="light"] #expertise .ecosystem-card-block--risk {
  background:
    linear-gradient(90deg, rgba(217, 119, 6, 0.10), rgba(217, 119, 6, 0.01) 18%, transparent 18%),
    linear-gradient(135deg, rgba(180, 100, 12, 0.06), rgba(254, 248, 237, 0.97));
  border: 1px solid rgba(200, 148, 60, 0.26);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
}
/* Контекст — amber, в паре с Риском */
html[data-theme="light"] #expertise .ecosystem-card-block--bizrisk {
  background:
    linear-gradient(90deg, rgba(217, 119, 6, 0.08), rgba(217, 119, 6, 0.01) 18%, transparent 18%),
    linear-gradient(135deg, rgba(160, 90, 10, 0.05), rgba(254, 249, 238, 0.97));
  border: 1px solid rgba(196, 148, 60, 0.24);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
}
/* Что делаем — нейтральный slate */
html[data-theme="light"] #expertise .ecosystem-card-block--scope {
  background: linear-gradient(135deg, rgba(71, 85, 105, 0.05), rgba(244, 246, 249, 0.97));
  border: 1px solid rgba(100, 116, 139, 0.22);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.68),
    inset 0 -10px 22px rgba(15, 23, 42, 0.03);
}
/* Результат + Бенефит — единый тихий emerald/mint */
html[data-theme="light"] #expertise .ecosystem-card-block--outcome,
html[data-theme="light"] #expertise .ecosystem-card-block--benefit {
  background: linear-gradient(135deg, rgba(5, 118, 85, 0.07), rgba(237, 247, 242, 0.97));
  border: 1px solid rgba(64, 136, 104, 0.24);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.70);
}
/* Горизонт вовлечения — нейтральный графит */
html[data-theme="light"] #expertise .ecosystem-card-block--timeline {
  background: linear-gradient(135deg, rgba(51, 65, 85, 0.05), rgba(242, 244, 248, 0.97));
  border: 1px solid rgba(100, 116, 140, 0.22);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.68),
    inset 0 -10px 22px rgba(15, 23, 42, 0.03);
}

/* Gloss highlight (shared) */
html[data-theme="light"] #expertise .ecosystem-card-block--service::before,
html[data-theme="light"] #expertise .ecosystem-card-block--risk::before,
html[data-theme="light"] #expertise .ecosystem-card-block--bizrisk::before,
html[data-theme="light"] #expertise .ecosystem-card-block--scope::before,
html[data-theme="light"] #expertise .ecosystem-card-block--outcome::before,
html[data-theme="light"] #expertise .ecosystem-card-block--benefit::before,
html[data-theme="light"] #expertise .ecosystem-card-block--timeline::before {
  content: "";
  position: absolute;
  top: -55%;
  left: -40%;
  width: 120%;
  height: 120%;
  transform: rotate(18deg);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.55) 0%,
    rgba(255, 255, 255, 0.18) 34%,
    rgba(255, 255, 255, 0.00) 66%
  );
  pointer-events: none;
  opacity: 0.9;
}

/* Expertise kickers: color-coded by section; риск визуально главнее подписи «Решение» */
html[data-theme="light"] #expertise .ecosystem-card-kicker--service {
  color: rgba(30, 58, 95, 0.72);
  font-size: 9px;
  letter-spacing: 0.17em;
}
html[data-theme="light"] #expertise .ecosystem-card-kicker--risk {
  color: #92400e;
  font-size: 10.5px;
  letter-spacing: 0.12em;
}
html[data-theme="light"] #expertise .ecosystem-card-kicker--bizrisk { color: #92400e; }
html[data-theme="light"] #expertise .ecosystem-card-kicker--scope   { color: #334155; }
html[data-theme="light"] #expertise .ecosystem-card-kicker--outcome { color: #065f46; }
html[data-theme="light"] #expertise .ecosystem-card-kicker--benefit { color: #065f46; }
html[data-theme="light"] #expertise .ecosystem-card-kicker--timeline { color: #374151; }

/* Expertise card block service name + ru title */
html[data-theme="light"] #expertise .ecosystem-card-block--service .ecosystem-card-name {
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.28;
}
html[data-theme="light"] #expertise .ecosystem-card-title-ru {
  color: #475569;
  font-size: 11.25px;
  line-height: 1.42;
}

/* Expertise text: deeper contrast */
html[data-theme="light"] #expertise .ecosystem-card-block--risk .service-risk-context {
  color: #78340c;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}
html[data-theme="light"] #expertise .risk-matrix-label { color: #475569; }
html[data-theme="light"] #expertise .risk-matrix-biz   { color: #78340c; }
html[data-theme="light"] #expertise .risk-matrix-scope { color: #334155; }
html[data-theme="light"] #expertise .risk-matrix-outcome {
  color: #064e35;
  list-style: none;
  padding-left: 0;
}
html[data-theme="light"] #expertise .risk-matrix-outcome li {
  position: relative;
  padding-left: 1.15em;
  margin: 0 0 6px;
}
html[data-theme="light"] #expertise .risk-matrix-outcome li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 0.38em;
  height: 0.38em;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.80);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.10);
}
html[data-theme="light"] #expertise .risk-matrix-benefit { color: #064e35; }
html[data-theme="light"] #expertise .risk-matrix-timeline { color: #374151; }

/* Expertise ecosystem cards: solid white + stronger shadow */
html[data-theme="light"] .ecosystem-card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 2px 8px rgba(2, 6, 23, 0.06);
}
/* Решения (#expertise): тонкая контурная рамка как в тёмной теме (синеватый акцент, читается на белом) */
html[data-theme="light"] #expertise .ecosystem-card {
  border: 1px solid rgba(100, 134, 188, 0.38);
  box-shadow:
    0 0 0 1px rgba(79, 140, 255, 0.05),
    0 2px 10px rgba(15, 23, 42, 0.05);
}
html[data-theme="light"] #expertise .card.ecosystem-card:hover {
  border-color: rgba(37, 99, 235, 0.38);
  box-shadow:
    0 0 0 1px rgba(37, 99, 235, 0.10),
    0 10px 32px rgba(37, 99, 235, 0.10),
    0 4px 12px rgba(2, 6, 23, 0.05);
}
html[data-theme="light"] .card.ecosystem-card:hover {
  background: #fafbff;
  border-color: rgba(37, 99, 235, 0.20);
  box-shadow: 0 10px 32px rgba(37, 99, 235, 0.10), 0 4px 12px rgba(2, 6, 23, 0.05);
}

/* Card accordion toggle — light theme */
html[data-theme="light"] .card-toggle {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.09);
  color: rgba(51, 65, 85, 0.65);
}
html[data-theme="light"] .risk-matrix-card:hover .card-toggle {
  background: rgba(37, 99, 235, 0.06);
  border-color: rgba(37, 99, 235, 0.14);
  color: rgba(30, 58, 138, 0.80);
}

/* Service card footer */
html[data-theme="light"] .service-card-footer { border-top-color: rgba(15, 23, 42, 0.10); }

/* Service slice badges */
html[data-theme="light"] .service-slice-badge {
  color: #334155;
  border-color: rgba(15, 23, 42, 0.14);
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
html[data-theme="light"] .service-slice-badge.is-active {
  border-color: var(--accent);
  color: #ffffff;
  background: var(--accent);
}

/* Expertise panel */
html[data-theme="light"] .expertise-panel {
  box-shadow: none;
}

/* ---- Footer: dark inverted block (luxury contrast) ---- */
html[data-theme="light"] .site-footer {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(37, 99, 235, 0.14), transparent 60%),
    linear-gradient(180deg, #0f172a, #0b1120);
  border-top: none;
  color: #e2e8f0;
}
html[data-theme="light"] .footer-contacts-block {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(148, 163, 255, 0.18);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.20);
}
html[data-theme="light"] .footer-contacts-title {
  color: #f1f5f9;
  border-bottom-color: rgba(148, 163, 255, 0.14);
}
html[data-theme="light"] .site-footer .section-title {
  color: #f1f5f9;
}
html[data-theme="light"] .site-footer .section-title::after {
  background: linear-gradient(90deg, #3b82f6, #a78bfa);
}
html[data-theme="light"] .contact-link { color: #cbd5e1; }
html[data-theme="light"] .contact-link:hover,
html[data-theme="light"] .contact-link:focus-visible {
  color: #ffffff;
  background: rgba(79, 140, 255, 0.10);
}
html[data-theme="light"] .copyright-text { color: rgba(148, 163, 199, 0.7); }
html[data-theme="light"] .footer-privacy { color: rgba(148, 163, 199, 0.55); }
html[data-theme="light"] .footer-privacy a { color: rgba(148, 163, 199, 0.7); }
html[data-theme="light"] .footer-privacy a:hover { color: #3b82f6; }
html[data-theme="light"] .footer-bottom { border-top-color: rgba(148, 163, 255, 0.12); }
html[data-theme="light"] .site-footer .contact-icon-img {
  filter: brightness(1);
}

/* ---- Cookie banner: glass ---- */
html[data-theme="light"] .cookie-banner {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-top: 1px solid var(--border-glass);
  box-shadow: 0 -6px 24px rgba(2, 6, 23, 0.06);
}
html[data-theme="light"] .cookie-content p { color: #334155; }
html[data-theme="light"] .cookie-btn.secondary {
  background: rgba(255, 255, 255, 0.7);
  color: #1e293b;
  border-color: var(--border-glass);
}
html[data-theme="light"] .cookie-btn.secondary:hover {
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(37, 99, 235, 0.18);
  color: var(--accent);
}

/* ---- Contact dropdown: glass ---- */
html[data-theme="light"] .contact-options {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-color: var(--border-glass);
  box-shadow: 0 14px 48px rgba(2, 6, 23, 0.12);
}
html[data-theme="light"] .contact-option {
  color: #0f172a;
  border-bottom-color: rgba(37, 99, 235, 0.05);
}
html[data-theme="light"] .contact-option:hover {
  background: rgba(37, 99, 235, 0.06);
  color: var(--accent);
}
html[data-theme="light"] .option-hint { color: #64748b; }
html[data-theme="light"] .contact-note .note-main { color: #475569; }
html[data-theme="light"] .contact-note .note-sub { color: #64748b; }

/* ---- Toast: glass ---- */
html[data-theme="light"] .contact-toast {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  color: #0f172a;
  box-shadow: 0 6px 24px rgba(2, 6, 23, 0.12);
  border: 1px solid var(--border-glass);
}

/* ---- To-top button: glass ---- */
html[data-theme="light"] .to-top {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-color: var(--border-glass);
  color: #0f172a;
  box-shadow: 0 4px 16px rgba(2, 6, 23, 0.08);
}
html[data-theme="light"] .to-top:hover {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(37, 99, 235, 0.18);
  color: var(--accent);
}

/* ---- Mobile nav: dark dropdown (matches dark header) ---- */
@media (max-width: 768px) {
  html[data-theme="light"] .nav-list {
    background: rgba(5, 7, 19, 0.98);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  }
}

/* ---- CTA / cases-cta ---- */
html[data-theme="light"] .cases-cta > p:first-of-type { color: #0f172a; }

