/* Editorial and catalog surfaces built from the site's existing design tokens. */
.catalog-detail h1 {
  max-inline-size: 16ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(3.4rem, 7vw, 6.5rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.catalog-archive-hero .projects-hero__copy { grid-column: 1 / span 8; }

/* An editorial folio, built from the same planes and fine rules as the site. */
.catalog-hero-folio {
  position: absolute;
  inset-block: 14% 11%;
  inset-inline-end: 7%;
  inline-size: min(38vw, 34rem);
}
.catalog-hero-folio span {
  position: absolute;
  inset-block: 0;
  inline-size: 48%;
  border: 1px solid var(--ivory-soft);
  background: linear-gradient(145deg, var(--ivory-faint), transparent 72%);
}
.catalog-hero-folio span:nth-child(1) { inset-inline-start: 0; transform: translateY(8%) rotate(-5deg); }
.catalog-hero-folio span:nth-child(2) { inset-inline-start: 27%; transform: rotate(2deg); }
.catalog-hero-folio span:nth-child(3) { inset-inline-end: 0; transform: translateY(12%) rotate(7deg); }

/* A display fixture rather than a fake product image. */
.catalog-hero-display {
  position: absolute;
  inset-block: 14% 12%;
  inset-inline-end: 8%;
  inline-size: min(38vw, 34rem);
  border: 1px solid var(--ivory-soft);
  background: var(--ivory-faint);
}
.catalog-hero-display__frame {
  position: absolute;
  inset: 8%;
  border: 1px solid var(--ivory-soft);
}
.catalog-hero-display__shelf {
  position: absolute;
  inset-inline: 8%;
  block-size: 1px;
  background: var(--ivory-soft);
}
.catalog-hero-display__shelf--one { inset-block-start: 38%; }
.catalog-hero-display__shelf--two { inset-block-start: 68%; }
.catalog-hero-display img {
  position: absolute;
  inset-block-start: 43%;
  inset-inline-start: 50%;
  inline-size: 3.25rem;
  block-size: auto;
  transform: translate(-50%, -50%);
  opacity: .78;
}
[dir="rtl"] .catalog-hero-display img { transform: translate(50%, -50%); }

.catalog-context {
  margin-block: 0 1rem;
  color: var(--accent-text);
  font-size: .84rem;
  font-weight: 700;
}

.catalog-section { background: var(--surface-alt); }
.catalog-body--knowledge .catalog-section { background: var(--surface); }

.catalog-body--knowledge .catalog-section > .shell {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(14rem, 1fr);
  gap: 0 clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}

.catalog-filters {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) minmax(12rem, .42fr) auto;
  gap: 1rem;
  align-items: end;
  padding-block-end: 2.5rem;
  border-block-end: 1px solid var(--line);
}

.catalog-field { display: grid; gap: .5rem; min-inline-size: 0; }
.catalog-field label { font-size: .82rem; font-weight: 700; }
.catalog-field input,
.catalog-field select {
  min-block-size: 3rem;
  inline-size: 100%;
  padding-inline: .9rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  background: var(--field);
  color: var(--ink);
  font: inherit;
}
.catalog-field input:focus-visible,
.catalog-field select:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.catalog-filters .button { min-block-size: 3rem; }
.catalog-body--knowledge .catalog-filters {
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-columns: 1fr;
  padding-block: 1.5rem;
  border-block-start: 1px solid var(--line);
}
.catalog-body--knowledge .catalog-filters .button { inline-size: 100%; }

.catalog-section__title,
.catalog-related h2 {
  margin-block: 3.25rem 1.8rem;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  font-weight: 500;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.catalog-card { min-inline-size: 0; border: 1px solid var(--line); background: var(--surface-raised); }
.catalog-card__link { display: flex; flex-direction: column; block-size: 100%; color: var(--ink); text-decoration: none; }
.catalog-card__media { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: var(--deep-forest); }
.catalog-card__media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.catalog-card__media .catalog-card__mark { inline-size: 3rem; block-size: 4rem; object-fit: contain; opacity: .72; }
.catalog-card__body { display: flex; flex: 1; flex-direction: column; gap: .75rem; padding: 1.5rem; }
.catalog-card__meta { display: flex; flex-wrap: wrap; gap: 1rem; color: var(--muted); font-size: .8rem; }
.catalog-card h3 { margin: 0; font-family: var(--font-display); font-size: clamp(1.5rem, 2vw, 2rem); font-weight: 500; line-height: 1.14; overflow-wrap: anywhere; }
.catalog-card__body > p:not(.catalog-card__meta) { margin: 0; line-height: 1.65; }
.catalog-card .project-card__action { display: inline-flex; align-self: start; margin-block-start: auto; padding-block: 1rem .25rem; border-block-end: 1px solid currentColor; color: var(--accent-text); font-size: .8rem; font-weight: 700; }
.catalog-card__price { font-weight: 700; text-align: start; }
.catalog-card__contact { display: inline-block; margin: 0 1.5rem 1.5rem; border-block-end: 1px solid currentColor; color: var(--accent-text); text-decoration: none; font-weight: 700; }
.catalog-card a:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }

/* Knowledge is an editorial index, not a card gallery. Metadata, headline and
   abstract form one scannable row; imagery appears only when an editor adds it. */
.catalog-body--knowledge .catalog-section .catalog-grid {
  grid-template-columns: 1fr;
  gap: 0;
}
.catalog-body--knowledge .catalog-section__title,
.catalog-body--knowledge .catalog-section .catalog-grid,
.catalog-body--knowledge .catalog-section .catalog-empty { grid-column: 1; }
.catalog-body--knowledge .catalog-section__title { margin-block-start: 0; }
.catalog-body--knowledge .catalog-section .catalog-card {
  border: 0;
  border-block-start: 1px solid var(--line);
  background: transparent;
}
.catalog-body--knowledge .catalog-section .catalog-card:last-child { border-block-end: 1px solid var(--line); }
.catalog-body--knowledge .catalog-section .catalog-card__link { display: block; }
.catalog-body--knowledge .catalog-section .catalog-card__body {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: .8rem clamp(1rem, 2.2vw, 2rem);
  align-items: start;
  padding: clamp(2rem, 4vw, 3.4rem) 0;
}
.catalog-body--knowledge .catalog-section .catalog-card__meta {
  grid-column: 1 / span 2;
  display: grid;
  gap: .45rem;
  line-height: 1.4;
}
.catalog-body--knowledge .catalog-section .catalog-card__meta span {
  color: var(--accent-text);
  font-weight: 700;
}
.catalog-body--knowledge .catalog-section .catalog-card h3 {
  grid-column: 3 / span 6;
  font-size: clamp(2rem, 3.3vw, 3.45rem);
  line-height: 1.02;
  text-wrap: balance;
}
.catalog-body--knowledge .catalog-section .catalog-card__body > p:not(.catalog-card__meta) {
  grid-column: 9 / -1;
  color: var(--muted);
  font-size: .96rem;
  line-height: 1.7;
}
.catalog-body--knowledge .catalog-section .catalog-card .project-card__action {
  grid-column: 3 / span 3;
  margin-block-start: .65rem;
  padding-block: .35rem;
}
.catalog-body--knowledge .catalog-section .catalog-card__link:hover h3,
.catalog-body--knowledge .catalog-section .catalog-card__link:focus-visible h3 { color: var(--accent-text); }
.catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, .42fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: center;
}
.catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__media {
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: 4 / 3;
}
.catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__body {
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__meta { grid-column: 1 / span 2; }
.catalog-body--knowledge .catalog-section .catalog-card--with-media h3,
.catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__body > p:not(.catalog-card__meta),
.catalog-body--knowledge .catalog-section .catalog-card--with-media .project-card__action { grid-column: 3 / -1; }

.catalog-empty {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: center;
  min-block-size: 13rem;
  padding-block: clamp(2rem, 5vw, 3.5rem);
  border-block: 1px solid var(--line);
}
.catalog-empty__copy { max-inline-size: 42rem; }
.catalog-empty h3 { margin: 0; font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 500; }
.catalog-empty p { margin-block: .6rem 0; color: var(--muted); line-height: 1.65; }
.catalog-empty--knowledge { min-block-size: 18rem; align-items: end; }
.catalog-empty--knowledge .catalog-empty__copy { max-inline-size: 52rem; }
.catalog-empty--knowledge h3 { font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: .98; }
.catalog-empty--store {
  grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr) auto;
  padding-block: 0;
  border-block: 0;
}
.catalog-empty__display {
  display: grid;
  min-block-size: 23rem;
  place-items: center;
  background: var(--deep-forest);
}
.catalog-empty__display img { inline-size: 3.75rem; block-size: auto; opacity: .75; }

.catalog-detail { padding-block: 8rem 6rem; }
.catalog-breadcrumb { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem; margin-block-end: clamp(3rem, 7vw, 6rem); font-size: .85rem; }
.catalog-breadcrumb a { color: var(--accent-text); }
.catalog-breadcrumb span:last-child { max-inline-size: 30ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalog-detail__summary { max-inline-size: 45rem; margin-block: 1.5rem; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.55; }
.catalog-detail__meta { display: flex; flex-wrap: wrap; gap: 1.5rem; color: var(--muted); font-size: .85rem; }
.catalog-detail__cover { margin: 3rem 0 0; }
.catalog-detail__cover img { display: block; max-block-size: 42rem; inline-size: 100%; object-fit: contain; background: var(--surface-alt); }

/* Article detail is a reading surface: an editorial masthead, a useful index,
   and one calm text column. It deliberately avoids generic card-based UI. */
.catalog-article__masthead {
  position: relative;
  min-block-size: min(47rem, 82svh);
  overflow: hidden;
  isolation: isolate;
  background: var(--near-black);
  color: var(--pure-white);
}
.catalog-article__masthead::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  inset-inline-end: 0;
  inline-size: 34%;
  border-inline-start: 1px solid var(--ivory-soft);
  background: var(--deep-forest);
  opacity: .72;
}
.catalog-article__masthead-inner {
  display: flex;
  min-block-size: min(47rem, 82svh);
  flex-direction: column;
  justify-content: space-between;
  padding-block: 8.5rem clamp(3.5rem, 7vh, 5.5rem);
}
.catalog-breadcrumb--inverse {
  margin-block-end: 3rem;
  color: var(--muted-text);
}
.catalog-breadcrumb--inverse a { color: var(--light-text); }
.catalog-article__heading {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: end;
}
.catalog-article__title-block { grid-column: 1 / span 8; }
.catalog-article__introduction { grid-column: 9 / -1; }
.catalog-article .catalog-context {
  margin-block-end: 1.25rem;
  color: var(--time-amber);
}
.catalog-article h1 {
  max-inline-size: 17ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(3.4rem, 5.7vw, 5.6rem);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: .96;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.catalog-article__introduction .catalog-detail__summary {
  margin-block: 0 1.75rem;
  color: var(--light-text);
  font-size: clamp(1.1rem, 1.55vw, 1.3rem);
  line-height: 1.62;
}
.catalog-article__introduction .catalog-detail__meta {
  padding-block-start: 1.25rem;
  border-block-start: 1px solid var(--ivory-soft);
  color: var(--muted-text);
}
.catalog-article__stage {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
  background: var(--surface);
}
.catalog-article__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: start;
}
.catalog-article__rail { grid-column: 1 / span 3; }
.catalog-article__toc--desktop {
  position: sticky;
  inset-block-start: 7rem;
  max-block-size: calc(100svh - 9rem);
  padding-inline-start: 1.25rem;
  overflow-y: auto;
  border-inline-start: 1px solid var(--line);
  scrollbar-width: thin;
}
.catalog-article__toc > p {
  margin: 0 0 1.2rem;
  color: var(--ink-strong);
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 500;
}
.catalog-article__toc .toc ul {
  display: grid;
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.catalog-article__toc .toc a {
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.35;
  text-decoration: none;
}
.catalog-article__toc .toc a:hover,
.catalog-article__toc .toc a:focus-visible {
  color: var(--accent-text);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.catalog-article__toc--mobile { display: none; }

.catalog-detail__content,
.catalog-detail__extra { max-inline-size: 48rem; margin-block-start: 3rem; line-height: 1.8; overflow-wrap: anywhere; }
.catalog-article .catalog-detail__content {
  grid-column: 5 / span 7;
  max-inline-size: 46rem;
  margin-block-start: 0;
  color: var(--ink);
  font-family: var(--font-editorial);
  font-size: clamp(1.08rem, 1.3vw, 1.18rem);
  line-height: 1.82;
}
[dir="rtl"] .catalog-article .catalog-detail__content { font-family: var(--font-sans); }
.catalog-detail__content > h2:first-child { margin-block-start: 0; }
.catalog-detail__content > h2:first-child + p {
  color: var(--ink-strong);
  font-size: 1.2em;
  line-height: 1.7;
}
.catalog-detail__content h2,
.catalog-detail__extra h2 {
  max-inline-size: 20ch;
  margin-block: 4rem 1.1rem;
  color: var(--ink-strong);
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 500;
  line-height: 1.08;
  text-wrap: balance;
}
.catalog-detail__content h3 {
  margin-block: 2.5rem .8rem;
  color: var(--ink-strong);
  font-family: var(--font-sans);
  font-size: 1.22rem;
  line-height: 1.35;
}
.catalog-detail__content p { margin-block: 0 1.35rem; }
.catalog-detail__content ul,
.catalog-detail__content ol { margin-block: 1.25rem 2rem; padding-inline-start: 1.35rem; }
.catalog-detail__content li { padding-inline-start: .25rem; }
.catalog-detail__content li + li { margin-block-start: .55rem; }
.catalog-detail__content li::marker { color: var(--time-amber); font-weight: 700; }
.catalog-detail__content strong { color: var(--ink-strong); }
.catalog-detail__content a {
  color: var(--accent-text);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.catalog-detail__content a[href="/services/ai-products/"] {
  display: inline-flex;
  min-block-size: 3.25rem;
  align-items: center;
  margin-block-start: .4rem;
  padding: .8rem 1.2rem;
  background: var(--deep-forest);
  color: var(--pure-white);
  font-family: var(--font-sans);
  font-weight: 700;
  text-decoration: none;
}
.catalog-detail__content a[href="/services/ai-products/"]:hover,
.catalog-detail__content a[href="/services/ai-products/"]:focus-visible { background: var(--near-black); }
.catalog-detail__content img { display: block; max-inline-size: 100%; block-size: auto; margin-block: 2.5rem; }
.catalog-detail__content table {
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  margin-block: 2.5rem 3rem;
  overflow-x: auto;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: .94rem;
}
.catalog-detail__content th,
.catalog-detail__content td { min-inline-size: 13rem; padding: .8rem 1rem; border: 1px solid var(--line); text-align: start; vertical-align: top; }
.catalog-detail__content th { background: var(--deep-forest); color: var(--pure-white); font-weight: 700; }
.catalog-detail__content tr:nth-child(even) td { background: var(--surface-alt); }
.catalog-detail__content pre {
  margin-block: 2.5rem;
  padding: 1.4rem;
  overflow-x: auto;
  background: var(--near-black);
  color: var(--pure-white);
  direction: ltr;
  font-size: .9rem;
  line-height: 1.65;
  text-align: left;
}
.catalog-detail__content :not(pre) > code { padding: .1rem .25rem; background: var(--surface-alt); }
html[data-theme="dark"] .catalog-detail__content a[href="/services/ai-products/"] { background: var(--time-amber); color: var(--near-black); }

/* Product detail keeps the decision area visible without imitating checkout. */
.catalog-product-lead { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.catalog-product-lead__media { display: grid; min-block-size: clamp(22rem, 50vw, 40rem); margin: 0; place-items: center; overflow: hidden; background: var(--deep-forest); }
.catalog-product-lead__media > img:not(.catalog-product-lead__mark) { inline-size: 100%; block-size: 100%; object-fit: contain; }
.catalog-product-lead__mark { inline-size: clamp(3.5rem, 8vw, 6rem); block-size: auto; opacity: .72; }
.catalog-product-lead__info { min-inline-size: 0; }
.catalog-product-lead__info .catalog-detail__summary { margin-block-end: 2rem; }
.catalog-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-inline-size: 62rem; margin-block-start: 3rem; }
.catalog-gallery img { inline-size: 100%; block-size: auto; }
.catalog-specs { max-inline-size: 38rem; }
.catalog-specs > div { display: flex; justify-content: space-between; gap: 1rem; padding-block: .7rem; border-block-end: 1px solid var(--line); }
.catalog-specs dd { margin: 0; }
.catalog-detail__contact { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-block-start: 2rem; }
.catalog-detail__price { margin: 0; font-size: 1.25rem; font-weight: 700; }
.catalog-related { background: var(--surface-alt); }

@media (max-width: 1100px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-product-lead { gap: 2.5rem; }
  .catalog-article__title-block { grid-column: 1 / span 7; }
  .catalog-article__introduction { grid-column: 8 / -1; }
  .catalog-article__rail { grid-column: 1 / span 3; }
  .catalog-article .catalog-detail__content { grid-column: 4 / span 8; }
  .catalog-body--knowledge .catalog-section .catalog-card__meta { grid-column: 1 / span 2; }
  .catalog-body--knowledge .catalog-section .catalog-card h3 { grid-column: 3 / -1; }
  .catalog-body--knowledge .catalog-section .catalog-card__body > p:not(.catalog-card__meta),
  .catalog-body--knowledge .catalog-section .catalog-card .project-card__action { grid-column: 3 / -1; }
}

@media (max-width: 800px) {
  .catalog-archive-hero .projects-hero__copy { grid-column: 1 / span 9; }
  .catalog-hero-folio,
  .catalog-hero-display { inset-inline-end: 3%; inline-size: 42vw; opacity: .72; }
  .catalog-filters { grid-template-columns: 1fr 1fr; }
  .catalog-body--knowledge .catalog-section > .shell { display: block; }
  .catalog-body--knowledge .catalog-filters { grid-template-columns: 1fr 1fr; margin-block-end: 3rem; }
  .catalog-body--knowledge .catalog-filters .button { grid-column: 1 / -1; justify-self: start; inline-size: auto; }
  .catalog-body--knowledge .catalog-section__title { margin-block-start: 0; }
  .catalog-filters .button { grid-column: 1 / -1; justify-self: start; }
  .catalog-product-lead { grid-template-columns: 1fr; }
  .catalog-product-lead__media { min-block-size: min(34rem, 80vw); }
  .catalog-article__masthead,
  .catalog-article__masthead-inner { min-block-size: auto; }
  .catalog-article__masthead::before { inline-size: 22%; opacity: .45; }
  .catalog-article__masthead-inner { padding-block: 7rem 4rem; }
  .catalog-article__heading { grid-template-columns: 1fr; }
  .catalog-article__title-block,
  .catalog-article__introduction { grid-column: 1; }
  .catalog-article__introduction { max-inline-size: 42rem; }
  .catalog-article__layout { grid-template-columns: 1fr; }
  .catalog-article__rail,
  .catalog-article .catalog-detail__content { grid-column: 1; }
  .catalog-article__toc--desktop { display: none; }
  .catalog-article__toc--mobile {
    display: block;
    margin-block-end: 3rem;
    border-block: 1px solid var(--line);
  }
  .catalog-article__toc--mobile summary {
    min-block-size: 3.5rem;
    padding-block: 1rem;
    color: var(--ink-strong);
    font-family: var(--font-sans);
    font-weight: 700;
    cursor: pointer;
  }
  .catalog-article__toc--mobile nav { padding-block: .25rem 1.5rem; }
  .catalog-article__toc--mobile .toc ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.5rem; }
  .catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__link {
    grid-template-columns: minmax(0, 1fr) minmax(11rem, .35fr);
  }
}

@media (max-width: 600px) {
  .catalog-grid,
  .catalog-body--knowledge .catalog-section .catalog-grid,
  .catalog-gallery,
  .catalog-filters { grid-template-columns: 1fr; }
  .catalog-filters .button { grid-column: auto; inline-size: 100%; }
  .catalog-body--knowledge .catalog-filters { grid-template-columns: 1fr; }
  .catalog-body--knowledge .catalog-filters .button { grid-column: auto; inline-size: 100%; }
  .catalog-hero-folio,
  .catalog-hero-display { inset-block: 22% 24%; inset-inline-end: -8%; inline-size: 60vw; opacity: .48; }
  .catalog-empty,
  .catalog-empty--store { grid-template-columns: 1fr; }
  .catalog-empty .text-link { justify-self: start; }
  .catalog-empty__display { min-block-size: 17rem; }
  .catalog-detail { padding-block-start: 6rem; }
  .catalog-product-lead__media { min-block-size: 75vw; }
  .catalog-article h1 { font-size: clamp(2.8rem, 13vw, 4rem); }
  .catalog-article__masthead-inner { padding-block-end: 3.25rem; }
  .catalog-article__heading { gap: 2rem; }
  .catalog-article__stage { padding-block: 3.5rem 5rem; }
  .catalog-article__toc--mobile .toc ul { grid-template-columns: 1fr; }
  .catalog-article .catalog-detail__content { font-size: 1.04rem; line-height: 1.78; }
  .catalog-detail__content h2,
  .catalog-detail__extra h2 { margin-block-start: 3.5rem; }
  .catalog-body--knowledge .catalog-section .catalog-card__body,
  .catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__body {
    grid-template-columns: 1fr;
    gap: .85rem;
    padding-block: 2.25rem;
  }
  .catalog-body--knowledge .catalog-section .catalog-card__meta,
  .catalog-body--knowledge .catalog-section .catalog-card h3,
  .catalog-body--knowledge .catalog-section .catalog-card__body > p:not(.catalog-card__meta),
  .catalog-body--knowledge .catalog-section .catalog-card .project-card__action,
  .catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__meta,
  .catalog-body--knowledge .catalog-section .catalog-card--with-media h3,
  .catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__body > p:not(.catalog-card__meta),
  .catalog-body--knowledge .catalog-section .catalog-card--with-media .project-card__action { grid-column: 1; }
  .catalog-body--knowledge .catalog-section .catalog-card__meta { display: flex; gap: 1rem; }
  .catalog-body--knowledge .catalog-section .catalog-card h3 { font-size: clamp(2rem, 10vw, 3rem); }
  .catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__link { display: flex; flex-direction: column; gap: 0; }
  .catalog-body--knowledge .catalog-section .catalog-card--with-media .catalog-card__media { inline-size: 100%; aspect-ratio: 16 / 9; }
}
