/* Approved identity cards reuse the existing local portraits and dialogs. */
.professional-card-grid,
.collaborator-card-grid,
[data-skill-verification] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.collaborator-section { margin-top: clamp(3rem, 7vw, 6rem); padding-top: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--line-strong); }
.collaborator-section .panel-heading { margin-bottom: 1.4rem; }
.person-card {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  --glare-x: 50%;
  --glare-y: 50%;
  position: relative;
  display: block;
  min-width: 0;
  min-height: 480px;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  padding: 0;
  background: var(--surface);
  color: var(--ivory);
  cursor: pointer;
  isolation: isolate;
  text-align: left;
}
.person-card__portrait,
.person-card__portrait .network-avatar,
.person-card__portrait .network-avatar img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.person-card__portrait .network-avatar { border: 0; border-radius: 0; background: var(--graphite); }
.person-card__portrait .network-avatar img { object-fit: cover; }
.person-card::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(circle at var(--glare-x) var(--glare-y), rgba(255,244,213,.26), transparent 34%); opacity: 0; transition: opacity .72s cubic-bezier(.22,1,.36,1); }
.person-card__identity { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: grid; gap: .35rem; padding: 3.3rem 1rem 1rem; background: linear-gradient(transparent, rgba(8,13,20,.96) 76%); pointer-events: none; }
.person-card__identity strong { overflow-wrap: anywhere; font: 500 clamp(1.15rem, 1.55vw, 1.45rem)/1.08 var(--narrative); }
.person-card__identity small { overflow-wrap: anywhere; color: var(--muted-ivory); font: 700 .75rem/1.35 var(--system); letter-spacing: .05em; text-transform: uppercase; }
.person-card__identity--expanded small { font-size: .82rem; line-height: 1.42; letter-spacing: .035em; }
.person-card__overlay { position: absolute; inset: 0; z-index: 2; display: grid; align-content: center; gap: .85rem; padding: 1.2rem 1.2rem 9.5rem; background: linear-gradient(140deg, rgba(169,133,79,.95), rgba(37,83,124,.94) 47%, rgba(16,107,110,.94)); clip-path: inset(43% round 42%); opacity: 0; filter: blur(3px); transform: scale(.86) rotate(2deg); transform-origin: center; transition: clip-path .72s cubic-bezier(.22,1,.36,1), opacity .72s cubic-bezier(.22,1,.36,1), filter .72s cubic-bezier(.22,1,.36,1), transform .72s cubic-bezier(.22,1,.36,1); pointer-events: none; }
.person-card__overlay small { color: var(--ivory); font: 700 .7rem/1.35 var(--system); letter-spacing: .08em; }
.person-card__overlay > span { display: -webkit-box; overflow: hidden; color: var(--ivory); font: 400 clamp(1rem, 1.4vw, 1.28rem)/1.43 var(--narrative); overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.person-card--professional .person-card__overlay > span:nth-of-type(3) { -webkit-line-clamp: 3; }
.person-card--collaborator .person-card__overlay > span { -webkit-line-clamp: 3; }
.person-card__overlay em { color: rgba(255,255,255,.9); font: 700 .7rem/1.4 var(--system); font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.person-card__a11y { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.person-card:focus-visible { outline: 3px solid var(--brass); outline-offset: 4px; }
.person-card:focus-visible .person-card__overlay { clip-path: inset(0 round 0); opacity: 1; filter: blur(0); transform: scale(1) rotate(0); }
@media (hover: hover) and (pointer: fine) {
  .person-card { transition: transform .72s cubic-bezier(.22,1,.36,1), border-color .72s cubic-bezier(.22,1,.36,1); }
  .person-card:hover { border-color: var(--brass); transform: perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
  .person-card:hover::after { opacity: 1; }
  .person-card:hover .person-card__overlay { clip-path: inset(0 round 0); opacity: 1; filter: blur(0); transform: scale(1) rotate(0); }
}
.skill-verification { margin-top: 1.15rem; border: 1px solid var(--brass); border-radius: 10px; background: linear-gradient(135deg, rgba(169,133,79,.14), rgba(22,58,95,.14)); }
.skill-verification > summary { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; color: var(--ivory); font: 700 clamp(.78rem, 1.3vw, .96rem)/1.35 var(--system); letter-spacing: .035em; cursor: pointer; }
.skill-verification > summary span { color: var(--brass); font: 400 1.65rem/1 var(--narrative); }
.skill-verification[open] > summary { border-bottom: 1px solid rgba(169,133,79,.48); }
.skill-verification[open] > summary span { font-size: 0; }
.skill-verification[open] > summary span::after { content: '−'; font-size: 1.65rem; }
.skill-verification > [data-skill-verification] { padding: 1rem; }
.skill-verification summary strong { min-width: 0; font: inherit; }
.skill-verification summary strong small { display: block; margin-top: .5rem; color: var(--muted-ivory); font: 400 .95rem/1.4 var(--narrative); letter-spacing: 0; }
@media (min-width: 640px) {
  .professional-card-grid,
  .collaborator-card-grid,
  [data-skill-verification] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .professional-card-grid,
  .collaborator-card-grid,
  [data-skill-verification] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .person-card { min-height: 440px; }
  .person-card__identity { padding: 3rem .9rem .9rem; }
}
/* Restrained editorial bands; retained for reference-dialog context lists. */
.network-navigation { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.8rem; }
.network-navigation .eyebrow { margin: 0; }
.verification-intro { max-width: 940px; }
.verification-intro h2 { max-width: 820px; font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: 1.15; }
.verification-intro > p:not(.eyebrow) { font-size: 1.1rem; line-height: 1.6; max-width: 850px; }
.verification-lenses { border-top: 1px solid var(--line-strong); }
.verification-band { display: grid; grid-template-columns: minmax(230px, .85fr) minmax(0, 1.4fr); gap: 1.8rem; padding: 1.55rem 0; border-bottom: 1px solid var(--line); }
.verification-band__copy > small { color: var(--brass); font: .75rem/1.2 var(--system); }
.verification-band h3 { margin: .35rem 0 .65rem; font: 700 .88rem/1.4 var(--system); letter-spacing: .035em; }
.verification-band p { margin: 0; color: var(--muted-ivory); font-size: 1rem; line-height: 1.5; }
.verification-people { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-start; min-width: 0; }
.verifier-link { position: relative; display: flex; flex: 1 1 145px; min-width: 0; max-width: 215px; align-items: center; gap: .65rem; border: 0; padding: .4rem 0; background: transparent; color: var(--ivory); text-align: left; cursor: pointer; }
.verifier-link .network-avatar--verifier { grid-row: auto; flex: 0 0 60px; width: 60px; height: 60px; border-radius: 12px; }
.verifier-link__identity { min-width: 0; }
.verifier-link strong { display: block; font: 500 1rem/1.2 var(--narrative); }
.verifier-link small { display: block; margin-top: .25rem; color: var(--steel); font: .75rem/1.35 var(--narrative); }
.verifier-link:hover strong { color: var(--brass); }
.verifier-link:focus-visible, .verification-action:focus-visible, .verification-count:focus-visible, .verification-more:focus-visible, .skill-verification summary:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; border-radius: 3px; }
.verifier-tooltip { display: none; position: absolute; top: 100%; left: 0; z-index: 10; width: min(220px, 75vw); padding: .55rem; border: 1px solid var(--line-strong); background: var(--graphite); color: var(--ivory); font: .8rem/1.4 var(--narrative); pointer-events: none; }
.verifier-link:hover .verifier-tooltip, .verifier-link:focus-visible .verifier-tooltip { display: block; }
.verification-count, .verification-action, .verification-more { min-height: 44px; border: 0; background: transparent; padding: .65rem 0; color: var(--brass); font: .78rem/1.4 var(--system); cursor: pointer; text-align: left; }
.verification-count { margin-top: .5rem; }
.verification-more { min-width: 48px; }
.verification-people--list .verifier-link { flex-basis: 250px; max-width: none; }
.skill-context { padding: .9rem 0; border-top: 1px solid var(--line); }
.skill-context h4 { margin: 0; font: .8rem/1.5 var(--system); color: var(--ivory); }
.skill-context > p { margin: .2rem 0 .6rem; font-size: .85rem; color: var(--steel); }
.skill-context .verifier-link { flex: 0 1 calc(50% - .4rem); max-width: none; }
.verifier-link--compact strong { font-size: .9rem; }
#dialog-reference .reference-detail h4 { margin: 0; color: var(--brass); font: .8rem/1.5 var(--system); letter-spacing: .025em; }
#dialog-reference .reference-detail p { font-size: 1.05rem; line-height: 1.65; }
#dialog-reference .reference-detail .reference-editorial__highlight { font-size: 1.5rem; }
#dialog-reference .reference-identity__title--expanded { display: block; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.35; }
#dialog-reference .reference-provenance { flex-wrap: wrap; font-size: .8rem; }
.verification-domains { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; padding: 0; margin: .75rem 0 0; list-style: none; color: var(--muted-ivory); font-size: 1rem; }
.verification-domains li { border-bottom: 1px solid var(--line); padding-bottom: .2rem; }
.verification-reference blockquote { margin: .7rem 0; padding-left: 1rem; }
.verification-reading h3 { font: 400 1.6rem/1.3 var(--narrative); margin: 0 0 1rem; }
.verification-reading blockquote { margin: 1rem 0; padding-left: 1rem; }
.verification-contact a { color: var(--muted-ivory); text-underline-offset: .2em; }
#dialog-reference .verification-contact { font-size: .9rem; }
.product-view-tabs { margin-bottom: 1.7rem; }
@media (max-width: 760px) {
  .network-navigation { align-items: flex-start; flex-direction: column; }
  .network-navigation .secondary-tabs { width: 100%; }
  .network-navigation .secondary-tabs button { flex: 1; white-space: normal; line-height: 1.5; }
  .verification-band { grid-template-columns: 1fr; gap: .7rem; padding: 1.3rem 0; }
  .verification-band .verifier-link { flex: 1 1 0; max-width: none; flex-direction: column; align-items: flex-start; }
  .verifier-link .network-avatar--verifier { flex-basis: 52px; width: 52px; height: 52px; }
  .verification-band .verifier-link small { display: none; }
  .verification-band .verifier-link strong { font-size: .95rem; }
  .verification-band .verifier-link:last-child .verifier-tooltip { left: auto; right: 0; }
  #dialog-reference { width: calc(100vw - 1rem); max-width: none; max-height: 94dvh; margin: auto .5rem .5rem; }
  #dialog-reference .dialog-shell { max-height: 94dvh; }
  #dialog-reference .reference-person { flex-direction: column; align-items: flex-start; }
  #dialog-reference .reference-detail { padding: .5rem; }
  #dialog-reference .reference-detail > * { padding: 1rem; min-width: 0; overflow-wrap: anywhere; }
  #dialog-reference .dialog-head h2 { font-size: 1.5rem; }
}

/* These selectors follow historical band styles so the approved card treatment wins. */
details.skill-verification { margin-top: 1.15rem; border: 1px solid var(--brass); border-radius: 10px; background: linear-gradient(135deg, rgba(169,133,79,.14), rgba(22,58,95,.14)); }
details.skill-verification > summary { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; color: var(--ivory); font: 700 clamp(.78rem, 1.3vw, .96rem)/1.35 var(--system); letter-spacing: .035em; cursor: pointer; }
details.skill-verification > summary span { float: none; color: var(--brass); font: 400 1.65rem/1 var(--narrative); }
details.skill-verification[open] > summary { border-bottom: 1px solid rgba(169,133,79,.48); }
details.skill-verification[open] > summary span { font-size: 0; }
details.skill-verification[open] > summary span::after { content: '−'; font-size: 1.65rem; }
details.skill-verification > [data-skill-verification] { padding: 1rem; }
