@font-face{font-family:geist;src:url(/_next/static/media/569ce4b8f30dc480-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geist Fallback;src:local("Arial");ascent-override:94.47%;descent-override:27.73%;line-gap-override:0.00%;size-adjust:106.39%}.__className_72cc79{font-family:geist,geist Fallback}.__variable_72cc79{--sans:"geist","geist Fallback"}:root{--paper:#f7f5ed;--ink:#173b33;--secondary:#425c51;--line:#c3cbbd;--serif:Georgia,"Times New Roman",serif;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans),Arial,sans-serif;-webkit-text-size-adjust:100%}body{margin:0;min-height:100svh;display:flex;flex-direction:column}main{flex:1 1}.wrap{width:min(1180px,calc(100% - clamp(40px,10vw,160px)));margin-inline:auto}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}.skip:focus,a:focus-visible{outline:3px solid #925529;outline-offset:5px}.skip{position:absolute;left:12px;top:-8rem;z-index:3;padding:12px 16px;background:var(--paper)}.skip:focus{top:10px}.mast{display:flex;justify-content:space-between;gap:1.3rem;min-height:86px;border-bottom:1px solid var(--line)}.brand,.mast{align-items:center}.brand{display:inline-flex;gap:12px;font-size:15px;letter-spacing:-.035em;font-weight:600;text-decoration:none}.monogram{display:grid;place-items:center;width:37px;height:39px;font:italic 21px/.9 var(--serif);letter-spacing:-.16em;padding-right:4px;background:var(--ink);color:var(--paper);border-radius:2px}nav{display:flex;gap:clamp(10px,2.6vw,36px);flex-wrap:wrap}nav,nav a{align-items:center}nav a{display:inline-flex;min-height:44px;font-size:14px;text-decoration:none;color:var(--secondary)}body:has(.about) nav a[href="/about"],body:has(.cards) nav a[href="/projects"],body:has(.contact) nav a[href="/contact"],body:has(.home) nav a[href="/"],nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:6px}.hero{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);align-items:center;gap:clamp(24px,6vw,100px);padding-block:clamp(38px,6.2vw,88px)}.introduction{padding-block:8px}.kicker,.tech,dt{font-size:.73rem;line-height:1.5;letter-spacing:.15em;font-weight:650;text-transform:uppercase}.kicker{display:flex;align-items:center;gap:11px;margin:0}.marker{width:7px;height:7px;border-radius:50%;background:#a45f38;box-shadow:0 0 0 4px #a45f3818;margin-inline:4px}h1,h2,p{margin:0}dd,h1,h2{font-family:var(--serif);font-weight:400}h1{font-size:clamp(3.8rem,7.9vw,7.3rem);line-height:.99;letter-spacing:-.069em}.hero h1{margin:clamp(20px,2.5vw,38px) 0 24px;max-width:8.7ch}.inner p:not(.kicker,.opening,.tech),.lede{font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.65;color:var(--secondary);max-width:46ch;text-wrap:pretty}.headline{font:italic clamp(24px,2vw,32px)/1.2 var(--serif);margin-bottom:16px}.about-link{display:inline-flex;align-items:center;gap:12px;font-size:.88rem;font-weight:600;padding:8px 0;border-bottom:1px solid var(--ink);text-decoration:none;min-height:44px;margin-top:17px}.about-link span{font-size:1.2rem}.about-link:hover{color:#8b4b2a;border-color:currentColor}.visual{position:relative;isolation:isolate;overflow:hidden;background:#e7e8d6;aspect-ratio:520/555;border:1px solid #b4bdac}.visual img{width:100%;height:100%;display:block;object-fit:cover}.portrait img{object-position:center 35%}.links{list-style:none;display:flex;gap:20px;flex-wrap:wrap;padding:0;margin:16px 0 0}.links a{display:inline-flex;align-items:center;min-height:44px;gap:5px;overflow-wrap:anywhere}.highlights{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:clamp(16px,4vw,60px);padding:clamp(24px,3.8vw,54px) 0 clamp(32px,5vw,70px)}.highlights h2{font-family:var(--sans),Arial,sans-serif;align-self:start}.facts{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;margin:0}dt{color:var(--secondary);font-size:.66rem;margin-bottom:9px}dd{font-size:clamp(1.24rem,2vw,1.7rem);line-height:1.23;margin:0;max-width:24ch;letter-spacing:-.035em}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;min-height:76px;color:var(--secondary)}footer small{font-size:.76rem}.spark{font:25px/1 var(--serif)}.inner{padding-block:clamp(52px,8vw,110px);min-height:55vh}.inner h1{max-width:15ch;margin:22px 0 28px}.opening{font:italic clamp(1.6rem,3.3vw,2.8rem)/1.3 var(--serif);max-width:28ch;letter-spacing:-.035em}.cards,.essay{border-top:1px solid var(--line);margin-top:clamp(35px,5vw,70px)}.essay section{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding-block:28px;border-bottom:1px solid var(--line)}.cards h2,.essay h2{font-size:clamp(1.45rem,2.4vw,2.1rem);letter-spacing:-.035em}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:24px;padding-top:24px}.cards article{border:1px solid var(--line);padding:24px}.cards p{margin-top:12px}.tech{color:var(--secondary)}@media(max-width:720px){.wrap{width:calc(100% - 44px)}.mast{min-height:72px;gap:10px}.brand{gap:8px}.hero{grid-template-columns:1fr;gap:28px;padding-block:36px}.hero h1{font-size:clamp(3.8rem,11.2vw,5.3rem);max-width:none;margin:19px 0}.introduction{padding:0}.visual{aspect-ratio:1.65}.portrait{aspect-ratio:1.2}.highlights{grid-template-columns:1fr;gap:24px}.facts{gap:22px}.essay section{grid-template-columns:1fr;gap:12px}.inner{min-height:60vh}}@media(max-width:460px){.mast:has(nav a:nth-child(3)){flex-wrap:wrap;padding-block:10px;gap:0}.mast:has(nav a:nth-child(3)) nav{width:100%}nav{gap:16px}.brand{font-size:14px}.monogram{width:32px;height:34px}.hero h1{max-width:8.5ch}.facts{grid-template-columns:1fr;gap:22px}.visual{aspect-ratio:1.42}.portrait{aspect-ratio:1}.inner h1{font-size:3.45rem}}