:root{--bg-primary:#faf7f0;--bg-secondary:#fff;--bg-tertiary:#f3efe3;--accent-gold:#c5a059;--accent-gold-hover:#a0803e;--text-primary:#2b2a27;--text-secondary:#58554f;--text-muted:#959085;--border-color:rgba(197,160,89,.25);--border-focus:rgba(197,160,89,.6);--error:#d32f2f;--success:#388e3c;--font-sans:"Outfit",sans-serif;--font-serif:"Playfair Display",serif;--shadow-lg:0 12px 35px rgba(43,42,39,.12);--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;letter-spacing:.02em}p{color:var(--text-secondary)}a{color:inherit;text-decoration:none;transition:var(--transition)}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 24px}.text-gold{color:var(--accent-gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;font-size:.9rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);font-family:var(--font-sans)}.btn-primary{background-color:var(--accent-gold);color:var(--bg-primary)}.btn-primary:hover{background-color:var(--accent-gold-hover);transform:translateY(-2px)}.btn-outline{background-color:transparent;border:1px solid var(--accent-gold);color:var(--accent-gold)}.btn-outline:hover{background-color:var(--accent-gold);color:var(--bg-primary);transform:translateY(-2px)}header{position:absolute;top:0;left:0;width:100%;z-index:10;padding:24px 0;border-bottom:1px solid var(--border-color)}.header-container{justify-content:space-between}.header-container,.logo{display:flex;align-items:center}.logo{gap:10px;font-family:var(--font-serif);font-size:1.4rem;font-weight:700;letter-spacing:.05em}.logo,.logo span{color:var(--text-primary)}.contact-info{display:flex;gap:24px;font-size:.9rem;color:var(--text-secondary)}.contact-link{transition:var(--transition)}.contact-link:hover{color:var(--accent-gold)!important}.hero{position:relative;height:90vh;min-height:600px;display:flex;align-items:center;background-color:var(--bg-primary)}.hero-bg{object-fit:cover;opacity:.35;z-index:1}.hero-bg,.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.hero-overlay{background:linear-gradient(180deg,hsla(0,0%,4%,.4) 0,hsla(0,0%,4%,.95));z-index:2}.hero-content{position:relative;z-index:3;max-width:650px}.hero h1{font-size:3.5rem;line-height:1.2;margin-bottom:20px}.hero p{font-size:1.1rem;margin-bottom:32px;color:var(--text-secondary)}.rooms-section{padding:100px 0;background-color:var(--bg-secondary)}.section-header{text-align:center;margin-bottom:60px}.section-header h2{font-size:2.5rem;margin-bottom:12px}.section-header p{font-size:1rem;color:var(--accent-gold);text-transform:uppercase;letter-spacing:.15em}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:40px;gap:40px}.room-card{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition)}.room-card:hover{transform:translateY(-8px);border-color:var(--border-focus)}.room-img-container{height:250px;overflow:hidden;position:relative}.room-img-container img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.room-card:hover .room-img-container img{transform:scale(1.08)}.room-price{position:absolute;bottom:16px;right:16px;background-color:var(--bg-primary);color:var(--accent-gold);padding:6px 16px;border-radius:var(--radius-sm);border:1px solid var(--accent-gold);font-size:.9rem;font-weight:600}.room-info{padding:24px}.room-info h3{font-size:1.5rem;margin-bottom:12px}.room-info p{font-size:.95rem;margin-bottom:20px}.room-specs{display:flex;gap:16px;margin-bottom:24px;font-size:.85rem;color:var(--text-secondary)}.room-specs span{gap:6px}.room-footer,.room-specs span{display:flex;align-items:center}.room-footer{justify-content:space-between}.about-section{padding:100px 0;border-top:1px solid hsla(0,0%,100%,.05)}.about-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:center}.about-text h2{font-size:2.2rem;margin-bottom:24px}.about-text p{margin-bottom:20px;font-size:1.05rem}.about-details{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.about-item h4{font-size:1.1rem;color:var(--accent-gold);margin-bottom:6px}.about-item p{font-size:.9rem}.about-map-placeholder{height:380px;border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.about-map-placeholder,footer{background-color:var(--bg-secondary)}footer{padding:60px 0 30px;border-top:1px solid hsla(0,0%,100%,.05);font-size:.9rem;color:var(--text-secondary)}.footer-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;margin-bottom:40px}.copyright{text-align:center;border-top:1px solid hsla(0,0%,100%,.05);padding-top:24px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background-color:var(--bg-secondary);border:1px solid var(--accent-gold);border-radius:var(--radius-lg);width:100%;max-width:520px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:var(--transition);z-index:5}.modal-close:hover{color:var(--accent-gold);transform:rotate(90deg)}.modal-header{padding:30px 40px 10px;text-align:center}.modal-header h3{font-size:1.8rem;margin-bottom:8px}.modal-progress{display:flex;justify-content:center;gap:8px;margin:16px 0}.progress-dot{width:8px;height:8px;border-radius:50%;background-color:var(--bg-tertiary);transition:var(--transition)}.progress-dot.active{transform:scale(1.3)}.progress-dot.active,.progress-dot.complete{background-color:var(--accent-gold)}.modal-body{padding:20px 40px 40px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-gold);margin-bottom:8px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{color:var(--text-muted)}.input-icon,.phone-prefix{position:absolute;left:14px}.phone-prefix{font-weight:600;font-size:.95rem;color:var(--text-secondary);border-right:1px solid hsla(0,0%,100%,.1);padding-right:8px}.form-control{width:100%;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:14px 16px;font-size:.95rem;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition)}.form-control:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 2px hsla(35,37%,64%,.15)}.form-control::placeholder{color:var(--text-muted)}.form-control.has-icon{padding-left:44px}.form-control.has-prefix{padding-left:56px}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.otp-container{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.otp-box{width:60px;height:60px;font-size:1.8rem;font-weight:700;text-align:center;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--accent-gold);transition:var(--transition)}.otp-box:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 2px hsla(35,37%,64%,.2)}.otp-resend{text-align:center;margin-top:16px;font-size:.9rem;color:var(--text-secondary)}.otp-resend button{background:transparent;border:none;color:var(--accent-gold);font-family:var(--font-sans);font-weight:600;cursor:pointer;margin-left:4px}.otp-resend button:disabled{color:var(--text-muted);cursor:not-allowed}.sandbox-notice{background-color:hsla(35,37%,64%,.08);border:1px dashed var(--accent-gold);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:20px;font-size:.85rem;color:var(--accent-gold);display:flex;flex-direction:column;gap:4px}.sandbox-notice strong{text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.otp-hint-code{font-size:1.1rem;font-weight:700;letter-spacing:.2em;margin-top:4px;color:var(--text-primary)}.form-error{color:var(--error);font-size:.85rem;margin-top:6px;display:flex;align-items:center;gap:6px}.spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.1);border-top-color:currentcolor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.success-screen{text-align:center;padding:20px 0}.success-icon{width:72px;height:72px;background-color:rgba(76,175,80,.1);border:1px solid var(--success);border-radius:50%;color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.success-screen h4{font-size:1.6rem;margin-bottom:12px}.success-screen p{font-size:.95rem;margin-bottom:24px}.booking-summary-card{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;text-align:left;margin-bottom:28px;font-size:.9rem}.booking-summary-card p{color:var(--text-primary);margin-bottom:8px;display:flex;justify-content:space-between}.booking-summary-card p:last-child{margin-bottom:0}.booking-summary-card span{color:var(--text-secondary)}@media (max-width:768px){header{position:relative!important;padding:16px 0!important;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color)}.header-container{flex-direction:column!important;align-items:center!important;gap:10px!important;text-align:center}.logo{font-size:1.15rem!important}.contact-info{flex-direction:row!important;justify-content:center;gap:16px!important;font-size:.8rem!important}.contact-info a[href^="mailto:"]{display:none!important}.hero{height:auto!important;padding:40px 0!important}.hero-grid{grid-template-columns:1fr!important;gap:30px!important;text-align:center}.hero-content{max-width:100%!important;display:flex;flex-direction:column;align-items:center}.hero h1{font-size:2.2rem!important;line-height:1.25!important;margin-bottom:16px!important}.hero-image-container{order:2;width:100%}.hero-image-container>div{height:380px!important;max-width:100%!important}.rooms-section{padding:60px 0!important}.rooms-grid{gap:24px!important}.about-content,.rooms-grid{grid-template-columns:1fr!important}.about-content{gap:32px!important}.about-map-placeholder{height:250px!important}.specialities-bar{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.specialities-bar>div:last-child{grid-column:span 2!important}.dining-grid{grid-template-columns:1fr!important;gap:24px!important}.dining-grid>div:first-child{height:260px!important}.menu-tabs{justify-content:center!important;flex-wrap:wrap!important;gap:8px!important}.menu-tab-btn{padding:8px 16px!important;font-size:.8rem!important}.row{grid-template-columns:1fr!important;gap:0!important}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px;margin-top:40px}.gallery-item{position:relative;height:240px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);transition:var(--transition);cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.gallery-item:hover img{transform:scale(1.08)}.gallery-item:hover{border-color:var(--accent-gold);box-shadow:var(--shadow-lg)}.gallery-caption{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(0deg,rgba(0,0,0,.85) 0,transparent);padding:20px 16px 12px;font-size:.9rem;color:var(--text-primary);transform:translateY(4px);transition:var(--transition)}.gallery-item:hover .gallery-caption{transform:translateY(0)}.gallery-caption h4{font-family:var(--font-sans);color:var(--accent-gold);font-weight:600;margin-bottom:2px}.gallery-caption p{font-size:.75rem;color:var(--text-secondary)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:30px;gap:30px;margin-top:40px}.review-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;transition:var(--transition);position:relative}.review-card:hover{border-color:var(--border-focus);transform:translateY(-5px)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.reviewer-name{font-weight:600;font-size:1.05rem}.review-stars{color:var(--accent-gold);display:flex;gap:2px}.review-text{font-style:italic;font-size:.95rem;color:var(--text-secondary)}.review-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;text-transform:uppercase;color:var(--accent-gold);margin-top:16px;font-weight:600;letter-spacing:.05em}.menu-tabs{display:flex;justify-content:center;gap:16px;margin-bottom:40px}.menu-tab-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:10px 24px;font-family:var(--font-sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.menu-tab-btn.active,.menu-tab-btn:hover{border-color:var(--accent-gold);color:var(--accent-gold);background-color:hsla(35,37%,64%,.05)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:30px;gap:30px}.menu-item{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:1px dashed hsla(0,0%,100%,.08)}.menu-item-details{max-width:75%}.menu-item-name{font-weight:500;font-size:1.05rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.diet-tag{width:8px;height:8px;border-radius:50%}.diet-tag.veg{background-color:#4caf50;box-shadow:0 0 0 2px rgba(76,175,80,.2)}.diet-tag.non-veg{background-color:#f44336;box-shadow:0 0 0 2px rgba(244,67,54,.2)}.diet-tag.egg{background-color:#ff9800;box-shadow:0 0 0 2px rgba(255,152,0,.2)}.menu-item-desc{font-size:.8rem;color:var(--text-muted);margin-top:4px}.menu-item-price{font-weight:600;color:var(--accent-gold);font-family:var(--font-sans)}