@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Sora:wght@300;400;500;600;700&display=swap";.contact-section{position:relative;z-index:2;padding:.5rem clamp(1.2rem,4vw,3rem) 2.5rem}.contact-section__intro{max-width:100%;margin-bottom:1.4rem}.contact-section__eyebrow{margin:0 0 .55rem;color:#a1bef4b3;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.contact-section__intro h2{margin:0;max-width:100%;font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.05}.contact-section__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.contact-section__card{display:grid;gap:.9rem;justify-items:center;border:1px solid rgba(116,157,223,.16);background:linear-gradient(180deg,#090f1bcc,#070b149e),radial-gradient(circle at top right,rgba(67,142,255,.12),transparent 42%);padding:1.1rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.contact-section__label{margin:0;color:#e4edffeb;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;text-align:center}.contact-section__details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start;width:100%}.contact-section__value{color:#ebf2ffe6;text-align:center}@media (max-width: 640px){.contact-section{padding-left:.9rem;padding-right:.9rem}.contact-section__details{grid-template-columns:minmax(0,1fr);gap:.9rem}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070cb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;place-items:center;padding:1rem;z-index:90}.modal-shell{width:100%;max-width:960px;height:85vh;max-height:900px;background:#090c14f2;border:1px solid rgba(255,229,160,.26);border-radius:18px;box-shadow:0 30px 120px #00000073;overflow:hidden;display:flex}@media (min-width: 768px){.modal-shell{height:75vh}}@media (min-width: 1024px){.modal-shell{height:80vh}}.experience-modal{position:relative;width:100%;height:100%;overflow-y:auto;padding:1.5rem 1.1rem 0;color:#f7f7fb;display:grid;gap:1.25rem}.experience-close{position:sticky;top:.8rem;margin-left:auto;border:none;background:#ffe5a01f;color:#fef3c7;font-size:1.4rem;border-radius:999px;width:2.4rem;height:2.4rem;cursor:pointer;transition:background .14s ease,transform .14s ease;z-index:2}.experience-close:hover{background:#ffe5a03d;transform:scale(1.04)}.experience-header h2{margin:.25rem 0 .15rem}.experience-header,.experience-body{display:grid;gap:.75rem}.experience-title{font-size:1.7rem;letter-spacing:.02em}.experience-company{color:#ffebbee6;font-weight:600;font-size:1.05rem;letter-spacing:.01em}.experience-summary{color:#e6ecffe0;line-height:1.6}.experience-eyebrow,.experience-dates{color:#ffe5a0cc;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}.experience-bullets{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;color:#edf1ffe6;line-height:1.55}.experience-stack-label{color:#ffe5a0d9;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;margin-bottom:.3rem}.experience-tags{display:flex;flex-wrap:wrap;gap:.4rem}.experience-tags span{padding:.4rem .6rem;border:1px solid rgba(255,229,160,.24);border-radius:999px;font-size:.9rem;background:#ffe5a014}.experience-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:.5rem;position:sticky;bottom:0;margin-left:-1.1rem;margin-right:-1.1rem;padding:.6rem 1.1rem;background:linear-gradient(180deg,transparent 0%,rgba(9,12,20,.95) 45%)}.nav-btn{border:none;background:linear-gradient(180deg,#fd8,#f2c04a);color:#1a1208;font-size:1.6rem;font-weight:700;border-radius:14px;padding:.7rem 1.4rem;cursor:pointer;box-shadow:0 12px 32px #ffdb784d;transition:transform .14s ease,box-shadow .14s ease}.nav-btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px #ffdb7866}.nav-index{color:#ffebbed9;font-weight:600}@media (max-width: 720px){.experience-modal{padding:1.2rem 1rem 0;gap:1rem}.experience-title{font-size:1.4rem}.experience-nav{grid-template-columns:auto auto auto}}.job-node-tooltip{border:1px solid rgba(255,178,94,.16);background:#090b12b8;color:#ffeedceb;padding:.36rem .56rem;border-radius:999px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(4px) scale(.96);transition:opacity .18s ease,transform .18s ease,border-color .18s ease;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.job-node-tooltip.is-visible{opacity:1;transform:translateY(0) scale(1);border-color:#ffb25e5c}@media (max-width: 640px){.job-node-tooltip{font-size:.62rem}}.hero-scene{position:absolute;top:0;right:0;bottom:0;left:0}.hero-scene canvas{width:100%;height:100%}@media (max-width: 960px){.hero-scene{position:relative;height:82svh;min-height:41rem}}@media (max-width: 640px){.hero-scene{min-height:34rem;height:74svh}}.hero-layout{position:relative;min-height:100svh;padding:1.8rem clamp(1.2rem,3vw,2.75rem) 2.8rem;overflow:clip}.hero-copy{position:relative;z-index:3;max-width:64rem;margin:0 auto;padding-top:clamp(1.8rem,6vw,3.4rem);text-align:center}.hero-copy h1{margin:0 0 .55rem;font-family:Barlow Condensed,sans-serif;font-size:clamp(3.3rem,8.4vw,6.1rem);font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:.95;text-shadow:0 0 24px rgba(126,191,255,.06)}.hero-copy p{margin:0;color:#cbddffd6;font-size:clamp(.95rem,1.7vw,1.15rem);letter-spacing:.24em;text-transform:uppercase}.hero-cta{position:absolute;left:50%;bottom:clamp(1.55rem,4.4vw,2.3rem);z-index:3;transform:translate(-50%);border:1px solid rgba(109,175,255,.24);border-radius:999px;background:linear-gradient(180deg,#0c1424eb,#060b16d6),radial-gradient(circle at top,rgba(112,214,255,.12),transparent 60%);color:var(--text);padding:.92rem 1.45rem;min-width:14rem;box-shadow:0 0 0 1px #77bbff0f,0 14px 32px #080f1c75,0 0 20px #34a6ff1a;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}@media (max-width: 960px){.hero-layout{padding-bottom:1rem}.hero-copy{padding-top:1.2rem}.hero-copy h1{font-size:clamp(2.7rem,14vw,4.2rem);letter-spacing:.1em}.hero-copy p{letter-spacing:.18em}.hero-cta{bottom:3.2rem}}@media (max-width: 640px){.hero-layout{padding-left:.9rem;padding-right:.9rem}.hero-copy p{font-size:.9rem}.hero-cta{min-width:auto;width:calc(100% - 1.8rem);padding-left:1rem;padding-right:1rem}}.education-summary{display:grid;gap:.32rem;margin-top:.1rem}.education-summary__item{display:grid;gap:.08rem;margin:0}.education-summary__degree{color:#deebffd1;font-size:.76rem;line-height:1.35}.education-summary__meta{color:#a9c2f39e;font-size:.68rem;line-height:1.35}.Intro-Section{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.35rem clamp(1.2rem,4vw,3rem) 2.4rem;margin-top:-1rem;position:relative;z-index:3}.Intro-Section__intro{display:grid;gap:.45rem}.Intro-Section__label{margin:0;color:#a9c2f3a3;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}.Intro-Section h2{margin:.15rem 0 0;font-size:clamp(1rem,2vw,1.3rem);font-weight:500;color:#e9f1ffe0}.Intro-Section__links{display:flex;gap:.9rem;flex-wrap:wrap}.Intro-Section__links a{display:inline-flex;align-items:center;justify-content:center;min-width:7rem;padding:.85rem 1rem;border:1px solid rgba(111,161,237,.16);background:#070b1473;color:#f0f6ffe0;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.Intro-Section__links a:hover{transform:translateY(-1px);border-color:#76c4ff52;box-shadow:0 0 26px #40a0ff1f}@media (max-width: 960px){.Intro-Section{flex-direction:column;align-items:flex-start;padding-top:2rem}}@media (max-width: 640px){.Intro-Section__links{width:100%}.Intro-Section__links a{flex:1 1 9rem}}.skills-section{position:relative;z-index:2;padding:1rem clamp(1.2rem,4vw,3rem) 2.5rem}.skills-section__intro{max-width:100%;margin-bottom:1.4rem}.skills-section__eyebrow{margin:0 0 .55rem;color:#a1bef4b3;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.skills-section__intro h2{margin:0;max-width:100%;font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.05}.skills-section__summary{margin:.8rem 0 0;max-width:62ch;color:var(--muted);line-height:1.7}.skills-section__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.skills-section__card{border:1px solid rgba(116,157,223,.16);background:linear-gradient(180deg,#090f1bcc,#070b149e),radial-gradient(circle at top right,rgba(67,142,255,.12),transparent 42%);padding:1.1rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.skills-section__card-title{margin:0 0 .9rem;color:#e4edffeb;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.skills-section__chips{display:flex;flex-wrap:wrap;gap:.6rem}.skills-section__chips span{padding:.58rem .78rem;border:1px solid rgba(125,169,239,.16);background:#0d1320d1;color:#eef4ffe0;font-size:.83rem}@media (max-width: 960px){.skills-section__grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.skills-section{padding-left:.9rem;padding-right:.9rem}}.app-shell{min-height:100vh}:root{color-scheme:dark;--bg: #03060d;--bg-deep: #060d19;--panel: rgba(7, 13, 24, .72);--panel-border: rgba(132, 176, 255, .2);--text: #f4f8ff;--muted: rgba(202, 221, 255, .68);--cyan: #6ad8ff;--cyan-strong: #2aaeff;--amber: #ffaf5e;--amber-strong: #ff7a22;--shadow: 0 28px 100px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Sora,sans-serif;color:var(--text);background:radial-gradient(circle at 50% 38%,rgba(27,88,168,.18),transparent 18rem),radial-gradient(circle at 50% 72%,rgba(31,120,255,.18),transparent 16rem),linear-gradient(180deg,#03060d,#060b14,#04070d);overflow-x:hidden}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-2}body:before{background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.38) 0 1px,transparent 1.5px),radial-gradient(circle at 80% 16%,rgba(255,255,255,.28) 0 1px,transparent 1.5px),radial-gradient(circle at 22% 84%,rgba(255,255,255,.2) 0 1px,transparent 1.5px),radial-gradient(circle at 68% 76%,rgba(255,255,255,.24) 0 1px,transparent 1.5px),radial-gradient(circle at 54% 34%,rgba(255,255,255,.18) 0 1px,transparent 1.5px);background-size:240px 240px,320px 320px,300px 300px,360px 360px,280px 280px;opacity:.65}body:after{background:linear-gradient(180deg,#02050c00 70%,#02050cd9),radial-gradient(circle at center,transparent 45%,rgba(2,5,12,.6) 100%)}a{color:inherit;text-decoration:none}button{font:inherit}#root{min-height:100vh}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
