500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f4efe3;--ink:#302b23;--muted:#746e60;--line:#d9d1c1;--accent:#985b3f;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;top:-100px;z-index:20;background:var(--paper);padding:15px}.skip:focus{top:5px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5.4%;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:44px;letter-spacing:-3px}.wordmark span{color:var(--accent)}nav{display:flex;gap:32px;font-size:13px}nav a{padding:10px 0}.intro{padding:42px 9% 0;min-height:calc(100svh - 94px);display:flex;flex-direction:column}.intro-meta{display:flex;justify-content:space-between}.small,.eyebrow,.when,.row-number{font-size:10px;letter-spacing:1.8px;font-weight:500;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding:75px 0 80px;flex:1}.eyebrow{display:block}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:clamp(100px,11.5vw,182px);font-weight:400;line-height:.86;letter-spacing:-6px;margin:29px 0 30px}.period{color:var(--accent)}.signature{font-family:var(--serif);font-size:23px;font-style:italic;color:var(--muted)}.bio{max-width:490px;padding-top:20px}.bio p{font-family:var(--serif);font-size:25px;line-height:1.55;margin-bottom:24px}.bio p a{border-bottom:1px solid #ada28d}.text-link{display:inline-flex;gap:35px;font-size:13px;border-bottom:1px solid var(--ink);padding:10px 0}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0 25px;font-size:11px;color:var(--muted)}.hero-bottom a{font-size:24px}.section-wrap{padding-left:15%;padding-right:15%}.work{padding-top:130px;padding-bottom:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:57px}h2{font-family:var(--serif);font-size:65px;font-weight:400;line-height:1.05;letter-spacing:-1.5px;margin-top:20px}.section-heading>p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:7px}.experience article{display:grid;grid-template-columns:140px 1fr 24px;gap:25px;border-top:1px solid var(--line);padding:33px 0 37px}.when{font-size:9px;letter-spacing:1px;padding-top:9px}.row-number{padding-top:8px;text-align:right;color:#a59b89}h3{font-family:var(--serif);font-size:30px;font-weight:400}.role{display:block;font-size:11px;color:var(--accent);margin:8px 0 18px}.experience p{font-size:14px;line-height:1.85;max-width:620px;color:#5a554c}.detail{font-size:10px;line-height:1.8;color:var(--muted);margin-top:17px}.detail span{padding:0 8px}.resume-row{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:25px 0;font-size:12px;color:var(--muted)}.outside-intro{text-align:center;padding-top:85px;padding-bottom:65px}.outside-intro h2{font-size:80px}.outside-intro em{font-weight:400;color:var(--accent)}.outside-intro p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:27px}.journey{height:330vh;position:relative}.journey-sticky{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}.chapter-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(65px,13vw,220px);font-weight:600;letter-spacing:-.065em;color:#e2dccf;white-space:nowrap;z-index:-1}.photo-stage{position:absolute;inset:7% 8% 13%;perspective:1000px}.photo{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#d8d8c9;box-shadow:0 5px 20px #302b2309;border:7px solid #faf7ef;color:#797c68;transform-origin:center;will-change:transform,opacity}.photo:nth-child(1){width:22%;height:54%;left:5%;top:7%;rotate:-6deg}.photo:nth-child(2){width:19%;height:36%;left:39%;top:3%;rotate:4deg}.photo:nth-child(3){width:24%;height:48%;left:69%;top:33%;rotate:6deg}.photo:nth-child(4){width:20%;height:34%;left:34%;top:61%;rotate:-4deg}.photo:nth-child(2){background:#dfcbb9;color:#946f52}.photo:nth-child(3){background:#cbd1cc;color:#67796e}.photo:nth-child(4){background:#e1d8bc;color:#8b805c}.photo svg{width:45%;height:45%;opacity:.6;stroke-width:1;fill:none;stroke:currentColor}.photo-label{font-family:var(--serif);font-size:clamp(15px,1.7vw,26px)}.photo-note{font-size:8px;letter-spacing:1.6px;text-transform:uppercase;opacity:.8}.photo img{height:100%;width:100%;object-fit:cover}.journey-footer{position:absolute;bottom:30px;left:5.4%;right:5.4%;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);gap:20px}.chapter-tabs{display:flex;gap:28px}.chapter-tabs button{background:none;border:0;padding:12px 0;font:12px var(--serif);color:var(--muted);cursor:pointer;border-bottom:1px solid transparent}.chapter-tabs button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}footer{padding-top:100px;padding-bottom:30px;display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line)}footer h2{font-size:66px}.email{display:inline-block;font-family:var(--serif);font-size:25px;margin:25px 0 70px}.footer-links{display:flex;flex-direction:column;gap:20px;padding-top:45px;font-size:12px}.colophon{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted)}
@media(min-width:1600px){.intro{padding-left:15%;padding-right:15%}}@media(max-width:800px){header{padding:0 6%;height:80px}nav{gap:18px;font-size:11px}.intro{padding:30px 7% 0}.small{font-size:8px;letter-spacing:1px}.hero-grid{gap:7%;padding:65px 0}h1{font-size:110px}.bio p{font-size:21px}.signature{font-size:19px}.section-wrap{padding-left:8%;padding-right:8%}.section-heading>p{max-width:200px}.experience article{grid-template-columns:100px 1fr;gap:18px}.row-number{display:none}.journey-footer{flex-wrap:wrap}.scroll-note{display:none}.photo-stage{inset:15% 0 20%}.photo{border-width:4px}.photo:nth-child(1){width:27%;left:4%}.photo:nth-child(2){width:24%;left:37%}.photo:nth-child(3){width:29%;left:68%}.photo:nth-child(4){width:28%;left:34%}.photo-note{font-size:6px}.chapter-tabs{gap:22px}}
@media(max-width:700px){nav{gap:14px}nav a:nth-child(3){max-width:55px;text-align:center}header{height:75px}.intro-meta{gap:20px}.hero-grid{grid-template-columns:1fr;padding:50px 0 35px;gap:36px}h1{font-size:115px;line-height:.9}.hero-title .eyebrow{font-size:9px}.signature{font-size:22px}.bio{padding:0;max-width:none}.bio p{font-size:23px;margin-bottom:20px}.hero-bottom{font-size:9px;gap:15px}.hero-bottom span:last-child{display:none}.work{padding-top:80px;padding-bottom:30px}.section-heading{display:block;margin-bottom:32px}h2{font-size:54px}.section-heading>p{max-width:none;margin-top:20px}.experience article{grid-template-columns:1fr;gap:12px;padding:28px 0}.when{font-size:8px}h3{font-size:29px}.experience p{font-size:13px}.detail{font-size:9px}.resume-row{gap:20px;font-size:10px}.text-link{font-size:12px;gap:15px}.outside-intro{padding-top:65px;padding-bottom:20px}.outside-intro h2{font-size:65px}.outside-intro p{font-size:12px}.outside-intro br{display:none}.journey{height:270vh}.photo-stage{inset:15% 1% 23%}.photo-label{font-size:15px;text-align:center}.photo-note{letter-spacing:.7px}.photo:nth-child(1){width:39%;height:44%;left:5%;top:1%}.photo:nth-child(2){width:33%;height:34%;left:57%;top:3%}.photo:nth-child(3){width:40%;height:40%;left:55%;top:55%}.photo:nth-child(4){width:34%;height:33%;left:9%;top:62%}.journey-footer{bottom:27px;left:6%;right:6%;gap:8px}.chapter-tabs{gap:16px}.chapter-tabs button{font-size:12px}.chapter-count{font-size:8px}.chapter-title{font-size:17vw}footer{padding-top:65px}footer h2{font-size:51px}.email{font-size:20px;margin-bottom:50px}.footer-links{font-size:10px;gap:17px}.colophon{font-size:8px;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey{height:100svh}.photo{will-change:auto}}

