    /* Shared preloader: cover the first paint before the body is parsed. */
    html.home-preloading { overflow: hidden; }
    html.home-preloading #home-preloader, #home-preloader:not([hidden]) { position: fixed; inset: 0; z-index: 10000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; background: #fff; color: #18191d; }
    #home-preloader img { width: 80px; height: 80px; object-fit: contain; }
    #home-preloader p { margin: 0; padding: 0 12px; max-width: 100%; font: 400 clamp(12px, 3.5vw, 14px)/1.6 "Segoe UI", Arial, sans-serif; letter-spacing: 0; color: #65666e; text-align: center; white-space: nowrap; }
    .home-loader-circle { position: relative; width: 116px; height: 116px; display: grid; place-items: center; }
    .home-loader-circle::before { content: ""; position: absolute; inset: 0; border: 3px solid #f0f0f3; border-top-color: #e92332; border-right-color: #e92332; border-radius: 50%; animation: home-loader-spin .8s linear infinite; }
    @keyframes home-loader-spin { to { transform: rotate(360deg); } }
    @media (prefers-reduced-motion: reduce) { .home-loader-circle::before { animation: none; } }
    .home-intro-message { font-style: italic !important; }
    .home-intro-quote { color: #e92332; }

html.home-preloading::before { content: ''; position: fixed; inset: 0; z-index: 9999; background: #fff; }
