@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.51680477.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:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.19f28380.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:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_e9752311-module__4MN8WG__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_e9752311-module__4MN8WG__variable{--font-bebas:"Bebas Neue","Bebas Neue Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.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.a62025f2.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_1c871f37-module__30ab_W__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_1c871f37-module__30ab_W__variable{--font-dm-sans:"DM Sans","DM Sans Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ba8e772932784a28-s.7bb0ada4.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 Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7546fe8f902b88b8-s.p.5f7c9333.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.4b5f6188.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.d8302362.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 Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_28b8a40b-module__l56l9G__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_28b8a40b-module__l56l9G__variable{--font-dm-mono:"DM Mono","DM Mono Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0a0a0a;--color-surface:#111;--color-surface-2:#181818;--color-border:#222;--color-text:#e8e8e0;--color-text-muted:#666660;--color-text-heading:#fafaf5;--color-text-nav:#fff;--color-accent:#f5e642;--color-accent-dim:#f5e64222;--color-accent-mid:#f5e64255;--color-accent-stroke:#f5e6420f;--color-accent-glow:#f5e64240;--color-glass-bg:#0c0c0c85;--color-glass-bg-hover:#141414ad;--color-glass-border:#ffffff12;--color-glass-border-top:#ffffff1f;--glass-blur:blur(28px)saturate(180%);--color-nav-scrolled-bg:#080808b8;--color-nav-scrolled-border:#ffffff17;--color-nav-mobile-bg:#080808bf;--color-nav-mobile-border:#ffffff1a;--color-nav-mobile-border-top:#ffffff2e;--color-tag-bg:#ffffff08;--color-tag-border-top:#ffffff17;--color-footer-bg:#06060699;--color-overlay:#000000d9;--color-modal-bg:#0a0a0ac7;--color-scroll-btn-bg:#f5e642d9;--color-scroll-btn-border:#f5e64299;--color-mobile-skill-bg:#121212b3;--color-mobile-project-bg:#0e0e0eb8;--shadow-glass:0 8px 32px #0000008c,inset 0 1px 0 #ffffff0f;--shadow-glass-lg:0 24px 64px #000000b3,inset 0 1px 0 #ffffff14;--shadow-nav-scrolled:0 12px 40px #000000a6,inset 0 1px 0 #ffffff12;--shadow-nav-mobile:0 8px 32px #0009,inset 0 1px 0 #ffffff1a;--shadow-skill-card:inset 0 1px 0 #ffffff0d;--shadow-skill-card-hover:0 8px 24px #0006,inset 0 1px 0 #ffffff14;--shadow-project-row:inset 0 1px 0 #ffffff0a;--shadow-project-row-hover:0 4px 20px #00000073,inset 0 1px 0 #ffffff12;--shadow-btn-hover:0 8px 30px #f5e64240;--shadow-scroll-btn:0 4px 20px #f5e6424d,inset 0 1px 0 #ffffff4d;--shadow-scroll-btn-hover:0 8px 28px #f5e64266,inset 0 1px 0 #ffffff59;--shadow-mobile-skill:0 0 0 1px #ffffff0f,inset 0 1px 0 #ffffff14;--shadow-mobile-project:0 0 0 1px #ffffff0a,inset 0 1px 0 #ffffff0f}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-dm-sans),sans-serif;cursor:none;font-weight:300;overflow-x:hidden}@media (pointer:coarse){body{cursor:auto}.cursor,.cursor-ring{display:none!important}}body:before{content:"";z-index:0;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}.cursor{z-index:9999;background:var(--color-accent);pointer-events:none;mix-blend-mode:difference;border-radius:50%;width:12px;height:12px;transition:transform 80ms,width .2s,height .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring{z-index:9998;border:1px solid var(--color-accent);pointer-events:none;opacity:.5;border-radius:50%;width:36px;height:36px;transition:transform .18s,width .3s,height .3s,opacity .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.container{z-index:1;max-width:1200px;margin:0 auto;padding:0 40px;position:relative}.nav{z-index:100;background:var(--color-glass-bg);width:calc(100% - 48px);max-width:1160px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-glass-border);border-top-color:var(--color-glass-border-top);box-shadow:var(--shadow-glass);border-radius:100px;justify-content:space-between;align-items:center;padding:14px 28px;transition:background .4s,box-shadow .4s,border-color .4s;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.nav.scrolled{background:var(--color-nav-scrolled-bg);box-shadow:var(--shadow-nav-scrolled);border-color:var(--color-nav-scrolled-border)}.nav-logo{font-family:var(--font-bebas),sans-serif;letter-spacing:3px;color:var(--color-accent);flex:1;font-size:22px}.nav-links{flex:1;justify-content:center}.nav-cta-wrap{flex:1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.nav-links{gap:36px;list-style:none;display:flex}.nav-links a{letter-spacing:2px;text-transform:uppercase;color:var(--color-text-nav);white-space:nowrap;font-size:12px;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--color-accent)}.hero{align-items:center;height:100dvh;min-height:600px;padding:clamp(80px,12dvh,160px) 40px clamp(60px,9dvh,100px);display:flex;position:relative;overflow:hidden}.hero-bg-text{font-family:var(--font-bebas),sans-serif;color:#0000;-webkit-text-stroke:1.5px #f5e6421f;letter-spacing:-4px;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:clamp(100px,min(18vw,25dvh),250px);line-height:.85;position:absolute;top:42%;left:-20px;transform:translateY(-50%)}.hero-content{z-index:2;max-width:900px;position:relative}.hero-badge{background:var(--color-glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-glass-border);border-top-color:var(--color-glass-border-top);box-shadow:var(--shadow-glass);letter-spacing:2px;text-transform:uppercase;color:var(--color-text);border-radius:100px;align-items:center;gap:8px;margin-bottom:clamp(20px,4dvh,40px);padding:6px 14px;font-size:11px;display:inline-flex}.dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;display:inline-block}.hero-name{font-family:var(--font-bebas),sans-serif;letter-spacing:-2px;color:var(--color-text-heading);font-size:clamp(72px,min(12vw,16dvh),160px);line-height:.88}.hero-name span{color:var(--color-accent)}.hero-title{color:var(--color-text);letter-spacing:.5px;margin-top:clamp(12px,2.5dvh,24px);font-size:clamp(16px,2.5vw,22px);font-weight:300}.hero-title em{color:var(--color-accent);font-style:italic}.hero-desc{max-width:600px;color:var(--color-text);margin-top:clamp(16px,3dvh,32px);font-size:15px;line-height:1.7}.hero-cta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:clamp(28px,5dvh,52px);display:flex}.btn-primary{background:var(--color-accent);color:var(--color-bg);letter-spacing:1px;text-transform:uppercase;border-radius:4px;padding:14px 32px;font-size:13px;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block}.btn-primary:hover{box-shadow:var(--shadow-btn-hover);transform:translateY(-2px)}.btn-ghost{color:var(--color-text);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;text-decoration:none;transition:color .2s,gap .2s;display:flex}.btn-ghost:hover{gap:12px}.btn-ghost svg{transition:transform .2s}.btn-ghost:hover svg{transform:translate(4px)}.hero-scroll{color:var(--color-text-muted);letter-spacing:3px;text-transform:uppercase;white-space:nowrap;flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(to bottom,var(--color-accent),transparent);width:1px;height:50px;animation:2s ease-in-out infinite scrollLine}@keyframes scrollLine{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.marquee-section{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);z-index:1;padding:20px 0;position:relative;overflow:hidden}.marquee-track{width:max-content;animation:25s linear infinite marquee;display:flex}.marquee-item{font-family:var(--font-bebas),sans-serif;letter-spacing:4px;color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:20px;padding:0 32px;font-size:15px;display:flex}.sep{color:var(--color-accent);font-size:20px}.section{z-index:1;padding:120px 0;position:relative}.section--surface{background:var(--color-surface)}.section--contact{border-top:1px solid var(--color-border);text-align:center}.section-label{letter-spacing:4px;text-transform:uppercase;color:var(--color-accent);margin-bottom:16px;font-size:10px}.section-title{font-family:var(--font-bebas),sans-serif;color:var(--color-text-heading);font-size:clamp(48px,7vw,90px);line-height:.9}.about-grid{grid-template-columns:220px 1fr 1fr;align-items:start;gap:64px;margin-top:72px;display:grid}.about-photo-col{justify-content:center;padding-top:8px;display:flex}.about-text p{color:var(--color-text);margin-bottom:20px;font-size:16px;line-height:1.8}.about-text p strong{color:var(--color-accent);font-weight:400}.about-text p em{color:var(--color-accent);font-style:normal}.about-photo-wrap{width:200px;height:200px;margin-bottom:0;display:inline-block;position:relative}.about-photo-border{background:conic-gradient(from 0deg,var(--color-accent),transparent 60%,var(--color-accent));border-radius:50%;animation:8s linear infinite spin;position:absolute;inset:-3px}.about-photo-bg{background:var(--color-bg);z-index:0;border-radius:50%;position:absolute;inset:2px}.about-photo{z-index:1;object-fit:cover;border-radius:50%;width:200px;height:200px;display:block;position:relative}.about-stats{flex-direction:column;gap:1px;display:flex}.stat-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding:24px 0;display:flex}.stat-row--first{border-top:1px solid var(--color-border)}.stat-num{font-family:var(--font-bebas),sans-serif;color:var(--color-accent);font-size:52px;line-height:1}.stat-num--mono{font-family:sans-serif}.stat-label{color:var(--color-text);letter-spacing:1px;text-align:right;white-space:pre-line;max-width:160px;font-size:12px;line-height:1.5}.skills-grid{background:var(--color-glass-border);border:1px solid var(--color-glass-border);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:72px;display:grid;overflow:hidden}.skill-card{background:var(--color-glass-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-skill-card);padding:36px 32px;transition:background .3s,box-shadow .3s;position:relative;overflow:hidden}.skill-card:before{content:"";background:var(--color-accent);transform-origin:0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.skill-card:hover{background:var(--color-glass-bg-hover);box-shadow:var(--shadow-skill-card-hover)}.skill-card:hover:before{transform:scaleX(1)}.skill-icon{margin-bottom:16px;font-size:28px}.skill-name{color:var(--color-text);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:500}.skill-tech{color:var(--color-text-muted);font-size:12px;font-family:var(--font-dm-mono),monospace;white-space:pre-line;line-height:1.8}.projects-list{background:var(--color-glass-border);border:1px solid var(--color-glass-border);border-radius:8px;flex-direction:column;gap:1px;margin-top:72px;display:flex;overflow:hidden}.project-row{background:var(--color-glass-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-project-row);grid-template-columns:60px 1fr auto auto;align-items:center;gap:40px;padding:32px 40px;transition:background .25s,padding-left .3s,box-shadow .25s;display:grid;position:relative;overflow:hidden}.project-row:before{content:"";background:var(--color-accent);width:3px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.project-row:hover{background:var(--color-glass-bg-hover);box-shadow:var(--shadow-project-row-hover);padding-left:48px}.project-row:hover:before{transform:scaleY(1)}.project-num{font-family:var(--font-dm-mono),monospace;color:var(--color-accent);font-size:11px}.project-info h3{color:var(--color-accent);margin-bottom:4px;font-size:18px;font-weight:400}.project-info p{color:var(--color-text);font-size:13px}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--color-tag-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-glass-border);border-top-color:var(--color-tag-border-top);color:var(--color-text);font-size:11px;font-family:var(--font-dm-mono),monospace;white-space:nowrap;border-radius:100px;padding:4px 12px}.project-link{color:var(--color-text-muted);flex-shrink:0;text-decoration:none;transition:color .2s}.project-link:hover{color:var(--color-accent)}.project-link--disabled{opacity:.3;cursor:default}.contact-email{font-family:var(--font-bebas),sans-serif;color:var(--color-text-heading);letter-spacing:2px;word-break:break-all;margin-top:48px;font-size:clamp(28px,5.5vw,90px);text-decoration:none;transition:color .2s;display:inline-block;position:relative}.contact-email:after{content:"";background:var(--color-accent);height:3px;transition:transform .3s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.contact-email:hover{color:var(--color-accent)}.contact-email:hover:after{transform:scaleX(1)}.contact-sub{color:var(--color-text);letter-spacing:.5px;margin-top:16px;font-size:14px}.social-links{flex-wrap:wrap;justify-content:center;gap:32px;margin-top:64px;display:flex}.social-link{letter-spacing:2px;text-transform:uppercase;color:var(--color-text);align-items:center;gap:8px;font-size:11px;text-decoration:none;transition:color .2s;display:flex}.social-link:hover{color:var(--color-accent)}.social-link--btn{cursor:pointer;font-family:var(--font-dm-sans),sans-serif;background:0 0;border:none}.footer{border-top:1px solid var(--color-glass-border);z-index:1;background:var(--color-footer-bg);-webkit-backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:32px 40px;display:flex;position:relative}.footer p{color:var(--color-text);letter-spacing:1px;font-size:12px}.footer span{color:var(--color-accent)}.built-with{font-family:var(--font-dm-mono),monospace;font-size:11px}.cv-modal-overlay{z-index:1000;background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cv-modal{background:var(--color-modal-bg);-webkit-backdrop-filter:blur(40px)saturate(200%);border:1px solid var(--color-glass-border);border-top-color:var(--color-glass-border-top);box-shadow:var(--shadow-glass-lg);border-radius:12px;flex-direction:column;width:100%;max-width:860px;height:90vh;display:flex;overflow:hidden}.cv-modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.cv-modal-title{font-family:var(--font-dm-mono),monospace;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:11px}.cv-modal-title span{color:var(--color-accent);margin-right:8px}.cv-modal-actions{align-items:center;gap:12px;display:flex}.cv-download-btn{font-family:var(--font-dm-mono),monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-bg);background:var(--color-accent);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:10px;text-decoration:none;transition:opacity .2s;display:flex}.cv-download-btn:hover{opacity:.85}.cv-close-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;transition:color .2s,border-color .2s;display:flex}.cv-close-btn:hover{color:var(--color-text);border-color:var(--color-text)}.cv-modal-body{flex:1;overflow:hidden}.cv-modal-body iframe{border:none;width:100%;height:100%;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-33.33%)}}@media (max-width:900px){.skills-grid{grid-template-columns:repeat(2,1fr)!important}}.nav-cta{background:var(--color-accent);color:var(--color-bg);letter-spacing:1px;text-transform:uppercase;border-radius:100px;align-items:center;gap:8px;padding:8px 18px;font-size:12px;font-weight:500;text-decoration:none;transition:opacity .2s;display:flex}.nav-cta:hover{opacity:.85}.scroll-top-btn{z-index:999;background:var(--color-scroll-btn-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);width:48px;height:48px;color:var(--color-bg);border:1px solid var(--color-scroll-btn-border);box-shadow:var(--shadow-scroll-btn);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:32px;right:32px}.scroll-top-btn:hover{box-shadow:var(--shadow-scroll-btn-hover);transform:translateY(-3px)}.nav-hamburger{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:none}.nav-hamburger-icon{flex-direction:column;gap:5px;width:20px;display:flex}.nav-hamburger-icon span{background:var(--color-text);transform-origin:50%;border-radius:2px;height:1.5px;transition:transform .3s,opacity .3s,width .3s;display:block}.nav-hamburger-icon.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-hamburger-icon.open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-hamburger-icon.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-mobile-menu{opacity:0;border-top:1px solid #0000;flex-direction:column;gap:4px;width:100%;max-height:0;margin-top:0;padding:0;transition:max-height .4s,opacity .3s;display:none;overflow:hidden}.nav-mobile-menu--open{opacity:1;border-top-color:var(--color-glass-border);max-height:300px;margin-top:12px;padding-top:12px}.nav-mobile-link{letter-spacing:2px;text-transform:uppercase;color:var(--color-text);border-bottom:1px solid var(--color-glass-border);align-items:center;gap:10px;padding:12px 4px;font-size:13px;text-decoration:none;transition:color .2s,padding-left .2s;display:flex}.nav-mobile-link:before{content:"";background:var(--color-accent);opacity:0;border-radius:50%;flex-shrink:0;width:4px;height:4px;transition:opacity .2s}.nav-mobile-link:last-child{border-bottom:none}.nav-mobile-link:hover{color:var(--color-accent);padding-left:6px}.nav-mobile-link:hover:before{opacity:1}.nav--open{border-radius:20px!important}@media (max-width:768px){.container{padding:0 24px}.section{padding:80px 0}.nav{background:var(--color-nav-mobile-bg);-webkit-backdrop-filter:blur(32px)saturate(200%);border-color:var(--color-nav-mobile-border);border-top-color:var(--color-nav-mobile-border-top);width:calc(100% - 32px);box-shadow:var(--shadow-nav-mobile);border-radius:100px;flex-wrap:wrap;align-items:center;padding:12px 20px}.nav-logo{flex:none}.nav-cta-wrap{flex:1}.nav-links{display:none}.nav-hamburger,.nav-mobile-menu{display:flex}.hero{padding:clamp(80px,14dvh,130px) 24px clamp(60px,9dvh,80px)}.hero-scroll{display:none}.about-grid{grid-template-columns:1fr;gap:48px;margin-top:48px}.about-photo-col{justify-content:flex-start}.project-row{grid-template-rows:auto auto;grid-template-columns:40px 1fr auto;gap:12px 16px;padding:24px}.project-row:hover{padding-left:24px}.project-tags{grid-area:2/2/auto/-1}.footer{text-align:center;justify-content:center;padding:24px}.cv-modal{border-radius:12px 12px 0 0;max-width:100%;height:85vh;margin:0;position:fixed;bottom:0}.cv-modal-overlay{align-items:flex-end;padding:0}.skill-card{background:var(--color-mobile-skill-bg);box-shadow:var(--shadow-mobile-skill)}.project-row{background:var(--color-mobile-project-bg);box-shadow:var(--shadow-mobile-project)}}@media (max-width:540px){.skills-grid{grid-template-columns:1fr!important}}::selection{background:var(--color-accent);color:var(--color-bg)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:10px}
