:root{color-scheme:light;--ink:#142536;--muted:#516171;--blue:#075db5;--navy:#102c40;--paper:#f7f7f3;--line:#dce1e3;--orange:#bb4c18;--width:1184px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-underline-offset:.22em}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.13;font-weight:600;letter-spacing:-.045em}h1{font-size:clamp(2.65rem,5.2vw,4.75rem);max-width:17ch}h2{font-size:clamp(2rem,3.4vw,3rem);max-width:21ch}h3{font-size:1.35rem;letter-spacing:-.025em}p{max-width:67ch}p+p{margin-top:1.1em}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:99;padding:12px 20px;background:white;color:var(--ink)}.skip-link:focus{top:12px}
.site-header{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:94px;display:flex;align-items:center;gap:24px}.wordmark{margin-right:auto;text-decoration:none;font-size:21px;line-height:1.2;font-weight:750;letter-spacing:-.045em}.wordmark small{display:block;margin-top:6px;color:var(--muted);font-size:10px;letter-spacing:.11em;font-weight:600;text-transform:uppercase}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a{padding-block:12px;font-size:14px;font-weight:550;text-decoration:none;white-space:nowrap}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--blue);text-decoration:underline}.header-tools{display:flex;align-items:center;gap:10px}.language-link{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;text-decoration:none;font-size:13px;font-weight:700}.menu-toggle{display:none;min-width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;place-items:center;cursor:pointer}.menu-toggle svg{width:21px;height:21px}.menu-contact{display:none}
.eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}.eyebrow+.section-title,.eyebrow+h1,.eyebrow+h2{margin-top:17px}.intro{font-size:clamp(1.08rem,1.5vw,1.24rem);line-height:1.65;color:var(--muted);max-width:53ch;margin-top:24px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 21px;border:1px solid var(--ink);border-radius:6px;text-decoration:none;font-size:14px;font-weight:650;line-height:1.4;background:transparent}.button-primary{background:var(--blue);border-color:var(--blue);color:white}.button-primary:hover{background:#06498b;border-color:#06498b}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:650;gap:9px}.text-link::after{content:'↗';font-size:18px}.text-link.internal::after{content:'→'}.section{padding-block:88px}.section+.section{border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-head>p{max-width:43ch;color:var(--muted)}.section-lede{font-size:1.12rem;color:var(--muted);margin-top:22px}.tint{background:#edf1f2}.white{background:white}
.home-hero{padding-block:52px 64px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:70px;align-items:center}.home-hero h1{max-width:15ch}.hero-portrait{position:relative;background:#e5e9e8;border-radius:3px;overflow:hidden}.hero-portrait img{width:100%;height:470px;object-fit:cover;object-position:50% 30%}.hero-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:15px 22px;color:white;background:linear-gradient(transparent,rgba(13,27,35,.8));font-size:12px;padding-top:42px}.hero-copy .eyebrow{margin-bottom:18px}.hero-copy .intro{max-width:48ch}.hero-footnote{margin-top:28px;font-size:13px;color:var(--muted)}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px}.vision-grid .vision-body{padding-top:34px}.vision-body p{color:var(--muted)}.vision-body .text-link{margin-top:22px}.principle{border-left:3px solid var(--blue);padding-left:22px;margin-top:24px;font-weight:600;color:var(--ink)!important}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.case-card{display:flex;flex-direction:column;text-decoration:none;min-width:0}.case-image{background:#e8edee;overflow:hidden;border-radius:3px;margin-bottom:21px}.case-image img{width:100%;aspect-ratio:1.65;object-fit:cover;object-position:top}.case-card .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:8px}.case-card p{color:var(--muted);font-size:15px;margin-top:12px}.case-card .case-link{font-size:13px;font-weight:650;margin-top:18px;text-decoration:underline;text-underline-offset:5px}.case-card:hover h3{color:var(--blue)}.project-more{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:36px;border-top:1px solid var(--line);padding-top:18px;font-size:14px;color:var(--muted)}
.approach-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.steps{list-style:none;margin:0;padding:0;counter-reset:steps}.steps li{display:grid;grid-template-columns:38px 1fr;gap:20px;padding-block:20px;border-bottom:1px solid var(--line);counter-increment:steps}.steps li:first-child{padding-top:0}.steps li::before{content:'0' counter(steps);color:var(--blue);font-size:12px;padding-top:3px;font-weight:700}.steps p{font-size:15px;color:var(--muted);margin-top:8px}.steps h3{font-size:1.13rem}.social-band{background:var(--navy);color:white}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.social-grid img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:3px}.social-band .eyebrow{color:#ffc69d}.social-band p:not(.eyebrow){color:#d3dfe5;margin-top:22px}.social-band .text-link{margin-top:22px}.contact-section{text-align:center;padding-block:84px}.contact-section h2,.contact-section p{margin-inline:auto}.contact-section h2{max-width:20ch}.contact-section .actions{justify-content:center}.contact-section .intro{max-width:51ch;font-size:17px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}.contact-actions .button{min-width:155px}.site-footer{border-top:1px solid var(--line);padding-block:42px 24px;background:var(--paper)}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-brand{font-size:17px;font-weight:700;letter-spacing:-.03em}.footer-copy{color:var(--muted);font-size:13px;margin-top:10px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.footer-links a,.footer-external a{font-size:13px;min-height:36px;display:flex;align-items:center}.footer-external{display:flex;flex-direction:column;align-items:start}.footer-bottom{display:flex;gap:22px;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:32px;color:var(--muted);font-size:12px}.footer-bottom a{padding-block:8px}.footer-bottom span{padding-block:8px}
.breadcrumbs{display:flex;list-style:none;gap:12px;flex-wrap:wrap;padding:0;margin:24px 0 0;color:var(--muted);font-size:12px}.breadcrumbs li+li::before{content:'/';margin-right:12px;color:#6e7d88}.page-intro{padding-block:38px 54px}.page-intro h1{max-width:20ch}.page-intro .intro{max-width:62ch}.page-intro.with-image{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.page-intro.with-image>img{width:100%;height:320px;object-fit:cover;border-radius:3px}.article-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:80px;align-items:start;padding-bottom:76px}.prose{max-width:720px}.prose h2{font-size:clamp(1.7rem,2.5vw,2.1rem);max-width:26ch;margin-top:40px;margin-bottom:18px}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.15rem;margin:28px 0 10px}.prose p,.prose li{font-size:16px;color:#394e5f}.prose ul,.prose ol{padding-left:23px}.prose li+li{margin-top:10px}.prose a{color:var(--blue)}.case-aside{border-top:3px solid var(--blue);padding-top:20px;font-size:14px}.case-aside dt{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:22px}.case-aside dt:first-child{margin-top:0}.case-aside dd{margin:5px 0 0}.case-aside h2{font-size:1.25rem}.case-aside .text-link{margin-top:8px}.case-aside ul{padding-left:18px;color:var(--muted)}.case-aside .sources-list{list-style:none;padding:0}.case-aside .sources-list li{margin-top:12px}.case-aside .sources-list a{font-size:13px;overflow-wrap:anywhere}.case-cover{margin-bottom:45px;background:#e7ecee;border:1px solid var(--line);border-radius:3px;overflow:hidden}.case-cover img{width:100%;max-height:560px;object-fit:cover;object-position:top}.case-cover figcaption{padding:10px 16px;font-size:12px;color:var(--muted);background:white}.note{padding:18px 22px;border-left:3px solid var(--blue);background:#edf1f2;margin-block:24px}.note p{font-size:14px}.building-blocks{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin-top:30px}.building-block{display:grid;grid-template-columns:48px 1fr;gap:18px;padding-block:25px;border-top:1px solid var(--line)}.building-block img{width:42px;height:42px;object-fit:contain}.building-block h3{font-size:18px;margin-bottom:10px}.building-block p{font-size:15px;color:var(--muted)}.building-block a{font-size:12px;margin-top:9px;display:inline-block;color:var(--blue)}.building-block .block-number{font-size:12px;color:var(--blue);padding-top:6px}.faq{margin-top:32px}.faq details{border-top:1px solid var(--line);padding-block:18px}.faq summary{cursor:pointer;list-style:none;font-weight:600;padding-right:28px;position:relative;font-size:16px}.faq summary::after{content:'+';position:absolute;right:0}.faq details[open] summary::after{content:'−'}.faq p{margin-top:15px;font-size:15px;color:var(--muted)}.timeline{list-style:none;padding:0!important;margin:30px 0}.timeline li{display:grid;grid-template-columns:100px 1fr;gap:20px;border-top:1px solid var(--line);padding-block:20px;margin:0!important}.timeline time{font-size:13px;color:var(--blue);font-weight:650}.timeline h3{margin:0 0 8px}.timeline a{font-size:13px}.publications{list-style:none;margin:0;padding:0}.publications li{border-top:1px solid var(--line);padding:22px 0}.publications .publication-meta{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.publications h3{font-size:18px;margin-top:8px;max-width:60ch}.publications p{font-size:14px;color:var(--muted);margin-top:8px}.publications a{display:block;text-decoration:none}.publications a:hover h3{text-decoration:underline}.featured-publication{border:1px solid var(--line);border-left:4px solid var(--blue);padding:24px;margin-bottom:32px}.featured-publication h2{font-size:1.5rem;margin-bottom:15px}.featured-publication p{font-size:15px;color:var(--muted)}.asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:24px}.asset-grid img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:3px}.asset-grid h3{margin-top:18px;font-size:1.1rem}.asset-grid p{font-size:14px;color:var(--muted);margin-top:8px}.video-shell{position:relative;aspect-ratio:16/9;background:#102c40;border-radius:4px;overflow:hidden;margin-top:25px}.video-shell img{width:100%;height:100%;object-fit:cover;opacity:.7}.video-shell button{border:0;padding:0;display:block;width:100%;height:100%;position:absolute;inset:0;cursor:pointer;background:transparent;color:white}.video-label{position:absolute;inset:auto 20px 20px;display:flex;align-items:center;gap:14px;font-size:15px;font-weight:650;text-shadow:0 1px 4px black}.video-play{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:white;color:var(--ink);text-shadow:none}.video-shell iframe{width:100%;height:100%;border:0}.video-caption{font-size:12px!important;margin-top:10px!important}.heritage-list article{display:grid;grid-template-columns:160px 1fr;gap:30px;align-items:center;padding-block:30px;border-top:1px solid var(--line)}.heritage-list img{width:160px;height:170px;object-fit:contain}.heritage-list h2{font-size:1.6rem;margin-bottom:14px}.subtle-link{color:var(--blue);font-size:14px}.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}
@media(min-width:901px){.menu-contact{display:none}.nav-links{display:flex!important}.menu-toggle{display:none!important}}
@media(max-width:1050px){.nav-links{gap:17px}.header-inner{gap:17px}.wordmark{font-size:19px}.hero-grid{gap:40px}.hero-portrait img{height:430px}.vision-grid,.approach-grid{gap:45px}.article-layout{gap:45px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:78px;gap:12px}.wordmark{font-size:19px}.wordmark small{font-size:9px}.nav-links{display:none;position:absolute;left:24px;right:24px;top:calc(100% - 1px);padding:18px 24px 22px;background:var(--paper);border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 16px 24px #1425360d}.menu-open .nav-links{display:grid;gap:0}.nav-links>a{font-size:18px;padding:13px 0;border-bottom:1px solid var(--line)}.menu-contact{display:flex;gap:24px;margin-top:13px}.menu-contact a{font-size:13px}.menu-toggle{display:grid}.header-tools{gap:8px}.language-link,.menu-toggle{min-width:42px;width:42px;height:42px;min-height:42px}.site-header.menu-open .menu-toggle{background:var(--ink);color:white}.hero-grid{grid-template-columns:1.2fr .8fr;gap:30px}.hero-portrait img{height:375px}.home-hero h1{font-size:clamp(2.5rem,5.3vw,3.5rem)}.hero-copy .intro{font-size:17px}.section{padding-block:64px}.section-head{gap:25px}.section-head>p{font-size:15px}.social-grid{gap:36px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-external{grid-column:1/-1;flex-direction:row;gap:24px}.article-layout{grid-template-columns:minmax(0,1fr);gap:40px}.case-aside{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-aside dl{margin:0}.page-intro.with-image{gap:35px}.page-intro.with-image>img{height:260px}}
@media(max-width:600px){body{font-size:16px;line-height:1.6}.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:8px}.wordmark{font-size:18px;letter-spacing:-.05em;max-width:215px}.wordmark small{font-size:8px;letter-spacing:.08em;margin-top:5px}.header-tools{gap:6px}.language-link,.menu-toggle{min-width:40px;width:40px;height:40px;min-height:40px}.nav-links{left:20px;right:20px;padding-inline:20px}.home-hero{padding-block:30px 35px}.hero-grid{grid-template-columns:1fr;gap:24px}.home-hero h1{font-size:clamp(2.05rem,8.8vw,2.6rem);max-width:16ch;letter-spacing:-.055em;line-height:1.1}.hero-copy .eyebrow{font-size:10px;margin-bottom:14px}.intro,.hero-copy .intro{font-size:16px;line-height:1.6;margin-top:18px}.hero-copy .actions{gap:10px;margin-top:22px;align-items:start;flex-direction:column}.hero-copy .actions>.text-link{min-height:34px}.hero-footnote{display:none}.hero-portrait{max-width:none}.hero-portrait img{height:178px;object-fit:cover;object-position:center 30%}.hero-portrait figcaption{padding:28px 16px 12px;font-size:11px}.button{font-size:14px;min-height:48px;padding:12px 17px}.eyebrow{font-size:10px;letter-spacing:.11em}.eyebrow+h1,.eyebrow+h2,.eyebrow+.section-title{margin-top:14px}h1{font-size:2.25rem;line-height:1.12;letter-spacing:-.05em;max-width:18ch}h2{font-size:1.9rem;line-height:1.15;letter-spacing:-.045em;max-width:22ch}h3{font-size:1.22rem}.section{padding-block:45px}.section-head{display:block;margin-bottom:26px}.section-head>p{margin-top:17px}.section-head .text-link{margin-top:14px}.vision-grid,.approach-grid,.social-grid{grid-template-columns:1fr;gap:25px}.vision-grid .vision-body{padding-top:0}.vision-body p{font-size:15px}.vision-body .text-link{margin-top:16px}.principle{padding-left:17px;margin-top:20px}.case-grid{grid-template-columns:1fr;gap:25px}.home-cases .case-card:not(:first-child){display:grid;grid-template-columns:90px 1fr;gap:17px;padding-top:23px;border-top:1px solid var(--line)}.home-cases .case-card:not(:first-child) .case-image{margin:0}.home-cases .case-card:not(:first-child) .case-image img{height:98px;aspect-ratio:auto;object-fit:cover;object-position:top left}.home-cases .case-card:not(:first-child) .eyebrow{font-size:9px}.home-cases .case-card:not(:first-child) h3{font-size:20px}.home-cases .case-card:not(:first-child) p{font-size:14px;margin-top:7px}.home-cases .case-card:not(:first-child) .case-link{margin-top:11px}.case-image{margin-bottom:16px}.case-card p{font-size:15px}.project-more{display:block;margin-top:26px;padding-top:17px}.project-more .text-link{margin-top:7px}.steps li{gap:12px;grid-template-columns:26px 1fr;padding-block:17px}.steps h3{font-size:17px}.steps p{font-size:14px}.social-grid>img{aspect-ratio:1.8;max-height:220px}.social-grid h2{max-width:19ch}.social-band p:not(.eyebrow){font-size:15px;margin-top:18px}.social-band .text-link{margin-top:16px}.contact-section{padding-block:48px;text-align:left}.contact-section h2,.contact-section p{margin-inline:0}.contact-section .intro{font-size:15px}.contact-actions{justify-content:start;gap:10px;margin-top:22px}.contact-actions .button{min-width:0;flex:1;max-width:190px}.contact-section .actions{justify-content:start;margin-top:12px}.site-footer{padding-block:32px 16px}.footer-main{grid-template-columns:1fr;gap:23px}.footer-links{grid-template-columns:1fr 1fr;gap:2px 12px}.footer-links a{font-size:13px;min-height:40px}.footer-external{grid-column:auto;gap:22px;flex-wrap:wrap}.footer-bottom{font-size:11px;gap:12px;align-items:center;margin-top:22px;padding-top:12px}.footer-copy{font-size:12px}.page-intro{padding-block:28px 34px}.page-intro.with-image{grid-template-columns:1fr;gap:25px}.page-intro.with-image>img{height:190px;object-position:50% 30%}.page-intro h1{font-size:2.2rem;max-width:19ch}.breadcrumbs{margin-top:18px;font-size:11px;gap:9px}.breadcrumbs li+li::before{margin-right:9px}.article-layout{gap:32px;padding-bottom:42px}.prose h2{font-size:1.65rem;line-height:1.2;margin:32px 0 15px}.prose p,.prose li{font-size:15px}.case-cover{margin-bottom:26px}.case-cover img{max-height:280px}.case-cover figcaption{font-size:11px;padding:9px 12px}.case-aside{grid-template-columns:1fr;gap:24px}.case-aside dl{display:grid;grid-template-columns:85px 1fr;gap:12px}.case-aside dt,.case-aside dd{margin:0}.case-aside dt{padding-top:4px}.case-aside dd{font-size:13px}.building-blocks{grid-template-columns:1fr;gap:0;margin-top:22px}.building-block{padding-block:23px;grid-template-columns:40px 1fr;gap:16px}.building-block img{width:36px;height:36px}.building-block h3{font-size:18px}.building-block p{font-size:14px}.timeline li{grid-template-columns:68px 1fr;gap:12px;padding-block:18px}.timeline time{font-size:11px}.timeline h3{font-size:16px}.timeline p{font-size:14px}.timeline a{display:inline-flex;align-items:center;min-height:36px;font-size:12px}.faq summary{font-size:15px}.faq p{font-size:14px}.asset-grid{grid-template-columns:1fr;gap:25px}.asset-grid img{max-height:240px}.publications li{padding-block:19px}.publications h3{font-size:17px;line-height:1.3}.publications .publication-meta{font-size:10px}.featured-publication{padding:21px}.featured-publication h2{font-size:1.35rem}.heritage-list article{grid-template-columns:85px 1fr;gap:18px;padding-block:24px}.heritage-list img{width:85px;height:110px}.heritage-list h2{font-size:1.3rem}.heritage-list p{font-size:14px}.video-label{inset:auto 14px 14px;font-size:12px;gap:10px}.video-play{width:38px;height:38px}}
@media(max-width:350px){.wrap{width:calc(100% - 32px)}.wordmark{font-size:16px;max-width:180px}.wordmark small{font-size:7px}.header-inner{gap:6px}.header-tools{gap:5px}.language-link,.menu-toggle{min-width:36px;width:36px;height:36px;min-height:36px}.home-hero h1{font-size:2rem}.hero-copy .intro{font-size:15px}.hero-portrait img{height:155px}.home-cases .case-card:not(:first-child){grid-template-columns:75px 1fr;gap:13px}.nav-links{left:16px;right:16px}.contact-actions .button{padding-inline:12px;font-size:13px}}
.case-card h2{font-size:1.35rem;letter-spacing:-.025em}.case-grid:has(>.case-card:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.text-link[href^="tel:"]::after,.text-link[href^="mailto:"]::after{content:none}
@media(max-width:600px){.hero-portrait img,.page-intro.with-image>img{object-position:center 12%}.case-grid:has(>.case-card:nth-child(4)){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
