@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Red+Hat+Display:wght@400;500;600;700;800&display=swap');
:root{--ink:#181d19;--muted:#626a65;--mint:#bfebe5;--line:#dce4df;--sans:'Red Hat Display',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #398c7d;outline-offset:6px}::selection{background:var(--mint)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h2{font-size:clamp(40px,5vw,70px);font-weight:600;letter-spacing:-2.5px;margin-bottom:30px}h3{font-size:28px;font-weight:700;letter-spacing:-.8px}em{font-style:normal}header{height:100px;max-width:1440px;margin:auto;padding:0 7%;display:flex;align-items:center;justify-content:space-between;background:#f4fbf8}.signature{font:800 27px/1 Inter,sans-serif;letter-spacing:-1.5px}.signature span{font-size:22px}.signature i{color:#398c7d;font-style:normal}nav{display:flex;align-items:center;gap:35px;font-weight:600;font-size:15px}nav a:hover{color:#347a6e}.nav-contact{border:1px solid var(--ink);padding:12px 22px;border-radius:30px}.nav-contact span{margin-left:15px}.hero{max-width:1440px;margin:auto;position:relative;padding:65px 7% 40px;background:#f4fbf8;display:grid;grid-template-columns:1fr 1fr;gap:0 5%;min-height:690px;overflow:hidden}.hero-copy{position:relative;z-index:1}.eyebrow,.section-label>span{font-size:13px;font-weight:700;letter-spacing:2px}.hero .eyebrow{font-size:23px;font-weight:600;letter-spacing:0;margin-bottom:16px}h1{font:800 clamp(76px,8.8vw,126px)/.98 Inter,sans-serif;letter-spacing:-7px;margin-bottom:25px}.name-dot{color:#5aad9e}.intro{font-size:21px;max-width:410px;line-height:1.5}.hero-description{max-width:395px;color:var(--muted);font-size:16px}.ink-button{display:inline-flex;align-items:center;gap:35px;border-radius:32px;background:var(--ink);color:white;padding:15px 25px;font-size:15px;font-weight:600;margin-top:12px}.ink-button:hover{background:#326d60}.ink-button span{font-size:22px;line-height:1}.hero-art{margin:0;position:relative;align-self:center;transform:rotate(3deg);padding:14px 14px 38px;background:white;border-radius:150px 150px 24px 24px;box-shadow:15px 20px 0 var(--mint)}.hero-art img{width:100%;height:440px;object-fit:cover;object-position:50% 35%;border-radius:140px 140px 8px 8px;display:block}.hero-art figcaption{text-align:center;font-size:13px;margin-top:15px;font-weight:600}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:28px}.experience-badge{display:flex;gap:16px;align-items:center}.experience-badge strong{font:800 58px/1 Inter,sans-serif;letter-spacing:-3px}.experience-badge span{font-size:12px;line-height:1.4;font-weight:700;letter-spacing:1px}.hero-stack{font-size:14px;color:var(--muted)}.section{padding:100px max(7%,calc((100% - 1120px)/2));}.about{display:grid;grid-template-columns:.65fr 1.4fr;gap:9%}.section-label>span{display:block;margin-bottom:28px;color:var(--muted)}.large-copy{font-size:clamp(27px,3vw,42px);line-height:1.3;font-weight:600;letter-spacing:-1px}.about-copy>p:not(.large-copy){color:var(--muted)}.about-note{display:inline-block;border-bottom:3px solid var(--mint);font-size:18px;font-weight:600;padding:8px 0;margin-top:12px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:16px;color:var(--muted);max-width:330px;margin-bottom:0}.section-heading .eyebrow{color:var(--muted);margin-bottom:23px}.skills{background:#f6f8f5}.skills .section-heading{max-width:650px}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.skill-grid>div{background:white;border:1px solid var(--line);border-radius:18px;padding:30px}.small-number{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--mint);font-size:16px;font-weight:700;margin-bottom:28px}.skill-grid h3{font-size:25px}.skill-grid p{font-size:16px;color:var(--muted);margin-bottom:0}.skill-grid .skill-note{background:var(--ink);display:flex;align-items:center}.skill-note p{color:white;font-size:32px;line-height:1.35;font-weight:600;letter-spacing:-1px}.skill-note em{color:var(--mint)}.experience{background:var(--mint)}.experience .section-label h2{max-width:700px}.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.experience-list article{background:white;border-radius:18px;padding:30px}.job-heading h3{font-size:32px;margin-bottom:12px}.job-heading span{font-size:14px;font-weight:600;display:block;margin-bottom:23px}.experience-list p:not(.tags){font-size:16px;color:var(--muted)}.tags{font-size:13px;line-height:1.9;color:var(--muted);margin:22px 0 0}.work .section-heading h2{font:800 clamp(55px,7vw,94px)/1 Inter,sans-serif;letter-spacing:-4px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{border:1px solid var(--line);border-radius:22px;padding:35px;background:#f3f6f2;position:relative}.project:nth-child(2){background:#e4f4f0}.project:nth-child(3){background:#f2ede5}.project:nth-child(4){background:#eaeef5}.project-number{font:800 65px/1 Inter,sans-serif;letter-spacing:-3px;color:#a3b2a5;margin-bottom:30px}.project:nth-child(2) .project-number{color:#70a89c}.project:nth-child(3) .project-number{color:#bca98f}.project:nth-child(4) .project-number{color:#94a5c1}.project .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:15px;color:var(--muted)}.project h3{font-size:32px;margin-bottom:15px}.project-subtitle{font-size:14px;font-weight:600}.project-body>p:not(.eyebrow):not(.tags):not(.project-subtitle){font-size:16px;color:var(--muted)}details{margin-top:25px}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c6d2c8;padding-top:18px;font-size:15px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:50%;font-size:22px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}.contributions{font-size:15px;margin-top:22px;color:#4b554f}.contributions ul{padding-left:20px}.contributions li+li{margin-top:10px}.contributions p{font-size:13px}.approach{background:#f6f8f5}.principles{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:52px}.principles article{border-top:2px solid #abc9bb;padding-top:22px}.principles span{font-size:14px;color:var(--muted)}.principles h3{font-size:23px;margin-top:25px}.principles p{color:var(--muted);font-size:15px}.connect{background:var(--ink);padding:95px 7%;text-align:center;color:white}.connect h2{font-size:clamp(48px,7vw,94px);font-weight:700;letter-spacing:-4px;max-width:900px;margin:25px auto 30px}.connect>p:not(.eyebrow):not(.location){color:#ccd4ce;font-size:17px}.contact-pending{display:flex;justify-content:center;gap:65px;margin-top:45px}.contact-pending>span{font-size:24px;font-weight:600;text-align:left}.contact-pending small{display:block;font-size:13px;font-weight:400;color:#bdd2c7}.location{color:var(--mint);font-size:13px;letter-spacing:2px;margin:45px 0 0}footer{padding:32px 7%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>a:last-child{font-size:14px;color:var(--muted);margin:0}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;z-index:10}.skip:focus{top:15px}@media(min-width:1440px){header,.hero{max-width:none;padding-left:max(7%,calc((100% - 1120px)/2));padding-right:max(7%,calc((100% - 1120px)/2))}}@media(max-width:1000px){h1{font-size:90px;letter-spacing:-5px}.hero-art img{height:390px}.hero{gap:0 4%;min-height:660px}.skill-grid{grid-template-columns:1fr 1fr}.experience-list{grid-template-columns:1fr}.experience-list article{padding:28px}.principles{grid-template-columns:repeat(3,1fr)}.about{grid-template-columns:1fr 1.7fr;gap:6%}.project{padding:25px}.section-heading{align-items:flex-start}nav{gap:20px}}@media(max-width:700px){header{height:85px;padding:0 6%}.signature{font-size:23px}.signature span{font-size:18px}nav{gap:18px;font-size:14px}nav a:first-child,nav a:nth-child(3){display:none}.nav-contact{padding:8px 15px}.nav-contact span{display:none}.hero{padding:38px 6% 30px;display:flex;flex-direction:column;gap:0}.hero .eyebrow{font-size:21px}h1{font-size:clamp(75px,19vw,110px);letter-spacing:-5px}.intro{font-size:20px}.hero-description{max-width:100%}.hero-art{width:88%;margin:44px auto 18px;box-shadow:10px 12px 0 var(--mint)}.hero-art img{height:360px}.hero-bottom{gap:25px;align-items:flex-start;flex-direction:column;margin-top:28px}.experience-badge strong{font-size:52px}.hero-stack{font-size:13px}.section{padding:65px 6%}.about{display:block}h2{font-size:42px;letter-spacing:-1.8px}.large-copy{font-size:28px}.section-heading{display:block}.section-heading>p{margin-top:23px;max-width:none}.skill-grid,.projects{grid-template-columns:1fr}.skill-grid>div{padding:28px}.skill-grid h3{font-size:27px}.skill-note p{font-size:29px}.work .section-heading h2{font-size:54px;letter-spacing:-3px}.project{padding:30px}.project h3{font-size:31px}.project-number{font-size:60px;margin-bottom:25px}.principles{grid-template-columns:1fr 1fr;gap:25px}.principles h3{font-size:22px}.connect{padding:65px 6%}.connect h2{font-size:55px;letter-spacing:-2.5px}.connect>p br{display:none}.contact-pending{gap:25px;flex-wrap:wrap}.contact-pending>span{font-size:22px}.contact-pending small{font-size:12px}footer{padding:30px 6%;flex-wrap:wrap}footer p{order:3;flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Portrait in introduction; original illustration beside the biography. */
.hero-art{transform:none}.hero-art img{object-fit:contain;object-position:center;background:white}.about-art{margin:34px 0 0}.about-art img{display:block;width:100%;height:auto;border-radius:14px}.about{grid-template-columns:.85fr 1.4fr;gap:7%}@media(max-width:700px){.hero-art img{height:auto;max-height:460px;width:100%;object-fit:contain}.about-art{max-width:320px;margin:28px auto 35px}.about{display:block}}

.about-art{display:block;min-width:0}.about-art img{display:block;visibility:visible;opacity:1;width:100%;height:auto;object-fit:contain}
