/* The agreement face: the At a glance box, the PandaDoc clauses, the priced table and the Terms. Read by Review & send, the signing pages, the customer chooser and the desk preview (documents/_face_styles links it). A stylesheet, not a <style> block: the Content-Security-Policy refuses inline styles. */
.kf-glance { padding: 1.25rem; margin: 0 0 1.75rem; border: 1px solid #cbd5e1; border-radius: 0.5rem; background: #f8fafc; color: #0f172a; }
.kf-glance h2 { font-size: 1.25rem; margin: 0 0 0.5rem; font-weight: 700; text-transform: none; letter-spacing: normal; }
.kf-glance p { margin: 0 0 1rem; }
.kf-glance dl { margin: 0; }
.kf-glance dl > div { margin: 0.75rem 0; }
.kf-glance dt { font-weight: 700; }
.kf-glance dd { margin: 0.2rem 0 0; line-height: 1.65; overflow-wrap: anywhere; }
.kf-glance a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* The jump links down the At a glance box are a thumb's width tall (44px) with the line reading as it did: the box grows 13px above and below and gives it straight back. */
.kf-glance dt a { display: inline-block; padding: 13px 0; margin: -13px 0; }
.kf-glance .kf-glance-label { display: block; margin: 0 0 0.15rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #475569; }
.kf-glance p.kf-glance-total { margin: 0 0 1rem; font-size: 2.25rem; line-height: 1.1; font-weight: 700; font-variant-numeric: tabular-nums; }
.kf-clause { max-width: 38rem; margin: 1.75rem 0; font-size: 17px; line-height: 1.75; color: #0f172a; }
.kf-clause .kf-clause-title { font-size: 18px; font-weight: 700; margin: 0 0 0.75rem; text-transform: none; letter-spacing: normal; border: 0; }
.kf-clause p.kf-clause-text { font-size: 17px; line-height: 1.75; margin: 0.875rem 0; color: #0f172a; }
.kf-prepared { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 1.25rem 0 2rem; }
.kf-prepared .kf-prepared-title { font-size: 18px; font-weight: 700; letter-spacing: normal; text-transform: none; }
.kf-prepared table.kf-parties { width: 100%; }
/* "Address" stays one word however long the address beside it runs. */
.kf-prepared table.kf-parties th { white-space: nowrap; padding-right: 0.75rem; text-align: left; vertical-align: top; }
.kf-prepared .kf-client-tag { font-size: 15px; }
.kf-clause-accepted { border-top: 2px solid #0f172a; padding-top: 1rem; }
table.kf-pandadoc { width: 100%; border-collapse: collapse; font-size: 15px; margin: 1rem 0; }
table.kf-pandadoc th, table.kf-pandadoc td { padding: 0.55rem 0.35rem; border: 0; vertical-align: top; }
table.kf-pandadoc thead th { border-bottom: 1px solid #94a3b8; text-transform: none; font-size: 14px; letter-spacing: normal; }
table.kf-pandadoc tbody td { border-bottom: 1px solid #e2e8f0; }
table.kf-pandadoc .r { text-align: right; white-space: nowrap; }
table.kf-pandadoc .kf-line-qty { display: none; }
table.kf-pandadoc tfoot .kf-total-label { float: left; }
table.kf-pandadoc tfoot th { text-align: right; }
.kf-terms { font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.kf-terms h2 { font-size: 20px; font-weight: 700; margin: 2rem 0 1rem; text-transform: none; letter-spacing: normal; }
.kf-terms h3 { font-size: 18px; font-weight: 700; margin: 1.5rem 0 0.75rem; }
.kf-terms p { font-size: 17px; line-height: 1.75; margin: 0.875rem 0; }
.kf-jumps { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.kf-jumps a { display: inline-flex; align-items: center; min-height: 44px; padding: 0.5rem 0.75rem; border: 1px solid #cbd5e1; border-radius: 0.5rem; color: #0f172a; }
@media (max-width: 639px) {
  .kf-prepared { grid-template-columns: 1fr; }
  .kf-doc table.kf-pandadoc.kf-fold thead th:nth-child(2), .kf-doc table.kf-pandadoc.kf-fold thead th:nth-child(3),
  .kf-doc table.kf-pandadoc.kf-fold tbody td:nth-child(2), .kf-doc table.kf-pandadoc.kf-fold tbody td:nth-child(3),
  .doc-body table.kf-pandadoc.kf-fold thead th:nth-child(2), .doc-body table.kf-pandadoc.kf-fold thead th:nth-child(3),
  .doc-body table.kf-pandadoc.kf-fold tbody td:nth-child(2), .doc-body table.kf-pandadoc.kf-fold tbody td:nth-child(3) { display: none; }
  .kf-doc table.kf-pandadoc.kf-fold thead th:nth-child(4), .kf-doc table.kf-pandadoc.kf-fold tbody td:nth-child(4),
  .doc-body table.kf-pandadoc.kf-fold thead th:nth-child(4), .doc-body table.kf-pandadoc.kf-fold tbody td:nth-child(4) { display: table-cell; }
  table.kf-pandadoc .kf-line-qty { display: block; }
}
/* The fence styles listed under the drawing (site_plans/_style_legend), on every page that draws the drawing: the face, the signing page, the crew page, the customer's page. It was a <style> block drawn with the list, which the Content-Security-Policy refuses. The swatch is an SVG line with its own colour. The executed PDF carries the same rules in documents/_engrossment. */
.kf-siteplan-styles { list-style: none; margin: 0.4rem 0 0; padding: 0; font-size: 0.8125rem; line-height: 1.7; color: #334155; }
.kf-siteplan-styles li { margin: 0; }
.kf-siteplan-styles .kf-siteplan-style-swatch { display: inline-block; vertical-align: middle; margin-right: 0.3rem; }
.kf-siteplan-styles .kf-siteplan-style-key { color: #0f172a; }
.doc-plan .kf-siteplan-styles, .doc-body .kf-siteplan-styles { color: #334155; }
@media print { .kf-siteplan-styles { margin: 3pt 0 0; font-size: 9pt; line-height: 1.5; color: #333; } }

/* The on-screen signature lines (documents/_signature_block with medium :screen; the executed PDF carries its own rules in documents/_engrossment). They were a <style> block drawn with every block, and the typed name and the mark's drop were style="" attributes: the Content-Security-Policy refuses all three. */
.kf-sigblock--screen {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.75rem 2.5rem;
  font-family: Georgia, "Times New Roman", serif; color: #0f172a;
}
.kf-sigblock--screen .kf-sigcol { min-width: 0; }
.kf-sigblock--screen .kf-sigspace { position: relative; height: 5.5rem; border-bottom: 1px solid #0f172a; }
.kf-sigblock--screen .kf-sigmark {
  position: absolute; left: 0.25rem; bottom: 0; max-width: calc(100% - 0.5rem); height: auto;
}
.kf-sigblock--screen .kf-sigconformed { position: absolute; left: 0.25rem; bottom: 0.3rem; font-size: 1rem; }
.kf-sigblock--screen .kf-sigpending {
  position: absolute; left: 0.25rem; bottom: 0.4rem; font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.75rem; color: #94a3b8;
}
.kf-sigblock--screen .kf-signame { margin-top: 0.4rem; font-size: 0.95rem; line-height: 1.35; }
.kf-sigblock--screen .kf-sigmeta {
  font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.75rem; line-height: 1.5; color: #64748b;
}
.kf-sigblock--screen .kf-sigpreview { color: #b45309; font-weight: 600; }
/* A name typed as the signature: the face the paper prints it in (Signing::TypedMark::FONT_FAMILY). */
.kf-sigblock--screen .kf-sigtyped {
  position: absolute; left: 0.25rem; bottom: 0.3rem; max-width: 100%;
  font-family: "DejaVu Serif", Georgia, "Times New Roman", serif; font-style: italic;
  font-size: 1.75rem; line-height: 1.15; color: #0f172a; overflow-wrap: anywhere;
}
.kf-sigblock--screen .kf-sigaccepted { position: absolute; left: 3px; bottom: 4px; font-style: italic; color: #444; }
/* How far a drawn mark hangs below its rule (PaperHelper#signature_svg), in half pixels: kf-sigdrop-3 is 1.5px. */
.kf-sigblock--screen .kf-sigdrop-0 { bottom: 0; }
.kf-sigblock--screen .kf-sigdrop-1 { bottom: -0.5px; }
.kf-sigblock--screen .kf-sigdrop-2 { bottom: -1px; }
.kf-sigblock--screen .kf-sigdrop-3 { bottom: -1.5px; }
.kf-sigblock--screen .kf-sigdrop-4 { bottom: -2px; }
.kf-sigblock--screen .kf-sigdrop-5 { bottom: -2.5px; }
.kf-sigblock--screen .kf-sigdrop-6 { bottom: -3px; }
.kf-sigblock--screen .kf-sigdrop-7 { bottom: -3.5px; }
.kf-sigblock--screen .kf-sigdrop-8 { bottom: -4px; }
.kf-sigblock--screen .kf-sigdrop-9 { bottom: -4.5px; }
.kf-sigblock--screen .kf-sigdrop-10 { bottom: -5px; }
.kf-sigblock--screen .kf-sigdrop-11 { bottom: -5.5px; }
.kf-sigblock--screen .kf-sigdrop-12 { bottom: -6px; }
.kf-sigblock--screen .kf-sigdrop-13 { bottom: -6.5px; }
.kf-sigblock--screen .kf-sigdrop-14 { bottom: -7px; }
.kf-sigblock--screen .kf-sigdrop-15 { bottom: -7.5px; }
.kf-sigblock--screen .kf-sigdrop-16 { bottom: -8px; }
