/* Integration of the existing Open Design paper annotation and ledger elements. */
/* Small reading and interaction details shared by the existing page layouts. */
h2 { text-wrap: balance; }
.lead, .hero-note, .section-head p { text-wrap: pretty; }
.end-cta .actions { margin-top: 0; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.site-nav a, .button, .menu-toggle { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
.site-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.site-nav .nav-cta:hover { text-decoration: none; border-color: #1455d9; }
.menu-toggle { min-width: 66px; min-height: 44px; }
.menu-toggle:hover, .menu-toggle[aria-expanded="true"] { color: #1455d9; border-color: #1455d9; background: #f4f7fb; }
.request-form input:hover, .request-form textarea:hover { border-color: #1455d9; }
.request-form input:focus-visible, .request-form textarea:focus-visible { outline-color: #1455d9; outline-width: 2px; outline-offset: 2px; }
@media(max-width:800px) {
  .end-cta .actions { margin-top: 24px; }
  .end-cta .button { margin-top: 0; }
  .site-nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .footer-links { gap: 8px 25px; }
}
.numbered-rows { list-style: none; margin: 32px 0 48px; padding: 0; }
.numbered-rows > li { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 24px; padding: 26px 0; border-top: 1px solid #d7dee8; }
.numbered-rows > li > div > h2, .numbered-rows > li > div > h3 { margin: 0 0 10px; font-size: 25px; }
.numbered-rows > li > div > p { margin: 0 0 10px; max-width: 78ch; }
.numbered-rows .number { color: #096b71; font-variant-numeric: tabular-nums; }
.workflow-stages { padding-top: 0; }
.bp-anatomy .an-intro h2 { font: 600 clamp(32px,4vw,52px)/1.12 PaperInstrument, sans-serif; letter-spacing: -.025em; max-width: 21ch; }
.bp-anatomy .an-intro { grid-template-columns: 1.4fr 1fr; }
.sample-reading-note h2 { font-size: 27px; margin: 0 0 14px; }
.conversation-workbook { padding-bottom: 56px; }
.paper-annotation .small { display: block; margin-top: 10px; }
.end-cta .actions { flex-shrink: 0; flex-direction: column; align-items: flex-start; }
.site-footer .footer-top > div:first-child p { max-width: 80ch; }
/* Supporting qualifications and links stay within their reading context. */
#coverage .section-head { display: block; margin-bottom: 28px; }
#coverage .section-head h2 { max-width: 60ch; margin: 0; font-size: clamp(24px,2.2vw,32px); line-height: 1.3; }
.supporting-resources { border-top: 1px solid #d7dee8; margin-top: 32px; padding-top: 20px; }
.supporting-resources p { margin: 0; }
.supporting-resources p + p { margin-top: 10px; }
.guide-section#decide { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
#handling-requirements h2 { max-width: 25ch; margin-bottom: 32px; }
@media(max-width:600px) {
  .numbered-rows > li { grid-template-columns: 28px minmax(0,1fr); gap: 14px; }
  .numbered-rows > li > div > h2, .numbered-rows > li > div > h3 { font-size: 23px; }
  .bp-anatomy .an-intro { grid-template-columns: 1fr; }
  .bp-anatomy .an-intro h2 { font-size: 34px; }
}

/* The offer introduces the existing obligations; it is not another chapter. */
.offer-section .section-head { margin-bottom: 26px; }
.offer-section .offer-rows { margin: 0 0 36px; }
.offer-section .offer-rows > li {
  grid-template-columns: 28px 164px minmax(0,1fr);
  gap: 0 24px;
  padding: 17px 0;
}
.offer-section .offer-rows > li > .number { grid-column: 1; grid-row: 1; padding-top: 2px; font-size: 13px; }
.offer-section .offer-rows > li > div { display: contents; }
.offer-section .offer-rows > li h3 { grid-column: 2; grid-row: 1; font-size: 19px; line-height: 1.5; margin: 0; }
.offer-section .offer-rows > li p { grid-column: 3; font-size: 18px; line-height: 1.5; max-width: none; margin: 0; }
.offer-section .offer-rows > li p.small { margin-top: 8px; font-size: 15px; }
.offer-section .role-column .ruled-list { font-size: 18px; }
.offer-section .role-column .ruled-list li { padding: 12px 0; }

/* Keep the six steps together, then show the retained source-correction example. */
.workflow-example { padding-top: 0; }
.workflow-stages .numbered-rows { margin-bottom: 0; }
.workflow-example .bp-anatomy {
  width: 100%;
  max-width: none;
  padding-inline: 0;
  margin: 0;
}
.workflow-example .bp-anatomy .an-intro { padding-top: 26px; }
.workflow-example .bp-anatomy .an-intro h2 { font-size: clamp(28px,3vw,40px); }
.workflow-example .bp-anatomy .an-footer { padding-bottom: 8px; }
@media(max-width:600px) {
  .offer-section .offer-rows > li { grid-template-columns: 28px minmax(0,1fr); gap: 0 12px; padding: 18px 0; }
  .offer-section .offer-rows > li h3 { grid-column: 2; margin-bottom: 5px; }
  .offer-section .offer-rows > li p { grid-column: 2; font-size: 17px; }
  .offer-section .offer-rows > li p.small { font-size: 15px; }
  .workflow-example .bp-anatomy .an-intro h2 { font-size: 30px; }
}
.hero h1 .form-name { white-space: nowrap; }

/* Privacy artwork replaces the homepage's second download promotion. */
.privacy-context { align-items: center; }
.privacy-illustration { width: 100%; max-width: 480px; margin: 0; justify-self: center; }
.privacy-illustration svg { display: block; width: 100%; height: auto; font-family: var(--pt-body,sans-serif); }
.privacy-art-title { fill: #102d43; font: 600 23px var(--pt-display,sans-serif); }
.privacy-art-label { fill: #526577; font-size: 19px; }
.privacy-art-note { fill: #865000; font: italic 25px Georgia,serif; }

/* The offer follows the hero: an open diagram with a separate review boundary. */
.offer-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin: 38px 0 0; }
.offer-step { position: relative; min-width: 0; }
.offer-step:not(:last-child)::after { content: ''; position: absolute; left: 78px; right: -24px; top: 30px; height: 1px; background: #c4d1df; }
.offer-sketch { display: block; width: 58px; height: 58px; margin: 0 0 22px; color: #1455d9; }
.offer-sketch path { fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.offer-step h3 { margin-bottom: 16px; }
.offer-step p { font-size: 18px; line-height: 1.55; }
.offer-review { display: flex; gap: 20px; border-block: 1px solid #d7dee8; padding-block: 25px; margin: 30px 0 44px; }
.offer-review-mark { color: #865000; font: 400 38px/1 Georgia,serif; }
.offer-review h3 { color: #865000; font-size: 21px; margin-bottom: 10px; }
.offer-review p { max-width: 94ch; margin: 0; font-size: 18px; }
@media (max-width: 800px) {
  .offer-flow { grid-template-columns: 1fr; gap: 28px; }
  .offer-step { padding-left: 78px; }
  .offer-sketch { position: absolute; left: 0; top: 0; width: 48px; height: 48px; }
  .offer-step:not(:last-child)::after { left: 24px; right: auto; top: 62px; bottom: -12px; height: auto; width: 1px; }
  .offer-step p:last-child { margin-bottom: 0; }
  .offer-review { gap: 12px; }
}

/* Homepage only: an editorial paper scene, with source blue and review amber. */
.hero-process { min-width: 0; width: 100%; max-width: 600px; margin: 0; }
.hero-process svg { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--pt-body, sans-serif); }
.hero-process .process-label { fill: #102d43; font: 600 23px var(--pt-display, sans-serif); }
.hero-process .process-document-label { fill: #41566a; font-size: 18px; }
.hero-process .process-fold { fill: none; stroke: #becbd5; }
.hero-process .process-rule { fill: none; stroke: #d7dee8; stroke-width: 1.25; }
.hero-process .process-pencil { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.hero-process .process-source { color: #1455d9; fill: #1455d9; }
.hero-process path.process-source { fill: none; }
.hero-process .process-note-small { fill: #526577; font-size: 20px; }
.hero-process .process-pack-title { fill: #102d43; font: 600 28px var(--pt-display, sans-serif); }
.hero-process .process-pack-subtitle { fill: #102d43; font-size: 23px; }
.hero-process .process-sheet-copy { fill: #41566a; font-size: 19px; }
.hero-process .process-draft-label { fill: #647587; font-size: 13px; letter-spacing: 1.2px; }
.hero-process .process-human { color: #865000; fill: #865000; }
.hero-process path.process-human { fill: none; }
.hero-process .process-handwritten { font: italic 25px Georgia, serif; }
@media (max-width: 600px) {
  .hero-process .process-label { font-size: 26px; }
  .hero-process .process-document-label { font-size: 22px; }
  .hero-process .process-note-small { font-size: 22px; }
  .hero-process .process-sheet-copy { font-size: 22px; }
  .hero-process .process-pack-detail path { display: none; }
  .hero-process .process-handwritten { font-size: 27px; }
}
/* The home underline is a single unbroken phrase. Supporting titles need a
   fragment-safe version so each line keeps the mark when text wraps. */
.page-hero h1 em,
.bp-anatomy #anatomy-title em {
  color: #1455d9;
  font-style: normal;
  border-bottom: 1.5px solid currentColor;
  border-radius: 0 0 45% 35% / 0 0 .08em .1em;
  padding-bottom: .08em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.paper-eyebrow-line .hero-context {
  margin: 0;
  font-size: 15px;
  letter-spacing: 0;
}
@scope (body:is([data-page="sample"], [data-page="guide"], [data-page="conversation"])) {
  .sample-reading-note .margin-note {
    color: var(--pt-human);
    font: 400 26px/1.25 var(--pt-note);
    border-left: 1px solid var(--pt-human);
    padding-left: 16px;
  }
  .guide-review-note {
    margin: 28px 0;
    max-width: 62ch;
  }
  .guide-review-note p { margin-bottom: 0; }
  .conversation-note {
    margin: 26px 0 32px;
    max-width: 42ch;
  }
  .source-archive {
    border-block: 1px solid var(--pt-rule);
    margin-top: 28px;
  }
  .source-archive > summary {
    padding-block: 20px;
    min-height: 44px;
    cursor: pointer;
    color: var(--pt-source);
    font-family: var(--pt-display);
    font-weight: 600;
  }
  .source-archive > summary span { margin-left: 18px; font-weight: 400; }
  .source-archive[open] > summary { border-bottom: 1px solid var(--pt-rule); }
  .source-archive .source-list { margin-block: 28px; }
  @media(max-width:600px) {
    .source-archive > summary span { display: block; margin: 6px 0 0 21px; }
    .sample-reading-note .margin-note { font-size: 24px; }
  }
  @media print { .source-archive::details-content { content-visibility: visible; } }
}
