:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.App{width:100vw;min-height:100vh;position:relative}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}#root{width:100%;max-width:100vw;overflow-x:hidden;position:relative}:root{--primary-color: #b08d57;--secondary-color: #2c2c2c;--accent-color: #f8f6f0;--text-dark: #2c2c2c;--text-light: #ffffff;--text-muted: #666666;--gold: #b08d57;--dark-bg: #1a1a1a;--light-bg: #f8f6f0;--font-primary: "Playfair Display", serif;--font-secondary: "Inter", sans-serif;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .6s cubic-bezier(.4, 0, .2, 1);--container-padding: 80px}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.section-title{font-size:2.5rem}.hero-title{font-size:3.5rem}.hero-description{font-size:1.1rem}.stat-number{font-size:2rem}}@supports not (display: grid){.about-content,.about-stats,.contact-content,.footer-content{display:flex;flex-wrap:wrap}.gallery-grid{display:flex;flex-wrap:wrap;justify-content:center}.menu-grid,.footer-links{display:flex;flex-wrap:wrap}}html{scroll-behavior:smooth;overflow-anchor:none;overflow-x:hidden;width:100%}body{font-family:var(--font-secondary);line-height:1.6;color:var(--text-dark);overflow-x:hidden;width:100%;max-width:100vw;margin:0;padding:0;position:relative}body.menu-open{overflow:hidden}.container{max-width:1200px;margin:0 auto;padding:0 80px}@media (max-width: 1024px){.container{padding:0 40px}:root{--container-padding: 40px}}@media (max-width: 768px){.container{padding:0 20px}:root{--container-padding: 20px}}@media (max-width: 480px){.container{padding:0 15px}:root{--container-padding: 15px}}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;line-height:1.2}.section-title{font-size:clamp(1.5rem,4vw,3rem);text-align:center;margin-bottom:1rem;color:var(--text-dark);position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--primary-color);border-radius:2px}.section-subtitle{text-align:center;font-size:1.2rem;color:var(--text-muted);margin-bottom:3rem;font-weight:300}.navbar{position:fixed;top:0;left:0;right:0;width:100%;max-width:100vw;margin:0 auto;padding:1rem var(--container-padding);z-index:1100;transition:var(--transition);box-sizing:border-box;overflow:visible;min-height:120px}@media (min-width: 1025px){.navbar{padding:1rem var(--container-padding);min-height:120px}}@media (min-width: 769px) and (max-width: 1024px){.navbar{padding:1.5rem var(--container-padding) 1rem;min-height:110px}}@media (max-width: 768px){.navbar{padding:1rem var(--container-padding) .5rem;min-height:90px}}@media (max-width: 480px){.navbar{padding:1rem var(--container-padding) .5rem;min-height:90px}}.navbar.scrolled{padding:.5rem var(--container-padding);min-height:60px}@media (max-width: 1024px){.navbar.scrolled{padding:.75rem var(--container-padding) .5rem;min-height:70px}}.nav-left-bg{position:absolute;left:clamp(15px,5vw,80px);top:50%;transform:translateY(-50%);background:#141414b3;-moz-backdrop-filter:blur(15px) saturate(180%);backdrop-filter:blur(15px) saturate(180%);border-radius:25px;padding:.5rem 1rem;transition:var(--transition);box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.18);display:none}.navbar.scrolled .nav-left-bg{background:#0f0f0fd9;-moz-backdrop-filter:blur(20px) saturate(200%);backdrop-filter:blur(20px) saturate(200%);box-shadow:0 12px 40px #0009}.nav-left{display:flex;gap:1.5rem;list-style:none}.nav-logo-bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#141414b3;-moz-backdrop-filter:blur(15px) saturate(180%);backdrop-filter:blur(15px) saturate(180%);border-radius:25px;padding:.5rem 1rem;transition:var(--transition);box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.18);z-index:1101;display:flex;align-items:center;justify-content:center}.nav-logo{display:flex;align-items:center;justify-content:center;height:auto}.navbar.scrolled .nav-logo-bg{background:#0f0f0fd9;-moz-backdrop-filter:blur(20px) saturate(200%);backdrop-filter:blur(20px) saturate(200%);box-shadow:0 12px 40px #0009;opacity:0;visibility:hidden;pointer-events:none}.nav-right-bg{position:absolute;right:clamp(15px,5vw,80px);top:50%;transform:translateY(-50%);background:#141414b3;-moz-backdrop-filter:blur(15px) saturate(180%);backdrop-filter:blur(15px) saturate(180%);border-radius:25px;padding:.5rem 1rem;transition:var(--transition);box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.18);display:none}.navbar.scrolled .nav-right-bg{background:#0f0f0fd9;-moz-backdrop-filter:blur(20px) saturate(200%);backdrop-filter:blur(20px) saturate(200%);box-shadow:0 12px 40px #0009}.nav-right{display:flex;gap:1.5rem;list-style:none}.hamburger-bg{position:fixed;right:var(--container-padding);top:1.5rem;background:#1a1a1af2;backdrop-filter:blur(10px);border-radius:16px;padding:.5rem;transition:var(--transition);box-shadow:0 2px 20px #0000004d;z-index:1200;display:none}.navbar.scrolled .hamburger-bg{background:#1a1a1afa;box-shadow:0 2px 20px #0006;top:1rem}.mobile-nav-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;max-width:100vw;background:#000c;z-index:1050;opacity:0;visibility:hidden;transition:all .3s ease;box-sizing:border-box;margin:0;padding:0;overflow:hidden}.mobile-nav-overlay.active{opacity:1;visibility:visible}.mobile-nav-menu{position:absolute;left:-100%;top:80px;width:100%;max-width:100vw;background:var(--dark-bg);display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 1rem;transition:left .3s ease;box-shadow:0 10px 27px #0000004d;box-sizing:border-box;overflow:hidden}.mobile-nav-overlay.active .mobile-nav-menu{left:0;padding-top:3rem}.nav-logo .logo{height:60px;width:auto;transition:var(--transition);filter:brightness(1.25) contrast(1.15) drop-shadow(0 1px 3px rgba(0,0,0,.4));display:block}@media (min-width: 769px){.nav-logo .logo{height:80px}}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{color:var(--text-light);text-decoration:none;font-weight:500;position:relative;transition:var(--transition);padding:.5rem 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary-color);transition:var(--transition)}.nav-link:hover:after{width:100%}.nav-link:hover{color:var(--primary-color)}.hamburger{display:none;flex-direction:column;cursor:pointer}.bar{width:25px;height:3px;background:var(--text-light);margin:3px 0;transition:var(--transition)}.hero{height:100vh;max-width:100vw;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-2}.hero-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:brightness(.4)}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a1ab3,#b08d574d);z-index:-1}.hero-content{text-align:center;color:var(--text-light);max-width:800px;padding:0 20px;animation:fadeInUp 1s ease-out}@media (max-width: 480px){.hero-content{padding:0 10px}}.hero-title{font-size:clamp(1.8rem,6vw,4rem);margin-bottom:1.5rem;font-weight:700}.title-line{display:block;font-size:clamp(1rem,2.5vw,1.5rem);font-weight:300;margin-bottom:.5rem;opacity:.9}.title-main{display:block;font-size:clamp(2.2rem,8vw,5rem);background:linear-gradient(45deg,var(--primary-color),#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.title-subtitle{display:block;font-size:clamp(1.2rem,4vw,1.8rem);font-weight:300;font-family:var(--font-secondary);letter-spacing:2px;text-transform:uppercase}.hero-description{font-size:clamp(1rem,2.5vw,1.2rem);margin-bottom:2.5rem;opacity:.9;line-height:1.8;max-width:600px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:1rem 2rem;text-decoration:none;border-radius:50px;font-weight:600;text-transform:uppercase;letter-spacing:1px;transition:var(--transition);position:relative;overflow:hidden;border:2px solid transparent;cursor:pointer;font-size:.9rem}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition)}.btn:hover:before{left:100%}.btn-primary{background:var(--primary-color);color:var(--text-light);border-color:var(--primary-color)}.btn-primary:hover{background:transparent;color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 10px 25px #b08d574d}.btn-secondary{background:transparent;color:var(--text-light);border-color:var(--text-light)}.btn-secondary:hover{background:var(--text-light);color:var(--text-dark);transform:translateY(-2px);box-shadow:0 10px 25px #fff3}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);animation:bounce 2s infinite;cursor:pointer}.scroll-arrow{font-size:2rem;color:var(--primary-color);display:block}.about{padding:clamp(3rem,10vw,6rem) 0;background:var(--light-bg);width:100%;max-width:100vw;overflow-x:hidden}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,4rem);align-items:center}.about-text h3{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1.5rem;color:var(--text-dark)}.about-text p{margin-bottom:1.5rem;color:var(--text-muted);line-height:1.8;font-size:clamp(.9rem,2vw,1rem)}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,3vw,2rem);margin-top:2rem}.stat{text-align:center;padding:1.5rem;background:#fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;transition:var(--transition)}.stat:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000026}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:var(--primary-color);font-family:var(--font-primary)}.stat-label{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.about-image{position:relative;border-radius:15px;overflow:hidden;box-shadow:0 20px 40px #0000001a}.about-image img{width:100%;height:400px;-o-object-fit:cover;object-fit:cover;transition:var(--transition-slow)}.about-image:hover img{transform:scale(1.05)}.menu{padding:clamp(3rem,8vw,6rem) 0;background:#fbf4ec;width:100%;max-width:100vw;overflow-x:hidden}.menu-tabs{display:flex;justify-content:center;gap:clamp(.75rem,3vw,1.5rem);margin-bottom:3rem;flex-wrap:wrap}.menu-tab{padding:clamp(.8rem,3vw,1.2rem) clamp(1.5rem,4vw,2.5rem);background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);border-radius:50px;cursor:pointer;transition:var(--transition);font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:clamp(.85rem,2.5vw,1rem);white-space:nowrap;flex:0 0 auto;min-width:0}.menu-tab.active,.menu-tab:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #b08d574d}.menu-special{max-width:1100px;margin:0 auto}.menu-special-title{font-family:var(--font-primary);text-align:center;color:#103b36;font-size:clamp(1.6rem,3.5vw,2.6rem);margin-bottom:clamp(1.5rem,4vw,2.5rem)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2rem);max-height:clamp(400px,80vh,600px);overflow-y:auto;overflow-x:hidden;padding-right:.5rem}.menu-grid::-webkit-scrollbar{width:6px}.menu-grid::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.menu-grid::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.menu-grid::-webkit-scrollbar-thumb:hover{background:var(--text-dark)}.menu-col{display:flex;flex-direction:column;gap:clamp(.75rem,1.5vw,1rem)}.menu-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:clamp(.6rem,1.5vw,.9rem) 0;border-bottom:1px dotted rgba(0,0,0,.25)}.row-left{display:flex;align-items:center;gap:.75rem;min-width:0}.row-thumb{width:clamp(32px,5vw,48px);height:clamp(32px,5vw,48px);border-radius:8px;-o-object-fit:cover;object-fit:cover}.row-text{display:grid}.menu-item-name{font-weight:600;color:#123c34;font-family:var(--font-primary);font-size:clamp(.95rem,1.6vw,1.05rem)}.menu-item-desc{color:var(--text-muted);font-size:clamp(.75rem,1.4vw,.85rem)}.menu-item-price{font-family:var(--font-primary);color:#123c34;font-weight:700;font-size:clamp(.95rem,1.7vw,1.05rem)}.menu-cta-wrap{display:flex;justify-content:center;margin-top:clamp(1rem,3vw,1.5rem)}.menu-cta{border-radius:999px;padding:.6rem 1.25rem}.gallery{padding:clamp(3rem,10vw,6rem) 0;background:var(--light-bg);width:100%;max-width:100vw;overflow-x:hidden}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(1rem,3vw,2rem)}.gallery-item{position:relative;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #0000001a;transition:var(--transition);cursor:pointer}.gallery-item:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0003}.gallery .gallery-overlay,.wedding-gallery .gallery-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:none;color:#fff;opacity:1;transition:background .2s,opacity .2s;z-index:2}.gallery-item:hover .gallery-overlay,.wedding-gallery .gallery-item:hover .gallery-overlay{background:#0000002e;opacity:1}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item.broken{filter:none!important;background-color:#f2efe9;background-size:cover;background-position:center}.gallery-item.broken .gallery-overlay{opacity:1;background:linear-gradient(180deg,#0003,#b08d57bf)}.gallery-item .gallery-caption{display:inline-block;padding:.35rem .6rem;border-radius:8px;color:#fff;background:#00000059;font-weight:600;text-align:center}.gallery-overlay i{font-size:2rem;color:#fff}.testimonials{padding:clamp(3rem,10vw,6rem) 0;background:linear-gradient(180deg,#f8f6f0d9,#fff);width:100%;max-width:100vw;overflow:hidden}.testimonials .section-subtitle{margin-bottom:clamp(2rem,5vw,3rem)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1.5rem,4vw,2.5rem)}.testimonial-card{background:#fff;border-radius:16px;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;gap:1.25rem;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.testimonial-card:before{content:"";position:absolute;inset:0;border-radius:16px;border:1px solid rgba(176,141,87,.2);pointer-events:none}.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 25px 50px #0000001f}.testimonial-stars{display:flex;gap:.35rem;color:var(--primary-color);font-size:1rem}.testimonial-quote{color:var(--text-dark);font-size:clamp(.95rem,2.2vw,1.05rem);line-height:1.8;flex-grow:1}.testimonial-meta{border-top:1px solid rgba(0,0,0,.08);padding-top:1rem}.testimonial-name{font-weight:600;font-family:var(--font-primary);color:var(--primary-color)}.testimonial-role{color:var(--text-muted);font-size:.95rem}@media (max-width: 480px){.testimonial-card{padding:1.5rem}}.contact{padding:clamp(3rem,10vw,6rem) 0;background:#fff;width:100%;max-width:100vw;overflow-x:hidden}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,4rem);align-items:stretch}.contact-item{display:flex;align-items:flex-start;gap:clamp(.75rem,2vw,1rem);margin-bottom:2rem}.contact-item i{font-size:clamp(1.2rem,3vw,1.5rem);color:var(--primary-color);margin-top:.5rem;flex-shrink:0}.contact-item h4{font-size:clamp(1rem,2.2vw,1.2rem);margin-bottom:.5rem;color:var(--text-dark)}.contact-item p{color:var(--text-muted);line-height:1.6;font-size:clamp(.9rem,2vw,1rem)}.contact-item a{color:inherit;text-decoration:none}.contact-item a:hover{color:var(--primary-color)}.contact-form{background:var(--light-bg);padding:clamp(1.5rem,4vw,2rem);border-radius:15px;box-shadow:0 10px 30px #0000001a}.form-group{margin-bottom:1.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid #ddd;border-radius:10px;font-family:var(--font-secondary);font-size:1rem;transition:var(--transition);background:#fff;color:var(--text-dark)}.form-group input::-moz-placeholder,.form-group select::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--text-muted)}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group select{cursor:pointer}.form-group input[type=date]{position:relative;appearance:auto;-webkit-appearance:auto;-moz-appearance:auto}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1!important;display:inline-block!important;width:20px;height:20px;background:transparent;position:absolute;right:10px;filter:invert(50%) sepia(20%) saturate(800%) hue-rotate(5deg)}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{filter:invert(40%) sepia(40%) saturate(1000%) hue-rotate(5deg)}.form-group input[type=date]::-webkit-inner-spin-button,.form-group input[type=date]::-webkit-clear-button{display:none}.form-group textarea{resize:vertical;min-height:120px}.phone-input-group{position:relative}.phone-input-group input[type=tel]{padding-left:110px}.phone-input-group .country-code-select{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:100px;min-width:90px;height:calc(100% - 12px);background:transparent;border:none;outline:none;color:var(--text-dark);font-size:1rem;line-height:1;padding:0 .8rem 0 .5rem;border-right:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:14px 14px}@media (max-width: 480px){.phone-input-group input[type=tel]{padding-left:100px}.phone-input-group .country-code-select{width:90px}}.footer{background:var(--dark-bg);color:var(--text-light);padding:3rem 0 1rem;width:100%;max-width:100vw;overflow-x:hidden}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:2rem}.footer-logo .logo{height:clamp(80px,6vw,120px);margin-bottom:1rem;filter:brightness(0) invert(1)}.footer-logo .pnm-logo{filter:none;height:clamp(160px,14vw,240px)}.footer-logo{display:flex;align-items:center;gap:1rem}.footer-logo p{color:#ccc;line-height:1.6}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{margin-bottom:1rem;color:var(--primary-color)}.footer-column ul{list-style:none}.footer-column ul li{margin-bottom:.5rem}.footer-column ul li a{color:#ccc;text-decoration:none;transition:var(--transition)}.footer-column ul li a:hover{color:var(--primary-color)}.footer-contact-info{display:flex;flex-direction:column;gap:1rem}.footer-contact-item{display:flex;align-items:flex-start;gap:.75rem;color:#ccc;line-height:1.5;font-size:clamp(.9rem,2vw,1rem)}.footer-contact-item a{color:inherit;text-decoration:none}.footer-contact-item a:hover{color:var(--primary-color)}.footer-contact-item i{color:var(--primary-color);font-size:clamp(1rem,2.5vw,1.2rem);padding-top:.2rem;min-width:16px}.social-links{display:flex;gap:1rem}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary-color);color:#fff;border-radius:50%;text-decoration:none;transition:var(--transition)}.social-links a:hover{background:#fff;color:var(--primary-color);transform:translateY(-3px)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid #333;color:#999}.back-to-top{position:fixed;bottom:2rem;right:var(--container-padding);width:50px;height:50px;background:var(--primary-color);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 4px 20px #b08d5766;transition:var(--transition);z-index:1000;opacity:0;visibility:hidden;transform:translateY(20px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--text-dark);transform:translateY(-5px);box-shadow:0 6px 30px #b08d5799}.back-to-top:active{transform:translateY(-2px)}.back-to-top i{transition:var(--transition)}.back-to-top:hover i{transform:translateY(-2px)}@media (max-width: 768px){.back-to-top{width:45px;height:45px;font-size:1rem;bottom:1.5rem}}@media (max-width: 480px){.back-to-top{width:40px;height:40px;font-size:.9rem;bottom:1rem}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.fade-in{opacity:0;transform:translateY(30px);transition:var(--transition-slow)}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translate(-50px);transition:var(--transition-slow)}.slide-in-left.visible{opacity:1;transform:translate(0)}.slide-in-right{opacity:0;transform:translate(50px);transition:var(--transition-slow)}.slide-in-right.visible{opacity:1;transform:translate(0)}@media (min-width: 1025px){.nav-left-bg,.nav-right-bg{display:block}.hamburger-bg,.mobile-nav-overlay{display:none!important}}@media (max-width: 1024px){.hamburger{display:flex}.nav-left-bg,.nav-right-bg{display:none!important}.navbar{max-width:100vw;margin:0 auto;overflow:visible}.hamburger-bg{display:block!important;position:fixed;right:var(--container-padding);top:1.5rem}.navbar.scrolled .hamburger-bg{top:1rem}.nav-logo-bg{left:50%;top:50%;transform:translate(-50%,-50%)}.navbar.scrolled .nav-logo-bg{top:50%}.mobile-nav-overlay.active~.nav .hamburger-bg{display:block!important}}@media (min-width: 769px) and (max-width: 1024px){.nav-logo-bg{left:50%;top:24px;transform:translate(-50%)}.navbar.scrolled .nav-logo-bg{top:24px}}@media (max-width: 1024px){.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background-color:var(--dark-bg);width:100%;text-align:center;transition:left .3s ease;box-shadow:0 10px 27px #0000004d;padding:2rem 0;z-index:999;gap:1.5rem}.mobile-nav-overlay.active .mobile-nav-menu{left:0}.nav-menu li{margin:.5rem 0;width:100%}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(1){transform:translateY(12px) rotate(45deg);width:30px}.hamburger.active .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg);width:30px}.hero-title{font-size:2.5rem}.title-main{font-size:3rem}.title-subtitle{font-size:1.2rem}.hero-buttons{flex-direction:column;align-items:center}.section-title{font-size:2rem}.about-content{grid-template-columns:1fr;gap:2rem}.about-stats{grid-template-columns:1fr;gap:1rem}.contact-content,.footer-content{grid-template-columns:1fr;gap:2rem}.footer-links{grid-template-columns:1fr;gap:1.5rem}.footer-content,.footer-links,.footer-column,.footer-contact-info,.footer-contact-item,.social-links{text-align:center;justify-content:center}.footer-contact-item,.footer-logo{justify-content:center}.footer-logo p,.footer-bottom{text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (max-width: 1024px){.menu-items{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr;max-height:400px}}@media (max-width: 480px){.container{padding:0 15px}.hero-title{font-size:2rem}.title-main{font-size:2.5rem}.hero-description{font-size:1rem}.btn{padding:.8rem 1.5rem;font-size:.8rem}.section-title{font-size:1.8rem}.about-text h3{font-size:1.5rem}.stat-number{font-size:2rem}.menu-item{flex-direction:column;align-items:flex-start;gap:.5rem}.contact-form{padding:1.5rem}}.loading{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--dark-bg);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease-out}.loading.hidden{opacity:0;pointer-events:none}.loading-spinner{width:50px;height:50px;border:3px solid rgba(176,141,87,.3);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.loading-spinner{width:80px;height:80px;border-width:5px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}@media (hover: none) and (pointer: coarse){.gallery-item,.gallery-item:hover,.gallery-item img,.gallery-item:hover img,.about-image,.about-image:hover,.about-image img,.about-image:hover img,.stat,.stat:hover{transform:none!important;transition:none!important}.btn-primary,.btn-secondary,.btn-primary:hover,.btn-secondary:hover{transform:none!important;box-shadow:none!important}.social-links a,.social-links a:hover{transform:none!important}.menu-tab,.menu-tab:hover,.menu-tab.active{transform:none!important;box-shadow:none!important}.section-title:after{transition:none!important}.nav-link:after{transition:none!important}.menu-grid{scrollbar-width:thin;-webkit-overflow-scrolling:touch}.back-to-top,.back-to-top:hover,.back-to-top.visible{transform:translateY(0)!important}}@media (prefers-contrast: high){:root{--primary-color: #000;--text-muted: #000}}@supports (padding: env(safe-area-inset-top)){.hamburger-bg{top:calc(1.5rem + env(safe-area-inset-top))}.navbar.scrolled .hamburger-bg{top:calc(1rem + env(safe-area-inset-top))}@media (max-width: 1024px){.navbar{padding-top:calc(1rem + env(safe-area-inset-top));min-height:calc(90px + env(safe-area-inset-top))}.navbar.scrolled{padding-top:calc(.75rem + env(safe-area-inset-top))}}}@media print{.navbar,.hero-buttons,.contact-form,.footer{display:none}.hero{height:auto;padding:2rem 0}.section-title{color:#000}}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.3}to{transform:translateY(-1000px) rotate(360deg);opacity:0}}.floating-heart,.floating-heart-bg{position:absolute;animation:floatUp 7s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes heartBeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1.05)}}.wedding-venue{background:linear-gradient(135deg,#f8f6f0,#fff);position:relative;overflow:hidden}.venue-content{margin-bottom:4rem}.venue-subtitle{color:var(--primary-color);font-size:1.8rem;margin-bottom:1.5rem;font-family:var(--font-primary)}.venue-features{margin-top:4rem;padding:3rem 0}.features-title{text-align:center;font-size:2rem;color:var(--text-dark);margin-bottom:3rem;font-family:var(--font-primary)}.features-carousel-container{position:relative;width:100%;margin-bottom:3rem;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.features-carousel{overflow:hidden;border-radius:0;background:transparent;padding:20px 0}.features-carousel-track{display:flex;gap:2rem;width:-moz-fit-content;width:fit-content;animation:scroll 30s linear infinite}.features-carousel-track:hover{animation-play-state:paused}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.feature-card{min-width:250px;max-width:250px;height:250px;flex:0 0 250px;background:#fff;padding:1.5rem 1rem;border-radius:15px;box-shadow:0 5px 20px #00000014;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:1;transform:translateY(0)}.feature-card.fade-in-up{animation:fadeInUp .6s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.feature-card.visible{opacity:1;transform:translateY(0)}.feature-card:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 15px 40px #b08d574d}.feature-icon{font-size:2.5rem;color:var(--primary-color);margin-bottom:.8rem;display:inline-block;transition:transform .3s ease}.feature-card:hover .feature-icon{transform:scale(1.15) rotate(5deg)}.feature-title{font-size:1rem;color:var(--text-dark);margin-bottom:.4rem;font-family:var(--font-primary);font-weight:600;line-height:1.3}.feature-description{font-size:.85rem;color:var(--text-muted);line-height:1.4}.carousel-nav,.carousel-indicators,.features-grid{display:none}.venue-highlight{background:linear-gradient(135deg,var(--primary-color),#c9a870);color:#fff;padding:3rem;border-radius:20px;text-align:center;box-shadow:0 10px 40px #b08d574d}.venue-highlight h3{font-size:2rem;margin-bottom:1rem}.venue-highlight p{font-size:1.1rem;line-height:1.8;max-width:800px;margin:0 auto}.wedding-packages{background:linear-gradient(to bottom,#fff,#f8f6f0);padding:5rem 0}.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2.5rem);margin:3rem 0;grid-auto-rows:1fr}.package-card{background:#fff;border-radius:clamp(12px,2vw,20px);padding:clamp(1.2rem,2.5vw,2rem);box-shadow:0 10px 40px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;opacity:0;transform:translateY(40px);display:flex;flex-direction:column;border:3px solid transparent;box-sizing:border-box;min-height:100%}.package-card.visible{opacity:1;transform:translateY(0)}.package-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--primary-color),#c9a870);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.package-card:hover:before{transform:scaleX(1)}.package-card:hover{transform:translateY(-15px);box-shadow:0 20px 60px #b08d5740}.package-highlight{border-color:var(--primary-color)}.package-highlight:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(176,141,87,.05),transparent);pointer-events:none;z-index:-1}.package-icon{font-size:clamp(2rem,3.5vw,2.8rem);color:var(--primary-color);margin-bottom:clamp(.8rem,1.5vw,1.2rem);display:inline-block;transition:transform .3s ease;flex-shrink:0}.package-card:hover .package-icon{transform:scale(1.2) rotate(10deg)}.package-name{font-size:clamp(1.2rem,2vw,1.6rem);color:var(--text-dark);margin-bottom:clamp(.25rem,.8vw,.4rem);font-family:var(--font-primary);line-height:1.3}.package-tagline{font-size:clamp(.8rem,1.3vw,.95rem);color:var(--text-muted);margin-bottom:clamp(.6rem,1.2vw,.9rem);font-style:italic}.package-guests{font-size:clamp(.9rem,1.5vw,1.05rem);color:var(--primary-color);font-weight:600;margin-bottom:clamp(.25rem,.6vw,.4rem)}.package-price{font-size:clamp(1.1rem,1.8vw,1.4rem);color:var(--text-dark);font-weight:700;margin-bottom:clamp(1rem,2vw,1.5rem)}.package-badge{position:absolute;top:20px;right:-30px;background:var(--primary-color);color:#fff;padding:.5rem 2rem;font-size:.85rem;font-weight:600;transform:rotate(45deg);box-shadow:0 4px 8px #0003}.package-features{margin:clamp(1rem,2vw,1.5rem) 0;text-align:left;flex-grow:1}.package-features h4{font-size:clamp(.95rem,1.5vw,1.05rem);color:var(--text-dark);margin-bottom:clamp(.6rem,1.2vw,.8rem)}.package-features ul{list-style:none;padding:0}.package-features li{display:flex;align-items:flex-start;margin-bottom:clamp(.5rem,.8vw,.7rem);gap:clamp(.5rem,.8vw,.7rem);font-size:clamp(.85rem,1.2vw,.95rem)}.check-icon{color:var(--primary-color);font-size:clamp(.9rem,1.3vw,1.1rem);flex-shrink:0;margin-top:2px}.package-cta{width:100%;margin-top:auto;padding-top:clamp(.8rem,1.5vw,1.2rem);display:flex;justify-content:center;align-items:center}.package-cta .btn{width:auto;min-width:clamp(140px,15vw,160px);padding:clamp(.7rem,1.2vw,.9rem) clamp(1.2rem,2vw,1.8rem);font-size:clamp(.85rem,1.3vw,.95rem)}.package-details{margin-top:4rem}.details-title{text-align:center;font-size:2rem;margin-bottom:2rem;color:var(--text-dark);font-family:var(--font-primary)}.seasonal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.info-card{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 20px #00000014;text-align:center;transition:all .3s ease}.info-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #b08d5726}.info-icon{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem}.info-card h4{font-size:1.3rem;color:var(--text-dark);margin-bottom:.5rem}.info-card p{color:var(--text-muted);line-height:1.6}.packages-cta-section{background:linear-gradient(135deg,#f8f6f0,#fff);padding:3rem;border-radius:20px;text-align:center;margin-top:3rem}.packages-cta-section h3{font-size:2rem;color:var(--text-dark);margin-bottom:1rem}.packages-cta-section p{font-size:1.1rem;color:var(--text-muted);margin-bottom:2rem;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.8}.packages-cta-section .btn.btn-secondary{background:var(--primary-color);color:var(--text-light);border-color:var(--primary-color)}.packages-cta-section .btn.btn-secondary:hover{background:transparent;color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 10px 25px #b08d574d}.wedding-enquiry{background:linear-gradient(135deg,#f8f6f0,#fff);padding:clamp(2.5rem,5vw,5rem) 0;position:relative}.title-heart{color:var(--primary-color);margin:0 clamp(.5rem,1vw,1rem);font-size:.8em}.wedding-form{background:#fff;padding:clamp(1.5rem,3vw,3rem);border-radius:clamp(12px,2vw,20px);box-shadow:0 10px 40px #0000001a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(.75rem,1.5vw,1rem)}.form-group{margin-bottom:clamp(.75rem,1.5vw,1rem);opacity:0;transform:translateY(20px);transition:all .4s ease}.form-group.visible{opacity:1;transform:translateY(0)}.form-group label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:clamp(.3rem,.8vw,.5rem);font-size:clamp(.85rem,1.5vw,.95rem)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:clamp(.85rem,1.5vw,1rem);border:2px solid #e0e0e0;border-radius:clamp(8px,1.5vw,10px);font-size:clamp(.9rem,1.5vw,1rem);font-family:var(--font-secondary);transition:all .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #b08d571a}.btn-submit{width:100%;padding:clamp(1rem,2vw,1.2rem);font-size:clamp(1rem,1.8vw,1.1rem);margin-top:clamp(.5rem,1.5vw,1rem)}.form-note{text-align:center;font-size:clamp(.75rem,1.2vw,.85rem);color:var(--text-muted);margin-top:clamp(.5rem,1.5vw,1rem)}.wedding-contact-info{background:linear-gradient(135deg,var(--dark-bg),#2a2a2a);padding:clamp(1.5rem,3vw,3rem);border-radius:clamp(12px,2vw,20px);color:#fff}.info-header{text-align:center;margin-bottom:clamp(1rem,2.5vw,2rem);padding-bottom:clamp(1rem,2.5vw,2rem);border-bottom:1px solid rgba(255,255,255,.1)}.info-header h3{font-size:clamp(1.5rem,3vw,2rem);color:var(--primary-color);margin-bottom:clamp(.3rem,.8vw,.5rem)}.info-header p{color:#fffc;line-height:1.6;font-size:clamp(.9rem,1.5vw,1rem)}.wedding-contact-info .contact-item{display:flex;align-items:flex-start;gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(1rem,2.5vw,2rem);padding:clamp(1rem,2vw,1.5rem);background:#ffffff0d;border-radius:clamp(8px,1.5vw,12px);transition:all .3s ease}.wedding-contact-info .contact-item:hover{background:#ffffff14;transform:translate(5px)}.contact-icon{font-size:clamp(1.4rem,2.5vw,1.8rem);color:var(--primary-color);min-width:clamp(30px,5vw,40px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-details{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.contact-details h4{color:var(--primary-color);margin-bottom:clamp(.3rem,.8vw,.5rem);font-size:clamp(.95rem,1.8vw,1.1rem)}.contact-details p{color:#ffffffe6;line-height:1.6;margin-bottom:clamp(.2rem,.5vw,.3rem);font-size:clamp(.85rem,1.5vw,1rem);word-break:break-word}.contact-note{font-size:clamp(.8rem,1.3vw,.9rem);color:#fff9}.contact-cta{text-align:center;margin-top:2rem}.zoom-in{opacity:0;transform:scale(.9);transition:all .6s cubic-bezier(.4,0,.2,1)}.zoom-in.visible{opacity:1;transform:scale(1)}.fade-in-up{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.fade-in-up.visible{opacity:1;transform:translateY(0)}@keyframes zoomIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 1024px){.packages-grid{grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,2vw,1.5rem);grid-auto-rows:1fr}.package-card{padding:clamp(1rem,2vw,1.5rem);max-width:100%;margin:0;min-height:100%}.package-icon{font-size:clamp(1.8rem,3vw,2.5rem)}.package-name{font-size:clamp(1.1rem,1.8vw,1.4rem)}.package-tagline{font-size:clamp(.8rem,1.2vw,.9rem)}.package-guests{font-size:clamp(.85rem,1.3vw,1rem)}.package-price{font-size:clamp(1rem,1.6vw,1.3rem)}.package-features h4{font-size:clamp(.9rem,1.3vw,1rem)}.package-features li{font-size:clamp(.8rem,1.1vw,.9rem);margin-bottom:clamp(.4rem,.7vw,.6rem)}.check-icon{font-size:clamp(.85rem,1.2vw,1rem)}.package-cta .btn{min-width:clamp(120px,14vw,160px);padding:clamp(.6rem,1vw,.8rem) clamp(1rem,1.8vw,1.5rem);font-size:clamp(.8rem,1.2vw,.9rem)}.package-badge{font-size:clamp(.65rem,.9vw,.75rem);padding:.4rem 1.5rem}}@media (max-width: 768px){.features-grid{grid-template-columns:1fr}.features-carousel-container{padding:0}.features-carousel-track{gap:1.5rem}.feature-card{min-width:220px;max-width:220px;height:220px;flex:0 0 220px;padding:1.2rem .9rem}.feature-icon{font-size:2.2rem;margin-bottom:.6rem}.feature-title{font-size:.95rem;margin-bottom:.3rem}.feature-description{font-size:.8rem}.packages-grid{grid-template-columns:1fr;gap:2rem;grid-auto-rows:1fr}.package-card{padding:clamp(1.3rem,2.5vw,1.8rem);max-width:100%;width:100%;margin:0;min-height:100%}.package-card:last-child{grid-column:auto;max-width:100%;margin:0}.package-highlight{transform:scale(1);border-color:var(--primary-color)}.package-icon{font-size:2.8rem}.package-name{font-size:1.5rem}.package-cta .btn{min-width:180px}.gallery-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:1rem}.wedding-form,.wedding-contact-info{padding:1.5rem 1rem;border-radius:12px}.wedding-contact-info .contact-item{flex-direction:row;gap:1rem;padding:1rem;margin-bottom:1rem}.contact-icon{font-size:1.4rem;min-width:30px}.contact-details h4{font-size:.95rem}.contact-details p{font-size:.85rem}.info-header h3{font-size:1.5rem}.info-header p{font-size:.9rem}.form-group label{font-size:.85rem}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:.85rem}.btn-submit{padding:1rem;font-size:1rem}.venue-highlight{padding:2rem}}@media (max-width: 480px){.features-carousel-container{padding:0}.features-carousel-track{gap:1rem}.feature-card{min-width:200px;max-width:200px;height:200px;flex:0 0 200px;padding:1rem .8rem}.feature-icon{font-size:2rem;margin-bottom:.5rem}.feature-title{font-size:.9rem;margin-bottom:.3rem}.feature-description{font-size:.75rem}.packages-grid{grid-template-columns:1fr;gap:2rem;grid-auto-rows:auto}.package-card{padding:1.5rem;max-width:100%;width:100%;margin:0;min-height:auto}.package-card:last-child{max-width:100%;width:100%;margin:0}.package-icon{font-size:2.5rem}.package-name{font-size:1.4rem}.package-tagline{font-size:.9rem}.package-guests{font-size:1rem}.package-price{font-size:1.3rem}.package-features li{font-size:.9rem}.package-badge{font-size:.7rem;padding:.4rem 1.5rem}.package-cta .btn{min-width:100%;padding:.9rem 1.5rem;font-size:1rem}}@media (min-width: 1200px){.features-carousel-container{padding:0}.features-carousel-track{gap:2.5rem}.feature-card{min-width:280px;max-width:280px;height:280px;flex:0 0 280px;padding:1.8rem 1.2rem}.feature-icon{font-size:2.8rem;margin-bottom:1rem}.feature-title{font-size:1.1rem;margin-bottom:.5rem}.feature-description{font-size:.9rem}.packages-grid{gap:clamp(1.5rem,3vw,2.5rem)}.package-card{padding:clamp(1.5rem,2.5vw,2rem)}}.gallery,.wedding-gallery{--gg-bg: #fff;--gg-text: #222;--gg-muted: #6b6b6b;--gg-accent: #b08d57;--gg-overlay: rgba(0,0,0,.92);color:var(--gg-text);box-sizing:border-box;font-family:inherit}.gallery *,.wedding-gallery *{box-sizing:inherit}.gallery .container,.wedding-gallery .container{max-width:1200px;margin:0 auto;padding:28px 18px}.gallery .section-header,.wedding-gallery .section-header{text-align:center;margin-bottom:20px}.gallery .section-title,.wedding-gallery .section-title{margin:0}.gallery .section-subtitle,.wedding-gallery .section-subtitle{margin:6px 0 0;color:var(--gg-muted)}.gallery .gallery-grid,.wedding-gallery .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch;margin-top:18px;transition:all .5s ease}@media (max-width: 880px){.gallery .gallery-grid,.wedding-gallery .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width: 420px){.gallery .gallery-grid,.wedding-gallery .gallery-grid{grid-template-columns:1fr;gap:10px}}.gallery .gallery-item,.wedding-gallery .gallery-item{aspect-ratio:16 / 11;min-height:180px;display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:16/11;background-color:#efefef;background-position:center;background-size:cover;background-repeat:no-repeat;border:0;padding:0;cursor:pointer;border-radius:8px;transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .22s;box-shadow:0 1px 6px #030a120f;-webkit-tap-highlight-color:transparent;will-change:transform,filter}@media (hover: hover) and (pointer: fine){.gallery .gallery-item:hover,.wedding-gallery .gallery-item:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0a0a0a24;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}}.gallery .gallery-item img,.wedding-gallery .gallery-item img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;border-radius:inherit;transition:opacity .26s ease;opacity:1;will-change:opacity;z-index:2}.gallery .gallery-item:not(.broken),.wedding-gallery .gallery-item:not(.broken){filter:blur(5px) saturate(1.04);transition:filter .4s ease;will-change:filter}.gallery .gallery-item.loaded,.wedding-gallery .gallery-item.loaded{filter:none}.gallery .gallery-item.broken,.wedding-gallery .gallery-item.broken{filter:none!important;background-color:#f9f7f2;display:grid;place-items:center;color:#5b5b5b;font-size:14px}.gallery .gallery-cta,.wedding-gallery .gallery-cta{margin-top:20px;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.gallery .gallery-cta p,.wedding-gallery .gallery-cta p{margin:0;color:var(--gg-muted);font-size:14px;text-align:center}.gallery-toggle{display:flex;justify-content:center;margin:20px 0}.gallery-toggle-btn{background:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:500;transition:background .3s ease}.gallery-toggle-btn:hover{background:var(--primary-color-dark, #a0552b)}.gallery-toggle-btn i{font-size:14px}.gallery .lightbox,.wedding-gallery .lightbox{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;gap:28px;background:var(--gg-overlay);z-index:12000;padding:28px;box-sizing:border-box;backdrop-filter:blur(6px)}.gallery .lightbox-content,.wedding-gallery .lightbox-content{position:relative;max-width:calc(100vw - 180px);max-height:calc(100vh - 160px);display:flex;align-items:center;justify-content:center;outline:none}.gallery .lightbox-content img,.wedding-gallery .lightbox-content img{display:block;max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 14px 40px #0009;-o-object-fit:contain;object-fit:contain}.gallery .lightbox-loading,.wedding-gallery .lightbox-loading{color:#fff;font-size:16px;padding:24px}.gallery .lightbox-nav,.wedding-gallery .lightbox-nav{background:#ffffff0f;color:#fff;padding:.2rem .7rem;position:absolute;top:50%;transform:translateY(-50%);background:none;font-size:2.5rem;cursor:pointer;z-index:2;border-radius:50%;border:none;transition:color .2s;line-height:1;display:flex;align-items:center;justify-content:center;outline:none;box-shadow:none}.gallery .lightbox-prev,.wedding-gallery .lightbox-prev{position:fixed;left:18px;top:50%}.gallery .lightbox-next,.wedding-gallery .lightbox-next{position:fixed;right:18px;top:50%}.gallery .lightbox-nav:hover,.wedding-gallery .lightbox-nav:hover{color:#ffb347;background:none}.gallery .lightbox-prev,.wedding-gallery .lightbox-prev{left:2vw}.gallery .lightbox-next,.wedding-gallery .lightbox-next{right:2vw}.gallery .lightbox-nav:focus,.wedding-gallery .lightbox-nav:focus{outline:none;box-shadow:none;border:none}.gallery .lightbox-close,.wedding-gallery .lightbox-close{position:fixed;top:18px;z-index:13000;background:#00000073;padding:8px 12px;font-size:22px;border-radius:8px;box-shadow:0 6px 18px #0006;transition:transform .15s ease,background .15s ease;pointer-events:auto;position:absolute;right:24px;color:#fff;font-size:2.5rem;background:none;border:none;cursor:pointer;z-index:2;padding:0 .5rem;line-height:1;transition:color .2s;outline:none;box-shadow:none}.gallery .lightbox-close:hover,.wedding-gallery .lightbox-close:hover{color:#ffb347;background:none}.gallery .lightbox,.wedding-gallery .lightbox{transform:none!important}.gallery .gallery-item:focus,.wedding-gallery .gallery-item:focus,.gallery .lightbox-nav:focus,.wedding-gallery .lightbox-nav:focus,.gallery .lightbox-close:focus,.wedding-gallery .lightbox-close:focus{outline:none;box-shadow:none;border:none}@media (max-width: 880px){.gallery .lightbox,.wedding-gallery .lightbox{padding:16px}.gallery .lightbox-content,.wedding-gallery .lightbox-content{max-width:calc(100vw - 40px);max-height:calc(100vh - 90px)}.gallery .lightbox-prev,.wedding-gallery .lightbox-prev,.gallery .lightbox-next,.wedding-gallery .lightbox-next{left:8px;right:8px;min-width:36px;min-height:36px}}@media (max-width: 420px){.gallery .lightbox-prev,.wedding-gallery .lightbox-prev,.gallery .lightbox-next,.wedding-gallery .lightbox-next{display:none}.gallery .lightbox-close,.wedding-gallery .lightbox-close{top:10px;right:10px;padding:6px 10px;font-size:20px}}.gallery .gallery-item,.wedding-gallery .gallery-item{opacity:0;transform:translateY(6px) scale(.995);transition:transform .4s cubic-bezier(.2,.9,.25,1),opacity .4s ease;will-change:transform,opacity}.gallery .gallery-item.visible,.wedding-gallery .gallery-item.visible{opacity:1;transform:translateY(0) scale(1)}
