@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{--font-display:"Space Grotesk", "Segoe UI", sans-serif;--font-body:"DM Sans", "Segoe UI", sans-serif;--font-mono:"Space Mono", Consolas, monospace;--bg-base:#08111b;--bg-gradient:radial-gradient(circle at 15% 15%, #ffffff07 0%, transparent 40%), radial-gradient(circle at 82% 28%, #38bdf817 0%, transparent 44%), linear-gradient(135deg, #08111b, #060d15);--surface-card:#0e1722e0;--surface-card-hover:#182432f2;--surface-glass:#0e1722cc;--surface-pill:#ffffff0d;--surface-pill-hover:#ffffff1a;--surface-input:#0a0f1cb3;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-dim:#64748b;--accent-rose:#00b4d8;--accent-rose-soft:#00b4d81f;--accent-rose-border:#00b4d857;--accent-rose-glow:#00b4d838;--accent-blush:#7dd3fc;--accent-lavender:#60a5fa;--accent-cyan:#00b4d8;--accent-blue:#00b4d8;--accent-emerald:#10b981;--accent-gold:#f59e0b;--border-subtle:#ffffff14;--border-medium:#ffffff24;--border-glow:#38bdf84d;--shadow-sm:0 4px 12px #00000040;--shadow-md:0 10px 28px #00000059;--shadow-lg:0 20px 48px #00000080;--shadow-rose:0 12px 32px #38bdf82e;--shadow-glow:0 0 32px #38bdf824;--nav-bg:#090d1ad9;--modal-backdrop:#04060ee0}.theme-light{--bg-base:#f8fafc;--bg-gradient:radial-gradient(circle at 15% 15%, #ff4b9112 0%, transparent 45%), radial-gradient(circle at 85% 40%, #a855f70d 0%, transparent 40%), radial-gradient(circle at 50% 80%, #38bdf80d 0%, transparent 45%), #f8fafc;--surface-card:#ffffffe0;--surface-card-hover:#fffffffa;--surface-glass:#ffffffbf;--surface-pill:#f1f5f9e6;--surface-pill-hover:#e2e8f0;--surface-input:#fff;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-dim:#94a3b8;--accent-rose:#e11d48;--accent-rose-soft:#e11d4814;--accent-rose-border:#e11d4840;--accent-rose-glow:#e11d4829;--accent-blush:#f43f5e;--accent-lavender:#9333ea;--accent-cyan:#0284c7;--accent-emerald:#059669;--accent-gold:#d97706;--border-subtle:#0f172a14;--border-medium:#0f172a24;--border-glow:#e11d484d;--shadow-sm:0 2px 8px #0f172a0d;--shadow-md:0 8px 24px #0f172a14;--shadow-lg:0 16px 40px #0f172a1f;--shadow-rose:0 10px 28px #e11d4824;--shadow-glow:0 0 28px #e11d481f;--nav-bg:#ffffffe0;--modal-backdrop:#0f172a99}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-width:320px;min-height:100vh;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-base);background-image:var(--bg-gradient);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0;transition:background-color .35s,color .35s;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--accent-rose)}::selection{background:var(--accent-rose);color:#fff}button,input,textarea,select{color:inherit;font-family:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img,svg{display:block}body.custom-cursor-active,body.custom-cursor-active a,body.custom-cursor-active button,body.custom-cursor-active input,body.custom-cursor-active textarea,body.custom-cursor-active [role=button]{cursor:none!important}.custom-cursor-wrapper{pointer-events:none;z-index:99999;position:fixed;inset:0}.cursor-dot{pointer-events:none;will-change:transform;background:#fff;border-radius:50%;width:8px;height:8px;transition:opacity .2s;position:fixed;top:-4px;left:-4px;box-shadow:0 0 12px #fffc}.cursor-dot.is-hovered{opacity:0}.cursor-ring{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;will-change:transform;background:#ffffff14;border:1.5px solid #ffffff73;border-radius:50%;place-items:center;width:40px;height:40px;transition:width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),top .25s cubic-bezier(.16,1,.3,1),left .25s cubic-bezier(.16,1,.3,1),background-color .25s,border-color .25s;display:grid;position:fixed;top:-20px;left:-20px;box-shadow:0 0 20px #ffffff40}.cursor-ring.is-hovered{background:#ffffff38;border-color:#fff;width:56px;height:56px;top:-28px;left:-28px;box-shadow:0 0 30px #ffffff73}.cursor-ring.is-clicked{transform:scale(.82)}.cursor-label{letter-spacing:.05em;color:#fff;text-transform:uppercase;font-size:.65rem;font-weight:800}@media (pointer:coarse),(hover:none){.custom-cursor-wrapper{display:none!important}body.custom-cursor-active,body.custom-cursor-active *{cursor:auto!important}}.interactive-bg-wrapper{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.ambient-light-pool{pointer-events:none;filter:blur(100px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.pool-rose{background:radial-gradient(circle, var(--accent-rose-glow) 0%, #ff4b911f 50%, transparent 70%);width:550px;height:550px;animation:18s ease-in-out infinite alternate float-pool-1;top:-100px;left:15%}.pool-violet{background:radial-gradient(circle,#a855f72e 0%,#a855f714 50%,#0000 70%);width:580px;height:580px;animation:22s ease-in-out infinite alternate float-pool-2;top:40%;right:-80px}.pool-cyan{background:radial-gradient(circle,#06b6d424 0%,#06b6d40f 50%,#0000 70%);width:520px;height:520px;animation:20s ease-in-out infinite alternate float-pool-3;bottom:-120px;left:10%}@keyframes float-pool-1{0%{transform:translate(0)scale(1)}50%{transform:translate(40px,30px)scale(1.08)}to{transform:translate(-30px,50px)scale(.95)}}@keyframes float-pool-2{0%{transform:translate(0)scale(1)}50%{transform:translate(-50px,-40px)scale(1.12)}to{transform:translate(30px,30px)scale(.92)}}@keyframes float-pool-3{0%{transform:translate(0)scale(1)}50%{transform:translate(60px,-30px)scale(1.05)}to{transform:translate(-40px,-40px)scale(.96)}}.bg-grid-overlay{pointer-events:none;background-image:linear-gradient(90deg,#ffffff05 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 0%,#0000004d 70%,#0000 100%);mask-image:radial-gradient(#000 0%,#0000004d 70%,#0000 100%)}.theme-light .bg-grid-overlay{background-image:linear-gradient(90deg,#0f172a08 1px,#0000 1px),linear-gradient(#0f172a08 1px,#0000 1px)}.bg-interactive-canvas{pointer-events:none;opacity:.7;width:100%;height:100%;position:absolute;inset:0}.reveal-hero-item{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) forwards hero-fade-up;transform:translateY(22px)}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.reveal-delay-1{animation-delay:80ms}.reveal-delay-2{animation-delay:.18s}.reveal-delay-3{animation-delay:.28s}.reveal-delay-4{animation-delay:.38s}.reveal-delay-5{animation-delay:.48s}.reveal-on-scroll{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.reveal-on-scroll.is-revealed{opacity:1;transform:translateY(0)}.reveal-slide-left{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translate(-40px)scale(.98)}.reveal-slide-left.is-revealed{opacity:1;transform:translate(0)scale(1)}.reveal-slide-right{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translate(40px)scale(.98)}.reveal-slide-right.is-revealed{opacity:1;transform:translate(0)scale(1)}.reveal-scale-tilt{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translateY(32px)scale(.95)rotate(-.5deg)}.reveal-scale-tilt.is-revealed{opacity:1;transform:translateY(0)scale(1)rotate(0)}.reveal-stagger-child{opacity:0;will-change:opacity, transform;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(24px)scale(.96)}.reveal-stagger-child.is-revealed{opacity:1;transform:translateY(0)scale(1)}.reveal-stagger-child:first-child{transition-delay:60ms}.reveal-stagger-child:nth-child(2){transition-delay:.12s}.reveal-stagger-child:nth-child(3){transition-delay:.18s}.reveal-stagger-child:nth-child(4){transition-delay:.24s}.reveal-stagger-child:nth-child(5){transition-delay:.3s}.reveal-stagger-child:nth-child(6){transition-delay:.36s}.reveal-stagger-child:nth-child(7){transition-delay:.42s}.reveal-stagger-child:nth-child(8){transition-delay:.48s}.project-card-modern,.skill-card-modern,.certificate-card-modern,.about-contact-card,.contact-channel-card{transform:var(--tilt-transform,none);will-change:transform;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;position:relative}.project-card-modern:before,.skill-card-modern:before,.certificate-card-modern:before,.about-contact-card:before,.contact-channel-card:before{content:"";border-radius:inherit;background:radial-gradient(400px circle at var(--mouse-x,-999px) var(--mouse-y,-999px), #ff4b911f, transparent 70%);pointer-events:none;opacity:0;z-index:1;transition:opacity .4s;position:absolute;inset:0}.project-card-modern:hover:before,.skill-card-modern:hover:before,.certificate-card-modern:hover:before,.about-contact-card:hover:before,.contact-channel-card:hover:before{opacity:1}.timeline-spine-track{background:#ffffff14;border-radius:99px;width:3px;position:absolute;top:24px;bottom:24px;left:50%;overflow:hidden;transform:translate(-50%)}.timeline-progress-beam{background:linear-gradient(180deg, var(--accent-rose) 0%, var(--accent-lavender) 60%, var(--accent-cyan) 100%);width:100%;height:0%;box-shadow:0 0 14px var(--accent-rose-glow), 0 0 24px var(--accent-cyan);border-radius:99px;transition:height .15s ease-out;position:absolute;top:0;left:0}.timeline-item.node-active .timeline-node-circle{box-shadow:0 0 20px var(--accent-color,var(--accent-rose)), 0 0 35px var(--accent-rose-glow);background:var(--surface-card);border-color:#fff;transform:scale(1.15)}.timeline-item.node-active .milestone-card{border-color:var(--accent-color,var(--accent-rose-border));box-shadow:0 8px 30px #00000059, 0 0 18px var(--accent-rose-glow)}.site-shell{background-color:var(--bg-base);min-height:100vh;color:var(--text-primary);transition:background-color .35s,color .35s;position:relative;overflow-x:hidden}.scroll-indicator-bar{background:linear-gradient(90deg, var(--accent-rose), var(--accent-lavender), var(--accent-cyan));z-index:100;height:3px;box-shadow:0 0 10px var(--accent-rose-glow);transition:width .1s ease-out;position:fixed;top:0;left:0}.main-content{z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(16px,3.5vw,32px);position:relative}.compact-section{border-top:1px solid var(--border-subtle);padding:clamp(48px,6vw,68px) 0;scroll-margin-top:110px}.section-header{max-width:720px;margin-bottom:clamp(24px,3.5vw,36px)}.eyebrow-line{background:var(--accent-rose);width:24px;height:2.5px;box-shadow:0 0 10px var(--accent-rose-glow);border-radius:99px}.section-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);margin-bottom:8px;font-size:clamp(1.85rem,3.2vw,2.5rem);font-weight:700;line-height:1.2}.section-desc{color:var(--text-muted);font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.6}.nav-wrap{z-index:50;pointer-events:none;justify-content:center;padding:0 clamp(16px,3vw,24px);transition:transform .3s;display:flex;position:fixed;top:16px;left:0;right:0}.nav{pointer-events:auto;background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-medium);width:100%;max-width:1140px;height:60px;box-shadow:var(--shadow-md);border-radius:999px;justify-content:space-between;align-items:center;padding:0 16px 0 20px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.nav-wrap.is-scrolled .nav{max-width:980px;height:52px;box-shadow:var(--shadow-lg), 0 0 20px var(--accent-rose-glow);border-color:var(--border-glow)}.wordmark-btn{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;align-items:baseline;padding:4px 0;font-size:1.25rem;font-weight:800;display:flex}.wordmark-dot{color:var(--accent-rose);font-size:1.4rem;line-height:0}.nav-links{align-items:center;gap:4px;display:flex}.nav-link-btn{font-family:var(--font-body);color:var(--text-secondary);border-radius:999px;padding:6px 13px;font-size:.84rem;font-weight:600;transition:all .2s}.nav-link-btn.is-active{color:#fff;background:var(--accent-rose);box-shadow:0 2px 10px var(--accent-rose-glow)}.theme-light .nav-link-btn.is-active{color:#fff}.nav-actions{align-items:center;gap:8px;display:flex}.theme-toggle-btn{background:var(--surface-pill);width:36px;height:36px;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:50%;place-items:center;transition:all .25s;display:grid}.theme-toggle-btn:hover{background:var(--surface-pill-hover);color:var(--accent-rose);transform:rotate(18deg)}.nav-resume-btn{color:var(--accent-rose);background:var(--accent-rose-soft);border:1px solid var(--accent-rose-border);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.nav-resume-btn:hover{background:var(--accent-rose);color:#fff;box-shadow:0 4px 14px var(--accent-rose-glow);transform:translateY(-1px)}.menu-toggle-btn{background:var(--surface-pill);width:36px;height:36px;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:50%;place-items:center;display:none}.burger-bars{background:currentColor;width:16px;height:2px;display:block;position:relative}.burger-bars:before,.burger-bars:after{content:"";background:currentColor;width:16px;height:2px;transition:transform .2s;position:absolute;left:0}.burger-bars:before{top:-5px}.burger-bars:after{bottom:-5px}.section-header{margin-bottom:28px}.eyebrow-wrapper{align-items:center;gap:10px;margin-bottom:8px;display:inline-flex}.eyebrow-line{background:var(--accent-rose);border-radius:2px;width:20px;height:2px}.eyebrow-text{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent-rose);text-transform:uppercase;font-size:.76rem;font-weight:700}.section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(28px,4vw,56px);display:grid}.hero-content{flex-direction:column;align-items:flex-start;display:flex}.status-pill{background:var(--surface-pill);border:1px solid var(--border-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;display:inline-flex}.status-dot{background:var(--accent-emerald);width:7px;height:7px;box-shadow:0 0 8px var(--accent-emerald);border-radius:50%}.status-dot.pulse{animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.35)}}.status-mono{font-family:var(--font-mono);color:var(--accent-emerald);letter-spacing:-.02em;background:#10b9811f;border:1px solid #10b98140;border-radius:5px;padding:2px 7px;font-size:.74rem;font-weight:700}.status-divider{color:var(--text-dim)}.status-text{letter-spacing:.08em;color:var(--accent-emerald);font-size:.74rem;font-weight:700}.hero-domain-strip{color:var(--accent-cyan);font-family:var(--font-mono);letter-spacing:.18em;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 22px;font-size:.78rem;font-weight:700;display:flex}.hero-domain-mark{color:var(--accent-cyan);letter-spacing:0}.hero-domain-strip i{background:var(--accent-cyan);width:4px;height:4px;box-shadow:0 0 8px var(--accent-cyan);border-radius:50%;flex:none}.hero-telemetry-hud{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--font-mono);color:var(--text-secondary);background:#0a0f1c99;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;width:fit-content;max-width:100%;margin-top:20px;padding:8px 18px;font-size:.76rem;display:inline-flex;box-shadow:0 4px 16px #0003}.hud-metric{align-items:center;gap:7px;display:inline-flex}.hud-metric-icon{color:var(--accent-rose);place-items:center;display:grid}.hud-code-text{color:var(--text-secondary);font-weight:500}.hud-sep{color:var(--text-dim);opacity:.5}.hud-lang-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.hud-lang-dot.py{background:#38bdf8;box-shadow:0 0 6px #38bdf8}.hud-lang-dot.ts{background:#3178c6;box-shadow:0 0 6px #3178c6}.hud-code-tag{color:var(--accent-emerald);background:#10b9811a;border:1px solid #10b98133;border-radius:5px;padding:2px 7px;font-weight:600}.hero-title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--text-primary);margin-bottom:14px;font-size:clamp(2.3rem,4.5vw,3.6rem);font-weight:800;line-height:1.12}.gradient-text{background:linear-gradient(135deg, var(--accent-rose), var(--accent-blush), var(--accent-lavender));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:1.05rem;display:flex}.hero-name{font-family:var(--font-display);color:var(--accent-rose);font-weight:700}.hero-separator{color:var(--text-dim)}.hero-role-text{color:var(--text-secondary);font-weight:500}.hero-bio{color:var(--text-muted);max-width:580px;margin-bottom:20px;font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.62}.hero-social-strip{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex}.social-badge-card{background:var(--surface-card);border:1px solid var(--border-subtle);color:var(--text-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;align-items:center;gap:7px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .25s;display:inline-flex}.social-badge-card:hover{color:var(--text-primary);border-color:var(--accent-rose-border);background:var(--surface-card-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.social-badge-card.linkedin:hover{border-color:#38bdf866}.linkedin-letter{color:var(--accent-cyan);font-size:.95rem;font-weight:800;line-height:1}.arrow-icon{opacity:.5;transition:transform .2s,opacity .2s}.social-badge-card:hover .arrow-icon{opacity:1;transform:translate(2px,-2px)}.location-chip{background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:12px;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:500;display:inline-flex}.pin-icon{color:var(--accent-rose)}.hero-action-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-primary{background:var(--accent-rose);color:#fff;box-shadow:0 4px 18px var(--accent-rose-glow);border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:.9rem;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary:hover{box-shadow:0 8px 26px var(--accent-rose-glow);background:var(--accent-blush);transform:translateY(-2px)}.btn-secondary{background:var(--surface-pill);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:var(--surface-pill-hover);border-color:var(--accent-rose-border);transform:translateY(-2px)}.btn-ghost{color:var(--text-muted);border-radius:999px;align-items:center;gap:7px;padding:12px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-ghost:hover{color:var(--accent-rose)}.hero-visual-frame{justify-content:center;align-items:center;display:flex;position:relative}.portrait-glow-backdrop{background:radial-gradient(circle, var(--accent-rose-glow) 0%, #a855f726 50%, transparent 70%);filter:blur(40px);pointer-events:none;z-index:1;border-radius:50%;width:400px;height:400px;position:absolute}.portrait-container{z-index:2;place-items:center;width:420px;height:420px;display:grid;position:relative}.orbit-svg{pointer-events:none;opacity:.85;position:absolute}.orbit-cyan-anim{width:410px;height:410px;animation:24s linear infinite spin-clockwise}.orbit-berry-anim{width:350px;height:350px;animation:18s linear infinite spin-counter}.orbit-violet-anim{width:290px;height:290px;animation:14s linear infinite spin-clockwise}@keyframes spin-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-counter{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.portrait-image-wrapper{border:3.5px solid var(--border-medium);width:300px;height:300px;box-shadow:0 0 36px var(--accent-rose-glow), var(--shadow-lg);background:linear-gradient(135deg, var(--accent-rose), var(--accent-cyan));border-radius:50%;padding:3px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;position:relative;overflow:hidden}.portrait-image-wrapper:hover{box-shadow:0 0 48px var(--accent-rose-glow), var(--shadow-lg);transform:scale(1.03)}.portrait-photo{object-fit:cover;object-position:50% 20%;background:#080f1e;border-radius:50%;width:100%;height:100%}.floating-chip{background:var(--surface-glass);border:1px solid var(--border-medium);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);color:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.76rem;font-weight:700;animation:4s ease-in-out infinite alternate float-chip;display:inline-flex;position:absolute}.chip-ai{color:var(--accent-rose);border-color:var(--accent-rose-border);animation-delay:0s;top:10px;right:-10px}.chip-degree{color:var(--accent-cyan);border-color:#38bdf84d;animation-delay:1.2s;bottom:24px;left:-20px}.chip-fastapi{color:var(--accent-lavender);border-color:#a855f74d;animation-delay:2.4s;bottom:10px;right:-5px}@keyframes float-chip{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.about-grid{grid-template-columns:1.2fr .8fr;align-items:stretch;gap:clamp(20px,3vw,36px);display:grid}.about-narrative-card,.about-contact-card{background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);border-radius:24px;flex-direction:column;justify-content:space-between;padding:clamp(22px,3vw,32px);transition:border-color .3s,box-shadow .3s;display:flex}.about-narrative-card:hover,.about-contact-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-md)}.about-lead{color:var(--text-primary);margin-bottom:12px;font-size:1.08rem;line-height:1.65}.about-body{color:var(--text-muted);margin-bottom:20px;font-size:.95rem;line-height:1.65}.about-highlights-matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.highlight-pill-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:.86rem;font-weight:600;display:flex}.highlight-check{color:var(--accent-rose);flex-shrink:0}.about-ide-window{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080c18;border:1px solid #ffffff1f;border-radius:22px;flex-direction:column;height:100%;min-height:380px;display:flex;overflow:hidden;box-shadow:0 16px 40px #0006,0 0 32px #f0b35b14}.ide-titlebar{background:#0f172ad9;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.ide-mac-dots{flex-shrink:0;align-items:center;gap:7px;display:flex}.mac-dot{border-radius:50%;width:11px;height:11px;display:inline-block}.mac-dot.red{background:#ef4444}.mac-dot.yellow{background:#f59e0b}.mac-dot.green{background:#10b981}.ide-tabs-row{flex:1;align-items:center;gap:6px;margin-left:8px;display:flex;overflow-x:auto}.ide-tab-btn{font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:5px 12px;font-size:.74rem;font-weight:500;transition:all .2s;display:inline-flex}.ide-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.ide-tab-btn.is-active{color:#fff;background:#ffffff1a;border-color:#ffffff26;box-shadow:0 2px 8px #0003}.file-badge{font-size:.6rem;font-weight:800;font-family:var(--font-mono);border-radius:4px;padding:1px 4px}.file-badge.py{color:#38bdf8;background:#38bdf833}.file-badge.json{color:#f59e0b;background:#f59e0b33}.file-badge.sh{color:#10b981;background:#10b98133}.ide-copy-btn{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:.7rem;font-weight:600;transition:all .2s;display:inline-flex}.ide-copy-btn:hover{color:var(--text-primary);border-color:var(--accent-rose);background:#ffffff1f}.ide-editor-body{font-family:var(--font-mono);color:#e2e8f0;background:#060913;flex:1;padding:18px 20px;font-size:.82rem;line-height:1.65;overflow-x:auto}.code-content{font-family:inherit;font-size:inherit;tab-size:4;margin:0}.line-row{white-space:pre;display:block}.ln{color:#475569;-webkit-user-select:none;user-select:none;width:28px;font-weight:500;display:inline-block}.cmt{color:#64748b;font-style:italic}.kw{color:#f0b35b;font-weight:600}.cls{color:#38bdf8;font-weight:600}.fn{color:#a855f7;font-weight:600}.self{color:#fb923c}.op,.punc{color:#94a3b8}.str{color:#10b981}.key{color:#38bdf8}.sh-prompt{color:#f0b35b;-webkit-user-select:none;user-select:none;margin-right:6px;font-weight:700}.sh-cmd{color:#38bdf8;font-weight:600}.ide-statusbar{font-family:var(--font-mono);color:var(--text-muted);background:#0a0f1cf2;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:6px 14px;font-size:.68rem;display:flex}.ide-status-left,.ide-status-right{align-items:center;gap:12px;display:flex}.ide-status-item{align-items:center;gap:5px;display:inline-flex}.filter-pill-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.filter-tab-btn{font-family:var(--font-body);background:var(--surface-card);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:999px;padding:7px 16px;font-size:.82rem;font-weight:600;transition:all .2s}.filter-tab-btn:hover{color:var(--text-primary);border-color:var(--border-medium);background:var(--surface-card-hover)}.filter-tab-btn.is-active{color:#f8fafc;background:#334155;border-color:#64748b;box-shadow:0 4px 12px #02061747}.skills-matrix-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}.skill-card-modern{background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:12px;padding:14px 16px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.skill-card-modern:hover{border-color:var(--accent-rose-border);box-shadow:var(--shadow-md), 0 0 16px var(--accent-rose-glow);transform:translateY(-3px)}.skill-icon-wrap{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.skill-meta-wrap{flex-direction:column;min-width:0;display:flex}.skill-card-title{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:700}.skill-card-tag{color:var(--text-muted);font-size:.72rem;font-weight:500}.icon-db-badge,.icon-web-badge{background:var(--surface-pill);border:1px solid var(--border-subtle);border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.domain-cards-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.domain-box{background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);border-radius:18px;padding:20px 22px;transition:transform .25s,border-color .25s}.domain-box:hover{border-color:var(--border-medium);transform:translateY(-3px)}.domain-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.domain-icon-accent{color:var(--accent-rose)}.domain-header h4{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:.96rem;font-weight:700}.domain-box p{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.55}@media (width<=860px){.domain-cards-row{grid-template-columns:1fr}}.projects-header-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.projects-carousel-controls{align-items:center;gap:8px;display:flex}.carousel-arrow-btn{background:var(--surface-card);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:50%;place-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:grid}.carousel-arrow-btn:hover:not(:disabled){background:var(--accent-rose);border-color:var(--accent-rose);color:#fff;box-shadow:0 0 14px var(--accent-rose-glow);transform:scale(1.06)}.carousel-arrow-btn:disabled{opacity:.35;cursor:not-allowed}.projects-count-indicator{background:var(--surface-card);border:1px solid var(--border-subtle);color:var(--text-muted);letter-spacing:.04em;border-radius:999px;padding:5px 12px;font-size:.76rem;font-weight:700}.projects-horizontal-wrapper{width:100%;margin-top:14px;position:relative}.projects-carousel-stage{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;display:grid}.carousel-arrow-side{justify-self:center;width:42px;height:42px}.projects-horizontal-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:auto;user-select:auto;gap:22px;padding:10px 4px 24px;display:flex;overflow-x:auto}.projects-horizontal-track::-webkit-scrollbar{display:none}.projects-horizontal-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;-webkit-user-select:none;user-select:none}.projects-horizontal-track .project-card-modern{scroll-snap-align:start;background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:380px;box-shadow:var(--shadow-sm);border-radius:22px;flex-direction:column;flex:0 0 380px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.projects-horizontal-track .project-card-modern:hover{border-color:var(--accent-rose-border);box-shadow:var(--shadow-md), 0 0 20px var(--accent-rose-glow);transform:translateY(-4px)}.projects-track-progress-bar{background:var(--surface-pill);border:1px solid var(--border-subtle);border-radius:999px;width:100%;max-width:240px;height:4px;margin:6px auto 0;position:relative;overflow:hidden}.projects-track-progress-fill{background:linear-gradient(90deg, var(--accent-rose), var(--accent-lavender));height:100%;box-shadow:0 0 8px var(--accent-rose-glow);border-radius:999px;transition:width .15s ease-out}@media (width<=640px){.projects-carousel-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:7px}.carousel-arrow-side{width:34px;height:34px}.projects-horizontal-track .project-card-modern{flex:0 0 86vw;width:86vw;min-width:280px}}.project-preview-banner{background:#0d1629;justify-content:center;align-items:center;width:100%;height:180px;display:flex;position:relative;overflow:hidden}.project-screenshot-img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .4s}.project-card-modern:hover .project-screenshot-img{transform:scale(1.04)}.project-banner-badge{letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-medium);color:#fff;z-index:2;background:#0a0f1cbf;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700;position:absolute;top:12px;right:12px}.project-abstract-visual{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.abstract-tag{letter-spacing:.1em;color:var(--accent-rose);font-size:.72rem;font-weight:700}.abstract-title{font-family:var(--font-display);color:#fff;font-size:1.5rem;font-weight:800}.abstract-sub{color:var(--text-muted);font-size:.78rem;font-weight:600}.study-visual{background:radial-gradient(circle,#0c2b45 0%,#061524 100%)}.weather-visual{background:radial-gradient(circle,#1b4965 0%,#0d2133 100%)}.git-visual{background:radial-gradient(circle,#3d162c 0%,#1e0915 100%)}.house-visual{background:radial-gradient(circle,#0a3a40 0%,#05181c 100%)}.project-content-body{flex-direction:column;flex:1;justify-content:space-between;padding:20px 22px;display:flex}.project-stack-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tech-pill{font-family:var(--font-mono);background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--text-secondary);letter-spacing:-.01em;border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:600}.tech-pill:before{content:"#";color:var(--accent-rose);opacity:.7;margin-right:2px}.project-title-text{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:1.18rem;font-weight:700}.project-card-subtitle{color:var(--accent-rose);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.75rem;font-weight:700}.project-desc-text{color:var(--text-muted);margin-bottom:14px;font-size:.88rem;line-height:1.55}.project-metrics-grid{border:1px solid var(--border-subtle);background:#08111b99;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;padding:10px 12px;display:grid}.theme-light .project-metrics-grid{background:#f1f5f9cc}.project-metric-item{flex-direction:column;gap:2px;display:flex}.project-metric-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.project-metric-val{font-family:var(--font-mono);color:var(--accent-cyan);font-size:.95rem;font-weight:800}.project-contrib-box{border:1px solid var(--border-subtle);background:#0a0f1cb3;border-radius:10px;margin-bottom:16px;padding:10px 12px}.theme-light .project-contrib-box{background:#f1f5f9e6}.contrib-tag{font-family:var(--font-mono);color:var(--accent-rose);letter-spacing:.04em;margin-bottom:3px;font-size:.7rem;font-weight:700;display:block}.contrib-text{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.45}.project-card-footer{border-top:1px solid var(--border-subtle);padding-top:12px}.project-footer-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.project-repo-btn{font-family:var(--font-mono);color:var(--accent-rose);align-items:center;gap:6px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.project-repo-btn:hover{color:var(--accent-blush);transform:translate(3px)}.project-kaggle-btn,.project-details-btn{font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.project-kaggle-btn:hover{color:var(--accent-cyan);transform:translate(2px)}.project-details-btn:hover{color:var(--accent-rose);transform:translate(2px)}.project-modal-backdrop{z-index:210}.project-modal-card{max-width:860px;max-height:88vh}.project-modal-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(#38bdf80f 0%,#0000 100%);padding:28px 28px 20px}.project-modal-eyebrow{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.project-modal-badge{font-family:var(--font-mono);letter-spacing:.06em;background:var(--accent-rose-soft);border:1px solid var(--accent-rose-border);color:var(--accent-rose);border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700}.project-modal-category{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.project-modal-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:16px;font-size:clamp(1.4rem,2.5vw,1.85rem);font-weight:800}.project-modal-metrics-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.project-modal-metric-card{background:var(--surface-pill);border:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.modal-metric-label{font-family:var(--font-mono);color:var(--text-muted);font-size:.7rem;font-weight:700}.modal-metric-value{font-family:var(--font-mono);color:var(--accent-cyan);font-size:1.15rem;font-weight:800}.project-modal-body{flex-direction:column;gap:24px;padding:24px 28px 32px;display:flex;overflow-y:auto}.project-case-section{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding-bottom:20px;display:flex}.project-case-section.last-case-section{border-bottom:none;padding-bottom:0}.case-section-header{align-items:center;gap:10px;display:flex}.case-section-num{font-family:var(--font-mono);color:var(--accent-rose);background:var(--accent-rose-soft);border:1px solid var(--accent-rose-border);border-radius:6px;padding:2px 7px;font-size:.72rem;font-weight:800}.case-section-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.case-section-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.62}.case-checklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.case-checklist-item{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.5;display:flex}.case-check-icon{color:var(--accent-emerald);flex-shrink:0;margin-top:2px}.case-model-box{background:var(--surface-pill);border:1px solid var(--border-medium);border-radius:14px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.model-name-row{color:var(--text-primary);align-items:center;gap:8px;font-size:.92rem;display:flex}.model-label{color:var(--text-muted);font-weight:600}.model-name-val{color:var(--accent-cyan);font-weight:700}.param-chips-grid{flex-wrap:wrap;gap:8px;display:flex}.param-chip{border:1px solid var(--border-subtle);font-family:var(--font-mono);background:#00000059;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;display:inline-flex}.theme-light .param-chip{background:#ffffffe6}.param-name{color:var(--accent-rose);font-weight:700}.param-sep{color:var(--text-dim)}.param-val{color:var(--text-primary);font-weight:600}.case-eval-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.eval-metric-box{background:var(--surface-pill);border:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.eval-metric-box.highlight{border-color:var(--accent-rose-border);background:var(--accent-rose-soft)}.eval-metric-name{font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem;font-weight:700}.eval-metric-box.highlight .eval-metric-name{color:var(--accent-rose)}.eval-metric-val{font-family:var(--font-mono);color:var(--text-primary);font-size:1.25rem;font-weight:800}.eval-metric-box.highlight .eval-metric-val{color:var(--accent-cyan)}.case-kaggle-card{background:linear-gradient(135deg,#20beff14 0%,#0e1722b3 100%);border:1px solid #38bdf840;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.theme-light .case-kaggle-card{background:linear-gradient(135deg,#0284c714 0%,#ffffffe6 100%)}.kaggle-card-top{flex-direction:column;gap:3px;display:flex}.kaggle-comp-tag{font-family:var(--font-mono);color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.kaggle-comp-heading{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.kaggle-stats-row{align-items:center;gap:14px;display:flex}.kaggle-stat-item{border:1px solid var(--border-subtle);background:#00000059;border-radius:10px;flex-direction:column;gap:2px;padding:8px 14px;display:flex}.theme-light .kaggle-stat-item{background:#ffffffe6}.stat-label{font-family:var(--font-mono);color:var(--text-muted);font-size:.68rem;font-weight:700}.stat-value{font-family:var(--font-mono);color:var(--text-primary);font-size:1.05rem;font-weight:800}.case-tech-tags-list{flex-wrap:wrap;gap:8px;display:flex}.case-tech-tag{font-family:var(--font-mono);background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:8px;padding:5px 12px;font-size:.78rem;font-weight:700}.case-tech-tag:before{content:"#";color:var(--accent-rose);margin-right:3px}.case-modal-links-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.modal-action-btn{text-decoration:none}@media (width<=768px){.project-modal-metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.case-eval-grid{grid-template-columns:1fr}.case-kaggle-card{flex-direction:column;align-items:flex-start}.kaggle-stats-row{justify-content:space-between;width:100%}.kaggle-stat-item{flex:1}.case-modal-links-row{flex-direction:column;width:100%}.case-modal-links-row .modal-action-btn{justify-content:center;width:100%}}.certificates-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.certificate-card-modern{background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:0;min-height:100%;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:22px;flex-direction:column;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.certificate-card-modern:hover{border-color:var(--accent-rose-border);box-shadow:var(--shadow-md), 0 0 20px var(--accent-rose-glow);transform:translateY(-4px)}.certificate-img-wrap{aspect-ratio:16/10;border-bottom:1px solid var(--border-subtle);background:linear-gradient(145deg,#0b1224,#151d31);width:100%;padding:10px;position:relative;overflow:hidden}.certificate-thumb-img{object-fit:contain;object-position:center;background:#fff;border-radius:12px;width:100%;height:100%;transition:transform .4s;display:block}.certificate-card-modern:hover .certificate-thumb-img{transform:scale(1.05)}.certificate-hover-overlay{opacity:0;background:#070913a6;place-items:center;transition:opacity .25s;display:grid;position:absolute;inset:0}.certificate-card-modern:hover .certificate-hover-overlay{opacity:1}.zoom-indicator{background:var(--accent-rose);color:#fff;box-shadow:0 4px 14px var(--accent-rose-glow);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;font-weight:700;display:inline-flex}.cert-verified-chip{color:#fff;letter-spacing:.05em;background:#10b981e6;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0000004d}.certificate-body{flex-direction:column;flex:1;min-height:278px;padding:20px 22px;display:flex}.cert-issuer-row{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.cert-issuer-name{min-width:0;color:var(--accent-rose);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.cert-date-badge{border:1px solid var(--border-subtle);background:var(--surface-pill);color:var(--text-dim);border-radius:999px;flex:none;padding:3px 7px;font-size:.72rem;font-weight:600}.cert-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 5px;font-size:1.15rem;font-weight:700}.cert-subtitle{color:var(--text-secondary);margin-bottom:10px;font-size:.84rem;font-weight:600}.cert-desc{color:var(--text-muted);margin:0 0 16px;font-size:.84rem;line-height:1.5}.cert-skills-wrap{flex-wrap:wrap;gap:6px;margin:auto 0 16px;display:flex}.cert-skill-pill{background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:600}.cert-action-bar{border-top:1px solid var(--border-subtle);min-height:34px;padding-top:12px}.cert-view-btn{color:var(--accent-rose);align-items:center;gap:6px;font-size:.84rem;font-weight:700;transition:color .2s,transform .2s;display:inline-flex}.cert-view-btn:hover{color:var(--accent-blush);transform:translate(3px)}@media (width<=1100px) and (width>=981px){.certificates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lightbox-backdrop{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(16px);z-index:200;place-items:center;padding:20px;animation:.25s ease-out modal-fade-in;display:grid;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-content-card{background:var(--surface-card);border:1px solid var(--border-medium);width:100%;max-width:820px;max-height:90vh;box-shadow:var(--shadow-lg), 0 0 30px var(--accent-rose-glow);border-radius:24px;flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) modal-pop;display:flex;position:relative;overflow-y:auto}@keyframes modal-pop{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.lightbox-close-btn{color:#fff;z-index:10;border:1px solid var(--border-medium);background:#0a0f1cd9;border-radius:50%;place-items:center;width:36px;height:36px;transition:transform .2s,background-color .2s;display:grid;position:absolute;top:16px;right:16px}.lightbox-close-btn:hover{background:var(--accent-rose);transform:rotate(90deg)}.lightbox-image-view{background:#080e1a;place-items:center;width:100%;max-height:480px;display:grid;overflow:hidden}.lightbox-full-img{object-fit:contain;width:100%;height:100%;max-height:480px}.lightbox-details-panel{padding:24px 28px}.lightbox-header-badge{color:var(--accent-emerald);background:#10b98126;border:1px solid #10b9814d;border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:4px 12px;font-size:.76rem;font-weight:700;display:inline-flex}.lightbox-cert-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:1.4rem;font-weight:800}.lightbox-cert-subtitle{color:var(--accent-rose);margin-bottom:12px;font-size:.95rem;font-weight:600}.lightbox-cert-desc{color:var(--text-muted);margin-bottom:16px;font-size:.9rem;line-height:1.6}.lightbox-skills-row{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.lightbox-skill-pill{background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:8px;padding:4px 10px;font-size:.76rem;font-weight:600}.lightbox-actions-bar{border-top:1px solid var(--border-subtle);padding-top:16px}.lightbox-full-btn{background:var(--accent-rose);color:#fff;box-shadow:0 4px 14px var(--accent-rose-glow);border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:.86rem;font-weight:700;transition:all .2s;display:inline-flex}.lightbox-full-btn:hover{background:var(--accent-blush);transform:translateY(-2px)}.journey-timeline-container{max-width:980px;margin:0 auto;padding:16px 0;position:relative}.timeline-spine-line{background:linear-gradient(180deg, var(--accent-rose) 0%, var(--accent-lavender) 50%, var(--accent-cyan) 100%);width:3px;box-shadow:0 0 12px var(--accent-rose-glow);border-radius:99px;position:absolute;top:20px;bottom:20px;left:50%;transform:translate(-50%)}.timeline-cards-list{z-index:2;flex-direction:column;gap:32px;display:flex;position:relative}.timeline-item{grid-template-columns:1fr 50px 1fr;align-items:center;display:grid;position:relative}.timeline-left .milestone-card{grid-column:1}.timeline-left .timeline-node-wrap{grid-column:2;justify-self:center}.timeline-left .timeline-spacer-col{grid-column:3}.timeline-right .timeline-spacer-col{grid-column:1}.timeline-right .timeline-node-wrap{grid-column:2;justify-self:center}.timeline-right .milestone-card{grid-column:3}.timeline-node-wrap{place-items:center;width:44px;height:44px;display:grid;position:relative}.timeline-node-circle{background:var(--bg-base);border:2px solid var(--accent-color,var(--accent-rose));z-index:3;width:34px;height:34px;box-shadow:0 0 14px var(--accent-color,var(--accent-rose));font-family:var(--font-display);color:var(--text-primary);border-radius:50%;place-items:center;font-size:.76rem;font-weight:800;transition:transform .25s;display:grid}.timeline-item:hover .timeline-node-circle{transform:scale(1.18)}.milestone-card{background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);border-radius:22px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;overflow:hidden}.milestone-card:hover{border-color:var(--accent-color,var(--accent-rose));box-shadow:var(--shadow-md), 0 0 20px var(--accent-rose-glow);transform:translateY(-3px)}.milestone-image-banner{background:#080f1e;width:100%;height:140px;position:relative;overflow:hidden}.milestone-campus-img{object-fit:cover;object-position:center 30%;width:100%;height:100%;transition:transform .4s}.milestone-card:hover .milestone-campus-img{transform:scale(1.04)}.milestone-category-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid var(--border-medium);background:#0a0f1ccc;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:10px;left:12px}.milestone-content-wrap{padding:18px 20px}.milestone-header-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.milestone-period-badge{background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.milestone-status-chip{color:var(--accent-color,var(--accent-rose));text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.milestone-type-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:.7rem;font-weight:700;display:block}.milestone-heading{font-family:var(--font-display);color:var(--text-primary);margin-bottom:8px;font-size:1.15rem;font-weight:700;line-height:1.3}.milestone-institution-bar{background:var(--surface-pill);border:1px solid var(--border-subtle);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;padding:8px 12px;display:flex}.inst-col{color:var(--text-primary);align-items:center;gap:6px;font-size:.82rem;display:flex}.inst-icon{color:var(--accent-color,var(--accent-rose))}.milestone-location-chip{color:var(--text-muted);align-items:center;gap:4px;font-size:.74rem;display:inline-flex}.milestone-desc-text{color:var(--text-muted);margin-bottom:12px;font-size:.84rem;line-height:1.55}.milestone-highlights-row{flex-wrap:wrap;gap:6px;display:flex}.milestone-tag{background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.journey-section .journey-timeline-container{max-width:900px;padding:8px 0 18px}.journey-section .timeline-spine-track{background:var(--border-subtle);width:2px;position:absolute;top:8px;bottom:18px;left:50%;transform:translate(-50%)}.journey-section .timeline-progress-beam{background:linear-gradient(180deg, var(--accent-rose), var(--accent-cyan));width:100%;height:34%;box-shadow:0 0 10px var(--accent-rose-glow);border-radius:999px}.journey-section .timeline-cards-list{gap:22px}.journey-section .timeline-item{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}.journey-section .timeline-node-wrap{width:38px;height:38px}.journey-section .timeline-node-circle{width:29px;height:29px;box-shadow:0 0 10px var(--accent-color,var(--accent-rose));border-width:1px;font-size:.68rem}.journey-section .milestone-card{box-shadow:var(--shadow-sm);border-radius:14px}.journey-section .milestone-card:hover{box-shadow:var(--shadow-md)}.journey-section .milestone-image-banner{height:112px}.journey-section .milestone-content-wrap{padding:15px 17px 16px}.journey-section .milestone-header-row{margin-bottom:5px}.journey-section .milestone-period-badge{padding:3px 8px;font-size:.68rem}.journey-section .milestone-status-chip,.journey-section .milestone-type-label{font-size:.64rem}.journey-section .milestone-heading{margin-bottom:7px;font-size:1rem;line-height:1.25}.journey-section .milestone-institution-bar{border-radius:8px;margin-bottom:8px;padding:7px 9px}.journey-section .inst-col{font-size:.74rem}.journey-section .milestone-location-chip{font-size:.66rem}.journey-section .milestone-desc-text{margin-bottom:9px;font-size:.75rem;line-height:1.45}.journey-section .milestone-highlights-row{gap:5px}.journey-section .milestone-tag{padding:3px 6px;font-size:.64rem}@media (width<=980px){.journey-section .journey-timeline-container{max-width:720px}}.contact-container-grid{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:clamp(24px,4vw,48px);display:grid}.contact-invite-col{flex-direction:column;display:flex}.contact-links-stack{flex-direction:column;gap:12px;margin-top:20px;display:flex}.contact-channel-card{background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;align-items:center;gap:14px;padding:14px 18px;transition:all .25s;display:flex}.contact-channel-card:hover{border-color:var(--accent-rose-border);box-shadow:var(--shadow-sm);background:var(--surface-card-hover);transform:translate(4px)}.channel-icon-wrap{border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.email-icon{background:var(--accent-rose-soft);color:var(--accent-rose);border:1px solid var(--accent-rose-border)}.linkedin-icon{color:var(--accent-cyan);background:#38bdf81a;border:1px solid #38bdf840}.in-glyph{font-size:1.05rem;font-weight:800}.github-icon{background:var(--surface-pill);color:var(--text-primary);border:1px solid var(--border-medium)}.channel-info{flex-direction:column;flex:1;min-width:0;display:flex}.channel-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:700}.channel-val{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.channel-arrow{color:var(--text-dim);transition:transform .2s,color .2s}.contact-channel-card:hover .channel-arrow{color:var(--accent-rose);transform:translate(2px,-2px)}.contact-action-box{background:var(--surface-card);border:1px solid var(--border-medium);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md), 0 0 24px var(--accent-rose-glow);border-radius:24px;flex-direction:column;justify-content:space-between;padding:clamp(22px,3.5vw,32px);display:flex}.contact-section .contact-action-box{background:#0d1723;border-color:#344354;box-shadow:0 18px 42px #02061752}.contact-box-header{text-align:center;margin-bottom:20px}.sparkle-circle{background:var(--accent-rose-soft);border:1px solid var(--accent-rose-border);width:48px;height:48px;color:var(--accent-rose);box-shadow:0 0 20px var(--accent-rose-glow);border-radius:50%;place-items:center;margin:0 auto 12px;display:grid}.contact-box-header h3{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:1.35rem;font-weight:800}.contact-box-header p{color:var(--text-muted);max-width:320px;margin:0 auto;font-size:.85rem;line-height:1.5}.primary-email-btn{color:#fff;background:#263747;border:1px solid #526477;border-radius:16px;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;transition:all .25s;display:flex;box-shadow:0 10px 24px #0206174d}.primary-email-btn:hover{background:#334b61;border-color:#7b8da0;transform:translateY(-2px);box-shadow:0 14px 30px #02061761}.email-btn-text{flex-direction:column;flex:1;display:flex}.btn-micro-label{opacity:.9;font-size:.72rem;font-weight:600}.btn-main-label{letter-spacing:-.01em;font-size:.95rem;font-weight:800}.email-btn-arrow{transition:transform .2s}.primary-email-btn:hover .email-btn-arrow{transform:translate(3px,-3px)}.action-or-divider{text-align:center;margin:12px 0 16px;position:relative}.action-or-divider:before{content:"";background:var(--border-subtle);z-index:1;width:100%;height:1px;position:absolute;top:50%;left:0}.action-or-divider span{z-index:2;color:var(--text-dim);letter-spacing:.12em;background:#0d1723;padding:0 10px;font-size:.68rem;font-weight:700;position:relative}.quick-actions-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}.copy-action-chip{background:var(--surface-pill);border:1px solid var(--border-medium);color:var(--text-primary);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.copy-action-chip:hover{background:var(--surface-pill-hover);border-color:var(--accent-rose-border);color:var(--accent-rose)}.service-promises-grid{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(2,1fr);gap:10px;padding-top:14px;display:grid}.promise-item{align-items:flex-start;gap:8px;display:flex}.promise-icon{color:var(--accent-rose);flex-shrink:0;margin-top:2px}.promise-item strong{color:var(--text-primary);font-size:.8rem;display:block}.promise-item span{color:var(--text-muted);font-size:.72rem}.site-footer{border-top:1px solid var(--border-subtle);background:var(--surface-card);width:100%;margin-top:40px;padding:40px 0 30px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:0 clamp(16px,3.5vw,32px);display:flex}.footer-wordmark{font-family:var(--font-display);color:var(--text-primary);align-items:baseline;padding:0;font-size:1.3rem;font-weight:800;display:flex}.footer-wordmark span{color:var(--accent-rose)}.footer-tagline{color:var(--text-muted);margin-top:4px;font-size:.82rem}.footer-nav-col{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.footer-links-list{flex-wrap:wrap;gap:12px;display:flex}.footer-link-btn{color:var(--text-secondary);font-size:.82rem;font-weight:600;transition:color .2s}.footer-link-btn:hover{color:var(--accent-rose)}.back-to-top-btn{background:var(--surface-pill);border:1px solid var(--border-subtle);color:var(--accent-rose);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.back-to-top-btn:hover{background:var(--accent-rose-soft);border-color:var(--accent-rose-border)}.toast-notification{z-index:250;background:var(--accent-emerald);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:.85rem;font-weight:700;animation:.3s cubic-bezier(.16,1,.3,1) toast-in;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #10b98166}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-check{flex-shrink:0}@media (width<=980px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero-visual-frame{order:-1}.portrait-container{width:280px;height:280px}.orbit-cyan-anim{width:270px;height:270px}.orbit-berry-anim{width:230px;height:230px}.orbit-violet-anim{width:190px;height:190px}.portrait-image-wrapper{width:200px;height:200px}.about-grid,.contact-container-grid,.projects-grid-modern,.certificates-grid,.domain-cards-row{grid-template-columns:1fr}.timeline-spine-line{left:20px;transform:none}.timeline-item{flex-direction:column;align-items:flex-start;padding-left:50px;display:flex}.timeline-node-wrap{position:absolute;top:20px;left:0}.timeline-spacer-col{display:none}.milestone-card{width:100%}}@media (width>=769px){.hero-cv-btn{display:none!important}}@media (width<=768px){.nav-resume-btn{display:none!important}.menu-toggle-btn{display:grid}.nav-links{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-medium);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;padding:12px;display:none;position:absolute;top:calc(100% + 8px);left:12px;right:12px}.nav-links.is-open{display:flex}.nav-link-btn{text-align:left;width:100%;padding:10px 14px}.about-highlights-matrix{grid-template-columns:1fr}.skills-matrix-grid{grid-template-columns:repeat(2,1fr)}.quick-actions-row,.service-promises-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.footer-nav-col{justify-content:space-between;width:100%}}@media (width<=480px){.hero-title{font-size:2.1rem}.hero-action-row{flex-direction:column;width:100%}.btn-primary,.btn-secondary,.btn-ghost{justify-content:center;width:100%}.skills-matrix-grid{grid-template-columns:1fr}.floating-chip{display:none}.hero-telemetry-hud{gap:8px;padding:6px 12px;font-size:.7rem}.ide-editor-body{padding:12px 14px;font-size:.75rem}}.hero-section{isolation:isolate;background:#070b14;position:relative;overflow:hidden}.hero-section:before{content:"";z-index:-2;opacity:.26;background-image:linear-gradient(#38bdf814 1px,#0000 1px),linear-gradient(90deg,#38bdf814 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000008c 62%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000008c 62%,#0000 100%)}.hero-section:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#f0b35b1a,#0000 68%);width:54vw;height:54vw;animation:14s ease-in-out infinite alternate hero-ambient-drift;position:absolute;top:8%;right:-10%}@keyframes hero-ambient-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-26px,18px)scale(1.08)}}.hero-section .status-pill{background:#0f172ab8;border-color:#f0b35b47}.hero-section .status-text,.hero-section .status-mono{color:#22c55e}.hero-section .hero-domain-strip{color:#38bdf8;letter-spacing:.16em;font-size:clamp(.68rem,1vw,.8rem)}.hero-section .hero-title{letter-spacing:-.052em;max-width:680px;font-size:clamp(3rem,5.8vw,5.35rem);line-height:1.02}.hero-section .btn-primary{background:#8b5cf6;box-shadow:0 10px 26px #f0b35b33}.hero-section .btn-secondary{background:#070b147a;border-color:#94a3b847}.hero-section .btn-secondary:hover{color:#f8fafc;border-color:#f0b35bb3}.hero-section .social-badge-card{background:#0f172a94;border-color:#94a3b82e;border-radius:50%;justify-content:center;width:42px;height:42px;padding:0}.hero-section .social-badge-card:hover{border-color:#f0b35bb3;box-shadow:0 10px 22px #070b144d}.hero-section .social-badge-card.email svg,.hero-section .pin-icon{color:#38bdf8}.hero-section .hero-social-strip{gap:12px;margin-top:4px}.hero-section .hero-visual-frame{opacity:.92}.hero-section .floating-chip{color:#cbd5e1;background:#070b14db;border-color:#38bdf85c;padding:7px 11px;animation-duration:5.5s;box-shadow:0 8px 20px #070b144d}.nav-link-btn.is-active{background:#8b5cf6;box-shadow:0 4px 16px #f0b35b33}.nav-link-btn:hover,.nav-resume-btn:hover,.theme-toggle-btn:hover{color:#a78bfa}.nav-resume-btn{color:#a78bfa;background:#f0b35b1a;border-color:#f0b35b61}@media (width<=980px){.hero-section .portrait-container{width:320px;height:360px}.hero-section .portrait-image-wrapper{width:240px;height:290px}}@media (width<=480px){.hero-section .hero-title{font-size:clamp(2.35rem,11vw,3.6rem)}.hero-section .hero-domain-strip{letter-spacing:.1em;gap:9px}.hero-section .hero-social-strip{gap:7px}.hero-section .social-badge-card{padding:8px 10px}.hero-section .portrait-container{width:280px;height:330px}.hero-section .portrait-image-wrapper{width:210px;height:260px}.hero-section .floating-chip{font-size:.68rem}.hero-section .chip-ai{top:30px;right:-8px}.hero-section .chip-fastapi{bottom:30px;left:-10px}}.hero-section{color:#f5f1e8;background:#0d0e0c;align-items:center;min-height:min(780px,92vh);display:flex}.hero-section .hero-content{max-width:700px}.hero-intro-label{color:#e5a83b;font-family:var(--font-mono);letter-spacing:.2em;margin-bottom:18px;font-size:.75rem;font-weight:700}.hero-section .hero-title{color:#f5f1e8;letter-spacing:-.065em;flex-direction:column;max-width:700px;margin-bottom:22px;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.94;display:flex}.hero-section .hero-title span:last-child{color:#e5a83b}.hero-section .hero-subtitle{color:#f5f1e8;max-width:540px;font-family:var(--font-display);margin-bottom:18px;font-size:clamp(1rem,1.6vw,1.28rem);font-weight:600;line-height:1.45;display:block}.hero-section .hero-bio{color:#92958f;max-width:510px;margin-bottom:18px;font-size:1rem;line-height:1.7}.hero-focus-line{color:#92958f;font-family:var(--font-mono);letter-spacing:.13em;margin-bottom:30px;font-size:.72rem;font-weight:700}.hero-focus-line span{color:#e5a83b;padding:0 8px}.hero-section .hero-action-row{gap:12px}.hero-section .hero-resume-btn{color:#f5f1e8;background:#151713;border:1px solid #292a26;border-radius:6px;min-height:46px;padding:12px 18px}.hero-section .hero-resume-btn:hover{color:#e5a83b;border-color:#e5a83ba6}.hero-section .hero-visual-frame{opacity:1;min-height:0}.portrait-caption{color:#92958f;font-family:var(--font-mono);letter-spacing:.12em;text-align:right;flex-direction:column;gap:4px;font-size:.64rem;font-weight:700;display:flex;position:absolute;bottom:0;right:0}.portrait-caption span:first-child{color:#e5a83b}.wordmark-dot,.nav-resume-btn{color:#e5a83b}.nav-link-btn.is-active{box-shadow:none;background:#334155;border:1px solid #64748b;color:#f8fafc!important}.nav-resume-btn:hover{color:#0d0e0c;background:#e5a83b;box-shadow:0 8px 18px #e5a83b24}@media (width<=980px){.hero-section .hero-grid{grid-template-columns:1fr;gap:54px}.hero-section .hero-visual-frame{order:1}.hero-section .portrait-container{width:min(360px,100%)}}@media (width<=480px){.hero-section .hero-title{font-size:clamp(3rem,15vw,4.2rem)}.hero-focus-line{line-height:1.8}.hero-section .hero-action-row{align-items:stretch}.hero-section .btn-primary,.hero-section .hero-resume-btn{justify-content:center;width:auto}.hero-section .portrait-image-wrapper{width:min(300px,86vw);height:390px}}.hero-section{min-height:unset;color:#f8fafc;background:#070b14;display:block}.hero-section:before{opacity:.26;background-image:linear-gradient(#38bdf814 1px,#0000 1px),linear-gradient(90deg,#38bdf814 1px,#0000 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(#000 0%,#0000008c 62%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000008c 62%,#0000 100%)}.hero-section:after{background:radial-gradient(circle,#f0b35b1a,#0000 68%);width:54vw;height:54vw;animation:14s ease-in-out infinite alternate hero-ambient-drift;top:8%;right:-10%}.hero-section .hero-grid{grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,56px)}.hero-intro-label,.hero-focus-line,.portrait-caption{display:none}.hero-section .hero-title{color:#f8fafc;letter-spacing:-.052em;max-width:680px;margin-bottom:20px;font-size:clamp(2.7rem,5.2vw,4.7rem);line-height:1.02;display:block}.hero-section .hero-subtitle{max-width:none;color:inherit;font-family:var(--font-body);margin-bottom:18px;font-size:1.05rem;line-height:normal;display:flex}.hero-section .hero-name{color:#f8fafc}.hero-section .hero-role-text,.hero-section .hero-bio{color:#94a3b8}.hero-section .hero-bio{max-width:610px;margin-bottom:24px;font-size:clamp(.95rem,1.2vw,1.05rem)}.hero-section .btn-secondary{background:#070b147a;border-color:#94a3b847;border-radius:999px;min-height:0;padding:12px 20px}.hero-section .hero-visual-frame{min-height:0}.hero-section .portrait-container{width:min(430px,100%);height:430px;padding-bottom:0}.hero-section .portrait-image-wrapper{background:#0f172a;border:1px solid #f0b35b9e;border-radius:28px 42px;width:min(320px,72vw);height:min(360px,80vw);padding:6px;box-shadow:0 0 0 1px #38bdf829,0 22px 54px #070b148c,0 0 32px #f0b35b1f}.hero-section .floating-chip{display:inline-flex}.hero-section .chip-ai{color:#38bdf8;top:54px;right:0}.hero-section .chip-fastapi{color:#cbd5e1;bottom:58px;left:2px}.nav{background:#070b14d1;border-color:#94a3b82e}.nav-link-btn.is-active{box-shadow:none;background:#f0b35b1f}@media (width<=980px){.hero-section .hero-grid{grid-template-columns:1fr;gap:36px}.hero-section .portrait-container{width:320px;height:360px}.hero-section .portrait-image-wrapper{width:240px;height:290px}}@media (width<=480px){.hero-section .hero-title{font-size:clamp(2.35rem,11vw,3.6rem)}.hero-section .portrait-container{width:280px;height:330px}.hero-section .portrait-image-wrapper{width:210px;height:260px}}.hero-section{min-height:min(760px,90vh);color:var(--text-primary);background:0 0;align-items:center;display:flex}.hero-section:before,.hero-section:after{display:none}.hero-section .hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);grid-template-areas:"eyebrow visual""title visual""subtitle visual""bio visual""actions visual""social visual";gap:0 clamp(48px,8vw,120px);display:grid}.hero-section .hero-content{display:contents}.hero-eyebrow{color:#98a0aa;font-family:var(--font-mono);letter-spacing:.16em;grid-area:eyebrow;margin-bottom:20px;font-size:.74rem;font-weight:700}.hero-section .hero-title{max-width:620px;color:var(--text-primary);letter-spacing:-.06em;grid-area:title;margin:0 0 22px;font-size:clamp(3rem,6vw,5.4rem);line-height:.98;display:block}.hero-highlight{color:var(--accent-rose)}.hero-section .hero-subtitle{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:.16em;grid-area:subtitle;margin-bottom:14px;font-size:clamp(.72rem,1vw,.84rem);font-weight:700;line-height:1.45;display:block}.hero-section .hero-subtitle .hero-separator{color:#f0b35b;padding:0 7px}.hero-section .hero-bio{color:#98a0aa;grid-area:bio;max-width:520px;margin-bottom:24px;font-size:.98rem;line-height:1.65}.hero-section .hero-action-row{grid-area:actions;align-self:start;margin-bottom:24px}.hero-section .btn-primary{color:#080b10;background:#f0b35b;border-radius:7px;min-height:44px;padding:11px 19px;box-shadow:0 10px 24px #f0b35b29}.hero-section .btn-secondary{color:#f5f5f2;background:#080b1080;border-color:#292e38;border-radius:7px;min-height:44px;padding:11px 19px}.hero-section .btn-secondary:hover{border-color:#f0b35ba6}.hero-social-strip{color:#98a0aa;grid-area:social;align-items:center;gap:9px;margin:0;font-size:.82rem;display:flex}.hero-social-link{color:#98a0aa;transition:color .2s}.hero-social-link:hover{color:#f0b35b}.hero-section .hero-social-strip{gap:14px}.hero-section .hero-social-link{border:1px solid var(--border-subtle);width:46px;height:46px;color:var(--text-muted);background:#ffffff04;border-radius:50%;place-items:center;transition:color .2s,border-color .2s,background .2s,transform .2s;display:grid}.hero-section .hero-social-link:hover{color:var(--accent-rose);border-color:var(--accent-rose-border);background:var(--accent-rose-soft);transform:translateY(-3px)}.hero-section .linkedin-letter{color:currentColor;font-family:var(--font-display);font-size:1.1rem;font-weight:700;line-height:1}.hero-section .github-mark{width:20px;height:20px;display:block}.hero-section .hero-visual-frame{opacity:1;grid-area:visual;min-height:0}.hero-section .portrait-container{width:min(390px,100%);height:430px;padding:0}.hero-section .portrait-image-wrapper{border:3.5px solid var(--border-medium);background:linear-gradient(135deg, var(--accent-rose), var(--accent-cyan));width:min(330px,100%);height:390px;box-shadow:0 0 36px var(--accent-rose-glow), var(--shadow-lg);border-radius:50%;padding:3px}.hero-section .portrait-image-wrapper:hover{box-shadow:0 0 48px var(--accent-rose-glow), var(--shadow-lg);transform:scale(1.03)}.hero-section .portrait-photo{filter:none;border-radius:50%}.hero-section .portrait-glow-backdrop{background:radial-gradient(circle, var(--accent-rose-glow) 0%, #a855f726 50%, transparent 70%);filter:blur(40px);width:400px;height:400px}.hero-section .orbit-cyan-anim{width:410px;height:410px;animation:24s linear infinite spin-clockwise}.hero-section .orbit-berry-anim{width:350px;height:350px;animation:18s linear infinite spin-counter}.hero-section .orbit-violet-anim{width:290px;height:290px;animation:14s linear infinite spin-clockwise}.orbit-fourth{pointer-events:none;border:1px solid #f0b35b73;border-radius:50%;width:380px;height:250px;animation:28s linear infinite spin-counter;position:absolute;transform:rotate(28deg)}.hero-section .floating-chip,.hero-section .portrait-caption{display:none}.nav{background:var(--nav-bg);border-color:var(--border-medium);box-shadow:var(--shadow-md)}.wordmark-dot,.nav-link-btn.is-active,.nav-resume-btn{color:var(--accent-rose)}.nav-link-btn.is-active{background:var(--accent-rose);box-shadow:0 2px 10px var(--accent-rose-glow);color:#fff!important}.nav-link-btn:hover{color:#f5f5f2;background:#98a0aa14}.nav-resume-btn{background:var(--accent-rose-soft);border-color:var(--accent-rose-border)}.nav-resume-btn:hover{background:var(--accent-rose);color:#fff;box-shadow:0 4px 14px var(--accent-rose-glow)}.hero-section .hero-subtitle{color:var(--text-primary);font-family:var(--font-display);letter-spacing:.12em;font-size:.86rem;font-weight:700}@media (width<=980px){.hero-section .hero-grid{grid-template-columns:1fr;grid-template-areas:"eyebrow""title""subtitle""bio""actions""visual""social";gap:0}.hero-section .hero-visual-frame{margin:36px 0 20px}.hero-section .portrait-container{width:320px;height:360px}.hero-section .portrait-image-wrapper{width:250px;height:300px}}@media (width<=480px){.hero-section .hero-title{font-size:clamp(2.75rem,14vw,4rem)}.hero-section .hero-action-row{gap:9px;width:100%}.hero-section .btn-primary,.hero-section .btn-secondary{flex:1;justify-content:center;padding-inline:12px}.hero-section .portrait-container{width:280px;height:320px}.hero-section .portrait-image-wrapper{width:220px;height:270px}.hero-section .orbit-cyan-anim{width:270px;height:270px}.hero-section .orbit-berry-anim{width:230px;height:230px}.hero-section .orbit-violet-anim{width:190px;height:190px}.hero-section .orbit-fourth{width:250px;height:170px}}.hero-section .hero-visual-frame{place-self:center}.hero-section .portrait-container{width:380px;height:380px}.hero-section .portrait-image-wrapper{width:286px;height:286px;box-shadow:0 0 30px #f0b35b33, var(--shadow-lg);border-width:3px;border-radius:50%;padding:4px}.hero-section .portrait-photo{border-radius:50%}.hero-section .orbit-cyan-anim{opacity:.68;width:344px;height:344px;animation-duration:32s}.hero-section .orbit-berry-anim{opacity:.52;width:310px;height:310px;animation-duration:26s}@media (width<=980px){.hero-section .portrait-container{width:320px;height:320px}.hero-section .portrait-image-wrapper{width:240px;height:240px}.hero-section .orbit-cyan-anim{width:290px;height:290px}.hero-section .orbit-berry-anim{width:260px;height:260px}}@media (width<=480px){.hero-section .portrait-container{width:270px;height:270px}.hero-section .portrait-image-wrapper{width:205px;height:205px}.hero-section .orbit-cyan-anim{width:245px;height:245px}.hero-section .orbit-berry-anim{width:220px;height:220px}}.hero-section .hero-highlight,.hero-section .hero-social-link:hover,.hero-section .hero-subtitle .hero-separator,.hero-section .nav-link-btn.is-active,.hero-section .nav-resume-btn{color:#e5e7eb}.hero-section .btn-primary{color:#172231;background:#e5e7eb;box-shadow:0 10px 24px #0f172a33}.hero-section .portrait-glow-backdrop{background:radial-gradient(circle,#e5e7eb1a,#38bdf80d 48%,#0000 70%)}.hero-section .portrait-image-wrapper{box-shadow:0 0 30px #0f172a47, var(--shadow-lg);background:#263747;border-color:#e5e7eb9e}.hero-section .orbit-berry-anim{opacity:.22}.orbit-fourth{border-color:#e5e7eb40}.nav-link-btn.is-active{background:#334155;border:1px solid #64748b;box-shadow:0 4px 12px #02061747;color:#f8fafc!important}.nav-wrap{padding:0;top:0}.nav,.nav-wrap.is-scrolled .nav{max-width:none;height:82px;box-shadow:none;background:#080c14eb;border-width:0 0 1px;border-radius:0;padding:0 clamp(22px,6vw,96px)}.nav-links{gap:8px}.nav-link-btn{border-radius:999px;padding:8px 17px;font-size:.9rem}.nav-link-btn.is-active{box-shadow:none;background:#334155;border-color:#64748b}@media (width<=980px){.nav,.nav-wrap.is-scrolled .nav{height:72px;padding:0 22px}}@media (width<=640px){.nav,.nav-wrap.is-scrolled .nav{height:64px;padding:0 16px}}.hero-section .portrait-glow-backdrop{filter:blur(34px);background:radial-gradient(circle,#38bdf81a,#0000 70%);width:360px;height:360px}.hero-section .portrait-container{flex-direction:column;align-items:stretch;gap:16px;width:min(360px,100%);height:auto;display:flex;transform:translate(14px)}.hero-section .portrait-image-wrapper{background:#1b2a3a;border:1px solid #94a3b880;border-radius:24px;flex:none;width:100%;height:390px;padding:5px;box-shadow:0 24px 50px #0206176b,0 0 26px #38bdf814}.hero-section .portrait-image-wrapper:hover{transform:translateY(-4px)scale(1.01);box-shadow:0 28px 58px #02061780,0 0 34px #38bdf824}.hero-section .portrait-photo{object-position:50% 22%;border-radius:19px}.hero-section .portrait-caption{color:#94a3b8;font-family:var(--font-mono);letter-spacing:.2em;text-align:left;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:6px 18px;padding:0 3px;font-size:.62rem;font-weight:700;line-height:1.25;display:grid;position:relative;inset:auto}.hero-section .portrait-caption span:first-child{color:#e5e7eb;grid-area:1/1}.hero-section .portrait-caption span:nth-child(2){grid-area:2/1}.hero-section .portrait-caption span:last-child{color:#94a3b8;border-left:1px solid #94a3b85c;grid-area:1/2/span 2;align-self:center;padding-left:18px}.hero-section .orbit-svg,.hero-section .orbit-fourth{display:none}@media (width<=980px){.hero-section .portrait-container{width:min(330px,100%);transform:none}.hero-section .portrait-image-wrapper{height:360px}}@media (width<=480px){.hero-section .portrait-container{width:min(290px,100%);transform:none}.hero-section .portrait-image-wrapper{height:320px}}.hero-section .hero-eyebrow,.hero-section .hero-highlight,.hero-section .hero-subtitle{color:var(--accent-blue)}.hero-section .hero-subtitle .hero-separator{color:#cbd5e1}.hero-section .hero-bio{color:#b0bac7}.hero-section .btn-primary{background:var(--accent-blue);color:#08111b;box-shadow:0 10px 24px #00b4d833}.hero-section .btn-primary:hover{background:#39c6df;box-shadow:0 14px 30px #00b4d847}.hero-section .btn-secondary:hover,.hero-section .hero-social-link:hover{color:var(--accent-blue);border-color:#00b4d899}.filter-tab-btn:hover,.project-repo-btn:hover,.footer-link-btn:hover{color:var(--accent-blue)}.hero-section .portrait-image-wrapper{border-color:#5ea7ff94;box-shadow:0 24px 50px #0206176b,0 0 28px #5ea7ff1a}.eyebrow-line,.eyebrow-text{color:#22d3ee}.eyebrow-line{background:#22d3ee;box-shadow:0 0 10px #22d3ee47}.section-title{color:#f1f5f9}.footer-wordmark span,.footer-link-btn:hover,.back-to-top-btn,.project-repo-btn,.cert-view-btn,.promise-icon{color:#38bdf8}.filter-tab-btn.is-active,.nav-link-btn.is-active{border-color:#38bdf88c}:root{--layout-max:1200px;--layout-gutter:clamp(18px, 3.2vw, 32px)}.main-content,.footer-inner{width:100%;max-width:var(--layout-max);padding-left:var(--layout-gutter);padding-right:var(--layout-gutter)}.nav-wrap{padding-left:var(--layout-gutter);padding-right:var(--layout-gutter)}.nav,.nav-wrap.is-scrolled .nav{max-width:var(--layout-max)}.section-header{width:100%;max-width:760px}.compact-section{padding-top:clamp(56px,6vw,76px);padding-bottom:clamp(56px,6vw,76px)}.hero-section{padding-top:clamp(108px,11vw,132px);padding-bottom:clamp(52px,6vw,72px)}.site-footer{padding-top:42px;padding-bottom:32px}@media (width<=980px){.main-content,.footer-inner{padding-left:22px;padding-right:22px}.nav-wrap{padding-left:14px;padding-right:14px}.nav{max-width:720px}}@media (width<=640px){.main-content,.footer-inner{padding-left:18px;padding-right:18px}.nav-wrap{padding-left:10px;padding-right:10px}.nav,.nav-wrap.is-scrolled .nav{max-width:none}.compact-section{padding-top:52px;padding-bottom:52px}}
