@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap";@property --grad-x1{syntax:"<percentage>";inherits:false;initial-value:0%}@property --grad-y1{syntax:"<percentage>";inherits:false;initial-value:0%}@property --grad-x2{syntax:"<percentage>";inherits:false;initial-value:100%}@property --grad-y2{syntax:"<percentage>";inherits:false;initial-value:100%}@property --grad-x3{syntax:"<percentage>";inherits:false;initial-value:50%}@property --grad-y3{syntax:"<percentage>";inherits:false;initial-value:60%}@keyframes bg-wander{0%,to{--grad-x1:0%;--grad-y1:0%;--grad-x2:100%;--grad-y2:100%;--grad-x3:50%;--grad-y3:60%}25%{--grad-x1:30%;--grad-y1:65%;--grad-x2:70%;--grad-y2:25%;--grad-x3:20%;--grad-y3:85%}50%{--grad-x1:80%;--grad-y1:15%;--grad-x2:8%;--grad-y2:78%;--grad-x3:82%;--grad-y3:28%}75%{--grad-x1:45%;--grad-y1:85%;--grad-x2:58%;--grad-y2:8%;--grad-x3:25%;--grad-y3:45%}}.home-wrapper{background-color:var(--bg);background-image:radial-gradient(circle 650px at var(--grad-x1) var(--grad-y1), #b8925a24, transparent), radial-gradient(circle 520px at var(--grad-x2) var(--grad-y2), #22c55e12, transparent), radial-gradient(circle 460px at var(--grad-x3) var(--grad-y3), #dc8cb417, transparent);flex-direction:column;gap:14px;min-height:100vh;padding:18px;animation:28s ease-in-out infinite bg-wander;display:flex}.home-nav{background:var(--bg);width:100%;max-width:1360px;box-shadow:var(--neumo-shadow);z-index:2;border:none;border-radius:100px;justify-content:space-between;align-items:center;margin:0 auto;padding:6px 8px 6px 12px;display:flex;position:relative}.nav-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-size:1rem;font-weight:800}.nav-dot{color:var(--accent)}.nav-links{align-items:center;gap:2px;display:flex}.nav-link{color:var(--text-dim);transition:background var(--transition), color var(--transition), border-color var(--transition);letter-spacing:.01em;border:1px solid #0000;border-radius:100px;padding:7px 16px;font-size:.75rem;font-weight:500}.nav-link:hover{background:var(--bg);color:var(--text-primary);border-color:#0e0d0c1f}.bento-grid{z-index:2;grid-template-columns:repeat(12,1fr);gap:16px;width:100%;max-width:1360px;margin:0 auto;display:grid;position:relative}.bento-card{border-radius:var(--radius);cursor:pointer;box-shadow:var(--neumo-shadow);transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;padding:24px;display:flex;position:relative;overflow:hidden}.bento-card:hover{box-shadow:var(--neumo-shadow-hover);transform:translateY(-4px)}.bento-card:active{box-shadow:var(--neumo-shadow-inset);transform:translateY(0)}.card-light,.card-dark,.card-darker{background:var(--bg);color:var(--text-primary);border:none}.card-pink{background:linear-gradient(135deg, var(--bg) 55%, #dc8cb41a 100%);color:var(--text-primary);border:none}.card-projects-light,.card-connect-light,.card-status-light{background:var(--bg);color:var(--text-primary);border:none}.card-arrow{background:var(--text-primary);width:28px;height:28px;color:var(--bg);transition:transform var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:18px;right:18px}.bento-card:hover .card-arrow{background:var(--accent);transform:translate(2px,-2px)scale(1.12)}.card-hero{grid-area:1/4/3/10;min-height:500px}.card-about{grid-area:1/1/2/4}.card-experience{grid-area:2/1/3/4}.card-tech{grid-area:1/10/2/13}.card-projects{grid-area:2/10/3/13}.card-education{grid-area:3/1/4/4}.card-connect{grid-area:3/4/4/7}.card-achievements{grid-area:3/7/4/10}.card-social{grid-area:3/10/4/13}.card-freelance{grid-area:4/1/5/7}.card-status{grid-area:4/7/5/13}.hero-inner{text-align:center;flex-direction:column;justify-content:space-evenly;align-items:center;height:100%;padding:10px 0;display:flex}.hero-avatar-wrap{flex-shrink:0;width:100px;height:100px;position:relative}.hero-avatar{object-fit:cover;border:2px solid var(--text-primary);z-index:2;border-radius:50%;width:100px;height:100px;display:block;position:relative}.hero-avatar-ring{z-index:1;border:1.5px dashed #0e0d0c8c;border-radius:50%;animation:14s linear infinite spin;position:absolute;inset:-7px}@keyframes spin{to{transform:rotate(360deg)}}.hero-status-dot{border:2px solid var(--surface);z-index:3;background:#22c55e;border-radius:50%;width:12px;height:12px;position:absolute;bottom:3px;right:3px}.hero-text-block{flex-direction:column;gap:5px;display:flex}.hero-name{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1}.hero-role{color:var(--text-dim);letter-spacing:.01em;font-size:.83rem}.hero-tagline{color:var(--text-secondary);max-width:320px;font-size:.84rem;line-height:1.65}.hero-btns{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.hero-btn{font-size:.78rem;font-weight:500;font-family:var(--font-body);transition:all var(--transition);letter-spacing:.01em;cursor:pointer;border-radius:100px;align-items:center;gap:7px;padding:9px 20px;display:inline-flex}.hero-btn-primary{background:var(--text-primary);color:var(--bg);border:1.5px solid var(--text-primary);text-decoration:none}.hero-btn-primary:hover{background:#2a2a28;transform:translateY(-1px)}.hero-btn-secondary{color:var(--text-primary);background:0 0;border:1.5px solid #0e0d0c38}.hero-btn-secondary:hover{background:#0e0d0c0d}.hero-location{color:var(--text-dim);align-items:center;gap:5px;font-size:.72rem;display:flex}.about-card-title{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:8px;padding-right:30px;font-size:.95rem;font-weight:700;line-height:1.3}.about-card-text{color:var(--text-secondary);padding-right:30px;font-size:.8rem;line-height:1.65}.exp-years{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-primary);margin-bottom:4px;font-size:3.2rem;font-weight:800;line-height:1}.exp-yrs-suffix{color:var(--accent);margin-left:2px;font-size:1.4rem}.exp-label{color:var(--text-dim);margin-bottom:12px;font-size:.77rem}.exp-company-row{align-items:center;gap:7px;margin-top:auto;display:flex}.exp-company-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.exp-company-name{color:var(--text-secondary);font-size:.75rem;font-weight:500}.tech-grid{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tech-tag{border:var(--border);white-space:nowrap;color:var(--text-primary);transition:background var(--transition);background:0 0;border-radius:100px;align-items:center;padding:3px 10px;font-size:.67rem;font-weight:500;display:inline-flex}.tech-tag:hover{background:#0e0d0c0d}.tech-tag-accent{border-color:var(--accent-border);background:var(--accent-dim);color:#7a5c28}.tech-tag-more{color:var(--text-dim);border-style:dashed}.projects-count{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-primary);margin-bottom:4px;font-size:3.2rem;font-weight:800;line-height:1}.projects-label{color:var(--text-dim);margin-bottom:12px;font-size:.77rem}.projects-dots{gap:5px;margin-top:auto;padding-bottom:36px;display:flex}.proj-dot{width:6px;height:6px;transition:all var(--transition);background:#0e0d0c26;border-radius:50%}.proj-dot.active{background:var(--accent);border-radius:3px;width:18px}.edu-degree{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:4px;font-size:1rem;font-weight:700}.edu-school{color:var(--text-secondary);margin-bottom:10px;padding-right:28px;font-size:.78rem;line-height:1.5}.connect-icon-wrap{background:var(--accent-dim);border:1px solid var(--accent-border);width:40px;height:40px;color:var(--accent);border-radius:11px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.connect-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:6px;font-size:1rem;font-weight:700}.connect-cta{color:var(--text-dim);padding-right:28px;font-size:.79rem;line-height:1.55}.cert-grid{flex-direction:column;gap:6px;margin-top:4px;padding-right:30px;display:flex}.cert-tag{border:var(--border-dim);background:var(--surface-2);color:var(--text-secondary);white-space:normal;transition:background var(--transition), border-color var(--transition);border-radius:8px;align-items:center;padding:4px 11px;font-size:.72rem;font-weight:500;line-height:1.4;display:inline-flex}.cert-tag:hover{background:var(--accent-dim);border-color:var(--accent-border);color:#7a5c28}.social-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;display:grid}.social-item{border:var(--border);border-radius:var(--radius-xs);transition:background var(--transition);cursor:pointer;align-items:center;gap:6px;padding:7px 10px;font-size:.72rem;font-weight:500;display:flex}.social-item:hover{background:#0e0d0c0d}.freelance-inner{flex-direction:column;justify-content:space-between;height:100%;display:flex}.freelance-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);margin:6px 0;font-size:1.2rem;font-weight:800}.freelance-subtitle{color:var(--text-secondary);max-width:300px;font-size:.79rem;line-height:1.6}.freelance-tags{flex-wrap:wrap;gap:6px;margin-top:14px;padding-bottom:6px;display:flex}.freelance-tag{color:#8b2252;white-space:nowrap;background:#dc8cb41a;border:1px solid #dc8cb440;border-radius:100px;align-items:center;padding:4px 11px;font-size:.67rem;font-weight:500;display:inline-flex}.status-badge{letter-spacing:.06em;text-transform:uppercase;color:#15803d;align-items:center;gap:7px;margin-bottom:12px;font-size:.68rem;font-weight:700;display:inline-flex}.status-pulse{background:var(--green-ok);border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{box-shadow:0 0 #22c55e73}50%{box-shadow:0 0 0 5px #22c55e00}}.status-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.015em;margin-bottom:6px;font-size:1rem;font-weight:700}.status-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.6}.status-sparkle{color:var(--accent);vertical-align:middle;margin-right:6px;display:inline}.status-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}@media (width<=900px){.bento-grid{flex-direction:column;gap:10px;display:flex}.bento-card{min-height:unset!important}.home-nav{border-radius:var(--radius)}}[data-theme=dark] .home-wrapper{background-color:var(--bg);background-image:radial-gradient(circle 650px at var(--grad-x1) var(--grad-y1), #ffe2341a, transparent), radial-gradient(circle 520px at var(--grad-x2) var(--grad-y2), #00ff880f, transparent), radial-gradient(circle 460px at var(--grad-x3) var(--grad-y3), #7c5cfc17, transparent)}[data-theme=dark] .home-nav{background:var(--bg);box-shadow:var(--neumo-shadow)}[data-theme=dark] .nav-link{color:var(--text-secondary)}[data-theme=dark] .nav-link:hover{color:var(--accent)}[data-theme=dark] .nav-logo{color:var(--text-primary)}[data-theme=dark] .nav-dot{color:var(--accent)}[data-theme=dark] .bento-card{box-shadow:var(--neumo-shadow)}[data-theme=dark] .bento-card:hover{box-shadow:var(--neumo-shadow-hover)}[data-theme=dark] .bento-card:active{box-shadow:var(--neumo-shadow-inset)}[data-theme=dark] .card-light,[data-theme=dark] .card-dark,[data-theme=dark] .card-darker,[data-theme=dark] .card-projects-light,[data-theme=dark] .card-connect-light,[data-theme=dark] .card-status-light{background:var(--bg)}[data-theme=dark] .card-pink{background:linear-gradient(135deg, var(--bg) 55%, #7c5cfc1a 100%)}[data-theme=dark] .card-arrow{color:var(--accent);background:#ffe2341a}[data-theme=dark] .bento-card:hover .card-arrow{background:var(--accent);color:#060c1f}[data-theme=dark] .hero-avatar-ring{border-color:#ffe23459;box-shadow:0 0 16px #ffe23426}[data-theme=dark] .hero-status-dot{background:#0f8;box-shadow:0 0 8px #0f89}[data-theme=dark] .hero-btn-primary{background:var(--accent);color:#060c1f}[data-theme=dark] .hero-btn-primary:hover{background:#ffe234}[data-theme=dark] .hero-btn-secondary{color:var(--accent);background:0 0;border-color:#ffe2344d}[data-theme=dark] .hero-btn-secondary:hover{background:#ffe23414}[data-theme=dark] .exp-years{color:var(--accent)}[data-theme=dark] .exp-company-dot{background:var(--accent);box-shadow:0 0 6px #ffe23480}[data-theme=dark] .projects-count{color:var(--accent)}[data-theme=dark] .proj-dot{background:#ffe23433}[data-theme=dark] .proj-dot.active{background:var(--accent);box-shadow:0 0 6px #ffe23480}[data-theme=dark] .connect-icon-wrap{color:var(--accent)}[data-theme=dark] .freelance-tag{color:var(--accent);background:#ffe2340f;border-color:#ffe23433}[data-theme=dark] .status-pulse{background:#0f8;box-shadow:0 0 8px #0f89}[data-theme=dark] .status-badge{color:var(--text-primary);border-color:#ffe23433}[data-theme=dark] .social-item{background:#ffe2340a;border-color:#ffe2341a}[data-theme=dark] .social-item:hover{color:var(--accent);background:#ffe2341a;border-color:#ffe2344d}[data-theme=dark] .cert-tag{color:var(--text-secondary);background:#ffe2340d;border-color:#ffe23426}[data-theme=dark] .tech-tag{color:var(--text-secondary);background:#ffe2340a;border-color:#ffe2341f}[data-theme=dark] .tech-tag-accent{color:var(--accent);background:#ffe2341a;border-color:#ffe2344d}[data-theme=dark] .tech-tag-more{color:var(--text-dim)}.inner-page{max-width:1160px;margin:0 auto;padding:28px 22px 60px}.inner-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.inner-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-dim);font-size:1.5rem;font-weight:800}.back-btn{background:var(--text-primary);width:36px;height:36px;color:var(--bg);transition:background var(--transition), transform var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.back-btn:hover{background:#2a2a28;transform:scale(1.05)}.card-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;font-size:.61rem;font-weight:700;display:block}.card-label-light{color:var(--text-dim)!important}.inner-card{border:var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:12px;padding:26px}.inner-card:last-child{margin-bottom:0}.inner-card-light{background:var(--surface-2);color:var(--text-primary);border-color:#0e0d0c1a}.inner-card-warm{background:var(--surface-warm);border:1px solid var(--accent-border);color:var(--text-primary)}.inner-card-accent{background:var(--surface-2);border:var(--border-dim);color:var(--text-primary)}.exp-timeline{flex-direction:column;display:flex}.exp-item{grid-template-columns:140px 20px 1fr;padding-bottom:36px;display:grid;position:relative}.exp-item:last-child{padding-bottom:0}.exp-time{text-align:right;padding-top:2px;padding-right:16px}.exp-time-period{color:var(--text-dim);font-size:.78rem;line-height:1.5}.exp-time-duration{color:#0e0d0c59;margin-top:3px;font-size:.7rem}.exp-dot-col{flex-direction:column;align-items:center;padding-top:4px;display:flex}.exp-dot{background:var(--text-primary);z-index:1;border-radius:50%;flex-shrink:0;width:9px;height:9px}.exp-dot-col:after{content:"";background:#0e0d0c1f;flex:1;width:1px;margin-top:6px;display:block}.exp-item:last-child .exp-dot-col:after{display:none}.exp-content{padding-top:0;padding-left:18px}.exp-company-title{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:2px;font-size:1rem;font-weight:700}.exp-role-text{color:var(--text-dim);margin-bottom:10px;font-size:.78rem}.exp-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.82rem;line-height:1.68}.exp-highlights{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.exp-highlight-item{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:.81rem;line-height:1.58;display:flex}.exp-bullet{color:var(--accent);flex-shrink:0;margin-top:5px;font-size:.5rem}.exp-stack{flex-wrap:wrap;gap:6px;display:flex}.projects-bento{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.project-card{border:var(--border);border-radius:var(--radius);background:var(--surface);transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;gap:10px;padding:22px;display:flex;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px #0e0d0c12}.project-card-header{align-items:center;gap:8px;display:flex}.project-type-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);background:var(--surface-2);border:var(--border-dim);border-radius:100px;padding:3px 10px;font-size:.62rem;font-weight:700}.project-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:.98rem;font-weight:700;line-height:1.25}.project-desc{color:var(--text-secondary);flex:1;font-size:.8rem;line-height:1.68}.project-highlights{flex-direction:column;gap:5px;display:flex}.project-highlight{color:var(--text-secondary);align-items:flex-start;gap:7px;font-size:.77rem;line-height:1.5;display:flex}.project-highlight-icon{color:var(--accent);flex-shrink:0;margin-top:1px}.project-stack{flex-wrap:wrap;gap:5px;display:flex}.project-links{gap:8px;margin-top:auto;padding-top:4px;display:flex}.project-link-btn{cursor:pointer;font-size:.74rem;font-weight:600;font-family:var(--font-body);letter-spacing:.01em;transition:all var(--transition);border-radius:100px;align-items:center;gap:5px;padding:6px 14px;display:inline-flex}.project-link-primary{background:var(--text-primary);color:var(--bg);border:1.5px solid var(--text-primary)}.project-link-primary:hover{background:#2a2a28}.project-link-secondary{color:var(--text-primary);background:0 0;border:1.5px solid #0e0d0c38}.project-link-secondary:hover{background:#0e0d0c0d}.contact-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.contact-form-wrap{flex-direction:column;display:flex}.form-field{flex-direction:column;gap:5px;margin-bottom:13px;display:flex}.form-label{color:var(--text-dim);font-size:.73rem;font-weight:500}.form-input{border:var(--border);border-radius:var(--radius-xs);width:100%;font-size:.83rem;font-family:var(--font-body);background:var(--surface);color:var(--text-primary);transition:box-shadow var(--transition);outline:none;padding:9px 13px}.form-input:focus{box-shadow:0 0 0 3px #0e0d0c12}.form-input::placeholder{color:var(--text-dim)}.form-textarea{border:var(--border);border-radius:var(--radius-xs);width:100%;font-size:.83rem;font-family:var(--font-body);background:var(--surface);color:var(--text-primary);resize:vertical;min-height:120px;transition:box-shadow var(--transition);outline:none;padding:9px 13px}.form-textarea:focus{box-shadow:0 0 0 3px #0e0d0c12}.form-textarea::placeholder{color:var(--text-dim)}.form-submit{background:var(--text-primary);color:var(--bg);font-size:.82rem;font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;transition:background var(--transition), transform var(--transition);border:none;border-radius:100px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;margin-top:4px;padding:10px 22px;font-weight:600;display:inline-flex}.form-submit:hover{background:#2a2a28;transform:translateY(-1px)}.contact-info-section{flex-direction:column;gap:8px;display:flex}.contact-info-item{border-radius:var(--radius-xs);background:var(--surface);border:var(--border-dim);align-items:center;gap:12px;padding:11px 13px;display:flex}.inner-card-light .contact-info-item{background:var(--surface)}.contact-info-icon{width:34px;height:34px;color:var(--text-secondary);background:#0e0d0c0f;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-info-label{color:var(--text-dim);letter-spacing:.02em;margin-bottom:2px;font-size:.67rem;font-weight:500}.contact-info-value{color:var(--text-primary);font-size:.83rem;font-weight:500}.contact-profiles-list{flex-direction:column;gap:7px;display:flex}.contact-profile-item{border-radius:var(--radius-xs);background:var(--surface);border:var(--border-dim);color:var(--text-primary);transition:background var(--transition), border-color var(--transition);align-items:center;gap:10px;padding:10px 13px;font-size:.82rem;font-weight:500;display:flex}.contact-profile-item:hover{background:var(--accent-dim);border-color:var(--accent-border)}.about-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.about-intro-card{grid-column:1/3}.about-avatar-section{flex-wrap:wrap;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.about-avatar{object-fit:cover;border:1.5px solid var(--text-primary);border-radius:50%;flex-shrink:0;width:78px;height:78px}.about-name-block{flex:1;min-width:180px}.about-big-name{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:3px;font-size:1.4rem;font-weight:800;line-height:1.1}.about-big-role{color:var(--text-dim);font-size:.8rem}.about-bio{color:var(--text-secondary);font-size:.84rem;line-height:1.75}.about-skills-title{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:16px;font-size:.95rem;font-weight:700}.skills-group{margin-bottom:14px}.skills-group:last-child{margin-bottom:0}.skills-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:7px;font-size:.62rem;font-weight:700}.skills-tags{flex-wrap:wrap;gap:5px;display:flex}.about-explore-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:8px;font-size:1.15rem;font-weight:700}.about-explore-desc{color:var(--text-secondary);margin-bottom:14px;font-size:.82rem;line-height:1.7}.about-explore-tags{flex-wrap:wrap;gap:6px;display:flex}.about-mindset-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:10px;font-size:1.1rem;font-weight:700}.about-mindset-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.75}.ach-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.ach-cert-card{border:var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:transform var(--transition);align-items:center;gap:14px;padding:16px;display:flex}.ach-cert-card:hover{transform:translateY(-2px)}.ach-cert-icon{background:var(--accent-dim);border:1px solid var(--accent-border);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ach-cert-name{margin-bottom:2px;font-size:.83rem;font-weight:600;line-height:1.35}.edu-list{flex-direction:column;gap:10px;display:flex}.edu-card-item{border:var(--border);border-radius:var(--radius);background:var(--surface);transition:transform var(--transition);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.edu-card-item:hover{transform:translate(3px)}.edu-card-school{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:3px;font-size:.98rem;font-weight:700}.edu-card-degree{color:var(--text-secondary);margin-bottom:2px;font-size:.82rem;font-weight:600}.edu-card-field{color:var(--text-dim);font-size:.78rem}.edu-card-period{color:var(--text-dim);white-space:nowrap;font-size:.76rem}.edu-status-badge{letter-spacing:.05em;border-radius:100px;padding:3px 10px;font-size:.65rem;font-weight:600;display:inline-block}.edu-status-progress{background:var(--accent-dim);border:1px solid var(--accent-border);color:#7a5c28}.edu-status-done{border:var(--border-dim);color:var(--text-dim);background:#0e0d0c0d}.social-page-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.social-page-card{border:var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition);align-items:center;gap:14px;padding:18px 20px;display:flex}.social-page-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0e0d0c12}.social-page-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.social-page-name{margin-bottom:2px;font-size:.88rem;font-weight:600}.social-page-handle{color:var(--text-dim);font-size:.72rem}.freelance-hero{flex-direction:column;gap:10px;display:flex}.freelance-big-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1.05}.freelance-big-sub{color:var(--text-secondary);max-width:480px;font-size:.84rem;line-height:1.7}.freelance-cta-btn{background:var(--text-primary);color:var(--bg);font-size:.82rem;font-family:var(--font-body);cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;border-radius:100px;align-self:flex-start;align-items:center;margin-top:6px;padding:10px 22px;font-weight:600;display:inline-flex}.freelance-cta-btn:hover{background:#2a2a28;transform:translateY(-1px)}.freelance-services-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.freelance-service-item{border:var(--border-dim);border-radius:var(--radius-xs);color:var(--text-secondary);background:var(--surface-2);transition:border-color var(--transition), background var(--transition);align-items:center;gap:8px;padding:12px 14px;font-size:.8rem;font-weight:500;display:flex}.freelance-service-item:hover{border-color:var(--accent);background:var(--accent-dim);color:#7a5c28}@media (width<=768px){.inner-page{padding:18px 14px 40px}.projects-bento,.contact-grid,.about-grid{grid-template-columns:1fr}.about-intro-card{grid-column:1/2}.ach-grid,.social-page-grid{grid-template-columns:1fr}.freelance-services-grid{grid-template-columns:1fr 1fr}.exp-item{grid-template-columns:1px 1fr}.exp-time{display:none}.exp-dot-col{margin-left:-4px}.exp-content{padding-left:14px}}[data-theme=dark] .inner-page{background:var(--bg)}[data-theme=dark] .inner-title{color:var(--text-primary)}[data-theme=dark] .back-btn{background:var(--surface);color:var(--text-secondary);border-color:#ffe23426}[data-theme=dark] .back-btn:hover{color:var(--accent);border-color:#ffe23459}[data-theme=dark] .inner-card{background:var(--surface);border-color:#ffe2341a;box-shadow:0 2px 16px #00000059}[data-theme=dark] .inner-card:hover{border-color:#ffe23433;box-shadow:0 6px 28px #ffe23414}[data-theme=dark] .inner-card-light{background:var(--surface-2)}[data-theme=dark] .inner-card-warm{background:var(--surface-warm)}[data-theme=dark] .card-label,[data-theme=dark] .card-label-light{color:var(--text-dim)}[data-theme=dark] .exp-dot{background:var(--accent);box-shadow:0 0 6px #ffe23480}[data-theme=dark] .exp-dot-col:before{background:#ffe23426}[data-theme=dark] .exp-company-title{color:var(--text-primary)}[data-theme=dark] .exp-role-text,[data-theme=dark] .exp-bullet{color:var(--accent)}[data-theme=dark] .edu-card-item{background:var(--surface);border-color:#ffe2341a}[data-theme=dark] .edu-card-item:hover{border-color:#ffe23440}[data-theme=dark] .edu-status-progress{color:#c9b800;background:#ffe2341a;border-color:#ffe2344d}[data-theme=dark] .edu-status-done{color:#0f8;background:#00ff8814;border-color:#00ff8840}[data-theme=dark] .project-card{background:var(--surface);border-color:#ffe2341a}[data-theme=dark] .project-card:hover{border-color:#ffe23440;box-shadow:0 8px 32px #ffe23414}[data-theme=dark] .project-type-badge{color:#c9b800;background:#ffe23412;border-color:#ffe23440}[data-theme=dark] .project-highlight-icon{color:var(--accent)}[data-theme=dark] .project-link-primary{background:var(--accent);color:#060c1f}[data-theme=dark] .project-link-secondary{color:var(--text-secondary);border-color:#ffe23440}[data-theme=dark] .project-link-secondary:hover{color:var(--accent);background:#ffe23414}[data-theme=dark] .form-input,[data-theme=dark] .form-textarea{background:var(--surface-2);color:var(--text-primary);border-color:#ffe2341f}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-textarea:focus{border-color:#ffe23466;box-shadow:0 0 0 3px #ffe23414}[data-theme=dark] .form-input::placeholder,[data-theme=dark] .form-textarea::placeholder{color:var(--text-dim)}[data-theme=dark] .form-submit{background:var(--accent);color:#060c1f}[data-theme=dark] .form-submit:hover{background:#ffe234}[data-theme=dark] .contact-info-item{border-color:#ffe2341a}[data-theme=dark] .contact-info-icon{color:var(--accent);background:#ffe23414}[data-theme=dark] .contact-profile-item{color:var(--text-secondary);background:#ffe2340a;border-color:#ffe2341f}[data-theme=dark] .contact-profile-item:hover{color:var(--accent);background:#ffe2341a;border-color:#ffe2344d}[data-theme=dark] .freelance-cta-btn{background:var(--accent);color:#060c1f}[data-theme=dark] .freelance-cta-btn:hover{background:#ffe234}[data-theme=dark] .freelance-service-item{background:#ffe2340a;border-color:#ffe2341a}[data-theme=dark] .freelance-service-item:hover{background:#ffe23414;border-color:#ffe23440}[data-theme=dark] .social-page-card{background:var(--surface);border-color:#ffe2341a}[data-theme=dark] .social-page-card:hover{border-color:#ffe2344d;box-shadow:0 6px 28px #ffe23414}.ach-cert-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.ach-cert-card-link{border-radius:var(--radius-sm);border:var(--border);background:var(--surface);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition), transform .15s ease;cursor:pointer;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.ach-cert-card-link:not(.ach-cert-no-link):hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.ach-cert-no-link{cursor:default;opacity:.65}.ach-cert-icon-wrap{border-radius:var(--radius-xs);background:var(--accent-dim);width:40px;height:40px;color:var(--accent);border:1px solid var(--accent-border);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ach-cert-body{flex:1;min-width:0}.ach-cert-name{color:var(--text-primary);margin-bottom:3px;font-size:.84rem;font-weight:600;line-height:1.4}.ach-cert-issuer{color:var(--text-dim);font-size:.72rem}.ach-cert-ext{color:var(--text-dim);transition:color var(--transition);flex-shrink:0}.ach-cert-card-link:not(.ach-cert-no-link):hover .ach-cert-ext{color:var(--accent)}.ach-cert-no-url{letter-spacing:.05em;color:var(--text-dim);border:1px dashed;border-radius:4px;padding:2px 6px;font-size:.62rem;font-weight:500}[data-theme=dark] .ach-cert-card-link{background:var(--surface);border-color:#ffe2341a}[data-theme=dark] .ach-cert-card-link:not(.ach-cert-no-link):hover{border-color:#ffe23459;box-shadow:0 6px 28px #ffe2341a}[data-theme=dark] .ach-cert-icon-wrap{color:var(--accent);background:#ffe23414;border-color:#ffe23433}.ts-bio-card{margin-bottom:14px}.ts-bio-inner{align-items:flex-start;gap:18px;display:flex}.ts-bio-avatar{object-fit:cover;border:2px solid var(--accent-border);border-radius:50%;flex-shrink:0;width:64px;height:64px}.ts-bio-text{flex:1;min-width:0}.ts-bio-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:3px;font-size:1.15rem;font-weight:700}.ts-bio-role{color:var(--accent);margin-bottom:5px;font-size:.8rem;font-weight:500}.ts-bio-location{color:var(--text-dim);align-items:center;gap:4px;margin-bottom:10px;font-size:.74rem;display:flex}.ts-bio-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.7}.ts-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=600px){.ts-grid{grid-template-columns:1fr}.ts-bio-inner{text-align:center;flex-direction:column;align-items:center}.ts-bio-location{justify-content:center}}.ts-category-card{flex-direction:column;gap:12px;display:flex}.ts-category-header{align-items:center;gap:7px;display:flex}.ts-category-icon{background:var(--accent-dim);width:26px;height:26px;color:var(--accent);border:1px solid var(--accent-border);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ts-category-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-size:.68rem;font-weight:700}.ts-skills-list{flex-wrap:wrap;gap:7px;display:flex}.ts-skill-chip{border:var(--border-dim);background:var(--surface-2);color:var(--text-secondary);transition:border-color var(--transition), background var(--transition), color var(--transition), transform .15s ease;cursor:default;border-radius:100px;align-items:center;gap:6px;padding:5px 11px;font-size:.75rem;font-weight:500;display:inline-flex}.ts-skill-chip:hover{border-color:var(--accent-border);background:var(--accent-dim);color:var(--text-primary);transform:translateY(-1px)}.ts-skill-icon{color:var(--accent);flex-shrink:0;align-items:center;display:flex}[data-theme=dark] .ts-bio-avatar{border-color:#ffe2344d;box-shadow:0 0 12px #ffe2341a}[data-theme=dark] .ts-skill-chip{color:var(--text-secondary);background:#ffffff08;border-color:#ffe2341a}[data-theme=dark] .ts-skill-chip:hover{color:var(--text-primary);background:#ffe23414;border-color:#ffe2344d}[data-theme=dark] .ts-category-icon{color:var(--accent);background:#ffe23414;border-color:#ffe23433}:root{--bg:#f4f3ef;--surface:#fff;--surface-2:#eeede8;--surface-warm:#faf8f3;--surface-pink:#fdf0f5;--text-primary:#0e0d0c;--text-secondary:#3e3c39;--text-dim:#7c7a72;--text-dark:#0e0d0c;--text-dark-secondary:#3e3c39;--text-light:#f4f3f0;--accent:#b8925a;--accent-dim:#b8925a1f;--accent-border:#b8925a4d;--yellow:#e8c547;--green-ok:#22c55e;--border:1px solid #0e0d0c;--border-dim:1px solid #0e0d0c1a;--border-light:1px solid #ffffff14;--radius:20px;--radius-sm:14px;--radius-xs:9px;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--transition:.18s cubic-bezier(.4, 0, .2, 1);--neumo-shadow-dark:#c8c7c3;--neumo-shadow-light:#fff;--neumo-shadow:6px 6px 18px var(--neumo-shadow-dark), -6px -6px 18px var(--neumo-shadow-light);--neumo-shadow-hover:12px 12px 32px var(--neumo-shadow-dark), -12px -12px 32px var(--neumo-shadow-light);--neumo-shadow-sm:3px 3px 8px var(--neumo-shadow-dark), -3px -3px 8px var(--neumo-shadow-light);--neumo-shadow-inset:inset 4px 4px 12px var(--neumo-shadow-dark), inset -4px -4px 12px var(--neumo-shadow-light)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{line-height:1.15}p{line-height:1.65}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none}img{max-width:100%;display:block}.grain{z-index:9999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.tag{letter-spacing:.015em;white-space:nowrap;border:var(--border);color:var(--text-primary);background:0 0;border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:.69rem;font-weight:500;display:inline-flex}.tag-dark{color:var(--text-secondary);background:#0e0d0c0d;border-color:#0e0d0c26}.tag-accent{border-color:var(--accent-border);background:var(--accent-dim);color:#7a5c28}.tag-green{color:#14532d;background:#22c55e14;border-color:#22c55e47}.tag-outline{border:var(--border);color:var(--text-secondary);background:0 0}.tag-green-soft{color:#166534;background:#22c55e12;border-color:#22c55e40}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc9c0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a09d96}[data-theme=dark]{--bg:#060c1f;--surface:#0b1430;--surface-2:#0f1c3e;--surface-warm:#0d1535;--surface-pink:#120d2e;--text-primary:#dce8ff;--text-secondary:#7a98d0;--text-dim:#3d5585;--text-dark:#dce8ff;--text-dark-secondary:#7a98d0;--text-light:#dce8ff;--accent:#ffe234;--accent-dim:#ffe2341a;--accent-border:#ffe2344d;--yellow:#ffe066;--green-ok:#0f8;--neumo-shadow-dark:#020408;--neumo-shadow-light:#0d1838;--border:1px solid #ffe23424;--border-dim:1px solid #ffe23412;--border-light:1px solid #ffe2341a}[data-theme=dark] .tag-dark{color:var(--text-secondary);background:#ffe2340d;border-color:#ffe23424}[data-theme=dark] .tag-accent{color:#c9b800;background:#ffe2341f;border-color:#ffe23466}[data-theme=dark] .tag-outline{color:var(--text-secondary);border-color:#ffe23433}[data-theme=dark] .tag-green-soft{color:#0f8;background:#00ff8814;border-color:#00ff8840}.theme-toggle{z-index:1000;border:var(--border);background:var(--surface);color:var(--text-secondary);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform .15s ease;border-radius:100px;align-items:center;gap:6px;padding:8px 14px;font-size:.72rem;font-weight:500;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #0000001a}.theme-toggle:hover{color:var(--accent);border-color:var(--accent-border);transform:translateY(-2px);box-shadow:0 6px 24px #00000026}[data-theme=dark] .theme-toggle{box-shadow:0 4px 20px #ffe23414}[data-theme=dark] .theme-toggle:hover{box-shadow:0 6px 28px #ffe2342e}.bento-card,.inner-card,.project-card,.ach-cert-card-link,.edu-card-item,.social-page-card,.ts-skill-chip,.back-btn,.hero-btn,.nav-link,.theme-toggle{will-change:transform, opacity;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;transform:translateZ(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-avatar-ring,.status-pulse{animation:none!important}}.hero-avatar-ring{transform-origin:50%;will-change:transform;animation:16s linear infinite spin}.status-pulse{will-change:transform, opacity;animation:2.4s ease-in-out infinite pulse-opt}@keyframes pulse-opt{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.6)}}[data-framer-component-type],.page-transition-wrapper{transform-origin:top!important}body>#root>*>div[style*=opacity]{transform-origin:top}@media (width<=900px){.home-nav{box-sizing:border-box;border-radius:16px;flex-wrap:wrap;gap:8px;width:100%;padding:10px 12px;overflow:hidden}.nav-logo{flex-shrink:0;font-size:.95rem}.nav-links{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:2px;min-width:0}.nav-link{white-space:nowrap;padding:6px 10px;font-size:.7rem}}@media (width<=480px){.home-nav{text-align:center;justify-content:center;gap:10px;padding:10px 14px}.nav-logo{text-align:center;width:100%;font-size:1rem}.nav-links{justify-content:center;gap:4px;width:100%}.nav-link{padding:6px 12px;font-size:.72rem}}@media (width<=900px){.card-hero{padding:28px 20px;min-height:unset!important}.hero-inner{justify-content:flex-start;gap:20px;height:auto;padding:4px 0}.hero-avatar-wrap,.hero-avatar{width:86px;height:86px}.hero-name{font-size:1.75rem}.hero-role{margin-top:2px;font-size:.8rem}.hero-text-block{gap:4px}.hero-tagline{max-width:100%;font-size:.82rem;line-height:1.6}.hero-btns{justify-content:center;gap:8px;width:100%}.hero-btn{padding:10px 20px;font-size:.78rem}.hero-location{margin-top:0;font-size:.71rem}}@media (width<=480px){.hero-inner{gap:18px}.hero-btns{flex-direction:column;align-items:stretch}.hero-btn{justify-content:center;width:100%;padding:12px 20px;font-size:.8rem}.hero-name{font-size:1.6rem}}.skills-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:6px;margin-top:18px;margin-bottom:10px;font-size:.7rem;font-weight:700;line-height:1;display:flex}.skills-group:first-child .skills-group-label{margin-top:0}.skills-group-label svg,.skills-group-label>span{vertical-align:middle;flex-shrink:0;align-items:center;line-height:1;display:flex}.skills-group{padding-bottom:4px}.skills-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag{vertical-align:middle;line-height:1.2}@media (width<=768px){.skills-group-label{gap:5px;margin-top:16px;font-size:.68rem}.skills-tags{gap:5px}.about-avatar-section{align-items:flex-start;gap:14px}.about-big-name{font-size:1.2rem}.about-big-role{font-size:.78rem}}@media (width<=600px){.inner-page>div[style*="grid-template-columns: repeat(2"]{flex-direction:column!important;gap:10px!important;display:flex!important}.ach-highlights-grid{grid-template-columns:1fr!important}}.bento-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1)}.bento-card:hover{transform:translateY(-2px)translateZ(0)}.project-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.project-card:hover{transform:translateY(-3px)translateZ(0)}.ach-cert-card-link{transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.ach-cert-card-link:not(.ach-cert-no-link):hover{transform:translateY(-2px)translateZ(0)}.ts-skill-chip{transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.ts-skill-chip:hover{transform:translateY(-1px)translateZ(0)}.back-btn{transition:background .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}.back-btn:hover{transform:scale(1.05)translateZ(0)}.theme-toggle{transition:background .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}.theme-toggle:hover{transform:translateY(-2px)translateZ(0)}body,html{overflow-x:hidden}@media (width<=480px){.home-wrapper{gap:10px;padding:12px}.inner-page{padding:16px 12px 40px}.inner-header{margin-bottom:20px}.bento-card,.inner-card{padding:18px}}@media (width<=600px){.social-page-grid{grid-template-columns:1fr}}@media (width<=400px){.freelance-services-grid{grid-template-columns:1fr!important}}@media (width<=480px){.ts-bio-inner{text-align:center;flex-direction:column;align-items:center}.ts-bio-location{justify-content:center}.ts-grid{grid-template-columns:1fr}}@media (width<=600px){.exp-item{grid-template-columns:20px 1fr}.exp-content{min-width:0;padding-left:12px}.exp-stack{gap:4px}}@media (width<=640px){.contact-grid,.projects-bento{grid-template-columns:1fr}}
