/* CDS bespoke icon system */

.cds-icon {
  display: block;
  width: 100%;
  height: 100%;
  color: var(--brand-navy, #0b2a45);
  overflow: visible;
}

/* Trust / capability strip */
.trust-item {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
  margin: 0;
}

.trust-item-icon {
  width: 3.25rem;
  height: 3.25rem;
}

/* Trust icons use image files so the artwork can be replaced without changing the markup. */
.trust-item:first-child .trust-item-icon {
  background: url('/img/icons/australian-based.webp?v=2') center / 94% auto no-repeat;
}

.trust-item:nth-child(2) .trust-item-icon {
  background: url('/img/icons/designed-to-scan.webp?v=2') center / 100% auto no-repeat;
}

.trust-item:nth-child(3) .trust-item-icon {
  background: url('/img/icons/checked-by-people.webp?v=2') center / 100% auto no-repeat;
}

.trust-item:nth-child(4) .trust-item-icon {
  background: url('/img/icons/delivered-together.webp?v=2') center / 100% auto no-repeat;
}

.trust-item .trust-item-icon .cds-icon {
  display: none;
}

/* Homepage hero highlights use replaceable icon files. */
.home-page .hero-points li {
  padding-left: 2.3rem;
}

.home-page .hero-points li::before {
  top: 50%;
  width: 1.75rem;
  height: 1.75rem;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 0;
  transform: translateY(-50%);
}

.home-page .hero-points li:nth-child(1)::before {
  background-image: url('/img/icons/hero-one-supplier.svg?v=1');
}

.home-page .hero-points li:nth-child(2)::before {
  background-image: url('/img/icons/hero-operator-verified.svg?v=1');
}

.home-page .hero-points li:nth-child(3)::before {
  background-image: url('/img/icons/hero-experience.svg?v=1');
}

.trust-grid .trust-item-copy {
  position: static;
  min-width: 0;
  margin: 0;
  padding-left: 0;
  border-left: 0;
}

.trust-grid .trust-item-copy::before {
  content: none;
  display: none;
}

.trust-item-copy strong,
.trust-item-copy span {
  display: block;
}

.trust-item-copy strong {
  color: var(--brand-navy, #0b2a45);
  font-size: .9rem;
}

.trust-item-copy span {
  color: var(--brand-muted, #5d7184);
  font-size: .8rem;
}

/* Five-step process */
.section[aria-labelledby="services-heading"] {
  padding-block: clamp(3rem, 5vw, 4.5rem);
}

.section[aria-labelledby="services-heading"] .section-heading {
  margin-bottom: 1.6rem;
}

.service-grid {
  position: relative;
}

.service-card {
  overflow: visible;
}

.service-card-number {
  display: block;
  align-self: flex-start;
  width: auto;
  height: auto;
  margin-bottom: .15rem;
  padding: 0;
  color: var(--blue-700, #006b9f);
  background: transparent;
  border-radius: 0;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
  text-align: left;
}

.service-card-icon {
  width: 4.6rem;
  height: 4.6rem;
  margin: .45rem auto .85rem;
}

/* Process icons use replaceable WebP files. Keep these filenames when swapping artwork. */
.home-page .section[aria-labelledby="services-heading"] .service-card:nth-child(1) .service-card-icon {
  background: url('/img/icons/process-form-design.webp?v=2') center / contain no-repeat;
}

.home-page .section[aria-labelledby="services-heading"] .service-card:nth-child(2) .service-card-icon {
  background: url('/img/icons/process-print-personalisation.webp?v=2') center / contain no-repeat;
}

.home-page .section[aria-labelledby="services-heading"] .service-card:nth-child(3) .service-card-icon {
  background: url('/img/icons/process-mail-returns.webp?v=2') center / contain no-repeat;
}

.home-page .section[aria-labelledby="services-heading"] .service-card:nth-child(4) .service-card-icon {
  background: url('/img/icons/process-scanning-capture.webp?v=2') center / contain no-repeat;
}

.home-page .section[aria-labelledby="services-heading"] .service-card:nth-child(5) .service-card-icon {
  background: url('/img/icons/process-data-reporting.webp?v=2') center / contain no-repeat;
}

.home-page .section[aria-labelledby="services-heading"] .service-card-icon .cds-icon {
  display: none;
}

.service-card h3 {
  margin: 0 0 .45rem;
}

/* Built for accuracy */
.quality-icon-list {
  display: grid;
  gap: 1.05rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-icon-list li {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: start;
  gap: .9rem;
  margin: 0;
  padding: 0;
}

.quality-icon-list li::before {
  content: none;
}

.quality-icon {
  width: 2.7rem;
  height: 2.7rem;
}

/* Quality icons use replaceable WebP files. Use artwork prepared for the dark navy panel. */
.quality-icon-list li:nth-child(1) .quality-icon {
  background: url('/img/icons/quality-scantron-specification.webp?v=2') center / contain no-repeat;
}

.quality-icon-list li:nth-child(2) .quality-icon {
  background: url('/img/icons/quality-operator-verification.webp?v=2') center / contain no-repeat;
}

.quality-icon-list li:nth-child(3) .quality-icon {
  background: url('/img/icons/quality-australian-data-handling.webp?v=2') center / contain no-repeat;
}

.quality-icon-list li:nth-child(4) .quality-icon {
  background: url('/img/icons/quality-print-failures-resolved.webp?v=2') center / contain no-repeat;
}

.quality-panel .quality-icon .cds-icon {
  display: none;
}

.quality-icon-list strong {
  display: block;
  color: #fff;
  font-size: .94rem;
  line-height: 1.35;
}

.quality-icon-list span {
  display: block;
  margin-top: .12rem;
  color: #c9dce7;
  font-size: .83rem;
  line-height: 1.45;
}

/* Audience cards */
.sector-card-icon {
  width: 3.4rem;
  height: 3.4rem;
  margin-bottom: .85rem;
}

/* Audience icons use replaceable WebP files. Keep these filenames when swapping artwork. */
.home-page .sector-grid .sector-card:nth-child(1) .sector-card-icon {
  background: url('/img/icons/sector-research-consultancies.webp?v=2') center / contain no-repeat;
}

.home-page .sector-grid .sector-card:nth-child(2) .sector-card-icon {
  background: url('/img/icons/sector-universities-research.webp?v=2') center / contain no-repeat;
}

.home-page .sector-grid .sector-card:nth-child(3) .sector-card-icon {
  background: url('/img/icons/sector-government-councils.webp?v=2') center / contain no-repeat;
}

.home-page .sector-grid .sector-card:nth-child(4) .sector-card-icon {
  background: url('/img/icons/sector-education-assessment.webp?v=2') center / contain no-repeat;
}

.home-page .sector-grid .sector-card-icon .cds-icon {
  display: none;
}

.sector-card::before {
  content: none;
}

@media (min-width: 56rem) {
  .trust-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .trust-item {
    min-height: 3.6rem;
    padding-inline: 1rem;
    border-right: 1px solid var(--brand-line, #d9e6ee);
  }

  .trust-item:first-child {
    padding-left: 0;
  }

  .trust-item:last-child {
    padding-right: 0;
    border-right: 0;
  }

  .section[aria-labelledby="services-heading"] .section-heading-centred {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(15rem, .75fr);
    grid-template-rows: auto auto;
    column-gap: 2.25rem;
    align-items: end;
    max-width: none;
    margin-inline: 0;
    text-align: left;
  }

  .section[aria-labelledby="services-heading"] .section-heading-centred .eyebrow {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: .35rem;
  }

  .section[aria-labelledby="services-heading"] .section-heading-centred h2 {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    font-size: clamp(1.85rem, 3vw, 2.5rem);
  }

  .section[aria-labelledby="services-heading"] .section-heading-centred > p:last-child {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    margin: 0;
    font-size: .92rem;
    line-height: 1.5;
  }

  /* Keep all five process cards on one horizontal level. */
  .home-page .section[aria-labelledby="services-heading"] .service-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: .7rem;
  }

  /* Reset the older site.css spanning rules that made cards 4 and 5 wider. */
  .home-page .section[aria-labelledby="services-heading"] .service-card,
  .home-page .section[aria-labelledby="services-heading"] .service-card:nth-child(4),
  .home-page .section[aria-labelledby="services-heading"] .service-card:nth-child(5) {
    grid-column: auto;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card {
    display: grid;
    grid-template-rows: auto 2.35rem 4.2rem minmax(4.75rem, 1fr);
    align-items: start;
    min-width: 0;
    min-height: 15.25rem;
    padding: .95rem .9rem 1rem;
    border-radius: .45rem;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card-number {
    align-self: start;
    justify-self: start;
    margin: 0 0 .2rem;
    font-size: 1.45rem;
    text-align: left;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card h3 {
    align-self: start;
    min-height: 0;
    margin: 0;
    font-size: .92rem;
    line-height: 1.12;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card-icon {
    align-self: center;
    justify-self: center;
    width: 3.8rem;
    height: 3.8rem;
    margin: 0;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card p {
    align-self: start;
    margin: .15rem 0 0;
    font-size: .77rem;
    line-height: 1.45;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -.69rem;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    color: var(--brand-cyan, #19a9c5);
    background: var(--brand-ice, #f4f9fc);
    border-radius: 50%;
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card .card-link {
    display: none;
  }

  .section[aria-labelledby="services-heading"] .section-action {
    margin-top: 1.25rem;
  }
}

@media (min-width: 73.75rem) {
  .sector-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card {
    min-height: 15.75rem;
    padding: 1rem 1rem 1.05rem;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card-icon {
    width: 4.1rem;
    height: 4.1rem;
  }

  .home-page .section[aria-labelledby="services-heading"] .service-card p {
    font-size: .79rem;
  }
}

@media (max-width: 55.99rem) and (min-width: 44rem) {
  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 43.99rem) {
  .trust-item {
    grid-template-columns: 3.2rem minmax(0, 1fr);
  }

  .trust-item-icon {
    width: 3rem;
    height: 3rem;
  }

  .service-card-icon {
    width: 4.4rem;
    height: 4.4rem;
    margin-inline: 0;
  }

  .sector-card-icon {
    width: 3rem;
    height: 3rem;
  }
}
