:root{--ink:#122f3b;--ink2:#365965;--muted:#607e86;--line:#d9e5e7;--paper:#f6f9f8;--white:#fff;--teal:#167d7a;--deep:#102c3b;--mint:#aee7da;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #21b3a3;outline-offset:3px}.wrap{width:min(1200px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;top:-80px;left:20px;padding:9px;background:white;z-index:10}.skip:focus{top:12px}.mast{background:var(--deep);color:white}.mast-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:79px}.brand{text-decoration:none;display:flex;gap:13px;align-items:center}.brand-symbol{display:grid;place-items:center;width:42px;height:42px;border:1px solid #568186;border-radius:12px;color:#a6e2d9;font-weight:800;letter-spacing:-.08em}.brand strong,.brand small{display:block;line-height:1.1}.brand strong{font-size:14px;letter-spacing:.2em}.brand small{margin-top:5px;font-size:10px;letter-spacing:.13em;color:#a9c7c8}.mast nav{display:flex;gap:28px;font-size:13px;font-weight:650}.mast nav a{text-decoration:none;color:#d2e2e3}.mast nav a:hover{color:var(--mint)}.hero{background:linear-gradient(120deg,#113743 0%,#1f5860 75%,#246f70 100%);color:#f5fbfa;padding:90px 0 84px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);align-items:end;gap:70px}.eyebrow,.micro{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--teal);text-transform:uppercase}.hero .eyebrow{color:#a8e7d9}.hero h1{font-size:clamp(3rem,6.5vw,5.8rem);line-height:1.04;letter-spacing:-.065em;margin:21px 0 23px}.hero h1 em{font-style:normal;color:#a6e1d8}.hero-lead{font-size:18px;line-height:1.65;color:#d1e4e3;max-width:670px;margin:0 0 31px}.button{background:#b9e6dc;color:#103e43;display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:8px;text-decoration:none;padding:14px 20px;font-weight:760;font-size:14px}.button:hover{background:#def9ef}.hero-note{border:1px solid #68a3a3;background:#ffffff0c;border-radius:15px;padding:30px;max-width:350px}.hero-note .micro{color:#a8e7d9}.hero-note p{font-size:27px;line-height:1.17;letter-spacing:-.04em;margin:20px 0 34px}.note-rule{height:1px;background:#5d8d94}.hero-note>span:last-child{display:block;color:#bcd4d5;font-size:13px;line-height:1.55;margin-top:20px}.section{padding-block:69px 92px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.section-head h2,.approach h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em;margin:10px 0}.section-head p{color:var(--muted);line-height:1.6;margin:0}.count{font-size:13px;color:var(--teal);font-weight:750;white-space:nowrap}.search-label{display:block;font-size:12px;font-weight:750;color:var(--ink2);margin-bottom:20px;max-width:430px}.search-label input{display:block;margin-top:7px;padding:13px 15px;width:100%;border-radius:8px;border:1px solid var(--line);background:white;color:var(--ink);font:inherit;font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-card,.empty-card{border:1px solid var(--line);background:white;border-radius:13px;padding:25px;min-height:255px;box-shadow:0 10px 30px #183a4108}.project-card{display:flex;flex-direction:column}.project-card[hidden]{display:none}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-top>span:last-child{font-size:11px;color:#829ba1}.project-card h3{font-size:24px;letter-spacing:-.035em;line-height:1.2;margin:21px 0 10px}.card-link{text-decoration:none}.card-link:hover{color:var(--teal);text-decoration:underline}.project-card p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 17px}.topic-row{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 14px}.topic-row span,.project-meta span{font-size:11px;border-radius:4px;padding:6px 8px;color:#267573;background:#e4f3f0;font-weight:700}.card-foot{color:var(--teal);font-size:13px;font-weight:750;border-top:1px solid #e2edee;padding-top:16px}.card-foot span{padding-left:8px}.empty-card{padding:40px;min-height:230px;display:flex;flex-direction:column;justify-content:center}.empty-mark{font-size:11px;letter-spacing:.2em;color:var(--teal);font-weight:800}.empty-card h3{font-size:24px;margin:18px 0 7px}.empty-card p{font-size:15px;color:var(--muted);line-height:1.6;max-width:620px;margin:0}.empty-match{color:var(--muted);padding:25px}.approach{background:#e7f1f1;padding:66px 0 80px}.approach h2{max-width:690px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.approach-grid>div{border-top:2px solid #7ec6bb;padding-top:18px}.approach-grid span{font-size:12px;color:var(--teal);font-weight:800}.approach-grid h3{margin:14px 0 7px;font-size:19px}.approach-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.footer{background:var(--deep);color:#abc5c7}.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-block:28px;font-size:12px}.breadcrumb{display:flex;gap:11px;align-items:center;font-size:12px;color:var(--muted);padding-block:24px}.breadcrumb a{color:var(--teal)}.project-hero{background:#e7f2f0;padding:60px 0 62px}.project-hero h1{font-size:clamp(2.6rem,5vw,4.8rem);letter-spacing:-.065em;line-height:1.08;margin:17px 0}.project-hero p{font-size:19px;line-height:1.55;color:#345862;max-width:850px;margin:0}.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:70px;align-items:start;padding:35px 0 90px}.story section{padding:33px 0 40px;border-bottom:1px solid var(--line)}.story h2{font-size:clamp(1.55rem,2.7vw,2.2rem);letter-spacing:-.045em;margin:10px 0 17px}.story p{font-size:16px;line-height:1.75;color:#3e5e68;margin:0 0 16px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:13px;margin-top:24px}.resource-card{background:white;border:1px solid var(--line);border-radius:11px;padding:24px}.resource-card h3{font-size:19px;line-height:1.25;margin:16px 0 9px}.resource-card p{font-size:13px;line-height:1.5}.resource-link{display:inline-block;margin-top:12px;color:var(--teal);font-size:14px;font-weight:750}.download-list,.sources-list{list-style:none;margin:24px 0 0;padding:0}.download-list li,.sources-list li{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:20px;align-items:start}.download-list strong,.download-list span{display:block}.download-list span,.source-item p,.source-item small{color:var(--muted);font-size:13px;line-height:1.6}.download-list a,.source-item a{color:var(--teal);font-weight:700;font-size:13px;white-space:nowrap}.source-item p{margin:6px 0!important}.source-item small{display:block}.detail-aside{position:sticky;top:24px}.aside-card{background:#143846;color:white;border-radius:12px;padding:27px}.aside-card .micro{color:#a4e3d5}.aside-card h2{font-size:24px;letter-spacing:-.04em;margin:17px 0 9px}.aside-card p{font-size:14px;color:#c8dbdc;line-height:1.6}.aside-button{width:100%;text-align:center;margin-top:16px}.aside-code{display:block;margin-top:19px;color:#a5e3d7;font-weight:700;font-size:13px}.aside-rule{border-top:1px solid #4f7780;margin:25px 0 15px}.aside-card .muted{color:#9ebdc0;font-size:12px}@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{gap:25px}.detail-layout{grid-template-columns:1fr;gap:20px}.detail-aside{position:static;order:-1}.aside-card{max-width:none}}@media(max-width:650px){.wrap{width:min(100% - 32px,1200px)}.mast-inner{min-height:70px}.mast nav{gap:13px;font-size:12px}.brand strong{font-size:12px}.brand small{font-size:9px}.hero{padding:60px 0}.hero-grid,.project-grid,.approach-grid{grid-template-columns:1fr}.hero-note{max-width:none}.section{padding-block:48px 65px}.section-head{align-items:start;flex-direction:column}.footer-inner{display:block}.footer-inner span{display:block;margin:5px 0}.project-hero{padding:44px 0}.detail-layout{padding-bottom:55px}.download-list li,.sources-list li{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
