/* Presentation profiles change layout while retaining the same CMS entries and controls. */
[data-presentation] :is(.product-catalog, .application-catalog) > .content-card {
  min-width: 0;
  overflow-wrap: anywhere;
}

[data-presentation] .product-catalog {
  --catalog-inset: clamp(12px, 1.6vw, 22px);
}

[data-presentation] .product-catalog > .content-card {
  display: flex;
  flex-direction: column;
}

[data-presentation] .product-catalog .content-card-image {
  width: min(100%, var(--catalog-photo-max, 232px));
  margin: var(--catalog-inset) auto 0;
  border-radius: var(--radius);
}

[data-presentation] .product-catalog .content-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--catalog-inset);
}

[data-presentation] .product-catalog .content-card-body > p {
  min-height: 0;
}

[data-presentation] .product-catalog .content-card-body > .text-link {
  margin-block-start: auto;
  max-width: 100%;
}

body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-index"], [data-presentation~="catalog-strips"]) .product-catalog {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border-block-start: 1px solid var(--line);
}

body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-index"], [data-presentation~="catalog-strips"]) .product-catalog > .content-card {
  display: grid;
  grid-template-columns: var(--catalog-image, clamp(88px, 11vw, 144px)) minmax(0, 1fr);
  align-items: start;
  gap: clamp(14px, 3vw, 38px);
  padding-block: clamp(14px, 2vw, 24px);
  border: 0;
  border-block-end: 1px solid var(--line);
  border-radius: 0;
  background: none;
}

body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-index"], [data-presentation~="catalog-strips"]) .product-catalog .content-card-body {
  padding: 0;
}

body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-index"], [data-presentation~="catalog-strips"]) .product-catalog .content-card-image {
  margin: 0;
}

[data-presentation~="catalog-ledger"] .product-catalog .content-card-body {
  max-width: 72ch;
}

[data-presentation~="catalog-index"] .product-catalog {
  --catalog-image: clamp(80px, 9vw, 112px);
  counter-reset: catalog-entry;
}

[data-presentation~="catalog-index"] .product-catalog > .content-card {
  counter-increment: catalog-entry;
}

[data-presentation~="catalog-index"] .product-catalog .item-category::before {
  content: counter(catalog-entry, decimal-leading-zero);
  margin-inline-end: 1em;
  color: var(--ink);
  font: 600 .85rem ui-monospace, monospace;
}

[data-presentation~="catalog-strips"] .product-catalog {
  --catalog-image: clamp(106px, 15vw, 180px);
}

[data-presentation~="catalog-strips"] .product-catalog .content-card-body h2 {
  font-size: clamp(23px, 3.4vw, 39px);
}

body[data-presentation~="catalog-gallery"] .product-catalog {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 50px);
}

[data-presentation~="catalog-gallery"] .product-catalog > .content-card {
  display: grid;
  grid-template-columns: clamp(96px, 13vw, 188px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(13px, 2vw, 28px);
  padding-block-end: clamp(14px, 2vw, 26px);
  border: 0;
  border-block-end: 1px solid var(--line);
  border-radius: 0;
  background: none;
}

[data-presentation~="catalog-gallery"] .product-catalog .content-card-image {
  margin: 0;
}

[data-presentation~="catalog-gallery"] .product-catalog .content-card-body {
  padding: 0;
}

body:is([data-presentation~="catalog-feature"], [data-presentation~="catalog-duo"], [data-presentation~="catalog-compact"]) .product-catalog {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body:is([data-presentation~="catalog-feature"], [data-presentation~="catalog-duo"], [data-presentation~="catalog-compact"]) .product-catalog > .content-card {
  display: grid;
  grid-template-columns: minmax(74px, var(--catalog-side, 31%)) minmax(0, 1fr);
  align-items: start;
  gap: clamp(10px, 1.6vw, 22px);
  padding: var(--catalog-inset);
}

body:is([data-presentation~="catalog-feature"], [data-presentation~="catalog-duo"], [data-presentation~="catalog-compact"]) .product-catalog :is(.content-card-body, .content-card-image) {
  margin: 0;
  padding: 0;
}

body[data-presentation~="catalog-feature"] .product-catalog:has(> .content-card ~ .content-card) > .content-card:first-of-type {
  grid-column: 1 / -1;
  grid-template-columns: clamp(148px, 19vw, 258px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
  background: var(--wash);
}

body[data-presentation~="catalog-feature"] .product-catalog > .content-card:first-of-type {
  --catalog-photo-max: 258px;
}

[data-presentation~="catalog-feature"] .product-catalog > .content-card:first-of-type h2 {
  font-size: clamp(23px, 3.2vw, 38px);
}

body[data-presentation~="catalog-duo"] .product-catalog {
  --catalog-side: 36%;
}

[data-presentation~="catalog-compact"] .product-catalog {
  --catalog-side: 24%;
  gap: 14px;
}

[data-presentation~="catalog-compact"] .product-catalog h2 {
  font-size: clamp(17px, 2.1vw, 25px);
}

body[data-presentation~="catalog-matrix"] .product-catalog {
  --catalog-photo-max: 188px;
  --catalog-inset: clamp(11px, 1.45vw, 19px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 24px);
}

[data-presentation~="catalog-matrix"] .product-catalog h2 {
  font-size: clamp(18px, 1.8vw, 25px);
}

@media (min-width: 901px) {
  [data-presentation~="catalog-mosaic"] .product-catalog > .content-card {
    display: grid;
    grid-template-columns: clamp(72px, 8vw, 112px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(10px, 1.5vw, 20px);
    padding: var(--catalog-inset);
  }

  [data-presentation~="catalog-mosaic"] .product-catalog > .content-card:nth-child(4n + 1 of .content-card),
  [data-presentation~="catalog-mosaic"] .product-catalog > .content-card:nth-child(4n of .content-card) {
    grid-column: span 2;
    display: grid;
    grid-template-columns: clamp(130px, 17vw, 220px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(14px, 2vw, 24px);
    padding: var(--catalog-inset);
    background: var(--wash);
  }

  [data-presentation~="catalog-mosaic"] .product-catalog :is(.content-card-body, .content-card-image) {
    margin: 0;
    padding: 0;
  }
}

/* Keep homepage media subordinate to the headings and product names. */
[data-presentation] [data-cms-module="catalog"] {
  --home-product-inset: clamp(12px, 1.5vw, 20px);
  --home-product-photo: 212px;
}

[data-presentation] [data-cms-module="catalog"] .collection-product > img {
  width: min(100%, var(--home-product-photo));
  aspect-ratio: 1;
  align-self: start;
}

[data-presentation] [data-cms-module="catalog"] .collection-product-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

[data-presentation] [data-cms-module="catalog"] .collection-product-copy > i {
  margin-block-start: auto;
}

body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-strips"], [data-presentation~="catalog-compact"], [data-presentation~="catalog-duo"]) .edition-catalog .collection-product {
  grid-template-columns: clamp(76px, 11vw, 142px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(12px, 1.6vw, 20px);
  padding: var(--home-product-inset);
}

body:is([data-presentation~="catalog-gallery"], [data-presentation~="catalog-matrix"], [data-presentation~="catalog-feature"], [data-presentation~="catalog-index"], [data-presentation~="catalog-mosaic"]) [data-cms-module="catalog"] .collection-product > img {
  width: min(calc(100% - 2 * var(--home-product-inset)), var(--home-product-photo));
  justify-self: start;
  margin: var(--home-product-inset) var(--home-product-inset) 0;
}

body:is([data-presentation~="catalog-gallery"], [data-presentation~="catalog-matrix"], [data-presentation~="catalog-feature"], [data-presentation~="catalog-index"], [data-presentation~="catalog-mosaic"]) [data-cms-module="catalog"] .collection-product-copy {
  padding-inline: var(--home-product-inset);
}

body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-strips"], [data-presentation~="catalog-compact"], [data-presentation~="catalog-duo"]) .edition-catalog .collection-product-copy {
  padding: 0;
}

[data-presentation~="catalog-feature"] .collection-products:has(> .collection-product ~ .collection-product) {
  align-items: start;
}

.chem004[data-presentation] .collection-products > .collection-product:first-of-type {
  --home-product-photo: 232px;
}

.chem004[data-presentation] .collection-products > .collection-product:first-of-type .collection-product-copy {
  padding-inline: var(--home-product-inset);
}

[data-presentation] [data-cms-module="supply"] :is(.supply-layout, .c01-supply-grid) {
  align-items: start;
}

[data-presentation] [data-cms-module="supply"] :is(.supply-layout, .c01-supply-grid) > img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  max-height: 380px;
}

@media (min-width: 901px) {
  [data-presentation] [data-cms-layout-group="home"] .banner-track {
    max-height: 510px;
  }

  [data-presentation] [data-cms-layout-group="home"] .edition-stacked .banner-track {
    max-height: none;
  }

  [data-presentation] .c01-hero :is(.hero-carousel, .banner-track) {
    min-height: 0;
  }

  [data-presentation] .c01-hero .banner-track {
    height: clamp(400px, 37vw, 505px);
  }

  body[data-presentation~="catalog-mosaic"] .edition-catalog .collection-product {
    grid-template: auto / clamp(74px, 8vw, 114px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(10px, 1.6vw, 22px);
    padding: var(--home-product-inset);
  }

  body[data-presentation~="catalog-mosaic"] .edition-catalog .collection-product:is(:first-child, :nth-child(4)) {
    grid-template-columns: clamp(138px, 16vw, 222px) minmax(0, 1fr);
  }

  body[data-presentation~="catalog-mosaic"] .edition-catalog .collection-product > img {
    width: 100%;
    margin: 0;
  }

  body[data-presentation~="catalog-mosaic"] .edition-catalog .collection-product-copy {
    padding: 0;
  }
}

@media (max-width: 900px) {
  [data-presentation~="catalog-grid"] [data-cms-layout-group="home"] .banner-track {
    max-height: 500px;
  }
}

@media (max-width: 760px) {
  [data-presentation] [data-cms-module="supply"] :is(.supply-layout, .c01-supply-grid) > img {
    max-height: 260px;
  }
}

@media (max-width: 520px) {
  body[data-presentation] [data-cms-module="catalog"] .collection-products {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-presentation] [data-cms-module="catalog"] .collection-products > .collection-product:nth-of-type(n) {
    grid-area: auto;
    grid-template: auto / clamp(74px, 25vw, 108px) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: var(--home-product-inset);
  }

  body[data-presentation] [data-cms-module="catalog"] .collection-products > .collection-product:nth-of-type(n) > img {
    width: 100%;
    margin: 0;
  }

  body[data-presentation] [data-cms-module="catalog"] .collection-products > .collection-product:nth-of-type(n) .collection-product-copy {
    padding: 0;
  }

  body[data-presentation] [data-cms-module="catalog"] .collection-products .collection-product h3 {
    font-size: clamp(17px, 4.8vw, 23px);
  }
}

/* News cards, feature layouts, chronological and compact editorial views. */
[data-presentation] :is(.news-list, .home-recommended-news .journal-list) {
  --news-gap: clamp(16px, 2vw, 28px);
}

body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-columns"], [data-presentation~="news-mosaic"]) :is(.news-list, .home-recommended-news .journal-list) {
  display: grid;
  grid-template-columns: repeat(var(--news-columns, 3), minmax(0, 1fr));
  gap: var(--news-gap);
  border-block-start: 0;
}

body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-columns"], [data-presentation~="news-mosaic"]) :is(.news-list, .home-recommended-news) .journal-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-columns"], [data-presentation~="news-mosaic"]) :is(.news-list, .home-recommended-news) .news-list-thumb {
  aspect-ratio: 16 / 10;
  border: 0;
  border-radius: var(--radius) var(--radius) 0 0;
}

body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-columns"], [data-presentation~="news-mosaic"]) :is(.news-list, .home-recommended-news) .news-list-copy {
  padding: clamp(16px, 2vw, 26px);
}

body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-columns"], [data-presentation~="news-mosaic"]) :is(.news-list, .home-recommended-news) .journal-item > i {
  align-self: flex-end;
  margin: auto 20px 20px;
}

body:is([data-presentation~="news-columns"], [data-presentation~="news-magazine"]) :is(.news-list, .home-recommended-news .journal-list) {
  --news-columns: 2;
}

body[data-presentation~="news-columns"] :is(.news-list, .home-recommended-news) .journal-item {
  border-width: 0 0 1px;
  border-radius: 0;
  background: none;
}

body[data-presentation~="news-columns"] :is(.news-list, .home-recommended-news) .news-list-thumb {
  border-radius: var(--radius);
  aspect-ratio: 2;
}

body[data-presentation~="news-columns"] :is(.news-list, .home-recommended-news) .news-list-copy {
  padding-inline: 0;
}

body[data-presentation~="news-digest"] :is(.news-list, .home-recommended-news .journal-list) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--news-gap);
  border: 0;
}

body[data-presentation~="news-digest"] :is(.news-list, .home-recommended-news) .journal-item {
  grid-template-columns: clamp(66px, 8vw, 112px) minmax(0, 1fr) auto;
  align-items: start;
  gap: clamp(10px, 1.6vw, 21px);
  padding: clamp(12px, 2vw, 24px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

body[data-presentation~="news-digest"] :is(.news-list, .home-recommended-news) .journal-item > i {
  align-self: center;
}

body[data-presentation~="news-stack"] :is(.news-list, .home-recommended-news .journal-list) {
  display: grid;
  gap: 12px;
  border: 0;
}

body[data-presentation~="news-stack"] :is(.news-list, .home-recommended-news) .journal-item {
  grid-template-columns: clamp(74px, 13vw, 152px) minmax(0, 1fr) auto;
  padding: clamp(10px, 1.5vw, 20px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

body[data-presentation~="news-dispatch"] :is(.news-list, .home-recommended-news) .journal-item {
  grid-template-columns: clamp(84px, 12vw, 152px) minmax(0, 1fr) auto;
  padding-inline-start: clamp(9px, 2vw, 23px);
  border-inline-start: 3px solid var(--brand);
}

body[data-presentation~="news-dispatch"] :is(.news-list, .home-recommended-news) .journal-item:nth-child(odd of .journal-item) {
  background: color-mix(in srgb, var(--wash) 74%, var(--paper));
}

body[data-presentation~="news-timeline"] :is(.news-list, .home-recommended-news .journal-list) {
  position: relative;
  margin-inline-start: 7px;
  padding-inline-start: clamp(15px, 3vw, 38px);
  border-block-start: 0;
  border-inline-start: 1px solid var(--line);
}

body[data-presentation~="news-timeline"] :is(.news-list, .home-recommended-news) .journal-item {
  position: relative;
  grid-template-columns: clamp(78px, 12vw, 145px) minmax(0, 1fr) auto;
  padding-block: clamp(16px, 2vw, 28px);
}

body[data-presentation~="news-timeline"] :is(.news-list, .home-recommended-news) .journal-item::before {
  content: '';
  position: absolute;
  inset-block-start: 33px;
  inset-inline-start: calc(-6px - clamp(15px, 3vw, 38px));
  width: 11px;
  height: 11px;
  border: 2px solid var(--paper);
  border-radius: 50%;
  background: var(--brand);
}

body[data-presentation~="news-timeline"] .news-list-copy .journal-category {
  font-family: ui-monospace, monospace;
  color: var(--brand);
}

@media (min-width: 761px) {
  body[data-presentation~="news-magazine"] :is(.news-list, .home-recommended-news .journal-list):has(> .journal-item ~ .journal-item) > .journal-item:first-of-type {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto;
    align-items: center;
    background: var(--wash);
  }

  body[data-presentation~="news-magazine"] :is(.news-list, .home-recommended-news) .journal-item:first-of-type .news-list-thumb {
    border-radius: var(--radius) 0 0 var(--radius);
  }

  body[data-presentation~="news-magazine"] :is(.news-list, .home-recommended-news) .journal-item:first-of-type :is(h2, h3) {
    font-size: clamp(25px, 3.3vw, 43px);
  }

  body[data-presentation~="news-mosaic"] :is(.news-list, .home-recommended-news .journal-list) {
    --news-columns: 4;
  }

  body[data-presentation~="news-mosaic"] :is(.news-list, .home-recommended-news) .journal-item {
    grid-column: span 2;
  }

  body[data-presentation~="news-mosaic"] :is(.news-list, .home-recommended-news) .journal-item:nth-child(3n + 1 of .journal-item):has(+ .journal-item + .journal-item) {
    grid-row: span 2;
    justify-content: flex-start;
    background: var(--wash);
  }

  body[data-presentation~="news-mosaic"] :is(.news-list, .home-recommended-news) .journal-item:nth-child(3n + 1 of .journal-item):has(+ .journal-item + .journal-item) .news-list-thumb {
    flex: 1;
    min-height: 240px;
  }
}

body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-columns"], [data-presentation~="news-mosaic"]) .home-recommended-news .news-list-thumb {
  max-height: clamp(132px, 15vw, 195px);
}

@media (min-width: 761px) {
  body[data-presentation~="news-mosaic"] .home-recommended-news .journal-item:nth-child(3n + 1 of .journal-item):has(+ .journal-item + .journal-item) .news-list-thumb {
    min-height: 0;
    max-height: clamp(210px, 20vw, 280px);
  }
}

/* Application cards, service listings, company pages and article reading layouts. */
[data-presentation~="content-stage"] .application-catalog {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 38px);
}

[data-presentation~="content-stage"] .application-catalog .content-card-image {
  aspect-ratio: 16 / 8;
}

[data-presentation~="content-feature"] .application-catalog {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

[data-presentation~="content-feature"] .application-catalog:has(> .content-card ~ .content-card) > .content-card:first-of-type {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: center;
  background: var(--wash);
}

[data-presentation~="content-paired"] .application-catalog,
[data-presentation~="content-mirrored"] .application-catalog {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border-block-start: 1px solid var(--line);
}

body:is([data-presentation~="content-paired"], [data-presentation~="content-mirrored"]) .application-catalog > .content-card {
  display: grid;
  grid-template-columns: clamp(100px, 22vw, 240px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(14px, 4vw, 48px);
  padding-block: clamp(16px, 2.4vw, 30px);
  border: 0;
  border-block-end: 1px solid var(--line);
  border-radius: 0;
  background: none;
}

body:is([data-presentation~="content-paired"], [data-presentation~="content-mirrored"]) .application-catalog .content-card-body {
  padding: 0;
}

[data-presentation~="content-paired"] .application-catalog .content-card-image {
  aspect-ratio: 1;
}

body:is([data-presentation~="content-stage"], [data-presentation~="content-feature"]) .service-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2.5vw, 32px);
  border-block-start: 0;
}

body:is([data-presentation~="content-stage"], [data-presentation~="content-feature"]) .service-list > .journal-item {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px 18px;
  padding: clamp(16px, 3vw, 32px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--wash);
}

body:is([data-presentation~="content-stage"], [data-presentation~="content-feature"]) .service-list .journal-category {
  grid-column: 1 / -1;
}

[data-presentation~="content-paired"] .service-list > .journal-item {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 26px;
  padding-inline-start: 16px;
  border-inline-start: 2px solid var(--brand);
}

[data-presentation~="content-paired"] .service-list .journal-category {
  grid-column: 1 / -1;
}

[data-presentation~="content-mirrored"] .service-list > .journal-item {
  grid-template-columns: minmax(0, 1fr) auto 18px;
}

[data-presentation~="content-mirrored"] .service-list > .journal-item > div {
  grid-column: 1;
  grid-row: 1;
}

[data-presentation~="content-mirrored"] .service-list .journal-category {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  font-variant-numeric: tabular-nums;
}

@media (min-width: 901px) {
  body[data-presentation~="content-mirrored"] .about-profile {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    grid-template-areas: "photo copy" "inquiry copy";
  }

  body[data-presentation~="content-stage"] .about-profile {
    grid-template-areas: "photo photo" "copy inquiry";
    grid-template-columns: minmax(0, 1.4fr) minmax(0, .75fr);
  }

  body[data-presentation~="content-stage"] .about-profile .about-photo {
    aspect-ratio: 3;
  }

  body[data-presentation~="content-feature"] .about-profile {
    grid-template-areas: "photo copy" "inquiry inquiry";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  }

  body[data-presentation~="content-feature"] .about-profile .about-inquiry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 30px;
  }

  body[data-presentation~="content-feature"] .about-inquiry-list {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  body[data-presentation~="content-paired"] .about-profile {
    grid-template-areas: "photo inquiry" "copy copy";
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
  }

  body[data-presentation~="content-paired"] .about-profile .about-prose {
    max-width: none;
    padding-block-start: 22px;
    border-block-start: 1px solid var(--line);
  }
}

body:is([data-presentation~="content-stage"], [data-presentation~="content-feature"]) .article-page > .prose {
  padding: clamp(18px, 4vw, 54px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

body[data-presentation~="content-paired"] .article-page > .prose {
  padding-inline-start: clamp(16px, 4vw, 54px);
  border-inline-start: 3px solid var(--brand);
}

body:is([data-presentation~="content-stage"], [data-presentation~="content-paired"]) .contact-layout .contact-details:has(> .contact-detail) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 10px;
}

body:is([data-presentation~="content-stage"], [data-presentation~="content-paired"]) .contact-layout .contact-detail {
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--wash);
}

@media (min-width: 901px) {
  body[data-presentation~="content-mirrored"] .contact-layout {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    grid-template-areas: "photo details";
  }

  body[data-presentation~="content-stage"] .contact-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "photo" "details";
    gap: clamp(24px, 4vw, 52px);
  }

  body:is([data-presentation~="content-mirrored"], [data-presentation~="content-stage"]) .contact-layout > .prose {
    grid-area: details;
    max-width: none;
  }

  body:is([data-presentation~="content-mirrored"], [data-presentation~="content-stage"]) .contact-layout > .contact-photo {
    grid-area: photo;
  }

  body[data-presentation~="content-stage"] .contact-layout > .contact-photo {
    position: static;
  }

  body[data-presentation~="content-stage"] .contact-photo img {
    aspect-ratio: 3 / 1;
  }
}

/* Gallery navigation can be a vertical rail, contact sheet, filmstrip or dock. */
[data-presentation] .product-gallery {
  max-width: 520px;
}

[data-presentation] .product-gallery .product-main-image {
  --gallery-enter-transform: translateY(0);
}

body:is([data-presentation~="gallery-rail-left"], [data-presentation~="gallery-rail-right"]) .product-gallery .product-main-image {
  --gallery-enter-transform: translateX(14px);
}

body:is([data-presentation~="gallery-sheet"], [data-presentation~="gallery-top"]) .product-gallery .product-main-image {
  --gallery-enter-transform: translateY(12px);
}

body:is([data-presentation~="gallery-matte"], [data-presentation~="gallery-cinema"]) .product-gallery .product-main-image {
  --gallery-enter-transform: scale(1.035);
}

body:is([data-presentation~="gallery-matte"], [data-presentation~="gallery-cinema"]) .product-gallery .product-main-image > img {
  object-fit: contain;
  aspect-ratio: auto;
}

[data-presentation~="gallery-matte"] .product-main-image {
  aspect-ratio: 5 / 4;
  padding: clamp(10px, 2.5vw, 30px);
  background: var(--wash);
}

[data-presentation~="gallery-cinema"] .product-gallery .product-main-image {
  aspect-ratio: 4 / 3;
  background: #142129;
}

body:is([data-presentation~="gallery-matte"], [data-presentation~="gallery-cinema"], [data-presentation~="gallery-console"]) .product-main-image > .product-media-video {
  aspect-ratio: auto;
  min-height: 0;
}

[data-presentation~="gallery-sheet"] .product-thumbnails:has(> a:nth-of-type(2)) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(58px, 1fr));
  gap: 8px;
}

[data-presentation~="gallery-sheet"] .product-thumbnails > a {
  width: 100%;
}

[data-presentation~="gallery-top"] .product-gallery {
  display: flex;
  flex-direction: column;
}

[data-presentation~="gallery-top"] .product-thumbnails {
  order: -1;
  padding-block: 4px 14px;
}

[data-presentation~="gallery-console"] .product-main-image {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

[data-presentation~="gallery-console"] .product-main-image > img {
  min-height: 0;
  aspect-ratio: auto;
  object-fit: contain;
}

[data-presentation~="gallery-console"] .product-gallery-controls:not([hidden]) {
  display: flex;
  gap: 8px;
  justify-content: center;
  padding: 7px;
  border-top: 1px solid var(--line);
  background: var(--paper);
}

[data-presentation~="gallery-console"] .product-gallery-controls > button {
  position: static;
  transform: none;
  box-shadow: none;
  border-radius: var(--radius, 8px);
}

@media (min-width: 761px) {
  body:is([data-presentation~="gallery-rail-left"], [data-presentation~="gallery-rail-right"]) .product-gallery:has(.product-thumbnails > a:nth-of-type(2)) {
    display: grid;
    grid-template-columns: clamp(49px, 5.5vw, 72px) minmax(0, 1fr);
    grid-template-areas: "strip stage";
    gap: clamp(8px, 1vw, 16px);
    align-items: start;
  }

  body[data-presentation~="gallery-rail-right"] .product-gallery:has(.product-thumbnails > a:nth-of-type(2)) {
    grid-template-columns: minmax(0, 1fr) clamp(49px, 5.5vw, 72px);
    grid-template-areas: "stage strip";
  }

  body:is([data-presentation~="gallery-rail-left"], [data-presentation~="gallery-rail-right"]) .product-gallery:has(.product-thumbnails > a:nth-of-type(2)) .product-main-image {
    grid-area: stage;
  }

  body:is([data-presentation~="gallery-rail-left"], [data-presentation~="gallery-rail-right"]) .product-thumbnails:has(> a:nth-of-type(2)) {
    grid-area: strip;
    flex-direction: column;
    max-height: clamp(235px, 28vw, 420px);
    padding: 3px;
    overflow: hidden auto;
  }

  body:is([data-presentation~="gallery-rail-left"], [data-presentation~="gallery-rail-right"]) .product-thumbnails > a {
    width: 100%;
    flex: 0 0 auto;
  }
}

/* The carousel retains its pause, swipe and keyboard controls in every presentation. */
.edition-cover.edition-stacked .banner-track {
  display: grid;
  height: auto;
}

.edition-cover.edition-stacked .banner-slide {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  display: grid;
  grid-template-rows: auto 1fr;
}

.edition-cover.edition-stacked .banner-image {
  position: relative;
  inset: auto;
  width: 100%;
  height: clamp(170px, 24vw, 300px);
}

.edition-cover.edition-stacked .banner-content {
  position: static;
  height: auto;
  padding-block: clamp(18px, 2.5vw, 32px) 74px;
}

body[data-presentation~="hero-dock"] .edition-stacked .banner-content,
.edition-stacked .hero-carousel[data-single="true"] .banner-content {
  padding-block-end: clamp(18px, 2.5vw, 32px);
}

[data-presentation] .hero-carousel .banner-pagination {
  min-width: 0;
}

body:is([data-presentation~="hero-frames"], [data-presentation~="hero-numbers"], [data-presentation~="hero-titles"]) .hero-carousel .banner-pagination {
  overflow-x: auto;
  padding: 3px;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}

body:is([data-presentation~="hero-frames"], [data-presentation~="hero-numbers"], [data-presentation~="hero-titles"]) .hero-carousel .banner-dot {
  flex: 0 0 auto;
  min-height: 36px;
  width: auto;
  padding: 5px 9px;
  border: 1px solid var(--slide-rule, #ffffff70);
  border-radius: var(--control-radius, 5px);
  background: var(--slide-control, #13242ac4);
  color: var(--photo-ink, #fff);
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

body:is([data-presentation~="hero-frames"], [data-presentation~="hero-numbers"], [data-presentation~="hero-titles"]) .hero-carousel .banner-dot::before {
  display: none;
}

body:is([data-presentation~="hero-frames"], [data-presentation~="hero-numbers"], [data-presentation~="hero-titles"]) .hero-carousel .banner-dot[aria-current="true"] {
  border-color: var(--photo-ink, #fff);
  box-shadow: inset 0 -2px 0 var(--photo-ink, #fff);
  background: var(--slide-control-hover, #13242a);
}

body[data-presentation~="hero-frames"] .hero-carousel .banner-dot {
  width: clamp(43px, 5.5vw, 74px);
  height: clamp(34px, 4vw, 49px);
  padding: 2px;
  opacity: .75;
}

body[data-presentation~="hero-frames"] .hero-carousel .banner-dot:is(:hover, :focus-visible, [aria-current="true"]) {
  opacity: 1;
}

[data-presentation~="hero-frames"] .banner-dot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

body[data-presentation~="hero-titles"] .hero-carousel .banner-dot {
  max-width: clamp(85px, 14vw, 182px);
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-presentation~="hero-numbers"] .hero-carousel .banner-dot {
  min-width: 36px;
  font-variant-numeric: tabular-nums;
}

body[data-presentation~="hero-dock"] .hero-carousel .banner-controls {
  position: relative;
  inset: auto;
  width: 100%;
  margin: 0;
  padding: 8px clamp(10px, 3vw, 32px);
  background: var(--wash);
  border-top: 1px solid var(--line);
}

body[data-presentation~="hero-dock"] .hero-carousel .banner-playback > button {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--line);
}

body[data-presentation~="hero-dock"] .hero-carousel .banner-counter {
  color: var(--ink);
}

body[data-presentation~="hero-dock"] .hero-carousel .banner-dot::before {
  background: var(--muted);
}

body[data-presentation~="hero-dock"] .hero-carousel .banner-dot[aria-current="true"]::before {
  background: var(--brand);
}

body[data-presentation~="hero-dock"] .hero-carousel .banner-controls button:focus-visible {
  outline-color: var(--brand);
}

@media (min-width: 901px) {
  body[data-presentation~="hero-sides"] .hero-carousel .banner-controls {
    inset: 0;
    width: 100%;
    margin: 0;
    padding: 0 18px 16px;
    justify-content: center;
    align-items: flex-end;
    pointer-events: none;
  }

  body[data-presentation~="hero-sides"] .hero-carousel .banner-controls button {
    pointer-events: auto;
  }

  body[data-presentation~="hero-sides"] .hero-carousel .banner-playback [data-carousel-prev],
  body[data-presentation~="hero-sides"] .hero-carousel .banner-playback [data-carousel-next] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  body[data-presentation~="hero-sides"] .hero-carousel .banner-playback [data-carousel-prev] {
    left: 16px;
  }

  body[data-presentation~="hero-sides"] .hero-carousel .banner-playback [data-carousel-next] {
    right: 16px;
  }

  body[data-presentation~="hero-vertical"] .hero-carousel .banner-pagination {
    flex-direction: column;
    gap: 1px;
  }

  body[data-presentation~="hero-vertical"] .hero-carousel .banner-dot {
    height: 17px;
  }

  body[data-presentation~="hero-vertical"] .hero-carousel .banner-dot::before {
    margin-inline-start: auto;
  }
}

@media (prefers-reduced-motion: no-preference) {
  body:is([data-presentation~="hero-numbers"], [data-presentation~="hero-titles"]) .hero-carousel .banner-slide.is-active .banner-content {
    animation: caption-enter .36s ease-out both;
  }

  body[data-presentation~="hero-vertical"] .hero-carousel .banner-slide.is-active .banner-image {
    animation: photo-drop .48s ease-out both;
  }

  body:is([data-presentation~="hero-dock"], [data-presentation~="hero-frames"]) .hero-carousel .banner-slide.is-active .banner-image {
    animation: photo-focus .55s ease-out both;
  }
}

@keyframes caption-enter {
  from { opacity: .45; translate: 16px 0; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes photo-drop {
  from { opacity: .45; translate: 0 -14px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes photo-focus {
  from { scale: 1.028; }
  to { scale: 1; }
}

@media (prefers-reduced-motion: reduce) {
  [data-presentation] .hero-carousel .banner-slide {
    transition: none;
  }
}

@media (max-width: 1000px) {
  body[data-presentation~="catalog-matrix"] .product-catalog {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-mosaic"]) :is(.news-list, .home-recommended-news .journal-list) {
    --news-columns: 2;
  }

  body[data-presentation~="news-mosaic"] :is(.news-list, .home-recommended-news) .journal-item {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  body:is([data-presentation~="catalog-matrix"], [data-presentation~="catalog-mosaic"]) .product-catalog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-presentation~="catalog-compact"] .product-catalog,
  body[data-presentation~="news-digest"] :is(.news-list, .home-recommended-news .journal-list) {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-presentation] .product-gallery {
    max-width: 480px;
  }

  body:is([data-presentation~="hero-frames"], [data-presentation~="hero-numbers"], [data-presentation~="hero-titles"]) .hero-carousel .banner-controls {
    gap: 5px;
  }

  body:is([data-presentation~="hero-frames"], [data-presentation~="hero-numbers"], [data-presentation~="hero-titles"], [data-presentation~="hero-dock"]) .hero-carousel .banner-counter {
    display: none;
  }

  [data-presentation] .hero-carousel .banner-playback {
    flex-shrink: 0;
  }
}

@media (max-width: 540px) {
  body:is([data-presentation~="catalog-gallery"], [data-presentation~="catalog-feature"], [data-presentation~="catalog-duo"], [data-presentation~="catalog-matrix"], [data-presentation~="catalog-mosaic"]) .product-catalog,
  body:is([data-presentation~="content-feature"], [data-presentation~="content-stage"]) :is(.application-catalog, .service-list) {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-presentation~="content-feature"] .application-catalog:has(> .content-card ~ .content-card) > .content-card:first-of-type {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-presentation~="catalog-feature"] .product-catalog:has(> .content-card ~ .content-card) > .content-card:first-of-type,
  body[data-presentation~="catalog-gallery"] .product-catalog > .content-card {
    grid-template-columns: clamp(76px, 25vw, 114px) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
  }

  body:is([data-presentation~="catalog-matrix"], [data-presentation~="catalog-mosaic"]) .product-catalog > .content-card {
    display: grid;
    grid-template-columns: clamp(84px, 28vw, 124px) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: var(--catalog-inset);
  }

  body:is([data-presentation~="catalog-matrix"], [data-presentation~="catalog-mosaic"]) .product-catalog :is(.content-card-image, .content-card-body) {
    margin: 0;
    padding: 0;
  }

  body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-index"], [data-presentation~="catalog-strips"]) .product-catalog {
    --catalog-image: clamp(70px, 23vw, 105px);
  }

  body:is([data-presentation~="catalog-ledger"], [data-presentation~="catalog-index"], [data-presentation~="catalog-strips"]) .product-catalog h2,
  body:is([data-presentation~="content-mirrored"], [data-presentation~="content-paired"]) .application-catalog h2 {
    font-size: clamp(17px, 4.6vw, 22px);
  }

  body:is([data-presentation~="news-cards"], [data-presentation~="news-magazine"], [data-presentation~="news-columns"], [data-presentation~="news-mosaic"]) :is(.news-list, .home-recommended-news .journal-list) {
    --news-columns: 1;
  }

  body[data-presentation~="news-dispatch"] :is(.news-list, .home-recommended-news) .journal-item,
  body[data-presentation~="news-stack"] :is(.news-list, .home-recommended-news) .journal-item,
  body[data-presentation~="news-timeline"] :is(.news-list, .home-recommended-news) .journal-item {
    grid-template-columns: clamp(56px, 17vw, 88px) minmax(0, 1fr) auto;
  }

  body[data-presentation~="content-mirrored"] .service-list > .journal-item {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body[data-presentation~="content-mirrored"] .service-list .journal-category {
    grid-column: 1 / -1;
  }

  body[data-presentation~="content-mirrored"] .service-list > .journal-item > div {
    grid-row: auto;
  }

  body[data-presentation~="hero-dock"] .hero-carousel .banner-dot {
    width: 19px;
  }

  body[data-presentation~="hero-dock"] .hero-carousel .banner-dot::before {
    width: 15px;
  }
}
