@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap");:root{--cream-50:#fff;--cream-100:#f4f7fc;--cream-200:#e1ebf7;--cream-300:#c5d6ec;--gold-400:#5a9bd5;--gold-500:#1e4d8b;--gold-600:#143a6b;--dark-900:#0a1e3f;--dark-800:#112a52;--dark-700:#1d3a6b;--text-primary:#0a1e3f;--text-secondary:#3d5a85;--text-muted:#7a8db0;--nav-h:72px;--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"Jost",system-ui,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;text-size-adjust:100%}body,html{overflow-x:hidden}body{font-family:var(--font-body);background:var(--cream-50);color:var(--text-primary);font-weight:300;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.15}h1{font-size:clamp(1.75rem,6vw,5rem)}h2{font-size:clamp(1.5rem,4vw,3.5rem)}h3{font-size:clamp(1.2rem,2.5vw,2rem)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 2rem}.gold-line{display:block;width:48px;height:1px;background:var(--gold-500);margin-bottom:1.5rem}.star-gold{color:var(--gold-400)}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2.2rem;background:var(--gold-500);color:#fff;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;transition:background .25s,transform .2s}.btn-primary:hover{background:var(--gold-600);transform:translateY(-1px)}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 2rem;border:1px solid var(--gold-500);color:var(--gold-500);font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;background:transparent;cursor:pointer;transition:all .25s}.btn-outline:hover{background:var(--gold-500);color:#fff}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;transition:background .35s,box-shadow .35s}.navbar.scrolled{background:var(--dark-900);box-shadow:0 1px 12px rgba(0,0,0,.3)}.navbar.navbar-solid{background:var(--dark-900);box-shadow:0 1px 0 hsla(0,0%,100%,.06)}.navbar.navbar-solid.scrolled{background:var(--dark-900);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 12px rgba(0,0,0,.3)}.navbar.navbar-solid .navbar-logo,.navbar.scrolled .navbar-logo{color:var(--cream-50)}.navbar.navbar-solid .navbar-links a,.navbar.scrolled .navbar-links a{color:var(--cream-100)}.navbar.navbar-solid .navbar-links a:hover,.navbar.scrolled .navbar-links a:hover{color:var(--gold-400)}.navbar:not(.navbar-solid):not(.scrolled) .navbar-logo{color:var(--cream-50)}.navbar:not(.navbar-solid):not(.scrolled) .navbar-links a{color:var(--cream-100)}.navbar:not(.navbar-solid):not(.scrolled) .navbar-links a:hover{color:var(--gold-400)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.navbar-logo{display:inline-flex;align-items:center;color:var(--dark-900)}.navbar-logo-img{height:36px;width:auto;display:block}.navbar-links{display:flex;align-items:center;gap:2.5rem;list-style:none}.navbar-links a{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);transition:color .2s}.navbar-links a:hover{color:var(--gold-500)}.hero{position:relative;padding:8rem 0 6rem;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--dark-900) 0,var(--dark-800) 40%,#1d3a6b 100%)}.hero-bg img{object-position:center}.hero-bg-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,20,.9),rgba(10,18,32,.55));z-index:1}.hero-content{position:relative;z-index:2;text-align:center}.hero-eyebrow{font-size:.7rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-400);margin-bottom:1.5rem}.hero h1{color:var(--cream-50);font-size:clamp(1.8rem,4.5vw,3.75rem);margin:0 auto 1.5rem;max-width:820px}.hero h1 em{font-style:italic;color:var(--gold-400)}.hero-subtitle{color:var(--cream-200);font-size:1rem;font-weight:300;max-width:560px;line-height:1.6;margin:0 auto 3rem}.hero-cta{gap:1rem;margin-bottom:1.5rem}.hero-chips,.hero-cta{display:flex;flex-wrap:wrap;justify-content:center}.hero-chips{gap:.5rem;margin-top:1.5rem}.hero-chip{display:inline-block;padding:.45rem 1rem;font-size:.78rem;letter-spacing:.06em;color:var(--cream-100);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.18);border-radius:999px;transition:background .2s,border-color .2s,color .2s}.hero-chip:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--dark-900)}.hero-credit{margin-top:2rem;font-size:.75rem;letter-spacing:.04em;color:var(--cream-200)}.hero-credit a{color:inherit;display:inline-flex;align-items:baseline;gap:.4rem;padding:.35rem .85rem;background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.12);border-radius:999px;transition:background .2s,border-color .2s}.hero-credit a:hover{background:rgba(0,0,0,.45);border-color:hsla(0,0%,100%,.25)}.hero-credit-label{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400)}.hero-credit-name{font-weight:500;color:var(--cream-50)}.hero-credit-city{color:var(--cream-300)}.search-bar{background:var(--cream-50);padding:1.5rem 1.75rem;display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap;box-shadow:0 20px 60px rgba(0,0,0,.15);margin:0 auto;max-width:920px;text-align:left}.search-bar .btn-primary{align-self:stretch}.search-field{display:flex;flex-direction:column;gap:.4rem;flex:1 1;min-width:160px}.search-field label{font-size:.68rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.search-field input,.search-field select{border:none;border-bottom:1px solid var(--cream-300);background:transparent;padding:.5rem 0;font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);outline:none;transition:border-color .2s}.search-field input:focus,.search-field select:focus{border-color:var(--gold-500)}.autocomplete{position:relative}.autocomplete-list{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid var(--cream-200);box-shadow:0 16px 40px rgba(0,0,0,.12);max-height:320px;overflow-y:auto;z-index:30;list-style:none;margin:0;padding:.35rem 0}.autocomplete-group{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);padding:.6rem 1rem .3rem}.autocomplete-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.autocomplete-item:hover,.autocomplete-item[aria-selected=true]{background:var(--cream-100)}.autocomplete-item .sub{color:var(--text-muted);font-size:.8rem}.autocomplete-icon{width:18px;text-align:center;color:var(--gold-500);font-size:.95rem}.autocomplete-empty{padding:.75rem 1rem;font-size:.85rem;color:var(--text-muted)}.hotel-booking-search{background:#fff;border-left:3px solid var(--gold-400);padding:1rem 1.25rem;display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap;margin-bottom:2rem;box-shadow:0 6px 24px rgba(0,0,0,.06)}.hotel-booking-submit{white-space:nowrap;padding:.9rem 2rem;align-self:stretch}.hotel-booking-submit:disabled{opacity:.5;cursor:not-allowed}.date-range-wrap{position:relative;flex:1 1 320px;min-width:0}.date-range-fields{display:flex;border:1px solid var(--cream-300);background:#fff;height:100%}.date-range-field{flex:1 1;background:transparent;border:none;border-right:1px solid var(--cream-300);padding:.6rem 1rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;font-family:var(--font-body);transition:background .15s}.date-range-field:last-child{border-right:none}.date-range-field:hover{background:var(--cream-100)}.date-range-field.is-active{background:var(--cream-100);box-shadow:inset 0 -2px 0 var(--gold-500)}.date-range-label{font-size:.806rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.date-range-value{font-family:var(--font-display);font-size:1.365rem;color:var(--text-primary)}.date-range-extra{flex:0 0 auto;padding:.6rem 1rem;border-left:1px solid var(--cream-300);justify-content:center;font-family:var(--font-body)}.date-range-extra,.date-range-extra-content{display:flex;flex-direction:column;gap:.15rem}.hotel-booking-search .date-range-field{flex:1 1 160px}.hotel-booking-search .date-range-extra{flex:0 0 auto}.date-range-extra-label{font-size:.62rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.date-range-extra-value{font-size:1.05rem;color:var(--text-primary)}.date-range-extra-price,.date-range-extra-value{font-family:var(--font-display);white-space:nowrap}.date-range-extra-price{font-size:1.5rem;font-weight:700;color:var(--dark-900);line-height:1.15}.date-range-extra-strike{font-size:.72rem;color:var(--text-muted);text-decoration:line-through}.date-range-extra-discount{font-size:.7rem;color:var(--gold-500);font-weight:600;letter-spacing:.05em}.cal-popover{position:fixed;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.18);padding:1.25rem 3rem;z-index:1000;border:1px solid var(--cream-200)}.cal-nav-btn{position:absolute;top:1.4rem;background:#fff;border:1px solid var(--cream-300);width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;color:var(--text-primary);border-radius:50%;transition:background .15s,border-color .15s,color .15s;z-index:2;font-family:var(--font-body)}.cal-nav-prev{left:.75rem}.cal-nav-next{right:.75rem}.cal-nav-btn:hover:not(:disabled){background:var(--cream-100);border-color:var(--gold-500);color:var(--gold-500)}.cal-nav-btn:disabled{opacity:.25;cursor:not-allowed}.cal-months{display:flex;gap:2.5rem}.cal-month{min-width:252px}.cal-month-name{font-family:var(--font-display);font-size:1.365rem;font-weight:500;text-align:center;margin-bottom:.75rem;color:var(--text-primary)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.cal-weekdays>div{text-align:center;padding:.4rem 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{position:relative;aspect-ratio:1}.cal-cell-in-range:before,.cal-cell-range-end:before,.cal-cell-range-start:before{content:"";position:absolute;top:3px;bottom:3px;left:0;right:0;background:var(--cream-200);z-index:0;pointer-events:none}.cal-cell-range-start:before{left:50%}.cal-cell-range-end:before{right:50%}.cal-day{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;cursor:pointer;border-radius:50%;font-size:1.144rem;font-family:var(--font-body);color:var(--text-primary);transition:background .15s,color .15s,border-color .15s}.cal-day:hover:not(:disabled){background:var(--cream-100)}.cal-day:disabled{color:var(--cream-300);cursor:not-allowed}.cal-day-today{border-color:var(--gold-400);font-weight:500}.cal-day-pending{background:var(--cream-100);font-weight:500}.cal-day-selected,.cal-day-selected:hover{background:var(--gold-500);color:#fff;font-weight:600;border-color:var(--gold-500)}@media (max-width:720px){.cal-popover{padding:1rem 2.5rem}.cal-months .cal-month+.cal-month{display:none}.hotel-booking-search{flex-direction:column;align-items:stretch}.date-range-wrap{flex:0 0 auto}.date-range-fields{flex-wrap:wrap}.date-range-extra{flex:1 1 100%;border-left:none;border-top:1px solid var(--cream-300);min-width:0}.date-range-extra-price{font-size:1.25rem}.hotel-booking-submit{width:100%;justify-content:center}}.photo-gallery{display:grid;grid-gap:4px;gap:4px;border-radius:4px;overflow:hidden;margin-bottom:2.5rem}.photo-gallery-item{position:relative;overflow:hidden;padding:0;border:none;background:var(--cream-200);cursor:pointer;font:inherit;color:inherit}.photo-gallery-item img{transition:transform .4s ease}.photo-gallery-item:focus-visible img,.photo-gallery-item:hover img{transform:scale(1.04)}.photo-gallery-item:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.photo-gallery--1{grid-template-columns:1fr;grid-template-rows:460px}.photo-gallery--2{grid-template-columns:1fr 1fr;grid-template-rows:460px}.photo-gallery--3{grid-template-columns:1.6fr 1fr;grid-template-rows:280px 280px}.photo-gallery--4,.photo-gallery--5{grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:280px 280px}.photo-gallery-item--featured{grid-row:1/3}.photo-gallery--4 .photo-gallery-item--span2{grid-column:2/4}@media (max-width:720px){.photo-gallery{margin-bottom:1.5rem}.photo-gallery--1{grid-template-rows:220px}.photo-gallery--2{grid-template-rows:200px}.photo-gallery--3,.photo-gallery--4,.photo-gallery--5{grid-template-rows:130px 130px}}.lightbox{position:fixed;inset:0;background:rgba(10,10,12,.92);z-index:2000;display:flex;align-items:center;justify-content:center;animation:lightbox-fade .18s ease-out}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-stage{position:relative;width:min(92vw,1400px);height:min(86vh,900px)}.lightbox-close,.lightbox-nav{position:absolute;background:hsla(0,0%,100%,.08);color:#fff;border:1px solid hsla(0,0%,100%,.25);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);line-height:1;transition:background .15s,border-color .15s,transform .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-close:hover,.lightbox-nav:hover{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.6)}.lightbox-close{top:1.25rem;right:1.25rem;width:44px;height:44px;font-size:1.6rem;border-radius:50%;z-index:2}.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2rem;border-radius:50%;z-index:2}.lightbox-nav:hover{transform:translateY(-50%) scale(1.05)}.lightbox-nav-prev{left:1.5rem}.lightbox-nav-next{right:1.5rem}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:hsla(0,0%,100%,.85);font-size:.85rem;letter-spacing:.1em;font-family:var(--font-body);background:rgba(0,0,0,.35);padding:.4rem .9rem;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width:720px){.lightbox-stage{width:96vw;height:78vh}.lightbox-close{top:.75rem;right:.75rem;width:40px;height:40px}.lightbox-nav{width:44px;height:44px;font-size:1.6rem}.lightbox-nav-prev{left:.5rem}.lightbox-nav-next{right:.5rem}.lightbox-counter{bottom:.75rem;font-size:.75rem}}.hotel-card{background:#fff;overflow:hidden;transition:transform .3s,box-shadow .3s;cursor:pointer}.hotel-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.12)}.hotel-card-img{position:relative;height:240px;overflow:hidden}.hotel-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.hotel-card:hover .hotel-card-img img{transform:scale(1.06)}.hotel-card-badge{position:absolute;top:1rem;right:1rem;background:var(--gold-500);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem}.hotel-card-body{padding:1.5rem}.hotel-card-city{font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-500);margin-bottom:.5rem}.hotel-card-name{font-family:var(--font-display);font-size:1.35rem;color:var(--dark-900);margin-bottom:.75rem;line-height:1.25}.hotel-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--cream-200)}.hotel-card-rating{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.rating-badge{background:var(--dark-900);color:var(--gold-400);font-weight:600;padding:.2rem .5rem;font-size:.8rem}.hotel-card-price{text-align:right}.hotel-card-price .from{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.hotel-card-price .amount{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--dark-900)}.section{padding:6rem 0}.section-header{margin-bottom:3.5rem}.section-eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-500);margin-bottom:1rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem}.grid-2,.grid-3{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:1.5rem}@media (max-width:700px){.hotel-layout{grid-template-columns:1fr!important}}.hotel-detail-header{padding:3rem 0 2rem}.hotel-meta-row{gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.hotel-meta-row,.meta-chip{display:flex;align-items:center}.meta-chip{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);gap:.3rem}.booking-card{background:var(--dark-900);color:var(--cream-50);padding:2rem;position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 2rem)}.booking-card .label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem}.booking-price{font-family:var(--font-display);font-size:2.5rem;color:var(--gold-400);line-height:1;margin-bottom:.25rem}.booking-card .btn-primary{width:100%;justify-content:center;margin-top:1.5rem}.hotel-layout{display:grid;grid-template-columns:1fr 300px;grid-gap:2.5rem;gap:2.5rem;align-items:start;padding-bottom:5rem}.hotel-info h2{font-size:1.1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin:2rem 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--cream-200)}.hotel-info p{color:var(--text-secondary);line-height:1.85;font-size:.97rem}.hotel-facts{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem;margin:2rem 0}.fact-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.2rem}.fact-value{font-family:var(--font-display);font-size:1.2rem;color:var(--dark-900)}.stars{display:flex;gap:2px}.stars span{color:var(--gold-400);font-size:.85rem}.footer{background:var(--dark-900);color:var(--cream-200);padding:4rem 0 2rem}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:3rem;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--dark-700);margin-bottom:2rem}.footer-logo{color:var(--cream-50);margin-bottom:1rem}.footer p{font-size:.88rem;line-height:1.7;color:var(--text-muted)}.footer h4{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-100);margin-bottom:1.25rem}.footer ul{list-style:none}.footer ul li{margin-bottom:.6rem}.footer ul a{font-size:.88rem;color:var(--text-muted);transition:color .2s}.footer ul a:hover{color:var(--gold-400)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--text-muted)}.footer-disclaimer{font-size:.72rem;color:var(--dark-700);margin-top:1rem}.map-container{height:500px;width:100%}.map-page{display:flex;flex-direction:column;height:calc(100vh - var(--nav-h));background:var(--cream-100)}.map-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid var(--cream-200)}.map-search-input{flex:1 1;min-width:220px;border:1px solid var(--cream-300);background:var(--cream-50);padding:.6rem .9rem;font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);outline:none;transition:border-color .2s}.map-search-input:focus{border-color:var(--gold-500)}.map-control-btn{padding:.6rem 1.1rem;border:1px solid var(--cream-300);background:#fff;color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s}.map-control-btn:hover:not(:disabled){border-color:var(--gold-500);color:var(--gold-500)}.map-control-btn:disabled{opacity:.6;cursor:not-allowed}.map-radius-control{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--text-secondary)}.map-radius-control label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.map-radius-control select{border:1px solid var(--cream-300);background:#fff;padding:.45rem .7rem;font-family:var(--font-body);font-size:.85rem;outline:none;cursor:pointer}.map-location-error{font-size:.78rem;color:#b54848}.map-layout{flex:1 1;display:grid;grid-template-columns:380px 1fr;grid-template-rows:1fr;min-height:0}.map-sidebar{background:#fff;border-right:1px solid var(--cream-200);min-height:0}.map-sidebar,.map-sidebar-header{display:flex;flex-direction:column}.map-sidebar-header{padding:1rem 1.25rem;border-bottom:1px solid var(--cream-200);gap:.2rem}.map-result-count{font-family:var(--font-display);font-size:1.15rem;color:var(--dark-900)}.map-sidebar-hint{font-size:.7rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.map-result-list{flex:1 1;overflow-y:auto;min-height:0}.map-result-item{display:flex;gap:.85rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--cream-200);transition:background .15s}.map-result-item:hover{background:var(--cream-100)}.map-result-thumb{position:relative;width:80px;height:80px;flex-shrink:0;overflow:hidden;background:var(--cream-200)}.map-result-body{flex:1 1;min-width:0}.map-result-city{font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-500);margin-bottom:.25rem}.map-result-name{font-family:var(--font-display);font-size:1rem;color:var(--dark-900);line-height:1.25;margin-bottom:.5rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.map-result-meta{display:flex;align-items:center;gap:.6rem}.map-result-dist{font-size:.72rem;color:var(--text-muted)}.map-result-price{margin-left:auto;font-size:.85rem;font-family:var(--font-display);color:var(--dark-900)}.map-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.map-canvas{position:relative;min-height:0}.map-canvas,.map-canvas .leaflet-container{height:100%;width:100%}@media (max-width:820px){.map-layout{grid-template-columns:1fr;grid-template-rows:50vh 1fr}.map-sidebar{order:2;border-right:none;border-top:1px solid var(--cream-200)}.map-canvas{order:1}}.loading-state{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem}.error-state,.loading-state{padding:8rem 2rem;color:var(--text-muted)}.error-state{text-align:center}@media (max-width:900px){.hotel-layout{grid-template-columns:1fr}.booking-card{position:static}.hotel-gallery{grid-template-columns:1fr;grid-template-rows:280px;height:280px}.gallery-sub{display:none}.footer-top{grid-template-columns:1fr;gap:2rem}}@media (max-width:640px){:root{--nav-h:60px}.container{padding:0 1.25rem}.navbar-links{display:none}.navbar-logo-img{height:28px}.search-bar{flex-direction:column;align-items:stretch;padding:1.25rem 1.1rem;gap:.85rem}.search-bar .date-range-wrap{flex:0 0 auto}.search-bar .btn-primary{width:100%;justify-content:center;padding:1rem 1.5rem;margin-top:.25rem}.hero{padding:5.5rem 0 4.5rem}.hero h1{font-size:1.5rem;line-height:1.1;margin-bottom:1rem}.hero-subtitle{font-size:.92rem;margin-bottom:1.5rem}.hero-eyebrow{font-size:.65rem;letter-spacing:.2em}.hero-cta{flex-direction:column}.hero-chip{font-size:.72rem;padding:.35rem .85rem}.grid-2,.grid-3{grid-template-columns:1fr}.section{padding:3.5rem 0}.section-header{margin-bottom:2rem}.footer{padding:3rem 0 1.5rem}.footer-cities{grid-template-columns:repeat(2,1fr)!important}.hotel-card-img{height:200px}.hotel-card-body{padding:1.1rem}.booking-card{padding:1.5rem}.booking-price{font-size:2rem}.hotel-detail-header{padding:2rem 0 1.25rem}}