.catalog-home ul, .catalog-lines { list-style: none; padding: 0; margin: 0; }
.catalog-home ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.catalog-home li { border-top: 1px solid var(--line); padding-block: 1rem; }
.catalog-home li a { font: 1.55rem var(--serif); text-underline-offset: .2em; }
.catalog-home li p { margin-bottom: 0; }
.catalog-page .catalog-intro { padding-bottom: clamp(2rem, 6vw, 5rem); }
.catalog-page h1 { max-width: 15ch; }
.catalog-page .catalog-intro p, .catalog-section p { max-width: 66ch; }
.catalog-intro .button { margin-top: .65rem; }
.catalog-crumbs { justify-content: flex-start; gap: 1rem; margin-bottom: 1.4rem; }
.catalog-crumbs a { text-decoration: underline; text-underline-offset: .15em; }
.catalog-page .catalog-section { padding-top: clamp(1.5rem, 4vw, 3.5rem); padding-bottom: clamp(1.5rem, 4vw, 3.5rem); border-top: 1px solid var(--line); }
.catalog-lines { max-width: 72rem; }
.catalog-lines li { padding: 1rem 0; border-top: 1px solid var(--line); }
.catalog-lines h3, .catalog-lines p { margin: 0; }
.catalog-lines h3 { margin-bottom: .25rem; }
.catalog-lines a { text-underline-offset: .16em; }
.catalog-specs { border-collapse: collapse; width: 100%; max-width: 48rem; }
.catalog-specs th, .catalog-specs td { padding: .65rem .5rem; text-align: left; border-bottom: 1px solid var(--line); }
.catalog-specs thead { background: var(--paper-2); }
.catalog-steps { padding-left: 1.3rem; }
.catalog-steps li { margin: .6rem 0; }
.catalog-faq { max-width: 66ch; }
.catalog-faq dt { font-weight: 650; }
.catalog-faq dd { margin: .25rem 0 1.25rem; }
.catalog-next { background: var(--paper-2); }
@media (max-width: 650px) {
  .catalog-home ul { grid-template-columns: 1fr; gap: .35rem; }
}
.catalog-hero.hero-range { display: block; min-height: 0; align-self: center; background: #fae8e1; }
.hero-range figcaption { position: static; max-width: none; background: transparent; color: var(--ink-soft); }
.catalogue-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1.25rem;
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}
.catalog-home .catalogue-cards > li { padding: 0; border: 0; }
.catalogue-card, .catalog-home .catalogue-card {
  display: block;
  height: 100%;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  font: inherit;
  text-decoration: none;
}
.catalogue-card:hover h3, .catalogue-card:hover h2 { text-decoration: underline; text-underline-offset: .16em; }
.catalogue-card:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.catalogue-card-image { display: block; overflow: hidden; aspect-ratio: 1; background: var(--paper-2); }
.catalogue-card-image img { width: 100%; height: 100%; object-fit: cover; }
.catalogue-card-copy { padding: 1rem; }
.catalogue-card-copy h2, .catalogue-card-copy h3 { margin: 0 0 .4rem; }
.catalogue-card-copy p { margin: 0; }
.hero-range-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

.catalogue-card-image { background: #f5ede5; }
.catalog-landing .hero { min-height: 0; padding: clamp(1rem, 3vw, 3rem) 5vw; gap: clamp(1.4rem, 4vw, 4rem); }
.catalog-landing .hero-copy { padding: clamp(1.25rem, 4vw, 3.5rem) 0; }
.catalog-landing .hero h1 { font-size: clamp(2.5rem, 4.8vw, 5.3rem); }
.catalog-landing .section, .catalog-landing .start { padding-block: clamp(2.4rem, 5vw, 5rem); }
.catalog-home > h2 { font-size: clamp(2rem, 3.8vw, 3.7rem); }
.catalog-home .catalogue-cards { margin-top: 1.3rem; }
.catalogue-card, .catalog-home .catalogue-card { border-radius: 12px; overflow: hidden; }
.catalogue-card-copy { padding: .9rem 1.05rem 1.05rem; }
.catalogue-card-copy h3 { font: 400 clamp(1.2rem, 1.65vw, 1.6rem)/1.2 var(--serif); }
.catalogue-card-copy p { font-size: .94rem; color: var(--ink-soft); }
.catalog-page .catalog-intro { padding-block: clamp(1.35rem, 3vw, 2.6rem) clamp(1.7rem, 4vw, 3.2rem); }
.catalog-intro-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: center; gap: clamp(1rem, 4vw, 4rem); }
.catalog-intro-copy h1 { font-size: clamp(2.3rem, 4.6vw, 4.8rem); line-height: 1.04; }
.catalog-intro-media { margin: 0; max-width: 23rem; width: 100%; }
.catalog-intro-media img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 12px; background: var(--paper-2); }
.catalog-intro-media figcaption { margin-top: .35rem; color: var(--ink-soft); font-size: .75rem; }
.catalog-page .catalog-section { padding-block: clamp(1.25rem, 3vw, 2.5rem); }
.catalog-page .catalog-section h2 { font-size: clamp(1.75rem, 3vw, 3rem); line-height: 1.1; margin-bottom: .85rem; }
.catalog-page .catalogue-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.catalog-page .catalogue-cards:has(> :last-child:nth-child(2)) { max-width: 49rem; }
.catalog-page .catalog-crumbs { display: flex; flex-wrap: wrap; font-size: .81rem; }
@media (max-width: 650px) {
  .catalog-landing .hero { grid-template-columns: 1fr; gap: .85rem; }
  .catalog-intro-layout { grid-template-columns: 1fr; }
  .catalog-intro-media { max-width: 19rem; }
  .catalog-home .catalogue-cards { gap: .9rem; }
}
