@font-face{font-family:"Nexa Text";src:url('/assets/home/mobile/nexa-text-book.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"Switzer";src:url('/fonts/switzer-light.woff2') format('woff2');font-weight:300;font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;color:#1c1c1c}
body[data-site-page="about"]{--site-surface:linear-gradient(rgba(244,247,248,.75),rgba(244,247,248,.75)),url('/assets/about/wash.png') center top/cover fixed;--site-grain:url('/assets/about/grain.png') repeat;--site-grain-opacity:.24;font:400 20px/28px "Nexa Text",sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}
.about-stage{--about-scale:1;--about-outer:0px;position:relative;width:100%;overflow:clip}
.about-frame{position:relative;display:flex;flex-direction:column;width:1440px;min-height:var(--about-min-height,1079px);margin-left:var(--about-outer);padding-top:73px;transform:scale(var(--about-scale));transform-origin:0 0;top:calc(72px * (1 - var(--about-scale)))}
.about-frame::before{content:"";position:absolute;inset:0 71px 0 72px;border-inline:1px solid #b4b4b4;pointer-events:none}
.about-body{position:relative;display:grid;flex:none;grid-template-columns:556px 740px;margin-inline:72px}
.about-body::before{content:"";position:absolute;top:0;bottom:0;left:556px;width:1px;background:#b4b4b4;pointer-events:none}
.about-identity{grid-row:1 / 3;padding:80px 0 0 64px}
.about-portrait{display:block;width:400px;height:503px;object-fit:cover;border-radius:4px}
.about-name{font:300 80px/96px "Switzer",sans-serif;letter-spacing:-3.2px;color:#008dff;width:405px;margin:12px 0 16px}
.about-location{margin:0;padding-left:4px;font-size:20px;line-height:28px;letter-spacing:-.2px}
.about-profile-work{min-height:583px;padding:76px 56px 55px;grid-column:2}
.about-label{margin:0;color:#696969;font-size:12px;line-height:16px;font-weight:400;letter-spacing:1.2px;text-transform:uppercase}
.about-bio{margin:28px 0 0;font-size:49px;line-height:58px;letter-spacing:-1.47px;font-weight:400}
.about-work{margin-top:68px}
.about-project-row{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-top:18px}
.about-project-link{color:#008dff;text-decoration:none;font-size:34px;line-height:40px;letter-spacing:-.68px}
.about-project-description{margin:4px 0 0;color:#696969;font-size:20px;line-height:28px;letter-spacing:-.2px}
.about-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:132px;height:42px;padding:8px 16px;border:1px solid #d1d1d1;border-radius:4px;background:#f1f1f1;color:#1c1c1c;font:400 18px/24px "Nexa Text",sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .16s,border-color .16s}
.about-info-button{min-width:119px;padding-inline:32px}
.about-action-square{flex:none;width:10px;height:10px;border:1px solid #b4b4b4;transition:background-color .16s,border-color .16s}
.about-action:hover{background:#fafafa;border-color:#a8a8a8}
.about-action:is(:hover,:focus-visible) .about-action-square{background:#008dff;border-color:#008dff}
.about-frame :is(a,button):focus-visible,.resume-page a:focus-visible{outline:2px solid #0076d5;outline-offset:5px}
.about-frame a:not(.about-action):hover{text-decoration:underline;text-underline-offset:4px}
.about-experience{position:relative;grid-column:2;min-height:295px;padding:43px 56px 57px;border-top:1px solid #b4b4b4}
.about-experience::before,.about-experience::after,.about-junction{content:"";position:absolute;box-sizing:border-box;width:8px;height:8px;background:#f5f5f5;border:1px solid #b4b4b4;pointer-events:none}
.about-experience::before{left:-3.5px;top:-4.5px}
.about-experience::after{right:-4.5px;top:-4.5px}
.about-experience-list{display:grid;gap:34px;list-style:none;margin:28px 0 0;padding:0}
.about-experience-row{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.about-experience-company{margin:0;font-size:22px;line-height:29px;letter-spacing:-.44px;font-weight:400}
.about-experience-role{margin:0;color:#696969;font-size:20px;line-height:29px;letter-spacing:-.2px}
.about-experience-date{margin:0;min-width:118px;text-align:right;color:#696969;font-size:18px;line-height:29px;letter-spacing:-.18px}
.about-footer{position:relative;display:grid;flex:1;align-content:start;grid-template-columns:556px 740px;padding:28px 72px 57px;min-height:128px;border-top:1px solid transparent}
.about-footer::before,.about-footer-end::before{content:"";position:absolute;left:calc(-1 * var(--about-rule-outset,0px));right:calc(-1 * var(--about-rule-outset,0px));top:-1px;height:1px;background:#b4b4b4;pointer-events:none}
.about-footer-end{position:absolute;top:98px;left:0;right:0;height:1px;pointer-events:none}
.about-footer-end::before{top:0}
.about-footer-end .about-junction{top:-3.5px}
.about-footer::after{content:"";position:absolute;left:628px;top:0;bottom:0;width:1px;background:#b4b4b4;pointer-events:none}
.about-email{align-self:center;margin-left:64px;color:#008dff;font-size:20px;line-height:28px;letter-spacing:-.2px;text-decoration:none}
.about-footer-actions{display:flex;gap:16px;padding-left:56px;align-items:center}
.about-junction{top:-4.5px;z-index:1}
.about-junction-left{left:68.5px}.about-junction-center{left:624.5px}.about-junction-right{left:1364.5px}
.about-header-grid{position:fixed;z-index:51;top:0;left:0;width:100%;height:73px;pointer-events:none}
.about-header-grid::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--about-outer,0px) + 72px * var(--about-scale,1));right:calc(var(--about-outer,0px) + 71px * var(--about-scale,1));border-inline:1px solid #b4b4b4}
.about-header-grid::after{content:"";position:absolute;left:0;right:0;top:72px;height:1px;background:#b4b4b4}
.about-header-grid i{position:absolute;top:calc(72.5px - 4px * var(--about-scale,1));width:calc(8px * var(--about-scale,1));height:calc(8px * var(--about-scale,1));border:calc(1px * var(--about-scale,1)) solid #b4b4b4;background:#f5f5f5;z-index:1}
.about-header-grid i:nth-child(1){left:calc(var(--about-outer,0px) + 68.5px * var(--about-scale,1))}
.about-header-grid i:nth-child(2){left:calc(var(--about-outer,0px) + 624.5px * var(--about-scale,1))}
.about-header-grid i:nth-child(3){left:calc(var(--about-outer,0px) + 1364.5px * var(--about-scale,1))}
@media(min-width:821px){body[data-site-page="about"] [data-site-header]{border-bottom-color:transparent}}
@media(min-width:1048px){body[data-site-page="about"] [data-site-header]{--site-nav-frame-left:var(--about-nav-left)!important;--site-nav-frame-right:var(--about-nav-right)!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1047px){
 .about-stage{height:auto!important;--about-mobile-rail:5vw}
 .about-frame{width:100%;min-height:100svh;margin:0;transform:none;top:0;padding-top:72px}
 .about-frame::before{inset:0 var(--about-mobile-rail);border-inline:1px solid #b4b4b4}
 .about-body{display:flex;flex-direction:column;margin-inline:var(--about-mobile-rail)}
 .about-body::before{display:none}
 .about-identity{padding:48px 32px 40px}
 .about-portrait{width:100%;height:auto;aspect-ratio:400/503}
 .about-name{font-size:clamp(42px,8.5vw,76px);line-height:1.15;letter-spacing:-.04em;width:auto;margin:20px 0 20px}
 .about-location{padding:0;font-size:18px;line-height:26px}
 .about-profile-work{position:relative;padding:40px 32px;min-height:0;border-top:1px solid #b4b4b4}
 .about-profile-work::before,.about-profile-work::after{content:"";position:absolute;box-sizing:border-box;width:8px;height:8px;top:-4.5px;background:#f5f5f5;border:1px solid #b4b4b4;pointer-events:none}
 .about-profile-work::before{left:-3.5px}.about-profile-work::after{right:-4.5px}
 .about-bio{font-size:clamp(26px,4.3vw,42px);line-height:1.2;letter-spacing:-.03em;margin-top:24px}
 .about-work{margin-top:40px}
 .about-project-link{font-size:30px;line-height:38px}
 .about-project-description{font-size:17px;line-height:25px;max-width:32ch;margin-top:8px}
 .about-experience{padding:32px;min-height:0}
 .about-experience-list{gap:28px;margin-top:24px}
 .about-experience-company{font-size:19px;line-height:27px}
 .about-experience-role{font-size:17px;line-height:25px}
 .about-experience-date{font-size:15px;line-height:27px;min-width:74px}
 .about-experience-row{gap:12px}
 .about-footer{display:flex;flex-direction:column;gap:24px;padding:28px calc(var(--about-mobile-rail) + 32px) 40px;min-height:0}
 .about-footer::before,.about-footer-end::before{left:0;right:0}
 .about-footer-end{top:auto;bottom:11px}
 .about-email{align-self:flex-start;margin:0;font-size:18px}
 .about-footer-actions{padding:0;gap:12px;flex-wrap:wrap}
 .about-footer::after,.about-junction-center,.about-header-grid i:nth-child(2){display:none}
 .about-junction-left{left:calc(var(--about-mobile-rail) - 3.5px)}.about-junction-right{left:auto;right:calc(var(--about-mobile-rail) - 4.5px)}
 .about-action{min-height:44px;height:44px}
}
@media(max-width:820px){
 .about-stage{--about-mobile-rail:calc(27.857px * var(--site-nav-scale,1))}
 .about-frame{padding-top:calc(73px * var(--site-nav-scale,1))}
 .about-header-grid{display:none}
 .about-identity{padding:40px 24px 36px}
 .about-profile-work{padding:36px 24px}
 .about-experience{padding:32px 24px}
 .about-footer{padding-inline:calc(var(--about-mobile-rail) + 24px)}
 .about-action{min-width:120px;font-size:16px;padding-inline:14px}
 .about-info-button{min-width:100px;padding-inline:22px}
}
@media(max-width:600px){
 .about-identity{padding:32px 20px 28px}
 .about-portrait{aspect-ratio:1;height:auto;object-position:50% 35%}
 .about-name{font-size:clamp(42px,14vw,60px);line-height:1.08;margin:18px 0 14px}
 .about-location{font-size:16px;line-height:24px}
 .about-profile-work{padding:32px 20px}
 .about-bio{font-size:clamp(25px,7.2vw,32px);line-height:1.22;letter-spacing:-.025em;margin-top:20px}
 .about-work{margin-top:32px}
 .about-project-row{margin-top:16px;gap:16px}
 .about-project-description{font-size:16px;line-height:24px;margin-top:10px}
 .about-experience{padding:32px 20px}
 .about-experience-list{gap:26px}
 .about-experience-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:2px}
 .about-experience-row>div{display:contents}
 .about-experience-company{grid-column:1;grid-row:1;font-size:18px;line-height:26px}
 .about-experience-role{grid-column:1 / -1;grid-row:2;font-size:16px;line-height:24px}
 .about-experience-date{grid-column:2;grid-row:1;min-width:0;font-size:14px;line-height:26px}
 .about-footer{padding:24px calc(var(--about-mobile-rail) + 20px) 40px;gap:16px;flex:none}
 .about-email{display:inline-flex;align-items:center;min-height:44px;font-size:17px;line-height:24px}
 .about-footer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .about-footer-actions .about-action{min-width:0;width:100%;padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){.about-action,.about-action-square{transition:none}}
/* The résumé opens as a separate, printable preview; the download is the original PDF. */
.resume-page{margin:0;background:#f4f7f8;font:400 18px/26px "Nexa Text",sans-serif;color:#1c1c1c}
.resume-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1100px;margin:auto;padding:24px;border-bottom:1px solid #b4b4b4}
.resume-toolbar h1{font-size:20px;font-weight:400;margin:0}
.resume-tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.resume-original{color:#0076d5;font-size:16px;text-underline-offset:4px}
.resume-preview{max-width:864px;margin:32px auto;padding:0 24px 32px}
.resume-preview img{display:block;width:100%;height:auto;background:white;border:1px solid #d1d1d1}
@media(max-width:600px){.resume-toolbar{align-items:flex-start;flex-direction:column}.resume-preview{margin:20px auto;padding-inline:12px}}
@media print{.resume-toolbar{display:none}.resume-preview{margin:0;padding:0;max-width:none}.resume-preview img{border:0}}
