/* ================================================================
   locations.css — LOCATIONS_AFRICA_ATLAS_V3 (pairs with locations.html)
   Editorial atlas directory on the ivory page. Tokens from site.css.
   ================================================================ */
.site-footer{margin-top:0!important}
.lc{color:var(--text)}

/* ---- masthead ---- */
.lc-mast{background:var(--page);padding:40px 0 56px;border-bottom:1px solid var(--line)}
.lc-mast .lc-mast-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.lc-crumbs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;list-style:none;font-size:11px;letter-spacing:.14em;color:var(--muted)}
.lc-crumbs a{color:var(--body);text-decoration:none;border-bottom:1px solid var(--line)}
.lc-crumbs a:hover{color:var(--accent);border-color:var(--accent)}
.lc-crumbs li+li::before{content:"/";margin-right:10px;color:var(--line)}
.lc-crumbs li[aria-current]{color:var(--ink);font-weight:600}
.lc-mast .eyebrow{margin-bottom:22px}
.lc-mast h1{margin:0 0 20px;font-family:var(--display);font-weight:500;font-size:clamp(38px,4.8vw,62px);line-height:1.02;letter-spacing:-.02em;color:var(--ink)}
.lc-mast h1 em{font-style:italic;font-weight:400;color:var(--accent)}
.lc-lede{margin:0 0 24px;font-size:17.5px;line-height:1.6;color:var(--body);max-width:560px}
.lc-rule{width:72px;height:1px;margin:0 0 16px;border:0;background:var(--ink)}
.lc-facts{margin:0;font-size:12px;letter-spacing:.1em;color:var(--body);line-height:2}
.lc-facts b{color:var(--ink);font-weight:600}.lc-facts .dia{color:var(--accent);font-size:8px;vertical-align:middle;padding:0 2px}
.lc-visual{margin:0}
.lc-visual .atlas{display:block;width:100%;height:auto;color:var(--ink)}
.atlas-shadow{fill:var(--sand-dk)}
.atlas-fill{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.atlas-dots{stroke:none}
.atlas-lines line{stroke:var(--line);stroke-width:1}
.atlas-lines text{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;fill:var(--muted)}
/* ATLAS_AFRICA_V3: country names only, one style for every country; a paper stroke keeps them legible over the dotted land */
.atlas-label{font-family:var(--mono);font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}

/* ---- jump strip ---- */
.lc-jump{position:sticky;top:var(--header-h);z-index:5;background:var(--sand);border-bottom:1px solid var(--line)}
.lc-jump .shell{display:flex;align-items:center;gap:18px;padding-top:10px;padding-bottom:10px;overflow-x:auto;scrollbar-width:none}
.lc-jump .shell::-webkit-scrollbar{display:none}
.lc-jump .lbl{font-size:10.5px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}
.lc-jump ul{display:flex;gap:8px;margin:0;padding:0;list-style:none}
.lc-jump a{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);text-decoration:none;font-size:11px;letter-spacing:.1em;white-space:nowrap;transition:border-color .15s,background .15s}
.lc-jump a:hover{border-color:var(--ink);background:#fff}
.lc-jump a small{font-size:10px;color:var(--accent)}
.lc-jump .next a{border-style:dashed;color:var(--body)}

/* ---- country sections ---- */
.lc-country{padding:56px 0 60px;border-bottom:1px solid var(--line);background:var(--page)}
.lc-country:nth-of-type(even){background:var(--paper)}
.lc-country-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.lc-country-head .eyebrow{margin-bottom:14px}
.lc-country-head .eyebrow .live{color:var(--accent)}
.lc-country-head .eyebrow .live::before{content:"● ";font-size:8px;vertical-align:middle}
.lc-country-head h2{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.02em}
.lc-country-head h2 a{color:var(--ink);text-decoration:none}
.lc-country-head h2 a:hover{color:var(--accent)}
.lc-country-head .facts{margin:12px 0 0;font-size:12px;letter-spacing:.08em;color:var(--body);text-transform:none}
.lc-country-head p.facts:not(.mono){font-family:var(--sans);font-size:16px;letter-spacing:0;max-width:620px;line-height:1.6}
.lc-more{flex-shrink:0;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px;white-space:nowrap}
.lc-more:hover{color:var(--accent);border-color:var(--accent)}
.lc-country-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px}
.lc-col h3{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:11.5px;letter-spacing:.14em;font-weight:600;display:flex;justify-content:space-between;gap:12px}
.lc-col h3 span{color:var(--muted);font-weight:400}
.lc-gateways{list-style:none;margin:0;padding:0}
.lc-gateways li{border-bottom:1px solid var(--line-soft)}
.lc-gateways a{display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-template-areas:"kind go" "name go" "meta go";gap:2px 12px;align-items:center;padding:14px 4px;color:var(--ink);text-decoration:none;transition:background .15s}
.lc-gateways a:hover{background:var(--sand)}
.lc-gateways .kind{grid-area:kind;font-size:10.5px;letter-spacing:.12em;color:var(--accent)}
.lc-gateways .name{grid-area:name;font-family:var(--display);font-weight:500;font-size:21px;line-height:1.15}
.lc-gateways .meta{grid-area:meta;font-size:11px;letter-spacing:.06em;color:var(--body);text-transform:none}
.lc-gateways .go{grid-area:go;font-size:18px;color:var(--ink);transition:transform .15s}
.lc-gateways a:hover .go{transform:translateX(3px);color:var(--accent)}
.lc-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lc-chips a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;transition:border-color .15s,background .15s}
.lc-chips a:hover{border-color:var(--ink);background:var(--paper)}
.lc-chips small{font-size:10.5px;color:var(--muted);letter-spacing:.06em}
.lc-empty{margin:0;padding:18px;border:1px dashed var(--line);color:var(--body);font-size:14.5px}
.lc-empty a{color:var(--accent)}

/* ---- opening next ---- */
.lc-next{padding:56px 0 60px;background:var(--sand);border-bottom:1px solid var(--line)}
.lc-next-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.lc-next-grid li{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px dashed var(--line);background:transparent}
.lc-next-grid .mono{font-size:10.5px;letter-spacing:.14em;color:var(--muted)}
.lc-next-grid h3{margin:0;font-family:var(--display);font-weight:500;font-size:24px;line-height:1.1;color:var(--ink)}
.lc-next-grid p{margin:0;font-size:14px;line-height:1.5;color:var(--body)}
.lc-next-grid a{margin-top:auto;padding-top:10px;font-size:13.5px;font-weight:600;color:var(--accent);text-decoration:none}
.lc-next-grid a:hover{text-decoration:underline}

/* ---- ask card ---- */
.lc-ask{padding:56px 0 72px;background:var(--page)}
.lc-ask .lc-ask-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px;align-items:center;padding:32px 36px!important;max-width:calc(var(--shell) - 48px);background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow-hard)}
.lc-ask-card .eyebrow{margin-bottom:14px}
.lc-ask-card h2{margin:0 0 10px;font-family:var(--display);font-weight:500;font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.015em;color:var(--ink)}
.lc-ask-card p{margin:0;color:var(--body);line-height:1.6}
.lc-ask-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.lc-ask-actions .btn{justify-content:center}
.lc-phone{text-align:center;font-size:12px;letter-spacing:.1em;color:var(--ink);text-decoration:none;padding-top:6px}
.lc-phone:hover{color:var(--accent)}

/* ---- responsive ---- */
@media (max-width:980px){
  .lc-mast .lc-mast-grid{grid-template-columns:1fr;gap:28px}
  .lc-visual{max-width:520px;width:100%;margin:0 auto}
  .lc-country-grid{grid-template-columns:1fr;gap:28px}
  .lc-country-head{flex-direction:column;align-items:flex-start;gap:12px}
  .lc-ask .lc-ask-card{grid-template-columns:1fr;padding:24px!important}
}
@media (max-width:600px){
  .lc-mast{padding:28px 0 40px}
  .lc-mast h1 br{display:none}
  .lc-country,.lc-next{padding:44px 0 48px}
  .lc-jump{position:static}
}
