@font-face{font-family:Syne;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab624315db63c58d-s.028be875.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e94b8ab81811a983-s.399ca42d.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:Syne;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c795a286deabae8-s.p.b6c48e4e.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:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ab624315db63c58d-s.028be875.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e94b8ab81811a983-s.399ca42d.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:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c795a286deabae8-s.p.b6c48e4e.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:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ab624315db63c58d-s.028be875.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e94b8ab81811a983-s.399ca42d.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:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.b6c48e4e.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:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_ad22b7cb-module__uCSO1q__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_ad22b7cb-module__uCSO1q__variable{--font-syne:"Syne","Syne Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.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:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.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:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_290952bb-module__oDFxSW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_290952bb-module__oDFxSW__variable{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}
:root{--bg:#080808;--bg2:#0f0f0f;--bg3:#161616;--line:#ffffff12;--accent:#e8ff47;--text:#f0ede6;--muted:#f0ede68c;--card:#ffffff08}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-jetbrains),"JetBrains Mono",monospace;opacity:0;font-size:14px;line-height:1.7;animation:.6s .2s forwards fadeIn;overflow-x:hidden}@keyframes fadeIn{to{opacity:1}}nav{z-index:100;background:linear-gradient(#080808f2 0%,#0000 100%);justify-content:space-between;align-items:center;padding:20px 60px;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-syne),"Syne",sans-serif;letter-spacing:-.02em;color:var(--text);font-size:18px;font-weight:800;text-decoration:none}.nav-logo span{color:var(--accent)}.nav-links{gap:40px;list-style:none;display:flex}.nav-links a{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:12px;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--accent)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-toggle span{background:var(--text);width:24px;height:2px;transition:all .3s;display:block}.nav-toggle.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}#hero{grid-template-columns:1fr 1fr;align-items:center;gap:60px;min-height:100vh;padding:0 60px;display:grid;position:relative;overflow:hidden}.hero-grid-bg{background-image:linear-gradient(var(--line)1px,transparent 1px),linear-gradient(90deg,var(--line)1px,transparent 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#0000 30%,#000 80%);mask-image:radial-gradient(#0000 30%,#000 80%)}.hero-left{z-index:2;position:relative}.hero-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:28px;font-size:11px;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--accent);width:32px;height:1px;display:block}.status-pill{letter-spacing:.06em;color:#e8ff47d9;background:#e8ff470f;border:1px solid #e8ff4726;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:11px;display:inline-flex}.status-dot{background:#4ade80;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}h1{font-family:var(--font-syne),"Syne",sans-serif;letter-spacing:-.03em;margin-bottom:24px;font-size:clamp(42px,5vw,72px);font-weight:800;line-height:1}h1 .line2{color:var(--accent)}.hero-desc{color:var(--muted);max-width:440px;margin-bottom:44px;font-size:14px;line-height:1.8}.hero-ctas{flex-wrap:wrap;gap:16px;display:flex}.btn-primary{background:var(--accent);color:#080808;font-family:var(--font-jetbrains),"JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;align-items:center;gap:10px;padding:14px 28px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px #e8ff4740}.btn-outline{color:var(--text);font-family:var(--font-jetbrains),"JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff26;align-items:center;gap:10px;padding:13px 28px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),border-color .2s,color .2s,box-shadow .3s;display:inline-flex}.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.05);box-shadow:0 0 20px #e8ff471a}.hero-stats{border-top:1px solid var(--line);gap:48px;margin-top:56px;padding-top:40px;display:flex}.stat-num{font-family:var(--font-syne),"Syne",sans-serif;color:var(--accent);letter-spacing:-.03em;font-size:32px;font-weight:800}.stat-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.hero-right{z-index:2;justify-content:center;align-items:center;display:flex;position:relative}.hover-card-wrap{width:480px;height:620px;position:relative}.card-label{text-align:center;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-size:11px;position:absolute;bottom:-40px;left:0;right:0}.card-accent-line{background:linear-gradient(90deg,transparent,var(--accent),transparent);height:2px;position:absolute;top:-1px;left:0;right:0}#hover-card{cursor:crosshair;border-radius:4px;width:100%;height:100%;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 40px 80px #000c,0 0 60px #e8ff470a}#hover-canvas{width:100%;height:100%;display:block}.hero-mobile-img{object-fit:cover;border:2px solid #e8ff474d;border-radius:50%;width:200px;height:200px;margin:0 auto 32px;display:none;box-shadow:0 0 40px #e8ff4714}section{padding:120px 60px}.section-header{align-items:baseline;gap:20px;margin-bottom:72px;display:flex}.section-num{color:var(--accent);letter-spacing:.2em;font-size:11px;font-weight:600}.section-title{font-family:var(--font-syne),"Syne",sans-serif;letter-spacing:-.03em;font-size:clamp(28px,3.5vw,48px);font-weight:800}.section-line{background:var(--line);flex:1;height:1px}#about{background:var(--bg)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.about-text p{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.9}.about-text p strong{color:var(--text);font-weight:600}.about-tags{flex-wrap:wrap;gap:8px;margin-top:32px;display:flex}.tag{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;border:1px solid #ffffff1a;padding:6px 14px;font-size:11px;transition:border-color .2s,color .2s}.tag:hover{border-color:var(--accent);color:var(--accent)}.about-details{flex-direction:column;gap:24px;display:flex}.detail-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 0;display:flex}.detail-key{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.detail-val{color:var(--text);font-size:13px}.detail-val a{color:var(--accent);text-decoration:none}.detail-val a:hover{text-decoration:underline}#skills{background:var(--bg2)}.skills-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.skill-group{background:var(--card);border:1px solid var(--line);padding:36px;transition:border-color .3s,background .3s,transform .3s;position:relative;overflow:hidden}.skill-group:before{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.skill-group:hover:before{transform:scaleX(1)}.skill-group:hover{background:#e8ff4708;border-color:#e8ff4733;transform:translateY(-2px)}.skill-group-title{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:20px;font-size:11px;font-weight:600;display:flex}.skill-group-title svg{opacity:.7;flex-shrink:0}.skill-list{flex-direction:column;gap:10px;display:flex}.skill-item{color:var(--muted);align-items:center;gap:12px;font-size:13px;transition:color .2s,transform .2s;display:flex}.skill-group:hover .skill-item{color:var(--text)}.skill-item:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:4px;height:4px;display:block}#projects{background:var(--bg)}.projects-list{flex-direction:column;gap:2px;display:flex}.project-row{border-bottom:1px solid var(--line);cursor:pointer;color:inherit;grid-template-columns:60px 1fr auto;align-items:center;gap:40px;padding:32px 0;text-decoration:none;transition:padding .3s,background .3s;display:grid;position:relative}.project-row:before{content:"";background:var(--accent);width:0;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.project-row:hover:before{width:2px}.project-row:hover{background:#ffffff03;padding-left:24px}.proj-num{font-family:var(--font-syne),"Syne",sans-serif;color:#ffffff0f;letter-spacing:-.04em;font-size:42px;font-weight:800;line-height:1}.proj-name{font-family:var(--font-syne),"Syne",sans-serif;color:var(--text);letter-spacing:-.02em;margin-bottom:8px;font-size:22px;font-weight:700;transition:color .2s}.project-row:hover .proj-name{color:var(--accent)}.proj-desc{color:var(--muted);max-width:560px;font-size:13px;line-height:1.7}.proj-stack{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.stack-tag{color:#e8ff47b3;letter-spacing:.06em;background:#e8ff470f;border:1px solid #e8ff4726;padding:3px 10px;font-size:11px}.proj-arrow{color:var(--muted);opacity:0;padding-right:24px;font-size:24px;transition:color .2s,transform .2s}.project-row:hover .proj-arrow{opacity:1;color:var(--accent);transform:translate(4px)}#experience{background:var(--bg2)}.exp-list{flex-direction:column;padding-left:28px;display:flex;position:relative}.exp-list:before{content:"";background:linear-gradient(to bottom,var(--accent),var(--line),transparent);width:1px;position:absolute;top:0;bottom:0;left:4px}.exp-item{border-bottom:1px solid var(--line);grid-template-columns:200px 1fr;gap:60px;padding:48px 0;display:grid;position:relative}.exp-item:before{content:"";background:var(--bg2);border:2px solid var(--accent);z-index:1;border-radius:50%;width:9px;height:9px;position:absolute;top:56px;left:-28px}.exp-period{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:12px}.exp-org{color:var(--muted);font-size:13px}.exp-role{font-family:var(--font-syne),"Syne",sans-serif;color:var(--text);letter-spacing:-.02em;margin-bottom:12px;font-size:20px;font-weight:700}.exp-desc{color:var(--muted);font-size:13px;line-height:1.8}#contact{background:var(--bg);text-align:center;position:relative}#contact:before{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);width:120px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.contact-inner{max-width:640px;margin:0 auto}.contact-big{font-family:var(--font-syne),"Syne",sans-serif;letter-spacing:-.04em;margin-bottom:32px;font-size:clamp(48px,7vw,96px);font-weight:800;line-height:1}.contact-big span{color:var(--accent)}.contact-desc{color:var(--muted);margin-bottom:48px;font-size:14px;line-height:1.8}.contact-links{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.contact-link{color:var(--muted);letter-spacing:.06em;border-bottom:1px solid #0000;align-items:center;gap:10px;padding:12px 0;font-size:13px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.contact-link:hover{color:var(--accent);border-bottom-color:var(--accent)}footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:32px 60px;display:flex}.footer-copy{color:#fff3;letter-spacing:.1em;font-size:11px}.footer-scroll{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;font-family:inherit;font-size:11px;display:flex}.footer-scroll:after{content:"";background:var(--muted);width:24px;height:1px;display:block}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#e8ff474d}@media (max-width:900px){nav{padding:20px 24px}.nav-toggle{display:flex}.nav-links{opacity:0;pointer-events:none;z-index:99;background:#080808f7;flex-direction:column;justify-content:center;align-items:center;gap:32px;transition:opacity .3s;position:fixed;inset:0}.nav-links.open{opacity:1;pointer-events:auto}.nav-links a{letter-spacing:.2em;font-size:18px}#hero{text-align:center;grid-template-columns:1fr;gap:32px;padding:120px 24px 60px}.hero-left{order:2}.hero-right{order:1;justify-content:center;display:flex}.hover-card-wrap{display:none}.hero-mobile-img{display:block}.hero-eyebrow{justify-content:center}.hero-desc{max-width:100%;margin:0 auto 32px;font-size:13px}.hero-ctas{flex-direction:column;justify-content:center;align-items:center;gap:12px}.btn-primary,.btn-outline{justify-content:center;width:100%;max-width:280px;padding:14px 20px;font-size:11px}.hero-stats{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:40px;padding-top:28px}.stat-num{font-size:24px}.stat-label{font-size:10px}.status-pill{margin:0 auto 20px;font-size:10px}section{padding:80px 20px}.section-header{gap:12px;margin-bottom:48px}.section-line{display:none}.about-grid{grid-template-columns:1fr;gap:40px}.about-text p{font-size:13px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 0}.skills-grid{grid-template-columns:1fr}.skill-group{padding:28px 20px}.project-row{grid-template-columns:1fr;gap:12px;padding:24px 0}.proj-num{opacity:.5;font-size:28px;position:absolute;top:24px;right:0}.proj-body{position:relative}.proj-name{font-size:18px}.proj-desc{font-size:12px}.proj-arrow{display:none}.stack-tag{padding:2px 8px;font-size:10px}.exp-list{padding-left:20px}.exp-item{grid-template-columns:1fr;gap:12px;padding:32px 0}.exp-item:before{width:7px;height:7px;top:40px;left:-20px}.exp-role{font-size:17px}.exp-desc{font-size:12px}.contact-big{margin-bottom:24px;font-size:clamp(36px,12vw,72px)}.contact-desc{margin-bottom:36px;font-size:13px}.contact-links{flex-direction:column;align-items:center;gap:16px}.contact-link{font-size:12px}footer{text-align:center;flex-direction:column;gap:12px;padding:32px 20px}}@media (max-width:480px){h1{font-size:clamp(32px,10vw,48px)}.hero-eyebrow{flex-wrap:wrap;gap:6px;font-size:10px}.hero-eyebrow:before{width:20px}.status-pill{padding:5px 10px;font-size:9px}.hero-desc{font-size:12px}.btn-primary,.btn-outline{max-width:100%}.hero-stats{gap:16px}.stat-num{font-size:20px}.about-tags{gap:6px}.tag{padding:4px 10px;font-size:10px}.proj-num{font-size:22px}.contact-big{font-size:clamp(28px,10vw,56px)}}
