/* ========== CoachFD base styles ========== */
*{box-sizing:border-box}
:root{
  --bg:#fff; --fg:#111; --muted:#444; --accent:#e63946; --card:#f5f5f5;
}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:24px}
header{position:sticky;top:0;background:#0d131bcc;backdrop-filter:blur(8px);border-bottom:1px solid #1f2834}
header .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.brand{font-weight:800;letter-spacing:.3px}
nav a{color:var(--muted);text-decoration:none;margin-left:16px}
nav a:hover{color:var(--fg)}
.hero{padding:56px 0}
.hero h1{font-size:clamp(28px,5vw,44px);margin:.2rem 0 .5rem}
.hero p{color:var(--muted);margin:0 0 8px;max-width:60ch}
/* Reduce vertical gap between consecutive hero sections (used on pages like clr.html) */
.hero + .hero { padding-top: 8px; padding-bottom: 8px; }
.hero + .hero h2 { margin-top: 0; }
/* Slightly tighten paragraph spacing in hero to pull following headings closer */
.hero p{ margin: 0 0 6px; }
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;text-decoration:none;background:var(--accent);color:white;font-weight:700}
.btn.secondary{background:#1f2834}
.grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin:32px 0}
@media (max-width: 900px) {
  .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .grid {
    grid-template-columns: 1fr;
  }
}
.card{background:var(--card);border:1px solid #1f2834;border-radius:16px;padding:18px}
.card,
.card:link,
.card:visited,
.card:hover,
.card:active {
  text-decoration: none;
  color: inherit;
}
.card h3 {
  margin: 0 0 8px;
  font-size: 1.15rem;
}
.card p {
  margin: 0;
  font-size: 1rem;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
footer{color:var(--muted);padding:40px 0;border-top:1px solid #1f2834;margin-top:32px}
.note{font-size:.9rem;color:var(--muted)}
img.logo{height:40px;vertical-align:middle}.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 6px 0;
  overflow: visible;
}

.topbar .brand {
  font-weight: 700;
  text-decoration: none;
  color: var(--fg);
  letter-spacing: .3px;
  white-space: nowrap;
}

.topbar-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: .8rem;
  flex-wrap: wrap;
}

.topbar-nav a {
  text-decoration: none;
  color: var(--fg);
  font-weight: 700;
  padding: .35rem .6rem;
  border-radius: 10px;
  border: 1px solid transparent;
}

.topbar-nav a:hover {
  border-color: var(--border);
  background: var(--card);
}

.topbar-nav .cta {
  border: 1px solid var(--brand-600);
  background: var(--brand);
  color: var(--fg);
}

@media (max-width: 860px) {
  .topbar { flex-wrap: wrap; gap: .5rem; }
  .topbar-nav { width: 100%; gap: .4rem; justify-content: center; }
}
