*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Lora,serif;color:#333;background-color:#f5f5f5;overflow-x:hidden}.hero{position:relative;height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:inherit;filter:blur(10px);z-index:0}.hero-image{position:absolute;top:-7.5%;left:0;width:100%;height:115%;object-fit:cover;object-position:center;z-index:2;filter:blur(3px);will-change:transform,opacity;opacity:0;transition:none}.hero-image.loaded{animation:zoomIn 1s cubic-bezier(.25,.46,.45,.94) both}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;z-index:3}.hero-content{position:relative;z-index:4;text-align:center;color:#fff;animation:fadeInUp .8s ease-out both}.hero-logo{height:350px;width:auto;filter:drop-shadow(2px 2px 8px rgba(0,0,0,.6))}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.hero-location{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:400;letter-spacing:3px;margin:0 auto 20px;text-shadow:1px 1px 4px rgba(0,0,0,.6);position:relative;padding:15px 40px;display:flex;align-items:center;justify-content:center;gap:20px;white-space:nowrap}.hero-location:before,.hero-location:after{content:"";flex:1;height:1px;background-color:#fff9;min-width:60px}.hero-subtitle{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:400;letter-spacing:2px;margin-bottom:50px;text-shadow:1px 1px 4px rgba(0,0,0,.6)}.cta-button{font-family:Cormorant Garamond,serif;display:inline-block;padding:15px 40px;background-color:#d4af37;color:#1a1a1a;text-decoration:none;font-weight:700;letter-spacing:2px;border-radius:0;transition:all .3s ease;border:2px solid #d4af37}.cta-button:hover{background-color:transparent;color:#d4af37}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.gallery{padding:80px 20px;background-color:#fff}.gallery-header{text-align:center;margin-bottom:60px;max-width:600px;margin-left:auto;margin-right:auto}.gallery-header h2{font-family:Cormorant Garamond,serif;font-size:3.5rem;font-weight:600;margin-bottom:15px;color:#1a1a1a;letter-spacing:2px}.gallery-header p{font-size:1.1rem;color:#666;line-height:1.6}.gallery-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.gallery-item{--photo-scale: 1.12;position:relative;height:350px;cursor:pointer;overflow:hidden;border-radius:8px;box-shadow:0 10px 30px #0000001a;transition:transform .4s ease;user-select:none;-webkit-user-select:none}.gallery-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(var(--photo-scale));transition:transform .35s ease}.gallery-item:nth-child(1) .gallery-photo{object-position:72% 52%}.gallery-item:nth-child(2) .gallery-photo{object-position:70% 54%}.gallery-item:nth-child(3) .gallery-photo{object-position:35% 56%}.gallery-item:nth-child(4) .gallery-photo{object-position:64% 50%}.gallery-item:nth-child(5) .gallery-photo{object-position:58% 52%}.gallery-item:nth-child(6) .gallery-photo{object-position:62% 52%}.gallery-item:hover{transform:scale(1.05)}.gallery-item:hover{--photo-scale: 1.18}.gallery-overlay{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background:#0000004d;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1;background:#d4af37b3}.gallery-overlay h3{font-family:Cormorant Garamond,serif;color:#fff;font-size:2.2rem;font-weight:600;letter-spacing:1px;text-align:center}@media (max-width: 768px){.hero-logo{height:auto;width:70%;max-width:300px}.hero-title{font-size:3rem}.hero-subtitle{font-size:1.1rem}.gallery-header h2{font-size:2rem}.gallery-container{grid-template-columns:1fr}.gallery-item{height:300px}}
