:root{--bg:#f7f8fc;--text:#101828;--muted:#59677b;--muted-strong:#445268;--border:#e2e7f0;--border-strong:#d5ddeb;--surface:#f2f5fa;--card-bg:#fff;--card-glass:#ffffffc7;--header-bg:#f7f8fce0;--accent:#2463eb;--accent-strong:#1d4ed8;--accent-cyan:#0891b2;--accent-faint:rgba(36,99,235,.075);--accent-glow:#2463eb24;--accent-border:#2463eb33;--accent-gradient:linear-gradient(120deg,#2463eb,#087fa7);--accent-gradient-hover:linear-gradient(120deg,#1d4ed8,#066783);--radius-large:22px;--shadow:0 24px 60px #15264614;--shadow-soft:0 14px 32px #2463eb12;--shadow-hover:0 20px 44px #122b521a,0 4px 16px #2463eb14;--transition:200ms ease;color-scheme:light}:root[data-theme=dark]{--bg:#0b111c;--text:#f1f5fb;--muted:#a2afc2;--muted-strong:#b8c4d4;--border:#202d41;--border-strong:#33445d;--surface:#111b2a;--card-bg:#0f1826;--card-glass:#0f1826d1;--header-bg:#0b111ce6;--accent:#70a2ff;--accent-strong:#8eb4ff;--accent-cyan:#55c9e6;--accent-faint:#70a2ff1c;--accent-glow:#70a2ff24;--accent-border:#70a2ff42;--accent-gradient:linear-gradient(120deg,#5b91fa,#238aa9);--accent-gradient-hover:linear-gradient(120deg,#70a2ff,#2fa2c4);--shadow:0 24px 60px #0000003d;--shadow-soft:0 14px 32px #00000029;--shadow-hover:0 22px 46px #0000004d,0 4px 16px #70a2ff1a;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 84% 0,rgba(36,99,235,.075),#0000 29rem),#f7f8fc;background:radial-gradient(circle at 84% 0,var(--accent-faint),#0000 29rem),var(--bg);color:#101828;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;min-width:320px;overflow-x:hidden}button,input,textarea{font:inherit}a{color:inherit}img,svg{display:block;max-width:100%}button{font:inherit}h1,h2,h3,h4{color:#101828;color:var(--text);font-weight:700}li,p{line-height:1.65}::selection{background:#2463eb;background:var(--accent);color:#031018}.skip-link{background:var(--accent);border-radius:999px;color:#fff;font-weight:700;left:1.25rem;padding:.7rem 1rem;position:fixed;top:-4rem;transition:top var(--transition);z-index:1000}.skip-link:focus{top:1rem}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--header-bg);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-shell{align-items:center;display:flex;gap:clamp(1rem,3vw,2rem);margin:0 auto;min-height:76px;width:min(1180px,calc(100% - 48px))}.brand{align-items:center;color:var(--text);display:inline-flex;flex-shrink:0;font-weight:720;gap:.7rem;text-decoration:none}.brand-mark{background:var(--accent);border-radius:11px;color:#fff;display:grid;font-size:.8rem;font-weight:750;height:38px;letter-spacing:.04em;place-items:center;width:38px}.nav-links{display:flex;flex:1 1;gap:.2rem;justify-content:center}.nav-links a,.theme-toggle{border:0;border-radius:999px;color:var(--muted);font-size:.9rem;font-weight:540;text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition)}.nav-links a{padding:.52rem .74rem}.nav-links a:focus-visible,.nav-links a:hover,.theme-toggle:focus-visible,.theme-toggle:hover{background:var(--surface);color:var(--text);outline:none}.theme-toggle{background:#0000;border:1px solid var(--border);cursor:pointer;flex-shrink:0;padding:.55rem .85rem;text-transform:capitalize}.section-shell{margin:0 auto;width:min(1180px,calc(100% - 48px))}.section{padding:clamp(6rem,10vw,8.75rem) 0 0;position:relative}.section+.section:before{background:linear-gradient(90deg,#0000,var(--border),#0000);content:"";height:1px;left:50%;position:absolute;top:clamp(2.75rem,4.5vw,3.7rem);transform:translateX(-50%);width:min(1180px,calc(100% - 48px))}.section-heading{margin-bottom:clamp(2.5rem,5vw,3.8rem);max-width:780px}.section-heading h2{font-size:clamp(2.15rem,3.8vw,3.15rem);letter-spacing:-.06em;line-height:1.08;margin:0 0 .9rem}.contact-panel p,.credential-meta,.hero-subtitle,.project-category,.project-narrative p,.section-heading>p:last-child,.technical-panel li{color:var(--muted)}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:750;letter-spacing:.14em;margin:0 0 .86rem;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}.hero{overflow:hidden;padding:clamp(5.2rem,10vw,8.2rem) 0 clamp(1.5rem,4vw,3rem);position:relative}.hero:before{background:radial-gradient(circle at 75% 18%,var(--accent-glow),#0000 29rem),radial-gradient(circle at 14% 18%,var(--accent-faint),#0000 29rem);content:"";height:760px;inset:0 0 auto;pointer-events:none;position:absolute;z-index:-1}.hero-grid{grid-gap:clamp(3rem,8vw,7rem);align-items:center;display:grid;gap:clamp(3rem,8vw,7rem);grid-template-columns:minmax(0,1fr) minmax(320px,412px)}.hero h1{font-size:clamp(3.75rem,8vw,6.35rem);font-weight:760;letter-spacing:-.075em;line-height:.96;margin:0 0 1.2rem}.hero-role{color:var(--text);font-size:clamp(1.55rem,3.2vw,2.45rem);font-weight:630;letter-spacing:-.045em;line-height:1.25;margin:0 0 1.2rem;max-width:760px}.hero-subtitle{font-size:1.09rem;margin-bottom:0;max-width:650px}.contact-actions,.hero-actions,.project-actions,.tag-row{align-items:center;display:flex;flex-wrap:wrap;gap:.62rem}.hero-actions{margin-top:2.45rem}.hero-email-line{align-items:center;color:var(--muted);display:flex;font-size:.94rem;margin-top:.9rem;min-height:1.5rem}.button{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-weight:650;justify-content:center;min-height:46px;padding:.7rem 1.2rem;text-decoration:none;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),color var(--transition),transform var(--transition)}.button:focus-visible,.button:hover{outline:none;transform:translateY(-2px)}.button-primary{background:var(--accent-gradient);box-shadow:0 9px 20px #2463eb29;color:#fff}.button-primary:focus-visible,.button-primary:hover{background:var(--accent-gradient-hover);box-shadow:0 14px 25px #2463eb3d}.button-secondary{background:var(--card-bg);border-color:var(--border-strong);color:var(--text)}.button-secondary:focus-visible,.button-secondary:hover{background:var(--accent-faint);border-color:var(--accent-border);box-shadow:var(--shadow-soft);color:var(--accent)}.button-success,.button-success:focus-visible,.button-success:hover{background:linear-gradient(120deg,#16866f,var(--accent-cyan));border-color:#0891b240;box-shadow:0 12px 24px #0891b22e;color:#fff}.project-actions a.button:after{content:"\2197";display:inline-block;font-size:.86rem;margin-left:.34rem;transition:transform var(--transition)}.project-actions a.button:focus-visible:after,.project-actions a.button:hover:after{transform:translate(2px,-2px)}.portrait-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(var(--card-glass),var(--card-glass)) padding-box,linear-gradient(145deg,var(--accent-border),#0000 42%,var(--accent-border)) border-box;border:1px solid var(--border);border-radius:30px;box-shadow:var(--shadow),0 0 50px var(--accent-faint);overflow:hidden;padding:.8rem;position:relative;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.profile-photo{aspect-ratio:1;border-radius:22px;object-fit:cover;object-position:center center;width:100%}.portrait-caption{grid-gap:.28rem;display:grid;gap:.28rem;padding:1.2rem .95rem .85rem}.portrait-caption strong{font-size:1.02rem}.portrait-caption span{color:var(--muted);font-size:.9rem}.experience-list{grid-gap:1.15rem;display:grid;gap:1.15rem}.experience-item{grid-gap:clamp(1.6rem,4vw,3.25rem);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--card-glass);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:0 4px 20px rgba(21,38,70,.035);display:grid;gap:clamp(1.6rem,4vw,3.25rem);grid-template-columns:190px minmax(0,1fr);padding:clamp(1.55rem,3.5vw,2.2rem);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition)}.experience-meta p{color:var(--text);font-size:.92rem;font-weight:620;margin:0 0 .36rem}.experience-meta span{color:var(--muted);font-size:.88rem}.experience-content h3{font-size:clamp(1.22rem,2vw,1.42rem);font-weight:680;letter-spacing:-.035em;margin:0 0 .38rem}.company{color:var(--text);display:flex;flex-wrap:wrap;font-weight:600;gap:.35rem .8rem;margin:0 0 1rem}.company span{color:var(--muted);font-weight:450}.tag{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted-strong);display:inline-flex;font-size:.8rem;font-weight:550;min-height:30px;padding:.34rem .72rem;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),color var(--transition),transform var(--transition)}.tag-accent{background:var(--accent-faint);border-color:var(--accent-border);color:var(--accent)}.achievement-list{color:var(--muted);margin:1.1rem 0 0;padding-left:1.18rem}.achievement-list li+li{margin-top:.58rem}.project-stack{grid-gap:clamp(1.5rem,3vw,2rem);display:grid;gap:clamp(1.5rem,3vw,2rem)}.project-case{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-glass);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:0 8px 25px #1526460a;padding:clamp(1.7rem,4vw,2.7rem);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.project-featured{background:linear-gradient(var(--card-glass),var(--card-glass)) padding-box,linear-gradient(128deg,var(--accent-border),#0000 52%,var(--accent-border)) border-box;border-color:#0000;box-shadow:var(--shadow-soft),inset 0 1px 0 #ffffff38}.project-header{display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:clamp(1.7rem,3.5vw,2.35rem)}.project-header h3{font-size:clamp(1.65rem,2.8vw,2.1rem);font-weight:690;letter-spacing:-.045em;margin:0 0 .42rem}.project-category{font-size:.96rem;margin-bottom:0}.project-grid{grid-gap:clamp(1.75rem,4.5vw,3.5rem);display:grid;gap:clamp(1.75rem,4.5vw,3.5rem);grid-template-columns:minmax(260px,.9fr) minmax(300px,1.08fr)}.project-narrative{grid-gap:1.22rem;display:grid;gap:1.22rem}.project-narrative>div+div{border-top:1px solid var(--border);padding-top:1.2rem}.project-narrative h4,.technical-panel h4{color:var(--text);font-size:.86rem;font-weight:700;letter-spacing:.08em;margin:0 0 .52rem;text-transform:uppercase}.project-narrative p{margin:0}.technical-panel{background:linear-gradient(145deg,var(--surface),var(--card-bg));border:1px solid var(--border);border-radius:17px;padding:clamp(1.2rem,3vw,1.7rem)}.technical-panel ul{color:var(--muted);margin:0;padding-left:1.1rem}.technical-panel li+li{margin-top:.55rem}.stack-title{margin-top:1.45rem!important}.skills-grid{grid-gap:1.15rem;display:grid;gap:1.15rem;grid-template-columns:repeat(3,minmax(0,1fr))}.skill-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(var(--card-glass),var(--card-glass)) padding-box,linear-gradient(145deg,var(--border),#0000 45%,var(--accent-border)) border-box;border:1px solid #0000;border-radius:var(--radius-large);box-shadow:0 8px 26px #1526460a;min-height:190px;padding:clamp(1.3rem,2.5vw,1.6rem);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.skill-card h3{font-size:1.08rem;font-weight:675;letter-spacing:-.025em;margin:0 0 1.15rem}.education-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.education-grid>*{height:100%}.credential-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--card-glass);border:1px solid var(--border);border-radius:var(--radius-large);padding:clamp(1.35rem,3vw,2rem);transition:border-color var(--transition),box-shadow var(--transition)}.education-card{display:flex;flex-direction:column;min-height:320px}.education-card-content{flex:1 1}.credential-card h3{font-size:1.08rem;font-weight:650;margin:0 0 .9rem}.degree-card h3{font-size:clamp(1.35rem,2vw,1.62rem);letter-spacing:-.04em;margin:0 0 .9rem}.degree{color:var(--text);font-weight:600;margin-bottom:.5rem}.gpa{background:var(--accent-faint);border-radius:999px;color:var(--accent);display:inline-flex;font-weight:620;margin:.35rem 0 1.25rem;padding:.35rem .7rem}.credential-meta{font-size:.94rem;margin-bottom:0}.credential-item{color:var(--text);display:flex;gap:1rem;justify-content:space-between;margin:.55rem 0 0}.credential-item span,.plain-list{color:var(--muted)}.plain-list{margin:0;padding-left:1.1rem}.plain-list li+li{margin-top:.35rem}.contact-panel{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(var(--card-glass),var(--card-glass)) padding-box,linear-gradient(110deg,var(--accent-border),#0000 48%,var(--accent-border)) border-box;border:1px solid #0000;border-radius:var(--radius-large);box-shadow:var(--shadow-soft);display:flex;gap:clamp(1.5rem,4vw,3rem);justify-content:space-between;padding:clamp(1.65rem,4vw,2.6rem);transition:border-color var(--transition),box-shadow var(--transition)}.contact-panel p{font-size:1.04rem;margin:0;max-width:600px}.contact-actions{flex-shrink:0}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.88rem;margin:clamp(5.5rem,10vw,7.5rem) auto 0;padding:1.6rem 0 2.25rem;text-align:center;width:min(1180px,calc(100% - 48px))}@media (hover:hover){.portrait-panel:hover{box-shadow:var(--shadow-hover)}.experience-item:hover,.portrait-panel:hover{border-color:var(--accent-border);transform:translateY(-2px)}.experience-item:hover{background:linear-gradient(105deg,var(--card-glass),var(--accent-faint));box-shadow:var(--shadow-soft)}.tag:hover{background:var(--accent-faint);border-color:var(--accent-border);box-shadow:0 5px 14px var(--accent-faint);color:var(--accent);transform:translateY(-1px) scale(1.025)}.project-case:hover{border-color:var(--accent-border);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.contact-panel:hover,.credential-card:hover,.skill-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-hover);transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.001ms!important}.button,.contact-panel,.credential-card,.experience-item,.portrait-panel,.project-case,.skill-card,.tag{transform:none!important}}@media (max-width:900px){.header-shell{flex-wrap:wrap;padding:.8rem 0}.nav-links{flex-basis:100%;justify-content:flex-start;order:3;overflow-x:auto}.education-grid,.hero-grid,.project-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-panel{max-width:380px}.contact-panel{display:grid}}@media (max-width:640px){.header-shell,.section-shell,.site-footer{width:min(100% - 32px,1120px)}.brand span:last-child{display:none}.theme-toggle{margin-left:auto}.nav-links{flex-wrap:wrap;gap:.1rem;overflow-x:visible}.nav-links a{padding:.45rem .6rem}.section{padding-top:4.6rem}.hero{padding-top:3.7rem}.hero h1{font-size:clamp(2.85rem,16vw,3.8rem)}.hero-role{font-size:1.36rem}.experience-item,.skill-card{gap:1rem;grid-template-columns:1fr}.skill-card{min-height:auto}.skills-grid{grid-template-columns:1fr}.project-header{flex-direction:column}.contact-actions .button,.hero-actions .button{flex:1 1 125px}}
/*# sourceMappingURL=main.5edbe56e.css.map*/