/* Shared full CV presentation. All person-specific content comes from Experts. */
body.page-template-template-expert-profile {
  --if-type-supporting: 1rem;
  --if-type-small: 1rem;
  --if-type-label: 1rem;
  --if-type-button: 1rem;
  --if-type-body: 1rem;
  --if-type-body-lg: clamp(1rem, 1.25vw, 1.125rem);
  --if-section-space: clamp(3.5rem, 4.6vw, 5.5rem);
  --if-cta-tracking: 0.025em;
}

.page-template-template-expert-profile :is(.if-button, .if-menu--action a, .if-menu--footer-action a) {
  min-height: 2.75rem;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 1rem;
  line-height: 1.4;
}

.if-expert-profile--cv {
  background: #fff;
  color: var(--if-ink);
  font-size: 1rem;
}

.if-expert-profile--cv :is(h1, h2, h3, p, li) { overflow-wrap: anywhere; }
.if-expert-profile--cv :is(h2, h3) { margin: 0; letter-spacing: -0.04em; line-height: 1.15; }
.if-expert-profile--cv h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.if-expert-profile--cv h3 { font-size: clamp(1.25rem, 1.8vw, 1.6rem); }
.if-expert-profile--cv .if-eyebrow { font-size: 1rem; line-height: 1.5; letter-spacing: 0.08em; }
.if-cv-header { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(10.5rem,12vw,12rem) clamp(3rem,4vw,4rem); color: #fff; background: radial-gradient(circle at 75% 45%,rgba(142,68,160,.3),transparent 35rem),linear-gradient(112deg,var(--if-ink),var(--if-indigo)); }
.if-cv-header > .if-shell { position: relative; z-index: 1; }
.if-cv-header__media { position: absolute; z-index: 0; inset: 0 0 0 auto; width: min(58vw,72rem); margin: 0; opacity: .32; pointer-events: none; -webkit-mask-image: radial-gradient(ellipse 72% 82% at 72% 48%,#000 24%,rgba(0,0,0,.88) 54%,transparent 100%); mask-image: radial-gradient(ellipse 72% 82% at 72% 48%,#000 24%,rgba(0,0,0,.88) 54%,transparent 100%); }
.if-cv-header__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,var(--if-ink),rgba(28,20,48,.42) 42%,rgba(61,46,94,.18)); }
.if-cv-header__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; filter: saturate(.45) contrast(1.04); }
.if-cv-header h1 { max-width: 21ch; margin: 0; font-size: clamp(2.5rem,5.5vw,5rem); line-height: 1.08; letter-spacing: -.055em; text-wrap: balance; }
.if-cv-header__role { margin: 1rem 0 0; color: var(--if-lilac); font-size: 1.125rem; font-weight: 650; line-height: 1.6; }
.if-cv-header__intro { max-width: 60ch; margin: 1.25rem 0 0; color: rgba(255,255,255,.82); font-size: var(--if-type-body-lg); line-height: 1.75; }
.if-cv-header .if-button { margin-top: 1.75rem; }
.if-expert-profile--cv .if-cv-header .if-cv-back { color: rgba(255,255,255,.82); }
.if-expert-profile--cv .if-cv-header .if-cv-back:is(:hover,:focus-visible) { color: var(--if-lilac); }
.if-cv-back { display: inline-flex; align-items: center; gap: .6rem; min-height: 2.75rem; margin-bottom: 1.5rem; color: var(--if-indigo); font-size: 1rem; font-weight: 650; text-decoration: none; }
.if-cv-back:is(:hover,:focus-visible) { color: var(--if-violet); }
.if-cv-overview__inner { display: grid; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.if-cv-overview__inner.has-expertise { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
.if-cv-overview__inner > * { min-width: 0; }
/* The homepage's flat, portrait-led expert treatment; no enclosing card. */
.if-cv-person { max-width: 40rem; }
.if-cv-person__media { position: relative; }
.if-cv-person__portrait { display: grid; place-items: center; width: 100%; aspect-ratio: 1.35; margin: 0; overflow: hidden; border-radius: .75rem; background: var(--if-mist); }
.if-cv-person__portrait > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.if-cv-person__portrait > span { color: var(--if-indigo); font-size: 4rem; }
.if-cv-person__identity { margin-top: 1.25rem; }
.if-expert-profile--cv .if-cv-person__identity h2 { margin: 0; color: var(--if-ink); font-size: clamp(1.8rem,2.5vw,2.25rem); line-height: 1.15; letter-spacing: -.04em; }
.if-cv-person__role { margin: .65rem 0 0; font-size: 1rem; line-height: 1.6; color: var(--if-indigo); }
.if-cv-person__proof { display: grid; gap: .6rem; padding: 1.25rem 0 0; margin: 1.25rem 0 0; list-style: none; border-top: 1px solid var(--if-line); color: var(--if-muted); font-size: 1rem; }
.if-cv-person__proof li { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: .65rem; line-height: 1.65; }
.if-cv-person__proof .if-icon { margin-top: .25em; color: var(--if-violet); }
.if-cv-person__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: 1.75rem; }
.if-expert-profile--cv .if-expert-profile__actions { margin: 0; gap: .5rem; }
.if-expert-profile--cv .if-expert-profile__action { width: 2.75rem; height: 2.75rem; color: var(--if-indigo); border-color: var(--if-line); background: #fff; }
.if-expert-profile--cv .if-expert-profile__action:is(:hover,:focus-visible) { color: #fff; background: var(--if-indigo); border-color: var(--if-indigo); }
.if-cv-qualifications { background: var(--if-mist); }
.if-cv-qualifications__details { min-width: 0; }
.if-cv-qualification-list,
.if-cv-expertise-list { display: grid; list-style: none; padding: 0; margin: 1.75rem 0 0; gap: 1.1rem; }
.if-cv-qualification-list li,
.if-cv-expertise-list li { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .75rem; align-items: start; line-height: 1.6; }
.if-cv-qualification-list .if-icon,
.if-cv-expertise-list .if-icon { margin-top: .2em; color: var(--if-violet); font-size: 1.25rem; }
.if-cv-expertise-list { margin-block: 1.75rem 2rem; font-size: var(--if-type-body-lg); color: var(--if-indigo); }
.if-cv-qualification-list { margin-top: 0; font-size: var(--if-type-body-lg); color: var(--if-indigo); }
.if-cv-credentials { margin-top: 2rem; }
.if-cv-credentials__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.if-expert-profile--cv .if-cv-credentials h3 { font-size: 1rem; line-height: 1.5; letter-spacing: 0; color: var(--if-indigo); }
.if-cv-credentials__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; margin: 1rem 0 0; padding: 0; gap: 1rem; }
.if-cv-credential { min-width: 0; margin: 0; color: var(--if-muted); font-size: 1rem; line-height: 1.6; }
.if-cv-credential figure { margin: 0; }
.if-cv-credential__image { display: grid; place-items: center; height: 9rem; padding: 1.25rem 1.5rem; border-radius: .5rem; background: var(--if-deep); }
.if-cv-credential__image :is(img,svg) { display: block; width: 100%; max-width: 15rem; height: 6.5rem; object-fit: contain; overflow: hidden; }
.if-cv-credential figcaption { margin-top: .75rem; color: var(--if-indigo); font-size: 1rem; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.if-cv-credentials__controls { display: flex; gap: .5rem; }
.if-cv-credentials__controls[hidden] { display: none; }
.if-cv-credentials__controls button { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--if-line); border-radius: 50%; background: transparent; color: var(--if-indigo); cursor: pointer; }
.if-cv-credentials__controls button:not(:disabled):is(:hover,:focus-visible) { background: var(--if-indigo); border-color: var(--if-indigo); color: #fff; }
.if-cv-credentials__controls button:disabled { opacity: .4; cursor: default; }
.if-cv-credentials.is-carousel .if-cv-credentials__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: .35rem; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--if-lilac) transparent; padding: .35rem .35rem .75rem; margin-inline: -.35rem; }
.if-cv-credentials.is-carousel .if-cv-credential { flex: 0 0 calc((100% - 2rem) / 3); scroll-snap-align: start; }
.if-cv-credentials__grid:focus-visible { outline: 3px solid var(--if-violet); outline-offset: 4px; }
.if-cv-certificate-link { display: flex; width: fit-content; max-width: 100%; min-height: 2.75rem; align-items: center; gap: .5rem; margin-top: .25rem; color: var(--if-indigo); font-size: 1rem; text-underline-offset: .2em; }
.if-cv-certificate-link:hover { color: var(--if-violet); }
.if-cv-prose { font-size: var(--if-type-body-lg); line-height: 1.75; color: var(--if-muted); }
.if-cv-prose small { font-size: 1rem; }
.if-cv-prose > :first-child { margin-top: 0; }
.if-cv-prose > :last-child { margin-bottom: 0; }
.if-cv-prose p + p { margin-top: 1.25rem; }
.if-cv-expertise > h2 + .if-cv-prose { margin-top: 1.75rem; }
.if-cv-prose :is(ul,ol) { margin-block: 1.5rem; padding-left: 1.5rem; }
.if-cv-prose li + li { margin-top: .75rem; }
.if-cv-experience { background: #fff; }
.if-cv-editorial-split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.if-cv-editorial-split h2 { max-width: 25ch; font-size: clamp(1.8rem, 2.8vw, 2.65rem); }
.if-cv-related__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem, 5vw, 5rem); margin-top: 2.5rem; }
.if-cv-related { background: var(--if-mist); }
.if-cv-related__links { list-style: none; padding: 0; margin: 1rem 0 0; }
.if-cv-related__links li { border-bottom: 1px solid var(--if-line); }
.if-expert-profile--cv .if-cv-related__links a { display: flex; min-height: 2.75rem; padding: 1rem 0; align-items: center; justify-content: space-between; gap: 1rem; color: var(--if-indigo); font-size: 1.125rem; line-height: 1.5; text-decoration: none; }
.if-expert-profile--cv .if-cv-related__links a:hover { color: var(--if-violet); }
.if-cv-topics { margin-top: 2.5rem; }
.if-cv-topics ul { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 1rem 0 0; gap: .65rem 1.75rem; color: var(--if-muted); }
.if-cv-articles { background: #fff; }
.if-cv-articles__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin-top: 2rem; }
.if-cv-article { min-width: 0; }
.if-cv-article img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: .75rem; }
.if-cv-article time { display: block; margin-block: 1rem .75rem; color: var(--if-muted); font-size: 1rem; }
.if-cv-article h3 a { color: var(--if-indigo); text-decoration: none; line-height: 1.3; }
.if-cv-article h3 .if-icon { margin-left: .35rem; }
.if-cv-consultation__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center; padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: 1rem; background: linear-gradient(135deg,var(--if-ink),var(--if-indigo)); color: #fff; }
.if-cv-consultation__inner h2 { color: #fff; }
.if-cv-consultation__inner p:not(.if-eyebrow) { max-width: 58ch; margin: 1.25rem 0 0; color: rgba(255,255,255,.82); font-size: var(--if-type-body-lg); line-height: 1.65; }
.if-cv-consultation__action { min-width: 0; max-width: 32rem; }
.if-cv-consultation__action ul { list-style: none; padding: 0; margin: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: rgba(255,255,255,.82); font-size: 1rem; }
.if-cv-consultation__action li { display: flex; align-items: flex-start; gap: .45rem; min-width: 0; line-height: 1.6; }
.if-cv-consultation__action li .if-icon { flex: 0 0 auto; margin-top: .25em; color: var(--if-lilac); font-size: 1.1rem; }
.if-expert-profile--cv :is(a,button):focus-visible { outline: 3px solid var(--if-violet); outline-offset: 4px; }
.if-expert-profile--cv .if-surface--dark a:focus-visible { outline-color: var(--if-lilac); }

@media (min-width:1181px) {
  .page-template-template-expert-profile .if-site-header__inner { grid-template-columns: auto minmax(0,1fr) auto; }
  .page-template-template-expert-profile .if-primary-navigation { min-width: 0; }
  .page-template-template-expert-profile .if-menu--primary { flex-wrap: wrap; row-gap: 0; }
  .page-template-template-expert-profile .if-header-action { min-width: 0; max-width: 22vw; }
}
@media (max-width:1180px) {
  .page-template-template-expert-profile :is(.if-mobile-header__action,.if-mobile-navigation__close) { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .page-template-template-expert-profile :is(.if-mobile-header__action,.if-mobile-navigation__close) .if-icon { font-size: 22px; }
  .page-template-template-expert-profile .if-mobile-header__actions { gap: 6px; }
  .page-template-template-expert-profile .if-mobile-header__brand .custom-logo { max-width: min(180px,100%); }
}
@media (max-width:1000px) {
  .if-cv-overview__inner.has-expertise { grid-template-columns: minmax(0,1fr); }
  .if-cv-editorial-split { grid-template-columns: minmax(0,1fr); }
}
@media (max-width:767px) {
  .if-cv-header { padding-block: 6rem 3rem; }
  .if-cv-header__media { width: 100%; opacity: .14; -webkit-mask-image: radial-gradient(ellipse 90% 72% at 80% 40%,#000 18%,rgba(0,0,0,.68) 48%,transparent 100%); mask-image: radial-gradient(ellipse 90% 72% at 80% 40%,#000 18%,rgba(0,0,0,.68) 48%,transparent 100%); }
  .if-cv-header h1 { font-size: clamp(2.25rem,10vw,3.5rem); }
  .if-cv-person__portrait { aspect-ratio: 1.12; }
  .if-cv-credentials__grid { grid-template-columns: minmax(0,1fr); }
  .if-cv-credentials:not(.is-carousel) .if-cv-credential figure:has(.if-cv-credential__image) { display: grid; grid-template-columns: 7rem minmax(0,1fr); align-items: center; gap: 1rem; }
  .if-cv-credentials:not(.is-carousel) .if-cv-credential__image { height: 6.5rem; padding: .875rem; }
  .if-cv-credentials:not(.is-carousel) .if-cv-credential__image :is(img,svg) { height: 4.75rem; }
  .if-cv-credentials:not(.is-carousel) .if-cv-credential figcaption { margin-top: 0; }
  .if-cv-credentials.is-carousel .if-cv-credential { flex-basis: 85%; }
  .if-cv-related__grid, .if-cv-articles__grid, .if-cv-consultation__inner { grid-template-columns: minmax(0,1fr); }
}

@media print {
  .page-template-template-expert-profile :is(.if-site-header,.if-site-footer,.if-mobile-navigation),
  .if-expert-profile--cv :is(.if-cv-header .if-button,.if-cv-header__media,.if-cv-person__actions,.if-cv-back,.if-cv-consultation) { display: none !important; }
  .if-cv-header { padding-block: 1rem; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .if-cv-credential { break-inside: avoid; }
  .if-cv-credentials__controls { display: none !important; }
  .if-cv-credentials.is-carousel .if-cv-credentials__grid { display: grid; overflow: visible; }
  .if-cv-credential__image { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .if-expert-profile--cv .if-section { padding-block: 1.5rem; }
}
