@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_78e3e10c-module__ZPtN2q__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_78e3e10c-module__ZPtN2q__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.04ygcc0k6zvvf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.18awt9904y5ei.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.0~z396rbj0t4w.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.09-.4z_6a6fti.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.1841exvy3.1-g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.0kbulo~7o8gic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_754f223c-module__vnF5cq__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_754f223c-module__vnF5cq__variable{--font-space-mono:"Space Mono", "Space Mono Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0e10;--bg2:#141416;--bg3:#1a1a1e;--border:#2a2a2e;--text:#e8e8e8;--muted:#888;--white:#fff;--accent:#fff;--safe-area-bottom:env(safe-area-inset-bottom,0px)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-dm-sans), "DM Sans", sans-serif;min-height:100vh}a{color:inherit}.portfolio-home{width:100%}.portfolio-home .side-nav{z-index:100;background:var(--bg);flex-direction:column;justify-content:space-around;align-items:center;width:44px;height:100vh;margin:15px;padding:24px 0;display:flex;position:fixed;top:0;left:0}.portfolio-home .side-nav a{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;padding:8px 0;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;transform:rotate(180deg)}.portfolio-home .side-nav a:hover,.portfolio-home .side-nav a.active{color:var(--white)}.portfolio-home .mobile-dock-nav{z-index:140;width:max-content;max-width:calc(100vw - 1rem);display:none;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.portfolio-home .mobile-dock-inner{scrollbar-width:none;border:1px solid #fff3;border-radius:0;align-items:center;gap:.25rem;padding:.5rem .75rem;display:flex;overflow-x:auto;box-shadow:0 16px 32px #0000006b}.portfolio-home .mobile-dock-inner::-webkit-scrollbar{display:none}.portfolio-home .mobile-dock-item{color:#8d8d8d;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-width:62px;padding:.72rem;text-decoration:none;transition:transform .3s,color .3s,background .3s;display:flex}.portfolio-home .mobile-dock-item:hover{color:var(--white);background:#ffffff0d;transform:scale(1.05)}.portfolio-home .mobile-dock-item:active{transform:scale(.95)}.portfolio-home .mobile-dock-item.active{color:var(--white);background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff29}.portfolio-home .mobile-dock-item svg{width:20px;height:20px}.portfolio-home .mobile-dock-item span{font-size:11px;font-weight:600;line-height:1}.portfolio-home .mobile-dock-divider{background:#ffffff38;flex-shrink:0;width:1px;height:32px;margin:0 .25rem}.portfolio-home .mobile-dock-default:hover{color:var(--white)}.portfolio-home .portfolio-main{width:calc(100% - 44px);margin-left:44px;padding:24px 32px 80px}.portfolio-home #about{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:1.5rem;width:100%;max-width:1240px;margin:0 auto 16px;display:grid}.glass-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#ffffff09 0%,#ffffff04 100%);border:1px solid #ffffff17;border-radius:0;position:relative;overflow:hidden;box-shadow:0 14px 40px #00000059}.hover-lift{transition:transform .35s,border-color .35s}.hover-lift:hover{border-color:#fff3;transform:translateY(-4px)}.hover-shine:before{content:"";pointer-events:none;background:linear-gradient(105deg,#0000,#ffffff24,#0000);width:45%;height:100%;transition:left .75s;position:absolute;top:0;left:-75%;transform:skew(-18deg)}.hover-shine:hover:before{left:135%}.portfolio-home .hero-left{flex-direction:column;grid-column:span 4;justify-content:space-between;height:100%;padding:36px 30px;display:flex}.portfolio-home .hero-name{letter-spacing:-.03em;color:var(--white);font-size:clamp(1rem,3vw,6rem);font-weight:700;line-height:.98;font-family:var(--font-dm-sans), "DM Sans", sans-serif;margin-bottom:12px}.portfolio-home .hero-name span{background:linear-gradient(145deg,#fff 10%,#7b7b7b 90%);color:#0000;-webkit-background-clip:text;background-clip:text}.portfolio-home .hero-tag{font-family:var(--font-space-mono), "Space Mono", monospace;color:#b8b8b8;margin-bottom:22px;font-size:16px}.portfolio-home .hero-tag span{color:var(--white)}.portfolio-home .text-tech{color:gray}.portfolio-home .hero-desc{color:#b0b0b0;max-width:44ch;margin-bottom:26px;font-size:15px;line-height:1.75}.portfolio-home .hero-stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.portfolio-home .stat-box{text-align:center;background:#ffffff0a;border:1px solid #ffffff1a;padding:15px}.portfolio-home .stat-num{color:var(--white);font-size:30px;font-weight:700;line-height:1;display:block}.portfolio-home .stat-label{color:#989898;letter-spacing:.05em;text-transform:uppercase;margin-top:7px;font-size:11px}.portfolio-home .hero-btns{gap:12px;margin-top:auto;display:flex}.portfolio-home .btn-primary,.portfolio-home .btn-outline{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:0;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-size:10px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.portfolio-home .btn-primary{background:var(--white);color:#000;border-color:var(--white)}.portfolio-home .btn-primary:hover{opacity:.95}.portfolio-home .btn-outline{color:var(--white);background:#ffffff08;border-color:#ffffff2e}.portfolio-home .btn-outline:hover{background:#ffffff14}.portfolio-home .btn-shine:after{content:"";background:linear-gradient(100deg,#0000 10%,#ffffffbf,#0000 90%);width:90%;height:100%;transition:left .65s;position:absolute;top:0;left:-120%;transform:skew(-20deg)}.portfolio-home .btn-shine:hover:after{left:140%}.portfolio-home .hero-center{flex-direction:column;grid-column:span 4;justify-content:space-between;height:100%;display:flex}.portfolio-home .hero-photo-area{justify-content:center;align-items:center;width:100%;min-height:320px;padding:22px 22px 10px;display:flex}.portfolio-home .hero-photo{object-fit:cover;width:100%;max-width:320px;height:100%;min-height:280px;transition:transform .5s;box-shadow:0 22px 42px #0000008c}.portfolio-home .hero-photo:hover{transform:scale(1.01)}.portfolio-home .hero-info{flex-direction:column;gap:12px;width:100%;padding:16px 24px 22px;display:flex}.portfolio-home .info-row{color:#b8b8b8;align-items:center;gap:10px;font-size:13px;line-height:1.35;display:flex}.portfolio-home .info-row a,.portfolio-home .info-row button{color:#b8b8b8;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.portfolio-home .info-row a:hover,.portfolio-home .info-row button:hover{color:var(--white)}.portfolio-home .info-row svg{opacity:.8;color:var(--white);flex-shrink:0}.portfolio-home .hero-right{grid-column:span 4;grid-template-rows:repeat(3,minmax(0,1fr));align-self:stretch;gap:12px;height:100%;display:grid}.portfolio-home .skill-card{flex-direction:column;justify-content:flex-start;height:100%;padding:20px 22px;display:flex}.portfolio-home .skill-card-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.portfolio-home .skill-card-header svg{opacity:.9;color:var(--white)}.portfolio-home .skill-card-header h3{color:var(--white);letter-spacing:.01em;font-size:16px;font-weight:700}.portfolio-home .tags{flex-wrap:wrap;gap:8px;display:flex}.portfolio-home .tag{color:#d9d9d9;font-size:11.5px;font-family:var(--font-space-mono), "Space Mono", monospace;background:#ffffff14;border:1px solid #ffffff1f;border-radius:0;padding:6px 10px;line-height:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.animate-fade-in-left{animation:.65s both fadeInLeft}.animate-fade-in-up{animation:.75s both fadeInUp}.animate-fade-in-right{animation:.65s both fadeInRight}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (max-width:1180px){.portfolio-home #about{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-home .hero-left{grid-column:span 2}.portfolio-home .hero-center,.portfolio-home .hero-right{grid-column:span 1}}@media (max-width:900px){.portfolio-home #about{grid-template-columns:1fr;align-items:start}.portfolio-home .hero-left,.portfolio-home .hero-center,.portfolio-home .hero-right{grid-column:span 1;height:auto}.portfolio-home .hero-right{flex-direction:column;display:flex}.portfolio-home .skill-card{height:auto}.portfolio-home .hero-btns{flex-direction:column}.portfolio-home .hero-photo-area{min-height:280px}.portfolio-home .hero-photo{min-height:240px}}.portfolio-home .about-section{width:100%;max-width:1240px;margin:48px auto 16px}.portfolio-home .about-card{border-radius:0;padding:32px}.portfolio-home .about-heading{color:var(--white);text-align:center;letter-spacing:.01em;margin-bottom:24px;font-size:24px;font-weight:700}.portfolio-home .about-columns{grid-template-columns:1fr 1fr;gap:32px;display:grid}.portfolio-home .about-text{color:#b0b0b0;font-size:14px;line-height:1.75}.portfolio-home .about-achievements-wrap{margin-top:24px}.portfolio-home .about-subheading{color:var(--white);margin-bottom:16px;font-size:18px;font-weight:600}.portfolio-home .about-achievements-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portfolio-home .about-achievement{align-items:center;gap:12px;display:flex}.portfolio-home .about-dot{background:var(--white);border-radius:0;flex-shrink:0;width:8px;height:8px}.portfolio-home .about-achievement .about-text{color:#b0b0b0;font-size:14px;line-height:1.55}.portfolio-home .about-inline-tech{font-family:var(--font-space-mono), "Space Mono", monospace;color:var(--white);letter-spacing:.01em;font-size:12px}@media (max-width:900px){.portfolio-home .about-card{padding:24px}.portfolio-home .about-columns,.portfolio-home .about-achievements-grid{grid-template-columns:1fr;gap:18px}}.portfolio-home #projects{background:#ffffff05;border:1px solid #ffffff0f;width:100%;max-width:1240px;margin-bottom:16px;margin-left:auto;margin-right:auto;padding:96px 16px}.portfolio-home .projects-wrap{max-width:none;margin:0}.portfolio-home .projects-intro{text-align:center;margin-bottom:64px}.portfolio-home .projects-heading{color:var(--white);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(2.2rem,4.8vw,3.3rem);font-weight:800}.portfolio-home .projects-subtext{color:#9f9f9f;max-width:860px;margin:0 auto 32px;font-size:18px;line-height:1.7}.portfolio-home .projects-all-link{letter-spacing:.06em;text-transform:uppercase;color:var(--white);border:1px solid #ffffff29;border-radius:0;align-items:center;gap:8px;padding:12px 22px;font-size:13px;text-decoration:none;display:inline-flex}.portfolio-home .projects-modern-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.portfolio-home .project-glow-card{border-radius:0;min-height:100%;transition:transform .35s,border-color .35s;position:relative;overflow:hidden}.portfolio-home .project-glow-card:hover{border-color:#ffffff38;transform:translateY(-4px)}.portfolio-home .project-glow{background:radial-gradient(circle at var(--glow-x,80%) var(--glow-y,10%), #ffffff29 0%, #ffffff0a 22%, transparent 55%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:-40%}.portfolio-home .project-glow-card:hover .project-glow{opacity:1}.portfolio-home .project-glow-inner{z-index:1;flex-direction:column;min-height:100%;display:flex;position:relative}.portfolio-home .project-head{padding:24px 24px 14px;position:relative}.portfolio-home .project-icon-box{background:#ffffff08;border:1px solid #ffffff24;border-radius:0;padding:8px;position:absolute;top:16px;right:16px}.portfolio-home .project-icon-box svg{width:20px;height:20px;color:var(--white);opacity:.9}.portfolio-home .project-genre{letter-spacing:.06em;text-transform:uppercase;color:var(--white);background:#ffffff14;border:1px solid #ffffff24;border-radius:0;align-items:center;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.portfolio-home .project-name{color:var(--white);margin-top:12px;font-size:24px;font-weight:700;line-height:1.2}.portfolio-home .project-glow-card:hover .project-name{text-shadow:0 0 14px #fff3}.portfolio-home .project-body{flex-direction:column;flex:1;padding:0 24px 24px;display:flex}.portfolio-home .project-description{color:#a9a9a9;margin-bottom:18px;font-size:14px;line-height:1.7}.portfolio-home .project-tech-list{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.portfolio-home .project-tech{color:#dadada;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:0;padding:5px 8px;font-size:11px;font-weight:500}.portfolio-home .project-actions-modern{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.portfolio-home .project-action-btn{letter-spacing:.03em;color:var(--white);background:#ffffff08;border:1px solid #ffffff2e;border-radius:0;align-items:center;gap:7px;padding:10px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .25s,background .25s,border-color .25s;display:inline-flex}.portfolio-home .project-action-btn svg{width:14px;height:14px}.portfolio-home .project-action-btn:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.portfolio-home .project-action-btn.primary{background:var(--white);color:#000;border-color:var(--white)}.portfolio-home .project-action-btn.primary:hover{background:#f2f2f2}@media (max-width:1180px){.portfolio-home .projects-modern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-home .projects-subtext{font-size:16px}}@media (max-width:760px){.portfolio-home #projects{padding:72px 12px}.portfolio-home .projects-intro{margin-bottom:36px}.portfolio-home .projects-modern-grid{grid-template-columns:1fr;gap:16px}.portfolio-home .project-head{padding:20px 20px 12px}.portfolio-home .project-body{padding:0 20px 20px}}@media (max-width:1024px){.portfolio-home .side-nav{display:none}.portfolio-home .mobile-dock-nav{bottom:calc(1.5rem + var(--safe-area-bottom));display:block}.portfolio-home .portfolio-main{width:100%;padding:16px 14px calc(132px + var(--safe-area-bottom));margin-left:0}}@media (max-width:640px){.portfolio-home .mobile-dock-nav{bottom:calc(.9rem + var(--safe-area-bottom));max-width:calc(100vw - .5rem)}.portfolio-home .mobile-dock-inner{gap:.15rem;padding:.4rem .5rem}.portfolio-home .mobile-dock-item{min-width:54px;padding:.62rem .56rem}.portfolio-home .mobile-dock-item svg{width:18px;height:18px}.portfolio-home .mobile-dock-item span{font-size:10px}.portfolio-home .portfolio-main{padding-left:10px;padding-right:10px;padding-bottom:calc(126px + var(--safe-area-bottom))}}.portfolio-home #contact{padding:96px 16px}.portfolio-home .contact-wrap{max-width:1240px;margin:0 auto}.portfolio-home .contact-intro{text-align:center;margin-bottom:64px}.portfolio-home .contact-heading{color:var(--white);letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(2.2rem,4.8vw,3.3rem);font-weight:800}.portfolio-home .contact-subtext{color:#9f9f9f;max-width:860px;margin:0 auto;font-size:18px;line-height:1.7}.portfolio-home .contact-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px;margin:0 auto;display:grid}.portfolio-home .contact-card{border-radius:0;min-height:100%;padding:32px}.portfolio-home .contact-card-title{color:var(--white);margin-bottom:24px;font-size:32px;font-weight:700}.portfolio-home .contact-form{flex-direction:column;gap:22px;display:flex}.portfolio-home .contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.portfolio-home .contact-field{flex-direction:column;gap:8px;display:flex}.portfolio-home .contact-label{color:var(--white);font-size:13px;font-weight:600}.portfolio-home .contact-input,.portfolio-home .contact-textarea{width:100%;color:var(--white);font-family:var(--font-dm-sans), "DM Sans", sans-serif;background:#ffffff06;border:1px solid #ffffff24;border-radius:0;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.portfolio-home .contact-input::placeholder,.portfolio-home .contact-textarea::placeholder{color:#8c8c8c}.portfolio-home .contact-input:focus,.portfolio-home .contact-textarea:focus{border-color:#ffffff52;box-shadow:0 0 0 2px #ffffff14}.portfolio-home .contact-textarea{resize:none;min-height:190px}.portfolio-home .contact-submit{border:1px solid var(--white);background:var(--white);color:#000;letter-spacing:.03em;cursor:pointer;text-transform:uppercase;border-radius:0;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;font-size:14px;font-weight:700;display:inline-flex}.portfolio-home .contact-submit svg,.portfolio-home .contact-download svg,.portfolio-home .social-chip svg{width:20px;height:20px}.portfolio-home .contact-info-text{color:#9f9f9f;margin-bottom:24px;line-height:1.7}.portfolio-home .contact-meta{gap:14px;margin-bottom:24px;display:grid}.portfolio-home .contact-meta h4{color:var(--white);margin-bottom:4px;font-size:16px;font-weight:700}.portfolio-home .contact-meta p{color:#9f9f9f;font-size:13px;line-height:1.55}.portfolio-home .contact-download{width:100%;color:var(--white);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:0;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.portfolio-home .contact-download:hover{background:#ffffff1a;border-color:#ffffff4d}.portfolio-home .contact-social-wrap{margin-top:auto}.portfolio-home .contact-social-title{color:var(--white);margin-bottom:14px;font-size:16px;font-weight:700}.portfolio-home .contact-social-grid{flex-wrap:wrap;gap:10px;display:flex}.portfolio-home .social-chip{color:#d2d2d2;background:#ffffff08;border:1px solid #ffffff29;border-radius:0;justify-content:center;align-items:center;width:54px;height:54px;text-decoration:none;transition:transform .2s,color .2s,border-color .2s;display:inline-flex}.portfolio-home .social-chip:hover{border-color:#ffffff4d;transform:translateY(-2px)scale(1.015)}.portfolio-home .social-whatsapp:hover{color:#22c55e}.portfolio-home .social-instagram:hover{color:#f472b6}.portfolio-home .social-linkedin:hover{color:#60a5fa}.portfolio-home .social-upwork:hover{color:#16a34a}.portfolio-home .social-github:hover{color:#a3a3a3}@media (max-width:980px){.portfolio-home #contact{padding:76px 12px}.portfolio-home .contact-panels{grid-template-columns:1fr}.portfolio-home .contact-intro{margin-bottom:36px}}@media (max-width:640px){.portfolio-home .contact-card{padding:22px}.portfolio-home .contact-card-title{margin-bottom:18px;font-size:26px}.portfolio-home .contact-form-grid{grid-template-columns:1fr;gap:16px}}.portfolio-home .top-bar{background:var(--accent);z-index:200;height:3px;position:fixed;top:0;left:0;right:0}.portfolio-home section{padding-top:8px}.portfolio-home .section-divider{height:24px}.portfolio-home .hover-glow:hover{text-shadow:0 0 18px #ffffff2e}.projects-page{width:100%}.projects-page .page-wrap{background:var(--bg);min-height:100vh}.projects-page .container{width:min(1240px,100% - 32px);margin:0 auto}.projects-page .glass-card{background:linear-gradient(145deg,#ffffff09 0%,#ffffff04 100%);border:1px solid #ffffff1a;box-shadow:0 14px 40px #00000059}.projects-page .hover-lift{transition:transform .35s,border-color .35s}.projects-page .hover-lift:hover{border-color:#fff3;transform:translateY(-4px)}.projects-page .hover-shine{position:relative;overflow:hidden}.projects-page .hover-shine:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 10%,#fff3,#0000 90%);width:52%;height:100%;transition:left .7s;position:absolute;top:0;left:-120%;transform:skew(-16deg)}.projects-page .hover-shine:hover:after{left:145%}.projects-page .header{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0e0e10d1;position:fixed;top:0;left:0;right:0}.projects-page .header-inner{align-items:center;gap:14px;min-height:74px;display:flex}.projects-page .back-btn{width:42px;height:42px;color:var(--white);border-radius:0;justify-content:center;align-items:center;text-decoration:none;transition:transform .2s;display:inline-flex}.projects-page .back-btn:hover{transform:scale(1.03)}.projects-page .header-title{letter-spacing:-.01em;font-size:30px;font-weight:700}.projects-page .main{padding:104px 0 56px}.projects-page .hero-title{text-align:center;margin-bottom:48px}.projects-page .hero-title h2{color:var(--white);letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(34px,4.8vw,56px);font-weight:800}.projects-page .hero-title p{color:#8f8f94;max-width:860px;margin:0 auto;font-size:20px;line-height:1.7}.projects-page .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.projects-page .project-card{border-radius:0;position:relative;overflow:hidden}.projects-page .project-glow{background:radial-gradient(circle at var(--pointer-x,80%) var(--pointer-y,12%), #ffffff29, #ffffff0d 28%, transparent 56%);opacity:0;pointer-events:none;z-index:0;transition:opacity .35s;position:absolute;inset:-40%}.projects-page .project-card:hover .project-glow{opacity:1}.projects-page .project-inner{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}.projects-page .project-head{padding:24px 24px 14px;position:relative}.projects-page .project-icon{border-radius:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:absolute;top:16px;right:16px}.projects-page .project-icon svg{width:20px;height:20px}.projects-page .project-badge{letter-spacing:.05em;text-transform:uppercase;color:var(--white);background:#ffffff14;border:1px solid #ffffff24;border-radius:0;align-items:center;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.projects-page .project-name{color:var(--white);margin-top:12px;font-size:24px;font-weight:700;line-height:1.25;transition:color .2s}.projects-page .project-card:hover .project-name{color:#f3f3f3}.projects-page .project-body{flex-direction:column;height:100%;padding:0 24px 24px;display:flex}.projects-page .project-desc{color:#8f8f94;flex:1;margin-bottom:18px;font-size:14px;line-height:1.7}.projects-page .project-tags{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.projects-page .project-tag{color:#d8d8d8;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:0;padding:5px 8px;font-size:11px;font-weight:500}.projects-page .project-actions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.projects-page .action-btn{border-radius:0;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.projects-page .action-btn:hover{transform:scale(1.0075)}.projects-page .action-btn.primary{background:var(--white);color:#000;border:1px solid var(--white)}.projects-page .action-btn.ghost{color:var(--white);background:#ffffff08;border:1px solid #ffffff29}.projects-page .action-btn svg{width:16px;height:16px}@media (max-width:1180px){.projects-page .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.projects-page .header-title{font-size:24px}.projects-page .hero-title p{font-size:17px}.projects-page .projects-grid{grid-template-columns:1fr}.projects-page .main{padding-top:98px}.projects-page .project-head{padding:20px 20px 12px}.projects-page .project-body{padding:0 20px 20px}}
