/* Shared case hero: edge-to-edge artwork with a continuous diagonal fade. */
body .case-hero-bleed{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:740px;padding:330px 0 40px;background:var(--bg);
}
body[data-page] .case-hero-bleed .case-hero-art{
  display:block;position:absolute;inset:0;z-index:0;
  width:100%;height:100%;margin:0;padding:0;min-height:0;
  aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:transparent;
}
body[data-page] .case-hero-bleed .case-hero-art img{
  width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% center;
}
.case-hero-bleed::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(35deg,
      var(--bg) 0%,
      color-mix(in srgb,var(--bg) 99%,transparent) 20%,
      color-mix(in srgb,var(--bg) 96%,transparent) 35%,
      color-mix(in srgb,var(--bg) 86%,transparent) 48%,
      color-mix(in srgb,var(--bg) 58%,transparent) 62%,
      color-mix(in srgb,var(--bg) 24%,transparent) 78%,
      color-mix(in srgb,var(--bg) 5%,transparent) 92%,
      transparent 100%);
}
.case-hero-bleed>.container{position:relative;z-index:2}
.case-hero-bleed .case-back{margin-bottom:28px}
.case-hero-bleed .case-title{max-width:19ch;font-weight:500}
.case-hero-bleed .case-sub{max-width:54ch}
.case-hero-bleed .case-meta{margin-top:36px}
body .header{
  background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
@media(min-width:1600px){
  body .case-hero-bleed{padding-top:380px}
}
@media(max-width:760px){
  body .case-hero-bleed{min-height:0;padding:320px 0 32px}
  body[data-page] .case-hero-bleed .case-hero-art img{object-position:50% top}
  .case-hero-bleed::after{
    background:
      linear-gradient(35deg,
        var(--bg) 0%,
        color-mix(in srgb,var(--bg) 99%,transparent) 35%,
        color-mix(in srgb,var(--bg) 93%,transparent) 52%,
        color-mix(in srgb,var(--bg) 65%,transparent) 70%,
        color-mix(in srgb,var(--bg) 20%,transparent) 88%,
        transparent 100%);
  }
  .case-hero-bleed .case-title{font-size:clamp(32px,8.5vw,50px)}
  .case-hero-bleed .case-sub{font-size:17px}
  .case-hero-bleed .case-meta{margin-top:28px}
}
/* Evidence surfaces specific to CryptoPilot share the same radius scale. */
.crypto-evidence,.crypto-pipeline li{border-radius:var(--radius-panel);overflow:hidden}
.crypto-evidence a{border-radius:var(--radius-panel) var(--radius-panel) 0 0}

/* DevPortal: quieter copy area and a clearer product image. */
body[data-page="devportal"] .case-hero-bleed .case-hero-art{background:var(--bg)}
body[data-page="devportal"] .case-hero-bleed .case-hero-art img{
  transform:translateX(7%);transform-origin:right center;
}
body[data-page="devportal"] .case-hero-bleed .case-title{max-width:17ch}
body[data-page="devportal"] .case-hero-bleed .case-sub{max-width:48ch}
body[data-page="devportal"] .case-hero-bleed::after{
  background:
    linear-gradient(35deg,var(--bg) 0%,
      color-mix(in srgb,var(--bg) 98%,transparent) 18%,
      color-mix(in srgb,var(--bg) 92%,transparent) 32%,
      color-mix(in srgb,var(--bg) 78%,transparent) 46%,
      color-mix(in srgb,var(--bg) 40%,transparent) 60%,
      color-mix(in srgb,var(--bg) 10%,transparent) 78%,transparent 94%);
}
@media(max-width:760px){
  body[data-page="devportal"] .case-hero-bleed .case-hero-art img{
    transform:none;object-position:58% top;
  }
  body[data-page="devportal"] .case-hero-bleed .case-title{max-width:19ch}
  body[data-page="devportal"] .case-hero-bleed::after{
    background:linear-gradient(35deg,var(--bg) 0%,
      color-mix(in srgb,var(--bg) 99%,transparent) 35%,
      color-mix(in srgb,var(--bg) 93%,transparent) 52%,
      color-mix(in srgb,var(--bg) 65%,transparent) 70%,
      color-mix(in srgb,var(--bg) 20%,transparent) 88%,transparent 100%);
  }
}

/* The same edge treatment in both themes; the background token supplies the tint. */
body[data-page="devportal"] .case-hero-bleed::after{
  background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 10%,
    color-mix(in srgb,var(--bg) 88%,transparent) 22%,
    color-mix(in srgb,var(--bg) 70%,transparent) 40%,
    color-mix(in srgb,var(--bg) 36%,transparent) 55%,
    color-mix(in srgb,var(--bg) 10%,transparent) 68%,transparent 80%);
}

/* RotaOverland: preserve text contrast while exposing more of the dark scene. */
body[data-page="rotaoverland"] .case-hero-bleed::after{
  background:linear-gradient(35deg,var(--bg) 0%,
    color-mix(in srgb,var(--bg) 98%,transparent) 20%,
    color-mix(in srgb,var(--bg) 90%,transparent) 35%,
    color-mix(in srgb,var(--bg) 70%,transparent) 48%,
    color-mix(in srgb,var(--bg) 35%,transparent) 62%,
    color-mix(in srgb,var(--bg) 8%,transparent) 78%,transparent 92%);
}
@media(max-width:760px){
  body[data-page="rotaoverland"] .case-hero-bleed::after{
    background:linear-gradient(35deg,var(--bg) 0%,
      color-mix(in srgb,var(--bg) 99%,transparent) 35%,
      color-mix(in srgb,var(--bg) 93%,transparent) 52%,
      color-mix(in srgb,var(--bg) 65%,transparent) 70%,
      color-mix(in srgb,var(--bg) 20%,transparent) 88%,transparent 100%);
  }
}
