/* /ime/for-agencies/service-description/: a product document of at most four pages, on the web and as a PDF
   (tools/build-service-description-pdf.py prints the same fragment). */
.sd .sd-wrap { max-width: 1120px; }
.sd .sd-wrap > * { max-width: 860px; }   /* the shell's edges, a narrower column */
.sd .sd-wrap p, .sd .sd-wrap li { max-width: 38em; }
.sd .sd-lockup { max-width: 100%; height: auto; }
.sd .sd-lockup { display: block; height: 40px; width: auto; margin: 0 0 var(--space-4); }
/* the tree lockup is for the printed document (tools/build-service-description-pdf.py prints it); the web page has
   one title, under the site's cube mark in the header (audit A-18) */
.sd .sd-lockup { display: none; }
.sd h1 { font-size: 2.2rem; }
.sd h2 { font-size: 1.4rem; margin-top: var(--space-4); font-variant-numeric: lining-nums; }   /* "3." and "7." sit on the line (audit A-19) */
.sd p, .sd li { max-width: 72ch; }
.sd ul { padding-left: 1.2em; }
.sd li { margin: 4px 0; }
.sd .sd-pdf { margin-top: var(--space-1); }
/* tables as on the trust page: a framed card, a tinted header row, the first column in bold (audit A-18); the frame
   sits on the text column's edge (audit A-30) */
.sd .table-wrap { margin: var(--space-3) 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }
.sd table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 0.92rem; line-height: 1.5; }
.sd table.sd-resp { min-width: 0; }
.sd th, .sd td { text-align: left; vertical-align: top; padding: 11px 16px; border-bottom: 1px solid var(--line); }
.sd thead th { background: var(--accent-soft); color: var(--accent-deep); font-weight: 700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; padding-block: 12px; }
.sd tbody tr:last-child td { border-bottom: 0; }
.sd tbody tr:nth-child(even) td { background: rgba(220, 235, 232, 0.28); }
.sd tbody td:first-child { font-weight: 600; color: var(--accent-deep); }
.sd table.sd-resp td:first-child { font-weight: 400; color: inherit; }
.sd td, .sd th { max-width: none; }
/* a table wider than its frame shows the trust page's fade and arrow at the right edge, so a cut column reads as
   "scroll sideways" (audit A-17; the same rule as .legal-content .table-wrap in v2.css) */
.sd .table-wrap { display: flex; }
.sd .table-wrap > table { flex: none; }
.sd .table-wrap::after {
  content: "";
  position: sticky;
  right: 0;
  flex: none;
  width: 52px;
  margin-left: -52px;
  pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23157171' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") right 9px top 20px / 16px 16px no-repeat,
    linear-gradient(90deg, rgba(253, 254, 253, 0), rgba(253, 254, 253, 0.97) 52%);
  border-right: 1px solid rgba(12, 58, 57, 0.08);
  opacity: 0;
}
.sd .table-wrap:has(> .sd-resp)::after { display: none; }   /* two columns fit a phone; nothing to scroll */
@media (max-width: 720px) { .sd .table-wrap::after { opacity: 1; } }
@supports (animation-timeline: scroll()) {
  .sd .table-wrap { scroll-timeline: --sd-table-x inline; }
  .sd .table-wrap::after { opacity: 0; animation: sd-table-more linear both; animation-timeline: --sd-table-x; }
  @keyframes sd-table-more { 0%, 92% { opacity: 1; } 100% { opacity: 0; } }
}
/* "What leaves Australia": the columns share the width by what they hold (audit A-16) */
.sd .sd-overseas th:nth-child(1) { width: 14%; }
.sd .sd-overseas th:nth-child(2) { width: 27%; }
.sd .sd-overseas th:nth-child(3) { width: 33%; }
.sd .sd-overseas th:nth-child(4) { width: 26%; }
.sd .sd-foot { margin-top: var(--space-5); padding-top: var(--space-2); border-top: 1px solid var(--line); color: var(--ink-mute); font-size: 0.9em; }
.sd h3 { font-size: 1.1rem; margin: var(--space-3) 0 var(--space-1); }
.sd .sd-resp th, .sd .sd-resp td { width: 50%; }
.sd .sd-note { color: var(--ink-mute); font-size: 0.9em; margin-top: var(--space-1); }
.sd .sd-box { margin-top: var(--space-5); padding: var(--space-3); border: 1px solid var(--line); border-radius: 12px; background: var(--ground-warm); }
.sd .sd-box h2 { margin-top: 0; }
.sd .sd-quote { font-family: var(--font-body); font-size: 1rem; font-style: italic; line-height: 1.6; margin-bottom: 0;
  border-left: 3px solid var(--accent); padding-left: var(--space-2); }   /* the body face; the rule marks the quote (audit A-31) */
