.destination-dialog { border-radius: 14px; scrollbar-width: none; }
.destination-dialog::-webkit-scrollbar { display: none; width: 0; height: 0; }
.destination-morph-surface { border-radius: 14px; }
.destination-gallery { margin: 0; }
.destination-slides { position: relative; overflow: hidden; touch-action: pan-y; background: #ddd9ce; }
.destination-slide-incoming { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.destination-photo-count { position: absolute; right: 24px; bottom: 22px; padding: 9px 13px; background: #f5f2eaf0; color: var(--ink); font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .07em; }
.destination-gallery-footer { display: flex; justify-content: space-between; gap: 24px; padding: 22px 40px; align-items: center; }
.destination-photo-caption { font-size: 14px; margin: 0 0 5px; }
.destination-photo-credit { display: inline-block; font-size: 11px; color: var(--muted); text-underline-offset: 3px; max-width: 560px; }
.destination-gallery-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.destination-gallery-actions button { display: grid; place-items: center; background: none; color: inherit; border: 0; border-radius: 50%; width: 44px; height: 44px; padding: 0; }
.destination-gallery-actions button[data-slide="playback"] { border: 1px solid #27272440; }
.destination-gallery-actions svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.destination-gallery-actions .slideshow-play-icon,
.destination-gallery-actions [data-state="paused"] .slideshow-pause-icon { display: none; }
.destination-gallery-actions [data-state="paused"] .slideshow-play-icon { display: inline; }
.destination-gallery-actions button:hover { background: #2727240b; }
.destination-guide-nav { position: sticky; top: var(--destination-toolbar-height, 75px); z-index: 1; background: #f5f2eaf5; border-top: 1px solid #27272425; border-bottom: 1px solid #27272425; padding: 6px 40px; display: flex; align-items: center; gap: 22px; backdrop-filter: blur(12px); }
.destination-guide-nav > span { margin-right: auto; white-space: nowrap; }
.destination-guide-nav button { min-height: 44px; padding: 6px 0; border: 0; background: none; font-size: 12px; white-space: nowrap; }
.destination-guide-nav button:hover { color: #ad3d20; }
.destination-guide-content { overflow-wrap: anywhere; }
.destination-guide-content section { scroll-margin-top: 155px; }
.destination-guide-content h3 { font-weight: 400; font-size: clamp(30px, 4vw, 44px); line-height: 1.08; letter-spacing: -.045em; margin: 0; }
.destination-guide-content h4 { font-size: 21px; line-height: 1.22; font-weight: 400; letter-spacing: -.03em; margin: 0 0 12px; }
.destination-guide-content p { font-size: 14px; line-height: 1.85; }
.destination-guide-overview { display: grid; grid-template-columns: .9fr 1.1fr; gap: 65px; padding: 64px 40px 45px; }
.destination-guide-overview .eyebrow { font-size: 10px; margin: 0 0 18px; }
.destination-guide-overview > div:last-child p:first-child { margin-top: 0; }
.destination-guide-content a { color: inherit; text-underline-offset: 4px; text-decoration-color: #27272460; }
.destination-guide-content .guide-reference { font-size: 10px; color: var(--muted); margin: 18px 0 0; }
.destination-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid #27272430; padding: 25px 0; margin: 0 40px; gap: 24px; }
.destination-facts dt { font-size: 9px; text-transform: uppercase; letter-spacing: .13em; color: var(--muted); margin-bottom: 10px; }
.destination-facts dd { margin: 0; font-size: 15px; line-height: 1.5; }
.destination-highlights { padding: 65px 40px 40px; }
.destination-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; margin-bottom: 32px; }
.destination-section-heading .eyebrow { font-size: 10px; color: var(--muted); white-space: nowrap; }
.destination-highlight-list { list-style: none; padding: 0; margin: 0; }
.destination-highlight-list li { display: grid; grid-template-columns: 40px .85fr 1.15fr; gap: 25px; padding: 27px 0; border-top: 1px solid #27272425; align-items: baseline; }
.destination-highlight-list .highlight-number { color: #b64120; font-size: 11px; }
.destination-highlight-list h4 { font-size: 25px; }
.destination-highlight-list p { margin: 0; }
.destination-culture { margin: 20px 40px 65px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.destination-culture figure { margin: 0; min-width: 0; }
.destination-culture img { width: 100%; height: 400px; object-fit: cover; display: block; }
.destination-culture figcaption { margin-top: 10px; font-size: 10px; color: var(--muted); line-height: 1.6; }
.destination-culture .eyebrow { font-size: 10px; margin: 0 0 18px; }
.destination-culture h3 { font-size: 35px; }
.destination-planning { margin: 0 40px 65px; border-top: 1px solid #27272430; padding-top: 44px; }
.destination-planning-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 65px; }
.destination-season { padding-right: 25px; }
.destination-season .eyebrow { font-size: 10px; color: #ad3d20; margin: 0 0 20px; }
.destination-practical { margin: 0; }
.destination-practical > div + div { border-top: 1px solid #27272425; padding-top: 20px; margin-top: 20px; }
.destination-practical dt { font-size: 17px; }
.destination-practical dd { margin: 8px 0 0; font-size: 14px; line-height: 1.8; }
.destination-itinerary { padding: 45px 40px; background: #e9e5db; }
.destination-itinerary .itinerary-note { font-size: 12px; color: var(--muted); margin: -15px 0 30px; max-width: 650px; }
.destination-itinerary ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.destination-itinerary li { border-top: 1px solid #27272435; padding-top: 18px; }
.destination-itinerary .itinerary-step { font-size: 11px; color: #ad3d20; display: block; margin-bottom: 18px; }
.destination-itinerary li p { font-size: 13px; margin-bottom: 0; }
.destination-references { padding: 30px 40px; font-size: 12px; line-height: 1.8; border-bottom: 1px solid #27272425; }
.destination-references summary { cursor: pointer; padding: 10px 0; }
.destination-references .reference-label { font-size: 11px; margin-bottom: 5px; }
.destination-references ul { padding-left: 18px; }
.destination-references .source-date { font-size: 11px; color: var(--muted); }
.destination-enquiry { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 50px 40px; }
.destination-enquiry .eyebrow { font-size: 10px; margin: 0 0 12px; }
.destination-enquiry h3 { font-size: 34px; font-weight: 400; letter-spacing: -.04em; margin: 0; }
.destination-enquiry p { font-size: 13px; color: var(--muted); }
.destination-enquiry .destination-preview-note { font-size: 10px; }
@media (max-width: 700px) {
  .destination-gallery-footer { padding: 18px 24px; align-items: flex-start; flex-direction: column; gap: 10px; }
  .destination-gallery-actions { align-self: flex-end; }
  .destination-photo-count { right: 16px; bottom: 16px; }
  .destination-guide-nav { padding: 4px 24px; gap: 22px; overflow-x: auto; scrollbar-width: none; }
  .destination-guide-nav > span { display: none; }
  .destination-guide-nav button { font-size: 11px; }
  .destination-guide-overview { grid-template-columns: 1fr; gap: 25px; padding: 38px 24px; }
  .destination-facts { grid-template-columns: 1fr 1fr; margin-inline: 24px; gap: 24px 16px; }
  .destination-facts dd { font-size: 14px; }
  .destination-highlights { padding: 40px 24px 25px; }
  .destination-section-heading { flex-direction: column-reverse; gap: 10px; margin-bottom: 24px; }
  .destination-section-heading .eyebrow { margin: 0; }
  .destination-highlight-list li { grid-template-columns: 24px 1fr; gap: 10px 15px; padding: 24px 0; }
  .destination-highlight-list h4 { font-size: 24px; margin: 0; }
  .destination-highlight-list p { grid-column: 2; }
  .destination-culture { grid-template-columns: 1fr; gap: 28px; margin: 5px 24px 40px; }
  .destination-culture img { height: 300px; }
  .destination-culture h3 { font-size: 30px; }
  .destination-planning { margin: 0 24px 40px; padding-top: 35px; }
  .destination-planning-grid { grid-template-columns: 1fr; gap: 25px; }
  .destination-season { padding-right: 0; }
  .destination-itinerary { padding: 35px 24px; }
  .destination-itinerary ol { grid-template-columns: 1fr; gap: 28px; }
  .destination-itinerary .itinerary-note { margin-top: 0; }
  .destination-references { padding: 20px 24px; }
  .destination-enquiry { padding: 35px 24px; flex-direction: column; align-items: flex-start; gap: 15px; }
  .destination-enquiry h3 { font-size: 30px; }
}
