html{scroll-behavior:smooth}
a{color:#151413}
a:hover{color:#E5322D}
section{scroll-margin-top:88px}
.pace-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:#FFF4E5;color:#8A4B00;font-size:13px;line-height:1.45}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* nav type */
nav a{font-family:'Inter Tight',sans-serif!important;letter-spacing:-0.2px}
nav > div:nth-child(2) a{font-size:15px!important;font-weight:500!important;color:#3A3734!important}
nav > div:nth-child(2) a:hover{color:#151413!important}

/* one quiet reveal per section */
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* subtle hovers */
.btn{transition:transform .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.lift:hover{transform:translateY(-3px)}

/* sticky nav clone */
.navfix{position:fixed;left:0;right:0;top:10px;z-index:100;max-width:1200px;margin:0 auto;padding:0 24px;transform:translateY(-140%);transition:transform .4s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.navfix.show{transform:none;pointer-events:auto}
.navfix > nav > *{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(255,255,255,.85)!important}

.menu-btn{display:none;width:40px;height:40px;border-radius:999px;border:0;background:rgba(21,20,19,.06);align-items:center;justify-content:center;cursor:pointer;color:#151413;padding:0}
.menu-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:120;flex-direction:column;gap:2px;padding:8px;border-radius:22px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(21,20,19,.08);box-shadow:0 24px 48px -20px rgba(40,20,10,.3)}
.menu-panel a{display:block;padding:14px 16px;border-radius:14px;color:#151413!important;text-decoration:none;font-family:'Inter Tight',sans-serif;font-size:17px;font-weight:500}
.menu-panel a:hover{background:rgba(21,20,19,.05)}
.menu-open .menu-panel{display:flex}

/* tabs */
[role=tab]{transition:background-color .2s,color .2s;cursor:pointer}
.swap{transition:opacity .3s}
.swap.fade{opacity:0}

details summary{cursor:pointer}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1!important;transform:none!important}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero-row{justify-content:center!important;padding:96px 24px 32px!important}
  .hero-text{text-align:center;margin:0 auto;flex-basis:100%!important;max-width:640px!important}
  .hero-text > div{justify-content:center}
  .hero-text p{margin-left:auto!important;margin-right:auto!important}
  .hero-cards{flex:1 1 100%!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center;max-width:680px}
  .hero-cards > *{flex:1 1 280px;min-width:0}
  .hero-sub{justify-content:center!important;text-align:center}
  .hero-sub > div{justify-content:center}
  .sec-head{flex-direction:column!important;align-items:center!important;text-align:center}
  .sec-head > *{flex:0 1 auto!important;max-width:640px!important;margin-left:auto!important;margin-right:auto!important;text-align:center}
}
@media (max-width:640px){
  [style*="flex:1 1"],[style*="flex:0 1"],[style*="flex:2 1"],[style*="flex: 1 1"]{flex-basis:100%!important;max-width:100%!important}
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .week-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style*="grid-column:span 2"],[style*="grid-column: span 2"]{grid-column:auto!important}
  .hero-window{margin:12px 10px 0!important;border-radius:28px!important;min-height:0!important}
  .hero-row{padding:72px 18px 24px!important}
  .hero-cards > *{flex-basis:100%!important}
  nav > div:nth-child(2){display:none!important}
  .menu-btn{display:inline-flex}
  nav{position:relative}
  [role=tablist]{flex-wrap:nowrap!important;overflow-x:auto;max-width:100%;justify-content:flex-start!important;scrollbar-width:none}
  [role=tablist]::-webkit-scrollbar{display:none}
  [role=tablist] > *{flex:0 0 auto}
  #app figure{flex:1 1 42%!important;max-width:46%!important;margin-top:0!important}
  .navfix{padding:0 12px}
  nav{flex-wrap:nowrap!important}
  nav > .nav-right > a{display:none!important}
  nav > .nav-right > a:last-of-type{display:inline-flex!important}
  .sport-stat{display:none!important}
}

.sport-card{transition:box-shadow .2s,border-color .2s}
.sport-card:hover{box-shadow:0 18px 40px -20px rgba(20,16,12,.3)}
#learn a[href]:hover span:first-child{text-decoration:underline;text-underline-offset:3px}
