/* Camelot Administrative Services — Blue & White federal-ready theme */
:root{
  --blue-800:#0b3c73;
  --blue-600:#155a9c;
  --blue-100:#e6f0fb;
  --white:#ffffff;
  --gray-700:#2b2f36;
  --gray-500:#5a6573;
  --gray-200:#e7ecf3;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--gray-700);
  background:var(--white);
  line-height:1.6;
}

.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}

.site-header{
  background:linear-gradient(120deg,var(--blue-800),var(--blue-600));
  color:var(--white);
  position:sticky;top:0;z-index:50;
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:0.9rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.logo{
  width:40px;height:40px;border-radius:12px;background:var(--white);
  color:var(--blue-800);display:grid;place-items:center;font-weight:700
}
.brand-text{display:flex;flex-direction:column}
.brand-name{font-weight:700;letter-spacing:.2px}
.brand-tag{font-size:.85rem;opacity:.9}

.menu a{color:#dce9fb;text-decoration:none;margin-left:1rem;font-weight:600}
.menu a:hover,.menu a:focus{color:#fff;text-decoration:underline}

.hero{
  background:linear-gradient(180deg,var(--blue-100),#fff);
  padding:3.5rem 0 2.75rem;
  border-bottom:1px solid var(--gray-200);
}
.hero-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.hero-copy h1{font-size:2.2rem;line-height:1.2;margin:.25rem 0 0.5rem;color:var(--blue-800)}
.subtitle{font-size:1.1rem;color:var(--gray-700);max-width:46ch}
.quick-facts{list-style:none;padding:0;margin:1rem 0 1.25rem;display:grid;gap:.25rem}
.cta{
  display:inline-block;background:var(--blue-800);color:#fff;padding:.8rem 1.1rem;
  border-radius:10px;font-weight:700;text-decoration:none;border:2px solid transparent
}
.cta:hover{background:var(--blue-600)}
.section{padding:2.75rem 0}
.section.alt{background:#fafcff;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
h2{color:var(--blue-800);margin-top:0}
.grid{display:grid;gap:1rem}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.grid.two,.grid.three{grid-template-columns:1fr} .hero-inner{flex-direction:column}}

.card{
  background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:1rem;
  box-shadow:0 2px 8px rgba(11,60,115,.06)
}
.codes .code-card ul{margin:.25rem 0 0.5rem}
.codes .code-card li{margin:.15rem 0}
.codes .note{display:flex;align-items:center;justify-content:center;text-align:center}

.data-block{
  background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:1rem;
  box-shadow:0 2px 8px rgba(11,60,115,.06)
}
.data-block dl{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .75rem;margin:0}
.data-block dt{font-weight:700;color:var(--gray-500)}
.data-block dd{margin:0}

.contact{border-top:1px solid var(--gray-200)}
.contact-card{
  display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;
  background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:1rem;
  box-shadow:0 2px 8px rgba(11,60,115,.06)
}
.contact-left p{margin:.35rem 0}
.contact-right form{display:grid;gap:.5rem}
label{display:grid;gap:.3rem;font-weight:600}
input,textarea{
  font:inherit;padding:.65rem;border:1px solid var(--gray-200);border-radius:10px
}
button{
  background:var(--blue-800);color:#fff;border:none;padding:.75rem 1rem;border-radius:10px;
  font-weight:700;cursor:pointer
}
button:hover{background:var(--blue-600)}
.privacy,.note{font-size:.9rem;color:var(--gray-500)}

.site-footer{padding:1.5rem 0;background:var(--blue-800);color:#fff}
.site-footer .foot{display:flex;justify-content:center}
.source-note{font-size:.85rem;color:var(--gray-500);margin-top:.5rem}
