/* Shared frontend typography; WordPress admin styles are untouched. */
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/manrope/Manrope-VariableFont_wght.woff2') format('woff2');
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}
body, .pace-home { font-family: 'Manrope', sans-serif; }
button, input, select, textarea { font-family: inherit; }
.pace-header, .pace-footer { font-family: 'Manrope', sans-serif; }
.pace-site-scroll-hint { position: absolute; top: auto; bottom: 16px; left: 12px; transform: none; z-index: 2; }
.pace-site-scroll-hint[hidden], .pace-content-scrollbar[hidden] { display: none; }
html.pace-has-content-scrollbar { scrollbar-width: none; }
html.pace-has-content-scrollbar::-webkit-scrollbar { display: none; }
.pace-content-scrollbar { position: fixed; right: 2px; z-index: 989; width: 8px; margin: 0; padding: 0; border: 0; border-radius: 6px; background: #e5e8f2; appearance: none; -webkit-appearance: none; writing-mode: vertical-lr; direction: ltr; cursor: pointer; }
.pace-content-scrollbar::-webkit-slider-runnable-track { width: 8px; height: 100%; background: #e5e8f2; border-radius: 6px; }
.pace-content-scrollbar::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 6px; height: 56px; border-radius: 5px; background: #929fbd; }
.pace-content-scrollbar::-moz-range-track { width: 8px; background: #e5e8f2; border-radius: 6px; }
.pace-content-scrollbar::-moz-range-thumb { width: 6px; height: 56px; border: 0; border-radius: 5px; background: #929fbd; }
.pace-content-scrollbar:focus-visible { outline: 2px solid var(--pace-navy); outline-offset: 2px; }
html::-webkit-scrollbar { width: 10px; background: transparent; }
html::-webkit-scrollbar-track { background: #e9ebf3; border-radius: 6px; margin-top: 0; }
html.pace-nav-stuck::-webkit-scrollbar-track { margin-top: var(--pace-scrollbar-offset, 0px); }
html::-webkit-scrollbar-thumb { background: #929fbd; border: 2px solid #e9ebf3; border-radius: 6px; }
html::-webkit-scrollbar-thumb:hover { background: #7385ac; }
.pace-home-sticky-demo[hidden] { display: none !important; }
.pace-home-button--outline { background-size: 220% 100%; animation: pace-button-background 4s ease-in-out infinite; }
@keyframes pace-button-background { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.pace-home-problem .pace-geo-challenges::after { background-color: var(--pace-home-pale); }
.pace-home-service-grid .pace-home-service-card { position: relative; }
.pace-home-service-grid .pace-home-service-card a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.pace-home-service-grid .pace-home-service-card:hover a,
.pace-home-service-grid .pace-home-service-card:focus-within a { color: var(--pace-home-navy); }
.pace-home-service-grid .pace-home-service-card a:focus { outline: none; }
.pace-home-service-grid .pace-home-service-card a:focus-visible { outline: 2px solid var(--pace-home-navy); outline-offset: 4px; }
@media (max-width: 640px) {
    .pace-site-scroll-hint { left: 8px; bottom: 16px; transform: scale(.85); transform-origin: left bottom; }
    .pace-home:not(.pace-geo) .pace-home-sticky-nav-inner { flex-wrap: wrap; justify-content: center; overflow-x: clip; gap: 3px; }
    .pace-home:not(.pace-geo) .pace-home-sticky-nav a { padding-inline: 8px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .pace-home-button--outline { animation: none; } }
