:root{--paper:#f5f4ef;--ink:#202923;--muted:#777c74;--line:#d8d9d1;--green:#bdcf81;--deep:#25332c;--orange:#dc805e;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:16px;top:-60px;background:var(--ink);color:white;padding:12px;z-index:10}.skip-link:focus{top:12px}.topbar{height:76px;padding:0 7.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:800 20px var(--display);letter-spacing:-1.5px}.wordmark span{color:#839854}.topbar nav{display:flex;gap:34px;margin-left:70px}.topbar nav a,.contact-link,.footer>a:last-child{font-size:12px;color:#535950}.topbar nav a:hover,.footer>a:last-child:hover{color:#81944e}.contact-link{border-bottom:1px solid #9ba094;padding-bottom:6px}.contact-link span,.text-link span,.inline-link span{padding-left:8px}.section-wrap{padding-left:12%;padding-right:12%;max-width:1600px;margin:auto}.hero{min-height:660px;padding-top:94px;padding-bottom:65px;position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center}.hero-copy{padding:5px 0 22px}.eyebrow,.section-number,.caption-label,.card-topline,.card-index,.hero-index,.job-date,.project-type,.art-label,.contact-kicker{font:10px var(--mono);letter-spacing:1.15px}.eyebrow{display:flex;align-items:center;gap:10px;color:#626b5d}.status-dot{display:inline-block;width:7px;height:7px;background:#7d9a52;border-radius:50%;box-shadow:0 0 0 4px #e7ebdd}.hero h1{font:500 clamp(64px,8.2vw,112px)/.98 var(--display);letter-spacing:-7px;margin:32px 0 21px}.hero h1 span{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-6px;color:#6d8152}.hero-role{font-size:14px;color:#656a62}.hero-role span{padding:0 8px;color:#a5a79e}.hero-intro{font-size:15px;line-height:1.8;color:#72766e;max-width:410px;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:28px;padding:15px 19px;font-size:12px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#3a5142}.text-link,.inline-link{font-size:12px;border-bottom:1px solid #afb2a8;padding-bottom:7px}.social-row{display:flex;gap:23px;margin-top:58px}.social-row a{font:10px var(--mono);color:#6d726a}.social-row span{color:#9ba092;padding-left:4px}.profile-card{background:#e8e9e0;padding:19px 20px 17px;transform:rotate(1.2deg);max-width:365px;width:100%;justify-self:end;box-shadow:0 18px 50px #26352b0c}.card-topline{display:flex;justify-content:space-between;color:#82877c;font-size:9px}.portrait{height:370px;margin-top:15px;position:relative;background:#c8d0b4;overflow:hidden;display:grid;place-items:center}.portrait:before,.portrait:after{content:"";position:absolute;border:1px solid #84916f5c;border-radius:50%;width:330px;height:330px}.portrait:after{width:250px;height:250px}.portrait-shape{position:absolute;width:170px;height:240px;background:linear-gradient(145deg,#7f8e66,#435448);border-radius:90px 90px 35px 35px;bottom:-20px;z-index:1;clip-path:polygon(23% 0,77% 0,100% 100%,0 100%)}.portrait>span{z-index:2;margin-top:-90px;font:italic 54px var(--serif);color:#f5f4ef;mix-blend-mode:screen}.portrait i{position:absolute;right:37px;top:50px;font-style:normal;font-size:24px;color:#eff0dd}.profile-caption{display:flex;justify-content:space-between;align-items:end;padding-top:17px}.caption-label{display:block;color:#8a8d82;font-size:9px;margin-bottom:7px}.profile-caption strong{display:block;font-size:12px;font-weight:600}.availability{font-size:9px;color:#71786a;display:flex;align-items:center;gap:8px}.availability .status-dot{width:6px;height:6px}.card-index{font-size:8px;color:#999b90;margin-top:17px}.hero-index{position:absolute;bottom:28px;right:12%;font-size:8px;color:#a1a399}.about{padding-top:78px;padding-bottom:112px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;gap:20px}.section-number{color:#82877d;font-size:9px;white-space:nowrap}.heading-rule{height:1px;background:var(--line);flex:1}.about-grid,.experience-head,.projects-head,.portal-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:54px}.about h2,.experience h2,.projects h2,.portal h2{font:500 clamp(40px,5vw,61px)/1.05 var(--display);letter-spacing:-3px;margin:0}.about-text{max-width:480px}.about-text p{font-size:13px;line-height:1.9;color:#747970;margin:0 0 18px}.about-text .lead{font:italic 22px/1.45 var(--serif);color:#354339;margin-bottom:19px}.inline-link{display:inline-block;margin-top:10px}.skills{margin:58px 0 0 54%;}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag-list span,.job-tags span{border:1px solid #d6d9ce;padding:8px 11px;font-size:10px;color:#62685f}.experience{background:#ecece5;padding-top:78px;padding-bottom:110px}.experience-head{align-items:end;margin-bottom:54px}.experience-head .inline-link{justify-self:end;margin-bottom:7px}.timeline{border-top:1px solid #d2d4ca}.job{display:grid;grid-template-columns:160px 1fr 26px;gap:20px;padding:29px 0;border-bottom:1px solid #d2d4ca;position:relative}.job-date{color:#81867d;font-size:9px;padding-top:6px}.job h3{font:600 18px var(--display);margin:0 0 8px}.job-company{font-size:11px;color:#737970;margin:0}.job-company span{padding:0 5px;color:#a6a99f}.job-description{font-size:12px;color:#777c74;line-height:1.7;max-width:620px;margin:16px 0}.job-tags{display:flex;gap:7px}.job-tags span{padding:5px 8px;font-size:9px}.job-arrow{font-size:14px;color:#8c9481}.projects{padding-top:82px;padding-bottom:108px}.projects-head{align-items:end;margin-bottom:42px}.projects-head p,.portal-intro p{font-size:13px;line-height:1.8;color:#767b73;max-width:330px;margin:0 0 4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 22px}.project-card{display:block}.project-featured{grid-column:span 2}.project-art{height:270px;position:relative;overflow:hidden}.project-featured .project-art{height:340px}.art-one{background:#d8ddc9}.art-two{background:#e6d6c9}.art-three{background:#d2d9d3}.art-label{position:absolute;left:20px;top:18px;color:#72786c;font-size:8px;z-index:3}.art-mark{position:absolute;right:17px;top:15px;font-size:15px;color:#666f60;z-index:3}.orbit{position:absolute;width:310px;height:310px;border:1px solid #73825c70;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-b{width:220px;height:220px;border-style:dashed;animation:spin 28s linear infinite}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:115px;height:115px;display:grid;place-items:center;border-radius:50%;background:#75865d;color:#f3f2eb;font:italic 40px var(--serif)}.project-featured .orbit{width:380px;height:380px}.project-featured .orbit-b{width:270px;height:270px}.project-featured .orbit-core{width:145px;height:145px;font-size:48px}.stack-card{position:absolute;left:50%;top:53%;width:200px;height:132px;transform:translate(-50%,-50%) rotate(-10deg);background:#e6bca4;box-shadow:0 20px 40px #634d3c20}.stack-back{transform:translate(-43%,-45%) rotate(8deg);background:#ce9278}.stack-front{padding:25px;color:#613f30;font:italic 25px/1.1 var(--serif)}.stack-front i{position:absolute;right:20px;bottom:15px;font:normal 24px var(--sans)}.data-lines{position:absolute;left:17%;top:27%;width:66%;height:54%;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid #8b9c8b}.data-lines i{display:block;flex:1;background:#7e957e;height:38%}.data-lines i:nth-child(2){height:66%}.data-lines i:nth-child(3){height:49%}.data-lines i:nth-child(4){height:85%;background:#d2a17e}.data-lines i:nth-child(5){height:56%}.data-lines i:nth-child(6){height:74%}.data-word{position:absolute;right:10%;top:20%;font:italic 19px var(--serif);color:#596b5d}.project-meta{display:flex;justify-content:space-between;padding:16px 1px 0}.project-meta h3{font:600 14px var(--display);margin:0 0 6px}.project-meta p{font-size:10px;color:#81857d;margin:0}.project-type{color:#898d84;font-size:8px;padding-top:4px}.portal{background:#ecece5;padding-top:78px;padding-bottom:100px}.portal-intro{align-items:end}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 38px;margin-top:46px}.portal-item{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid #d1d4ca}.portal-icon{width:34px;height:34px;border:1px solid #c8cec0;border-radius:50%;display:grid;place-items:center;font:11px var(--mono);color:#637156}.portal-item>span:nth-child(2){display:grid;gap:5px;flex:1}.portal-item strong{font-size:12px;font-weight:600}.portal-item small{font-size:10px;color:#858980}.portal-item>b{font-size:13px;color:#7c8472;font-weight:400}.now-card{margin-top:50px;background:#dfe4d5;padding:22px 26px;position:relative}.now-card .caption-label{font-size:9px}.now-card p{font:italic 17px/1.6 var(--serif);max-width:720px;color:#66715e;margin:14px 0 0}.now-card p strong{color:#344438;font-weight:400}.now-star{position:absolute;right:28px;top:26px;font-size:26px;color:#849767}.contact{background:#29382f;color:#f4f3ec;padding-top:95px;padding-bottom:96px;position:relative;overflow:hidden}.contact-kicker{color:#bbc69e;font-size:9px}.contact h2{font:500 clamp(52px,8vw,91px)/.97 var(--display);letter-spacing:-6px;margin:28px 0 33px}.contact h2 em{font-family:var(--serif);font-weight:400;color:#c7d495}.button-light{background:#e8ebdc;color:#29382f}.button-light:hover{background:#d2ddb2}.contact-doodle{position:absolute;right:18%;top:23%;font-size:140px;font-family:var(--serif);color:#ffffff0b;transform:rotate(15deg)}.footer{height:90px;display:flex;align-items:center;justify-content:space-between}.footer p{font-size:10px;color:#7c8177}.footer p span{padding-left:10px;color:#a1a499}.footer>a:last-child{font-size:10px}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media(max-width:900px){.section-wrap{padding-left:8%;padding-right:8%}.topbar{padding:0 6%}.hero{gap:4%}.hero h1{font-size:78px}.portrait{height:320px}.profile-card{max-width:320px}.about-grid,.experience-head,.projects-head,.portal-intro{gap:5%}.hero-index{right:8%}}@media(max-width:640px){html{scroll-padding-top:70px}.topbar{height:66px;padding:0 6%}.topbar nav{display:none}.contact-link{font-size:10px}.section-wrap{padding-left:7%;padding-right:7%}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:70px;padding-bottom:75px;gap:50px}.hero h1{font-size:68px;letter-spacing:-5px}.hero h1 span{letter-spacing:-4px}.hero-intro{max-width:100%}.social-row{margin-top:40px}.profile-card{justify-self:auto;align-self:center;max-width:360px;width:100%}.portrait{height:330px}.hero-index{right:7%;bottom:23px;font-size:7px}.about,.experience,.projects,.portal{padding-top:60px;padding-bottom:72px}.about-grid,.experience-head,.projects-head,.portal-intro{grid-template-columns:1fr;gap:24px;margin-top:38px}.about h2,.experience h2,.projects h2,.portal h2{font-size:48px}.about-text .lead{font-size:20px}.skills{margin:42px 0 0}.experience-head .inline-link{justify-self:start}.experience-head{margin-bottom:35px}.job{grid-template-columns:1fr 20px;gap:6px 12px;padding:22px 0}.job-date{grid-column:1/-1;margin-bottom:7px}.job>div{grid-column:1}.job-arrow{grid-column:2;grid-row:2}.job-description{font-size:11px}.projects-head p,.portal-intro p{max-width:100%}.project-grid{grid-template-columns:1fr;gap:28px}.project-featured{grid-column:auto}.project-art,.project-featured .project-art{height:260px}.orbit,.project-featured .orbit{width:300px;height:300px}.orbit-b,.project-featured .orbit-b{width:210px;height:210px}.orbit-core,.project-featured .orbit-core{width:110px;height:110px;font-size:38px}.portal-grid{grid-template-columns:1fr;margin-top:30px}.now-card{margin-top:38px;padding:19px}.now-card p{font-size:15px;padding-right:14px}.contact{padding-top:74px;padding-bottom:78px}.contact h2{font-size:62px;letter-spacing:-4px}.contact-doodle{right:6%;top:27%;font-size:100px}.footer{height:auto;min-height:100px;display:grid;grid-template-columns:1fr auto;gap:0;padding-top:22px;padding-bottom:22px}.footer p{grid-row:2;grid-column:1}.footer>a:last-child{grid-column:2;grid-row:1/3}.tag-list span{font-size:9px}}
