@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=JetBrains+Mono:wght@400;500&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #0B0E11;--bg-card: #12161C;--bg-card-hover: #181D25;--accent: #4FD1C5;--accent-dim: rgba(79, 209, 197, .12);--accent-glow: rgba(79, 209, 197, .25);--accent-border: rgba(79, 209, 197, .2);--text: #E2E8F0;--text-dim: #8899AA;--text-muted: #5A6A7A;--border: #1E2530;--white: #F7FAFC;--bg-nav-scrolled: rgba(11, 14, 17, .92);--bg-subtle: rgba(255, 255, 255, .04);--orb-secondary: rgba(99, 102, 241, .12);--content-width: clamp(1200px, 65vw, 1600px)}[data-theme=light]{--bg: #F5F7FA;--bg-card: #FFFFFF;--bg-card-hover: #F0F2F5;--accent: #319795;--accent-dim: rgba(49, 151, 149, .1);--accent-glow: rgba(49, 151, 149, .15);--accent-border: rgba(49, 151, 149, .25);--text: #1A202C;--text-dim: #4A5568;--text-muted: #718096;--border: #E2E8F0;--white: #1A202C;--bg-nav-scrolled: rgba(245, 247, 250, .92);--bg-subtle: rgba(0, 0, 0, .04);--orb-secondary: rgba(99, 102, 241, .06)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.portfolio{background:var(--bg);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif;overflow-x:hidden;transition:background .3s,color .3s}.fade-in{will-change:opacity,transform;opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--fade-delay, 0s),transform .7s cubic-bezier(.22,1,.36,1) var(--fade-delay, 0s)}.fade-in--visible{opacity:1;transform:translateY(0)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid transparent;transition:all .4s ease}.nav--scrolled{background:var(--bg-nav-scrolled);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--border)}.nav__inner{max-width:var(--content-width);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}.nav__logo{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px}.nav__logo-text{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:var(--white);letter-spacing:-.02em}.nav__logo-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}.nav__links{display:flex;gap:4px;align-items:center}.nav__link{background:none;border:none;cursor:pointer;padding:6px 14px;border-radius:6px;color:var(--text-dim);font-size:13px;font-weight:500;font-family:DM Sans,sans-serif;transition:all .25s ease;letter-spacing:.02em}.nav__link--active{background:var(--accent-dim);color:var(--accent)}.theme-toggle{background:var(--bg-subtle);border:1px solid var(--border);border-radius:100px;cursor:pointer;width:48px;height:26px;position:relative;padding:0;margin-left:12px;transition:border-color .3s;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--accent);transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1}[data-theme=light] .theme-toggle__thumb{transform:translate(22px)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}.hero__grid-bg{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(var(--accent) 1px,transparent 1px),linear-gradient(90deg,var(--accent) 1px,transparent 1px);background-size:60px 60px}.hero__orb{position:absolute;filter:blur(80px);pointer-events:none;border-radius:50%}.hero__orb--top{top:-20%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 65%)}.hero__orb--bottom{bottom:-30%;left:-15%;width:50vw;height:50vw;background:radial-gradient(circle,var(--orb-secondary) 0%,transparent 65%)}.hero__content{max-width:var(--content-width);margin:0 auto;padding:120px 24px 80px;position:relative;z-index:1;display:flex;flex-direction:column;gap:24px}.hero__badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-dim);border:1px solid var(--accent-border);padding:6px 16px;border-radius:100px;width:fit-content}.hero__badge-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}.hero__badge-text{font-size:13px;color:var(--accent);font-weight:500;font-family:JetBrains Mono,monospace}.hero__title{font-family:Playfair Display,serif;font-size:clamp(42px,7vw,80px);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--white);margin:0;max-width:800px}.hero__title-accent{color:var(--accent)}.hero__subtitle{font-size:clamp(16px,2vw,20px);line-height:1.6;color:var(--text-dim);max-width:560px;margin:0}.hero__subtitle-em{color:var(--text);font-weight:500}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.btn-primary{background:var(--accent);color:var(--bg);border:none;padding:14px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .25s;box-shadow:0 0 24px var(--accent-glow)}.btn-primary:hover{opacity:.88}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);padding:14px 32px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .25s}.btn-secondary:hover{border-color:var(--accent)}.hero__stats{display:flex;gap:48px;margin-top:32px;flex-wrap:wrap}.hero__stat-num{font-family:Playfair Display,serif;font-size:36px;font-weight:700;color:var(--white);line-height:1}.hero__stat-label{font-size:13px;color:var(--text-muted);margin-top:4px;font-family:JetBrains Mono,monospace}.section{padding:100px 24px;max-width:var(--content-width);margin:0 auto}.section-title{display:flex;align-items:center;gap:16px}.section-title__label{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--accent);font-weight:500}.section-title__line{width:48px;height:1px;background:var(--accent);opacity:.4}.section-title__text{font-family:Playfair Display,serif;font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--white);margin:0;letter-spacing:-.02em}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;align-items:start}.about__text{font-size:17px;line-height:1.8;color:var(--text-dim);margin:0}.about__text strong{color:var(--text)}.about__cards{display:flex;flex-direction:column;gap:16px}.about__card{display:flex;gap:16px;padding:16px 20px;background:var(--bg-card);border-radius:10px;border:1px solid var(--border)}.about__card-icon{font-size:20px}.about__card-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,monospace}.about__card-value{font-size:14px;color:var(--text);margin-top:2px;font-weight:500}.experience__list{margin-top:48px;display:flex;flex-direction:column;gap:2px}.exp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px 28px;cursor:pointer;transition:all .3s ease}.exp-card--open{background:var(--bg-card-hover);border-color:var(--accent-border)}.exp-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.exp-card__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exp-card__period,.exp-card__location{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted)}.exp-card__dot{font-size:12px;color:var(--text-muted)}.exp-card__role{font-size:18px;font-weight:600;color:var(--white);margin:8px 0 4px}.exp-card__company{font-size:14px;color:var(--accent);font-weight:500}.exp-card__chevron{font-size:18px;color:var(--text-muted);transition:transform .3s;-webkit-user-select:none;user-select:none;flex-shrink:0;margin-top:4px}.exp-card__chevron--open{transform:rotate(180deg)}.exp-card__details{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.exp-card__highlight{display:flex;gap:10px;align-items:flex-start}.exp-card__highlight-dot{color:var(--accent);font-size:8px;margin-top:7px;flex-shrink:0}.exp-card__highlight-text{font-size:14px;color:var(--text-dim);line-height:1.6}.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:14px;transition:all .3s ease;height:100%}.project-card:hover{border-color:var(--accent-border)}.project-card__period{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);background:var(--accent-dim);padding:4px 12px;border-radius:6px;width:fit-content}.project-card__title{font-family:Playfair Display,serif;font-size:20px;color:var(--white);margin:0;line-height:1.3}.project-card__client{font-size:13px;color:var(--accent);font-weight:500}.project-card__desc{font-size:13px;color:var(--text-dim);line-height:1.7;margin:0;flex:1}.project-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.project-card__tag{font-size:11px;padding:3px 8px;border-radius:4px;background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-muted);font-family:JetBrains Mono,monospace}.skills__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.skill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:28px;transition:border-color .3s}.skill-card:hover{border-color:var(--accent-border)}.skill-card__name{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-family:JetBrains Mono,monospace;font-weight:500;margin-bottom:16px}.skill-card__items{display:flex;flex-wrap:wrap;gap:8px}.skill-card__item{font-size:13px;padding:5px 12px;border-radius:6px;background:var(--bg-subtle);border:1px solid var(--border);color:var(--text);font-weight:400;white-space:nowrap}.education__list{display:flex;flex-direction:column;gap:16px;margin-top:48px}.edu-card{display:flex;align-items:center;gap:24px;padding:24px 28px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.edu-card__period{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);min-width:120px;white-space:nowrap}.edu-card__divider{width:1px;height:40px;background:var(--border)}.edu-card__degree{font-size:17px;font-weight:600;color:var(--white)}.edu-card__school{font-size:13px;color:var(--text-dim);margin-top:2px}.edu-card__level{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);background:var(--accent-dim);padding:4px 10px;border-radius:4px}.contact__card{margin-top:48px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;position:relative;overflow:hidden}.contact__glow{position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);filter:blur(40px);pointer-events:none}.contact__intro{position:relative;z-index:1}.contact__title{font-family:Playfair Display,serif;font-size:32px;color:var(--white);margin:0 0 16px;line-height:1.2}.contact__title-accent{color:var(--accent);font-style:italic}.contact__desc{font-size:15px;color:var(--text-dim);line-height:1.7;margin:0}.contact__links{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.contact__link{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--bg-subtle);border-radius:10px;border:1px solid var(--border);text-decoration:none;color:var(--text);transition:all .25s}.contact__link:hover{border-color:var(--accent)}.contact__link--static{cursor:default}.contact__link-icon{font-size:18px}.contact__link-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace}.contact__link-value{font-size:14px;font-weight:500;margin-top:1px;color:var(--accent)}.contact__link-value--plain{color:var(--text)}.footer{border-top:1px solid var(--border);padding:32px 24px;max-width:var(--content-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer__copy{font-family:Playfair Display,serif;font-size:16px;color:var(--text-muted)}.footer__tagline{font-size:12px;color:var(--text-muted);font-family:JetBrains Mono,monospace}@media(max-width:900px){.about__grid,.contact__card{grid-template-columns:1fr}.projects__grid,.skills__grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.projects__grid,.skills__grid{grid-template-columns:1fr}.edu-card{flex-direction:column;align-items:flex-start;gap:12px}.edu-card__divider{display:none}.edu-card__level{margin-left:0}.hero__stats{gap:32px}.nav__links{display:none}.contact__card{padding:28px;gap:32px}}
