@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";body{margin:0}:root{--bg:#f7f5f2;--paper:#ffffffe0;--ink:#22221f;--muted:#6f6a63;--line:#e6dfd6;--accent-1:#ff7a59;--accent-2:#a84d36;--soft:#fff2ea;--card-radius:18px;--glass:#ffffffb8;--mono:"DM Mono", monospace;--sans:"Manrope", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--ink);font-family:var(--sans);background-image:radial-gradient(#4a3a2f21 .65px,#0000 .7px),linear-gradient(#7a6b5e1a 1px,#0000 1px),linear-gradient(90deg,#7a6b5e1a 1px,#0000 1px);background-size:5px 5px,72px 72px,72px 72px;margin:0;font-size:14px}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(53% 25% at 50% 18%,#ffffffd9,#0000 72%);position:fixed;inset:0}a{color:inherit}.topbar{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf7f2b3;border-bottom:1px solid #a9998a61;justify-content:space-between;align-items:center;height:66px;padding:0 max(24px,50vw - 649px);display:flex;position:sticky;top:0}.wordmark{letter-spacing:-.8px;font-size:16px;font-weight:700;text-decoration:none}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:#fffdf9e6;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:42px;padding:0;display:none}.menu-toggle span{background:var(--ink);border-radius:999px;width:18px;height:2px;display:block}.wordmark span,.section-kicker{color:var(--accent)}nav{border:1px solid var(--line);background:#fffdf98f;border-radius:4px;gap:25px;padding:10px 17px;display:flex;box-shadow:0 3px 14px #3c2c210a}nav a,.hire{color:var(--muted);font-size:12px;text-decoration:none}nav a:hover{color:var(--accent)}.hire,.primary{background:var(--ink);color:var(--paper);border-radius:4px;align-items:center;gap:8px;padding:11px 16px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:4px 4px #5b46381f}.hire:hover,.primary:hover{transform:translateY(-2px)scale(1.01);box-shadow:8px 10px 22px #8a48301f}.icon{font-size:13px}.layout{grid-template-columns:290px 1fr;align-items:start;gap:48px;max-width:1190px;margin:46px auto 0;display:grid}.profile-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:5px;box-shadow:0 12px 26px #3e302312}.profile-card{padding:20px;position:sticky;top:90px}.profile-top{background:linear-gradient(145deg,#eee3d5,#c97758);border-radius:4px 4px 0 0;justify-content:space-between;height:72px;margin:-20px -20px 0;padding:16px 20px;display:flex}.spark{color:#fff8e7;font-size:23px}.socials{gap:7px;display:flex}.socials a{color:#fff8e7;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;text-decoration:none;display:grid}.portrait{border:4px solid var(--paper);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;margin-top:-32px;transition:transform .3s;animation:6s ease-in-out infinite floaty;display:flex;overflow:hidden;box-shadow:0 8px 28px #3141451f,inset 0 2px 6px #ffffff0f}.profile-image{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.portrait:hover{transform:scale(1.05)}.portrait:hover .profile-image{transform:scale(1.08)}@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.available{float:right;border:1px solid var(--line);background:var(--paper);border-radius:3px;margin-top:-39px;padding:7px 9px;font-size:11px}.available i{background:#6a9a4d;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.profile-card h1{letter-spacing:-.7px;margin:17px 0 1px;font-size:20px}.profile-card h1 span{color:#94856e;font-size:13px}.handle{color:var(--muted);font:11px var(--mono);margin:0}.role{margin:19px 0 9px;font-size:14px;font-weight:600;line-height:1.5}.bio{color:var(--muted);margin:0 0 18px;line-height:1.6}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stats div{border:1px solid var(--line);border-radius:3px;padding:9px 12px}.stats b{font:500 20px var(--mono);letter-spacing:-1.5px;color:var(--accent);display:block}.stats span{font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.location{border-top:1px solid var(--line);color:var(--muted);margin-top:18px;padding:15px 0 12px;line-height:2}.location span{color:var(--accent);margin-right:4px}.resume{text-align:center;margin-bottom:8px;padding:11px;display:block}.secondary{border:1px solid var(--line);border-radius:3px;text-decoration:none}.side-links{border-top:1px solid var(--line);gap:14px;margin-top:20px;padding:16px 10px 0;display:grid}.side-links a{color:var(--muted);text-decoration:none}.content{gap:24px;display:grid}.panel{padding:38px;scroll-margin-top:120px}@media (width<=900px){.panel{scroll-margin-top:90px}}.section-kicker,.subhead{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.14em;margin:0 0 11px}.panel h2{letter-spacing:-1.8px;background:linear-gradient(90deg, var(--accent-1), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 31px;font-size:34px;line-height:1}.lead{color:#5f554c;max-width:790px;margin:0 0 27px;font-size:15.5px;line-height:1.9}.about-grid{grid-template-columns:1fr 320px;align-items:start;gap:28px;display:grid}.about-card{border:1px solid var(--line);background:linear-gradient(#fffffff5,#fffaf4e6);border-radius:12px;padding:20px}.badges{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.badges span{background:var(--soft);color:var(--accent-2);border:1px solid #a84d360f;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-block}@media (width<=900px){.about-grid{grid-template-columns:1fr}.about-card{order:-1;margin-bottom:12px}}.two-col{grid-template-columns:1fr 1fr;gap:80px;display:grid}.two-col h3,.skill-grid h3,.project-grid h3{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2);margin:0 0 12px}ul{color:var(--muted);margin:0;padding:0;line-height:2.7;list-style:none}ul li:before{content:"›";color:var(--accent);margin-right:12px;font-weight:700}.timeline article{border-top:1px solid var(--line);padding:21px 0}.timeline article:last-child{border-bottom:1px solid var(--line)}.job-title{align-items:center;gap:13px;display:flex}.company-mark{border:1px solid var(--line);width:37px;height:37px;color:var(--accent);background:var(--soft);border-radius:3px;place-items:center;display:grid}.job-title b{font-size:15px;display:block}.job-title small,.leadership small{color:var(--muted);margin-top:5px;display:block}.job-title time{font:10px var(--mono);color:var(--muted);margin-left:auto}.timeline ul{padding:15px 0 0 57px;font-size:13px;line-height:2.2}.subhead{margin:32px 0 15px}.leadership{gap:12px;display:grid}.leadership article,.project-grid article,.skill-grid article,.highlights p{border:1px solid var(--line);background:#fffdf9b3;border-radius:3px;margin:0;padding:20px 24px}.leadership p{color:var(--muted);margin:12px 0 0}.project-grid,.skill-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.project-grid article{min-height:183px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative}.project-grid article>a{color:var(--accent);font-weight:700;text-decoration:none;position:absolute;top:17px;right:19px}.project-grid article:hover{border-left:4px solid var(--accent-1);transform:translateY(-6px);box-shadow:0 22px 48px #a84d3614}.project-grid h3{font-family:var(--sans);text-transform:none;letter-spacing:-.5px;color:var(--ink);font-size:17px}.project-grid p{color:var(--muted);line-height:1.65}.project-grid span{border:1px solid var(--line)}.project-grid span .project-grid article{min-height:160px;position:relative}.project-grid span .project-card{border:1px solid var(--line);background:linear-gradient(#fffffff5,#fffaf4eb);border-radius:12px;padding:18px 20px;transition:transform .22s,box-shadow .22s;box-shadow:0 10px 24px #3e30230f}.project-grid span .project-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px #3e30231f}.project-grid span .project-card h3{margin:0 0 8px;font-size:18px}.project-grid span .project-card p{color:var(--muted);margin:0 0 12px;line-height:1.6}.project-grid span .project-meta span{background:var(--soft);color:var(--muted);border:1px solid var(--line);border-radius:8px;margin-right:8px;padding:6px 8px;font-size:12px;display:inline-block}.project-grid span .job-projects{margin-top:18px}.skill-grid{grid-template-columns:repeat(3,1fr)}.skill-grid p{color:var(--muted);margin:0;line-height:2}.highlights{grid-template-columns:1fr 1fr;gap:14px;display:grid}.highlight-item{text-align:center;border:1px solid var(--line);background:#fffdf9e0;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:18px;display:flex;box-shadow:0 10px 26px #3e30230f}.highlight-item img{object-fit:cover;border:1px solid #0000000f;border-radius:10px;flex-shrink:0;width:260px;height:160px}.highlight-text b{margin-top:6px;font-size:16px;display:block}.highlight-text span{color:var(--muted);font-size:14px}@media (width<=900px){.highlights{grid-template-columns:1fr}.highlight-item img{border-radius:12px;width:140px;height:140px}.highlight-item{gap:14px;padding:12px}}.contact-copy{color:var(--muted);max-width:600px;font-size:15px;line-height:1.7}.contact-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.contact-actions>a:not(.primary){border:1px solid var(--line);color:var(--muted);background:#fffdf999;border-radius:3px;padding:11px 16px;text-decoration:none}a,button{transition:all .18s cubic-bezier(.2,.9,.2,1)}a:focus,button:focus{outline-offset:3px;outline:3px solid #ff7a591f}.topbar{transition:transform .24s,box-shadow .24s}.topbar:hover{transform:translateY(-2px);box-shadow:0 16px 40px #3d2b2114}nav a.active-nav:after{content:"";background:linear-gradient(90deg, var(--accent-1), var(--accent-2));border-radius:4px;width:100%;height:3px;margin-top:8px;display:block}footer{color:var(--muted);font:10px var(--mono);justify-content:space-between;padding:27px 0 42px;display:flex}footer div{gap:18px;display:flex}footer a{text-decoration:none}@media (width<=900px){.wordmark{display:none}.menu-toggle{display:inline-flex}.topbar{flex-wrap:wrap;align-items:flex-start;gap:10px;height:auto;min-height:66px;padding-top:10px;padding-bottom:10px;position:sticky}.topbar nav{background:#fffdf9fa;border-radius:14px;flex-wrap:wrap;order:3;justify-content:flex-start;gap:8px;width:100%;margin-top:2px;padding:10px;display:none;box-shadow:0 14px 32px #3d2b211f}.topbar nav.open{display:flex}.topbar nav a{border-radius:10px;justify-content:flex-start;width:100%;padding:11px 12px}.layout{margin:14px 18px;display:block}.profile-card{margin-bottom:16px;position:relative;top:auto}.content{display:block}.panel{margin-bottom:16px}.side-links{display:none}}@media (width<=580px){.topbar{padding:10px 18px}.menu-toggle{border-radius:11px;width:40px;height:40px}.hire{padding:9px 12px}.layout{margin:12px}.profile-card,.panel{border-radius:4px}.panel{padding:25px 20px}.panel h2{font-size:29px}.two-col,.project-grid,.skill-grid{grid-template-columns:1fr;gap:14px}.job-title{align-items:flex-start}.job-title time{display:none}.timeline ul{margin-top:8px;padding-left:0}.lead{line-height:1.75}.contact-actions{display:grid}.contact-actions a{text-align:center;justify-content:center}footer{flex-wrap:wrap;gap:12px}footer span:nth-child(2){display:none}}.profile-card,.panel{border-radius:var(--card-radius)!important;background:linear-gradient(135deg,#ffffffeb,#fffaf4bd)!important;border:1px solid #fffffff0!important;position:relative!important;overflow:hidden!important;box-shadow:0 20px 46px #402c2017,inset 0 1px #fffffffa!important}.profile-card:before,.panel:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,#ffffff91,#ffffff21 33%,#0000 56%);position:absolute;inset:0}.profile-card>*,.panel>*{z-index:1;position:relative}.profile-top{border-radius:calc(var(--card-radius) - 6px) calc(var(--card-radius) - 6px) 0 0!important}.available{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf9bf!important;border-color:#ffffffe6!important;border-radius:10px!important}.stats div{background:linear-gradient(#ffffff8f,#ffffff2e);border-radius:12px!important}.secondary,.contact-actions>a:not(.primary){border-radius:12px!important}.leadership article,.project-grid article,.skill-grid article,.highlights p{transition:transform .22s,box-shadow .22s;background:#fffdf98c!important;border-radius:14px!important}.project-grid span{border-radius:9px!important}@media (width>=901px){.layout{margin-top:26px!important}.profile-card{width:290px;max-height:calc(100vh - 116px);position:fixed!important;top:92px!important;left:max(24px,50vw - 595px)!important;overflow:auto!important}.content{grid-column:2}}nav a{padding:7px 10px;transition:color .18s;position:relative}nav a.active-nav{font-weight:700;color:var(--accent)!important}nav a.active-nav:before{content:"";pointer-events:none;background:linear-gradient(var(--accent), var(--accent)) left top/9px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) left top/2px 9px no-repeat, linear-gradient(var(--accent), var(--accent)) right top/9px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) right top/2px 9px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom/9px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom/2px 9px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom/9px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom/2px 9px no-repeat;position:absolute;inset:0}body .topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf9f0;border:1px solid #ffffffeb;border-radius:14px;width:min(1320px,100% - 40px);height:56px;margin:18px auto 0;padding:0 14px;position:sticky;top:18px;box-shadow:0 10px 26px #362a2024,inset 0 1px #fff}.topbar .wordmark{align-items:center;gap:8px;padding:0 10px;font-size:16px;display:flex}.topbar .wordmark span{display:none}.topbar nav{box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:2px;height:100%;padding:0;position:absolute;left:50%;transform:translate(-50%)}.topbar nav a{color:var(--ink);padding:9px 13px;font-size:12px;font-weight:600}.topbar nav a:after{content:"⌄";color:var(--muted);margin-left:6px;font-size:10px}.topbar nav a.active-nav{background:var(--soft);border-radius:7px;color:var(--accent)!important}.topbar nav a.active-nav:before{display:none}.topbar .hire{background:var(--ink);box-shadow:none;border-radius:7px;margin-left:auto;padding:9px 14px}.topbar .hire:before{content:"Request a call";font-weight:500}.topbar .hire .icon,.topbar .hire{font-size:0}.topbar .hire:after{content:"→";color:var(--paper);margin-left:2px;font-size:17px}@media (width>=901px){body .layout{margin-top:26px!important}body .profile-card{top:100px!important}}@media (width<=900px){body .topbar{width:calc(100% - 24px);margin-top:10px;top:10px}.topbar nav{display:none}.topbar .hire:before{content:"Contact"}.topbar .hire{font-size:0}.topbar .wordmark{padding-top:10px;padding-left:4px}}body .topbar nav a.active-nav{color:var(--accent)!important;background:0 0!important;border-radius:0!important}body .topbar nav a.active-nav:before{content:"";pointer-events:none;background:linear-gradient(var(--accent), var(--accent)) left top/8px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) left top/2px 8px no-repeat, linear-gradient(var(--accent), var(--accent)) right top/8px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) right top/2px 8px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom/8px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom/2px 8px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom/8px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom/2px 8px no-repeat;position:absolute;inset:1px;display:block!important}body .topbar .hire{font-size:12px!important}body .topbar .hire:before,body .topbar .hire:after{display:none!important}body .topbar .hire .icon{font-size:13px!important}.topbar nav a{align-items:center;gap:7px;display:inline-flex}.topbar nav a:after{display:none}.nav-icon{width:14px;height:14px;font:600 14px/1 var(--mono);color:var(--accent);place-items:center;transition:transform .18s;display:inline-grid}.topbar nav a:hover .nav-icon,.topbar nav a.active-nav .nav-icon{color:var(--accent);transform:translateY(-1px)}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round;width:16px;height:16px}@media (width<=900px){body .topbar{align-items:flex-start;gap:10px;height:auto;min-height:66px;padding-top:10px;padding-bottom:10px}body .topbar nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#fffffffa,#fff9f4f5);border:1px solid #ffffffeb;border-radius:16px;flex-direction:column;order:3;align-items:stretch;gap:8px;width:100%;height:auto;margin-top:2px;padding:12px;display:none;position:static;left:auto;transform:none;box-shadow:0 18px 38px #3d2b2124}body .topbar nav.open{display:flex}body .topbar nav a{background:#ffffffb3;border-radius:12px;justify-content:flex-start;width:100%;padding:12px 14px}body .topbar nav a.active-nav{background:var(--soft)!important}body .topbar nav a .nav-icon{width:16px;height:16px}}.side-stamp{font:500 10px var(--mono);letter-spacing:.12em;color:#fffaf4e6}.profile-card .role{margin:20px 0 9px;font-size:15px}.now-card{background:linear-gradient(135deg,#f4e7dacc,#fff6);border:1px solid #a84d362e;border-radius:14px;margin:21px 0 16px;padding:15px}.mini-label{color:var(--accent);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px}.now-card strong{font-size:13px;line-height:1.5;display:block}.now-card span{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.5;display:block}.toolset{padding:2px 0 16px}.toolset span{border:1px solid var(--line);color:var(--muted);font:10px var(--mono);background:#ffffff5c;border-radius:8px;margin:0 4px 5px 0;padding:6px 8px;display:inline-block}.profile-card .resume{border-radius:12px;justify-content:center;align-items:center;margin-top:4px;display:flex}.side-contact{justify-content:space-between;padding:15px 5px 0;display:flex}.side-contact a{color:var(--muted);font-size:11px;text-decoration:none}.side-contact a:hover{color:var(--accent)}
