/* What we do page: the frame the four chapters sit in (header, shared reveal states, footer). Each chapter owns its own file. */
.astro-services-page { overflow-x: clip; }
.astro-services-page main { position: relative; }
/* the header is the shared pinned sub-page bar (css/nav-menu.css) */
/* letters split by svc-motion.js: each sits in a clipped word so it can rise from below */
/* a word moves to the next line whole; only a word longer than the line wraps inside itself */
.sv-word { display: inline-flex; flex-wrap: wrap; max-width: 100%; white-space: nowrap; }
.sv-char { display: inline-block; will-change: transform; }
/* the shared one-shot reveal: hidden only once JS is running and motion is allowed, visible otherwise */
html.js:not(.pm-reduced) .sv-reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease-out), transform 1.1s var(--ease-out); transition-delay: calc(var(--d, 0) * 1ms); }
html.js:not(.pm-reduced) .sv-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.js .sv-reveal { opacity: 1 !important; transform: none !important; } }
.astro-services-page .foot { position: relative; z-index: 2; background: var(--bg); }
/* room for the fixed chapter rail on the right edge (desktop only) */
@media (min-width: 760px) { .astro-services-page main > section:not(.sv-hero) { padding-right: max(56px, var(--gut)); } }
