/* The app already bundles these four WOFF files. Keep this relative path aligned
   with coaching/static/coaching/fonts/ in the Django project. */
@font-face { font-family:"Poppins"; src:url("../fonts/Poppins-Regular.572896891ae7.woff") format("woff"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Poppins"; src:url("../fonts/Poppins-Medium.ebfeb2820177.woff") format("woff"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Poppins"; src:url("../fonts/Poppins-SemiBold.2393e5a93dfe.woff") format("woff"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Poppins"; src:url("../fonts/Poppins-Bold.a0ca88fcd62f.woff") format("woff"); font-style:normal; font-weight:700; font-display:swap; }

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 20rem; background: var(--cs-color-bg-deep); }
body {
  margin: 0;
  min-height: 100%;
  background: var(--cs-color-bg-deep);
  color: var(--cs-color-text);
  font-family: var(--cs-font-sans);
  font-size: var(--cs-font-size-body);
  line-height: var(--cs-line-height-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
button { -webkit-tap-highlight-color: transparent; }

:focus-visible { outline: 2px solid var(--cs-color-primary); outline-offset: 3px; }

.cs-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;
}
.cs-kicker {
  margin: 0;
  color: var(--cs-color-light-blue);
  font-size: var(--cs-font-size-caption);
  font-weight: var(--cs-font-weight-semibold);
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}
.cs-heading-1 {
  margin: 0;
  color: var(--cs-color-text-strong);
  font-size: var(--cs-font-size-h1);
  font-weight: var(--cs-font-weight-bold);
  letter-spacing: -0.035em;
  line-height: var(--cs-line-height-tight);
}
.cs-heading-1--auth { font-size: var(--cs-font-size-h1-auth); letter-spacing: -0.03em; }
.cs-heading-2 {
  margin: 0;
  color: var(--cs-color-text-strong);
  font-size: var(--cs-font-size-h2);
  font-weight: var(--cs-font-weight-semibold);
  letter-spacing: -0.02em;
  line-height: var(--cs-line-height-heading);
}
.cs-heading-3 {
  margin: 0;
  color: var(--cs-color-text-strong);
  font-size: var(--cs-font-size-h3);
  font-weight: var(--cs-font-weight-semibold);
  line-height: var(--cs-line-height-heading);
}
.cs-body-lg { margin:0; color:var(--cs-color-text-muted); font-size:var(--cs-font-size-body-lg); line-height:1.65; }
.cs-body, .cs-body-sm { margin:0; color:var(--cs-color-text-muted); }
.cs-body-sm { font-size:var(--cs-font-size-small); }
.cs-caption { margin:0; color:var(--cs-color-text-subtle); font-size:var(--cs-font-size-caption); line-height:1.5; }

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