.aai-layout { display: grid; grid-template-columns: 172px minmax(0, 1fr); gap: 32px; align-items: start; padding-top: 100px; padding-bottom: 48px; }
.aai-sidebar { position: sticky; top: 96px; max-height: calc(100svh - 120px); overflow: auto; padding: 8px 12px 12px 0; }
.aai-sidebar-title { margin: 0 0 20px; font: 700 15px/1.4 var(--layout-ui); }
.aai-sidebar nav { display: grid; }
.aai-sidebar nav a { border-left: 2px solid #e7e4eb; padding: 8px 0 8px 10px; color: #66616d; font: 400 12px/1.5 var(--layout-ui); text-decoration: none; }
.aai-sidebar nav a:hover { background: #f7f5fa; color: #342949; }
.aai-sidebar nav a[aria-current] { border-left-color: #7351bd; background: #f1edf8; color: #342949; font-weight: 700; }
.aai-sidebar a:focus-visible, .aai-mobile-contents :focus-visible { outline: 2px solid #7351bd; outline-offset: 2px; }
.aai-mobile-contents { display: none; }
/* Jump directly: smooth chapter jumps download images along the entire route. */
html:has(.aai-page) { scroll-behavior: auto; }
.aai-content { min-width: 0; }
.aai-image-retry { display: block; margin: 8px 0; padding: 8px 12px; border: 1px solid #aaa; border-radius: 4px; background: #fff; color: #222; font: 400 13px/1.5 var(--layout-ui); cursor: pointer; }
.aai-content [id] { scroll-margin-top: 110px; }
.aai-page .aai-content .landing-session { padding: 48px 32px; border-radius: 4px; }
.aai-page .aai-content .columns-3 { gap: 24px; }
.aai-page .aai-content .myheading1 { font-size: clamp(30px, 3vw, 46px); }
.aai-page .aai-content .paragraph-3 { font-size: 15px; line-height: 1.65; }
.aai-page .aai-content .col-image { width: 100%; }
.aai-page .aai-content .hero-mockup { width: 100%; height: auto; object-fit: contain; }
.aai-page .aai-content .case-container { width: 100%; max-width: none; margin: 0; padding: 0; }
.aai-page .aai-content .narrative-block { margin: 56px 0; padding-top: 28px; border-top: 1px solid #ebe8ee; }
.aai-page .aai-content .heading, .aai-page .aai-content .section-title { margin: 0 0 24px; font: 400 clamp(28px, 2.7vw, 38px)/1.2 var(--layout-display); letter-spacing: -.02em; }
.aai-page .aai-content .myheading1-4 { margin: 32px 0 20px; font: 700 23px/1.35 var(--layout-ui); }
.aai-page .aai-content .narrative-block > p { max-width: 72ch !important; }
.aai-page .aai-content .banner-row { margin: 28px 0 40px; }
.aai-page .aai-content .banner-row img { width: 100%; max-width: 100% !important; height: auto; }
@media (max-width: 1000px) {
  .aai-layout { grid-template-columns: 150px minmax(0, 1fr); gap: 24px; }
  .aai-page .aai-content .columns-3 { grid-template-columns: 1fr; }
  .aai-page .aai-content .col-image { max-width: 480px; margin: auto; }
}
@media (max-width: 760px) {
  .aai-layout { display: block; padding-top: 84px; }
  .aai-sidebar { display: none; }
  .aai-mobile-contents { display: block; position: static; margin-top: 24px; border-block: 1px solid #e7e4eb; font-family: var(--layout-ui); }
  .aai-mobile-contents summary { display: flex; align-items: center; justify-content: space-between; padding: 16px 4px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 700; }
  .aai-mobile-contents summary::-webkit-details-marker { display: none; }
  .aai-mobile-contents summary::after { content: ''; width: 7px; height: 7px; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
  .aai-mobile-contents[open] summary::after { transform: rotate(225deg); }
  .aai-mobile-contents nav { display: grid; padding-bottom: 12px; }
  .aai-mobile-contents nav a { padding: 12px 8px; color: #66616d; font-size: 13px; line-height: 1.5; text-decoration: none; }
  .aai-mobile-contents nav a:hover, .aai-mobile-contents nav a[aria-current] { background: #f1edf8; color: #342949; }
  .aai-content [id] { scroll-margin-top: 88px; }
  .aai-page .aai-content .landing-session { padding: 28px 20px; }
}
@media print { .aai-sidebar, .aai-mobile-contents { display: none; } .aai-layout { display: block; padding-top: 0; } }
