/* MeshVault v4 acquisition pages: /chatgpt-alternative, /ads and the 404.
   Loads after shell.css. Uses tokens and site.css parts only; every length is a multiple of --u. */

/* ---------- Page head with a plate beside the headline ---------- */
.acq-head{padding:var(--s-16) 0 var(--s-10)}
.acq-head__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-10) var(--s-16);align-items:start}
.acq-head .page-head__title{max-width:14em;font-size:var(--t-3xl);line-height:1.08}
.acq-head .page-head__lede{max-width:32em}
.acq-head .page-head__meta{margin-top:var(--s-6)}
@media (max-width:1023px){.acq-head__grid{grid-template-columns:1fr}}
@media (max-width:767px){.acq-head{padding:var(--s-10) 0 var(--s-6)}}

/* The plate: card stock carrying the one object the page is about. Its label is a tape stuck on it. */
.head-plate{position:relative;margin:var(--s-5) 0 0;padding:var(--s-10) var(--s-6) var(--s-6);background:var(--card);border-radius:var(--r-card);box-shadow:var(--lift-2)}
.head-plate__label{position:absolute;top:0;left:var(--s-6);margin:0;line-height:0;translate:0 -50%}
.head-plate__label .tape{display:inline-block}
.head-plate figcaption{margin:0 0 var(--s-5)}
.head-plate__note{margin:var(--s-4) 0 0;font:400 var(--t-xs)/var(--lh-ui) var(--font-ui);color:var(--ink-3)}
.head-plate .slip{box-shadow:none;background:transparent}
.head-plate .slip li{padding-inline:0}
@media (max-width:599px){.head-plate{padding:var(--s-10) var(--s-4) var(--s-4)}.head-plate__label{left:var(--s-4)}.head-plate .slip li{padding:var(--s-4) 0}}

/* ---------- First-year cost bars: a drawn scale of dated prices ---------- */
.bars{display:grid;gap:var(--s-5);margin:0;padding:0;list-style:none}
.bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-1) var(--s-3);align-items:baseline}
.bars__name{font:600 var(--t-sm)/var(--lh-ui) var(--font-ui);color:var(--ink)}
.bars__val{font:600 var(--t-sm)/var(--lh-ui) var(--font-ui);text-align:right;font-variant-numeric:tabular-nums lining-nums;color:var(--ink)}
.bars__track{grid-column:1/-1;display:flex;height:var(--s-3);background:linear-gradient(var(--rule),var(--rule)) left bottom/100% 1px no-repeat}
.bars__fill{display:block;height:100%;flex:none;width:calc(var(--v) * 86% / 6199);background:var(--ink)}
.bars__fill--setup{background:var(--ink-3)}
.bars__open{display:block;flex:none;width:14%;height:100%;border:1px dashed var(--ink-3);border-left:0}
.bars__legend{margin:var(--s-5) 0 0;font:400 var(--t-xs)/var(--lh-ui) var(--font-ui);color:var(--ink-2)}
.bars__key{display:inline-block;width:12px;height:12px;margin-right:var(--s-1);vertical-align:-1px;background:var(--ink)}
.bars__key--setup{background:var(--ink-3)}
.bars__key--open{background:none;border:1px dashed var(--ink-3)}
.bars__legend span + span{margin-left:var(--s-3)}

/* ---------- Jump links: white tape tabs to each part of a long page ---------- */
.acq-jump{padding:0 0 var(--s-8)}
.acq-jump ul{display:flex;flex-wrap:wrap;gap:0 var(--s-3);margin:0;padding:0;list-style:none}
.acq-jump a{display:inline-flex;align-items:center;min-height:var(--tap-min);text-decoration:none}
.acq-jump a:hover .tape{translate:0 -1px}
.acq-jump .tape{transition:translate var(--dur-1) var(--ease-out)}

/* ---------- Citation keys and sources ---------- */
.cite{padding:0 1px;font:600 .75em/1 var(--font-ui);color:var(--ink-2);text-decoration:none;white-space:nowrap;vertical-align:.12em}
.cite:hover{color:var(--ink);text-decoration:underline}
.sources{margin:0;border-top:2px solid var(--ink)}
.sources > div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:var(--s-3);align-items:center;padding:var(--s-1) var(--s-2);border-bottom:1px solid var(--rule)}
.sources > div:target{background:var(--card);box-shadow:var(--lift-1)}
.sources dt{margin:0;font:600 var(--t-sm)/var(--lh-ui-lg) var(--font-ui);font-variant-numeric:tabular-nums;color:var(--ink)}
.sources dd{margin:0;font:400 var(--t-sm)/var(--lh-ui-lg) var(--font-ui);color:var(--ink-2);overflow-wrap:anywhere}
.sources dd small{display:block;padding:0 0 var(--s-2);font-size:var(--t-xs);line-height:var(--lh-ui);color:var(--ink-3)}
.sources a{display:inline-flex;align-items:center;min-height:var(--tap-min);color:var(--ink)}
.sources-note{margin:0 0 var(--s-8);max-width:var(--measure);color:var(--ink-2)}

/* ---------- Tables of figures ---------- */
.acq-table{width:100%;margin:0 0 var(--s-8);border-top:2px solid var(--ink);font-size:var(--t-md);line-height:var(--lh-ui-lg)}
.acq-table caption{caption-side:top;padding:0 0 var(--s-4);text-align:left;line-height:0}
.acq-table caption .tape{display:inline-block}
.acq-table th,.acq-table td{padding:var(--s-4) var(--s-3);border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.acq-table thead th{font:600 var(--t-xs)/var(--lh-ui) var(--font-ui);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);border-bottom-color:var(--rule-strong);white-space:nowrap}
.acq-table tbody th{font:600 var(--t-sm)/var(--lh-ui-lg) var(--font-ui);color:var(--ink)}
.acq-table td{color:var(--ink-2)}
.acq-table .num{text-align:right}
.acq-table td.num{white-space:nowrap}
.acq-table .tape{white-space:nowrap}
.acq-table--three tbody th{width:22%}
@media (max-width:699px){
  .acq-table,.acq-table tbody,.acq-table tr,.acq-table th,.acq-table td{display:block}
  .acq-table thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
  .acq-table tr{padding:var(--s-4) 0;border-bottom:1px solid var(--rule)}
  .acq-table th,.acq-table td{padding:var(--s-1) 0;border:0}
  .acq-table tbody th{padding-bottom:var(--s-2)}
  .acq-table td[data-label]::before{content:attr(data-label);display:block;font:600 var(--t-2xs)/16px var(--font-ui);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-3)}
  .acq-table .num,.acq-table td.num{text-align:left;white-space:normal}
  .acq-table--three tbody th{width:auto}
}
.acq-label{margin:0 0 var(--s-4);line-height:0}
.acq-label .tape{display:inline-block}

/* ---------- Plain ruled lists (rent if, own if, asks) ---------- */
.rules{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.rules li{margin:0;padding:var(--s-4) 0;border-bottom:1px solid var(--rule);color:var(--ink-2)}
.rules li + li{margin-top:0}
.fit-col h3{margin:0 0 var(--s-4);line-height:0}
.fit-col h3 .tape{display:inline-block}
.asks{margin-top:var(--s-16)}
.asks h3{margin:0 0 var(--s-4);max-width:24em}
.asks__link{margin:var(--s-4) 0 0}

/* Prose that sits under a table or board. */
.acq-prose{max-width:var(--measure);margin-top:var(--s-6)}
.acq-prose p{color:var(--ink-2)}
.acq-prose .opinion{color:var(--ink)}
.acq-prose .tape{vertical-align:baseline;white-space:nowrap}

/* Status tape inside running text or a table cell. */
.tape.unv{display:inline-block;margin-inline-start:var(--s-1);padding:0 var(--s-2);font-size:calc(var(--u) * 3);line-height:calc(var(--u) * 6);vertical-align:.06em;white-space:nowrap}

/* ---------- Offer shelf, three across ---------- */
.shelf--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.shelf--three .offer:nth-child(2){border-right:1px solid var(--rule)}
.shelf--three .offer:nth-child(-n+2){border-bottom:0}
.shelf--three .offer:last-child{border-right:0}
@media (max-width:899px){
  .shelf--three{grid-template-columns:1fr}
  .shelf--three .offer{border-right:0;border-bottom:1px solid var(--rule)}
  .shelf--three .offer:last-child{border-bottom:0}
  .shelf--three .offer--lead{margin-top:0}
}
.shelf--three .offer .tape--date{margin-inline-start:0}

/* ---------- Contact close on /ads ---------- */
.acq-contact{max-width:var(--measure)}
.acq-contact .actions{margin-top:var(--s-6)}
.acq-contact .fine{margin-top:var(--s-6)}

/* ---------- 404 ---------- */
.nf{padding:var(--s-16) 0 var(--s-24)}
.nf__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-12) var(--s-16);align-items:start}
.nf__title{max-width:12em;margin:0 0 var(--s-6);font:400 var(--t-4xl)/1.04 var(--font-display);letter-spacing:-.025em;text-wrap:balance}
.nf .lede{margin:0 0 var(--s-10)}
.nf__paths{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:var(--s-8);margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.nf__paths li{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:center;padding:var(--s-5) 0;border-bottom:1px solid var(--rule)}
.nf__paths li > p{margin:0;font:400 var(--t-sm)/var(--lh-ui-lg) var(--font-ui);color:var(--ink-2)}
.nf__paths li > a.tape{justify-self:start}
.nf__slip{position:relative;margin:var(--s-6) 0 0;padding:var(--s-8) var(--s-6) var(--s-6);background:var(--card);border-radius:var(--r-card);box-shadow:var(--lift-2);isolation:isolate}
/* A second sheet peeks out from behind, offset, as on the home page. */
.nf__slip::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--card);border-radius:var(--r-card);box-shadow:var(--lift-1);rotate:1.6deg;translate:var(--s-2) var(--s-2)}
.nf__tapes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin:0 0 var(--s-6);line-height:0}
.nf__tapes .tape{display:inline-block}
.nf__slip p:last-child{margin:0;color:var(--ink-2)}
@media (max-width:1023px){.nf__grid{grid-template-columns:1fr}.nf__slip{max-width:32em}}
@media (max-width:767px){
  .nf{padding:var(--s-10) 0 var(--s-16)}
  .nf__paths{grid-template-columns:1fr}
  .nf__paths li{grid-template-columns:1fr;gap:var(--s-3)}
  .nf__paths li > a.tape{justify-self:stretch}
  .nf__slip{margin-top:var(--s-10);padding:var(--s-6) var(--s-4) var(--s-4)}
}

@media (prefers-reduced-motion:reduce){.acq-jump .tape{transition:none}}
@media (forced-colors:active){.head-plate,.nf__slip,.sources > div:target{border:1px solid CanvasText}.bars__fill{background:CanvasText}}

/* Sentences inside board rows and table cells. */
.board dd > p,.acq-table td > p{margin:0}
