/* Products & Services: a self-contained, single-column catalogue layout. */
body[data-page="services"] .services-page-hero {
  padding: 92px 0 76px;
  text-align: left;
}

body[data-page="services"] .services-page-hero .wrap,
body[data-page="services"] .catalogue-intro .wrap {
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: 32px;
}

body[data-page="services"] .services-page-hero h1 {
  max-width: 850px;
  margin: 18px 0 22px;
  font-size: clamp(46px, 6vw, 88px);
  line-height: .92;
}

body[data-page="services"] .services-page-hero p {
  max-width: 650px;
  margin: 0;
}

body[data-page="services"] .catalogue-intro {
  padding-block: 86px;
}

body[data-page="services"] .catalogue-intro .section-head {
  display: block;
  margin: 0 0 30px;
}

body[data-page="services"] .catalogue-intro .section-head h2 {
  max-width: 760px;
  margin-bottom: 18px;
}

body[data-page="services"] .catalogue-intro .section-head p {
  max-width: 620px;
  margin: 0;
}

body[data-page="services"] .catalogue-nav {
  gap: 9px;
  padding: 24px 0 48px;
}

body[data-page="services"] .catalogue-category {
  padding: 58px 0 64px;
  border-top: 1px solid var(--ink);
}

body[data-page="services"] .catalogue-category-intro {
  display: block;
  margin: 0 0 30px;
}

body[data-page="services"] .catalogue-category-intro .label {
  display: block;
  margin: 0 0 14px;
  color: var(--red);
}

body[data-page="services"] .catalogue-category-intro h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(31px, 4vw, 54px);
  line-height: .96;
  letter-spacing: -.065em;
}

body[data-page="services"] .catalogue-category-intro p {
  max-width: 620px;
  margin: 17px 0 0;
  line-height: 1.7;
}

body[data-page="services"] .catalogue-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 620px;
  gap: 18px;
}

body[data-page="services"] .catalogue-card {
  display: flex;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
}

body[data-page="services"] .catalogue-preview {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--paper);
  cursor: zoom-in;
}

body[data-page="services"] .catalogue-image {
  display: block;
  height: auto;
  flex: none;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

body[data-page="services"] .catalogue-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .25s ease;
}

body[data-page="services"] .catalogue-preview:hover img {
  transform: scale(1.035);
}

body[data-page="services"] .catalogue-card-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding: 20px;
}

body[data-page="services"] .catalogue-label {
  margin: 0 0 9px;
  color: var(--red);
}

body[data-page="services"] .catalogue-card h3 {
  min-height: 0;
  margin: 0 0 9px;
  font-size: 22px;
  line-height: 1.05;
}

body[data-page="services"] .catalogue-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body[data-page="services"] .catalogue-enquire {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  margin-top: auto;
  padding: 11px 13px;
  border: 1px solid var(--blue);
  background: var(--blue);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .065em;
  line-height: 1;
  text-transform: uppercase;
  transition: background .2s, border-color .2s;
}

body[data-page="services"] .catalogue-enquire:hover {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
}

body[data-page="services"] .catalogue-card.image-error {
  display: grid;
  place-items: center;
}

body[data-page="services"] .catalogue-card.image-error .catalogue-preview {
  display: none;
}

@media (max-width: 1024px) {
  body[data-page="services"] .catalogue-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 630px;
  }
}

@media (max-width: 760px) {
  body[data-page="services"] .services-page-hero {
    padding: 68px 0 56px;
  }

  body[data-page="services"] .services-page-hero .wrap,
  body[data-page="services"] .catalogue-intro .wrap {
    padding-inline: 20px;
  }

  body[data-page="services"] .catalogue-intro {
    padding-block: 68px;
  }

  body[data-page="services"] .catalogue-category {
    padding-block: 46px;
  }

  body[data-page="services"] .catalogue-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 14px;
  }

  body[data-page="services"] .catalogue-card-content {
    min-height: 210px;
    padding: 18px;
  }
}

body[data-page="services"] .category-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--ink);padding-top:24px}body[data-page="services"] .category-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:#fff}body[data-page="services"] .category-card-image{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--paper)}body[data-page="services"] .category-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}body[data-page="services"] .category-card-image:hover img{transform:scale(1.035)}body[data-page="services"] .category-card-content{display:flex;flex:1;flex-direction:column;padding:22px}body[data-page="services"] .category-card h2{margin:0 0 10px;font-size:25px;line-height:1.03;letter-spacing:-.055em}body[data-page="services"] .category-card p{margin:0;line-height:1.65}@media(max-width:1024px){body[data-page="services"] .category-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){body[data-page="services"] .category-overview{grid-template-columns:1fr;gap:14px}}
body[data-page="category"] .breadcrumb{display:flex;gap:9px;align-items:center;padding-top:24px;padding-bottom:24px;font:11px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}body[data-page="category"] .breadcrumb a{color:var(--blue)}body[data-page="category"] .category-page-hero{padding-top:68px;padding-bottom:58px}body[data-page="category"] .category-banner{height:min(48vw,520px);overflow:hidden;background:var(--paper)}body[data-page="category"] .category-banner img{width:100%;height:100%;object-fit:cover;object-position:center}body[data-page="category"] .catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:620px;gap:18px}@media(max-width:1024px){body[data-page="category"] .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:630px}}@media(max-width:760px){body[data-page="category"] .category-banner{height:58vw}body[data-page="category"] .catalogue-grid{grid-template-columns:1fr;grid-auto-rows:auto}body[data-page="category"] .catalogue-card-content{min-height:210px}}
body[data-page="category"] .catalogue-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--line);background:#fff}body[data-page="category"] .catalogue-preview{display:block;flex:0 0 auto;width:100%;padding:0;border:0;background:var(--paper);cursor:zoom-in}body[data-page="category"] .catalogue-image{display:block;width:100%;height:auto;aspect-ratio:1/1;overflow:hidden}body[data-page="category"] .catalogue-image img{width:100%;height:100%;object-fit:cover;object-position:center}body[data-page="category"] .catalogue-card-content{display:flex;flex:1;flex-direction:column;min-height:0;padding:20px}body[data-page="category"] .catalogue-label{color:var(--red);margin:0 0 9px}body[data-page="category"] .catalogue-card h3{margin:0 0 9px;font-size:22px;line-height:1.05}body[data-page="category"] .catalogue-card p{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}body[data-page="category"] .catalogue-enquire{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:auto;padding:11px 13px;border:1px solid var(--blue);background:var(--blue);color:#fff;font-size:10px;font-weight:800;letter-spacing:.065em;line-height:1;text-transform:uppercase}body[data-page="category"] .catalogue-enquire:hover{border-color:var(--red);background:var(--red)}
