/* Supporting content pages: projects, professional profile and privacy. */
.content-page h1 {
  max-width: 900px;
  font-size: clamp(2.4rem, 4.8vw, 4rem);
  line-height: 1.08;
  letter-spacing: -.055em;
}
.content-page h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
.content-hero { padding-block: 34px 76px; border-bottom: 1px solid var(--line); }
.content-hero .breadcrumbs { margin-bottom: 35px; }
.content-lead { max-width: 760px; margin-top: 25px; font-size: 1rem; line-height: 1.9; }
.content-updated { margin-top: 20px; color: #c0cfe5; font-size: .82rem; }
.content-section { padding-block: 70px; border-bottom: 1px solid var(--line); }
.content-section-heading { max-width: 760px; margin-bottom: 35px; }
.content-section-heading > p:not(.eyebrow) { margin-top: 16px; font-size: .9rem; line-height: 1.9; }
.content-note-section { background: #0e1725; }
.content-split { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 72px; align-items: start; }
.content-prose p { max-width: 72ch; font-size: .92rem; line-height: 1.95; }
.content-prose p + p { margin-top: 18px; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.content-card {
  min-width: 0;
  padding: 29px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.content-card-type { min-height: 2.9em; color: var(--accent); font-size: .72rem; font-weight: 650; line-height: 1.65; letter-spacing: .07em; text-transform: uppercase; }
.content-card h2 { margin-top: 15px; font-size: 1.35rem; line-height: 1.45; letter-spacing: -.035em; }
.content-card h2 span { color: var(--accent); }
.content-card h3 { font-size: 1.08rem; line-height: 1.5; }
.content-card p:not(.content-card-type) { margin-top: 15px; font-size: .86rem; line-height: 1.9; }
.content-card .text-link { margin-top: 19px; }
.content-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.content-link-card {
  display: block;
  min-height: 88px;
  padding: 18px 20px;
  border: 1px solid #405673;
  border-radius: 10px;
  text-decoration: none;
  background: var(--surface);
}
.content-link-card + .content-link-card { margin-top: 13px; }
.content-link-card strong { display: block; color: var(--text); font-size: .9rem; }
.content-link-card span { display: block; margin-top: 5px; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.content-link-card:hover { border-color: #6b89b4; background: #17263c; }
.content-cta { margin-top: 70px; }
.profile-hero-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, .65fr); align-items: center; gap: 70px; }
.profile-hero-grid > img { width: 100%; max-width: 310px; justify-self: center; }
.profile-hero .hero-actions { margin-top: 29px; }
.about-links { display: flex; flex-wrap: wrap; gap: 3px 24px; margin-top: 13px; }
.legal-layout { display: grid; grid-template-columns: minmax(190px, .48fr) minmax(0, 1.52fr); gap: 70px; align-items: start; }
.legal-index { position: sticky; top: 118px; display: flex; flex-direction: column; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.legal-index a { display: flex; align-items: center; min-height: 44px; color: #c5d2e5; font-size: .78rem; text-decoration: none; }
.legal-index a:hover { color: #fff; }
.legal-content { max-width: 800px; }
.legal-content section + section { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--line); }
.legal-content h2 { font-size: 1.55rem; }
.legal-content p { margin-top: 16px; font-size: .91rem; line-height: 1.95; }
.privacy-page .content-section { border-bottom: 0; }

@media (max-width: 900px) {
  .content-hero { padding-block: 25px 55px; }
  .content-section { padding-block: 56px; }
  .content-split { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .content-card-grid { grid-template-columns: minmax(0, 1fr); }
  .profile-hero-grid { gap: 35px; }
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .legal-index { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
}

@media (max-width: 640px) {
  .content-page h1 { font-size: clamp(2.05rem, 8.7vw, 3rem); line-height: 1.12; }
  .content-hero { padding-top: 21px; padding-bottom: 44px; }
  .content-hero .breadcrumbs { margin-bottom: 24px; }
  .content-lead { margin-top: 20px; font-size: .94rem; }
  .content-section { padding-block: 44px; }
  .project-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .content-card { padding: 24px; }
  .content-card-type { min-height: 0; font-size: .75rem; }
  .content-card h2 { font-size: 1.24rem; }
  .content-card p:not(.content-card-type), .content-prose p, .legal-content p { font-size: .9rem; }
  .profile-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .profile-hero-grid > img { max-width: 240px; justify-self: start; }
  .legal-index { grid-template-columns: minmax(0, 1fr); }
  .legal-content section + section { margin-top: 38px; padding-top: 38px; }
  .content-cta { margin-top: 44px; }
}
