/* A4 output: print geometry, page colors, and print-only typography. */

    @page{size:A4;margin:0}
    @media print{
      body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
      .screen-toolbar{display:none!important}
      .book{padding:0}
      .page{width:210mm;height:297mm;min-height:297mm;margin:0;box-shadow:none}
      .page-footer{display:flex}
      a{color:inherit;text-decoration:none}
    }

    /*
     * Edge/Skia may omit masked pseudo-element backgrounds in PDF output.
     * Keep the web mask for screen, but reproduce its diagonal fade with a
     * dark-to-transparent overlay for print; slightly widen sub-pixel grid
     * strokes so the pattern survives A4 rasterization without becoming loud.
     */
    @media print{
      #cover.cover:before{
        -webkit-mask-image:none;mask-image:none;opacity:1;
        background-image:
          linear-gradient(125deg,#0c2234 8%,rgba(12,34,52,0) 42%,rgba(12,34,52,0) 85%,#0c2234 100%),
          linear-gradient(90deg,transparent 49.35%,rgba(122,216,210,.055) 50%,transparent 50.65%),
          linear-gradient(0deg,transparent 49.35%,rgba(122,216,210,.045) 50%,transparent 50.65%);
        background-size:100% 100%,43px 43px,43px 43px;
        background-position:0 0,0 0,0 0;background-repeat:no-repeat,repeat,repeat
      }
      #back-cover.back-cover:before{
        -webkit-mask-image:none;mask-image:none;opacity:1;
        background-image:
          linear-gradient(135deg,#0c2234 2%,rgba(12,34,52,0) 34%,rgba(12,34,52,0) 88%,#0c2234 100%),
          linear-gradient(90deg,transparent 49.35%,rgba(122,216,210,.09) 50%,transparent 50.65%),
          linear-gradient(0deg,transparent 49.35%,rgba(122,216,210,.064) 50%,transparent 50.65%);
        background-size:100% 100%,38px 38px,38px 38px;
        background-position:0 0,0 0,0 0;background-repeat:no-repeat,repeat,repeat
      }
    }


    /* Keep the circular cover artwork inside the A4 safe area and clear of the footer. */
    @media print{
      #cover.cover:after,#back-cover.back-cover:after{
        right:23mm;bottom:36mm;width:94mm;height:94mm;
        box-shadow:0 0 0 7mm rgba(122,216,210,.06),
          0 0 0 16mm rgba(122,216,210,.04),
          0 0 0 23mm rgba(122,216,210,.025)
      }
    }

    /* A4 type scale: readable narrative, compact but legible prototype metadata. */
    @media print{
      .page:not(.cover):not(#back-cover){font-size:12px;line-height:1.5}
      .page-title{font-size:25px;line-height:1.2}
      .lead{font-size:13px;line-height:1.55}
      .body-copy,.feature p,.panel p,.list li,.formula,.note,
      .case-evidence-grid p,.audit-rail p,.proof-card p,.industry-closeout small,
      .pain small,.rule small,.timeline-step p,.industry-card p,.industry-card ul,
      .offer p,.offer ul,.ai-card p,.equipment-readout small,.delivery-proof-grid p,
      .ai-center-guardrails p{font-size:11px;line-height:1.45}
      .feature h3,.panel h3,.offer h3,.ai-card h3,.timeline-step h3{font-size:13px;line-height:1.3}
      .case-evidence-grid label,.audit-rail label,.metric-name,.metric-foot,
      .delivery-proof-grid label{font-size:9px;line-height:1.35}
      .case-evidence-grid strong,.audit-rail strong,.proof-card b,
      .industry-closeout strong,.delivery-proof-grid strong{font-size:12px;line-height:1.35}
      .page-endbar{font-size:11px;line-height:1.5}
      .audit-rail p{font-size:10.5px}
      .industry-closeout small{font-size:9.5px}
      .proof-card p{font-size:10.5px}
      .data-table{font-size:10px}
      .data-table th{font-size:9.5px}
      .data-table th,.data-table td{padding:8px 8px}
      .matrix>div{font-size:10px;line-height:1.4;padding:8px}
      .process-band div{font-size:9.5px;line-height:1.4}
      .object-row span{font-size:9px;line-height:1.4}
      .proto-field b{font-size:10px}
      .app-top h3{font-size:13px}
      .ui-panel h4{font-size:10px}
      .ui-panel p{font-size:9px}
      .app-signal strong{font-size:11px}
      .app-signal small,.app-signal b,.equipment-readout b{font-size:8.5px}
      .kpi strong{font-size:15px}
      .kpi small,.kpi .up,.ui-table,.status,.bar-col small,.legend-line,.schedule-grid,
      .structure-node-head code,.structure-node p,.structure-type,.proto-field label,.proto-table,
      .oil-route-tag,.oil-flow-step small,.oil-un-grid small,.oil-collect-list li,.oil-shared-gate,
      .equipment-readout small,.ai-center-stats small,.ai-center-table th,.ai-center-table td small,
      .ai-center-pill,.ai-center-summary b,.ai-center-summary small,.ai-center-flow b,.ai-center-flow small,
      .ai-center-case-flow b,.ai-center-case-flow strong,.ai-center-case-flow small,
      .architecture-rule-list span,.app-event-strip b,.app-event-strip small,
      .architecture-acceptance-grid span,.architecture-acceptance-grid small,
      .industry-knowledge-head span,.knowledge-node small,.knowledge-result span,
      .back-capability-line span,.back-capability-line small,
      #ai-prototype .status,#ai-prototype .proto-field label{font-size:8.5px;line-height:1.35}
    }


/* Print-only legibility pass: lift compact labels and body copy by one measured step. */
@media print {
  .page:not(.cover):not(#back-cover) .lead {font-size:14px;line-height:1.55}
  .page:not(.cover):not(#back-cover) .feature p,
  .page:not(.cover):not(#back-cover) .panel p,
  .page:not(.cover):not(#back-cover) .list li,
  .page:not(.cover):not(#back-cover) .formula,
  .page:not(.cover):not(#back-cover) .note,
  .page:not(.cover):not(#back-cover) .case-evidence-grid p,
  .page:not(.cover):not(#back-cover) .audit-rail p,
  .page:not(.cover):not(#back-cover) .proof-card p,
  .page:not(.cover):not(#back-cover) .industry-closeout small,
  .page:not(.cover):not(#back-cover) .pain small,
  .page:not(.cover):not(#back-cover) .rule small,
  .page:not(.cover):not(#back-cover) .timeline-step p,
  .page:not(.cover):not(#back-cover) .industry-card p,
  .page:not(.cover):not(#back-cover) .industry-card ul,
  .page:not(.cover):not(#back-cover) .offer p,
  .page:not(.cover):not(#back-cover) .offer ul,
  .page:not(.cover):not(#back-cover) .ai-card p,
  .page:not(.cover):not(#back-cover) .equipment-readout small,
  .page:not(.cover):not(#back-cover) .delivery-proof-grid p,
  .page:not(.cover):not(#back-cover) .ai-center-guardrails p {font-size:11.5px;line-height:1.5}

  .page:not(.cover):not(#back-cover) .feature h3,
  .page:not(.cover):not(#back-cover) .panel h3,
  .page:not(.cover):not(#back-cover) .offer h3,
  .page:not(.cover):not(#back-cover) .ai-card h3,
  .page:not(.cover):not(#back-cover) .timeline-step h3,
  .page:not(.cover):not(#back-cover) .app-top h3,
  .page:not(.cover):not(#back-cover) .ui-panel h4 {font-size:14px;line-height:1.3}

  .page:not(.cover):not(#back-cover) .case-evidence-grid label,
  .page:not(.cover):not(#back-cover) .audit-rail label,
  .page:not(.cover):not(#back-cover) .metric-name,
  .page:not(.cover):not(#back-cover) .metric-foot,
  .page:not(.cover):not(#back-cover) .delivery-proof-grid label {font-size:10px;line-height:1.35}
  .page:not(.cover):not(#back-cover) .data-table,
  .page:not(.cover):not(#back-cover) .ui-table,
  .page:not(.cover):not(#back-cover) .proto-table,
  .page:not(.cover):not(#back-cover) .matrix>div,
  .page:not(.cover):not(#back-cover) .object-row span,
  .page:not(.cover):not(#back-cover) .process-band div {font-size:10px;line-height:1.4}
  .page:not(.cover):not(#back-cover) .data-table th,
  .page:not(.cover):not(#back-cover) .proto-field label,
  .page:not(.cover):not(#back-cover) .app-signal b,
  .page:not(.cover):not(#back-cover) .app-signal small,
  .page:not(.cover):not(#back-cover) .ui-panel p,
  .page:not(.cover):not(#back-cover) .status,
  .page:not(.cover):not(#back-cover) .oil-route-tag,
  .page:not(.cover):not(#back-cover) .oil-flow-step small,
  .page:not(.cover):not(#back-cover) .oil-un-grid small,
  .page:not(.cover):not(#back-cover) .oil-collect-list li,
  .page:not(.cover):not(#back-cover) .oil-shared-gate,
  .page:not(.cover):not(#back-cover) .industry-knowledge-head span,
  .page:not(.cover):not(#back-cover) .knowledge-node small,
  .page:not(.cover):not(#back-cover) .knowledge-result span {font-size:9.5px;line-height:1.35}
  .page:not(.cover):not(#back-cover) .proto-field b {font-size:11px}
  .page:not(.cover):not(#back-cover) .app-signal strong {font-size:12px}
  .page:not(.cover):not(#back-cover) .proto-table th,
  .page:not(.cover):not(#back-cover) .proto-table td,
  .page:not(.cover):not(#back-cover) .ui-table th,
  .page:not(.cover):not(#back-cover) .ui-table td {padding:6px 6px}
  .page:not(.cover):not(#back-cover) .page-endbar {font-size:11.5px;line-height:1.45}
  .page:not(.cover):not(#back-cover) .industry-proto .object-row b {font-size:10.5px}
  .page:not(.cover):not(#back-cover) .industry-proto .object-row span {font-size:10.5px;line-height:1.4}
  .page:not(.cover):not(#back-cover) .industry-proto .proto-title {font-size:11.5px;line-height:1.3}
  .page:not(.cover):not(#back-cover) .industry-proto .proto-field label {font-size:10px;line-height:1.35}
  .page:not(.cover):not(#back-cover) .industry-proto .proto-field b {font-size:11px}
  .page:not(.cover):not(#back-cover) .industry-proto .proto-table {font-size:10.5px;line-height:1.4}
  .page:not(.cover):not(#back-cover) .industry-proto .proto-table th,
  .page:not(.cover):not(#back-cover) .industry-proto .proto-table td {padding:6px 5px}
  .page:not(.cover):not(#back-cover) .industry-proto .status {font-size:10px}
  .page:not(.cover):not(#back-cover) .industry-proto .industry-knowledge-head span,
  .page:not(.cover):not(#back-cover) .industry-proto .knowledge-node small,
  .page:not(.cover):not(#back-cover) .industry-proto .knowledge-result span {font-size:9.5px;line-height:1.35}
  .page:not(.cover):not(#back-cover) .industry-proto .proto-screen::after {font-size:9.5px;line-height:1.4}
  .page:not(.cover):not(#back-cover) #cable-flow .decision-label {font-size:11px}
  .page:not(.cover):not(#back-cover) #cable-flow .decision-path b {font-size:10.5px}
  .page:not(.cover):not(#back-cover) #cable-flow .decision-path small {font-size:10px;line-height:1.45}
  #knowledge .svg-wrap svg text[font-size="8"],
  #knowledge .svg-wrap svg g[font-size="8"] text:not([font-size]) {font-size:9px}
}
