/* Capability statement: a letter-size sheet on screen, a clean one-pager in print. */
.cap-body { background: var(--gray); }

.cap-toolbar {
  max-width: 8.5in; margin: 1.25rem auto 0; padding: 0 var(--gutter);
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.cap-toolbar a { font-weight: 500; }
.cap-toolbar button {
  font: inherit; font-weight: 600; cursor: pointer; border: 0;
  background: var(--accent); color: var(--accent-ink);
  padding: 0.65rem 1.2rem; border-radius: 999px;
}
.cap-toolbar button:hover { background: var(--accent-hover); }

.sheet {
  max-width: 8.5in; margin: 1rem auto 3rem; background: #fff;
  padding: 0.55in 0.6in; font-size: 0.86rem; line-height: 1.45; border-radius: 18px;
  box-shadow: 0 30px 60px -40px rgba(11,22,38,.35);
}
.sheet p { max-width: none; margin-bottom: 0.6rem; }

.cap-head img { mix-blend-mode: multiply; }
.cap-head {
  display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; align-items: center;
  padding-bottom: 0.9rem; border-bottom: 2px solid var(--ink);
}
.cap-head img { height: 3.4rem; width: auto; }
.cap-head h1 { font-size: 1.85rem; max-width: none; letter-spacing: -0.035em; }
.cap-head p { margin: 0.2rem 0 0; color: var(--slate); }

.cap-ids {
  margin: 0.9rem 0 1.1rem; padding: 0.75rem 1.1rem; border-radius: 12px;
  background: var(--gray);
}
.cap-ids dl { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: 0.5rem 1.5rem; margin: 0; }
.cap-ids dt { font-size: 0.72rem; color: var(--slate); }
.cap-ids dd {
  margin: 0; font-family: "Geist Mono", monospace; font-weight: 550; font-size: 1.02rem;
  letter-spacing: 0.02em; font-variant-numeric: tabular-nums;
}

.cap-cols { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.6rem; }
.cap-cols section { margin-bottom: 1rem; }
.sheet h2 {
  font-size: 1rem; margin: 0 0 0.45rem; padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--rule); color: var(--ink); letter-spacing: -0.02em;
}
.sheet h3 { font-size: 0.88rem; margin: 0.5rem 0 0.2rem; }
.sheet ul { margin: 0; padding-left: 1.1rem; }
.sheet li { margin-bottom: 0.2rem; }
.sheet li::marker { color: var(--accent); }
.sheet .small { font-size: 0.78rem; color: var(--slate); }
.certs-list { list-style: none; padding-left: 0 !important; }
.sheet .naics th, .sheet .naics td { padding: 0.28rem 0.5rem 0.28rem 0; font-size: 0.82rem; }
.sheet .naics th { width: 4.5rem; }
.cap-contact p { line-height: 1.55; }

@media (max-width: 700px) {
  .sheet { padding: 1.25rem 1rem; margin: 0.75rem 0 2rem; }
  .cap-head { grid-template-columns: 1fr; }
  .cap-ids dl { grid-template-columns: 1fr 1fr; }
  .cap-cols { grid-template-columns: 1fr; }
}

@page { size: letter; margin: 0.45in; }
@media print {
  .cap-body { background: #fff; }
  .cap-toolbar { display: none; }
  .sheet { box-shadow: none; margin: 0; padding: 0; max-width: none; font-size: 9.6pt; border-radius: 0; }
  .cap-ids { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a { color: inherit; text-decoration: none; }
}
