:root{
  --rpo-yellow:#ffcf00;
  --rpo-yellow-dark:#e9b900;
  --rpo-ink:#111111;
  --rpo-ink-2:#1b1b1b;
  --rpo-paper:#f4f2ec;
  --rpo-white:#ffffff;
  --rpo-muted:#747474;
  --rpo-line:rgba(17,17,17,.14);
  --rpo-line-dark:rgba(255,255,255,.16);
  --rpo-head:'Barlow Condensed',Arial,sans-serif;
  --rpo-body:'Barlow',Arial,sans-serif;
  --rpo-mono:'DM Mono',monospace;
  --rpo-max:1280px;
  --rpo-gutter:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--rpo-paper);color:var(--rpo-ink);font-family:var(--rpo-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::selection{background:var(--rpo-yellow);color:var(--rpo-ink)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.rpo-shell{width:min(var(--rpo-max),100%);margin:0 auto;padding-left:var(--rpo-gutter);padding-right:var(--rpo-gutter)}
.rpo-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--rpo-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.rpo-kicker::before{content:"";width:7px;height:7px;background:var(--rpo-yellow);border-radius:50%}
.rpo-display{font-family:var(--rpo-head);font-weight:900;text-transform:uppercase;line-height:1.01;letter-spacing:-.018em;margin:0;font-kerning:normal;text-rendering:geometricPrecision;overflow:visible}
.rpo-title{font-size:clamp(54px,8vw,124px)}
.rpo-section-title{font-size:clamp(44px,5.2vw,78px)}
.rpo-copy{font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:#555;max-width:650px}
.rpo-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;font-family:var(--rpo-mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:.22s ease;cursor:pointer}
.rpo-btn:hover{transform:translateY(-2px)}
.rpo-btn-yellow{background:var(--rpo-yellow);color:var(--rpo-ink)}
.rpo-btn-yellow:hover{background:#ffdb3a;box-shadow:0 15px 35px rgba(255,207,0,.23)}
.rpo-btn-dark{background:var(--rpo-ink);color:#fff}
.rpo-btn-dark:hover{background:#2a2a2a}
.rpo-btn-light{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.rpo-btn-light:hover{background:#fff;color:#111}
.rpo-link{display:inline-flex;align-items:center;gap:12px;font-family:var(--rpo-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.rpo-link::after{content:"→";transition:transform .2s}
.rpo-link:hover::after{transform:translateX(5px)}
[data-rpo-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
[data-rpo-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-rpo-reveal]{opacity:1;transform:none;transition:none}.rpo-btn,.rpo-link::after{transition:none}}


/* Phase 8 · global accessibility and mobile polish */
html{scroll-padding-top:92px}
body.rpo-menu-locked{overflow:hidden}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--rpo-yellow);outline-offset:4px}
::placeholder{color:#8a8a8a;opacity:1}
button,[type="button"],[type="submit"],summary{touch-action:manipulation}
.rpo-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.rpo-skip-link{position:fixed;left:18px;top:12px;z-index:3000;transform:translateY(-160%);background:var(--rpo-yellow);color:#111;padding:11px 16px;font-family:var(--rpo-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;transition:transform .2s}
.rpo-skip-link:focus{transform:none}
.site-footer a{min-height:30px}
@media(max-width:640px){
  html{scroll-padding-top:76px}
  .rpo-btn{width:100%;min-height:54px}
  .rpo-shell{padding-left:20px;padding-right:20px}
  .footer-grid{gap:34px!important}
}

/* RUNPO display heading spacing fix v2 */
.rpo-display.rpo-section-title{
  line-height:1.01;
  letter-spacing:-.018em;
}

.rpo-display br{
  line-height:inherit;
}

.rpo-display > span{
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

.statement .rpo-display > span[style*="background"]{
  display:inline-block;
  padding:.035em .10em .075em!important;
  margin:.035em 0 .045em;
  line-height:1.04;
}

.story-quote mark,
.rpo-display mark{
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.025em .08em .065em;
}

.home-hero .rpo-display,
.about-hero .rpo-display,
.team-hero .rpo-display,
.contact-hero .rpo-display,
.community-hero .rpo-display,
.blog-hero .rpo-display{
  line-height:.98;
  letter-spacing:-.02em;
}

.coach .rpo-display,
.statement .rpo-display,
.community .rpo-display,
.race-preview .rpo-display,
.story .rpo-display,
.principles .rpo-display,
[class*="cta"] .rpo-display{
  line-height:1.02;
}

@media(max-width:768px){
  .rpo-display,
  .rpo-display.rpo-section-title{
    line-height:1.04;
    letter-spacing:-.012em;
  }

  .home-hero .rpo-display,
  .about-hero .rpo-display,
  .team-hero .rpo-display,
  .contact-hero .rpo-display,
  .community-hero .rpo-display,
  .blog-hero .rpo-display{
    line-height:1.01;
  }

  .statement .rpo-display > span[style*="background"]{
    padding:.04em .09em .08em!important;
    margin:.045em 0 .055em;
  }
}

