@page {
  margin: 14mm 15mm 17mm;
}

@media print {
  :root {
    color-scheme: light;
    --print-ink: #17242a;
    --print-muted: #43525a;
    --print-rule: #b8c2c4;
    --print-accent: #176d70;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
  }

  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
    color: var(--print-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.5pt !important;
    line-height: 1.45 !important;
    print-color-adjust: economy;
    -webkit-print-color-adjust: economy;
  }

  body[data-view] {
    background: #fff !important;
  }

  #profile,
  .profile-view {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: var(--print-ink) !important;
  }

  #profile * {
    background-color: transparent !important;
    background-image: none !important;
  }

  :where(#profile) :where(h1, h2, h3, h4, p, li, dt, dd, figcaption, strong, small, span, a) {
    color: var(--print-ink) !important;
  }

  #explorer,
  dialog,
  .filter-defs,
  .folio-nav,
  .work-contents,
  .navbar-art,
  .snow-window,
  .island-invitation,
  .profile-utility-group,
  #contact .contact-options,
  #contact .contact-heading > p:not(.print-contact),
  form,
  button,
  [role="button"],
  [aria-hidden="true"] {
    display: none !important;
  }

  .workflow-stage,
  .propagation-control,
  .sunburst-canvas,
  .sunburst-hint,
  .flow-toolbar,
  .sankey-scroll,
  .figure-heading a {
    display: none !important;
  }

  .print-contact {
    display: block !important;
    margin: 3mm 0 0 !important;
    color: var(--print-muted) !important;
    font-size: 9pt !important;
  }

  .print-contact a {
    color: var(--print-ink) !important;
  }

  .folio-hero,
  .folio-section,
  .education-section,
  .toolkit-section,
  .personal-section,
  .folio-footer,
  .profile-overview,
  .overview-heading,
  .overview-grid,
  .overview-narrative,
  .overview-scope,
  .overview-evidence,
  .project-introduction,
  .project-notes,
  .story-details,
  .detail-story,
  .experience-layout,
  .career-entry,
  .personal-layout,
  .personal-stories,
  .toolkit {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  .profile-overview {
    padding: 0 0 8mm !important;
  }

  .overview-heading {
    display: grid !important;
    grid-template-columns: 1fr 24mm !important;
    gap: 7mm !important;
    align-items: center !important;
    margin: 0 0 6mm !important;
    padding: 0 0 4mm !important;
    border-bottom: 1.5pt solid var(--print-accent) !important;
  }

  .profile-portrait {
    display: block !important;
    width: 24mm !important;
    height: 24mm !important;
    border-radius: 2mm !important;
    object-fit: cover !important;
    filter: grayscale(100%) contrast(1.05);
  }

  .profile-overview h1 {
    margin: 0 0 1.5mm !important;
    color: var(--print-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 25pt !important;
    line-height: 1 !important;
    letter-spacing: -.04em !important;
  }

  .overview-heading h2 {
    margin: 0 !important;
    color: var(--print-accent) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12.5pt !important;
  }

  .overview-grid {
    display: grid !important;
    grid-template-columns: 1.15fr .85fr !important;
    gap: 8mm !important;
    align-items: start !important;
  }

  .overview-intro,
  .story-summary .story-intro,
  .project-introduction .story-intro,
  .detail-story .story-summary .story-intro {
    color: var(--print-ink) !important;
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
  }

  .overview-scope {
    display: block !important;
    padding: 0 0 0 5mm !important;
    border: 0 !important;
    border-left: 1pt solid var(--print-rule) !important;
  }

  .overview-scope > div {
    margin: 0 0 3mm !important;
    padding: 0 !important;
  }

  .overview-scope dt,
  .story-details h4,
  .profile-view .toolkit strong {
    margin: 0 0 .8mm !important;
    color: var(--print-accent) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.5pt !important;
    font-weight: 700 !important;
  }

  .overview-scope dd,
  .overview-responsibility p,
  .story-summary p,
  .story-details p,
  .profile-view .career-entry p,
  .profile-view .toolkit p,
  .personal-story .story-summary p {
    color: var(--print-muted) !important;
    font-size: 9.2pt !important;
    line-height: 1.45 !important;
  }

  .overview-evidence {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3mm 8mm !important;
    margin: 6mm 0 0 !important;
    padding: 4mm 0 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
  }

  .overview-evidence a,
  .overview-evidence a:nth-last-child(-n+2) {
    display: block !important;
    grid-column: auto !important;
    padding: 0 !important;
    color: var(--print-ink) !important;
    text-decoration: none !important;
  }

  .overview-evidence a > span {
    color: var(--print-accent) !important;
    font-size: 8.5pt !important;
    font-weight: 700 !important;
  }

  .overview-evidence p {
    margin: 1mm 0 0 !important;
    color: var(--print-muted) !important;
    font-size: 8.5pt !important;
    line-height: 1.4 !important;
  }

  .overview-evidence strong {
    color: var(--print-ink) !important;
  }

  .folio-section,
  .education-section,
  .toolkit-section,
  .personal-section {
    padding: 7mm 0 0 !important;
    margin: 7mm 0 0 !important;
    border-top: 1.5pt solid var(--print-accent) !important;
  }

  #selected-work,
  #systems,
  #work-history {
    break-before: page;
  }

  .chapter-heading {
    display: block !important;
    padding: 0 0 2mm !important;
    border: 0 !important;
  }

  .chapter-heading > span:first-child,
  .case-index,
  .case-masthead,
  .notes-label {
    color: var(--print-muted) !important;
    font: 700 7.5pt/1.35 ui-monospace, SFMono-Regular, Consolas, monospace !important;
    letter-spacing: .05em !important;
    text-transform: uppercase;
  }

  .chapter-heading a {
    display: none !important;
  }

  .display-heading,
  .education-section > h2,
  .toolkit-section h2,
  .personal-copy .display-heading {
    margin: 0 0 5mm !important;
    color: var(--print-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 19pt !important;
    line-height: 1.1 !important;
    letter-spacing: -.025em !important;
  }

  .project-case {
    margin: 0 0 8mm !important;
    padding: 0 0 7mm !important;
    border-bottom: 1pt solid var(--print-rule) !important;
  }

  .project-media {
    margin: 4mm 0 !important;
  }

  .research-figures {
    display: block !important;
    padding: 0 !important;
  }

  .research-figure {
    margin: 0 0 6mm !important;
    padding: 3mm 0 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
  }

  .research-figure,
  .figure-sheet,
  .research-figure img {
    max-width: 100% !important;
  }

  .figure-sheet {
    display: block !important;
    padding: 2mm 0 !important;
  }

  .research-figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .figure-heading,
  .research-figure figcaption,
  .network-charts figcaption {
    color: var(--print-ink) !important;
  }

  .research-figure figcaption {
    padding-top: 2mm !important;
  }

  .research-figure figcaption p,
  .flow-status {
    color: var(--print-muted) !important;
    font-size: 8.8pt !important;
    line-height: 1.45 !important;
  }

  .research-figure figcaption strong,
  .network-charts figcaption strong,
  .workflow-footer strong {
    color: var(--print-ink) !important;
  }

  .figure-heading > span,
  .research-figure figcaption small,
  .network-charts .chart-type,
  .network-charts .chart-unit,
  .workflow-footer p > span {
    color: var(--print-muted) !important;
  }

  .workflow-animation,
  .supply-example {
    padding: 3mm 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
    border-bottom: 1pt solid var(--print-rule) !important;
  }

  .workflow-footer {
    min-height: 0 !important;
    margin: 0 0 2mm !important;
  }

  .workflow-footer p,
  .workflow-accessible {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip-path: none !important;
    white-space: normal !important;
    color: var(--print-muted) !important;
    font-size: 8.8pt !important;
    line-height: 1.45 !important;
  }

  .network-charts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7mm !important;
  }

  .network-charts figure {
    margin: 0 !important;
  }

  .area-layout {
    display: block !important;
    margin: 2mm 0 0 !important;
  }

  .sunburst-back {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 0 0 3mm !important;
    border: 0 !important;
    border-left: 1.5pt solid var(--print-rule) !important;
    border-radius: 0 !important;
    color: var(--print-muted) !important;
    text-align: left !important;
    transform: none !important;
    aspect-ratio: auto !important;
  }

  .sunburst-back > * {
    display: inline !important;
    color: inherit !important;
    font: inherit !important;
  }

  .network-charts figcaption {
    display: block !important;
    font-size: 8pt !important;
  }

  .network-charts figcaption strong {
    display: block !important;
    font-size: 10pt !important;
  }

  .flow-status {
    min-height: 0 !important;
    margin: 2mm 0 0 !important;
    padding: 0 0 0 3mm !important;
    border-left: 1.5pt solid var(--print-rule) !important;
  }

  .case-masthead {
    display: block !important;
    margin: 0 0 2mm !important;
    padding: 2mm 0 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
  }

  .project-introduction {
    display: grid !important;
    grid-template-columns: .72fr 1.28fr !important;
    gap: 7mm !important;
    margin: 0 0 4mm !important;
  }

  .project-introduction h3,
  .story-heading h3,
  .personal-story h3 {
    margin: 0 !important;
    color: var(--print-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14pt !important;
    line-height: 1.2 !important;
    letter-spacing: -.015em !important;
  }

  .project-notes {
    display: grid !important;
    grid-template-columns: 34mm 1fr !important;
    gap: 6mm !important;
    padding: 4mm 0 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
  }

  #profile-chartroom .project-notes > .story-details {
    grid-column: 1 / -1 !important;
  }

  .story-details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4mm 7mm !important;
  }

  .story-details section,
  .overview-scope > div,
  .overview-evidence a,
  .career-entry,
  .profile-view .toolkit p,
  .personal-story {
    break-inside: avoid;
  }

  .related-stories {
    margin: -3mm 0 8mm !important;
    padding: 0 0 0 5mm !important;
    border-left: 1.5pt solid var(--print-rule) !important;
  }

  .detail-story {
    display: grid !important;
    grid-template-columns: 48mm 1fr !important;
    gap: 3mm 8mm !important;
    padding: 5mm 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
  }

  .detail-story .story-heading {
    grid-row: auto !important;
  }

  .detail-story > .story-details {
    grid-column: 2 !important;
    grid-template-columns: 1fr !important;
  }

  .experience-layout,
  .education-section,
  .toolkit-section {
    display: grid !important;
    grid-template-columns: 42mm 1fr !important;
    gap: 8mm !important;
  }

  .profile-view .career-entry {
    display: grid !important;
    grid-template-columns: 28mm 1fr !important;
    gap: 5mm !important;
    padding: 3.5mm 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
  }

  .profile-view .career-entry > span,
  .profile-view .career-entry strong {
    color: var(--print-muted) !important;
    font-size: 8pt !important;
  }

  .profile-view .career-entry h3 {
    margin: 0 0 1mm !important;
    color: var(--print-ink) !important;
    font-size: 11pt !important;
  }

  .profile-view .toolkit {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3mm 7mm !important;
  }

  .personal-layout {
    display: block !important;
    padding: 0 !important;
  }

  .personal-stories {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7mm !important;
  }

  .contact-section {
    display: block !important;
    width: 100% !important;
    margin: 7mm 0 0 !important;
    padding: 7mm 0 0 !important;
    border-top: 1.5pt solid var(--print-accent) !important;
  }

  .contact-heading h2 {
    margin: 0 !important;
    color: var(--print-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 19pt !important;
    line-height: 1.1 !important;
    letter-spacing: -.025em !important;
  }

  .folio-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 2mm 6mm !important;
    margin: 8mm 0 0 !important;
    padding: 4mm 0 0 !important;
    border-top: 1pt solid var(--print-rule) !important;
    color: var(--print-muted) !important;
    font-size: 8pt !important;
  }

  .folio-footer a {
    color: var(--print-ink) !important;
    text-decoration: none !important;
  }

  .folio-footer .folio-top-link,
  .folio-footer .profile-utility-group {
    display: none !important;
  }

  a[href]::after {
    content: none !important;
  }

  h1,
  h2,
  h3,
  h4,
  dt,
  figcaption {
    break-after: avoid;
  }

  p,
  li,
  dd {
    orphans: 3;
    widows: 3;
  }

  img,
  svg {
    max-width: 100% !important;
  }
}
