:root{--bg-main: #21271b;--bg-surface: #1C1F18;--bg-nav: #273218;--text-primary: #E8E4D9;--text-secondary: #A39E8F;--accent-primary: #8BA888;--accent-secondary: #C58E61;--border-color: #2A2E24;--shadow: 0 10px 30px rgba(0, 0, 0, .5);--glow: 0 0 15px rgba(139, 168, 136, .1);font-family:Inter,system-ui,-apple-system,Avenir,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-main);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#161912;color:var(--text-primary);font-family:Work Sans,sans-serif;line-height:1.6}#root{width:100%;min-height:100vh}a{font-weight:500;color:var(--accent-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--accent-secondary)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:all .25s ease}button:hover{border-color:var(--accent-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}h1,h2,h3{font-family:Crimson Pro,serif;color:var(--text-primary)}.portfolio{width:100%;min-height:100vh;overflow-y:auto;scroll-snap-type:y proximity;-webkit-overflow-scrolling:touch}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-content{animation:pageFadeIn .35s ease forwards}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand{display:flex;align-items:center;gap:1rem;background:none;border:none;cursor:pointer;padding:0;transition:all .3s ease;outline:none}.navbar-brand:focus{outline:none}.navbar-name{font-size:1rem;font-weight:900;letter-spacing:.05em;color:var(--text-primary);text-transform:uppercase;transition:color .3s ease}.navbar-brand:hover .navbar-name,.navbar-brand:active .navbar-name{color:var(--accent-primary)}.burger-menu{display:flex;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:.5rem}.burger-menu span{width:25px;height:2px;background-color:var(--text-primary);transition:all .3s ease;display:block}.burger-menu.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.burger-menu.active span:nth-child(2){opacity:0}.burger-menu.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.nav-menu{position:absolute;top:100%;right:1.5rem;background:#12140ffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid var(--border-color);border-bottom:1px solid var(--border-color);min-width:200px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;padding:1rem 0}.nav-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.nav-menu a{padding:1rem 1.5rem;text-decoration:none;color:var(--text-primary);transition:all .3s ease;border-left:3px solid transparent}.nav-menu a:hover{border-left-color:var(--accent-primary);background:#8ba88826;color:var(--accent-primary)}.hero{scroll-snap-align:start;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.profile-image-container{margin-bottom:2rem}.profile-image{width:160px;height:160px;border-radius:50%;object-fit:cover;box-shadow:0 4px 20px #0000004d;opacity:0}.name-title{font-size:clamp(3rem,7vw,6.5rem);font-weight:900;text-transform:uppercase;letter-spacing:.15em;margin:.5rem 0 0;line-height:1;color:var(--text-primary);perspective:1000px}.name-title span{position:relative;display:inline-block;will-change:transform;transform-style:preserve-3d}.subtitle{font-size:1rem;color:var(--text-secondary);margin:1.5rem 0 2.5rem;font-weight:300;letter-spacing:.08em;border-top:1px solid var(--border-color);padding-top:1.5rem}.social-links{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.social-links a{display:inline-block;transition:transform .3s ease,filter .3s ease}.social-links a:hover{transform:translateY(-4px)}.logo{height:2rem;width:2rem;opacity:0}.logo.github:hover{filter:drop-shadow(0 0 8px rgba(112,145,147,.6))}.logo.instagram:hover{filter:drop-shadow(0 0 8px rgba(190,42,146,.6))}.logo.linkedin:hover{filter:drop-shadow(0 0 8px rgba(97,150,207,.6))}section{padding:4rem 2rem;max-width:1200px;margin:0 auto}.section-title{font-size:2.2rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem;opacity:0;color:var(--text-primary)}.section-content{font-size:1rem;line-height:1.8;color:var(--text-secondary);max-width:600px;margin:0 auto}.about{margin-top:4rem}.work{scroll-snap-align:start}.projects{margin-top:2rem}.project-item{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 0;border-bottom:1px solid var(--border-color);gap:2rem}.project-item:first-child{border-top:1px solid var(--border-color)}.project-item-left{display:flex;gap:1.5rem;align-items:flex-start;flex:1}.project-num{font-size:.7rem;color:var(--text-secondary);padding-top:.35rem;flex-shrink:0;letter-spacing:.05em}.project-info h3{font-size:1.2rem;color:var(--text-primary);margin:0 0 .5rem;font-weight:700;transition:color .2s ease}.project-item:hover .project-info h3{color:var(--accent-primary)}.project-info p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0;max-width:480px}.project-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:1rem;flex-shrink:0}.project-tags{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.project-tag{font-size:.7rem;color:var(--text-secondary);border:1px solid var(--border-color);padding:.15rem .6rem;border-radius:20px;letter-spacing:.03em}.project-link{color:var(--accent-primary);text-decoration:none;font-size:.85rem;font-weight:600;transition:color .2s ease,letter-spacing .2s ease}.project-link:hover{color:var(--accent-secondary);letter-spacing:.05em}@media (max-width: 640px){.project-item{flex-direction:column;gap:1rem}.project-item-right{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:.75rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.contact{scroll-snap-align:start;text-align:center;padding:5rem 2rem}.email-link{display:inline-block;margin-top:2rem;color:var(--accent-primary);text-decoration:none;font-size:1.1rem;font-weight:600;letter-spacing:.02em;border-bottom:1px solid var(--accent-primary);padding-bottom:2px;transition:color .2s ease,border-color .2s ease,letter-spacing .2s ease}.email-link:hover{color:var(--accent-secondary);border-bottom-color:var(--accent-secondary);letter-spacing:.06em}.footer{text-align:center;padding:3rem 2rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.footer-social{display:flex;gap:1.5rem;justify-content:center;margin-bottom:2rem}.footer-social a{display:inline-block;transition:transform .3s ease,filter .3s ease}.footer-social a:hover{transform:translateY(-4px)}.footer-logo{height:2.5rem;width:2.5rem;opacity:.8;transition:opacity .3s ease}.blog-hero{scroll-snap-align:start;min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;margin-top:5rem}.blog-title{font-size:3rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:var(--text-primary);margin-bottom:1rem}.blog-subtitle{font-size:1.2rem;color:var(--text-secondary);font-weight:300;letter-spacing:.05em}.blog-content{padding:0;max-width:none;margin:0}.photo-grid{display:flex;align-items:flex-start;gap:14px;padding:0 2rem 4rem;max-width:1200px;margin:0 auto}.photo-col{flex:1;display:flex;flex-direction:column;gap:14px}.photo-card{position:relative;overflow:hidden;border-radius:6px;cursor:pointer;background:var(--bg-surface);border:1px solid transparent;transition:transform .3s ease,border-color .3s ease}.photo-card:hover{transform:translateY(-4px);border-color:var(--accent-primary)}.photo-img{width:100%;display:block;object-fit:cover;min-height:180px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(18,20,15,.85) 0%,transparent 55%);opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:1.2rem;gap:.2rem}.photo-card:hover .photo-overlay{opacity:1}.photo-location{color:var(--text-primary);font-size:.9rem;font-weight:600;letter-spacing:.03em}.photo-year{color:var(--text-secondary);font-size:.8rem}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0c0e0af2;display:flex;align-items:center;justify-content:center;padding:3.5rem 2rem 2rem}.lightbox-content{position:relative;max-width:min(90vw,1200px);width:100%;display:flex;flex-direction:column;align-items:center}.lightbox-img{max-width:100%;max-height:calc(100vh - 9rem);border-radius:4px;display:block}.lightbox-close{position:fixed;top:1.25rem;right:1.25rem;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:color .2s ease;line-height:1;z-index:10000}.lightbox-close:hover{color:var(--text-primary)}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff80;font-size:3rem;cursor:pointer;padding:0 1.25rem;line-height:1;transition:color .2s ease;z-index:10000;-webkit-user-select:none;user-select:none}.lightbox-nav:hover{color:#ffffffe6}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-meta{margin-top:1rem;display:flex;gap:1rem;align-items:baseline;align-self:flex-start}.lightbox-location{color:var(--text-primary);font-size:1rem;font-weight:600}.lightbox-year{color:var(--text-secondary);font-size:.85rem}@media (max-width: 768px){.photo-grid{padding:0 1rem 3rem}.photo-overlay{opacity:1}}.about-hero{scroll-snap-align:start;min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;margin-top:5rem}.about-title{font-size:3rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:var(--text-primary)}.about-content{padding:4rem 2rem;max-width:900px;margin:0 auto}.about-container{display:flex;flex-direction:row;align-items:flex-start;gap:3rem}@media (max-width: 768px){.about-container{flex-direction:column;align-items:center}.about-profile-image{width:100%;max-width:320px;height:280px}}.about-image{flex-shrink:0}.about-profile-image{width:280px;height:360px;object-fit:cover;border-radius:4px;box-shadow:0 8px 32px #0006;border:1px solid var(--border-color)}.about-text{flex:1}.about-text h3{font-size:1.5rem;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.about-text h4{font-size:1.1rem;color:var(--accent-primary);margin-top:1rem;margin-bottom:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.about-text h3:first-child{margin-top:0}.about-text p{color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem;font-size:1rem}.about-text ul{list-style:none;padding:0;margin:0 0 2rem}.about-text li{color:var(--text-secondary);padding:.5rem 0 .5rem 1.5rem;position:relative;font-size:1rem;line-height:1.6}.about-text li:before{content:"→";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.about-text blockquote{border-left:2px solid var(--accent-primary);margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;color:var(--text-secondary);font-style:italic;line-height:1.8}.about-text blockquote cite{display:block;margin-top:.5rem;font-style:normal;font-size:.85rem;color:var(--accent-primary);letter-spacing:.03em}.footer-social a:hover .footer-logo{opacity:1}.footer-logo.github:hover{filter:drop-shadow(0 0 8px rgba(112,145,147,.6))}.footer-logo.instagram:hover{filter:drop-shadow(0 0 8px rgba(190,42,146,.6))}.footer-logo.linkedin:hover{filter:drop-shadow(0 0 8px rgba(97,150,207,.6))}@media (max-width: 768px){.name-title{font-size:clamp(2rem,10vw,3.5rem)}.subtitle{font-size:1rem}.logo{height:1.75rem;width:1.75rem}.section-title{font-size:2rem}section{padding:4rem 1.5rem}}@media (max-width: 480px){.hero{min-height:100dvh;padding:5rem 1rem 3rem}.name-title{font-size:clamp(1.4rem,8.5vw,2.5rem);letter-spacing:.03em}.subtitle{font-size:.9rem}.social-links{gap:1.5rem}.logo{height:1.5rem;width:1.5rem}.section-title{font-size:1.5rem}.projects{grid-template-columns:1fr}}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:var(--shadow)}.card:hover{border-color:var(--accent-primary);box-shadow:var(--glow);transform:translateY(-4px)}.tag-category{color:var(--accent-secondary);border:1px solid var(--accent-secondary);background:transparent;padding:4px 12px;font-size:.8rem;border-radius:20px}
