.offer-plate { padding: 2rem 2.3rem 2.3rem; background: var(--field); color: #fff; border-radius: var(--round); margin: 2.7rem 0 4rem; }
.offer-plate figcaption, .bill-plate figcaption { font-size: 25px; line-height: 1.3; margin-bottom: 1.6rem; }
.offer-pieces { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; }
.offer-pieces > div { border-top: 2px solid #b8bbec; padding-top: 1.1rem; }
.offer-pieces dt { font-family: var(--display-face); font-size: 32px; line-height: 1.2; margin-bottom: .5rem; }
.offer-pieces dd { font-size: 21px; line-height: 1.4; }
.briefing-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 4rem; margin-top: 2rem; }
.index-cluster h3 { color: var(--brick); padding: .9rem 0; border-bottom: 2px solid var(--brick); }
.index-cluster ul { list-style: none; padding: 0; margin: 0; }
.index-cluster li { margin: 0; border-bottom: 1px solid var(--line); }
.index-cluster a { display: block; font-size: 23px; padding: 1rem .1rem; text-decoration: none; }
.index-cluster a:hover { color: var(--ink); }
.index-cluster a span { display: block; color: var(--muted); font-size: 20px; line-height: 1.35; margin-top: .25rem; }
.bill-plate { background: var(--brick); color: #fff; border-radius: var(--round); padding: 2rem; margin: 2rem 0 3.2rem; }
.bill-plate ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; padding: 0; margin: 0 0 1.4rem; list-style: none; }
.bill-plate li { font-size: 23px; padding: .7rem .8rem; border: 1px solid #e0b6a9; border-radius: var(--round); margin: 0; }
.bill-plate p { margin: 0; }
.source-shelf { margin: 1.4rem 0; }
.source-shelf li { border-top: 1px solid var(--line); padding: .55rem 0 .9rem; margin-bottom: .5rem; }
.source-shelf a { font-size: 22px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0; }
.source-shelf a span { flex: none; }
.source-shelf p { font-size: 20px; color: var(--muted); margin: .2rem 0 0; }
@media (max-width: 760px) {
  .offer-pieces { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .briefing-index { gap: 2rem; }
}
@media (max-width: 620px) {
  .offer-plate, .bill-plate { padding: 1.4rem; margin-bottom: 2.6rem; }
  .offer-pieces { gap: 1.5rem 1rem; }
  .offer-pieces dt { font-size: 28px; }
  .offer-pieces dd { font-size: 20px; }
  .briefing-index { grid-template-columns: 1fr; }
  .index-cluster a { font-size: 22px; }
  .bill-plate ul { grid-template-columns: 1fr; }
}
