/* Running Great Stores — shared production stylesheet. Component styling stays inline in page markup; this file carries only what cannot be inline. */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #F6F1E7; color: #3B3A37; font-family: Archivo, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.bg-ink { background: #0A0807; }
a { color: #487B2E; }
a:hover { color: #2B4722; }
a:focus-visible, button:focus-visible { outline: 2px solid #487B2E; outline-offset: 2px; }
[hidden] { display: none !important; }
img { max-width: 100%; }

/* Skip link */
.skip:focus { top: 16px; }

/* Header: responsive behaviour formerly measured in JS. Breakpoints match the approved build (1040px nav, 520px pill). */
.nav-desktop { display: flex !important; }
.nav-mobile { display: none !important; }
@media (max-width: 1039.98px) {
  .nav-desktop { display: none !important; }
  .nav-mobile { display: flex !important; }
}
@media (max-width: 519.98px) { .hdr-pill { display: none !important; } }
.dd-panel { display: none; }
.dd-panel.is-open { display: block; }
.mobile-menu { display: none; }
.mobile-menu.is-open { display: block; }
.ico-close { display: none !important; }
.menu-btn.is-open .ico-open { display: none !important; }
.menu-btn.is-open .ico-close { display: block !important; }
body.menu-locked { overflow: hidden; }

/* Homepage Performance Intelligence grid (was a JS-computed column template) */
.pi-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
@media (max-width: 1039.98px) { .pi-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); } }

/* Hover / active states (inline styles cannot express pseudo-states) */
.hv-bg-deep:hover { background: #2B4722 !important; }
.hv-deep:hover { color: #2B4722 !important; }
.hv-leaf:hover { color: #9CCB7E !important; }
.hv-warm:hover { color: #F6F1E7 !important; }
.hv-fill-ink:hover { background: #0A0807 !important; color: #F6F1E7 !important; }
.hv-fill-warm:hover { background: #F6F1E7 !important; color: #0A0807 !important; }
.hv-bg-leaf:hover { background: #9CCB7E !important; color: #0A0807 !important; }

/* FAQ accordion plus/minus: vertical bar hides when open */
[data-faq-toggle][aria-expanded="true"] .faq-v { display: none; }

/* Scroll reveal is applied by site.js (elements render visible without JS) */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* Blog article: table of contents is sticky only on wide screens */
@media (max-width: 860px) { [data-toc] { position: static !important; max-width: none !important; } }
