@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f3f0e9;--ink:#171b23;--red:#b5423e;--line:#d7d3ca;--muted:#696a68;--card:#faf8f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}body.dark{--paper:#1e2229;--ink:#f3f0e9;--line:#42454a;--muted:#b4b3ae;--card:#292d34}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:4px}header{min-height:94px;padding:20px 4.5%;display:flex;align-items:center;gap:38px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.brand{font:800 32px/.9 'Barlow Condensed',sans-serif;letter-spacing:-1px;white-space:nowrap}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:1.55px;margin-top:10px}nav{display:flex;gap:27px;margin:auto;font-size:12px;font-weight:600}nav a:hover,footer a:hover{color:var(--red)}button{border:0;background:none}.tools{display:flex;align-items:center;gap:14px}.tools>button{font-size:22px}.tools .outline{font-size:12px;border:1px solid var(--line);padding:12px 15px}.outline span{margin-left:16px}#menu{display:none}.hero{min-height:615px;background:#272826;position:relative;isolation:isolate;color:#fff;padding:65px 6% 36px;display:flex;flex-direction:column;justify-content:center}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('archive.png') center 43%/cover;filter:grayscale(1)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,16,19,.91),rgba(12,16,19,.55) 55%,rgba(12,16,19,.14)),linear-gradient(0deg,#10151b99,transparent 60%)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:22px;height:2px;background:var(--red)}h1,h2,h3{font-family:'Barlow Condensed',sans-serif}h1{font-size:clamp(74px,8.7vw,138px);line-height:.88;letter-spacing:-1.5px;margin:30px 0 24px;font-weight:700;max-width:800px}h1 em{color:#e3786e;font-style:normal}.hero>p{font-size:16px;line-height:1.8;max-width:440px;color:#e0dfdb}.actions{display:flex;gap:12px;margin-top:20px}.btn{background:var(--red);color:white;padding:16px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-size:12px;font-weight:600;border:1px solid var(--red)}.btn.ghost{background:#ffffff0a;border-color:#ffffff65}.caption{margin-top:52px;font-size:9px;color:#d3d1cb;letter-spacing:.5px;display:flex;justify-content:space-between}.intro{display:flex;justify-content:space-between;gap:40px;padding:32px 6%;border-bottom:1px solid var(--line)}.intro p{margin:0;max-width:580px;line-height:1.8;font-size:13px}.intro>div{display:flex;gap:28px;align-items:center;font-size:10px;color:var(--muted)}.intro b{font:600 30px 'Barlow Condensed';color:var(--ink);display:block}section.content{padding:64px 6%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-head h2,h2{font-size:48px;font-weight:600;line-height:1.05;margin:12px 0}.section-head p{font-size:13px;color:var(--muted);max-width:390px;line-height:1.7}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:6px}.periods{display:flex;border-bottom:1px solid var(--line);margin-top:30px;overflow:auto}.periods button{flex:1;min-width:130px;text-align:left;padding:15px 0;border-bottom:3px solid transparent;color:var(--muted)}.periods button.active{color:var(--red);border-color:var(--red)}.periods strong{font:600 30px 'Barlow Condensed';display:block}.periods span{font-size:10px}.event{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:30px 0}.event .year{font:600 95px/.9 'Barlow Condensed';color:var(--red)}.event h3{font-size:30px;margin:0 0 12px}.event p{color:var(--muted);line-height:1.8;font-size:14px;max-width:670px}.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.module{background:var(--paper);padding:28px;min-height:245px;position:relative;display:flex;flex-direction:column;align-items:start;transition:background .2s}.module:hover{background:var(--card)}.module .num{font:500 14px 'DM Sans';color:var(--red);margin-bottom:22px}.module h3{font-size:31px;line-height:1.05;max-width:250px;margin:0 0 12px}.module p{font-size:12px;line-height:1.7;color:var(--muted)}.module .arrow{position:absolute;right:25px;top:25px;font-size:24px}.module:last-child{grid-column:span 3;background:var(--ink);color:var(--paper);min-height:190px}.module:last-child h3{max-width:700px;font-size:40px}.module:last-child p{color:#a9aaa8}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}.map-section{background:#e7e5dd}.dark .map-section{background:#282d31}#map{height:380px;background:#d9ddd5;z-index:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}select,input{padding:12px;background:var(--card);color:var(--ink);border:1px solid var(--line);max-width:100%}.source{color:var(--red);font-size:12px;text-decoration:underline;display:block;margin-top:20px}.aula{background:#252b32;color:#f3f0e9;padding:55px 6%;display:grid;grid-template-columns:1fr 1fr;gap:70px}.aula p{color:#c0c3c3;line-height:1.8}.aula h2{font-size:54px}.exercise{border:1px solid #ffffff30;padding:28px}.exercise h3{font-size:30px;margin:14px 0}.exercise p{font-size:13px}.tag{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--red)}.documents{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.document{padding:25px;background:var(--card);border:1px solid var(--line)}.document .sheet{height:120px;display:grid;place-content:center;background:#e4dfd3;color:#4c4941;font:500 28px 'Barlow Condensed';text-align:center;border:1px solid #ccc5b5;letter-spacing:2px;margin-bottom:20px}.document h3{font-size:25px}.document p{font-size:12px;line-height:1.7;color:var(--muted)}footer{padding:35px 6%;border-top:1px solid var(--line);display:flex;gap:25px;align-items:center;flex-wrap:wrap}footer p,footer a:not(.brand),footer small{font-size:10px}footer small{color:var(--muted);margin-left:auto}.page{max-width:1100px;margin:auto;padding:55px 5%;min-height:65vh}.page>p,.reading p{line-height:1.9;color:var(--muted)}.reading{max-width:760px}.reading h3{font-size:32px;margin-top:35px}.reading li{line-height:1.9}.reading .notice,.notice{padding:18px;border-left:3px solid var(--red);background:var(--card);font-size:13px;line-height:1.8;margin:25px 0}.reading .btn{margin-top:20px}.back{font-size:12px;color:var(--muted)}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:38px;max-width:650px;width:90%;max-height:85vh}dialog::backdrop{background:#10151bcc;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:8px;font-size:28px}dialog h2{font-size:36px}dialog p{line-height:1.8}.choice{display:block;border:1px solid var(--line);padding:15px;width:100%;margin:10px 0;text-align:left}.choice:hover{border-color:var(--red)}.feedback{line-height:1.8;padding:15px;background:var(--card)}.search-results a{display:block;padding:16px;border-bottom:1px solid var(--line)}.skip{position:fixed;top:-100px}.skip:focus{top:5px;z-index:99;background:var(--paper);padding:10px}.progressbar{height:5px;background:var(--line);margin:20px 0}.progressbar span{display:block;height:100%;background:var(--red)}@media(min-width:1500px){main>section,header,footer{padding-left:calc((100vw - 1300px)/2);padding-right:calc((100vw - 1300px)/2)}}@media(max-width:1000px){header{gap:15px}nav{gap:15px}nav a{font-size:10px}.tools .outline{display:none}.split{gap:25px}.hero{min-height:560px}}@media(max-width:720px){header{min-height:78px;padding:18px 5%;flex-wrap:wrap}.brand{font-size:28px}.brand span{font-size:8px}#menu{display:block;margin-left:auto;font-size:22px}.tools{gap:8px}nav{display:none;width:100%;order:4;padding:15px 0}nav.open{display:flex;flex-wrap:wrap;gap:20px}nav a{font-size:12px}.hero{padding:45px 6% 25px;min-height:570px}h1{font-size:82px}.hero>p{font-size:14px}.actions{flex-wrap:wrap}.btn{padding:14px 18px}.caption{font-size:8px;gap:15px;line-height:1.8}.intro{flex-direction:column;gap:20px}.intro>div{justify-content:space-between}section.content{padding:45px 6%}.section-head{align-items:start;gap:15px}.section-head h2,h2{font-size:38px}.section-head p{display:none}.section-head .text-link{font-size:10px;white-space:nowrap}.event{grid-template-columns:1fr;gap:15px}.event .year{font-size:65px}.modules{grid-template-columns:1fr 1fr}.module{padding:22px;min-height:245px}.module h3{font-size:27px}.module:last-child{grid-column:span 2}.module:last-child h3{font-size:33px}.split,.aula{grid-template-columns:1fr;gap:25px}.aula{padding:40px 6%}.documents{grid-template-columns:1fr}.document .sheet{height:90px}.aula h2{font-size:44px}footer{gap:20px}footer small{margin-left:0;width:100%}.page{padding:35px 6%}.page h1{font-size:58px}.filters>*{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
#authForm{display:grid;gap:10px}#authForm label{font-size:13px;margin-top:10px}#authForm input{width:100%}#authMessage{margin:8px 0;min-height:24px;font-size:13px}.tools #account{white-space:nowrap;font-size:12px;border:1px solid var(--line);padding:12px 15px;display:block}@media(max-width:720px){.tools #account{font-size:10px;padding:9px}.tools{gap:5px}.tools>button{font-size:20px}}
.map-label{display:grid;gap:8px;font-size:12px}.map-label input{width:100%}.map-section .filters{display:grid;grid-template-columns:1fr 1fr}.map-section select{width:100%;font-size:12px;min-width:0}.map-section .split{align-items:start;grid-template-columns:1fr 1.3fr}.map-section #map{height:540px;position:sticky;top:115px}.place-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.place-card{background:var(--card);padding:24px;border:1px solid var(--line)}.place-card h3{font-size:29px;line-height:1.1;margin:14px 0}.place-card p{font-size:13px;line-height:1.8;color:var(--muted)}.place-card .actions{flex-wrap:wrap}.leaflet-popup-content{color:#171b23;font-family:'DM Sans',sans-serif}.leaflet-popup-content a{color:#a3312e}#map-status{font-size:12px}#tile-status{font-size:12px;color:var(--muted)}@media(max-width:1000px){.place-list{grid-template-columns:1fr 1fr}}@media(max-width:720px){.map-section .split{grid-template-columns:1fr}.map-section #map{height:360px;position:relative;top:auto;isolation:isolate}.place-list{grid-template-columns:1fr}.map-section .filters{grid-template-columns:1fr 1fr}}

.map-card-controls{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:28px}.map-card-controls span{font-size:12px;color:var(--muted)}.map-card-controls [hidden],.place-card[hidden]{display:none!important}
.lives-section{border-top:1px solid var(--line);background:var(--card)}.lives-intro{max-width:740px;font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 30px}.bio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bio-card{display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);background:var(--paper);transition:border-color .2s}.bio-card:hover{border-color:var(--red)}.bio-index{font-size:9px;letter-spacing:2px;color:var(--muted);display:flex;justify-content:space-between}.bio-index span{font-size:22px;color:var(--red)}.bio-monogram{font:600 82px/1 'Barlow Condensed',sans-serif;color:var(--red);letter-spacing:-3px;padding:28px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.bio-card h3{font-size:34px;line-height:1.05;margin:14px 0}.bio-card p{font-size:13px;line-height:1.8;color:var(--muted)}.bio-date{font-size:11px;color:var(--muted);padding:18px 0;margin-top:auto}.bio-card .text-link{align-self:flex-start}.bio-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:28px}.bio-facts>div:last-child{grid-column:span 2}.bio-facts span{display:block;font-size:9px;color:var(--red);letter-spacing:1px;margin-bottom:8px}.bio-facts strong{font-size:14px;font-weight:500}.bio-lead{font-size:18px!important}.biography-reading h1{font-size:clamp(60px,7vw,100px)}@media(max-width:1000px){.bio-grid{grid-template-columns:repeat(2,1fr)}header nav{gap:15px}header{gap:20px}}@media(max-width:720px){.bio-grid{grid-template-columns:1fr}.bio-monogram{font-size:68px;padding:20px 0}.bio-facts{grid-template-columns:1fr}.bio-facts>div:last-child{grid-column:auto}.lives-section .section-head{flex-wrap:wrap}.bio-card h3{font-size:32px}}

/* Historical portraits: consistent vertical frames and individual focal points. */
.bio-card{overflow:hidden;box-shadow:0 3px 12px #171b2305;transition:border-color .25s,box-shadow .25s,transform .25s}
.bio-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #171b2310}
.bio-card:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.bio-card-photo{position:relative;aspect-ratio:4/5;margin:18px -8px 0;overflow:hidden;background:#ddd6c9;border-bottom:3px solid var(--red)}
.bio-card-photo:after{content:"";position:absolute;inset:9px;border:1px solid #fff5;pointer-events:none}
.bio-card-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--portrait-focus,50% 30%);filter:grayscale(1) sepia(.14) contrast(1.05);transition:transform .55s ease}
.bio-card:hover .bio-card-photo img{transform:scale(1.025)}
.bio-photo-credit{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin:10px 0 22px}
.bio-photo-placeholder{aspect-ratio:4/5;margin:18px -8px 46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(145deg,var(--card),var(--paper));border:1px solid var(--line);border-bottom:3px solid var(--red);position:relative}
.bio-photo-placeholder:after{content:"";position:absolute;inset:9px;border:1px solid var(--line);pointer-events:none}
.bio-photo-placeholder>span{font:600 90px/1 'Barlow Condensed',sans-serif;color:var(--red)}
.bio-photo-placeholder small{font-size:10px;color:var(--muted);text-align:center;padding:0 20px}
.bio-portrait{margin:34px auto 38px;padding:20px 20px 0;max-width:500px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 30px #171b2310;position:relative}
.bio-portrait:before{content:"";position:absolute;left:20px;top:0;width:44px;height:3px;background:var(--red)}
.bio-portrait>img{display:block;width:auto;max-width:100%;height:auto;max-height:540px;margin:auto;filter:grayscale(1) sepia(.14) contrast(1.05)}
.bio-portrait figcaption{padding:17px 0 20px;font-size:11px;line-height:1.8;color:var(--muted)}
.bio-portrait figcaption a{text-decoration:underline;text-underline-offset:3px}
.bio-portrait figcaption span{display:block;margin-top:7px;font-size:10px}
.bio-photo-pending{font-size:12px!important;border-left:2px solid var(--line);padding-left:14px}
@media(max-width:720px){.bio-card-photo,.bio-photo-placeholder{aspect-ratio:1/1}.bio-portrait{padding:14px 14px 0}.bio-portrait>img{max-height:460px}.bio-portrait:before{left:14px}}
@media(prefers-reduced-motion:reduce){.bio-card:hover,.bio-card:hover .bio-card-photo img{transform:none}}

.place-card{overflow:hidden;display:flex;flex-direction:column}.place-card>.actions{margin-top:auto;padding-top:12px}.place-photo{margin:0}.place-photo-card{margin:-24px -24px 23px}.place-photo-frame{overflow:hidden;background:#ded9cf}.place-photo-card .place-photo-frame{aspect-ratio:16/10;border-bottom:3px solid var(--red)}.place-photo-card img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.12);transition:transform .5s ease}.place-card:hover .place-photo-card img{transform:scale(1.025)}.place-photo figcaption{padding:12px 18px;font-size:10px;line-height:1.65;color:var(--muted);border-bottom:1px solid var(--line)}.place-photo figcaption>span{display:block}.place-photo figcaption>span+span{margin-top:6px;font-size:9px}.place-photo figcaption a{text-decoration:underline;text-underline-offset:2px}.place-photo figcaption small{display:block;margin-top:9px;font-size:10px}.place-photo-detail{border:1px solid var(--line);background:var(--card);margin:22px 0 30px}.place-photo-detail img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}.place-photo-detail figcaption{padding:17px 20px;border-bottom:0}.place-photo-detail figcaption>span{font-size:12px}.place-photo-detail figcaption>span+span{font-size:11px}@media(prefers-reduced-motion:reduce){.place-card:hover .place-photo-card img{transform:none}}

/* Keep location photos compact, beside the title rather than above the card. */
.place-card-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:4px}.place-card-heading>div{flex:1;min-width:0}.place-card-heading h3{overflow-wrap:anywhere}.place-thumbnail{flex:0 0 96px;width:96px;display:block;color:var(--muted);margin:0}.place-thumbnail img{display:block;width:96px;height:76px;object-fit:cover;border-bottom:2px solid var(--red);filter:grayscale(1) sepia(.12)}.place-thumbnail span{display:block;font-size:9px;line-height:1.5;margin-top:6px}.place-thumbnail:hover span{text-decoration:underline}.place-thumbnail:focus-visible{outline:2px solid var(--red);outline-offset:4px}.place-list{align-items:start}.place-card{height:100%}@media(max-width:1100px) and (min-width:1001px){.place-card-heading{gap:10px}.place-thumbnail{flex-basis:76px;width:76px}.place-thumbnail img{width:76px;height:64px}}@media(max-width:380px){.place-card-heading{gap:10px}.place-thumbnail{flex-basis:76px;width:76px}.place-thumbnail img{width:76px;height:64px}}

.module-reading-meta{font-size:11px;color:var(--muted);letter-spacing:.5px;border-top:1px solid var(--line);padding-top:20px;margin:26px 0 20px}.reading .module-index{display:block;width:100%;padding:22px 26px;background:var(--card);border-left:3px solid var(--red);margin:24px 0 38px}.module-index>strong{font-size:12px;text-transform:uppercase;letter-spacing:1px}.module-index ol{padding-left:19px;margin:12px 0 0}.reading .module-index li{font-size:13px;line-height:1.65;padding:5px 0}.module-index a:hover,.module-index a:focus-visible{color:var(--red);text-decoration:underline}.module-section{scroll-margin-top:125px;margin-bottom:34px}.module-section:focus{outline:none}.module-section:focus-visible h3{outline:2px solid var(--red);outline-offset:5px}.module-section p{line-height:1.9}.module-section h3{line-height:1.2}@media(max-width:720px){.reading .module-index{padding:20px}.module-section{scroll-margin-top:155px}}

.legal-reading h1{font-size:clamp(52px,7vw,84px);line-height:1}.legal-reading h2{font-size:30px;margin-top:36px;line-height:1.2}.legal-reading li{font-size:14px;color:var(--muted);margin-bottom:12px}.legal-reading p{font-size:14px}.legal-reading a:not(.btn):not(.back){color:var(--red);text-decoration:underline;text-underline-offset:3px}.legal-tabs{display:flex;gap:20px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.legal-tabs [aria-current]{font-weight:700}.legal-reading .legal-updated{font-size:11px}.auth-legal{font-size:11px;line-height:1.7;color:var(--muted)}.auth-legal a{text-decoration:underline;color:var(--red)}

.module-quiz-callout{border:1px solid var(--line);border-left:4px solid var(--red);background:var(--card);padding:22px;margin:32px 0}.reading .module-quiz-callout h3{margin:0 0 14px}.module-quiz-callout .tag{font-size:11px;line-height:1.6}.quiz-module-list .choice strong{display:block;font-size:14px}.quiz-module-list .choice small{display:block;margin-top:7px;color:var(--muted);font-size:11px}.quiz-topic{font-size:13px;color:var(--muted);line-height:1.6}.quiz-storage,.quiz-reference{font-size:11px;line-height:1.7;color:var(--muted)}.quiz-step{height:4px;background:var(--line);margin:20px 0}.quiz-step span{display:block;height:100%;background:var(--red)}.quiz-options .choice{line-height:1.6}.quiz-options .choice:disabled{cursor:default;color:var(--ink);opacity:1}.quiz-options .quiz-correct{border:2px solid #387057;background:#38705712}.quiz-options .quiz-incorrect{border:2px solid var(--red);background:#b5423e12}#module-feedback .btn{margin-top:18px}#dialog h2[tabindex]{outline:none}@media(max-width:720px){.module-quiz-callout{padding:18px}#dialog:has(.quiz-options){padding:28px 20px}#dialog:has(.quiz-options) h2{font-size:29px;line-height:1.15}}

footer .footer-social{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;color:var(--ink);transition:color .2s,border-color .2s,background .2s}footer .footer-social:hover{color:var(--red);border-color:var(--red);background:var(--card)}footer .footer-social svg{display:block}

html{scroll-padding-top:var(--navigation-offset,116px)}
