@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans.ttf') format('truetype');font-display:swap}
:root{--paper:#eee9df;--ink:#203832;--muted:#637369;--accent:#a77b4f;--line:#20383226;--gutter:5.5vw;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:450}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}img{max-width:100%}em{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#365447;color:#fff5e5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-100px;padding:15px 20px;background:var(--paper);z-index:150}.skip-link:focus{top:12px}
/* The top bar: symmetrical and quiet. Menu and support on the left, the wordmark in
   the centre, Donate on the right. No background over the mountains; it steps
   aside while you read downward and returns when you scroll back up. */
.site-header{position:fixed;inset:0 0 auto;z-index:40;height:96px;padding-bottom:12px;padding:0 var(--gutter);display:flex;align-items:center;gap:34px;color:var(--ink);font-size:13px;letter-spacing:.01em;transition:transform .6s cubic-bezier(.65,0,.15,1),background-color .4s,color .4s}
.site-header.is-hidden{transform:translate3d(0,-100%,0)}
.site-header.is-scrolled:not(.over-mountain){background:linear-gradient(180deg,var(--paper) 0%,#eee9dfe6 55%,#eee9df00 100%)}
.site-header.is-scrolled.over-mountain{background:linear-gradient(180deg,#0f1f2266 0%,#0f1f2200 100%)}
.brand{position:absolute;left:50%;top:50%;line-height:0;transform:translate(-50%,-50%);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.75,.15,1)}
.brand img{display:block;width:104px;height:auto}
.home .site-header:not(.past-hero) .brand{opacity:0;transform:translate(-50%,-10%)}
.menu-toggle,.support-link,.header-donate{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;font-size:13px}
.menu-toggle:after,.support-link:after,.header-donate:after{content:'';position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.65,0,.15,1)}
.menu-toggle:after{left:31px}
.menu-toggle:hover:after,.support-link:hover:after,.header-donate:hover:after,.header-donate[aria-current=page]:after,.support-link[aria-current=page]:after{transform:scaleX(1);transform-origin:left}
.header-donate{margin-left:auto}
.menu-mark{display:grid;gap:5px;width:19px}.menu-mark i{display:block;height:1px;background:currentColor;transition:transform .5s cubic-bezier(.65,0,.15,1)}
.menu-toggle:hover .menu-mark i:last-child{transform:scaleX(.6);transform-origin:left}
html .site-menu{position:fixed;inset:0;margin:0;width:100%;height:100svh;max-width:none;max-height:none;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto;z-index:100}.site-menu::backdrop{background:#20383277;backdrop-filter:none}.menu-open{overflow:hidden}.menu-top{padding:26px var(--gutter);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.menu-brand{font:450 27px Manrope,sans-serif;letter-spacing:-.065em}.menu-close{display:flex;align-items:center;gap:24px;min-height:44px;font-size:13px;color:var(--ink)!important;text-shadow:none!important}.menu-close span{font-size:30px}.menu-landscape{position:absolute;right:0;top:0;bottom:0;width:35%;height:100%;background:url('assets/summit-landscape.jpg?v=dev-1') 65% center/cover;transform:none;filter:saturate(.8);pointer-events:none}.menu-links{position:relative;width:62%;display:flex;flex-direction:column;padding:6vh var(--gutter);gap:3px}.menu-links a{font:450 clamp(40px,6vw,90px)/1.3 Manrope,sans-serif;letter-spacing:-.065em;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden}.menu-links b{font:12px DM,sans-serif;letter-spacing:0;opacity:.5}.menu-links a span{display:block;transition:translate .4s var(--ease)}.menu-links a:hover span{translate:12px 0}.menu-bottom{position:relative;width:62%;display:flex;justify-content:flex-start;gap:20px;font-size:14px;padding:30px var(--gutter)}.menu-bottom a{text-decoration:underline;text-underline-offset:5px}.site-menu[open]{animation:menu-in .55s var(--ease) both}.site-menu[open] .menu-links a span{animation:menu-text .7s var(--ease) both}.site-menu .menu-links a:nth-child(2) span{animation-delay:.04s}.site-menu .menu-links a:nth-child(3) span{animation-delay:.08s}.site-menu .menu-links a:nth-child(4) span{animation-delay:.12s}.site-menu .menu-links a:nth-child(5) span{animation-delay:.16s}.site-menu.is-closing{animation:menu-out .3s ease-in both}@keyframes menu-in{from{transform:translateY(-100%)}to{transform:none}}@keyframes menu-out{to{transform:translateY(-100%)}}@keyframes menu-text{from{transform:translateY(110%)}to{transform:none}}
.kicker{font-size:12px;line-height:1.5;letter-spacing:.03em}.action-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:48px;padding:12px 0;font-size:14px;border-bottom:1px solid currentColor}.action-link span{font-size:22px;transition:transform .3s}.action-link:hover span{transform:translate(4px,-4px)}.body-copy{font-size:17px;line-height:1.7}.fine-print{font-size:12px;line-height:1.6;color:var(--muted)}
/* The footer: one row of links, then the wordmark standing on the bottom edge. */
.site-footer{padding:90px var(--gutter) 0;background:var(--paper);color:var(--ink);overflow:hidden}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 34px;font-size:14px}
.footer-links a{position:relative;padding:6px 0}
.footer-links a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.65,0,.15,1)}
.footer-links a:hover:after{transform:scaleX(1);transform-origin:left}
.footer-links .footer-quiet{color:var(--muted)}
.footer-links a:nth-last-child(2){margin-left:auto}
.footer-signature{width:100%;display:block;height:auto;margin:70px 0 -1.2%}
@media(max-width:1000px){.site-header{gap:26px}}
@media(max-width:800px){:root{--gutter:6vw}html{scroll-padding-top:90px}.site-header{height:70px;gap:0}.brand img{width:84px}.support-link{margin-left:auto}.header-donate{display:none}.menu-landscape{display:none}.menu-links,.menu-bottom{width:100%}.menu-links{padding-top:7vh;padding-bottom:4vh}.menu-links a{font-size:12vw;line-height:1.5}.menu-bottom{font-size:12px}.footer-links{gap:6px 24px}.footer-links a:nth-last-child(2){margin-left:0}.site-footer{padding-top:60px}.footer-signature{margin-top:50px}.body-copy{font-size:16px}}
@media(max-height:600px){.menu-links{padding-top:0;padding-bottom:0}.menu-links a{font-size:9vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* One link style for every internal link on the page: a plain underline that
   draws back on hover. Arrows are reserved for links that leave the site. */
.text-link{display:inline-block;font-size:14px;line-height:1.4;padding-bottom:5px;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:background-size .5s var(--ease)}
.text-link:hover{background-size:0 1px;background-position:right bottom}

/* ---- Motion ------------------------------------------------------------------- */
/* Set by motion.js, so nothing is ever hidden when it does not run, and nothing
   moves under a reduced-motion preference. */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.split .w>span{display:inline-block}
.motion-on .split.will-reveal .w>span{transform:translate3d(0,108%,0);transition:transform 1s cubic-bezier(.2,.75,.15,1) calc(var(--i) * 42ms)}
.motion-on .split.is-shown .w>span{transform:none}
/* Lists rise the way headings do, one item after another. */
.motion-on .will-reveal:is(.who-text,.school-row,.value-list,.now-grid,.value-grid)>*{clip-path:inset(0 -100vw 100% -100vw);transform:translate3d(0,28px,0);transition:clip-path 1s cubic-bezier(.2,.75,.15,1) calc(var(--n) * 90ms),transform 1s cubic-bezier(.2,.75,.15,1) calc(var(--n) * 90ms)}
.motion-on .is-shown:is(.who-text,.school-row,.value-list,.now-grid,.value-grid)>*{clip-path:inset(-20% -100vw -20% -100vw);transform:none}
/* The programs rise one after another, each led by its plate. */
.motion-on .will-reveal.work-columns>li{opacity:0;transform:translate3d(0,56px,0);transition:opacity .9s ease calc(var(--n) * 130ms),transform 1.2s cubic-bezier(.2,.75,.15,1) calc(var(--n) * 130ms)}
.motion-on .is-shown.work-columns>li{opacity:1;transform:none}
/* The footer wordmark rises out of the ground line. */
.motion-on .footer-signature.will-reveal{clip-path:inset(100% 0 0 0);transform:translate3d(0,12%,0);transition:clip-path 1.2s cubic-bezier(.65,0,.2,1),transform 1.2s cubic-bezier(.2,.75,.15,1)}
.motion-on .footer-signature.is-shown{clip-path:inset(0);transform:none}
/* Buttons: one family. A pill for actions and a circle for giving. Both fill from
   below on hover and lean a little toward the pointer (motion.js). */
.button-link,.filters button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;overflow:hidden;isolation:isolate;font:500 15px Manrope,sans-serif;letter-spacing:-.01em;white-space:nowrap}
.button-link{min-height:62px;padding:0 32px;background:var(--ink);color:var(--paper)}
.button-link span{font-size:17px}
.button-link:before,.filters button:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#3a5648;transform:translate3d(0,101%,0);transition:transform .6s cubic-bezier(.65,0,.2,1)}
.button-link:hover:before,.button-link:focus-visible:before{transform:none}
[data-magnetic]{will-change:transform}
/* The curtain between pages: ink with a ridge for its top edge. It rises over the
   page you leave and keeps rising off the page you arrive on. The donation screen
   rises the same way. Only its position moves, so it stays smooth. */
:root{--ridge:polygon(0 12%,6% 8.5%,11% 10.5%,17% 4.5%,22% 7.5%,29% 1.5%,34% 5.5%,40% 3.5%,47% 0,53% 4.5%,58% 2.5%,65% 8.5%,71% 5.5%,78% 10.5%,84% 6.5%,90% 9.5%,95% 7.5%,100% 10.5%,100% 100%,0 100%)}
html.wipe-in:after,html.is-leaving:after{content:'';position:fixed;left:0;right:0;top:-24vh;height:124vh;z-index:400;background:var(--ink);clip-path:var(--ridge);pointer-events:none;will-change:transform}
html.is-leaving:after{animation:curtain-rise .56s cubic-bezier(.7,0,.25,1) both}
html.wipe-in.wipe-out:after{transform:translate3d(0,-124vh,0);transition:transform .9s cubic-bezier(.7,0,.2,1)}
@keyframes curtain-rise{from{transform:translate3d(0,124vh,0)}to{transform:none}}
@media(prefers-reduced-motion:reduce){html.wipe-in:after,html.is-leaving:after{display:none}}
