@charset "UTF-8";

/* Ambient — taste-skill
   Layer 1: page wash (CSS only, always)
   Layer 2: optional ultra-light texture on body (≤5%, never on content sections)
   Layer 3: hero photo ONLY — one per page, heavy scrim, text never over raw photo
   NO photos behind cards, grids, forms, or app lists. */

:root {
  --ds-ambient-img: none;
  --ds-ambient-opacity: 0;
  --ds-ambient-wash: linear-gradient(
    180deg,
    #ffffff 0%,
    var(--ds-canvas) 38%,
    var(--ds-canvas-soft) 100%
  );
}

body.page-site {
  position: relative;
  isolation: isolate;
  background: var(--ds-ambient-wash);
}

/* Optional whisper texture — fixed, behind everything */
body.page-site::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: var(--ds-ambient-img) center / cover no-repeat;
  opacity: var(--ds-ambient-opacity);
}

body.page-site::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 48% 40% at 92% 4%, rgba(37, 99, 235, 0.04) 0%, transparent 58%),
    radial-gradient(ellipse 40% 36% at 6% 96%, rgba(37, 99, 235, 0.025) 0%, transparent 56%);
}

body.page-home::before,
body.page-home::after {
  display: none;
}

/* Per-page: light textures only (panel-wash / abstract-mesh), max 5% */
body.page-about {
  --ds-ambient-img: url("../img/ambient/panel-wash.jpg");
  --ds-ambient-opacity: 0.045;
}

body.page-developer {
  --ds-ambient-img: url("../img/ambient/panel-wash.jpg");
  --ds-ambient-opacity: 0.04;
}

body.page-support {
  --ds-ambient-img: url("../img/ambient/panel-wash.jpg");
  --ds-ambient-opacity: 0.045;
}

body.page-experience {
  --ds-ambient-img: url("../img/ambient/abstract-mesh.jpg");
  --ds-ambient-opacity: 0.04;
}

body.page-help {
  --ds-ambient-img: url("../img/ambient/panel-wash.jpg");
  --ds-ambient-opacity: 0.04;
}

body.page-product,
body.page-product-new {
  --ds-ambient-img: url("../img/ambient/abstract-mesh.jpg");
  --ds-ambient-opacity: 0.035;
}

body.page-auth {
  --ds-ambient-img: url("../img/ambient/panel-wash.jpg");
  --ds-ambient-opacity: 0.04;
}

body.page-article {
  --ds-ambient-img: url("../img/ambient/panel-wash.jpg");
  --ds-ambient-opacity: 0.035;
}

body.page-membox {
  --ds-ambient-img: url("../img/ambient/abstract-mesh.jpg");
  --ds-ambient-opacity: 0.04;
}

/* ── Hero: the ONLY place for section-scale photography ── */
body.page-support .ds-channel-hero::after,
body.page-experience .ds-channel-hero::after,
body.page-help .ds-channel-hero::after,
body.page-developer .ds-channel-hero::after,
body.page-product .ds-channel-hero::after,
body.page-product-new .ds-channel-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

body.page-support .ds-channel-hero::after {
  background-image:
    linear-gradient(105deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.92) 42%, rgba(248, 250, 255, 0.72) 58%, rgba(248, 250, 255, 0.35) 100%),
    url("../img/ambient/support-hero.jpg");
}

body.page-experience .ds-channel-hero::after {
  background-image:
    linear-gradient(105deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.9) 45%, rgba(248, 250, 255, 0.65) 100%),
    url("../img/ambient/cloud-abstract.jpg");
}

body.page-help .ds-channel-hero::after {
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.85) 50%, rgba(248, 250, 255, 0.92) 100%),
    url("../img/ambient/help-desk.jpg");
}

body.page-developer .ds-channel-hero::after {
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.88) 50%, rgba(248, 250, 255, 0.94) 100%),
    url("../img/ambient/circuit-glow.jpg");
}

body.page-product .ds-channel-hero:has(.ds-hero-visual)::after,
body.page-product-new .ds-channel-hero:has(.ds-hero-visual)::after {
  display: none;
}

body.page-product .ds-channel-hero:not(:has(.ds-hero-visual))::after,
body.page-product-new .ds-channel-hero:not(:has(.ds-hero-visual))::after {
  background-image:
    linear-gradient(105deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.9) 48%, rgba(248, 250, 255, 0.6) 100%),
    url("../img/ambient/datacenter.jpg");
}

@media (max-width: 767px) {
  body.page-site::before {
    opacity: calc(var(--ds-ambient-opacity) * 0.6);
  }

  body.page-support .ds-channel-hero::after,
  body.page-experience .ds-channel-hero::after,
  body.page-help .ds-channel-hero::after,
  body.page-developer .ds-channel-hero::after {
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 255, 0.9) 100%);
  }
}

@media (prefers-reduced-transparency: reduce) {
  body.page-site::before {
    opacity: 0;
  }

  body.page-support .ds-channel-hero::after,
  body.page-experience .ds-channel-hero::after,
  body.page-help .ds-channel-hero::after,
  body.page-developer .ds-channel-hero::after,
  body.page-product .ds-channel-hero::after,
  body.page-product-new .ds-channel-hero::after {
    display: none;
  }
}
