/* EverFlow Experience — home page
   Extracted from the former inline <style> blocks; rules copied verbatim, rendering unchanged. */
html{scroll-behavior:smooth}
@keyframes destDrift{from{transform:scale(1)}to{transform:scale(1.08)}}
body{margin:0;padding:0;font-family:"Public Sans",system-ui,sans-serif;color:#4a4a4a;background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:#8e7f56}
a:hover{color:#a89960}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.custom-div-icon{background:none;border:none}
.pin-wrapper{position:relative;width:40px;height:52px}
.label-container{font-family:"Oswald",sans-serif;font-weight:500;font-size:12px;letter-spacing:1.2px;color:#1a1a1a;white-space:nowrap;text-shadow:2px 0 #f2f2f2,-2px 0 #f2f2f2,0 2px #f2f2f2,0 -2px #f2f2f2,1px 1px #f2f2f2,-1px -1px #f2f2f2,1px -1px #f2f2f2,-1px 1px #f2f2f2}
.text-r{position:absolute;left:44px;top:12px}
.text-l{position:absolute;right:24px;top:12px;text-align:right}
.text-b{position:absolute;left:50%;top:52px;transform:translateX(-50%)}
.country-label{font-size:24px;color:#666;opacity:.4;font-family:"Oswald",sans-serif;letter-spacing:2px;pointer-events:none}
.leaflet-container{font-family:"Public Sans",system-ui,sans-serif}
input:focus,textarea:focus,select:focus{outline:none;border-color:#bbac79 !important;box-shadow:0 0 0 3px rgba(187,172,121,.2)}
/* hover states */
.hv-o1:hover{opacity:1}
.hv-o7:hover{opacity:.7}
.hv-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.hv-wbg:hover{background:rgba(255,255,255,.12)}
a.hv-white:hover{color:#fff}
.hv-book:hover{background:#fff;color:#141517;border:1px solid #fff}
.hv-scale:hover{transform:scale(1.07)}
/* destinations gallery */
.dest-layer{position:absolute;inset:0;transition:opacity .8s ease;transform-origin:50% 50%;animation:destDrift 26s ease-in-out infinite alternate;z-index:1;opacity:0;pointer-events:none}
.dest-layer.active{z-index:2;opacity:1;pointer-events:auto}
.dest-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;cursor:pointer;font-family:Poppins,sans-serif;font-weight:300;font-size:16.5px;letter-spacing:.02em;transition:color .3s ease;color:rgba(255,255,255,.58)}
.dest-item.active{color:#fff}
.dest-chev{font-size:22px;line-height:1;color:#c9bc8e;transition:opacity .3s,transform .3s;opacity:.3}
.dest-item.active .dest-chev{opacity:1;transform:translateX(3px)}
/* booking modal step dots */
.bk-dot{width:34px;height:34px;border-radius:50%;border:1.5px solid #ccc;background:#fff;color:#999;display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-size:14px}
.bk-dot.on{border-color:transparent;background:linear-gradient(135deg,#b3a273,#9a8c60);color:#fff}
/* --- mobile responsive fixes --- */
html,body{overflow-x:hidden;max-width:100%}
.ef-burger{display:none;background:none;border:0;cursor:pointer;padding:6px;margin:-6px;line-height:0}
.ef-burger span{display:block;width:26px;height:2px;background:#fff;margin:6px 0;border-radius:2px}
#efMobileMenu{display:none;position:fixed;inset:0 0 auto 0;background:rgba(15,20,23,.97);z-index:80;padding:86px 26px 30px;flex-direction:column}
#efMobileMenu.open{display:flex}
#efMobileMenu a{color:#fff;font-size:15px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:16px 2px;border-bottom:1px solid rgba(255,255,255,.09)}
#efMobileClose{position:absolute;top:22px;right:24px;background:none;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.tm-last{grid-column:1/-1;width:calc(50% - 24px);justify-self:center}
@media(max-width:860px){.tm-last{width:100%}.ef-desktop-nav{display:none!important}.ef-burger{display:block!important}[style*="grid-template-columns"]{grid-template-columns:1fr!important}[style*="grid-template-columns"]>*{min-width:0}[style*="width:min("]{width:92%!important}}
/* map tiles: muted, light look to match the dark section and the black pins */
.leaflet-tile-pane{filter:grayscale(1) brightness(1.06)}
/* where our guests stay: one card per hotel (.stay-media with the hotel's photos, .stay-panel until they arrive) */
.stay-card{background:#f7f6f2;border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch}
.stay-card+.stay-card{margin-top:22px}
.stay-media{display:flex;flex-direction:column;gap:2px;min-height:380px;background:#1a1a1a}
.stay-photo{position:relative;flex:1 1 auto;min-height:300px}
.stay-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.stay-photo-row{display:flex;gap:2px}
.stay-photo-row img{width:50%;height:150px;object-fit:cover;display:block;min-width:0}
.stay-credit{padding:9px 16px;font-size:11px;color:rgba(255,255,255,.8);letter-spacing:.04em}
.stay-panel{position:relative;min-height:380px;background:linear-gradient(160deg,#1c1d20,#3a3a3e);display:flex;flex-direction:column;justify-content:flex-end;padding:36px 40px 46px}
.stay-panel-kicker{font-family:Poppins,sans-serif;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#c9bc8e;margin-bottom:10px}
.stay-panel-name{font-family:"Playfair Display",Georgia,serif;font-size:40px;font-weight:600;color:#fff;line-height:1.05}
.stay-panel-line{margin-top:14px;font-size:13px;color:rgba(255,255,255,.6)}
.stay-panel-note{position:absolute;left:0;right:0;bottom:0;padding:12px 40px;font-size:11px;color:rgba(255,255,255,.6);letter-spacing:.04em}
.stay-body{padding:44px 46px 40px}
.stay-kicker{font-family:Poppins,sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9a8a5c;margin-bottom:10px}
.stay-name{font-family:"Playfair Display",Georgia,serif;font-size:27px;font-weight:600;color:#1a1a1a;line-height:1.2;margin:0 0 12px}
.stay-lead{margin:0 0 16px;font-size:15px}
.stay-facts{margin:0 0 18px;padding-left:18px;font-size:14.5px;line-height:1.6}
.stay-facts strong{color:#1a1a1a}
.stay-more{border-top:1px solid #e5e0d3;padding-top:16px;margin-bottom:18px}
.stay-more-title{font-family:Poppins,sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#9a8a5c;margin-bottom:8px}
.stay-more p{margin:0 0 8px;font-size:14px}
.stay-more p.stay-small{font-size:13px;color:#8a8a8a}
.stay-more p.stay-legal{margin:0;font-size:12.5px;color:#8a8a8a}
.stay-more a{font-weight:600}
.stay-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.stay-cta button{background:linear-gradient(135deg,#b3a273 0%,#9a8c60 100%);color:#fff;font-family:Montserrat,sans-serif;font-weight:600;font-size:13px;padding:12px 28px;border-radius:2px;border:none;cursor:pointer;letter-spacing:.08em;text-transform:uppercase}
.stay-cta span{font-size:12.5px;color:#8a8a8a}
.stay-next{margin:18px 0 0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.4)}
@media(max-width:860px){.stay-card{grid-template-columns:1fr}.stay-card>*{min-width:0}.stay-panel{min-height:230px;padding:30px 26px 44px}.stay-panel-name{font-size:32px}.stay-panel-note{padding:10px 26px}.stay-body{padding:34px 26px 32px}}
