/* Static projections of the shared miniature landscape; reading stays in ink. */
body[data-landscape-page] {
  --landscape-paper: #faf9f2;
  --landscape-sage: #6e8064;
  --landscape-earth: #8b795c;
  --landscape-line: #d6d9c9;
}
.landscape-art {
  position: relative;
  min-width: 0;
  margin: 0;
  pointer-events: none;
  user-select: none;
  isolation: isolate;
}
.landscape-art img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  -webkit-user-drag: none;
}
.landscape-ground {
  position: absolute;
  inset: auto -2% 2%;
  width: 104%;
  height: 19%;
  stroke: var(--landscape-earth);
  stroke-width: .8;
  opacity: .5;
  overflow: visible;
}
.landscape-art[data-landscape-state=unavailable] img { visibility: hidden; }

/* A single spatial study opens the collection; the project drawings keep their roles. */
body[data-landscape-page=portfolio] .portfolio-home .intro {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  grid-template-rows: auto auto;
  column-gap: clamp(20px, 4vw, 60px);
  row-gap: 22px;
  align-items: start;
  padding-top: 48px;
  padding-bottom: 34px;
}
body[data-landscape-page=portfolio] .intro-copy { grid-column: 1; grid-row: 1; align-self: end; }
body[data-landscape-page=portfolio] .intro h1.handwritten-intro { width: clamp(220px, 22vw, 290px); }
body[data-landscape-page=portfolio] .intro-orientation { grid-column: 1; grid-row: 2; align-self: start; min-width: 0; }
body[data-landscape-page=portfolio] .intro-question { max-width: 31ch; margin-top: 0; }
body[data-landscape-page=portfolio] .catalog-jumps { max-width: 430px; }
body[data-landscape-page=portfolio] .catalog-jumps a { font-size: 21px; border-color: #a8b29a; }
.landscape-art--portfolio-hero {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  height: clamp(340px, 37vw, 460px);
  width: calc(100% + 22px);
  margin-left: -6px;
}
.landscape-art--portfolio-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 12% 4% 2%;
  border-radius: 47% 53% 46% 54% / 62% 50% 50% 38%;
  background: radial-gradient(ellipse at 47% 68%, #e5e8d765, #eee9d72b 55%, transparent 72%);
}
body[data-landscape-page=portfolio] .catalog-index { position: relative; padding-bottom: 20px; }
body[data-landscape-page=portfolio] .catalog-heading { padding-top: 28px; border-top: 1px solid var(--landscape-line); max-width: none; }
body[data-landscape-page=portfolio] .catalog-heading h2,
body[data-landscape-page=portfolio] .index-heading h2 { color: #344637; }
body[data-landscape-page=portfolio] .catalog-grid { column-gap: clamp(32px, 5vw, 70px); }
body[data-landscape-page=portfolio] .catalog-card { padding-block: 30px 27px; border-top-color: #d9dccd; }
body[data-landscape-page=portfolio] .catalog-main::before { background: #e8ecdf; }
body[data-landscape-page=portfolio] .catalog-main .project-mark { color: #586c53; }
.landscape-art--catalog-ground { width: 100%; height: 148px; margin-top: 12px; }
.landscape-art--catalog-ground img { width: 255px; margin-left: auto; margin-right: 8%; object-position: bottom; }
.landscape-art--catalog-ground .landscape-ground { inset-block-end: 9%; width: 88%; left: 3%; height: 50%; opacity: .34; }
body[data-landscape-page=portfolio] .work-index { background: transparent; }
body[data-landscape-page=portfolio] .index-heading { position: relative; padding-right: 118px; min-height: 118px; }
.landscape-art--interactive-heading { position: absolute; width: 100px; height: 118px; right: 3px; bottom: 3px; }
.landscape-art--interactive-heading .landscape-ground { display: none; }
body[data-landscape-page=portfolio] .work-card { border-color: var(--landscape-line); }

/* Cover illustrations occupy their own space; diagrams and evidence are untouched. */
body[data-landscape-page=article] .catalog-detail,
body[data-landscape-page=article] .detail-page { background: transparent; }
body[data-landscape-page=article] .project-intro { position: relative; max-width: none; padding-right: 270px; min-height: 260px; }
body[data-landscape-page=article] .project-title-row { align-items: start; }
body[data-landscape-page=article] .project-title-row h1 { font-size: clamp(34px, 4.3vw, 54px); text-wrap: balance; }
body[data-landscape-page=article] .project-title-row > .project-mark { width: 64px; height: 60px; flex: 0 0 64px; }
body[data-landscape-page=article] .project-lead { font-size: 20px; }
.landscape-art--article-cover { position: absolute; right: -12px; top: 50px; width: 270px; height: 220px; }
body[data-landscape-page=article] .detail-intro { position: relative; padding-top: 30px; padding-bottom: 38px; border-color: var(--landscape-line); }
body[data-landscape-page=article] .detail-intro .landscape-art--article-cover { right: 22px; top: 32px; width: 280px; height: 230px; }
body[data-landscape-page=article] .detail-intro > :is(h1, .detail-subtitle, .eyebrow) { max-width: calc(100% - 310px); }
body[data-landscape-page=article] .detail-intro h1 { text-wrap: balance; }
body[data-landscape-page=article] .detail-intro .work-tech { position: relative; z-index: 2; margin-top: 30px; }
body[data-landscape-page=article] .project-section { border-top-color: var(--landscape-line); }
body[data-landscape-page=article] .project-page-nav a[aria-current],
body[data-landscape-page=article] .reading-index li a[aria-current=true] { color: #415b38; background-color: #eef0e5; }
.landscape-art--reading-margin { height: 176px; width: 145px; margin: 32px auto 0; opacity: .83; }
.landscape-art--reading-margin .landscape-ground { width: 125%; inset-inline-start: -12%; }
.landscape-art--reading-end { height: 158px; max-width: 1060px; margin: 14px auto -20px; }
.landscape-art--reading-end img { width: 238px; margin-left: auto; margin-right: 7%; }
.landscape-art--reading-end .landscape-ground { width: 88%; left: 5%; opacity: .35; }
body[data-landscape-page=article] .project-pagination { position: relative; border-color: var(--landscape-line); }

@media (min-width: 1500px) {
  .landscape-art--portfolio-hero { height: 485px; width: calc(100% + 65px); }
}
@media (max-width: 1000px) {
  body[data-landscape-page=portfolio] .portfolio-home .intro { column-gap: 26px; padding-top: 36px; }
  body[data-landscape-page=portfolio] .intro h1.handwritten-intro { width: 225px; }
  .landscape-art--portfolio-hero { height: 355px; }
  body[data-landscape-page=article] .project-intro { padding-right: 220px; }
  .landscape-art--article-cover { width: 215px; height: 205px; right: -6px; }
  body[data-landscape-page=article] .detail-intro .landscape-art--article-cover { width: 220px; height: 210px; }
  body[data-landscape-page=article] .detail-intro > :is(h1, .detail-subtitle, .eyebrow) { max-width: calc(100% - 235px); }
}
@media (max-width: 800px) {
  .landscape-art--reading-margin { display: none; }
  body[data-landscape-page=article] .project-title-row > .project-mark { display: none; }
  body[data-landscape-page=article] .project-intro { padding-right: 180px; }
  .landscape-art--article-cover { width: 175px; height: 185px; top: 72px; }
  body[data-landscape-page=article] .detail-intro .landscape-art--article-cover { width: 175px; height: 185px; top: 45px; }
  body[data-landscape-page=article] .detail-intro > :is(h1, .detail-subtitle, .eyebrow) { max-width: calc(100% - 195px); }
}
@media (max-width: 600px) {
  body[data-landscape-page=portfolio] .portfolio-home .intro { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; row-gap: 17px; padding-block: 26px 10px; }
  body[data-landscape-page=portfolio] .intro h1.handwritten-intro { width: 172px; }
  body[data-landscape-page=portfolio] .intro-copy { grid-row: 1; }
  body[data-landscape-page=portfolio] .intro-orientation { grid-row: 2; }
  body[data-landscape-page=portfolio] .intro-question { max-width: 36ch; font-size: 17px; margin-bottom: 16px; }
  body[data-landscape-page=portfolio] .catalog-jumps { gap: 8px 18px; }
  body[data-landscape-page=portfolio] .catalog-jumps a { font-size: 17px; min-height: 44px; }
  .landscape-art--portfolio-hero { grid-column: 1; grid-row: 3; width: min(100%, 430px); height: 245px; margin: -3px auto 0; }
  body[data-landscape-page=portfolio] .catalog-heading { padding-top: 20px; }
  body[data-landscape-page=portfolio] .catalog-card { padding-block: 24px; }
  .landscape-art--catalog-ground { height: 108px; margin-top: 0; }
  .landscape-art--catalog-ground img { width: 180px; margin-right: 1%; }
  body[data-landscape-page=portfolio] .index-heading { padding-right: 78px; min-height: 102px; }
  .landscape-art--interactive-heading { width: 68px; height: 90px; bottom: 8px; }
  body[data-landscape-page=article] .project-intro { padding-right: 0; padding-bottom: 16px; min-height: 0; }
  body[data-landscape-page=article] .project-lead { font-size: 18px; }
  body[data-landscape-page=article] .detail-intro { padding-bottom: 16px; margin-bottom: 26px; }
  body[data-landscape-page=article] .detail-intro > :is(h1, .detail-subtitle, .eyebrow) { max-width: 100%; }
  .landscape-art--article-cover,
  body[data-landscape-page=article] .detail-intro .landscape-art--article-cover { position: relative; inset: auto; height: 135px; width: 200px; margin: 7px 0 -2px auto; }
  .landscape-art--reading-end { height: 112px; margin-bottom: -16px; }
  .landscape-art--reading-end img { width: 170px; margin-right: 6%; }
}
@media print {
  .landscape-art { display: none !important; }
  body[data-landscape-page=portfolio] .portfolio-home .intro { display: block; }
  body[data-landscape-page=article] .project-intro { padding-right: 0; min-height: 0; }
  body[data-landscape-page=article] .detail-intro > :is(h1, .detail-subtitle, .eyebrow) { max-width: none; }
}
