*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:#17372d;background:#faf8ef;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ad568b;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 3.5%;background:#faf8eff5;border-bottom:1px solid #17372d22;backdrop-filter:blur(10px)}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font:700 23px Georgia,serif;white-space:nowrap}.brand small{font:10px Arial,sans-serif;display:block;letter-spacing:1.2px;margin-top:4px;text-transform:uppercase}.brand-mark{font:54px/1 Georgia,serif;position:relative;width:43px;color:#426447}.brand-mark span{position:absolute;right:0;top:1px;font-size:22px;color:#a88935}nav{display:flex;gap:19px;align-items:center}nav>a,summary{font-size:12px;text-decoration:none;cursor:pointer;line-height:1.4}nav>a[aria-current]{border-bottom:2px solid;padding-bottom:5px}summary{list-style:none}summary::-webkit-details-marker{display:none}.more{position:relative}.dropdown{position:absolute;right:0;top:32px;width:290px;background:#fffdf5;padding:16px;box-shadow:0 12px 35px #17372d26;border:1px solid #deded3;max-height:70vh;overflow:auto}.dropdown a{display:block;padding:8px 10px;font-size:14px;text-decoration:none}.dropdown a:hover{background:#e8eddc}.menu-toggle{display:none}.hero{padding:65px max(6%,calc((100vw - 1260px)/2));background:#173e32;color:#fff9e5}.home-hero{display:grid;grid-template-columns:1.5fr 1fr;min-height:530px;align-items:center;gap:50px;overflow:hidden}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2.4px;line-height:1.5;margin:0 0 24px}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.13}h1{font-size:clamp(40px,4.6vw,72px);letter-spacing:-2.3px;margin:0 0 25px}h1 em{font-weight:400;color:#f1d77a}.hero-copy{max-width:600px;color:#e4ecdc;font-size:17px;line-height:1.8;margin:0 0 30px}.button{display:inline-flex;align-items:center;gap:40px;background:#f1d77a;color:#17372d;padding:13px 23px;text-decoration:none;font-size:14px;font-weight:700}.orbit-art{height:340px;position:relative}.orbit{position:absolute;inset:15px;border:1px solid #e2d59688;border-radius:50%;transform:rotate(-30deg) scaleX(.65)}.orbit.two{transform:rotate(45deg) scaleX(.65);inset:-15px}.sun{position:absolute;width:180px;height:180px;border-radius:50%;background:#f0d57c;top:65px;left:calc(50% - 90px);box-shadow:inset -35px -15px 0 #ccac59}.star{position:absolute;color:#e9cce9;font-size:64px}.s1{top:-15px;right:30px}.s2{bottom:45px;left:0;font-size:35px}.art-note{position:absolute;bottom:-10px;right:0;font-size:9px;letter-spacing:2px;line-height:1.8}.page-hero{padding-top:60px;padding-bottom:50px}.page-hero h1{font-size:clamp(38px,5vw,66px);max-width:1000px}.theme-purple .hero{background:#37234b}.theme-purple .hero-copy{color:#eee0f5}.theme-purple h1 em{color:#edd391}.section-heading{max-width:1260px;margin:0 auto;padding:60px 6% 20px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:clamp(30px,3vw,43px);margin:0 0 13px;letter-spacing:-1px}.section-heading>p:last-child{font-size:15px;color:#5b6859}.feature-strip{display:flex;align-items:center;gap:30px;flex-wrap:wrap;max-width:1100px;margin:0 auto 40px;padding:15px 0;border-top:1px solid #183b3022;border-bottom:1px solid #183b3022;font-size:13px}.feature-strip>span{font-size:10px;letter-spacing:1.8px;color:#65745c}.feature-strip a{text-decoration:none}.feature-strip b{margin-left:15px}.content-block{padding:50px 6%;background:#5fa233}.content-block:nth-child(even){background:#fffc33}.theme-purple .content-block{background:#e5daed;color:#30213e}.theme-purple .content-block:nth-child(even){background:#cdb8dc}.block-inner{max-width:1080px;margin:auto;display:grid;grid-template-columns:50px minmax(0,1fr);gap:28px}.block-index{font:12px Arial,sans-serif;padding-top:8px;opacity:.55;border-top:1px solid currentColor;width:27px}.block-content{min-width:0;overflow-wrap:anywhere}.block-content h1,.block-content h2{font-size:clamp(26px,3vw,39px);margin:15px 0 24px}.block-content h3{font-size:27px}.block-content p{margin:15px 0;max-width:850px}.block-content img{display:block;max-width:100%;height:auto;max-height:760px;object-fit:contain;margin:20px auto}.block-content>a:has(img){display:block}.block-content a{font-weight:600}.block-content table{border-collapse:collapse;width:100%;table-layout:fixed}.block-content td{padding:10px;vertical-align:top;overflow-wrap:anywhere}.block-content video{width:100%;max-height:650px}.block-content blockquote{margin:25px 0;border-left:3px solid;padding-left:25px;font-family:Georgia,serif;font-size:24px}.block-content hr{border:0;border-top:1px solid #17372d33;margin:35px 0}footer{padding:55px 6% 35px;background:#112f27;color:#f7f0d6}.footer-brand{font:35px Georgia,serif;text-decoration:none}.footer-brand span{color:#f1d77a}footer p{font-size:13px;color:#bfcdbd}footer>div{display:flex;gap:30px;margin:30px 0;font-size:14px}footer small{font-size:11px;color:#b5c4b3}.empty{padding:70px 6%}@media(min-width:1500px){nav>a,summary{font-size:14px}}@media(max-width:1100px){.site-header{flex-wrap:wrap;padding:15px 5%}.menu-toggle{display:block;border:1px solid #17372d55;background:transparent;padding:8px 14px;font-size:13px}nav{display:none;width:100%;align-items:stretch;gap:0;flex-direction:column}nav.open{display:flex}nav>a,summary{font-size:16px;padding:13px 0}nav>a[aria-current]{border:0;font-weight:bold}.dropdown{position:static;width:100%;box-shadow:none;max-height:45vh}.home-hero{grid-template-columns:1.5fr 1fr;gap:15px}.feature-strip{margin-left:6%;margin-right:6%}}@media(max-width:650px){.home-hero{display:block;min-height:0;padding-top:45px;padding-bottom:40px}.orbit-art{display:none}h1{font-size:44px;letter-spacing:-1.5px}.hero-copy{font-size:16px}.page-hero{padding-top:40px}.brand{font-size:21px}.content-block{padding:30px 5%}.block-inner{grid-template-columns:1fr;gap:8px}.block-index{font-size:10px;width:22px}.block-content td{display:block;width:100%!important;padding:4px 0}.block-content table,.block-content tbody,.block-content tr{display:block;width:100%}.block-content img{max-height:none}.feature-strip{gap:14px 24px}.feature-strip>span{width:100%}.section-heading{padding-top:38px}.section-heading h2{font-size:34px}footer>div{flex-wrap:wrap;gap:15px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.theme-earth .content-block{color:#11241a}.feature-strip{width:88%;max-width:1100px;margin-left:auto;margin-right:auto}

/* Shared African School identity and consistent, uncropped image previews. */
body{color:#28251c}.site-header{background:#fffdf3f5;border-bottom-color:#28251c22}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:220px}.header-logo{display:block;width:230px;height:auto}.brand small{color:#403929;font-size:9px;margin:0;letter-spacing:1.1px}
.hero{background:#ffed97;color:#28251c}.hero-copy{color:#49412b}h1 em{color:#7a3b19}.button{background:#28251c;color:#fff9e5}.orbit{border-color:#8a6c3880}.sun{background:#edb82d;box-shadow:inset -35px -15px 0 #d59324}.star{color:#9a4177}
.theme-purple .hero{background:#37234b;color:#fff9e5}.theme-purple .star{color:#e9cce9}
footer{background:#faf8ef;color:#28251c;padding-top:35px;border-top:1px solid #28251c22}.footer-brand{display:block;max-width:1100px;margin:0 auto}.footer-brand img{display:block;width:100%;height:auto}.footer-brand+p{color:#49412b}footer small{color:#5c5442}
.block-content img{width:100%;max-width:640px;height:auto;aspect-ratio:4/3;max-height:none;object-fit:contain;cursor:zoom-in;background:#ffffff20;padding:10px;border:1px solid #28251c18}
.block-content img:focus-visible{outline:3px solid #703d8c;outline-offset:5px}
.image-lightbox{width:96vw;max-width:none;height:94vh;max-height:none;padding:55px 20px 20px;border:0;background:#171717;color:white;overflow:auto}.image-lightbox::backdrop{background:#000c}.image-lightbox figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}.image-lightbox img{display:block;max-width:100%;max-height:calc(100% - 55px);width:auto;height:auto;object-fit:contain}.image-lightbox figcaption{font-size:13px;text-align:center}.image-lightbox figcaption a{margin-left:18px}.lightbox-close{position:absolute;right:16px;top:12px;padding:8px 16px;background:#fff;color:#171717;border:0;cursor:pointer;font-size:15px}.lightbox-open{overflow:hidden}
@media(max-width:650px){.brand{min-width:0}.header-logo{width:205px}.image-lightbox{padding:55px 10px 15px}.image-lightbox figcaption a{display:block;margin:8px 0}.block-content img{height:auto;aspect-ratio:4/3}}

/* Fill more of each block and preserve each photo or poster's natural proportions. */
.block-content img{width:100%;max-width:900px;height:auto;aspect-ratio:auto;max-height:1000px;object-fit:contain;padding:0;background:transparent;border:0}
.document-card{display:flex;align-items:center;gap:22px;max-width:700px;margin:22px 0;padding:24px;background:#fffdf0;border:1px solid #28251c33;border-radius:8px;color:#28251c;text-align:left;font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.document-icon{display:flex;flex:0 0 58px;align-items:center;justify-content:center;width:58px;height:75px;background:#a83232;color:white;border-radius:4px 12px 4px 4px;font-size:15px;font-weight:bold;letter-spacing:.5px}
.document-info{display:block;min-width:0}.document-info>strong{display:block;font-size:17px;overflow-wrap:anywhere}.document-info>span:not(.document-actions){display:block;font-size:12px;color:#665d4a;margin-top:3px}.document-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}.document-actions a{font-size:14px;font-weight:bold}
@media(max-width:650px){.document-card{padding:18px;gap:15px}.document-actions{gap:10px 18px}.document-info>strong{font-size:16px}}

.block-index{display:none}.block-inner{display:block;max-width:1000px}.show-section-numbers .block-inner{display:grid;grid-template-columns:50px minmax(0,1fr);max-width:1080px}.show-section-numbers .block-index{display:block}.section-number-toggle{border:1px solid #28251c66;border-radius:4px;background:transparent;padding:7px 12px;color:inherit;font:13px Arial,sans-serif;cursor:pointer}.section-number-toggle[aria-pressed=true]{background:#ffed97}@media(max-width:650px){.show-section-numbers .block-inner{grid-template-columns:1fr}}
.document-icon.document-icon-web{background:transparent;color:#227bbb;font-size:38px;border-radius:0;letter-spacing:0}

/* Articles keeps its literature pages in a keyboard-accessible nested menu. */
.dropdown .articles-menu{position:relative}
.dropdown .articles-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px;font:14px/1.7 Arial,Helvetica,sans-serif}
.dropdown .articles-menu>summary:hover,.dropdown .articles-menu[open]>summary{background:#e8eddc}
.article-submenu{position:absolute;left:100%;top:0;width:270px;padding:8px;background:#fffdf5;border:1px solid #deded3;box-shadow:0 12px 35px #17372d26}
.articles-menu.opens-left>.article-submenu{left:auto;right:100%}
.article-submenu a[aria-current]{font-weight:bold;background:#e8eddc}
@media(min-width:1101px){.more>.dropdown{max-height:none;overflow:visible}}
@media(max-width:1100px){.article-submenu,.articles-menu.opens-left>.article-submenu{position:static;width:100%;padding:4px 0 4px 18px;box-shadow:none;border:0;border-left:2px solid #deded3}.articles-menu[open]>summary span{transform:rotate(90deg)}}
@media(min-width:1101px){.articles-menu.opens-left>summary span{transform:rotate(180deg)}}

/* Compact publication logos and article lists over the original textile. */
.literature-page main{color:#fff9ed;background:linear-gradient(#17140f99,#17140f99),url('assets/literature-textile.jpg') center top/100% auto repeat-y}
.literature-page .page-hero{background:transparent;color:#fff9ed;text-align:center;padding:44px 6% 16px}
.literature-page .page-hero .eyebrow{color:#eedbb9;margin-bottom:14px}
.literature-page .page-hero h1{color:#fff;font-size:clamp(32px,4.5vw,52px);letter-spacing:-1px;max-width:none;margin-bottom:18px}
.literature-page .page-hero .hero-copy{margin:0 auto;color:#f1e6d4;font-size:16px}
.literature-page .content-block{background:transparent;color:inherit;padding:30px 6%}
.literature-page .content-block+.content-block .publication-group{border-top:1px solid #fff8e53b;padding-top:36px}
.literature-page .block-inner{max-width:880px}
.literature-page .publication-group{text-align:center}
.literature-page .publication-group h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.literature-page .publication-group img{width:auto;max-width:min(280px,100%);height:auto;max-height:100px;aspect-ratio:auto;object-fit:contain;margin:0 auto 24px;cursor:default}
.literature-page .publication-group>a{display:inline-block}
.literature-page .publication-links{list-style:none;padding:0;margin:0}
.literature-page .publication-links li{margin:0;padding:10px 0;line-height:1.55}
.literature-page .publication-links a{font-size:clamp(17px,2vw,21px);font-weight:400;font-style:italic;text-decoration:none;color:#fff8eb;text-shadow:0 1px 2px #000}
.literature-page .publication-links li:nth-child(4n+2)>a{color:#ffc5b3}
.literature-page .publication-links li:nth-child(4n+3)>a{color:#e2f4b5}
.literature-page .publication-links li:nth-child(4n+4)>a{color:#bceeff}
.literature-page .publication-links a:hover{text-decoration:underline;text-underline-offset:5px}
.literature-page .publication-links a:focus-visible{outline-color:#fff3bc}
.literature-page .publication-links .document-card{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;max-width:100%;margin:0;padding:10px 16px;background:#14120eb3;border-color:#fff8e54d;color:#fff8eb}
.literature-page .document-icon{flex-basis:auto;width:auto;height:auto;padding:4px 7px;font-size:11px;border-radius:3px}
.literature-page .document-info>strong{font:italic 20px/1.5 Arial,Helvetica,sans-serif}
.literature-page .document-info>span:not(.document-actions){display:none}
.literature-page .document-actions{justify-content:center;gap:16px;margin-top:4px}
.literature-page .document-actions a{font-size:13px}
@media(max-width:650px){.literature-page .content-block{padding:25px 6%}.literature-page .publication-group img{max-height:85px;max-width:min(250px,100%)}.literature-page .document-info>strong{font-size:17px}}

/* Let these long, text-heavy posters use their full preview width. */
.block-content img[src*="sources-18022026"],
.block-content img[src*="betelgeuse-theatre-5-continuous-tighter-footer-web"]{width:100%;max-width:800px;height:auto;max-height:none;aspect-ratio:auto}
