@font-face{font-family:Newsreader;src:url('/fonts/newsreader-400-normal-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Newsreader;src:url('/fonts/newsreader-400-italic-latin.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Newsreader;src:url('/fonts/newsreader-500-normal-latin.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/fonts/ibmplexmono-400-normal-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--green:#1f4d3a;--dark:#102e24;--cream:#fbfaf7;--paper:#f3f0e8;--ink:#14161a;--muted:#5f635f;--rule:#dcd9d1;--orange:#d78c60}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Newsreader,Georgia,serif;font-size:20px;line-height:1.45}
a{color:inherit}
img{max-width:100%}
.frame{width:min(100% - 64px,1280px);margin-inline:auto}
.eyebrow,.back,.runtime,.library-heading>span,.text-link,.button,.aside-link{font-family:'IBM Plex Mono',monospace}
header{border-bottom:1px solid var(--rule)}
.eyebrow{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:var(--green);line-height:1.5}
.library{padding-top:104px;padding-bottom:130px}
.intro{max-width:900px;padding-bottom:84px}
.intro h1,.article h1{font-weight:400;letter-spacing:-.052em;line-height:.97;margin:17px 0 28px}
.intro h1{font-size:clamp(58px,7.8vw,112px)}
.intro h1 em{color:var(--green);font-weight:400}
.intro p{max-width:670px;margin:0;color:#414d45;font-size:clamp(21px,2.1vw,27px);line-height:1.32}
.library-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);padding-bottom:14px;margin-bottom:26px}
.library-heading h2{font-size:34px;line-height:1;margin:0;font-weight:400;letter-spacing:-.035em}
.library-heading>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 28px}
.card{min-width:0}
.card-image{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--dark)}
.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.card-image:hover img{transform:scale(1.025)}
.runtime{position:absolute;right:13px;bottom:13px;background:var(--dark);color:white;padding:5px 8px;font-size:11px}
.card-body{padding-top:20px}
.card-body h2{font-weight:400;font-size:clamp(28px,3.1vw,44px);line-height:1.07;letter-spacing:-.04em;margin:10px 0 12px}
.card-body h2 a{text-decoration:none}
.card-body h2 a:hover{color:var(--green)}
.card-body p{font-size:18px;line-height:1.42;color:#4d554f;max-width:62ch;margin:0 0 17px}
.text-link,.aside-link{font-size:12px;color:var(--green);text-decoration:none;border-bottom:1px solid #1f4d3a66;padding-bottom:5px}
.text-link:hover,.aside-link:hover{border-bottom-color:var(--green)}
.article{padding-top:36px;padding-bottom:115px}
.back{display:inline-block;color:var(--green);font-size:12px;text-decoration:none;letter-spacing:.02em}
.back:hover{text-decoration:underline}
.article-head{max-width:1030px;margin:80px 0 50px}
.article h1{font-size:clamp(54px,7.2vw,102px)}
.dek{font-size:clamp(22px,2.5vw,32px);line-height:1.28;max-width:780px;color:#46544a;margin:0}
.player{aspect-ratio:16/9;background:var(--dark);width:100%;box-shadow:0 22px 55px #102e2418}
.player iframe{display:block;width:100%;height:100%;border:0}
.article-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:clamp(40px,7vw,110px);margin-top:68px}
.article-copy{max-width:720px}
.scope{font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.65;color:var(--green);padding:16px 0;border-bottom:1px solid var(--rule);margin:10px 0 35px}
.article-section{margin:0 0 38px}
.article-section h2{font-size:clamp(28px,3vw,39px);font-weight:400;line-height:1.1;letter-spacing:-.035em;margin:0 0 15px}
.article-section p{font-size:clamp(19px,1.55vw,22px);line-height:1.48;margin:0 0 18px;color:#3e4941}
.evidence{align-self:start;background:var(--paper);padding:32px;border-top:3px solid var(--orange)}
.evidence h2{font-weight:400;font-size:38px;line-height:1.05;letter-spacing:-.04em;margin:12px 0}
.evidence p{font-size:18px;color:#50594f;line-height:1.4;margin:0 0 25px}
.button{display:block;background:var(--green);color:white;text-decoration:none;padding:16px 18px;font-size:12px;line-height:1.5}
.button:hover{background:var(--dark)}
.button span{float:right}
.aside-link{display:inline-block;margin-top:25px}
.article-end{border-top:1px solid var(--rule);padding-top:26px;margin-top:85px}
.article-end>a{display:inline-block;font-size:32px;line-height:1.15;text-decoration:none;margin-top:10px;letter-spacing:-.025em}
.article-end>a:hover{color:var(--green)}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:760px){
 .frame{width:min(100% - 36px,1280px)}
 .library{padding-top:76px;padding-bottom:90px}
 .intro{padding-bottom:60px}
 .card-grid{grid-template-columns:1fr;gap:45px}
 .article{padding-top:26px;padding-bottom:80px}
 .article-head{margin:60px 0 36px}
 .article-grid{grid-template-columns:1fr;margin-top:45px;gap:30px}
 .evidence{padding:27px}
 .article-end{margin-top:65px}
}
@media(max-width:460px){
 .intro h1,.article h1{font-size:clamp(48px,12.5vw,60px)}
 .library-heading h2{font-size:30px}
 .library-heading>span{font-size:10px}
}
