/* R&D IT SOLUTIONS LLC — Base Styles */
:root{
  --primary:#0A4D8C; /* federal blue */
  --primary-600:#0e67ba;
  --accent:#0F766E; /* teal */
  --bg:#ffffff;
  --surface:#f8fafc; /* slate-50 */
  --text:#0f172a; /* slate-900 */
  --muted:#475569; /* slate-600 */
  --border:#e5e7eb; /* gray-200 */
  --footer-bg:#0b1220;
  --footer-text:#cbd5e1;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;height:auto}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-600);text-decoration:underline}

.container{
  width:min(1100px, 92%);
  margin-inline:auto;
}

/* Header / Nav */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:50}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 0;
}
.logo{font-weight:700;color:var(--text);letter-spacing:0.2px}
.logo small{display:block;font-weight:500;color:var(--muted);letter-spacing:0}
.menu{display:flex;list-style:none;margin:0;padding:0;gap:1rem;flex-wrap:wrap}
.menu a{display:block;padding:0.5rem 0.75rem;border-radius:0.5rem}
.menu a:hover{background:var(--surface);text-decoration:none}
.menu a.active{background:var(--primary);color:#fff}

/* Hero */
.hero{background:linear-gradient(180deg,#f1f5f9 0%, #ffffff 100%);padding:4rem 0 3rem;border-bottom:1px solid var(--border)}
.hero h1{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;margin:0 0 0.5rem}
.hero p.lead{font-size:1.1rem;color:var(--muted);margin:0.25rem 0 1.25rem}
.badges{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.badge{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.85rem;padding:0.35rem 0.6rem;border-radius:999px;border:1px solid var(--border);background:#fff}

.cta{display:flex;gap:0.75rem;flex-wrap:wrap}
.btn{display:inline-block;padding:0.7rem 1rem;border-radius:0.6rem;border:1px solid var(--primary);color:#fff;background:var(--primary);font-weight:600}
.btn.secondary{background:transparent;color:var(--primary)}
.btn:hover{filter:brightness(1.03);text-decoration:none}

/* Sections */
.section{padding:2.5rem 0}
.section h2{font-size:1.5rem;margin:0 0 0.75rem}
.grid{display:grid;gap:1rem}
.cards{grid-template-columns:repeat(auto-fit, minmax(240px, 1fr))}
.card{border:1px solid var(--border);border-radius:0.75rem;background:#fff;padding:1rem}
.card h3{margin:0 0 0.25rem;font-size:1.1rem}
.card p{margin:0;color:var(--muted)}

/* Content helpers */
.kv{display:grid;grid-template-columns:1fr;gap:0.5rem}
.kv div{display:flex;gap:0.5rem;align-items:flex-start}
.k{width:140px;color:var(--muted);flex:0 0 140px}
.v{flex:1}

/* Footer */
.site-footer{background:var(--footer-bg);color:var(--footer-text);margin-top:2rem}
.site-footer a{color:#e2e8f0}
.site-footer a:hover{color:#fff}
.footer-inner{padding:1.25rem 0}
.footer-grid{display:grid;gap:1rem;grid-template-columns:1.2fr 1fr}
.footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:0.4rem;grid-auto-rows:min-content}
.legal{border-top:1px solid rgba(255,255,255,0.1);padding:0.75rem 0;color:#94a3b8;font-size:0.9rem}

/* Forms */
form{display:grid;gap:0.75rem;max-width:720px}
label{font-weight:600}
input[type="text"], input[type="email"], textarea{
  width:100%;padding:0.6rem 0.7rem;border:1px solid var(--border);border-radius:0.6rem;font:inherit
}
textarea{min-height:140px}
input:focus, textarea:focus{outline:3px solid rgba(14,103,186,0.2);border-color:var(--primary-600)}

/* Responsive tweaks */
@media (max-width: 720px){
  .footer-grid{grid-template-columns:1fr}
  .kv .k{flex-basis:120px;max-width:120px}
}
