/* Sovereignty Law Atlas — atlas-only styles. Site tokens only; loaded after ../site.css. */

/* ---- shared bits ---- */
.ax-meta{font:500 12.5px/1.7 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-faint)}
.ax-chip{border:2px solid var(--fg-dim);color:var(--fg);padding:5px 11px;font:500 11.5px 'IBM Plex Mono',monospace;
  letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.ax-chip.v{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.ax-chip.va{border-style:dashed;color:var(--fg-dim)}

/* ---- master map: benchmark-style grid (rows = domains, columns = jurisdictions) ---- */
.ax-x-scroll{overflow-x:auto}
.ax-x{min-width:1240px}
.ax-x-head,.ax-x-row{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(8,minmax(128px,1fr))}
.ax-x-jur{padding:14px 16px 12px;font:600 15px 'Archivo',sans-serif;letter-spacing:.01em;
  color:var(--fg);text-decoration:none;align-self:end}
.ax-x-jur span{display:block;font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.16em;
  color:var(--fg-faint);margin-top:4px;text-transform:uppercase}
.ax-x-jur:hover{color:var(--accent)}
.ax-x-rh{padding:18px 16px 18px 0;font:600 17px/1.3 'Archivo',sans-serif;color:var(--fg);
  border-top:2px solid var(--hair-soft)}
.ax-x-rh span{display:block;font:500 10.5px 'IBM Plex Mono',monospace;letter-spacing:.14em;
  color:var(--fg-faint);margin-top:6px;text-transform:uppercase}
.ax-x-cell{display:block;padding:16px 14px;border-top:2px solid var(--hair-soft)}
.ax-x-cell b{display:block;font:600 15.5px/1.4 'Archivo',sans-serif;color:var(--fg)}
.ax-x-cell i{display:block;font-style:normal;font:500 10px 'IBM Plex Mono',monospace;
  letter-spacing:.12em;color:var(--fg-faint);margin-top:7px;text-transform:uppercase}
.ax-x-cell i.va{color:var(--fg-dim);border-bottom:2px dashed var(--fg-faint);padding-bottom:2px;display:inline-block}
.ax-x-meta .ax-x-rh{font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fg-faint)}
.ax-x-m{padding-top:13px;padding-bottom:13px}
/* featured column (home jurisdiction): accent tint + outline, benchmark-table idiom */
.ax-x-jur.feat,.ax-x-cell.feat{background:color-mix(in srgb, var(--accent) 8%, transparent);
  border-left:2px solid var(--accent);border-right:2px solid var(--accent)}
.ax-x-jur.feat{border-top:2px solid var(--accent);border-radius:10px 10px 0 0;padding-top:16px}
.ax-x-row:last-child .ax-x-cell.feat{border-bottom:2px solid var(--accent);border-radius:0 0 10px 10px;padding-bottom:18px}
.ax-x-row:last-child .ax-x-rh{border-bottom:none}
.ax-map-note{margin-top:18px;font:400 12.5px/1.7 'IBM Plex Mono',monospace;letter-spacing:.06em;
  color:var(--fg-faint);border-top:2px solid var(--hair);padding-top:16px;max-width:86ch}

/* ---- verdict panel: single-column benchmark grid (dossier pages) ---- */
.ax-x-1{min-width:0;max-width:980px}
.ax-x-1 .ax-x-head,.ax-x-1 .ax-x-row{grid-template-columns:minmax(200px,.9fr) 2fr}
.ax-x-buyer-row .ax-x-rh{font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);display:flex;align-items:center}
.ax-x-buyer{background:color-mix(in srgb, var(--accent) 6%, transparent)}
.ax-x-buyer p{margin:0;font-size:17.5px;line-height:1.6;color:var(--fg)}
/* buy link row (map grid, one per jurisdiction column) */
.ax-x-buy{font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);text-decoration:none;border-bottom:2px solid transparent}
.ax-x-buy:hover{border-bottom-color:var(--accent)}

/* ---- dossier body ---- */
.ax-body{max-width:88ch}
.ax-body h2{font:600 clamp(26px,2.6vw,38px)/1.08 'Archivo',sans-serif;letter-spacing:-.02em;
  margin:clamp(40px,5vw,60px) 0 20px;padding-top:22px;border-top:2px solid var(--hair)}
.ax-body h3{font:600 clamp(19px,1.7vw,23px)/1.2 'Archivo',sans-serif;letter-spacing:-.01em;
  border-left:6px solid var(--accent);padding-left:14px;margin:30px 0 14px}
.ax-body p{font-size:20px;line-height:1.7;color:var(--fg-dim);margin-bottom:16px}
.ax-body ul{list-style:none;margin-bottom:16px}
.ax-body li{font-size:19px;line-height:1.65;color:var(--fg-dim);padding:9px 0 9px 18px;
  border-top:2px solid var(--hair-soft);position:relative}
.ax-body li::before{content:"";position:absolute;left:0;top:19px;width:7px;height:2px;background:var(--fg-faint)}
.ax-body li:first-child{border-top:none}
.ax-body strong{color:var(--fg);font-weight:600}
.ax-body code{font:400 .92em 'IBM Plex Mono',monospace;color:var(--fg)}
.ax-body sup{font:400 11.5px 'IBM Plex Mono',monospace;line-height:0}
.ax-body sup a{color:var(--accent);text-decoration:none;padding:0 1px}
.ax-body sup a:hover{text-decoration:underline}
.ax-notes{list-style:none;margin-top:clamp(36px,4vw,52px);border-top:2px solid var(--hair);padding-top:18px;
  counter-reset:fn}
.ax-notes li{counter-increment:fn;font:400 13.5px/1.7 'IBM Plex Mono',monospace;color:var(--fg-faint);
  padding:8px 0 8px 34px;position:relative;border-top:2px solid var(--hair-soft)}
.ax-notes li:first-child{border-top:none}
.ax-notes li::before{content:counter(fn);position:absolute;left:0;top:9px;color:var(--accent);
  font-size:11.5px;letter-spacing:.06em}
.ax-notes code{color:var(--fg-dim)}

/* ---- instruments ---- */
.ax-inst{border:2px solid var(--hair)}
.ax-inst-row{padding:clamp(18px,2vw,26px) 18px;border-top:2px solid var(--hair-soft)}
.ax-inst-row:first-of-type{border-top:none}
.ax-inst-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px}
.ax-inst-top h3{font:600 clamp(17px,1.5vw,21px)/1.3 'Archivo',sans-serif;letter-spacing:-.01em}
.ax-inst-meta{display:flex;flex-wrap:wrap;gap:6px 22px;font:500 12px/1.7 'IBM Plex Mono',monospace;
  letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:10px}
.ax-inst-meta b{color:var(--fg-dim);font-weight:500}
.ax-inst-lines{font:400 13.5px/1.8 'IBM Plex Mono',monospace;color:var(--fg-dim)}
.ax-inst-lines .k{color:var(--fg-faint);text-transform:uppercase;letter-spacing:.12em;font-size:11px;
  display:inline-block;min-width:92px}
.ax-inst-lines a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--hair)}
.ax-inst-lines a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.ax-inst-gap{border-top-style:dashed;border-top-width:2px;border-top-color:var(--hair);
  border-left:2px dashed var(--hair);border-right:2px dashed var(--hair);border-bottom:2px dashed var(--hair);
  margin:14px 18px;padding:16px 18px}
.ax-inst-gap p{font-size:18px;line-height:1.65;color:var(--fg-dim);max-width:88ch}
.ax-gap-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px}
.ax-gap-head .ax-vk{font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}
.ax-foot-line{margin-top:clamp(40px,5vw,60px);border-top:2px solid var(--hair);padding-top:18px;
  font:400 13px/1.7 'IBM Plex Mono',monospace;letter-spacing:.08em;color:var(--fg-faint)}

/* ---- builder CTA rows (map + dossier verdict) ---- */
.ax-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:clamp(22px,3vw,32px)}
.ax-cta-note{font:500 11.5px/1.7 'IBM Plex Mono',monospace;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fg-faint);max-width:64ch;margin:0}

/* ---- section spacing on atlas pages ---- */
.ax-sec{padding:clamp(56px,8vh,96px) 0 0}
.ax-sec .sec-top{margin-bottom:clamp(24px,3vw,40px)}

/* ---- responsive ---- */
@media (max-width:760px){
  .ax-vrow{grid-template-columns:1fr;gap:8px}
  .ax-buyer{grid-template-columns:1fr;gap:8px}
  .ax-inst-top{flex-direction:column;gap:8px}
  .ax-gap-head{flex-direction:column;gap:8px}
}
