:root {
  --catalog-ink: #111820;
  --catalog-paper: #f4f6f7;
  --catalog-surface: #ffffff;
  --catalog-navy: #102f55;
  --catalog-muted: #66727d;
  --catalog-rule: #c8d0d7;
  --catalog-accent: #2f6690;
  --catalog-max: 1440px;
}

body[data-catalog-page] {
  margin: 0;
  background: var(--catalog-paper);
  color: var(--catalog-ink);
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
}

body[data-catalog-page] main {
  width: min(100%, var(--catalog-max));
  margin-inline: auto;
  border-inline: 1px solid var(--catalog-rule);
}

.media-frame {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #d8d5cc;
}

.media-frame > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: var(--frame-x) var(--frame-y);
  transform: scale(var(--frame-zoom));
  transform-origin: var(--frame-x) var(--frame-y);
}

.catalog-hero {
  display: grid;
  min-height: 32rem;
  align-content: end;
  gap: 1.5rem;
  padding: clamp(2rem, 7vw, 7rem) 2rem 3rem;
  border-bottom: 1px solid var(--catalog-rule);
}

.catalog-hero > p:first-child,
.catalog-hero__copy > p:first-child,
.catalog-detail__sticky > p:first-child,
.catalog-error > p:first-child {
  color: var(--catalog-accent);
  font: 700 .75rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.catalog-hero h1,
.catalog-detail h1,
.catalog-error h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem, 8vw, 8.5rem);
  font-weight: 650;
  letter-spacing: -.065em;
  line-height: .9;
}

.catalog-hero > p:last-child,
.catalog-hero__copy > p:last-child,
.catalog-detail__sticky > p:last-child { max-width: 48rem; font-size: clamp(1rem, 2vw, 1.35rem); line-height: 1.55; text-wrap: pretty; }

.catalog-hero--category { position: relative; grid-template-columns: minmax(0, .85fr) minmax(20rem, 1.15fr); align-items: stretch; padding: 0; overflow: hidden; }
.catalog-hero--category > .catalog-hero__copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(2rem, 6vw, 6rem) 2rem 3rem; background: rgba(241, 239, 232, .78); }
.catalog-hero__cover { z-index: 2; min-height: 38rem; border-left: 1px solid var(--catalog-rule); }
.catalog-page-background { position: absolute; z-index: 1; inset: 0 57.5% 0 0; }

.catalog-capabilities {
  display: grid;
  grid-template-columns: minmax(15rem, .72fr) minmax(0, 2.28fr);
  border-bottom: 1px solid var(--catalog-rule);
}

.catalog-capabilities > header {
  display: flex;
  min-height: 10rem;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.5rem 2rem;
  border-right: 1px solid var(--catalog-rule);
}

.catalog-capabilities > header p,
.catalog-capabilities > header span,
.catalog-section-heading > div > p,
.catalog-card__index,
.catalog-card__status {
  margin: 0;
  font: 700 .72rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.catalog-capabilities > header p,
.catalog-section-heading > div > p { color: var(--catalog-accent); }
.catalog-capabilities > header span { color: var(--catalog-muted); }

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

.catalog-capabilities li {
  display: flex;
  min-height: 10rem;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.5rem;
  border-right: 1px solid var(--catalog-rule);
}

.catalog-capabilities li:last-child { border-right: 0; }
.catalog-capabilities li span { color: var(--catalog-muted); font: 600 .72rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.catalog-capabilities li strong { max-width: 18ch; font-size: clamp(1rem, 1.7vw, 1.35rem); line-height: 1.15; text-wrap: balance; }

.catalog-families { border-bottom: 1px solid var(--catalog-rule); }

.catalog-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(18rem, .65fr);
  align-items: end;
  gap: 3rem;
  padding: clamp(4rem, 8vw, 8rem) 2rem clamp(2.5rem, 5vw, 5rem);
}

.catalog-section-heading h2 {
  max-width: 11ch;
  margin: .9rem 0 0;
  font-size: clamp(3rem, 6.5vw, 7rem);
  font-weight: 650;
  letter-spacing: -.065em;
  line-height: .88;
  text-wrap: balance;
}

.catalog-section-heading > p { max-width: 36rem; margin: 0; color: var(--catalog-muted); font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.6; text-wrap: pretty; }

.catalog-grid,
.catalog-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--catalog-rule);
}

.catalog-card { min-width: 0; border-right: 1px solid var(--catalog-rule); border-bottom: 1px solid var(--catalog-rule); }
.catalog-card:nth-child(3n) { border-right: 0; }
.catalog-card a { position: relative; display: block; height: 100%; padding: 1rem; color: inherit; text-decoration: none; transition: background-color 220ms ease, color 220ms ease, transform 180ms ease; }
.catalog-card .media-frame { width: 100%; aspect-ratio: 4 / 3; }
.catalog-card .media-frame > img { transition: transform 450ms cubic-bezier(.22, 1, .36, 1), filter 300ms ease; }
.catalog-card h2 { margin: .8rem 0 .45rem; font-size: clamp(1.3rem, 2vw, 2rem); letter-spacing: -.035em; text-wrap: balance; }
.catalog-card p { max-width: 42rem; color: var(--catalog-muted); line-height: 1.5; text-wrap: pretty; }
.catalog-card a:hover h2, .catalog-card a:focus-visible h2 { color: var(--catalog-accent); }
.catalog-card a:hover .media-frame > img, .catalog-card a:focus-visible .media-frame > img { filter: contrast(1.04); transform: scale(calc(var(--frame-zoom) + .035)); }
.catalog-card a:active { transform: translateY(1px) scale(.995); }

.catalog-grid--families {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--catalog-rule);
  border-bottom: 0;
}

.catalog-grid--families .catalog-card { border-right: 1px solid var(--catalog-rule); }
.catalog-grid--families .catalog-card:nth-child(even) { border-right: 0; }
.catalog-grid--families .catalog-card:nth-child(3n + 1) { grid-column: 1 / -1; border-right: 0; }
.catalog-grid--families .catalog-card > a { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr); grid-template-rows: auto auto 1fr auto; gap: 0 2rem; padding: 0; }
.catalog-grid--families .catalog-card .media-frame { grid-row: 1 / 5; aspect-ratio: 16 / 10; border-right: 1px solid var(--catalog-rule); }
.catalog-grid--families .catalog-card__index { align-self: start; padding: 1.25rem 1.25rem 0; color: var(--catalog-accent); }
.catalog-grid--families .catalog-card h2 { margin: 0; padding: .7rem 1.25rem 0; font-size: clamp(2rem, 4vw, 4.5rem); line-height: .92; }
.catalog-grid--families .catalog-card p { align-self: start; margin: 0; padding: 1.1rem 1.25rem 2rem; }

.catalog-card__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid var(--catalog-rule);
  font-size: .82rem;
  font-weight: 700;
}

.catalog-grid--families .catalog-card:not(:nth-child(3n + 1)) > a { display: flex; flex-direction: column; }
.catalog-grid--families .catalog-card:not(:nth-child(3n + 1)) .media-frame { width: calc(100% + 2px); border-right: 0; border-bottom: 1px solid var(--catalog-rule); aspect-ratio: 4 / 3; }
.catalog-grid--families .catalog-card:not(:nth-child(3n + 1)) .catalog-card__action { margin-top: auto; }

.catalog-card__placeholder {
  display: grid;
  min-height: 20rem;
  place-items: center;
  background: #d8d5cc;
  color: var(--catalog-muted);
  font: 700 .72rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
}

.catalog-card__status { position: absolute; z-index: 3; margin: 1rem; padding: .4rem .55rem; background: var(--catalog-paper); color: var(--catalog-accent); }

.catalog-detail { display: grid; grid-template-columns: .72fr 1.28fr; border-bottom: 1px solid var(--catalog-rule); }
.catalog-detail__header { position: relative; min-height: 38rem; overflow: hidden; }
.catalog-detail__header .catalog-page-background { inset: 0; }
.catalog-detail__sticky { position: sticky; z-index: 2; top: var(--header-h); padding: clamp(3rem, 7vw, 7rem) 2rem; background: rgba(241, 239, 232, .76); }
.catalog-detail__body { border-left: 1px solid var(--catalog-rule); }
.catalog-gallery { display: grid; grid-template-columns: minmax(0, 1fr); }
.catalog-gallery figure { margin: 0; border-bottom: 1px solid var(--catalog-rule); }
.catalog-gallery figure[data-gallery-active] { grid-column: 1 / -1; }
.catalog-gallery .media-frame { width: 100%; aspect-ratio: 16 / 11; }
.catalog-gallery figcaption { padding: .8rem 1rem; color: var(--catalog-muted); font-size: .8rem; }
.catalog-gallery-thumbs { display: flex; flex-wrap: wrap; gap: .45rem; padding: .9rem; border-bottom: 1px solid var(--catalog-rule); }
.catalog-gallery-thumbs > [data-gallery-label] { align-self: center; margin-right: auto; color: var(--catalog-muted); font: 700 .68rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.catalog-gallery-thumbs button { min-width: 2.85rem; min-height: 2.85rem; border: 1px solid var(--catalog-rule); background: transparent; color: inherit; cursor: pointer; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.catalog-gallery-thumbs button:hover, .catalog-gallery-thumbs button:focus-visible { background: #dedbd2; }
.catalog-gallery-thumbs button:active { transform: translateY(1px) scale(.97); }
.catalog-gallery-thumbs button[aria-selected="true"] { background: var(--catalog-accent); color: #111; }
.catalog-gallery-indexes { display: flex; flex-wrap: wrap; gap: .45rem; }
.catalog-gallery-thumbs > [data-gallery-previous],
.catalog-gallery-thumbs > [data-gallery-next],
.catalog-gallery-thumbs > [data-gallery-counter] { display: none; }
.catalog-gallery [data-image-error="true"] { position: relative; }
.catalog-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-overview > * { min-width: 0; margin: 0; padding: 2rem; border-right: 1px solid var(--catalog-rule); border-bottom: 1px solid var(--catalog-rule); }
.catalog-overview > p:first-child { grid-column: 1 / -1; max-width: 48rem; padding-block: clamp(3rem, 7vw, 6rem); color: var(--catalog-ink); font-size: clamp(1.35rem, 2.5vw, 2.25rem); line-height: 1.35; letter-spacing: -.025em; text-wrap: pretty; }
.catalog-overview section:nth-child(odd) { border-right: 0; }
.catalog-overview h2 { margin: 0 0 1.5rem; color: var(--catalog-accent); font: 700 .72rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.catalog-overview p, .catalog-overview ul { margin: 0; padding: 0; color: var(--catalog-muted); line-height: 1.65; }
.catalog-overview ul { list-style: none; }
.catalog-overview li + li { margin-top: .45rem; }
.catalog-overview li::before { content: ''; display: inline-block; width: .55rem; height: 1px; margin: 0 .55rem .25em 0; background: var(--catalog-accent); }

.catalog-quote,
.catalog-empty,
.catalog-error,
.catalog-related { padding: clamp(2rem, 6vw, 6rem) 2rem; border-bottom: 1px solid var(--catalog-rule); }
.catalog-quote { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 3rem; background: var(--catalog-ink); color: var(--catalog-paper); }
.catalog-quote p { max-width: 18ch; margin: 0; font-size: clamp(2.5rem, 6vw, 6rem); font-weight: 650; letter-spacing: -.06em; line-height: .88; text-wrap: balance; }
.catalog-quote [data-catalog-quote-eyebrow] { display: block; margin-bottom: 1.25rem; color: var(--catalog-accent); font: 700 .72rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.catalog-quote button,
.catalog-empty button,
.catalog-error a { border: 1px solid currentColor; background: var(--catalog-accent); color: #111; padding: 1rem 1.3rem; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.catalog-quote button:hover, .catalog-quote button:focus-visible,
.catalog-empty button:hover, .catalog-empty button:focus-visible,
.catalog-error a:hover, .catalog-error a:focus-visible { background: var(--catalog-paper); }
.catalog-quote button:active, .catalog-empty button:active, .catalog-error a:active { transform: translateY(1px) scale(.98); }
.catalog-mobile-inquiry { display: none; }
.catalog-empty { min-height: 22rem; display: grid; align-content: center; justify-items: start; gap: 1rem; }
.catalog-empty h3, .catalog-empty h2 { max-width: 16ch; margin: 0; font-size: clamp(2rem, 4.5vw, 4.5rem); letter-spacing: -.055em; line-height: .95; }
.catalog-empty p { max-width: 40rem; color: var(--catalog-muted); line-height: 1.6; }
.catalog-related > h2 { margin: 0 0 2rem; font-size: clamp(2rem, 5vw, 5rem); letter-spacing: -.05em; }

:focus-visible { outline: 3px solid var(--catalog-accent); outline-offset: 3px; }

@media (max-width: 980px) {
  .catalog-capabilities { grid-template-columns: 1fr; }
  .catalog-capabilities > header { min-height: auto; flex-direction: row; border-right: 0; border-bottom: 1px solid var(--catalog-rule); }
  .catalog-capabilities ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-capabilities li:nth-child(even) { border-right: 0; }
  .catalog-section-heading { grid-template-columns: 1fr; }
  .catalog-section-heading > p { margin-left: 20%; }
  .catalog-grid--families .catalog-card > a { grid-template-columns: minmax(0, 1fr); }
  .catalog-grid--families .catalog-card .media-frame { grid-row: auto; border-right: 0; border-bottom: 1px solid var(--catalog-rule); }
}

@media (max-width: 760px) {
  body[data-catalog-page] main { border-inline: 0; }
  .catalog-hero { min-height: 26rem; padding-inline: 1rem; }
  .catalog-hero--category { padding-inline: 0; }
  .catalog-hero--category, .catalog-detail { grid-template-columns: 1fr; }
  .catalog-hero--category > .catalog-hero__copy { min-height: 26rem; padding-inline: 1rem; }
  .catalog-hero__cover { min-height: 22rem; border-top: 1px solid var(--catalog-rule); border-left: 0; }
  .catalog-hero--category > .catalog-page-background { width: 100%; inset: 0 auto auto 0; height: 26rem; }
  .catalog-capabilities ol { grid-template-columns: 1fr; }
  .catalog-capabilities > header, .catalog-capabilities li { padding-inline: 1rem; }
  .catalog-capabilities li { min-height: 8rem; border-right: 0; border-bottom: 1px solid var(--catalog-rule); }
  .catalog-capabilities li:last-child { border-bottom: 0; }
  .catalog-section-heading { gap: 1.5rem; padding: 4rem 1rem 2.5rem; }
  .catalog-section-heading > p { margin-left: 0; }
  .catalog-grid, .catalog-related-grid, .catalog-grid--families { grid-template-columns: 1fr; }
  .catalog-grid--families .catalog-card:nth-child(3n + 1) { grid-column: auto; }
  .catalog-grid--families .catalog-card { border-right: 0; }
  .catalog-card { border-right: 0; }
  .catalog-detail__header { min-height: 30rem; }
  .catalog-detail__sticky { position: relative; padding-inline: 1rem; }
  .catalog-detail__body { border-left: 0; }
  .catalog-gallery { border-left: 0; }
  .catalog-gallery-thumbs { grid-column: 1; border-left: 0; }
  .catalog-gallery { touch-action: pan-y; }
  .catalog-gallery-indexes { display: none; }
  .catalog-gallery-thumbs > [data-gallery-previous],
  .catalog-gallery-thumbs > [data-gallery-next] { display: inline-grid; place-items: center; }
  .catalog-gallery-thumbs > [data-gallery-counter] { display: block; min-width: 5rem; align-self: center; text-align: center; font: 750 .72rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
  .catalog-overview { grid-template-columns: 1fr; }
  .catalog-overview > p:first-child { grid-column: 1; }
  .catalog-overview > * { border-right: 0; border-bottom: 1px solid var(--catalog-rule); padding-inline: 1rem; }
  .catalog-quote { grid-template-columns: 1fr; align-items: flex-start; padding-inline: 1rem; }
  .catalog-mobile-inquiry { position: sticky; z-index: 8; bottom: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: .75rem 1rem; border-block: 1px solid var(--catalog-rule); background: var(--catalog-ink); color: var(--catalog-paper); }
  .catalog-mobile-inquiry span { overflow: hidden; font: 700 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
  .catalog-mobile-inquiry button { min-height: 2.8rem; padding: 0 1rem; border: 1px solid var(--catalog-paper); background: var(--catalog-accent); color: #111; font-weight: 750; }
  .catalog-empty, .catalog-error, .catalog-related { padding-inline: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Material editorial catalog release */
body[data-catalog-page] {
  background: var(--catalog-paper);
  color: var(--catalog-ink);
}

body[data-catalog-page] main {
  width: min(100%, 1600px);
  background: var(--catalog-surface);
  border-color: var(--catalog-rule);
}

.catalog-hero--directory {
  position: relative;
  display: block;
  min-height: min(800px, calc(100dvh - var(--header-h)));
  padding: 0;
  overflow: hidden;
  background: var(--catalog-surface);
}

.catalog-directory-media {
  position: absolute;
  inset: 0;
}

.catalog-directory-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.catalog-hero--directory .catalog-hero__copy {
  position: absolute;
  z-index: 2;
  left: clamp(1.25rem, 5vw, 5rem);
  bottom: clamp(1.25rem, 5vw, 5rem);
  width: min(42rem, calc(100% - 2.5rem));
  padding: clamp(2rem, 4vw, 4.5rem);
  border: 1px solid var(--catalog-rule);
  background: rgba(255, 255, 255, .94);
}

.catalog-hero--directory h1 {
  max-width: 10ch;
  color: var(--catalog-navy);
  font-size: clamp(3.5rem, 6.5vw, 7.5rem);
  font-weight: 620;
}

.catalog-hero--directory .catalog-hero__copy > p:last-child {
  max-width: 34rem;
  margin-bottom: 0;
  color: var(--catalog-muted);
}

.catalog-grid--directory {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1px;
  padding: 1px 0 0;
  background: var(--catalog-rule);
}

.catalog-grid--directory .catalog-card {
  grid-column: span 4;
  border: 0;
  background: var(--catalog-surface);
}

.catalog-grid--directory .catalog-card:first-child {
  grid-column: span 8;
}

.catalog-grid--directory .catalog-card a {
  padding: clamp(1rem, 2vw, 1.75rem);
}

.catalog-grid--directory .catalog-card:first-child .media-frame {
  aspect-ratio: 16 / 8;
}

.catalog-grid--directory .catalog-card h2 {
  color: var(--catalog-navy);
  font-size: clamp(1.8rem, 3vw, 3.6rem);
  font-weight: 620;
}

.catalog-card {
  background: var(--catalog-surface);
  border-color: var(--catalog-rule);
}

.catalog-card .media-frame,
.catalog-card__placeholder {
  background: #e8edf0;
}

.catalog-card h2,
.catalog-section-heading h2,
.catalog-related > h2,
.catalog-empty h3,
.catalog-empty h2 {
  color: var(--catalog-navy);
  font-weight: 620;
}

.catalog-card p,
.catalog-section-heading > p,
.catalog-empty p {
  color: var(--catalog-muted);
}

.catalog-hero--category {
  position: relative;
  display: block;
  min-height: min(760px, calc(100dvh - var(--header-h)));
  overflow: hidden;
  background: var(--catalog-surface);
}

.catalog-hero--category > .catalog-hero__copy {
  position: absolute;
  z-index: 3;
  left: clamp(1.25rem, 4vw, 4rem);
  bottom: clamp(1.25rem, 4vw, 4rem);
  width: min(42rem, calc(100% - 2.5rem));
  min-height: auto;
  padding: clamp(2rem, 4vw, 4.5rem);
  border: 1px solid var(--catalog-rule);
  background: rgba(255, 255, 255, .88);
}

.catalog-hero--category h1 {
  color: var(--catalog-navy);
  font-weight: 620;
}

.catalog-hero__cover {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  min-height: inherit;
  border-left: 0;
}

.catalog-hero--category > .catalog-page-background {
  z-index: 2;
  inset: auto auto clamp(1.25rem, 4vw, 4rem) clamp(1.25rem, 4vw, 4rem);
  width: min(42rem, calc(100% - 2.5rem));
  height: min(30rem, calc(100% - 2.5rem));
}

.catalog-page-background {
  background: #e8edf0;
}

.catalog-capabilities,
.catalog-capabilities > header,
.catalog-capabilities li,
.catalog-families,
.catalog-section-heading,
.catalog-grid,
.catalog-related-grid {
  border-color: var(--catalog-rule);
}

.catalog-capabilities {
  background: var(--catalog-paper);
}

.catalog-capabilities li strong {
  color: var(--catalog-navy);
  font-weight: 620;
}

.catalog-section-heading {
  background: var(--catalog-surface);
}

.catalog-grid--families {
  gap: 1px;
  background: var(--catalog-rule);
  border-color: var(--catalog-rule);
}

.catalog-grid--families .catalog-card {
  border: 0;
}

.catalog-grid--families .catalog-card > a,
.catalog-grid--families .catalog-card .media-frame,
.catalog-card__action {
  border-color: var(--catalog-rule);
}

.catalog-family-nav {
  position: sticky;
  z-index: 9;
  top: var(--header-h);
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--catalog-rule);
  background: rgba(255, 255, 255, .97);
  scrollbar-width: thin;
}

.catalog-family-nav a {
  flex: 0 0 auto;
  padding: 1rem 1.35rem;
  border-right: 1px solid var(--catalog-rule);
  color: var(--catalog-muted);
  font-size: .78rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}

.catalog-family-nav a:hover,
.catalog-family-nav a:focus-visible,
.catalog-family-nav a[aria-current="page"] {
  background: var(--catalog-navy);
  color: var(--catalog-surface);
}

.catalog-detail {
  display: block;
  border-color: var(--catalog-rule);
  background: var(--catalog-surface);
}

.catalog-detail__header {
  min-height: min(760px, calc(100dvh - var(--header-h)));
  background: #e8edf0;
}

.catalog-detail__sticky {
  position: absolute;
  z-index: 2;
  left: clamp(1.25rem, 4vw, 4rem);
  bottom: clamp(1.25rem, 4vw, 4rem);
  width: min(42rem, calc(100% - 2.5rem));
  margin: 0;
  padding: clamp(2rem, 4vw, 4.5rem);
  border: 1px solid var(--catalog-rule);
  background: rgba(255, 255, 255, .92);
}

.catalog-detail__sticky h1 {
  color: var(--catalog-navy);
  font-weight: 620;
}

.catalog-detail__sticky > p:last-child {
  margin-bottom: 0;
  color: var(--catalog-muted);
}

.catalog-detail__body,
.catalog-gallery figure,
.catalog-gallery-thumbs,
.catalog-overview > * {
  border-color: var(--catalog-rule);
}

.catalog-detail__body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .85fr);
  border-top: 1px solid var(--catalog-rule);
  border-left: 0;
}

.catalog-gallery {
  background: var(--catalog-surface);
}

body[data-catalog-page]:not([data-catalog-preview]) .catalog-gallery figure:not([data-gallery-active]) {
  display: none;
}

.catalog-gallery .media-frame {
  aspect-ratio: 16 / 10;
  background: #e8edf0;
}

.catalog-gallery-thumbs {
  background: var(--catalog-paper);
}

.catalog-gallery-thumbs button[aria-selected="true"] {
  background: var(--catalog-navy);
  color: var(--catalog-surface);
}

.catalog-gallery-thumbs button:not([aria-selected="true"]):hover,
.catalog-gallery-thumbs button:not([aria-selected="true"]):focus-visible {
  background: #e8edf0;
}

.catalog-overview {
  background: var(--catalog-surface);
}

.catalog-overview > p:first-child {
  color: var(--catalog-navy);
  font-weight: 520;
}

.catalog-overview p,
.catalog-overview ul {
  color: var(--catalog-muted);
}

.catalog-quote {
  background: var(--catalog-navy);
  color: var(--catalog-surface);
}

.catalog-quote button,
.catalog-empty button,
.catalog-error a {
  border-color: var(--catalog-surface);
  background: var(--catalog-surface);
  color: var(--catalog-navy);
}

.catalog-quote button:hover,
.catalog-quote button:focus-visible {
  background: transparent;
  color: var(--catalog-surface);
}

.catalog-empty button:hover,
.catalog-empty button:focus-visible,
.catalog-error a:hover,
.catalog-error a:focus-visible {
  border-color: var(--catalog-navy);
  background: var(--catalog-navy);
  color: var(--catalog-surface);
}

@media (max-width: 980px) {
  .catalog-grid--directory .catalog-card,
  .catalog-grid--directory .catalog-card:first-child {
    grid-column: span 6;
  }

  .catalog-grid--directory .catalog-card:first-child .media-frame {
    aspect-ratio: 4 / 3;
  }

}

@media (max-width: 760px) {
  .catalog-hero--directory {
    display: flex;
    min-height: auto;
    flex-direction: column;
  }

  .catalog-directory-media {
    position: relative;
    order: 2;
    min-height: 420px;
  }

  .catalog-directory-media img {
    object-position: 61% center;
  }

  .catalog-hero--directory .catalog-hero__copy {
    position: relative;
    left: auto;
    bottom: auto;
    order: 1;
    width: 100%;
    padding: 4rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--catalog-rule);
    background: var(--catalog-surface);
  }

  .catalog-hero--directory h1 {
    font-size: clamp(3.2rem, 15vw, 5rem);
  }

  .catalog-grid--directory {
    grid-template-columns: 1fr;
  }

  .catalog-grid--directory .catalog-card,
  .catalog-grid--directory .catalog-card:first-child {
    grid-column: 1;
  }

  .catalog-family-nav {
    top: var(--header-h);
  }

  .catalog-family-nav a {
    padding: .9rem 1rem;
  }

  .catalog-hero--category {
    min-height: 40rem;
  }

  .catalog-hero--category > .catalog-hero__copy {
    left: 1rem;
    bottom: 1rem;
    width: calc(100% - 2rem);
    min-height: auto;
    padding: 2rem 1.25rem;
  }

  .catalog-hero__cover {
    min-height: inherit;
  }

  .catalog-hero--category > .catalog-page-background {
    inset: auto auto 1rem 1rem;
    width: calc(100% - 2rem);
    height: min(28rem, calc(100% - 2rem));
  }

  .catalog-detail {
    grid-template-columns: 1fr;
  }

  .catalog-detail__header {
    min-height: 34rem;
  }

  .catalog-detail__sticky {
    left: 1rem;
    bottom: 1rem;
    width: calc(100% - 2rem);
    margin: 0;
    padding: 2rem 1.25rem;
  }

  .catalog-detail__body {
    grid-template-columns: 1fr;
  }

  .catalog-gallery .media-frame {
    aspect-ratio: 4 / 3;
  }
}
