*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #000000;--surface: #0a0a0a;--surface-2: #141414;--text: #ffffff;--text-muted: #c8cdd5;--accent: #6366f1;--accent-light: #818cf8;--border: #1f1f1f;--success: #10b981;--radius: 12px;--radius-lg: 16px;--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--cursor-accent: #67e8f9;--cursor-accent-rgb: 103, 232, 249;--dock-bg: rgba(10, 14, 39, .55);--dock-border: rgba(255, 255, 255, .08);--intro-bg: #000000;--intro-text: #ffffff;--grid-line: rgba(255, 255, 255, .04);--glow-cyan: rgba(34, 211, 238, .18);--glow-purple: rgba(167, 139, 250, .22);--glow-teal: rgba(20, 184, 166, .18);--globe-atmosphere: #67e8f9;--globe-poly: rgba(120, 120, 130, .22);--globe-poly-side: rgba(80, 80, 90, .15);--globe-bg: rgba(0, 0, 0, 0);--teaser-ring-bg: rgba(255, 255, 255, .15);--teaser-ring-fill: #ffffff;--card-bg: #0a0a0a;--card-border: rgba(255, 255, 255, .08);--tint-soft: rgba(255, 255, 255, .05);--tint-soft-hover: rgba(255, 255, 255, .1);--tint-divider: rgba(255, 255, 255, .12);--chip-purple-text: #d8b4fe;--chip-blue-text: #7dd3fc;--resume-dot: #22d3ee;--resume-dot-rgb: 34, 211, 238;--skill-underline: rgba(255, 255, 255, .55);--travel-accent: #ff7a3d;--travel-accent-soft: #ff8a5b;--travel-accent-rgb: 255, 122, 61;--status-success-text: #86efac;--status-error-text: #fca5a5;--input-border: rgba(255, 255, 255, .22);--intro-stop-edge: #8b5cf6;--intro-stop-mid: #8b5cf6;--intro-stop-peak: #22d3ee}[data-theme=light]{--bg: #f8f8f5;--surface: #ffffff;--surface-2: #f1efe9;--text: #0c0c10;--text-muted: #4b5160;--accent: #6366f1;--accent-light: #4f46e5;--border: #e3e0d6;--success: #059669;--shadow-lg: 0 8px 32px rgba(20, 20, 30, .08);--cursor-accent: #1d4ed8;--cursor-accent-rgb: 29, 78, 216;--dock-bg: rgba(255, 255, 255, .7);--dock-border: rgba(20, 20, 30, .08);--intro-bg: #f8f8f5;--intro-text: #0c0c10;--grid-line: rgba(20, 20, 30, .05);--glow-cyan: rgba(34, 211, 238, .12);--glow-purple: rgba(99, 102, 241, .16);--glow-teal: rgba(13, 148, 136, .12);--globe-atmosphere: #6366f1;--globe-poly: rgba(60, 60, 75, .28);--globe-poly-side: rgba(120, 120, 135, .18);--globe-bg: rgba(248, 248, 245, 0);--teaser-ring-bg: rgba(20, 20, 30, .12);--teaser-ring-fill: #0c0c10;--card-bg: #ffffff;--card-border: rgba(20, 20, 30, .08);--tint-soft: rgba(20, 20, 30, .04);--tint-soft-hover: rgba(20, 20, 30, .08);--tint-divider: rgba(20, 20, 30, .12);--chip-purple-text: #6d28d9;--chip-blue-text: #0369a1;--resume-dot: #1d4ed8;--resume-dot-rgb: 29, 78, 216;--skill-underline: #000000;--travel-accent: #dc2626;--travel-accent-soft: #dc2626;--travel-accent-rgb: 220, 38, 38;--status-success-text: #15803d;--status-error-text: #b91c1c;--input-border: #b8b3a3;--intro-stop-edge: #ff0000;--intro-stop-mid: #00ff00;--intro-stop-peak: #0000ff}[data-theme=light] .icon-link:before{background:conic-gradient(from 0deg,red,#0f0,#00f,red)}[data-theme=light] .resume-banner-arrow:before{background:conic-gradient(from 0deg,transparent 0deg,#ff0000 15deg,#00ff00 45deg,#0000ff 75deg,transparent 90deg,transparent 360deg)}[data-theme=light] .contact-form-submit:before{background:conic-gradient(from var(--contact-btn-angle),transparent 0deg,#ff0000 15deg,#00ff00 45deg,#0000ff 75deg,transparent 90deg,transparent 360deg)}[data-theme=light] .cta-btn:after{background:conic-gradient(from var(--cta-arc-angle),transparent 0deg,#ff0000 15deg,#00ff00 45deg,#0000ff 75deg,transparent 90deg,transparent 360deg)}[data-theme=light] .cta-btn{border-color:transparent}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:Satoshi,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden;transition:background .3s ease,color .3s ease}html,body,*,*:before,*:after{cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=) 0 0,none!important}.cursor-ring,.cursor-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:99999;will-change:transform;transition:opacity .2s ease}.cursor-ring{width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;color:var(--cursor-accent);box-shadow:0 0 14px rgba(var(--cursor-accent-rgb),.45),inset 0 0 12px rgba(var(--cursor-accent-rgb),.18);transition:width .22s ease,height .22s ease,margin .22s ease,color .22s ease,box-shadow .22s ease,opacity .2s ease}.cursor-ring-svg{width:100%;height:100%;display:block;overflow:visible}.cursor-dot{width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--cursor-accent);box-shadow:0 0 6px rgba(var(--cursor-accent-rgb),1),0 0 14px rgba(var(--cursor-accent-rgb),.85),0 0 28px rgba(var(--cursor-accent-rgb),.55),0 0 48px rgba(var(--cursor-accent-rgb),.3);transition:width .18s ease,height .18s ease,margin .18s ease,background .22s ease,box-shadow .22s ease,opacity .2s ease}.cursor-ring.cursor-hover{width:60px;height:60px;margin:-30px 0 0 -30px}.cursor-dot.cursor-down{width:5px;height:5px;margin:-2.5px 0 0 -2.5px}@media (hover: none),(pointer: coarse){html,body,*,*:before,*:after{cursor:auto!important}.cursor-ring,.cursor-dot{display:none!important}}.theme-toggle{position:fixed;top:1.1rem;right:1.1rem;z-index:6000;width:78px;height:38px;padding:0 7px;border-radius:999px;border:2px solid transparent;background:linear-gradient(180deg,#ffffff0f,#fff0 60%,#ffffff0a),#140e2deb;color:var(--text);box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle-thumb{position:absolute;top:50%;left:4px;width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,#fefdf6,#f0ece0);box-shadow:0 2px 4px #00000040,inset 0 1px #ffffffe6;transform:translateY(-50%) translate(0);transition:transform .32s cubic-bezier(.4,0,.2,1);z-index:1;pointer-events:none}.theme-toggle.is-dark .theme-toggle-thumb{transform:translateY(-50%) translate(40px)}.theme-toggle.is-light{background:linear-gradient(180deg,#ffffff2e,#fff0 55%,#ffffff1a),#f5c542;border-color:transparent;box-shadow:none}.theme-toggle.is-light:hover{box-shadow:none}.theme-toggle-icon{position:relative;z-index:2;font-size:16px;line-height:1;pointer-events:none;transition:filter .25s ease,opacity .25s ease,color .25s ease}.theme-toggle-moon{font-size:22px;color:#f5c542;display:inline-flex;align-items:center;justify-content:center}.theme-toggle-moon svg{width:16px;height:16px}.theme-toggle.is-dark .theme-toggle-sun{filter:grayscale(1) brightness(.85);opacity:.45}.theme-toggle.is-light .theme-toggle-moon{color:#ffffff80}.theme-toggle.is-dark .theme-toggle-moon{color:#000}@media (prefers-reduced-motion: reduce){.theme-toggle-thumb{transition:none}}@media (max-width: 480px){.theme-toggle{top:.85rem;right:.85rem;width:68px;height:34px;padding:0 6px}.theme-toggle-thumb{width:24px;height:24px}.theme-toggle-icon{font-size:14px}.theme-toggle-moon{font-size:20px}.theme-toggle.is-dark .theme-toggle-thumb{transform:translateY(-50%) translate(36px)}}a{color:var(--accent);text-decoration:none;transition:color .3s ease}a:hover{color:var(--accent-light)}.navbar{position:fixed;top:0;left:0;right:0;background:#0a0e27d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:1.25rem 2rem;z-index:1000}.nav-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-weight:700;font-size:1.4rem;color:var(--text);letter-spacing:-.02em}.nav-logo .cursor{color:var(--accent);animation:blink 1.1s steps(2) infinite}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{color:var(--text-muted);font-weight:500;transition:color .3s ease}.nav-links a:hover{color:var(--text)}@keyframes blink{50%{opacity:0}}.hero{padding:80px 2rem;text-align:center;max-width:960px;margin:0 auto}.hero-content h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;margin-bottom:2rem;line-height:1.1;letter-spacing:-.03em}.underscore{color:var(--accent);animation:blink 1.1s steps(2) infinite}.profile-pic-wrap{position:relative;width:110px;height:110px;margin:0 auto 1.5rem}.profile-pic{width:110px;height:110px;border-radius:50%;display:block;overflow:hidden;box-sizing:border-box;border:4.5px solid var(--text);box-shadow:0 0 30px rgba(var(--cursor-accent-rgb),.25)}.profile-pic-img{width:100%;height:100%;display:block;object-fit:cover;object-position:38% 85%;transform:scale(2.05);transform-origin:38% 85%}.lab-badge{position:absolute;top:4px;left:56%;z-index:2;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;padding:.4rem .85rem;background:#e3d7f4;border:2px solid #8b5cf6;border-radius:999px;color:#7c3aed;font-size:.88rem;font-weight:550;box-shadow:0 4px 14px #00000059;transform:scale(.75);transform-origin:left top}.lab-dot{position:relative;width:9px;height:9px;flex:0 0 auto}.lab-dot:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;border-radius:50%;background:radial-gradient(circle,#22c55ed9,#22c55e66 45%,#22c55e00 75%);animation:lab-ping 2s ease-out infinite;pointer-events:none}.lab-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#22c55e;animation:lab-blink 2s ease-in-out infinite}@keyframes lab-blink{0%,to{opacity:1}50%{opacity:.6}}@keyframes lab-ping{0%{transform:scale(.7);opacity:0}35%{opacity:1}to{transform:scale(2);opacity:0}}.status{font-size:1.1rem;color:var(--text-muted);margin-bottom:1.25rem}.hero-content h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600;margin-bottom:1.5rem;line-height:1.55;text-wrap:balance;max-width:820px;margin-left:auto;margin-right:auto}.intro-text{color:var(--text);margin-bottom:2rem;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.7}.highlight-asu{background:linear-gradient(90deg,#8c1d40,#ffc627);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:700}.my-name{font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-style:italic;font-weight:400;font-size:1.08em}.scroll-prompt{display:none}.scroll-circle{position:relative;width:160px;height:160px;margin:2.5rem auto 0;color:var(--text);cursor:pointer}.scroll-circle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:50%}.scroll-circle-progress{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.scroll-circle-progress circle{transition:stroke-dashoffset .15s linear}.scroll-circle-mini{width:100px;height:100px;margin:1.5rem auto 1.25rem;display:block;cursor:default}.scroll-circle-mini .scroll-circle-arrow{width:30px;height:30px;animation:none}.about-me-page{min-height:100vh;padding:2rem 9rem 5rem;background:var(--bg);color:var(--text);box-sizing:border-box;display:flex;flex-direction:column}.about-me-title{font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-weight:700;font-size:3.5rem;line-height:1.1;margin:0 0 1.25rem;display:flex;align-items:center;gap:.6rem;padding-left:4rem}.about-me-sparkle{width:.85em;height:.85em;color:var(--text);flex:0 0 auto}.about-me-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:1fr;gap:3rem;max-width:1400px;margin:0 auto;flex:1 1 auto;min-height:0;width:100%}.about-me-photo{width:100%;height:100%;border-radius:4px;overflow:hidden;background:var(--surface)}.about-me-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.about-me-content{display:flex;flex-direction:column}.about-me-socials{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin-bottom:1.75rem}@media (max-width: 768px){.about-me-socials{flex-wrap:nowrap;gap:.5rem}.about-me-socials .social-pill{flex:0 0 auto;width:48px;height:48px}.about-me-socials .social-pill svg{width:22px;height:22px}.about-me-socials .copy-email-btn{flex:1 1 auto;min-width:0;padding:.7rem 1rem;font-size:.95rem;line-height:1.15;justify-content:center;text-align:center;white-space:normal}}.social-pill{width:58px;height:58px;border-radius:50%;border:1.5px solid #c0c0c0;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:border-color .25s ease,color .25s ease,transform .25s ease}.social-pill svg{width:26px;height:26px}.social-pill:hover{border-color:var(--accent-light);color:var(--accent-light);transform:translateY(-2px)}.copy-email-btn{display:inline-flex;align-items:center;gap:.7rem;border:1.5px solid #c0c0c0;background:transparent;color:var(--text);padding:.85rem 1.5rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:1.05rem;font-weight:500;transition:border-color .25s ease,color .25s ease}.copy-email-btn svg{width:22px;height:22px}.copy-email-btn:hover{border-color:var(--accent-light);color:var(--accent-light)}.about-me-bio{font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.6;color:var(--text);margin-bottom:2rem;font-weight:500}.bio-name{color:#b084ff;font-weight:600}.quick-facts{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;flex-direction:column;gap:.45rem}.quick-facts li{font-size:clamp(.92rem,1.1vw,1rem);line-height:1.5;color:var(--text);font-weight:500}.achievements-title{font-size:clamp(1.25rem,1.9vw,1.55rem);font-weight:800;margin-bottom:1rem;letter-spacing:-.01em}.achievements-list{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;flex-direction:column;gap:.7rem}.achievements-list li{display:flex;align-items:center;gap:.85rem;font-size:clamp(.95rem,1.2vw,1.05rem)}.ach-icon{width:24px;height:24px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:#9a63f0}.ach-icon svg{width:100%;height:100%}.ach-text{font-weight:500}.cta-buttons{display:flex;flex-direction:row;gap:1rem;margin-top:2rem;width:100%}.cta-buttons .cta-btn{flex:1}.subpage{min-height:100vh;padding:5.5rem 6rem 9rem;box-sizing:border-box}.subpage-title{font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:1.5rem 0 .4rem}.subpage-sub{color:var(--text-muted);font-size:1.05rem;margin:0 0 2.5rem}.projects-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.resume-embed{display:block;width:100%;height:78vh;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.resume-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.resume-fallback p{color:var(--text);margin:.25rem 0}.subpage-note{font-size:.9rem;opacity:.7}.subpage-note code{background:var(--surface-2);padding:.1rem .4rem;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}@media (max-width: 1000px){.subpage{padding:5rem 2rem 9rem}.projects-page-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.projects-page-grid{grid-template-columns:1fr}}.more-about-me{padding:2rem 9rem 3.2rem;box-sizing:border-box;display:flex;flex-direction:column;background:var(--bg)}.more-about-me:last-of-type{padding-bottom:8rem}.more-about-me-title{display:flex;align-items:center;gap:.55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.95rem;font-weight:500;letter-spacing:.18em;text-transform:lowercase;color:var(--text-muted);margin:0 0 3rem;padding-left:4rem}.more-about-me-sparkle{width:1.1em;height:1.1em;color:#b084ff;flex:0 0 auto}.more-about-me-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:2rem;align-items:center;max-width:1400px;margin:0 auto;width:100%}.more-about-me-text p{font-size:clamp(.95rem,1.15vw,1.05rem);line-height:1.85;color:var(--text);margin:0;font-weight:300}.more-about-me-text strong{font-weight:700}.more-about-me-text em{font-style:italic}.more-about-me-grid.reverse{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.more-about-me-grid.reverse .more-about-me-text{order:2}.more-about-me-grid.reverse .slideshow{order:1}.more-about-me-grid.match-height{align-items:stretch}.more-about-me-grid.match-height .slideshow{height:100%;display:flex}.more-about-me-grid.match-height .slideshow-stage{flex:1;height:100%;aspect-ratio:auto}@media (max-width: 768px){.more-about-me-grid,.more-about-me-grid.reverse{grid-template-columns:1fr;gap:1.5rem}.more-about-me-grid .slideshow,.more-about-me-grid.reverse .slideshow{order:-1!important}.more-about-me-grid .more-about-me-text,.more-about-me-grid.reverse .more-about-me-text{order:1!important}.more-about-me-grid.match-height{align-items:stretch}.more-about-me-grid.match-height .slideshow,.more-about-me-grid.match-height .slideshow-stage{height:auto;aspect-ratio:16 / 10}}.travel-globe-section{padding:2rem 9rem 3.2rem;box-sizing:border-box;display:flex;flex-direction:column;background:var(--bg)}.travel-globe-title{text-align:center;font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-weight:700;font-size:clamp(1.6rem,2.5vw,2.25rem);color:var(--text);margin:0 0 2rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.travel-globe-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(0,380px);gap:.5rem;align-items:center;justify-content:center;max-width:1400px;margin:0 auto;width:100%}.travel-globe-stage{width:100%;height:540px;position:relative;border-radius:18px;overflow:hidden}.travel-globe-rim{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;box-shadow:inset 0 0 4px 4px #22d3eef2,inset 0 0 18px 2px #22d3ee99,0 0 10px 3px #22d3eed9,0 0 26px 5px #22d3ee66,0 0 50px 10px #22d3ee26}[data-theme=light] .travel-globe-rim{box-shadow:inset 0 0 4px 4px #2563ebf2,inset 0 0 18px 2px #2563eb99,0 0 10px 3px #2563ebd9,0 0 26px 5px #2563eb66,0 0 50px 10px #2563eb26}.globe-city-pin{width:7px;height:7px;border-radius:50%;background:var(--travel-accent);box-shadow:0 0 4px rgba(var(--travel-accent-rgb),1),0 0 10px rgba(var(--travel-accent-rgb),.85),0 0 20px rgba(var(--travel-accent-rgb),.55),0 0 36px rgba(var(--travel-accent-rgb),.3);pointer-events:auto;animation:globe-pin-pulse 2.4s ease-in-out infinite;transform:translate(-50%,-50%)}@keyframes globe-pin-pulse{0%,to{box-shadow:0 0 4px rgba(var(--travel-accent-rgb),1),0 0 10px rgba(var(--travel-accent-rgb),.85),0 0 20px rgba(var(--travel-accent-rgb),.55),0 0 36px rgba(var(--travel-accent-rgb),.3)}50%{box-shadow:0 0 6px rgba(var(--travel-accent-rgb),1),0 0 14px rgba(var(--travel-accent-rgb),.95),0 0 28px rgba(var(--travel-accent-rgb),.7),0 0 50px rgba(var(--travel-accent-rgb),.45)}}@media (prefers-reduced-motion: reduce){.globe-city-pin{animation:none}}.travel-dashboard{list-style:none;padding:0 .25rem 0 0;margin:0;display:flex;flex-direction:column;gap:.4rem;max-height:540px;overflow-y:auto}.travel-row{background:var(--surface);border:1px solid var(--card-border);border-radius:10px;transition:border-color .2s ease,background .2s ease}.travel-row.expandable:hover{border-color:var(--accent)}.travel-row-head{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.7rem;width:100%;padding:.5rem .85rem;background:none;border:0;color:var(--text);text-align:left;cursor:pointer;font:inherit}.travel-row:not(.expandable) .travel-row-head{cursor:default}.travel-row:not(.expandable) .travel-chevron{opacity:.25}.travel-flag{font-size:1.3rem;line-height:1}.travel-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.travel-country{font-size:.9rem;font-weight:600;color:var(--text)}.travel-period{font-size:.75rem;color:var(--text-muted)}.travel-count{font-size:.72rem;font-weight:600;color:var(--travel-accent-soft);background:rgba(var(--travel-accent-rgb),.12);border:1px solid rgba(var(--travel-accent-rgb),.25);padding:.18rem .5rem;border-radius:999px;white-space:nowrap}.travel-chevron{color:var(--text-muted);font-size:.7rem;transition:transform .25s ease}.travel-row.open .travel-chevron{transform:rotate(180deg)}.travel-cities{list-style:disc;margin:0;padding:0 1rem .9rem 2.85rem;color:var(--text-muted);font-size:.88rem;display:flex;flex-direction:column;gap:.25rem}.travel-modal{width:100%;max-width:1100px;margin:1.5rem auto 0;background:var(--surface);border:1.5px solid rgba(var(--travel-accent-rgb),.55);border-radius:16px;box-shadow:var(--shadow-lg),0 0 40px rgba(var(--travel-accent-rgb),.08);padding:1.1rem 1.4rem 1.4rem;color:var(--text);box-sizing:border-box;animation:travel-detail-fade .18s ease;transition:background .3s ease}@keyframes travel-detail-fade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.travel-modal-header{display:flex;align-items:center;gap:.7rem;padding-bottom:.9rem;border-bottom:1px solid rgba(var(--travel-accent-rgb),.18);margin-bottom:1rem}.travel-modal-flag{font-size:1.4rem;line-height:1}.travel-modal-country{margin:0;font-size:1.2rem;font-weight:700;color:var(--text)}.travel-modal-count{font-size:.75rem;font-weight:600;color:var(--travel-accent-soft);background:rgba(var(--travel-accent-rgb),.12);border:1px solid rgba(var(--travel-accent-rgb),.25);padding:.22rem .6rem;border-radius:999px}.travel-modal-close{margin-left:auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--tint-soft);border:1px solid var(--tint-divider);color:var(--text-muted);border-radius:999px;cursor:pointer;font-size:1.15rem;line-height:1;padding:0;transition:background .15s ease,color .15s ease}.travel-modal-close:hover{background:var(--tint-soft-hover);color:var(--text)}.travel-modal-chips{display:flex;flex-wrap:nowrap;gap:.5rem;margin-bottom:1.1rem;overflow-x:auto;overflow-y:hidden;cursor:grab;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:rgba(var(--travel-accent-rgb),.35) transparent}.travel-modal-chips.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.travel-modal-chips::-webkit-scrollbar{height:6px}.travel-modal-chips::-webkit-scrollbar-track{background:transparent}.travel-modal-chips::-webkit-scrollbar-thumb{background:rgba(var(--travel-accent-rgb),.35);border-radius:3px}.travel-modal-chips::-webkit-scrollbar-thumb:hover{background:rgba(var(--travel-accent-rgb),.55)}.travel-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;background:var(--surface-2);border:1px solid var(--card-border);border-radius:999px;color:var(--text);font:inherit;font-size:.85rem;font-weight:400;cursor:pointer;transition:border-color .15s ease,background .15s ease,font-weight .15s ease;white-space:nowrap}.travel-chip:hover{border-color:var(--accent)}.travel-chip.active{border-color:rgba(var(--travel-accent-rgb),.7);background:rgba(var(--travel-accent-rgb),.08);font-weight:600}.travel-chip-dot{color:var(--travel-accent);font-size:1.1rem;line-height:0}.travel-chip-year{color:var(--text-muted);font-weight:500;font-size:.78rem;margin-left:.1rem}.travel-modal-detail{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;background:var(--surface-2);border:1px solid var(--card-border);border-radius:12px;padding:1rem 1.25rem}.travel-modal-detail-info{min-width:0}.travel-modal-detail-name{margin:0 0 .4rem;font-size:1.05rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.55rem}.travel-modal-detail-year{font-size:.75rem;font-weight:600;color:var(--travel-accent-soft);background:rgba(var(--travel-accent-rgb),.12);border:1px solid rgba(var(--travel-accent-rgb),.25);padding:.12rem .55rem;border-radius:999px}.travel-modal-detail-desc{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.55}.travel-modal-detail-img{width:64px;height:64px;border-radius:50%;flex:0 0 auto;object-fit:cover}@media (max-width: 600px){.travel-modal-detail{grid-template-columns:1fr}.travel-modal-detail-img{margin:0 auto}.travel-modal-header{flex-wrap:wrap}.travel-modal-count{order:3}.travel-modal-close{order:2;margin-left:auto}}.slideshow-stage{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16 / 10;background:transparent}.slideshow-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity .7s ease;-webkit-user-select:none;user-select:none}.slideshow-img.active{opacity:1;z-index:1}.slideshow-counter{position:absolute;top:1rem;right:1rem;z-index:2;padding:.4rem .9rem;background:#0000008c;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#fff;font-size:.85rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.slideshow-nav{position:absolute;top:50%;z-index:3;width:44px;height:44px;border-radius:50%;background:#0000008c;border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:translateY(-50%) scale(.92);transition:opacity .25s ease,transform .25s ease,background .25s ease;padding:0}.slideshow-nav svg{width:20px;height:20px}.slideshow-nav.prev{left:.9rem}.slideshow-nav.next{right:.9rem}.slideshow-stage:hover .slideshow-nav,.slideshow-nav:focus-visible{opacity:1;transform:translateY(-50%) scale(1)}.slideshow-nav:hover{background:#000000bf;border-color:#ffffff59}.slideshow-nav:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.slideshow-dots{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:2;display:flex;gap:.4rem}.slideshow-dot{width:26px;height:4px;border-radius:2px;background:#ffffff47;transition:background .4s ease}.slideshow-dot.active{background:linear-gradient(90deg,#6366f1,#b084ff)}@media (max-width: 900px){.more-about-me{padding:1.2rem 1.5rem 2.4rem}.more-about-me:last-of-type{padding-bottom:6rem}.travel-globe-section{padding:1.2rem 1.5rem 2.4rem}.travel-globe-grid{grid-template-columns:1fr;gap:1.25rem}.travel-globe-stage{height:380px}.travel-dashboard{max-height:none}.more-about-me-title{padding-left:0;justify-content:center;margin-bottom:2rem}.more-about-me-grid{grid-template-columns:1fr;gap:2rem}.more-about-me-grid.reverse .more-about-me-text,.more-about-me-grid.reverse .slideshow{order:0}}.cta-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.95rem 1.5rem;border-radius:12px;background:var(--surface);color:var(--text);font-weight:600;font-size:1rem;border:1.5px solid #2a2a2a;overflow:hidden;isolation:isolate}.cta-btn svg{width:18px;height:18px}.cta-btn span{flex:1;text-align:center}.cta-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;background:linear-gradient(90deg,#8b5cf6,#ec4899,#22d3ee,#facc15,#38bdf8,#8b5cf6);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;pointer-events:none}.cta-btn:hover{color:var(--text)}@property --cta-arc-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.cta-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--cta-arc-angle),transparent 0deg,#8b5cf6 15deg,#22d3ee 75deg,transparent 90deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:cta-arc-rotate 3.5s linear infinite;pointer-events:none;transition:opacity .3s ease}@keyframes cta-arc-rotate{to{--cta-arc-angle: 360deg}}@media (max-width: 900px){.about-me-page{padding:2rem 1.5rem 8rem}.about-me-title{padding-left:0;margin-bottom:2rem;justify-content:center}.about-me-grid{grid-template-columns:1fr;gap:2.5rem}.about-me-photo{max-width:460px;margin:0 auto}.cta-buttons{flex-direction:column}}.back-link{position:fixed;top:20px;left:20px;z-index:100;padding:.55rem 1rem;background:#0f1629b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-weight:500;font-size:.9rem;transition:color .3s ease,border-color .3s ease}.back-link:hover{color:var(--text);border-color:var(--accent)}.about-page-hero{padding:120px 2rem 60px;text-align:center;max-width:720px;margin:0 auto}.profile-pic-xl{width:180px;height:180px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);box-shadow:0 0 50px #6366f166;display:block;margin:0 auto 2rem}.about-page-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem;line-height:1.1}.about-page-tag{color:var(--text-muted);font-size:1.1rem;letter-spacing:.05em}.about-page-section{padding:40px 2rem;max-width:720px;margin:0 auto}.about-page-section h2{font-size:clamp(1.5rem,3vw,1.85rem);margin-bottom:1.25rem;font-weight:700;letter-spacing:-.02em}.about-page-section p{color:var(--text-muted);font-size:1.1rem;line-height:1.8;margin-bottom:1.1rem}.about-list{list-style:none;padding:0}.about-list li{color:var(--text-muted);font-size:1.1rem;line-height:1.7;padding-left:1.5rem;position:relative;margin-bottom:.5rem}.about-list li:before{content:"✦";position:absolute;left:0;color:var(--accent)}.about-facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;color:var(--text-muted);font-size:1.05rem;line-height:1.8}.about-facts dt{font-weight:600;color:var(--text)}.about-facts dd{margin:0}.about-placeholder{font-size:.9rem!important;opacity:.6}.about-placeholder code{background:var(--surface-2);padding:.1rem .4rem;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.scroll-circle-text{width:100%;height:100%;animation:scroll-spin 14s linear infinite}.scroll-circle-label{font-size:30px;fill:currentColor;font-weight:800;font-family:Inter,system-ui,-apple-system,Helvetica,Arial,sans-serif}.scroll-circle-arrow{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:70px;height:70px;color:var(--text);animation:scroll-arrow-bounce 2s ease-in-out infinite}@keyframes scroll-spin{to{transform:rotate(360deg)}}@keyframes scroll-arrow-bounce{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(4px);opacity:.7}}.tech-stack h2,.projects h2,.experience h2,.certifications h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:3rem;font-weight:800;letter-spacing:-.02em;text-align:center}.tech-stack{padding:80px 2rem;background:var(--surface)}.tech-container{display:flex;flex-direction:column;gap:2.5rem;margin:0 auto}.tech-category-name{font-size:1rem;font-weight:700;margin-bottom:1.25rem;text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em}.tech-marquee{overflow:hidden;cursor:grab;touch-action:pan-y;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%)}.tech-marquee::-webkit-scrollbar{display:none}.tech-marquee:active{cursor:grabbing}.tech-marquee-track{display:flex;gap:1.25rem;width:max-content;user-select:none;-webkit-user-select:none;will-change:transform}.tech-marquee .tech-item{flex:0 0 auto;width:130px}.tech-marquee .tech-item img{pointer-events:none}[data-theme=light] .tech-stack img[src$="/ffffff"],.tech-stack img[src*="/npm/simple-icons"]{filter:invert(1)}[data-theme=light] .tech-stack img[src*="/npm/simple-icons"]{filter:none}.tech-stack img[src$="/groq.svg"],.tech-stack img[src$="/flask-original.svg"],.tech-stack img[src$="/latex-original.svg"]{filter:invert(1)}[data-theme=light] .tech-stack img[src$="/groq.svg"],[data-theme=light] .tech-stack img[src$="/flask-original.svg"],[data-theme=light] .tech-stack img[src$="/latex-original.svg"]{filter:none}[data-theme=light] .tech-stack img[src$="/elevenlabs.svg"],[data-theme=light] .tech-stack img[src$="/expo.svg"],[data-theme=light] .tech-stack img[src$="/express.svg"],[data-theme=light] .tech-stack img[src$="/github.svg"],[data-theme=light] .tech-stack img[src$="/langchain.svg"],[data-theme=light] .tech-stack img[src$="/nextdotjs.svg"],[data-theme=light] .tech-stack img[src$="/notion.svg"],[data-theme=light] .tech-stack img[src$="/rust.svg"],[data-theme=light] .tech-stack img[src$="/vercel.svg"]{filter:invert(1)}.tech-item{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:1.5rem 1rem;border-radius:var(--radius);background:#6366f10d;border:1px solid var(--border);transition:transform .3s ease,background .3s ease,border-color .3s ease}.tech-item:hover{background:#6366f11a;border-color:var(--accent);transform:translateY(-5px)}.tech-item img{width:40px;height:40px}.tech-item span{font-weight:500;font-size:.95rem}.projects{padding:80px 2rem;max-width:1200px;margin:0 auto}.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-bottom:2rem}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease,background .3s ease;text-decoration:none;color:var(--text);min-height:380px}.project-card:hover{border-color:var(--accent);background:#6366f10f;transform:translateY(-5px)}.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.project-card h3{font-size:1.35rem;margin:0;color:var(--text);line-height:1.25}.project-arrow{width:44px;height:44px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text);transition:border-color .3s ease,transform .3s ease,background .3s ease}.project-arrow svg{width:18px;height:18px;transition:transform .3s ease}.project-arrow:hover{border-color:var(--accent);background:#6366f11a;transform:translateY(-2px)}.project-card:hover .project-arrow svg{transform:rotate(-45deg)}.project-badge{color:var(--accent-light);font-size:.85rem;font-weight:600;margin-bottom:.85rem;text-transform:uppercase;letter-spacing:.04em}.project-card p:not(.project-badge){color:var(--text);font-size:.9rem;line-height:1.55;flex:0 0 auto;margin:0}.project-thumb{margin-top:auto;margin-bottom:-1.75rem;border-radius:8px 8px var(--radius-lg) var(--radius-lg);overflow:hidden;height:33%;min-height:110px}.project-thumb img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .4s ease}.project-card:hover .project-thumb img{transform:scale(1.04)}.project-more{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#ffffff05}.more-title{display:inline-flex;align-items:center;gap:.6rem;font-size:2rem;font-weight:800;margin:0 0 .5rem;color:var(--text)}.more-title svg{width:26px;height:26px}.more-subtitle{color:var(--text-muted);font-size:.95rem;margin:0;line-height:1.4}.view-more{text-align:center}.btn-primary{display:inline-block;background:var(--accent);color:#fff;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;transition:background .3s ease,transform .3s ease;border:none;cursor:pointer;font-family:inherit}.btn-primary:hover{background:var(--accent-light);color:#fff;transform:scale(1.04)}.btn-large{padding:1rem 2rem;font-size:1.05rem}.btn-ghost{display:inline-block;background:transparent;color:var(--text);border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:border-color .3s ease,color .3s ease;font-family:inherit}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-light)}.experience{padding:80px 2rem;background:var(--surface)}.experience>h2{max-width:1200px;margin:0 auto 3rem}.experience-items{display:grid;gap:1.5rem;margin:0 auto 3rem;max-width:1200px}.experience-items{position:relative;padding-left:3rem;gap:1.75rem}.experience-items:before{content:"";position:absolute;left:.85rem;top:1.5rem;bottom:1.5rem;width:2px;background:linear-gradient(to bottom,transparent 0%,var(--accent) 12%,var(--accent-light) 50%,var(--accent) 88%,transparent 100%);opacity:.85}.exp-item{--exp-color: var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem 2rem;position:relative;transition:border-color .3s ease,transform .3s ease,background .3s ease}.experience .exp-item:hover{border-color:var(--exp-color);transform:translateY(-3px);background:linear-gradient(105deg,color-mix(in srgb,var(--exp-color) 26%,var(--surface)),color-mix(in srgb,var(--exp-color) 6%,var(--surface)))}.exp-item:after{content:"";position:absolute;left:-1.5px;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--exp-color);box-shadow:0 0 6px var(--exp-color),0 0 14px var(--exp-color),0 0 22px color-mix(in srgb,var(--exp-color) 50%,transparent);transform:scaleY(0);transform-origin:center;transition:transform .25s ease-out;pointer-events:none;z-index:3}.exp-item:hover:after{transform:scaleY(1)}.exp-marker{position:absolute;left:-2.6rem;top:1.75rem;width:14px;height:14px;border-radius:50%;background:var(--exp-color);box-shadow:0 0 0 4px #0009,0 0 18px color-mix(in srgb,var(--exp-color) 60%,transparent)}.exp-content{display:flex;align-items:flex-start;justify-content:space-between;gap:2.5rem;position:relative;z-index:1}.exp-logo-inline{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:7px;padding:4px;display:block;margin:0 0 .55rem;box-shadow:0 0 0 1px var(--border)}.exp-watermark-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:var(--radius-lg);pointer-events:none;z-index:0}.exp-logo-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:220px;height:220px;object-fit:contain;opacity:.06}.exp-content-left{flex:1 1 auto;min-width:0}.exp-content-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:120px}.exp-index{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.78rem;letter-spacing:.12em;color:var(--exp-color);margin-bottom:.6rem}.exp-title{font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-size:clamp(1.5rem,2.4vw,1.85rem);font-weight:500;line-height:1.15;margin:0 0 .65rem;color:var(--text)}.exp-company{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;color:var(--text-muted);font-size:.88rem;margin:0}.exp-shortname{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.7rem;letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem}.exp-date-end{font-size:1rem;font-weight:700;color:var(--text);line-height:1.2}.exp-bar{display:block;width:1px;height:22px;background:var(--exp-color);margin:.4rem 1.4rem .4rem 0;align-self:flex-end;opacity:.7}.exp-date-start{font-size:.95rem;font-weight:500;color:var(--text-muted);line-height:1.2}.exp-type{margin-top:.85rem;padding:.38rem .95rem;border:1.5px solid var(--exp-color);border-radius:999px;color:var(--exp-color);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.7rem;letter-spacing:.13em;font-weight:700;text-transform:uppercase}.resume-banner{--exp-color: #10b981;position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.6rem 2rem;border:1.5px dashed rgba(139,92,246,.45);border-radius:var(--radius-lg);background:transparent;text-decoration:none;transition:border-color .3s ease,background .3s ease,transform .3s ease}.resume-banner:hover{border-color:#8b5cf6d9;transform:translateY(-3px);background:linear-gradient(105deg,#8b5cf633,#8b5cf608)}.resume-banner .exp-marker{top:50%;transform:translateY(-50%)}.resume-banner-text{display:flex;flex-direction:column;gap:.4rem;min-width:0}.resume-banner-label{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#a78bfa;font-weight:600}.resume-banner-title{font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-size:1.85rem;font-weight:500;color:var(--text);line-height:1.1}.resume-banner-arrow{position:relative;flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--text);transition:transform .3s ease}.resume-banner-arrow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,transparent 0deg,#8b5cf6 15deg,#22d3ee 45deg,#8b5cf6 75deg,transparent 90deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:resume-arrow-spin 3.5s linear infinite;will-change:transform;pointer-events:none}@keyframes resume-arrow-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.resume-banner-arrow:before{animation:none}}.resume-banner-arrow svg{width:20px;height:20px}.resume-banner:hover .resume-banner-arrow{transform:translate(3px)}@media (max-width: 600px){.resume-banner{gap:1rem;padding:1.3rem 1.4rem}.resume-banner-title{font-size:1.5rem}}@media (max-width: 720px){.experience-items{padding-left:2.25rem}.experience-items:before{left:.55rem}.exp-marker{left:-2rem}.exp-content{flex-direction:column;gap:1.25rem}.exp-content-right{align-items:flex-start;text-align:left}.exp-bar{margin-right:0;align-self:flex-start}}.certifications{padding:80px 2rem;max-width:1100px;margin:0 auto}.cert-list{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center}.cert-chip{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.65rem 1.15rem;color:var(--text-muted);font-size:.95rem;transition:border-color .3s ease,color .3s ease}.cert-chip:hover{border-color:var(--accent);color:var(--text)}.divider{text-align:center;padding:3rem 2rem 1rem;font-size:1.1rem;color:var(--accent);letter-spacing:.1em}.contact{padding:60px 2rem 80px;text-align:center;max-width:720px;margin:0 auto}.contact h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:1.5rem;font-weight:800;letter-spacing:-.02em}.contact p{color:var(--text-muted);margin-bottom:2rem;font-size:1.05rem;line-height:1.8}.contact-actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.25rem}.contact-actions .btn-primary{position:relative;background:var(--surface);color:var(--text);font-weight:500;display:inline-flex;align-items:center;gap:.75rem;border:1.5px solid #2a2a2a;overflow:hidden;isolation:isolate;transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease}.contact-actions .btn-primary:hover{background:var(--surface-2);color:var(--text);border-color:transparent}@property --send-arc-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.contact-actions .btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--send-arc-angle),transparent 0deg,#8b5cf6 15deg,#22d3ee 45deg,#8b5cf6 75deg,transparent 90deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:send-arc-rotate 3.5s linear infinite;pointer-events:none}@keyframes send-arc-rotate{to{--send-arc-angle: 360deg}}[data-theme=light] .contact-actions .btn-primary{border-color:transparent}[data-theme=light] .contact-actions .btn-primary:after{background:conic-gradient(from var(--send-arc-angle),transparent 0deg,#ff0000 15deg,#00ff00 45deg,#0000ff 75deg,transparent 90deg,transparent 360deg)}@media (prefers-reduced-motion: reduce){.contact-actions .btn-primary:after{animation:none}}.contact-actions .btn-arrow{display:inline-flex;align-items:center;justify-content:center;transition:transform .3s ease}.contact-actions .btn-arrow svg{width:18px;height:18px}.contact-actions .btn-primary:hover .btn-arrow{transform:translate(2px,-2px)}.email-display{font-size:.95rem;color:var(--text-muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.about-teaser{padding:45px 2rem 0;background:var(--surface);text-align:center;position:relative}.about-teaser h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:1.25rem;font-weight:800}.about-teaser>p{font-size:1.15rem;color:var(--text-muted);margin-bottom:1.5rem}.teaser-text{color:var(--accent);font-weight:600;letter-spacing:.1em;margin-top:1rem}.site-copyright{text-align:center;font-size:.95rem;letter-spacing:.04em;color:var(--text);padding:1.4rem 1rem 110px}.footer{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:6000;display:flex;justify-content:center}.dock-divider{width:1px;height:32px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.28),transparent);align-self:center;flex:0 0 auto}[data-theme=light] .dock-divider{background:linear-gradient(to bottom,transparent,rgba(20,20,30,.28),transparent)}.social-links{display:flex;justify-content:center;align-items:center;gap:.85rem;background:linear-gradient(180deg,#ffffff1a,#ffffff05 45%,#fff0 60%,#ffffff0f),var(--dock-bg);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border:1px solid var(--dock-border);border-radius:60px;padding:.75rem 1.35rem;box-shadow:var(--shadow-lg),inset 0 1px #ffffff38,inset 0 -1px #ffffff0f;flex-wrap:nowrap}@media (max-width: 480px){.social-links{gap:clamp(.25rem,2vw,.6rem);padding:clamp(.45rem,2vw,.65rem) clamp(.6rem,3vw,1rem)}.icon-link{width:clamp(34px,10vw,44px);height:clamp(34px,10vw,44px)}.icon-link svg,.icon-link-img{width:clamp(17px,5vw,22px);height:clamp(17px,5vw,22px)}.dock-divider{height:clamp(22px,6vw,28px)}}.icon-link{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--dock-bg);color:var(--text-muted);transition:color .3s ease,background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;border:2px solid transparent}.icon-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,#8b5cf6,#22d3ee,#8b5cf6);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;pointer-events:none}.icon-link svg{width:25px;height:25px}.icon-link-img{width:25px;height:25px;object-fit:contain;filter:brightness(0) invert(1)}[data-theme=light] .icon-link-img{filter:brightness(0)}.icon-link:hover{color:var(--accent);background:#6366f11a;border-color:var(--accent);transform:translateY(-4px)}.icon-link.active{color:#f5f3ff;background:#140a2de6;border-color:transparent;transform:scale(1.18);box-shadow:0 8px 20px #0000008c,0 0 18px #8b5cf659}[data-theme=light] .icon-link.active{color:#1e1b4b;background:#6366f124}.icon-link.active:before{opacity:1;animation:dock-arc-spin 1.5s linear infinite;will-change:transform}@keyframes dock-arc-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.icon-link.active:before{animation:none}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--intro-bg);padding:2rem;cursor:pointer;isolation:isolate;contain:layout paint;transition:opacity .6s ease,visibility .6s ease,background .3s ease}.intro.hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-inner{position:relative;z-index:2;font-family:Lato,Helvetica Neue,Arial,sans-serif;font-size:clamp(2.5rem,8vw,6rem);font-weight:700;color:var(--intro-text);text-align:center;line-height:1.1;letter-spacing:0}.intro-trace{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.intro-trace-path{fill:none;stroke:url(#introTraceGrad);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(168,85,247,.75));animation-name:introTraceMove;animation-timing-function:linear;animation-fill-mode:forwards;will-change:stroke-dashoffset}@keyframes introTraceMove{0%{stroke-dashoffset:var(--trace-from)}to{stroke-dashoffset:var(--trace-to)}}@media (prefers-reduced-motion: reduce){.intro-trace-path{animation:none;stroke-dashoffset:0}}.intro-text-anim{white-space:pre-wrap}.intro-about .intro-text-anim{-webkit-text-stroke:.4px currentColor}.intro-caret{color:var(--accent);animation:blink 1.1s steps(2) infinite;margin-left:2px}.intro-skip{margin-top:2.5rem;color:var(--text-muted);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;opacity:0;animation:fadeIn .6s ease 1.2s forwards}@keyframes fadeIn{to{opacity:.7}}body.intro-active{overflow:hidden}body.intro-active .tech-marquee-track,body.intro-active .scroll-circle-text,body.intro-active .slideshow-img{animation-play-state:paused!important}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(10px);background:var(--surface-2);color:var(--text);border:1px solid var(--accent);border-radius:999px;padding:.6rem 1.15rem;font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:2000}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media (max-width: 1100px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.hero{padding:120px 1.5rem 60px}.nav-links{gap:1rem;font-size:.95rem}.tech-container{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1.25rem}.projects-grid{grid-template-columns:1fr}.exp-item{padding-left:4rem}.social-links{gap:.6rem;padding:.6rem 1rem}.icon-link{width:42px;height:42px}.icon-link svg{width:20px;height:20px}}@media (max-width: 480px){.navbar{padding:1rem 1.25rem}.nav-content{gap:.75rem}.nav-links{gap:.75rem;font-size:.85rem}.profile-pic{width:120px;height:120px}.tech-item{padding:1rem .5rem}.tech-item img{width:32px;height:32px}.tech-item span{font-size:.85rem}.exp-item{padding:1.25rem 1.25rem 1.25rem 3.5rem}.exp-number{left:1.25rem;top:1.25rem;font-size:1.2rem}}.contact-page{position:relative;min-height:100vh;background:var(--bg);overflow:hidden;padding:5rem 2rem 10rem}.contact-page-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 40%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 90%);pointer-events:none;z-index:0}.contact-page-glow{position:absolute;width:320px;height:320px;border-radius:50%;filter:blur(140px);pointer-events:none;z-index:0}.contact-page-glow-purple{top:0;left:-8%;background:var(--glow-purple)}.contact-page-glow-teal{bottom:4%;right:-8%;background:var(--glow-teal)}@media (max-width: 768px){.contact-page-glow{width:180px;height:180px;filter:blur(50px)}}.contact-page-inner{position:relative;z-index:1;width:100%;max-width:720px;margin:0 auto}.contact-page-title{font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-weight:700;font-size:clamp(2.4rem,5vw,3.4rem);color:var(--text);text-align:center;margin-bottom:1.5rem;letter-spacing:-.01em}.contact-page-sub{text-align:center;color:var(--text-muted);font-size:1.02rem;line-height:1.65;max-width:580px;margin:0 auto 4rem}.contact-form{display:flex;flex-direction:column;gap:1.75rem}.contact-field{display:flex;flex-direction:column;gap:.55rem}.contact-field>span{color:var(--text);font-size:.95rem;font-weight:400}.contact-field input,.contact-field textarea{background:var(--surface);border:1px solid var(--input-border);border-radius:14px;padding:1rem 1.2rem;color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .25s ease,background .25s ease;width:100%}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#8b5cf68c;background:var(--surface-2)}.contact-field textarea{resize:vertical;min-height:170px;font-family:inherit;line-height:1.5}@property --contact-btn-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.contact-form-submit{position:relative;margin-top:.75rem;background:var(--surface);border:1.5px solid var(--input-border);border-radius:14px;padding:1.1rem 1.5rem;color:var(--text);font-family:inherit;font-size:1.05rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:transform .2s ease,background .3s ease;width:100%;isolation:isolate}.contact-form-submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--contact-btn-angle),transparent 0deg,#0000ff 15deg,#5b21b6 45deg,#22d3ee 75deg,transparent 90deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:contact-btn-spin 3.5s linear infinite;pointer-events:none}@keyframes contact-btn-spin{to{--contact-btn-angle: 360deg}}.contact-form-submit:hover{transform:translateY(-2px)}[data-theme=light] .contact-form-submit{border-color:transparent}.contact-form-submit:disabled{cursor:progress;opacity:.7;transform:none}.contact-form-submit:disabled:before{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.contact-form-submit:before{animation:none}}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form-status{margin-top:.25rem;padding:.85rem 1rem;border-radius:12px;font-size:.95rem;line-height:1.5;text-align:center}.contact-form-status-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.45);color:var(--status-success-text);font-weight:500}.contact-form-status-error{background:#ef44441f;border:1px solid rgba(239,68,68,.45);color:var(--status-error-text);font-weight:500}.contact-field input:disabled,.contact-field textarea:disabled{opacity:.6;cursor:not-allowed}.my-projects-page{position:relative;min-height:100vh;padding:2.5rem 10rem 7rem;background:var(--bg);overflow:hidden;box-sizing:border-box}.project-detail-page{position:relative;min-height:100vh;padding:6.25rem 4rem 7rem;background:var(--bg);overflow:hidden;box-sizing:border-box}.project-detail-content{position:relative;z-index:1}.project-detail-back{display:inline-flex;align-items:center;gap:.5rem;color:#a855f7;font-size:.95rem;font-weight:500;text-decoration:none;margin-bottom:1.25rem;transition:color .2s ease,transform .2s ease}.project-detail-back svg{width:18px;height:18px}.project-detail-back:hover{color:#c084fc;transform:translate(-3px)}.project-detail-title{font-family:"Instrument Serif",serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--text);margin:0 0 2.5rem;letter-spacing:-.01em}.project-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.75rem;align-items:start}.project-detail-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:1.75rem;margin-bottom:1.5rem;box-shadow:var(--shadow-lg);transition:background .3s ease,border-color .3s ease}.project-detail-card:last-child{margin-bottom:0}.project-detail-main .project-detail-card:last-child{margin-bottom:0}.project-detail-card-heading{font-family:"Instrument Serif",serif;font-size:1.5rem;font-weight:500;color:var(--text);margin:0 0 1rem}.project-detail-main .project-detail-card-heading{font-size:2.25rem}.project-detail-badge{color:var(--text);font-size:.95rem;font-weight:500;margin:0 0 .5rem}.project-detail-body{color:var(--text-muted);font-size:1.1rem;line-height:1.7;margin:0 0 1rem}.project-detail-body:last-child{margin-bottom:0}.project-detail-muted{opacity:.7;font-style:italic}.project-detail-side{position:sticky;top:1.5rem}.project-detail-logo-card{background:#fff;border-radius:18px;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;overflow:hidden}.project-detail-logo-card img{width:100%;height:100%;object-fit:fill}.project-detail-logo-btn{width:100%;height:100%;padding:0;border:0;background:transparent;display:block;cursor:zoom-in}.project-detail-logo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.project-detail-logo-card:has(img[src*=Linklens]){background:#000}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7000;background:#000000e0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:4rem 2rem;cursor:zoom-out;animation:image-lightbox-fade .2s ease}@keyframes image-lightbox-fade{0%{opacity:0}to{opacity:1}}.image-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 24px 64px #0009;cursor:default;background:#fff}.image-lightbox-close{position:fixed;top:1.5rem;right:1.5rem;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#00000080;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;z-index:7100;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .2s ease}.image-lightbox-close:hover{background:#000000d9;border-color:#fff9;transform:scale(1.05)}.image-lightbox-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-detail-logo-placeholder{font-family:"Instrument Serif",serif;font-size:1.75rem;color:#2a2a2a;text-align:center;padding:1rem}.project-detail-share-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.project-detail-share-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .5rem;border-radius:12px;background:transparent;color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.project-detail-share-btn svg{width:22px;height:22px}.project-detail-share-btn.share-purple{border:1.5px solid rgba(168,85,247,.55);background:#a855f71a}.project-detail-share-btn.share-purple:hover{background:#a855f733;transform:translateY(-2px)}.project-detail-share-btn.share-blue{border:1.5px solid rgba(56,189,248,.55);background:#38bdf81a}.project-detail-share-btn.share-blue:hover{background:#38bdf833;transform:translateY(-2px)}.project-detail-meta{display:grid;grid-template-columns:1fr;gap:.35rem;margin:0}.project-detail-meta dt{color:var(--text-muted);font-size:.85rem;margin-top:.6rem}.project-detail-meta dt:first-child{margin-top:0}.project-detail-meta dd{color:var(--text);font-size:1rem;margin:0}.project-detail-chips{display:flex;flex-wrap:wrap;gap:.5rem}.project-detail-chip{display:inline-flex;align-items:center;padding:.45rem .85rem;border-radius:10px;font-size:.85rem;font-weight:500;line-height:1.1}.project-detail-chip.chip-purple{background:#a855f724;border:1px solid rgba(168,85,247,.45);color:var(--chip-purple-text)}.project-detail-chip.chip-blue{background:#38bdf824;border:1px solid rgba(56,189,248,.45);color:var(--chip-blue-text)}.project-detail-links{display:flex;flex-direction:column;gap:.65rem}.project-detail-link{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:12px;text-decoration:none;font-size:.95rem;font-weight:500;transition:background .2s ease,transform .2s ease}.project-detail-link svg{width:22px;height:22px;flex:0 0 auto}.project-detail-link.link-github{background:var(--tint-soft);border:1px solid var(--tint-divider);color:var(--text)}.project-detail-link.link-github:hover{background:var(--tint-soft-hover);transform:translateY(-2px)}.project-detail-link.link-devpost{background:#07598526;border:1.5px solid rgba(56,189,248,.55);color:#7dd3fc}.project-detail-link.link-devpost:hover{background:#0759854d;transform:translateY(-2px)}.project-detail-link.link-live{background:#22c55e1f;border:1.5px solid rgba(74,222,128,.55);color:#86efac}.project-detail-link.link-live:hover{background:#22c55e38;transform:translateY(-2px)}.project-detail-link.link-chrome{background:#4285f41f;border:1.5px solid rgba(96,165,250,.55);color:#93c5fd}.project-detail-link.link-chrome:hover{background:#4285f438;transform:translateY(-2px)}@media (max-width: 900px){.project-detail-page{padding:3rem 1.5rem 9rem}.project-detail-grid{grid-template-columns:1fr}.project-detail-side{position:static}.project-detail-main,.project-detail-side{display:contents}.project-detail-logo-card{order:1}.pd-card-meta{order:2}.pd-card-tech{order:3}.pd-card-categories{order:4}.pd-card-links{order:5}.pd-card-overview{order:6}.pd-card-description{order:7}.project-detail-share{order:8}}.my-projects-grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 35%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse at center,black 35%,transparent 85%);pointer-events:none;z-index:0}.my-projects-glow{position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(160px);background:var(--glow-cyan);bottom:10%;right:-8%;pointer-events:none;z-index:0}.my-projects-header{position:relative;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1.5rem}.my-projects-title{font-family:"Instrument Serif",Times New Roman,Georgia,serif;font-weight:700;-webkit-text-stroke:.8px currentColor;font-size:clamp(2.2rem,4vw,3rem);color:var(--text);display:inline-flex;align-items:center;grid-column:2;gap:.75rem;margin:0;line-height:1}.my-projects-sparkle{width:1.1em;height:1.1em;color:var(--text);flex:0 0 auto}.my-projects-filter{position:relative;grid-column:3;justify-self:end}.my-projects-filter-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem 1.1rem;background:var(--surface);border:2.5px solid rgba(255,255,255,.9);border-radius:999px;color:var(--text);font-family:inherit;font-size:.95rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}@media (min-width: 769px){.my-projects-filter-trigger{min-width:107px}}[data-theme=light] .my-projects-filter-trigger{border-color:#14141ed9}.my-projects-filter-trigger svg{width:14px;height:14px;transition:transform .2s ease}.my-projects-filter.open .my-projects-filter-trigger svg{transform:rotate(180deg)}.my-projects-filter-trigger:hover{border-color:var(--accent)}.my-projects-filter-menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:210px;background:var(--surface);border:1px solid var(--card-border);border-radius:12px;padding:.35rem;list-style:none;margin:0;z-index:100;box-shadow:var(--shadow-lg)}.my-projects-filter-menu li button{width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:.92rem;padding:.5rem .75rem;border-radius:8px;cursor:pointer}.my-projects-filter-menu li button:hover{background:var(--tint-soft-hover)}.my-projects-filter-menu li button.active{background:#8b5cf62e;color:#d8c4ff}[data-theme=light] .my-projects-filter-menu li button.active{background:#8b5cf62e;color:#5b21b6;font-weight:600}.my-projects-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.my-project-card{position:relative;display:flex;flex-direction:column;background:var(--card-bg);border:1.5px solid rgba(255,255,255,.22);border-radius:16px;padding:1.1rem 1.25rem 0;overflow:hidden;transition:border-color .25s ease,transform .25s ease,background .25s ease;text-decoration:none;color:inherit;cursor:pointer}.my-project-card:hover{border-color:#8b5cf68c;transform:translateY(-3px)}[data-theme=light] .my-project-card{border-color:#14141e47}[data-theme=light] .my-project-card:hover{border-color:#8b5cf68c}.my-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.my-project-title{margin:0;font-size:1.55rem;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:.5rem;line-height:1.2}.my-project-star{width:22px;height:22px;flex:0 0 auto;filter:drop-shadow(0 0 6px rgba(251,191,36,.4))}.my-project-arrow{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid var(--tint-divider);color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:background .25s ease,border-color .25s ease,transform .25s ease;text-decoration:none}.my-project-arrow svg{width:20px;height:20px;transition:transform .25s ease}.my-project-arrow:hover{background:#8b5cf633;border-color:#8b5cf699}.my-project-arrow:hover svg{transform:rotate(-45deg)}.my-project-desc{color:var(--text);font-size:.95rem;line-height:1.5;margin:0 0 .6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.my-project-trophy{color:#fbbf24}.my-project-thumb{display:block;height:160px;background:var(--tint-soft);overflow:hidden;border-radius:8px;margin:0 3.75rem 1rem;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.my-project-thumb:hover{transform:scale(1.07);box-shadow:0 0 32px #0000008c,0 14px 32px #00000073}.my-project-card:hover .my-project-arrow svg{transform:rotate(-45deg)}.my-project-card:hover .my-project-arrow{background:#8b5cf633;border-color:#8b5cf699}.my-project-thumb img{width:100%;height:100%;object-fit:cover;display:block}.my-project-thumb-empty{background:linear-gradient(135deg,#8b5cf60f,#22d3ee0a)}@media (max-width: 900px){.my-projects-page{padding:3rem 1.5rem 9rem}.my-projects-grid{grid-template-columns:1fr}.my-projects-glow{width:320px;height:320px}}.contact-form-submit svg{width:22px;height:22px;transform:rotate(-45deg)}@media (max-width: 600px){.contact-page{padding:3rem 1.25rem 9rem}.contact-page-sub{margin-bottom:2.5rem}}.resume-page{position:relative;min-height:100vh;padding:5rem 7rem 9rem;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:3rem;color:var(--text);overflow:hidden}.resume-page .my-projects-grid-bg,.resume-page .my-projects-glow{z-index:0}.resume-content{position:relative;z-index:1;max-width:900px;font-size:1.1rem}.resume-header{position:relative}.resume-name{font-family:"Instrument Serif",serif;font-weight:700;font-size:clamp(2.4rem,4.5vw,3.4rem);margin:0;display:inline-flex;align-items:center;gap:.7rem;line-height:1.05}.resume-sparkle{width:.9em;height:.9em;color:var(--text);flex:0 0 auto}.resume-role{margin:.6rem 0 .2rem;font-weight:700;font-size:1.3rem}.resume-loc{margin:0;font-weight:700;font-size:1.2rem;color:var(--text)}.resume-download{position:absolute;top:50%;right:0;transform:translateY(20%);background:var(--surface-2);border:1px solid var(--tint-divider);border-radius:999px;color:var(--text);padding:.55rem 1.1rem;font-family:inherit;font-size:1.05rem;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;transition:background .22s ease,border-color .22s ease}.resume-download svg{width:16px;height:16px}.resume-download:hover{background:var(--tint-soft-hover);border-color:var(--accent)}.resume-divider{height:1px;background:#ffffff38;margin:1.4rem 0}.resume-section{margin:2.8rem 0;scroll-margin-top:5rem}.resume-section-heading{font-size:1.25rem;letter-spacing:.14em;font-weight:700;margin:0 0 1.2rem}.resume-subheading{font-size:1.1rem;font-weight:700;letter-spacing:.06em;margin:1.6rem 0 .7rem}.resume-contact{display:grid;grid-template-columns:max-content 1fr;column-gap:1.5rem;row-gap:.55rem;margin:0}.resume-contact dt{font-weight:700}.resume-contact dd{margin:0;min-width:0;word-break:break-all}.resume-contact a{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}.resume-contact a svg{width:14px;height:14px}.resume-contact a:hover{color:var(--accent-light)}.resume-skill-list{margin:0;line-height:1.8}.resume-skill{display:inline;text-decoration:underline;text-decoration-color:var(--skill-underline);text-underline-offset:4px;margin-right:.45rem}.resume-edu-item{margin-bottom:1.4rem}.resume-exp-item{margin-bottom:1.4rem;display:grid;grid-template-columns:22px 56px 1fr;gap:1rem;align-items:start}.resume-timeline-list{position:relative}.resume-timeline-list:before{content:"";position:absolute;left:10px;top:14px;bottom:14px;width:2px;background:linear-gradient(to bottom,rgba(var(--resume-dot-rgb),0),rgba(var(--resume-dot-rgb),.6) 8%,rgba(var(--resume-dot-rgb),.6) 92%,rgba(var(--resume-dot-rgb),0));z-index:0}.resume-timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--resume-dot);border:2px solid var(--bg);box-shadow:0 0 0 2px var(--text);margin-top:8px;align-self:start;justify-self:center;position:relative;z-index:1}.resume-exp-logo{width:56px;height:56px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}.resume-exp-logo img{width:100%;height:100%;object-fit:contain;padding:6px}.resume-exp-logo-empty{background:#ffffff08}.resume-exp-body{min-width:0}.resume-edu-head,.resume-exp-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;flex-wrap:wrap}.resume-edu-meta,.resume-exp-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--text);font-size:1.05rem;margin-top:.15rem;flex-wrap:wrap}.resume-edu-gpa{color:var(--text);font-size:1.05rem;margin-top:.15rem}.resume-edu-coursework{color:var(--text);font-size:1.05rem;margin-top:.35rem;line-height:1.5}.resume-edu-coursework strong{color:var(--text);font-weight:600}.resume-exp-bullets{margin:.55rem 0 0;padding-left:1.2rem}.resume-exp-bullets li{margin:.25rem 0;color:var(--text)}.resume-pub-list,.resume-cert-list{list-style:disc;padding-left:1.25rem;margin:0}.resume-pub-stack{display:flex;flex-direction:column;gap:1.2rem}.resume-pub-item{color:var(--text)}.resume-pub-title{font-size:1.1rem;line-height:1.4}.resume-pub-meta{color:var(--text-muted);font-size:.95rem;margin-top:.2rem}.resume-pub-desc{margin:.35rem 0 0;line-height:1.55}.resume-project-list{list-style:none;padding-left:0;margin:0}.resume-project-item{margin:1rem 0 1.4rem;display:grid;grid-template-columns:22px 1fr;gap:1rem;align-items:start}.resume-project-body{min-width:0}.resume-project-title{color:var(--text);font-size:1.15rem}.resume-project-link{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.resume-project-link svg{width:14px;height:14px}.resume-project-link:hover{color:var(--accent-light)}.resume-project-desc{margin:.25rem 0 .3rem;color:var(--text);line-height:1.55}.resume-project-bullets{list-style:disc;padding-left:1.2rem;margin:.25rem 0 .4rem}.resume-project-bullets li{margin:.2rem 0;color:var(--text);line-height:1.55}.resume-project-meta{margin:.15rem 0;color:var(--text);line-height:1.55;font-size:1.05rem}.resume-project-meta-label{color:var(--text);font-weight:600;margin-right:.25rem}.resume-cert-list li,.resume-pub-list li{margin:.3rem 0;color:var(--text)}.resume-cert-link{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;transition:color .2s ease}.resume-cert-link svg{width:14px;height:14px}.resume-cert-link:hover{color:var(--accent-light)}.resume-empty{color:var(--text);font-style:italic;margin:0}.resume-toc{position:sticky;top:4rem;align-self:start;background:var(--surface);border:1px solid var(--card-border);border-radius:18px;padding:1.4rem 1.1rem;z-index:1;font-size:1.05rem;transition:background .3s ease,border-color .3s ease}.resume-toc-heading{font-family:"Instrument Serif",serif;font-weight:500;font-size:1.65rem;margin:0 0 .6rem;padding:0 .3rem}.resume-toc-heading+ul{border-top:1px solid var(--tint-divider);padding-top:.7rem}.resume-toc ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.resume-toc a{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:.75rem;padding:.55rem .7rem;border-radius:10px;transition:background .2s ease,color .2s ease}.resume-toc a:hover{color:var(--text);background:var(--tint-soft)}.resume-toc li.active a{background:#8b5cf62e;border:1px solid rgba(139,92,246,.55);color:var(--text)}.resume-toc-dot{width:8px;height:8px;border-radius:50%;background:#ffffff59;flex:0 0 auto}.resume-toc li.active .resume-toc-dot{background:#a78bfa}@media (max-width: 1024px){.resume-page{grid-template-columns:1fr;padding:4rem 1.5rem 9rem;gap:2rem}.resume-toc{position:static;padding:1.4rem 1.25rem;border:2px solid rgba(139,92,246,.38)}[data-theme=light] .resume-toc{border-color:#5b21b666}.resume-content{display:contents}.resume-header{order:-3}.resume-divider{order:-2}.resume-toc{order:-1}.resume-toc-heading{text-align:center;font-size:0}.resume-toc-heading:before{content:attr(data-mobile-label);font-family:"Instrument Serif",serif;font-weight:500;font-size:1.6rem}.resume-toc-heading+ul{border-top:none;padding-top:0}.resume-toc ul{gap:.65rem;margin-top:.6rem}.resume-toc a{justify-content:center;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--tint-divider);background:#ffffff05;font-size:1rem}.resume-toc li.active a{background:#ffffff05;border-color:var(--tint-divider)}.resume-toc-dot{display:none}}@media (max-width: 600px){.resume-page{padding:3rem 1.1rem 9rem}.resume-name{font-size:2rem}.resume-download{position:static;transform:none;margin-top:.8rem}}
