﻿:root{--color-primary:#1e3a8a;--color-primary-light:#3b82f6;--color-secondary:#eab308;--color-success:#22c55e;--color-gray-900:#1f2937;--color-gray-700:#374151;--color-gray-600:#4b5563;--color-gray-500:#6b7280;--color-gray-400:#9ca3af;--color-gray-300:#d1d5db;--color-gray-200:#e5e7eb;--color-gray-100:#f3f4f6;--color-gray-50:#f9fafb;--color-white:#ffffff;--font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1);--transition:all 0.3s ease;--radius:0.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-family);color:var(--color-gray-700);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}ul{list-style:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:1rem}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem;box-sizing:border-box}.text-center{text-align:center}.text-white{color:var(--color-white)}.icon-small{width:16px;height:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 2rem;font-weight:700;border-radius:var(--radius-full);transition:var(--transition)}.btn-primary{background:var(--color-secondary);color:var(--color-primary)}.btn-primary:hover{background:#fbbf24;transform:translateY(-2px)}.btn-carnival{background:linear-gradient(135deg,#dc2626,#f97316);color:white}.btn-carnival:hover{background:linear-gradient(135deg,#ef4444,#fb923c)}.btn-ticket{width:100%;background:white;color:var(--color-primary);padding:0.875rem 1.5rem;border-radius:var(--radius-lg)}.btn-ticket:hover{background:var(--color-secondary)}.btn-ticket-outline{width:100%;background:transparent;color:white;border:2px solid rgba(255,255,255,0.3);padding:0.875rem 1.5rem;border-radius:var(--radius-lg)}.btn-ticket-outline:hover{background:white;color:var(--color-primary)}.btn-submit{width:100%;background:var(--color-primary);color:white;padding:0.875rem 1.5rem;border-radius:var(--radius-lg)}.btn-submit:hover{background:#1e40af}.btn-booking{width:100%;background:var(--color-success);color:white;padding:0.875rem 1.5rem;border-radius:var(--radius-lg);box-shadow:0 10px 20px rgba(34,197,94,0.3)}.btn-booking:hover{background:#16a34a}.navbar{position:fixed;top:0;left:0;width:100%;max-width:100vw;z-index:1000;padding:1rem 0;transition:var(--transition);box-sizing:border-box}.navbar.scrolled{background:rgba(255,255,255,0.6) !important;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 10px 25px rgba(0,0,0,0.1) !important;padding:0.5rem 0}.nav-container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:800;color:white}.navbar.scrolled .logo{color:var(--color-primary)}.logo span{color:var(--color-secondary)}.nav-links{display:none;align-items:center;gap:1.5rem}@media (max-width:767px){.logo,.nav-controls,.mobile-menu-btn{position:relative;z-index:1002}.nav-links.active{display:flex;flex-direction:column;position:fixed;top:70px;left:0;right:0;bottom:auto;height:max-content;background:rgba(255,255,255,0.8) !important;-webkit-backdrop-filter:blur(20px) !important;backdrop-filter:blur(20px) !important;box-shadow:0 10px 25px rgba(0,0,0,0.1);z-index:999;overflow-y:visible;padding:2rem 1.5rem 2.5rem;gap:1.5rem;border-radius:0 0 1.5rem 1.5rem}.nav-links.active::before{content:none;display:none}.navbar.menu-open{background:rgba(255,255,255,0.6) !important;-webkit-backdrop-filter:blur(15px) !important;backdrop-filter:blur(15px) !important;box-shadow:none !important}.navbar.menu-open .logo-white{display:none !important}.navbar.menu-open .logo-dark{display:block !important}.navbar.menu-open .mobile-menu-btn{color:var(--color-gray-800)}.navbar.menu-open .lang-btn,.navbar.menu-open .currency-btn{color:var(--color-gray-800);border-color:var(--color-gray-200)}.nav-links.active .nav-link{color:var(--color-gray-700);padding:0.75rem 0;width:100%;text-align:center;font-size:1.1rem;border-bottom:1px solid rgba(0,0,0,0.05);justify-content:center}.nav-links.active .nav-link:last-child{border-bottom:none}.nav-links.active .nav-link:hover{color:var(--color-secondary);background:transparent}}@media (min-width:768px){.nav-links{display:flex}.mobile-menu-btn{display:none}}.nav-link{font-weight:500;color:white;transition:var(--transition)}.navbar.scrolled .nav-link{color:var(--color-gray-700)}.nav-link:hover{color:var(--color-secondary)}.carnival-link{display:flex;align-items:center;gap:0.25rem}.carnival-link .icon-small{color:var(--color-secondary)}.tour-header-price{white-space:nowrap}.nav-controls{display:flex;align-items:center;gap:0.5rem;padding-left:0;border-left:none;margin-left:auto}@media (min-width:768px){.nav-controls{padding-left:1.5rem;border-left:1px solid rgba(255,255,255,0.2);margin-left:0}.navbar.scrolled .nav-controls{border-left-color:var(--color-gray-200)}}.lang-btn{display:flex;align-items:center;gap:0.25rem;background:rgba(255,255,255,0.2);color:white;padding:0.25rem 0.75rem;border-radius:var(--radius-full);font-size:0.875rem;font-weight:700}.lang-btn:hover{background:rgba(255,255,255,0.3)}.navbar.scrolled .lang-btn{background:var(--color-gray-100);color:var(--color-gray-700)}.navbar.scrolled .lang-btn:hover{background:var(--color-gray-200)}.currency-btn{background:var(--color-primary-light);color:white;padding:0.25rem 0.75rem;border-radius:var(--radius-full);font-size:0.875rem;font-weight:700}.mobile-menu-btn{display:flex;color:white}.navbar.scrolled .mobile-menu-btn{color:var(--color-gray-700)}.mobile-menu-btn svg{width:28px;height:28px}.nav-links.active{display:flex;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background:white;padding:1.5rem;box-shadow:var(--shadow-xl);gap:1rem}.nav-links.active .nav-link{color:var(--color-gray-700)}@media (min-width:768px){.nav-links{display:flex}.mobile-menu-btn{display:none}}.hero{position:relative;min-height:100vh;display:flex;align-items:center}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;will-change:transform}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.6),rgba(0,0,0,0.3),rgba(30,58,138,0.9))}.hero-content{position:relative;z-index:10;color:white;padding:2rem 0}.hero-subtitle{display:block;color:var(--color-secondary);font-weight:700;font-size:0.875rem;letter-spacing:0.1em;margin-bottom:0.5rem;animation:fadeInUp 0.6s ease;will-change:transform,opacity}.hero-title{font-size:2.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;max-width:800px;animation:fadeInUp 0.6s ease 0.2s both;will-change:transform,opacity}.hero-desc{font-size:1.125rem;color:rgba(255,255,255,0.9);max-width:600px;margin-bottom:2rem;animation:fadeInUp 0.6s ease 0.4s both;will-change:transform,opacity}.hero-buttons{display:flex;flex-direction:column;gap:1rem;animation:fadeInUp 0.6s ease 0.6s both;will-change:transform,opacity}@media (min-width:640px){.hero-buttons{flex-direction:row}}@media (min-width:768px){.hero-title{font-size:4rem}}.carnival-section{position:relative;padding:5rem 0;background:linear-gradient(to bottom,var(--color-primary),#312e81);color:white}.carnival-bg-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none}.carnival-blob{position:absolute;border-radius:50%;filter:blur(80px)}.carnival-blob-1{top:-10%;right:-10%;width:400px;height:400px;background:rgba(220,38,38,0.2)}.carnival-blob-2{bottom:-10%;left:-10%;width:400px;height:400px;background:rgba(234,179,8,0.2)}.carnival-badge{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);padding:0.5rem 1rem;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,0.2);margin-bottom:1rem}.carnival-badge svg{color:var(--color-secondary);width:18px;height:18px}.carnival-badge span{font-weight:700;font-size:0.875rem;letter-spacing:0.1em;text-transform:uppercase}.carnival-title{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#fbbf24,#f97316,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem}.carnival-desc{color:rgba(191,219,254,1);font-size:1.125rem;max-width:700px;margin:0 auto;line-height:1.7}@media (min-width:768px){.carnival-title{font-size:3.5rem}}.timeline-sticky-wrapper{position:relative}.timeline-sticky-content{position:relative}@media (max-width:767px){.timeline-sticky-wrapper{height:auto}.timeline-sticky-content{position:relative;top:auto}}.timeline-wrapper{position:relative;margin:3rem 0 4rem}.timeline-line{display:none;position:absolute;top:7px;left:0;right:0;height:2px;background:rgba(255,255,255,0.2)}.timeline-container{display:flex;flex-direction:column;gap:2rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:none}.timeline-container::-webkit-scrollbar{display:none}.timeline-item{position:relative;padding-left:2rem;min-width:180px}.timeline-dot{position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--color-secondary);border:2px solid var(--color-primary);z-index:10}.timeline-item.highlight .timeline-dot{background:#ef4444;transform:scale(1.25)}.timeline-date{display:block;font-size:0.875rem;font-weight:700;color:var(--color-secondary);margin-bottom:0.25rem}.timeline-title{font-size:1.125rem;font-weight:700;color:white;line-height:1.3}.timeline-item.highlight .timeline-title{color:#fca5a5}.timeline-desc{font-size:0.75rem;color:rgba(191,219,254,0.8);margin-top:0.5rem}@media (min-width:768px){.timeline-line{display:block}.timeline-container{flex-direction:row}.timeline-item{padding-left:0;padding-top:2rem;text-align:center;flex:1}.timeline-dot{left:50%;top:0;transform:translateX(-50%)}.timeline-item.highlight .timeline-dot{transform:translateX(-50%) scale(1.25)}}.tickets-title{display:flex;align-items:center;justify-content:center;gap:0.75rem;font-size:1.5rem;color:var(--color-secondary);margin-bottom:2rem}.tickets-title svg{color:white}.tickets-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:2rem;max-width:1000px;margin:0 auto}.ticket-card{flex:1 1 300px;max-width:350px;width:100%;background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);padding:2rem;border-radius:var(--radius-xl);transition:var(--transition)}.ticket-card:hover{background:rgba(255,255,255,0.15)}.ticket-card-secondary{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1)}.ticket-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.ticket-icon{padding:0.75rem;border-radius:var(--radius-lg);color:white}.ticket-icon svg{width:24px;height:24px}.ticket-icon-red{background:#ef4444}.ticket-icon-indigo{background:#6366f1}.ticket-icon-purple{background:#9333ea}.ticket-badge{background:rgba(34,197,94,0.2);color:#86efac;font-size:0.75rem;font-weight:700;padding:0.25rem 0.75rem;border-radius:var(--radius-full);text-transform:uppercase}.ticket-card h4{font-size:1.5rem;font-weight:700;margin-bottom:0.5rem}.ticket-card p{color:rgba(191,219,254,1);margin-bottom:1.5rem}.partners-strip{background:var(--color-gray-100);padding:1.5rem 0;border-bottom:1px solid var(--color-gray-200)}.partners-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;opacity:0.6;filter:grayscale(1);transition:var(--transition)}.partners-container:hover{opacity:1;filter:grayscale(0)}.partner-item{display:flex;align-items:center;gap:0.5rem;font-weight:700;font-size:0.875rem;color:var(--color-gray-500)}.partner-item svg{width:18px;height:18px}@media (min-width:768px){.partners-container{gap:3rem}}.section-header{margin-bottom:3rem}.section-subtitle{display:block;color:var(--color-primary-light);font-weight:700;font-size:0.875rem;letter-spacing:0.1em;text-transform:uppercase}.section-title{font-size:2rem;font-weight:800;color:var(--color-gray-900);margin-top:0.5rem}.section-desc{color:var(--color-gray-600);margin-top:1rem;max-width:700px}.section-header.text-center .section-desc{margin-left:auto;margin-right:auto}@media (min-width:768px){.section-title{font-size:2.5rem}}.portfolio-section{padding:5rem 0;background:var(--color-gray-50)}.filters-container{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;margin-bottom:3rem}.filter-btn{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1.5rem;border-radius:var(--radius-full);font-weight:500;background:white;color:var(--color-gray-600);border:1px solid var(--color-gray-200);transition:var(--transition)}.filter-btn:hover{background:var(--color-gray-100)}.filter-btn.active{background:var(--color-primary-light);color:white;border-color:var(--color-primary-light);box-shadow:0 4px 15px rgba(59,130,246,0.3)}.filter-btn svg{width:16px;height:16px}.tours-grid{display:grid;gap:1.5rem}@media (min-width:640px){.tours-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.tours-grid{grid-template-columns:repeat(4,1fr)}}.tour-card{background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);border:1px solid var(--color-gray-100);transition:var(--transition);display:flex;flex-direction:column}.tour-card:hover{box-shadow:var(--shadow-xl)}.tour-image{position:relative;height:200px;overflow:hidden}.tour-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.tour-card:hover .tour-image img{transform:scale(1.1)}.tour-duration{position:absolute;top:0.75rem;right:0.75rem;background:rgba(255,255,255,0.9);backdrop-filter:blur(4px);padding:0.25rem 0.5rem;border-radius:var(--radius);font-size:0.75rem;font-weight:700;color:var(--color-primary);display:flex;align-items:center;gap:0.25rem}.tour-duration svg{width:12px;height:12px}.tour-content{padding:1.25rem;flex:1;display:flex;flex-direction:column}.tour-category{display:inline-block;font-size:0.75rem;font-weight:700;color:#ca8a04;text-transform:uppercase;letter-spacing:0.05em;background:#fef9c3;padding:0.25rem 0.5rem;border-radius:var(--radius);margin-bottom:0.5rem;width:fit-content}.tour-title{font-size:1.125rem;font-weight:700;color:var(--color-gray-900);line-height:1.3;margin-bottom:0.5rem}.tour-desc{font-size:0.875rem;color:var(--color-gray-500);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tour-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--color-gray-100);margin-top:auto}.tour-price-label{display:block;font-size:0.75rem;color:var(--color-gray-400)}.tour-price{font-weight:700;color:var(--color-primary);white-space:nowrap}.tour-price .currency{font-size:0.75rem;font-weight:400;color:var(--color-gray-500)}.tour-btn{width:40px;height:40px;border-radius:50%;background:#eff6ff;color:var(--color-primary-light);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.tour-btn:hover{background:var(--color-primary-light);color:white}.tour-btn svg{width:20px;height:20px}.booking-steps{padding:5rem 0;background:#eff6ff}.steps-grid{display:grid;gap:2rem;position:relative}@media (min-width:768px){.steps-grid{grid-template-columns:repeat(3,1fr)}}.step-connector{display:none;position:absolute;top:48px;left:20%;right:20%;height:2px;background:#bfdbfe;z-index:0}@media (min-width:768px){.step-connector{display:block}}.step-item{text-align:center;position:relative;z-index:10}.step-icon{width:96px;height:96px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:var(--shadow-md);border:4px solid #dbeafe}.step-icon svg{width:40px;height:40px}.step-icon-yellow svg{color:var(--color-secondary)}.step-icon-green svg{color:var(--color-success)}.step-icon-blue svg{color:var(--color-primary-light)}.step-item h3{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin-bottom:0.5rem}.step-item p{font-size:0.875rem;color:var(--color-gray-600);padding:0 1.5rem}.transport-section{padding:5rem 0;background:white;border-top:1px solid var(--color-gray-100)}.transport-grid{display:grid;gap:2rem}@media (min-width:768px){.transport-grid{grid-template-columns:repeat(3,1fr)}}.transport-card{text-align:center}.transport-image{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);height:220px;margin-bottom:1.5rem}.transport-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.transport-card:hover .transport-image img{transform:scale(1.05)}.transport-pax{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.6);color:white;padding:0.5rem;font-weight:700}.transport-card h3{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin-bottom:0.5rem}.transport-card p{font-size:0.875rem;color:var(--color-gray-500)}.features-section{padding:5rem 0;background:white}.features-grid{display:grid;gap:3rem;align-items:center}@media (min-width:768px){.features-grid{grid-template-columns:1fr 1fr}}.features-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.features-col{display:flex;flex-direction:column;gap:1rem}.features-col-offset{transform:translateY(2rem)}.feature-img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);object-fit:cover;height:200px;width:100%}@media (min-width:768px){.feature-img{height:260px}}.feature-box{padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:200px}@media (min-width:768px){.feature-box{min-height:260px}}.feature-box-blue{background:var(--color-primary-light);color:white}.feature-box-yellow{background:var(--color-secondary);color:var(--color-primary)}.feature-number{font-size:2.5rem;font-weight:800;display:block;margin-bottom:0.25rem}.feature-box svg{width:48px;height:48px;margin-bottom:1rem}.feature-rnt{font-weight:700;font-size:1.125rem}.feature-label{font-size:0.875rem;opacity:0.9}.features-desc{font-size:1.125rem;color:var(--color-gray-600);line-height:1.7;margin-bottom:1.5rem}.features-list{display:flex;flex-direction:column;gap:1rem}.feature-item{display:flex;gap:1rem}.feature-icon{width:48px;height:48px;min-width:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.feature-icon svg{width:24px;height:24px}.feature-icon-blue{background:#dbeafe;color:var(--color-primary-light)}.feature-icon-yellow{background:#fef3c7;color:#b45309}.feature-icon-green{background:#dcfce7;color:var(--color-success)}.feature-item h4{font-weight:700;color:var(--color-gray-900);margin-bottom:0.25rem}.feature-item p{font-size:0.875rem;color:var(--color-gray-600)}.gallery-section{padding:5rem 0;background:var(--color-gray-50);border-top:1px solid var(--color-gray-100)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-item{position:relative;border-radius:var(--radius-lg);overflow:hidden;height:250px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s ease}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{display:none}.testimonials-section{padding:5rem 0;background:var(--color-primary);position:relative;overflow:hidden}.testimonials-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;opacity:0.1}.quote-icon{position:absolute;top:-80px;left:-80px;width:400px;height:400px;color:white}.testimonials-grid{display:grid;gap:2rem;position:relative;z-index:10}@media (min-width:768px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,0.1)}.testimonial-stars{display:flex;gap:0.25rem;margin-bottom:1rem}.star-filled{width:16px;height:16px;color:var(--color-secondary);fill:var(--color-secondary)}.testimonial-text{font-style:italic;color:rgba(191,219,254,1);margin-bottom:1.5rem;line-height:1.7}.testimonial-author strong{display:block;color:white;font-weight:700}.testimonial-author span{font-size:0.75rem;color:#93c5fd;text-transform:uppercase}.faq-section{padding:5rem 0;background:var(--color-gray-50)}.faq-container{max-width:800px;margin:0 auto}.faq-icon{width:40px;height:40px;color:var(--color-primary-light);margin:0 auto 1rem}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:white;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);border:1px solid var(--color-gray-100);overflow:hidden}.faq-question{width:100%;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--color-primary);text-align:left;font-size:1rem}.faq-question svg{width:20px;height:20px;transition:transform 0.3s ease;flex-shrink:0}.faq-item.active .faq-question svg{transform:rotate(90deg)}.faq-answer{padding:0 1.5rem 1.5rem;color:var(--color-gray-600);line-height:1.7;border-top:1px solid var(--color-gray-50);display:none}.faq-item.active .faq-answer{display:block}.contact-section{padding:5rem 0;background:white}.contact-grid{display:grid;gap:3rem;align-items:flex-start}@media (min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-card{display:flex;align-items:center;gap:1rem;background:white;padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-100);transition:var(--transition)}.contact-card:hover{box-shadow:var(--shadow-xl)}.contact-icon{width:56px;height:56px;min-width:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform 0.3s ease}.contact-card:hover .contact-icon{transform:scale(1.1)}.contact-icon svg{width:24px;height:24px}.contact-icon-green{background:#dcfce7}.contact-icon-green svg{color:var(--color-success)}.contact-icon-blue{background:#dbeafe}.contact-icon-blue svg{color:var(--color-primary-light)}.contact-icon-yellow{background:#fef3c7}.contact-icon-yellow svg{color:#d97706}.contact-card h3{font-weight:700;color:var(--color-gray-900);margin-bottom:0.25rem}.contact-card p{font-size:0.875rem;color:var(--color-gray-500)}.contact-form-container{background:var(--color-gray-50);padding:2rem;border-radius:var(--radius-xl);border:1px solid var(--color-gray-100)}.contact-form-container h3{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin-bottom:1.5rem}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:0.25rem}.form-group label{font-size:0.875rem;font-weight:500;color:var(--color-gray-700)}.form-group input,.form-group select,.form-group textarea{padding:0.75rem 1rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);outline:none;transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.footer{background:var(--color-gray-900);color:var(--color-gray-400);padding:3rem 0;font-size:0.875rem}.footer-grid{display:grid;gap:2rem;margin-bottom:2rem}@media (min-width:768px){.footer-grid{grid-template-columns:1fr 1fr 2fr}}.footer-brand .logo{color:white;margin-bottom:1rem}.footer-brand p{max-width:250px;margin-bottom:1rem}.footer-social{display:flex;gap:1rem}.footer-social a:hover{color:white}.footer-social svg{width:20px;height:20px}.footer-links h4,.footer-legal h4{color:white;font-weight:700;margin-bottom:1rem}.footer-links ul{display:flex;flex-direction:column;gap:0.5rem}.footer-links a:hover{color:var(--color-secondary)}.footer-legal p{font-size:0.75rem;color:var(--color-gray-500);line-height:1.6}.footer-bottom{border-top:1px solid var(--color-gray-700);padding-top:2rem;text-align:center}.whatsapp-float{position:fixed;bottom:1.5rem;right:1.5rem;width:60px;height:60px;background:var(--color-success);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:40;animation:bounce 2s infinite;transition:var(--transition)}.whatsapp-float:hover{background:#16a34a;animation:none}.whatsapp-float svg{width:28px;height:28px}.modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:1rem}.modal.active{display:flex}.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px)}.modal-content{position:relative;background:white;border-radius:var(--radius-lg);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:scaleIn 0.3s ease}.modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:rgba(255,255,255,0.8);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:20}.modal-close:hover{background:var(--color-gray-100)}.modal-close svg{width:24px;height:24px;color:var(--color-gray-700)}.modal-body{display:flex;flex-direction:column}@media (min-width:768px){.modal-body{flex-direction:row}}.modal-image{position:relative;height:250px}@media (min-width:768px){.modal-image{width:40%;height:auto;min-height:100%}}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-image-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,58,138,0.9),transparent);padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end}.modal-category{display:inline-block;background:var(--color-secondary);color:var(--color-primary);font-size:0.75rem;font-weight:700;padding:0.25rem 0.75rem;border-radius:var(--radius-full);text-transform:uppercase;margin-bottom:0.5rem;width:fit-content}.modal-image-overlay h3{font-size:1.5rem;font-weight:700;color:white;line-height:1.3;margin-bottom:0.5rem}.modal-meta{display:flex;gap:1rem;font-size:0.875rem;color:rgba(255,255,255,0.9)}.modal-meta span{display:flex;align-items:center;gap:0.25rem}.modal-meta svg{width:14px;height:14px}.modal-details{padding:1.5rem;flex:1}@media (min-width:768px){.modal-details{width:60%;padding:2rem}}.modal-description{font-size:0.875rem;color:var(--color-gray-600);line-height:1.7;margin-bottom:1.5rem}.modal-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.modal-includes-grid h4{font-size:0.75rem;font-weight:700;text-transform:uppercase;margin-bottom:0.5rem;color:var(--color-primary)}.modal-includes-grid>div:last-child h4{color:var(--color-gray-400)}.includes-list,.not-includes-list{display:flex;flex-direction:column;gap:0.25rem}.includes-list li,.not-includes-list li{display:flex;align-items:flex-start;gap:0.25rem;font-size:0.75rem;color:var(--color-gray-600)}.includes-list li::before{content:'✓';color:var(--color-success);flex-shrink:0}.not-includes-list li{color:var(--color-gray-400)}.not-includes-list li::before{content:'x';color:#fca5a5;flex-shrink:0}.modal-booking{background:var(--color-gray-50);padding:1rem;border-radius:var(--radius-lg);border:1px solid var(--color-gray-100);margin-bottom:1.5rem}.modal-booking h4{display:flex;align-items:center;gap:0.5rem;font-weight:700;color:var(--color-primary);margin-bottom:1rem;font-size:0.875rem}.modal-booking h4 svg{width:16px;height:16px}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:0.75rem}.modal-booking .form-group label{font-size:0.75rem;color:var(--color-gray-500)}.modal-booking .form-group input{padding:0.5rem 0.75rem;font-size:0.875rem}.modal-footer{display:flex;flex-direction:column;gap:0.75rem}.modal-price{display:flex;justify-content:space-between;align-items:flex-end}.price-label{font-size:0.75rem;color:var(--color-gray-400)}.price-value{font-size:1.5rem;font-weight:700;color:var(--color-primary);white-space:nowrap}.modal-disclaimer{font-size:0.625rem;color:var(--color-gray-400);text-align:center}@media (max-width:767px){*,*::before,*::after{max-width:100vw}body,html{overflow-x:hidden !important;width:100% !important}.container{padding:0 1rem;max-width:100%}.navbar{width:100%;max-width:100vw;overflow:visible}.carnival-section,.portfolio-section,.booking-steps,.transport-section,.features-section,.gallery-section,.testimonials-section,.faq-section,.contact-section{padding:3rem 0;overflow-x:hidden}.logo-img{height:36px}.nav-controls{gap:0.25rem}.lang-btn,.currency-btn{padding:0.2rem 0.5rem;font-size:0.75rem}.mobile-menu-btn svg{width:24px;height:24px}.hero-title{font-size:2rem}.hero-desc{font-size:1rem}.carnival-title{font-size:2rem}.carnival-desc{font-size:1rem}.section-title{font-size:1.75rem}.tours-grid{gap:1rem}.modal{padding:0;align-items:flex-end;max-width:100vw;overflow-x:hidden}.modal-content{max-height:95vh;max-width:100vw;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin-top:auto}.modal-image{height:200px;min-height:200px}.modal-image-overlay h3{font-size:1.25rem}.modal-details{padding:1rem;max-height:calc(95vh - 200px);overflow-y:auto}.modal-description{font-size:0.8125rem;margin-bottom:1rem}.modal-includes-grid{grid-template-columns:1fr;gap:0.75rem;margin-bottom:1rem}.modal-includes-grid h4{font-size:0.7rem}.includes-list li,.not-includes-list li{font-size:0.7rem;line-height:1.4}.modal-booking{padding:0.75rem;margin-bottom:1rem}.modal-booking h4{font-size:0.8rem;margin-bottom:0.75rem}.modal-form-grid{grid-template-columns:1fr;gap:0.5rem;margin-bottom:0.5rem}.modal-booking .form-group label{font-size:0.7rem}.modal-booking .form-group input{padding:0.4rem 0.6rem;font-size:0.8rem}.price-value{font-size:1.25rem}.btn-booking{padding:0.75rem 1rem;font-size:0.9rem}.form-row{grid-template-columns:1fr}.timeline-container{overflow-x:auto;max-width:100%}.timeline-wrapper{overflow:hidden;max-width:100%}.modal-route{font-size:0.75rem;line-height:1.5;word-break:break-word}.contact-form-container{padding:1.5rem;max-width:400px;margin:0 auto}.contact-info{max-width:400px;margin:0 auto}.contact-card{width:100%}.form-row{grid-template-columns:1fr}.contact-section .section-title{font-size:1.5rem}.contact-section .section-subtitle{font-size:0.9rem}.faq-question{padding:1rem;font-size:0.9rem}.faq-answer{padding:0 1rem 1rem;font-size:0.875rem}.transport-image{height:180px}.testimonial-card{padding:1.25rem}.gallery-item{height:180px}.step-icon{width:72px;height:72px;margin-bottom:1rem}.step-icon svg{width:32px;height:32px}.step-item h3{font-size:1.1rem}.step-item p{font-size:0.8rem;padding:0 0.5rem}.whatsapp-float{bottom:1rem;right:1rem;width:52px;height:52px}.whatsapp-float svg{width:24px;height:24px}.footer{padding:2rem 0}.footer-grid{gap:1.5rem}.ticket-card{padding:1.5rem}.ticket-card h4{font-size:1.25rem}.features-col-offset{transform:none}.feature-img{height:160px}.feature-box{min-height:160px;padding:1rem}.feature-number{font-size:2rem}.feature-box svg{width:36px;height:36px;margin-bottom:0.5rem}.tour-header-price{flex-wrap:wrap;white-space:normal}#tourVehicleInfo{flex-basis:100%;margin-top:0px !important}}@media (max-width:374px){.hero-title{font-size:1.75rem}.carnival-title{font-size:1.75rem}.section-title{font-size:1.5rem}.modal-includes-grid{grid-template-columns:1fr}.modal-form-grid{grid-template-columns:1fr}.btn{padding:0.625rem 1.5rem;font-size:0.9rem}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.logo-img{height:50px;width:auto}.logo-img-footer{height:40px;width:auto}.navbar.scrolled .logo-img{height:40px}.logo-dark{display:none}.logo-white{display:block}.navbar.scrolled .logo-dark{display:block}.navbar.scrolled .logo-white{display:none}.tour-header{position:relative;height:60vh;min-height:400px;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:flex-end;color:white;padding-bottom:4rem}.tour-header-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.8),rgba(0,0,0,0.2),rgba(0,0,0,0.4))}.tour-header-content{position:relative;z-index:10}.back-link{display:inline-flex;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.8);margin-bottom:1.5rem;font-weight:500;transition:var(--transition)}.back-link:hover{color:white;transform:translateX(-5px)}.tour-header-category{display:inline-block;background:var(--color-secondary);color:var(--color-primary);font-weight:700;font-size:0.875rem;padding:0.25rem 0.75rem;border-radius:var(--radius-full);margin-bottom:1rem;text-transform:uppercase}.tour-header-title{font-size:2.5rem;font-weight:800;margin-bottom:1rem;line-height:1.1}.tour-header-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;font-size:1rem;font-weight:500}.tour-header-meta span{display:flex;align-items:center;gap:0.5rem}.tour-header-price{display:inline-flex;align-items:baseline;gap:0.5rem;background:rgba(255,255,255,0.1);backdrop-filter:blur(5px);padding:0.75rem 1.5rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,0.2)}.price-label{font-size:0.875rem;color:rgba(255,255,255,0.8)}.price-amount{font-size:1.5rem;font-weight:800;color:var(--color-secondary)}.price-currency{font-size:0.875rem;font-weight:600}@media (min-width:768px){.tour-header-title{font-size:3.5rem}}.tour-main{padding:4rem 0;background:var(--color-gray-50)}.tour-grid-layout{display:grid;gap:3rem}@media (min-width:1024px){.tour-grid-layout{grid-template-columns:2fr 1fr;align-items:start}}.tour-section{background:white;padding:2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:2rem}.tour-section:last-child{margin-bottom:0}.section-title-small{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:0.75rem}.tour-description{font-size:1.05rem;line-height:1.8;color:var(--color-gray-700)}.tour-route-list{display:flex;flex-direction:column;gap:1rem;position:relative;padding-left:1.5rem;border-left:2px solid var(--color-gray-200);margin-left:0.5rem}.tour-route-list li{position:relative}.route-dot{position:absolute;left:-1.95rem;top:0.25rem;width:12px;height:12px;border-radius:50%;background:var(--color-secondary);border:2px solid white;box-shadow:0 0 0 1px var(--color-gray-200)}.tour-includes-grid{display:grid;gap:2rem}@media (min-width:640px){.tour-includes-grid{grid-template-columns:1fr 1fr}}.check-list li,.cross-list li{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:0.75rem;font-size:0.95rem}.check-list li::before{content:'?';color:var(--color-success);font-weight:800}.cross-list li::before{content:'?';color:#ef4444;font-weight:800}.text-green{color:var(--color-success)}.text-red{color:#ef4444}.booking-card{background:white;padding:2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-100)}.sticky-card{position:sticky;top:100px}.booking-card h3{font-size:1.5rem;color:var(--color-primary);margin-bottom:0.5rem}.booking-subtitle{color:var(--color-gray-500);margin-bottom:1.5rem}.feature-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;font-size:0.9rem;color:var(--color-gray-700)}.feature-row svg{color:var(--color-secondary);width:20px;height:20px}.divider{border:0;border-top:1px solid var(--color-gray-200);margin:1.5rem 0}.btn-whatsapp-full{width:100%;background:#25D366;color:white;font-size:1rem;padding:1rem;border-radius:var(--radius-lg);transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:0.5rem}.btn-whatsapp-full:hover{background:#1faf53;transform:translateY(-2px);box-shadow:0 10px 20px rgba(37,211,102,0.3)}.booking-note{font-size:0.8rem;color:var(--color-gray-500);text-align:center;margin-top:1rem}.related-tours-section{padding:4rem 0}.icon-tiny{width:20px;height:20px}.tour-header-top-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.tour-header-top-row .back-link,.tour-header-top-row .tour-header-category{margin-bottom:0}.carousel-container-wrapper{position:relative;padding:0 1rem}.related-carousel{display:flex;overflow-x:auto;gap:1.5rem;padding:1rem 0 2rem;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.related-carousel::-webkit-scrollbar{display:none}.related-card{min-width:280px;flex:0 0 calc(100% - 2rem);scroll-snap-align:center;background:white;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-100);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}@media (min-width:768px){.related-card{flex:0 0 calc(50% - 1rem)}}@media (min-width:1024px){.related-card{flex:0 0 calc(33.333% - 1rem)}}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:white;box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:center;z-index:20;cursor:pointer;transition:var(--transition);color:var(--color-primary)}.carousel-btn:hover{background:var(--color-primary);color:white}.carousel-btn.prev{left:-10px}.carousel-btn.next{right:-10px}@media (max-width:767px){.carousel-btn{display:none}}.related-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.related-card .tour-image{height:200px;position:relative;overflow:hidden}.related-card .tour-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.related-card:hover .tour-image img{transform:scale(1.05)}.related-card .tour-content{padding:1.5rem;display:flex;flex-direction:column;flex:1}.related-card .tour-category{display:inline-block;font-size:0.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;margin-bottom:0.5rem}.related-card .tour-title{font-size:1.25rem;font-weight:700;margin-bottom:0.5rem;line-height:1.3}.related-card a.tour-link-wrapper{text-decoration:none;color:inherit}.related-card .tour-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--color-gray-100)}.related-card .btn-icon{width:32px;height:32px;border-radius:50%;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;transition:var(--transition);color:var(--color-gray-700)}.related-card:hover .btn-icon{background:var(--color-secondary);color:var(--color-primary)}.blog-section{padding:5rem 0;background-color:var(--color-gray-50)}.blog-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.blog-card{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.blog-card-image{position:relative;padding-top:56.25%;overflow:hidden}.blog-card-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.blog-card:hover .blog-card-image img{transform:scale(1.05)}.blog-card-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.blog-meta{font-size:0.875rem;color:var(--color-gray-500);margin-bottom:0.75rem;display:flex;gap:1rem;align-items:center}.blog-card-title{font-size:1.25rem;font-weight:700;color:var(--color-gray-900);margin-bottom:0.75rem;line-height:1.4}.blog-card-excerpt{color:var(--color-gray-600);font-size:0.95rem;margin-bottom:1.5rem;flex-grow:1}.blog-link{color:var(--color-primary);font-weight:600;display:inline-flex;align-items:center;gap:0.25rem}.blog-link:hover{color:var(--color-secondary)}.blog-post-header{background:var(--color-primary);color:white;padding:8rem 0 4rem;position:relative;overflow:hidden}.blog-post-header .container{position:relative;z-index:10;max-width:800px;text-align:center}.blog-post-title{font-size:2.5rem;font-weight:800;margin-bottom:1rem;line-height:1.2}.blog-post-meta{display:flex;justify-content:center;gap:2rem;color:rgba(255,255,255,0.8);font-size:0.9rem}.blog-post-content{max-width:800px;margin:0 auto;padding:4rem 1rem;font-size:1.125rem;color:var(--color-gray-700);line-height:1.8}.blog-post-content h2{font-size:1.8rem;color:var(--color-gray-900);margin:2.5rem 0 1rem}.blog-post-content h3{font-size:1.5rem;color:var(--color-gray-900);margin:2rem 0 1rem}.blog-post-content p{margin-bottom:1.5rem}.blog-post-content ul,.blog-post-content ol{margin-bottom:1.5rem;padding-left:1.5rem}.blog-post-content li{margin-bottom:0.5rem}.blog-featured-image{width:100%;max-height:500px;object-fit:cover;border-radius:var(--radius-lg);margin-top:-3rem;margin-bottom:3rem;box-shadow:var(--shadow-xl);position:relative;z-index:20}