/* One continuous surface: the marble runs behind the whole page instead of
   stopping at the hero. Two fixed layers sit behind everything — the image and
   a scrim over it — and the sections stop painting opaque grounds on top.
   Loaded last. */

html {
  background-color: var(--bg, #070808);
}

body {
  position: relative;
  background: transparent;
}

/* the marble, fixed so the page slides over one continuous surface */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background: url(/marble.jpg) center / cover no-repeat;
  filter: saturate(1.05) brightness(0.92) contrast(1.16) hue-rotate(-8deg) sepia(0.07);
}

/* the scrim that keeps type legible over it */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(7, 8, 8, 0.68) 0%,
    rgba(7, 8, 8, 0.74) 40%,
    rgba(7, 8, 8, 0.78) 100%
  );
}

/* The hero no longer needs its own copy of the backdrop — it would sit on top
   of the page-wide one and double the texture. */
.hero--v2::before,
.hero--v2::after {
  display: none;
}

.hero--v2 {
  background: transparent;
}

/* Sections stop painting over the surface. */
.section,
.stats,
.tenants,
.gp-news,
.footer {
  background: transparent;
}

/* Instead of tinting whole sections, fade the marble out locally behind each
   block of copy. The texture stays alive at the edges of the page and settles
   only where words sit — the designer's approach, and a better one. */

.section > .wrap,
.tenants > .wrap,
.gp-news > .wrap,
.footer > .wrap {
  position: relative;
}

.section > .wrap::before,
.tenants > .wrap::before,
.gp-news > .wrap::before,
.footer > .wrap::before {
  content: "";
  position: absolute;
  inset: -12vh -16vw;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(
    78% 62% at 44% 50%,
    rgba(7, 8, 8, 0.82) 0%,
    rgba(7, 8, 8, 0.68) 38%,
    rgba(7, 8, 8, 0.34) 62%,
    rgba(7, 8, 8, 0.10) 82%,
    rgba(7, 8, 8, 0) 100%
  );
}

/* Long-form prose gets a touch more. */
#firm > .wrap::before {
  background: radial-gradient(
    74% 64% at 50% 50%,
    rgba(7, 8, 8, 0.88) 0%,
    rgba(7, 8, 8, 0.76) 40%,
    rgba(7, 8, 8, 0.40) 64%,
    rgba(7, 8, 8, 0.12) 84%,
    rgba(7, 8, 8, 0) 100%
  );
}
