/*
! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.inline-block{display:inline-block}.hidden{display:none}.resize{resize:both}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#0b0f14;--fg:#e6eaf0;--accent:#8b5cf6;color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0f14;color:#e6eaf0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif}:focus-visible{outline:2px solid #8b5cf6;outline:2px solid var(--accent);outline-offset:2px}.skip-link{background:#8b5cf6;background:var(--accent);color:#0b0f14;color:var(--bg);left:0;padding:1rem;position:absolute;top:0;transform:translateY(-100%);transition:transform .2s;z-index:1000}.skip-link:focus-visible{transform:translateY(0)}.tilt-card{will-change:transform}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.content-box{min-height:100vh;overflow:hidden;position:relative}.language-selector{display:flex;justify-content:flex-start;left:10px;padding:10px;position:absolute;top:10px;z-index:10}.flag-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;gap:4px;margin-left:10px;padding:4px 8px}.flag-icon{border-radius:5px;display:block;height:16px;transition:transform .3s ease;width:24px}.flag-button:hover{transform:scale(1.05)}.flag-button:focus-visible{outline:2px solid #fff;outline-offset:2px}.main-section{gap:64px;height:100%;justify-content:center;padding:120px 8% 80px;position:relative;text-align:left;z-index:1}.content,.main-section{display:flex;flex-direction:column}.content{gap:16px;max-width:720px}.hero-eyebrow{align-items:center;background:#8b5cf61a;border:1px solid #8b5cf666;border-radius:999px;color:#c4b5fd;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;letter-spacing:.04em;padding:6px 14px;width:fit-content}.hero-title{color:#fff;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.2}.hero-subtitle{color:#d7dce3;display:flex;flex-direction:column;font-size:1.05rem;gap:8px;line-height:1.6}.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.primary-button,.secondary-button{align-items:center;border-radius:999px;display:inline-flex;font-weight:600;justify-content:center;padding:12px 24px;transition:transform .2s ease,background-color .2s ease}.primary-button{background:var(--accent);color:#0b0f14}.secondary-button{border:1px solid #fff;color:#fff}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.highlights-section,.home-cta{max-width:1000px}.highlights-section h2,.home-cta h2{color:#fff;font-size:2rem;margin-bottom:24px}.highlights-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.highlight-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0e121880;border:1px solid #ffffff14;border-radius:16px;padding:20px;text-align:left}.highlight-card h3{color:#fff;font-size:1.1rem;margin-bottom:8px}.highlight-card p{color:#c9d0d8;line-height:1.6}.home-cta p{color:#d7dce3;line-height:1.6;margin-bottom:16px}@media (max-width:768px){.main-section{padding:100px 6% 60px}.hero-cta{align-items:flex-start;flex-direction:column}}.hero-background{background:radial-gradient(circle at 20% 20%,#8b5cf62e,#0000 60%),var(--bg);inset:0;overflow:hidden;position:absolute}.hero-canvas{display:block;height:100%;inset:0;position:absolute;width:100%}.hero-gradient{background:linear-gradient(180deg,#0b0f1433,#0b0f14d9 85%);inset:0;pointer-events:none;position:absolute}.stats-strip{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin:8px 0 0;max-width:1000px}.stat-item{border-radius:14px;display:flex;flex-direction:column;gap:4px;padding:16px;text-align:left}.stat-value{font-feature-settings:"tnum";color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);font-variant-numeric:tabular-nums;font-weight:700}.stat-label{color:#9aa4b2;font-size:.85rem}@media (max-width:640px){.stats-strip{grid-template-columns:repeat(2,1fr)}}.about-section{background-color:#1c1c1cd1;color:#fff;padding:90px 20px}.about-container{align-items:center;display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin:0 auto;max-width:1200px}.about-content{flex:1 1 60%;max-width:720px;text-align:left}.about-content h2{font-size:2.2rem;margin-bottom:16px;text-align:left}.about-content p{color:#d6dbe2;font-size:1.1rem;line-height:1.7;margin-bottom:24px}.about-block{margin-bottom:20px}.about-columns{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}@media (max-width:560px){.about-columns{grid-template-columns:1fr}}.about-block h3{color:#8fb7ff;font-size:1.2rem;margin-bottom:8px}.about-block ul{color:#c9d0d8;line-height:1.6;margin:0;padding-left:18px}.about-image{flex:1 1 35%;text-align:center}.about-image img{border-radius:12px;box-shadow:0 4px 16px #0000004d;height:auto;max-width:100%}@media (max-width:768px){.about-content{flex:1 1 100%}.about-content h2{font-size:1.9rem}.about-container{gap:24px}}.projects-section{background-color:#000000d1;padding:80px 20px}.section-header h2{color:#fff;font-size:2.5rem;margin-bottom:60px;position:relative;text-align:center}.section-header h2:after{background-color:#3498db;border-radius:2px;content:"";display:block;height:4px;margin:20px auto 0;width:60px}.projects-grid{grid-gap:32px;display:grid;gap:32px;margin:0 auto;max-width:1200px}@media (min-width:1000px){.projects-grid{align-items:start;grid-template-columns:repeat(2,1fr)}}.project-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f141b8c;border:1px solid #ffffff14;border-radius:16px;box-shadow:0 12px 30px #00000040;padding:28px;text-align:left}.project-card h3{color:#fff;font-size:1.6rem;margin-bottom:12px}.project-objective{color:#c9d0d8;line-height:1.6;margin-bottom:24px}.project-block{margin-bottom:20px}.project-block h4{color:#8fb7ff;font-size:1rem;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.project-block ul{color:#d6dbe2;line-height:1.6;margin:0;padding-left:18px}.project-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{background:#3498db26;border-radius:999px;color:#8fb7ff;font-size:.9rem;padding:6px 12px}.project-links{grid-gap:6px;display:grid;gap:6px;list-style:none;padding-left:0}.project-links a{color:#fff;text-decoration:underline}.project-links a:hover{color:#8fb7ff}.evidence-note{color:#d6dbe2}@media (max-width:768px){.project-card{padding:22px}}.skills-section{background-color:#0b0f14d1;color:#fff;padding:100px 20px;text-align:center}.skills-section h2{display:inline-block;font-size:2.6rem;margin-bottom:50px;padding-bottom:10px;position:relative}.skills-section h2:after{background-color:#3498db;bottom:0;content:"";height:3px;left:25%;position:absolute;width:50%}.tools-strip{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:0 auto 50px;max-width:900px}.tool-badge{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#12182280;border:1px solid #ffffff14;border-radius:14px;box-shadow:0 8px 18px #0003;display:flex;flex-direction:column;gap:8px;min-width:92px;padding:16px 18px}.tool-badge img{height:32px;object-fit:contain;width:32px}.tool-badge span{color:#c9d0d8;font-size:.78rem;white-space:nowrap}.skills-grid{grid-gap:24px;display:grid;gap:24px;margin:0 auto 60px;max-width:1100px}.skill-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background-color:#12182280;border:1px solid #ffffff14;border-radius:16px;box-shadow:0 10px 24px #0003;padding:24px;text-align:left}.skill-card h3{font-size:1.3rem;margin-bottom:12px}.skill-card ul{color:#c9d0d8;line-height:1.6;margin:0;padding-left:18px}.skills-process{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f141b8c;border:1px solid #ffffff14;border-radius:16px;margin:0 auto;max-width:800px;padding:24px;text-align:left}.skills-process h3{font-size:1.4rem;margin-bottom:12px}.skills-process ol{color:#d6dbe2;line-height:1.6;padding-left:20px}@media (min-width:900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.experience-section{background-color:#1c1c1cd1;padding:80px 20px}.experience-section h2{color:#fff;font-size:2.4rem;margin-bottom:50px;position:relative;text-align:center}.experience-section h2:after{background-color:#8b5cf6;background-color:var(--accent,#8b5cf6);border-radius:2px;content:"";display:block;height:4px;margin:20px auto 0;width:60px}.timeline{margin:0 auto;max-width:760px;text-align:left}.timeline-entry{display:flex;gap:20px}.timeline-marker{align-items:center;display:flex;flex-direction:column;padding-top:22px}.timeline-dot{background:#8b5cf6;background:var(--accent,#8b5cf6);border-radius:50%;box-shadow:0 0 0 4px #8b5cf62e;flex-shrink:0;height:12px;width:12px}.timeline-line{background:#ffffff1f;flex:1 1;margin-top:4px;width:2px}.timeline-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background-color:#0f141b8c;border:1px solid #ffffff14;border-radius:12px;box-shadow:0 4px 10px #0000004d;flex:1 1;margin-bottom:20px;overflow:hidden}.timeline-header{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:20px 24px;text-align:left;width:100%}.timeline-header h3{font-size:1.2rem;margin-bottom:4px}.timeline-location{color:#9aa4b2;font-size:.9rem}.timeline-toggle{color:#8fb7ff;flex-shrink:0;font-size:1.4rem;transition:transform .25s ease}.timeline-toggle.is-open{transform:rotate(45deg)}.timeline-roles{overflow:hidden}.timeline-role{padding:0 24px 20px}.timeline-role+.timeline-role{border-top:1px solid #ffffff14;padding-top:4px}.timeline-role-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:6px}.timeline-role-head h4{color:#fff;font-size:1.05rem}.timeline-period{color:#8fb7ff;font-size:.85rem;white-space:nowrap}.timeline-role p{color:#d6dbe2;font-size:.98rem;line-height:1.6}@media (max-width:640px){.timeline-marker{display:none}.timeline-entry{gap:0}}.contact-section{background-color:#0b0f14d1;color:#fff;padding:80px 20px;text-align:center}.contact-container{margin:0 auto;max-width:800px}.contact-section h2{font-size:2.4rem;margin-bottom:16px}.contact-cta{color:#8fb7ff;font-size:1.2rem;font-weight:600;margin-bottom:8px}.contact-description{color:#c9d0d8;line-height:1.6;margin-bottom:24px}.contact-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.contact-button{border:1px solid #fff;border-radius:999px;color:#fff;font-weight:600;padding:10px 20px;transition:transform .2s ease,background-color .2s ease}.contact-button:hover{background-color:#ffffff1a;transform:translateY(-2px)}@media (max-width:600px){.contact-buttons{flex-direction:column}}.download-resume-section{background-color:#0b0f14d1;color:var(--fg);padding:60px 20px;text-align:center}.download-resume-section h2{font-size:2.5rem;margin-bottom:20px}.download-resume-section p{font-size:1.2rem;margin-bottom:20px}.download-btn{background-color:var(--accent);border-radius:5px;color:var(--bg);display:inline-block;font-size:1.2rem;padding:15px 30px;text-decoration:none;transition:filter .3s ease}.download-btn:hover{filter:brightness(1.1)}.global-background{height:100%;inset:0;pointer-events:none;position:fixed;width:100%;z-index:0}.scroll-progress{background:linear-gradient(90deg,#8b5cf6,#c4b5fd);background:linear-gradient(90deg,var(--accent,#8b5cf6),#c4b5fd);height:3px;right:0;transform-origin:0;z-index:200}.custom-cursor,.scroll-progress{left:0;pointer-events:none;position:fixed;top:0}.custom-cursor{background:#8b5cf61f;border:1px solid #c4b5fd99;border-radius:50%;height:28px;margin-left:-14px;margin-top:-14px;transition:width .2s ease,height .2s ease,margin .2s ease,background .2s ease;width:28px;z-index:300}.custom-cursor.is-active{background:#8b5cf633;border-color:#c4b5fde6;height:52px;margin-left:-26px;margin-top:-26px;width:52px}*{box-sizing:border-box;margin:0;padding:0}*,body{overflow-x:hidden}body{background-color:var(--bg);color:var(--fg);font-family:Fira Sans,sans-serif}a{color:inherit;text-decoration:none}.App{overflow-x:hidden;text-align:center}header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0f14e6;position:sticky;top:0;z-index:100}footer,main{position:relative;z-index:1}nav ul{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;list-style:none;margin:0;padding:16px}nav a{color:var(--fg);font-weight:500}nav a:hover{color:var(--accent)}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite;overflow-x:hidden}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.fbb1d119.css.map*/