/* SITE-073: composition within the existing article design system. */
.ama-page .article-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.ama-page .article-hero-copy { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.ama-page .article-hero-copy > :not(.ama-questions) { grid-column: 1; }
.ama-page .article-hero-copy .ama-questions { grid-column: 2; grid-row: 1 / 5; align-self: center; }
.ama-page .article-hero .ama-diagram { margin: 0; padding: 0; border: 0; box-shadow: none; }
.ama-page .article-hero { padding: 30px; box-shadow: none; }
.ama-page .article-hero-title { font-size: clamp(1.85rem, 2.8vw, 2.7rem); line-height: 1.08; }
.ama-page .article-hero-accent { margin: 20px 0; }
.ama-positioning { color: #31466f; font-size: 1.12rem; line-height: 1.5; margin-bottom: 20px; }
.ama-questions { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.ama-questions li { border-left: 2px solid #b7cbef; padding-left: 12px; color: #173061; font-size: .96rem; line-height: 1.5; }
.ama-page .article-hero-visual img { width: 100%; max-width: 300px; height: auto; transform: none; }
.ama-introduction { padding: 20px 0 32px; }
.ama-introduction p, .ama-page .doc-section p, .ama-page .doc-section li { line-height: 1.75; }
.ama-introduction p { color: #283d67; margin: 0 0 1.15rem; }
.ama-page .doc-section { padding: 36px 0; }
.ama-page .doc-section h2 { font-size: clamp(1.5rem, 2.1vw, 1.9rem); line-height: 1.25; max-width: 36ch; }
.ama-page .doc-section h3 { margin-top: 32px; line-height: 1.4; }
.ama-page h2, .ama-page h3, .ama-page p, .ama-page li, .ama-page th, .ama-page td { overflow-wrap: anywhere; hyphens: auto; }
.ama-page .doc-section p, .ama-introduction > p { max-width: 78ch; }
@media (min-width: 992px) {
  .ama-page .doc-section p, .ama-introduction > p, .ama-page .doc-section h2 { max-width: none; }
  .ama-page h2, .ama-page h3, .ama-page p, .ama-page li, .ama-page th, .ama-page td { hyphens: manual; overflow-wrap: break-word; }
}
.ama-page .toc-link { font-size: .87rem; line-height: 1.45; padding: 4px 0; }
.ama-toc-sub { margin-left: 14px; }
.ama-toc-sub .toc-link { color: #687ca2; font-size: .8rem; }
.ama-page .toc-link[aria-current="location"] { color: #2d5bff; font-weight: 700; }
.ama-page .related-card, .ama-page .insight-card { box-shadow: none; padding: 16px 12px; }
.ama-diagram { padding: 18px; margin: 28px 0; }
.ama-diagram picture { display: block; }
.ama-diagram img { width: 100%; height: auto; }
.ama-diagram[data-diagram="4"] img { display: block; max-width: 680px; margin-inline: auto; }
@media (min-width: 576px) {
  .ama-diagram[data-diagram="4"] img { max-width: 600px; }
  .ama-diagram[data-diagram="9"] img { max-width: 820px; margin-inline: auto; }
}
.ama-diagram figcaption { color: #687ca2; font-size: .8rem; line-height: 1.5; margin-top: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.ama-zoom-hint { color: #2d5bff; white-space: nowrap; }
/* The explicit caption keeps the existing zoom affordance clear of diagram labels. */
.ama-diagram.is-zoomable::before, .ama-diagram.is-zoomable::after { display: none; }
.ama-table-wrap { margin: 24px 0 30px; }
.ama-table-wrap table { width: 100%; table-layout: fixed; border-collapse: collapse; color: #283d67; font-size: .95rem; line-height: 1.65; }
.ama-table-wrap th, .ama-table-wrap td { vertical-align: top; text-align: left; padding: 16px; border: 1px solid #dfe6f2; }
.ama-table-wrap thead th { background: #edf3ff; color: #173061; font-weight: 650; }
.ama-table-wrap tbody th { width: 32%; font-weight: 600; background: #f8faff; }
.ama-table-wrap th:first-child { width: 32%; }
.ama-quote { margin: 24px 0; }
.ama-quote p { margin: 0; }
.ama-introduction > p:last-child { background: #f3f7ff; border-left: 3px solid #b7cbef; padding: 18px 22px; margin-bottom: 0; border-radius: 0 12px 12px 0; }
.ama-page .doc-section:last-child > p:last-child { padding: 22px; border-left: 3px solid #e5bf75; background: #fffaf0; border-radius: 0 12px 12px 0; margin-top: 24px; }
.ama-contact { padding: 0 0 36px; font-weight: 600; }
.ama-mobile-toc { display: none; }
.ama-lightbox-toolbar { display: flex; align-items: center; gap: 12px; padding: 14px 64px 14px 20px; background: white; border-radius: 18px 18px 0 0; }
.ama-lightbox-toolbar h2 { font-size: 1rem; margin: 0; flex: 1; }
.ama-lightbox-toolbar button[data-lightbox-size] { padding: 7px 10px; border: 1px solid #d8e3f4; background: #f3f7ff; color: #173061; border-radius: 8px; font-size: .85rem; }
.ama-page .media-lightbox-close { top: 11px; right: 12px; }
.ama-page .media-lightbox-stage { display: block; overflow: auto; max-height: calc(100dvh - 155px); padding: 20px; border-radius: 0 0 18px 18px; overscroll-behavior: contain; }
.ama-page .media-lightbox-stage img { margin: auto; max-height: none; width: min(100%, 1000px); height: auto; border-radius: 0; }
.ama-page .media-lightbox-stage.is-detail img { width: var(--diagram-width); max-width: none; }
@media (max-width: 1199.98px) {
  .ama-page .article-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .ama-page .article-hero-visual img { max-width: 340px; }
}
@media (max-width: 991.98px) {
  .ama-page .article-hero-copy { display: block; }
  .ama-mobile-toc { display: block; margin: 4px 0 12px; padding: 14px 18px; border: 1px solid #dfe6f2; border-radius: 12px; background: #f8faff; }
  .ama-mobile-toc summary { font-weight: 600; color: #173061; cursor: pointer; }
  .ama-mobile-toc nav { margin-top: 16px; }
  .ama-mobile-toc .toc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 22px; }
}
@media (max-width: 575.98px) {
  .ama-page .article-hero { padding: 22px 18px; }
  .ama-page .article-hero-grid { gap: 20px; }
  .ama-page .article-hero-visual img { max-width: 270px; }
  .ama-page .article-hero-title { font-size: 1.95rem; }
  .ama-positioning { font-size: 1.03rem; }
  .ama-questions li { font-size: .93rem; }
  .ama-introduction { padding-top: 16px; }
  .ama-page .doc-section { padding: 28px 0; }
  .ama-page .doc-section h2 { font-size: 1.55rem; }
  .ama-diagram { padding: 8px; border-radius: 12px; }
  .ama-diagram figcaption { padding: 0 8px 8px; }
  .ama-table-wrap table { font-size: .9rem; }
  .ama-table-wrap th, .ama-table-wrap td { padding: 10px 8px; }
  .ama-table-wrap th:first-child { width: 34%; }
  .ama-mobile-toc .toc { grid-template-columns: minmax(0, 1fr); }
  .ama-page .media-lightbox { padding: 8px; }
  .ama-page .media-lightbox-dialog { width: calc(100vw - 16px); }
  .ama-lightbox-toolbar { padding-left: 12px; gap: 6px; }
  .ama-lightbox-toolbar h2 { font-size: .85rem; }
  .ama-lightbox-toolbar button[data-lightbox-size] { font-size: .75rem; padding: 7px; }
  .ama-page .media-lightbox-stage { padding: 8px; max-height: calc(100dvh - 95px); }
}
@media print {
  .ama-page .article-layout { display: block; }
  .ama-page .article-rail, .ama-mobile-toc, .ama-contact, .ama-zoom-hint, .ama-page .media-lightbox { display: none !important; }
  .ama-diagram, .ama-table-wrap tr { break-inside: avoid; }
}
