/* Revision 10: paint-only typography. No font, dimensions, spacing or motion. */
:root{--type-link-red:#ffaaa2}

/* Solid platinum remains the fallback. Every gradient stop is fully opaque. */
:is(#hero-title,.section-heading h2,#about h2,#contact h2,
    .archive-intro h1,.browser-heading h2,.archive-context h2,
    .laser-intro h1,.reader-header h1){
  --platinum-fill:linear-gradient(180deg,#fafcff 0%,#ecf0f6 30%,#ccd4df 64%,#e2e6ed 82%,#ded2d6 100%);
  color:#e2e6ed;
  -webkit-text-fill-color:currentColor;
  text-shadow:0 -.35px 0 #ffffff30,0 .45px 0 #c94c531c;
}
#hero-title{
  --platinum-fill:linear-gradient(180deg,#ffffff 0%,#f0f4fa 18%,#d7dee8 43%,#bbc5d3 58%,#e3e8ee 73%,#dfd9de 85%,#deb8ba 93%,#d69c9f 100%);
  text-shadow:0 -.55px 0 #ffffff70,0 .75px 0 #e636432d;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  :is(#hero-title,.section-heading h2,#about h2,#contact h2,
      .archive-intro h1,.browser-heading h2,.archive-context h2,
      .laser-intro h1,.reader-header h1){
    background-color:#e2e6ed;
    background-image:var(--platinum-fill);
    background-repeat:no-repeat;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}
/* Keep the existing red punctuation solid, independent of the platinum fill. */
:is(#hero-title,.section-heading h2,.browser-heading h2,.laser-intro h1)>span:not(.platinum-ink){
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
}

/* Inline paint bounds include the full font ascent/descent. This avoids the
   tight heading line box clipping the gradient off g, p and y. No layout change. */
:is(#hero-title,.section-heading h2,#about h2,#contact h2,
    .archive-intro h1,.browser-heading h2,.archive-context h2,
    .laser-intro h1):has(>.platinum-ink){
  background:none;-webkit-text-fill-color:currentColor;text-shadow:none;
}
:is(#hero-title,.section-heading h2,#about h2,#contact h2,
    .archive-intro h1,.browser-heading h2,.archive-context h2,
    .laser-intro h1)>.platinum-ink{
  color:#e2e6ed;-webkit-text-fill-color:currentColor;
  text-shadow:0 -.35px 0 #ffffff30,0 .45px 0 #c94c531c;
}
/* The final y/k overhang their advance boxes under this tight tracking. Extend
   only these three paint bounds; the negative margin preserves inline advance. */
:is(#hero-title,#work-title,#photography-title)>.platinum-ink{
  padding-inline-end:.12em;
  margin-inline-end:-.12em;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  :is(#hero-title,.section-heading h2,#about h2,#contact h2,
      .archive-intro h1,.browser-heading h2,.archive-context h2,
      .laser-intro h1)>.platinum-ink{
    background-color:#e2e6ed;background-image:var(--platinum-fill);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}
#hero-title>.platinum-ink{-webkit-text-stroke:.65px #030508;paint-order:stroke fill}

/* Crisp links: color and existing decoration only, with an explicit focus ring. */
a:not(.skip):is(:hover,:focus-visible),
.site-header nav a:is(:hover,:focus-visible),
.photo-subject-links a:is(:hover,:focus-visible){
  color:var(--type-link-red);
  text-decoration-color:var(--type-link-red);
}
a:not(.skip):focus-visible{
  outline-color:var(--type-link-red);
}
.gallery-tabs button:not([aria-pressed="true"]):is(:hover,:focus-visible),
#laser-categories button:not([aria-pressed="true"]):is(:hover,:focus-visible),
.laser-card-actions button:is(:hover,:focus-visible){
  color:var(--type-link-red);
  border-color:var(--type-link-red);
}

@media(prefers-contrast:more){
  :is(#hero-title,.section-heading h2,#about h2,#contact h2,
      .archive-intro h1,.browser-heading h2,.archive-context h2,
      .laser-intro h1,.reader-header h1){
    background:none;color:#f2f5fa;-webkit-text-fill-color:currentColor;text-shadow:none;
  }
}
@media(forced-colors:active){
  :is(#hero-title,.section-heading h2,#about h2,#contact h2,
      .archive-intro h1,.browser-heading h2,.archive-context h2,
      .laser-intro h1,.reader-header h1){
    background:none;color:CanvasText;-webkit-text-fill-color:currentColor;text-shadow:none;
  }
  a:not(.skip):is(:hover,:focus-visible){color:LinkText;outline-color:Highlight}
}
@media print{
  :is(#hero-title,.section-heading h2,#about h2,#contact h2,
      .archive-intro h1,.browser-heading h2,.archive-context h2,
      .laser-intro h1,.reader-header h1){
    background:none;color:#111;-webkit-text-fill-color:currentColor;text-shadow:none;
  }
}
@media(prefers-contrast:more),(forced-colors:active){
  :is(#hero-title,.section-heading h2,#about h2,#contact h2,
      .archive-intro h1,.browser-heading h2,.archive-context h2,
      .laser-intro h1)>.platinum-ink{
    background:none;color:inherit;-webkit-text-fill-color:currentColor;
    -webkit-text-stroke:0;text-shadow:none;
  }
}
@media print{
  :is(#hero-title,.section-heading h2,#about h2,#contact h2,
      .archive-intro h1,.browser-heading h2,.archive-context h2,
      .laser-intro h1)>.platinum-ink{
    background:none;color:#111;-webkit-text-fill-color:currentColor;
    -webkit-text-stroke:0;text-shadow:none;
  }
}
