/* White-only Oca: slow scarlet / purple / reddish violet / original-red accents. */
@property --accent-red {
  syntax: '<color>';
  inherits: true;
  initial-value: #d1092b;
}
@property --accent-plum {
  syntax: '<color>';
  inherits: true;
  initial-value: #53245f;
}
html {
  --accent-red: #d1092b;
  --accent-plum: #53245f;
  /* Inherited colors must not restyle the entire DOM every animation frame. */
  animation: oca-accent-cycle 32s steps(1, end) infinite;
}
html, body, body.dark, body.light {
  --paper: #fff;
  --ink: #27162f;
  --muted: #51465a;
  --line: #ded9e2;
  --soft: #f8f6f8;
  --accent: var(--accent-red);
  background-color: #fff !important;
  color: var(--ink) !important;
  color-scheme: light;
}
body { position: relative; isolation: isolate; }
.theme-indicator { display: none !important; }
.hero, main, .footer { position: relative; z-index: 1; }
.site-nav, .access-indicator { z-index: 100; }
.hero { isolation: isolate; overflow: hidden; }
.hero > :not(.oca-solar) { position: relative; z-index: 1; }
.oca-solar {
  position: fixed;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  contain: strict;
  transform: translateZ(0);
  will-change: transform;
  pointer-events: none;
  opacity: .32;
}
.oca-glyph-fireball { display: block; width: 100%; height: 100%; }
.site-nav, .site-nav a, .section-title, .dae-heading h2, .oca-projects h2,
.aria-budget-heading, .oca-budget-contact h2 { color: var(--accent-plum) !important; }
.logo { color: var(--accent-red) !important; text-shadow: none !important; }
.logo::before, .logo::after { display: none !important; }
.tagline { color: var(--accent-plum) !important; opacity: 1 !important; }
.tagline-sub, .oca-intro, .service-desc, .dae-caption, .oca-budget-contact > p { color: var(--muted) !important; opacity: 1 !important; }
.hero, main, .services-section, .footer, .dae-plans, .aria-product,
.aria-manifesto, .aria-preview, .aria-payment, .oca-projects,
.aria-contact, .aria-faq, .aria-section {
  background: transparent !important;
  color: var(--ink) !important;
}
.site-nav, .oca-budget-contact, .service-card, .aria-price-card {
  background: rgba(255,255,255,.86) !important;
  color: var(--ink) !important;
}
.service-card, .aria-price-card, .oca-budget-contact { border-color: var(--line) !important; box-shadow: none !important; }
.service-card:nth-child(odd) { --card-accent: var(--accent-red); }
.service-card:nth-child(even) { --card-accent: var(--accent-plum); }
.service-icon, .service-title, .dae-kicker, .aria-manifesto span { color: var(--accent-red) !important; }
.service-tag { border-color: var(--accent-plum) !important; color: var(--accent-plum) !important; background: #fff !important; }
.dae-button { border-color: var(--accent-red) !important; background: var(--accent-red) !important; color: #fff !important; }
.dae-button.dae-secondary { border-color: var(--accent-plum) !important; background: #fff !important; color: var(--accent-plum) !important; }
.dae-button:hover { filter: brightness(.92); }
.aria-budget-heading { margin: 10px 0 14px; font-size: clamp(22px, 3vw, 34px); line-height: 1.2; }
.oca-budget-contact { max-width: 1120px; margin: 0 auto 96px; padding: clamp(30px, 7vw, 76px); border: 1px solid var(--line); text-align: center; }
.oca-budget-contact h2 { margin: 10px auto 16px; font-size: clamp(28px, 5vw, 48px); line-height: 1.12; }
.oca-budget-contact > p { max-width: 58ch; margin-inline: auto; line-height: 1.8; }
.oca-budget-contact .oca-contact-note { margin-top: 18px; font-size: 12px; }
.mvp-news-card { box-shadow: none !important; }
@keyframes oca-accent-cycle {
  0%, 100% { --accent-red: #d1092b; --accent-plum: #53245f; }
  25% { --accent-red: #7025b6; --accent-plum: #a30b2a; }
  50% { --accent-red: #a10a65; --accent-plum: #60178e; }
  75% { --accent-red: #b82036; --accent-plum: #53245f; }
}
@media (max-width: 700px) { .oca-solar { opacity: .25; } }
@media (prefers-reduced-motion: reduce) {
  html { animation: none; }
}
