:root{--cream:#f7f6f0;--cream-2:#e9ede5;--white:#fffef9;--ink:#203c35;--ink-2:#5c6962;--taupe:#a9b99d;--taupe-dark:#526e59;--line:#d9ded3;--maxw:1280px}
body{font-weight:400}::selection{background:#d8e6c8;color:var(--ink)}
section{scroll-margin-top:90px}a:focus-visible,button:focus-visible{outline:3px solid #748c4d;outline-offset:5px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}
header{background:rgba(247,246,240,.96)}nav{display:flex;justify-content:space-between;gap:28px;padding:23px 40px}.logo{order:-1;display:flex;align-items:center;gap:13px;font-size:34px;letter-spacing:-3px}.logo small{max-width:120px;text-align:left;font-size:10px;letter-spacing:.15em;line-height:1.5;margin:0;padding-left:14px;border-left:1px solid var(--line)}.nav-links{gap:24px;font-size:10px;letter-spacing:.1em}.nav-right .btn{font-size:10px;border-radius:3px}.btn{letter-spacing:.11em;padding:16px 24px;border-radius:3px;font-size:11px}.btn-solid{background:var(--ink)}.btn-taupe{background:transparent;border-color:var(--line)}
.hero{padding:65px 0 60px;overflow:hidden}.hero .wrap{grid-template-columns:1.14fr .86fr;gap:78px;align-items:center}.hero .kicker{letter-spacing:.14em;font-size:10px;margin-bottom:22px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-2);margin-bottom:23px}.eyebrow:before{content:'';width:7px;height:7px;background:#718861;border-radius:50%}.hero h1{font-size:clamp(48px,5.7vw,78px);line-height:1.02;letter-spacing:-.035em;margin-bottom:24px}.hero h1 em{color:#6b815e}.hero .lead{font-size:15px;line-height:1.8;max-width:475px;margin-bottom:29px}.hero-person{font-family:var(--serif);font-size:25px;margin-bottom:7px}.hero-actions{gap:12px}.hero-foot{display:flex;align-items:center;gap:12px;margin-top:27px;font-size:10px;letter-spacing:.08em;color:var(--ink-2)}.hero-foot:before{content:'';width:28px;height:1px;background:var(--taupe)}
.hero-photo{padding:0 15px 28px 0}.hero-photo:before{content:'';position:absolute;inset:24px -9px 0 25px;border:1px solid #bdc9b5;border-radius:180px 180px 8px 8px}.hero-photo .frame{position:relative;aspect-ratio:.83;border-radius:180px 180px 6px 6px;background:#cdd6c1}.hero-photo img{object-position:50% 38%;filter:saturate(.72)}.photo-caption{position:absolute;left:-26px;right:38px;bottom:6px;background:var(--white);padding:17px 21px;display:flex;gap:15px;align-items:center;box-shadow:0 8px 30px #203c3510;border:1px solid var(--line)}.caption-icon{font-size:30px;color:#758968}.photo-caption strong{font-size:13px;display:block}.photo-caption small{font-size:11px;color:var(--ink-2)}.photo-index{position:absolute;right:-35px;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:var(--ink-2)}
.numbers{padding:0 0 30px}.numbers .wrap{padding:0 40px;border:0}.num{display:flex;align-items:center;justify-content:center;gap:14px;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 12px}.num .n{font-size:38px}.num .l{font-size:9px;letter-spacing:.1em;margin:0;max-width:115px}.affiliations{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:28px;padding-bottom:28px;color:#66746a}.affiliations span{font-size:9px;letter-spacing:.13em;max-width:170px}.affiliations b{font-size:20px;font-weight:500;letter-spacing:.04em}
.manifesto{padding:90px 0}.manifesto h2{text-transform:none;letter-spacing:-.02em;font-size:53px;max-width:730px}.manifesto .arrow{margin-top:20px}.lines{max-width:760px;font-size:16px}.lines p{border-bottom:1px solid var(--line);padding:10px 0 20px}
.projects{padding:90px 0;background:#edf0e7}.sec-head{text-align:left;max-width:none;margin-bottom:38px}.sec-head h2{font-size:52px}.sec-head p{max-width:560px}.pgrid{gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.proj{background:var(--white);border:1px solid #d4ddce;border-radius:6px}.proj .thumb{aspect-ratio:1.65}.proj .body{padding:26px}.proj h3{font-size:30px}.proj p{font-size:14px}.proj .tag{letter-spacing:.04em;font-size:9px}.project-link{font-size:12px;font-weight:500;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.project-link:hover{color:#769144}.project-art{width:100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#213f37;color:#e5ebd6}.project-art:before,.project-art:after{content:'';position:absolute;width:220px;height:220px;border:1px solid #d9e7ba35;border-radius:50%;transform:translate(-65px,55px)}.project-art:after{transform:translate(65px,-55px)}.project-art span{font-family:var(--serif);font-size:42px;z-index:1}.project-art small{position:absolute;bottom:18px;font-size:8px;letter-spacing:.23em}.project-art.map{background:#e2e6d7;color:#344d40;background-image:radial-gradient(#6f846055 1px,transparent 1px);background-size:18px 18px}.project-art.map span{background:#e2e6d7;padding:10px 22px}
.feature{padding:85px 0}.feature .cap{text-align:left;color:var(--ink)}.feature .cap span{display:block;margin-top:9px;font-size:10px}.big{aspect-ratio:16/8.5;border-radius:5px}.card{border-radius:4px}.feature .cta{margin-top:28px}.story{padding:100px 0;background:#ecefe6}.phone{width:100%;max-width:370px;aspect-ratio:4/4.7;padding:0;border-radius:160px 160px 4px 4px;background:none;box-shadow:none}.phone:before{display:none}.phone .screen{border-radius:inherit}.phone .tag{border-radius:2px}.story .wrap{gap:90px}.story h2{font-size:52px}.story p{font-size:15px}.exp{padding:100px 0}.exp .wrap{gap:85px}.skills{background:#edf0e8;padding:32px;border-radius:5px;align-self:start}.skills h2{font-size:40px}.pill{font-size:12px;padding:7px 12px}.tl{padding-bottom:30px}.tl .org{letter-spacing:.07em;font-size:10px}.edu{padding:90px 0}.edu-item{grid-template-columns:185px 1fr}.community{padding:90px 0}.contact{margin:0;border-radius:0;padding:90px 0}.contact h2{font-size:60px}.contact .btn-solid{background:#dce6cb;border-color:#dce6cb}.contact p{color:#c3d0c5}.clist li{border-color:#ffffff25}.clist .l{color:#b8c9b7}footer{font-size:9px;padding:28px 20px}
@media(min-width:981px){.hero-photo{max-width:445px}.hero{min-height:640px}.hero .wrap{min-height:510px}}
@media(max-width:1100px){.nav-links{gap:14px}.hero .wrap{gap:45px}.hero h1{font-size:62px}}
@media(max-width:980px){nav{flex-wrap:wrap}.nav-links.open{top:100%;padding:24px 40px}.hero .wrap{grid-template-columns:1.1fr .9fr;gap:35px}.hero h1{font-size:52px}.hero-photo .frame{border-radius:130px 130px 4px 4px}.hero-photo:before{border-radius:130px 130px 4px 4px}.hero .kicker{font-size:9px}.photo-caption{left:-15px;right:0;padding:12px}.photo-index{display:none}.num{justify-content:flex-start;padding-left:30px}.num:nth-child(3),.num:nth-child(4){border-top:0}.affiliations{flex-wrap:wrap}.affiliations b{font-size:17px}.story .wrap{grid-template-columns:.8fr 1.2fr;gap:40px}.pgrid{grid-template-columns:1fr 1fr}.proj:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.proj:last-child .thumb{aspect-ratio:auto}.exp .wrap{gap:50px}.contact .wrap{gap:35px}}
@media(max-width:640px){nav{padding:18px 22px}.logo{font-size:29px}.logo small{font-size:8px}.nav-right{margin-left:auto}.nav-toggle{width:40px;height:40px}.hero{padding:35px 0}.hero .wrap{grid-template-columns:1fr;gap:36px}.hero h1{font-size:56px}.hero .lead{font-size:14px}.hero-photo{max-width:360px;width:calc(100% - 15px);margin:auto}.hero-photo .frame{aspect-ratio:.94}.photo-caption{left:-8px}.hero .kicker{font-size:9px}.hero-foot{font-size:9px}.numbers .wrap{padding:0 22px}.num{padding:21px 12px;gap:10px}.num .n{font-size:33px}.num .l{font-size:8px}.affiliations{gap:19px;justify-content:center}.affiliations span{max-width:none;width:100%;text-align:center}.affiliations b{font-size:15px}.manifesto,.projects,.feature,.story,.exp,.edu,.community,.contact{padding:60px 0}.manifesto h2,.sec-head h2,.story h2,.exp h2{font-size:42px}.lines{font-size:14px}.pgrid,.story .wrap{grid-template-columns:1fr}.proj:last-child{display:flex;grid-column:auto}.proj:last-child .thumb{aspect-ratio:1.65}.sec-head{margin-bottom:30px}.feature .cap{line-height:1.8}.story .wrap{gap:36px}.phone{max-width:310px}.skills{padding:24px}.contact h2{font-size:48px}.clist .v{font-size:19px;overflow-wrap:anywhere}.edu-item{grid-template-columns:1fr}.edu-item h3{font-size:26px}.btn{padding:14px 19px}.nav-links.open{padding:24px}.big{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
