/* Detail pages share the approved 1908px grid; nested media compositions stay authored. */
.detail-editorial {
  --type-case-title: var(--editorial-heading);
  --type-editorial-title: var(--editorial-heading);
  --type-editorial-section: var(--editorial-copy);
  --type-case-copy: var(--editorial-small);
  --type-case-meta: var(--editorial-micro);
  --type-case-kicker: var(--editorial-micro);
  --leading-case-title: 1.05;
  --leading-editorial-title: 1.05;
  --leading-editorial-section: 1.15;
  --leading-case-copy: 1.25;
  --detail-section-space: clamp(64px, 6vw, 114px);
}
.detail-editorial .work-detail-layout {
  grid-template-columns: minmax(0,828fr) minmax(0,972fr);
  gap: max(16px, calc((100vw - var(--grid-left) - var(--grid-right)) * 20 / 1820));
  padding: 32px var(--grid-right) var(--detail-section-space) var(--grid-left);
}
.detail-editorial .work-detail-sidebar {
  width: auto; min-width: 0; padding-block: 0 32px;
  gap: clamp(56px, 6vw, 114px);
}
.detail-editorial .work-detail-intro {
  max-width: none; width: 100%; gap: clamp(18px, 1.6vw, 30px);
}
.detail-editorial .work-detail-intro h1 {
  font-size: var(--editorial-heading); line-height: 1.05; margin: 0;
}
.detail-editorial .work-detail-intro p {
  font-size: var(--editorial-small); line-height: 1.25; max-width: 42ch;
}
.detail-editorial .work-detail-intro :is([class*="kicker"],[class*="label"],dt,dd) {
  font-size: var(--editorial-micro); line-height: 1.25;
}
.detail-editorial .work-detail-intro :is([class*="story"],[class*="copy"]) { max-width: none; }
.detail-editorial .work-detail-gallery { min-width: 0; }
.detail-editorial .work-back-link { font-size: var(--editorial-micro); }
.detail-editorial .article-back-link {
  display: table; width: fit-content; margin: 0 0 24px;
  color: inherit; font-size: var(--editorial-micro); line-height: 1.2;
  text-decoration: none; border-bottom: 1px solid currentColor;
}
.detail-editorial .article-back-link:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.detail-editorial .mega-hero .blog-meta { position: static; }
.detail-editorial .mega-hero h1 { margin-top: 32px; }
.detail-editorial .work-more {
  margin-bottom: 0; box-shadow: none;
  padding-inline: var(--grid-left) var(--grid-right);
}
.detail-editorial .work-more h2 { font-size: var(--editorial-copy); padding-inline: 0; }
.detail-editorial .work-more {
  display: block; border-top: 0; background: #fff; color: var(--red);
  padding-bottom: clamp(60px,5vw,95px);
}
.detail-editorial .work-more > h2,
.detail-editorial .blog-article-main .article-recommendations > h2 {
  border-top: 1px solid currentColor;
  margin: 0;
  padding-block: clamp(48px,4vw,76px) clamp(40px,4vw,76px);
  font-size: var(--editorial-heading); line-height: 1.05; font-weight: 700;
}
.detail-editorial .work-more .project-archive { margin: 0; padding: 0; }
.detail-editorial .work-more .project-pair { margin-bottom: 0; }
.detail-editorial .work-more .project-media {
  min-height: 0; border: 0; aspect-ratio: 16 / 9;
}
.detail-editorial .work-more .project-copy h3 {
  grid-column: 1 / -1; margin: 0; font-size: var(--editorial-heading);
  line-height: 1.05; font-weight: 700;
}
.detail-editorial .work-more .project-link {
  grid-column: 1 / -1; grid-row: 4; justify-self: end; align-self: end;
  font-size: var(--editorial-small); line-height: 1.2; font-weight: 700; white-space: nowrap;
}
.detail-editorial .work-more::after,.detail-editorial .blog-article-main::after { content: none; }
.detail-editorial .blog-article-main { margin-bottom: 0; box-shadow: none; }
.detail-editorial .blog-header { padding-inline: var(--grid-left) var(--grid-right); }
.detail-editorial .blog-article-main > article > :is(header,section) {
  padding-inline: var(--grid-left) var(--grid-right);
}
.detail-editorial .blog-article-main > article > section {
  padding-bottom: var(--detail-section-space);
}
.detail-editorial .blog-article-main :is(h1,h2,h3) { line-height: 1.15; }
.detail-editorial .blog-article-main h1 { font-size: var(--editorial-heading); line-height: 1.05; max-width: none; }
.detail-editorial .blog-article-main h2 { font-size: var(--editorial-copy); }
.detail-editorial .blog-article-main h3 { font-size: var(--editorial-small); }
.detail-editorial .blog-article-main p { font-size: var(--editorial-small); line-height: 1.25; }
/* Article body size approved on the Calmilene 20pt reference. */
@media (min-width: 901px) {
  .detail-editorial.blog-article-page { --article-body-copy: clamp(16px, 1.398vw, 26.667px); }
  .detail-editorial .blog-article-main > article p:not([class]) { font-size: var(--article-body-copy); }
}
.detail-editorial .blog-article-main :is(.blog-meta,[class$="-meta"],[class*="kicker"],.blog-credit-label,figcaption) {
  font-size: var(--editorial-micro); line-height: 1.25;
}
.detail-editorial .blog-article-main [class$="copy"] > p + p { margin-top: 1em; }
.detail-editorial .blog-article-main :is([class*="__copy"],[class$="-copy"],[class*="__intro"]) { max-width: none; }
.detail-editorial .blog-article-main :is([class*="__copy"],[class$="-copy"],[class*="__intro"]) p { max-width: 42ch; }
/* Standalone reading blocks occupy the central guides, rather than one half
   of an unpaired text/media layout. Paragraphs use the full authored block. */
.detail-editorial .blog-article-main :is(.pennicanza-process__copy,.tirma-film__copy,.vallelata-film__copy,.monte-film__copy,.calmilene-campaign__copy,.calmilene-film__copy) p { max-width: none; }
.detail-editorial .calmilene-interlude-video { flex-direction: column; align-items: center; }
.detail-editorial .calmilene-film__copy { width: 100%; margin-top: clamp(32px,3vw,56px); }
.detail-editorial .calmilene-film__copy h2 { margin: 0 0 1.5em; }
@media (min-width: 761px) {
  .detail-editorial .blog-article-main :is(.pennicanza-process__copy,.tirma-film__copy,.vallelata-film__copy,.monte-film__copy,.calmilene-campaign__copy,.calmilene-film__copy) {
    width: calc(100% * 1493 / 1820); max-width: none; margin-inline: auto;
  }
  .detail-editorial .pennicanza-process { padding-top: clamp(40px,4vw,64px); }
  .detail-editorial .blog-article-main .pennicanza-storyboard { padding-bottom: 0; }
  .detail-editorial .pennicanza-process__copy { margin-top: 0; }
  .detail-editorial .blog-article-main > article > header:first-child > [class*="__copy"] {
    padding-top: 0; align-self: start;
  }
}
.detail-editorial .blog-related { padding: 32px var(--grid-right) 64px var(--grid-left); }
.detail-editorial .blog-related a { font-size: var(--editorial-small); font-weight: 700; }
.detail-editorial .article-recommendations {
  padding: 0 var(--grid-right) clamp(64px,5vw,95px) var(--grid-left);
  color: var(--red); background: #fff;
}
.detail-editorial .article-recommendations .project-pair { margin-bottom: 0; }
.detail-editorial .article-recommendations .project-label { font-size: var(--editorial-micro); line-height: 1.2; }
.detail-editorial .article-recommendations .project-description { font-size: var(--editorial-small); line-height: 1.2; }
.detail-editorial .article-recommendations .project-copy h3 {
  grid-column: 1 / -1; margin: 0; font-size: var(--editorial-heading);
  line-height: 1.05; font-weight: 700;
}
.detail-editorial .article-recommendations a { color: inherit; text-decoration: none; }
.detail-editorial .article-recommendations a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.detail-editorial .article-recommendations h3 a:hover { text-decoration: underline; text-underline-offset: .1em; }
/* Only authored text/media splits: never change photo grids or centered films. */
@media (min-width: 901px) {
  .detail-editorial :is(.tirma-hero,.tirma-pack,.tirma-ambrosias,.mega-hero,.mega-identity,
    .monte-hero,.monte-archive,.monte-reconstruction__head,.vallelata-hero,.vallelata-split,
    .vallelata-story,.pennicanza-hero,.calmilene-hero,.calmilene-feature,.calmilene-avatar) {
    grid-template-columns: minmax(0,828fr) minmax(0,972fr);
    column-gap: max(16px, calc((100vw - var(--grid-left) - var(--grid-right)) * 20 / 1820));
  }
}
.detail-editorial .detail-outro {
  position: relative; z-index: 2; isolation: isolate;
  background: var(--red); color: #fff; margin-bottom: 100vh;
  padding-top: clamp(48px, 4vw, 76px);
}
.detail-editorial.footer-in-flow .detail-outro { margin-bottom: 0; }
.detail-editorial .detail-outro-copy article { display: flex; flex-direction: column; min-width: 0; }
.detail-editorial .detail-outro-copy article:first-child { grid-column: start / left-end; }
.detail-editorial .detail-outro-copy article:last-child { grid-column: right / end; }
.detail-editorial .detail-outro-copy h2 { font-size: var(--editorial-heading); line-height: 1.05; margin: 0; }
.detail-editorial .detail-outro-copy h3 { font-size: var(--editorial-copy); line-height: 1.2; margin: 0; }
.detail-editorial .detail-outro-copy p { font-size: var(--editorial-copy); line-height: 1.2; margin: 32px 0 0; }
.detail-editorial .editorial-link {
  display: inline-flex; align-items: center; gap: 12px; color: inherit;
  font-size: var(--editorial-copy); line-height: 1.2; font-weight: 700; text-decoration: none;
}
.detail-editorial .detail-outro-copy .editorial-link { margin-top: auto; padding-top: clamp(48px,5vw,95px); align-self: flex-end; }
.detail-editorial .editorial-signoff {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: clamp(170px,24vw,458px) var(--grid-right) 32px var(--grid-left); line-height: 1.08;
}
.detail-editorial .news-wordmark { font-size: clamp(80px,14vw,268px); font-weight: 400; letter-spacing: -.035em; }
.detail-editorial .news-wordmark.has-letter-physics { visibility: hidden; }
.detail-editorial .news-face { --news-face-width: clamp(90px,10vw,190px); position: relative; top: 6px; width: var(--news-face-width); aspect-ratio: 511/523; flex: 0 0 auto; }
.detail-editorial .news-face > img { position: absolute; width: 100%; height: auto; top: 0; left: 0; filter: brightness(0) invert(1); }
.detail-editorial .news-face .eye-overlay { position: absolute; top: 0; left: 0; width: 100%; height: calc(var(--news-face-width)*693/511); }
.detail-editorial .eye-pupil-svg { fill: #fff; }
.detail-editorial .news-letter-stage { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 2; }
.detail-editorial .news-letter { position: absolute; left: 0; top: 0; display: block; padding: 0; border: 0; margin: 0; color: #fff; background: transparent; pointer-events: auto; cursor: grab; touch-action: none; user-select: none; transform-origin: center; }
.detail-editorial .news-letter svg { display: block; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.detail-editorial .news-letter.is-dragging { cursor: grabbing; }
.detail-editorial .news-letter:focus-visible { outline: 1px dashed #fff; outline-offset: 4px; }
.detail-editorial .news-letter.is-pointer-active { outline: none; }
.detail-editorial .article-mobile-preview { display: none; }
.detail-editorial .work-mobile-opening--added { display: none; }
@media (max-width: 600px) {
  .detail-editorial .work-detail-intro > .work-mobile-opening {
    display: block; position: relative; min-width: 0; width: 100%; margin: 0;
    grid-column: auto; flex: none;
  }
  .detail-editorial .work-detail-intro > .work-mobile-opening.work-detail-media { aspect-ratio: auto; }
  .detail-editorial .work-mobile-opening--added video { aspect-ratio: 16 / 9; }
  .detail-editorial .work-detail-intro > .work-mobile-opening :is(img,video) {
    display: block; width: 100%; height: auto; object-fit: contain;
  }
}
.article-mobile-play { display: none; }
@media (max-width: 600px) {
  /* One shared phone opening: logo, 32px, full content rule, label, 24px, title. */
  .detail-editorial.blog-article-page .blog-header {
    display: block; min-height: 0; height: auto;
    padding: 22px var(--grid-right) 32px var(--grid-left);
  }
  .detail-editorial.blog-article-page .blog-logo { width: 112px; margin: 0; }
  .detail-editorial .blog-article-main > article > header:first-child {
    display: block; min-height: 0; padding-top: 0; border-top: 0; border-bottom: 0;
  }
  .detail-editorial .blog-article-main > article > header:first-child > [class*="__copy"] {
    display: block; width: 100%; margin: 0; padding: 0; position: static;
  }
  .detail-editorial .blog-article-main > article > header:first-child :is(.blog-meta,.monte-meta,.tirma-kicker) {
    position: static; display: flex; flex-wrap: wrap; justify-content: space-between;
    width: 100%; max-width: none; gap: 6px 12px;
    margin: 0; padding: 10px 0 0; border-top: 1px solid currentColor; border-bottom: 0;
  }
  .detail-editorial .blog-article-main > article > header:first-child h1 { margin: 24px 0 0; }
  /* A section owns its divider; inner labels no longer draw a second rule. */
  .detail-editorial .blog-article-main > article > section {
    position: relative; border-top: 0; border-bottom: 0; padding-top: 48px;
  }
  .detail-editorial .blog-article-main > article > section::before {
    content: ''; position: absolute; top: 0; left: var(--grid-left); right: var(--grid-right);
    height: 1px; background: currentColor; pointer-events: none;
  }
  .detail-editorial .blog-article-main > article > section :is([class*="kicker"],[class$="-meta"]) {
    border-top: 0; border-bottom: 0; padding-top: 0;
  }
  .detail-editorial .article-mobile-video-host { position: relative; }
  .detail-editorial .article-mobile-play {
    position: absolute; z-index: 3; display: grid; place-items: center;
    width: 56px; height: 56px; padding: 0; border: 0; border-radius: 50%;
    transform: translate(-50%, -50%); background: var(--red); color: #fff;
    cursor: pointer; touch-action: manipulation;
  }
  .detail-editorial .article-mobile-play[hidden] { display: none; }
  .detail-editorial .article-mobile-play svg { width: 28px; height: 28px; fill: currentColor; }
  .detail-editorial .article-mobile-play:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
  .detail-editorial .blog-article-main :is(h1,h2,h3):not(.visually-hidden) {
    width: 100%; max-width: none;
  }
  .detail-editorial .blog-article-main :is(h1,h2,h3) br { display: none; }
  .detail-editorial .blog-article-main :is(h1,h2,h3) > span { display: inline; }
  .detail-editorial .blog-article-main .article-mobile-preview {
    display: block; width: 100%; margin: 24px 0 0; padding: 0;
    background: transparent; overflow: hidden;
  }
  .detail-editorial .blog-article-main .article-mobile-preview img {
    display: block; position: static; width: 100%; height: auto;
    aspect-ratio: auto; object-fit: contain;
  }
  .detail-editorial .blog-article-main .article-mobile-preview + [class*="__intro"] { margin-top: 24px; }
  .detail-editorial .calmilene-hero .article-mobile-preview { grid-row: 3; }
  .detail-editorial .calmilene-hero .calmilene-hero__media { grid-row: 5; }
  .detail-editorial .mega-hero .article-mobile-preview { order: 3; }
  .detail-editorial .mega-hero .mega-hero__media { order: 5; }
  /* The 9:16 film and the 387:2161 outfit sheet share one height. */
  .detail-editorial .calmilene-selection {
    grid-template-columns: minmax(0, 3.141fr) minmax(0, 1fr); column-gap: 8px;
  }
  .detail-editorial .calmilene-selection :is(.calmilene-selection__copy,.calmilene-selection__faces) {
    grid-column: 1 / -1;
  }
  .detail-editorial .calmilene-selection .calmilene-selection__main {
    grid-column: 1; grid-row: 3; width: 100%; margin-top: 32px; aspect-ratio: 9 / 16;
  }
  .detail-editorial .calmilene-selection .calmilene-selection__main video {
    display: block; width: 100%; height: 100%; object-fit: contain;
  }
  .detail-editorial .calmilene-selection > .calmilene-selection__outfits {
    grid-column: 2; grid-row: 3; justify-self: stretch;
    width: 100%; height: auto; margin-top: 32px; aspect-ratio: 387 / 2161;
  }
}
@media (max-width: 900px) {
  .detail-editorial .work-detail-layout { grid-template-columns: minmax(0,1fr); gap: 48px; }
  .detail-editorial .work-detail-sidebar { position: relative; height: auto; overflow: visible; }
}
@media (max-width: 760px) {
  .detail-editorial { --detail-section-space: 80px; }
  .detail-editorial .work-detail-sidebar { gap: 48px; }
  .detail-editorial .detail-outro-copy { row-gap: 64px; }
  .detail-editorial .detail-outro-copy article:first-child,.detail-editorial .detail-outro-copy article:last-child { grid-column: start / end; }
  .detail-editorial .detail-outro-copy p { margin-top: 24px; }
  .detail-editorial .editorial-signoff { padding-top: 140px; padding-bottom: 24px; }
  .detail-editorial .news-wordmark { font-size: clamp(55px,15vw,110px); }
  .detail-editorial .news-face { --news-face-width: 60px; }
}
