/* Our Story only: roofline to table line, using the approved semantic roles. */
.miri-story {
  padding-top: 88px;
  background: var(--miri-paper);
  color: var(--miri-color-body-primary);
  font-family: var(--miri-type-copy-family);
  font-size: var(--miri-type-body-regular-size);
  font-weight: var(--miri-type-copy-weight);
  line-height: var(--miri-type-body-regular-line-height);
}
.miri-story h1, .miri-story h2 {
  color: var(--miri-color-heading-light);
  font-family: var(--miri-type-heading-family);
  font-weight: var(--miri-type-heading-weight);
  margin: 0 0 28px;
}
.miri-story h1 {
  font-size: var(--miri-type-page-h1-size);
  line-height: var(--miri-type-page-h1-line-height);
  letter-spacing: var(--miri-type-page-h1-letter-spacing);
  max-width: 12ch;
}
.miri-story h2 {
  font-size: var(--miri-type-section-h2-size);
  line-height: var(--miri-type-section-h2-line-height);
  letter-spacing: var(--miri-type-section-h2-letter-spacing);
  max-width: 17ch;
}
.miri-story p { margin: 0 0 24px; }
.miri-story figure { margin: 0; min-width: 0; }
.miri-story img { display: block; width: 100%; height: auto; }
.miri-story .miri-gate4-eyebrow { color: var(--miri-rust); }
.miri-story-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: clamp(44px, 7vw, 112px);
  align-items: center;
  padding-block: 72px 100px;
}
.miri-story-opening > p:not(.miri-gate4-eyebrow), .miri-story-note { max-width: 58ch; }
.miri-story .miri-story-roofline { width: 220px; height: 44px; margin-bottom: 28px; fill: none; stroke: var(--miri-rust); stroke-width: 1.5; }
.miri-story-deck { color: var(--miri-navy); }
.miri-story-note, .miri-story figcaption {
  font-family: var(--miri-type-copy-family);
  font-size: var(--miri-type-body-regular-size);
  line-height: var(--miri-type-caption-line-height);
  font-weight: var(--miri-type-copy-weight);
  letter-spacing: var(--miri-type-letter-spacing-normal);
  color: var(--miri-color-body-secondary);
}
.miri-story-opening .miri-story-note { margin-top: 32px; padding-left: 20px; border-left: 1px solid var(--miri-rust); }
.miri-story-chapter { padding-block: clamp(64px, 7vw, 110px); }
.miri-story-house { background: var(--miri-ivory); }
.miri-story-house-copy { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(32px, 7vw, 100px); }
.miri-story-house-copy > div { max-width: 64ch; }
.miri-story-concept { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: clamp(30px, 5vw, 70px); align-items: center; width: min(100%, 1080px); margin: 48px auto 0; }
.miri-story-diagram svg { width: 100%; height: auto; display: block; }
.miri-story-diagram path { fill: none; stroke: var(--miri-rust); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.miri-story-diagram-labels { display: flex; justify-content: space-between; gap: 12px; }
.miri-story-diagram-labels, .miri-story .miri-story-links a { font-family: var(--miri-type-copy-family); font-size: var(--miri-type-body-regular-size); line-height: var(--miri-type-body-regular-line-height); color: var(--miri-color-body-secondary); }
.miri-story figcaption { margin-top: 16px; }
.miri-story .miri-story-credit { max-width: 86ch; margin: 36px 0 0; }
.miri-story-craft { display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); gap: clamp(44px, 9vw, 138px); align-items: center; }
.miri-story-craft-copy { max-width: 62ch; }
.miri-story-links { display: flex; gap: 16px 32px; flex-wrap: wrap; margin-top: 32px; }
.miri-story-wine { background: var(--miri-navy); color: var(--miri-ivory); }
.miri-story-wine h2, .miri-story .miri-story-wine .miri-gate4-editorial-link { color: var(--miri-ivory); }
.miri-story-wine-inner { display: grid; grid-template-columns: 1.12fr 0.88fr; gap: clamp(40px, 7vw, 110px); align-items: center; }
.miri-story-wine-inner > div { max-width: 61ch; }
.miri-story-table { display: grid; grid-template-columns: minmax(0, 1fr) 47%; align-items: center; gap: clamp(32px, 5vw, 72px); padding-bottom: 64px; }
.miri-story-table > div { max-width: 57ch; }
.miri-story .miri-story-table > figure img {
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
}
.miri-story .miri-story-table > figure img { object-position: 50% 52%; }
.miri-story-closing { padding-block: 48px 88px; }
.miri-story-table-line { width: 100%; height: 1.5px; background: var(--miri-rust); margin-bottom: 80px; }
/* Owner-approved page-only editorial statement exception. */
.miri-story-closing-copy { max-width: 1060px; margin-inline: auto; color: var(--miri-navy); font-family: var(--miri-type-heading-family); font-weight: 400; font-size: clamp(1.65rem, 2.8vw, 2.6rem); line-height: 1.35; }
.miri-story-closing-copy p:last-child { color: var(--miri-rust); margin-top: 48px; }
.miri-story-related { margin-top: 128px; padding-top: 30px; }
.miri-story-related .miri-story-links { margin-top: 0; margin-bottom: 34px; }
@media (max-width: 767px) {
  .miri-story { padding-top: 74px; }
  .miri-story-masthead, .miri-story-house-copy, .miri-story-concept, .miri-story-craft, .miri-story-wine-inner, .miri-story-table { grid-template-columns: 1fr; gap: 32px; }
  .miri-story-masthead { padding-block: 44px 64px; }
  .miri-story h1 { max-width: 13ch; }
  .miri-story h2 { max-width: 18ch; }
  .miri-story-roofline { margin-bottom: 22px; }
  .miri-story-craft-copy { order: -1; }
  .miri-story-concept { margin-top: 24px; }
  .miri-story-place { max-width: 100%; }
  .miri-story-closing-copy { max-width: none; }
  .miri-story-table-line { margin-bottom: 40px; }
  .miri-story-related { margin-top: 96px; }
}
