/* The HTML is the complete, readable page. These are disposable visual layers. */
body {
  --lp-ease-out:cubic-bezier(.23,1,.32,1);
  --lp-texture:url('/assets/brand/california-texture.webp');
}
/* Opacity preserves layout and the original searchable, accessible HTML. */
.pixel-boot .page-index main :is(h1,h2,.lp-subtitle,.lp-pillars dt,.lp-program-list a > span,.lp-founder-copy h3),
.pixel-boot body:not(.page-index) main :is(h1,h2,h3,.about-three-pillars dt,.belief-points dt,.partners-together-ja),
.pixel-boot :is(.footer-wordmark,.footer-contact),
[data-pixel-pending] { opacity:0; }
[data-pixel-static] { opacity:1!important; }
.pixel-boot a:focus-visible,
.pixel-boot a:focus-visible > span,
[data-pixel-pending]:focus-within { opacity:1!important; }
.pixel-text {
  display:block;
  position:relative;
  transform-origin:left center;
  --pixel-start-scale:1.065;
}
.pixel-source { display:block; }
.pixel-source :is(span, em, strong),
.pixel-fill :is(span, em, strong) { -webkit-text-fill-color:inherit; }
.pixel-fill {
  display:block;
  position:absolute;
  inset:0;
  pointer-events:none;
  user-select:none;
  image-rendering:pixelated;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:var(--pixel-mask-size) 100%;
  mask-size:var(--pixel-mask-size) 100%;
  -webkit-mask-position:0% 0;
  mask-position:0% 0;
  mask-mode:alpha;
}
.pixel-live { animation:pixel-settle 1600ms var(--lp-ease-out) both; }
.pixel-live .pixel-fill {
  animation:pixel-fill-in 1360ms steps(var(--pixel-steps), end) 240ms both;
}
@keyframes pixel-fill-in {
  to { -webkit-mask-position:100% 0; mask-position:100% 0; }
}
@keyframes pixel-settle {
  from { transform:scale(min(var(--pixel-start-scale), var(--pixel-available-scale, 1.065))); }
  to { transform:scale(1); }
}
.pixel-live .pixel-source {
  background-image:var(--lp-texture);
  background-color:var(--pixel-ink);
  background-size:300% 100%;
  background-position:var(--pixel-position,0%) center;
  background-repeat:no-repeat;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.pixel-fill { color:var(--pixel-ink); -webkit-text-fill-color:var(--pixel-ink); }
/* Slow assets still reveal the lettering once, without a late photo swap. */
.pixel-no-texture .pixel-source { opacity:0; }
.page-crowdfunding .support-opening h1 { font-weight:900; }
.page-index .lp-support-title {
  font-size:clamp(34px,3.6vw,58px);
  font-weight:900;
  line-height:1.5;
  letter-spacing:-.045em;
}
@media (max-width:520px) {
  .pixel-text { --pixel-start-scale:1.025; }
  .page-index .lp-support-title { font-size:clamp(29px,8.5vw,43px); }
}
@media (prefers-reduced-motion:reduce) {
  .pixel-boot main :is(h1,h2,h3,dt), .pixel-boot :is(.footer-wordmark,.footer-contact,.partners-together-ja), .pixel-boot .lp-program-list a > span, [data-pixel-pending] { opacity:1!important; }
  .pixel-text { transform:none!important; animation:none; }
  .pixel-live .pixel-source {
    opacity:1!important;
    background:none;
    color:var(--pixel-ink);
    -webkit-text-fill-color:var(--pixel-ink);
  }
  .pixel-fill { display:none; animation:none; }
}
@media print {
  .pixel-boot main :is(h1,h2,h3,dt), .pixel-boot :is(.footer-wordmark,.footer-contact,.partners-together-ja), .pixel-boot .lp-program-list a > span, [data-pixel-pending] { opacity:1!important; }
  .pixel-source { opacity:1!important; background:none!important; color:inherit!important; -webkit-text-fill-color:currentColor!important; }
  .pixel-fill { display:none; }
}
@media (forced-colors:active) {
  .pixel-boot main :is(h1,h2,h3,dt), .pixel-boot :is(.footer-wordmark,.footer-contact,.partners-together-ja), .pixel-boot .lp-program-list a > span, [data-pixel-pending] { opacity:1!important; }
  .pixel-source { opacity:1!important; background:none!important; color:CanvasText!important; -webkit-text-fill-color:CanvasText!important; }
  .pixel-fill { display:none; }
}
