/* =========================================================================
   Print / Save-as-PDF stylesheet for the letterhead-style document pages
   (terms, cookies, accessibility, capability statement).

   The on-screen version of these pages uses the normal site chrome and
   design system (style.css). This stylesheet only ever applies to the
   printed / PDF output: it hides the site chrome, hides the on-screen
   content, and reveals a formal, letter-sized "document" rendering
   instead. Everything below is scoped under .print-doc / .print-cap so
   none of it can leak into the on-screen page.
   ========================================================================= */

.print-doc {
  display: none;
}

@media print {

  /* ---- hide site chrome & on-screen content ---- */
  #top-sentinel,
  .topbar,
  .site-footer,
  .cookie-notice,
  .print-btn,
  .doc-onscreen {
    display: none !important;
  }

  body {
    background: #fff;
  }

  /* ---- shared letterhead primitives (terms / cookies / accessibility) ---- */
  .print-doc {
    display: block !important;
    background: #fff;
    color: #374151;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.55;
  }

  .print-doc .doc {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .print-doc header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
  }

  .print-doc .identity {
    display: flex;
    gap: 16px;
    align-items: flex-start;
  }

  .print-doc .logo {
    flex: 0 0 auto;
    margin-top: 2px;
  }

  .print-doc .company h1 {
    color: #0d2950;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 4px;
  }

  .print-doc .company p {
    color: #6b7280;
    font-size: 12.5px;
    line-height: 1.6;
  }

  .print-doc .doc-meta {
    text-align: right;
  }

  .print-doc .doc-meta .doc-title {
    color: #e19133;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.32em;
    margin-bottom: 10px;
    white-space: nowrap;
  }

  .print-doc .doc-meta table {
    margin-left: auto;
    border-collapse: collapse;
  }

  .print-doc .doc-meta td {
    font-size: 12.5px;
    padding: 1.5px 0;
  }

  .print-doc .doc-meta td.k {
    color: #9ca3af;
    padding-right: 14px;
    text-align: right;
  }

  .print-doc .doc-meta td.v {
    color: #0d2950;
    text-align: right;
    font-variant-numeric: tabular-nums;
  }

  .print-doc .doc-meta td.v.accent {
    color: #de3f1f;
    font-weight: 600;
  }

  .print-doc .doc-meta td.v.ok {
    color: #1e8e3e;
    font-weight: 600;
  }

  .print-doc .headrule {
    border: none;
    border-top: 3px solid #e19133;
    margin: 28px 0 0;
  }

  .print-doc .preamble {
    margin: 28px 0 8px;
    font-size: 13px;
    max-width: 76ch;
  }

  .print-doc .preamble strong {
    font-weight: 600;
    color: #0d2950;
  }

  .print-doc section {
    margin-top: 34px;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .print-doc .eyebrow {
    color: #e19133;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 10px;
    break-after: avoid;
    page-break-after: avoid;
  }

  .print-doc section p {
    margin-bottom: 10px;
    max-width: 72ch;
  }

  .print-doc section p:last-child {
    margin-bottom: 0;
  }

  .print-doc section p a {
    color: #0d2950;
  }

  .print-doc section ul {
    margin: 0 0 10px 18px;
    max-width: 72ch;
  }

  .print-doc section li {
    margin-bottom: 6px;
  }

  .print-doc em.term {
    font-style: normal;
    color: #0d2950;
    font-weight: 600;
  }

  .print-doc table.grid {
    width: 100%;
    border-collapse: collapse;
    margin: 6px 0 12px;
  }

  .print-doc table.grid tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .print-doc table.grid th {
    color: #9ca3af;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: left;
    padding: 8px 12px 8px 0;
    border-bottom: 1px solid #d1d5db;
  }

  .print-doc table.grid th.num,
  .print-doc table.grid td.num {
    text-align: right;
    padding-right: 0;
  }

  .print-doc table.grid td {
    padding: 10px 12px 10px 0;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
    font-size: 13.5px;
  }

  .print-doc table.grid td.num {
    color: #0d2950;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .print-doc table.grid td.free {
    color: #1e8e3e;
    font-weight: 600;
    white-space: nowrap;
    text-align: right;
  }

  .print-doc table.grid td.fee {
    color: #de3f1f;
    font-weight: 600;
    white-space: nowrap;
    text-align: right;
  }

  .print-doc table.grid td .sub {
    display: block;
    color: #6b7280;
    font-size: 12px;
    margin-top: 2px;
  }

  .print-doc footer {
    margin-top: 44px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
    color: #9ca3af;
    font-size: 11px;
    line-height: 1.6;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .print-doc footer a {
    color: #9ca3af;
  }

  /* ---- capability statement sheet ---- */
  .print-cap .sheet {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .print-cap .head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 22px;
  }

  .print-cap .lock {
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }

  .print-cap .lock svg {
    width: 38px;
    height: 46px;
    flex: none;
  }

  .print-cap .lock h1 {
    font-family: var(--display);
    font-size: 23px;
    font-weight: 700;
    color: #0d2950;
    line-height: 1.1;
  }

  .print-cap .lock p {
    font-size: 11.5px;
    color: #63718a;
    margin-top: 2px;
  }

  .print-cap .contact {
    text-align: right;
    font-family: var(--mono);
    font-size: 10.5px;
    color: #63718a;
    line-height: 1.75;
    white-space: nowrap;
  }

  .print-cap .contact b {
    color: #0d2950;
    font-weight: 500;
  }

  .print-cap .rule {
    border: none;
    border-top: 3px solid #e19133;
    margin: 14px 0 0;
  }

  .print-cap .doctitle {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    flex-wrap: wrap;
  }

  .print-cap .doctitle h2 {
    font-family: var(--display);
    font-size: 26px;
    font-weight: 700;
    color: #0d2950;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }

  .print-cap .doctitle span {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #9aa6b8;
  }

  .print-cap .positioning {
    margin-top: 8px;
    font-size: 13px;
    max-width: 74ch;
  }

  .print-cap .positioning b {
    color: #0d2950;
  }

  .print-cap h3.sec {
    font-family: var(--mono);
    font-size: 9.5px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #e19133;
    margin: 20px 0 8px;
    break-after: avoid;
    page-break-after: avoid;
  }

  .print-cap .cols {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 26px;
  }

  .print-cap .cap {
    padding: 6px 0;
    border-bottom: 1px solid #dde3ec;
    break-inside: avoid;
  }

  .print-cap .cap:first-of-type {
    border-top: 1px solid #dde3ec;
  }

  .print-cap .cap b {
    display: block;
    font-family: var(--display);
    font-size: 14px;
    color: #0d2950;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }

  .print-cap .cap span {
    display: block;
    font-size: 11px;
    color: #63718a;
    line-height: 1.45;
  }

  .print-cap .diff {
    position: relative;
    padding: 0 0 10px 20px;
    break-inside: avoid;
  }

  .print-cap .diff::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 10px;
    height: 6px;
    border-left: 2px solid #e19133;
    border-bottom: 2px solid #e19133;
    transform: rotate(-45deg);
  }

  .print-cap .diff b {
    font-family: var(--display);
    font-size: 14px;
    color: #0d2950;
  }

  .print-cap .diff span {
    display: block;
    font-size: 11.5px;
    color: #63718a;
    line-height: 1.45;
  }

  .print-cap .profile {
    margin-top: 2px;
    border-top: 1px solid #dde3ec;
  }

  .print-cap .profile div {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 14px;
    padding: 6px 0;
    border-bottom: 1px solid #dde3ec;
    break-inside: avoid;
  }

  .print-cap .profile dt {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #9aa6b8;
    padding-top: 2px;
  }

  .print-cap .profile dd {
    font-size: 11.5px;
  }

  .print-cap .route {
    background: #0d2950;
    color: #fff;
    margin-top: 20px;
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    align-items: center;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .print-cap .route b {
    font-family: var(--display);
    font-size: 15px;
  }

  .print-cap .route p {
    font-size: 11.5px;
    color: #b8c4d6;
    margin-top: 2px;
  }

  .print-cap .route .lines {
    font-family: var(--mono);
    font-size: 11.5px;
    text-align: right;
    line-height: 1.7;
  }

  .print-cap .route .lines span {
    color: #e19133;
  }

  .print-cap .fine {
    margin-top: 12px;
    font-size: 9.5px;
    color: #9aa6b8;
    line-height: 1.5;
  }

  @page {
    size: letter;
    margin: 0.5in;
  }
}
