/* Archive-led additions; inherit the existing palette and local fonts. */
.ez-fornace {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  grid-template-areas: "photo copy" "photo detail";
  gap: 32px clamp(32px, 5vw, 72px);
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  padding: 88px var(--layout-pad-x);
}
.ez-fornace figure, .ez-piece figure { margin: 0; min-width: 0; }
.ez-fornace-copy { grid-area: copy; align-self: end; }
.ez-fornace h2, .ez-piece h2 {
  font-family: var(--font-serif);
  color: var(--color-text-primary);
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 24px;
  text-wrap: balance;
}
.ez-fornace p, .ez-piece p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--color-text-secondary);
  max-width: 44ch;
  margin: 0;
}
.ez-fornace img, .ez-piece-detail img { display: block; width: 100%; height: auto; }
.ez-fornace-main { grid-area: photo; }
.ez-fornace-main img { border-radius: var(--border-radius-sm); }
.ez-fornace figcaption, .ez-piece figcaption {
  color: var(--color-text-secondary);
  font-size: 13px;
  line-height: 1.6;
}
.ez-fornace-main figcaption { margin-top: 12px; }
.ez-fornace-detail { grid-area: detail; align-self: start; }
.ez-fornace-detail, .ez-piece-detail {
  display: grid;
  grid-template-columns: minmax(0, 210px) minmax(0, 1fr);
  gap: 20px;
  align-items: end;
}
.ez-fornace-detail figcaption { max-width: 14ch; padding-bottom: 4px; }
.ez-piece {
  background: var(--color-background-secondary);
  margin-top: 56px;
}
.ez-piece-inner {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  padding: 72px var(--layout-pad-x);
}
.ez-piece-copy { min-width: 0; }
.ez-piece-main { position: relative; top: -96px; }
.ez-piece-main img { display: block; width: 100%; height: auto; }
.ez-story-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 48px;
  margin-top: 24px;
  color: var(--color-text-primary);
  font-size: 14px;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}
.ez-story-link:hover { text-decoration-thickness: 2px; }
.ez-story-link:focus-visible { outline: 2px solid var(--color-text-primary); outline-offset: 4px; }
.ez-piece .ez-piece-detail {
  grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
  margin-top: 40px;
  max-width: 420px;
}
.ez-export-story {
  background: var(--color-background-primary);
  padding: 88px var(--layout-pad-x);
}
.ez-export-story-inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
}
.ez-export-story-photo { margin: 0; width: 100%; max-width: 538px; }
.ez-export-story-photo img { display: block; width: 100%; height: auto; border-radius: var(--border-radius-sm); }
.ez-export-story-photo figcaption { font-size: 13px; line-height: 1.6; color: var(--color-text-secondary); margin-top: 12px; }
.ez-export-story h2 {
  font-family: var(--font-serif);
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 400;
  line-height: 1.08;
  color: var(--color-text-primary);
  margin: 0 0 24px;
  text-wrap: balance;
}
.ez-export-story p { font-size: 16px; line-height: 1.8; color: var(--color-text-secondary); max-width: 50ch; margin: 0; }
.ez-export-story-brief { margin: 28px 0 0; }
.ez-export-story-brief > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; padding: 16px 0; border-top: 1px solid var(--color-border-tertiary); }
.ez-export-story-brief dt { font-size: 14px; font-weight: 600; line-height: 1.65; color: var(--color-text-primary); }
.ez-export-story-brief dd { font-size: 14px; line-height: 1.65; color: var(--color-text-secondary); margin: 0; }
@media (max-width: 900px) {
  .ez-export-story-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ez-export-story-photo { justify-self: center; }
}
@media (max-width: 760px) {
  .ez-export-story { padding-top: 56px; padding-bottom: 56px; }
  .ez-export-story-brief > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .ez-export-story-brief dt, .ez-export-story-brief dd { font-size: 16px; }
  .ez-fornace {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "photo" "detail";
    gap: 28px;
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .ez-fornace-detail { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); max-width: 440px; }
  .ez-piece { margin-top: 20px; }
  .ez-piece-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 48px; padding-bottom: 48px; }
  .ez-piece-main { top: 0; grid-row: 2; }
  .ez-piece-copy { display: contents; }
  .ez-piece-copy h2 { margin: 0; grid-row: 1; }
  .ez-piece-copy p { grid-row: 3; }
  .ez-piece-copy > .ez-story-link { grid-row: 4; justify-self: start; margin: 0; }
  .ez-piece .ez-piece-detail { grid-row: 5; margin-top: 0; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); }
}
