/* A quiet reading layout for short Web by Miri articles. The shared site chrome
   and the author's actual article content remain untouched. */
.article-reading-progress {
  position: fixed;
  z-index: 1001;
  top: var(--brand-nav-height, 72px);
  inset-inline: 0;
  height: 3px;
  background: #59033624;
  pointer-events: none;
}
.article-reading-progress[hidden] { display: none; }
.article-reading-progress__fill {
  display: block;
  width: 100%;
  height: 100%;
  background: #590336;
  transform: scaleX(var(--reading-progress, 0));
  transform-origin: right center;
  transition: transform 90ms linear;
}

body.miri-article-page .post {
  width: min(100% - 48px, 820px);
  max-width: 820px;
  padding: 64px 0 104px;
  margin-inline: auto;
}

body.miri-article-page .post > .text-link {
  min-height: 40px;
  margin: 0 0 32px;
  padding: 7px 0;
  font-size: 16px;
  line-height: 1.45;
}

body.miri-article-page .post h1 {
  max-width: 800px;
  margin: 0;
  color: #2b1024;
  font-size: clamp(44px, 5vw, 64px);
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

body.miri-article-page .post .article-credit {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 20px 0 0;
  color: #66515e;
  font-size: 16px;
  line-height: 1.5;
}

body.miri-article-page .post-deck {
  max-width: 720px;
  margin: 22px 0 0;
  color: #51414a;
  font-size: clamp(21px, 2.1vw, 25px);
  line-height: 1.55;
}

body.miri-article-page .post-deck::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin-top: 34px;
  background: #b4e900;
  border-radius: 2px;
}

body.miri-article-page .post-body {
  width: 100%;
  max-width: 720px;
  margin: 42px 0 0;
  color: #2b1724;
  font-size: 19px;
  line-height: 1.78;
  overflow-wrap: break-word;
}

body.miri-article-page .post-body > * + * { margin-top: 24px; }
body.miri-article-page .post-body h2,
body.miri-article-page .post-body h3 {
  color: #2b1024;
  line-height: 1.24;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
body.miri-article-page .post-body h2 {
  margin: 48px 0 18px;
  font-size: clamp(28px, 3vw, 34px);
}
body.miri-article-page .post-body h3 {
  margin: 36px 0 14px;
  font-size: clamp(23px, 2.4vw, 27px);
}
body.miri-article-page .post-body h2 + *,
body.miri-article-page .post-body h3 + * { margin-top: 0; }
body.miri-article-page .post-body ul,
body.miri-article-page .post-body ol { padding-inline-start: 1.4em; margin-block: 22px; }
body.miri-article-page .post-body li + li { margin-top: 10px; }
body.miri-article-page .post-body a { text-decoration: underline; text-underline-offset: 0.18em; }
body.miri-article-page .post-body a:hover { text-decoration-thickness: 2px; }
body.miri-article-page .post-body blockquote {
  margin: 32px 0;
  padding: 4px 22px 4px 0;
  border-right: 3px solid #aeeb00;
  font-size: 21px;
  line-height: 1.6;
}
body.miri-article-page .post-body img,
body.miri-article-page .post-body video { max-width: 100%; height: auto; border-radius: 10px; }
body.miri-article-page .post-body figure { margin: 34px 0; }
body.miri-article-page .post-body figcaption { margin-top: 8px; color: #51414a; font-size: 15px; line-height: 1.5; }
body.miri-article-page .post-body :focus-visible { outline: 3px solid #570e40; outline-offset: 4px; }

/* The persistent booking strip would cover the last lines on a narrow screen. */
body.miri-article-page .mobile-cta { display: none !important; }

body.miri-article-page .article-next { font-family: inherit; }
body.miri-article-page .article-next {
  background: #f7eef1;
  padding: 56px 24px 72px;
}
body.miri-article-page .article-next__inner { width: min(100%, 1040px); margin-inline: auto; }
body.miri-article-page .article-next__intro { margin-bottom: 24px; }
body.miri-article-page .article-next__intro h2 {
  margin: 0;
  color: #40002f;
  font-size: clamp(30px, 3.5vw, 42px);
  line-height: 1.2;
}
body.miri-article-page .article-next__card {
  display: grid;
  grid-template-columns: minmax(180px, 34%) 1fr;
  min-height: 220px;
  overflow: hidden;
  border: 1px solid #e2ccd7;
  border-radius: 20px;
  background: #fffaf6;
  color: #40002f;
  text-decoration: none;
  transition: box-shadow .25s ease, transform .25s ease;
}
body.miri-article-page .article-next__card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px #50003918; }
body.miri-article-page .article-next__card:focus-visible { outline: 3px solid #b4e900; outline-offset: 3px; }
body.miri-article-page .article-next__image { overflow: hidden; background: #e9d8df; }
body.miri-article-page .article-next__image img { width: 100%; height: 100%; object-fit: cover; }
body.miri-article-page .article-next__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding: 30px 36px; }
body.miri-article-page .article-next__category { color: #9c356f; font-size: 15px; }
body.miri-article-page .article-next__copy strong { font-size: clamp(23px, 2.5vw, 31px); line-height: 1.22; }
body.miri-article-page .article-next__excerpt { color: #5d4754; font-size: 17px; line-height: 1.55; }
body.miri-article-page .article-next__action { margin-top: 8px; border-bottom: 2px solid #b4e900; padding-bottom: 4px; font-size: 16px; font-weight: 700; }

@media (max-width: 767px) {
  .article-reading-progress { height: 3px; }
  body.miri-article-page .post {
    width: min(100% - 40px, 680px);
    padding: 38px 0 80px;
  }
  body.miri-article-page .post > .text-link { margin-bottom: 28px; font-size: 15px; }
  body.miri-article-page .post h1 { font-size: clamp(38px, 10vw, 48px); line-height: 1.14; }
  body.miri-article-page .post-deck { margin-top: 18px; font-size: 21px; line-height: 1.5; }
  body.miri-article-page .post-deck::after { margin-top: 28px; }
  body.miri-article-page .post-body { max-width: none; margin-top: 34px; font-size: 18px; line-height: 1.72; }
  body.miri-article-page .post-body > * + * { margin-top: 22px; }
  body.miri-article-page .post-body h2 { margin: 40px 0 16px; font-size: 28px; }
  body.miri-article-page .post-body h3 { margin: 32px 0 12px; font-size: 23px; }
  body.miri-article-page .post-body blockquote { font-size: 19px; }
  body.miri-article-page .article-next { padding: 38px 20px 44px; }
  body.miri-article-page .article-next__card { grid-template-columns: 1fr; }
  body.miri-article-page .article-next__image { height: 148px; }
  body.miri-article-page .article-next__copy { padding: 20px 23px; }
  body.miri-article-page .article-next__excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .article-reading-progress__fill { transition: none; }
  body.miri-article-page .article-next__card { transition: none; }
  body.miri-article-page .article-next__card:hover { transform: none; }
}
@media print {
  .article-reading-progress { display: none; }
}
