@font-face{font-family:Barlow;src:url('assets/BarlowCondensed-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('assets/Inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:JetBrains;src:url('assets/JetBrainsMono.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--bg:#102a1d;--fg:#f7f8f2;--accent:#afe6b8;--muted:#a4b7a7;--line:#294636;--font-display:Barlow,'Arial Narrow',sans-serif;--font-body:Inter,Arial,sans-serif;--font-mono:JetBrains,monospace;--space:8px;--unit:1px;--bar:64px;--stage-width:1280px;--stage-height:720px;--small:16px;--label:18px;--body:28px;--lead:36px;--title:100px;--focus:3px;--duration:450ms}
*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--font-body);scroll-behavior:smooth}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.2em}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible{outline:var(--focus) solid var(--accent);outline-offset:calc(var(--space)/2)}p,h1,h2,h3,figure{margin:0}img{display:block;object-fit:contain;max-width:100%}.skip{position:fixed;top:-100%;z-index:10;padding:var(--space);background:var(--accent);color:var(--bg)}.skip:focus{top:0}.site-bar{height:var(--bar);display:flex;align-items:center;gap:calc(var(--space)*3);padding:0 3.5vw;border-bottom:var(--unit) solid var(--line)}.brand img{width:78px;height:38px}.edition,.tools,.controls{font:12px var(--font-mono);letter-spacing:.07em;color:var(--muted)}.tools{margin-left:auto;display:flex;gap:var(--space)}.tools button{min-height:44px;padding:0 var(--space)}.tools button:hover{color:var(--fg)}kbd{font:inherit;border:var(--unit) solid var(--line);padding:.15em .4em;margin-left:.5em}.edition{color:var(--accent)}#presentation{height:calc(100dvh - var(--bar)*2);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;overflow:hidden;outline:0}#stage{width:var(--stage-width);height:var(--stage-height);position:relative;flex-shrink:0;transform:scale(var(--scale,1))}.slide{position:absolute;inset:0;display:none;padding:94px 64px 66px}.slide.active{display:block}.eyebrow,.folio,.label,.source,.chart figcaption,.chart-note{font-family:var(--font-mono);color:var(--muted)}.eyebrow,.folio{position:absolute;top:25px;font-size:var(--label);letter-spacing:.05em}.folio{right:64px}.eyebrow{left:64px}h1,h2,h3{text-transform:uppercase;font-family:var(--font-display);font-weight:700;line-height:1.02}h1,h2{font-size:var(--title);letter-spacing:-.015em}h3{font-size:38px;color:var(--accent)}.lead{font-size:var(--lead);line-height:1.4;margin-top:36px}.accent{color:var(--accent)}.strong{font-weight:650}.body-copy{font-size:var(--body);line-height:1.6;margin-top:42px}.label{font-size:var(--label);line-height:1.6;margin-top:18px}.source{position:absolute;bottom:19px;left:64px;right:64px;font-size:14px;line-height:1.55}.source a:hover{color:var(--fg)}.source span{float:right}.split .copy{width:570px;position:relative;z-index:1}.split .art{position:absolute;width:570px;height:570px;right:46px;top:93px}.split.reverse .art{left:46px;right:auto}.split.reverse .copy{margin-left:596px;width:550px}.hero-number{font:88px/1.2 var(--font-mono);color:var(--accent);letter-spacing:-.05em;margin-top:30px}.hero-number+.lead{margin-top:25px}#slide-5 h2{font-size:88px}#slide-5 .lead{margin-top:24px}#slide-5 .hero-number{margin-top:22px}#slide-6 h2{font-size:128px}#slide-6 .lead{margin-top:55px}#slide-7 .lead{font-size:34px}.opening-copy{width:570px}.opening h1{font-size:88px}.opening .lead{font-size:28px;margin-top:38px}.intro-art{width:430px;height:218px;margin:14px 0 0 15px}.chart{position:absolute;left:608px;top:100px;width:608px}.big-stat{font:700 86px/1 var(--font-mono);color:var(--accent);text-align:center}.chart figcaption{text-align:center;font-size:15px;margin:20px 0 18px}.chart svg{display:block;width:100%;height:335px;overflow:visible}.chart-note{text-align:center;font-size:17px;color:var(--accent);margin-top:10px}.chart text{font:14px var(--font-mono);fill:var(--muted)}.chart .grid{stroke:var(--line);stroke-width:1}.chart .plot{stroke:var(--accent);stroke-width:4;fill:none}.chart .dot{fill:var(--accent)}.history h2{font-size:80px}.history-art{width:1152px;height:305px;margin-top:-7px}.history-captions{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:-12px}.history-captions p{font-size:23px;line-height:1.45;margin-top:12px}.history-source{color:var(--accent)}.school h2{font-size:97px;white-space:nowrap}.school-copy{width:460px;position:relative;z-index:1}.school-copy .lead{margin-top:63px}.school-copy .body-copy{margin-top:32px}.school-copy .label{margin-top:35px}.school-art{position:absolute;right:35px;top:220px;width:740px;height:445px}.closing h2{font-size:96px}.closing .lead{margin-top:52px}.join{font:700 39px var(--font-mono);display:inline-block;margin-top:48px;text-decoration:none;border-bottom:var(--unit) solid var(--accent);padding-bottom:var(--space)}.join span{color:var(--accent)}.join:hover{color:var(--accent)}.controls{height:var(--bar);padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;border-top:var(--unit) solid var(--line)}#slide-nav{display:flex;gap:4px}#slide-nav button{width:35px;min-height:44px;padding:8px}#slide-nav button::after{content:'';display:block;height:3px;background:var(--line)}#slide-nav button[aria-current=true]::after{background:var(--accent)}#slide-nav button:hover::after{background:var(--muted)}.arrows{display:flex;align-items:center;gap:14px}.arrows button{font-size:24px;width:44px;height:44px}.arrows button:hover{color:var(--accent)}dialog{background:var(--bg);color:var(--fg);border:var(--unit) solid var(--muted);max-width:700px;width:calc(100% - 40px);padding:28px;font-size:18px;line-height:1.7}dialog::backdrop{background:rgb(0 0 0/.7)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-header h2{font-size:36px}.dialog-header button{width:44px;height:44px}#notes-content p{margin-bottom:16px}#notes-content a{display:block;word-break:break-word;font-size:14px;color:var(--accent)}
@media screen and (min-width:901px) and (max-height:600px){:root{--bar:48px}}
@media screen and (max-width:900px),screen and (max-width:960px) and (max-height:500px){body{overflow:auto}.site-bar{position:sticky;top:0;z-index:5;background:var(--bg);padding:0 20px}.edition{font-size:10px}.tools{display:none}#presentation{height:auto;display:block;overflow:visible}#stage{width:100%;height:auto;transform:none}.slide,.slide.active{display:flex;position:relative;flex-direction:column;padding:78px 24px 38px;min-height:0;border-bottom:var(--unit) solid var(--line);animation:none;scroll-margin-top:var(--bar)}.eyebrow,.folio{font-size:10px;top:27px}.eyebrow{left:24px;max-width:72%}.folio{right:24px}h1,h2,.opening h1,#slide-5 h2,#slide-6 h2,.closing h2,.history h2,.school h2{font-size:clamp(48px,12vw,82px);white-space:normal;line-height:1.02}.opening-copy,.split .copy,.split.reverse .copy,.school-copy{width:100%;margin:0}.lead,.opening .lead,#slide-7 .lead{font-size:24px;margin-top:25px}.body-copy{font-size:21px;margin-top:24px}.intro-art{width:85%;height:auto;margin:25px auto}.chart{position:static;width:100%;margin-top:24px}.big-stat{font-size:60px}.chart figcaption{font-size:10px}.chart svg{height:auto}.chart-note{font-size:12px}.source{position:static;font-size:11px;margin-top:28px;max-width:100%}.source span{float:none;display:block;margin-top:12px}.split .art,.split.reverse .art{position:static;width:100%;height:auto;max-height:410px;margin-top:24px;order:2}.split .copy{order:1}.split .source{order:3}.hero-number{font-size:clamp(50px,13vw,76px);margin-top:26px}.label{font-size:13px}.history-art{height:auto;width:100%;margin:25px 0}.history-captions{gap:16px;margin:0;grid-template-columns:1fr}.history-captions>div{display:grid;grid-template-columns:40% 1fr;gap:15px;padding:16px 0;border-top:var(--unit) solid var(--line)}h3{font-size:28px}.history-captions p{font-size:17px;margin:0}.school-copy .lead{margin-top:28px}.school-copy .body-copy,.school-copy .label{margin-top:24px}.school-art{position:static;width:100%;height:auto;margin-top:25px}.join{font-size:clamp(21px,6vw,34px);margin-top:30px}.controls{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide.active,.active .plot{animation:none}}
@media print{body{overflow:visible}.site-bar,.controls,dialog{display:none}#presentation{height:auto;display:block;overflow:visible}#stage{transform:none;width:1280px;height:auto}.slide,.slide.active{display:block;position:relative;width:1280px;height:720px;break-after:page;animation:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:1280px 720px;margin:0}}

/* Fine woven canvas, beneath all slide content and navigation. */
:root{--canvas-image:linear-gradient(rgb(16 42 29 / .64),rgb(16 42 29 / .64)),url("assets/canvas-green-refined.webp");--canvas-size:480px}
html,.site-bar,dialog{background-image:var(--canvas-image);background-size:auto,var(--canvas-size);background-repeat:repeat}
@media print{.slide{background-color:var(--bg);background-image:var(--canvas-image);background-size:auto,var(--canvas-size)}}

/* The opening leaves the discovery timeline to slide 2. */
.school-logo{display:block;width:240px;height:auto;aspect-ratio:1912/835;max-width:100%;margin-top:24px}
.school-copy .lead{margin-top:20px}
.school-copy .body-copy,.school-copy .label{margin-top:24px}
.opening h1{font-size:100px}
.opening .lead{font-size:32px;line-height:1.5;margin-top:40px}
.opening-label{font-size:16px;margin-top:48px;color:var(--accent)}
.opening .intro-art{position:absolute;right:48px;top:155px;width:590px;height:430px;margin:0}
.century-source{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}
.milestone-sources{font:inherit;color:var(--accent);min-height:44px;text-decoration:underline;text-underline-offset:.2em;padding:0 8px;white-space:nowrap}
@media screen and (max-width:900px),screen and (max-width:960px) and (max-height:500px){
 .school-copy .lead{margin-top:24px}
 .opening h1{font-size:clamp(48px,12vw,82px)}
 .opening .lead{font-size:24px;margin-top:25px}
 .opening-label{font-size:12px;margin-top:28px}
 .opening .intro-art{position:static;width:100%;height:auto;margin:30px 0 0}
 .century-source{display:block;font-size:11px;line-height:1.6}
 .milestone-sources{display:block;padding:0;margin-top:8px}
}
