@layer theme{:host,:root{--font-sans:"Plus Jakarta Sans",system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}::file-selector-button{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.table{display:table}.resize{resize:both}}:root{--font:"Plus Jakarta Sans",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--bg:oklch(99% .003 264);--bg-soft:oklch(97.2% .004 264);--surface:oklch(100% 0 0);--ink:oklch(24% .02 264);--ink-soft:oklch(44% .015 264);--muted:oklch(57% .012 264);--border:oklch(92% .006 264);--border-strong:oklch(86% .008 264);--accent:oklch(55% .19 272);--accent-ink:oklch(50% .19 272);--accent-soft:oklch(95% .035 272);--shadow-sm:0 1px 2px oklch(30% .03 264/.05),0 2px 6px oklch(30% .03 264/.05);--shadow-md:0 6px 22px oklch(30% .03 264/.09),0 2px 6px oklch(30% .03 264/.05);--js:#e0be3b;--py:#4584b6;--cpp:#e36085;--web:#e8674b;--sys:#7a9c63;--ios:oklch(55% .19 272);--max:1080px;--r:8px}[data-theme=dark]{--bg:oklch(17% .012 264);--bg-soft:oklch(20% .013 264);--surface:oklch(22.5% .014 264);--ink:oklch(95% .005 264);--ink-soft:oklch(77% .01 264);--muted:oklch(62% .012 264);--border:oklch(30% .012 264);--border-strong:oklch(38% .014 264);--accent:oklch(72% .16 272);--accent-ink:oklch(78% .15 272);--accent-soft:oklch(30% .07 272);--shadow-sm:0 1px 2px oklch(0% 0 0/.3),0 2px 6px oklch(0% 0 0/.22);--shadow-md:0 8px 28px oklch(0% 0 0/.4),0 2px 6px oklch(0% 0 0/.25)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:92px}body,html{background:var(--bg)}body{color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.65;margin:0;overflow-x:hidden;transition:background-color .4s,color .4s}h1,h2,h3,h4{font-weight:700;letter-spacing:0;line-height:1.12;margin:0}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:3px}.site-shell{color:var(--ink);min-height:100vh}.skip-link{background:var(--surface);border-radius:8px;color:var(--ink);font-size:.9rem;font-weight:700;left:16px;padding:10px 14px;position:fixed;top:16px;transform:translateY(-150%);transition:transform .2s;z-index:200}.skip-link:focus{transform:translateY(0)}.wrap{margin:0 auto;max-width:var(--max);padding:0 26px;width:100%}.section{padding:clamp(72px,11vh,128px) 0}.kicker{align-items:center;color:var(--accent-ink);display:inline-flex;font-family:var(--mono);font-size:.76rem;font-weight:500;gap:9px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.kicker:before{background:currentColor;content:"";height:1px;opacity:.6;width:18px}.sec-head{margin-bottom:46px;max-width:560px}.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-top:14px}.sec-head p{color:var(--ink-soft);font-size:1.02rem;margin-top:12px}header{border-bottom:1px solid #0000;inset:0 0 auto;position:fixed;transition:background-color .3s,border-color .3s,backdrop-filter .3s;z-index:100}header.scrolled{background:var(--bg);border-bottom-color:var(--border)}@supports (color:color-mix(in lab,red,red)){header.scrolled{background:color-mix(in oklch,var(--bg) 82%,transparent)}}header.scrolled{-webkit-backdrop-filter:saturate(1.5)blur(14px)}.nav{height:70px;justify-content:space-between}.brand,.nav{align-items:center;display:flex}.brand{font-size:1rem;font-weight:700;gap:11px;letter-spacing:0;white-space:nowrap}.brand .mark{background:var(--ink);border-radius:8px;color:var(--bg);display:grid;font-family:var(--mono);font-size:.82rem;font-weight:500;height:34px;place-items:center;transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s;width:34px}.brand:hover .mark{background:var(--accent);color:#fff;transform:rotate(-6deg)}.nav-links{align-items:center;display:flex;gap:2px}.nav-links a{border-radius:8px;color:var(--ink-soft);font-size:.9rem;padding:8px 13px;position:relative;transition:color .2s,background .2s}.nav-links a:hover{background:var(--bg-soft);color:var(--ink)}.nav-links a.active{color:var(--ink)}.nav-links a.active:after{background:var(--accent);border-radius:2px;bottom:3px;content:"";height:2px;left:13px;position:absolute;width:14px}.nav-right{align-items:center;display:flex;gap:9px}.icon-btn{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);cursor:pointer;display:grid;height:38px;place-items:center;transition:all .2s;width:38px}.icon-btn:hover{border-color:var(--border-strong);color:var(--ink)}.icon-btn svg{height:17px;width:17px}.menu-btn{display:none}.btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.92rem;font-weight:600;gap:8px;padding:11px 19px;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background .2s,border-color .2s,color .2s;white-space:nowrap}.btn svg{height:16px;width:16px}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.btn-ghost{background:0 0;border-color:var(--border-strong);color:var(--ink)}.btn-ghost:hover{background:var(--surface);border-color:var(--ink);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-sm{font-size:.85rem;padding:8px 14px}.hero{padding:124px 0 clamp(60px,10vh,110px);text-align:center}.avatar{border:2px solid var(--surface);border-radius:50%;box-shadow:var(--shadow-md);height:104px;margin:0 auto 22px;-o-object-fit:cover;object-fit:cover;width:104px}.avatar,.hero .avail{background:var(--surface)}.hero .avail{align-items:center;border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-sm);color:var(--ink-soft);display:inline-flex;font-family:var(--mono);font-size:.78rem;gap:9px;margin-bottom:26px;padding:7px 15px;white-space:nowrap}.hero .avail .dot{background:#43b966;border-radius:50%;box-shadow:0 0 0 3px #43b96633;height:8px;width:8px}.hero h1{font-size:clamp(2.9rem,8vw,5.4rem);font-weight:800;letter-spacing:0}.hero h1 .dot{color:var(--accent)}.role-line{align-items:center;color:var(--ink-soft);display:flex;flex-wrap:nowrap;font-family:var(--mono);font-size:clamp(.85rem,2.1vw,1.3rem);font-weight:500;gap:10px;justify-content:center;margin:18px 0 22px;min-height:1.5em;white-space:nowrap}.role-line .lbl{color:var(--muted)}.role-line .rotator{color:var(--ink)}.role-line .cursor{animation:blink 1.05s step-end infinite;background:var(--accent);display:inline-block;height:1em;transform:translateY(2px);width:2px}@keyframes blink{50%{opacity:0}}.hero .lede{color:var(--ink-soft);font-size:1.13rem;margin:0 auto 34px;max-width:590px}.hero-cta{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.hero-cta .socials{display:flex;gap:6px}.hero-cta .socials a{border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);display:grid;height:40px;place-items:center;transition:all .2s;width:40px}.hero-cta .socials a:hover{background:var(--surface);border-color:var(--border-strong);color:var(--ink);transform:translateY(-2px)}.hero-cta .socials svg{height:18px;width:18px}.tech-strip{border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin-top:56px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);overflow:hidden;padding:18px 0}.tech-track{animation:marquee 34s linear infinite;display:flex;gap:40px;width:-moz-max-content;width:max-content}.tech-track span{color:var(--muted);font-family:var(--mono);font-size:.92rem;letter-spacing:.02em;white-space:nowrap}@keyframes marquee{to{transform:translate(-50%)}}.about-grid{align-items:start;display:grid;gap:clamp(40px,6vw,80px);grid-template-columns:1fr .85fr}.about-body .kicker{margin-bottom:16px}.about-body p{color:var(--ink);font-size:1.12rem;margin-bottom:18px}.about-body p.sub{color:var(--ink-soft);font-size:1rem}.about-body .gator-note{align-items:center;color:var(--ink-soft);display:inline-flex;font-family:var(--mono);font-size:.82rem;gap:10px;margin-top:6px}.skills h3{color:var(--muted);font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.06em;margin:0 0 11px;text-transform:uppercase}.skill-group{margin-bottom:22px}.skill-group:last-child{margin-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--ink-soft);cursor:default;font-family:var(--mono);font-size:.82rem;padding:6px 12px;transition:all .2s;white-space:nowrap}.chip:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}#contact,#experience{background:var(--bg-soft)}.timeline{max-width:760px;position:relative}.timeline:before{background:var(--border-strong);bottom:8px;content:"";left:10px;position:absolute;top:6px;width:2px}.tl{padding:0 0 38px 46px;position:relative}.tl:last-child{padding-bottom:0}.tl .node{background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;display:grid;height:20px;left:1px;place-items:center;position:absolute;top:4px;width:20px}.tl .node:after{background:var(--muted);border-radius:50%;content:"";height:7px;width:7px}.tl.hl .node{border-color:var(--accent)}.tl.hl .node:after{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tl .when{align-items:center;display:inline-flex;font-family:var(--mono);font-size:.76rem;gap:9px;margin-bottom:6px}.tl .when,.tl .when .tag{color:var(--accent-ink);white-space:nowrap}.tl .when .tag{background:var(--accent-soft);border-radius:999px;font-size:.62rem;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.tl h3{font-size:1.18rem;margin-bottom:5px}.tl h3 .org{color:var(--accent-ink)}.tl p{color:var(--ink-soft);font-size:.97rem;max-width:580px}.tl .stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tl .stack span{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--ink-soft);font-family:var(--mono);font-size:.7rem;padding:3px 8px}.proj-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);display:flex;flex-direction:column;min-height:230px;overflow:hidden;padding:24px;position:relative;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}.card:before{background:var(--lang,var(--accent));content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-5px)}.card:hover:before{transform:scaleX(1)}.card-top{display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.card-top,.lang{align-items:center}.lang{color:var(--muted);display:inline-flex;font-family:var(--mono);font-size:.72rem;gap:8px;white-space:nowrap}.lang .d{background:var(--lang,var(--accent));border-radius:50%;flex:none;height:9px;width:9px}.card .ext{color:var(--muted);transition:color .2s,transform .2s}.card:hover .ext{color:var(--ink)}.card .ext svg{height:18px;width:18px}.card h3{font-size:1.22rem;letter-spacing:0;margin-bottom:8px}.card .desc{color:var(--ink-soft);flex:1;font-size:.92rem;line-height:1.55}.card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.card .tags span{background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;color:var(--ink-soft);font-family:var(--mono);font-size:.7rem;padding:4px 8px;white-space:nowrap}.card .stretch{inset:0;position:absolute;z-index:1}.card-more{border-color:var(--border-strong);border-style:dashed;justify-content:space-between}.card-more:before{display:none}.card-more:hover{background:var(--surface);border-color:var(--accent);border-style:solid}.card-more .big{font-size:2.3rem;font-weight:800;letter-spacing:0;line-height:1}.card-more .big .a,.made .a,.social-link .a{color:var(--accent-ink)}.card-more h3{font-size:1.1rem;margin:8px 0}.card-more .go{align-items:center;color:var(--accent-ink);display:inline-flex;font-family:var(--mono);font-size:.82rem;gap:8px;transition:gap .2s}.card-more:hover .go{gap:13px}.contact-in{margin:0 auto;max-width:600px;text-align:center}.contact-in .kicker{justify-content:center}.contact-in h2{font-size:clamp(2rem,5vw,3rem);margin:14px 0}.contact-in p{color:var(--ink-soft);font-size:1.08rem;margin-bottom:30px}.contact-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.contact-form{margin:0 auto;text-align:left;width:min(100%,680px)}.form-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form label{color:var(--ink-soft);display:grid;font-size:.88rem;font-weight:600;gap:7px}.contact-form label>span{padding-left:2px}.contact-form input,.contact-form textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--ink);font:inherit;font-size:.95rem;line-height:1.5;padding:12px 13px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.contact-form textarea{margin-top:12px;min-height:150px;resize:vertical}.contact-form input::-moz-placeholder,.contact-form textarea::-moz-placeholder{color:var(--muted)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.hp-field{left:-10000px}.hp-field,.turnstile-box{height:1px;overflow:hidden;position:absolute;width:1px}.turnstile-box{left:0;opacity:0;pointer-events:none;top:0}.form-footer{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:14px}.contact-form button:disabled{cursor:progress;opacity:.72;transform:none}.direct-email{color:var(--ink-soft);font-family:var(--mono);font-size:.82rem;transition:color .2s}.direct-email:hover{color:var(--accent-ink)}.form-note{background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.92rem!important;margin-bottom:0!important;margin-top:14px!important;padding:10px 12px;text-align:center}.form-note.success{border-color:#43b966}@supports (color:color-mix(in lab,red,red)){.form-note.success{border-color:color-mix(in oklch,oklch(70% .16 150) 48%,var(--border))}}.form-note.success{color:#067132}.form-note.error{border-color:#de4f44}@supports (color:color-mix(in lab,red,red)){.form-note.error{border-color:color-mix(in oklch,oklch(62% .18 28) 48%,var(--border))}}.form-note.error{color:#c13d34}.social-row{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:34px}.social-link{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);display:inline-flex;font-family:var(--mono);font-size:.84rem;gap:9px;padding:10px 16px;transition:all .2s}.social-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--ink);transform:translateY(-2px)}footer{border-top:1px solid var(--border);padding:36px 0}.footer-in{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.footer-in .made{color:var(--muted)}.footer-in .made,.to-top{font-family:var(--mono);font-size:.8rem}.to-top{align-items:center;color:var(--ink-soft);cursor:pointer;display:inline-flex;gap:8px;transition:color .2s;white-space:nowrap}.to-top:hover{color:var(--ink)}.to-top svg{height:14px;transition:transform .2s;width:14px}.to-top:hover svg{transform:translateY(-3px)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:60ms}.reveal[data-d="2"]{transition-delay:.12s}.reveal[data-d="3"]{transition-delay:.18s}.reveal[data-d="4"]{transition-delay:.24s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important}.role-line .cursor,.tech-track{animation:none!important}.tech-track{flex-wrap:wrap;justify-content:center;width:auto}.tech-strip{-webkit-mask-image:none;mask-image:none}}@media(max-width:880px){.about-grid{gap:40px;grid-template-columns:1fr}.proj-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.nav-links{align-items:stretch;-webkit-backdrop-filter:blur(14px);background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);flex-direction:column;gap:2px;left:0;opacity:0;padding:12px 18px 20px;pointer-events:none;position:fixed;right:0;top:70px;transform:translateY(-10px);transition:transform .25s,opacity .25s}.nav-links.open{opacity:1;pointer-events:auto;transform:none}.nav-links a{font-size:1rem;padding:12px 14px}.nav-links a.active:after{bottom:7px}.menu-btn{display:grid}.menu-btn .bars{height:12px;position:relative;width:17px}.menu-btn .bars span{background:currentColor;border-radius:2px;height:2px;left:0;position:absolute;transition:transform .25s,opacity .2s;width:100%}.menu-btn .bars span:first-child{top:0}.menu-btn .bars span:nth-child(2){top:5px}.menu-btn .bars span:nth-child(3){top:10px}.menu-btn.open .bars span:first-child{transform:translateY(5px)rotate(45deg)}.menu-btn.open .bars span:nth-child(2){opacity:0}.menu-btn.open .bars span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}}@media(max-width:560px){.wrap{padding:0 20px}.proj-grid{grid-template-columns:1fr}.hero{padding-top:112px}.avatar{height:88px;width:88px}.resume-nav{display:none}.hero-cta .btn{flex:auto;justify-content:center}.role-line{flex-wrap:wrap;white-space:normal}.form-row{grid-template-columns:1fr}.form-footer{align-items:stretch;flex-direction:column}.form-footer .btn{justify-content:center;width:100%}.direct-email{text-align:center}}
