/* Meridian: an institutional record, not a brand. Serif for the things a clinic prints,
   mono for identifiers, and a single restrained blue — deliberately unlike the shop, so
   the two demos cannot be mistaken for one template with the nouns swapped. */
:root {
  --paper: #F7F8F7;
  --card: #fff;
  --ink: #16201C;
  --soft: #5A6862;
  --rule: #D6DEDA;
  --seal: #1B5E5A;
  --restricted: #8A4B10;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 16px; line-height: 1.6;
}
.wrap { width: min(64rem, 100% - 2.5rem); margin-inline: auto; }
a { color: var(--seal); }

.bar { border-bottom: 1px solid var(--rule); background: var(--card); }
.bar__in { display: flex; align-items: center; gap: 1.5rem; padding: .9rem 0; flex-wrap: wrap; }
.mark { font-family: 'IBM Plex Serif', serif; font-size: 1.12rem; text-decoration: none; color: var(--ink); }
.mark span { font-weight: 600; color: var(--seal); }
.bar nav { display: flex; gap: 1.1rem; }
.bar nav a { font-size: .88rem; text-decoration: none; color: var(--soft); }
.bar nav a:hover { color: var(--ink); }
.who {
  margin-left: auto; font-family: 'IBM Plex Mono', monospace; font-size: .72rem;
  letter-spacing: .06em; color: var(--soft);
  border: 1px solid var(--rule); border-radius: 2px; padding: .3em .6em;
}

section { padding: 2.6rem 0; }
.intro { padding-top: 3.2rem; }
.kicker {
  font-family: 'IBM Plex Mono', monospace; font-size: .7rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--soft); margin: 0 0 .9rem;
}
h1 {
  font-family: 'IBM Plex Serif', serif; font-weight: 600; font-size: clamp(2rem, 1.3rem + 2.6vw, 3.1rem);
  line-height: 1.1; margin: 0 0 1rem; letter-spacing: -.015em;
}
h2 { font-family: 'IBM Plex Serif', serif; font-size: 1.4rem; margin: 0 0 1rem; font-weight: 600; }
.lede { font-size: 1.06rem; max-width: 40rem; margin: 0 0 1rem; }
.aside { font-size: .92rem; color: var(--soft); font-style: italic; max-width: 36rem; }

.visits { width: 100%; border-collapse: collapse; background: var(--card); border: 1px solid var(--rule); }
.visits th, .visits td { text-align: left; padding: .8rem .9rem; border-bottom: 1px solid var(--rule); vertical-align: top; font-size: .93rem; }
.visits th {
  font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--soft); font-weight: 500; background: #FBFCFB;
}
.visits tr:last-child td { border-bottom: 0; }
.id { font-family: 'IBM Plex Mono', monospace; font-size: .85rem; }
.cat {
  display: inline-block; font-size: .74rem; padding: .15em .5em; margin: 0 .3em .3em 0;
  border: 1px solid var(--rule); border-radius: 2px; color: var(--soft); background: #FBFCFB;
}
/* Restricted is marked on the page, not only in the policy — someone scanning the table
   should see which record will not travel with a routine release. */
.cat--restricted { color: var(--restricted); border-color: currentColor; }

.note { font-size: .92rem; color: var(--soft); max-width: 44rem; margin: 1rem 0 0; }
.policy { margin: 0; padding-left: 1.2rem; max-width: 46rem; }
.policy li { margin-bottom: .7rem; }
.foot { padding: 2.5rem 0 6rem; color: var(--soft); font-size: .88rem; border-top: 1px solid var(--rule); margin-top: 2rem; }
.foot p { max-width: 46rem; }
