/* Structural additions only: existing illustrations, palettes and component rules stay unchanged. */
.chapter-reserved { padding-block: 28px; }
.chapter-reserved .section-label { margin: 0; font-size: 13px; line-height: 1.6; font-weight: 500; }
.business-flow-detail { margin-top: 64px; scroll-margin-top: 96px; }
#architecture { scroll-margin-top: 96px; }
.design-goals .strategy-reference-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 5%; }
.design-goals h2 { font-size: clamp(30px, 2.8vw, 54px); }
.design-goals .strategy-cards { margin-top: 20px; }
.design-goals .problem-focus { width: 100%; margin-inline: 0; }
.design-goals .problem-principles { width: 100%; margin-inline: 0; gap: 20px; }
.design-goals .problem-principles li::after { display: none; }
.design-goals .goal-keywords { margin-top: 16px; overflow-wrap: anywhere; }
.experience-opportunities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.experience-opportunities h3 { margin-top: 12px; font-size: 18px; }
.experience-opportunities li > p:last-child { margin-top: 10px; font-size: 15px; }
@media (max-width: 1150px) {
 .design-goals .strategy-reference-layout { grid-template-columns: 1fr; gap: 24px; }
 .experience-opportunities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
 .experience-opportunities { grid-template-columns: 1fr; }
 .business-flow-detail { margin-top: 40px; }
}
