/* Preserve the live site's layout, typography, copy, and photography. */
body.moonshot-body {
  --bg:#fff; --bg-soft:#f6f6f6; --panel:#fff; --panel-strong:#f6f6f6;
  --panel-light:#f6f6f6; --text:#27252b; --muted:#65616b;
  --accent:#7842aa; --accent-strong:#7842aa; --accent-soft:#f6f6f6;
  --line:#dedde0; --shadow:0 12px 32px rgba(30,25,36,.07);
  background:#fff; color:var(--text);
}
body.moonshot-body .moonshot-button {background:#171519;color:#fff}
body.moonshot-body .moonshot-button:hover {background:var(--accent);color:#fff}
body.moonshot-body .moonshot-button-secondary,
body.moonshot-body .moonshot-button-ghost {background:transparent;color:var(--text);border-color:var(--line)}
body.moonshot-body .moonshot-button-secondary:hover {background:var(--accent);color:#fff}
body.moonshot-body .moonshot-panel-highlight,
body.moonshot-body .moonshot-hero-focus {background:#f6f6f6}
body.moonshot-body .moonshot-eyebrow {color:var(--accent)}
/* Dark header gives the existing full-color logo contrast. */
.moonshot-topbar {position:relative;isolation:isolate}
.moonshot-topbar::before {content:"";position:absolute;z-index:-1;inset:-1.5rem calc((1180px - 100vw)/2) 0;background:#27252b}
body.moonshot-body .moonshot-topbar .moonshot-nav-link {color:#fff}
body.moonshot-body .moonshot-topbar .moonshot-nav-link:hover {color:#fff;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
body.moonshot-body .moonshot-topbar .moonshot-button-ghost {color:#fff;border-color:#77747b}
body.moonshot-body .moonshot-topbar .moonshot-button-ghost:hover {background:var(--accent);border-color:var(--accent)}
/* Photo stays visible; white text and solid cards retain contrast. */
body.moonshot-body .moonshot-section-band::before {background:linear-gradient(rgba(25,25,28,.42),rgba(25,25,28,.42)),url("flint-hills-116.jpg") center 34%/cover;opacity:1}
body.moonshot-body .moonshot-section-band>.moonshot-heading h2,
body.moonshot-body .moonshot-section-band>.moonshot-heading .moonshot-eyebrow,
body.moonshot-body .moonshot-section-band>.moonshot-support-intro,
body.moonshot-body .moonshot-section-band>.moonshot-heading+p {color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.6)}
body.moonshot-body .moonshot-section-band .moonshot-value-card {background:rgba(255,255,255,.96);color:var(--text)}
.professional-partners {margin-top:3rem;margin-bottom:3rem}
.professional-partner-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.professional-partner {padding:1.4rem;border:1px solid var(--line);background:#fff;display:block;color:var(--text);text-decoration:none}
.professional-partner strong {display:block;font-size:1.1rem}
.professional-partner small {display:block;color:var(--muted);margin-top:.5rem;line-height:1.6}
.professional-partner-presenting {grid-column:1/-1;border-left:4px solid var(--accent);background:#f6f6f6}
.professional-partner:hover {border-color:var(--accent)}
.professional-partner-label {display:block;color:var(--accent);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem}
.partner-logo-wrap {height:95px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:20px}
.partner-logo {width:auto;max-width:220px;max-height:90px;object-fit:contain}
.professional-partner-presenting .partner-logo-wrap {height:115px}
.professional-partner-presenting .partner-logo {max-height:115px}
@media(max-width:1212px){.moonshot-topbar::before{inset-inline:-1rem}}
@media(max-width:700px){.professional-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logo{max-width:100%}.moonshot-topbar::before{bottom:-.5rem}}
@media(max-width:420px){.professional-partner-grid{grid-template-columns:1fr}}
.partner-logo {max-width:min(220px,100%)}
/* Give the support heading comfortable space inside the photo. */
body.moonshot-body .moonshot-section-band > .moonshot-heading {
  padding-inline:clamp(1.25rem,3vw,2.5rem);
}
/* Presenting partner remains first, with the same footprint as every card. */
.professional-partner {position:relative;padding-top:2.4rem}
.professional-partner-label {position:absolute;top:.75rem;left:1.4rem;margin:0;font-size:.65rem}
/* Keep section headings on one consistent text alignment. */
body.moonshot-body .moonshot-section > .moonshot-heading {
  padding-inline:clamp(1.25rem,3vw,2.5rem);
}
/* Extend the approved palette to the story and content pages. */
body.moonshot-full-story-body .moonshot-section-band::before {
  background:linear-gradient(rgba(25,25,28,.42),rgba(25,25,28,.42)),url("story-background-chase.jpg") center 44%/cover;
}
body.moonshot-body .moonshot-race-card {
  background:linear-gradient(rgba(25,25,28,.58),rgba(25,25,28,.58)),url("flint-hills-116.jpg") center 34%/cover;
  color:#fff;
}
body.moonshot-full-story-body .moonshot-race-card {
  background:linear-gradient(rgba(25,25,28,.58),rgba(25,25,28,.58)),url("story-background-open-road.jpg") center 48%/cover;
}
body.moonshot-body .moonshot-race-card p,
body.moonshot-body .moonshot-race-card .moonshot-eyebrow {color:#fff}
body.moonshot-body .moonshot-race-card .moonshot-button-secondary {color:#fff;border-color:#aaa}
body.moonshot-body .moonshot-section-band .moonshot-method-card {background:#fff}
/* Compact sticky navigation, shared across the three pages. */
body.moonshot-body .moonshot-topbar {
  position:sticky;top:0;z-index:20;min-height:76px;
  padding-block:8px;margin-top:-1.5rem;
}
body.moonshot-body .moonshot-topbar::before {inset-block:0}
body.moonshot-body .moonshot-brand-logo {width:64px;height:64px;object-fit:contain}
body.moonshot-body .moonshot-nav {gap:14px;font-size:.82rem}
body.moonshot-body .moonshot-topbar .moonshot-button {min-height:2.4rem;padding:.55rem .85rem}
/* Header must be outside the hero's scroll boundary to remain sticky. */
body.moonshot-body>.sticky-nav-shell {position:sticky;top:0;z-index:20;background:#27252b}
body.moonshot-body .sticky-nav-shell .moonshot-topbar {width:var(--max-width);margin:0 auto;position:relative}
body.moonshot-body .sticky-nav-shell .moonshot-topbar::before {display:none}
body.moonshot-body .moonshot-hero,body.moonshot-body .moonshot-story-hero {padding-top:2.5rem}
html {scroll-padding-top:100px}
.mockup-page-footer {width:var(--max-width);margin:0 auto;padding:20px 0 32px;border-top:1px solid var(--line);text-align:right}
.back-to-top {font-size:.85rem;font-weight:700;color:var(--accent)}
.back-to-top:hover {text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){body.moonshot-body .moonshot-nav{gap:8px;font-size:.72rem}body.moonshot-body .moonshot-brand-logo{width:52px;height:52px}body.moonshot-body .moonshot-topbar{min-height:68px}body.moonshot-body .moonshot-topbar .moonshot-button{padding:.4rem .65rem;min-height:2rem}html{scroll-padding-top:125px}}
/* Full-size at the top; compact only after scrolling. */
body.moonshot-body .sticky-nav-shell .moonshot-topbar {
  min-height:144px;padding-block:12px;
  transition:min-height .2s ease,padding .2s ease;
}
body.moonshot-body .sticky-nav-shell .moonshot-brand-logo {
  width:120px;height:120px;transition:width .2s ease,height .2s ease;
}
body.moonshot-body .sticky-nav-shell .moonshot-nav {font-size:1rem;gap:.8rem;transition:font-size .2s ease}
body.moonshot-body .sticky-nav-shell .moonshot-button {min-height:3rem;padding:.9rem 1.25rem}
body.moonshot-body .sticky-nav-shell.is-scrolled .moonshot-topbar {min-height:80px;padding-block:8px}
body.moonshot-body .sticky-nav-shell.is-scrolled .moonshot-brand-logo {width:64px;height:64px}
body.moonshot-body .sticky-nav-shell.is-scrolled .moonshot-nav {font-size:.82rem;gap:14px}
body.moonshot-body .sticky-nav-shell.is-scrolled .moonshot-button {min-height:2.4rem;padding:.55rem .85rem}
@media(max-width:700px){
 body.moonshot-body .sticky-nav-shell .moonshot-nav{font-size:.75rem;gap:8px}
 body.moonshot-body .sticky-nav-shell .moonshot-brand-logo{width:90px;height:90px}
 body.moonshot-body .sticky-nav-shell .moonshot-topbar{min-height:114px}
 body.moonshot-body .sticky-nav-shell .moonshot-button{min-height:2.3rem;padding:.55rem .7rem}
 body.moonshot-body .sticky-nav-shell.is-scrolled .moonshot-brand-logo{width:52px;height:52px}
 body.moonshot-body .sticky-nav-shell.is-scrolled .moonshot-nav{font-size:.72rem;gap:8px}
 body.moonshot-body .sticky-nav-shell.is-scrolled .moonshot-topbar{min-height:68px}
}
@media(prefers-reduced-motion:reduce){body.moonshot-body .sticky-nav-shell *{transition:none}}
