/* Page load & scroll performance — shared */
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility;
}

html.page-loading body {
    opacity: 1;
}

html.page-ready body {
    opacity: 1;
    transition: none;
}

img {
    max-width: 100%;
    height: auto;
}

section:not(.hero-section) {
    content-visibility: auto;
    contain-intrinsic-size: auto 480px;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    html.page-ready body { transition: none; }
}
