/* Shared by the homepage, legal pages and AI insight archive. */
/* Brand artwork keeps its original colors, independently of the calendar. */
.header .logo { padding: 5px 10px; background: #fff; border-radius: 8px; }
.header .logo-svg,
.ai-renewal .header .logo-svg { height: 42px; filter: none; }

.footer .logo { padding: 6px 12px; background: #fff; border-radius: 8px; }
.footer .logo-svg,
.ai-renewal .footer .logo-svg { filter: none; opacity: 1; }

html[data-seasonal-theme] {
  --navy-950: var(--season-deep);
  --navy-900: var(--season-ink);
  --navy-800: var(--season-panel);
  --surface: var(--season-paper);
  --surface-strong: var(--season-surface);
  --surface-muted: var(--season-tint);
  --text: var(--season-text);
  --text-soft: var(--season-muted);
  --text-muted: var(--season-muted);
  --gold: var(--season-accent-ink);
  --gold-soft: var(--season-accent);
  --accent: var(--season-accent-ink);
  --accent-strong: var(--season-ink);
  --line: var(--season-border);
  --line-strong: var(--season-focus);
  --gradient-accent: linear-gradient(135deg, var(--season-accent-ink), var(--season-ink));
}

[data-seasonal-theme] body,
[data-seasonal-theme] body.ai-renewal {
  background: var(--season-paper);
  color: var(--season-text);
}

[data-seasonal-theme] .ai-renewal {
  --accent: var(--season-accent);
  --accent-strong: var(--season-hover);
  --gold: var(--season-accent-ink);
}

[data-seasonal-theme] .header,
[data-seasonal-theme] .header.scrolled,
[data-seasonal-theme] .ai-renewal .header,
[data-seasonal-theme] .ai-renewal .mobile-menu,
[data-seasonal-theme] .mobile-menu,
[data-seasonal-theme] .ai-renewal .hero,
[data-seasonal-theme] .ai-renewal .footer,
[data-seasonal-theme] .footer {
  background: var(--season-ink);
  color: var(--season-on-dark);
}

[data-seasonal-theme] .ai-renewal .projects,
[data-seasonal-theme] .ai-renewal .news,
[data-seasonal-theme] .ai-renewal .contact,
[data-seasonal-theme] .news,
[data-seasonal-theme] .contact {
  background: var(--season-deep);
  color: var(--season-on-dark);
}

[data-seasonal-theme] .nav-links a,
[data-seasonal-theme] .mobile-nav-links a,
[data-seasonal-theme] .ai-renewal .nav-links a,
[data-seasonal-theme] .ai-renewal .mobile-nav-links a,
[data-seasonal-theme] .ai-renewal .hero-title,
[data-seasonal-theme] .ai-renewal .projects .section-title {
  color: var(--season-on-dark);
}

[data-seasonal-theme] .ai-renewal .hero-description,
[data-seasonal-theme] .ai-renewal .hero-label,
[data-seasonal-theme] .ai-renewal .hero-footnote,
[data-seasonal-theme] .ai-renewal .hero-baseline,
[data-seasonal-theme] .ai-renewal .projects .section-desc,
[data-seasonal-theme] .ai-renewal .news .section-desc,
[data-seasonal-theme] .scene-caption,
[data-seasonal-theme] .scene-bottom,
[data-seasonal-theme] .footer-desc,
[data-seasonal-theme] .footer-company-info,
[data-seasonal-theme] .footer-copyright {
  color: var(--season-muted-dark);
}

[data-seasonal-theme] .nav-cta,
[data-seasonal-theme] .ai-renewal .nav-cta,
[data-seasonal-theme] .btn-primary,
[data-seasonal-theme] .ai-renewal .btn-primary,
[data-seasonal-theme] .hero-banner,
[data-seasonal-theme] .pilot-float {
  background: var(--season-accent);
  border-color: var(--season-accent);
  color: var(--season-ink) !important;
}

[data-seasonal-theme] .btn-primary:hover,
[data-seasonal-theme] .ai-renewal .btn-primary:hover,
[data-seasonal-theme] .ai-renewal .nav-cta:hover {
  background: var(--season-hover);
  border-color: var(--season-hover);
}

[data-seasonal-theme] .hero-banner a { border-color: var(--season-ink); }
[data-seasonal-theme] .hero-banner h2 { color: var(--season-ink); }
[data-seasonal-theme] .ai-renewal .hero-title em,
[data-seasonal-theme] .ai-renewal .hero-label span,
[data-seasonal-theme] .ai-renewal .projects .section-label,
[data-seasonal-theme] .ai-renewal .contact .section-label,
[data-seasonal-theme] .ai-renewal .news .section-label,
[data-seasonal-theme] .ai-renewal .news-source,
[data-seasonal-theme] .ai-renewal .tech-lead-panel .eyebrow,
[data-seasonal-theme] .wood-wordmark span { color: var(--season-accent); }

[data-seasonal-theme] .ai-scene {
  background: radial-gradient(ellipse at center, rgba(var(--season-accent-rgb), 0.16), transparent 68%);
}

[data-seasonal-theme] .ai-renewal .services,
[data-seasonal-theme] .ai-renewal .technology,
[data-seasonal-theme] .ai-renewal .clients { background: var(--season-paper); }
[data-seasonal-theme] .ai-renewal .showcase,
[data-seasonal-theme] .consulting-feature { background: var(--season-tint); }

[data-seasonal-theme] .consulting-feature,
[data-seasonal-theme] .consulting-steps li { border-color: var(--season-border); }
[data-seasonal-theme] .consulting-feature p,
[data-seasonal-theme] .ai-renewal .section-desc { color: var(--season-muted); }
[data-seasonal-theme] .ai-renewal .section-label,
[data-seasonal-theme] .ai-renewal .service-tagline,
[data-seasonal-theme] .ai-renewal .service-badge,
[data-seasonal-theme] .consulting-steps li > span { color: var(--season-accent-ink); }

[data-seasonal-theme] .section-label::before,
[data-seasonal-theme] .eyebrow::before,
[data-seasonal-theme] .ai-renewal .service-features li::before { background: var(--season-accent-ink); }

[data-seasonal-theme] .ai-renewal .service-card,
[data-seasonal-theme] .ai-renewal .service-card.featured,
[data-seasonal-theme] .tech-card,
[data-seasonal-theme] .stat-item,
[data-seasonal-theme] .insight-card,
[data-seasonal-theme] .contact-form,
[data-seasonal-theme] .legal-panel,
[data-seasonal-theme] .brief-article,
[data-seasonal-theme] .brief-index,
[data-seasonal-theme] .brief-toc,
[data-seasonal-theme] .brief-source-policy,
[data-seasonal-theme] .archive-card,
[data-seasonal-theme] .benchmark-callout,
[data-seasonal-theme] .market-panel:not(.market-panel-dark),
[data-seasonal-theme] .showcase-card:not(.showcase-card-dark) {
  background: var(--season-surface);
  border-color: var(--season-border);
  color: var(--season-text);
}

[data-seasonal-theme] .contact-panel,
[data-seasonal-theme] .tech-lead-panel,
[data-seasonal-theme] .showcase-card-dark,
[data-seasonal-theme] .news-page-hero,
[data-seasonal-theme] .legal-hero-inner {
  background: linear-gradient(135deg, var(--season-ink), var(--season-panel));
  color: var(--season-on-dark);
}

[data-seasonal-theme] .contact-panel .section-label,
[data-seasonal-theme] .news-page-hero .section-label,
[data-seasonal-theme] .legal-hero-inner .section-label { color: var(--season-accent); }

[data-seasonal-theme] .ai-renewal .project-card,
[data-seasonal-theme] .ai-renewal .project-wood,
[data-seasonal-theme] .news-card,
[data-seasonal-theme] .market-panel-dark,
[data-seasonal-theme] .market-panel-dark .market-card {
  background: var(--season-panel);
  border-color: var(--season-border-dark);
  color: var(--season-on-dark);
}

[data-seasonal-theme] .ai-renewal .project-card h3,
[data-seasonal-theme] .ai-renewal .project-card-light .project-card-copy h3 { color: var(--season-on-dark); }
[data-seasonal-theme] .ai-renewal .project-card p,
[data-seasonal-theme] .ai-renewal .project-status,
[data-seasonal-theme] .ai-renewal .project-tags li,
[data-seasonal-theme] .news-card p,
[data-seasonal-theme] .ai-renewal .market-panel-dark .market-note,
[data-seasonal-theme] .market-panel-dark .market-range,
[data-seasonal-theme] .market-panel-dark .market-name small { color: var(--season-muted-dark); }
[data-seasonal-theme] .ai-renewal .project-card .eyebrow { color: var(--season-accent); }
[data-seasonal-theme] .ai-renewal .project-tags li { border-color: var(--season-border-dark); }

[data-seasonal-theme] .ai-renewal .hero .btn-secondary,
[data-seasonal-theme] .ai-renewal .news-actions .btn-secondary,
[data-seasonal-theme] #motionToggle {
  color: var(--season-on-dark);
  border-color: var(--season-border-dark);
}

[data-seasonal-theme] .legal-intro,
[data-seasonal-theme] .legal-info-box,
[data-seasonal-theme] .legal-table td,
[data-seasonal-theme] .brief-takeaway { background: var(--season-tint); }
[data-seasonal-theme] .legal-table th { background: var(--season-ink); }
[data-seasonal-theme] .brief-kicker,
[data-seasonal-theme] .brief-source-link,
[data-seasonal-theme] .archive-date { color: var(--season-accent-ink); }

[data-seasonal-theme] :focus-visible,
[data-seasonal-theme] .ai-renewal :focus-visible { outline-color: var(--season-focus); }
[data-seasonal-theme] .header :focus-visible,
[data-seasonal-theme] .ai-renewal .hero :focus-visible,
[data-seasonal-theme] .ai-renewal .projects :focus-visible,
[data-seasonal-theme] .ai-renewal .news :focus-visible,
[data-seasonal-theme] .footer :focus-visible { outline-color: var(--season-accent); }

/* Color evolves with the calendar; these transitions soften live date updates. */
[data-seasonal-theme] body,
[data-seasonal-theme] .header,
[data-seasonal-theme] .hero,
[data-seasonal-theme] .section,
[data-seasonal-theme] .hero-banner,
[data-seasonal-theme] .footer {
  transition: background-color 12s ease, color 12s ease, border-color 12s ease;
}

@media (prefers-reduced-motion: reduce) {
  [data-seasonal-theme] body,
  [data-seasonal-theme] .header,
  [data-seasonal-theme] .hero,
  [data-seasonal-theme] .section,
  [data-seasonal-theme] .hero-banner,
  [data-seasonal-theme] .footer { transition: none; }
}
