/* Site-wide refinements. Header geometry remains defined in identity.css. */
.desktop-nav a[aria-current],
#mobile-nav a[aria-current] { color: var(--text-accent); text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.desktop-nav a { display: inline-flex; align-items: center; min-height: 28px; }
.page-breadcrumb { margin: 0 0 19px; color: var(--text-muted); font: 300 11px/1.8 Supply, monospace; letter-spacing: .02em; }
.page-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 5px 9px; align-items: center; list-style: none; padding: 0; margin: 0; }
.page-breadcrumb li { display: inline-flex; align-items: center; gap: 9px; }
.page-breadcrumb li + li::before { content: "/"; color: var(--text-muted); }
.page-breadcrumb a { display: inline-flex; align-items: center; min-height: 28px; }
.page-breadcrumb a:hover { color: var(--text-accent); text-decoration: underline; text-underline-offset: 4px; }
.page-breadcrumb [aria-current] { color: var(--page-text); }
.page-intro:has(.page-breadcrumb), .government-hero:has(.page-breadcrumb) { padding-top: 28px; }

.crawler-controls { order: 0; }
.crawler-meta { order: 1; }
.crawler-controls button { min-width: 44px; min-height: 44px; }
.crawler-current { min-height: 38px; }
.crawler-meta > .eyebrow { font-size: 10px; }
.crawler-announcement, .copy-status {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* A 12-column grid lets an incomplete final row finish intentionally. */
.partners-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.partners-grid > figure { grid-column: span 3; }
.partners-grid:has(> figure:nth-last-child(3):nth-child(4n + 1)) > figure:nth-last-child(-n + 3) { grid-column: span 4; }
.partners-grid:has(> figure:nth-last-child(2):nth-child(4n + 1)) > figure:nth-last-child(-n + 2) { grid-column: span 6; }
.partners-grid > figure:last-child:nth-child(4n + 1) { grid-column: 1 / -1; }
.case-detail-photos > :only-child { grid-column: 1 / -1; }
.case-detail-photos > img:only-child { aspect-ratio: 2.1; max-height: 650px; }
.case-detail-photos > figure:only-child img { aspect-ratio: 2.1; max-height: 650px; }

[data-copy-contract] { min-height: 44px; }
[data-copy-contract][data-copied="true"] { color: var(--text-accent); }
.footer-top a { min-height: 28px; padding-block: 3px; }
.page-subnav a, .government-nav a { display: inline-flex; align-items: center; min-height: 28px; }

@media (max-width: 700px) {
  body { font-size: 15px; }
  main p,
  main :is(.home-solutions, .company-note, .delivery, .headwall-plug, .headwall-feature, .link-columns, .proof-grid, .contract-card, .product-banner) p,
  .prose,
  .document-copy,
  .government-hero > p,
  .page-intro > p,
  .home-crawler .feature-identity > p,
  .contact-option p,
  .solution-index-row p,
  .catalog-intro p,
  .catalog details p,
  .dialog-body .project-description { font-size: 15px; line-height: 1.8; }
  .prose li, .document-copy li { font-size: 15px; }
  .page-intro > p { max-width: 42ch; }
  .content-section h2,
  .link-columns h2,
  .contact-option h2,
  .government-content h2,
  .document-section h2,
  .catalog-heading h2,
  .home-solutions h2,
  .company-note h2,
  .headwall-plug h2,
  .headwall-feature h2,
  .product-banner h2,
  .section-heading h2,
  .procurement h2 { font-size: 28px; line-height: 1.18; }
  .solution-index-row h2 { font-size: 26px; }
  .contact h2, .government-contact h2 { font-size: 32px; line-height: 1.15; }
  .prose h3, .proof-grid h3 { font-size: 24px; }
  .eyebrow,
  .page-intro > .eyebrow,
  .government-hero > .eyebrow,
  .feature-identity .brand-phrase,
  .section-heading > .eyebrow,
  .editorial-caption .eyebrow,
  .procurement-contracts .eyebrow,
  .page-photo figcaption,
  .partners-grid figcaption { font-size: 11px; }
  .editorial-subtitle, .card-description, .feature-recognition > span:last-child,
  .project-facts dd, .project-facts dt, .catalog-note, .catalog-source,
  .ordering-date, .resource-note, .credential-line a { font-size: 12px; }
  .text-link, .work-more, .home-crawler .feature-identity > .text-link,
  .page-subnav, .government-nav, .document-toc nav a, .download-link { font-size: 12px; }
  .text-link { min-height: 40px; align-items: center; }
  .page-subnav a, .government-nav a { min-height: 36px; }
  .document-toc nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .government-nav { flex-wrap: wrap; gap: 5px 20px; justify-content: flex-start; padding-block: 12px; }
  .footer-top { column-gap: 22px; row-gap: 30px; }
  .footer-top a { font-size: 12px; line-height: 1.65; min-height: 36px; padding-block: 7px; }
  .footer-top .eyebrow, .footer-bottom .eyebrow { font-size: 11px; }
  .footer-top .eyebrow { margin-bottom: 9px; }
  #mobile-nav a { min-height: 44px; display: flex; align-items: center; }
  #mobile-nav:not([hidden]) { gap: 6px; }
  .crawler-toolbar { gap: 12px; }
  .crawler-controls { padding-right: 9px; gap: 0; }
  .crawler-controls button { width: 44px; }
  .crawler-meta > .eyebrow { font-size: 10px; letter-spacing: .06em; gap: 2px 6px; }
  .crawler-current { font-size: 12px; gap: 6px; }
  .crawler-current > [data-crawler-name] { overflow-wrap: anywhere; }
  .partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partners-grid > figure,
  .partners-grid:has(> figure:nth-last-child(3):nth-child(4n + 1)) > figure:nth-last-child(-n + 3),
  .partners-grid:has(> figure:nth-last-child(2):nth-child(4n + 1)) > figure:nth-last-child(-n + 2) { grid-column: auto; }
  .partners-grid:has(> figure:last-child:nth-child(odd)) > figure:last-child { grid-column: 1 / -1; }
  .case-detail-photos > img:only-child,
  .case-detail-photos > figure:only-child img { aspect-ratio: 1.45; }
  .page-intro:has(.page-breadcrumb), .government-hero:has(.page-breadcrumb) { padding-top: 21px; }
  .page-breadcrumb { font-size: 11px; margin-bottom: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
