@font-face{font-family:Portfolio;src:local('Segoe UI')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#faf9f5;color:#233c36;font-family:Portfolio,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(2.7rem,5.1vw,4.7rem);margin-bottom:26px}h2{font-size:clamp(2rem,3.4vw,3.2rem);margin-bottom:22px}h3{font-size:1.22rem;line-height:1.35;letter-spacing:-.025em}em{color:#477467;font-weight:400}p{color:#52645c}a{color:inherit;text-underline-offset:5px}a:hover{color:#8e4325}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto;display:block}figure{margin:0}figcaption,.caption{font-size:.83rem;color:#607067;margin-top:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ad4c20;outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:1248px;margin:auto;padding-left:40px;padding-right:40px}.site-header{background:#faf9f5f5;position:sticky;top:0;z-index:20;border-bottom:1px solid #dce2d9}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;gap:13px;align-items:center;font-weight:650;text-decoration:none;font-size:1.15rem;line-height:1.3;white-space:nowrap}.brand small{display:block;font-size:.55rem;letter-spacing:.17em;margin-top:6px;font-weight:500}.monogram{width:44px;height:44px;background:#153f36;color:#fff;display:grid;place-items:center;border-radius:50%;font:27px Georgia,serif}.site-header nav{display:flex;gap:26px;align-items:center;font-size:.87rem}.site-header nav a{text-decoration:none;padding:12px 0}.site-header nav a[aria-current]{border-bottom:2px solid #a85431}.site-header nav a:last-child{background:#153f36;color:#fff;border-radius:5px;padding:10px 18px}.menu-toggle{background:none;border:1px solid #87998e;border-radius:5px;padding:9px 13px}.skip{position:fixed;top:10px;left:15px;background:#153f36;color:white;padding:10px 20px;z-index:100;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}.hero{display:grid;grid-template-columns:1.22fr 1fr;gap:58px;align-items:center;padding-top:76px;padding-bottom:76px}.eyebrow{font-size:.65rem;letter-spacing:.16em;font-weight:700;color:#446b5e;margin-bottom:20px;line-height:1.6}.hero .eyebrow{font-size:.63rem}.status-dot{width:7px;height:7px;border-radius:50%;background:#a65434;display:inline-block;margin-right:7px}.hero h1{font-size:clamp(2.65rem,4.7vw,4.2rem)}.lede{font-size:1.09rem;max-width:690px;line-height:1.8}.hero-copy>.lede{max-width:515px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:29px}.button{display:inline-flex;gap:30px;justify-content:center;align-items:center;text-decoration:none;background:#153f36;color:white;padding:14px 23px;border:1px solid #153f36;border-radius:5px;font-size:.87rem;font-weight:600;min-height:48px}.button:hover{background:#285347;color:white}.button:disabled{opacity:.65;cursor:wait}.text-link{font-size:.88rem;font-weight:600;text-decoration:none;border-bottom:1px solid #aab9af;padding-bottom:5px}.hero-person{display:flex;align-items:center;gap:13px;margin-top:37px;padding-top:25px;border-top:1px solid #d9dfd6}.hero-person img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top}.hero-person strong,.hero-person span{display:block;font-size:.75rem}.hero-person span{color:#6b796f;font-size:.68rem;margin-top:3px}.hero-panel{background:#e6ece3;border:1px solid #d7dfd3;border-radius:10px;overflow:hidden;box-shadow:16px 18px 0 #efeee7}.hero-panel-top{padding:20px 25px;display:flex;justify-content:space-between;font-size:.59rem;font-weight:700;letter-spacing:.17em;border-bottom:1px solid #cdd7c8}.hero-network{position:relative;padding:22px 30px 25px;background-image:radial-gradient(#a6b6a7 1px,transparent 1px);background-size:17px 17px}.network-node{position:relative;display:flex;gap:16px;align-items:center;padding:12px 0}.network-node b{font-size:.7rem;width:35px;height:35px;display:grid;place-items:center;background:#153f36;color:white;border-radius:50%;border:4px solid #e6ece3}.network-node span{font-family:Georgia,serif;font-size:1.35rem;color:#29483b}.network-node small{display:block;font:.68rem Portfolio,'Segoe UI',sans-serif;line-height:1.7;margin-top:3px;color:#536555}.network-line{position:absolute;left:47px;top:45px;bottom:45px;width:1px;background:#718b75}.hero-photo{width:100%;height:172px;object-fit:cover;object-position:50% 44%}.hero-caption{font-size:.7rem;padding:14px 24px;color:#3a5848}.proof-band{border-top:1px solid #d9dfd6;border-bottom:1px solid #d9dfd6;background:#f0f1e9}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-top:27px;padding-bottom:27px;gap:30px}.proof-grid>div+div{padding-left:40px;border-left:1px solid #cbd5c8}.proof-grid strong,.proof-grid span{display:block}.proof-grid strong{font:1.65rem Georgia,serif;margin-bottom:5px}.proof-grid span{font-size:.72rem;color:#5f6e63}.section{padding-top:80px;padding-bottom:80px}.compact{padding-top:8px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading .text-link{white-space:nowrap}.section-description{max-width:330px;font-size:.9rem;margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{border:1px solid #dce2d9;background:#fffefb;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px #153f360d}.card-image{display:block;height:205px;overflow:hidden;background:#dfe6dc}.card-image img{width:100%;height:100%;object-fit:cover}.card-body{padding:24px}.card-body .eyebrow{font-size:.57rem;letter-spacing:.09em;margin-bottom:12px}.card-body h3{font-size:1.19rem;line-height:1.3;margin-bottom:13px}.card-body h3 a{text-decoration:none}.card-body p{font-size:.86rem;line-height:1.7}.project-org{font-size:.67rem;color:#667366;display:block;border-top:1px solid #e1e6de;padding-top:16px;margin-top:22px}.system-art{position:relative;height:100%;min-height:205px;background:#173f37;overflow:hidden;color:#e2eadf;padding:23px}.system-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#71947f22 1px,transparent 1px),linear-gradient(90deg,#71947f22 1px,transparent 1px);background-size:28px 28px}.orb{border:1px solid #7b9c8470;width:230px;height:230px;border-radius:50%;position:absolute;left:40%;top:-65px;box-shadow:0 0 0 28px #789b7f15,0 0 0 56px #789b7f0b}.art-code{position:relative;font-size:.5rem;letter-spacing:.18em}.art-nodes{position:relative;display:flex;justify-content:space-between;align-items:center;margin-top:48px;gap:8px}.art-nodes:before{position:absolute;content:'';height:1px;background:#a7bca4;left:0;right:0}.art-nodes span{position:relative;background:#214d40;border:1px solid #94ad95;padding:9px 7px;font-size:.43rem;letter-spacing:.09em}.art-index{position:absolute;bottom:20px;left:23px;font:italic 1rem Georgia,serif;color:#d5dec9}.art-newcap{background:#dfe6d7;color:#2e4d39}.art-newcap .art-nodes span,.art-sokoto .art-nodes span{background:#e9eee3;color:#25452f}.art-newcap .art-index,.art-sokoto .art-index{color:#385441}.art-sokoto{background:#cbdac9;color:#294331}.art-pipelines{background:#3a5553}.art-gis{background:#455846}.art-research{background:#665b44}.capability-section{background:#eef0e8;border-top:1px solid #dee4d8;border-bottom:1px solid #dee4d8}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 45px;margin-top:48px}.capability{border-top:1px solid #c6d1c2;padding-top:19px}.capability>span{font-size:.73rem;color:#9b5536;font-weight:600}.capability h3{margin:18px 0 12px}.capability p{font-size:.89rem;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split p{max-width:540px}.rounded{border-radius:8px;width:100%}.cta{background:#153f36;color:#f4f4e8;margin-top:12px;margin-bottom:70px;border-radius:8px;padding:50px 52px;display:flex;justify-content:space-between;align-items:center;gap:35px}.cta h2{font-size:2.5rem;margin:0}.cta .eyebrow{color:#bacdba}.button.light{background:#f0f0e5;color:#173f36;border-color:#f0f0e5;white-space:nowrap}.button.light:hover{background:#dce5d5}.button.outline{background:transparent;color:#153f36}.button.outline:hover{background:#e4eadf}footer{background:#f0f1eb;border-top:1px solid #dde2d7;padding-top:55px}.footer-grid{display:flex;justify-content:space-between;gap:25px}.footer-name{font:2rem Georgia,serif;letter-spacing:-.04em;text-decoration:none}.dot{color:#ac5937}.footer-grid p{font-size:.83rem;margin:10px 0}.footer-grid small{font-size:.69rem;color:#617063}.footer-links{display:flex;gap:28px;font-size:.8rem;align-items:start;padding-top:15px}.footer-links a{text-decoration:none}.footer-bottom{display:flex;gap:25px;font-size:.65rem;padding-top:26px;padding-bottom:25px;margin-top:40px;border-top:1px solid #dce1d5;color:#637364}.footer-bottom>a:last-child{margin-left:auto}.page-intro{padding-top:70px;padding-bottom:45px}.page-intro h1{max-width:950px}.page-intro .lede{max-width:770px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}.filters button{border:1px solid #c6d1c3;background:transparent;border-radius:25px;padding:9px 16px;color:#365341;font-size:.77rem;min-height:44px}.filters button[aria-pressed=true]{background:#153f36;color:#fff;border-color:#153f36}.filter-status{font-size:.73rem;margin-bottom:26px}.resource-banner{margin-top:55px;padding:33px;background:#edf0e6;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:35px}.resource-banner h2{font-size:1.9rem;margin-bottom:12px}.resource-banner p{font-size:.88rem;margin-bottom:0}.resource-banner .eyebrow{margin-bottom:13px;font-size:.62rem}.case-meta{display:grid;grid-template-columns:1.2fr 1.2fr .7fr;gap:30px;padding-top:27px;padding-bottom:27px;border-top:1px solid #d8dfd3;border-bottom:1px solid #d8dfd3}.case-meta span{display:block;font-size:.6rem;letter-spacing:.15em;color:#657764;margin-bottom:6px}.case-meta strong{font-size:.84rem;font-weight:550}.case-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:85px;align-items:start}.prose h2{font-size:2rem;margin:40px 0 20px}.prose h2:first-child{margin-top:0}.prose p,.prose li{font-size:1rem;line-height:1.9}.contribution{padding-left:24px}.contribution li{padding-left:9px;margin-bottom:18px}.contribution li::marker{color:#a55433;font-weight:600}.case-aside{border:1px solid #d7dfd3;border-radius:8px;overflow:hidden;background:#f0f2e9}.case-aside>img{height:230px;width:100%;object-fit:cover}.aside-content{padding:28px}.aside-content h2{font-family:Portfolio,'Segoe UI',sans-serif;font-size:.96rem;font-weight:650;letter-spacing:0;margin:0 0 12px}.aside-content p{font-size:.84rem;margin-bottom:28px}.workflow{padding:24px;border:1px solid #d3decd;border-radius:8px;background:#edf0e6;display:flex;flex-direction:column;align-items:center;gap:10px}.workflow span{padding:10px 25px;border:1px solid #bacab4;border-radius:4px;background:#fafbf6;width:100%;text-align:center;font-size:.85rem}.workflow b{font-weight:400;color:#74876e}.back-link{margin-top:-30px;margin-bottom:65px}.back-link a{font-size:.86rem}.portrait-panel{background:#e2e9de;padding:35px 35px 0;border-radius:8px;align-self:start}.portrait-panel img{max-height:425px;width:100%;object-fit:contain;object-position:bottom}.portrait-panel p{padding:24px 0 27px;margin:0;font:1.4rem Georgia,serif}.portrait-panel p span{display:block;font:.75rem Portfolio,'Segoe UI',sans-serif;margin-top:10px}.about-split{grid-template-columns:.8fr 1.2fr;align-items:start}.toolkit p{padding-bottom:23px;border-bottom:1px solid #d8dfd2;font-size:.9rem}.toolkit strong{display:block;font-size:.9rem;color:#294a39;margin-bottom:8px}.resume-tools{display:flex;align-items:center;gap:25px;margin-bottom:45px}.resume-tools p{font-size:.76rem;margin:0}.timeline-row{display:grid;grid-template-columns:1fr 2.4fr;border-top:1px solid #d3ddcf;padding:35px 0;gap:40px}.timeline-row h2{font-size:2rem;margin-bottom:12px}.timeline-row h3{font-size:1rem;font-weight:500;color:#577153}.timeline-row .eyebrow{margin-top:8px;font-size:.65rem}.resume-details{display:grid;grid-template-columns:1.4fr 1fr;gap:75px;padding-top:30px}.resume-details h2{font-size:1.8rem;margin:32px 0 20px}.resume-details h3{font-size:1rem;margin-bottom:10px}.resume-details p,.resume-details li{font-size:.88rem}.print-contact{margin-top:40px;font-size:.85rem}.editorial-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center;margin-bottom:85px}.editorial-feature img{width:100%;height:360px;object-fit:cover;border-radius:8px}.editorial-feature h2{font-size:2.5rem}.insight-list{display:grid;grid-template-columns:1fr 1fr;gap:35px 60px}.insight-list article{border-top:1px solid #cbd6c5;padding-top:24px}.insight-list p{font-size:.88rem}.insight-list .eyebrow{font-size:.62rem}.article-body{max-width:860px;padding-bottom:80px}.article-body figure{margin-bottom:45px}.article-body img{max-height:480px;object-fit:cover}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:85px;align-items:start}.contact-grid aside h2{font-size:2.3rem}.email-link{font-size:.93rem;overflow-wrap:anywhere}.contact-links{display:flex;gap:20px;font-size:.83rem;margin-top:35px}form{background:#f0f2eb;border:1px solid #dce2d5;padding:32px;border-radius:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:.8rem;font-weight:600;margin-bottom:8px}input,select,textarea{display:block;background:#fffefa;border:1px solid #aebfab;border-radius:4px;padding:12px;width:100%;margin-bottom:21px;color:#263e32;min-width:0}textarea{resize:vertical}.form-note{font-size:.75rem;line-height:1.7;margin-bottom:25px}#form-status{font-size:.85rem;margin:17px 0 0}#form-status:empty{margin:0}.resources-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.resource-section{border-top:1px solid #cbd7c7;padding-top:30px}.resource-section h2{font-size:2rem}.resource-section details{border-bottom:1px solid #d3ddcf;padding:17px 0}.resource-section summary{cursor:pointer;font-weight:600}.resource-section details p{margin-top:15px;font-size:.87rem}.resource-section li{margin-bottom:13px}.notice{border-left:3px solid #aa5937;background:#f1eee3;padding:18px 23px;font-size:.88rem;margin:25px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eaf0e4;padding:20px;border-radius:5px;font-size:.81rem}code{font-family:Consolas,monospace}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid #d2ddca;padding:10px}body:has(.article-body) .article-body a{overflow-wrap:anywhere}
@media(min-width:1000px){.project-card:nth-child(n+4){margin-top:10px}}
@media(max-width:1050px){.wrap{padding-left:28px;padding-right:28px}.header-inner{gap:20px}.site-header nav{gap:17px}.brand{font-size:1rem}.brand small{font-size:.47rem}.hero{gap:30px}.hero h1{font-size:3.25rem}.hero-panel{box-shadow:8px 10px 0 #efeee7}.hero .eyebrow{font-size:.52rem}.card-body{padding:20px}.art-nodes span{padding:8px 5px;font-size:.36rem}.split,.case-layout,.contact-grid{gap:40px}.cta{margin-left:28px;margin-right:28px}.proof-grid>div+div{padding-left:20px}.footer-links{gap:18px}}
@media(max-width:800px){.header-inner{min-height:82px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.menu-toggle:not([hidden]){display:block}.site-header nav{width:100%;flex-wrap:wrap;gap:10px 22px;padding:15px 0 5px}.site-header nav.collapsed{display:none}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:55px;gap:35px}.hero h1{font-size:clamp(2.6rem,7.4vw,4.1rem)}.hero .eyebrow{font-size:.6rem}.hero-panel{max-width:600px;width:100%;justify-self:center}.hero-photo{height:210px}.hero-network{padding:15px 30px}.hero-person{margin-top:27px}.hero .lede{max-width:610px}.proof-grid{gap:18px}.proof-grid strong{font-size:1.25rem}.proof-grid span{font-size:.63rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card-image{height:205px}.capability-grid{grid-template-columns:1fr 1fr;gap:30px}.section{padding-top:55px;padding-bottom:55px}.compact{padding-top:8px}.split{gap:35px}.section-heading{align-items:start}.section-description{max-width:270px}.cta h2{font-size:2rem}.cta{padding:35px;gap:20px}.footer-grid{flex-direction:column}.footer-links{padding:0}.case-layout{grid-template-columns:1fr}.case-aside{display:grid;grid-template-columns:1fr 1fr}.case-aside>img{height:100%;object-fit:cover}.case-aside .system-art{height:100%;min-height:290px}.case-meta{gap:20px}.case-meta strong{font-size:.74rem}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid aside h2 br{display:none}.resume-details{gap:35px}.page-intro{padding-top:45px;padding-bottom:30px}.editorial-feature{gap:30px}.editorial-feature h2{font-size:2rem}.resources-grid{gap:30px}.art-nodes span{font-size:.43rem}.back-link{margin-top:0}}
@media(max-width:560px){.wrap{padding-left:22px;padding-right:22px}.brand small{font-size:.46rem}.monogram{width:38px;height:38px;font-size:24px}.hero{padding-top:35px}.hero h1{font-size:2.72rem;letter-spacing:-.055em}.hero .eyebrow{font-size:.52rem;letter-spacing:.11em}.lede{font-size:1rem}.actions{gap:20px}.button{font-size:.8rem;padding:13px 19px;gap:23px}.text-link{font-size:.82rem}.hero-person span{font-size:.6rem}.hero-person strong{font-size:.72rem}.hero-panel{box-shadow:none}.hero-photo{height:160px}.hero-network{padding:13px 24px}.network-line{left:41px}.network-node span{font-size:1.25rem}.proof-grid{grid-template-columns:1fr;padding-top:20px;padding-bottom:20px;gap:15px}.proof-grid>div{display:flex;align-items:center;gap:15px}.proof-grid strong{font-size:1.17rem;min-width:126px;margin-bottom:0}.proof-grid>div+div{border-left:0;padding-left:0}.proof-grid span{font-size:.65rem;max-width:175px}.section-heading{flex-direction:column;gap:20px}.section-description{max-width:100%}.project-grid{grid-template-columns:1fr;gap:25px}.card-image{height:210px}.card-body{padding:25px}.card-body p{font-size:.91rem}.art-nodes span{font-size:.53rem;padding:10px}.art-code{font-size:.57rem}.capability-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.capability h3{margin-top:12px}.capability p{font-size:.91rem}.split,.about-split{grid-template-columns:1fr;gap:30px}.split h2{font-size:2.25rem}.cta{margin:0 22px 45px;padding:30px 25px;flex-direction:column;align-items:start}.cta h2{font-size:2rem}.footer-bottom{gap:15px;flex-wrap:wrap}.footer-bottom>a:last-child{margin-left:0}.footer-links{flex-wrap:wrap;gap:22px}.page-intro h1{font-size:2.7rem}.filters{gap:8px}.filters button{font-size:.72rem;padding:8px 12px}.resource-banner{padding:25px;flex-direction:column;align-items:start;gap:23px}.case-meta{grid-template-columns:1fr;gap:18px}.case-meta strong{font-size:.83rem}.case-layout{gap:35px}.case-aside{display:block}.case-aside>img{height:220px}.case-aside .system-art{min-height:220px}.prose p,.prose li{font-size:.96rem}.portrait-panel{max-width:390px}.timeline-row{grid-template-columns:1fr;gap:8px;padding:28px 0}.timeline-row .eyebrow{margin-bottom:10px}.timeline-row h2{font-size:1.8rem}.resume-tools{align-items:start;flex-direction:column;gap:15px;margin-bottom:30px}.resume-details{grid-template-columns:1fr;gap:0}.editorial-feature{grid-template-columns:1fr;margin-bottom:55px;gap:28px}.editorial-feature img{height:240px}.insight-list{grid-template-columns:1fr;gap:22px}.form-row{grid-template-columns:1fr;gap:0}form{padding:23px}.contact-links{gap:18px}.resources-grid{grid-template-columns:1fr}.article-body{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.project-card:hover{transform:none}}
@media print{body{background:#fff;color:#111;font-size:11pt}.site-header,footer,.cta,.resume-tools,.skip,.back-link,.text-link{display:none!important}.wrap{max-width:none;padding:0}.page-intro{padding:0 0 16px}.page-intro h1{font-size:30pt}.page-intro .lede{font-size:11pt}.section{padding:0}.timeline-row{grid-template-columns:1fr 3fr;padding:15px 0;gap:15px;break-inside:avoid}.timeline-row h2{font-size:18pt}.timeline-row p,.resume-details p,.resume-details li{font-size:10pt}.resume-details{gap:30px;padding:0}.resume-details h2{font-size:18pt}.print-contact{border-top:1px solid #ccc;padding-top:12px}a{color:inherit}p{color:#333}@page{margin:16mm}}

.print-only{display:none}@media print{.print-only{display:block;border-bottom:1px solid #bbb;padding-bottom:12px;margin-bottom:20px}.print-only strong{font:26pt Georgia,serif}.print-only p{font-size:10pt;margin:8px 0 0}}
/* Photo journal: native disclosure controls work without JavaScript. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.photo-journal-intro{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #d3ddcf;border-bottom:1px solid #d3ddcf;padding:19px 0;margin-bottom:35px;align-items:center}.photo-journal-intro>span{font-size:.65rem;letter-spacing:.14em;font-weight:600;white-space:nowrap}.photo-journal-intro p{font-size:.83rem;margin:0}
.photo-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;align-items:start}.photo-story{border:1px solid #dce2d9;border-radius:9px;overflow:hidden;background:#fffefb;scroll-margin-top:115px}.story-photo{position:relative;display:block;background:#e3e9dc}.story-photo img{width:100%;height:320px;object-fit:cover}.story-photo>span{position:absolute;bottom:14px;right:14px;background:#153f36;color:white;font-size:.72rem;padding:7px 12px;border-radius:3px}.photo-story figcaption{margin:0;padding:13px 25px;border-bottom:1px solid #e0e5da;line-height:1.6;font-size:.78rem}.story-copy{padding:27px}.story-copy .eyebrow{font-size:.62rem;letter-spacing:.08em}.story-copy h2{font-size:2.1rem;line-height:1.15;margin-bottom:19px}.story-copy p{font-size:.94rem;line-height:1.8}.story-copy summary{padding:12px 0;color:#234c3b;font-size:.87rem;font-weight:600;cursor:pointer}.story-copy details{border-top:1px solid #dce2d7;margin-top:25px}.story-expanded{padding-top:12px}.story-permalink{font-size:.79rem}.photo-teaser{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-top:0}.photo-teaser img{max-height:340px;object-fit:cover;width:100%}
@media(min-width:801px) and (max-width:1100px){.site-header nav{gap:13px;font-size:.78rem}.brand small{letter-spacing:.09em}.header-inner{gap:17px}.brand{gap:9px}}
@media(max-width:800px){.photo-story-grid{gap:30px 22px}.story-photo img{height:230px}.story-copy{padding:22px}.story-copy h2{font-size:1.8rem}.photo-teaser{gap:30px}.photo-journal-intro{align-items:start}.photo-story figcaption{padding:12px 20px}}
@media(max-width:560px){.photo-story-grid,.photo-teaser{grid-template-columns:1fr}.photo-journal-intro{flex-direction:column;gap:9px}.story-photo img{height:auto;max-height:440px;object-fit:contain}.story-copy h2{font-size:1.95rem}.story-photo>span{font-size:.65rem}.photo-teaser{padding-top:10px}.photo-story{scroll-margin-top:100px}}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}.media-card{background:#fffefb;border:1px solid #dce2d9;border-radius:8px;overflow:hidden;min-width:0}.media-player{display:block;width:100%;aspect-ratio:16/10;background:#10241e;object-fit:contain}.media-photo{display:block;background:#e3e9dc}.media-photo img{width:100%;height:240px;object-fit:contain}.media-copy{padding:24px}.media-copy h3{font-size:1.2rem}.media-copy p{font-size:.88rem}.media-copy .eyebrow{font-size:.62rem}.media-intro{margin-top:-12px;margin-bottom:28px;max-width:720px}.media-crosslink{margin-bottom:28px}
@media(max-width:1100px){.header-inner{min-height:82px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.menu-toggle:not([hidden]){display:block}.site-header nav{width:100%;flex-wrap:wrap;gap:10px 22px;padding:15px 0 5px;font-size:.87rem}.site-header nav.collapsed{display:none}}
@media(max-width:800px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:560px){.media-grid{grid-template-columns:1fr}.media-copy{padding:23px}.media-player{aspect-ratio:4/3}}
.blog-topics{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.blog-topics span{border:1px solid #bacab6;padding:7px 14px;border-radius:20px;font-size:.8rem}.blog-feature{padding:42px;background:#eaf0e4;border:1px solid #d2ddca;border-radius:10px;max-width:100%}.blog-feature h2{max-width:900px;font-size:clamp(2rem,3.6vw,3.2rem)}.blog-feature h3{font:2rem/1.2 Georgia,serif;max-width:850px}.blog-feature p{max-width:750px}.blog-byline{font-size:.85rem}.blog-section-heading{margin-top:65px}.blog-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.blog-post{border-top:1px solid #cbd6c5;padding:25px 0}.blog-post h3{font:1.65rem/1.25 Georgia,serif}.blog-post h3 a{text-decoration:none}@media(max-width:560px){.blog-feature{padding:25px}.blog-posts{grid-template-columns:1fr}.hero-person strong{line-height:1.5}.brand small{font-size:.43rem;letter-spacing:.09em}}
.experience-contributions{padding-left:20px;margin:24px 0}.experience-contributions li{padding-left:5px;margin-bottom:17px;color:#52645c;line-height:1.8;font-size:.94rem}.experience-contributions strong{color:#233c36}.experience-links{display:flex;flex-wrap:wrap;gap:17px 25px;margin-top:25px}.resume-tools{flex-wrap:wrap}@media print{.timeline-row{display:block;break-inside:auto}.experience-contributions li{break-inside:avoid;font-size:10pt}.experience-links{display:none}}
.experience-photo{margin:30px 0;max-width:760px}.experience-photo img{width:100%;height:auto;border-radius:8px}.experience-photo figcaption{font-size:.82rem;line-height:1.6}@media print{.experience-photo{display:none}}
.donor-experience{background:#eaf0e4;border-left:3px solid #78936a;padding:16px 20px;margin:18px 0 23px}.donor-experience>strong{display:block;font-size:.69rem;letter-spacing:.1em;text-transform:uppercase;color:#254735}.donor-experience p{font-size:.85rem;line-height:1.7;margin:8px 0 0}.experience-jump{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.experience-jump a{padding:8px 15px;border:1px solid #b9cbb0;border-radius:22px;font-size:.83rem;text-decoration:none}.timeline-row[id],.resume-details h3[id]{scroll-margin-top:115px}@media print{.experience-jump{display:none}.donor-experience{padding:8px 12px;margin:10px 0}.donor-experience p{font-size:9pt}}

/* Keep featured media and selected work visually connected. */
#featured-media{padding-bottom:24px}#featured-media + .section{padding-top:24px}@media(max-width:560px){#featured-media{padding-bottom:18px}#featured-media + .section{padding-top:18px}}
/* Journal: compact previews with a comfortable long-form reading view. */
.journal-tools{display:grid;grid-template-columns:2fr 1fr;gap:24px;padding:25px;background:#eef1e8;border:1px solid #d4dfcc;border-radius:8px;margin-bottom:20px}.journal-tools label{display:block;font-size:.8rem;font-weight:600;margin-bottom:8px}.journal-tools input,.journal-tools select{width:100%;padding:12px;border:1px solid #9aaf94;border-radius:4px;background:#fffefb;color:#233c36}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;scroll-margin-top:125px}.journal-card{display:flex;flex-direction:column;border:1px solid #d9e1d4;border-radius:8px;overflow:hidden;background:#fffefb;min-width:0}.journal-image{display:block;aspect-ratio:5/3;overflow:hidden;background:#e7eddf}.journal-image img{width:100%;height:100%;object-fit:cover}.journal-copy{display:flex;flex-direction:column;align-items:flex-start;padding:26px;flex:1}.journal-copy .eyebrow{margin-bottom:10px}.post-meta{font-size:.77rem;color:#607067}.journal-copy h2{font-size:1.6rem;line-height:1.2;letter-spacing:-.025em}.journal-copy h2 a{text-decoration:none}.journal-copy>p:not(.eyebrow):not(.post-meta){font-size:.9rem}.journal-copy>.text-link{margin-top:auto}.journal-pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:36px}.journal-pagination button{border:1px solid #8fa487;border-radius:4px;padding:10px 17px;background:#fffefb;color:#233c36}.journal-pagination button:disabled{opacity:.4;cursor:default}.journal-empty{grid-column:1/-1;padding:35px 0}.article-header{max-width:1000px;padding-top:55px;padding-bottom:35px}.article-header>.eyebrow{margin-top:32px}.article-header h1{font-size:clamp(2.35rem,4.5vw,4.1rem);max-width:950px}.article-cover{width:100%;max-width:920px;max-height:440px;object-fit:cover;margin:auto;border-radius:8px}.article-body{max-width:790px;padding:45px 35px 80px;margin:auto;font-size:1.04rem;line-height:1.9}.article-body p,.article-body li{color:#42594e}.article-body h2{font-size:2rem;line-height:1.2;margin-top:46px;scroll-margin-top:130px}.article-body h3{margin-top:0}.article-lead{font-size:1.3rem;line-height:1.65;color:#233c36!important}.article-body blockquote{margin:32px 0;padding:22px 28px;border-left:3px solid #a45c39;background:#eef1e7}.article-body blockquote p{font:1.7rem/1.35 Georgia,serif;margin-bottom:12px;color:#233c36}.article-body cite{font-style:normal;font-size:.83rem}.article-body li{margin-bottom:13px}.article-contents{background:#f0f2eb;border:1px solid #d8e0d2;padding:22px 27px;display:grid;gap:8px;margin-top:30px;font-size:.88rem}.article-contents strong{margin-bottom:4px}.profession-examples{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0}.profession-examples section{border-top:1px solid #c4d1bc;padding-top:18px}.profession-examples p{font-size:.94rem;margin-bottom:0}.article-action{background:#e7eedf;padding:28px;border-radius:6px;margin-top:35px}.article-sources{font-size:.85rem;border-top:1px solid #cbd6c5;margin:40px 0 30px}.article-sources h2{font-size:1.5rem}.booking-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding:42px;background:#e8eedf;border:1px solid #d4dfca;border-radius:10px}.booking-panel h2{font-size:2.6rem}.booking-topics{display:flex;flex-wrap:wrap;gap:9px}.booking-topics span{font-size:.74rem;padding:5px 11px;border:1px solid #b7c8aa;border-radius:15px}.booking-action{padding:25px;background:#fffefb;border-radius:7px;align-self:center}.booking-action .button{width:100%;gap:10px}.booking-action .form-note{margin:17px 0 0}#booking{scroll-margin-top:120px}
@media(max-width:1000px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-panel{gap:25px;padding:28px}.booking-panel h2{font-size:2.1rem}}
@media(max-width:600px){.journal-grid,.journal-tools,.profession-examples,.booking-panel{grid-template-columns:1fr}.journal-tools{padding:20px;gap:16px}.journal-copy{padding:23px}.journal-copy h2{font-size:1.8rem}.article-header{padding-top:32px}.article-body{padding:30px 24px 55px;font-size:1rem}.article-body h2{font-size:1.8rem}.article-body blockquote{padding:20px}.article-cover{aspect-ratio:5/3;object-fit:contain;height:auto}.article-contents{padding:20px}.booking-panel{padding:24px}.booking-action{padding:20px}.journal-pagination{gap:10px;font-size:.85rem}}
@media print{.article-contents,.article-action,.journal-tools,.journal-pagination{display:none}.article-body{max-width:none;padding:0;font-size:10pt}.article-cover{max-height:200px}.article-header{padding:0}.article-body h2{font-size:16pt;margin-top:20px}.profession-examples{display:block}}
.home-blog-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center}.home-blog-feature>img{width:100%;border-radius:5px}@media(max-width:700px){.home-blog-feature{grid-template-columns:1fr;gap:25px}}

/* Code collection case study */
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; }
.drc-workflow-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; }
.drc-workflow { background:var(--paper,#fff); border:1px solid #d6ded3; border-radius:14px; padding:clamp(1.3rem,3vw,2rem); }
.drc-workflow h3 { font-size:1.35rem; line-height:1.35; margin:.6rem 0 1rem; }
.drc-workflow p { max-width:60ch; }
@media(max-width:650px) { .drc-workflow-grid { grid-template-columns:1fr; } }
