* { box-sizing: border-box; }
body {
  margin: 0;
  background: #ffffff;
  color: #1a1a1a;
  font-family: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 15px;
  line-height: 1.7;
}
main {
  max-width: 728px;
  margin: 0 auto;
  padding: 56px 24px 96px;
}
h1.title {
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 4px;
}
.tagline { color: #666; margin: 0 0 48px; }
h1 {
  font-size: 15px;
  font-weight: 500;
  margin: 56px 0 8px;
}
h1::before { content: "## "; color: #999; }
h2 {
  font-size: 15px;
  font-weight: 500;
  margin: 32px 0 8px;
}
h2::before { content: "### "; color: #999; }
p { margin: 0 0 16px; }
ul { list-style: none; margin: 0 0 16px; padding: 0; }
li::before { content: "- "; color: #999; }
a { color: #1a1a1a; text-decoration: underline; text-underline-offset: 3px; }
a:hover { background: #1a1a1a; color: #ffffff; text-decoration: none; }
.muted { color: #999; }
.ok { color: #1a7f37; }
.bad { color: #c0392b; }
code {
  background: #f4f4f4;
  padding: 1px 5px;
  font-size: 13.5px;
}

/* --- slide nav arrows (top right) --- */
.slidenav {
  position: fixed;
  top: 16px;
  right: 20px;
  font-size: 13px;
  color: #999;
  background: #ffffff;
  padding: 2px 6px;
}
.slidenav a {
  color: #1a1a1a;
  text-decoration: none;
  padding: 2px 6px;
}
.slidenav span.count { color: #999; margin: 0 4px; }
.slidenav a.off {
  color: #d8d8d8;
  pointer-events: none;
}

/* --- forms (matches the lead form on the services page) --- */
form.exercise { max-width: 480px; }
.field { margin: 0 0 14px; }
.field label { display: block; color: #666; font-size: 13px; margin: 0 0 4px; }
.field input, .field textarea {
  width: 100%;
  font: inherit;
  color: inherit;
  background: #ffffff;
  border: 1px solid #1a1a1a;
  padding: 9px 12px;
}
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field textarea:focus { outline: 2px solid #1a1a1a; outline-offset: -1px; }
.field input[type="file"] { border: 1px dashed #999; color: #666; }
button.send {
  font: inherit;
  font-weight: 500;
  color: #1a1a1a;
  background: #ffffff;
  border: 1px solid #1a1a1a;
  padding: 10px 18px;
  cursor: pointer;
}
button.send:hover { background: #1a1a1a; color: #ffffff; }
button.send:disabled { opacity: 0.5; cursor: wait; }
.status { margin: 10px 0 0; }

footer {
  margin-top: 72px;
  color: #999;
  font-size: 13px;
}
footer a { color: #999; }
