@import "https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--bg-white:#fff;--bg-dark:#0a0a0a;--bg-cream:#faf7f2;--bg-card-dark:#121212;--bg-card-cream:#f4efe6;--accent-gold:#c9a84c;--accent-gold-hover:#b08f3b;--text-dark:#2c2c2c;--text-sub:#6b6b6b;--text-light:#f5f5f5;--text-muted:#a0a0a0;--font-headline:"Playfair Display", serif;--font-body:"DM Sans", sans-serif;--spacing-section:clamp(5rem, 12vw, 10rem);--border-radius:8px;--transition-smooth:all .4s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-dark)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}body{background-color:var(--bg-white);color:var(--text-dark);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);letter-spacing:-.01em;font-weight:500;line-height:1.25}a{color:inherit;transition:var(--transition-smooth);text-decoration:none}button,input,select,textarea{font-family:var(--font-body)}button{cursor:pointer;background:0 0;border:none;outline:none}img,video{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-gold)}.container{width:100%;max-width:1300px;margin:0 auto;padding:0 6vw}.section{padding:var(--spacing-section) 0;position:relative;overflow:hidden}.section-dark{background-color:var(--bg-dark);color:var(--text-light)}.section-cream{background-color:var(--bg-cream);color:var(--text-dark)}.text-center{text-align:center}.text-gold{color:var(--accent-gold)}.text-sub{color:var(--text-sub)}.text-muted{color:var(--text-muted)}.section-tagline{text-transform:uppercase;letter-spacing:.25em;color:var(--accent-gold);margin-bottom:1.5rem;font-size:.85rem;font-weight:500;display:block}.section-title{font-size:clamp(2.2rem,5vw,3.8rem);font-family:var(--font-headline);margin-bottom:2rem}.section-desc{color:var(--text-sub);max-width:700px;margin:0 auto 4rem;font-size:clamp(1.1rem,2vw,1.25rem);font-weight:300}.section-dark .section-desc{color:var(--text-muted)}.btn-gold{background-color:var(--accent-gold);color:var(--bg-white);letter-spacing:.1em;text-transform:uppercase;transition:var(--transition-smooth);border:1px solid var(--accent-gold);border-radius:4px;padding:1.1rem 2.4rem;font-size:.85rem;font-weight:500;display:inline-block;position:relative;overflow:hidden;box-shadow:0 4px 15px #c9a84c26}.btn-gold:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%}.btn-gold:hover:before{left:100%}.btn-gold:hover{background-color:var(--accent-gold-hover);border-color:var(--accent-gold-hover);transform:translateY(-2px);box-shadow:0 6px 20px #c9a84c4d}.btn-gold:active{transform:translateY(0)}.btn-outline-white{color:var(--text-light);letter-spacing:.1em;text-transform:uppercase;transition:var(--transition-smooth);background-color:#0000;border:1px solid #ffffff4d;border-radius:4px;padding:1.1rem 2.4rem;font-size:.85rem;font-weight:500;display:inline-block}.btn-outline-white:hover{background-color:var(--bg-white);color:var(--bg-dark);border-color:var(--bg-white);transform:translateY(-2px)}.btn-outline-dark{color:var(--text-dark);letter-spacing:.1em;text-transform:uppercase;transition:var(--transition-smooth);background-color:#0000;border:1px solid #00000026;border-radius:4px;padding:1.1rem 2.4rem;font-size:.85rem;font-weight:500;display:inline-block}.btn-outline-dark:hover{background-color:var(--bg-dark);color:var(--text-light);border-color:var(--bg-dark);transform:translateY(-2px)}.whatsapp-float{color:#fff;z-index:1000;width:60px;height:60px;transition:var(--transition-smooth);background-color:#25d366;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 4px 16px #25d3664d}.whatsapp-float:hover{transform:scale(1.1)rotate(10deg);box-shadow:0 6px 20px #25d36680}.fade-up{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(30px)}.fade-up.active{opacity:1;transform:translateY(0)}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;display:grid}@media (width<=900px){.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (width<=600px){.portfolio-grid{grid-template-columns:1fr;gap:1.5rem}}.portfolio-item{aspect-ratio:4/5;border-radius:var(--border-radius);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000d}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.portfolio-overlay{opacity:0;background:linear-gradient(#0000 0%,#0003 40%,#000000d9 100%);flex-direction:column;justify-content:flex-end;padding:2.5rem;transition:opacity .4s;display:flex;position:absolute;inset:0}.portfolio-item:hover img{transform:scale(1.08)}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-category{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-gold);margin-bottom:.5rem;font-size:.75rem}.portfolio-title{color:var(--text-light);font-size:1.5rem;font-family:var(--font-headline)}@media (hover:none){.portfolio-overlay{opacity:1;background:linear-gradient(#0000 50%,#000000b3 100%);padding:1.5rem}.portfolio-title{font-size:1.25rem}}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;margin-top:4rem;display:grid}.pricing-card{background-color:var(--bg-white);border-radius:var(--border-radius);transition:var(--transition-smooth);border:1px solid #0000000f;flex-direction:column;padding:3rem 2.5rem;display:flex;position:relative;box-shadow:0 10px 30px #00000005}.pricing-card-dark{background-color:var(--bg-card-dark);color:var(--text-light);border:1px solid #ffffff0d;box-shadow:0 10px 40px #0003}.pricing-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000014}.pricing-card-dark:hover{border-color:#c9a84c4d;box-shadow:0 20px 50px #c9a84c26}.pricing-card-glass{border-radius:var(--border-radius);transition:var(--transition-smooth);color:var(--text-light);background-color:#ffffff05;border:1px solid #ffffff0d;flex-direction:column;padding:3rem 2.5rem;display:flex;position:relative}.pricing-card-glass:hover{background-color:#ffffff0d;border-color:#ffffff1f;transform:translateY(-8px);box-shadow:0 20px 45px #0006}.pricing-card-glass-featured{border:1px solid var(--accent-gold);border-radius:var(--border-radius);transition:var(--transition-smooth);color:var(--text-light);background-color:#c9a84c0a;flex-direction:column;padding:3rem 2.5rem;display:flex;position:relative;box-shadow:0 10px 30px #c9a84c1a}.pricing-card-glass-featured:hover{border-color:var(--accent-gold-hover);background-color:#c9a84c12;transform:translateY(-8px);box-shadow:0 20px 50px #c9a84c40}.pricing-badge{background-color:var(--accent-gold);color:var(--bg-white);text-transform:uppercase;letter-spacing:.1em;border-radius:4px;padding:.4rem .8rem;font-size:.7rem;font-weight:700;position:absolute;top:1.5rem;right:1.5rem}.pricing-header{border-bottom:1px solid #0000000f;margin-bottom:2rem;padding-bottom:2rem}.pricing-card-dark .pricing-header{border-color:#ffffff14}.pricing-title{font-size:1.8rem;font-family:var(--font-headline);margin-bottom:.5rem}.pricing-price{color:var(--accent-gold);font-size:2.5rem;font-weight:700;font-family:var(--font-headline)}.pricing-price span{font-size:.9rem;font-family:var(--font-body);color:var(--text-sub);font-weight:400}.pricing-card-dark .pricing-price span{color:var(--text-muted)}.pricing-features{flex-grow:1;margin-bottom:3rem;list-style:none}.pricing-features li{color:var(--text-sub);align-items:center;margin-bottom:1rem;font-size:.95rem;display:flex}.pricing-card-dark .pricing-features li{color:var(--text-muted)}.pricing-features li:before{content:"✓";color:var(--accent-gold);margin-right:.8rem;font-size:1.1rem;font-weight:700}.navbar{z-index:100;transition:var(--transition-smooth);padding:1.8rem 0;position:fixed;top:0;left:0;right:0}.navbar-scrolled{-webkit-backdrop-filter:blur(12px);background-color:#0a0a0ad9;border-bottom:1px solid #ffffff14;padding:1.1rem 0}.navbar-container{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-headline);color:var(--text-light);letter-spacing:.05em;font-size:1.6rem;font-weight:700}.logo span{color:var(--accent-gold)}.nav-links{align-items:center;gap:2.2rem;list-style:none;display:flex}.nav-links a{color:#ffffffbf;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;font-weight:500}.nav-links a:hover,.nav-links a.active{color:var(--accent-gold)}.mobile-menu-btn{color:var(--text-light);font-size:1.5rem;display:none}@media (width<=900px){.nav-links{display:none}.mobile-menu-btn{display:block}}.mobile-nav-overlay{background-color:var(--bg-dark);z-index:99;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100vw;height:100vh;transition:opacity .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0}.mobile-nav-overlay.active{opacity:1;pointer-events:all}.mobile-nav-overlay a{font-family:var(--font-headline);color:var(--text-light);transition:var(--transition-smooth);font-size:2.2rem}.mobile-nav-overlay a:hover{color:var(--accent-gold);transform:scale(1.05)}.faq-grid{max-width:800px;margin:4rem auto 0}.faq-item{cursor:pointer;border-bottom:1px solid #ffffff14;padding:1.8rem 0}.faq-question-container{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.faq-question{font-size:1.25rem;font-family:var(--font-headline);color:var(--text-light)}.faq-icon{transition:var(--transition-smooth);color:var(--accent-gold)}.faq-answer{max-height:0;margin-top:0;transition:max-height .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.faq-answer p{color:var(--text-muted);padding-top:1rem;font-size:.95rem;line-height:1.7}.faq-item.active .faq-icon{transform:rotate(180deg)}.faq-item.active .faq-answer{max-height:200px}.testimonial-card{text-align:center;max-width:800px;margin:0 auto;padding:1rem}.testimonial-text{font-family:var(--font-headline);margin-bottom:2.5rem;font-size:clamp(1.4rem,3vw,2.2rem);font-style:italic;line-height:1.5}.testimonial-author{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-gold);font-size:.9rem;font-weight:500}.testimonial-location{color:var(--text-sub);margin-top:.2rem;font-size:.8rem}.section-dark .testimonial-location{color:var(--text-muted)}.contact-form{background-color:var(--bg-cream);border-radius:var(--border-radius);width:100%;padding:4rem 3.5rem;box-shadow:0 10px 40px #00000005}.section-dark .contact-form{background-color:var(--bg-card-dark);border:1px solid #ffffff0d;box-shadow:0 10px 40px #0003}.form-grid{grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2rem;display:grid}@media (width<=768px){.form-grid{grid-template-columns:1fr;gap:1.5rem}.contact-form{padding:2.5rem 1.8rem}}.form-group{flex-direction:column;display:flex}.form-group-full{grid-column:span 2}@media (width<=768px){.form-group-full{grid-column:span 1}}.form-group label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark);margin-bottom:.6rem;font-size:.75rem;font-weight:500}.section-dark .form-group label{color:var(--text-light)}.form-control{background-color:var(--bg-white);color:var(--text-dark);transition:var(--transition-smooth);border:1px solid #0000001a;border-radius:4px;outline:none;padding:1rem 1.2rem;font-size:.95rem}.section-dark .form-control{color:var(--text-light);background-color:#ffffff08;border:1px solid #ffffff1a}.form-control:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px #c9a84c1a}textarea.form-control{resize:vertical;min-height:120px}.lens-focus-img{filter:blur(20px);will-change:filter, transform;transform:scale(1.1);transition:filter 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1)!important}.lens-focus-img.focused{filter:blur();transform:scale(1)}.shutter-flash-overlay{will-change:opacity}
