*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;max-width:100vw;font-size:16px;overflow-x:hidden}body{color:#0f172a;-webkit-font-smoothing:antialiased;background:#fff;width:100%;max-width:100vw;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.8;overflow-x:hidden}img,video,iframe,embed,object{max-width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f8fafc}::-webkit-scrollbar-thumb{background:#e2e8f0}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 80px}@media (max-width:1200px){.container{padding:0 48px}}@media (max-width:1024px){.container{padding:0 32px}}@media (max-width:640px){.container{padding:0 16px}}.btn{cursor:pointer;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;border:none;border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:16px 36px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}@media (max-width:640px){.btn{min-height:48px;padding:14px 28px;font-size:12px}}.btn-dark{color:#fff;background:#0f172a}.btn-dark:hover{background:#1e293b;transform:translateY(-2px);box-shadow:0 12px 24px #0f172a33}.btn-dark:active{transform:translateY(0)}.btn-white{color:#0f172a;background:#fff}.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0000001a}.btn-outline{color:#0f172a;background:0 0;border:1.5px solid #e2e8f0}.btn-outline:hover{background:#f8fafc;border-color:#0f172a}.btn-accent{color:#fff;background:#b2a384}.btn-accent:hover{background:#9d8e73;transform:translateY(-2px);box-shadow:0 12px 24px #b2a38459}.btn-accent:active{transform:translateY(0)}.btn-outline-dark{color:#0f172a;background:0 0;border:1.5px solid #0f172a}.btn-outline-dark:hover{color:#fff;background:#0f172a;transform:translateY(-2px)}.section{padding:120px 0}@media (max-width:1024px){.section{padding:80px 0}}@media (max-width:768px){.section{padding:64px 0}}@media (max-width:480px){.section{padding:48px 0}}.label-tag{letter-spacing:.2em;text-transform:uppercase;color:#b2a384;align-items:center;gap:16px;margin-bottom:20px;font-size:11px;font-weight:700;display:inline-flex}.label-tag:after{content:"";background:currentColor;width:40px;height:1px;display:block}.heading-xl{color:#0f172a;font-family:Playfair Display,serif;font-size:clamp(40px,8vw,120px);font-weight:400;line-height:1.05}.heading-lg{color:#0f172a;font-family:Playfair Display,serif;font-size:clamp(32px,5vw,84px);font-weight:400;line-height:1.1}.heading-md{color:#0f172a;font-family:Playfair Display,serif;font-size:clamp(24px,3.5vw,56px);font-weight:400;line-height:1.2}.nav-links-desktop{align-items:center;gap:8px;display:flex}.mobile-toggle{display:none!important}@media (max-width:768px){.nav-links-desktop{display:none!important}.mobile-toggle{display:flex!important}}.hero-search-bar{display:block}.hero-cta{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}@media (max-width:1024px){.hero-search-bar{display:none!important}}@media (max-width:480px){.hero-cta{flex-direction:column;align-items:stretch;width:100%;max-width:320px}.hero-cta a{justify-content:center;width:100%}}.about-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:80px;display:grid}.about-float{display:none!important}@media (max-width:1024px){.about-grid{grid-template-columns:1fr;gap:48px}}.about-stats-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (max-width:480px){.about-stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.rooms-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.room-card-full{grid-column:span 2}@media (max-width:900px){.rooms-grid{grid-template-columns:1fr;gap:28px}.room-card-full{grid-column:span 1}}.room-card{background:#fff;flex-direction:row;height:100%;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000000a}.room-card--column{flex-direction:column}.room-card-image{flex-shrink:0;position:relative}.room-card-content{flex-direction:column;flex:1;justify-content:center;display:flex}@media (max-width:900px){.room-card,.room-card--column{flex-direction:column!important}.room-card-image{flex:none!important;width:100%!important;height:260px!important}.room-card-content{padding:28px!important}}@media (max-width:480px){.room-card-image{height:220px!important}.room-card-content{padding:20px!important}}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:12px;display:grid;overflow:hidden}.gallery-feature{grid-area:span 2/span 2}@media (max-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:220px}}@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;gap:8px}.gallery-feature{grid-row:span 1}}@media (max-width:480px){.gallery-grid{grid-auto-rows:150px}}.gallery-item{cursor:pointer;background:#f1f5f9;position:relative;overflow:hidden}.gallery-item img{transition:transform 1s cubic-bezier(.2,0,.2,1)}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{background:#0f172a00;transition:background .4s;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{background:#0f172a40}.amenities-outer{grid-template-columns:1fr 2.2fr;align-items:start;gap:80px;display:grid}.amenities-inner{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}@media (max-width:1024px){.amenities-outer{grid-template-columns:1fr;gap:48px}}@media (max-width:640px){.amenities-inner{grid-template-columns:repeat(2,1fr);gap:28px}}@media (max-width:380px){.amenities-inner{grid-template-columns:1fr;gap:24px}}.booking-widget-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:80px;display:grid}.booking-left-sticky{position:sticky;top:120px}.booking-stats-grid{grid-template-columns:1fr 1fr;gap:20px 40px;display:grid}.booking-card-inner{padding:48px}@media (max-width:1200px){.booking-widget-grid{gap:48px}}@media (max-width:1024px){.booking-widget-grid{grid-template-columns:1fr;gap:48px}.booking-left-sticky{position:static}}@media (max-width:640px){.booking-card-inner{padding:28px 20px}.booking-stats-grid{gap:16px}}.calendar-popup{z-index:200;background:#fff;border:1px solid #e2e8f0;animation:.3s cubic-bezier(.4,0,.2,1) calIn;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 24px 64px #0f172a2e}@media (max-width:640px){.calendar-popup{border-radius:20px 20px 0 0;max-height:90vh;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 40px #0f172a33}}.calendar-day{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .15s;display:flex}.calendar-day:hover:not(:disabled){background:#f1f5f9}.calendar-day.selected{font-weight:700;color:#fff!important;background:#0f172a!important}.calendar-day.in-range{color:#0f172a;background:#f1f5f9}.calendar-day.today{border:1.5px solid #b2a384}.calendar-day:disabled{color:#cbd5e1;cursor:default}.book-form-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:64px;display:grid}.book-summary-sticky{position:sticky;top:120px}.book-date-grid,.book-detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:1024px){.book-form-grid{grid-template-columns:1fr;gap:40px}.book-summary-sticky{position:static}}@media (max-width:480px){.book-date-grid,.book-detail-grid{grid-template-columns:1fr}}.location-grid{grid-template-columns:1fr 2fr;align-items:start;gap:48px;display:grid}.location-map{height:520px}@media (max-width:1024px){.location-grid{grid-template-columns:1fr;gap:40px}.location-map{height:340px}}@media (max-width:480px){.location-map{height:260px}}.reviews-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.review-card{padding:40px}@media (max-width:1024px){.reviews-grid{grid-template-columns:repeat(2,1fr);gap:24px}}@media (max-width:640px){.reviews-grid{grid-template-columns:1fr;gap:20px}.review-card{padding:28px 20px}}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;display:grid}@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}@media (max-width:640px){.footer-grid{grid-template-columns:1fr;gap:36px}}.form-input{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:4px;outline:none;width:100%;padding:14px 16px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .2s}.form-input:focus{background:#fff;border-color:#b2a384}.text-gold{color:#b2a384}.bg-slate{background:#f8fafc}.lightbox{z-index:10000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-container{background:#f7f7e7;min-height:100vh;display:flex}.admin-main{flex:1;width:100%;padding:32px;overflow-y:auto}.admin-sidebar{color:#fff;z-index:100;background:#0f172a;flex-direction:column;width:260px;min-height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.admin-nav-link{color:#94a3b8;border-radius:8px;align-items:center;gap:12px;margin-bottom:4px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.admin-nav-link:hover{color:#fff;background:#ffffff0d}.admin-nav-link.active{color:#fff;background:#ffffff1a}.admin-mobile-header{z-index:90;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 24px;display:none;position:sticky;top:0}.admin-mobile-toggle{color:#0f172a;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.admin-sidebar-backdrop{z-index:95;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0f172a80;transition:opacity .3s;display:none;position:fixed;inset:0}.admin-sidebar-backdrop.open{opacity:1;pointer-events:auto}.admin-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 2px 8px #2d4a5414}@media (max-width:768px){.admin-container{flex-direction:column}.admin-main{padding:20px}.admin-mobile-header{display:flex}.admin-sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-backdrop{display:block}}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(32px)}.reveal.in{opacity:1;transform:translateY(0)}@keyframes calIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.footer-link:hover{transform:translate(4px);color:#b2a384!important}.gallery-overlay:hover+.gallery-hint{opacity:1!important}
