.profile-hero {
  min-height: 720px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  color: #fff;
  background: var(--navy);
}

.profile-hero-copy {
  align-self: center;
  padding: 92px 7vw 86px;
}

.profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}

.profile-tags span {
  padding: 5px 10px;
  border: 1px solid rgba(255, 255, 255, .32);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}

.profile-hero h1 {
  margin: 0 0 28px;
  font-size: clamp(50px, 6.5vw, 88px);
  line-height: 1.13;
  letter-spacing: -.055em;
}

.profile-primary { background: #fff; color: var(--navy); }

.profile-portrait {
  min-height: 620px;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.profile-portrait::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(7, 26, 51, .38), transparent 35%), linear-gradient(180deg, transparent 60%, rgba(4, 18, 37, .72));
}

.profile-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}

.profile-portrait figcaption {
  position: absolute;
  z-index: 2;
  right: 36px;
  bottom: 32px;
  display: grid;
  text-align: right;
}

.profile-portrait figcaption b { font-size: 25px; }
.profile-portrait figcaption span { color: #d2dce8; font-size: 12px; letter-spacing: .16em; }

.profile-intro,
.profile-expertise,
.profile-beyond,
.profile-history,
.profile-faq {
  padding: 105px max(7vw, 25px);
}

.profile-intro {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 8vw;
  align-items: start;
}

.profile-intro h2,
.profile-section-heading h2,
.profile-approach h2,
.profile-story h2,
.profile-cta h2 {
  margin: 0;
  font-size: clamp(34px, 4.4vw, 60px);
  line-height: 1.28;
  letter-spacing: -.035em;
}

.profile-intro > div:last-child > p {
  margin-top: 0;
  font-size: 17px;
}

.profile-intro blockquote {
  margin: 42px 0 0;
  padding: 28px 30px;
  border-left: 5px solid var(--gold);
  background: var(--cream);
  color: var(--navy);
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 700;
  line-height: 1.65;
}

.profile-numbers {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  color: #fff;
  background: var(--blue);
}

.profile-numbers article {
  padding: 42px 24px;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, .18);
}

.profile-numbers article:last-child { border-right: 0; }
.profile-numbers strong { display: block; color: #f2d69c; font: 700 clamp(32px, 4vw, 54px)/1 Georgia, serif; }
.profile-numbers strong small { margin-left: 4px; font: 700 14px/1.2 sans-serif; }
.profile-numbers p { margin: 13px 0 0; font-size: 13px; }

.profile-section-heading {
  max-width: 780px;
  margin-bottom: 50px;
}

.profile-section-heading > p:last-child { color: var(--muted); font-size: 17px; }
.profile-expertise { background: #eef2f6; }

.expertise-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: #cad4df;
}

.expertise-grid a {
  min-height: 350px;
  display: flex;
  flex-direction: column;
  padding: 42px;
  background: #fff;
  transition: transform .2s, background .2s;
}

.expertise-grid a:hover { transform: translateY(-3px); background: var(--cream); }
.expertise-grid span { color: var(--gold); font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.expertise-grid h3 { margin: 28px 0 12px; font-size: 27px; line-height: 1.4; }
.expertise-grid p { color: var(--muted); }
.expertise-grid b { margin-top: auto; color: var(--blue); font-size: 14px; }

.profile-approach {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 8vw;
  padding: 105px max(7vw, 25px);
  color: #fff;
  background: #041225;
}

.profile-approach > div > p:last-child { color: #b8c4d2; }
.profile-approach ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #304157; }
.profile-approach li { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid #304157; }
.profile-approach li > span { color: var(--gold); font-size: 12px; font-weight: 900; }
.profile-approach li b { font-size: 21px; }
.profile-approach li p { margin: 4px 0 0; color: #b8c4d2; font-size: 14px; }

.beyond-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.beyond-grid article {
  grid-column: span 2;
  min-height: 285px;
  padding: 34px;
  border-top: 4px solid var(--gold);
  background: var(--cream);
}

.beyond-grid article:nth-child(4),
.beyond-grid article:nth-child(5) { grid-column: span 3; }
.beyond-grid article > span { color: var(--gold); font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.beyond-grid h3 { margin: 28px 0 12px; font-size: 23px; }
.beyond-grid p { color: var(--muted); }
.beyond-grid a { color: var(--blue); font-weight: 700; }

.profile-story { background: var(--cream); }
.profile-story-photo { display: grid; grid-template-columns: 1fr 1fr; }
.profile-story-photo img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.profile-story-photo > div { align-self: center; padding: 80px 8vw; }
.profile-story-photo > div > p:not(.eyebrow) { max-width: 650px; }
.profile-story-photo .button { margin-top: 20px; }

.profile-media { max-width: 1180px; margin: 0 auto; padding: 70px 25px 90px; }
.profile-media h3 { margin: 0 0 24px; font-size: 28px; }
.profile-media ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.profile-media li { display: grid; grid-template-columns: 180px 1fr; gap: 28px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.profile-media li b { color: var(--gold); }
.profile-media li a { color: var(--blue); font-weight: 700; }

.career-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 7vw; align-items: start; }
.career-timeline { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.career-timeline li { display: grid; grid-template-columns: 100px 1fr; gap: 25px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.career-timeline time { color: var(--gold); font: 700 21px/1.5 Georgia, serif; }
.career-timeline p { margin: 0; }
.career-layout aside { padding: 32px; border-top: 5px solid var(--navy); background: var(--cream); }
.career-layout aside h3 { margin-top: 0; font-size: 23px; }
.career-layout aside ul { margin-bottom: 0; padding-left: 20px; }
.career-layout aside li { margin: 8px 0; }

.profile-faq { background: #eef2f6; }
.faq-grid { max-width: 1000px; }
.faq-grid details { border-bottom: 1px solid #cbd5df; background: #fff; }
.faq-grid summary { padding: 22px 58px 22px 24px; position: relative; cursor: pointer; font-size: 17px; font-weight: 700; list-style: none; }
.faq-grid summary::-webkit-details-marker { display: none; }
.faq-grid summary::after { content: "+"; position: absolute; top: 17px; right: 24px; color: var(--gold); font-size: 27px; }
.faq-grid details[open] summary::after { content: "−"; }
.faq-grid details p { margin: 0; padding: 0 24px 24px; color: var(--muted); }

.profile-cta {
  padding: 100px max(8vw, 25px);
  color: #fff;
  background: var(--navy);
}

.profile-cta > p:not(.eyebrow) { max-width: 760px; font-size: 17px; }
.profile-cta > small { display: block; margin-top: 38px; color: #8795a7; }

@media (max-width: 1050px) {
  .profile-numbers { grid-template-columns: repeat(3, 1fr); }
  .profile-numbers article { border-bottom: 1px solid rgba(255, 255, 255, .18); }
}

@media (max-width: 850px) {
  .profile-hero,
  .profile-intro,
  .profile-approach,
  .profile-story-photo,
  .career-layout { grid-template-columns: 1fr; }
  .profile-hero-copy { padding: 72px 25px 58px; }
  .profile-portrait { min-height: 500px; }
  .profile-intro,
  .profile-expertise,
  .profile-beyond,
  .profile-history,
  .profile-faq,
  .profile-approach { padding: 74px 25px; }
  .profile-numbers { grid-template-columns: 1fr 1fr; }
  .profile-numbers article { border-right: 1px solid rgba(255, 255, 255, .18); }
  .profile-numbers article:last-child { grid-column: 1 / -1; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-grid a { min-height: 310px; padding: 34px 26px; }
  .beyond-grid { grid-template-columns: 1fr; }
  .beyond-grid article,
  .beyond-grid article:nth-child(4),
  .beyond-grid article:nth-child(5) { grid-column: auto; min-height: 0; }
  .profile-story-photo > div { padding: 68px 25px; }
  .profile-story-photo img { min-height: 430px; }
  .profile-media li { grid-template-columns: 1fr; gap: 4px; }
}
