/* Single adaptive performance layer for the DigitalOrigin public site. */
html[data-performance="balanced"] .srv-atmosphere__orb,
html[data-performance="low"] .srv-atmosphere__orb {
  filter: blur(72px) !important;
}

html[data-performance="low"] .srv-atmosphere__orb,
html[data-performance="low"] .hero__orb,
html[data-performance="low"] [class*="atmosphere"] {
  animation: none !important;
}

.grain,
.scanlines {
  display: none !important;
}

.case-card__image[data-bg] {
  background-color: #09090d;
}

.case-card__image {
  transition: background-image 0s, filter .35s ease;
}

.service__inner,
.srv-step__surface {
  background: linear-gradient(180deg, #ffffff0b, #ffffff03), #06060ad9;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.case-card__inner {
  background: linear-gradient(180deg, #fff1, #ffffff04), #0a0a0ed9;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.case-body,
.case-media__surface {
  background: #000000d9;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.srv-foundation {
  background: linear-gradient(180deg, #ffffff0d, #ffffff04), #08080cd9;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.contact-grid::before,
.section--systems::before {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-performance="static"] {
  scroll-behavior: auto !important;
}

html[data-performance="static"] body {
  background:
    radial-gradient(ellipse at 16% 8%, rgba(220, 30, 140, .12), transparent 34rem),
    radial-gradient(ellipse at 86% 54%, rgba(98, 72, 255, .08), transparent 40rem),
    #000;
}

html[data-performance="static"] *,
html[data-performance="static"] *::before,
html[data-performance="static"] *::after {
  scroll-behavior: auto !important;
  animation-duration: .001ms !important;
  animation-delay: 0s !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
  transition-delay: 0s !important;
}

html[data-performance="static"] #bg-canvas,
html[data-performance="static"] canvas[data-system-network],
html[data-performance="static"] #cursor,
html[data-performance="static"] .cursor,
html[data-performance="static"] .sound-toggle,
html[data-performance="static"] .srv-atmosphere,
html[data-performance="static"] .hero__orb,
html[data-performance="static"] #loader,
html[data-performance="static"] #curtain,
html[data-performance="static"] #route-curtain {
  display: none !important;
}

html[data-performance="static"] .mask-inner,
html[data-performance="static"] .reveal,
html[data-performance="static"] [class*="reveal"],
html[data-performance="static"] .hud__corner,
html[data-performance="static"] .hud__edge,
html[data-performance="static"] .srv-pillar,
html[data-performance="static"] .srv-step,
html[data-performance="static"] .case-card,
html[data-performance="static"] .contact-form__field {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

html[data-performance="static"] .service__inner,
html[data-performance="static"] .srv-step__surface,
html[data-performance="static"] .case-card__inner,
html[data-performance="static"] .case-body,
html[data-performance="static"] .case-media__surface,
html[data-performance="static"] [class*="atmosphere"] {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

html[data-performance="static"] body,
html[data-performance="static"] a,
html[data-performance="static"] button,
html[data-performance="static"] input,
html[data-performance="static"] textarea,
html[data-performance="static"] select {
  cursor: auto !important;
}

@media (max-width: 860px), (pointer: coarse) {
  .contact-grid::before,
  .consent-banner,
  .consent-modal,
  .consent-fab,
  .do-consent-banner,
  .do-consent-dialog,
  .do-consent-fab,
  .case-media__toggle,
  .focus-card,
  .hud__brand-link,
  .sound-toggle {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .service__inner,
  .case-card__inner,
  .case-body,
  .case-media__surface,
  .srv-step__surface,
  .srv-foundation,
  .focus-card {
    background-color: rgba(7, 7, 12, .92) !important;
  }

  .contact-grid::before,
  .hud__brand-link,
  .sound-toggle {
    background-color: rgba(5, 5, 9, .86) !important;
  }
}

@media (max-width: 860px) {
  .hud__tr,
  .hud__bl,
  .hud__edge { display: none !important; }
  .hud { font-size: .58rem; letter-spacing: .12em; }
  .hud__corner { gap: .22rem; }
  .hud__tl, .hud__tr { top: calc(.9rem + env(safe-area-inset-top, 0px)) !important; }
  .hud__tl, .hud__bl { left: calc(.9rem + env(safe-area-inset-left, 0px)) !important; }
  .hud__tr, .hud__br { right: calc(.9rem + env(safe-area-inset-right, 0px)) !important; }
  .hud__br, .sound-toggle { bottom: calc(.9rem + env(safe-area-inset-bottom, 0px)) !important; }
  .hud__logo { height: 16px !important; width: auto; display: block; }
  .hud__tl { z-index: 72; }
  .hud, .hud__corner, .hud__tl, .hud__brand-link { opacity: 1 !important; visibility: visible !important; }
  .hud__brand-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: .42rem .52rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    background: rgba(0, 0, 0, .22);
    box-shadow: inset 0 1px rgba(255, 255, 255, .04), 0 6px 18px rgba(0, 0, 0, .2);
    pointer-events: auto;
  }
  .hud__tl .hud__row--muted:last-child { display: none !important; }
  .hud__tl .hud__row--muted { font-size: .54rem; letter-spacing: .16em; }
  .hud__br .hud__row:not(.hud__row--accent) { display: none !important; }
  .hud__row--accent { font-size: .6rem; letter-spacing: .18em; }
  .sound-toggle {
    left: auto !important;
    right: calc(.9rem + env(safe-area-inset-right, 0px)) !important;
    transform: none !important;
    padding: .45rem .55rem !important;
    gap: .22rem !important;
    min-width: 0;
    border-color: rgba(255, 255, 255, .18) !important;
    background: rgba(0, 0, 0, .32) !important;
  }
  .sound-toggle__label { display: none !important; }
  .sound-toggle__bar { height: 7px !important; }
  .sound-toggle__bar:nth-child(2) { height: 11px !important; }
  .sound-toggle__bar:nth-child(3) { height: 5px !important; }
  .section { padding-left: 1rem !important; padding-right: 1rem !important; }
  .section--hero, .srv-hero, .case-hero {
    padding-top: calc(12vh + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(10vh + env(safe-area-inset-bottom, 0px)) !important;
  }
  .hero__meta, .srv-hero__meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .4rem !important;
    margin-top: 1.35rem !important;
  }
  .hero__meta span, .srv-hero__meta span { max-width: 24rem; }
  .contact-grid { gap: 1.4rem !important; padding: 1.3rem 1rem !important; margin-top: 1rem !important; }
  .contact-grid::before { inset: -.35rem -.4rem; border-radius: 12px !important; }
  .contact-grid__left { gap: 1.15rem !important; }
  .contact__mail, .case-link { justify-content: center; width: 100%; text-align: center; }
  .case-main { padding-left: 1rem; padding-right: 1rem; }
  .case-archive__grid, .cases-grid { margin-top: 1.5rem !important; gap: 1rem !important; }
  .case-card__inner { padding: .9rem !important; }
}

@media (max-width: 640px) {
  .loader { padding: 1rem !important; }
  .loader__hud { font-size: .56rem !important; letter-spacing: .12em !important; }
  .loader__tag { font-size: .58rem !important; letter-spacing: .18em !important; }
  .hero__sub, .srv-hero__sub, .case-hero__sub { font-size: .74rem !important; letter-spacing: .12em !important; }
  .srv-section__label, .case-hero__kicker, .section__label { font-size: .58rem !important; letter-spacing: .18em !important; }
  .contact-form__foot { gap: .8rem !important; }
  .contact-form__submit { width: 100%; }
  .footer { margin-top: 2rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .case-card__image { transition: none; }
}

