@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');

:root{--ink:#10243b;--navy:#10243b;--paper:#f4f6f3;--white:#fff;--soft:#e7ece9;--line:#cbd5d5;--muted:#60707a;--lime:#d7e76c;--serif:Georgia,'Times New Roman',serif;--sans:Manrope,Arial,sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}.page-wrap{width:min(1180px,calc(100% - 56px));margin-inline:auto}.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 56px));margin:auto;padding:28px 0}.brand{display:flex;gap:14px;align-items:center;font-size:15px;letter-spacing:-.02em}.brand span,.footer-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--navy);color:var(--paper);font-family:var(--serif);font-style:italic}.brand b{font-weight:600}.nav{display:flex;align-items:center;gap:31px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.nav a{border-bottom:1px solid transparent}.nav a:hover{border-color:var(--ink)}.nav-cta{padding:10px 15px;border:1px solid var(--ink)!important}.menu-button{display:none;border:0;background:none;font-family:var(--mono);text-transform:uppercase;font-size:11px}.eyebrow,.section-label,.project-meta,.mini-label{font-family:var(--mono);font-size:10px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}.signal-dot{display:inline-block;width:7px;height:7px;margin-right:9px;background:#b9ca2e;border-radius:50%}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:82px 0 112px}.hero-copy h1{max-width:630px;margin:22px 0;font-family:var(--serif);font-size:clamp(54px,7vw,102px);font-weight:400;line-height:.97;letter-spacing:-.065em}.hero-copy h1 em,.section-heading em,.home-band em,.about h2 em,.project-hero h1 em{font-style:italic;color:#78919a}.lede{max-width:500px;color:var(--muted);font-size:17px;line-height:1.65}.button-row{display:flex;align-items:center;gap:25px;margin-top:32px}.button{display:inline-block;padding:14px 18px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.button-dark{background:var(--navy);color:var(--paper)}.text-link,.card-link{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.hero-visual{margin:0}.hero-visual img{aspect-ratio:1.12;object-fit:cover}.hero-visual figcaption{display:flex;justify-content:space-between;margin-top:11px;font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--muted)}.home-intro,.about{display:grid;grid-template-columns:180px 1fr 200px;gap:40px;padding:94px 0;border-top:1px solid var(--line)}.intro-content{max-width:720px}.display-text{margin:0;font-family:var(--serif);font-size:clamp(40px,5.2vw,72px);line-height:1.03;letter-spacing:-.055em}.display-text span{font-style:italic;color:#78919a}.body-copy{max-width:600px;color:var(--muted);font-size:15px;line-height:1.75}.intro-content .body-copy{margin:42px 0 0}.intro-aside{font-family:var(--mono);font-size:10px;line-height:1.7;color:var(--muted);text-transform:uppercase}.intro-aside strong{color:var(--ink);font-weight:500}.projects{padding:105px 0 125px}.section-heading{display:grid;grid-template-columns:1fr 330px;gap:60px;align-items:end;margin:25px 0 55px}.section-heading h2,.about h2{margin:0;font-family:var(--serif);font-size:clamp(42px,5.4vw,76px);font-weight:400;line-height:1;letter-spacing:-.06em}.section-heading .body-copy{margin:0}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.project-card{display:grid;grid-template-rows:auto 1fr;background:var(--white);transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #10243b18}.project-card-featured{grid-column:1/-1;grid-template-columns:1.12fr .88fr}.project-card-image{position:relative}.project-card-image img{height:100%;min-height:280px;object-fit:cover}.image-tag{position:absolute;left:14px;bottom:13px;padding:7px 9px;background:var(--paper);font-family:var(--mono);font-size:9px;text-transform:uppercase}.project-card-copy{padding:25px 27px 29px}.project-meta{display:flex;justify-content:space-between;color:var(--muted)}.project-card h3{margin:28px 0 2px;font-family:var(--serif);font-size:52px;font-weight:400;line-height:1;letter-spacing:-.05em}.project-card p{margin:0 0 32px;color:var(--muted)}.card-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px}.home-band{background:var(--navy);color:var(--paper)}.band-inner{padding:95px 0 102px}.band-inner .eyebrow{color:#b9c4c4}.home-band h2{max-width:760px;margin:30px 0 0;font-family:var(--serif);font-size:clamp(46px,6.2vw,88px);font-weight:400;line-height:.98;letter-spacing:-.06em}.home-band em{color:var(--lime)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{margin-bottom:30px}.facts{display:grid;gap:0;border-top:1px solid var(--line)}.facts div{padding:18px 0;border-bottom:1px solid var(--line)}.facts span,.facts small{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--muted)}.facts strong{display:block;margin:5px 0;font-size:15px;font-weight:600}.site-footer{background:#dfe7e4}.footer-inner{display:grid;grid-template-columns:50px 1fr 1fr auto;gap:22px;align-items:center;padding:33px 0}.footer-inner p{margin:0;font-family:var(--serif);font-size:18px;line-height:1}.footer-inner p span{font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--muted)}.footer-inner>a,.footer-inner small{font-family:var(--mono);font-size:10px}.footer-inner>a{justify-self:end}.footer-inner small{color:var(--muted)}

/* project pages */
.project-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;padding:75px 0 78px}.project-hero h1{margin:22px 0 25px;font-family:var(--serif);font-size:clamp(64px,9vw,130px);font-weight:400;line-height:.88;letter-spacing:-.07em}.project-hero .lede{max-width:520px}.project-hero figure{margin:0}.project-hero figure img{aspect-ratio:1.16;object-fit:cover}.project-hero figcaption{display:flex;justify-content:space-between;margin-top:11px;font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--muted)}.project-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-block:1px solid var(--line)}.project-stats div{padding:23px 20px 22px;border-right:1px solid var(--line)}.project-stats div:first-child{padding-left:0}.project-stats div:last-child{border-right:0}.project-stats strong{display:block;font-family:var(--serif);font-size:35px;font-weight:400;line-height:1}.project-stats span{display:block;margin-top:8px;font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--muted)}.page-section{padding:92px 0;border-bottom:1px solid var(--line)}.page-section.alt{background:var(--white)}.section-layout{display:grid;grid-template-columns:180px 1fr;gap:55px}.section-layout h2{max-width:700px;margin:0 0 23px;font-family:var(--serif);font-size:clamp(39px,5vw,68px);font-weight:400;line-height:.98;letter-spacing:-.06em}.section-layout h2 em{font-style:italic;color:#78919a}.section-layout .body-copy{max-width:700px}.wide-image{margin:45px 0 0}.wide-image img{max-height:620px;object-fit:cover}.wide-image figcaption,.image-grid figcaption{margin-top:8px;font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--muted)}.image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:45px}.image-grid figure{margin:0}.image-grid img{aspect-ratio:1.28;object-fit:cover}.image-grid .tall img{aspect-ratio:.84}.section-layout + .section-layout{margin-top:75px}.tool-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.tool-list span{padding:8px 10px;border:1px solid var(--line);font-family:var(--mono);font-size:9px;text-transform:uppercase}.analysis-callout{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;margin-top:48px;padding:29px;background:var(--navy);color:var(--paper)}.analysis-callout strong{font-family:var(--serif);font-size:62px;font-weight:400;line-height:1}.analysis-callout p{margin:0;color:#d3dedd;font-size:14px}.dark-section{background:var(--navy);color:var(--paper)}.dark-section .section-label,.dark-section .body-copy,.dark-section .image-grid figcaption{color:#b8c7c7}.dark-section h2 em{color:var(--lime)}.dark-section .tool-list span{border-color:#49606d}.page-footer-cta{padding:88px 0;background:var(--lime)}.page-footer-cta h2{margin:20px 0 30px;font-family:var(--serif);font-size:clamp(44px,6vw,82px);font-weight:400;line-height:.95;letter-spacing:-.06em}.page-footer-cta h2 em{font-style:italic}.back-link{display:inline-block;margin-top:45px;font-family:var(--mono);font-size:10px;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:6px}

@media(max-width:800px){.page-wrap,.site-header{width:min(100% - 34px,620px)}.site-header{padding:20px 0}.menu-button{display:block}.nav{display:none;position:absolute;top:67px;left:0;right:0;padding:18px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}.nav.is-open{display:flex}.home-hero,.project-hero{grid-template-columns:1fr;gap:42px;padding:54px 0 72px}.hero-copy h1{font-size:clamp(53px,15vw,88px)}.lede{font-size:15px}.home-intro,.about{display:block;padding:68px 0}.intro-content{margin-top:35px}.intro-aside{margin-top:38px}.section-heading{display:block;margin:25px 0 35px}.section-heading .body-copy{margin-top:25px}.projects{padding:76px 0 85px}.project-list{grid-template-columns:1fr}.project-card-featured{grid-column:auto;grid-template-columns:1fr}.project-card h3{font-size:46px}.about-grid{display:block}.facts{margin-top:55px}.footer-inner{grid-template-columns:42px 1fr;gap:16px}.footer-inner>a,.footer-inner small{grid-column:2;justify-self:start}.footer-inner small{margin-top:5px}.project-hero h1{font-size:clamp(70px,19vw,120px)}.project-stats{grid-template-columns:repeat(2,1fr)}.project-stats div:nth-child(2){border-right:0}.project-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-stats div:first-child{padding-left:20px}.section-layout{display:block}.section-label{margin-bottom:28px}.page-section{padding:68px 0}.image-grid{grid-template-columns:1fr}.analysis-callout{grid-template-columns:1fr;gap:10px}.wide-image img{max-height:none}.project-hero figure img{aspect-ratio:1.1}.button-row{flex-wrap:wrap}}
.contain-image{object-fit:contain !important;background:var(--soft);padding:12px}
.analysis-grid img,.analysis-figure img{object-fit:contain !important;aspect-ratio:auto !important;height:auto !important;background:var(--soft);padding:12px}
