.journal-shell {
  width: calc(100% - 2 * var(--edge));
  max-width: 1560px;
  margin-inline: auto;
}
.journal-editorial :is(h1, h2, h3), .journal-metrics__value, .book__display, .book__brand, .book__price {
  font-family: Saonara, serif;
  font-weight: 400;
  -webkit-text-stroke: .2px currentColor;
}
.journal-editorial :is(h1, h2, h3) { margin: 0; }
.journal-editorial__title {
  font-size: clamp(50px, 8.3vw, 126px);
  line-height: 1.04;
  padding-block: clamp(22px, 3vw, 46px) clamp(22px, 3.1vw, 48px);
}
.journal-link {
  display: inline-flex;
  align-items: baseline;
  gap: .5em;
  min-height: 44px;
  padding: 9px 0 10px;
  border: 0;
  color: inherit;
  background: none;
  text-align: left;
  font: 400 clamp(15px, 1.25vw, 18px)/1.4 "Neue Montreal", sans-serif;
}
button.journal-link { cursor: pointer; }
.journal-link__text {
  background: linear-gradient(var(--sky), var(--sky)) left bottom / 24px 1px no-repeat;
  padding-block-end: 5px;
  transition: background-size var(--line-duration) var(--ease-reveal);
}
.journal-link:focus-visible .journal-link__text, .journal-editorial__card:focus-visible .journal-link__text { background-size: 100% 1px; }
.journal-arrow { flex: none; }
.journal-kicker {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0;
  font: 400 12px/1.45 "Neue Montreal", sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.journal-kicker time { letter-spacing: .03em; color: var(--clay); text-transform: none; }
.journal-editorial__card { display: flex; flex-direction: column; min-width: 0; }
.journal-editorial__caption { display: flex; flex: 1; flex-direction: column; align-items: start; padding-block-start: clamp(13px, 1.75vw, 24px); }
.journal-editorial__caption h2 { font-size: clamp(28px, 3vw, 47px); line-height: 1.12; margin-block: 7px 5px; }
.journal-editorial__card--featured h2 { font-size: clamp(34px, 5vw, 73px); }
.journal-editorial__description { margin: 0; font: 350 clamp(16px, 1.45vw, 21px)/1.55 "Neue Montreal Text", sans-serif; }
.journal-editorial__caption .journal-link { margin-block-start: auto; }
.journal-editorial__photo { display: block; overflow: hidden; aspect-ratio: 1.05; background: var(--limestone); }
.journal-editorial__card--featured .journal-editorial__photo { aspect-ratio: 2.82; }
.journal-editorial__photo [data-photo-visual], .journal-editorial__photo img {
  display: block;
  width: 100%;
  height: 100%;
}
.journal-editorial__photo img { object-fit: cover; object-position: center 51%; }
.journal-editorial__card[href$="/preparer-son-acquisition.html"] img { object-position: 86% 51%; }
.journal-editorial__card img { transition: transform 620ms cubic-bezier(.22,.61,.36,1); }
.journal-editorial__card:focus-visible .journal-editorial__photo:not(.is-photo-waiting, .is-photo-revealing) img { transform: scale(1.025); }
.journal-editorial__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 44px);
}
.journal-metrics { padding-block: clamp(24px, 3.3vw, 52px) clamp(32px, 4.7vw, 75px); }
.journal-metrics p { margin: 0; }
.journal-metrics__scope { font: 400 14px/1.4 "Neue Montreal", sans-serif; color: var(--clay); text-align: center; }
.journal-metrics dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 16px 0 10px; }
.journal-metrics dl > div { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 3px 20px; text-align: center; }
.journal-metrics dl > div + div { border-inline-start: 1px solid var(--limestone); }
.journal-metrics dt { font: 400 clamp(15px, 1.4vw, 19px)/1.4 "Neue Montreal", sans-serif; }
.journal-metrics dd { margin: 0; }
.journal-metrics__value { order: -1; font-size: clamp(31px, 3.8vw, 56px); line-height: 1.15; }
.journal-metrics__value small { font: 400 .42em "Neue Montreal", sans-serif; -webkit-text-stroke: 0; }
.journal-metrics__window { display: inline-block; position: relative; white-space: nowrap; }
.journal-metrics__reels { position: absolute; inset: 0; pointer-events: none; }
.journal-metrics__slot { position: absolute; inset-block: 0; text-align: center; }
.journal-metrics__reel { clip-path: inset(0 -.03em); }
.journal-metrics__track { position: absolute; inset: 0 0 auto; }
.journal-metrics__track > span { display: block; }
.is-metric-pending :is(dt, .journal-metrics__period) { opacity: 0; }
:is(.is-metric-pending, .is-metric-rolling) .journal-metrics__number { visibility: hidden; }
.journal-metrics__period, .journal-metrics__source { font: 350 14px/1.5 "Neue Montreal Text", sans-serif; color: var(--clay); }
.journal-metrics__source { text-align: center; }
.journal-source { text-decoration: underline; text-decoration-color: var(--sky); text-underline-offset: .22em; overflow-wrap: anywhere; }
.journal-refs { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-block: 13px 0; padding: 0; list-style: none; font: 350 14px/1.55 "Neue Montreal Text", sans-serif; color: var(--clay); }
.journal-refs li { min-width: 0; }
.journal-reading__hero { padding-block-start: clamp(14px, 2vw, 34px); }
.journal-reading__back { margin-block-end: clamp(12px, 1.5vw, 25px); }
.journal-reading__hero h1 { font-size: clamp(43px, 7vw, 102px); line-height: 1.055; max-width: 20ch; margin-block: 12px 14px; }
.journal-reading__intro { max-width: 58ch; margin: 0 0 clamp(22px, 3.5vw, 48px); font: 350 clamp(17px, 1.8vw, 25px)/1.5 "Neue Montreal Text", sans-serif; }
.journal-reading__hero .journal-editorial__photo { aspect-ratio: 2.4; }
.journal-reading__copy {
  width: calc(100% - 2 * var(--edge));
  max-width: 69ch;
  margin: clamp(38px, 5.4vw, 82px) auto 0;
  font: 350 clamp(16px, 1.25vw, 19px)/1.64 "Neue Montreal Text", sans-serif;
}
.journal-reading__copy section + section, .journal-reading__sources, .journal-related { margin-block-start: clamp(29px, 3.6vw, 54px); }
.journal-reading__copy h2 { font-size: clamp(28px, 3.2vw, 46px); line-height: 1.16; }
.journal-reading__copy p { margin: 12px 0; }
.journal-reading__sources .journal-refs { display: grid; }
.journal-related .journal-link { display: flex; width: fit-content; }
.journal-table { width: 100%; border-collapse: collapse; font: 350 clamp(14px, 1.1vw, 17px)/1.45 "Neue Montreal Text", sans-serif; margin-block: 20px; }
.journal-table caption { text-align: left; color: var(--clay); padding-bottom: 8px; }
.journal-table :is(th, td) { text-align: left; vertical-align: top; padding: 10px 7px; border-block-end: 1px solid var(--limestone); }
.journal-table :is(th, td):last-child { text-align: right; }
.journal-table th { font-weight: 350; }
.journal-table thead th { font: 400 14px/1.4 "Neue Montreal", sans-serif; }
.journal-table td { white-space: nowrap; }
.journal-context { margin: 0; font: 400 15px/1.5 "Neue Montreal", sans-serif; color: var(--clay); }
.journal-context [data-book-context]:not([hidden]) { display: block; }
.journal-editorial .contact { padding-block: clamp(35px, 5vw, 79px) clamp(32px, 4vw, 64px); }
.journal-editorial:not(.journal-article-page) .contact__inner { max-width: 1560px; }
.journal-article-page .contact__inner { max-width: 65ch; }
.journal-editorial .contact__heading { font-family: "Neue Montreal", sans-serif; -webkit-text-stroke: 0; }
.journal-book {
  --book-open-gap: 24px;
  --book-open-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  align-items: center;
  gap: 25px clamp(30px, 7vw, 125px);
  margin-block-start: clamp(46px, 8vw, 124px);
  scroll-margin-block-start: 90px;
}
.journal-book:has(.book[data-open="true"]), .journal-book:has(.book__fallback[open]) { grid-template-columns: minmax(0, 1fr); }
.journal-book__intro h2 { font-size: clamp(44px, 6.3vw, 94px); line-height: 1.05; }
.book__issue { margin: 11px 0 14px; color: var(--clay); font: 400 clamp(14px, 1.3vw, 18px)/1.4 "Neue Montreal", sans-serif; }
.book { min-width: 0; }
#journal-book-inline { position: relative; scroll-margin-block-start: 90px; }
.book__open {
  display: flex;
  width: max-content;
  min-height: var(--book-open-height);
  margin: var(--book-open-gap) auto 0;
}
.book[data-enhanced] #journal-book-inline .book__cover { cursor: pointer; }
.book__frame { position: relative; min-width: 0; overflow-anchor: none; }
.book[data-enhanced] .book__frame { touch-action: pan-y; user-select: none; }
.book__frame.is-edge { cursor: grab; }
.book__frame.is-turning { cursor: grabbing; }
.book__pages { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.book__pages:has(> .book__preview + .book__preview) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.book__leaf { color: var(--espresso); background: #eee4d4; min-width: 0; }
.book__leaf img { display: block; width: 100%; height: auto; object-fit: cover; }
.book__leaf h3 { font-size: clamp(30px, 3.3vw, 55px); line-height: 1.1; }
.book__single { padding: clamp(17px, 3.1vw, 48px); }
.book__cover, .book__back-cover, .book__closing {
  width: min(100%, 442px);
  justify-self: center;
  margin-inline: auto;
}
.book__cover { width: min(100%, 420px); padding: clamp(20px, 2.65vw, 42px); text-align: center; }
.book__brand { margin: 0 0 13px; font-size: clamp(25px, 3vw, 43px); line-height: 1.07; }
.book__cover img { aspect-ratio: .92; object-position: 49% 50%; margin-bottom: 15px; }
.book__cover .book__issue, .book__back-cover .book__issue { margin-block-end: 0; font-size: clamp(12px, 1.1vw, 16px); }
.book__spread { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.book__side { min-width: 0; padding: clamp(18px, 3vw, 44px); }
.book__side + .book__side, .book__preview + .book__preview { border-inline-start: 1px solid rgb(48 35 31 / 15%); }
.book__contents-intro { display: grid; align-content: center; justify-items: center; text-align: center; }
.book__display { margin: 0; font-size: clamp(34px, 4.1vw, 68px); line-height: 1.1; }
.book__contents ol { padding-inline-start: 2.1em; margin: 12px 0 0; }
.book__contents li::marker { color: var(--clay); font-size: 13px; }
.book__contents .journal-link { padding-block: 6px; }
.book__contents .journal-link__text { background-size: 0 1px; }
.book__contents .journal-link:focus-visible .journal-link__text { background-size: 100% 1px; }
.book__property-main { padding: 0; }
.book__property-main img { height: 100%; min-height: 410px; }
.book__property-copy { display: flex; flex-direction: column; align-items: start; }
.book__property-type, .book__location, .book__preview-description, .book__closing address {
  margin: 6px 0 0;
  font: 350 clamp(15px, 1.3vw, 18px)/1.45 "Neue Montreal Text", sans-serif;
}
.book__location { color: var(--clay); }
.book__price { margin: 12px 0 7px; font-size: clamp(28px, 3.1vw, 52px); line-height: 1.16; }
.book__price .price-period { font: 350 .43em/1.3 "Neue Montreal Text", sans-serif; -webkit-text-stroke: 0; }
.book__facts { display: flex; flex-wrap: wrap; gap: 9px 26px; margin: 0 0 13px; }
.book__facts dt { color: var(--clay); font-size: 13px; }
.book__facts dd { margin: 1px 0 0; font-size: 17px; }
.book__property-extra { width: 100%; margin-block: auto 5px; }
.book__property-extra img { aspect-ratio: 2.1; }
.book__preview img { aspect-ratio: 1.62; margin: 9px 0 15px; }
.book__preview .journal-link { margin-top: 6px; }
.book__closing, .book__back-cover { display: grid; align-content: center; justify-items: center; min-height: 310px; text-align: center; gap: 12px; }
.book__back-cover { color: var(--ivory); background: var(--espresso); }
.book__back-cover .book__issue { color: var(--ivory); }
.book__controls { display: flex; align-items: center; justify-content: space-between; gap: 2px 20px; flex-wrap: wrap; margin-block-start: 8px; }
.book__pagination, .book__commands { display: flex; align-items: center; gap: 0 15px; flex-wrap: wrap; }
.book__controls button { border: 0; background: none; min-height: 44px; padding: 6px 0; cursor: pointer; color: inherit; font: 400 14px/1.35 "Neue Montreal", sans-serif; }
.book__controls button[aria-disabled="true"] { color: var(--clay); opacity: .72; cursor: default; }
.book__pagination output { color: var(--clay); font: 400 13px/1.45 "Neue Montreal", sans-serif; white-space: nowrap; }
.book__fallback { margin-block-start: 10px; font-size: 14px; }
.book__fallback summary { padding: 11px 0; min-height: 44px; cursor: pointer; }
.book__fallback .book__leaf { margin-block-end: 16px; scroll-margin-block-start: 72px; }
.book__dialog {
  width: min(98vw, 1460px);
  max-width: none;
  max-height: 92dvh;
  overscroll-behavior: contain;
  color: var(--espresso);
  background: var(--ivory);
  border: 0;
  padding: max(12px, env(safe-area-inset-top)) max(19px, env(safe-area-inset-right)) max(19px, env(safe-area-inset-bottom)) max(19px, env(safe-area-inset-left));
}
.book__dialog::backdrop { background: rgb(48 35 31 / 65%); }
.book__dialog .book__controls { margin: 0 0 6px; }
.book__turn { position: absolute; inset: 0; pointer-events: none; overflow: hidden; perspective: 1000px; }
.book__turn-sheet { position: absolute; inset: 0; background: #eee4d4; will-change: transform, opacity, clip-path; }
.book__turn-sheet .book__pages { height: 100%; }
.book__turn-sheet::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, transparent 88%, rgb(48 35 31 / 19%));
  opacity: var(--paper-shadow, 0);
}
.book__frame[data-paper-edge="true"]::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  pointer-events: none;
  background: linear-gradient(90deg, #d8ccba, #f6f0e7 65%, #e8ddcb);
  box-shadow: 1px 0 2px rgb(48 35 31 / 12%);
}
@media (hover: hover) and (pointer: fine) {
  .journal-link:hover .journal-link__text, .journal-editorial__card:hover .journal-link__text { background-size: 100% 1px; }
  .journal-editorial__card:hover .journal-editorial__photo:not(.is-photo-waiting, .is-photo-revealing) img { transform: scale(1.025); }
  .book__controls button:hover:not([aria-disabled="true"]) { text-decoration: underline; text-decoration-color: var(--sky); text-underline-offset: 4px; }
}
@media (max-width: 999px) {
  .journal-editorial__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  /* Keep the heading aligned against the cover, independently of the command below it. */
  .journal-book:has(.book__open:not([hidden])) {
    padding-block-end: calc(var(--book-open-gap) + var(--book-open-height));
  }
  .journal-book:has(.book__open:not([hidden])) .journal-book__intro { padding-block-end: var(--book-open-height); }
  .book__open { position: absolute; inset: 100% 0 auto; }
}
@media (max-width: 767px) {
  .journal-editorial__grid, .journal-book, .journal-metrics dl, .book__spread { grid-template-columns: minmax(0, 1fr); }
  .journal-editorial__card--featured .journal-editorial__photo, .journal-reading__hero .journal-editorial__photo { aspect-ratio: 1.55; }
  .journal-editorial__grid { gap: 28px; }
  .journal-editorial__grid .journal-editorial__photo { aspect-ratio: 1.34; }
  .journal-metrics { padding-block: 30px 43px; }
  .journal-metrics dl { gap: 12px; }
  .journal-metrics dl > div { align-items: start; padding: 8px 0; text-align: left; }
  .journal-metrics dl > div + div { border-inline-start: 0; border-block-start: 1px solid var(--limestone); padding-block-start: 14px; }
  .journal-metrics__scope, .journal-metrics__source { text-align: left; }
  .journal-book { margin-block-start: 50px; gap: 13px; }
  .book__cover { width: min(100%, 370px); }
  .book__contents-intro, .book__property-extra { display: none; }
  .book__side + .book__side { border: 0; }
  .book__property-main img { min-height: 0; height: auto; aspect-ratio: 1.55; }
  .book__controls { gap: 0 12px; }
  .book__commands, .book__pagination { gap: 0 11px; }
  .book__dialog { width: 100%; max-height: 100dvh; padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)); }
}
@media (max-width: 399px) {
  .journal-reading__hero h1 { font-size: clamp(37px, 11.2vw, 44px); }
  .book__leaf h3 { font-size: clamp(28px, 8.75vw, 35px); }
  .book__commands button { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .journal-link__text, .journal-editorial__card img { transition: none; }
  .journal-editorial__card .journal-editorial__photo img { transform: none !important; }
  .is-metric-pending :is(dt, .journal-metrics__period) { opacity: 1; }
  :is(.is-metric-pending, .is-metric-rolling) .journal-metrics__number { visibility: visible; }
  .journal-metrics__reels { display: none; }
}


.book__fallback:not([open]) { width: fit-content; margin-inline: auto; }
.book__fallback summary:focus-visible { outline-offset: 4px; }
.book__dialog .book__controls {
 position: sticky; top: 0; z-index: 3;
 background: var(--ivory);
}
@media (min-width: 768px) {
 .journal-book:has(.book__open:not([hidden])) { padding-block-end: 0; }
 .journal-book:has(.book__open:not([hidden])) .journal-book__intro { padding-block-end: calc(var(--book-open-height) + var(--book-open-gap) + 44px); }
 .book__open { position: static; }
}
@media (max-width: 1279px) and (max-height: 540px) and (orientation: landscape) {
 .journal-editorial__title { font-size: clamp(40px, 7vw, 58px); padding-block: 15px 18px; }
 .journal-reading__hero h1 { font-size: clamp(34px, 6.2vw, 53px); margin-block: 8px 11px; text-wrap: balance; }
 .journal-reading__intro { font-size: 17px; margin-bottom: 16px; }
 .journal-editorial__card--featured .journal-editorial__photo { aspect-ratio: 2.05; width: min(100%, calc(var(--landscape-frame-height) * 2.05)); }
 .journal-reading__hero .journal-editorial__photo { aspect-ratio: 2.05; width: min(100%, calc(var(--landscape-frame-height) * 2.05)); }
 .journal-editorial__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
 .journal-editorial__grid .journal-editorial__photo { aspect-ratio: 1.4; max-width: calc(var(--landscape-frame-height) * 1.4); }
 .journal-editorial__caption { padding-block-start: 9px; }
 .journal-editorial__caption h2 { font-size: clamp(23px, 4.2vw, 36px); }
 .journal-editorial__description { font-size: 16px; }
 .journal-reading__copy { margin-top: 28px; }
 .journal-book { margin-block-start: 35px; gap: 18px; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); }
 .journal-book__intro h2 { font-size: clamp(35px, 6vw, 52px); }
 .book__cover { width: min(100%, max(170px, calc((100svh - 120px) * .87))); padding: 12px; }
 .book__cover .book__brand { font-size: clamp(19px, 4.6svh, 25px); margin-bottom: 7px; }
 .book__cover img { margin-bottom: 7px; }
 .book__cover h3 { font-size: clamp(23px, 5.4svh, 29px); }
 .book__cover .book__issue { margin-top: 5px; }
 .book__open { margin-top: 12px; }
 .book__spread { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .book__side { padding: 13px; }
 .book__property-main { padding: 0; }
 .book__property-main img { min-height: 0; height: 100%; aspect-ratio: 1.3; }
 .book__property-extra { display: none; }
 .book__leaf h3 { font-size: clamp(24px, 4.7vw, 35px); }
 .book__price { margin-block: 7px 4px; }
 .book__facts { margin-bottom: 7px; }
 .book__dialog { padding-block: max(5px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-bottom)); max-height: 96dvh; }
 .book__dialog .book__controls { margin-bottom: 2px; }
 .book__closing, .book__back-cover { min-height: 160px; }
}
