/* =========================================================
   BRC — Responsive breakpoints
   ========================================================= */

/* Tablet */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .contract-feature { grid-template-columns: 1fr; }
  .two-col { grid-template-columns: 1fr; gap: 40px; }
  .two-col.reverse .two-col-media { order: 0; }
  .contact-grid { grid-template-columns: 1fr; }
  section { padding: 70px 0; }
}

/* Mobile navigation trigger */
@media (max-width: 900px) {
  .nav-menu {
    position: fixed;
    top: var(--nav-height);
    left: 0;
    right: 0;
    background: rgba(3, 7, 24, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
    gap: 4px;
    border-top: 1px solid var(--panel-border);
    border-bottom: 1px solid var(--panel-border);
    transform: translateY(-140%);
    opacity: 0;
    transition: all 0.35s cubic-bezier(0.4, 0.14, 0.3, 1);
    max-height: calc(100vh - var(--nav-height));
    overflow-y: auto;
  }
  .nav-menu.open { transform: translateY(0); opacity: 1; }
  .nav-menu > li { width: 100%; }
  .nav-menu a, .nav-menu button.nav-link { padding: 14px 16px; font-size: 1rem; width: 100%; text-align: left; justify-content: space-between; }
  .nav-menu li.mobile-cta { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--panel-border); }
  .nav-menu li.mobile-cta a {
    background: linear-gradient(135deg, var(--flag-red-bright) 0%, var(--flag-red) 100%);
    color: var(--white) !important;
    font-weight: 600;
    border-radius: 10px;
    justify-content: center;
    box-shadow: 0 4px 14px var(--flag-red-glow);
  }
  .nav-menu li.mobile-cta a:hover { background: linear-gradient(135deg, var(--flag-red) 0%, var(--flag-red-deep) 100%); color: var(--white) !important; }

  /* Mobile dropdown — inline, always visible when open */
  .nav-menu li.has-dropdown .nav-dropdown {
    position: static;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    display: none;
    background: rgba(255, 255, 255, 0.03);
    box-shadow: none;
    border: 1px solid var(--panel-border);
    margin: 4px 0 8px;
  }
  .nav-menu li.has-dropdown.open .nav-dropdown { display: block; }
  .nav-menu li.has-dropdown:hover .nav-dropdown,
  .nav-menu li.has-dropdown:focus-within .nav-dropdown { display: none; }
  .nav-menu li.has-dropdown.open .nav-dropdown { display: block; }

  .nav-toggle { display: inline-flex; }
  /* Mobile: hide ALL nav CTA buttons — the hamburger opens the menu with a "Request Capability Statement" link inside */
  .nav-cta .btn { display: none; }
  .nav-cta .btn.mobile-show { display: none; }
}

/* Small tablet / large phone */
@media (max-width: 768px) {
  section { padding: 60px 0; }
  .hero { padding: calc(var(--nav-height) + 60px) 0 80px; }
  .contract-feature { padding: 28px; }
  .entity-card { padding: 28px; }
  .form-wrap { padding: 28px; }
  .cap-detail { padding: 28px; }
  .cap-detail ul { columns: 1; }
  .contract-meta { grid-template-columns: 1fr; }
  .cta-strip { padding: 60px 0; }
  .orb { filter: blur(70px); }
}

/* Mobile */
@media (max-width: 560px) {
  :root { --nav-height: 72px; }
  .container { padding: 0 16px; max-width: 100%; }
  section { padding: 50px 0; }
  .hero { padding-left: 0; padding-right: 0; }
  .hero h1 {
    font-size: 1.5rem !important;
    line-height: 1.25;
    letter-spacing: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  /* Let hero h1 wrap naturally on mobile — hide hard breaks */
  .hero h1 br { display: none; }
  .hero p.lead { font-size: 0.95rem; padding: 0 4px; }
  .hero-badge { font-size: 0.68rem; padding: 10px 14px; gap: 8px; flex-direction: column; }
  .hero-badge strong { font-size: 0.68rem; }
  .hero-badge span { word-break: break-word; }
  .page-header h1 { font-size: 1.85rem; }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn { width: 100%; }
  .section-heading h2 { font-size: 1.6rem; }
  .eyebrow { font-size: 0.7rem; padding: 5px 12px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .form-row { grid-template-columns: 1fr; }
  .contract-feature { padding: 22px; }
  .contract-feature h3 { font-size: 1.5rem; }
  .entity-card { padding: 22px; }
  .form-wrap { padding: 22px; }
  .legal-content { padding: 22px; }
  .cap-detail { padding: 22px; }
  .cap-detail-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .card { padding: 22px; }
  .stat { padding: 24px 14px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .nav-brand svg { height: 34px; }
  .star svg { transform: scale(0.7); }
}

/* Print */
@media print {
  .nav, .footer, .hero-visual, .bg-orbs, .bg-stars, .bg-stripes, body::before, body::after { display: none !important; }
  body { background: white; color: black; }
  h1, h2, h3, h4 { color: black; }
  .card, .form-wrap, .entity-card { border: 1px solid #ddd; background: white; }
}
