@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:700;font-display:block;src:url(/portfolio/assets/big-shoulders-display-latin-700-normal-KM2fueoL.woff2)format("woff2")}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:block;src:url(/portfolio/assets/golos-text-latin-400-normal-Coi1FYaD.woff2)format("woff2")}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:block;src:url(/portfolio/assets/golos-text-latin-500-normal-BznAvurO.woff2)format("woff2")}:root{--paper:#fcfbf8;--ink:#22282f;--muted:#5a626c;--line:#e3dfd5;--ring:#d59a7c;--link:#2f6f66;--sky:#e6eef3;--sand:#f5ecd9;--deep:#3f5a73;--sun:#f0d6a0;--display:"Big Shoulders Display", "Arial Narrow", sans-serif;--stamp:clamp(96px, 10.5vw, 142px);--medal:clamp(180px, 26svh, 220px)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{background:var(--paper);color:var(--ink);margin:0}body{font:400 17px/1.55 Golos Text,Segoe UI,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .25s}a:hover{color:var(--link)}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}h3{font-weight:500}h2{font-family:var(--display);font-size:calc(1.12*clamp(38px,4.5vw,58px));font-weight:700;line-height:1.1}img{max-width:100%;display:block}button{font:inherit;color:inherit}@keyframes appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.bar{z-index:20;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:28px;padding:16px clamp(16px,5vw,56px);transition:background-color .35s,border-color .35s;display:flex;position:fixed;inset:0 0 auto}.bar.scrolled{border-color:var(--line);background:#fcfbf8f2}.bar ul{gap:24px;display:flex}.bar ul a{color:var(--muted);white-space:nowrap;text-decoration:none}.bar ul a:hover,.bar ul a.active{color:var(--ink)}.brand{opacity:0;white-space:nowrap;font-weight:500;text-decoration:none;transition:opacity .35s}.bar.scrolled .brand{opacity:1}@media (width<=860px){.bar{padding:12px 16px}.bar ul{scrollbar-width:none;gap:18px;overflow-x:auto}.brand{display:none}}.medallion{all:unset;box-shadow:0 0 0 1.5px var(--ring);cursor:pointer;border-radius:50%;flex:none;display:block;position:relative}.medallion:focus-visible{outline:2px solid var(--link);outline-offset:5px}.medallion canvas{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#stamp{width:var(--stamp);height:var(--stamp);order:2}#medal{width:var(--medal);height:var(--medal)}.crumble{pointer-events:none;z-index:1;width:100%;height:40px;position:absolute;bottom:100%;left:0}.band{position:relative}.band.tall{align-items:center;min-height:100svh;display:flex}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:96px clamp(16px,5vw,48px) 72px}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(16px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.stack{display:grid}.stack>*{visibility:hidden;grid-area:1/1}.stack>.current{visibility:visible;animation:.32s ease-out appear}#home{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:80px 16px 56px;display:flex}.name{justify-content:center;align-items:center;gap:clamp(16px,2.2vw,34px);display:flex}.name h1{font-weight:400;display:contents}.name span{font-family:var(--display);font-size:calc(1.16*clamp(60px,9.2vw,132px));font-weight:700;line-height:1}.name span:first-child{order:1}.name span:last-child{order:3}.role{color:var(--muted);margin:22px 0 26px;font-size:clamp(20px,2vw,26px)}.socials{justify-content:center;gap:22px;display:flex}.socials a{transition:color .25s,transform .25s;display:block}.socials a:hover{transform:translateY(-3px)}.socials svg{width:30px;height:30px;display:block}.more{color:var(--muted);margin-top:34px;display:inline-block}.about{grid-template-columns:minmax(260px,400px) minmax(0,620px);justify-content:center;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.about p{margin-top:12px}.portrait{aspect-ratio:1;width:100%;height:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000),linear-gradient(#000 66%,#0000 98%);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000),linear-gradient(#000 66%,#0000 98%);-webkit-mask-composite:source-in;mask-composite:intersect}.pill{border:1px solid var(--ink);border-radius:999px;margin-top:28px;padding:10px 24px;text-decoration:none;transition:background-color .25s,color .25s;display:inline-block}.pill:hover{background:var(--ink);color:var(--paper)}#experience{background:var(--sky)}.jobs{grid-template-columns:minmax(300px,400px) 1fr;align-items:start;gap:clamp(28px,5vw,72px);display:grid}.jobs ol{margin-top:28px;position:relative}.jobs ol:before{content:"";background:var(--line);width:1px;position:absolute;top:28px;bottom:28px;left:25px}.job-pick{all:unset;box-sizing:border-box;cursor:pointer;border-radius:10px;align-items:center;gap:16px;width:100%;padding:10px 12px 10px 0;transition:transform .3s;display:flex;position:relative}.job-pick:hover{transform:translate(4px)}.job-pick:focus-visible{outline:2px solid var(--link)}.job-pick img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:52px;height:52px;padding:6px;transition:box-shadow .3s,border-color .3s}.job-pick[aria-pressed=true] img{border-color:var(--ring);box-shadow:0 0 0 3px #f6e4d9}.job-pick b{font-weight:500;line-height:1.25;display:block}.job-pick small{color:var(--muted);font-size:15px}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:clamp(20px,2.6vw,34px);box-shadow:0 18px 44px #3f5a731a}.panel h3{font-size:24px;line-height:1.25}.panel .dates{color:var(--muted);margin-top:2px}.panel p{margin-top:12px}.panel ul{margin-top:10px}.panel li{margin-top:8px;padding-left:16px;font-size:16px;line-height:1.45;position:relative}.panel li:before{content:"";background:#8cacc2;width:6px;height:5px;position:absolute;top:.62em;left:0}.panel .full{color:var(--muted);margin-top:14px;font-size:16px;display:inline-block}#projects{background:var(--sand)}.projects{grid-template-columns:1.3fr 1fr;align-items:start;gap:clamp(24px,3.5vw,48px);margin-top:26px;display:grid}.show{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 44px #7a5c2826}.stage-box{aspect-ratio:1280/770;animation:.35s ease-out appear;overflow:hidden}.stage-box img{object-fit:cover;object-position:top;width:100%;height:100%}.stage-box pre{color:#e9eef2;background:#2c3e50;height:100%;margin:0;padding:24px 26px;font:14.5px/1.6 Consolas,Menlo,monospace;overflow:hidden}.chat{background:var(--sky);flex-direction:column;gap:10px;height:100%;padding:26px;display:flex}.bubble{background:#fff;border-radius:16px;max-width:76%;padding:10px 16px}.bubble.me{background:#cfe3d9;align-self:flex-end}.chat-actions{grid-template-columns:1fr 1fr;gap:8px;max-width:76%;display:grid}.chat-actions span{text-align:center;background:#fff;border-radius:10px;padding:8px 12px;font-size:15px}.show-meta{padding:16px 22px 18px}.show-meta h3{font-size:21px}.show-meta h3 a{text-decoration-thickness:1.5px}.tech{color:var(--muted);margin-top:3px;font-size:15.5px}.show-links{gap:18px;margin-top:6px;font-size:16px;display:flex}.picks{flex-direction:column;gap:6px;display:flex}.pick{all:unset;box-sizing:border-box;cursor:pointer;border-radius:12px;width:100%;padding:13px 18px;transition:background-color .3s,transform .3s;display:block}.pick:hover{transform:translate(4px)}.pick[aria-pressed=true]{background:#fff;box-shadow:0 8px 22px #7a5c281a}.pick:focus-visible{outline:2px solid var(--link)}.pick b{font-family:var(--display);font-size:25.76px;font-weight:700;line-height:1.2;display:block}.pick span{color:var(--muted);margin-top:3px;font-size:16px;line-height:1.4;display:block}.pick em{color:#80521f;margin-top:3px;font-size:15px;font-style:normal;display:block}.pick-family{border-left:2px solid var(--ring);padding:6px 0 2px 18px}.pick-family>b{font-family:var(--display);font-size:25.76px;font-weight:700;line-height:1.2;display:block}.pick-family>span{color:var(--muted);margin:3px 0 4px;font-size:16px;line-height:1.4;display:block}.pick-family .pick{padding:8px 12px}.pick-family .pick b{font-family:inherit;font-size:17px;font-weight:500}#skills{background:var(--deep);color:var(--paper)}#skills .wrap{padding-top:76px;padding-bottom:76px}.skills{grid-template-columns:repeat(2,1fr);gap:20px clamp(32px,5vw,72px);margin-top:30px;display:grid}.skills dt{color:#bccbd8;font-size:16px}.skills>div:first-child{grid-column:1/-1}.skills>div:first-child dd{font-family:var(--display);font-size:clamp(30px,3.6vw,46px);font-weight:700;line-height:1.15}.skills>div:last-child{grid-column:1/-1}.skills>div:last-child dd{color:#bccbd8}.interests{grid-template-columns:minmax(0,760px) auto;justify-content:space-between;align-items:center;gap:clamp(24px,4vw,56px);margin-bottom:26px;display:grid}.interests p{margin-top:14px}.words{flex-wrap:wrap;gap:0 16px;margin:12px 0 0;display:flex}.words button{all:unset;cursor:pointer;color:var(--muted);box-shadow:0 0 0 var(--ring);font-size:19px;line-height:1.75;transition:color .25s,box-shadow .25s}.words button:hover,.words button[aria-pressed=true]{color:var(--ink);box-shadow:0 2px 0 var(--ring)}.words button:focus-visible{outline:2px solid var(--link);outline-offset:3px}.photos{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.photos figure{background:var(--sky);border-radius:12px;position:relative;overflow:hidden}.photos figure:before{content:"";background:var(--blur) center/cover;filter:blur(12px);position:absolute;inset:-14px}.photos figure:hover img{transform:scale(1.04)}.photos figure img{aspect-ratio:.82;object-fit:cover;opacity:0;width:100%;transition:opacity .7s,transform .8s;position:relative}.photos figure img.loaded{opacity:1}.photos figcaption{color:#fff;background:linear-gradient(#0000,#141a20b8);padding:26px 14px 10px;font-size:15px;line-height:1.3;position:absolute;inset:auto 0 0}.photos figcaption b{font-family:var(--display);margin-bottom:2px;font-size:28px;font-weight:700;line-height:1.1;display:block}.all-trips{margin-top:16px;font-weight:500;display:inline-block}#contact{background:var(--sun);text-align:center}#contact .wrap{padding-top:100px;padding-bottom:100px}#contact p{margin-top:12px;font-size:22px}.mail{margin-top:22px;font-size:clamp(26px,3.6vw,44px);display:inline-block}@media (width<=860px){.band.tall{min-height:0;display:block}.wrap{padding:64px 16px 56px}.name{flex-direction:column;gap:6px}.name span:first-child{order:1}#stamp{order:0;margin-bottom:14px}.about,.jobs,.projects,.interests,.skills{grid-template-columns:1fr}.portrait{max-width:240px;margin:0 auto}.stage-box pre{white-space:pre-wrap;padding:16px;font-size:12px}.jobs .stack>*{align-self:start}.interests{justify-items:start}.interests .medallion{margin:0 auto}.photos{grid-template-columns:1fr 1fr}}
