@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-ken-burns{animation:kenBurns 8s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-fade-in{animation:fadeInUp 1s ease-out forwards}.hero-fade-in-delay{opacity:0;animation:fadeInUp 1s ease-out .3s forwards}.hero-fade-in-delay-2{opacity:0;animation:fadeInUp 1s ease-out .6s forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-on-scroll{opacity:0}.animate-on-scroll.is-visible{animation:slideUp .8s ease-out forwards}.animate-fade-in.is-visible{animation:fadeIn .8s ease-out forwards}.animate-slide-left.is-visible{animation:slideInLeft .8s ease-out forwards}.animate-slide-right.is-visible{animation:slideInRight .8s ease-out forwards}.animate-scale-in.is-visible{animation:scaleIn .6s ease-out forwards}.stagger-children>*:nth-child(1){animation-delay:0s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.2s}.stagger-children>*:nth-child(4){animation-delay:.3s}.stagger-children>*:nth-child(5){animation-delay:.4s}.stagger-children>*:nth-child(6){animation-delay:.5s}.stagger-children>*:nth-child(7){animation-delay:.6s}.stagger-children>*:nth-child(8){animation-delay:.7s}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-item{position:relative;overflow:hidden;aspect-ratio:1}.gallery-item.tall{grid-row:span 2;aspect-ratio:auto}.gallery-item.wide{grid-column:span 2;aspect-ratio:16/9}.gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.lightbox-backdrop.active{opacity:1;visibility:visible}.lightbox-content{max-width:90vw;max-height:90vh;transform:scale(.9);transition:transform .3s ease}.lightbox-backdrop.active .lightbox-content{transform:scale(1)}.testimonial-quote{position:relative}.testimonial-quote:before{content:'"';position:absolute;top:-20px;left:-10px;font-family:Playfair Display,serif;font-size:80px;color:#7b3f3226;line-height:1}.instagram-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media(min-width:640px){.instagram-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.instagram-grid{grid-template-columns:repeat(6,1fr)}}.instagram-item{aspect-ratio:1;overflow:hidden;position:relative}.instagram-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.instagram-item:hover img{transform:scale(1.1)}.nav-scrolled{background-color:#f4f1eafa;box-shadow:0 2px 20px #00000014}.mobile-menu-enter{transform:translate(100%);opacity:0}.mobile-menu-enter-active{transform:translate(0);opacity:1;transition:transform .3s ease,opacity .3s ease}.mobile-menu-exit{transform:translate(0);opacity:1}.mobile-menu-exit-active{transform:translate(100%);opacity:0;transition:transform .3s ease,opacity .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f4f1ea}::-webkit-scrollbar-thumb{background:#7b3f32;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5a2e25}input:focus,textarea:focus{outline:none;border-color:#7b3f32}.parallax-container{overflow:hidden;position:relative}.parallax-bg{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-size:cover;background-position:center;will-change:transform}.text-balance{text-wrap:balance}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
