/* Forms */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: .9rem; }
.form-grid input, .form-grid select, textarea {
  width: 100%; padding: .6rem; border: 1px solid var(--line-strong);
  border-radius: 8px; font: inherit; background: #fff; max-width: 100%;
}

/* Responsive — mobile-first breakpoints. No layout breakage at 360px. */
.mobile-toggle { display: none; }

@media (max-width: 1020px) {
  .hero-grid { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; }
  .aside { position: static; grid-template-columns: 1fr 1fr; }
  .stats { grid-template-columns: 1fr 1fr; margin-top: 0; }
  .hero { padding-bottom: 1.5rem; }
  .blueprint { grid-template-columns: 1fr; }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .nav { display: none; }
  .nav.open {
    display: flex; position: absolute; top: var(--header-h); left: 0; right: 0;
    background: var(--paper); flex-direction: column; align-items: stretch;
    padding: 1rem; border-bottom: 1px solid var(--line); gap: 0;
  }
  .nav.open a { padding: .8rem .4rem; border-bottom: 1px solid var(--line); }
  .mobile-toggle { display: inline-flex; }
}

@media (max-width: 640px) {
  .wrap { width: min(var(--max), 100% - 1.5rem); }
  .grid-3 { grid-template-columns: 1fr; }
  .voices { grid-template-columns: 1fr; }
  .aside { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stat { padding: .9rem; }
  .stat strong { font-size: 1.15rem; }
  .stat small { font-size: .78rem; }
  .hero h1 { font-size: 2.35rem; }
  .hero-meta { font-size: .82rem; }
  .hero-ctas .btn { flex: 1 1 100%; justify-content: center; }
  .header-actions .btn { padding: .45rem .7rem; }
  #shareBtn { display: none; }
  .form-grid { grid-template-columns: 1fr; }
  .table-wrap table { min-width: 560px; }
  .section { padding: 2.5rem 0; }
  .demand { grid-template-columns: auto 1fr; }
  .demand .status-pill { grid-column: 2; justify-self: start; }
  .foot-grid { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .stats { grid-template-columns: 1fr; }
  .hero h1 { font-size: 2rem; }
}

/* Print — senior firms always ship print */
@media print {
  .ticker, .site-header, .hero-ctas, .header-actions, .progress, .toast, .modal-backdrop { display: none !important; }
  body { background: #fff; }
  .hero { background: #fff; color: #000; }
  .hero h1, .hero-sub, .hero-meta { color: #000; }
  .card, .t-item, .demand, .aside-card { box-shadow: none; break-inside: avoid; }
  a { text-decoration: none; }
  .section { padding: 1rem 0; }
}
