@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/anton-400.woff2") format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/barlow-400.woff2") format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/barlow-500.woff2") format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/barlow-600.woff2") format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/barlow-600italic.woff2") format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/barlow-700.woff2") format('woff2');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/oswald.woff2") format('woff2');
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Barlow', sans-serif; background: #0e0f12; color: #eef1f5; -webkit-font-smoothing: antialiased; }
a { color: #E01F26; text-decoration: none; }
a:hover { color: #ff3b36; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bioIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

.navlinks, .mobilemenu { display: none; }
.navtoggle:checked ~ .mobilemenu { display: flex; }
@media (min-width: 720px) {
  .navlinks { display: flex !important; }
  .hamburger { display: none !important; }
  .mobilemenu { display: none !important; }
}

/* hover states (inline base styles win specificity, so !important is needed
   where the resting value is also set inline) */
.hover-lift:hover { transform: translateY(-4px); }
.hover-lift-red:hover { transform: translateY(-4px); border-color: rgba(224,31,38,0.5) !important; }
.hover-card:hover { background: #181b21 !important; }
.hover-fb:hover { color: #3d7bff !important; border-color: #3d7bff !important; }
.hover-ig:hover { color: #E01F26 !important; border-color: #E01F26 !important; }

/* coach accordion */
.coach { border-bottom: 1px solid rgba(255,255,255,0.1); }
.coach summary { list-style: none; cursor: pointer; }
.coach summary::-webkit-details-marker { display: none; }
.coach summary:hover { background: rgba(255,255,255,0.03); }
.coach summary:focus-visible { outline: 2px solid #3d7bff; outline-offset: -2px; }
.coach-sign::before { content: '+'; }
.coach[open] .coach-sign::before { content: '\2212'; }
.coach-bio { animation: bioIn 0.28s ease-out both; }
