*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f3ef;color:#25332f;font-family:"Neue Haas Grotesk","Neue Haas Grotesk Text Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.5}a{text-decoration:none!important;color:#275b4b}a:hover{color:#153b2f}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b7833a;outline-offset:4px}.topbar{position:sticky;top:0;z-index:20;background:rgba(250,249,246,.97);border-bottom:1px solid #dedfd6;backdrop-filter:blur(10px)}.topinner{max-width:1440px;margin:auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:14px;letter-spacing:.07em;font-weight:700}.topactions{display:flex;gap:10px;align-items:center}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #285c4b;background:#285c4b;color:white!important;border-radius:8px;padding:11px 19px;font-size:15px;font-weight:600;line-height:1.3;cursor:pointer;min-height:44px}.button:hover,button:hover{background:#1c4538}.button.secondary{background:transparent;color:#285c4b!important;border-color:#c8cec4}.button.secondary:hover{background:#e7ece5}.button:disabled,button:disabled{opacity:.4;cursor:default}.topactions .button{padding:9px 14px}main{max-width:1440px;margin:auto;padding:38px 32px 80px}main>nav{font-size:14px;color:#68766d;margin-bottom:26px;display:flex;gap:12px;flex-wrap:wrap}h1{font-size:clamp(30px,4vw,52px);font-weight:500;line-height:1.12;letter-spacing:-.035em;max-width:1000px;margin:0 0 20px}h2{font-size:27px;font-weight:500;letter-spacing:-.025em;margin:35px 0 20px}h3{font-size:21px;font-weight:500;line-height:1.3;letter-spacing:-.02em;margin:14px 0}p{margin:0 0 18px}main>p{max-width:850px;color:#647168}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-top:24px;align-items:stretch}.card{background:#fff;border:1px solid #e0e2d9;border-radius:13px;padding:20px;overflow:hidden;overflow-wrap:anywhere;display:flex;flex-direction:column;box-shadow:0 3px 12px #183c2710;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #183c2715}.card>a:has(img){display:block;background:#eeeee7;margin:-20px -20px 18px;padding:12px}.card img,.card .archive-thumb{display:block;width:100%;height:260px;object-fit:contain;background:#eeeee7;border-radius:0}.card h2,.card h3{margin:0 0 12px;font-size:21px;line-height:1.28;font-weight:500}.card p{font-size:15px;color:#68746b;margin:0 0 15px}.card .button{align-self:flex-start;margin-top:auto}.card .card-action{padding-top:10px;margin-top:auto}.card .card-action .button{width:100%}.card .badge,.badge{display:inline-block;align-self:flex-start;font-size:11px;letter-spacing:.09em;font-weight:700;text-transform:uppercase;color:#476752;background:#eef2eb;padding:5px 9px;border-radius:5px;margin-bottom:12px}.meta,.muted,small{color:#728075;font-size:14px}.entry[hidden]{display:none}.card details{margin:12px 0}.card details p{font-size:14px}summary{cursor:pointer;color:#285c4b;font-weight:600}details{background:#fff;padding:18px;border:1px solid #dce1d7;border-radius:9px;margin:12px 0}details div{font-size:16px;line-height:1.7;max-width:100%;overflow-wrap:anywhere}input,select{width:100%;padding:14px 16px;border:1px solid #c7cfc2;border-radius:8px;background:white;color:#25332f;min-height:50px}input:focus{border-color:#285c4b}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.filters>div{min-width:190px}.filters>div:first-child{flex:1}.actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px}.hero{display:grid;grid-template-columns:1fr 1fr;background:#e6e9df;border:1px solid #d7ddcf;border-radius:17px;overflow:hidden;margin-bottom:35px}.hero-copy{padding:42px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;color:#62725f;margin-bottom:16px}.hero h1{font-size:clamp(32px,3.6vw,52px);max-width:600px}.hero p{max-width:510px;color:#52654f}.hero-media{min-height:340px;position:relative}.hero-media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute}.hero-media span{position:absolute;bottom:15px;right:15px;background:#ffffffed;padding:7px 12px;border-radius:6px;font-size:12px}.search-start{display:flex;gap:9px;max-width:550px;margin:25px 0 0}.search-start input{min-width:0}.stats{display:flex;gap:28px;flex-wrap:wrap;margin:25px 0 30px;font-size:14px;color:#667461}.stats strong{font-weight:500;font-size:25px;display:block;color:#254836}.jumpnav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:38px}.jumpnav a{background:white;padding:9px 15px;border:1px solid #d6dece;border-radius:30px;font-size:14px}.topic-section{scroll-margin-top:90px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin:38px 0 10px;border-bottom:1px solid #d8dece;padding-bottom:12px}.section-heading h2{margin:0}.topic-card .collage{display:grid!important;grid-template-columns:2fr 1fr;grid-template-rows:125px 125px;gap:4px;padding:0!important;height:254px}.topic-card .collage img{height:100%;object-fit:cover;background:#e6e7df}.topic-card .collage img:first-child{grid-row:1/3}.topic-card .collage img:only-child{grid-column:1/3}.topic-card .code{font-size:12px;color:#87947e;font-weight:700;margin-bottom:8px}.help{background:#e8ece3;border-radius:12px;padding:24px;margin-top:40px;max-width:none!important}.help h2{margin:0 0 12px;font-size:23px}.help p{margin:0;font-size:15px;color:#60725a}.lightbox{border:0;border-radius:12px;padding:18px;background:#f9faf6;width:95vw;max-width:1400px;height:94vh}.lightbox::backdrop{background:#14271edc}.lightbox-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:10px}.lightbox-image{width:100%;height:calc(94vh - 150px);object-fit:contain}.lightbox-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.card-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.file-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.file-tabs button{background:white;color:#285c4b!important;border-color:#cbd4c5}.file-tabs button[aria-pressed=true]{background:#285c4b;color:white!important}.card[hidden]{display:none!important}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-media{min-height:260px}.hero-copy{padding:30px}.brand{max-width:170px}.topinner{padding:12px 20px}}@media(max-width:620px){main{padding:26px 16px 50px}.grid{grid-template-columns:1fr}.topinner{padding:10px 12px}.brand{display:none}.topactions{width:100%;justify-content:space-between}.topactions .button{font-size:13px;padding:9px 11px}.hero-copy{padding:24px}.hero-media{min-height:210px}.search-start{flex-wrap:wrap}.search-start .button{width:100%}.stats{gap:22px}.filters>div{width:100%}.card img{height:280px}.section-heading h2{font-size:24px}}
.search-start button{white-space:nowrap;flex-shrink:0} .card a:not(.button):not(:has(img)){font-weight:500}

/* Typographic design inspired by Ernst Keller: content, contrast, grid. */
:root{--ink:#151515;--paper:#f4f1e9;--accent:#d83627}body{background:var(--paper);color:var(--ink)}a,a:hover{color:var(--ink)}.topbar{background:var(--paper);border-bottom:2px solid var(--ink);backdrop-filter:none}.brand{color:var(--ink);font-size:13px;letter-spacing:0;font-weight:700;line-height:1.15}.topinner{padding-top:17px;padding-bottom:17px}.button,button{border-radius:0;background:var(--ink);border-color:var(--ink);color:white!important;font-weight:600}.button:hover,button:hover{background:var(--accent);border-color:var(--accent)}.button.secondary{color:var(--ink)!important;border-color:var(--ink);background:transparent}.button.secondary:hover{background:var(--ink);color:white!important}.topactions>.button:last-child{background:var(--accent);border-color:var(--accent)}h1,h2,h3{font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(32px,4.2vw,62px)}main>p,.muted,.meta,small{color:#555}main{padding-top:40px}.hero{border:0;border-radius:0;background:transparent;grid-template-columns:5fr 7fr;gap:35px;align-items:stretch}.hero-copy{padding:0 10px 0 0;display:flex;flex-direction:column;align-items:flex-start}.hero .eyebrow{font-size:12px;letter-spacing:.09em;color:var(--ink);margin-bottom:23px;border-top:6px solid var(--accent);padding-top:13px;width:100%}.hero h1{font-size:clamp(46px,5.4vw,78px);line-height:.96;letter-spacing:-.055em;margin-bottom:27px}.hero h1 span{color:var(--accent)}.hero p{font-size:17px;color:#333;max-width:470px}.hero .search-start{margin-top:auto;width:100%}.hero-media{min-height:460px;overflow:hidden;border-radius:0}.hero-media>a{position:absolute;inset:0;display:block}.hero-media img{object-fit:cover;filter:none}.hero-media span{border-radius:0;background:var(--paper);color:var(--ink);font-size:12px;padding:10px 13px;pointer-events:none}.search-start input,input,select{border-radius:0;border:1px solid #73736d;background:#fffefa;color:var(--ink)}input:focus{outline-color:var(--accent)}.search-start button{background:var(--accent);border-color:var(--accent)}.stats{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:20px 0;margin:32px 0 18px;gap:65px;color:#444}.stats strong{font-size:32px;font-weight:600;line-height:1.2;color:var(--ink);letter-spacing:-.03em}.jumpnav{gap:0;margin-bottom:44px;border-bottom:1px solid #bbb9af;padding-bottom:18px}.jumpnav a{border:0;border-right:1px solid #c4c1b6;border-radius:0;background:transparent;padding:4px 18px;font-size:14px}.jumpnav a:first-child{padding-left:0}.jumpnav a:hover{color:var(--accent)}.topic-section{counter-increment:topic}.section-heading{border-bottom:2px solid var(--ink);padding-bottom:14px;margin-top:42px}.section-heading h2{font-size:31px;display:flex;gap:22px;align-items:baseline}.section-heading h2:before{content:counter(topic,decimal-leading-zero);font-size:16px;font-weight:500;color:var(--accent)}.grid{gap:28px}.card{border:0;border-radius:0;padding:0 0 22px;background:transparent;box-shadow:none;border-bottom:1px solid #bab8ae;transition:none}.card:hover{transform:none;box-shadow:none}.card>a:has(img){margin:0 0 17px;padding:12px;background:#e9e6dc;border-radius:0}.card img,.card .archive-thumb{background:#e9e6dc;height:280px}.card h2,.card h3{font-size:22px;font-weight:600;line-height:1.2}.card .badge,.badge{border-radius:0;background:var(--ink);color:white;padding:4px 8px;font-size:10px;letter-spacing:.08em}.card .meta,.card p{color:#555}.card .card-action .button{width:auto;min-width:145px}.topic-card .collage{grid-template-rows:135px 135px;height:274px}.topic-card .code{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.08em}.help{border-radius:0;background:transparent;border-top:6px solid var(--ink);padding:24px 0}.help h2{font-size:24px}.help p{color:#444;max-width:900px}.file-tabs button{color:var(--ink)!important;border-color:var(--ink);background:transparent}.file-tabs button[aria-pressed=true]{background:var(--ink);color:white!important}details{border-radius:0;border-color:#bbb9af;background:#fffefa}summary{color:var(--ink)}.lightbox{border-radius:0}.lightbox::backdrop{background:#151515df}.topbar a:focus-visible,button:focus-visible,a:focus-visible{outline-color:var(--accent)}@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:58px}.hero-media{min-height:450px}.hero .search-start{flex-wrap:wrap}.hero .search-start button{width:100%}.stats{gap:40px}}@media(max-width:620px){.hero{grid-template-columns:1fr}.hero h1{font-size:64px}.hero-media{min-height:260px}.hero .search-start{margin-top:10px}.stats{gap:25px}.stats strong{font-size:27px}.jumpnav a{margin-bottom:10px;padding-left:0;padding-right:14px;margin-right:14px}.section-heading h2{font-size:27px}.card .card-action .button{width:100%}}

.brand{display:flex;align-items:center;gap:13px;max-width:none}.brand-mark{width:46px;height:46px;flex-shrink:0}.brand span{line-height:1.2}@media(max-width:620px){.brand{display:flex}.brand span{display:none}.brand-mark{width:34px;height:34px}.topactions{width:auto;gap:6px}.topinner{gap:10px}.topactions .button{padding:8px;font-size:12px}}

.brand .official-logo{width:183px;height:60px;object-fit:contain;display:block}.brand .archive-label{border-left:1px solid #999;padding-left:15px;font-size:12px;font-weight:500}.topinner{padding-top:12px;padding-bottom:12px}@media(max-width:620px){.brand .official-logo{width:115px;height:auto}.brand .archive-label{display:none}.topactions .button{font-size:11px;padding:7px}.topinner{gap:7px}.topactions{gap:4px}}

.folder-open{white-space:nowrap}.topactions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:620px){.topactions{gap:5px}.topactions .button{min-height:34px}.brand{align-self:flex-start}}

.card .card-action{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.card .card-action .button{width:auto!important;min-width:0;font-size:14px;padding:11px 14px}.download-button{white-space:nowrap}
