/* Base */
:root{
  --text:#111; --muted:#666; --border:#eee; --brand:#0f6fff; --bg:#fff; --max:1120px;
}
html{font-size:16px}
@media (max-width:720px){html{font-size:15px}}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}

/* Layout */
.wrap{max-width:var(--max);margin:0 auto;padding:24px}
main.wrap{padding-top:24px;padding-bottom:24px}

/* Header */
.site-header{border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.brand{font-weight:700;text-decoration:none;color:var(--text)}
.nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--text);padding:6px 0}
.nav a.active{color:var(--brand);border-bottom:2px solid var(--brand)}

/* Typography */
h1{font-size:clamp(28px,5vw,42px);line-height:1.2;margin:0 0 12px}
h2{font-size:clamp(22px,3.6vw,28px);line-height:1.25;margin:32px 0 12px}
h3{margin:12px 0 8px}
p,li{font-size:clamp(15px,2.6vw,18px)}

/* Components */
.hero{padding:48px 0}
.cta{display:inline-block;background:var(--brand);color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;min-height:44px}
.card{border:1px solid var(--border);border-radius:14px;padding:20px;background:#fff}
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.two-col{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.two-col{grid-template-columns:1.2fr .8fr}}
.badge{display:inline-block;background:#f4f7ff;color:#1240ff;border:1px solid #dbe6ff;padding:6px 10px;border-radius:999px;font-size:12px;margin-right:8px;margin-bottom:8px}

/* Footer */
.site-footer{border-top:1px solid var(--border);margin-top:48px;padding:24px 0;font-size:14px;color:#555;background:#fff}

/* Forms */
label{display:block;margin:8px 0 4px}
input,textarea,button{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;margin-bottom:12px;font:inherit}
button{background:var(--brand);color:#fff;border:none;cursor:pointer;min-height:44px}

/* Media + a11y */
img{max-width:100%;height:auto;display:block}
a,button{outline-color:var(--brand)}
:focus{outline:2px solid var(--brand);outline-offset:2px}

/* Helpers */
.muted{color:var(--muted)}

/* Brand link styling — keep this LAST in the file */
.site-header .brand {
  font-weight: 700;
  font-size: clamp(28px, 5vw, 42px);
  letter-spacing: 0.2px;
  line-height: 1.1;
  color: var(--brand);              /* #0f6fff from your theme */
  transition: color 0.25s ease;
}

/* Ensure visited links don’t override brand color */
.site-header .brand:visited { color: var(--brand); }

/* Lighter hover/focus so it “pops” */
.site-header .brand:hover,
.site-header .brand:focus-visible {
  color: #0038ff;                   /* lighter than #0f6fff */
}

/* About page inner content width, aligned to the left edge of .wrap */
.content-narrow {
  max-width: 840px;   /* controls line length */
  margin: 0;          /* prevents centering */
  /* no width:100%; leave the block to size naturally up to 840px */
}

/* Normalize homepage spacing: rely on main.wrap padding only */
.hero {
  padding-top: 0;       /* was adding extra space */
  padding-bottom: 48px; /* keep your bottom space as-is */
}


/* Narrow inner containers that align with the left edge of .wrap */
.content-720 { max-width: 720px; margin: 0; }

/* Safety: if an inline max-width remains on <main>, neutralize it */
main.wrap[style*="max-width"] { max-width: var(--max) !important; }

/* === Footer alignment fix: keep links within centered wrap and inline with copyright === */
.site-footer .wrap {
  display: flex;
  justify-content: center;   /* center on small screens */
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  text-align: center;
}
@media (min-width: 768px) {
  .site-footer .wrap {
    justify-content: space-between; /* balanced on larger screens */
  }
}
.site-footer .footer-links a { text-decoration: none; }
.site-footer .footer-links a:hover { text-decoration: underline; }
