/* This stylesheet is loaded with media="print" on every published page. */
@page { size: letter portrait; margin: 0.45in; }
@media print {
  *, *::before, *::after {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    animation: none !important; transition: none !important;
    scroll-behavior: auto !important; box-shadow: none !important;
    text-shadow: none !important;
  }
  html, body { width: auto !important; min-width: 0 !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
  body { font-size: 10pt !important; line-height: 1.4 !important; color: #173a5e; }
  main, section, .container, .header-inner, .services-link-row { width: 100% !important; max-width: none !important; min-width: 0 !important; height: auto !important; min-height: 0 !important; max-height: none !important; margin-left: 0 !important; margin-right: 0 !important; overflow: visible !important; }
  main { padding: 0 !important; }
  main section { padding: 12pt 10pt !important; }
  p, li, a, span, h1, h2, h3, h4 { overflow-wrap: anywhere; }
  main p, main li { font-size: 10pt !important; line-height: 1.4 !important; orphans: 3; widows: 3; }
  main p + p { margin-top: 7pt !important; }
  h1, h2, h3, h4, summary, .ap-label, .cp-label, .eyebrow { break-after: avoid-page; page-break-after: avoid; }
  main h1 { font-size: 26pt !important; line-height: 1.12 !important; margin: 0 0 12pt !important; }
  main h2 { font-size: 19pt !important; line-height: 1.16 !important; margin: 0 0 9pt !important; }
  main h3, main h4 { font-size: 12pt !important; line-height: 1.3 !important; margin: 0 0 6pt !important; }
  p, li { orphans: 3; widows: 3; }
  img, svg { max-width: 100% !important; object-fit: contain; break-inside: avoid; page-break-inside: avoid; }
  img { height: auto !important; }
  a, a:hover { color: inherit; text-decoration: none; }
  a::after { content: none !important; }
  #header, #header.scrolled, #header.past-hero { position: static !important; inset: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important; padding: 10pt !important; background: #073452 !important; color: white !important; break-inside: avoid; }
  #header .wordmark { color: white !important; font-size: 20pt !important; }
  .wordmark small { font-size: 6pt !important; }
  #header nav, #menu-toggle, .header-cta, .skip, dialog, .motion-toggle, .sky-window, .sp-symbol, .sp-collapse, #contact-security { display: none !important; }
  .hero { aspect-ratio: auto !important; padding: 0 !important; isolation: auto !important; break-inside: avoid; }
  .hero-photo { position: static !important; width: 100% !important; height: auto !important; aspect-ratio: 1967 / 800; background-size: contain !important; background-position: center !important; z-index: auto !important; }
  .hero-inner { position: static !important; inset: auto !important; padding: 12pt 10pt; clip-path: none !important; }
  .desktop-break { display: none !important; }
  .hero p { position: static !important; max-width: none !important; margin: 0 !important; }
  .hero::after { display: none !important; }
  .five-grid { grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 0 !important; break-inside: avoid; }
  .tile, .tile:hover { transform: none !important; padding: 0 6pt !important; font-size: 9pt !important; grid-column: auto !important; max-width: none !important; }
  .tile svg { width: 27pt !important; height: 27pt !important; margin-bottom: 6pt !important; }
  .tile::after { margin-top: 7pt !important; }
  .services-link-row, .explore, .sp-link { margin-top: 9pt !important; }
  .explore, .eyebrow, .ap-label, .sp-label { font-size: 8pt !important; }
  .steps { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12pt !important; margin-top: 10pt !important; }
  .steps li { break-inside: avoid; page-break-inside: avoid; padding: 0 8pt !important; border: 0 !important; }
  .number { width: 28pt !important; height: 28pt !important; font-size: 12pt !important; margin-bottom: 6pt !important; }
  .section-row, .contact-band .container, .ap-cta-row { display: block !important; }
  .contact-band, .ap-cta { break-inside: avoid; page-break-inside: avoid; background-size: cover !important; }
  .button, .button.consultation-button { width: auto !important; min-width: 0 !important; height: auto !important; min-height: 0 !important; padding: 6pt 9pt !important; font-size: 8pt !important; white-space: normal !important; margin: 6pt 0 !important; }
  .button:hover span, .explore:hover span { transform: none !important; }
  .ap-profile { display: block !important; }
  .ap-role { margin: 0 0 9pt !important; }
  .ap-photo-placeholder { height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; padding: 10pt !important; margin-top: 10pt !important; break-inside: avoid; }
  .ap-photo-placeholder p { margin-top: 4pt !important; }
  .ap-cards { display: block !important; margin-top: 10pt !important; }
  .ap-cards article { break-inside: avoid; page-break-inside: avoid; padding-top: 9pt !important; margin-top: 9pt !important; }
  .ap-workflow { margin: 9pt 0 0 !important; }
  .ap-workflow li { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 7pt 14pt !important; padding: 10pt 0 !important; break-inside: avoid; page-break-inside: avoid; }
  .ap-workflow .ap-step-heading { grid-column: 1 / -1 !important; }
  .ap-workflow .ap-party { grid-column: auto !important; }
  .ap-workflow::before { display: none !important; }
  .ap-number { font-size: 22pt !important; }
  .ap-communication { max-width: none !important; margin: 0 !important; }
  .sp-panel, .sp-panel[hidden] { display: block !important; height: auto !important; max-height: none !important; overflow: visible !important; }
  .sp-panel-inner { padding: 6pt 0 0 !important; }
  .sp-toggle { grid-template-columns: 28pt minmax(0,1fr) !important; padding: 0 !important; gap: 9pt !important; break-after: avoid; }
  .sp-index { font-size: 23pt !important; }
  .sp-keywords { font-size: 9pt !important; line-height: 1.4 !important; margin-top: 5pt !important; }
  .sp-columns { display: block !important; }
  .sp-columns > div + div, .sp-result, .sp-example { margin-top: 10pt !important; }
  .sp-example { padding-top: 8pt !important; }
  .sp-columns li { break-inside: avoid; page-break-inside: avoid; }
  details { break-inside: avoid; page-break-inside: avoid; }
  details::details-content { content-visibility: visible !important; display: block !important; height: auto !important; }
  details > :not(summary) { display: block !important; }
  summary { font-size: 12pt !important; padding: 8pt 0 !important; }
  summary::before, summary::marker { content: none !important; }
  .sp-answer { padding-bottom: 8pt !important; }
  .cp-situation-grid { display: block !important; }
  .cp-heading { gap: 9pt !important; margin-bottom: 8pt !important; break-after: avoid; }
  .cp-questions { margin-top: 10pt; padding-left: 10pt !important; }
  .cp-questions li { padding: 5pt 0 !important; break-inside: avoid; }
  .cp-contact-grid { display: block !important; }
  .contact-page #inquiry-form, .cp-contact-backdrop { display: none !important; }
  .print-form-link[hidden] { display: block !important; padding: 10pt; margin-bottom: 16pt; border: 1px solid #d8e0e6; background: #f2f8fb; break-inside: avoid; }
  .print-form-link a { text-decoration: underline; }
  .cp-contact-next h2 { position: static !important; }
  .cp-contact-next ol { display: block !important; }
  .cp-contact-next li { margin-top: 12pt; break-inside: avoid; page-break-inside: avoid; }
  .pp-number { font-size: 20pt !important; flex-basis: 28pt !important; }
  .pp-dates { margin-bottom: 12pt !important; }
  .pp-copy ul { margin: 6pt 0 9pt !important; }
  .pp-copy li { break-inside: avoid; }
  footer { position: static !important; padding: 12pt 10pt !important; break-inside: avoid; page-break-inside: avoid; margin-top: 10pt; }
  .footer-grid { display: grid !important; grid-template-columns: 2fr 1.5fr .8fr .8fr !important; gap: 12pt !important; }
  .footer-grid > div { grid-column: auto !important; min-width: 0; }
  footer .wordmark { font-size: 15pt !important; }
  footer h3 { font-size: 9pt !important; margin-bottom: 5pt !important; }
  footer a:not(.wordmark), footer .text-button, footer .legal-copy { font-size: 7.5pt !important; line-height: 1.4 !important; }
  footer .legal-copy { margin-top: 8pt !important; }
  .hero-inner h1 { max-width: none !important; }
  .about-page #communication { break-inside: avoid; page-break-inside: avoid; }
  .services-page main section { padding-top: 8pt !important; padding-bottom: 8pt !important; }
  .services-page main p, .services-page main li { line-height: 1.3 !important; }
  .services-page .sp-columns > div + div, .services-page .sp-result, .services-page .sp-example { margin-top: 7pt !important; }
  main > .services, main > .section, main > .contact-band { padding-top: 8pt !important; padding-bottom: 8pt !important; }
  .hero-photo { width: 85% !important; margin: 0 auto !important; }
  #who-we-serve { break-inside: avoid; page-break-inside: avoid; }
  .audience-page .cp-questions { break-inside: avoid; page-break-inside: avoid; }
}
