*{margin:0;padding:0;box-sizing:border-box}.skip-to-content{position:absolute;left:-9999px;z-index:9999;padding:1rem 1.5rem;background-color:var(--primary-color);color:#fff;text-decoration:none;font-weight:600;border-radius:4px}.skip-to-content:focus{left:50%;top:1rem;transform:translateX(-50%)}:root{--primary-color:#0a0a0a;--secondary-color:#f5f5f5;--accent-color:#047857;--text-primary:#1a1a1a;--text-secondary:#6b7280;--border-color:#e5e7eb;--transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}html{scroll-behavior:smooth}body{font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:var(--text-primary);background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}@font-face{font-family:'Montserrat';font-display:swap}h1{font-size:4rem}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.navbar{position:fixed;top:0;left:0;right:0;background:rgb(255 255 255 / .95);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid var(--border-color)}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.25rem;font-weight:900;color:#1a1a1a;text-decoration:none}.logo:focus,.nav-link:focus,.cta-button:focus,.project-link:focus,.contact-card:focus{outline:3px solid var(--accent-color);outline-offset:2px}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{text-decoration:none;color:#1a1a1a;font-size:.95rem;font-weight:500;position:relative;transition:var(--transition)}.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--accent-color);transition:var(--transition)}.nav-link:hover{color:#1a1a1a}.nav-link:hover::after{width:100%}.menu-toggle{display:none}.menu-overlay{display:none}.hamburger{display:none;flex-direction:column;cursor:pointer;padding:.5rem;gap:.4rem;z-index:1002;position:relative}.hamburger-line{width:25px;height:3px;background-color:#1a1a1a;border-radius:3px;transition:var(--transition)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:6rem 2rem 4rem;position:relative}.hero-content{max-width:800px}.name{display:block;font-size:4rem;font-weight:800;color:#1a1a1a;margin-bottom:1rem}.hero-subtitle{font-size:1.5rem;color:#1a1a1a;font-weight:500}.hero-description{font-size:1.125rem;color:#1a1a1a;margin-bottom:2.5rem;content-visibility:auto}.cta-button{display:inline-block;padding:1rem 2.5rem;background-color:var(--primary-color);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;transition:var(--transition);border:2px solid var(--primary-color)}.cta-button:hover{background-color:#fff0;color:var(--primary-color);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.scroll-line{width:2px;height:50px;background:linear-gradient(to bottom,var(--text-secondary),transparent);animation:scrollAnimation 2s infinite}@keyframes scrollAnimation{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(10px)}}section{padding:6rem 0}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:3rem;text-align:center;position:relative}.section-title::after{content:'';display:block;width:60px;height:4px;background-color:var(--accent-color);margin:1rem auto 0;border-radius:2px}.about{background-color:var(--secondary-color)}.about-content{max-width:800px;margin:0 auto}.about-text p{font-size:1.125rem;line-height:1.8;color:var(--text-primary);margin-bottom:1.5rem;text-align:justify}.skills{margin-top:3rem}.skills h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.skill-tags{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none}.tag{padding:.5rem 1rem;background-color:#fff;border:1px solid var(--border-color);border-radius:50px;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:var(--transition)}.tag:hover{border-color:var(--accent-color);transform:translateY(-2px)}.skill-tags li,.project-tags li{list-style:none}.timeline{max-width:900px;margin:0 auto;position:relative;padding-left:2rem;list-style:none}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent-color),transparent)}.timeline-item{position:relative;margin-bottom:3rem;padding-left:2rem}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:-2.4rem;top:2.45rem;;width:16px;height:16px;border-radius:50%;background-color:var(--accent-color);border:3px solid #fff;box-shadow:0 0 0 3px rgb(16 185 129 / .2)}.timeline-content{background-color:var(--secondary-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color);transition:var(--transition)}.timeline-content:hover{box-shadow:0 10px 30px rgb(0 0 0 / .05);border-color:rgb(16 185 129 / .3)}.older-experiences-toggle{display:none}.older-experiences{max-height:0;overflow:hidden;transition:max-height 0.5s cubic-bezier(.4,0,.2,1),opacity 0.3s ease-out;opacity:0}.older-experiences-toggle:checked~.older-experiences{max-height:5000px;opacity:1;overflow:visible}.older-experiences-button{display:block;margin:2rem auto 0;padding:.875rem 2rem;background-color:#fff0;border:2px solid var(--border-color);color:var(--text-primary);border-radius:50px;font-weight:600;cursor:pointer;transition:var(--transition);text-align:center;user-select:none;width:fit-content}.older-experiences-button:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.older-experiences-button:focus{outline:3px solid var(--accent-color);outline-offset:2px}.button-text-hide{display:none}.older-experiences-toggle:checked~.older-experiences-button .button-text-show{display:none}.older-experiences-toggle:checked~.older-experiences-button .button-text-hide{display:inline}.more-projects-toggle{display:none}.more-projects{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows 0.3s ease-out,opacity 0.3s ease-out,margin 0.3s ease-out;opacity:0;margin-top:0}.more-projects>.portfolio-grid{min-height:0}.more-projects-toggle:checked~.more-projects{grid-template-rows:1fr;opacity:1;margin-top:2rem}.more-projects-button{display:block;margin:3rem auto 0;padding:.875rem 2rem;background-color:#fff;border:2px solid var(--border-color);color:var(--text-primary);border-radius:50px;font-weight:600;cursor:pointer;transition:var(--transition);text-align:center;user-select:none;width:fit-content}.more-projects-button:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.more-projects-button:focus{outline:3px solid var(--accent-color);outline-offset:2px}.more-projects-button .button-text-hide{display:none}.more-projects-toggle:checked~.more-projects-button .button-text-show{display:none}.more-projects-toggle:checked~.more-projects-button .button-text-hide{display:inline}.timeline-date{display:inline-block;padding:.25rem .75rem;background-color:#047857;color:#fff;font-size:.875rem;font-weight:600;border-radius:50px;margin-bottom:1rem}.timeline-content h3{font-size:1.5rem;margin-bottom:.25rem;color:var(--text-primary)}.timeline-content h4{font-size:1rem;color:#4b5563;font-weight:500;margin-bottom:1rem}.timeline-content h4 strong{font-weight:700;color:var(--text-primary)}.timeline-content p{color:#4b5563;line-height:1.7;margin-bottom:1rem}.experience-highlights{list-style:none;padding:0}.experience-highlights li{padding-left:1.5rem;position:relative;color:#4b5563;margin-bottom:.5rem}.experience-highlights li::before{content:'▹';position:absolute;left:0;color:var(--accent-color);font-weight:700}.portfolio{background-color:var(--secondary-color)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;list-style:none}@media (min-width:992px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.project-card{background-color:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);transition:var(--transition)}.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgb(0 0 0 / .1)}.project-image{width:100%;height:200px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.project-image img{width:100%;height:100%;max-width:783px;object-fit:cover;object-position:center}.project-card:nth-child(2) .project-image{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.project-card:nth-child(3) .project-image{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.project-card:nth-child(4) .project-image{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}.placeholder-image{font-size:4rem;font-weight:900;color:rgb(255 255 255 / .3)}.project-info{padding:1.5rem}.project-info h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.project-info p{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;list-style:none}.project-links{display:flex;gap:1.5rem}.project-link{color:var(--text-primary);text-decoration:none;font-weight:600;font-size:.875rem;transition:var(--transition)}.project-link:hover{color:var(--accent-color)}.contact-content{max-width:900px;margin:0 auto;text-align:center}.contact-intro{font-size:1.125rem;color:var(--text-secondary);line-height:1.8;margin-bottom:3rem}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;list-style:none}.contact-card{background-color:var(--secondary-color);padding:2.5rem 2rem;border-radius:12px;text-decoration:none;color:var(--text-primary);border:2px solid #fff0;transition:var(--transition);min-width:0;overflow:hidden}.contact-card:hover{border-color:var(--accent-color);transform:translateY(-5px);box-shadow:0 10px 30px rgb(0 0 0 / .05)}.contact-icon{width:60px;height:60px;margin:0 auto 1rem;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border:2px solid var(--border-color)}.contact-card h3{font-size:1.25rem;margin-bottom:.5rem;word-wrap:break-word;overflow-wrap:break-word}.contact-card p{color:#4b5563;font-size:.95rem;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.contact-form{max-width:600px;margin:0 auto 3rem;background-color:#fff;padding:2.5rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 5px 15px rgb(0 0 0 / .05)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.95rem;text-align:left}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-family:'Montserrat',sans-serif;font-size:1rem;transition:var(--transition);background-color:#fff;color:var(--text-primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgb(16 185 129 / .1)}.form-group textarea{resize:vertical;min-height:120px;font-family:'Montserrat',sans-serif}.submit-button{width:100%;padding:1rem 2rem;background-color:var(--primary-color);color:#fff;border:2px solid var(--primary-color);border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:'Montserrat',sans-serif}.submit-button:hover{background-color:#fff0;color:var(--primary-color);transform:translateY(-2px);box-shadow:0 5px 15px rgb(0 0 0 / .1)}.submit-button:focus{outline:3px solid var(--accent-color);outline-offset:2px}.submit-button:disabled{opacity:.6;cursor:not-allowed}.form-message{margin-bottom:1rem;padding:1rem;border-radius:8px;font-weight:500;text-align:center;display:none}.form-message:not(:empty){display:block}.form-message.success{background-color:#d1fae5;color:#065f46;border:1px solid #047857}.form-message.error{background-color:#fee2e2;color:#991b1b;border:1px solid #ef4444}.contact-divider{text-align:center;margin:3rem 0 2rem;position:relative}.contact-divider::before,.contact-divider::after{content:'';position:absolute;top:50%;width:35%;height:1px;background-color:var(--border-color)}.contact-divider::before{left:0}.contact-divider::after{right:0}.contact-divider span{color:var(--text-secondary);font-size:.875rem;font-weight:500;background-color:#fff;padding:0 1rem}.footer{background-color:var(--primary-color);color:#fff;padding:2rem 0;text-align:center}.footer p{color:rgb(255 255 255 / .7);font-size:.95rem}.heart{color:red;display:inline-block;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,100%{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}.scroll-to-top{box-sizing:border-box;position:absolute;top:100vh;right:2rem;bottom:0;pointer-events:none}.scroll-to-top a{position:sticky;top:calc(100vh - 7rem);width:50px;height:50px;margin-bottom:-7rem;background-color:var(--accent-color);color:#fff;text-decoration:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgb(0 0 0 / .15);transition:var(--transition);pointer-events:all;z-index:999}.scroll-to-top a:hover{background-color:#065f46;transform:translateY(-3px);box-shadow:0 6px 16px rgb(0 0 0 / .2)}.scroll-to-top a:active{transform:translateY(-1px)}.scroll-to-top a:focus{outline:3px solid rgb(4 120 87 / .3);outline-offset:2px}@media (max-width:768px){.name{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.section-title{font-size:2rem}.timeline{padding-left:1.5rem}.timeline-item{padding-left:1.5rem}.timeline-marker{left:-1.95rem}.portfolio-grid{grid-template-columns:1fr}.contact-methods{grid-template-columns:1fr}.contact-form{padding:2rem 1.5rem}.contact-divider::before,.contact-divider::after{width:30%}.hamburger{display:flex}.menu-overlay{display:block}.nav-menu{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background-color:#fff;flex-direction:column;padding:5rem 2rem 2rem;gap:0;box-shadow:-5px 0 15px rgb(0 0 0 / .1);transition:right 0.3s ease-in-out;z-index:1001}.nav-menu li{margin-bottom:1.5rem}.nav-link{font-size:1.125rem;display:block;padding:.5rem 0}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgb(0 0 0 / .5);opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease;z-index:999;cursor:pointer}.menu-toggle:checked~.menu-overlay{opacity:1;visibility:visible}.menu-toggle:checked~.nav-menu{right:0}.menu-toggle:checked~.hamburger .hamburger-line:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.menu-toggle:checked~.hamburger .hamburger-line:nth-child(2){opacity:0}.menu-toggle:checked~.hamburger .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}}@media (max-width:480px){.name{font-size:2rem}.container{padding:0 1rem}section{padding:4rem 0}.nav-menu{width:80%}.contact-card{padding:2rem 1.5rem}.timeline::before{display:none}.timeline{padding-left:0}.timeline-item{padding-left:0}.timeline-marker{display:none}}