@font-face{font-family:Hand;src:url('/assets/hand.woff') format('woff');font-display:swap}@font-face{font-family:Editorial;src:url('/assets/editorial.woff') format('woff');font-display:swap}@font-face{font-family:Editorial;src:url('/assets/editorial-italic.woff') format('woff');font-style:italic;font-display:swap}@font-face{font-family:Body;src:url('/assets/body.woff') format('woff');font-display:swap}
:root{--paper:#f5f1e8;--ink:#242520;--muted:#626258;--line:#a8a69a;--wash:#ebe7db;--hand:Hand,'Segoe Print',cursive;--serif:Editorial,Georgia,serif;--body:Body,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--body);background-image:url('/assets/paper.svg')}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}p{margin:0 0 1.2em}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4{margin:0;font-weight:400}::selection{background:#dad5bc}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:var(--paper);padding:12px;z-index:5}.skip:focus{top:10px}.shell{max-width:1320px;margin:auto;padding:0 64px}.hand{font-family:var(--hand)}.note{font:25px/1.2 var(--hand)}.muted{color:var(--muted)}.meta{font:12px/1.5 var(--body);letter-spacing:.04em;text-transform:uppercase}.header{display:flex;align-items:center;justify-content:space-between;padding:30px 0 20px;position:relative;gap:20px}.mark{font:32px/1 var(--hand);transform:rotate(-3deg)}nav{display:flex;gap:28px}nav a{font:24px/1.4 var(--hand);position:relative;padding:6px 0}nav a:after,.ink-link:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:5px;background:url('/assets/stroke.svg') center/100% 100% no-repeat;opacity:0;transition:opacity .2s}nav a:hover:after,.ink-link:hover:after{opacity:1}.menu{display:none}.rule{width:100%;height:14px;color:var(--ink);overflow:visible}.hero{padding:34px 0 45px}.hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.hero-top .note{transform:rotate(-3deg)}.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:35px;align-items:center}.hero h1{font:clamp(96px,12vw,176px)/.78 var(--hand);letter-spacing:-.045em;transform:rotate(-3deg);padding:12px 0 40px;position:relative;z-index:1}.hero h1 span{display:block;padding-left:70px}.hero h1 svg{width:82%;height:25px;position:absolute;bottom:13px;left:10px}.hero-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:34px;align-items:start;margin-top:30px}.hero-intro h2{font:33px/1.2 var(--serif)}.hero-intro p{font-size:15px;line-height:1.7;margin:0}.portrait{margin:0 0 0 20px;position:relative;transform:rotate(3deg)}.portrait .mount{padding:12px 12px 45px;background:#fffdf6;box-shadow:0 7px 18px #24252012;position:relative}.portrait .mount:after{content:'';position:absolute;inset:-10px 9px 12px -8px;border:1px solid var(--ink);border-radius:47% 3% 2% 1%/2% 1% 2% 1%;z-index:-1;transform:rotate(-6deg)}.portrait img{width:100%;height:390px;object-fit:cover;object-position:50% 28%}.portrait figcaption{font:25px var(--hand);position:absolute;bottom:8px;left:24px}.portrait-label{display:block;font:25px/1.2 var(--hand);text-align:center;margin-top:22px;transform:rotate(-5deg)}.hero-end{display:flex;justify-content:space-between;align-items:center;margin-top:64px;gap:24px}.hero-end a{font:26px var(--hand);padding:8px}.hero-end .meta{font-size:11px}.section{padding:90px 0 50px;position:relative}.section-top{display:grid;grid-template-columns:170px 1fr;gap:28px;margin-bottom:38px}.section-top .note{transform:rotate(-5deg);padding-top:16px}.section h2{font:clamp(52px,6vw,78px)/1 var(--hand);letter-spacing:-.025em;max-width:800px}.section-top small{display:block;margin-top:8px;font:12px var(--body);color:var(--muted)}.about-grid{display:grid;grid-template-columns:170px 1fr 240px;gap:28px}.about-copy{max-width:650px}.about-copy p:first-child{font:29px/1.4 var(--serif)}.aside-note{font:30px/1.1 var(--hand);align-self:center;transform:rotate(5deg);padding:30px 0}.aside-note svg{display:block;width:80px;height:60px;margin-top:20px}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 48px;padding-left:198px}.interest{position:relative;padding:0 0 30px}.interest .digit{font:20px var(--hand);display:block;margin-bottom:12px;color:var(--muted)}.interest h3{font:30px/1.15 var(--hand);margin-bottom:14px}.interest p{font-size:15px;line-height:1.6}.interest:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:7px;background:url('/assets/stroke.svg') center/100% 100% no-repeat;opacity:.5}.portfolio-intro{max-width:610px;margin:0 0 55px 198px}.project{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin:0 0 88px;position:relative}.project:nth-of-type(even) .project-art{order:2;transform:rotate(1.5deg)}.project-art{margin:0;background:#faf8f1;padding:22px 22px 44px;position:relative;transform:rotate(-1deg);border:1px solid #b6b3a4;border-radius:1% 2% 1% 2%/1% 1% 2% 1%}.project-art:before{content:'';position:absolute;inset:5px -6px -5px 4px;border:1px solid #c1bdad;z-index:-1;transform:rotate(1.5deg);border-radius:2%}.project-art img{width:100%;border:1px solid #ddd9cc}.project-art svg{width:100%;height:auto;stroke:var(--ink);fill:none;stroke-width:1.2;stroke-linecap:round}.project-art svg text{font:17px var(--body);stroke:none;fill:var(--ink)}.project-art svg text.scribble{font:26px var(--hand)}.project-art figcaption{font:21px/1.15 var(--hand);text-align:center;margin-top:20px}.visual-label{font:10px/1.4 var(--body);display:block;margin-bottom:18px;letter-spacing:.07em;color:var(--muted)}.project-copy .project-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font:13px var(--body)}.project-number{font:26px var(--hand)}.status{font:19px var(--hand);padding:0 8px;border:1px solid var(--line);border-radius:45% 3% 45% 4%/9% 35% 10% 20%;white-space:nowrap}.project h3{font:64px/1.05 var(--hand);transform:rotate(-2deg);margin-bottom:12px}.project-lead{font:26px/1.3 var(--serif);max-width:400px;margin-bottom:16px}.project-description{font-size:15px;line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:5px 20px;font:18px var(--hand);color:var(--muted);margin:22px 0}.ink-link{position:relative;display:inline-block;font:26px var(--hand);padding:6px 0;min-height:44px}.ink-link:after{opacity:.65}details{margin-top:24px;font-size:14px}summary{font:21px var(--hand);cursor:pointer;min-height:44px}details p{margin-top:10px;color:var(--muted)}.background-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-left:198px}.background-copy p{font:23px/1.5 var(--serif)}.learning-intro{padding-left:198px;max-width:850px;margin-bottom:40px}.credential-group{display:grid;grid-template-columns:170px 1fr;gap:28px;margin-bottom:50px}.credential-group h3{font:28px/1.15 var(--hand);padding-top:18px;transform:rotate(-3deg)}.credential-group ul{list-style:none;padding:0;margin:0}.credential-group li{padding:20px 0;position:relative;display:grid;grid-template-columns:1fr max-content;gap:20px}.credential-group li:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:url('/assets/stroke.svg') center/100% 100%;opacity:.35}.credential-name{font:20px/1.4 var(--serif);display:block}.credential-meta{display:block;color:var(--muted);font:12px/1.6 var(--body);margin-top:6px}.credential-link{font:21px/1.15 var(--hand);align-self:center;justify-self:end;padding:10px 0;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.personal-note{padding:90px 7% 85px 18%;position:relative;transform:rotate(-2deg)}.personal-note p{font:clamp(34px,4.4vw,58px)/1.15 var(--hand);max-width:830px}.personal-note .sign{font-size:30px;text-align:right}.personal-note:before{content:'*';position:absolute;left:9%;top:70px;font:90px var(--hand)}.contact{padding:80px 0 75px;display:grid;grid-template-columns:170px 1fr;gap:28px}.contact h2{font:clamp(56px,7vw,92px)/1 var(--hand);max-width:780px;margin-bottom:32px}.contact p{max-width:600px}.email-link{font:clamp(26px,3.6vw,42px) var(--hand);display:inline-block;overflow-wrap:anywhere;position:relative;padding:10px 0}.email-link:after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:7px;background:url('/assets/stroke.svg') center/100% 100%}.socials{display:flex;gap:35px;margin-top:18px}.footer{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:32px 0 45px;flex-wrap:wrap}.footer .name{font:25px var(--hand)}.footer .sign{font:23px var(--hand);transform:rotate(-3deg)}.footer-links{display:flex;gap:22px;font:20px var(--hand)}.copyright{font:12px var(--body);margin-left:15px}.hero,.section,.contact{animation:appear .6s both}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.shell{max-width:1420px}.portrait img{height:440px}.hero h1{font-size:190px}}
@media(max-width:1050px){.shell{padding:0 35px}nav{gap:16px}nav a{font-size:22px}.hero-grid{gap:18px}.hero h1{font-size:130px}.hero h1 span{padding-left:35px}.hero-intro{grid-template-columns:1fr}.hero-intro h2{max-width:350px}.hero-intro p{max-width:390px}.portrait img{height:370px}.section-top,.credential-group,.contact{grid-template-columns:130px 1fr;gap:22px}.about-grid{grid-template-columns:130px 1fr}.aside-note{grid-column:2}.interest-grid,.background-copy{padding-left:152px}.portfolio-intro,.learning-intro{margin-left:0;padding-left:152px}.interest-grid{grid-template-columns:1fr 1fr;gap:35px}.project{gap:35px}.background-copy{gap:35px}.project h3{font-size:56px}}
@media(max-width:700px){body{font-size:16px}.shell{padding:0 24px}.header{padding:24px 0 14px}.mark{font-size:29px}.menu{display:block;background:none;border:0;font:24px var(--hand);min-height:44px;min-width:70px;cursor:pointer}nav{display:none;position:absolute;top:77px;left:-24px;right:-24px;z-index:4;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--ink);grid-template-columns:1fr 1fr;gap:5px 25px}nav.open{display:grid}nav a{font-size:27px;min-height:48px}.hero{padding-top:22px}.hero-top{align-items:start;gap:20px}.hero-top .meta{font-size:9px;max-width:150px}.hero-top .note{font-size:22px}.hero-grid{display:flex;flex-direction:column;gap:35px;align-items:stretch}.hero h1{font-size:clamp(98px,22vw,140px);padding:10px 0 34px}.hero h1 span{padding-left:50px}.hero h1 svg{bottom:5px;width:80%}.hero-intro{display:grid;grid-template-columns:1fr;gap:20px;margin-top:12px}.hero-intro h2{font-size:29px;max-width:300px}.hero-intro p{font-size:15px;max-width:420px}.portrait{width:76%;max-width:310px;margin:0 10px 0 auto;transform:rotate(3deg)}.portrait img{height:300px}.portrait-label{font-size:23px;text-align:left;margin-left:-30px}.hero-end{margin-top:43px;align-items:start;gap:20px}.hero-end .meta{font-size:9px;max-width:130px}.hero-end a{font-size:24px;line-height:1.1;max-width:145px}.section{padding:65px 0 35px}.section-top{display:block;margin-bottom:30px}.section-top .note{padding:0;transform:rotate(-3deg);margin-bottom:18px;font-size:23px}.section h2{font-size:54px;max-width:400px}.about-grid{display:block}.about-copy p:first-child{font-size:26px}.aside-note{font-size:30px;max-width:200px;margin:30px 12% 0 auto;padding:12px}.interest-grid{padding-left:0;gap:30px 24px;grid-template-columns:1fr 1fr}.interest h3{font-size:28px}.interest p{font-size:14px}.interest .digit{margin-bottom:8px}.portfolio-intro,.learning-intro{padding-left:0;font-size:15px;margin-bottom:40px}.project{display:flex;flex-direction:column;gap:28px;align-items:stretch;margin-bottom:65px}.project:nth-of-type(even) .project-art{order:0;transform:rotate(1deg)}.project-art{padding:15px 15px 20px}.visual-label{font-size:9px;margin-bottom:13px}.project-art figcaption{margin-top:12px;font-size:24px}.project h3{font-size:58px}.project-lead{font-size:25px;max-width:350px}.project-meta{gap:15px}.project-description{font-size:15px}.background-copy{display:block;padding-left:0}.background-copy p{font-size:24px}.credential-group{display:block;margin-bottom:35px}.credential-group h3{font-size:30px;margin-bottom:15px;padding:0;transform:none}.credential-group li{grid-template-columns:1fr;gap:3px;padding:18px 0}.credential-name{font-size:20px}.credential-link{justify-self:start;padding:7px 0}.credential-meta{font-size:12px}.personal-note{padding:70px 5% 50px 10%}.personal-note:before{left:0;top:30px;font-size:65px}.personal-note p{font-size:37px}.personal-note .sign{font-size:27px}.contact{display:block;padding:55px 0}.contact>.note{margin-bottom:20px}.contact h2{font-size:58px}.contact p{font-size:15px}.email-link{font-size:31px}.footer{gap:18px;padding-bottom:35px}.footer .sign{order:3;flex-basis:100%}.footer-links{gap:24px;font-size:23px}.footer .name{font-size:27px}.copyright{font-size:11px}}
@media(max-width:360px){.shell{padding:0 20px}.hero h1{font-size:100px}.hero h1 span{padding-left:30px}.hero-top .note{font-size:20px}.portrait{width:85%}.portrait img{height:270px}.interest-grid{grid-template-columns:1fr;gap:26px}.interest h3{font-size:31px}.interest p{font-size:15px}.section h2{font-size:48px}.contact h2{font-size:50px}.email-link{font-size:28px}.project-meta{font-size:12px}.project h3{font-size:54px}.footer-links{gap:22px}.personal-note p{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.menu,.hero-end,nav,details{display:none}.shell{padding:0 25px}body{background:#fff}.section{break-inside:avoid}.project{break-inside:avoid}.portrait{transform:none}.hero h1{font-size:100px}}
.credential-group h3{transform:none;overflow-wrap:normal}.portrait-label{width:max-content;max-width:100%}
@media(max-width:1050px) and (min-width:701px){.credential-group h3{font-size:25px;overflow-wrap:anywhere}.credential-group{grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:700px){.portrait-label{margin-left:0;transform:rotate(-3deg)}}
.footer-links a{white-space:nowrap}
