/* Shared character treatment: the same luminous, stippled language as the hands. */
.ascii-art{position:relative;overflow:hidden;isolation:isolate;pointer-events:none;user-select:none;min-width:0}
.ascii-layer{position:absolute;inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;padding:0;border:0;background:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--ascii-font,5px);line-height:var(--ascii-line,5px);font-weight:500;letter-spacing:0;white-space:pre;text-align:left;text-transform:none}
.ascii-soft{color:#b6babf;opacity:.74}.ascii-light{color:#f4f6f8;opacity:.96;text-shadow:0 0 1px #fff3}.ascii-orange{color:#ff4d00;text-shadow:0 0 5px #ff4d0040}
.ascii-image-art .image-band-0{color:#c8cdd2;opacity:.28;font-weight:400}
.ascii-image-art .image-band-1{color:#e1e6ec;opacity:.64;font-weight:400}
.ascii-image-art .image-band-2{color:#f5f8fa;opacity:.93;text-shadow:0 0 1px #fff3;animation:ascii-image-white-fade 7.8s ease-in-out infinite;animation-play-state:var(--motion-play-state,paused)}
.ascii-image-art .image-band-3{color:#fff;opacity:.98;font-weight:600;text-shadow:0 0 2px #fff3;animation:ascii-image-highlight-fade 8.6s ease-in-out infinite;animation-play-state:var(--motion-play-state,paused)}
@keyframes ascii-image-white-fade{0%,100%{opacity:.93}50%{opacity:.85}}
@keyframes ascii-image-highlight-fade{0%,100%{opacity:.98}50%{opacity:.8}}
.process-card .ascii-art{height:230px;width:100%;margin:38px auto 35px;opacity:.9;transition:opacity .4s}
.process-card.active .ascii-art,.process-card:hover .ascii-art{opacity:1}
.editorial-graphic .ascii-art{position:absolute;inset:0;width:100%;height:100%}
.editorial-graphic{background:radial-gradient(ellipse at 50% 55%,#ff4d0006,transparent 68%)}
.editorial-graphic:before,.editorial-graphic:after{display:none}
.surface-card .ascii-art{display:none}
@media(max-width:767px){.process-card .ascii-art{height:210px}.editorial-graphic .ascii-art{width:100%;height:100%}}
@media(prefers-reduced-motion:reduce){.ascii-image-art .ascii-layer{animation:none!important}}

@media(max-width:767px) and (prefers-reduced-motion:no-preference){
 /* Offset the fixed JS downshift while preserving its transform-based hand zoom. */
 .hero-scroll .ascii-field{top:calc(4svh - 14vh);bottom:calc(14vh - 4svh)}
 .hero-scroll .ascii-band{top:47%;font-size:clamp(3.8px,1.2vw,9.2px)}
}
