
.page-cv { background:var(--ivory); }
.page-cv main { overflow:hidden; }

.cv-hero {
  position:relative;
  padding:160px 0 84px;
  border-bottom:0px solid var(--line);
  overflow:hidden;
}
.cv-hero::after {
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  border:1px solid rgba(217,93,56,.16);
  border-radius:50%;
  right:-280px;
  top:90px;
  pointer-events:none;
}
.cv-hero-grid {
  display:grid;
  grid-template-columns:minmax(280px,.60fr) minmax(0,1.2fr);
  gap:80px;
  align-items:center;
}
.cv-hero h1 {
  margin:16px 0 16px;
  max-width:760px;
  font-size:clamp(58px,7.5vw,88px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:600;
}
.cv-role {
  margin:0;
  max-width:760px;
  color:var(--slate);
  font-size:clamp(21px,2.2vw,29px);
  line-height:1.35;
}
.cv-role strong { color:var(--copper); font-weight:700; }
.cv-intro { max-width:760px; margin:28px 0 0; font-size:18px; color:#3c4145; }
.cv-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:32px; }
.cv-portrait {
  position:relative;
  z-index:2;
  aspect-ratio:1;
  margin:0;
  overflow:hidden;
  background:#d8d4ca;
  box-shadow:var(--shadow-soft);
  border-radius: var(--radius);
}
.cv-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 18%;}

.cv-value-strip { padding:52px 0 74px; background:var(--paper); }
.cv-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.cv-value-item { border-top:1px solid var(--ink); padding-top:18px; }
.cv-value-item h3 { margin:0 0 8px; font-size:18px; }
.cv-value-item p { margin:0; color:var(--slate); font-size:14px; }

.cv-career { padding:80px 0 80px; background:var(--graphite); color:var(--paper); }
.cv-career .section-head { margin-bottom:54px; }
.cv-career .section-head .lead { max-width:790px; }
.cv-career .eyebrow { color:var(--paper); }

.sec-timeline { padding:80px 0 80px; background:var(--ivory); color:var(--paper); }
.sec-timeline .section-head { margin-bottom:54px; }
.sec-timeline .section-head .lead { max-width:790px; }
.sec-timeline .eyebrow { color:var(--paper); }

.cv-journey {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:0;
  border:1px solid var(--line-dark);
  border-radius: var(--radius);
}
.cv-journey-step { padding:22px 24px; border-right:1px solid var(--line-dark); }
.cv-journey-step:last-child { border-right:0; }
.cv-journey-step span { display:block; margin-bottom:5px; color:rgba(255,255,255,.42); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.cv-journey-step strong { font-size:15px; }

.cv-timeline { position:relative; }
.cv-timeline::before { content:""; position:absolute; left:126px; top:14px; bottom:28px; width:1px; background:var(--line-dark); }
.cv-chapter { position:relative; display:grid; grid-template-columns:102px 1fr; gap:50px; padding-bottom:30px; }
.cv-chapter + .cv-chapter { padding-top:18px; }
.cv-chapter::after {
  content:"";
  position:absolute;
  left:116px;
  top:55px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--copper);
  border:4px solid var(--ivory);
  box-shadow:0 0 0 1px rgba(217,93,56,.45);
}

.cv-chapter-one { position:relative; display:grid; grid-template-columns:102px 1fr; gap:50px; padding-bottom:30px; }
.cv-chapter-one::after {
  content:"";
  position:absolute;
  left:117px;
  top:37px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--copper);
  border:4px solid var(--ivory);
  box-shadow:0 0 0 1px rgba(217,93,56,.45);
}

.cv-date { padding-top:27px; text-align:right; color:var(--ink-soft); font-size:16px; font-weight:800; line-height:1.35; }
.cv-date span { display:block; }
.cv-card { padding:36px; background:var(--paper); color:var(--ink); box-shadow:0 20px 60px rgba(0,0,0,.10); border-radius: var(--radius);}
.cv-card-top { display:flex; justify-content:space-between; gap:26px; align-items:flex-start; margin-bottom:20px; }
.cv-card-kicker { margin-bottom:8px; color:var(--copper); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.cv-card h3 { margin:0 0 8px; font-size:clamp(27px,3vw,36px); }
.cv-company { color:var(--slate); font-size:14px; font-weight:650; }
.cv-tag { flex:0 0 auto; border-radius: var(--radius); padding:8px 10px; background:var(--copper-tint); color:var(--copper-dark); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.cv-story { max-width:920px; margin:0; color:#3c4145; font-size:17px; }
.cv-story strong { color:var(--ink); }

.cv-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:28px 0 26px; }
.cv-metric { padding:16px; border:1px solid var(--line); background:#fff; border-radius: var(--radius);}
.cv-metric strong { display:block; color:var(--ink); font-size:29px; line-height:1; font-weight:600; }
.cv-metric span { display:block; margin-top:7px; color:var(--slate); font-size:11px; line-height:1.35; }
.cv-card-bottom { display:grid; grid-template-columns:1.1fr .9fr; gap:22px; padding-top:23px; border-top:1px solid var(--line); }
.cv-insight { margin:0; color:#3c4145; font-size:14px; }
.cv-insight b { display:block; margin-bottom:4px; color:var(--ink); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.cv-refs { display:flex; flex-wrap:wrap; gap:7px; align-content:flex-start; }
.cv-ref { padding:7px 9px; border:1px solid var(--line); color:var(--slate); background:#fff; font-size:11px; border-radius: var(--radius);}

.cv-skills { padding:118px 0; background:var(--paper); }
.cv-skills-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.cv-skills-copy { max-width:470px; color:var(--slate); font-size:17px; }
.cv-skill-list { border-top:1px solid var(--ink); }
.cv-skill-item { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:21px 0; border-bottom:1px solid var(--line); }
.cv-skill-num { padding-top:3px; color:var(--copper); font-size:11px; font-weight:900; }
.cv-skill-item h3 { margin:0 0 5px; font-size:19px; }
.cv-skill-item p { margin:0; color:var(--slate); font-size:14px; }

.cv-bridge { padding:108px 0; background:var(--graphite); color:var(--paper); }
.cv-bridge-grid { display:grid; grid-template-columns:1fr auto; gap:56px; align-items:end; }
.cv-bridge h2 { max-width:850px; margin:12px 0 18px; }
.cv-bridge p { max-width:760px; margin:0; color:rgba(255,255,255,.72); font-size:18px; }
.cv-bridge-actions { display:flex; flex-direction:column; gap:10px; min-width:230px; }
.cv-bridge .btn--secondary { border-color:rgba(255,255,255,.5); color:var(--paper); }
.cv-bridge .btn--secondary:hover { background:var(--paper); color:var(--ink); }
.cv-bridge .btn--primary { background:var(--copper); color:var(--ink); }
.cv-bridge .btn--primary:hover { background:var(--paper); color:var(--ink); }

@media (max-width:1080px) {
  .cv-hero-grid { grid-template-columns:1fr 300px; gap:44px; }
  .cv-value-grid { grid-template-columns:repeat(2,1fr); }
  .cv-skills-grid { grid-template-columns:1fr; gap:38px; }
  .cv-bridge-grid { grid-template-columns:1fr; align-items:start; }
  .cv-bridge-actions { flex-direction:row; flex-wrap:wrap; }
}

@media (max-width:760px) {
  .cv-hero { padding:118px 0 64px; }
  .cv-hero-grid { grid-template-columns:1fr; gap:36px; }
  .cv-portrait { width:min(100%,300px); }
  .cv-actions .btn { width:100%; }
  .cv-value-strip { padding:42px 0 56px; }
  .cv-value-grid { grid-template-columns:1fr; gap:22px; }
  .cv-career, .cv-skills { padding:82px 0; }
  .cv-journey { grid-template-columns:1fr; }
  .cv-journey-step { border-right:0; border-bottom:1px solid var(--line-dark); }
  .cv-journey-step:last-child { border-bottom:0; }
  .cv-timeline::before { left:10px; }
  .cv-chapter { grid-template-columns:1fr; gap:10px; padding-left:36px; }
  .cv-chapter::after { left:4px; top:5px; }
  .cv-chapter + .cv-chapter::after { top:23px; }
  .cv-date { display:flex; gap:7px; padding-top:0; text-align:left; }
  .cv-date span { display:inline; }
  .cv-card { padding:24px 20px; }
  .cv-card-top { display:block; }
  .cv-tag { display:inline-flex; margin-top:14px; }
  .cv-metrics { grid-template-columns:1fr 1fr; }
  .cv-card-bottom { grid-template-columns:1fr; }
  .cv-bridge { padding:76px 0; }
  .cv-bridge-actions { flex-direction:column; width:100%; }
  .cv-bridge-actions .btn { width:100%; }
}
