:root{--color-primary: #000000;--color-secondary: #1a1a1a;--color-accent: #D4C5B9;--color-beige-light: #F5F1ED;--color-beige: #E8DFD6;--color-white: #FFFFFF;--color-gray: #666666;--color-gray-light: #999999;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Playfair Display", Georgia, serif;--transition-base: all .3s ease;--transition-slow: all .5s ease;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-primary);background-color:var(--color-white);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.2;color:var(--color-primary)}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.2rem,2vw,1.5rem)}p{font-size:1.05rem;color:var(--color-gray);line-height:1.8}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:var(--transition-base);background-color:transparent;padding:var(--spacing-md) 0}.navbar.scrolled{background-color:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);padding:var(--spacing-sm) 0}.navbar .container{display:flex;justify-content:space-between;align-items:center}.navbar h1{font-size:1.5rem;font-weight:600;color:var(--color-primary);letter-spacing:-.02em}.navbar ul{display:flex;list-style:none;gap:var(--spacing-lg)}.navbar a{text-decoration:none;color:var(--color-gray);font-weight:500;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase;transition:var(--transition-base);position:relative;padding-bottom:4px}.navbar a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-primary);transition:var(--transition-base)}.navbar a:hover,.navbar a.active{color:var(--color-primary)}.navbar a:hover:after,.navbar a.active:after{width:100%}#home{min-height:100vh;display:flex;align-items:center;padding:calc(80px + var(--spacing-lg)) var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--color-white) 0%,var(--color-beige-light) 100%)}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}.hero-text h1{margin-bottom:var(--spacing-sm);color:var(--color-primary)}.hero-text p{font-size:1.2rem;color:var(--color-gray);margin-bottom:var(--spacing-md);line-height:1.8}.hero-image{position:relative}.hero-image img{width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-lg);object-fit:cover}.hero-image:before{content:"";position:absolute;inset:-20px 20px 20px -20px;border:2px solid var(--color-accent);border-radius:8px;z-index:-1}.btn{display:inline-block;padding:1rem 2.5rem;background-color:var(--color-primary);color:var(--color-white);border:2px solid var(--color-primary);border-radius:4px;font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-sm)}.btn:hover{background-color:transparent;color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-ghost:hover{background-color:var(--color-primary);color:var(--color-white)}.about-section{padding:var(--spacing-xl) var(--spacing-md);background-color:var(--color-white)}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-xl);align-items:start}.about-photo{position:sticky;top:120px}.about-photo img{width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-md)}.about-content h2{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:3px solid var(--color-accent);display:inline-block}.about-content .lead{font-size:1.2rem;color:var(--color-secondary);margin-bottom:var(--spacing-md);line-height:1.8}.about-content p{margin-bottom:var(--spacing-md)}.about-content strong{color:var(--color-primary);font-weight:600}.skills-section{margin:var(--spacing-lg) 0}.skills-section h3{font-size:1.5rem;margin-bottom:var(--spacing-md);color:var(--color-primary)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);list-style:none}.skill{background-color:var(--color-beige-light);color:var(--color-primary);padding:.6rem 1.2rem;border-radius:4px;font-size:.9rem;font-weight:500;border:1px solid var(--color-beige);transition:var(--transition-base)}.skill:hover{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:translateY(-2px)}.about-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin:var(--spacing-lg) 0}.card{background-color:var(--color-beige-light);padding:var(--spacing-md);border-radius:8px;border:1px solid var(--color-beige);transition:var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card h4{font-size:1.2rem;margin-bottom:var(--spacing-xs);color:var(--color-primary)}.card p{font-size:.95rem;color:var(--color-gray)}.card ul{list-style:none;padding:0;margin:0}.card li{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-beige)}.card li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.card li strong{color:var(--color-primary);font-weight:600;display:block;margin-bottom:.2rem}.card li br{display:none}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.education-card{background:var(--color-white);border:1px solid var(--color-beige);border-radius:8px;padding:var(--spacing-md);transition:var(--transition-base);box-shadow:var(--shadow-sm);height:fit-content}.education-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-accent)}.education-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);gap:var(--spacing-xs)}.education-card .card-header h5{margin:0;color:var(--color-primary);font-size:1rem;line-height:1.4;flex:1}.education-card .year{background:var(--color-accent);color:var(--color-white);padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:500;white-space:nowrap;flex-shrink:0}.education-card .institution{font-weight:600;color:var(--color-secondary);margin-bottom:.2rem;font-size:.95rem}.education-card .campus{color:var(--color-gray);font-size:.9rem;margin-bottom:var(--spacing-sm);line-height:1.4}.status-badge{display:inline-block;padding:.3rem .8rem;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.completed{background:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.status-badge.pending{background:#fff3e0;color:#ef6c00;border:1px solid #ffe0b2}.about-cards{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-md);margin:var(--spacing-lg) 0}.about-cards .card:first-child{grid-column:1}.about-cards .card:last-child{grid-column:2}@media (max-width: 768px){.about-cards{grid-template-columns:1fr;gap:var(--spacing-lg)}.about-cards .card:first-child,.about-cards .card:last-child{grid-column:1}.education-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.education-card .card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.education-card .year{align-self:flex-start}}.about-cta{margin-top:var(--spacing-lg)}.projects-section{padding:var(--spacing-xl) var(--spacing-md);background-color:var(--color-beige-light)}.projects-header{text-align:center;margin-bottom:var(--spacing-xl)}.projects-header h2{margin-bottom:var(--spacing-sm);display:inline-block;padding-bottom:var(--spacing-sm);border-bottom:3px solid var(--color-accent)}.projects-subtitle{font-size:1.1rem;color:var(--color-gray);max-width:600px;margin:0 auto}.featured-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-bottom:var(--spacing-lg)}.project-card-modern{background-color:var(--color-white);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:1px solid var(--color-beige);max-width:360px;margin:0 auto;border-radius:10px}.project-card-modern:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.project-media-modern{position:relative;overflow:hidden;height:180px}.project-image-modern{width:100%;height:100%;object-fit:cover;transition:var(--transition-slow)}.project-card-modern:hover .project-image-modern{transform:scale(1.03)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.7) 100%);opacity:0;transition:var(--transition-base);display:flex;align-items:flex-end;padding:var(--spacing-md)}.project-card-modern:hover .project-overlay{opacity:1}.project-body-modern{padding:1rem}.project-title-modern{font-size:1.15rem;margin-bottom:.35rem;color:var(--color-primary)}.project-desc-modern{color:var(--color-gray);margin-bottom:.6rem;line-height:1.4;font-size:.9rem}.project-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.6rem;border-top:1px solid var(--color-beige);gap:.5rem}.github-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:.03em;transition:var(--transition-base);border:2px solid var(--color-primary)}.github-btn:hover{background-color:transparent;color:var(--color-primary);transform:translateY(-2px)}.github-btn--outline{background-color:transparent;color:var(--color-primary)}.github-btn--outline:hover{background-color:var(--color-primary);color:var(--color-white)}.featured-badge{font-size:.8rem;font-weight:700}.see-all-container{text-align:center;margin-top:var(--spacing-xl)}.see-all-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.5rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:4px;font-size:1rem;font-weight:600;letter-spacing:.05em;transition:var(--transition-base);border:2px solid var(--color-primary)}.see-all-btn:hover{background-color:transparent;color:var(--color-primary);transform:translateY(-2px)}.see-all-btn i{font-style:normal;transition:var(--transition-base)}.see-all-btn:hover i{transform:translate(4px)}.projects-page{min-height:100vh;padding:calc(80px + var(--spacing-lg)) var(--spacing-md) var(--spacing-lg);background-color:var(--color-beige-light)}.back-btn{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);text-decoration:none;font-weight:600;margin-bottom:var(--spacing-md);transition:var(--transition-base)}.back-btn:hover{transform:translate(-4px);color:var(--color-gray)}.projects-page-header{text-align:center;margin-bottom:var(--spacing-xl)}.projects-page-header h1{margin-bottom:var(--spacing-sm);display:inline-block;padding-bottom:var(--spacing-sm);border-bottom:3px solid var(--color-accent)}.projects-grid-full{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-lg);max-width:1400px;margin:0 auto}.projects-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-beige);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#contact{padding:var(--spacing-xl) var(--spacing-md);background-color:var(--color-white)}#contact h2{margin-bottom:var(--spacing-xl);display:inline-block;padding-bottom:var(--spacing-sm);border-bottom:3px solid var(--color-accent);width:100%;text-align:center}.contact-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-primary);font-size:.95rem;letter-spacing:.03em;text-transform:uppercase}.form-group input,.form-group textarea{width:100%;padding:1rem;border:2px solid var(--color-beige);border-radius:4px;font-size:1rem;font-family:var(--font-sans);background-color:var(--color-beige-light);color:var(--color-primary);transition:var(--transition-base)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-white);box-shadow:var(--shadow-sm)}.form-group textarea{min-height:150px;resize:vertical}.contact-form button{width:100%;padding:1rem 2rem;background-color:var(--color-primary);color:var(--color-white);border:2px solid var(--color-primary);border-radius:4px;font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:var(--transition-base)}.contact-form button:hover{background-color:transparent;color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.status-message{margin-top:var(--spacing-md);padding:var(--spacing-sm);border-radius:4px;text-align:center;font-weight:600}.status-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.site-footer{background-color:var(--color-secondary);color:var(--color-white);padding:var(--spacing-xl) var(--spacing-md) var(--spacing-md)}.footer-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.footer-brand h3{color:var(--color-white);margin-bottom:var(--spacing-xs)}.footer-brand .muted{color:var(--color-gray-light);font-size:.9rem}.footer-contact{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-link{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-gray-light);text-decoration:none;transition:var(--transition-base)}.footer-link:hover{color:var(--color-white);transform:translate(4px)}.footer-link svg{width:20px;height:20px;flex-shrink:0}.footer-social{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.social-btn{width:44px;height:44px;border-radius:50%;background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;color:var(--color-white);text-decoration:none;transition:var(--transition-base);border:2px solid transparent}.social-btn:hover{background-color:var(--color-white);color:var(--color-primary);transform:translateY(-4px);border-color:var(--color-white)}.social-btn svg{width:24px;height:24px}.footer-bottom{text-align:center;padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{color:var(--color-gray-light);font-size:.9rem}.admin-projects{max-width:1000px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md)}.admin-projects h2{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:3px solid var(--color-accent);display:inline-block}.admin-projects form{background-color:var(--color-beige-light);padding:var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-xl);border:1px solid var(--color-beige)}.admin-projects input,.admin-projects textarea{width:100%;padding:1rem;margin-bottom:var(--spacing-sm);border:2px solid var(--color-beige);border-radius:4px;font-size:1rem;font-family:var(--font-sans);background-color:var(--color-white)}.admin-projects input:focus,.admin-projects textarea:focus{outline:none;border-color:var(--color-primary)}.admin-projects textarea{min-height:120px;resize:vertical}.admin-projects button{padding:.8rem 1.5rem;background-color:var(--color-primary);color:var(--color-white);border:2px solid var(--color-primary);border-radius:4px;font-weight:600;cursor:pointer;transition:var(--transition-base);margin-right:var(--spacing-sm);text-transform:uppercase;letter-spacing:.03em}.admin-projects button:hover{background-color:transparent;color:var(--color-primary)}.admin-projects button[type=button]{background-color:transparent;color:var(--color-gray);border-color:var(--color-gray)}.admin-projects button[type=button]:hover{background-color:var(--color-gray);color:var(--color-white)}.projects-list{display:grid;gap:var(--spacing-md)}.project-item{background-color:var(--color-white);padding:var(--spacing-md);border-radius:8px;border:1px solid var(--color-beige);box-shadow:var(--shadow-sm)}.project-item h3{margin-bottom:var(--spacing-xs);color:var(--color-primary)}.project-item p{margin-bottom:var(--spacing-sm);color:var(--color-gray)}.project-item img{border-radius:4px;box-shadow:var(--shadow-sm);margin:var(--spacing-sm) 0}.project-item .actions{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-beige);display:flex;gap:var(--spacing-sm)}.project-item .actions button{padding:.6rem 1.2rem;font-size:.9rem}@media (max-width: 968px){.navbar ul{gap:var(--spacing-md)}.hero-content{grid-template-columns:1fr;gap:var(--spacing-md)}.hero-image:before{display:none}.about-grid{grid-template-columns:1fr}.about-photo{position:static}.about-cards,.featured-projects,.projects-grid-full{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-social{justify-content:center}}@media (max-width: 640px){:root{--spacing-lg: 2rem;--spacing-xl: 3rem}.navbar ul{gap:var(--spacing-sm)}.navbar a{font-size:.85rem}.hero-text p{font-size:1rem}.btn{padding:.8rem 1.5rem;font-size:.9rem}.skills-list{gap:var(--spacing-xs)}.skill{font-size:.85rem;padding:.5rem 1rem}}.mobile-menu-btn{display:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.mobile-menu-btn span{width:100%;height:3px;background-color:var(--color-primary);transition:var(--transition-base);transform-origin:center}.mobile-menu-btn:hover span{background-color:var(--color-gray)}.navbar.mobile-open .mobile-menu-btn span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.navbar.mobile-open .mobile-menu-btn span:nth-child(2){opacity:0}.navbar.mobile-open .mobile-menu-btn span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav-links{display:flex;list-style:none;gap:var(--spacing-lg);margin:0;padding:0}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:998}@media (max-width: 768px){.mobile-menu-btn{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--color-white);flex-direction:column;padding:80px var(--spacing-md) var(--spacing-md);box-shadow:-5px 0 15px #0000001a;transition:var(--transition-base);z-index:1000;gap:0}.nav-links.active{right:0}.nav-links li{width:100%}.nav-links a{display:block;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-beige);text-transform:none;font-size:1.1rem;width:100%}.nav-links a:after{display:none}.nav-links a:hover,.nav-links a.active{background-color:var(--color-beige-light);color:var(--color-primary)}.mobile-overlay{display:block}.container{padding:0 var(--spacing-sm)}.hero-content{grid-template-columns:1fr;text-align:center;gap:var(--spacing-md)}.hero-text h1{font-size:2.5rem}.hero-text p{font-size:1.1rem}.featured-projects{grid-template-columns:1fr;gap:var(--spacing-md)}.project-card-modern{margin:0 auto;max-width:400px}.project-footer{flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.project-footer span{align-self:flex-end}.about-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.about-photo{position:static;text-align:center}.about-photo img{max-width:300px;margin:0 auto}.skills-list{justify-content:center}.skill{font-size:.85rem;padding:.5rem 1rem}.footer-inner{grid-template-columns:1fr;gap:var(--spacing-md);text-align:center}.footer-contact{align-items:center}.footer-social{justify-content:center}}@media (max-width: 480px){.navbar h1{font-size:1.3rem}.hero-text h1{font-size:2rem}.hero-text p{font-size:1rem}.btn{width:100%;max-width:300px}.project-card-modern{margin:0}.project-media-modern{height:140px}}@media (max-width: 768px){:root{--spacing-lg: 2rem;--spacing-xl: 3rem}#home{min-height:100vh;padding:calc(70px + var(--spacing-lg)) var(--spacing-sm) var(--spacing-lg)}.projects-section,.about-section,#contact{padding:var(--spacing-lg) var(--spacing-sm)}.project-body-modern{padding:var(--spacing-sm)}.project-title-modern{font-size:1.3rem}.project-desc-modern{font-size:.95rem}}.navbar{transition:all .3s ease}.nav-links{transition:right .3s ease}body.mobile-menu-open{overflow:hidden}
