*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#1a1a1a;min-width:320px}button{font-family:inherit;cursor:pointer}a{text-decoration:none}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 2rem;transition:background .35s ease,box-shadow .35s ease}.navbar:before{content:"";position:absolute;inset:0;height:120px;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,transparent 100%);pointer-events:none;z-index:-1;transition:opacity .35s ease}.navbar--solid{background:#1a1a2e;box-shadow:0 2px 16px #0006}.navbar--solid:before{opacity:0}.navbar-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.25rem 0}.navbar-left{display:flex;justify-content:flex-start}.navbar-links{display:flex;align-items:center;gap:2.5rem;justify-content:center}.navbar-right{display:flex;justify-content:flex-end}.nav-link{color:#fff;text-decoration:none;font-size:1.35rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:color .2s;white-space:nowrap}.nav-link:hover{color:#fcd34d}.nav-link-btn{background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.lang-btn{display:flex;align-items:center;gap:.5rem;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.6rem 1.4rem;font-size:1.1rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:background .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.lang-btn:hover{background:#ffffff38}.lang-flag{width:1.4rem;height:auto;border-radius:2px;display:block}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .3s;transform-origin:center}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;flex-direction:column;background:#000000eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-height:0;overflow:hidden;transition:max-height .3s ease}.mobile-menu--open{max-height:300px}.mobile-nav-link{color:#fff;text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);transition:color .2s,background .2s}.mobile-nav-link:hover{color:#fcd34d;background:#ffffff0d}.mobile-nav-btn{background:none;border:none;width:100%;text-align:left;font-family:inherit;cursor:pointer}@media(max-width:768px){.navbar-inner{grid-template-columns:auto 1fr}.navbar-links{display:none}.navbar-right{grid-column:2;justify-content:flex-end}.hamburger,.mobile-menu{display:flex}.lang-btn{padding:.35rem .75rem;font-size:.8rem}.lang-flag{width:1rem}}.contact{display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:#1a1a2e;color:#fff}.contact-info{padding:5rem 3rem 5rem 8%;display:flex;flex-direction:column;justify-content:center}.contact-heading{font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:#fff;margin:0 0 1.25rem}.contact-divider{width:50px;height:3px;background:#f59e0b;border-radius:2px;margin-bottom:2rem}.contact-list{list-style:none;display:flex;flex-direction:column;gap:1.75rem}.contact-item{display:flex;align-items:flex-start;gap:1rem}.contact-icon{font-size:1.3rem;margin-top:.1rem;flex-shrink:0}.contact-item>div{display:flex;flex-direction:column;gap:.2rem}.contact-label{font-size:.95rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#f59e0b}.contact-value{font-size:1.2rem;color:#ffffffd9;line-height:1.6}.contact-value--link{text-decoration:none;transition:color .2s}.contact-value--link:hover{color:#f59e0b}@media(hover:hover){a.contact-value--link[href^="tel:"]{pointer-events:none;cursor:default;color:#ffffffd9}}.contact-map{position:relative;overflow:hidden}.contact-map iframe{position:absolute;top:0;left:0;width:100%;height:calc(100% + 35px);border:none;display:block}@media(max-width:768px){.contact{grid-template-columns:1fr}.contact-info{padding:3.5rem 1.5rem}.contact-heading{font-size:clamp(1.6rem,6vw,2.2rem)}.contact-label{font-size:.85rem}.contact-value,.contact-icon{font-size:1rem}.contact-map{position:relative;height:300px}.contact-map iframe{position:absolute;height:calc(100% + 35px)}}.cmodal-overlay{position:fixed;inset:0;background:#000000b3;z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:cmodalFadeIn .22s ease;overflow:hidden;touch-action:pan-y}@keyframes cmodalFadeIn{0%{opacity:0}to{opacity:1}}.cmodal-card{position:relative;width:100%;max-width:1100px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:10px;padding:4.5rem 5.5rem;animation:cmodalSlideIn .28s ease}@keyframes cmodalSlideIn{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.cmodal-close{position:absolute;top:1.25rem;right:1.5rem;background:#0000000f;border:none;color:#333;font-size:1.2rem;width:2.4rem;height:2.4rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.cmodal-close:hover{background:#00000024}.cmodal-heading{font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:800;color:#1a1a2e;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .9rem}.cmodal-divider{width:52px;height:3px;background:#f59e0b;margin:0 0 2.2rem}.cmodal-form .form-row{margin-bottom:1.8rem}.cmodal-form .form-row--2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.cmodal-form .form-row--3{display:grid;grid-template-columns:1fr 1fr .6fr;gap:1.25rem}.cmodal-form .form-field{display:flex;flex-direction:column;gap:.45rem}.cmodal-form .form-field label{font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b}.cmodal-form .form-field input,.cmodal-form .form-field textarea{padding:.95rem 1.2rem;border:1.5px solid #e0e0e0;border-radius:6px;font-size:1.15rem;font-family:inherit;color:#1a1a2e;background:#fafafa;transition:border-color .2s,background .2s;outline:none;width:100%;box-sizing:border-box}.cmodal-form .form-field input:focus,.cmodal-form .form-field textarea:focus{border-color:#f59e0b;background:#fff}.cmodal-form .form-field input[type=date]{cursor:pointer}.cmodal-form .form-field textarea{resize:vertical;min-height:120px}.cmodal-submit{width:100%;padding:1.1rem;margin-top:.4rem;background:#1a1a2e;color:#fff;border:none;border-radius:6px;font-size:1.1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.cmodal-submit:hover:not(:disabled){background:#f59e0b;color:#1a1a2e}.cmodal-submit:disabled{opacity:.6;cursor:not-allowed}.form-required{color:#f59e0b}.form-error{font-size:.8rem;color:#dc2626;margin-top:-.2rem}.input--error{border-color:#dc2626!important}.cmodal-error{color:#dc2626;font-size:.9rem;margin:0 0 .8rem}.cmodal-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 1rem 1.5rem;gap:.75rem}.cmodal-success-icon{width:3.5rem;height:3.5rem;border-radius:50%;background:#f59e0b;color:#fff;font-size:1.8rem;display:flex;align-items:center;justify-content:center;font-weight:700}.cmodal-success h3{font-size:1.3rem;font-weight:800;color:#1a1a2e;margin:0}.cmodal-success p{color:#555;margin:0;font-size:1rem}@media(max-width:600px){.cmodal-overlay{padding:0;align-items:flex-end}.cmodal-overlay--success{align-items:center;padding:1.5rem}.cmodal-overlay--success .cmodal-card{border-radius:12px}.cmodal-card{padding:1.5rem 1.1rem 1.8rem;border-radius:12px 12px 0 0;max-height:92dvh;max-height:92vh;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cmodal-heading{font-size:1.15rem;margin-bottom:.5rem}.cmodal-divider{margin-bottom:1.2rem}.cmodal-form .form-row{margin-bottom:1rem}.cmodal-form .form-field label{font-size:.75rem}.cmodal-form .form-field input,.cmodal-form .form-field textarea{font-size:1rem;padding:.65rem .85rem}.cmodal-form .form-field textarea{min-height:80px}.cmodal-submit{font-size:.95rem;padding:.85rem}.cmodal-form .form-row--2,.cmodal-form .form-row--3{grid-template-columns:1fr}}.hero-loader{position:fixed;inset:0;background:#1a1a2e;z-index:200;display:flex;align-items:center;justify-content:center}.hero-loader:after{content:"";width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;background:#1a1a2e;opacity:0;transition:opacity .6s ease;touch-action:pan-y}.hero--ready{opacity:1}.hero-slides{position:absolute;inset:0;overflow:hidden}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#2d3748;opacity:0;transition:opacity .6s ease;z-index:0;will-change:transform;backface-visibility:hidden}.hero-slide--active{opacity:1;z-index:1}.hero-overlay{position:absolute;inset:0;background:#0000006b;z-index:1}.hero-title{position:absolute;left:2%;top:78%;transform:translateY(-50%);z-index:10}.hero-title-small{font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:700;color:#fff;letter-spacing:.3em;text-transform:uppercase;margin:0 0 .5rem;text-shadow:0 0 20px rgba(0,0,0,.9),0 2px 8px rgba(0,0,0,.8),0 0 40px rgba(0,0,0,.6)}.hero-title-main{font-size:clamp(3rem,8vw,6.5rem);font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em;text-shadow:0 0 20px rgba(0,0,0,.9),0 2px 24px rgba(0,0,0,.8),0 0 60px rgba(0,0,0,.5);margin:0}.hero-arrow{position:absolute;top:0;height:100%;width:8%;z-index:10;background:transparent;border:none;color:#fff;font-size:8rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease}.hero-arrow--left{left:0}.hero-arrow--right{right:0}.hero-arrow span{opacity:0;transition:opacity .25s ease;text-shadow:0 2px 8px rgba(0,0,0,.6)}.hero-arrow:hover{background:#00000047}.hero-arrow:hover span{opacity:1}@media(max-width:768px){.hero-arrow{display:none}}@media(max-width:768px){.hero-overlay{background:#00000047}.hero-title{left:5%;right:5%}.hero-title-small{font-size:clamp(.75rem,3vw,1rem);letter-spacing:.2em}.hero-title-main{font-size:clamp(2.4rem,11vw,4rem)}}.description{padding:5rem 1.5rem;background:#fafafa}.description-inner{max-width:760px;margin:0 auto;text-align:center}.description-heading{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:#1a1a2e;line-height:1.2;margin:0 0 1.5rem}.description-divider{width:60px;height:3px;background:#f59e0b;border-radius:2px;margin:0 auto 2rem}.description-body{font-size:1.35rem;line-height:1.85;color:#4b5563;margin:0 0 1.2rem}.description-body:last-child{margin-bottom:0}.price-banner{position:relative;margin-top:3rem;border-radius:12px;overflow:hidden;height:200px;background-image:url(/gallery/3.jpg);background-size:cover;background-position:center;display:flex;align-items:center}.price-banner-overlay{position:absolute;inset:0;background:#00000059}.price-banner-content{position:relative;z-index:1;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem}.price-banner-text{display:flex;align-items:baseline;gap:.5rem;color:#fff;flex-wrap:wrap}.price-banner-label{font-size:1.1rem;font-weight:500;opacity:.9}.price-banner-price{font-size:2.4rem;font-weight:800;color:#f59e0b;line-height:1}.price-banner-night{font-size:1rem;opacity:.8}.price-banner-btn{background:#f59e0b;color:#1a1a2e;border:none;border-radius:6px;padding:.75rem 1.75rem;font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .2s,transform .15s}.price-banner-btn:hover{background:#fff;transform:translateY(-1px)}@media(max-width:600px){.price-banner{height:auto;min-height:160px}.price-banner-content{flex-direction:column;gap:1.25rem;padding:1.75rem 1.5rem;text-align:center}.price-banner-text{justify-content:center}}.desc-animate{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}.desc-animate--visible{opacity:1;transform:translateY(0)}@media(max-width:768px){.description{padding:3.5rem 1.25rem}.description-heading{font-size:clamp(1.8rem,7vw,2.4rem)}.description-body{font-size:1rem;line-height:1.75}}.accom{background:#fafafa}.accom-loader{position:fixed;inset:0;background:#1a1a2e;z-index:200;display:flex;align-items:center;justify-content:center}.accom-loader:after{content:"";width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite}.accom-banner{position:relative;height:45vh;min-height:280px;background-image:url(/accommodation/banner.jpg);background-size:cover;background-position:center;background-color:#2d3748;display:flex;align-items:center;justify-content:center}.accom-banner-overlay{position:absolute;inset:0;background:#0000007a}.accom-banner-title{position:relative;z-index:1;font-size:clamp(2rem,4.5vw,3.8rem);font-weight:800;color:#fff;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 20px rgba(0,0,0,.5);margin:0}.accom-content{max-width:1400px;margin:0 auto;padding:6rem 2rem 5rem}.accom-title{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:#1a1a2e;line-height:1.2;margin:0 0 1.5rem;text-align:center}.accom-divider{width:60px;height:3px;background:#f59e0b;border-radius:2px;margin:0 auto 2rem}.accom-intro{font-size:1.35rem;line-height:1.85;color:#4b5563;margin:0 0 4rem;text-align:center}.accom-section-heading{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;color:#1a1a2e;margin:0 0 2rem;padding-bottom:.6rem;border-bottom:3px solid #f59e0b;display:inline-block}.accom-rooms{margin-bottom:4rem}.accom-room{display:grid;grid-template-columns:1fr 3fr;gap:2.5rem;align-items:start;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid #e5e7eb}.accom-room:last-child{border-bottom:none}.accom-room:nth-child(2n){grid-template-columns:3fr 1fr}.accom-room:nth-child(2n) .accom-room-text{order:2}.accom-room:nth-child(2n) .accom-room-photo{order:1}.accom-room-name{font-size:1.25rem;font-weight:700;color:#1a1a2e;margin:0 0 .6rem}.accom-room-desc{font-size:1.35rem;line-height:1.85;color:#4b5563;margin:0}.accom-room-photo{aspect-ratio:4 / 3;border-radius:10px;background-size:cover;background-position:center;background-color:#e5e7eb}.accom-amenities-section{margin-bottom:4rem}.accom-amenity-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem}.accom-amenity-item{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;color:#374151}.accom-check{color:#f59e0b;font-weight:700;font-size:1.1rem;flex-shrink:0}.accom-capacity{margin-top:1rem;padding:1rem 1.25rem;background:#1a1a2e;border-radius:8px;display:flex;align-items:center;gap:.75rem}.accom-capacity-label{font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f59e0b}.accom-capacity-value{font-size:1.3rem;font-weight:600;color:#fff}.accom-prices{padding-top:3rem;border-top:1px solid #e5e7eb}.accom-price-note{font-size:1.2rem;color:#6b7280;margin:.5rem 0 2rem}.accom-price-cards{display:flex;gap:2rem;flex-wrap:wrap}.accom-price-card{display:flex;align-items:center;gap:1.5rem;background:#f8f8f8;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb;flex:1;min-width:260px}.accom-price-card-img{width:140px;min-height:120px;flex-shrink:0;background-image:url(/accommodation/banner.jpg);background-size:cover;background-position:center;background-color:#2d3748;align-self:stretch}.accom-price-card-body{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem 1.25rem 1.25rem 0}.accom-price-name{font-size:1.1rem;font-weight:700;color:#1a1a2e}.accom-price-value{font-size:1.6rem;font-weight:800;color:#f59e0b}.accom-price-subnote{font-size:1rem;color:#6b7280}.accom-animate{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}.accom-animate--visible{opacity:1;transform:translateY(0)}@media(max-width:768px){.accom-content{padding:5rem 1.25rem 3rem}.accom-title{font-size:clamp(1.8rem,7vw,2.4rem)}.accom-intro{font-size:1rem;line-height:1.75;margin-bottom:2.5rem}.accom-room,.accom-room:nth-child(2n){grid-template-columns:1fr;gap:1.25rem}.accom-room:nth-child(2n) .accom-room-text{order:1}.accom-room:nth-child(2n) .accom-room-photo{order:2}.accom-room-desc{font-size:1rem;line-height:1.75}.accom-amenity-list{grid-template-columns:1fr}.accom-amenity-item{font-size:1rem}.accom-capacity-label{font-size:.85rem}.accom-capacity-value{font-size:1.1rem}.accom-price-note{font-size:1rem}.accom-price-name{font-size:1.1rem}.accom-price-value{font-size:1.6rem}.accom-price-subnote{font-size:.85rem}}.lightbox{position:fixed;inset:0;background:#000000eb;z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-track{position:absolute;inset:0;overflow:hidden}.lightbox-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.lightbox-img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:4px;box-shadow:0 8px 48px #0009}.lightbox-close{position:absolute;top:1.25rem;right:1.5rem;background:#ffffff1a;border:none;color:#fff;font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#ffffff40}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:3rem;line-height:1;width:3rem;height:5rem;border-radius:6px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.lightbox-arrow:hover{background:#ffffff40}.lightbox-arrow--left{left:1rem}.lightbox-arrow--right{right:1rem}@media(max-width:768px){.lightbox-arrow{display:none}}.lightbox-counter{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:.9rem;letter-spacing:.05em}.gallery-page{min-height:60vh;padding-top:72px}.gallery-loader{position:fixed;inset:0;background:#1a1a2e;z-index:200;display:flex;align-items:center;justify-content:center}.gallery-loader:after{content:"";width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:#f59e0b;border-radius:50%;animation:gallSpin .8s linear infinite}@keyframes gallSpin{to{transform:rotate(360deg)}}.gallery-content{padding:4rem 2rem;max-width:1400px;margin:0 auto;opacity:0;transition:opacity .6s ease}.gallery-content--ready{opacity:1}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-item{position:relative;overflow:hidden;border-radius:8px;cursor:pointer;aspect-ratio:3 / 2;opacity:0;transform:translateY(32px);transition:opacity .55s ease,transform .55s ease}.gallery-item--visible{opacity:1;transform:translateY(0)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.06)}.gallery-item-overlay{position:absolute;inset:0;background:#0000;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.gallery-item:hover .gallery-item-overlay{background:#00000059}.gallery-zoom-icon{color:#fff;font-size:2.5rem;opacity:0;transform:scale(.7);transition:opacity .3s ease,transform .3s ease}.gallery-item:hover .gallery-zoom-icon{opacity:1;transform:scale(1)}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.gallery-grid{grid-template-columns:1fr}.gallery-content{padding:2.5rem 1rem}}#root{min-height:100vh}.page-content{padding-top:72px}.page-fade{animation:pageFadeIn .4s ease}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}
