:root{--green:#0a3023;--green2:#15533d;--gold:#d8b260;--cream:#f5f0e6;--paper:#fffdf8;--ink:#172019;--muted:#69736c;--line:#d9ddd6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.section{width:min(1240px,90vw);margin:auto}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(5,28,20,.94);color:#fff;position:absolute;z-index:1000;width:100%;border-bottom:1px solid rgba(255,255,255,.14)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:40px;height:40px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:11px;font-weight:700;position:relative}.brand-mark:after{content:"";position:absolute;height:17px;border-left:1px solid var(--gold);left:11px;top:3px}.brand-word{font-family:"Playfair Display",serif;font-size:20px;letter-spacing:1px}.brand-word b{color:var(--gold)}nav{display:flex;gap:28px;font-size:13px}nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:10px}.studio-open{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 14px;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;border:0;padding:16px 24px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;cursor:pointer}.button-small{padding:12px 18px}.button-gold{background:var(--gold);color:var(--green)}.button-gold:hover{background:#e9c879}.menu-button{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{height:min(900px,100vh);min-height:740px;color:#fff;display:flex;align-items:center;position:relative;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,13,.92),rgba(3,22,15,.54) 47%,rgba(2,10,7,.06) 78%),linear-gradient(0deg,rgba(3,25,17,.88),transparent 38%)}.hero-content{position:relative;width:min(1240px,90vw);margin:auto;padding-bottom:85px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;margin:0 0 18px}.eyebrow.green{color:var(--green2)}h1,h2,.quote{font-family:"Playfair Display",serif;letter-spacing:-.04em}h1{font-size:clamp(58px,7.5vw,110px);line-height:.9;margin:0 0 30px;max-width:1000px}h1 em,h2 em{font-weight:600;color:var(--gold)}.hero-copy{max-width:640px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.83)}.hero-actions{display:flex;gap:12px;margin-top:34px}.ghost-button{border:1px solid rgba(255,255,255,.5);padding:15px 22px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.hero-metrics{position:absolute;bottom:0;left:5vw;right:5vw;height:116px;border-top:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:repeat(3,1fr) 1.5fr;align-items:center;gap:28px}.hero-metrics>div{display:flex;flex-direction:column}.hero-metrics strong{font-family:"Playfair Display",serif;color:var(--gold);font-size:28px}.hero-metrics span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.68)}.hero-metrics .goal span{display:flex;justify-content:space-between}.progress{height:4px;background:rgba(255,255,255,.22);margin-top:14px}.progress i{height:100%;display:block;background:var(--gold);width:7.2%;transition:.5s}.mission{min-height:94px;background:var(--gold);display:grid;grid-template-columns:auto 1fr auto;gap:35px;align-items:center;padding:22px max(5vw,calc((100vw - 1240px)/2));color:var(--green)}.mission>span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.mission p{font-family:"Playfair Display",serif;font-size:21px;margin:0}.mission a{font-size:12px;font-weight:700;border-bottom:1px solid}.journey-section{padding:115px 0;background:var(--paper)}.section-head,.directory-head{display:flex;justify-content:space-between;align-items:end;gap:60px}.section-head>div:first-child{max-width:700px}h2{font-size:clamp(42px,5vw,68px);line-height:1.04;margin:0}.lede{color:var(--muted);line-height:1.7;max-width:600px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;font-size:12px}.legend span{display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.completed{background:#3a9772}.dot.playing{background:var(--gold);box-shadow:0 0 0 4px rgba(216,178,96,.2)}.dot.scheduled{background:#71a9c9}.dot.target{background:#a4aaa6}.map-shell{height:620px;margin-top:48px;position:relative;background:#d8dfd9}.map-shell #map{height:100%;width:100%;z-index:1}.map-summary{position:absolute;z-index:500;left:24px;bottom:24px;width:260px;background:rgba(8,39,28,.95);color:#fff;padding:26px;box-shadow:0 16px 45px rgba(0,0,0,.24)}.map-summary>p{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin:0 0 10px}.map-summary>strong{font-family:"Playfair Display",serif;font-size:23px;display:block}.map-summary>span{font-size:11px;color:rgba(255,255,255,.6)}.map-summary hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:20px 0}.map-summary>div{display:flex;gap:12px;align-items:center}.map-summary b{font-size:32px;color:var(--gold)}.map-summary small{max-width:90px}.map-summary button{margin-top:18px;background:none;color:#fff;border:1px solid rgba(255,255,255,.3);padding:9px 12px;cursor:pointer}.map-marker{border:2px solid #fff;width:16px!important;height:16px!important;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35)}.leaflet-popup-content-wrapper{border-radius:0}.map-popup b{font-family:"Playfair Display",serif;font-size:17px}.map-popup span{display:block;color:var(--muted);margin:4px 0 10px}.map-popup button{border:0;background:var(--green);color:#fff;padding:7px 10px}.route{padding:110px 0}.route-head{display:flex;justify-content:space-between;align-items:end}.route-nav button{width:46px;height:46px;border:1px solid var(--line);background:transparent;cursor:pointer}.route-track{display:flex;gap:16px;overflow:auto;padding:35px 0 14px;scrollbar-width:none}.route-card{min-width:280px;background:#fff;padding:26px;border-top:3px solid var(--line);cursor:pointer}.route-card.playing{border-color:var(--gold);box-shadow:0 14px 35px rgba(27,50,39,.12)}.route-card .mini-status{text-transform:uppercase;font-size:9px;letter-spacing:.14em;color:var(--green2)}.route-card .route-num{font-family:"Playfair Display",serif;font-size:48px;color:#d7ddd8;float:right}.route-card h3{font-family:"Playfair Display",serif;font-size:23px;margin:35px 0 6px}.route-card p{font-size:12px;color:var(--muted)}.route-card .fund{border-top:1px solid var(--line);padding-top:16px;margin-top:22px;display:flex;justify-content:space-between;font-size:11px}.directory{background:var(--green);color:#fff;padding:110px 0}.directory-head>p{max-width:390px;color:rgba(255,255,255,.62);line-height:1.6}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-top:46px}.filters input,.filters select,.filters button{height:50px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;padding:0 15px}.filters select option{color:#111}.filters button{cursor:pointer}.search{position:relative}.search input{width:100%;padding-left:42px}.search span{position:absolute;left:16px;top:12px;font-size:22px;color:var(--gold)}.course-count{display:flex;justify-content:space-between;margin:24px 0 14px;font-size:11px;color:rgba(255,255,255,.55)}.course-count span:first-child{color:var(--gold);font-weight:700}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.course-card{min-height:255px;padding:22px;background:#123c2e;border-top:3px solid transparent;display:flex;flex-direction:column;cursor:pointer;transition:.2s}.course-card:hover{transform:translateY(-4px);border-color:var(--gold)}.course-card .rank{font-family:"Playfair Display",serif;font-size:52px;color:rgba(255,255,255,.12)}.course-card .card-status{margin-left:auto;margin-top:-48px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;padding:6px 8px;color:#fff}.card-status.completed{background:#2e8060}.card-status.playing{background:var(--gold);color:var(--green)}.card-status.scheduled{background:#477f9c}.card-status.target{border:1px solid rgba(255,255,255,.35)}.course-card h3{font-family:"Playfair Display",serif;font-size:22px;margin:auto 0 6px}.course-card .location{font-size:11px;color:var(--gold)}.course-card .raised{margin-top:18px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.6)}.course-card .raised b{color:#fff}.course-grid.compact{grid-template-columns:1fr 1fr}.course-grid.compact .course-card{min-height:0;display:grid;grid-template-columns:60px 1fr 120px;align-items:center}.course-grid.compact .course-card h3{margin:0}.course-grid.compact .location{grid-column:2}.course-grid.compact .card-status{grid-column:3;grid-row:1;margin:0}.course-grid.compact .raised{grid-column:3;grid-row:2;margin:0;border:0}.load-more{display:block;margin:28px auto 0;background:transparent;border:1px solid var(--gold);color:var(--gold);padding:13px 25px;cursor:pointer}.source-note{text-align:center;color:rgba(255,255,255,.44);font-size:10px;max-width:760px;margin:28px auto 0;line-height:1.6}.model{padding:120px 0;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.model-copy>p:not(.eyebrow){line-height:1.7;color:var(--muted)}.equation{margin-top:35px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.equation span{background:#fff;padding:10px 13px;font-weight:700}.equation i{font-style:normal;color:var(--muted)}.equation b{color:var(--green);font-size:20px}.scorecard{background:#fff;padding:32px;box-shadow:0 20px 70px rgba(30,52,41,.12)}.scorecard-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.scorecard-top b{color:var(--green2)}.holes{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin:24px 0}.hole{aspect-ratio:1;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;position:relative}.hole.funded{background:var(--green);color:#fff;border-color:var(--green)}.hole.funded:after{content:"✓";position:absolute;right:2px;top:0;color:var(--gold);font-size:8px}.partners{display:grid;grid-template-columns:1fr 1fr;gap:8px}.partners>div{display:flex;align-items:center;gap:12px;background:#f2f4ef;padding:14px}.partners span{font-family:"Playfair Display",serif;font-size:30px;color:var(--green2)}.partners p{margin:0}.partners small{display:block;color:var(--muted)}.partners .champion{background:var(--gold)}.impact{background:#081f17;color:#fff;padding:110px 0}.impact-intro{text-align:center}.impact-intro>p:last-child{max-width:700px;margin:25px auto;color:rgba(255,255,255,.65);line-height:1.7}.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:55px}.stories article{background:#0b2c20;padding:36px}.stories span{color:var(--gold);font-size:10px;letter-spacing:.15em}.stories h3{font-family:"Playfair Display",serif;font-size:28px}.stories p{color:rgba(255,255,255,.6);line-height:1.7}.stories a{color:var(--gold);font-size:12px}.leaders{padding:110px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.leaders h2{font-size:52px}.leaderboard>div{display:grid;grid-template-columns:50px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.leaderboard .leader-head{grid-template-columns:1fr auto;text-transform:uppercase;font-size:10px;letter-spacing:.14em;color:var(--muted)}.leaderboard b{color:var(--gold)}.leaderboard p{margin:0;font-weight:700}.leaderboard small{display:block;color:var(--muted);font-weight:400}.donate{background:var(--green);color:#fff;padding:110px max(5vw,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.donate h2{font-size:68px}.donate>div>p:last-child{color:rgba(255,255,255,.65);line-height:1.7;max-width:520px}.donation-panel{background:#fff;color:var(--ink);padding:34px}.giving-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:24px}.giving-tabs button{padding:12px 6px;border:1px solid var(--line);background:#f4f3ee;font-size:11px;cursor:pointer}.giving-tabs button.active{background:var(--green);color:#fff}.donation-panel label{font-size:11px;color:var(--muted);display:block;margin-top:16px}.donation-panel select,.donation-panel input{width:100%;padding:13px;border:1px solid var(--line);margin-top:7px}.donation-panel>.button{width:100%;margin-top:22px}.donation-panel small{display:block;text-align:center;color:var(--muted);margin-top:12px}footer{background:#061912;color:rgba(255,255,255,.65);padding:55px 5vw 28px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:25px;align-items:center}footer>div:nth-of-type(2){display:flex;justify-content:flex-end;gap:20px}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:22px}.modal{position:fixed;inset:0;background:rgba(0,12,8,.82);z-index:3000;display:none;place-items:center;padding:20px}.modal.open{display:grid}.course-modal-card{background:var(--paper);width:min(780px,96vw);max-height:92vh;overflow:auto;position:relative}.modal-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:30px;cursor:pointer;z-index:2}.modal-hero{background:var(--green);color:#fff;padding:45px}.modal-hero .modal-rank{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.modal-hero h2{font-size:46px;margin:12px 0}.modal-hero p{color:rgba(255,255,255,.6)}.modal-body{padding:36px}.modal-progress{height:8px;background:#e2e5df}.modal-progress i{display:block;height:100%;background:var(--gold)}.modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 28px}.modal-stats div{background:#eff1ec;padding:14px}.modal-stats b{display:block;font-size:20px}.modal-stats span{font-size:10px;color:var(--muted);text-transform:uppercase}.modal-body h3{font-family:"Playfair Display",serif;font-size:26px}.modal-holes{display:grid;grid-template-columns:repeat(9,1fr);gap:5px}.modal-actions{display:flex;gap:10px;margin-top:28px}.studio{position:fixed;right:0;top:0;bottom:0;width:min(700px,100vw);background:var(--paper);z-index:4000;transform:translateX(105%);transition:.3s;overflow:auto;padding:30px}.studio.open{transform:none}.studio-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:3900;display:none}.studio-backdrop.open{display:block}.studio-head{display:flex;justify-content:space-between}.studio-head span{color:var(--green2);text-transform:uppercase;font-size:10px;letter-spacing:.14em}.studio-head h2{font-size:38px}.studio-head button{border:0;background:none;font-size:30px}.studio-note{color:var(--muted);font-size:13px}.studio-tools{display:flex;gap:6px;flex-wrap:wrap;margin:25px 0}.studio-tools input{padding:10px;border:1px solid var(--line);flex:1}.studio-tools button,.import-label{padding:10px;border:1px solid var(--line);background:#fff;font-size:11px;cursor:pointer}.import-label input{display:none}.studio-item{border:1px solid var(--line);margin-bottom:8px}.studio-summary{display:grid;grid-template-columns:45px 1fr auto;gap:10px;align-items:center;padding:13px;cursor:pointer}.studio-summary b{color:var(--gold)}.studio-summary small{color:var(--muted)}.studio-edit{display:none;background:#f1f3ee;padding:16px;grid-template-columns:1fr 1fr;gap:12px}.studio-item.open .studio-edit{display:grid}.studio-edit label{font-size:10px;color:var(--muted)}.studio-edit input,.studio-edit select,.studio-edit textarea{width:100%;padding:9px;border:1px solid var(--line);background:#fff;margin-top:4px}.studio-edit .wide{grid-column:1/-1}.studio-edit button{grid-column:1/-1;background:var(--green);color:#fff;border:0;padding:11px}.toast{position:fixed;right:24px;bottom:24px;background:var(--gold);color:var(--green);padding:15px 20px;font-weight:700;z-index:5000;transform:translateY(100px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}
@media(max-width:980px){nav,.site-header .button-small{display:none}.menu-button{display:block}.site-header.menu-open nav{display:flex;position:absolute;top:80px;left:0;right:0;background:var(--green);padding:24px 5vw;flex-direction:column}.hero-metrics{grid-template-columns:repeat(3,1fr)}.hero-metrics .goal{display:none}.section-head,.directory-head{align-items:flex-start;flex-direction:column}.course-grid{grid-template-columns:repeat(2,1fr)}.model,.leaders,.donate{grid-template-columns:1fr}.stories{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.map-shell{height:560px}.map-summary{width:230px}.donate h2{font-size:55px}footer{grid-template-columns:1fr}footer>div:nth-of-type(2){justify-content:flex-start}footer small{grid-column:auto}}
@media(max-width:620px){.site-header{height:68px}.studio-open{font-size:10px;padding:8px}.hero{min-height:790px}.hero-content{padding-bottom:120px}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-metrics{height:105px}.hero-metrics strong{font-size:21px}.hero-metrics span{font-size:8px}.mission{grid-template-columns:1fr;gap:8px}.mission a{display:none}.journey-section,.route,.directory,.model,.impact,.leaders{padding-top:78px;padding-bottom:78px}.legend{grid-template-columns:1fr 1fr}.map-shell{width:100%;height:600px}.map-summary{left:12px;bottom:12px}.course-grid,.course-grid.compact{grid-template-columns:1fr}.course-grid.compact .course-card{display:flex}.filters{grid-template-columns:1fr}.holes,.modal-holes{grid-template-columns:repeat(6,1fr)}.partners{grid-template-columns:1fr}.donate{padding-top:75px;padding-bottom:75px}.donate h2{font-size:47px}.giving-tabs{grid-template-columns:1fr}.modal-hero{padding:42px 25px}.modal-hero h2{font-size:36px}.modal-body{padding:25px}.modal-stats{grid-template-columns:1fr}.studio{padding:22px}.studio-edit{grid-template-columns:1fr}.studio-edit .wide{grid-column:auto}}
