/* Factory and quality control page. */

.pdl-factory-page {
  --pdl-factory-ink: #102b43;
  --pdl-factory-muted: #5d7183;
  --pdl-factory-blue: #0867c9;
  --pdl-factory-dark: #08253b;
  --pdl-factory-soft: #eef5fa;
  color: var(--pdl-factory-ink);
  background: #fff;
}

.pdl-factory-page h1,
.pdl-factory-page h2,
.pdl-factory-page h3,
.pdl-factory-page p {
  letter-spacing: 0;
}

.pdl-factory-hero {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  color: #fff;
  background: var(--pdl-factory-dark);
}

.pdl-factory-hero-media,
.pdl-factory-hero-media::after {
  position: absolute;
  inset: 0;
  margin: 0;
}

.pdl-factory-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.pdl-factory-hero-media::after {
  content: "";
  background:
    linear-gradient(90deg, rgba(5, 28, 46, .96) 0%, rgba(5, 28, 46, .86) 37%, rgba(5, 28, 46, .3) 69%, rgba(5, 28, 46, .08) 100%),
    linear-gradient(0deg, rgba(5, 28, 46, .72) 0%, transparent 42%);
}

.pdl-factory-hero-inner {
  position: relative;
  z-index: 1;
  min-height: 650px;
  display: flex;
  align-items: center;
  padding-top: 72px;
  padding-bottom: 58px;
}

.pdl-factory-hero-copy {
  width: min(720px, 61%);
}

.pdl-factory-hero .pdl-eyebrow {
  color: #70c8ff;
}

.pdl-factory-hero h1 {
  max-width: 10em;
  margin: 16px 0 0;
  color: #fff;
  font-size: 4rem;
  line-height: 1.08;
  font-weight: 900;
}

.pdl-factory-hero-lead {
  max-width: 660px;
  margin: 24px 0 0;
  color: rgba(238, 247, 255, .84);
  font-size: 1.08rem;
  line-height: 1.8;
}

.pdl-factory-hero-actions,
.pdl-factory-audit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.pdl-factory-hero .pdl-button-secondary {
  color: #fff;
  background: rgba(5, 28, 46, .2);
  border-color: rgba(255, 255, 255, .5);
}

.pdl-factory-hero .pdl-button-secondary:hover,
.pdl-factory-hero .pdl-button-secondary:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border-color: #fff;
}

.pdl-factory-facts {
  width: min(840px, 100%);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .2);
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.pdl-factory-facts li {
  min-width: 0;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 16px 14px;
}

.pdl-factory-facts li + li {
  border-left: 1px solid rgba(255, 255, 255, .17);
}

.pdl-factory-facts svg {
  width: 23px;
  height: 23px;
  color: #70c8ff;
}

.pdl-factory-facts strong,
.pdl-factory-facts small {
  display: block;
}

.pdl-factory-facts strong {
  color: #fff;
  font-size: .88rem;
  line-height: 1.3;
}

.pdl-factory-facts small {
  margin-top: 3px;
  color: rgba(229, 242, 252, .68);
  font-size: .7rem;
  line-height: 1.35;
}

.pdl-factory-jump {
  position: relative;
  z-index: 2;
  color: #29445b;
  background: #fff;
  border-bottom: 1px solid rgba(18, 67, 105, .13);
  box-shadow: 0 8px 24px rgba(19, 57, 88, .05);
}

.pdl-factory-jump .pdl-container {
  min-height: 66px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.pdl-factory-jump span {
  margin-right: auto;
  color: #718393;
  font-size: .8rem;
  font-weight: 750;
}

.pdl-factory-jump a {
  position: relative;
  padding: 23px 0 20px;
  color: #254157;
  font-size: .86rem;
  font-weight: 800;
}

.pdl-factory-jump a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--pdl-factory-blue);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
}

.pdl-factory-jump a:hover,
.pdl-factory-jump a:focus-visible {
  color: var(--pdl-factory-blue);
}

.pdl-factory-jump a:hover::after,
.pdl-factory-jump a:focus-visible::after {
  transform: scaleX(1);
}

.pdl-factory-capabilities,
.pdl-factory-documents,
.pdl-factory-faq {
  padding: 92px 0 100px;
}

.pdl-factory-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr);
  gap: 56px;
  align-items: end;
  margin-bottom: 40px;
}

.pdl-factory-heading h2,
.pdl-factory-quality-copy h2,
.pdl-factory-audit h2,
.pdl-factory-faq h2 {
  margin: 10px 0 0;
  color: var(--pdl-factory-ink);
  font-size: 2.55rem;
  line-height: 1.18;
  font-weight: 880;
}

.pdl-factory-heading > p,
.pdl-factory-faq header > p {
  margin: 0;
  color: var(--pdl-factory-muted);
  font-size: .96rem;
  line-height: 1.78;
}

.pdl-factory-printing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.pdl-factory-printing-item {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  border-radius: 8px;
  background: #0c2a42;
  box-shadow: 0 18px 42px rgba(13, 45, 71, .13);
  transition: transform 260ms ease, box-shadow 260ms ease;
}

.pdl-factory-printing-item > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}

.pdl-factory-printing-item:hover > img {
  transform: scale(1.025);
}

.pdl-factory-printing-copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  min-height: 58%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 92px 38px 34px;
  color: #fff;
  background: linear-gradient(0deg, rgba(4, 24, 39, .96) 0%, rgba(4, 24, 39, .82) 56%, transparent 100%);
}

.pdl-factory-printing-copy > span {
  align-self: flex-start;
  color: #75ceff;
  font-size: .74rem;
  font-weight: 850;
}

.pdl-factory-printing-copy h3 {
  margin: 7px 0 0;
  color: #fff;
  font-size: 1.8rem;
}

.pdl-factory-printing-copy p {
  max-width: 620px;
  margin: 10px 0 0;
  color: rgba(237, 247, 255, .82);
  font-size: .9rem;
  line-height: 1.68;
}

.pdl-factory-printing-copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.pdl-factory-printing-copy li {
  position: relative;
  padding-left: 12px;
  color: rgba(237, 247, 255, .72);
  font-size: .73rem;
}

.pdl-factory-printing-copy li::before {
  content: "";
  position: absolute;
  top: .55em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #55bfff;
}

.pdl-factory-process {
  padding: 84px 0 92px;
  background: var(--pdl-factory-soft);
  border-top: 1px solid rgba(18, 67, 105, .08);
  border-bottom: 1px solid rgba(18, 67, 105, .08);
}

.pdl-factory-process-list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 30px 0 0;
  list-style: none;
}

.pdl-factory-process-list::before {
  content: "";
  position: absolute;
  top: 52px;
  right: calc(100% / 6 - 40px);
  left: 22px;
  height: 1px;
  background: rgba(8, 103, 201, .25);
}

.pdl-factory-process-list li {
  position: relative;
  padding: 0 18px 0 0;
  outline: 0;
}

.pdl-factory-process-list li + li {
  padding-left: 18px;
}

.pdl-factory-process-icon {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--pdl-factory-blue);
  border: 5px solid var(--pdl-factory-soft);
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow: 0 5px 14px rgba(8, 103, 201, .16);
  transition: color 220ms ease, background 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.pdl-factory-process-icon svg {
  width: 18px;
  height: 18px;
}

.pdl-factory-process-list small {
  display: block;
  margin-top: 8px;
  color: var(--pdl-factory-blue);
  font-size: .62rem;
  font-weight: 900;
}

.pdl-factory-process-list strong {
  display: block;
  margin-top: 5px;
  font-size: .98rem;
  transition: color 220ms ease;
}

.pdl-factory-process-list p {
  margin: 9px 0 0;
  color: var(--pdl-factory-muted);
  font-size: .78rem;
  line-height: 1.68;
}

.pdl-factory-floor {
  padding: 94px 0 104px;
  color: #fff;
  background: #092943;
}

.pdl-factory-heading-light h2 {
  color: #fff;
}

.pdl-factory-heading-light > p {
  color: rgba(226, 240, 251, .7);
}

.pdl-factory-floor .pdl-eyebrow {
  color: #68c8ff;
}

.pdl-factory-gallery {
  display: grid;
  grid-template-columns: 1.35fr .65fr .65fr;
  grid-template-rows: repeat(2, 255px);
  gap: 10px;
}

.pdl-factory-gallery figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #071d2e;
}

.pdl-factory-gallery .is-wide {
  grid-row: 1 / 3;
}

.pdl-factory-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 450ms ease, opacity 180ms ease;
}

.pdl-factory-gallery figure:hover img {
  transform: scale(1.025);
  opacity: .92;
}

.pdl-factory-gallery figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 54px 18px 17px;
  background: linear-gradient(0deg, rgba(4, 22, 35, .9), transparent);
}

.pdl-factory-gallery strong,
.pdl-factory-gallery span {
  display: block;
}

.pdl-factory-gallery strong {
  color: #fff;
  font-size: .9rem;
}

.pdl-factory-gallery span {
  margin-top: 4px;
  color: rgba(229, 242, 252, .68);
  font-size: .68rem;
}

.pdl-factory-quality {
  padding: 100px 0;
  color: #fff;
  background: #0b5793;
}

.pdl-factory-quality-grid {
  display: grid;
  grid-template-columns: minmax(430px, .92fr) minmax(480px, 1.08fr);
  gap: 72px;
  align-items: center;
}

.pdl-factory-quality-media {
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 28px 64px rgba(3, 29, 50, .28);
}

.pdl-factory-quality-media img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  transition: transform 420ms ease, filter 260ms ease;
}

.pdl-factory-quality .pdl-eyebrow {
  color: #9bdaff;
}

.pdl-factory-quality-copy h2 {
  max-width: 12em;
  color: #fff;
}

.pdl-factory-quality-lead {
  margin: 20px 0 0;
  color: rgba(234, 246, 255, .78);
  font-size: .95rem;
  line-height: 1.78;
}

.pdl-factory-quality-list {
  margin-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, .2);
}

.pdl-factory-quality-list details {
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.pdl-factory-quality-list summary {
  min-height: 68px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 20px;
  gap: 12px;
  align-items: center;
  padding: 10px 2px;
  color: #fff;
  cursor: pointer;
  list-style: none;
}

.pdl-factory-quality-list summary::-webkit-details-marker {
  display: none;
}

.pdl-factory-quality-list summary span {
  color: #8dd4ff;
  font-size: .72rem;
  font-weight: 850;
}

.pdl-factory-quality-list summary strong {
  font-size: 1rem;
}

.pdl-factory-quality-list summary svg {
  width: 18px;
  height: 18px;
  color: #9bdaff;
  transition: transform 180ms ease;
}

.pdl-factory-quality-list details[open] summary svg {
  transform: rotate(45deg);
}

.pdl-factory-quality-list details p {
  margin: -4px 34px 0 44px;
  padding: 0 0 20px;
  color: rgba(232, 245, 255, .72);
  font-size: .83rem;
  line-height: 1.72;
  animation: pdl-factory-answer-in 180ms ease both;
}

.pdl-factory-document-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 18px;
}

.pdl-factory-document-rail figure {
  min-width: 0;
  margin: 0;
  transition: transform 240ms ease;
}

.pdl-factory-document-preview {
  position: relative;
  width: 100%;
  display: block;
  padding: 0;
  color: inherit;
  text-align: inherit;
  cursor: zoom-in;
  background: transparent;
  border: 0;
  border-radius: 6px;
}

.pdl-factory-document-rail img {
  width: 100%;
  height: 280px;
  padding: 18px;
  object-fit: contain;
  background: #f1f5f8;
  border-radius: 6px;
  box-shadow: 0 14px 34px rgba(17, 47, 75, .08);
  transition: transform 260ms ease, box-shadow 260ms ease, filter 260ms ease;
}

.pdl-factory-document-preview > span {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 6px 9px;
  color: #fff;
  background: rgba(6, 39, 66, .82);
  border-radius: 4px;
  font-size: .68rem;
  font-weight: 800;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 200ms ease, transform 200ms ease;
}

.pdl-factory-document-rail figcaption {
  padding: 17px 2px 0;
}

.pdl-factory-document-rail figcaption strong,
.pdl-factory-document-rail figcaption span {
  display: block;
}

.pdl-factory-document-rail figcaption strong {
  font-size: .98rem;
}

.pdl-factory-document-rail figcaption span {
  margin-top: 5px;
  color: var(--pdl-factory-muted);
  font-size: .75rem;
}

.pdl-certificate-dialog {
  width: min(88vw, 780px);
  max-width: none;
  max-height: 90vh;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
}

.pdl-certificate-dialog::backdrop {
  background: rgba(3, 18, 31, .82);
  backdrop-filter: blur(5px);
}

.pdl-certificate-dialog > div {
  position: relative;
  padding: 22px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0, 12, 24, .36);
}

.pdl-certificate-dialog [data-pdl-certificate-close] {
  position: absolute;
  top: -14px;
  right: -14px;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #fff;
  cursor: pointer;
  background: var(--pdl-factory-blue);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 10px 26px rgba(3, 35, 61, .3);
}

.pdl-certificate-dialog [data-pdl-certificate-close] svg {
  width: 20px;
  height: 20px;
  transform: rotate(45deg);
}

.pdl-certificate-dialog figure {
  margin: 0;
}

.pdl-certificate-dialog img {
  width: 100%;
  max-height: calc(90vh - 92px);
  object-fit: contain;
  background: #f3f6f8;
}

.pdl-certificate-dialog figcaption {
  padding-top: 12px;
  color: var(--pdl-factory-ink);
  font-size: .9rem;
  font-weight: 800;
  text-align: center;
}

.pdl-factory-audit {
  padding: 82px 0;
  background: #e7f2fa;
  border-top: 1px solid rgba(18, 67, 105, .1);
  border-bottom: 1px solid rgba(18, 67, 105, .1);
}

.pdl-factory-audit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(420px, .8fr);
  gap: 80px;
  align-items: center;
}

.pdl-factory-audit h2 {
  max-width: 13em;
}

.pdl-factory-audit p:not(.pdl-eyebrow) {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--pdl-factory-muted);
  line-height: 1.78;
}

.pdl-factory-audit ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(20, 70, 108, .18);
}

.pdl-factory-audit li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid rgba(20, 70, 108, .18);
  transition: transform 220ms ease;
}

.pdl-factory-audit li svg {
  width: 25px;
  height: 25px;
  color: var(--pdl-factory-blue);
}

.pdl-factory-audit li strong,
.pdl-factory-audit li small {
  display: block;
}

.pdl-factory-audit li strong {
  font-size: .92rem;
}

.pdl-factory-audit li small {
  margin-top: 4px;
  color: var(--pdl-factory-muted);
  font-size: .72rem;
}

.pdl-factory-faq-grid {
  display: grid;
  grid-template-columns: minmax(280px, .68fr) minmax(560px, 1.32fr);
  gap: 88px;
  align-items: start;
}

.pdl-factory-faq header {
  position: sticky;
  top: 112px;
}

.pdl-factory-faq header > p {
  margin-top: 18px;
}

.pdl-factory-faq-grid > div {
  border-top: 1px solid rgba(18, 67, 105, .16);
}

.pdl-factory-faq details {
  border-bottom: 1px solid rgba(18, 67, 105, .16);
}

.pdl-factory-faq summary {
  min-height: 78px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px;
  gap: 18px;
  align-items: center;
  padding: 14px 2px;
  color: var(--pdl-factory-ink);
  font-size: .96rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.pdl-factory-faq summary::-webkit-details-marker {
  display: none;
}

.pdl-factory-faq summary svg {
  width: 19px;
  height: 19px;
  color: var(--pdl-factory-blue);
  transition: transform 180ms ease;
}

.pdl-factory-faq details[open] summary svg {
  transform: rotate(180deg);
}

.pdl-factory-faq details p {
  margin: -3px 40px 0 2px;
  padding: 0 0 24px;
  color: var(--pdl-factory-muted);
  font-size: .86rem;
  line-height: 1.78;
  animation: pdl-factory-answer-in 180ms ease both;
}

@keyframes pdl-factory-answer-in {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}

.pdl-factory-process-list li:focus-visible .pdl-factory-process-icon {
  color: var(--pdl-factory-blue);
  background: #fff;
  box-shadow: 0 0 0 5px rgba(8, 103, 201, .12), 0 12px 24px rgba(8, 103, 201, .22);
  transform: translateY(-4px) scale(1.06);
}

.pdl-factory-process-list li:focus-visible strong {
  color: var(--pdl-factory-blue);
}

.pdl-factory-document-preview:focus-visible {
  outline: 3px solid rgba(8, 103, 201, .24);
  outline-offset: 4px;
}

.pdl-factory-document-preview:focus-visible img {
  filter: brightness(1.02);
  box-shadow: 0 22px 42px rgba(17, 47, 75, .15);
  transform: scale(1.012);
}

.pdl-factory-document-preview:focus-visible > span {
  opacity: 1;
  transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
  .pdl-factory-printing-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 58px rgba(17, 47, 75, .2);
  }

  .pdl-factory-process-list li:hover .pdl-factory-process-icon {
    color: var(--pdl-factory-blue);
    background: #fff;
    box-shadow: 0 0 0 5px rgba(8, 103, 201, .12), 0 12px 24px rgba(8, 103, 201, .22);
    transform: translateY(-4px) scale(1.06);
  }

  .pdl-factory-process-list li:hover strong {
    color: var(--pdl-factory-blue);
  }

  .pdl-factory-quality-media:hover img {
    filter: saturate(1.04) contrast(1.03);
    transform: scale(1.018);
  }

  .pdl-factory-document-rail figure:hover,
  .pdl-factory-document-rail figure:focus-within {
    transform: translateY(-4px);
  }

  .pdl-factory-document-preview:hover img {
    filter: brightness(1.02);
    box-shadow: 0 22px 42px rgba(17, 47, 75, .15);
    transform: scale(1.012);
  }

  .pdl-factory-document-preview:hover > span {
    opacity: 1;
    transform: translateY(0);
  }

  .pdl-factory-audit li:hover {
    transform: translateX(4px);
  }
}

@media (max-width: 1100px) {
  .pdl-factory-hero-copy {
    width: 72%;
  }

  .pdl-factory-quality-grid {
    grid-template-columns: minmax(340px, .82fr) minmax(430px, 1.18fr);
    gap: 48px;
  }

  .pdl-factory-gallery {
    grid-template-columns: 1.15fr .85fr;
  }

  .pdl-factory-document-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pdl-factory-gallery figure:nth-child(4),
  .pdl-factory-gallery figure:nth-child(5) {
    display: none;
  }
}

@media (max-width: 900px) {
  .pdl-factory-hero,
  .pdl-factory-hero-inner {
    min-height: 620px;
  }

  .pdl-factory-hero-media::after {
    background: linear-gradient(90deg, rgba(5, 28, 46, .95), rgba(5, 28, 46, .7));
  }

  .pdl-factory-hero-copy {
    width: 100%;
    max-width: 720px;
  }

  .pdl-factory-heading,
  .pdl-factory-audit-grid,
  .pdl-factory-faq-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .pdl-factory-heading > p {
    max-width: 720px;
  }

  .pdl-factory-process-list {
    display: flex;
    gap: 0;
    padding-bottom: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .pdl-factory-process-list::-webkit-scrollbar {
    display: none;
  }

  .pdl-factory-process-list::before {
    display: none;
  }

  .pdl-factory-process-list li,
  .pdl-factory-process-list li + li {
    flex: 0 0 250px;
    padding: 0 30px 0 0;
    scroll-snap-align: start;
  }

  .pdl-factory-quality-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pdl-factory-document-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pdl-factory-quality-media,
  .pdl-factory-quality-media img {
    min-height: 420px;
  }

  .pdl-factory-faq header {
    position: static;
  }
}

@media (max-width: 720px) {
  .pdl-factory-hero,
  .pdl-factory-hero-inner {
    min-height: 0;
  }

  .pdl-factory-hero-inner {
    padding-top: 54px;
    padding-bottom: 46px;
  }

  .pdl-factory-hero-media img {
    object-position: 58% center;
  }

  .pdl-factory-hero-media::after {
    background: linear-gradient(90deg, rgba(5, 28, 46, .94), rgba(5, 28, 46, .65));
  }

  .pdl-factory-hero h1 {
    font-size: 2.35rem;
  }

  .pdl-factory-hero-lead {
    margin-top: 17px;
    font-size: .9rem;
    line-height: 1.7;
  }

  .pdl-factory-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 22px;
  }

  .pdl-factory-hero-actions .pdl-button {
    min-width: 0;
    width: 100%;
    padding-inline: 10px;
    font-size: .82rem;
  }

  .pdl-factory-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 28px;
  }

  .pdl-factory-facts li {
    min-height: 68px;
    padding: 11px 8px;
  }

  .pdl-factory-facts li + li {
    border-left: 0;
  }

  .pdl-factory-facts li:nth-child(2n) {
    border-left: 1px solid rgba(255, 255, 255, .17);
  }

  .pdl-factory-facts li:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, .17);
  }

  .pdl-factory-facts svg {
    width: 20px;
    height: 20px;
  }

  .pdl-factory-facts strong {
    font-size: .78rem;
  }

  .pdl-factory-facts small {
    font-size: .64rem;
  }

  .pdl-factory-jump {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pdl-factory-jump::-webkit-scrollbar {
    display: none;
  }

  .pdl-factory-jump .pdl-container {
    width: max-content;
    min-width: 100%;
    min-height: 54px;
    gap: 22px;
  }

  .pdl-factory-jump span {
    display: none;
  }

  .pdl-factory-jump a {
    flex: 0 0 auto;
    padding: 18px 0 16px;
    font-size: .78rem;
  }

  .pdl-factory-capabilities,
  .pdl-factory-documents,
  .pdl-factory-faq {
    padding: 56px 0 62px;
  }

  .pdl-factory-heading {
    gap: 14px;
    margin-bottom: 24px;
  }

  .pdl-factory-heading h2,
  .pdl-factory-quality-copy h2,
  .pdl-factory-audit h2,
  .pdl-factory-faq h2 {
    font-size: 1.8rem;
  }

  .pdl-factory-heading > p,
  .pdl-factory-faq header > p {
    font-size: .84rem;
    line-height: 1.68;
  }

  .pdl-factory-printing-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .pdl-factory-printing-item {
    min-height: 390px;
  }

  .pdl-factory-printing-copy {
    min-height: 64%;
    padding: 70px 20px 20px;
  }

  .pdl-factory-printing-copy h3 {
    font-size: 1.45rem;
  }

  .pdl-factory-printing-copy p {
    font-size: .8rem;
  }

  .pdl-factory-printing-copy ul {
    display: grid;
    gap: 5px;
  }

  .pdl-factory-process {
    padding: 52px 0 56px;
  }

  .pdl-factory-process-list {
    margin-right: calc(var(--pdl-page-gutter, 20px) * -1);
  }

  .pdl-factory-floor,
  .pdl-factory-quality {
    padding: 58px 0 64px;
  }

  .pdl-factory-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 230px 150px;
    gap: 6px;
  }

  .pdl-factory-gallery .is-wide {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .pdl-factory-gallery figure:nth-child(4),
  .pdl-factory-gallery figure:nth-child(5) {
    display: none;
  }

  .pdl-factory-gallery figcaption {
    padding: 42px 10px 10px;
  }

  .pdl-factory-gallery strong {
    font-size: .78rem;
  }

  .pdl-factory-gallery span {
    display: none;
  }

  .pdl-factory-quality-grid {
    gap: 32px;
  }

  .pdl-factory-quality-media,
  .pdl-factory-quality-media img {
    min-height: 270px;
    max-height: 270px;
  }

  .pdl-factory-quality-lead {
    font-size: .84rem;
  }

  .pdl-factory-quality-list summary {
    min-height: 60px;
  }

  .pdl-factory-quality-list details p {
    margin-right: 0;
    font-size: .78rem;
  }

  .pdl-factory-document-rail {
    display: flex;
    gap: 14px;
    padding-bottom: 10px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .pdl-factory-document-rail::-webkit-scrollbar {
    display: none;
  }

  .pdl-factory-document-rail figure {
    flex: 0 0 78%;
    scroll-snap-align: start;
  }

  .pdl-factory-document-rail img {
    height: 250px;
  }

  .pdl-factory-audit {
    padding: 54px 0 60px;
  }

  .pdl-factory-audit-grid {
    gap: 34px;
  }

  .pdl-factory-audit-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .pdl-factory-audit-actions .pdl-button {
    width: 100%;
  }

  .pdl-factory-faq-grid {
    gap: 28px;
  }

  .pdl-factory-faq summary {
    min-height: 68px;
    font-size: .86rem;
  }

  .pdl-factory-faq details p {
    margin-right: 18px;
    font-size: .8rem;
  }
}

@media (max-width: 390px) {
  .pdl-factory-hero-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pdl-factory-page *,
  .pdl-factory-page *::before,
  .pdl-factory-page *::after {
    animation: none !important;
    transition: none !important;
  }
}
