.mount-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  padding-bottom: 34px;
  margin-bottom: 70px;
  border-bottom: 1px solid var(--line);
}
.mount-heading span {
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mount-heading h2 {
  margin: 13px 0 0;
  font-size: clamp(42px, 6vw, 78px);
  line-height: 1;
  letter-spacing: -.05em;
}
.subfamily-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.subfamily-nav a {
  padding: 10px 15px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--white);
  font-size: 13px;
}
@media (max-width: 700px) {
  .mount-heading { display: block; margin-bottom: 48px; }
  .mount-heading h2 { font-size: 46px; }
  .subfamily-nav { margin-top: 24px; }
}

.taxonomy {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  padding-top: 0;
  padding-bottom: 0;
  background: var(--paper);
}
.taxonomy-column { background: var(--paper); padding: 72px 48px 78px 0; }
.taxonomy-column.function { padding-right: 0; padding-left: 48px; border-left: 1px solid var(--line); }
.taxonomy-title { min-height: 220px; }
.taxonomy-title span { color: var(--red); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.taxonomy-title h2 { margin: 16px 0 0; font-size: clamp(40px, 5vw, 66px); line-height: .98; letter-spacing: -.05em; }
.taxon { display: flex; min-height: 138px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); }
.taxon:last-child { border-bottom: 1px solid var(--line); }
.taxon small { color: var(--red); font-size: 11px; font-weight: 700; }
.taxon h3 { margin: 5px 0 4px; font-size: 21px; letter-spacing: -.02em; }
.taxon p { max-width: 470px; margin: 0; color: var(--muted); font-size: 14px; }
.taxon b { color: var(--red); font-size: 18px; }
.complete-index { background: var(--ink); color: var(--white); }
.complete-index .section-heading>p { color: #aeb7bd; }
.index-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid #394653; border-left: 1px solid #394653; }
.index-grid article { min-height: 245px; padding: 34px; border-right: 1px solid #394653; border-bottom: 1px solid #394653; }
.index-grid small { color: #ff6268; font-weight: 700; letter-spacing: .12em; }
.index-grid h3 { margin: 10px 0 5px; font-size: 28px; }
.index-grid p { margin: 14px 0 0; color: #d8dde0; line-height: 1.8; }
.index-grid .index-meta { margin-top: 0; color: #939fa7; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.electrical-index { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 28px; }
.electrical-index strong { margin-right: 10px; }
.electrical-index a { padding: 8px 12px; border: 1px solid #46535e; border-radius: 30px; color: #d8dde0; font-size: 13px; }
@media (max-width: 700px) {
  .taxonomy { display: block; }
  .taxonomy-column, .taxonomy-column.function { padding: 58px 0; }
  .taxonomy-column.function { border-left: 0; border-top: 1px solid var(--line); }
  .taxonomy-title { min-height: 170px; }
  .taxon { min-height: 125px; }
  .taxon h3 { font-size: 19px; }
  .index-grid { grid-template-columns: 1fr; }
  .index-grid article { min-height: 0; padding: 26px 22px; }
  .index-grid h3 { font-size: 24px; }
  .electrical-index { align-items: flex-start; }
  .electrical-index strong { width: 100%; margin-bottom: 8px; }
}

/* Refined catalogue layout: one continuous background, softer type and clearer rhythm. */
body {
  font-family: ui-rounded, "SF Pro Rounded", "Avenir Next", "Segoe UI", Arial, sans-serif;
}
.taxonomy {
  display: block;
  background: var(--paper);
}
.taxonomy,
.taxonomy-column,
.taxonomy-column.function,
.taxonomy-title,
.taxon {
  background-color: var(--paper);
}
.taxonomy-column,
.taxonomy-column.function {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  column-gap: clamp(48px, 7vw, 110px);
  padding: 84px 0;
  border-left: 0;
  border-top: 1px solid var(--line);
  background: transparent;
}
.taxonomy-column:first-child { border-top: 0; }
.taxonomy-title {
  grid-column: 1;
  grid-row: 1 / span 8;
  min-height: 0;
  padding-top: 12px;
}
.taxonomy-title h2 {
  max-width: 390px;
  font-size: clamp(38px, 4.3vw, 58px);
  line-height: 1.02;
  letter-spacing: -.042em;
  font-weight: 650;
}
.taxon {
  grid-column: 2;
  min-height: 126px;
  padding: 22px 4px;
}
.taxon h3 {
  margin: 7px 0;
  font-size: 23px;
  line-height: 1.2;
  letter-spacing: -.018em;
  font-weight: 650;
}
.taxon p { line-height: 1.6; }
h1,
.section-heading h2,
.contact h2,
.mount-heading h2,
.index-grid h3,
.card-copy h3,
.feature-copy h3 {
  font-family: ui-rounded, "SF Pro Rounded", "Avenir Next", "Segoe UI", Arial, sans-serif;
  font-weight: 650;
}
h1 {
  font-size: clamp(54px, 7vw, 102px);
  line-height: .94;
  letter-spacing: -.052em;
}
.section-heading h2,
.contact h2 { letter-spacing: -.038em; }

.single-phase-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.single-phase-grid .card { display: flex; flex-direction: column; }
.single-phase-grid .photo { min-height: 350px; background: #fff; }
.single-phase-grid .photo img { height: 350px; mix-blend-mode: normal; }
.single-phase-grid .card-copy { display: flex; flex-direction: column; flex: 1; }
.single-phase-grid .card-copy > a { margin-top: auto; }

@media (max-width: 980px) and (min-width: 701px) {
  .single-phase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .single-phase-grid .card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .single-phase-grid { grid-template-columns: 1fr; }
  .single-phase-grid .photo { min-height: 300px; }
  .single-phase-grid .photo img { height: 300px; }
}

@media (max-width: 800px) {
  .taxonomy-column,
  .taxonomy-column.function {
    display: block;
    padding: 62px 0;
  }
  .taxonomy-title { min-height: 150px; padding-top: 0; }
  .taxonomy-title h2 { font-size: 42px; }
  .taxon { min-height: 118px; padding: 20px 2px; }
}
