/* CV layout: one hero content column; the photograph is a contained visual layer. */
.cv-page main { padding-top:var(--header-height); }
.cv-hero {
  /* Preserve the original 680px desktop composition; this is a vertical art-direction minimum. */
  min-block-size:42.5rem;
  padding:var(--section-space-compact) var(--layout-inset);
  background:var(--paper);
  display:grid;
  align-items:center;
  grid-template-columns:minmax(0,1fr);
}
.cv-hero-copy { position:relative; z-index:1; max-inline-size:calc(var(--content-width) / 2); }
.cv-hero h1,.cv-end h2 { margin:var(--space-5) 0 var(--space-7); }
.cv-lede { max-inline-size:var(--content-reading); color:var(--muted); }
.cv-links { display:flex; gap:var(--space-5); flex-wrap:wrap; margin-top:var(--space-6); color:var(--accent); align-items:baseline; }
.cv-section { padding:var(--section-space) var(--layout-inset); border-top:var(--border-hairline) solid var(--line); }
.cv-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-11); max-inline-size:var(--content-width); }
.cv-two-col h2 { margin:var(--space-4) 0; }
.cv-two-col h2 em { font-style:normal; color:var(--accent); }
.cv-two-col>p { max-inline-size:var(--content-reading); color:var(--muted); }
.skill-cloud { display:flex; flex-wrap:wrap; gap:var(--space-3); max-inline-size:var(--content-details); margin-top:var(--space-6); }
.skill-cloud span { border-bottom:var(--border-hairline) solid var(--color-line-on-dark); padding-bottom:var(--space-2); }
.history { max-inline-size:var(--content-width); }
.history article { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:var(--space-7); padding:var(--space-5) 0; border-top:var(--border-hairline) solid var(--line); }
.history article:last-child { border-bottom:var(--border-hairline) solid var(--line); }
.history time { color:var(--accent); padding-top:var(--space-1); }
.history h3 { margin:0; }
.history p { margin:var(--space-2) 0; color:var(--accent); }
.history small { display:block; color:var(--muted); max-inline-size:var(--content-reading); }
.education-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--space-11); margin-top:var(--space-5); max-inline-size:var(--content-details); }
.education-grid div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-5); padding:var(--space-5) 0; border-top:var(--border-hairline) solid var(--color-line-on-dark); }
.education-grid span { color:var(--color-muted-on-dark); text-align:right; }
.cv-end { padding:var(--section-space-roomy) var(--layout-inset); }
.cv-footer { display:flex; flex-wrap:wrap; gap:var(--space-5); justify-content:space-between; padding:var(--space-5) var(--layout-inset); background:#101321; color:#b7bac8; }
.cv-footer a:hover { color:var(--color-white); }
.cv-hero-bg,.cv-hero-shade,.cv-hero-grid { position:absolute; inset:0; }
.cv-hero-bg { z-index:-3; }
.cv-hero-bg img { object-position:right center; }
.cv-hero-shade { z-index:-2; background:linear-gradient(90deg,#f5f3eef5 0%,#f5f3eedb 42%,#f5f3ee70 74%,#11152238 100%),linear-gradient(0deg,#f5f3eece,transparent 62%); }
.cv-hero-grid { z-index:-1; opacity:.25; }
@media(max-width:700px) {
  .cv-hero { min-block-size:auto; }
  .cv-two-col,.history article,.education-grid { grid-template-columns:minmax(0,1fr); }
  .cv-two-col { gap:var(--space-7); }
  .history article { gap:var(--space-3); }
  .education-grid div { display:block; }
  .education-grid span { display:block; text-align:left; margin-top:var(--space-2); }
  .cv-end { padding-block:var(--section-space-compact); }
  .cv-hero-bg img { object-position:72% center; }
  .cv-hero-shade { background:linear-gradient(90deg,#f5f3eef4 0%,#f5f3eed2 74%,#f5f3ee66 100%),linear-gradient(0deg,#f5f3eedb,transparent 68%); }
}
