/* experts.html page-level layout and contrast overrides */

.page-experts {
  --experts-blue: #5f8fff;
  --experts-cyan: #65e6ef;
  --experts-paper: #f5f7fa;
  --experts-ink: #121820;
  --experts-body: #3f4854;
  --experts-muted: #5c6673;
  --experts-line: #cbd2dc;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: calc(var(--z-toast) + 1);
  padding: 10px 14px;
  color: #08101d;
  background: #ffffff;
  border: 2px solid var(--experts-blue);
  border-radius: var(--radius-xs);
  transform: translateY(-160%);
  transition: transform var(--dur-fast) var(--ease-out);
}

.skip-link:focus {
  transform: translateY(0);
}

body.has-fx.page-experts {
  --color-text-body: rgba(244, 247, 255, .90);
  --color-text-secondary: rgba(235, 240, 255, .78);
  --color-text-muted: rgba(235, 240, 255, .68);
  --border-hairline: rgba(165, 190, 255, .22);
  --border-default: rgba(165, 190, 255, .30);
  --border-strong: rgba(165, 190, 255, .42);
  background-color: #080d18;
  background-image:
    linear-gradient(rgba(120, 160, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 160, 255, .05) 1px, transparent 1px);
  background-size: 72px 72px;
}

body.has-fx.page-experts .nav--scrolled {
  background: rgba(4, 9, 19, .93);
}

.page-experts .experts-hero {
  padding-block: 132px 76px;
  border-bottom: 1px solid rgba(165, 190, 255, .18);
}

.page-experts .hero-particles {
  display: none;
}

.experts-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  align-items: center;
  gap: clamp(48px, 7vw, 96px);
}

.experts-hero__copy {
  max-width: 720px;
}

.experts-hero .hero__title {
  max-width: 12em;
  margin-top: var(--space-5);
}

.experts-hero .hero__sub {
  max-width: 42em;
  line-height: 1.7;
}

.experts-hero__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: var(--space-7);
}

.experts-hero__metrics li {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  color: var(--color-text-secondary);
  font-size: var(--fs-body-sm);
}

.experts-hero__metrics strong {
  color: #ffffff;
  font-family: var(--font-number);
  font-size: 1.2rem;
  line-height: 1;
}

.experts-map {
  position: relative;
  margin: 0;
  padding: var(--space-6);
  color: rgba(244, 247, 255, .92);
  background: rgba(7, 13, 26, .88);
  border: 1px solid rgba(165, 190, 255, .32);
  border-radius: 8px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .34);
}

.experts-map::before {
  content: "";
  position: absolute;
  inset: 56px 50% 32px auto;
  width: 1px;
  background: linear-gradient(var(--experts-cyan), rgba(101, 230, 239, .12));
  opacity: .72;
}

.experts-map__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid rgba(165, 190, 255, .20);
}

.experts-map__head figcaption {
  color: #ffffff;
  font-weight: var(--fw-semibold);
}

.experts-map__status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #baf7dc;
  font-family: var(--font-mono);
  font-size: 12px;
}

.experts-map__status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #55d69c;
  box-shadow: 0 0 0 3px rgba(85, 214, 156, .14);
}

.experts-map__nodes {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.experts-map__node {
  position: relative;
  z-index: 1;
  min-height: 68px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 10px 12px;
  background: #111d33;
  border: 1px solid #354765;
  border-radius: 6px;
}

.experts-map__node:nth-child(3n+2) {
  border-color: #3f6580;
}

.experts-map__node:last-child {
  grid-column: 2;
  border-color: #3a7459;
  background: #12241e;
}

.experts-map__node span {
  color: #9eabc1;
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.2;
}

.experts-map__node strong {
  color: #f7f9ff;
  font-size: 13px;
  font-weight: var(--fw-medium);
  line-height: 1.35;
}

.experts-map__flow {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  grid-column: 1 / -1;
  height: 18px;
  color: var(--experts-cyan);
  font-size: 16px;
  line-height: 1;
}

.page-experts .experts-catalog {
  padding-block: 88px;
  color: var(--experts-body);
  background: var(--experts-paper) !important;
  background-image: none !important;
  border-top: 0;
}

.experts-catalog__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 480px);
  align-items: end;
  gap: var(--space-10);
  margin-bottom: 64px;
}

.experts-catalog__intro h2,
.experts-catalog .expert-group__header h3,
.experts-catalog .role-name {
  color: var(--experts-ink);
}

.experts-catalog__intro h2 {
  margin-top: var(--space-4);
}

.experts-catalog__intro p {
  color: var(--experts-body);
  font-size: var(--fs-body-lg);
  line-height: 1.7;
}

body.has-fx.page-experts .experts-catalog .badge--eyebrow {
  color: #415166;
  background: #ffffff;
  border-color: #aeb8c6;
}

.expert-group {
  --group-accent: #087f9b;
  --group-tint: #e4f7fa;
}

.expert-group--growth {
  --group-accent: #a34b08;
  --group-tint: #fff1df;
}

.expert-group--decision {
  --group-accent: #236a42;
  --group-tint: #e7f5eb;
}

.expert-group + .expert-group {
  margin-top: 64px;
  padding-top: 64px;
  border-top: 1px solid var(--experts-line);
}

.expert-group__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(220px, 360px);
  align-items: end;
  gap: var(--space-5);
  margin-bottom: var(--space-7);
}

.expert-group__index {
  color: var(--group-accent);
  font-family: var(--font-number);
  font-size: 2rem;
  font-weight: var(--fw-semibold);
  line-height: 1;
}

.expert-group__kicker {
  display: block;
  margin-bottom: 3px;
  color: var(--group-accent);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
}

.expert-group__header h3 {
  font-size: clamp(1.25rem, 1.1rem + .4vw, 1.5rem);
}

.expert-group__header p {
  color: var(--experts-muted);
  text-align: right;
}

.experts-catalog .expert-grid {
  align-items: stretch;
}

body.has-fx.page-experts .experts-catalog .card--role {
  gap: var(--space-4);
  min-height: 220px;
  padding: var(--space-6);
  color: var(--experts-body);
  background: #ffffff;
  border: 1px solid var(--experts-line);
  border-radius: 8px;
  box-shadow: 0 4px 18px rgba(20, 31, 46, .05);
}

body.has-fx.page-experts .experts-catalog .card--role::before {
  inset: 0 0 auto;
  width: auto;
  height: 3px;
  transform: none;
  background: var(--group-accent);
  border-radius: 7px 7px 0 0;
}

body.has-fx.page-experts .experts-catalog .card--role::after {
  display: none;
}

.expert-card__head {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
}

.expert-card__id {
  flex: none;
  color: var(--group-accent);
  font-family: var(--font-number);
  font-size: 12px;
  font-weight: var(--fw-semibold);
}

.experts-catalog .role-name {
  font-size: 1.16rem;
  font-weight: var(--fw-semibold);
}

.experts-catalog .role-name::before {
  content: none;
}

.experts-catalog .card--role > p {
  color: var(--experts-body);
  font-size: var(--fs-body-sm);
  line-height: 1.7;
}

.experts-catalog .role-skills {
  gap: 7px;
}

.experts-catalog .tag {
  padding: 4px 9px;
  color: #394653;
  background: var(--group-tint);
  border-color: color-mix(in srgb, var(--group-accent) 24%, #ffffff);
  border-radius: 5px;
}

@media (hover: hover) and (pointer: fine) {
  body.has-fx.page-experts .experts-catalog .card--role:hover {
    background: #ffffff;
    border-color: color-mix(in srgb, var(--group-accent) 52%, #ffffff);
    box-shadow: 0 12px 28px rgba(20, 31, 46, .09);
  }

  .experts-catalog .card--role:hover .role-skills > * {
    color: #25313e;
    border-color: color-mix(in srgb, var(--group-accent) 38%, #ffffff);
  }
}

.expert-group--decision .expert-grid {
  grid-template-columns: 1fr;
}

.expert-group--decision .card--role {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(260px, 1.35fr) minmax(260px, 1fr);
  align-items: center;
  gap: var(--space-8);
}

.expert-group--decision .card--role > p {
  margin: 0;
}

.experts-guardrail {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: 64px;
  padding: var(--space-6) 0;
  border-top: 1px solid var(--experts-line);
  border-bottom: 1px solid var(--experts-line);
}

.experts-guardrail__icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #2856a8;
  background: #e7eefc;
  border: 1px solid #bdccef;
  border-radius: 7px;
}

.experts-guardrail strong {
  display: block;
  color: var(--experts-ink);
  font-size: var(--fs-body);
}

.experts-guardrail p {
  margin-top: 3px;
  color: var(--experts-body);
  font-size: var(--fs-body-sm);
  line-height: 1.65;
}

.page-experts .experts-assets {
  padding-block: 92px;
  color: #dfe9e2;
  background-color: #101713 !important;
  background-image:
    linear-gradient(rgba(142, 190, 158, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(142, 190, 158, .055) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
  border-top: 1px solid #33433a;
  border-bottom: 1px solid #33433a;
}

.experts-assets__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 460px);
  align-items: end;
  gap: var(--space-10);
  margin-bottom: 44px;
}

.experts-assets__head h2 {
  margin-top: var(--space-4);
  color: #f5faf7;
}

.experts-assets__head p {
  color: #c4d2c8;
  font-size: var(--fs-body-lg);
  line-height: 1.7;
}

body.has-fx.page-experts .experts-assets .badge--eyebrow {
  color: #baf7dc;
  background: #17251e;
  border-color: #476052;
}

.experts-assets__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-gap);
}

body.has-fx.page-experts .asset-card {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  background: #18211b;
  border: 1px solid #405147;
  border-radius: 8px;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.asset-card::before {
  display: none;
}

.asset-card__icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #8ee0b2;
  background: #20392c;
  border: 1px solid #3d684f;
  border-radius: 7px;
}

.asset-card:nth-child(2) .asset-card__icon {
  color: #f6cc7b;
  background: #3b2c16;
  border-color: #6f5226;
}

.asset-card:nth-child(3) .asset-card__icon {
  color: #8bdde6;
  background: #173239;
  border-color: #315d65;
}

.asset-card h3 {
  color: #f5faf7;
  font-family: var(--font-sans);
  font-size: 1.08rem;
  font-weight: var(--fw-semibold);
}

.asset-card p {
  color: #c4d2c8;
  font-size: var(--fs-body-sm);
  line-height: 1.7;
}

.asset-card__meta {
  margin-top: auto;
  padding-top: var(--space-4);
  color: #9db0a3;
  font-family: var(--font-mono);
  font-size: 12px;
  border-top: 1px solid #33433a;
}

@media (hover: hover) and (pointer: fine) {
  body.has-fx.page-experts .asset-card:hover {
    background: #1d2921;
    border-color: #647b6c;
    box-shadow: none;
  }
}

.page-experts .experts-cta {
  padding-block: 80px;
  color: #172236;
  background-color: #dfe9fb !important;
  background-image: none !important;
  border-top: 0;
}

.experts-cta::before {
  display: none;
}

body.has-fx.page-experts .experts-cta h2 {
  color: #0b1424;
  text-shadow: none;
}

body.has-fx.page-experts .experts-cta .lead {
  color: #374760;
  text-shadow: none;
}

.experts-cta .note {
  color: #52637c;
}

body.has-fx.page-experts .experts-cta .btn--primary {
  color: #ffffff;
  background: #10213d;
  border-color: #10213d;
  box-shadow: none;
}

body.has-fx.page-experts .experts-cta .btn--secondary {
  color: #172236;
  background: transparent;
  border-color: #6c7d97;
}

.page-experts .footer {
  color: rgba(235, 240, 255, .76);
}

.page-experts .footer__brand p,
.page-experts .footer__bottom {
  color: rgba(235, 240, 255, .66);
}

.page-experts .footer a {
  color: rgba(235, 240, 255, .76);
}

.page-experts .footer__heading {
  margin: 0 0 var(--space-5);
  color: var(--color-text-primary);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  line-height: var(--lh-snug);
}

.page-experts #yj-chat-orb {
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
}

.page-experts.is-drawer-open #yj-chat-orb {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 1023px) {
  .page-experts .nav__actions {
    margin-left: auto;
  }

  .experts-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }

  .experts-map {
    max-width: 700px;
  }

  .experts-catalog__intro,
  .experts-assets__head {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .expert-group__header {
    grid-template-columns: auto 1fr;
  }

  .expert-group__header p {
    grid-column: 2;
    text-align: left;
  }

  .expert-group--decision .card--role {
    grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr);
  }

  .expert-group--decision .role-skills {
    grid-column: 1 / -1;
  }

  .experts-assets__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .page-experts #yj-chat-orb {
    display: none;
  }

  .page-experts .experts-hero {
    padding-block: 112px 56px;
  }

  .experts-hero .hero__title {
    max-width: 10em;
  }

  .experts-hero .hero__sub {
    margin-top: var(--space-5);
    font-size: 1rem;
  }

  .experts-hero .hero__cta {
    margin-top: var(--space-7);
    gap: var(--space-3);
  }

  .experts-hero .hero__cta .btn {
    flex: 1 1 180px;
  }

  .experts-hero__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
  }

  .experts-hero__metrics li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: var(--fs-caption);
  }

  .experts-map {
    display: none;
  }

  .page-experts .experts-catalog,
  .page-experts .experts-assets {
    padding-block: 64px;
  }

  .experts-catalog__intro {
    margin-bottom: 48px;
  }

  .experts-catalog__intro p,
  .experts-assets__head p {
    font-size: 1rem;
  }

  .expert-group + .expert-group {
    margin-top: 48px;
    padding-top: 48px;
  }

  .expert-group__header {
    grid-template-columns: auto 1fr;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
  }

  .expert-group__header p {
    grid-column: 1 / -1;
  }

  .experts-catalog .card--role {
    min-height: 0;
    padding: var(--space-5);
  }

  .expert-group--decision .card--role {
    display: flex;
  }

  .experts-guardrail {
    margin-top: 48px;
  }

  .experts-assets__grid {
    grid-template-columns: 1fr;
  }

  body.has-fx.page-experts .asset-card {
    min-height: 0;
    padding: var(--space-5);
  }

  .page-experts .experts-cta {
    padding-block: 64px;
  }

  .page-experts .footer {
    padding-bottom: calc(var(--space-20) + 72px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 420px) {
  .experts-hero__metrics {
    grid-template-columns: 1fr;
  }

  .experts-hero__metrics li {
    flex-direction: row;
    align-items: baseline;
  }

  .expert-group__index {
    font-size: 1.5rem;
  }
}

@media (min-width: 560px) and (max-width: 767px) {
  .experts-catalog .expert-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .experts-catalog .expert-group--decision .expert-grid,
  .experts-assets__grid {
    grid-template-columns: 1fr;
  }
}
