@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{color-scheme:light;--ink:#183249;--muted:#586777;--blue:#194a73;--paper:#f5f7f9;--gold:#ffd16a;--line:#dbe2e8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #258ac2;outline-offset:5px}button:disabled{cursor:wait;opacity:.6}.topbar{max-width:1320px;margin:auto;min-height:98px;padding:24px 44px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;gap:13px;align-items:center;font-size:.8rem;font-weight:700;letter-spacing:.13em;text-decoration:none}.brandmark{display:grid;place-items:center;width:34px;height:40px;background:var(--ink);color:var(--gold);font-family:Georgia,serif;font-size:26px;border-radius:3px}.sheet-link{font-size:.875rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.sheet-link span{margin-left:12px}main{max-width:1320px;margin:auto;padding:0 44px}.intro{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center;padding:24px 0 42px;border-bottom:1px solid var(--line)}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:700;margin:0 0 12px;color:var(--muted)}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.8rem,5.3vw,4.5rem);line-height:1.12;letter-spacing:-.035em;margin:0}h1 em{font-weight:500;color:var(--blue)}.intro-copy{color:var(--muted);max-width:330px;margin:20px 0 0}.photo{height:265px;position:relative;border-radius:5px;overflow:hidden;background:#dce6ee}.photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block}.photo .caption{position:absolute;bottom:15px;left:20px;color:white;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-shadow:0 1px 8px #000}.photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}.photo .caption{z-index:1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:32px 0 24px}.section-heading .eyebrow{margin-bottom:4px}h2{font-family:'Playfair Display',Georgia,serif;font-size:2rem;line-height:1.25;margin:0;font-weight:500}.sync{display:flex;align-items:center;gap:16px}.sync span{font-size:.8rem;color:var(--muted);max-width:270px;text-align:right}.sync button{border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:8px 14px;font-size:.875rem;white-space:nowrap}.view-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line)}.view-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:0 0 13px;color:var(--muted);font-weight:600;font-size:1rem}.view-tabs button.active{border-bottom-color:var(--blue);color:var(--ink)}.view-tabs span{font-size:.75rem;padding:2px 7px;border-radius:4px;background:var(--soft);margin-left:5px}.view-help{color:var(--muted);font-size:.875rem;margin:20px 0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.destination,.wish-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0}.destination summary{cursor:pointer;list-style:none;padding:23px 24px;position:relative}.destination summary::-webkit-details-marker{display:none}.destination summary:after{content:'+';position:absolute;right:24px;top:24px;font-size:1.5rem;line-height:1;color:var(--blue)}.destination[open] summary:after{content:'−'}.number{font-size:.75rem;font-weight:600;color:#7a8895;letter-spacing:.12em;display:block;margin-bottom:15px}.destination h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:1.5rem;line-height:1.3;margin:0 30px 7px 0;overflow-wrap:anywhere}.count{font-size:.8rem;color:var(--muted)}.notes{margin:0 24px 24px;padding:18px 0 0 18px;border-top:1px solid var(--line)}.notes li{padding:0 0 12px 3px;overflow-wrap:anywhere}.notes li:last-child{padding-bottom:0}.notes a{font-size:.875rem;color:var(--blue);display:inline-block;margin-left:5px}.no-notes{margin:0 24px 24px;color:var(--muted);font-size:.875rem}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.filters[hidden]{display:none}.filters button{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:30px;font-size:.875rem;padding:7px 16px}.filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.wish-card{padding:22px}.wish-top{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--muted)}.traveler{font-weight:700;color:var(--blue)}.wish-card h3{font-size:1.15rem;line-height:1.4;font-weight:500;margin:17px 0;overflow-wrap:anywhere}.vote{font-size:.8rem;margin:0;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.loading,.empty{grid-column:1/-1;padding:35px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:6px}#error{background:#fff1d0;color:#674a11;padding:16px 20px;border-radius:6px;margin:20px 0}footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);margin:38px 0 0;padding:18px 0 25px;color:var(--muted);font-size:.8rem}footer p{margin:0}.attribution{font-size:.75rem;color:var(--muted);margin:-12px 0 24px}.attribution a{text-decoration:none}.destination[open]{border-top:3px solid var(--blue)}@media(max-width:900px){.intro{gap:28px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sync{flex-direction:column;align-items:flex-end;gap:6px}}@media(max-width:600px){.topbar{padding:20px;align-items:flex-start;gap:15px}.brand{font-size:.65rem;letter-spacing:.08em;max-width:190px}.brandmark{flex-shrink:0}.sheet-link{font-size:.8rem;white-space:nowrap}.sheet-link span{margin-left:2px}main{padding:0 20px}.intro{grid-template-columns:1fr;gap:22px;padding:16px 0 27px}.intro h1 br{display:none}h1{font-size:3rem}.intro-copy{max-width:none;margin-top:14px}.photo{height:180px}.section-heading{align-items:flex-start;margin-top:26px;gap:10px}h2{font-size:1.7rem}.sync span{font-size:.75rem;max-width:140px}.card-grid{grid-template-columns:1fr}.view-tabs{gap:20px}.view-tabs button{font-size:.875rem}.view-help{line-height:1.65}footer{gap:10px}.destination summary{padding:20px}.destination h3{font-size:1.4rem}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s}.destination:hover,.wish-card:hover{border-color:#9aacbb}}

/* Destination photo carousel */
.photo{height:300px;touch-action:pan-y}.photo:after{display:none}.photo-slide{height:100%;margin:0;position:relative}.photo-slide[hidden]{display:none}.photo-slide:after{background:linear-gradient(transparent,rgba(0,0,0,.75));content:'';inset:45% 0 0;pointer-events:none;position:absolute}.photo .caption{bottom:66px;left:22px;right:22px}.photo-credit{bottom:46px;color:#fff;font-size:.65rem;left:22px;position:absolute;right:22px;z-index:1}.photo-credit a{color:inherit}.photo-controls{align-items:center;bottom:12px;display:flex;gap:8px;justify-content:space-between;left:16px;position:absolute;right:16px;z-index:2}.photo-controls button{background:#183249cc;border:1px solid #ffffff70;border-radius:5px;color:white;min-height:32px;padding:3px 10px}.photo-dots{display:flex;gap:2px}.photo-dots button{background:transparent;border:0;min-height:32px;min-width:23px;padding:8px 5px}.photo-dots button:after{background:#ffffff70;border-radius:50%;content:'';display:block;height:6px;width:6px}.photo-dots button[aria-pressed=true]:after{background:var(--gold)}.photo-controls button:focus-visible{outline-color:var(--gold);outline-offset:2px}.visually-hidden{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(max-width:600px){.photo{height:245px}.photo-credit{font-size:.6rem}.photo .caption{font-size:.75rem}.photo-controls{gap:4px;left:10px;right:10px}.photo-controls button{padding-left:8px;padding-right:8px}.photo-dots button{min-width:20px;padding-left:5px;padding-right:5px}}

/* Layer decoded photographs so the outgoing frame stays behind the incoming fade. */
.photo{background:#183249}.photo-slide{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity 1.6s ease;z-index:0}.photo-slide.is-active{opacity:1;pointer-events:auto;z-index:1}.photo-slide img{animation:destination-drift 12s linear both;animation-play-state:paused;transform:scale(1.13) translate3d(-1%,0,0);will-change:transform}.photo-slide.is-moving img{animation-play-state:running}.photo-slide:not(.is-moving) img{animation-name:none}.photo-slide:nth-child(even) img{animation-direction:reverse}.photo-controls{z-index:3}.photo-slide figcaption{position:absolute;inset:0;z-index:2}.photo.is-paused .photo-slide img{animation-play-state:paused}@keyframes destination-drift{from{transform:scale(1.13) translate3d(-1%,0,0)}to{transform:scale(1.02) translate3d(1%,0,0)}}@media(prefers-reduced-motion:reduce){.photo-slide{transition:none}.photo-slide img{animation:none!important;transform:none!important}}
.photo-slide.is-leaving{opacity:1;z-index:1}.photo-slide.is-active{z-index:2}

:root{--surface:#fff;--soft:#e8eff5}html[data-theme="dark"]{color-scheme:dark;--ink:#e7edf4;--muted:#a2b3c5;--blue:#8bc4f1;--paper:#101923;--gold:#ffd16a;--line:#314353;--surface:#192632;--soft:#223447}html[data-theme="dark"] #error{background:#3d321d;color:#ffe0a0}html[data-theme="dark"] .brandmark{background:#223447;color:var(--gold)}html[data-theme="dark"] .destination:hover,html[data-theme="dark"] .wish-card:hover{border-color:#7894ae}.booking-empty{max-width:680px;margin:0 auto}.booking-empty h3{color:var(--ink);font-family:'Playfair Display',Georgia,serif;font-size:1.5rem}.booking-empty p{line-height:1.7}.photo-controls{justify-content:space-between}@media(max-width:600px){.topbar{gap:8px}.brand{flex-basis:100%}.topbar .utility-button{flex:1}.page-nav{gap:14px;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.page-nav a{flex-shrink:0;font-size:.8rem}}

/* Swipe on touch screens; reveal pointer controls on desktop hover or keyboard focus. */
#photo-next,#photo-previous{display:none}@media(hover:hover) and (pointer:fine){#photo-next,#photo-previous{display:inline-flex;opacity:0;pointer-events:none;transition:opacity .2s}.photo:hover #photo-next,.photo:hover #photo-previous,.photo:focus-within #photo-next,.photo:focus-within #photo-previous{opacity:1;pointer-events:auto}}.photo-dots{margin-inline:auto}

#theme-toggle{flex:0 0 44px;min-width:44px;padding:10px}#theme-toggle svg{display:block;flex-shrink:0}#theme-toggle:hover{background:var(--soft)}
