@page {
  size: A4 landscape;
  margin: 0;
}

@media print {
  html,
  body {
    width: 297mm;
    min-height: 210mm;
    background: var(--paper);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body::before,
  body::after {
    display: none !important;
    animation: none !important;
  }

  .veil {
    display: none !important;
    animation: none !important;
  }

  .site-head {
    position: static !important;
    inset: auto !important;
  }

  .reveal,
  .reveal.is-pending,
  .reveal.is-in {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .case-page .case-hero,
  .case-page .case-section {
    box-sizing: border-box;
    min-height: 210mm;
    padding-top: 14mm;
    padding-bottom: 12mm;
    break-before: page;
  }

  .case-page .case-hero { break-before: auto; }

  .case-page .case-cols h2 {
    position: static !important;
    top: auto !important;
  }

  .case-page .case-hero h1,
  .case-page .case-hero h1.case-title-long {
    font-size: clamp(3.5rem, 7vw, 5.6rem);
  }

  .case-page .case-lead { margin-top: 1.4rem; }
  .case-page .case-hero-media { margin-top: 1.5rem; }

  .case-page .case-hero-media img {
    max-height: 105mm;
    object-fit: contain;
    background: var(--paper);
  }

  .case-page figure,
  .case-page picture,
  .case-page .callout,
  .case-page .metric-grid,
  .case-page .decision-list > div,
  .case-page .case-facts,
  .case-page .media-grid > *,
  .case-page .sequence-grid > * {
    break-inside: avoid-page;
  }

  .case-page figure img,
  .case-page .media-wide img,
  .case-page .media-grid img {
    max-height: 145mm;
    object-fit: contain;
  }

  .case-page .case-next,
  .case-page .next-case,
  .case-page .site-foot,
  .case-page .footer-marquee {
    display: none !important;
  }

  .theme-hsb main > .case-section:nth-of-type(1),
  .theme-hsb main > .case-section:nth-of-type(2),
  .theme-skydd main > .case-section:nth-of-type(1),
  .theme-skydd main > .case-section:nth-of-type(2),
  .theme-skydd main > .case-section:nth-of-type(4),
  .theme-sprak main > .case-section:nth-of-type(1),
  .theme-sprak main > .case-section:nth-of-type(3) {
    display: none !important;
  }

  .home-page .hero,
  .home-page .work,
  .home-page .footer-marquee,
  .home-page .site-foot {
    display: none !important;
  }

  .home-page .about,
  .home-page .contact {
    box-sizing: border-box;
    min-height: 210mm;
    padding-top: 16mm;
    padding-bottom: 14mm;
    break-before: page;
  }

  .home-page .about { break-before: auto; }
  .home-page .about-grid { break-inside: auto; }

  .home-page .contact {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .cover-page {
    width: 297mm;
    min-height: 209mm !important;
    height: 209mm !important;
    overflow: hidden !important;
  }

  .cover-page .site-head,
  .cover-page .concept-head {
    box-sizing: border-box;
    height: 17mm;
    min-height: 17mm;
    padding-top: 0;
    padding-bottom: 0;
  }

  .cover-page .concept-hero,
  .cover-page--main .hero {
    box-sizing: border-box;
    min-height: 192mm;
    height: 192mm;
  }

  .cover-page .hero-title .word,
  .cover-page .concept-title__line,
  .cover-page .concept-copy,
  .cover-page .concept-copy--marker::before,
  .cover-page .concept-copy--rule::before {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .print-single .about,
  .print-single .contact {
    break-before: auto;
  }

  .print-about-only .about {
    min-height: 0;
    padding-top: 10mm;
  }

  .print-about-only .about-grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .print-about-only .about-grid > .tile {
    grid-column: auto !important;
    grid-row: auto !important;
    break-inside: avoid-page;
  }

  .print-about-only .tile.portrait {
    max-height: 155mm;
  }

  .print-contact-only .site-head {
    height: 17mm;
    min-height: 17mm;
  }

  .print-contact-only .contact {
    min-height: 193mm;
    height: 193mm;
    margin-top: 0;
    padding: 13mm var(--gutter) 8mm;
  }

  .print-contact-only .contact-title {
    font-size: 4.8rem;
  }

  .print-contact-only .contact-note,
  .print-contact-only .contact-mail,
  .print-contact-only .contact-meta {
    margin-top: 1.2rem;
  }

  .print-single.print-about-only .contact,
  .print-single.print-contact-only .about {
    display: none !important;
  }
}
