/* Movement stays on decorative layers; links and text keep their real DOM boxes. */
.cloud-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.65}
.atmosphere.has-canvas .dot-cloud{display:none}
.atmosphere:after{opacity:.075}
.home-heading h1{position:relative;max-width:100%;transform:none;white-space:normal;overflow-wrap:normal}
.title-text{position:relative;display:block;transform-origin:left center}
/* Motion is enhanced with WAAPI; server-rendered text is always visible by default. */
html.enhanced-motion .page{animation:none}
.startup-signal{position:fixed;inset:0;z-index:18;overflow:hidden;pointer-events:none;user-select:none;background:radial-gradient(ellipse 75% 8% at 50% 50%,rgb(29 98 215 / 10%),transparent)}
.startup-signal-line{position:absolute;top:50%;background:var(--signal-color);box-shadow:0 0 12px var(--signal-color);transform-origin:center;opacity:0}
.page-leaving .atmosphere:after{opacity:.12}
.text-link span,.project-mini>span:last-child,.service-links span{display:inline-block;transition:transform var(--motion) var(--ease)}
.text-link:hover span,.project-mini:hover>span:last-child,.service-links a:hover span{transform:translate(2px,-2px)}
@media(max-width:767px){.cloud-canvas{opacity:.55}.home-heading h1{font-size:clamp(1.35rem,6.2vw,2.8rem);letter-spacing:-.045em}}
@media(prefers-reduced-motion:reduce){.startup-signal{display:none}.cloud-canvas{opacity:.85}}

html.page-hidden *,html.page-hidden *:before,html.page-hidden *:after{animation-play-state:paused!important}

.title-glitch-band{position:absolute;inset:0;pointer-events:none;user-select:none;white-space:nowrap;color:var(--text)}
@media(prefers-reduced-motion:reduce){.title-glitch-band{display:none}}

/* Decorative scan signal stays below the fixed bottom navigation. */
.page-signal{position:fixed;top:0;left:0;right:0;height:1px;z-index:17;pointer-events:none;user-select:none}
.page-signal i{position:absolute;display:block;background:var(--accent);box-shadow:0 0 8px var(--signal-secondary)}
.page-signal i:nth-child(3n){background:var(--secondary)}
@media(prefers-reduced-motion:reduce){.page-signal{display:none}}
