/* ==========================================================================
   Fixed black-concrete backdrop.

   Implemented as a fixed pseudo-element (background-attachment:fixed is
   unreliable on iOS Safari) so the page scrolls over a stationary texture.

   The texture carries NO darkening wash over it — the concrete is already
   dark enough to carry the type on its own. Measured on bg-concrete.jpg:
   mean luminance 33/255, 92% of pixels below 60, brightest 2% above 81.
   Contrast against the raw texture:

       --ink    #f4f7f6   14.8:1
       --teal-1 #19d7c3    8.8:1
       --ink-2  #a7b5b3    7.5:1   (AAA for body text is 7:1)
       --muted  #7d8f8c    4.7:1   (AA is 4.5:1)

   Cards and panels supply their own translucent backgrounds, so any text
   sitting inside one is darker still.
   ========================================================================== */

html{background-color:var(--bg)}

body{
  background-color:transparent;
  background-image:none;
  position:relative;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background-image:url("bg-concrete.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:translateZ(0);
  will-change:transform;
}

/* keep the texture from scaling absurdly on very tall phones */
@media (max-width:680px){
  body::before{background-position:center top}
}
