.atlas-page { --atlas-panel-padding:clamp(17px,3vw,40px); }
.atlas-inner {
  max-width:1440px; margin-inline:auto;
  padding:clamp(28px,5vw,72px) var(--gutter) clamp(52px,8vw,108px);
}
.atlas-breadcrumb {
  display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px;
  margin-bottom:clamp(23px,4vw,48px); color:var(--muted); font-size:13px;
}
.atlas-breadcrumb a,.atlas-sources a,.atlas-credit a,.atlas-figure a {
  color:var(--accent); text-underline-offset:.21em;
}
.atlas-heading h1 {
  margin:0; font-size:clamp(38px,6.2vw,86px); font-weight:735;
  line-height:1.02; letter-spacing:-.06em;
}
.atlas-heading > div > p,.atlas-heading > p:not(.atlas-kind,.atlas-latin) {
  max-width:64ch; margin:14px 0 0; color:var(--muted);
  font-size:clamp(16px,1.65vw,21px); line-height:1.55;
}
.atlas-heading > a { margin-top:20px; }
.atlas-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2.1vw,29px);
  list-style:none; margin:clamp(24px,4.5vw,56px) 0 0; padding:0;
}
.atlas-card { min-width:0; }
.atlas-card > a,.atlas-feature,.atlas-text,.atlas-related {
  --accent:var(--panel-accent);
  color:var(--panel-ink); background:var(--panel-bg); border:1px solid var(--panel-line);
}
.atlas-card > a {
  display:flex; flex-direction:column; height:100%; overflow:hidden;
  border-radius:16px; text-decoration:none;
  transition:background-color 180ms,border-color 180ms;
}
.atlas-card > a:hover,.atlas-card > a:focus-visible {
  background-color:var(--panel-inset); border-color:var(--accent);
}
.atlas-card > a:focus-visible { outline-offset:-3px; }
.atlas-map {
  position:relative; width:100%; aspect-ratio:3 / 2;
  background-color:#0b111a; background-size:var(--atlas-map-zoom) auto;
  background-repeat:no-repeat; background-position:var(--atlas-map-x) var(--atlas-map-y);
}
.atlas-card .atlas-map { border-bottom:1px solid var(--panel-line); }
.atlas-card-copy { display:flex; flex:1; flex-direction:column; padding:clamp(15px,2vw,25px); }
.atlas-kind {
  margin:0 0 8px; color:var(--accent); font-size:12px;
  font-weight:680; letter-spacing:.08em; text-transform:uppercase;
}
.atlas-card h2 {
  margin:0; font-size:clamp(20px,2.05vw,30px); line-height:1.08; letter-spacing:-.04em;
  overflow-wrap:anywhere;
}
.atlas-card-copy > p:not(.atlas-kind) { margin:9px 0 0; color:var(--panel-muted); font-size:14px; line-height:1.45; }
.atlas-latin { color:var(--panel-muted); font-style:italic; }
.atlas-card-copy > .atlas-card-coordinates {
  margin-top:auto; padding-top:16px; font-variant-numeric:tabular-nums;
}
.atlas-credit,.atlas-figure figcaption { font-size:12px; line-height:1.45; }
.atlas-credit { margin:16px 0 0; color:var(--muted); }
.atlas-feature,.atlas-text,.atlas-related {
  padding:var(--atlas-panel-padding); border-radius:20px;
}
.atlas-feature {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(24px,5vw,72px);
  align-items:center;
}
.atlas-feature .atlas-heading > p:not(.atlas-kind) { color:var(--panel-muted); }
.atlas-feature:not(:has(.atlas-figure)) { grid-template-columns:minmax(0,1fr); }
.atlas-heading > .atlas-latin { margin:10px 0 0; font-size:clamp(16px,2vw,22px); }
.atlas-coordinates {
  display:flex; flex-wrap:wrap; gap:12px 24px; margin:24px 0 0;
  border-inline-start:2px solid var(--panel-accent); padding-inline-start:16px;
}
.atlas-coordinates dt { color:var(--panel-muted); font-size:13px; }
.atlas-coordinates dd { margin:3px 0 0; font-size:clamp(17px,2vw,25px); font-variant-numeric:tabular-nums; }
.atlas-figure { min-width:0; margin:0; }
.atlas-figure .atlas-map { border:1px solid var(--panel-line); border-radius:18px; overflow:hidden; }
.atlas-figure .atlas-map::after {
  content:""; position:absolute; inset:50% auto auto 50%; translate:-50% -50%;
  width:12px; aspect-ratio:1; border:1px solid #ecf5fcba; border-radius:50%;
  box-shadow:0 0 0 1px #06121c88; pointer-events:none;
}
.atlas-figure figcaption { margin-top:10px; color:var(--panel-muted); }
.atlas-text { max-width:calc(76ch + 2 * var(--atlas-panel-padding)); margin-top:clamp(24px,4vw,52px); }
.atlas-chapter + .atlas-chapter { margin-top:32px; }
.atlas-text h2,.atlas-related h2 {
  margin:0; font-size:clamp(24px,3vw,38px); line-height:1.15; letter-spacing:-.035em;
}
.atlas-text p { margin:12px 0 0; color:var(--panel-muted); line-height:1.65; font-size:clamp(16px,1.55vw,18px); }
.atlas-sources:not(:first-child) { margin-top:34px; padding-top:24px; border-top:1px solid var(--panel-line); }
.atlas-sources ul { margin-bottom:0; padding-inline-start:20px; color:var(--panel-muted); line-height:1.8; }
.atlas-related { margin-top:24px; }
.atlas-related ul { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.atlas-related a {
  display:flex; align-items:center; min-height:44px; padding:8px 12px;
  border:1px solid var(--panel-line); border-radius:8px; color:var(--panel-accent);
  background:var(--panel-inset); text-underline-offset:.21em;
}
.atlas-related a:hover { border-color:var(--panel-accent); }
@media (max-width:1040px) {
  .atlas-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .atlas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .atlas-feature { grid-template-columns:minmax(0,1fr); }
  .atlas-figure { max-width:580px; }
}
@media (max-width:480px) {
  .atlas-grid { grid-template-columns:minmax(0,1fr); }
}
