:root{--color-bg-primary:#0a0a0a;--color-bg-secondary:#141414;--color-bg-tertiary:#1c1c1c;--color-text-primary:#f5f5f0;--color-text-secondary:#b8b8b0;--color-text-muted:#9ca3af;--color-accent:#e8e8e0;--color-accent-contrast:#0a0a0a;--color-border:#2a2a2a;--color-hover:#ffffff;--color-grain-line:rgba(255,255,255,0.01);--color-nav-surface:rgba(10,10,10,0.95);--color-menu-panel:rgba(20,20,20,0.94);--color-menu-panel-strong:rgba(28,28,28,0.98);--color-menu-panel-border:rgba(245,245,240,0.08);--color-menu-overlay:rgba(10,10,10,0.14);--color-menu-hover:rgba(245,245,240,0.06);--color-menu-active:rgba(232,232,224,0.1);--color-menu-active-border:rgba(232,232,224,0.16);--shadow-lift:0 14px 28px rgba(0,0,0,0.25);--shadow-button-rest:0 0 0 rgba(255,255,255,0);--shadow-button-hover:0 10px 24px rgba(255,255,255,0.15);--shadow-menu-panel:0 24px 52px rgba(0,0,0,0.32);--shadow-menu-button:0 14px 32px rgba(0,0,0,0.2);--font-display:'Courier New',monospace;--font-body:'Georgia',serif;--font-mono:'Consolas','Monaco',monospace;--dur-fast:160ms;--dur-base:320ms;--dur-slow:700ms;--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.16,1,0.3,1);--move-sm:10px;--move-md:24px;--transition-smooth:all var(--dur-base) var(--ease-smooth);--transition-fast:all var(--dur-fast) ease;--mobile-nav-top:88px;}*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;font-size:16px;}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.7;overflow-x:hidden;position:relative;}body.nav-open{overflow:hidden;}body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient( 0deg,transparent,transparent 2px,var(--color-grain-line) 2px,var(--color-grain-line) 4px );pointer-events:none;z-index:1;opacity:0.5;}nav{position:fixed;top:0;left:0;right:0;background:var(--color-nav-surface);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);padding:1.5rem 3rem;z-index:100;transform:translateY(0);opacity:1;}@keyframes navDropIn{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}body.motion-ready nav{opacity:0;transform:translateY(-20px);}body.motion-ready.motion-entered nav{animation:navDropIn var(--dur-slow) var(--ease-out) forwards;}nav .container{max-width:1400px;margin:0 auto;display:flex;justify-content:flex-start;align-items:center;gap:1rem;}.nav-brand{font-family:var(--font-display);font-size:clamp(0.95rem,2vw,1.1rem);letter-spacing:0.05em;color:var(--color-text-primary);text-decoration:none;font-weight:bold;}.nav-links{display:flex;gap:2.5rem;list-style:none;margin-left:auto;align-items:center;}.nav-item-theme{list-style:none;padding-left:2.5rem;border-left:1px solid var(--color-border);}.nav-links a{font-family:var(--font-mono);font-size:clamp(0.7rem,1.5vw,0.85rem);color:var(--color-text-secondary);text-decoration:none;text-transform:uppercase;letter-spacing:0.1em;transition:var(--transition-fast);position:relative;}.nav-links a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--color-hover);transition:var(--transition-fast);}.nav-links a:hover,.nav-links a.active{color:var(--color-hover);}.nav-links a:hover::after,.nav-links a.active::after{width:100%;}body.motion-ready .nav-links .nav-link{opacity:0;transform:translateY(-10px);}body.motion-ready.motion-entered .nav-links .nav-link{animation:heroRevealUp 520ms var(--ease-out) var(--nav-delay,0ms) forwards;}.hamburger{display:none;position:relative;align-items:center;justify-content:center;width:42px;height:42px;margin-left:auto;border-radius:50%;border:1px solid var(--color-menu-panel-border);background:linear-gradient(180deg,rgba(255,255,255,0.08),rgba(255,255,255,0.03));box-shadow:var(--shadow-menu-button);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);cursor:pointer;padding:0;flex-shrink:0;transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-fast) ease,background-color var(--dur-fast) ease,box-shadow var(--dur-base) var(--ease-smooth);z-index:210;}.hamburger:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.2);}.hamburger-line{position:absolute;left:50%;width:18px;height:2px;background:var(--color-text-primary);border-radius:999px;transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-fast) ease,background-color var(--dur-fast) ease;}.hamburger-line:nth-child(1){transform:translate(-50%,-6px);}.hamburger-line:nth-child(2){transform:translate(-50%,0);}.hamburger-line:nth-child(3){transform:translate(-50%,6px);}.hamburger.active .hamburger-line:nth-child(1){transform:translate(-50%,0) rotate(45deg);}.hamburger.active .hamburger-line:nth-child(2){opacity:0;}.hamburger.active .hamburger-line:nth-child(3){transform:translate(-50%,0) rotate(-45deg);}.nav-overlay{position:fixed;inset:0;padding:0;border:0;background:var(--color-menu-overlay);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-base) var(--ease-smooth),visibility 0s linear var(--dur-base);z-index:180;}body.nav-open .nav-overlay{opacity:1;visibility:visible;pointer-events:none;transition:opacity var(--dur-base) var(--ease-smooth),visibility 0s linear 0s;}.theme-toggle{background:none;border:none;color:var(--color-text-primary);font-size:clamp(1rem,2vw,1.2rem);cursor:pointer;padding:clamp(0.4rem,1vw,0.5rem);display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth);flex-shrink:0;}.theme-toggle:hover{color:var(--color-accent);transform:rotate(20deg);}body.light-mode{--color-bg-primary:#faf7f2;--color-bg-secondary:#f0ebe0;--color-bg-tertiary:#e6dccd;--color-text-primary:#1e1610;--color-text-secondary:#5a4030;--color-text-muted:#8b7558;--color-accent:#a0845c;--color-accent-contrast:#1e1610;--color-border:#c9b99a;--color-hover:#1e1610;--color-grain-line:rgba(160,132,92,0.045);--color-nav-surface:rgba(250,247,242,0.94);--color-menu-panel:rgba(240,235,224,0.94);--color-menu-panel-strong:rgba(250,247,242,0.98);--color-menu-panel-border:rgba(160,132,92,0.18);--color-menu-overlay:rgba(120,91,54,0.08);--color-menu-hover:rgba(160,132,92,0.08);--color-menu-active:rgba(160,132,92,0.14);--color-menu-active-border:rgba(160,132,92,0.22);--shadow-lift:0 16px 32px rgba(90,64,48,0.14);--shadow-button-rest:0 0 0 rgba(90,64,48,0);--shadow-button-hover:0 12px 28px rgba(160,132,92,0.24);--shadow-menu-panel:0 24px 52px rgba(128,91,54,0.14);--shadow-menu-button:0 14px 32px rgba(128,91,54,0.12);}body.light-mode nav{box-shadow:0 10px 24px rgba(90,64,48,0.08);}main{position:relative;z-index:2;}.page{display:none;min-height:100vh;padding:120px 3rem 80px;animation:fadeIn 0.6s ease;}.page.active{display:block;}@keyframes fadeIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes revealLeft{from{opacity:0;transform:translateX(calc(var(--move-md) * -1));}to{opacity:1;transform:translateX(0);}}@keyframes revealUp{from{opacity:0;transform:translateY(var(--move-md));}to{opacity:1;transform:translateY(0);}}@keyframes revealScale{from{opacity:0;transform:scale(0.96);}to{opacity:1;transform:scale(1);}}@keyframes heroRevealUp{from{opacity:0;transform:translateY(calc(var(--move-md)+var(--move-sm)));}to{opacity:1;transform:translateY(0);}}@keyframes heroLineReveal{from{opacity:0;transform:translateY(calc(var(--move-md)+12px));clip-path:inset(0 0 100% 0);}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0);}}body.motion-ready .hero-subtitle,body.motion-ready .hero-description,body.motion-ready .cta-buttons .btn{opacity:0;transform:translateY(calc(var(--move-md)+var(--move-sm)));}body.motion-ready .hero-title-line{opacity:0;transform:translateY(calc(var(--move-md)+12px));clip-path:inset(0 0 100% 0);}body.motion-ready.motion-entered .hero-subtitle{animation:heroRevealUp 560ms var(--ease-out) 80ms forwards;}body.motion-ready.motion-entered .hero-title-line:nth-child(1){animation:heroLineReveal 820ms var(--ease-spring) 180ms forwards;}body.motion-ready.motion-entered .hero-title-line:nth-child(2){animation:heroLineReveal 860ms var(--ease-spring) 300ms forwards;}body.motion-ready.motion-entered .hero-description{animation:heroRevealUp 700ms var(--ease-out) 500ms forwards;}body.motion-ready.motion-entered .cta-buttons .btn:nth-child(1){animation:heroRevealUp 540ms var(--ease-out) 640ms forwards;}body.motion-ready.motion-entered .cta-buttons .btn:nth-child(2){animation:heroRevealUp 540ms var(--ease-out) 730ms forwards;}body.motion-ready .reveal{opacity:0;}body.motion-ready .reveal.reveal-up{transform:translateY(var(--move-md));}body.motion-ready .reveal.reveal-left{transform:translateX(calc(var(--move-md) * -1));}body.motion-ready .reveal.reveal-scale{transform:scale(0.96);}body.motion-ready .reveal.animate.reveal-up{animation:revealUp var(--dur-slow) var(--ease-out) var(--reveal-delay,0ms) forwards;}body.motion-ready .reveal.animate.reveal-left{animation:revealLeft var(--dur-slow) var(--ease-out) var(--reveal-delay,0ms) forwards;}body.motion-ready .reveal.animate.reveal-scale{animation:revealScale var(--dur-slow) var(--ease-out) var(--reveal-delay,0ms) forwards;}body.motion-ready .btn:active{transform:scale(0.98);}body.motion-ready .highlight-card,body.motion-ready .project-card,body.motion-ready .social-card{transition:transform var(--dur-base) var(--ease-spring),border-color var(--dur-base) var(--ease-smooth),box-shadow var(--dur-base) var(--ease-smooth);}body.motion-ready .highlight-card:hover,body.motion-ready .project-card:hover,body.motion-ready .social-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lift);}body.motion-ready .btn{transition:transform var(--dur-fast) var(--ease-spring),color var(--dur-fast) ease,border-color var(--dur-fast) ease;}body.motion-ready .btn:hover{transform:translateY(-2px);}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;}body.motion-ready .reveal,body.motion-ready .hero-subtitle,body.motion-ready .hero-title-line,body.motion-ready .hero-description,body.motion-ready .cta-buttons .btn,body.motion-ready nav{opacity:1;transform:none;}}.container{max-width:1400px;margin:0 auto;}h1{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);line-height:1.1;letter-spacing:-0.02em;margin-bottom:1.5rem;font-weight:bold;}h2{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);line-height:1.2;margin-bottom:1rem;letter-spacing:-0.01em;}h3{font-family:var(--font-mono);font-size:clamp(1.1rem,3vw,1.5rem);margin-bottom:0.75rem;letter-spacing:0.02em;}p{font-size:clamp(0.95rem,2vw,1.1rem);color:var(--color-text-secondary);max-width:70ch;line-height:1.6;}.hero{display:flex;flex-direction:column;justify-content:center;min-height:85vh;gap:2rem;}.hero-title{display:inline-flex;flex-direction:column;gap:0.25rem;}.hero-title-line{display:block;will-change:transform,clip-path,opacity;}.hero-subtitle{font-family:var(--font-mono);font-size:clamp(0.75rem,1.5vw,0.9rem);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.15em;margin-bottom:clamp(0.75rem,2vw,1rem);}.hero-description{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--color-text-secondary);max-width:65ch;line-height:1.8;margin-bottom:clamp(1.5rem,3vw,2rem);}.cta-buttons{display:flex;gap:1.5rem;flex-wrap:wrap;}.btn{font-family:var(--font-mono);padding:clamp(0.75rem,1.5vw,1rem) clamp(1.5rem,3vw,2.5rem);font-size:clamp(0.75rem,1.5vw,0.85rem);text-transform:uppercase;letter-spacing:0.1em;text-decoration:none;border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);cursor:pointer;transition:var(--transition-smooth);position:relative;overflow:hidden;}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-accent);transition:var(--transition-smooth);z-index:-1;}.btn:hover{color:var(--color-accent-contrast);border-color:var(--color-accent);}.btn:hover::before{left:0;}.btn-primary{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary);}.btn-primary::before{background:var(--color-bg-primary);}.btn-primary:hover{background:transparent;color:var(--color-text-primary);}body.motion-ready .btn-primary{box-shadow:var(--shadow-button-rest);}body.motion-ready .btn-primary:hover{box-shadow:var(--shadow-button-hover);}.highlights{margin-top:6rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;}.highlight-card{padding:2rem;border:1px solid var(--color-border);background:var(--color-bg-secondary);transition:var(--transition-smooth);}.highlight-card:hover{border-color:var(--color-text-muted);transform:translateY(-5px);}.highlight-card h2,.highlight-card h3{font-size:clamp(0.95rem,2.5vw,1.1rem);margin-bottom:1rem;color:var(--color-text-primary);}.highlight-card p{font-size:clamp(0.9rem,1.8vw,1rem);line-height:1.6;}.section-header{margin-bottom:4rem;max-width:800px;}.section-label{font-family:var(--font-mono);font-size:clamp(0.65rem,1.5vw,0.8rem);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.15em;margin-bottom:clamp(0.75rem,2vw,1rem);display:block;}.timeline{position:relative;padding-left:3rem;}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--color-border);}.timeline-item{position:relative;margin-bottom:4rem;padding-bottom:4rem;border-bottom:1px solid var(--color-border);}.timeline-item:last-child{border-bottom:none;}.timeline-item::before{content:'';position:absolute;left:-3.375rem;top:0.5rem;width:9px;height:9px;border-radius:50%;background:var(--color-text-primary);border:2px solid var(--color-bg-primary);}.timeline-date{font-family:var(--font-mono);font-size:clamp(0.7rem,1.5vw,0.85rem);color:var(--color-text-muted);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.1em;}.timeline-content h2,.timeline-content h3{font-size:clamp(1.1rem,3vw,1.5rem);margin-bottom:0.5rem;}.timeline-content .institution{font-family:var(--font-mono);font-size:clamp(0.8rem,1.5vw,0.9rem);color:var(--color-text-muted);margin-bottom:1rem;}.timeline-content p{margin-bottom:1rem;}.achievements{margin-top:1.5rem;}.achievements h4{font-family:var(--font-mono);font-size:clamp(0.8rem,1.5vw,0.9rem);color:var(--color-text-primary);margin-bottom:0.75rem;text-transform:uppercase;letter-spacing:0.1em;}.achievements ul{list-style:none;padding-left:0;}.achievements li{font-size:clamp(0.9rem,1.8vw,1rem);color:var(--color-text-secondary);margin-bottom:0.5rem;padding-left:1.5rem;position:relative;}.achievements li::before{content:'—';position:absolute;left:0;color:var(--color-text-muted);}.form-confirmation{display:none;opacity:0;transition:opacity 0.4s ease;padding:2rem;background:var(--color-bg-secondary);border-left:4px solid var(--color-accent);border-radius:4px;margin-top:2rem;}.form-confirmation.show{display:block;opacity:1;}.form-confirmation h2,.form-confirmation h3{margin-bottom:0.5rem;color:var(--color-accent);}.form-confirmation p{color:var(--color-text-secondary);}.filter-bar{margin-bottom:3rem;display:flex;gap:1rem;flex-wrap:wrap;}.filter-btn{font-family:var(--font-mono);padding:clamp(0.4rem,1vw,0.5rem) clamp(1rem,2vw,1.5rem);font-size:clamp(0.65rem,1.2vw,0.75rem);text-transform:uppercase;letter-spacing:0.1em;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);}.filter-btn:hover,.filter-btn.active{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary);}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;}.project-card{border:1px solid var(--color-border);background:var(--color-bg-secondary);padding:2rem;transition:var(--transition-smooth);cursor:pointer;display:flex;flex-direction:column;}.project-card:hover{border-color:var(--color-text-primary);transform:translateY(-5px);}.project-card h2,.project-card h3{font-size:clamp(1.1rem,2.5vw,1.3rem);margin-bottom:1rem;}.project-card .description{font-size:clamp(0.9rem,1.8vw,1rem);color:var(--color-text-secondary);margin-bottom:1.5rem;flex-grow:1;}.tech-stack{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem;}.tech-tag{font-family:var(--font-mono);font-size:clamp(0.6rem,1vw,0.7rem);padding:clamp(0.2rem,0.5vw,0.25rem) clamp(0.5rem,1vw,0.75rem);background:var(--color-bg-tertiary);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;}.project-links{display:flex;gap:1rem;}.project-link{font-family:var(--font-mono);font-size:0.75rem;color:var(--color-text-secondary);text-decoration:none;text-transform:uppercase;letter-spacing:0.1em;transition:var(--transition-fast);position:relative;}.project-link::after{content:'→';margin-left:0.5rem;transition:var(--transition-fast);}.project-link:hover{color:var(--color-hover);}.project-link:hover::after{margin-left:0.75rem;}.project-link-disabled{color:var(--color-text-muted);cursor:default;opacity:0.8;}.project-link-disabled::after{content:'•';margin-left:0.5rem;}.project-link-disabled:hover{color:var(--color-text-muted);}.project-link-disabled:hover::after{margin-left:0.5rem;}.socials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;max-width:900px;}.social-card{border:1px solid var(--color-border);background:var(--color-bg-secondary);padding:2rem;text-align:center;transition:var(--transition-smooth);text-decoration:none;display:block;}.social-card:hover{border-color:var(--color-text-primary);transform:translateY(-5px);}.social-icon{font-size:2rem;margin-bottom:1rem;display:block;}.social-card h2,.social-card h3{font-family:var(--font-mono);font-size:0.85rem;color:var(--color-text-primary);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.1em;}.social-card .username{font-family:var(--font-mono);font-size:0.75rem;color:var(--color-text-muted);}.contact-content{max-width:700px;}.contact-form{display:block;}.form-botcheck{position:absolute;left:-9999px;opacity:0;pointer-events:none;}.form-group{margin-bottom:2rem;}.form-group label{font-family:var(--font-mono);font-size:0.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.1em;display:block;margin-bottom:0.75rem;}.form-group input,.form-group textarea{width:100%;padding:1rem;font-family:var(--font-body);font-size:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-primary);transition:var(--transition-fast);}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-text-primary);}.form-group textarea{min-height:150px;resize:vertical;}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted);}.contact-submit{position:relative;}.contact-submit:disabled{cursor:wait;opacity:0.8;}.contact-submit-loading{display:none;}.contact-submit.is-loading .contact-submit-label{display:none;}.contact-submit.is-loading .contact-submit-loading{display:inline;}.form-status{display:none;margin-top:1rem;padding:1rem 1.25rem;border-left:4px solid transparent;background:var(--color-bg-secondary);font-family:var(--font-mono);font-size:0.82rem;letter-spacing:0.05em;text-transform:uppercase;}.form-status.show{display:block;}.form-status.is-error{color:#ffddd2;border-left-color:#d65252;}.contact-alt{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--color-border);}.contact-alt h2,.contact-alt h3{font-size:1.2rem;margin-bottom:1rem;}.contact-info{display:flex;flex-direction:column;gap:1rem;}.contact-info a{font-family:var(--font-mono);font-size:0.9rem;color:var(--color-text-secondary);text-decoration:none;transition:var(--transition-fast);}.contact-info a:hover{color:var(--color-hover);}@media (min-width:1441px){.container{max-width:1600px;padding:0 4rem;}.page{padding:130px 4rem 90px;}h1{font-size:clamp(3rem,8vw,7rem);}h2{font-size:clamp(2.5rem,5vw,4rem);}p{font-size:1.15rem;}.highlights{gap:4rem;}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:3rem;}}@media (min-width:769px) and (max-width:1024px){.page{padding:110px 2.5rem 70px;}h1{font-size:clamp(2.5rem,6vw,4rem);}h2{font-size:clamp(1.8rem,4.5vw,3rem);}.highlights{grid-template-columns:repeat(2,1fr);gap:2.5rem;}.projects-grid{grid-template-columns:repeat(2,1fr);gap:2rem;}.socials-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;}.timeline{padding-left:2.5rem;}.timeline-item::before{left:-3rem;}}@media (min-width:1025px){nav .container{justify-content:space-between;gap:0;}.nav-links{margin-left:0;}.nav-item-theme{padding-left:0;border-left:none;}.nav-brand{font-size:1.1rem;}.nav-links a{font-size:0.85rem;}h3{font-size:1.5rem;}p{font-size:1.1rem;line-height:1.7;}.hero-subtitle{font-size:0.9rem;margin-bottom:1rem;}.hero-description{font-size:1.3rem;margin-bottom:2rem;}.btn{padding:1rem 2.5rem;font-size:0.85rem;}.highlight-card h2,.highlight-card h3{font-size:1.1rem;}.highlight-card p{font-size:1rem;}.section-label{font-size:0.8rem;margin-bottom:1rem;}.timeline-date{font-size:0.85rem;}.timeline-content h2,.timeline-content h3{font-size:1.5rem;}.timeline-content .institution{font-size:0.9rem;}.achievements h4{font-size:0.9rem;}.achievements li{font-size:1rem;}.filter-btn{padding:0.5rem 1.5rem;font-size:0.75rem;}.project-card h2,.project-card h3{font-size:1.3rem;}.project-card .description{font-size:1rem;}.tech-tag{font-size:0.7rem;padding:0.25rem 0.75rem;}.footer-tagline{font-size:0.8rem;}.footer-links a{font-size:0.75rem;}}@media (max-width:768px){body.motion-ready .nav-links .nav-link{opacity:1;transform:none;}.hamburger{display:inline-flex;margin-left:auto;}.nav-links{position:fixed;top:var(--mobile-nav-top);right:max(0.85rem,env(safe-area-inset-right));left:auto;width:min(320px,calc(100vw - max(1rem,env(safe-area-inset-left)) - max(1rem,env(safe-area-inset-right)) - 0.5rem));max-height:calc(100svh - var(--mobile-nav-top) - env(safe-area-inset-bottom) - 0.85rem);flex-direction:column;align-items:stretch;gap:0.35rem;margin-left:0;padding:0.75rem;background:linear-gradient(180deg,var(--color-menu-panel-strong),var(--color-menu-panel));border:1px solid var(--color-menu-panel-border);border-radius:24px;box-shadow:var(--shadow-menu-panel);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,-12px,0) scale(0.96);transform-origin:top right;overflow-y:auto;overscroll-behavior:contain;z-index:205;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-spring),visibility 0s linear var(--dur-base);}.nav-links.active{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0) scale(1);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-spring),visibility 0s linear 0s;}.nav-links li{width:100%;}.nav-links a{display:flex;align-items:center;min-height:54px;padding:0.95rem 1rem;border-radius:16px;font-size:0.8rem;background:transparent;color:var(--color-text-secondary);}.nav-links a:focus-visible,.theme-toggle:focus-visible,.hamburger:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(232,232,224,0.18);border-radius:18px;}.nav-links a::after{display:none;}.nav-links a:hover,.nav-links a:focus-visible{color:var(--color-text-primary);background:var(--color-menu-hover);transform:translateX(2px);}.nav-links a.active{color:var(--color-text-primary);background:var(--color-menu-active);box-shadow:inset 0 0 0 1px var(--color-menu-active-border);}.nav-links a:active{transform:scale(0.98);}.nav-item-theme{margin-top:0.25rem;padding-top:0.35rem;padding-left:0;border-left:none;border-top:1px solid var(--color-menu-panel-border);}.theme-toggle{width:100%;min-height:52px;border:1px solid transparent;justify-content:space-between;padding:0.85rem 1rem;border-radius:16px;background:var(--color-menu-hover);}.theme-toggle::before{content:'Appearance';font-family:var(--font-mono);font-size:0.72rem;color:var(--color-text-secondary);letter-spacing:0.12em;text-transform:uppercase;}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--color-menu-panel-border);background:var(--color-menu-active);}body.light-mode .hamburger{background:linear-gradient(180deg,rgba(255,255,255,0.5),rgba(160,132,92,0.08));}body.light-mode .theme-toggle:hover{background:var(--color-menu-active);}}@media (max-width:480px){nav{padding:0.75rem 1rem;}nav .container{gap:0.5rem;}.nav-brand{font-size:0.95rem;}.page{padding:90px 1rem 50px;}h1{font-size:2rem;margin-bottom:1rem;}h2{font-size:1.5rem;}h3{font-size:1.2rem;}p{font-size:1rem;}.hero-subtitle{font-size:0.8rem;}.hero-description{font-size:1.05rem;}.cta-buttons{gap:1rem;flex-direction:column;}.btn{width:100%;text-align:center;padding:1.2rem 1.5rem;}.highlights{grid-template-columns:1fr;gap:1.5rem;}.projects-grid{grid-template-columns:1fr;gap:1.5rem;}.socials-grid{grid-template-columns:1fr;gap:1.5rem;}.timeline{padding-left:1.5rem;}.timeline-item::before{left:-2.25rem;}.timeline-item{margin-bottom:3rem;padding-bottom:3rem;}.section-header{margin-bottom:2.5rem;}.filter-bar{margin-bottom:2rem;gap:0.5rem;}.filter-btn{padding:0.4rem 1rem;font-size:0.7rem;}.form-group input,.form-group textarea{padding:0.875rem;}.contact-alt{margin-top:2rem;padding-top:2rem;}footer{padding:2rem 1rem;margin-top:4rem;}footer .container{flex-direction:column;align-items:center;}.footer-tagline{font-size:0.7rem;}.footer-links{display:none;}}@media (min-width:481px) and (max-width:768px){nav{padding:1rem 1.5rem;}.nav-brand{font-size:1rem;}.page{padding:110px 1.5rem 65px;}h1{font-size:2.7rem;}h2{font-size:1.8rem;}.cta-buttons{flex-direction:column;}.btn{width:100%;}.highlights{grid-template-columns:1fr;gap:2rem;}.projects-grid{grid-template-columns:1fr;gap:1.5rem;}.socials-grid{grid-template-columns:1fr;gap:1.5rem;}.timeline{padding-left:2rem;}.timeline-item::before{left:-2.625rem;}.filter-bar{gap:0.5rem;}.filter-btn{padding:0.45rem 1.25rem;font-size:0.7rem;}footer .container{flex-direction:column;gap:1.5rem;}.footer-links{display:none;}}footer{position:relative;z-index:2;border-top:1px solid var(--color-border);padding:3rem;margin-top:6rem;}footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem;}.footer-tagline{font-family:var(--font-mono);font-size:clamp(0.65rem,1.2vw,0.8rem);color:var(--color-text-muted);letter-spacing:0.1em;}.footer-links{display:flex;gap:2rem;list-style:none;}.footer-links a{font-family:var(--font-mono);font-size:clamp(0.65rem,1.2vw,0.75rem);color:var(--color-text-muted);text-decoration:none;text-transform:uppercase;letter-spacing:0.1em;transition:var(--transition-fast);}.footer-links a:hover{color:var(--color-hover);}@media (max-width:480px){footer{padding:2rem 1rem;margin-top:4rem;}footer .container{flex-direction:column;align-items:center;}.footer-tagline{font-size:0.7rem;}.footer-links{display:none;}}@media (min-width:481px) and (max-width:768px){footer .container{flex-direction:column;gap:1.5rem;}.footer-links{display:none;}}