body.personal-home{background:#f7f5ef}.home-header .nav{border-color:#d5d7cf}.home-header .navlinks a{color:var(--ink)}.home-header .brand{font-size:28px}.home-header .brand span{color:var(--orange)}.home-intro{padding:80px 0 72px;max-width:900px}.home-intro .eyebrow{color:var(--orange)}.home-intro h1{font:normal clamp(48px,6.7vw,86px)/1.07 Georgia,serif;letter-spacing:-3px;margin:24px 0}.home-intro p{font-size:20px;line-height:1.7;max-width:640px;color:var(--muted);margin:24px 0}.text-link{display:inline-block;font-weight:600;text-decoration:none;border-bottom:1px solid var(--orange);padding:7px 0;color:var(--orange)}.text-link span{margin-left:12px}.home-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid #c9cec7}.home-section-heading h2{font:normal 32px/1.2 Georgia,serif;letter-spacing:-.7px;margin:0}.home-section-heading>span{font-size:14px;color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:42px}.app-card{padding:32px 0 30px;border-bottom:1px solid #d6dad2;display:flex;flex-direction:column}.app-category{font:12px monospace;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.app-card h3{font:normal 29px/1.25 Georgia,serif;letter-spacing:-.7px;margin:14px 0 10px}.app-card h3 a{text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-card h3 a span{font:22px Arial,sans-serif;color:var(--orange)}.app-card p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 22px}.app-status{font-size:12px;letter-spacing:.3px;color:#31584a;margin-top:auto}.app-status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#537b66;margin-right:8px;vertical-align:2px}.app-status.upcoming{color:#874523}.upcoming:before{background:#ba7139}.work-section{padding:72px 0 64px}.cabin-card{display:grid;grid-template-columns:1.08fr 1fr;gap:48px;align-items:center;padding-top:28px}.cabin-card figure{margin:0}.cabin-card img{display:block;width:100%;height:auto;aspect-ratio:1.45;object-fit:cover}.cabin-card figcaption{font-size:12px;color:var(--muted);margin-top:8px}.cabin-copy .eyebrow{color:var(--orange)}.cabin-copy h3{font:normal clamp(32px,3.5vw,45px)/1.13 Georgia,serif;letter-spacing:-1px;margin:15px 0}.cabin-copy>p{color:var(--muted);font-size:16px}.cabin-copy .project-stage{font-size:12px;margin-top:20px}.personal-home .foot a{text-decoration:none}@media(max-width:850px){.home-intro{padding:55px 0}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.cabin-card{gap:28px}.home-section-heading{align-items:flex-start}.home-section-heading>span{max-width:170px}}@media(max-width:560px){.home-intro{padding:44px 0 48px}.home-intro h1{font-size:48px;letter-spacing:-2px}.home-intro p{font-size:18px}.home-header .brand{font-size:25px}.home-section-heading{display:block}.home-section-heading h2{font-size:29px;margin-bottom:8px}.app-grid{grid-template-columns:1fr}.app-card{padding:27px 0}.app-card p{max-width:390px}.app-card h3{font-size:30px}.cabin-card{grid-template-columns:1fr}.work-section{padding:48px 0}.cabin-copy h3{font-size:38px}}
/* The portrait uses the original photo with a square display crop. */
.home-intro{max-width:none}.intro-details{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:center;margin-top:34px}.bio h2{font:normal 29px/1.2 Georgia,serif;letter-spacing:-.6px;margin:0 0 14px}.home-intro .bio p{font-size:18px;line-height:1.7;margin:0 0 18px;max-width:650px}.portrait{margin:0}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 45%;border-radius:5px}.home-intro .text-link{margin-top:0}@media(max-width:850px){.intro-details{grid-template-columns:minmax(0,1fr) 240px;gap:32px}.home-header .navlinks{gap:20px}}@media(max-width:600px){.intro-details{grid-template-columns:1fr;gap:28px;margin-top:28px}.portrait{grid-row:1;width:min(100%,340px)}.home-intro .bio p{font-size:17px}.home-header .navlinks{gap:13px}.home-header .brand{font-size:23px}}@media(max-width:380px){.home-header .nav{flex-wrap:wrap;gap:10px;padding:18px 0}.home-header .navlinks{width:100%;padding-bottom:8px}}
