:root{--paper:#f5f3ed;--ink:#242c29;--green:#213e3b;--accent:#b9ca9d;--line:#d4d6cc;--muted:#626c64}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #97ad70;outline-offset:6px}button:disabled{cursor:default}.wrap{max-width:1440px;margin:auto;padding:0 5vw}.skip{position:fixed;top:-100px;left:20px;background:white;padding:14px;z-index:100}.skip:focus{top:12px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.wordmark{font-family:Georgia,serif;font-size:42px;display:flex;gap:18px;align-items:center;letter-spacing:-3px}.wordmark span{font-family:Arial,sans-serif;font-size:10px;line-height:1.5;letter-spacing:1.7px;font-weight:bold}nav{display:flex;gap:38px;font-size:13px}nav a:hover{color:#64845f}#language{border:1px solid #b1b9ac;background:transparent;border-radius:50%;height:39px;width:39px;font-size:11px}.hero{display:grid;grid-template-columns:48% 52%;min-height:660px}.hero-copy{padding:68px 4vw 30px 5vw;display:flex;align-items:flex-start;flex-direction:column}.eyebrow,.section-index{font-size:10px;letter-spacing:1.8px;font-weight:600;line-height:1.6}.eyebrow{margin:0 0 30px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;margin:0;line-height:1.08}h1{font-size:clamp(44px,4.2vw,70px)}em{font-weight:normal;color:#657b61}h2{font-size:clamp(38px,4vw,60px)}.hero-intro{max-width:430px;font-size:15px;line-height:1.85;margin:26px 0 30px;color:var(--muted)}.button{display:flex;background:var(--green);color:white;padding:18px 24px;font-size:12px;gap:50px;align-items:center}.button:hover{background:#33554a}.button span{font-size:20px}.hero-bottom{display:flex;gap:48px;margin-top:auto;padding-top:48px;font-size:9px;line-height:1.8;letter-spacing:.8px;color:var(--muted)}figure{margin:0}.hero-image{position:relative;min-height:660px;background:#bac3bb;overflow:hidden}.hero-image img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:50% 50%}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#14241b99)}figcaption{position:absolute;bottom:26px;left:30px;right:30px;display:flex;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:1px;color:white;z-index:1}.introduction{display:grid;grid-template-columns:30% 70%;padding-top:110px;padding-bottom:100px;border-bottom:1px solid var(--line)}.introduction>div{display:grid;grid-template-columns:1fr 1fr;gap:50px}.introduction h2{font-size:43px}.introduction p,.about p{font-size:14px;line-height:1.9;color:var(--muted);margin:0}.projects{padding-top:90px;padding-bottom:75px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:40px}.section-heading h2{margin-top:22px}.section-heading p{font-size:13px;line-height:1.9;color:var(--muted);margin:0;max-width:380px}.filters{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:30px}.filters button{background:transparent;border:1px solid var(--line);padding:11px 17px;font-size:11px;border-radius:30px;color:var(--muted)}.filters button:hover,.filters .active{background:var(--green);color:white;border-color:var(--green)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 30px}.project-card{border:0;background:transparent;text-align:left;padding:0;display:block;width:100%;color:var(--ink)}.project-photo{height:310px;overflow:hidden;background:#d6dad1;position:relative}.project-photo img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.project-card:hover img{transform:scale(1.045)}.project-photo .open{position:absolute;bottom:16px;right:16px;background:var(--paper);border-radius:50%;height:42px;width:42px;display:grid;place-items:center;font-size:20px}.project-info{display:flex;justify-content:space-between;gap:15px;padding-top:17px}.project-info h3{font-family:Georgia,serif;font-weight:400;font-size:24px;letter-spacing:-.3px;margin:0 0 7px}.project-info p,.project-year{font-size:10px;color:var(--muted);letter-spacing:.6px;margin:0;line-height:1.5}.project-year{padding-top:5px}.portfolio-download{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);margin-top:45px;padding-top:25px;font-size:11px;color:var(--muted);line-height:1.8}.portfolio-download a{color:var(--green);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.skills{background:var(--green);color:#edf0e4;padding:85px 0}.skills em{color:var(--accent)}.skills .section-heading p{color:#b5c4b9}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;gap:30px}.skill-grid article{border-top:1px solid #718378;padding-top:20px}.skill-grid article>span{font-size:10px;color:#b8c9a8}.skill-grid h3{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.2;min-height:60px;margin:26px 0 16px}.skill-grid p{color:#c4cec7;font-size:13px;line-height:1.9}.tools{display:grid;grid-template-columns:20% 1fr;gap:10px 20px;border-top:1px solid #718378;margin-top:55px;padding-top:30px;align-items:center}.tools>span{font-size:9px;letter-spacing:1.5px}.tools p{font-size:12px;line-height:1.8;margin:0}.tools small{grid-column:2;color:#b8c9a8;font-size:11px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-top:100px;padding-bottom:100px}.about h2{margin:25px 0}.text-link{display:inline-block;margin-top:25px;font-size:12px;border-bottom:1px solid;padding-bottom:7px}.education{margin-top:40px;border-top:1px solid var(--line);padding-top:20px}.education h3{font-size:11px;letter-spacing:1px;text-transform:uppercase}.education p{font-size:12px;margin-top:15px}.education strong{color:var(--ink);font-weight:500}.education .languages{padding-top:12px;color:var(--green)}.timeline{border-top:1px solid var(--line)}.timeline article{border-bottom:1px solid var(--line);padding:25px 0}.timeline article>span{font-size:10px;color:var(--muted);letter-spacing:.8px}.timeline h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:13px 0 9px}.timeline h4{font-size:12px;font-weight:500;margin:0 0 12px}.timeline p{font-size:12px}.contact{background:#e4e8da;padding:70px 0 80px}.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:35px;align-items:center}.contact h2{font-size:65px}.contact p{font-size:14px;line-height:1.9;max-width:430px;color:var(--muted)}.contact .canada{font-size:11px;color:var(--green)}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:25px}.contact-links>a{font-size:clamp(16px,2.3vw,32px);width:100%;border-bottom:1px solid #adb9a5;padding-bottom:18px;display:flex;justify-content:space-between}.contact-links .small-link{font-size:12px;width:auto;padding:0;border:0;text-decoration:underline;text-underline-offset:5px}footer{padding-top:25px!important;padding-bottom:25px!important;display:flex;justify-content:space-between;gap:20px;font-size:9px;line-height:1.8;color:var(--muted)}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(1100px,94vw);max-height:92vh;overflow:auto}dialog::backdrop{background:#15251edd;backdrop-filter:blur(4px)}.dialog-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:var(--paper);padding:15px 25px;border-bottom:1px solid var(--line);z-index:1}.dialog-top>span{font-size:9px;letter-spacing:1.5px}#close-dialog{border:0;background:none;font-size:24px;padding:5px 10px}.dialog-heading{padding:30px}.dialog-heading h2{font-size:42px}.dialog-meta{font-size:11px;color:var(--muted);line-height:1.8;margin-top:15px}.dialog-role{font-size:14px;line-height:1.9;max-width:800px}.dialog-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 25px 25px}.dialog-gallery img{width:100%;height:auto;display:block;object-fit:contain;background:#e5e6dd}.dialog-gallery img:first-child{grid-column:1/-1}.dialog-caption{font-size:10px;color:var(--muted);padding:0 30px 20px;line-height:1.8}[hidden]{display:none!important}
@media(min-width:1550px){header,.hero{max-width:1700px;margin:auto}.hero{min-height:760px}.hero-image{min-height:760px}}@media(max-width:1000px){nav{gap:20px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-top:40px}h1{font-size:45px}.hero-image{min-height:620px}.hero-bottom{gap:20px}.introduction{grid-template-columns:1fr;gap:25px}.introduction>div{gap:30px}.skill-grid{grid-template-columns:1fr 1fr}.skill-grid h3{min-height:0}.project-photo{height:260px}.about{gap:7vw}.contact h2{font-size:55px}.contact-links>a{font-size:21px}}@media(max-width:650px){html{scroll-padding-top:20px}header{height:82px;padding:0 6vw}.wordmark{font-size:36px;gap:12px}.wordmark span{font-size:8px}nav{gap:16px}nav a{font-size:11px}nav a:nth-child(2),nav a:nth-child(3){display:none}#language{width:33px;height:33px}.hero{display:flex;flex-direction:column}.hero-copy{padding:42px 6vw 30px}h1{font-size:45px;letter-spacing:-1.8px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:26px}.hero-intro{font-size:14px;margin:24px 0}.hero-bottom{width:100%;justify-content:space-between;padding-top:30px}.hero-image{min-height:420px}.hero-image img{object-position:center}.hero figcaption{left:20px;right:20px;font-size:8px}.wrap{padding-left:6vw;padding-right:6vw}.introduction{padding-top:65px;padding-bottom:65px}.introduction>div{grid-template-columns:1fr;gap:20px}.introduction h2{font-size:38px}.section-heading{display:block}.section-heading p{margin-top:20px}.projects{padding-top:60px}.section-heading h2{margin-top:18px}.filters{gap:7px}.filters button{font-size:10px;padding:9px 12px}.project-grid{grid-template-columns:1fr;gap:30px}.project-photo{height:250px}.project-info h3{font-size:25px}.portfolio-download{align-items:flex-start;flex-direction:column;gap:12px}.skills{padding:60px 0}.skill-grid{gap:25px 20px;margin-top:35px}.skill-grid h3{font-size:24px;margin-top:22px}.skill-grid p{font-size:12px}.tools{grid-template-columns:1fr;gap:15px}.tools small{grid-column:1}.about{grid-template-columns:1fr;gap:40px;padding-top:65px;padding-bottom:65px}.contact{padding:55px 0}.contact-main{grid-template-columns:1fr;gap:30px}.contact h2{font-size:54px}.contact-links>a{font-size:22px}footer{flex-direction:column;gap:8px}.dialog-heading{padding:25px}.dialog-heading h2{font-size:34px}.dialog-gallery{grid-template-columns:1fr;padding:0 15px 20px}.dialog-gallery img:first-child{grid-column:1}.dialog-role{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Project studies: program, drawings and captioned presentation boards. */
.project-phase{font-size:10px;color:var(--muted);margin:9px 0 0;line-height:1.6}.project-browser{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:0 0 30px}.project-browser label{display:grid;gap:10px;max-width:400px;width:100%;font-size:10px;letter-spacing:.7px}.project-browser input{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;padding:13px 14px;color:var(--ink);font:inherit;font-size:13px;letter-spacing:0}.project-browser input:focus-visible{outline:2px solid #657b61;outline-offset:3px}#project-count{font-size:10px;color:var(--muted);white-space:nowrap;margin:0 0 14px}.empty-projects{font-size:14px;line-height:1.8;grid-column:1/-1}.case-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);margin:0 0 20px}.case-description{font-size:16px;line-height:1.85;max-width:850px;margin:24px 0;color:var(--ink)}.case-points{padding-left:20px;font-size:13px;line-height:1.9;max-width:850px;color:var(--muted);margin-bottom:26px}.case-points li{padding-left:5px;margin:5px 0}.dialog-role{border-top:1px solid var(--line);padding-top:20px}.case-tools{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:10px;line-height:1.7;color:var(--muted)}.project-permalink{color:var(--green);text-decoration:underline;text-underline-offset:4px}.dialog-gallery{display:block}.dialog-gallery figure{margin:0 0 32px;background:white}.dialog-gallery figure a{display:block;cursor:zoom-in}.dialog-gallery figure img{width:100%;height:auto;max-height:none}.dialog-gallery figure figcaption{position:static;display:block;padding:13px 16px;background:var(--paper);color:var(--ink);font-size:11px;letter-spacing:0;line-height:1.6}.dialog-gallery figure figcaption span{color:var(--muted)}.dialog-heading{padding-bottom:24px}.dialog-gallery figure:first-child img{max-height:650px;object-fit:contain}.dialog-caption{overflow-wrap:anywhere}.portfolio-download span{max-width:650px}
@media(max-width:650px){.project-browser{display:block}.project-browser label{max-width:none}#project-count{margin:18px 0 0}.case-description{font-size:14px}.case-tools{align-items:flex-start;flex-direction:column;gap:10px}.dialog-gallery figure{margin-bottom:20px}.case-points{font-size:12px}.project-phase{font-size:9px}}
