.inner-hero {
  padding: 64px 0 56px;
  border-bottom: 1px solid var(--graphite-line);
}
.inner-title { font-size: clamp(32px, 4.2vw, 50px); margin: 18px 0 20px; letter-spacing: -0.025em; color: var(--on-graphite); }
.inner-lede { color: var(--on-graphite-dim); font-size: 17px; line-height: 1.75; max-width: 62ch; }

.inner-page { padding: 68px 0 100px; max-width: 880px; }
.inner-block { margin-top: 58px; }
.inner-block:first-child { margin-top: 0; }
.inner-block h2 { font-size: 22px; margin-bottom: 16px; }
.cs-body { color: var(--ink-dim); line-height: 1.8; font-size: 15.5px; max-width: 68ch; }

.skills-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 8px; background: var(--border); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.skills-grid > div { background: var(--panel); padding: 22px; }
.skills-h {
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: 0.05em;
  color: var(--blue-deep);
  margin-bottom: 10px;
  text-transform: uppercase;
  font-weight: 600;
}

.timeline-note {
  border-left: 2px solid var(--border-strong);
  padding-left: 20px;
  margin-top: 8px;
}

/* about — opening statement treatment: the section's existing first
   sentence set larger as a statement, the rest as supporting text, so the
   page reads as "the person behind the investigations" rather than a
   generic About Me block with a heading. */
.about-statement {
  font-family: var(--font-display);
  font-size: clamp(21px, 2.5vw, 29px);
  line-height: 1.45;
  font-weight: 500;
  color: var(--ink);
  max-width: 62ch;
  margin: 6px 0 18px;
}
.about-support { max-width: 58ch; }

/* contact — closing composition: a deliberate end-of-experience mark
   rather than the page simply stopping after the contact cards. */
.closing-mark {
  margin-top: 64px;
  padding-top: 30px;
  border-top: 1px dashed var(--border-strong);
  font-family: var(--font-mono);
}
.closing-mark span { display: block; text-transform: uppercase; }
.closing-mark .line-1 { font-size: 14px; letter-spacing: 0.06em; color: var(--ink); font-weight: 600; }
.closing-mark .line-2 { font-size: 11px; letter-spacing: 0.1em; color: var(--ink-faint); margin-top: 6px; }

.cs-nav-footer {
  display: flex;
  justify-content: space-between;
  padding-top: 36px;
  margin-top: 60px;
  border-top: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 13px;
  flex-wrap: wrap;
  gap: 12px;
}
.cs-nav-footer a:hover { color: var(--blue-deep); }

/* contact */
.contact-grid { display: grid; gap: 14px; margin-top: 40px; max-width: 540px; }
.contact-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  background: var(--panel);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.contact-card:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--amber); }
.contact-value { font-size: 15px; color: var(--ink); font-family: var(--font-mono); }
.contact-note { margin-top: 36px; }

@media (max-width: 760px) {
  .skills-grid { grid-template-columns: 1fr; }
}
