.travel-map-section{padding-block:clamp(4rem,7vw,6.5rem);overflow:hidden;background:linear-gradient(180deg,#f4eadb 0,#eee1cd 55%,#f4eadb 100%)}
.travel-map-heading{display:grid;grid-template-columns:minmax(0,.85fr) minmax(20rem,.65fr);gap:clamp(2.5rem,7vw,7rem);align-items:end}
.travel-map-heading>p{color:#61706c;line-height:1.7}
.travel-map-shell{margin-top:clamp(1.75rem,3vw,2.75rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.32fr);gap:clamp(1rem,2vw,1.75rem);align-items:stretch}
.travel-map-stage{min-width:0;padding:clamp(.6rem,1.3vw,1rem);border:1px solid rgba(18,63,58,.12);border-radius:1.4rem;background:rgba(251,250,247,.44);box-shadow:0 24px 70px rgba(40,52,44,.09)}
.travel-map{width:100%;height:auto;display:block;border-radius:1rem}
.travel-map__water{fill:url(#map-water)}
.travel-map__coast,.travel-map__island{fill:#eadcc3;stroke:#bba683;stroke-width:1.6;filter:url(#map-shadow)}
.travel-map__coast--france,.travel-map__coast--balkans{fill:#e1d0b4}.travel-map__coast--central,.travel-map__coast--turkey{fill:#ddc9a8}.travel-map__coast--africa{fill:#e4cba0}
.travel-map__border{fill:none;stroke:rgba(97,112,108,.25);stroke-width:1;stroke-dasharray:5 7}
.travel-map__orientation{fill:#61706c;font:700 11px system-ui,sans-serif;letter-spacing:.15em;opacity:.72}
.travel-map__orientation--sea{fill:#547872;letter-spacing:.24em;opacity:.55}
.travel-map__inset rect{fill:rgba(251,250,247,.6);stroke:rgba(18,63,58,.2)}.travel-map__inset text{fill:#61706c;font:700 10px system-ui,sans-serif;letter-spacing:.13em}.travel-map__inset path{stroke:rgba(18,63,58,.16)}
.travel-map__point{outline:none;text-decoration:none}
.travel-map__hit{fill:transparent;stroke:transparent}
.travel-map__marker{fill:#b65f3a;stroke:#fbfaf7;stroke-width:4;transition:transform .22s ease,fill .22s ease;transform-box:fill-box;transform-origin:center}
.travel-map__focus-ring{fill:none;stroke:rgba(182,95,58,.25);stroke-width:2;opacity:.75;transition:stroke .22s ease,stroke-width .22s ease}
.travel-map__point text{fill:#123f3a;font:700 12px system-ui,sans-serif;paint-order:stroke;stroke:#dce7e2;stroke-width:5;stroke-linejoin:round}
.travel-map__point:hover .travel-map__marker,.travel-map__point:focus .travel-map__marker,.travel-map__point.is-active .travel-map__marker{fill:#123f3a;transform:scale(1.25)}
.travel-map__point:focus .travel-map__focus-ring,.travel-map__point.is-active .travel-map__focus-ring{stroke:#123f3a;stroke-width:4}
.travel-map-detail{padding:clamp(1.5rem,2.6vw,2.25rem);display:flex;flex-direction:column;border-left:4px solid #b65f3a;border-radius:.35rem 1.25rem 1.25rem .35rem;background:#fbfaf7;box-shadow:0 18px 48px rgba(40,52,44,.09)}
.travel-map-detail h3{margin:.85rem 0;font-size:clamp(1.8rem,3vw,2.7rem)}.travel-map-detail>p:not(.eyebrow){color:#61706c;line-height:1.7}.travel-map-detail .button{margin-top:auto;align-self:flex-start}
.travel-map-featured{margin-top:1rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border:1px solid rgba(18,63,58,.14);background:rgba(18,63,58,.14)}
.travel-map-featured a{min-height:6.5rem;padding:1rem;display:flex;flex-direction:column;justify-content:flex-end;background:rgba(251,250,247,.72);text-decoration:none}
.travel-map-featured span{color:#a65335;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.travel-map-featured strong{margin-top:.35rem;color:#123f3a}
.travel-map-list{margin-top:1rem;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.travel-map-list a{min-height:48px;padding:.75rem 1rem;display:flex;align-items:center;border:1px solid #d3c6b3;border-radius:.65rem;color:#123f3a;background:#fbfaf7;text-decoration:none}
.travel-map-list a:focus-visible,.travel-map-featured a:focus-visible{outline:3px solid #b65f3a;outline-offset:2px}
.travel-map-longhaul{margin-top:1.25rem;padding:clamp(1.4rem,3vw,2.2rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;border-top:1px solid rgba(18,63,58,.2);border-bottom:1px solid rgba(18,63,58,.2)}
.travel-map-longhaul h3{margin:.4rem 0 .65rem}.travel-map-longhaul p:not(.eyebrow){max-width:52rem;color:#61706c;line-height:1.65}
.destinations-hub .content-hero{padding:2.25rem 0 1.75rem;background:linear-gradient(180deg,#fbfaf7,#f4eadb)}
.destinations-hub .content-hero .narrow{max-width:1200px}.destinations-hub .content-hero h1{max-width:none;font-size:clamp(2.65rem,5vw,5.25rem);line-height:.98;hyphens:none;word-break:normal;overflow-wrap:normal}
.destinations-hub .travel-map-section{padding-top:1.75rem}.destinations-hub .travel-map-heading h2{font-size:clamp(2.4rem,4.2vw,4rem)}
@media(max-width:980px){.travel-map-shell{grid-template-columns:1fr}.travel-map-detail{min-height:13rem}.travel-map-detail .button{margin-top:1.5rem}.travel-map-featured{grid-template-columns:repeat(3,minmax(0,1fr))}.destinations-hub .content-hero h1{font-size:clamp(2.6rem,7vw,4.5rem)}}
@media(max-width:760px){.travel-map-heading{grid-template-columns:1fr}.travel-map-heading>p{margin-top:-1rem}.travel-map-stage,.travel-map-detail,.travel-map-featured{display:none}.travel-map-shell{display:none}.travel-map-list{display:grid}.travel-map-longhaul{grid-template-columns:1fr}.travel-map-longhaul .button{justify-self:start}.destinations-hub .content-hero{padding:2.5rem 0 2rem}.destinations-hub .content-hero h1{font-size:clamp(2.35rem,8.5vw,4rem)}}
@media(max-width:420px){.travel-map-list{grid-template-columns:1fr}.destinations-hub .content-hero h1{font-size:clamp(1.9rem,9vw,2.35rem)}}
@media(prefers-reduced-motion:reduce){.travel-map__marker,.travel-map__focus-ring{transition:none}}
