/* Two related scene photographs; fixed equal rectangles at every width. */
#cycle .crossroads {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 40px;
}
#cycle .crossroads > .micro-label { grid-column: 1 / -1; }
#cycle .crossroads-scene { min-width: 0; }
#cycle .crossroads-image {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 0 0 24px;
  overflow: hidden;
}
#cycle .crossroads-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#cycle .crossroads-scene p { margin: 0; font-size: 18px; line-height: 1.95; text-wrap: pretty; }

/* Restore a shared reading edge for the nine-groups introduction. */
#groups .group-heading { display: block; margin-bottom: 38px; }
#groups .group-heading .heading-aside {
  max-width: none;
  width: auto;
  margin: 30px 0 0;
  font-size: 18px;
  line-height: 1.95;
  text-wrap: balance;
}
#groups .card-field-label {
  display: block;
  margin-bottom: 6px;
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: #b9bcac;
  letter-spacing: .04em;
}
@media (max-width: 760px) {
  #cycle .crossroads { grid-template-columns: 1fr; gap: 24px; }
  #cycle .crossroads-scene + .crossroads-scene { margin-top: 12px; }
  #cycle .crossroads-scene p, #groups .group-heading .heading-aside { font-size: 17px; }
  #groups .group-card .card-body p > b {
    display: block;
    width: auto;
    margin-bottom: 6px;
    font-size: 14px;
    line-height: 1.5;
  }
}

/* Combine the assigned-group and daily-service information in one readable section. */
#groups .work-grid-images { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
#groups .work-grid-images article { min-width: 0; }
#groups .work-grid-images .work-image { position: relative; margin: 0 0 20px; aspect-ratio: 16 / 10; overflow: hidden; }
#groups .work-grid-images .work-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#groups .work-grid-images .work-artworks { background: #d8d1bf; }
#groups .work-artworks > div { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px; }
#groups .work-artworks img { display: block; width: auto; max-width: calc(50% - 5px); height: 100%; object-fit: contain; }
#groups .work-grid-images h4 { margin: 0 0 8px; color: var(--paper); font-family: var(--serif); font-size: 22px; }
#groups .work-grid-images p { min-height: 0; padding: 0; border: 0; font-size: var(--reading-size); text-wrap: pretty; }
@media (max-width: 1100px) { #groups .work-grid-images { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; } }
@media (max-width: 600px) { #groups .work-grid-images { grid-template-columns: minmax(0, 1fr); } }

#groups .defense-mapping-spread { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
#groups .defense-mapping-spread dl { display: grid; grid-template-rows: repeat(5, auto); min-width: 0; border: 1px solid var(--rule-light); background: rgb(243 240 231 / 3%); }
#groups .defense-mapping-spread dl > div { grid-template-columns: 3em minmax(0, 1fr); gap: 16px; align-items: start; padding: 17px 20px; }
#groups .defense-mapping-spread dl > div:last-child { border-bottom: 0; }
#groups .defense-mapping-spread dt { white-space: nowrap; font-size: 20px; }
#groups .defense-mapping-spread dd { font-size: var(--reading-size); line-height: 1.8; text-wrap: pretty; }
#groups .defense-place-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
#groups .defense-place-grid figure { position: relative; margin: 0; min-width: 0; min-height: 0; background: #233229; overflow: hidden; }
#groups .defense-place-grid img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 1000px) {
  #groups .defense-mapping-spread { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #groups .defense-place-grid { aspect-ratio: 3 / 2; }
}
@media (max-width: 600px) {
  #groups .defense-mapping-spread dl > div { padding: 18px 16px; gap: 5px; grid-template-columns: minmax(0, 1fr); }
  #groups .defense-mapping-spread dt { font-size: 18px; }
  #groups .defense-place-grid { gap: 8px; }
}

#assigned.practice-combined .practice-combined-heading {
  grid-template-columns: minmax(calc(var(--chapter-size) * 8.4), 1.08fr) minmax(0, 1fr);
  column-gap: clamp(32px, 4vw, 64px);
  align-items: start;
  margin-bottom: clamp(38px, 5vw, 68px);
}
#assigned.practice-combined .practice-title-line { display: block; white-space: nowrap; }
#assigned.practice-combined .practice-combined-intro .lead { text-wrap: pretty; }
#assigned.practice-combined .practice-grid p { text-wrap: pretty; }
#assigned.practice-combined .practice-combined-intro {
  max-width: 780px;
}
#assigned.practice-combined .practice-combined-intro > p:last-child {
  max-width: 660px;
  margin: 0;
  font-family: var(--serif);
  font-size: 19px;
}
#assigned.practice-combined .practice-grid {
  border-top-color: rgb(23 27 25 / 48%);
  border-bottom-color: rgb(23 27 25 / 28%);
}
#assigned.practice-combined .practice-grid article {
  border-color: rgb(23 27 25 / 24%);
}
#assigned.practice-combined .practice-close {
  max-width: none;
  margin-bottom: 24px;
}
#assigned.practice-combined .practice-commitment {
  display: grid;
  grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr);
  gap: 18px;
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid rgb(23 27 25 / 35%);
  color: #3f3c32;
  font-size: 17px;
  line-height: 1.85;
  scroll-margin-top: 100px;
}
#assigned.practice-combined .practice-commitment strong {
  color: #393729;
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
}
#assigned.practice-combined #practice { scroll-margin-top: 100px; }
@media (max-width: 1000px) {
  #assigned.practice-combined .practice-combined-heading { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
  #assigned.practice-combined .practice-grid { grid-template-columns: minmax(0, 1fr); }
  #assigned.practice-combined .practice-grid article,
  #assigned.practice-combined .practice-grid article + article { min-height: 0; padding: 24px 0; border-right: 0; border-bottom: 1px solid rgb(23 27 25 / 24%); }
  #assigned.practice-combined .practice-grid article:last-child { border-bottom: 0; }
}
@media (max-width: 760px) {
  #assigned.practice-combined .practice-commitment {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
