/* Basic, minimal responsive styles for FSB Solutions website */
:root{
  --bg:#0f1724; /* dark-blue */
  --card:#0b1220;
  --accent:#3b82f6;
  --muted:#98a0b3;
  --text:#e6eef8;
}
*{box-sizing:border-box}
.root-font{font-size:16px}
body{font-family:Inter,system-ui,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;margin:0;background:linear-gradient(180deg,#071028 0%,#091827 100%);color:var(--text);line-height:1.7;font-size:16px}
.container{width:90%;max-width:1100px;margin:0 auto;padding:3.5rem 0}
.site-header{background:transparent;padding:1rem 0}
.header-row{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;font-size:1.25rem;display:flex;align-items:center}
.brand .logo{height:36px}
.brand .logo.small{height:28px}
.main-nav a{color:var(--muted);text-decoration:none;margin-left:1.25rem}
.hero{padding:4rem 0 6rem}
.hero-inner{background:linear-gradient(90deg,rgba(59,130,246,0.06),transparent);padding:3rem;border-radius:12px}
.hero h1{font-size:2.25rem;margin:0 0 .5rem;line-height:1.15}
.hero p{color:var(--muted);margin:0 0 1.25rem;font-size:1.05rem}
.cta-row{display:flex;gap:0.75rem}
.btn{display:inline-block;padding:.6rem 1rem;border-radius:8px;text-decoration:none;font-weight:600}
.btn.primary{background:var(--accent);color:#031025}
.btn.outline{border:1px solid rgba(255,255,255,0.08);color:var(--text);background:transparent}
.services{padding:2.25rem 0}
.services h2,.about h2,.contact h2{margin-top:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.card{background:rgba(255,255,255,0.02);padding:1.25rem;border-radius:10px}
.card h3{margin:0 0 .6rem;font-size:1.05rem}
.card p{color:var(--muted);margin:0}
.about,.contact{padding:2.25rem 0}
.contact-list{list-style:none;padding:0;color:var(--muted)}
.site-footer{border-top:1px solid rgba(255,255,255,0.02);padding:1rem 0}

.muted{color:var(--muted)}
.person .role{color:var(--muted);margin-top:0.25rem}

.contact-form{display:flex;flex-direction:column;gap:0.5rem;max-width:640px}
.contact-form label{display:flex;flex-direction:column;font-size:0.95rem}
.contact-form input,.contact-form textarea{padding:0.6rem;border-radius:6px;border:1px solid rgba(255,255,255,0.04);background:rgba(255,255,255,0.02);color:var(--text)}
.form-actions{display:flex;flex-direction:column;gap:0.5rem}

/* Readable paragraph width for long copy */
.prose{max-width:70ch}
.prose p{font-size:1rem;color:var(--muted);margin-bottom:1rem}

/* Headings */
h2{font-size:1.25rem;margin-bottom:0.75rem}
h4{margin:0 0 .5rem}

/* Footer tweak */
.site-footer .logo.small{filter:grayscale(100%) opacity(0.9)}

.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:start}
.footer-list{list-style:none;padding:0;margin:0}
.footer-list li{margin-bottom:0.5rem}

@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .header-row{flex-direction:column;align-items:flex-start}
  .grid{grid-template-columns:1fr}
  .hero h1{font-size:1.5rem}
  .container{padding:1.25rem}
}
