.av-reading-switch{display:inline-flex;flex-shrink:0;gap:3px;padding:3px;border:1px solid #688393;border-radius:6px;background:#162b3b;font-family:"IBM Plex Sans","Segoe UI",sans-serif;white-space:nowrap}
.av-reading-switch button{min-height:36px;padding:7px 12px;border:0;border-radius:3px;background:transparent;color:#fff;font:400 14px/1.2 "IBM Plex Sans","Segoe UI",sans-serif;cursor:pointer}
.av-reading-switch button[aria-pressed="true"]{background:#f1cb74;color:#142334;font-weight:700}
.av-reading-switch button:focus-visible,.av-reading a:focus-visible,.av-atlas a:focus-visible,.av-atlas button:focus-visible{outline:3px solid #c49336;outline-offset:3px}
.av-reading{max-width:960px;margin:0 auto;color:#283c49;font-family:"IBM Plex Sans","Segoe UI",sans-serif;font-size:18px;line-height:1.7}
.av-reading .av-overview{max-width:850px;margin:0 auto 28px;font-size:clamp(19px,2vw,23px);line-height:1.65;color:#354956}
.av-chapter{max-width:850px;margin:30px auto}
.av-chapter h3,.av-connections h3,.av-sources h3{font:600 clamp(23px,2.4vw,29px)/1.2 "IBM Plex Sans Condensed","Segoe UI",sans-serif;margin:0 0 14px;color:#193547}
.av-chapter p{margin:0 0 18px;line-height:1.75}
.av-picture{margin:0 auto 28px;padding:0;min-width:0;max-width:1000px}
.av-picture img{display:block;width:100%;height:auto;max-height:48vh;object-fit:contain;background:#e5e3dd}
.av-picture figcaption{padding:10px 0 0;color:#344958;font-size:14px;line-height:1.5}
.av-picture small{display:block;margin-top:6px;font-size:11px;color:#52616b}
.av-reading a{color:#195475!important;text-decoration:underline;text-underline-offset:3px}
.av-picture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:24px;margin:30px auto}
.av-picture-grid img{height:240px}
.av-connections{margin:34px auto 0;padding-top:26px;border-top:1px solid #c6c9c8}
.av-eyebrow{margin:0 0 7px!important;font-size:11px!important;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#2e7472}
.av-connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}
.av-connection{display:flex;flex-direction:column;border:1px solid #c6c9c8;background:#f6f1e8;text-decoration:none!important;overflow:hidden}
.av-connection img{width:100%;height:185px;object-fit:contain;background:#e5e3dd}
.av-connection>span{display:flex;flex-direction:column;gap:8px;padding:16px}
.av-connection small{font-size:11px;color:#52616b}.av-connection strong{font:600 22px/1.2 "IBM Plex Sans Condensed","Segoe UI",sans-serif}.av-connection span span{font-size:14px;line-height:1.5}.av-connection b{font-size:12px;padding-top:6px}
.av-sources{max-width:850px;margin:32px auto 0;padding-top:20px;border-top:1px solid #c6c9c8}
.av-sources h3{font-size:20px}.av-sources a{display:block;margin:8px 0;font-size:13px;line-height:1.5}
.av-atlas{box-sizing:border-box;width:min(1120px,96vw);max-height:94dvh;padding:0;border:1px solid #c96f43;background:#f4efe5;color:#243a49;font-family:"IBM Plex Sans","Segoe UI",sans-serif}
.av-atlas::backdrop{background:#0d1b2ac9;backdrop-filter:blur(4px)}
.av-atlas>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;background:#1d2529;color:#fff;position:sticky;top:0;z-index:1}
.av-atlas h2{margin:0;font:600 32px/1.2 "IBM Plex Sans Condensed","Segoe UI",sans-serif}.av-atlas header .av-eyebrow{color:#f1cb74}.av-atlas header button{width:48px;height:48px;flex-shrink:0;border:1px solid #f1cb74;background:#c96f43;color:#fff;font-size:34px;cursor:pointer}
.av-atlas-body{padding:24px 28px 34px}.av-atlas-intro{font-size:20px;line-height:1.6;margin:0 0 28px;max-width:850px}
.av-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:24px}.av-theme{padding:22px;background:#fffaf0;border-top:4px solid #c96f43}.av-theme h3{margin:0;font:600 27px/1.2 "IBM Plex Sans Condensed","Segoe UI",sans-serif}.av-theme p{font-size:15px;line-height:1.55}.av-theme ol{padding-left:20px}.av-theme li{margin:12px 0}.av-theme a{display:block;color:#195475}.av-theme small{display:block;font-size:11px;margin-top:4px;color:#52616b}
.av-atlas-all{font:600 30px/1.2 "IBM Plex Sans Condensed","Segoe UI",sans-serif;margin:36px 0 20px}.av-gallery-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:22px}.av-gallery-links h3{font-size:19px}.av-gallery-links a{display:block;margin:12px 0;color:#195475;font-size:15px;line-height:1.4}
/* The reading choice belongs beside the existing close button, inside each window. */
.as-object{container:av-object / inline-size}
.as-object__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding-right:90px}
.as-object__header h2{font-size:clamp(21px,2vw,29px)}
.as-object__header .av-reading-switch{align-self:start}
.as-object__body>.av-reading>.av-picture:first-child{margin-top:0}
.as-menu__list .av-gallery-links{display:block;padding:0 16px 20px}
.as-ribbon__lesson{display:none!important}
.object-heading .av-reading-switch{margin-left:auto;margin-right:12px;align-self:center}
.object-heading>div:first-child{min-width:0;flex:1}.object-heading h2{font-size:clamp(21px,2vw,29px)}
.object-body .av-reading{max-width:920px}
.object-body .av-reading .av-picture img{max-height:48vh}
.av-map-link{display:block;padding:12px 16px;margin:12px;background:#162b3b;color:#fff;border:1px solid #668297;font:600 14px "IBM Plex Sans","Segoe UI",sans-serif;cursor:pointer}
@container av-object (max-width:540px){.as-object__header{gap:10px;padding-left:16px;padding-right:70px}.as-object__header .av-reading-switch{flex-direction:column;padding:2px;gap:2px}.as-object__header .av-reading-switch button{min-height:30px;padding:4px 8px;font-size:12px}}
@media(max-width:600px){.av-reading{font-size:17px}.av-chapter p{line-height:1.65}.av-atlas-body{padding:20px 16px}.av-atlas>header{padding:16px}.object-heading{gap:8px;padding:12px}.object-heading .av-reading-switch{flex-direction:column;gap:2px;padding:2px;margin-right:0}.object-heading .av-reading-switch button{min-height:30px;padding:4px 8px;font-size:12px}.av-picture-grid{grid-template-columns:1fr}}
.object-story .av-reading p{font-size:18px;line-height:1.75}.object-story .av-reading .av-overview{font-size:22px;line-height:1.6}
.object-media{max-height:none}.object-photograph figcaption{box-sizing:border-box;display:block;width:100%;padding:10px 24px;background:#eee8dc;color:#3b4b55;font-size:12px;line-height:1.5}.object-photograph figcaption a{color:#195475}
.object-story .av-reading .av-eyebrow{font-size:11px}.object-media .object-photograph{height:auto}
