/* Locally downloaded photographs crossfade beneath the liquid veil. */
.underneath{background:#93b9ca}
.wallpaper-scene{position:absolute;inset:0;opacity:0;transition:opacity 2.4s ease}
.wallpaper-scene.is-active{opacity:1}
.wallpaper-scene img{width:100%;height:100%;object-fit:cover}
.wallpaper-paused .wallpaper-scene,body.motion-off .wallpaper-scene{transition:none}

/* Native pointer is hidden only after both custom sprites successfully load. */
@media(any-pointer:fine){body.custom-cursor-active,body.custom-cursor-active *{cursor:none!important}}
#custom-pointer{position:fixed;inset:0 auto auto 0;margin:0;padding:0;border:0;width:0;height:0;overflow:visible;background:transparent;pointer-events:none;z-index:2147483647;opacity:0;mix-blend-mode:difference;contain:layout style;transition:opacity .12s}
#custom-pointer.is-visible{opacity:1}
#custom-pointer::backdrop{display:none}
#custom-pointer img{position:absolute;left:0;top:0;width:40px;height:40px;max-width:none;object-fit:contain;filter:brightness(0) invert(1);pointer-events:none}
#custom-pointer .custom-pointer__arrow{transform:translate(-10px,-5px)}
#custom-pointer .custom-pointer__hand{width:30px;height:30px;transform:translate(-3px,-1px);display:none}
#custom-pointer.is-link .custom-pointer__arrow{display:none}
#custom-pointer.is-link .custom-pointer__hand{display:block}
.custom-pointer__ring{position:absolute;top:0;left:0;width:48px;height:48px;border:1px solid #ffffff60;border-radius:50%;transition:width .16s,height .16s,border-color .16s;pointer-events:none}
#custom-pointer.is-link .custom-pointer__ring{width:52px;height:52px;border-color:#ffffffa0}
#custom-pointer.is-pressed .custom-pointer__ring{width:43px;height:43px;border-color:white}
@media(prefers-reduced-motion:reduce){.wallpaper-scene{animation:none;transition:none}#custom-pointer,.custom-pointer__ring{transition:none}}

/* Align the painted edge of Bricolage's L with the shared text column. */
.hero-top h1{margin-inline-start:-.065em}

/* Character slots hold their original mono width; rounded variable glyphs
   crossfade inside them, with no reflow or change to the lime highlight. */
.fluid-letter{display:inline-block;position:relative;white-space:pre;line-height:inherit;transform-origin:50% 62%;vertical-align:baseline}
.fluid-letter__ink{opacity:var(--base-alpha,1)}
.fluid-letter::after{content:attr(data-letter) / "";position:absolute;inset:0;display:block;font-family:Bricolage,Arial,sans-serif;font-weight:var(--bubble-weight,580);font-size:1em;line-height:inherit;letter-spacing:0;text-align:center;opacity:var(--bubble-alpha,0);pointer-events:none}
.adaptive-contrast .name-period{mix-blend-mode:difference;color:var(--dot-blend-source)}
.home-body.has-fluid-text .name-shadow{display:none}
body.motion-off .fluid-letter{transform:none!important}
@media(prefers-reduced-motion:reduce){.fluid-letter{transform:none!important}.fluid-letter::after{opacity:0!important}.fluid-letter__ink{opacity:1!important}}

/* Keep the longer vowel-led title on one line on the smallest phones. */
@media(max-width:360px){.typing-intro{font-size:clamp(17.5px,calc(7.5vw - 6.5px),19px)}}
