html[data-theme="light"] {
  --color-canvas: #f4f7f4;
  --color-canvas-subtle: #edf3ee;
  --color-surface: #fff;
  --color-surface-raised: #e8f0eb;
  --color-line: rgba(24, 58, 41, 0.14);
  --color-line-strong: rgba(8, 123, 85, 0.38);
  --color-text: #14251d;
  --color-muted: #4c5f55;
  --color-text-soft: #3f5549;
  --color-text-faint: #45544c;
  --color-primary: #087b55;
  --color-primary-soft: #086347;
  --color-primary-tint: rgba(8, 123, 85, 0.1);
  --color-secondary: #50589a;
  --color-danger: #c2415d;
  --color-on-primary: #fff;
  --color-control: rgba(20, 53, 37, 0.045);
  --color-control-hover: rgba(20, 53, 37, 0.085);
  --color-nav-bg: rgba(250, 252, 250, 0.9);
  --color-nav-panel: #fafcfa;
  --color-nav-line: rgba(20, 53, 37, 0.14);
  --color-nav-text: #354a3f;
  --color-article-text: #405349;
  --color-article-heading: #14251d;
  --color-article-code: #075b41;
  --color-code-bg: #e8f0eb;
  --color-footer-bg: #e7eee9;
  --color-footer-text: #4f6358;
  --shadow-card: 0 22px 60px rgba(31, 64, 47, 0.11);
  --shadow-page: 0 1.5rem 4rem rgba(31, 64, 47, 0.1);
  --shadow-nav: 0 14px 42px rgba(31, 64, 47, 0.13);
  --shadow-nav-panel: 0 20px 48px rgba(31, 64, 47, 0.16);
  /* On a light ground depth comes from a crisp top edge and a shadow that
     sits under the card, not from a sheen. */
  --surface-sheen: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.9),
    rgba(255, 255, 255, 0) 46%
  );
  --edge-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  --edge-highlight-strong: inset 0 1px 0 rgba(255, 255, 255, 1);
  --shadow-raise: 0 1px 2px rgba(31, 64, 47, 0.07), 0 16px 38px rgba(31, 64, 47, 0.09);
  --grid-line: rgba(20, 53, 37, 0.05);
  color-scheme: light;
}

html[data-theme="light"] .surface-card {
  background:
    var(--surface-sheen),
    linear-gradient(160deg, #ffffff, var(--color-canvas-subtle) 78%);
}

/* These rules live in the dedicated theme sheet so critical CSS pruning cannot
   remove states that are activated before the first paint. */
html[data-theme="light"] .technology-link {
  border-color: rgba(20, 53, 37, 0.18);
  background: #15231d;
}

html[data-theme="light"]
  :is(
    .fit-card h2,
    .workflow-grid h3,
    .project-strip h3,
    .faq-list summary,
    .closing-cta h2,
    .product-card h3,
    .flow-grid h3,
    .choice-card h3,
    .focus-grid h3,
    .account-card h3,
    .expertise-card > h2,
    .release-list h3,
    .app-copy h3
  ) {
  color: var(--color-text);
}

html[data-theme="light"]
  :is(
    .fit-card li,
    .fit-block p,
    .adapt-block li,
    .service-card li,
    .services-status .ready-question,
    .category-directory-links a,
    .breadcrumb a,
    .category-links a
  ) {
  color: var(--color-text-soft);
}

html[data-theme="light"] .app-index {
  color: color-mix(in srgb, var(--color-text) 46%, transparent);
}

html[data-theme="light"]
  :is(.service-link:hover, .services-status a:hover, .product-card > a:hover) {
  color: var(--color-primary);
}

html[data-theme="light"] .relationship.contribution {
  color: var(--color-secondary);
}

html[data-theme="light"] .category-directory {
  background: var(--color-canvas-subtle);
}

html[data-theme="light"] .category-directory-links a {
  background: var(--color-control);
}

html[data-theme="light"] .category-hero {
  background:
    radial-gradient(circle at 14% 20%, rgba(8, 123, 85, 0.12), transparent 34%),
    linear-gradient(180deg, var(--color-canvas-subtle), var(--color-canvas));
}

html[data-theme="light"]
  .surface-card
  :is(input[data-field], textarea[data-field]) {
  border-color: var(--color-line-strong) !important;
  color: var(--color-text) !important;
}

html[data-theme="light"]
  .surface-card
  :is(label, .text-slate-400, .text-slate-500) {
  color: var(--color-muted) !important;
}

html[data-theme="light"] .surface-card h3 {
  color: var(--color-text);
}

html[data-theme="light"]
  .surface-card
  :is(button.bg-emerald-500, button.bg-emerald-600),
html[data-theme="light"] .error-page a.bg-emerald-600 {
  color: #fff;
}

html[data-theme="light"] .contact-page,
html[data-theme="light"] .contact-page > section,
html[data-theme="light"] .article-page,
html[data-theme="light"] .error-page {
  background: var(--color-canvas) !important;
  color: var(--color-text);
}

html[data-theme="light"] .contact-page :is(h1, .info-label),
html[data-theme="light"] .error-page :is(h1, h2, p, button, svg, span) {
  color: var(--color-text) !important;
}

html[data-theme="light"] .site-footer .footer-bottom {
  color: var(--color-footer-text);
}

html[data-theme="light"] .contact-page :is(.text-slate-400, .text-slate-500) {
  color: var(--color-muted);
}

html[data-theme="light"] .contact-page .info-card {
  border-color: var(--color-line);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

html[data-theme="light"] .contact-page > section:last-of-type {
  border-color: var(--color-line);
}

html[data-theme="light"] .error-page button {
  background: var(--color-control);
}

html[data-theme="light"] .error-page button {
  border-color: var(--color-line);
}

html[data-theme="light"] .case-study-shell {
  background:
    linear-gradient(
      180deg,
      rgba(232, 240, 235, 0.92),
      var(--color-canvas) 34rem
    ),
    var(--color-canvas);
  color: var(--color-text);
}

html[data-theme="light"]
  :is(
    .breadcrumb,
    .breadcrumb a,
    .hero-description,
    .lead,
    .case-section p,
    .side-panel li,
    .case-cta p
  ) {
  color: var(--color-muted);
}

html[data-theme="light"] .case-hero {
  border-color: var(--color-line);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98),
      rgba(232, 240, 235, 0.84)
    ),
    var(--color-surface);
  box-shadow: var(--shadow-card);
}

html[data-theme="light"]
  :is(
    .case-hero h1,
    .case-section h2,
    .side-panel h2,
    .case-cta h2,
    .decision-grid h3,
    .timeline-list h3,
    .split-lists h3,
    .proof-strip strong,
    .side-panel dd,
    .evidence-row strong,
    .visual-unavailable strong
  ) {
  color: var(--color-text);
}

html[data-theme="light"] :is(.case-label, .section-kicker) {
  color: var(--color-primary-soft);
}

html[data-theme="light"] :is(.case-section, .side-panel, .case-cta) {
  border-color: var(--color-line);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

html[data-theme="light"] .proof-strip {
  border-color: var(--color-line);
  background: var(--color-line);
}

html[data-theme="light"] .proof-strip div,
html[data-theme="light"]
  :is(.decision-grid article, .split-lists div, .timeline-list article) {
  background: var(--color-surface-raised);
}

html[data-theme="light"]
  :is(.proof-strip span, .side-panel dt, .evidence-row span) {
  color: var(--color-text-faint);
}

html[data-theme="light"] :is(.visual-unavailable, .inline-evidence-state) {
  border-color: var(--color-line-strong);
  background: var(--color-primary-tint);
  color: var(--color-muted);
}

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