*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}:root,html[data-theme=dark]{--bg:#12110F;--bg2:#1A1816;--panel:rgba(237,232,228,.05);--line:rgba(237,232,228,.12);--txt:#F3EEE8;--dim:#C4B8AA;--c1:#C9A36A;--c2:#E0C49A;--grad:linear-gradient(120deg,#B8955A,#D4B07A);--ink:#14110E;--glow:transparent;--nav-bg:rgba(18,17,15,.92);--card:#1E1C1A;--input:#161412;--track:rgba(237,232,228,.1);--menu-bg:rgba(18,17,15,.98);--alt:#171513;--shadow:0 16px 36px rgba(0,0,0,.42);--page-bg:#12110F;--thumb-line:rgba(237,232,228,.08);--link-bg:rgba(237,232,228,.04);--link-line:rgba(237,232,228,.14);--blob-op:.06;--btn-fg:#1A120C}html[data-theme=light]{--bg:#F7F2F5;--bg2:#FFFBFD;--panel:#FFFFFF;--line:rgba(72,36,64,.12);--txt:#1C1218;--dim:#4A3548;--c1:#A63D6B;--c2:#6B4FA0;--grad:linear-gradient(120deg,#C45C84,#7B5CB5);--ink:#FFFFFF;--glow:rgba(166,61,107,.16);--nav-bg:rgba(247,242,245,.9);--card:#FFFFFF;--input:#FFFFFF;--track:rgba(72,36,64,.1);--menu-bg:rgba(247,242,245,.98);--alt:#F0E8EE;--shadow:0 14px 32px rgba(72,36,64,.08);--page-bg:#F7F2F5;--thumb-line:rgba(72,36,64,.1);--link-bg:#FBF6F8;--link-line:rgba(72,36,64,.14);--blob-op:.08;--btn-fg:#FFFFFF}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--page-bg)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.site{--font:"Inter",system-ui,-apple-system,sans-serif;--display:"Inter",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;position:relative;background:var(--bg);color:var(--txt);font-family:var(--font);font-size:16px;line-height:1.7;letter-spacing:.015em;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .35s ease,color .35s ease}.site *{box-sizing:border-box}.site h1,.site h2,.site h3{margin:0;line-height:1.15;letter-spacing:-.02em;font-weight:700;font-family:var(--display)}.site h2{margin-bottom:26px}.site p{margin:0}.site ul{margin:0;padding:0;list-style:none}.site a{color:inherit;text-decoration:none}.site a.btn,.site a.nav-cta,.site a.proj-live{color:var(--btn-fg)}.site a.btn.out{color:var(--txt)}.site a.btn.out:hover{color:var(--c1)}.site input,.site textarea,.site button{font-family:inherit;font-size:inherit}.site a:focus-visible,.site button:focus-visible,.site input:focus-visible,.site textarea:focus-visible{outline:2px solid var(--c1);outline-offset:3px}.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 24px;position:relative;z-index:2}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(110px);opacity:var(--blob-op)}.b1{width:520px;height:520px;background:var(--c1);top:-160px;left:-120px;animation:float1 22s ease-in-out infinite}.b2{width:460px;height:460px;background:var(--c2);top:38%;right:-140px;animation:float2 26s ease-in-out infinite}.b3{width:420px;height:420px;background:var(--c1);bottom:-160px;left:32%;opacity:calc(var(--blob-op) * .7);animation:float1 30s ease-in-out infinite reverse}@keyframes float1{50%{transform:translate(60px,50px) scale(1.12)}}@keyframes float2{50%{transform:translate(-70px,-40px) scale(1.08)}}.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}.nav.solid{background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--line)}.nav-in{max-width:1140px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;gap:16px}.logo{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.02em;margin-right:auto}.logo span{color:var(--c1)}.links{display:flex;gap:16px}.theme-dock{position:fixed;left:22px;bottom:22px;z-index:70;display:flex;align-items:center;gap:12px}.theme-fab{width:54px;height:54px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:2px solid rgba(20,17,14,.18);background:#f6f1ea;color:#14110e;cursor:pointer;box-shadow:0 10px 28px #00000061;transition:transform .2s ease,box-shadow .2s ease}.theme-fab:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 32px #00000073}.theme-fab:active{transform:translateY(-1px) scale(.98)}html[data-theme=light] .theme-fab{background:#1c1218;color:#f7f2f5;border-color:#fff3;box-shadow:0 10px 28px #48244038}.theme-toast{margin:0;max-width:240px;padding:10px 14px;border-radius:14px;font-size:12.5px;line-height:1.45;font-weight:600;letter-spacing:.01em;background:#f6f1ea;color:#14110e;box-shadow:0 10px 24px #00000052;opacity:0;transform:translate(-10px);pointer-events:none;transition:opacity .35s ease,transform .35s ease}.theme-toast.on{opacity:1;transform:none}html[data-theme=light] .theme-toast{background:#1c1218;color:#f7f2f5;box-shadow:0 10px 24px #48244033}.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--grad);color:var(--btn-fg);white-space:nowrap;transition:transform .2s,filter .2s}.nav-cta:hover{transform:translateY(-1px);filter:brightness(1.05)}.links a{font-size:13px;font-weight:500;letter-spacing:.08em;color:var(--txt);position:relative;padding:4px 0;transition:color .2s;opacity:.72}.links a:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--grad);transition:width .28s ease}.links a:hover,.links a.on{color:var(--txt);opacity:1}.links a.on:after{width:100%}.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.burger span{display:block;width:22px;height:2px;background:var(--txt);border-radius:2px}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 80px}.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.hi{font-size:13px;font-weight:600;color:var(--c1);margin-bottom:14px;letter-spacing:.18em;text-transform:uppercase;animation:up .7s .1s both}.big{font-size:clamp(44px,7vw,78px);font-weight:800;letter-spacing:-.03em;animation:up .7s .2s both}.typed{font-size:clamp(17px,2.4vw,26px);font-weight:500;margin-top:16px;color:var(--dim);letter-spacing:.03em;line-height:1.45;max-width:100%;animation:up .7s .3s both;font-family:var(--font)}.typed span{color:var(--c1)}.caret{display:inline-block;width:2px;height:1em;background:var(--c1);margin-left:3px;vertical-align:-2px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.lede{margin-top:28px;max-width:36em;color:var(--txt);font-size:17px;line-height:1.8;letter-spacing:.03em;animation:up .7s .4s both}.pitch{margin-top:14px;max-width:36em;color:var(--txt);font-size:17px;line-height:1.75;letter-spacing:.03em;animation:up .7s .45s both}.avail-wrap{margin-top:20px;margin-bottom:8px}.avail{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;width:fit-content;max-width:100%;text-align:center;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c1);background:color-mix(in srgb,var(--c1) 10%,transparent);border:1px solid color-mix(in srgb,var(--c1) 28%,transparent);padding:9px 16px;border-radius:999px;line-height:1.45;animation:up .7s .5s both}.socials{display:flex;gap:12px;margin-top:32px;animation:up .7s .55s both}.socials a{width:42px;height:42px;display:grid;place-items:center;border:1.5px solid var(--line);border-radius:50%;color:var(--c1);transition:all .25s}.socials a:hover{background:var(--c1);color:var(--ink);border-color:var(--c1);transform:translateY(-3px)}.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;animation:up .7s .6s both}@keyframes up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--grad);color:var(--btn-fg);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:13px 26px;border-radius:999px;border:none;cursor:pointer;transition:transform .2s,filter .2s}.btn svg{color:currentColor;stroke:currentColor}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn.out{background:transparent;color:var(--txt);border:1.5px solid var(--line);filter:none}.btn.out:hover{border-color:var(--c1);color:var(--c1);filter:none}.btn.full{width:100%}.hero-photo{position:relative;display:grid;place-items:center}.ring{width:min(320px,76vw);aspect-ratio:1;border-radius:50%;padding:3px;background:conic-gradient(from 0deg,var(--c1),var(--c2),var(--c1))}.ring-in{width:100%;height:100%;border-radius:50%;background:var(--bg2);overflow:hidden;display:grid;place-items:center}.ring-in img{width:100%;height:100%;object-fit:cover}.initials{font-size:76px;font-weight:800;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.initials.sm{font-size:58px}.orbit{position:absolute;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--bg2);border:1px solid var(--line);color:var(--c1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.o1{top:6%;left:2%}.o2{bottom:12%;left:-2%}.o3{top:22%;right:0}.stats-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--alt)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:34px;padding-bottom:34px}.stat{text-align:center}.stat strong{display:block;font-size:clamp(26px,3.2vw,36px);font-weight:800;letter-spacing:.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--display)}.stat span{display:block;margin-top:8px;font-size:12px;color:var(--txt);font-family:var(--mono);letter-spacing:.08em;line-height:1.5;opacity:.88}.sec{padding:120px 0;position:relative;z-index:2}.sec.alt{background:var(--alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sec-t{font-size:clamp(30px,4.6vw,46px);font-weight:700;text-align:center;margin-bottom:18px;display:block;letter-spacing:-.025em}.site .sec-l{text-align:center;color:var(--txt);opacity:.86;display:block;max-width:34em;margin:0 auto 56px;font-size:16.5px;line-height:1.75;letter-spacing:.03em}.sec-t+.about,.sec-t+.skills-grid{margin-top:0}.sec-t+.sec-l{margin-top:0}.about{max-width:780px;margin:0 auto;text-align:center}.about-copy h3{font-size:26px;margin-bottom:18px}.about-copy p{color:var(--txt);margin-bottom:22px;font-size:17px;line-height:1.85;letter-spacing:.03em}.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 0}.facts li{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.04em;color:var(--txt);background:var(--panel);border:1px solid var(--line);padding:8px 14px;border-radius:999px}.facts svg{color:var(--c1)}.about-cta{margin-top:48px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:32px 28px;transition:transform .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--grad);opacity:0;transition:opacity .3s}.card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--c1) 45%,transparent);box-shadow:var(--shadow)}.card:hover:before{opacity:.05}.card-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--grad);color:var(--btn-fg);margin-bottom:20px}.card h3{font-size:20px;margin-bottom:12px;letter-spacing:.03em}.card p{color:var(--txt);font-size:15px;line-height:1.75;letter-spacing:.025em;position:relative}[data-pop]{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1)}[data-pop].in{opacity:1;transform:none}.stack-kicker{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--txt)}.stack-kicker svg{color:var(--c1)}.stack-title{margin-bottom:10px}.stack{display:flex;flex-direction:column;gap:56px;margin-top:8px}.stack-row{display:grid;grid-template-columns:200px 1fr;column-gap:40px;align-items:start}.stack-cat{font-family:var(--display);font-size:clamp(26px,3.4vw,38px);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;line-height:1;padding-top:10px;margin:0}.stack-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px;margin:0;width:100%}.stack-item{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;letter-spacing:.02em;min-width:0}.stack-ico{width:48px;height:48px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ico) 16%,var(--card));transition:transform .25s ease}.stack-item.in .stack-ico{animation:icoShine 2.6s ease-in-out infinite}.stack-item:hover .stack-ico{transform:translateY(-3px)}.stack-ico img{width:26px;height:26px;display:block}html[data-theme=dark] .stack-item:has(img[src*=github]) .stack-ico img{filter:invert(1)}@keyframes icoShine{0%,to{box-shadow:0 0 color-mix(in srgb,var(--ico) 0%,transparent)}50%{box-shadow:0 0 14px 3px color-mix(in srgb,var(--ico) 32%,transparent)}}.subhead{font-family:var(--display);font-size:clamp(26px,3.6vw,36px);margin:56px 0 28px;letter-spacing:-.025em}.subhead:after{content:"";display:block;width:48px;height:3px;margin-top:10px;border-radius:99px;background:var(--grad)}.jobs{display:flex;flex-direction:column;gap:24px;max-width:780px;margin:0 auto;text-align:left}.job{padding:28px 32px;background:var(--card);border:1px solid var(--line);border-radius:18px;border-left:3px solid var(--tone)}.job-when{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tone);margin-bottom:8px}.job h3{font-size:22px;margin:0 0 6px;letter-spacing:-.02em}.job-where{color:var(--tone);font-weight:600;margin-bottom:14px;font-size:14px;line-height:1.5}.job-body{font-size:15.5px;line-height:1.7;margin-bottom:16px}.job-points{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.job-points li{position:relative;padding-left:16px;font-size:14.5px;line-height:1.6}.job-points li:before{content:"•";position:absolute;left:0;color:var(--tone)}.job-tags{font-size:13px;opacity:.7;letter-spacing:.04em}.tone-pink{--tone:#C9A36A}.tone-violet{--tone:#A89BB8}.tone-gold{--tone:#C9A36A}.tone-blue{--tone:#8FA6C4}.tone-teal{--tone:#7FA89A}html[data-theme=light] .tone-pink{--tone:#C45C84}html[data-theme=light] .tone-violet{--tone:#6B4FA0}html[data-theme=light] .tone-gold{--tone:#B8860B}html[data-theme=light] .tone-blue{--tone:#2563EB}html[data-theme=light] .tone-teal{--tone:#0F766E}.edu-sec{padding-top:88px;padding-bottom:88px}.edu-sec .sec-t{margin-bottom:32px}.edu-box{max-width:880px;margin:0 auto}.edu-degree{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin:0 0 20px;padding:22px 24px;border-radius:16px;background:var(--card);border:1px solid var(--line)}.edu-degree>svg{color:var(--c1)}.edu-when{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c1);margin-bottom:6px}.edu-degree h3{font-size:20px;margin:0 0 4px;letter-spacing:-.02em}.edu-school{font-size:14px;color:var(--dim);line-height:1.45}.edu-gpa{text-align:right;line-height:1.15}.edu-gpa strong{display:block;font-size:28px;font-family:var(--display);letter-spacing:-.03em}.edu-gpa span{display:block;margin-top:4px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.edu-honors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;list-style:none}.edu-honor{display:flex;flex-direction:column;gap:6px;padding:16px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line)}.edu-honor svg{color:var(--tone)}.edu-honor strong{font-size:14px;line-height:1.35;letter-spacing:.01em}.edu-honor span{font-size:12px;color:var(--dim);line-height:1.4}.projs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}.proj{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;flex-direction:column;height:100%;box-shadow:none}.proj:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--c2) 50%,transparent);box-shadow:var(--shadow)}.proj-thumb{position:relative;height:210px;flex-shrink:0;overflow:hidden;background:var(--bg2);border-bottom:1px solid var(--thumb-line)}.proj-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.proj-kind{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--card);border:1px solid var(--line);color:var(--txt);padding:5px 10px;border-radius:99px;z-index:2}.proj-body{position:relative;z-index:1;padding:26px 26px 22px;display:grid;grid-template-rows:auto 1fr auto auto;row-gap:16px;flex:1;min-height:0}.proj-body h3{font-size:21px;line-height:1.3;margin:0;letter-spacing:.02em}.proj-points{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:0;list-style:none}.proj-points li{font-size:14.6px;color:var(--txt);line-height:1.65;letter-spacing:.02em;padding-left:18px;position:relative}.proj-points li:before{content:"•";position:absolute;left:0;color:var(--c1);font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;min-height:30px}.tags li{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--c1);background:color-mix(in srgb,var(--c1) 10%,transparent);border:1px solid color-mix(in srgb,var(--c1) 24%,transparent);padding:5px 10px;border-radius:99px}.proj-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding-top:16px;border-top:1px solid var(--line)}.proj-links a,.proj-link-slot{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;min-height:40px}.proj-links a{background:var(--link-bg);border:1px solid var(--link-line);color:var(--txt);transition:border-color .2s,color .2s,transform .2s,box-shadow .2s}.proj-links a:hover{color:var(--c1);border-color:var(--c1);transform:translateY(-2px)}.proj-links a.proj-live{background:var(--grad);border-color:transparent;color:var(--btn-fg)}.proj-links a.proj-live:hover{color:var(--btn-fg);filter:brightness(1.05)}.proj-link-slot{visibility:hidden;pointer-events:none}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}.c-info h3{font-size:24px;margin-bottom:12px}.c-info>p{color:var(--txt);margin-bottom:28px;font-size:16px;line-height:1.65}.c-info ul li{display:flex;gap:14px;align-items:center;margin-bottom:20px}.ci{width:44px;height:44px;flex-shrink:0;border-radius:13px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);color:var(--c1)}.c-info em{display:block;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.c-info div a,.c-info div span{font-size:15px;color:var(--txt)}.c-info div a:hover{color:var(--c1)}.c-socials{display:flex;gap:11px;margin-top:26px}.c-socials a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);color:var(--c1);transition:all .25s}.c-socials a:hover{background:var(--c1);color:var(--ink);transform:translateY(-3px)}.c-form{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:14px}.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.c-form input,.c-form textarea{width:100%;background:var(--input);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--txt);resize:vertical;transition:border-color .2s,box-shadow .2s}.c-form input::placeholder,.c-form textarea::placeholder{color:var(--dim)}.c-form input:focus,.c-form textarea:focus{border-color:var(--c1);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 18%,transparent);outline:none}.f-note{font-size:12.5px;color:var(--txt);opacity:.75;text-align:center}.foot{border-top:1px solid var(--line);background:var(--nav-bg);position:relative;z-index:2}.foot-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;padding-bottom:24px;font-size:13px;letter-spacing:.06em;color:var(--dim)}.top{width:42px;height:42px;border-radius:12px;border:none;cursor:pointer;background:var(--grad);color:var(--btn-fg);display:grid;place-items:center;transition:transform .2s}.top:hover{transform:translateY(-4px)}[data-rv]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.3,1)}[data-rv].in{opacity:1;transform:none}@media (max-width:1180px){.links{gap:12px}.links a{font-size:12px;letter-spacing:.06em}}@media (max-width:960px){.hero-in{grid-template-columns:1fr;gap:40px;text-align:center}.hero-copy{min-width:0;overflow-wrap:break-word}.typed{font-size:clamp(16px,4.6vw,22px);padding:0 8px}.lede,.pitch{margin-left:auto;margin-right:auto}.avail-wrap{margin:18px auto 8px;display:flex;justify-content:center}.avail{margin:0 auto;border-radius:18px}.socials,.btns{justify-content:center}.hero-photo{order:-1}.cards{grid-template-columns:1fr}.stack{gap:48px}.stack-row{grid-template-columns:1fr;gap:18px}.stack-list{grid-template-columns:repeat(3,minmax(0,1fr))}.job{padding:24px 22px}.edu-degree{grid-template-columns:auto 1fr;gap:14px}.edu-gpa{grid-column:2;text-align:left}.edu-honors{grid-template-columns:1fr 1fr}.contact,.projs{grid-template-columns:1fr}.nav-cta{display:none}.burger{display:flex}.links{position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:var(--menu-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s ease}.links.open{max-height:520px}.links a{padding:15px 24px;border-bottom:1px solid var(--line)}.links a:after{display:none}}@media (max-width:600px){.wrap,.nav-in{padding:0 18px}.hero{padding:100px 0 56px}.big{font-size:clamp(34px,11vw,56px)}.typed{font-size:16px;line-height:1.5}.lede,.pitch{font-size:15.5px;line-height:1.7}.avail-wrap{margin:16px auto 8px}.avail{font-size:11px;letter-spacing:.06em;padding:10px 14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.sec{padding:70px 0}.stack-list{grid-template-columns:repeat(2,minmax(0,1fr))}.f2{grid-template-columns:1fr}.foot-in{flex-direction:column;text-align:center}}@media (prefers-reduced-motion:reduce){.site *{animation:none!important}.fill{transition:none}}
