@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--font-serif:"Playfair Display", serif;--font-sans:"Outfit", sans-serif;--clr-navy:#0b1a30;--clr-navy-light:#162a4a;--clr-gold:#c5a880;--clr-gold-light:#e6dfd5;--clr-gold-dark:#a18359;--clr-cream:#fbfaf8;--clr-cream-dark:#f3efe9;--clr-white:#fff;--clr-grey-light:#f0f0f0;--clr-grey:#7c8897;--clr-grey-dark:#4b5563;--clr-success:#10b981;--clr-danger:#ef4444;--shadow-sm:0 2px 8px #0b1a300a;--shadow-md:0 8px 24px #0b1a3014;--shadow-lg:0 16px 40px #0b1a301f;--shadow-glass:0 8px 32px 0 #0b1a300f;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--clr-cream);color:var(--clr-navy);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:80px;line-height:1.6;overflow-x:hidden}@media (width>=768px){body{padding-bottom:0}}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,textarea{outline:none;font-family:inherit}h1,h2,h3,h4,.font-serif{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--clr-cream)}::-webkit-scrollbar-thumb{background:var(--clr-gold-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--clr-gold)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-grow:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 20px}.section{margin-bottom:40px}.section-header{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.section-title{color:var(--clr-navy);font-size:1.8rem}.view-all-btn{font-family:var(--font-sans);color:var(--clr-navy);border-bottom:1.5px solid var(--clr-gold);transition:var(--transition-fast);padding-bottom:2px;font-size:.95rem;font-weight:500}.view-all-btn:hover{color:var(--clr-gold-dark);border-color:var(--clr-gold-dark)}.hero{flex-direction:column;gap:12px;margin:20px 0 32px;display:flex}.hero h1{color:var(--clr-navy);font-size:2.8rem;font-weight:700;line-height:1.15}@media (width<=768px){.hero h1{font-size:2.2rem}}.hero p{color:var(--clr-grey-dark);max-width:600px;font-size:1.1rem;font-weight:400}.category-pills{scrollbar-width:none;-ms-overflow-style:none;gap:12px;padding:4px 0 16px;display:flex;overflow-x:auto}.category-pills::-webkit-scrollbar{display:none}.pill-btn{background-color:var(--clr-white);color:var(--clr-grey-dark);border-radius:var(--radius-md);white-space:nowrap;box-shadow:var(--shadow-sm);border:1px solid var(--clr-cream-dark);transition:var(--transition-normal);padding:12px 24px;font-size:.95rem;font-weight:500}.pill-btn:hover{background-color:var(--clr-cream-dark);color:var(--clr-navy)}.pill-btn.active{background-color:var(--clr-navy);color:var(--clr-white);border-color:var(--clr-navy);box-shadow:var(--shadow-md)}.properties-grid{grid-template-columns:1fr;gap:32px;margin-bottom:24px;display:grid}@media (width>=640px){.properties-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.properties-grid{grid-template-columns:repeat(3,1fr)}}.property-card{background-color:var(--clr-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .4s cubic-bezier(.165,.84,.44,1),box-shadow .4s cubic-bezier(.165,.84,.44,1);display:flex;position:relative;overflow:hidden}.property-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.card-image-container{width:100%;padding-top:66.66%;position:relative;overflow:hidden}.card-image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow);position:absolute;top:0;left:0}.property-card:hover .card-image{transform:scale(1.08)}.card-badge-container{z-index:2;gap:8px;display:flex;position:absolute;top:16px;left:16px}.card-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;color:var(--clr-white);padding:6px 12px;font-size:.7rem;font-weight:700}.badge-couple{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0b1a30d9}.badge-canal{color:var(--clr-navy);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#c5a880e6}.badge-luxury{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0b1a30d9}.badge-bestseller{color:var(--clr-navy);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#c5a880e6}.favorite-btn{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full);width:40px;height:40px;box-shadow:var(--shadow-sm);color:var(--clr-navy);transition:var(--transition-normal);background-color:#ffffffd9;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.favorite-btn:hover{background-color:var(--clr-white);color:var(--clr-danger);transform:scale(1.1)}.favorite-btn.is-favorite{color:var(--clr-danger)}.card-content{flex-direction:column;flex-grow:1;padding:24px;display:flex}.card-meta{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-location{color:var(--clr-grey);align-items:center;gap:4px;font-size:.9rem;font-weight:500;display:flex}.rating-stars{color:var(--clr-gold);gap:2px;display:flex}.card-title{color:var(--clr-navy);margin-bottom:12px;font-size:1.5rem;font-weight:600}.card-amenities{color:var(--clr-grey-dark);flex-wrap:wrap;gap:4px 6px;margin-bottom:24px;font-size:.85rem;display:flex}.amenity-dot{color:var(--clr-gold);margin:0 2px}.card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.card-price-container{flex-direction:column;display:flex}.price-label{text-transform:uppercase;color:var(--clr-grey);letter-spacing:.05em;font-size:.7rem;font-weight:700}.price-sub{color:var(--clr-grey);margin-top:-2px;font-size:.8rem}.card-actions{align-items:center;gap:12px;display:flex}.view-property-btn{background-color:var(--clr-navy);color:var(--clr-white);border-radius:var(--radius-md);transition:var(--transition-normal);text-align:center;padding:12px 20px;font-size:.9rem;font-weight:500}.view-property-btn:hover{background-color:var(--clr-navy-light);transform:translateY(-2px);box-shadow:0 4px 12px #0b1a3026}.chat-shortcut-btn{border:1px solid var(--clr-cream-dark);background-color:var(--clr-white);border-radius:var(--radius-md);width:44px;height:44px;color:var(--clr-navy);box-shadow:var(--shadow-sm);transition:var(--transition-normal);justify-content:center;align-items:center;display:flex}.chat-shortcut-btn:hover{border-color:var(--clr-gold);color:var(--clr-gold-dark);background-color:var(--clr-cream);transform:translateY(-2px)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background-color:#0b1a3066;justify-content:flex-end;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer-content{background-color:var(--clr-white);width:100%;max-width:600px;height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.4s cubic-bezier(.165,.84,.44,1) slideInRight;display:flex;position:relative;overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-close-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:var(--radius-full);color:var(--clr-navy);z-index:10;transition:var(--transition-normal);background-color:#ffffffe6;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;left:20px}.drawer-close-btn:hover{background-color:var(--clr-white);color:var(--clr-gold-dark);transform:rotate(90deg)}.drawer-hero{width:100%;height:350px;position:relative;overflow:hidden}.drawer-hero-img{object-fit:cover;width:100%;height:100%}.drawer-body{flex-direction:column;gap:24px;padding:32px;display:flex}.drawer-title-section{flex-direction:column;gap:8px;display:flex}.drawer-title-row{justify-content:space-between;align-items:center;display:flex}.drawer-title{font-size:2.2rem;line-height:1.2}.drawer-location{color:var(--clr-grey);align-items:center;gap:6px;font-size:1rem;font-weight:500;display:flex}.divider{background-color:var(--clr-cream-dark);width:100%;height:1px}.drawer-desc h3,.drawer-features h3,.drawer-booking h3{text-transform:uppercase;letter-spacing:.05em;color:var(--clr-gold-dark);margin-bottom:12px;font-size:1.2rem}.drawer-desc p{color:var(--clr-grey-dark);font-size:1.05rem;line-height:1.7}.features-list{flex-direction:column;gap:10px;list-style:none;display:flex}.features-list li{color:var(--clr-navy);align-items:flex-start;gap:12px;font-size:1rem;display:flex}.feature-bullet{color:var(--clr-gold);flex-shrink:0;margin-top:4px}.booking-form{background-color:var(--clr-cream);border:1px solid var(--clr-cream-dark);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:24px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{text-transform:uppercase;color:var(--clr-grey-dark);letter-spacing:.05em;font-size:.8rem;font-weight:700}.form-group input,.form-group select{background-color:var(--clr-white);border:1px solid var(--clr-cream-dark);border-radius:var(--radius-sm);color:var(--clr-navy);transition:var(--transition-fast);padding:12px;font-size:.95rem}.form-group input:focus,.form-group select:focus{border-color:var(--clr-gold)}.submit-booking-btn{background-color:var(--clr-navy);color:var(--clr-white);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.05em;transition:var(--transition-normal);margin-top:8px;padding:16px;font-size:1rem;font-weight:600}.submit-booking-btn:hover{background-color:var(--clr-gold-dark);box-shadow:0 4px 16px #c5a8804d}.chat-drawer{composes:drawer-content;max-width:500px}.chat-header{background-color:var(--clr-navy);color:var(--clr-white);align-items:center;gap:16px;padding:24px;display:flex;position:relative}.chat-avatar{background-color:var(--clr-gold);border-radius:var(--radius-full);width:48px;height:48px;color:var(--clr-navy);justify-content:center;align-items:center;display:flex}.chat-header-info h3{font-size:1.15rem;font-weight:600;font-family:var(--font-sans)}.chat-header-info p{color:var(--clr-gold-light);font-size:.8rem}.chat-messages{background-color:var(--clr-cream);flex-direction:column;flex-grow:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.chat-msg{border-radius:var(--radius-md);flex-direction:column;max-width:80%;padding:12px 16px;font-size:.95rem;line-height:1.5;display:flex;position:relative}.chat-msg.bot{background-color:var(--clr-white);color:var(--clr-navy);box-shadow:var(--shadow-sm);border-top-left-radius:4px;align-self:flex-start}.chat-msg.user{background-color:var(--clr-navy);color:var(--clr-white);box-shadow:var(--shadow-sm);border-top-right-radius:4px;align-self:flex-end}.chat-time{color:var(--clr-grey);align-self:flex-end;margin-top:4px;font-size:.7rem}.chat-msg.user .chat-time{color:#fff9}.chat-input-area{border-top:1px solid var(--clr-cream-dark);background-color:var(--clr-white);align-items:center;gap:12px;padding:20px 24px;display:flex}.chat-input{border:1px solid var(--clr-cream-dark);background-color:var(--clr-cream);border-radius:var(--radius-full);color:var(--clr-navy);transition:var(--transition-fast);flex-grow:1;padding:14px 18px;font-size:.95rem}.chat-input:focus{border-color:var(--clr-gold);background-color:var(--clr-white)}.chat-send-btn{background-color:var(--clr-navy);width:48px;height:48px;color:var(--clr-white);border-radius:var(--radius-full);transition:var(--transition-normal);justify-content:center;align-items:center;display:flex}.chat-send-btn:hover{background-color:var(--clr-gold);transform:scale(1.05)}.chat-quick-replies{background-color:var(--clr-cream);scrollbar-width:none;gap:8px;padding:8px 24px;display:flex;overflow-x:auto}.quick-reply-btn{background-color:var(--clr-white);border:1px solid var(--clr-cream-dark);color:var(--clr-navy);border-radius:var(--radius-full);white-space:nowrap;box-shadow:var(--shadow-sm);transition:var(--transition-fast);padding:8px 16px;font-size:.85rem;font-weight:500}.quick-reply-btn:hover{border-color:var(--clr-gold);background-color:var(--clr-cream)}.bookings-section{flex-direction:column;gap:20px;display:flex}.bookings-grid{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=768px){.bookings-grid{grid-template-columns:repeat(2,1fr)}}.booking-card{background-color:var(--clr-white);border-radius:var(--radius-lg);border:1px solid var(--clr-cream-dark);box-shadow:var(--shadow-sm);transition:var(--transition-normal);flex-direction:column;gap:16px;padding:24px;display:flex;position:relative}.booking-card:hover{box-shadow:var(--shadow-md);border-color:var(--clr-gold-light)}.booking-card-header{justify-content:space-between;align-items:flex-start;display:flex}.booking-hotel-name{color:var(--clr-navy);margin-bottom:2px;font-size:1.4rem}.booking-status{border-radius:var(--radius-full);text-transform:uppercase;padding:4px 12px;font-size:.75rem;font-weight:600}.status-pending{color:var(--clr-gold-dark);background-color:#c5a88026}.status-confirmed{color:var(--clr-success);background-color:#10b9811a}.booking-details-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.booking-detail-item{flex-direction:column;display:flex}.booking-detail-lbl{text-transform:uppercase;color:var(--clr-grey);letter-spacing:.03em;font-size:.75rem;font-weight:700}.booking-detail-val{color:var(--clr-navy);font-size:.95rem;font-weight:500}.booking-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.cancel-booking-btn{color:var(--clr-danger);border-radius:var(--radius-sm);transition:var(--transition-fast);padding:8px 12px;font-size:.85rem;font-weight:600}.cancel-booking-btn:hover{background-color:#ef44440d}.empty-state{text-align:center;background-color:var(--clr-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:16px;padding:64px 32px;display:flex}.empty-state h3{color:var(--clr-navy);font-size:1.5rem}.empty-state p{color:var(--clr-grey);max-width:400px}.browse-now-btn{background-color:var(--clr-navy);color:var(--clr-white);border-radius:var(--radius-md);transition:var(--transition-normal);padding:12px 24px;font-weight:600}.browse-now-btn:hover{background-color:var(--clr-gold)}.header{background-color:var(--clr-white);border-bottom:1px solid var(--clr-cream-dark);z-index:50;box-shadow:var(--shadow-sm);padding:16px 20px;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex;position:relative}.logo{font-family:var(--font-serif);color:var(--clr-navy);letter-spacing:-.02em;font-size:1.8rem;font-weight:700}.logo-sub{color:var(--clr-gold)}.header-right{align-items:center;gap:16px;display:flex}.header-icon-btn{border-radius:var(--radius-full);width:44px;height:44px;color:var(--clr-navy);background-color:var(--clr-cream);transition:var(--transition-normal);justify-content:center;align-items:center;display:flex}.header-icon-btn:hover{color:var(--clr-gold-dark);background-color:var(--clr-cream-dark);transform:translateY(-1px)}.desktop-nav{gap:28px;display:none}@media (width>=768px){.desktop-nav{display:flex}}.nav-link{color:var(--clr-navy);transition:var(--transition-fast);padding:8px 4px;font-size:.95rem;font-weight:500;position:relative}.nav-link:hover{color:var(--clr-gold-dark)}.nav-link:after{content:"";background-color:var(--clr-gold);width:0;height:2px;transition:var(--transition-normal);position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:var(--clr-gold-dark)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;background-color:#0b1a3066;position:fixed;inset:0}.sidebar-menu{background-color:var(--clr-white);width:280px;height:100%;box-shadow:var(--shadow-lg);z-index:100;flex-direction:column;gap:40px;padding:40px 24px;animation:.3s slideInRight;display:flex;position:fixed;top:0;right:0}.sidebar-close{color:var(--clr-navy);align-self:flex-end}.sidebar-links{flex-direction:column;gap:24px;display:flex}.sidebar-link{font-family:var(--font-serif);color:var(--clr-navy);transition:var(--transition-fast);font-size:1.8rem}.sidebar-link:hover{color:var(--clr-gold);transform:translate(8px)}.bottom-navbar{background-color:var(--clr-white);border-top:1px solid var(--clr-cream-dark);z-index:40;justify-content:space-around;padding:10px 0 14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0b1a300a}@media (width>=768px){.bottom-navbar{display:none}}.bottom-nav-item{color:var(--clr-grey);transition:var(--transition-fast);flex-direction:column;align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:flex}.bottom-nav-item:hover,.bottom-nav-item.active{color:var(--clr-navy)}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item.active svg{stroke-width:2.5px}.header-search-bar{background-color:var(--clr-cream);border:1px solid var(--clr-cream-dark);border-radius:var(--radius-full);width:100%;max-width:220px;transition:var(--transition-normal);align-items:center;gap:8px;padding:6px 14px;display:flex}.header-search-bar:focus-within{border-color:var(--clr-gold);background-color:var(--clr-white);max-width:300px}.header-search-input{width:100%;color:var(--clr-navy);background:0 0;border:none;font-size:.85rem}.header-search-input::placeholder{color:var(--clr-grey)}.villa-page{background-color:var(--clr-white);min-height:100vh;padding-bottom:60px}.villa-page-topbar{z-index:50;background-color:var(--clr-white);border-bottom:1px solid var(--clr-cream-dark);box-shadow:var(--shadow-sm);align-items:center;gap:16px;padding:14px 20px;display:flex;position:sticky;top:0}.villa-back-btn{color:var(--clr-navy);border-radius:var(--radius-sm);transition:var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:600;display:flex}.villa-back-btn:hover{background-color:var(--clr-cream);color:var(--clr-gold-dark)}.villa-page-breadcrumb{color:var(--clr-grey);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.villa-gallery{width:100%;max-width:1200px;margin:0 auto;padding:20px 20px 0}.villa-gallery-main{border-radius:var(--radius-lg);cursor:pointer;width:100%;height:460px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}@media (width<=768px){.villa-gallery-main{border-radius:0;height:280px}}.villa-gallery-hero{object-fit:cover;width:100%;height:100%;transition:opacity .4s}.villa-gallery-caption{color:var(--clr-white);background:linear-gradient(#0000,#0b1a30bf);padding:16px 20px;font-size:.9rem;font-weight:500;position:absolute;bottom:0;left:0;right:0}.villa-gallery-nav{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:44px;height:44px;color:var(--clr-navy);box-shadow:var(--shadow-sm);transition:var(--transition-fast);z-index:2;background-color:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.villa-gallery-nav:hover{background-color:var(--clr-white);color:var(--clr-gold-dark)}.villa-gallery-prev{left:16px}.villa-gallery-next{right:16px}.villa-gallery-count{color:var(--clr-white);border-radius:var(--radius-full);background-color:#0b1a30b3;padding:4px 12px;font-size:.8rem;font-weight:600;position:absolute;top:16px;right:16px}.villa-gallery-thumbs{scrollbar-width:none;gap:10px;margin-top:12px;padding-bottom:4px;display:flex;overflow-x:auto}.villa-gallery-thumbs::-webkit-scrollbar{display:none}.villa-thumb{border-radius:var(--radius-sm);width:100px;height:70px;transition:var(--transition-fast);opacity:.6;border:2px solid #0000;flex-shrink:0;overflow:hidden}.villa-thumb.active{border-color:var(--clr-gold);opacity:1}.villa-thumb:hover{opacity:1}.villa-thumb img{object-fit:cover;width:100%;height:100%}.villa-lightbox{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0b1a30eb;justify-content:center;align-items:center;padding:40px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.villa-lightbox-img{border-radius:var(--radius-md);object-fit:contain;max-width:90%;max-height:80vh}.villa-lightbox-caption{color:var(--clr-white);text-align:center;font-size:.95rem;font-weight:500;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.villa-lightbox-close{color:var(--clr-white);width:48px;height:48px;transition:var(--transition-fast);background-color:#ffffff26;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.villa-lightbox-close:hover{background-color:#ffffff40}.villa-lightbox-nav{width:52px;height:52px;color:var(--clr-white);transition:var(--transition-fast);background-color:#ffffff26;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.villa-lightbox-nav:hover{background-color:#ffffff4d}.villa-lightbox-prev{left:24px}.villa-lightbox-next{right:24px}.villa-page-body{max-width:1000px;margin:0 auto;padding:32px 20px}.villa-title-block{margin-bottom:24px}.villa-tags-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.villa-tag{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;background-color:var(--clr-navy);color:var(--clr-white);padding:5px 12px;font-size:.7rem;font-weight:700}.villa-tag-special{background-color:var(--clr-gold);color:var(--clr-navy)}.villa-name{color:var(--clr-navy);margin-bottom:8px;font-size:2.4rem;line-height:1.15}@media (width<=768px){.villa-name{font-size:1.8rem}}.villa-location-row{color:var(--clr-grey);align-items:center;gap:6px;margin-bottom:8px;font-size:1rem;display:flex}.villa-stats-bar{background-color:var(--clr-cream);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:0;margin-bottom:16px;padding:20px 24px;display:flex}.villa-stat{color:var(--clr-navy);align-items:center;gap:10px;padding:4px 16px;display:flex}.villa-stat svg{color:var(--clr-gold)}.villa-stat-val{font-size:1rem;font-weight:700;display:block}.villa-stat-lbl{color:var(--clr-grey);font-size:.8rem;display:block}.villa-stat-divider{background-color:var(--clr-cream-dark);width:1px;height:32px}@media (width<=600px){.villa-stats-bar{justify-content:center;gap:8px}.villa-stat-divider{display:none}}.villa-inclusions{flex-wrap:wrap;gap:16px;padding:16px 0;display:flex}.villa-inclusion-item{color:var(--clr-navy);align-items:center;gap:6px;font-size:.9rem;font-weight:500;display:flex}.villa-inclusion-item svg{color:var(--clr-gold)}.villa-divider{background-color:var(--clr-cream-dark);height:1px;margin:32px 0}.villa-section{margin-bottom:8px}.villa-section-title{color:var(--clr-navy);margin-bottom:16px;font-size:1.4rem}.villa-desc-para{color:var(--clr-grey-dark);margin-bottom:14px;font-size:1.05rem;line-height:1.75}.villa-bedrooms-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.villa-bedroom-card{background-color:var(--clr-cream);border-radius:var(--radius-md);text-align:center;border:1px solid var(--clr-cream-dark);transition:var(--transition-normal);flex-direction:column;align-items:center;padding:20px;display:flex}.villa-bedroom-card:hover{box-shadow:var(--shadow-sm);border-color:var(--clr-gold-light)}.villa-bedroom-num{text-transform:uppercase;letter-spacing:.05em;color:var(--clr-grey);font-size:.75rem;font-weight:700}.villa-bedroom-type{color:var(--clr-navy);font-size:.95rem;font-weight:600}.villa-bedroom-floor{color:var(--clr-grey);margin-top:2px;font-size:.85rem}.villa-bedroom-ensuite{color:var(--clr-success);align-items:center;gap:4px;margin-top:8px;font-size:.8rem;font-weight:600;display:flex}.villa-amenities-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.villa-amenity-item{color:var(--clr-navy);align-items:center;gap:8px;padding:8px 0;font-size:.95rem;display:flex}.villa-experiences-list{flex-wrap:wrap;gap:10px;display:flex}.villa-experience-tag{border-radius:var(--radius-full);background-color:var(--clr-cream);border:1px solid var(--clr-cream-dark);color:var(--clr-navy);transition:var(--transition-fast);padding:8px 16px;font-size:.9rem;font-weight:500}.villa-experience-tag:hover{border-color:var(--clr-gold);color:var(--clr-gold-dark)}.villa-rules-list{flex-direction:column;gap:12px;list-style:none;display:flex}.villa-rule-item{color:var(--clr-grey-dark);align-items:flex-start;gap:10px;font-size:.95rem;line-height:1.6;display:flex}.villa-rating-summary{margin-bottom:20px}.villa-reviews-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.villa-reviews-grid{grid-template-columns:repeat(2,1fr)}}.villa-review-card{background-color:var(--clr-cream);border-radius:var(--radius-md);border:1px solid var(--clr-cream-dark);padding:20px}.villa-review-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.villa-review-avatar{background-color:var(--clr-navy);width:40px;height:40px;color:var(--clr-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.villa-review-name{color:var(--clr-navy);font-size:.95rem;font-weight:600}.villa-review-date{color:var(--clr-grey);font-size:.8rem}.villa-review-stars{gap:2px;margin-left:auto;display:flex}.villa-review-text{color:var(--clr-grey-dark);font-size:.9rem;line-height:1.6}.villa-contact-section{margin-top:16px}.villa-price-block{background-color:var(--clr-navy);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;margin-bottom:32px;padding:28px;display:flex}.villa-price-label{text-transform:uppercase;letter-spacing:.08em;color:var(--clr-gold-light);margin-bottom:4px;font-size:.75rem;font-weight:700}.villa-price-val{font-family:var(--font-serif);color:var(--clr-white);font-size:2.4rem;font-weight:700;line-height:1.2}.villa-price-sub{color:var(--clr-gold-light);margin-top:4px;font-size:.85rem}.villa-contact-block{text-align:center;background-color:var(--clr-cream);border-radius:var(--radius-lg);border:1px solid var(--clr-cream-dark);padding:32px}.villa-contact-desc{color:var(--clr-grey-dark);max-width:500px;margin-bottom:24px;margin-left:auto;margin-right:auto;font-size:1rem}.villa-contact-methods{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:24px;display:flex}.villa-contact-btn{border-radius:var(--radius-md);transition:var(--transition-normal);align-items:center;gap:8px;padding:14px 24px;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.villa-contact-primary{background-color:var(--clr-navy);color:var(--clr-white)}.villa-contact-primary:hover{background-color:var(--clr-navy-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.villa-contact-secondary{background-color:var(--clr-white);color:var(--clr-navy);border:1px solid var(--clr-cream-dark)}.villa-contact-secondary:hover{border-color:var(--clr-gold);color:var(--clr-gold-dark);transform:translateY(-2px)}.villa-contact-whatsapp{color:var(--clr-white);background-color:#25d366}.villa-contact-whatsapp:hover{box-shadow:var(--shadow-md);background-color:#1da851;transform:translateY(-2px)}.villa-contact-address{color:var(--clr-grey);text-align:left;align-items:flex-start;gap:8px;max-width:450px;margin:0 auto;font-size:.85rem;line-height:1.5;display:flex}.goa-hero{background-position:50%;background-size:cover;justify-content:flex-end;align-items:center;width:100%;height:580px;display:flex;position:relative;overflow:hidden}.goa-hero-overlay{background:linear-gradient(135deg,#0b1a3026 0%,#0b1a308c 100%);transition:opacity .4s;position:absolute;inset:0}.goa-hero-overlay.fading{opacity:0}.goa-hero-content{z-index:2;text-align:right;max-width:520px;padding:0 64px 0 48px;transition:opacity .4s,transform .4s;position:relative}.goa-hero-content.fading{opacity:0;transform:translateY(16px)}.goa-hero-tag{letter-spacing:.16em;text-transform:uppercase;color:var(--clr-gold-light);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#c5a8802e;border:1px solid #c5a88066;margin-bottom:20px;padding:6px 16px;font-size:.7rem;font-weight:600;display:inline-block}.goa-hero-headline{font-family:var(--font-serif);text-shadow:0 2px 20px #0000004d;margin-bottom:18px;line-height:1.05}.goa-hero-script{color:#7dc4a0;margin-bottom:4px;font-size:3.8rem;font-style:italic;font-weight:400;line-height:1;display:block}.goa-hero-bold{color:var(--clr-white);font-size:2.8rem;font-weight:700;line-height:1.1;display:block}.goa-hero-subline{color:#ffffffe0;text-shadow:0 1px 12px #00000040;margin-bottom:28px;font-size:1.05rem;font-style:italic;line-height:1.6}.goa-hero-cta{background:var(--clr-gold);color:var(--clr-navy);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:8px;padding:14px 32px;font-size:.95rem;font-weight:600;transition:transform .25s,box-shadow .25s,background-color .25s;display:inline-flex;box-shadow:0 4px 20px #c5a88066}.goa-hero-cta:hover{background:var(--clr-gold-light);transform:translateY(-2px);box-shadow:0 8px 28px #c5a88080}.goa-hero-arrow{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:44px;height:44px;color:var(--clr-white);cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;transition:background-color .25s,transform .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.goa-hero-arrow:hover{background:#ffffff4d;transform:translateY(-50%)scale(1.1)}.goa-hero-arrow-left{left:24px}.goa-hero-arrow-right{right:24px}.goa-hero-dots{z-index:3;gap:10px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.goa-hero-dot{cursor:pointer;background:#fff6;border-radius:50%;width:8px;height:8px;transition:width .3s,background-color .3s}.goa-hero-dot.active{background:var(--clr-gold);border-radius:4px;width:28px}@media (width<=768px){.goa-hero{height:460px}.goa-hero-content{text-align:center;max-width:100%;padding:0 24px}.goa-hero-script{font-size:2.6rem}.goa-hero-bold{font-size:2rem}.goa-hero-subline{font-size:.95rem}.goa-hero-arrow{width:36px;height:36px}.goa-hero-arrow-left{left:12px}.goa-hero-arrow-right{right:12px}}.hp-stats-bar{background:#f7ede0;flex-wrap:wrap;justify-content:center;gap:64px;padding:36px 24px;display:flex}.hp-stat-item{align-items:center;gap:14px;display:flex}.hp-stat-text{flex-direction:column;display:flex}.hp-stat-value{font-family:var(--font-serif);color:var(--clr-navy);font-size:1.6rem;font-weight:700;line-height:1.2}.hp-stat-label{color:var(--clr-grey-dark);font-size:.85rem}@media (width<=768px){.hp-stats-bar{gap:24px;padding:24px 16px}.hp-stat-value{font-size:1.3rem}.hp-stat-label{font-size:.75rem}}.hp-section-heading{justify-content:center;align-items:center;gap:16px;margin-bottom:8px;display:flex}.hp-section-heading h2{font-family:var(--font-serif);color:var(--clr-navy);white-space:nowrap;font-size:1.8rem;font-weight:600}.hp-heading-line{background:var(--clr-gold);width:60px;height:1px}.hp-heading-diamond{background:var(--clr-gold);flex-shrink:0;width:8px;height:8px;transform:rotate(45deg)}.hp-experience-section{background:var(--clr-cream);text-align:center;padding:64px 24px 56px}.hp-experience-subtitle{color:var(--clr-grey-dark);margin-bottom:40px;font-size:1rem}.hp-experience-grid{border:1px solid var(--clr-cream-dark);border-radius:var(--radius-lg);grid-template-columns:repeat(5,1fr);max-width:1100px;margin:0 auto;display:grid;overflow:hidden}.hp-experience-col{text-align:center;border-right:1px solid var(--clr-cream-dark);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;transition:background-color .25s;display:flex}.hp-experience-col:last-child{border-right:none}.hp-experience-col:hover{background:var(--clr-cream-dark)}.hp-experience-col h3{font-family:var(--font-sans);color:var(--clr-navy);font-size:.95rem;font-weight:600}.hp-experience-col p{color:var(--clr-grey);font-size:.8rem;line-height:1.5}@media (width<=900px){.hp-experience-grid{grid-template-columns:repeat(2,1fr)}.hp-experience-col{border-right:none;border-bottom:1px solid var(--clr-cream-dark)}.hp-experience-col:nth-child(2n){border-right:none}}@media (width<=500px){.hp-experience-grid{grid-template-columns:1fr}}.hp-explore-section{background:var(--clr-white);padding:56px 24px}.hp-explore-inner{max-width:1000px;margin:0 auto}.hp-explore-title{font-family:var(--font-serif);color:var(--clr-navy);margin-bottom:4px;font-size:1.8rem;font-weight:600}.hp-explore-subtitle{color:var(--clr-grey-dark);margin-bottom:32px;font-size:1rem}.hp-explore-separator{align-items:center;gap:16px;margin:32px 0 20px;display:flex}.hp-explore-separator:before,.hp-explore-separator:after{content:"";background:var(--clr-cream-dark);flex:1;height:1px}.hp-explore-separator span{letter-spacing:.1em;text-transform:uppercase;color:var(--clr-gold-dark);font-size:.8rem;font-weight:600}.hp-explore-rows{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.hp-explore-row{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;padding:12px;transition:background-color .25s,transform .25s;display:flex}.hp-explore-row:hover{background:var(--clr-cream);transform:translateY(-2px)}.hp-explore-row img{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:56px;height:56px}.hp-explore-row-name{color:var(--clr-navy);flex:1;font-size:1rem;font-weight:500}.hp-explore-row-arrow{color:var(--clr-gold);flex-shrink:0}.hp-luma-section{background:var(--clr-cream-dark);padding:64px 24px}.hp-luma-inner{grid-template-columns:1fr 1fr;align-items:center;gap:48px;max-width:1100px;margin:0 auto 48px;display:grid}.hp-luma-left{flex-direction:column;gap:16px;display:flex}.hp-collection-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--clr-gold-dark);font-size:.72rem;font-weight:600}.hp-luma-left h2{font-family:var(--font-serif);color:var(--clr-navy);font-size:2.2rem;font-weight:700;line-height:1.2}.hp-luma-left p{color:var(--clr-grey-dark);font-size:1rem;line-height:1.7}.hp-luma-cta{background:var(--clr-navy);color:var(--clr-white);border-radius:var(--radius-full);cursor:pointer;align-self:flex-start;margin-top:8px;padding:14px 32px;font-size:.95rem;font-weight:600;transition:background-color .25s,transform .25s}.hp-luma-cta:hover{background:var(--clr-gold-dark);transform:translateY(-2px)}.hp-luma-right{border-radius:var(--radius-lg);height:360px;box-shadow:var(--shadow-md);overflow:hidden}.hp-luma-right img{object-fit:cover;width:100%;height:100%}.hp-luma-offers{grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px;margin:0 auto;display:grid}.hp-luma-offer{background:var(--clr-white);border-radius:var(--radius-md);border:1px solid var(--clr-cream-dark);align-items:center;gap:12px;padding:20px;transition:transform .25s,box-shadow .25s;display:flex}.hp-luma-offer:hover{box-shadow:var(--shadow-sm);transform:translateY(-3px)}.hp-luma-offer span{color:var(--clr-navy);font-size:.9rem;font-weight:500}@media (width<=768px){.hp-luma-inner{grid-template-columns:1fr;gap:32px}.hp-luma-right{height:260px}.hp-luma-offers{grid-template-columns:repeat(2,1fr)}}.hp-collections-section{background:var(--clr-cream);padding:64px 24px}.hp-collections-inner{max-width:1100px;margin:0 auto}.hp-collections-inner .hp-section-heading{margin-bottom:32px}.hp-mosaic-grid{grid-template-rows:200px 200px;grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.hp-mosaic-tile{border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.hp-mosaic-tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hp-mosaic-tile img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.hp-mosaic-tile:hover img{transform:scale(1.08)}.hp-mosaic-overlay{background:linear-gradient(#0b1a301a 0%,#0b1a30b3 100%);align-items:flex-end;padding:20px;display:flex;position:absolute;inset:0}.hp-mosaic-overlay span{font-family:var(--font-serif);color:var(--clr-white);text-shadow:0 1px 8px #0000004d;font-size:1.1rem;font-weight:600}.hp-mosaic-tall{grid-row:span 2}.hp-mosaic-wide{grid-column:span 2}@media (width<=768px){.hp-mosaic-grid{grid-template-rows:180px 180px 180px 180px;grid-template-columns:1fr 1fr}.hp-mosaic-tall{grid-row:span 2}.hp-mosaic-wide{grid-area:auto/span 2}}@media (width<=500px){.hp-mosaic-grid{grid-template-rows:repeat(8,160px);grid-template-columns:1fr}.hp-mosaic-tall,.hp-mosaic-wide{grid-area:span 1/span 1}}.hp-villa-section{padding:48px 24px}.hp-villa-inner{max-width:1280px;margin:0 auto}.hp-villa-section:nth-child(2n){background:var(--clr-cream-dark)}.properties-grid .property-card{background:var(--clr-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.properties-grid .property-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.properties-grid .property-card .card-image-container{width:100%;height:220px;position:relative;overflow:hidden}.properties-grid .property-card .card-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.properties-grid .property-card:hover .card-image{transform:scale(1.05)}.card-badge-container{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.card-badge{letter-spacing:.06em;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 10px;font-size:.68rem;font-weight:600}.badge-luxury{color:var(--clr-gold-light);background:#0b1a30b3}.card-content{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.card-meta{align-items:center;gap:6px;display:flex}.card-location{color:var(--clr-grey-dark);align-items:center;gap:4px;font-size:.82rem;display:flex}.card-title{font-family:var(--font-serif);color:var(--clr-navy);font-size:1.25rem;font-weight:600;line-height:1.3}.card-amenities{color:var(--clr-grey);flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem;display:flex}.amenity-dot{color:var(--clr-gold);font-size:.7rem}.card-footer{justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:8px;display:flex}.card-price-container{flex-direction:column;gap:2px;display:flex}.price-label{color:var(--clr-grey);letter-spacing:.04em;font-size:.68rem}.price-val{font-family:var(--font-serif);color:var(--clr-navy);font-size:1.3rem;font-weight:700}.price-sub{color:var(--clr-grey);font-size:.72rem}.view-property-btn{background:var(--clr-navy);color:var(--clr-white);border-radius:var(--radius-full);cursor:pointer;padding:10px 18px;font-size:.82rem;font-weight:600;transition:background-color .25s,transform .25s}.view-property-btn:hover{background:var(--clr-gold-dark);transform:translateY(-1px)}
