:root{--primary-color:#d4638f;--primary-dark:#b44873;--primary-light:#e89bb8;--secondary-color:#5d3a4c;--secondary-dark:#3d2633;--secondary-light:#7d5a6c;--accent-color:#f4a6c3;--accent-dark:#e687aa;--bg-light:#fff5f8;--bg-white:#ffffff;--bg-dark:#1a1a1a;--text-dark:#5d3a4c;--text-light:#8b7082;--text-white:#ffffff;--shadow-sm:0 2px 8px rgba(212,99,143,0.08);--shadow-md:0 4px 20px rgba(212,99,143,0.15);--shadow-lg:0 10px 40px rgba(212,99,143,0.2);--border-radius:12px;}*{margin:0;padding:0;box-sizing:border-box;}body{font-family:"Montserrat",sans-serif;color:var(--text-dark);background-color:var(--bg-light);overflow-x:hidden;line-height:1.6;}h1,h2,h3,h4,h5,h6{font-family:"Playfair Display",serif;font-weight:600;margin:0;line-height:1.2;}h1{font-size:clamp(2rem,4vw,3.2rem);}.section-title{margin-bottom:.75rem;}.section-description{margin:0 auto;}.elegant-text{font-family:"Cormorant Garamond",serif;}.navbar{background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);padding:1rem 0;transition:all 0.3s ease;}.navbar.scrolled{padding:0.5rem 0;box-shadow:var(--shadow-md);}.navbar-brand{font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:var(--primary-color) !important;letter-spacing:1px;}.nav-link{color:var(--text-dark) !important;font-weight:500;margin:0 0.5rem;position:relative;transition:color 0.3s ease;}.nav-link:hover{color:var(--primary-color) !important;}.nav-link::after{content:"";position:absolute;bottom:-5px;left:50%;width:0;height:2px;background:var(--primary-color);transition:all 0.3s ease;transform:translateX(-50%);}.nav-link:hover::after{width:80%;}.btn-whatsapp-nav{background:linear-gradient(135deg,#25d366,#128c7e);text-decoration:none;color:white !important;padding:0.5rem 1.5rem;border-radius:50px;font-weight:600;transition:all 0.3s ease;border:none;}.btn-whatsapp-nav:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(37,211,102,0.4);}.hero-section{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to top,#e89bb8 0%,#00000000 90%),url("/assets/img/banner-bg.webp") top center/cover no-repeat;overflow:hidden;}.hero-bg-pattern{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0.05;background-image:radial-gradient(circle at 20% 50%,var(--primary-color) 1px,transparent 1px),radial-gradient(circle at 80% 80%,var(--primary-color) 1px,transparent 1px);background-size:50px 50px;}.hero-content{position:relative;z-index:2;text-align:center;animation:fadeInUp 1s ease;}.hero-subtitle{color:var(--primary-color);font-size:1.2rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;margin-bottom:1rem;animation:fadeInUp 1s ease 0.2s both;}.hero-title{font-size:4.5rem;font-weight:700;color:var(--secondary-color);margin-bottom:1.5rem;line-height:1.2;animation:fadeInUp 1s ease 0.4s both;}.hero-description{font-size:1.3rem;color:var(--text-light);max-width:700px;margin:0 auto 3rem;line-height:1.8;animation:fadeInUp 1s ease 0.6s both;}.hero-buttons{animation:fadeInUp 1s ease 0.8s both;}.btn-primary-custom{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:white;padding:1rem 3rem;border-radius:50px;font-weight:600;font-size:1.1rem;border:none;transition:all 0.3s ease;margin:0.5rem;box-shadow:var(--shadow-md);}.btn-primary-custom:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:white;}.btn-outline-custom{background:transparent;color:var(--secondary-color);padding:1rem 3rem;border-radius:50px;font-weight:600;font-size:1.1rem;border:2px solid var(--primary-color);transition:all 0.3s ease;margin:0.5rem;}.btn-outline-custom:hover{background:var(--primary-color);color:white;transform:translateY(-3px);box-shadow:var(--shadow-md);}.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);animation:bounce 2s infinite;}.hero-scroll i{font-size:2rem;color:var(--primary-color);}.services-section{padding:100px 0;background:var(--bg-white);}.section-header{text-align:center;margin-bottom:4rem;}.section-subtitle{color:var(--primary-color);font-size:1rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:0.5rem;}.section-title{font-size:3rem;font-weight:700;color:var(--secondary-color);margin-bottom:1rem;}.section-description{font-size:1.1rem;color:var(--text-light);max-width:700px;margin:0 auto;}.service-card{background:var(--bg-white);border-radius:var(--border-radius);padding:2.5rem;text-align:center;transition:all 0.4s ease;border:2px solid transparent;height:100%;box-shadow:var(--shadow-sm);}.service-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:var(--primary-color);}.service-icon{width:100px;height:100px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--primary-light),var(--primary-color));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:white;transition:all 0.4s ease;}.service-card:hover .service-icon{transform:rotateY(360deg);}.service-title{font-size:1.5rem;font-weight:600;color:var(--secondary-color);margin-bottom:1rem;}.service-description{color:var(--text-light);margin-bottom:1.5rem;line-height:1.7;}.service-features{list-style:none;padding:0;margin-bottom:1.5rem;}.service-features li{padding:0.5rem 0;color:var(--text-light);}.service-features li i{color:var(--primary-color);margin-right:0.5rem;}.btn-service{background:var(--primary-color);color:white;padding:0.8rem 2rem;border-radius:50px;font-weight:600;border:none;transition:all 0.3s ease;text-decoration:none;display:inline-block;}.btn-service:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);color:white;}.packages-section{padding:100px 0;background:var(--bg-light);}.package-card{background:var(--bg-white);border-radius:var(--border-radius);padding:3rem 2rem;text-align:center;transition:all 0.4s ease;height:100%;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);}.package-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transform:scaleX(0);transition:transform 0.4s ease;}.package-card:hover::before{transform:scaleX(1);}.package-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);}.package-card.featured{border:3px solid var(--primary-color);transform:scale(1.05);}.package-badge{background:var(--accent-color);color:white;padding:0.5rem 1.5rem;border-radius:50px;font-size:0.9rem;font-weight:600;display:inline-block;margin-bottom:1rem;}.package-name{font-size:2rem;font-weight:700;color:var(--secondary-color);margin-bottom:1rem;}.package-price{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:0.5rem;}.package-price-period{color:var(--text-light);font-size:1rem;margin-bottom:2rem;}.package-features{list-style:none;padding:0;margin-bottom:2rem;text-align:left;}.package-features li{padding:0.8rem 0;color:var(--text-dark);border-bottom:1px solid rgba(0,0,0,0.05);}.package-features li:last-child{border-bottom:none;}.package-features li i{color:var(--primary-color);margin-right:1rem;font-size:1.1rem;}.gallery-section{padding:100px 0;background:var(--bg-white);}.gallery-title{font-family:"Playfair Display",serif;font-weight:600;margin:0 0 .25rem;line-height:1.2;}.video-thumb{position:relative;}.video-thumb img{display:block;width:100%;}.play-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:999px;display:grid;place-items:center;background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.75);color:#fff;pointer-events:none;transition:transform .2s ease,background .2s ease;}.play-badge i{font-size:18px;margin-left:2px;}.video-thumb:hover .play-badge{transform:translate(-50%,-50%) scale(1.07);background:rgba(0,0,0,.70);}.gallery-filter{text-align:center;margin-bottom:3rem;}.filter-btn{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:0.8rem 2rem;border-radius:50px;font-weight:600;margin:0.5rem;transition:all 0.3s ease;cursor:pointer;}.filter-btn:hover,.filter-btn.active{background:var(--primary-color);color:white;}.gallery-item{background-color:var(--accent-color);position:relative;overflow:hidden;border-radius:var(--border-radius);margin-bottom:30px;cursor:pointer;height:350px;}.gallery-item img{width:100%;height:100% !important;object-fit:cover;transition:all 0.5s ease;}.gallery-item:hover img{transform:scale(1.1);}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#e89bb8 0%,#00000000 90%);opacity:0;transition:all 0.4s ease;display:flex;align-items:flex-end;padding:2rem;}.gallery-item:hover .gallery-overlay{opacity:1;}.gallery-info h4{color:white;font-size:1.5rem;margin-bottom:0.5rem;}.gallery-info p{color:rgba(255,255,255,0.8);margin:0;}.gallery-info small{color:rgba(255,255,255,0.8);margin:0;}.gallery-line{height:2px;width:100%;background:linear-gradient(to right,transparent,#d4638f,transparent);}.hidden{display:none !important;}.photo-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.9);justify-content:center;align-items:center;z-index:9999;}.photo-modal img{max-width:90%;max-height:90%;object-fit:contain;}.close{position:absolute;top:20px;right:30px;color:white;font-size:40px;cursor:pointer;z-index:10000;}.testimonials-section{padding:100px 0;background:linear-gradient(135deg,var(--primary-light),var(--bg-light));}.testimonial-card{background:var(--bg-white);border-radius:var(--border-radius);padding:3rem;text-align:center;box-shadow:var(--shadow-md);transition:all 0.3s ease;height:100%;}.testimonial-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}.testimonial-avatar{width:100px;height:100px;border-radius:50%;margin:0 auto 1.5rem;border:5px solid var(--primary-color);overflow:hidden;}.testimonial-avatar img{width:100%;height:100%;object-fit:cover;}.testimonial-stars{color:var(--accent-color);font-size:1.2rem;margin-bottom:1rem;}.testimonial-text{font-style:italic;color:var(--text-light);margin-bottom:1.5rem;line-height:1.8;font-size:1.1rem;}.testimonial-author{font-weight:600;color:var(--secondary-color);font-size:1.2rem;margin-bottom:0.3rem;}.testimonial-role{color:var(--primary-color);font-size:0.95rem;}.cta-section{padding:100px 0;background:linear-gradient(135deg,var(--secondary-color),var(--secondary-dark));text-align:center;position:relative;overflow:hidden;}.cta-section::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,0.05) 1px,transparent 1px),radial-gradient(circle at 80% 80%,rgba(255,255,255,0.05) 1px,transparent 1px);background-size:50px 50px;}.cta-content{position:relative;z-index:2;}.cta-title{color:white;font-size:3rem;font-weight:700;margin-bottom:1.5rem;}.cta-description{color:rgba(255,255,255,0.9);font-size:1.3rem;max-width:700px;margin:0 auto 3rem;}.btn-whatsapp-large{background:#25d366;color:white;padding:1.2rem 3.5rem;border-radius:50px;font-weight:600;font-size:1.2rem;border:none;transition:all 0.3s ease;box-shadow:0 5px 20px rgba(37,211,102,0.4);}.btn-whatsapp-large:hover{background:#128c7e;transform:translateY(-3px);box-shadow:0 8px 25px rgba(37,211,102,0.5);color:white;}.btn-whatsapp-large i{margin-right:0.5rem;font-size:1.5rem;}.footer{background:var(--secondary-dark);color:rgba(255,255,255,0.8);padding:60px 0 30px;}.footer-title{font-size:1rem;margin-bottom:.75rem;}.footer-logo{font-family:"Playfair Display",serif;font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem;}.footer-description{margin-bottom:1.5rem;line-height:1.8;}.footer h5{color:white;font-weight:600;margin-bottom:1.5rem;font-size:1.3rem;}.footer-links{list-style:none;padding:0;}.footer-links li{margin-bottom:0.8rem;}.footer-links a{color:rgba(255,255,255,0.8);text-decoration:none;transition:all 0.3s ease;}.footer-links a:hover{color:var(--primary-color);padding-left:5px;}.social-links{display:flex;gap:1rem;}.social-link{width:45px;height:45px;background:rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;transition:all 0.3s ease;text-decoration:none;}.social-link:hover{background:var(--primary-color);transform:translateY(-3px);color:white;}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:3rem;padding-top:2rem;text-align:center;}.floating-whatsapp{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:white;font-size:2rem;box-shadow:0 5px 20px rgba(37,211,102,0.5);cursor:pointer;transition:all 0.3s ease;z-index:1000;animation:pulse 2s infinite;}.floating-whatsapp:hover{transform:scale(1.1);box-shadow:0 8px 25px rgba(37,211,102,0.6);}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(-10px);}}@keyframes pulse{0%{box-shadow:0 5px 20px rgba(37,211,102,0.5);}50%{box-shadow:0 5px 20px rgba(37,211,102,0.8);}100%{box-shadow:0 5px 20px rgba(37,211,102,0.5);}}.fade-in{opacity:0;transform:translateY(30px);transition:all 0.6s ease;}.fade-in.visible{opacity:1;transform:translateY(0);}@media (max-width:992px){.hero-title{font-size:3rem;}.section-title{font-size:2.5rem;}.package-card.featured{transform:scale(1);}}@media (max-width:768px){.hero-title{font-size:2.5rem;}.hero-description{font-size:1.1rem;}.section-title{font-size:2rem;}.btn-primary-custom,.btn-outline-custom{padding:0.8rem 2rem;font-size:1rem;display:block;margin:0.5rem auto;}.cta-title{font-size:2rem;}.service-card,.package-card,.testimonial-card{margin-bottom:2rem;}.floating-whatsapp{width:50px;height:50px;font-size:1.5rem;bottom:20px;right:20px;}}@media (max-width:576px){.hero-title{font-size:2rem;}.hero-subtitle{font-size:1rem;}.section-title{font-size:1.8rem;}.package-price{font-size:2rem;}.gallery-item{height:250px;}}.modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8);justify-content:center;align-items:center;}.modal-content{width:80%;max-width:800px;position:relative;}.modal-content video{width:100%;height:auto;display:block;}.close{position:absolute;top:10px;right:20px;font-size:30px;color:white;cursor:pointer;font-weight:bold;}