/* V3.P9 — Ambient Surface & Chromatic System
 * Shared public palette and artifact atmosphere.
 * Black is structural, white carries reading, blue carries system/continuity,
 * orange carries decision/transition/consequence.
 */

.sne-v3 {
  --sne-black: #030609;
  --sne-black-soft: #060b10;
  --sne-black-raised: #09131c;
  --sne-white: #f7fbff;
  --sne-blue-vivid: #55b8ff;
  --sne-blue-soft: #9bdcff;
  --sne-blue-deep: #102a3e;
  --sne-orange-vivid: #ff8428;
  --sne-orange-soft: #ffb15f;
  --sne-orange-deep: #3a1d0b;

  --pub-bg: var(--sne-black);
  --pub-bg-soft: var(--sne-black-soft);
  --pub-text: var(--sne-white);
  --pub-muted: #91a4b3;
  --pub-muted-strong: #c0ced8;
  --pub-line: rgba(85, 184, 255, .10);
  --pub-line-strong: rgba(155, 220, 255, .24);
  --pub-blue: var(--sne-blue-vivid);

  --sne-surface-0: var(--sne-black);
  --sne-surface-1: #061019;
  --sne-surface-2: #09141d;
  --sne-surface-line: rgba(85, 184, 255, .10);
  --sne-surface-line-strong: rgba(155, 220, 255, .23);
  --sne-paper: #eef7ff;
  --sne-paper-text: #071018;
}

.sne-v3 .pub-kicker,
.sne-v3 .pub-index,
.sne-v3 .deep-number {
  color: var(--sne-blue-soft);
}

.sne-v3 .pub-action::after,
.sne-v3 .pub-depth span,
.sne-v3 .pub-nav__cta::after {
  color: var(--sne-orange-vivid);
}

.sne-v3 .pub-action--primary {
  border-color: var(--sne-blue-vivid);
  background: var(--sne-blue-vivid);
  color: #020609 !important;
  box-shadow: 0 0 0 1px rgba(85,184,255,.10), 0 10px 34px rgba(39,139,218,.13);
}

.sne-v3 .pub-action--primary::after { color: #071018; }
.sne-v3 .pub-action--primary:hover {
  border-color: #8bd0ff;
  background: #8bd0ff;
}

.sne-v3 .pub-band {
  background:
    radial-gradient(circle at 84% 18%, rgba(255,132,40,.13), transparent 28%),
    linear-gradient(135deg, #f8fbff 0%, #eaf6ff 64%, #fff0e3 100%);
  color: var(--sne-paper-text);
}
.sne-v3 .pub-band p { color: #435362; }
.sne-v3 .pub-band .pub-index { color: #1679bd; }
.sne-v3 .pub-band .pub-depth { color: #08131c; border-color: rgba(8,19,28,.28); }
.sne-v3 .pub-band .pub-depth span { color: #e85f00; }

/* Atmosphere belongs to the section, not to a card border. */
.sne-v3 .pub-statement--artifact,
.sne-v3 .deep-problem--media,
.sne-v3 .deep-work,
.sne-v3 .depth-evidence,
.sne-v3 .depth-research,
.sne-v3 .depth-capability-hero,
.sne-v3 .depth-company-media {
  isolation: isolate;
}

.sne-v3 .pub-statement--artifact::before,
.sne-v3 .deep-problem--media::before,
.sne-v3 .deep-work::before,
.sne-v3 .depth-evidence::before,
.sne-v3 .depth-research::before,
.sne-v3 .depth-capability-hero::before,
.sne-v3 .depth-company-media::before {
  content: '';
  position: absolute;
  inset: 6% -5%;
  z-index: 0;
  background:
    radial-gradient(circle at 78% 46%, rgba(85,184,255,.105), transparent 31%),
    radial-gradient(circle at 67% 62%, rgba(255,132,40,.055), transparent 24%);
  pointer-events: none;
}

.sne-v3 .pub-statement--reverse::before,
.sne-v3 .deep-problem--media:nth-child(even)::before,
.sne-v3 .deep-work--reverse::before,
.sne-v3 .depth-research--reverse::before {
  background:
    radial-gradient(circle at 22% 46%, rgba(85,184,255,.105), transparent 31%),
    radial-gradient(circle at 34% 64%, rgba(255,132,40,.055), transparent 24%);
}

.sne-v3 .pub-statement--artifact > *,
.sne-v3 .deep-problem--media > *,
.sne-v3 .deep-work > *,
.sne-v3 .depth-evidence > *,
.sne-v3 .depth-research > *,
.sne-v3 .depth-capability-hero > *,
.sne-v3 .depth-company-media > * {
  position: relative;
  z-index: 1;
}

/* Artifact fields are frameless and can bleed into their grid cell. */
.sne-v3 .pub-artifact,
.sne-v3 .deep-artifact,
.sne-v3 .depth-artifact {
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  isolation: isolate;
}

.sne-v3 .pub-artifact::before,
.sne-v3 .deep-artifact::before,
.sne-v3 .depth-artifact::before {
  content: '';
  position: absolute;
  inset: -8% -7%;
  z-index: -1;
  opacity: 1;
  background:
    radial-gradient(circle at 58% 46%, rgba(85,184,255,.105), transparent 44%),
    radial-gradient(circle at 74% 61%, rgba(255,132,40,.06), transparent 30%);
  filter: blur(8px);
  pointer-events: none;
}

.sne-v3 .pub-artifact img {
  opacity: 1;
  filter: contrast(1.06) saturate(1.06) brightness(1.02);
}

.sne-v3 .pub-artifact--motion {
  --motion-bg: var(--sne-black);
  --motion-text: var(--sne-white);
  --motion-muted: #91a4b3;
  --motion-line: #2d485b;
  --motion-accent: var(--sne-blue-vivid);
  --motion-denied: var(--sne-orange-vivid);
  opacity: 1;
}

.sne-v3 .pub-artifact--motion .sne-causal-label { fill: var(--sne-white); }
.sne-v3 .pub-artifact--motion .sne-causal-note { fill: #91a4b3; }
.sne-v3 .pub-artifact--motion .sne-causal-fork-label { fill: var(--sne-orange-soft); }
.sne-v3 .pub-artifact--motion .sne-causal-fork-note { fill: #b6967f; }

/* Role-specific geometry: larger material, less empty frame. */
.sne-v3 .pub-artifact--authority {
  width: 108%;
  justify-self: end;
  transform: translate(4%, -6px);
  opacity: 1;
}
.sne-v3 .pub-artifact--authority::before { inset: -5% -4%; }
.sne-v3 .pub-artifact--authority .sne-causal-edge,
.sne-v3 .pub-artifact--authority .sne-causal-fork-edge { opacity: .95; stroke-width: 2.8; }
.sne-v3 .pub-artifact--authority .sne-causal-label {
  fill: var(--sne-white);
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -.2px;
}
.sne-v3 .pub-artifact--authority .sne-causal-note { fill: #91a4b3; font-size: 13px; font-weight: 450; }
.sne-v3 .pub-artifact--authority .sne-causal-index { fill: #86a2b4; font-size: 12px; }
.sne-v3 .pub-artifact--authority .sne-causal-fork-label { fill: var(--sne-orange-soft); font-size: 16px; font-weight: 650; }
.sne-v3 .pub-artifact--authority .sne-causal-fork-note { fill: #b6967f; font-size: 13px; }

.sne-v3 .pub-artifact--causality {
  width: 114%;
  justify-self: start;
  transform: translate(-7%, -8px);
}
.sne-v3 .pub-artifact--causality img { opacity: 1; filter: contrast(1.08) saturate(1.08) brightness(1.03); }

.sne-v3 .pub-artifact--web {
  width: 111%;
  justify-self: end;
  transform: translate(5%, -1px);
}
.sne-v3 .pub-artifact--web img {
  opacity: .98;
  filter: invert(1) hue-rotate(180deg) contrast(1.08) saturate(.9) brightness(.9);
  mix-blend-mode: multiply;
}

.sne-v3 .pub-artifact--production {
  width: 113%;
  justify-self: end;
  transform: translate(6%, -3px);
}
.sne-v3 .pub-artifact--production img { opacity: 1; filter: contrast(1.08) saturate(1.08) brightness(1.03); }

/* V3.P10 — Deep-page artifact field correction.
 * Internal pages render SVGs as replaced images, so the SVG viewport itself can
 * become visible as a rectangular card when ambient gradients reach its edges.
 * Dissolve that viewport edge and let the material occupy more of its grid cell.
 */
.sne-v3.pub-deep .deep-artifact img,
.sne-v3.pub-deep .depth-artifact img {
  width: 100%;
  max-width: none;
  opacity: 1;
  filter: none;
  background: transparent;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 2.5%, #000 97.5%, transparent 100%),
    linear-gradient(0deg, transparent 0%, #000 2.5%, #000 97.5%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 2.5%, #000 97.5%, transparent 100%),
    linear-gradient(0deg, transparent 0%, #000 2.5%, #000 97.5%, transparent 100%);
  mask-composite: intersect;
}

.sne-v3.pub-deep .deep-problem--media .deep-artifact,
.sne-v3.pub-deep .deep-work .deep-artifact,
.sne-v3.pub-deep .depth-research .depth-artifact {
  width: 118%;
  max-width: none;
  margin-left: -9%;
}

.sne-v3.pub-deep .depth-evidence .depth-artifact {
  width: 110%;
  max-width: none;
  margin-left: -5%;
}

.sne-v3.pub-deep .depth-capability-hero .depth-artifact,
.sne-v3.pub-deep .depth-company-media .depth-artifact {
  width: 106%;
  max-width: none;
  margin-left: -3%;
}

.sne-v3.pub-deep .deep-artifact::before,
.sne-v3.pub-deep .depth-artifact::before {
  inset: -14% -12%;
  background:
    radial-gradient(circle at 54% 48%, rgba(85,184,255,.12), transparent 48%),
    radial-gradient(circle at 72% 62%, rgba(255,132,40,.065), transparent 34%);
  filter: blur(12px);
}

.sne-v3 .pub-reality,
.sne-v3 .pub-research-callout,
.sne-v3 .pub-terminal { isolation: isolate; }

@media (max-width: 980px) {
  .sne-v3 .pub-artifact--authority,
  .sne-v3 .pub-artifact--causality,
  .sne-v3 .pub-artifact--web,
  .sne-v3 .pub-artifact--production {
    width: 100%;
    transform: none;
    justify-self: stretch;
  }

  .sne-v3.pub-deep .deep-problem--media .deep-artifact,
  .sne-v3.pub-deep .deep-work .deep-artifact,
  .sne-v3.pub-deep .depth-research .depth-artifact,
  .sne-v3.pub-deep .depth-evidence .depth-artifact,
  .sne-v3.pub-deep .depth-capability-hero .depth-artifact,
  .sne-v3.pub-deep .depth-company-media .depth-artifact {
    width: 100%;
    margin-left: 0;
  }

  .sne-v3 .pub-statement--artifact::before,
  .sne-v3 .deep-problem--media::before,
  .sne-v3 .deep-work::before,
  .sne-v3 .depth-evidence::before,
  .sne-v3 .depth-research::before {
    inset: 4% -2%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sne-v3 .pub-artifact--authority,
  .sne-v3 .pub-artifact--causality,
  .sne-v3 .pub-artifact--web,
  .sne-v3 .pub-artifact--production { transition: none !important; }
}
