/* Stage 1: reading fields and print grain only. No layout or motion changes. */

/* The existing background grain remains distinct from card surface textures.
   Keep the mobile renderer's existing no-overlay rule intact. */
body:before{opacity:.014}

/* Reuse the existing finer alpha mask: same pixel scale, smaller dark flecks.
   Font metrics, ink, text clipping and all heading dimensions stay unchanged. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .text-grain{
    background-image:image-set(url('assets/type-grain-sharp-fine.png') 1x,url('assets/type-grain-sharp-fine@2x.png') 2x);
  }
}

/* These fields travel with their text, independently of the fixed contour map.
   They do not change the map's data, camera, animation, or rendering pipeline. */
:is(.about-identity,.about-copy,.fit-heading,.refusal-item>div,
    .pricing-heading,.volume-option,.scope-title,.scope-example,
    .service-inclusions article,.pricing-details,.faq-group){
  position:relative;
  isolation:isolate;
}

:is(.about-identity,.about-copy,.fit-heading,.refusal-item>div,
    .pricing-heading,.volume-option,.scope-title,.scope-example,
    .service-inclusions article,.pricing-details,.faq-group):before{
  content:'';
  position:absolute;
  inset:-14px -18px;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse farthest-side at center,
    #050505d6 0%,#050505bd 58%,#05050570 82%,#05050500 100%);
}

/* Short number blocks need less screening than continuous reading areas. */
.volume-option:before{inset:0;opacity:.6}

/* Keep fields within the existing small-screen page gutters. */
@media(max-width:560px){
  :is(.about-identity,.about-copy,.fit-heading,.refusal-item>div,
      .pricing-heading,.scope-title,.scope-example,
      .service-inclusions article,.pricing-details,.faq-group):before{
    inset:-10px -10px;
  }
}

@media(forced-colors:active){
  :is(.about-identity,.about-copy,.fit-heading,.refusal-item>div,
      .pricing-heading,.volume-option,.scope-title,.scope-example,
      .service-inclusions article,.pricing-details,.faq-group):before{display:none}
  .text-grain{background:none;color:CanvasText!important}
}
