*{box-sizing:border-box}body{margin:0;background:#faf9ef;color:#382f2b;font:11px/1.4 Verdana,Arial,sans-serif}h1,h2,h3,p{margin:0}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid #586a81;outline-offset:5px}.profile{width:480px;max-width:calc(100% - 48px);margin:clamp(55px,14vh,145px) auto 60px}header{margin-bottom:38px}h1{font-size:13px;letter-spacing:.035em;font-weight:bold}header p{font-size:10px;margin-top:3px}.profile-grid{display:grid;grid-template-columns:240px 160px;justify-content:space-between;gap:36px}h2{font:10px/1.3 Verdana,sans-serif;border-bottom:1px dashed #382f2b;padding-bottom:5px;margin-bottom:17px}article+article{margin-top:22px}h3{font:11px/1.4 Verdana,sans-serif;background:#cbd5df;display:inline}article p{font-size:10px;line-height:1.45;margin-top:5px}time{display:block;font-size:9px;margin-top:6px}#projects{margin-top:32px}.project-link{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;text-decoration:none;font-size:10px;gap:15px}.project-link>span:first-child{background:#382f2b;color:#faf9ef;padding:1px 5px;text-decoration:underline}.project-link:hover>span:first-child{background:#637186}.resume{padding-top:0;min-width:0}.resume-slot{position:relative;width:160px;max-width:100%;aspect-ratio:210 / 297;border:1px dashed #b8b3a8;background:#f2f0e6;perspective:500px}.resume-box{position:absolute;inset:-1px;background:#382f2b;color:#faf9ef;border:1px solid #382f2b;text-align:left;display:flex;flex-direction:column;justify-content:space-between;padding:15px;font:11px/1.3 Verdana,sans-serif;cursor:pointer;transform-origin:50% 100%;z-index:1}.resume-box:not(:disabled):hover{background:#4a413c}.resume-box:disabled{cursor:default}.resume-box:disabled:not(.falling):not(.sold){background:#5c5650;border-color:#5c5650}.download-arrow{align-self:flex-end;font:35px/1 Georgia,serif}.file-label{font-size:7px;letter-spacing:.035em}.stock-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.08em;opacity:0}.resume-slot.empty .stock-label{opacity:1;transition:opacity .2s}.resume-status{font-size:9px;line-height:1.4;color:#777067;margin-top:12px;max-width:160px;min-height:26px}.resume-box.falling{animation:resume-drop 540ms both;pointer-events:none;will-change:transform,opacity}.resume-box.sold{visibility:hidden}@keyframes resume-drop{0%{transform:translate(0,0) rotate(0deg);opacity:1;animation-timing-function:ease-out}18%{transform:translate(2px,5px) rotate(2deg);opacity:1;animation-timing-function:cubic-bezier(.55,.02,.95,.55)}68%{transform:translate(10px,125px) rotate(13deg);opacity:1;animation-timing-function:ease-in}100%{transform:translate(18px,290px) rotate(21deg);opacity:1}}@media(max-width:520px){.profile{width:360px;max-width:calc(100% - 40px);margin-top:60px}.profile-grid{grid-template-columns:minmax(0,1fr) 120px;gap:24px}.resume-slot{width:120px}.resume-box{padding:12px;font-size:10px}.file-label{font-size:6px}.download-arrow{font-size:29px}.stock-label{font-size:9px;letter-spacing:.02em}.resume-status{font-size:8px}h3{font-size:10px}article p{font-size:9px}time{font-size:8px}}@media(prefers-reduced-motion:reduce){.resume-box.falling{animation:none;opacity:0}.resume-slot.empty .stock-label{transition:none}}

/* Home sections. */
.skills{margin-top:33px}.skills ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 17px}.skills li{display:flex;align-items:center;gap:7px;font-size:9px}.skills img{width:13px;height:13px;object-fit:contain;opacity:.78}.contact{margin-top:31px}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-links>a,.contact-links>div{display:flex;justify-content:space-between;gap:12px;font-size:9px}.contact-links>a{text-decoration:none}.contact-links>a:hover span:last-child{text-decoration:underline}.contact-links span:first-child{color:#82786b}.email-pending span:last-child{color:#82786b}.contact-links a span:last-child{overflow-wrap:anywhere}@media(max-width:520px){.skills ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 20px}.contact-links{grid-template-columns:1fr;gap:13px}.skills,.contact{margin-top:28px}}
header .about-passion{max-width:360px;margin-top:14px;line-height:1.7;font-size:10px}.about-intro{display:grid;grid-template-columns:minmax(0,1fr) 148px;gap:24px;align-items:start}.about-copy{min-width:0}.profile-portrait{display:block;width:148px;max-width:100%;height:auto;margin:0}.project-summary strong{font-weight:700;color:#382f2b}@media(max-width:520px){.about-intro{grid-template-columns:minmax(0,1fr) 104px;gap:18px}.profile-portrait{width:104px}}
.resume-status:empty{display:none}
.project-summary{font-size:8px;line-height:1.65;color:#777067;margin:0 0 10px 5px}
/* The sheet tips and falls inside its rectangular slot. */
.resume-slot{border:1px dashed #b8b3a8;background:#f0eee5;perspective:none;isolation:isolate;border-radius:0;clip-path:inset(0);overflow:hidden}
.resume-box{inset:0;appearance:none;border-radius:0;background:#fffefa;color:#382f2b;border:1px solid #d8d3c8;box-shadow:2px 4px 8px #382f2b12;transform:none;transform-origin:50% 15%}
.resume-box:not(:disabled):hover{background:#fffefa;border-color:#8d8578}
.resume-box:disabled:not(.falling):not(.sold){background:#fffefa;border-color:#d8d3c8;color:#777067}
.resume-box .download-arrow{font-size:27px;align-self:center;color:#8d8578}
.resume-box .file-label{font-size:6px;letter-spacing:.07em}
@media(prefers-reduced-motion:reduce){.resume-box.falling{animation:none;opacity:0}}
