.resume{background:var(--paper);padding:100px 7%;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.45fr);gap:8%;color:var(--ink);position:relative}
.resume-heading{position:sticky;top:130px;align-self:start}.resume-heading h2{font-size:clamp(28px,3.6vw,58px);line-height:1.15;letter-spacing:-.045em;margin:25px 0}.resume-heading>p{font-size:14px;line-height:1.9;max-width:420px;color:#6e6a65}.resume-heading .text-link{margin-right:25px}.resume-group{margin-bottom:48px}.resume-group>h2{font-size:17px;border-top:1px solid #171715;padding-top:18px;margin:0 0 25px;display:flex;gap:20px}.resume-group>h2>span{color:var(--red);font-size:11px;padding-top:3px}.resume-row{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #1717151c}.resume-year{font-size:11px;padding-top:4px;color:#6e6a65}.resume-row h3{font-size:18px;letter-spacing:-.5px;margin:0 0 7px}.resume-row p{font-size:13px;line-height:1.7;margin:0 0 5px}.resume-detail{color:#6e6a65;font-size:12px;line-height:1.9}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.skill-tags span{border:1px solid #17171544;border-radius:30px;padding:9px 14px;font-size:11px}.resume-footnote{font-size:10px;line-height:1.8;color:#6e6a65}.resume-footnote span{display:block;margin-top:10px}.cv-page{padding-top:100px}.cv-page .resume{padding-top:45px}.hero-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:none;color:var(--ink);font-size:clamp(42px,8.1vw,135px)}.hero-heading .name-left,.hero-heading .name-right,.hero-heading .name-pivot{font-size:inherit;font-weight:800;line-height:.9;letter-spacing:-.07em;margin:0;display:block}.hero-heading .name-left{text-align:right;padding-right:.045em}.hero-heading .name-right{text-align:left;padding-left:.045em;color:var(--paper)}.hero-heading .name-pivot{width:.68em;letter-spacing:0;background:linear-gradient(90deg,var(--ink) 50%,var(--paper) 50%);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-subtitle{position:absolute;top:27%;left:0;right:0;text-align:center;font-size:10px;letter-spacing:2.8px;margin:0;z-index:2;background:linear-gradient(90deg,var(--ink) 50%,var(--paper) 50%);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-bottom .edition{max-width:120px}.splash .burst{animation:none!important}.splash.left{color:#ffca8b}.splash.right{color:var(--paper)}.splash .product-line{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:800;animation:draw-product 3s ease-in-out infinite alternate}.splash .dimension{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:6 6}.splash .project-link{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:7 12;animation:flow 7s linear infinite}.splash .project-node{fill:#20201e;stroke:currentColor;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:pulse 2s ease-in-out infinite alternate}.splash .project-node:nth-child(2n){animation-delay:-1s}.background.technical{left:0;right:50%}.background.network{left:50%;right:0}.identity[data-hover=right] .technical,.identity[data-hover=left] .network{opacity:0}.identity[data-hover=left] .technical,.identity[data-hover=right] .network{opacity:.18}.network svg{transform:scale(1.8)}.route-projects{background:#20201e;color:var(--paper)}.route-projects header{background:#20201e!important}.route-projects .draft-note,.route-projects .candidate small{color:#c5c1b8}.route-projects .candidate,.route-projects footer{border-color:#faf7ee44}.route-projects .page h1{color:#f5a47b}.route-products .page h1{color:var(--red)}.route-products .page:before,.route-projects .page:before{content:'';display:block;width:70px;height:5px;background:var(--red);margin-bottom:30px}.route-projects .page:before{background:#f5a47b}.page .section-character{float:right;width:clamp(90px,18vw,220px);margin:0 0 20px 35px}.route-products .candidate h2{color:#a8271a}.route-projects .candidate h2{color:var(--paper)}@keyframes draw-product{from{stroke-dashoffset:800}to{stroke-dashoffset:0}}@media(max-width:760px){.resume{padding:65px 6%;grid-template-columns:1fr;gap:45px}.resume-heading{position:static}.resume-heading h2{font-size:36px}.resume-row{grid-template-columns:40px 1fr;gap:14px}.hero-heading{font-size:clamp(35px,9.4vw,76px);left:2%;right:2%}.hero-subtitle{top:26%;font-size:8px;letter-spacing:1.8px}.cv-page{padding-top:80px}.route-projects header nav{background:#20201e;color:var(--paper)}.page .section-character{width:100px}}@media(prefers-reduced-motion:reduce){.splash svg *{animation:none!important}}
