@keyframes bounce-scale{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-right{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes wobble{0%,to{transform:none}15%{transform:translate(-25%)rotate(-5deg)}30%{transform:translate(20%)rotate(3deg)}45%{transform:translate(-15%)rotate(-3deg)}60%{transform:translate(10%)rotate(2deg)}75%{transform:translate(-5%)rotate(-1deg)}}@keyframes flip{0%{transform:perspective(400px)rotateY(0)}to{transform:perspective(400px)rotateY(360deg)}}@keyframes jello{0%,to{transform:none}30%{transform:skew(-12deg)skewY(-12deg)}40%{transform:skew(6deg)skewY(6deg)}50%{transform:skew(-3deg)skewY(-3deg)}65%{transform:skew(2deg)skewY(2deg)}75%{transform:skew(-1deg)skewY(-1deg)}}@keyframes rubber-band{0%{transform:scale(1)}30%{transform:scaleX(1.25)scaleY(.75)}40%{transform:scaleX(.75)scaleY(1.25)}50%{transform:scaleX(1.15)scaleY(.85)}65%{transform:scaleX(.95)scaleY(1.05)}75%{transform:scaleX(1.05)scaleY(.95)}to{transform:scale(1)}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}@keyframes sway{0%,to{transform:rotate(0)}50%{transform:rotate(10deg)}}@keyframes grow{0%{transform:scale(.5)}to{transform:scale(1)}}@keyframes shrink{0%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes floatIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow{0%,to{box-shadow:0 0 5px #667eea4d}50%{box-shadow:0 0 20px #667eea99}}@keyframes invite-open{0%{box-shadow:none;transform:scale(1)}45%{transform:scale(1.06);box-shadow:0 0 8px #fff9}70%{box-shadow:none;transform:scale(1)}74%{background-position:-200%}to{background-position:200%}}.anim-invite-open{background-image:linear-gradient(120deg,#0000 0%,#fff9 50%,#0000 100%);background-repeat:no-repeat;background-size:200% 100%;animation:1s ease-in-out forwards invite-open}.anim-bounce{animation:1s ease-in-out infinite bounce-scale}.anim-fade-in{animation:.5s forwards fade-in}.anim-fade-out{animation:.5s forwards fade-out}.anim-slide-left{animation:.4s ease-out both slide-left}.anim-slide-right{animation:.4s ease-out both slide-right}.anim-slide-up{animation:.4s ease-out both slide-up}.anim-slide-down{animation:.4s ease-out both slide-down}.anim-pulse{animation:1.2s ease-in-out infinite pulse}.anim-spin{animation:1.2s linear infinite spin}.anim-flash{animation:1s linear infinite flash}.anim-shake{animation:.6s linear infinite shake}.anim-wobble{animation:.9s ease-in-out infinite wobble}.anim-flip{animation:1s ease-in-out both flip}.anim-jello{animation:.8s both jello}.anim-rubber{animation:1s both rubber-band}.anim-heartbeat{animation:1.4s ease-in-out infinite heartbeat}.anim-sway{animation:1.5s ease-in-out infinite sway}.anim-grow{animation:.4s forwards grow}.anim-shrink{animation:.4s forwards shrink}.anim-fadeInUp{animation:.6s ease-out forwards fadeInUp}.anim-fadeInDown{animation:.6s ease-out forwards fadeInDown}.anim-fadeInLeft{animation:.6s ease-out forwards fadeInLeft}.anim-fadeInRight{animation:.6s ease-out forwards fadeInRight}.anim-scaleIn{animation:.5s ease-out forwards scaleIn}.anim-slideInFromBottom{animation:.8s ease-out forwards slideInFromBottom}.anim-floatIn{animation:.7s ease-out forwards floatIn}.anim-shimmer{animation:2s linear infinite shimmer}.anim-glow{animation:2s ease-in-out infinite glow}.anim-delay-1{animation-delay:.1s}.anim-delay-2{animation-delay:.2s}.anim-delay-3{animation-delay:.3s}.anim-delay-4{animation-delay:.4s}.anim-delay-5{animation-delay:.5s}.button-hover-style{cursor:pointer}.button-hover-style:hover{transition:all .1s;transform:scale(1.1)}.animation-text-alert-blink{animation:2s step-end infinite blink-alert}@keyframes blink-alert{0%,49.99%{color:#000}50%,to{color:#0000}}.nav-bar-component{z-index:1200;width:100%;min-height:64px;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff8ec;isolation:isolate;background:linear-gradient(#040d1994 0%,#040d1947 58%,#040d1900 100%);border-bottom:1px solid #0000;align-items:center;display:flex;position:relative;overflow:visible}.nav-bar-component.nav-bar-component--luxury{background:linear-gradient(#040d198f 0%,#040d193d 60%,#040d1900 100%)}.nav-bar-component .wrapper{grid-template-columns:auto minmax(0,1fr) auto auto;justify-content:space-between;align-items:center;gap:clamp(12px,2vw,28px);width:min(1240px,100% - 48px);min-height:64px;margin:0 auto;display:grid}.nav-bar-component .wrapper .logo{color:#fff8ec;justify-content:center;align-items:center;gap:12px;min-height:100%;padding:0;text-decoration:none;display:inline-flex}.nav-bar-component .wrapper .logo img{object-fit:contain;background:#fffdf8e6;border-radius:10px;min-width:38px;min-height:38px;padding:3px;box-shadow:0 10px 26px #0000002e;width:38px!important;height:38px!important}.nav-bar-component .wrapper .nav-bar-component__brand-text{color:#fff8ec;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-family:Cormorant Garamond,Noto Serif Thai,Georgia,serif;font-size:17px;font-weight:700;line-height:.9}.nav-bar-component .wrapper .action-list-mobile-hide-action{display:flex}@media only screen and (max-width:900px){.nav-bar-component .wrapper .action-list-mobile-hide-action{display:none}}.nav-bar-component .wrapper .action-list-mobile-not-hide-action{display:flex}.nav-bar-component .wrapper .action-list-mobile-show-action{display:none}@media only screen and (max-width:900px){.nav-bar-component .wrapper .action-list-mobile-show-action{display:flex}}.nav-bar-component .wrapper .action-list-mobile-not-show-action{display:none}.nav-bar-component .wrapper .action-list{scrollbar-width:none;-ms-overflow-style:none;align-items:center;margin:0;overflow:auto hidden}.nav-bar-component .wrapper .action-list::-webkit-scrollbar{display:none}.nav-bar-component .wrapper .action-list a{text-decoration:none}.nav-bar-component .wrapper .action-list .each-action{color:#fff8ecd1;cursor:pointer;letter-spacing:.045em;white-space:nowrap;text-transform:uppercase;background:0 0;border:0;justify-content:center;align-items:center;padding:10px 0;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:12.5px;font-weight:900;line-height:1;text-decoration:none;transition:all .1s;display:inline-flex;position:relative}.nav-bar-component .wrapper .action-list .each-action:after{content:"";background:linear-gradient(90deg,#e4b86400,#e4b864 18% 82%,#e4b86400);width:0;height:2px;transition:width .16s;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 10px #e4b86457}.nav-bar-component .wrapper .action-list .each-action:hover,.nav-bar-component .wrapper .action-list .each-action:focus-visible,.nav-bar-component .wrapper .action-list .each-action.is-active{color:#e4b864;text-shadow:none;outline:none;scale:none}.nav-bar-component .wrapper .action-list .each-action:hover:after,.nav-bar-component .wrapper .action-list .each-action:focus-visible:after,.nav-bar-component .wrapper .action-list .each-action.is-active:after{width:calc(100% + 8px)}.nav-bar-component .wrapper .action-end-group{justify-content:flex-end;justify-self:end;align-items:center;gap:10px;display:inline-flex;overflow:visible}.nav-bar-component .wrapper .action-end-group .language-selector{z-index:3300;justify-content:center;align-items:center;display:flex;position:relative}.nav-bar-component .wrapper .action-end-group .language-selector .language-selector__dropdown{left:auto;right:0;top:38px!important}.nav-bar-component .wrapper .action-end-group .language-selector .language-selector__trigger{appearance:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-bar-component .wrapper .action-end-group .language-selector .language-selector__current-code{letter-spacing:.08em;text-transform:uppercase;margin-left:7px;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:10px;font-weight:900;display:inline-flex}.nav-bar-component .wrapper .action-end-group .action-end{font:inherit;cursor:pointer;color:#e4b864;background:0 0;border:0;margin-right:0;padding:0;font-size:1.15rem;transition:all .1s}.nav-bar-component .wrapper .action-end-group .action-end>div{color:#e4b864;border:1px solid #e4b8646b;border-radius:999px;min-width:38px;box-shadow:0 10px 24px #00000029;background:#fff8ec14!important}.nav-bar-component .wrapper .action-end-group .action-end svg{display:block}.nav-bar-component .wrapper .action-end-group .action-end:hover{color:#f2c979;text-shadow:none;scale:1.04}.language-selector .action-end>div{box-sizing:border-box;gap:7px;min-width:58px;min-height:36px;padding:0 11px}.nav-bar-mobile-menu{display:none}.nav-bar-component__mobile-toggle{appearance:none;color:#e4b864;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#fff8ec14;border:1px solid #e4b8647a;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:11px;font-weight:900;transition:transform .16s,border-color .16s,background .16s;display:inline-flex;box-shadow:0 12px 28px #0000002e}.nav-bar-component__mobile-toggle:hover,.nav-bar-component__mobile-toggle:focus-visible{background:#e4b86429;border-color:#f4ca75c7;outline:none;transform:translateY(-1px)}.mobile-nav-drawer{z-index:10000100;pointer-events:auto;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-nav-drawer__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:radial-gradient(circle at 18% 12%,#e4b86429,#0000 34%),#030a14ad;border:0;position:absolute;inset:0}.mobile-nav-drawer__panel{color:#fff8ec;background:linear-gradient(145deg,#061426fa,#0b2139f5 58%,#231a0cf2),#061426;border-left:1px solid #e4b86457;flex-direction:column;gap:20px;width:min(390px,100vw - 22px);min-height:100%;padding:22px;animation:.19s both mobile-nav-panel-in;display:flex;position:relative;overflow-y:auto;box-shadow:-28px 0 72px #00000061}.mobile-nav-drawer__header{justify-content:space-between;align-items:center;gap:14px;display:flex}.mobile-nav-drawer__badge{color:#e4b864;letter-spacing:.1em;text-transform:uppercase;background:#fff8ec12;border:1px solid #e4b8644d;border-radius:999px;align-items:center;gap:9px;min-height:38px;padding:0 14px;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:11px;font-weight:900;display:inline-flex}.mobile-nav-drawer__close{appearance:none;color:#fff8ec;cursor:pointer;background:#fff8ec14;border:1px solid #fff8ec29;border-radius:999px;width:40px;height:40px;transition:all .1s}.mobile-nav-drawer__close:hover,.mobile-nav-drawer__close:focus-visible{color:#e4b864;border-color:#e4b8649e;outline:none}.mobile-nav-drawer__intro{background:linear-gradient(135deg,#fff8ec1f,#e4b86414);border:1px solid #e4b8642e;border-radius:24px;padding:18px}.mobile-nav-drawer__intro p{color:#fff8ec;margin:0 0 8px;font-family:Cormorant Garamond,Noto Serif Thai,Georgia,serif;font-size:clamp(28px,9vw,38px);font-weight:700;line-height:.95}.mobile-nav-drawer__intro span{color:#fff8ecb8;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:13px;line-height:1.55;display:block}.mobile-nav-drawer__links{gap:10px;display:grid}.mobile-nav-drawer__link{color:#fff8ece0;background:#fff8ec0e;border:1px solid #fff8ec1f;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:0 16px;text-decoration:none;transition:transform .16s,border-color .16s,background .16s;display:grid;position:relative;overflow:hidden}.mobile-nav-drawer__link:before{content:"";opacity:0;background:linear-gradient(#e4b86400,#e4b864,#e4b86400);width:3px;transition:opacity .16s;position:absolute;inset:0 auto 0 0}.mobile-nav-drawer__link:hover,.mobile-nav-drawer__link:focus-visible,.mobile-nav-drawer__link.is-active{color:#e4b864;background:#e4b86421;border-color:#e4b8646b;outline:none;transform:translate(-3px)}.mobile-nav-drawer__link:hover:before,.mobile-nav-drawer__link:focus-visible:before,.mobile-nav-drawer__link.is-active:before{opacity:1}.mobile-nav-drawer__index{color:#e4b864bd;letter-spacing:.12em;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:11px;font-weight:900}.mobile-nav-drawer__label{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase;min-width:0;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:14px;font-weight:900;overflow:hidden}.mobile-nav-drawer__cta{color:#2a1b05;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#f4ca75,#c99a4a);border-radius:18px;justify-content:center;align-items:center;gap:12px;min-height:54px;margin-top:auto;font-family:DM Sans,Sarabun,system-ui,sans-serif;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 18px 40px #0000003d}@keyframes mobile-nav-panel-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (max-width:1120px){.nav-bar-component .wrapper{gap:12px;width:min(100% - 28px,1060px)}.nav-bar-component .wrapper .action-list .each-action{letter-spacing:.035em;font-size:11.5px}}@media (max-width:860px){.nav-bar-component{min-height:60px}.nav-bar-component .wrapper{grid-template-columns:auto minmax(0,1fr) auto;min-height:60px}.nav-bar-component .wrapper .nav-bar-component__brand-text{font-size:15px}.nav-bar-component .wrapper .logo img{min-width:34px;min-height:34px;width:34px!important;height:34px!important}.nav-bar-component .wrapper .action-list-mobile-not-hide-action,.nav-bar-component .wrapper .action-list-mobile-hide-action,.nav-bar-component .wrapper .action-list-mobile-show-action{display:none!important}.nav-bar-component .wrapper .action-end-group{gap:8px}.nav-bar-component .nav-bar-mobile-menu{display:block}.nav-bar-component .wrapper .action-list-mobile-show-action .each-action{color:#e4b864;border:1px solid #e4b86470;border-radius:999px;min-height:34px;padding:0 14px;font-size:11px}.nav-bar-component .wrapper .action-list-mobile-show-action .each-action:after{display:none}}@media (max-width:520px){.nav-bar-component .wrapper{gap:8px;width:calc(100% - 22px)}.nav-bar-component .wrapper .nav-bar-component__brand-text{display:none}.nav-bar-component .nav-bar-component__mobile-toggle{min-width:38px;padding:0 11px}.nav-bar-component .nav-bar-component__mobile-toggle span{display:none}.nav-bar-component .wrapper .action-end-group{gap:7px}}@media (max-width:380px){.nav-bar-component .language-selector__current-code{display:none}}.color-alert{color:#d4111e}.color-success{color:#10b981}.color-warning{color:#f59e0b}.color-info{color:#3b82f6}.color-primary{color:#667eea}.color-app-background{background-color:#f8fafc}.bg-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3}.shadow-glass{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.gradient-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.gradient-success{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.gradient-warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.main-page{background-color:#f8fafc;width:100vw;height:100vh;overflow:hidden}.main-page .body{height:100%;position:relative;overflow:hidden}.main-page .body .gallery{height:70%;position:relative}.main-page .body .gallery .overall-map{width:100%;height:100%;transition:opacity 1s;position:absolute;top:0;left:0}.main-page .body .show{opacity:1}.main-page .body .hide{opacity:0}
