:root{--primary-color:#10b981;--secondary-color:#059669;--accent-color:#34d399;--text-color-dark:#333;--text-color-light:#f4f4f4;--background-light:#ffffff;--background-dark:#2c3e50;--border-color:#e0e0e0;--shadow-light:rgba(0,0,0,0.1);--shadow-medium:rgba(0,0,0,0.2);--font-family-heading:'Montserrat',sans-serif;--font-family-body:'Open Sans',sans-serif;--max-width:1200px;--header-height:80px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family-body);line-height:1.6;color:var(--text-color-dark);background-color:var(--background-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--text-color-dark);margin-bottom:0.8em;line-height:1.2}h1{font-size:3.2em;font-weight:700}h2{font-size:2.5em;font-weight:600}h3{font-size:1.8em;font-weight:600}p{margin-bottom:1em;font-size:1.1em}a{color:var(--primary-color);text-decoration:none;transition:color 0.3s ease}a:hover{color:var(--secondary-color)}ul{list-style:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}section{padding:80px 0;position:relative;overflow:hidden}.btn{display:inline-block;padding:14px 28px;border-radius:5px;font-weight:600;text-align:center;cursor:pointer;transition:all 0.3s ease;border:none;font-size:1.1em}.btn-primary{background-color:var(--primary-color);color:var(--text-color-light);box-shadow:0 4px 15px var(--primary-color)}.btn-primary:hover{background-color:var(--secondary-color);transform:translateY(-3px);box-shadow:0 6px 20px var(--secondary-color)}.btn-secondary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background-color:var(--primary-color);color:var(--text-color-light);transform:translateY(-3px);box-shadow:0 4px 15px var(--primary-color)}.header{background-color:var(--background-light);padding:20px 0;box-shadow:0 2px 10px var(--shadow-light);position:sticky;top:0;z-index:1000;height:var(--header-height);display:flex;align-items:center}.header .container{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-family-heading);font-size:1.8em;font-weight:700;color:var(--primary-color);text-transform:uppercase;letter-spacing:1px}.nav-menu .nav-list{display:flex;gap:30px}.nav-link{font-weight:500;font-size:1.1em;color:var(--text-color-dark);position:relative;padding:5px 0}.nav-link::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background-color:var(--primary-color);transition:width 0.3s ease}.nav-link:hover::after,.nav-link.active::after{width:100%}.hamburger{display:none;font-size:1.8em;cursor:pointer;color:var(--primary-color)}.hero-section{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--text-color-light);padding:100px 0;text-align:center;overflow:hidden;position:relative}.hero-section .container{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:40px;text-align:left}.hero-content{flex:1;max-width:600px;animation:fadeInLeft 1s ease-out forwards}.hero-content h1{color:var(--text-color-light);font-size:3.8em;margin-bottom:0.5em}.hero-content p{font-size:1.3em;margin-bottom:2em;opacity:0.9}.hero-image{flex:1;display:flex;justify-content:center;align-items:center;animation:fadeInRight 1s ease-out forwards}.hero-image img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px var(--shadow-medium);transition:transform 0.5s ease}.hero-image img:hover{transform:scale(1.03)}.page-hero-section{background:linear-gradient(45deg,var(--primary-color) 0%,var(--accent-color) 100%);color:var(--text-color-light);padding:100px 0 80px;text-align:center;position:relative;overflow:hidden}.page-hero-section h1{color:var(--text-color-light);font-size:3.5em;margin-bottom:0.3em;animation:fadeInUp 0.8s ease-out forwards}.page-hero-section p{font-size:1.2em;opacity:0.9;animation:fadeInUp 1s ease-out forwards;animation-delay:0.2s}.about-teaser-section{background-color:var(--background-light);padding:80px 0}.about-teaser-section .container{display:flex;align-items:center;gap:60px}.about-teaser-content{flex:1;animation:fadeInRight 1s ease-out forwards}.about-teaser-content h2{color:var(--secondary-color);margin-bottom:0.8em}.about-teaser-content p{font-size:1.1em;margin-bottom:1.5em}.about-teaser-image{flex:1;display:flex;justify-content:center;align-items:center;animation:fadeInLeft 1s ease-out forwards}.about-teaser-image img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 8px 25px var(--shadow-light);transition:transform 0.5s ease}.about-teaser-image img:hover{transform:scale(1.03)}.cta-section{background-color:var(--background-dark);color:var(--text-color-light);text-align:center;padding:80px 0}.cta-section h2{color:var(--text-color-light);margin-bottom:0.6em;animation:zoomIn 0.8s ease-out forwards}.cta-section p{font-size:1.2em;margin-bottom:2.5em;opacity:0.9;animation:zoomIn 1s ease-out forwards;animation-delay:0.2s}.about-content-section{padding:80px 0;background-color:var(--background-light)}.about-intro{display:flex;flex-wrap:wrap;gap:60px;align-items:center;margin-bottom:80px}.about-intro .about-image{flex:1;min-width:300px;animation:fadeInLeft 1s ease-out forwards}.about-intro .about-image img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 8px 25px var(--shadow-light)}.about-intro .about-text{flex:2;min-width:300px;animation:fadeInRight 1s ease-out forwards}.about-intro .about-text h2{color:var(--secondary-color)}.about-mission{background-color:#f9f9f9;padding:60px;border-radius:10px;box-shadow:0 5px 20px var(--shadow-light);animation:fadeInUp 1s ease-out forwards}.about-mission h2{color:var(--secondary-color);text-align:center;margin-bottom:1.5em}.about-mission ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:2em}.about-mission ul li{background-color:var(--background-light);padding:25px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.05);display:flex;align-items:flex-start;gap:15px;transition:transform 0.3s ease,box-shadow 0.3s ease}.about-mission ul li:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,0.1)}.about-mission ul li .icon-primary{color:var(--primary-color);font-size:1.8em;margin-top:5px}.about-mission ul li strong{display:block;font-size:1.2em;margin-bottom:0.5em;color:var(--primary-color)}.about-cta{text-align:center;margin-top:80px;padding:60px;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%);color:var(--text-color-light);border-radius:10px;animation:zoomIn 1s ease-out forwards}.about-cta h2{color:var(--text-color-light);margin-bottom:0.6em}.about-cta p{font-size:1.2em;margin-bottom:2.5em;opacity:0.9}.contact-section{padding:80px 0;background-color:var(--background-light)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-form-container,.contact-info-container{padding:40px;border-radius:10px;box-shadow:0 5px 20px var(--shadow-light)}.contact-form-container{background-color:#f9f9f9;animation:fadeInLeft 1s ease-out forwards}.contact-form-container h2{color:var(--secondary-color);margin-bottom:1.5em}.contact-form .form-group{margin-bottom:20px}.contact-form label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-color-dark)}.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{width:100%;padding:12px 15px;border:1px solid var(--border-color);border-radius:5px;font-family:var(--font-family-body);font-size:1em;transition:border-color 0.3s ease,box-shadow 0.3s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(16,185,129,0.2);outline:none}.contact-form textarea{resize:vertical;min-height:120px}.form-message{margin-top:20px;padding:15px;border-radius:5px;font-weight:600;display:none;animation:fadeIn 0.5s ease-out forwards}.form-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.contact-info-container{background-color:var(--background-dark);color:var(--text-color-light);display:flex;flex-direction:column;justify-content:space-between;animation:fadeInRight 1s ease-out forwards}.contact-info-container h2{color:var(--text-color-light);margin-bottom:1em}.contact-info-container p{opacity:0.9;margin-bottom:2em}.info-item{display:flex;align-items:center;margin-bottom:20px;font-size:1.1em}.info-item .icon-primary{font-size:1.5em;margin-right:15px;color:var(--accent-color)}.info-item a{color:var(--text-color-light);transition:color 0.3s ease}.info-item a:hover{color:var(--accent-color)}.contact-social{margin-top:30px;display:flex;gap:20px}.contact-social a{font-size:1.8em;color:var(--text-color-light);transition:color 0.3s ease,transform 0.3s ease}.contact-social a:hover{color:var(--accent-color);transform:translateY(-3px)}.contact-image{margin-top:40px;text-align:center}.contact-image img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 8px 25px rgba(0,0,0,0.3)}.portfolio-section{background-color:#f9f9f9;padding:80px 0}.portfolio-filters{text-align:center;margin-bottom:50px;display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.filter-btn{background-color:var(--background-light);color:var(--text-color-dark);border:1px solid var(--border-color);padding:10px 25px;border-radius:25px;cursor:pointer;font-size:1em;font-weight:500;transition:all 0.3s ease}.filter-btn:hover{background-color:var(--accent-color);color:var(--text-color-light);border-color:var(--accent-color);transform:translateY(-2px)}.filter-btn.active{background-color:var(--primary-color);color:var(--text-color-light);border-color:var(--primary-color);box-shadow:0 4px 10px rgba(16,185,129,0.3)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;animation:fadeIn 1s ease-out forwards}.portfolio-item{background-color:var(--background-light);border-radius:10px;box-shadow:0 5px 20px var(--shadow-light);overflow:hidden;transition:transform 0.3s ease,box-shadow 0.3s ease;position:relative;opacity:0;transform:translateY(20px)}.portfolio-item.show{opacity:1;transform:translateY(0)}.portfolio-item:hover{transform:translateY(-8px);box-shadow:0 10px 30px var(--shadow-medium)}.portfolio-item img{width:100%;height:250px;object-fit:cover;display:block;transition:transform 0.5s ease}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-info{padding:20px}.portfolio-info h3{font-size:1.4em;margin-bottom:0.5em;color:var(--secondary-color)}.portfolio-info p{font-size:0.95em;color:#666;margin-bottom:1em}.portfolio-info .tags{font-size:0.85em;color:#888}.loading-spinner,.error-message{text-align:center;padding:50px;font-size:1.2em;color:#777}.loading-spinner i{font-size:2em;color:var(--primary-color);margin-right:10px}.footer{background-color:var(--background-dark);color:var(--text-color-light);padding:60px 0 20px;font-size:0.95em}.footer .container{display:flex;flex-direction:column;align-items:center}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%;max-width:900px;margin-bottom:40px;gap:30px}.footer-brand,.footer-links,.footer-contact{flex:1;min-width:200px;margin-bottom:20px}.footer-brand h3{color:var(--primary-color);font-size:1.8em;margin-bottom:10px}.footer-brand p{color:rgba(255,255,255,0.8)}.footer-links h4,.footer-contact h4{color:var(--accent-color);margin-bottom:15px;font-size:1.2em}.footer-links ul li{margin-bottom:8px}.footer-links a,.footer-contact a{color:rgba(255,255,255,0.8);transition:color 0.3s ease}.footer-links a:hover,.footer-contact a:hover{color:var(--accent-color)}.footer-contact p{margin-bottom:10px;display:flex;align-items:center;gap:10px}.footer-contact .fas{color:var(--accent-color)}.social-links{margin-top:15px;display:flex;gap:15px}.social-links a{font-size:1.5em;color:rgba(255,255,255,0.8);transition:color 0.3s ease,transform 0.3s ease}.social-links a:hover{color:var(--accent-color);transform:translateY(-3px)}.footer-bottom{width:100%;text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.7)}.footer-bottom p{margin:5px 0}.footer-bottom a{color:var(--accent-color)}.footer-bottom a:hover{text-decoration:underline}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes zoomIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@media (max-width:992px){h1{font-size:2.8em}h2{font-size:2em}.hero-section .container{flex-direction:column;text-align:center}.hero-content,.hero-image{max-width:100%}.hero-image{margin-top:40px}.about-teaser-section .container{flex-direction:column-reverse;text-align:center}.about-teaser-image{margin-bottom:40px}.about-intro{flex-direction:column;text-align:center}.contact-grid{grid-template-columns:1fr}.contact-info-container{margin-top:40px}.footer-content{flex-direction:column;align-items:center;text-align:center}.footer-brand,.footer-links,.footer-contact{min-width:unset;width:100%}.footer-links ul{padding-left:0}.social-links{justify-content:center}}@media (max-width:768px){.header{padding:15px 0}.nav-menu{position:relative}.nav-list{display:none;flex-direction:column;position:absolute;top:var(--header-height);right:0;background-color:var(--background-light);box-shadow:0 8px 20px var(--shadow-medium);width:250px;padding:20px;border-radius:8px;animation:fadeInRight 0.4s ease-out forwards}.nav-list.active{display:flex}.nav-list li{margin:10px 0}.nav-link{display:block;padding:10px 15px;border-radius:5px}.nav-link:hover,.nav-link.active{background-color:var(--primary-color);color:var(--text-color-light)}.nav-link::after{display:none}.hamburger{display:block}h1{font-size:2.5em}h2{font-size:1.8em}.hero-content h1{font-size:3em}.hero-content p{font-size:1.1em}.page-hero-section h1{font-size:2.8em}.page-hero-section p{font-size:1em}section{padding:60px 0}.about-mission{padding:40px}.about-mission ul{grid-template-columns:1fr}.contact-form-container,.contact-info-container{padding:30px}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:480px){.logo{font-size:1.5em}h1{font-size:2em}h2{font-size:1.6em}.hero-content h1{font-size:2.5em}.hero-content p{font-size:1em}.btn{padding:12px 20px;font-size:1em}.page-hero-section h1{font-size:2.2em}.about-mission{padding:30px}.contact-form-container,.contact-info-container{padding:20px}.portfolio-filters{flex-direction:column;gap:10px}.filter-btn{width:80%}}