/* Geographic detail is additive: approved map animation and Company story remain. */
.location-map-label { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 12px; min-height: var(--control-hit-height); padding: 0; border-radius:var(--control-choice-radius); background: transparent; color: var(--ink); font: 600 14px/1.4 "Hanken Grotesk", sans-serif; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.location-map-label > span { display:grid; place-items:center; min-height:var(--control-choice-height); padding-inline:14px; border-radius:var(--control-choice-radius); background:transparent; transition:background-color var(--motion-control) ease; }
@media (hover: hover) { a.location-map-label:hover { color: var(--orange-text); } a.location-map-label:hover > span { background:var(--orange-soft); } }
.location-map-label:focus-visible { color: var(--orange-text); outline: 2px solid var(--orange-text); outline-offset: 3px; }
.location-map-label--peru { left: 16%; top: 61%; }
.location-map-label--brazil { left: 39%; top: 64%; }
.location-map-label--netherlands { left: 54%; top: 10%; }
.location-map-label--dominican { left: calc(29.8113% + 14px); top: 40%; transform: translateY(-50%); font-size: 14px; }
.locations { margin-top: 56px; }
.location-nav { display:grid; grid-template-columns:minmax(0,10fr) minmax(0,2fr); gap:24px; align-items:start; margin-bottom:32px; }
.location-nav__group { min-width:0; }
.location-nav__label { margin:0 0 12px; color:var(--orange-text); font:600 var(--text-action)/1.4 "Hanken Grotesk",sans-serif; }
.location-nav__group:not([data-location-family="fresh"]) .location-nav__label { color:var(--ink-deep); }
.location-nav__links { display:flex; flex-wrap:wrap; gap:8px 12px; }
#peru-frozen { scroll-margin-top:100px; }
.location-nav a { display:flex; align-items:center; justify-content:center; min-height:var(--control-hit-height); max-width:100%; padding:0; border-radius:var(--control-choice-radius); color:var(--ink-deep); font:600 var(--text-action)/1.3 "Hanken Grotesk",sans-serif; text-align:center; text-decoration:none; transition:background-color 180ms ease,color 180ms ease; }
.location-nav a > span { display:grid; place-items:center; min-height:var(--control-choice-height); padding-inline:20px; border-radius:var(--control-choice-radius); transition:background-color var(--motion-control) ease; }
.location-nav a[aria-current="true"] > span,.location-nav a:focus-visible > span { background:var(--orange-action); }
.location-nav [data-location-family="frozen"] a[aria-current="true"] > span,.location-nav [data-location-family="frozen"] a:focus-visible > span { background:var(--ink-deep); color:var(--paper); }
@media (hover:hover) { .location-nav a:hover > span { background:var(--orange-action); } .location-nav [data-location-family="frozen"] a:hover > span { background:var(--ink-deep); color:var(--paper); } }
.location-nav a:focus-visible { outline: 2px solid var(--orange-text); outline-offset: 4px; }
.location-panel[hidden] { display: none; }
.location-panel + .location-panel { margin-top: 56px; }
.locations.is-enhanced .location-panel { margin-top: 0; }
.location-intro, .location-feature { display: grid; grid-template-columns: 7fr 5fr; align-items: start; gap: var(--layout-gap); }
.location-intro h3, .location-feature h3 { margin: 0; font: 500 clamp(30px, 3.5vw, 48px)/1.1 "Parkinsans", sans-serif; letter-spacing: -.045em; }
.location-panel p { max-width: 44ch; margin: 0; font-size: 18px; line-height: 1.55; font-weight: 400; }
.location-panel .location-label { margin: 0 0 14px; color: var(--orange-text); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.location-panel .page-link { margin-top: 20px; }
.location-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 40px; }
.location-pair figure, .location-feature figure { aspect-ratio: 16 / 10; margin: 0 0 28px; overflow: hidden; border-radius: var(--media-radius); }
.location-pair img, .location-feature img { width: 100%; height: 100%; display: block; object-fit: cover; }
.location-pair article:nth-child(2) img { object-position: 50% 45%; }
.location-pair h4 { margin: 0 0 14px; font: 500 clamp(24px, 2.5vw, 34px)/1.15 "Parkinsans",sans-serif; letter-spacing: -.035em; }
.location-feature { align-items: center; }
.location-feature figure { margin-bottom: 0; }
/* A little more room for Europe copy; keep an editorial reading measure. */
.company-page #europe .page-copy { max-width:var(--measure-reading); }
.location-feature h3 { margin-bottom: 24px; }
.location-capabilities { display: flex; flex-wrap: wrap; gap: 12px 32px; list-style: none; margin: 40px 0 0; padding: 24px 0; border-block: 1px solid var(--line); font-size: 18px; }
.company-flamingo__copy .brand-wordmark { margin-bottom: 32px; }
@media(max-width:800px) {
  /* Keep the dotted map and its 265×100 SVG markers in the same coordinate space. */
  .company-page .company-network__map { aspect-ratio: 2.65 / 1; }
  .location-map-label { display: none; }
  /* The Caribbean link remains discoverable next to its marker on narrow maps. */
  .location-map-label--dominican { display: inline-flex; left: calc(29.8113% + 10px); top: 40%; width: 112px; min-height: var(--control-hit-height); padding: 0; transform: translateY(-50%); font-size: 12px; line-height: 1.25; white-space: normal; }
  .location-intro, .location-feature, .location-pair { grid-template-columns: 1fr; gap: 24px; }
  .location-pair { gap: 40px; }
  .location-nav { grid-template-columns:minmax(0,1fr); gap:24px; margin-bottom:28px; }
  .location-nav__links { gap:8px; }
  .location-nav a > span { padding-inline:12px; }
  .location-map-label > span { padding-inline:8px; }
  .locations { margin-top: 28px; }
  .location-panel p { font-size: 17px; }
}

/* Six locations share native wrap and normal-flow text. No invented regional
   photograph is used for the two newly documented operations. */
.location-map-label--afrika { left:53%; top:46%; }
.location-map-label--costa { left:14%; top:43%; }
.location-feature { align-items:start; }
.location-feature--text { grid-template-columns:5fr 7fr; }
.location-panel p + p { margin-top:20px; }
.location-panel .location-place { margin:0 0 18px; color:var(--orange-text); font-size:14px; }
.location-panel [data-destination-pending] { color:var(--contact-muted, var(--ink)); font-size:var(--text-action); font-weight:600; }
.location-feature--text h3 { margin-bottom:0; }
@media (max-width:800px) {
  .location-feature--text { grid-template-columns:1fr; }

  .location-map-label--dominican { width:128px; font-size:11px; }
}

/* Regional reading and feature subtitles share the site hierarchy. */
.company-page .location-panel :is(.page-copy, .location-capabilities) { font-size: var(--type-reading); line-height: 1.5; }
.company-page :is(.location-intro, .location-feature) h3 { font-size: var(--type-subtitle); font-weight: 520; line-height: 1.08; }

/* Regional scenes continue the general page canvas, with aligned copy/media. */
.location-panel { --location-surface:var(--paper); position:relative; isolation:isolate; padding-block:clamp(48px,6vw,88px); }
.location-intro,.location-feature { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,64px); align-items:start; }
.location-intro > div,.location-feature > div:not(.location-country-type) { min-width:0; grid-column:1; grid-row:1; }
.location-intro h3,.location-feature h3 { margin-bottom:28px; }
.location-feature > figure,.location-intro > figure { grid-column:2; grid-row:1; }
.location-feature figure,.location-intro figure,.location-pair figure { position:relative; isolation:isolate; margin:0; overflow:hidden; border-radius:var(--media-radius); aspect-ratio:4/3; }
.location-intro figure img { display:block; width:100%; height:100%; object-fit:cover; }
.location-panel figure::after { position:absolute; z-index:1; inset:0; content:""; background:linear-gradient(180deg,rgba(11,43,34,.12),rgba(11,43,34,.5)); pointer-events:none; }
.location-panel figcaption { position:absolute; z-index:2; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; color:var(--location-surface); text-align:center; }
.company-page .location-panel .location-country-name { margin:0; max-width:100%; color:var(--location-surface); font:520 var(--type-feature)/1.1 "Parkinsans",sans-serif; letter-spacing:-.05em; overflow-wrap:anywhere; }
.company-page .location-panel figcaption .location-place { position:absolute; bottom:20px; right:24px; left:24px; margin:0; max-width:none; color:var(--paper); font:600 var(--text-detail)/1.4 "Hanken Grotesk",sans-serif; text-align:right; }
.location-pair { gap:clamp(24px,4vw,64px); margin-top:56px; }
.location-pair figure { margin-bottom:28px; aspect-ratio:16/10; }
.location-pair figcaption { justify-content:end; }
.location-country-type { grid-column:2; grid-row:1; align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-height:260px; gap:24px; padding:32px; background:var(--ink-deep); border-radius:var(--media-radius); }
.location-country-type .location-place { color:var(--paper); }
@media (max-width:800px) {
  .location-intro,.location-feature { grid-template-columns:1fr; gap:32px; }
  .location-feature > figure,.location-intro > figure,.location-country-type { grid-column:1; grid-row:2; }
  .location-pair { margin-top:40px; gap:40px; }
  .location-panel figcaption { padding:20px; }
  .company-page .location-panel figcaption .location-place { bottom:16px; left:16px; right:16px; }
}
@media (prefers-reduced-motion:reduce) { .location-nav a,.location-nav a > span,.location-map-label > span { transition:none; } }
