/* =====================================================================
   SPAN · legal and utility pages: privacy, imprint, 404
   Reading pages: one column on A2, span headers on A1, tables as registers.
   ===================================================================== */
.legal{padding-block:44px 0}
.legal .h1{margin:28px var(--gut) 0 var(--ax1);font-family:var(--f-display);font-weight:600;font-stretch:82%;font-size:clamp(40px,4.8vw,72px);line-height:.98;letter-spacing:-.02em}
.legal .intro{margin:24px var(--gut) 0 var(--ax2);max-width:58ch;font-size:clamp(18px,1.45vw,21px);line-height:1.5;color:var(--fg2)}
.legal .stamp{margin:18px var(--gut) 0 var(--ax2);color:var(--fg3)}
.toc{margin:36px var(--gut) 0 var(--ax2);padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;max-width:760px;border-top:1px solid var(--fg)}
.toc li{border-bottom:1px solid var(--rule)}
.toc a{display:flex;gap:14px;align-items:baseline;padding:9px 0;font-family:var(--f-display);font-weight:500;font-size:15px}
.toc a span{font-family:var(--f-mono);font-size:10px;font-stretch:87.5%;color:var(--fg3);min-width:22px}
.toc a:hover{color:var(--cobalt)}
.lsec{position:relative;padding-top:clamp(56px,6vw,88px);scroll-margin-top:24px}
.lsec h2{margin:18px var(--gut) 0 var(--ax1);font-family:var(--f-display);font-weight:600;font-stretch:82%;font-size:clamp(24px,2.2vw,32px);line-height:1.1;letter-spacing:-.01em}
.prose{margin:18px var(--gut) 0 var(--ax2);max-width:66ch}
.prose p{margin:0 0 14px;font-size:17.5px;line-height:1.6}
.prose ul{margin:0 0 16px;padding-left:20px}
.prose li{margin:5px 0;font-size:17px;line-height:1.55}
.prose li::marker{color:var(--fg3)}
.prose a{border-bottom:1px solid var(--rule-2)}
.prose a:hover{color:var(--cobalt);border-color:var(--cobalt)}
.prose strong{font-family:var(--f-display);font-weight:600;font-size:.95em}
.prose code{font-family:var(--f-mono);font-size:.78em;font-stretch:87.5%;background:var(--plate);padding:1px 5px;border-radius:2px}
.prose .basis{display:block;margin-top:-4px;color:var(--fg3)}
.kvl{margin:18px var(--gut) 0 var(--ax2);max-width:820px;border-top:1px solid var(--fg)}
.kvl div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.kvl dt{font-family:var(--f-mono);font-size:9.5px;font-stretch:87.5%;letter-spacing:.06em;text-transform:uppercase;color:var(--fg3);padding-top:4px}
.kvl dd{margin:0;font-size:16.5px;line-height:1.5}
.kvl dd a{border-bottom:1px solid var(--rule-2)}
.kvl dd a:hover{color:var(--cobalt);border-color:var(--cobalt)}
.ltab{margin:18px var(--gut) 0 var(--ax2);overflow-x:auto;max-width:980px}
.ltab table{border-collapse:collapse;width:100%;min-width:620px;font-size:15px;line-height:1.45}
.ltab th,.ltab td{text-align:left;vertical-align:top;padding:10px 18px 10px 0;border-bottom:1px solid var(--rule)}
.ltab thead th{font-family:var(--f-mono);font-size:9.5px;font-stretch:87.5%;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--fg3);border-bottom:1px solid var(--fg)}
.ltab td:first-child{font-family:var(--f-mono);font-size:12px;font-stretch:87.5%;white-space:nowrap}
.ltab caption{caption-side:bottom;text-align:left;padding-top:10px;font-size:14px;color:var(--fg3)}
/* 404 */
.nf .h1 span{display:block;margin-top:14px;font-family:var(--f-read);font-weight:350;font-stretch:100%;font-style:italic;font-size:.5em;letter-spacing:0;color:var(--fg2)}
.nf .go{margin:40px var(--gut) 0 var(--ax2);padding:0;list-style:none;display:grid;gap:0;max-width:520px;border-top:1px solid var(--fg)}
.nf .go li{border-bottom:1px solid var(--rule)}
.nf .go a{display:flex;align-items:center;gap:12px;padding:12px 0;font-family:var(--f-display);font-weight:500;font-size:17px}
.nf .go a:hover{color:var(--cobalt)}
.nf .go small{margin-left:auto;font-family:var(--f-mono);font-size:10px;font-stretch:87.5%;color:var(--fg3)}
@media (max-width:719px){
  .legal .intro,.legal .stamp,.prose,.kvl,.ltab,.toc,.nf .go{margin-left:var(--ax1)}
  .toc{grid-template-columns:minmax(0,1fr)}
  .kvl div{grid-template-columns:minmax(0,1fr);gap:2px}
}
