html,body{overflow-x:hidden;max-width:100vw}
@keyframes slowZoom{0%{transform:scale(1.1)}100%{transform:scale(1)}}
@keyframes bounceSlow{0%,100%{transform:translateY(0) translateX(-50%)}50%{transform:translateY(10px) translateX(-50%)}}
@keyframes heroTextZoom{0%{opacity:0;transform:scale(.92)}100%{opacity:1;transform:scale(1)}}
.animate-hero-text-zoom{animation:heroTextZoom 3s cubic-bezier(.16,1,.3,1) forwards;will-change:transform}
.animate-slow-zoom{animation:slowZoom 20s ease-out forwards}
.animate-bounce-slow{animation:bounceSlow 2s ease-in-out infinite}
.reveal-up,.reveal-left,.reveal-right{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.reveal-up{transform:translateY(40px)}
.reveal-left{transform:translateX(-40px)}
.reveal-right{transform:translateX(40px)}
.reveal-up.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:translate(0)}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#1A1A1A}
::-webkit-scrollbar-thumb{background:#C5A028;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#D4AF37}
::selection{background:#D4AF37;color:#0F0F0F}
img{transition:opacity .5s ease}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus{-webkit-text-fill-color:#0F0F0F;-webkit-box-shadow:0 0 0 1000px white inset;transition:background-color 5000s ease-in-out 0s}
.hero-heading{font-family:'Cinzel','Playfair Display',serif;text-transform:uppercase;letter-spacing:.12em;font-weight:400!important;font-size:clamp(24px,7.5vw,47px)!important}
.hero-heading .drop-cap{font-size:1.25em!important}
@media(min-width:768px){.hero-heading{font-size:48px!important}}
.hero-drop-cap{color:#D4AF37}
.mobile-link{position:relative}
.mobile-link::after{content:'';position:absolute;bottom:-8px;left:50%;width:0;height:1px;background:#D4AF37;transition:width .3s ease;transform:translateX(-50%)}
.mobile-link:hover::after{width:100%}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}
@keyframes checkBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.success-check-animation{animation:checkBounce .5s cubic-bezier(.175,.885,.32,1.275) .2s both}
#about-carousel{position:relative}
.carousel-slide{position:absolute;inset:0}
.carousel-dot.active{background:#D4AF37!important;width:1.25rem}
.social-tooltip{position:relative}
.social-tooltip::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);background:#1A1A1A;color:#D4AF37;padding:5px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;white-space:nowrap;border:1px solid rgba(212,175,55,.2);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:10}
.social-tooltip::before{content:'';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(4px);border:5px solid transparent;border-top-color:#1A1A1A;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:10}
.social-tooltip:hover::after,.social-tooltip:hover::before{opacity:1;transform:translateX(-50%) translateY(0)}
.desktop-logo{display:none!important}
.mobile-logo{display:inline-block!important}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:200px;grid-auto-flow:dense;gap:6px}
.gallery-grid .gallery-hero{grid-column:span 2;grid-row:span 2}
.gallery-grid .gallery-wide{grid-column:span 2}
@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:8px}}
@media(min-width:1024px){.hero-heading{font-size:72px!important}.desktop-logo{display:inline-block!important}.mobile-logo{display:none!important}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:10px}}