/* Calmilene only. Measured from the supplied 1908px layout and grid:
   outer guides 52/1872; copy 52–880; media 901–1872;
   hero image 1090–1872; central films 208–1702. */
.calmilene-desktop-break { display: none; }
@media (min-width: 901px) {
  .case-study-calmilene .calmilene-desktop-break { display: initial; }
  .case-study-calmilene.detail-editorial {
    --cal-left: calc(100vw * 52 / 1908);
    --cal-right: calc(100vw * 36 / 1908);
    --cal-tracks: [start] 156fr [portrait] 152fr [portrait-mid] 308fr [work] 212fr [left-end] 21fr [right] 189fr [title] 297fr [info] 315fr [thumb] 170fr [end];
    --cal-space: clamp(48px, 5.24vw, 100px);
    /* The revised reference reduces the body/section type from 30pt to 20pt. */
    --cal-copy: var(--article-body-copy);
  }
  .case-study-calmilene.detail-editorial .blog-header {
    min-height: 0;
    padding: calc(100vw * 37 / 1908) var(--cal-right) calc(100vw * 66 / 1908) calc(100vw * 20 / 1908);
  }
  .case-study-calmilene.detail-editorial .blog-logo { width: calc(100vw * 190 / 1908); }
  .case-study-calmilene.detail-editorial .calmilene-article > :is(header, section) {
    display: grid;
    grid-template-columns: var(--cal-tracks);
    grid-template-rows: auto;
    column-gap: 0;
    row-gap: 0;
    min-height: 0;
    padding: var(--cal-space) var(--cal-right) var(--cal-space) var(--cal-left);
    border: 0;
    align-items: start;
  }
  .case-study-calmilene.detail-editorial .calmilene-article > section::before {
    content: '';
    display: block;
    grid-column: start / end;
    grid-row: 1;
    border-top: 1px solid var(--red);
    margin-top: calc(-1 * var(--cal-space));
  }
  .case-study-calmilene.detail-editorial .calmilene-article :is(.calmilene-copy, .calmilene-hero__intro) {
    width: 100%;
    max-width: none;
    padding: 0;
    margin-top: calc(var(--cal-space) * .64);
  }
  .case-study-calmilene.detail-editorial .calmilene-article .calmilene-copy p {
    max-width: none;
    font-size: var(--cal-copy);
    line-height: 1.2;
  }
  .case-study-calmilene.detail-editorial .calmilene-article .calmilene-copy p + p { margin-top: 1.2em; }
  .case-study-calmilene.detail-editorial .calmilene-article h2 {
    max-width: none;
    margin: 0;
    font-size: var(--cal-copy);
    line-height: 1.2;
  }
  .case-study-calmilene.detail-editorial .calmilene-kicker,
  .case-study-calmilene.detail-editorial .calmilene-hero .blog-meta time { display: none; }

  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-hero {
    padding-top: 0;
    padding-bottom: calc(var(--cal-space) * 1.32);
  }
  .case-study-calmilene.detail-editorial .calmilene-hero__copy {
    grid-column: start / left-end;
    grid-row: 1;
    padding: 0;
    min-height: 0;
  }
  .case-study-calmilene.detail-editorial .calmilene-hero .blog-meta {
    width: 100%;
    max-width: none;
    margin: 0 0 32px;
    padding-top: 16px;
    font-size: var(--editorial-small);
  }
  .case-study-calmilene.detail-editorial .calmilene-hero h1 { margin: 0; }
  .case-study-calmilene.detail-editorial .calmilene-hero__media {
    grid-column: title / end;
    grid-row: 1;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 4;
    margin: 0;
    align-self: start;
  }
  .case-study-calmilene.detail-editorial .calmilene-hero__media img { height: 100%; object-fit: contain; }

  /* Film first, then a full-width reading block, as drawn in the reference. */
  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-feature { padding-top: 0; }
  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-feature::before { content: none; }
  .case-study-calmilene.detail-editorial .calmilene-product-lead {
    grid-column: portrait / thumb;
    grid-row: 1;
    width: 100%;
    margin: 0;
    aspect-ratio: 16 / 9;
  }
  .case-study-calmilene.detail-editorial .calmilene-feature__heading {
    grid-column: start / end;
    grid-row: 2;
    width: 100%;
    margin: calc(var(--cal-space) * 1.2) 0 0;
    padding: 0;
  }
  .case-study-calmilene.detail-editorial .calmilene-feature__body {
    grid-column: start / end;
    grid-row: 3;
  }

  .case-study-calmilene.detail-editorial :is(.calmilene-avatar__copy, .calmilene-science__copy,
    .calmilene-lifestyle__head, .calmilene-social__copy, .calmilene-selection__copy) {
    grid-column: start / left-end;
    grid-row: 1;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: block;
  }
  .case-study-calmilene.detail-editorial :is(.calmilene-avatar__board, .calmilene-science__media,
    .calmilene-lifestyle__videos, .calmilene-social__media) {
    grid-column: right / end;
    grid-row: 1;
    width: 100%;
    margin: 0;
    justify-self: stretch;
  }
  /* The containing cell ends at the paired media row, before any full-width gallery. */
  .case-study-calmilene.detail-editorial :is(.calmilene-avatar__copy, .calmilene-science__copy,
    .calmilene-lifestyle__head, .calmilene-social__copy, .calmilene-selection__copy) {
    align-self: stretch;
  }
  .case-study-calmilene.detail-editorial .has-following-copy > .calmilene-scroll-copy {
    position: sticky;
    top: 42px;
  }
  .case-study-calmilene.detail-editorial .calmilene-avatar__board {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
  .case-study-calmilene.detail-editorial .calmilene-avatar__board > video { object-fit: contain; }

  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-campaign { padding-top: 0; }
  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-campaign::before { content: none; }
  .case-study-calmilene.detail-editorial .calmilene-campaign__grid {
    grid-column: start / end;
    grid-row: 1;
  }
  .case-study-calmilene.detail-editorial .calmilene-campaign__copy { display: none; }

  .case-study-calmilene.detail-editorial .calmilene-lifestyle__gallery {
    grid-column: start / end;
    grid-row: 2;
    margin-top: var(--cal-space);
    padding-top: var(--cal-space);
    border-top: 1px solid var(--red);
  }
  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-interlude-video { padding-top: 0; }
  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-interlude-video::before { content: none; }
  .case-study-calmilene.detail-editorial .calmilene-interlude-video > video {
    grid-column: portrait / thumb;
    grid-row: 1;
    width: 100%;
    margin: 0;
  }
  .case-study-calmilene.detail-editorial .calmilene-interlude-video > .calmilene-film__copy {
    grid-column: portrait / thumb;
    grid-row: 2;
    width: 100%;
    margin-inline: 0;
  }
  .case-study-calmilene.detail-editorial .calmilene-film__copy h2 { margin-bottom: 1.5em; }

  .case-study-calmilene.detail-editorial .calmilene-social__vertical { grid-column: 1; grid-row: 1; }
  .case-study-calmilene.detail-editorial .calmilene-social__feed { grid-column: 2; grid-row: 1; }
  .case-study-calmilene.detail-editorial .calmilene-social__horizontal { grid-column: 1 / -1; grid-row: 2; }

  /* The three avatar assets remain a single aligned group in the right half. */
  .case-study-calmilene.detail-editorial .calmilene-article > .calmilene-selection {
    --cal-selection-height: calc((100vw - var(--cal-left) - var(--cal-right)) * 650 / 1820);
    grid-template-columns: [start] 156fr [portrait] 152fr [portrait-mid] 308fr [work] 212fr [left-end] 21fr [right] 360fr [cal-face-end] 500fr [cal-main-end] 111fr [end];
  }
  .case-study-calmilene.detail-editorial .calmilene-selection__faces {
    grid-column: right / cal-face-end;
    grid-row: 1;
    width: 100%;
    height: var(--cal-selection-height);
    padding-right: 12px;
    min-height: 0;
  }
  .case-study-calmilene.detail-editorial .calmilene-selection__main {
    grid-column: cal-face-end / cal-main-end;
    grid-row: 1;
    width: 100%;
    height: var(--cal-selection-height);
    min-height: 0;
    padding-right: 12px;
  }
  .case-study-calmilene.detail-editorial .calmilene-selection__main video { object-fit: contain; }
  .case-study-calmilene.detail-editorial .calmilene-selection > .calmilene-selection__outfits {
    grid-column: cal-main-end / end;
    grid-row: 1;
    width: 100%;
    height: var(--cal-selection-height);
    min-height: 0;
    object-fit: contain;
    object-position: right top;
  }
}
