:root{--hotel-color:#4b49ac;--hotel-ink:#18202a;--hotel-soft:#f4f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Manrope,sans-serif;color:var(--hotel-ink);background:#fff}.hotel-nav{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 7px 30px rgba(12,20,35,.08)}.navbar-brand{display:flex;align-items:center;gap:10px;color:var(--hotel-ink)!important}.brand-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--hotel-color);color:#fff}.hotel-nav .nav-link{font-weight:600;color:#3d4652}.btn-hotel{background:var(--hotel-color);border-color:var(--hotel-color);color:#fff}.btn-hotel:hover,.btn-hotel:focus{background:var(--hotel-color);border-color:var(--hotel-color);color:#fff;filter:brightness(.9)}.hotel-hero{height:min(820px,95vh);min-height:640px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(125deg,#252450,#4b49ac);background-position:center;background-size:cover;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,30,.88),rgba(12,18,30,.26) 70%,rgba(12,18,30,.18))}.hero-content{position:relative;z-index:1;padding-top:70px;max-width:1160px}.hero-content h1{font-family:"Playfair Display",serif;font-size:clamp(3rem,7vw,6rem);max-width:850px;line-height:1;margin:15px 0 22px}.hero-content p{font-size:clamp(1.1rem,2vw,1.45rem);max-width:650px;margin-bottom:32px;color:#ffffffd9}.hero-kicker,.section-kicker{font-size:.78rem;letter-spacing:.2em;font-weight:800}.hero-scroll{position:absolute;z-index:1;bottom:28px;left:50%;font-size:1.5rem;animation:bounce 1.7s infinite}.section{padding:100px 0}.section h2{font-family:"Playfair Display",serif;font-size:clamp(2.2rem,4vw,3.5rem);margin-top:8px}.section-kicker{color:var(--hotel-color)}.about-photo{height:520px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#e9eafc,#d8dbea);box-shadow:0 30px 70px rgba(33,44,70,.16)}.about-photo img{width:100%;height:100%;object-fit:cover}.photo-placeholder{height:100%;display:grid;place-items:center;color:#a1a8b8;font-size:5rem}.info-chip{display:flex;align-items:center;gap:14px;padding:18px;background:var(--hotel-soft);border-radius:16px}.info-chip i{font-size:1.6rem;color:var(--hotel-color)}.info-chip small,.info-chip b{display:block}.rooms-section{background:var(--hotel-soft)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-heading>p{max-width:510px;color:#6d7580;margin:0}.room-card{background:#fff;border-radius:24px;overflow:hidden;height:100%;box-shadow:0 15px 50px rgba(28,38,60,.08);transition:.25s}.room-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(28,38,60,.14)}.room-photo{height:280px;position:relative;background:#dfe2e9}.room-photo img,.room-placeholder{width:100%;height:100%;object-fit:cover}.room-placeholder{display:grid;place-items:center;font-size:4rem;color:#adb3be}.room-price{position:absolute;right:18px;bottom:18px;background:#fff;padding:10px 14px;border-radius:14px;box-shadow:0 8px 20px #0002}.room-price b,.room-price small{display:block}.room-price b{color:var(--hotel-color);font-size:1.05rem}.room-body{padding:25px}.room-body h3{font-family:"Playfair Display",serif;font-size:1.6rem}.room-body p{color:#737b86;min-height:48px}.capacity{white-space:nowrap;color:#676f7a}.amenities{display:flex;flex-wrap:wrap;gap:8px}.amenities span{font-size:.78rem;background:var(--hotel-soft);padding:7px 9px;border-radius:9px}.amenities i{color:var(--hotel-color);margin-right:4px}.booking-section{background:#181e29}.booking-shell{display:grid;grid-template-columns:1fr 1.2fr;border-radius:30px;overflow:hidden;background:var(--hotel-color);box-shadow:0 35px 90px #0004}.booking-copy{padding:58px;color:#fff;display:flex;flex-direction:column;justify-content:center}.booking-copy h2{margin-bottom:20px}.booking-copy p{color:#ffffffcf;font-size:1.04rem}.contact-lines{display:grid;gap:15px;margin-top:25px}.contact-lines a,.contact-lines>span{color:#fff;text-decoration:none;display:flex;gap:10px;align-items:flex-start}.booking-form{background:#fff;padding:48px}.booking-form label{font-size:.82rem;font-weight:700;margin-bottom:6px}.booking-form .form-control,.booking-form .form-select{padding:.78rem;border-radius:11px}.reviews-section{background:#fff}.review-card{height:100%;padding:28px;border:1px solid #e8eaf0;border-radius:20px}.review-stars{color:#f3a712;font-size:1.2rem;letter-spacing:2px}.review-card p{font-size:1.02rem;color:#59616c;margin:18px 0;min-height:72px}.review-card small,.review-card b{display:block}.review-card small{color:#9097a1;margin-top:4px}.hotel-footer{background:#111722;color:#fff;padding:45px 0}.hotel-footer p,.hotel-footer span{color:#ffffff9c}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:1.8rem;z-index:1040;box-shadow:0 12px 30px #0003;text-decoration:none}.public-gallery-image{height:min(70vh,680px);object-fit:contain;background:#111}.carousel-caption span{background:#000a;border-radius:8px;padding:7px 12px}.empty-public{text-align:center;padding:55px;border:2px dashed #dfe2e8;border-radius:20px;color:#858c97}.hotel-spinner{color:var(--hotel-color)}@keyframes bounce{50%{transform:translateY(8px)}}@media(max-width:991px){.section{padding:72px 0}.hotel-hero{min-height:600px}.about-photo{height:410px}.booking-shell{grid-template-columns:1fr}.booking-copy,.booking-form{padding:38px}.section-heading{display:block}.section-heading>p{margin-top:14px}}@media(max-width:575px){.hotel-hero{min-height:560px}.hero-content h1{font-size:3.1rem}.section{padding:58px 0}.booking-copy,.booking-form{padding:28px 20px}.room-photo{height:235px}}
