/* Diagnostic page (V204). Scoped to body.v2-diagnostic. Shared styles: v2.css. */
.v2-diagnostic .dgx-mono { font: 500 10.5px/normal var(--v2-mono); letter-spacing: 1.47px; text-transform: uppercase; color: var(--v2-g500); margin: 0; }
.v2-diagnostic .dgx-mono--am { color: var(--v2-amber-deep); }
.v2-diagnostic .dgx-mono--gr { color: var(--v2-g500); }
.v2-diagnostic .dgx-mono--lg { font-size: 11.5px; letter-spacing: 1.61px; color: var(--v2-amber-deep); }
.v2-diagnostic .dgx-mono--fine { font-size: 10px; letter-spacing: 1px; color: var(--v2-g700); }
.v2-diagnostic .dgx-mono--note { font-size: 12px; line-height: 1.5; letter-spacing: 1.2px; color: var(--v2-g700); }
.v2-diagnostic .dgx-lede-dark { color: var(--v2-g700); }
.v2-diagnostic .dgx-lede760 { max-width: 760px; }
.v2-diagnostic .dgx-fs { font-size: 15px; }
.v2-diagnostic .v2-hero-copy .v2-cta-row { gap: 12px 26px; }

/* Hero map card */
.v2-diagnostic .dgx-mapcard { position: relative; width: 548px; aspect-ratio: 548 / 504; padding: 0; gap: 0; flex: 0 0 auto; }
.v2-diagnostic .dgx-mapttl { position: absolute; left: 3.63%; top: 3.77%; font: 600 16px/normal var(--v2-sans); margin: 0; }
.v2-diagnostic .dgx-mapchip { position: absolute; right: 3.4%; top: 3.37%; background: rgba(230, 164, 58, .14); }
.v2-diagnostic .dgx-map { position: absolute; inset: 0; }
.v2-diagnostic .dgx-map img, .v2-diagnostic .dgx-map span { position: absolute; display: block; }
.v2-diagnostic .dgx-m-route { max-width: none; }
.v2-diagnostic .dgx-m-dot { width: 13px; height: 13px; }
.v2-diagnostic .dgx-m-halo { width: 44px; height: 44px; }
.v2-diagnostic .dgx-m-ghalo { width: 40px; height: 40px; }
.v2-diagnostic .dgx-m-goal { width: 20px; height: 20px; }
.v2-diagnostic .dgx-m-leak { width: 26px; height: 26px; border-radius: 999px; background: var(--v2-amber); color: var(--v2-black); font: 700 12px/26px var(--v2-mono); text-align: center; }
.v2-diagnostic .dgx-m-lab { background: var(--v2-white); border: 1px solid var(--v2-g200); border-radius: 999px; padding: 3px 9px; font: 500 11.5px/normal var(--v2-sans); color: var(--v2-black); white-space: nowrap; }
.v2-diagnostic .dgx-m-lab--leak { border-color: var(--v2-amber); }
.v2-diagnostic .dgx-legend { position: absolute; left: 3.63%; right: 3.6%; bottom: 0; height: 51px; border-top: 1px solid var(--v2-g200); display: flex; align-items: center; gap: 24px; font: 400 12.5px/normal var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.v2-diagnostic .dgx-legend img { width: 11px; height: 11px; }
@media (max-width: 1000px) { .v2-diagnostic .dgx-mapcard { width: 100%; max-width: 548px; } .v2-diagnostic .v2-hero-side { justify-content: flex-start; } }
@media (max-width: 640px) {
  .v2-diagnostic .dgx-mapcard { aspect-ratio: 342 / 350; }
  .v2-diagnostic .dgx-legend { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; height: 50px; }
}

/* What happens */
.v2-diagnostic .dgx-steps { display: flex; margin-top: 44px; }
.v2-diagnostic .dgx-steps li { flex: 1 1 0; min-width: 0; padding-right: 28px; display: flex; flex-direction: column; gap: 14px; }
.v2-diagnostic .dgx-thread { display: flex; align-items: center; gap: 10px; }
.v2-diagnostic .dgx-thread img { flex: 1 1 0; min-width: 0; height: 4px; }
.v2-diagnostic .dgx-n { width: 36px; height: 36px; border-radius: 999px; background: var(--v2-amber); color: var(--v2-black); font: 700 12.5px/36px var(--v2-mono); text-align: center; flex: 0 0 auto; }
.v2-diagnostic .dgx-n--pine { background: var(--v2-pine); color: var(--v2-white); }
.v2-diagnostic .dgx-steps h3 { font: 600 20px/1.2 var(--v2-sans); letter-spacing: -.2px; }
.v2-diagnostic .dgx-steps p { font: 400 15.5px/1.55 var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-method { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: 44px; }
.v2-diagnostic .dgx-method > span:not(.v2-strip-k) { display: inline-flex; gap: 8px; align-items: center; background: var(--v2-white); border: 1px solid var(--v2-g200); border-radius: 999px; padding: 8px 14px; font: 500 14px/normal var(--v2-sans); }
.v2-diagnostic .dgx-method em { font: 500 10.5px/normal var(--v2-mono); color: var(--v2-amber-deep); font-style: normal; }
.v2-diagnostic .dgx-note { display: flex; gap: 14px; align-items: center; margin-top: 44px; font: 400 16px/1.5 var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-note img { width: 14px; height: 14px; flex: 0 0 auto; }
@media (max-width: 800px) { .v2-diagnostic .dgx-steps { flex-direction: column; gap: 24px; margin-top: 28px; } .v2-diagnostic .dgx-steps li { padding-right: 0; } .v2-diagnostic .dgx-method, .v2-diagnostic .dgx-note { margin-top: 28px; } }

/* Deliverables */
.v2-diagnostic .dgx-cols3 { display: flex; gap: 30px; align-items: flex-start; margin-top: 56px; }
.v2-diagnostic .dgx-d { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.v2-diagnostic .dgx-d h3 { font: 600 22px/1.2 var(--v2-sans); letter-spacing: -.22px; margin-top: 2px; }
.v2-diagnostic .dgx-d > p:not(.dgx-mono) { font: 400 15.5px/1.5 var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-d p.dgx-out { color: var(--v2-black); line-height: normal; }
.v2-diagnostic .dgx-mock { background: var(--v2-white); border: 1px solid var(--v2-g200); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.v2-diagnostic .dgx-mh { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.v2-diagnostic .dgx-mh .dgx-mono { font-size: 11px; letter-spacing: 1.54px; }
.v2-diagnostic .dgx-exchip { background: rgba(230, 164, 58, .2); color: var(--v2-amber-deep); font: 500 12px/normal var(--v2-sans); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.v2-diagnostic .dgx-mt { font: 600 21px/normal var(--v2-sans); letter-spacing: -.21px; color: var(--v2-black); margin: 0; }
.v2-diagnostic .dgx-item { display: flex; gap: 10px; align-items: flex-start; padding-top: 10px; }
.v2-diagnostic .dgx-item b { font: 600 15.5px/normal var(--v2-sans); display: block; white-space: nowrap; }
.v2-diagnostic .dgx-item > div { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.v2-diagnostic .dgx-rank { width: 18px; height: 18px; border-radius: 999px; background: var(--v2-black); color: var(--v2-white); font: 700 10px/18px var(--v2-mono); text-align: center; flex: 0 0 auto; }
.v2-diagnostic .dgx-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.v2-diagnostic .dgx-tag { font: 500 9px/normal var(--v2-mono); letter-spacing: .54px; text-transform: uppercase; border-radius: 999px; padding: 2px 6px; white-space: nowrap; }
.v2-diagnostic .dgx-tag--g { background: var(--v2-g100); color: var(--v2-g700); }
.v2-diagnostic .dgx-tag--a { background: rgba(230, 164, 58, .22); color: var(--v2-amber-deep); }
.v2-diagnostic .dgx-tag--p { background: rgba(30, 64, 52, .14); color: var(--v2-pine); }
.v2-diagnostic .dgx-box { border: 1.5px solid; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; background: var(--v2-white); }
.v2-diagnostic .dgx-box small { font: 500 9px/normal var(--v2-mono); letter-spacing: 1.26px; text-transform: uppercase; }
.v2-diagnostic .dgx-box b { font: 600 15.5px/normal var(--v2-sans); color: var(--v2-black); }
.v2-diagnostic .dgx-box span { font: 400 12px/normal var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-box--out { border-color: var(--v2-black); } .v2-diagnostic .dgx-box--out small { color: var(--v2-g500); }
.v2-diagnostic .dgx-box--ai { border-color: var(--v2-amber); background: rgba(230, 164, 58, .22); } .v2-diagnostic .dgx-box--ai small { color: var(--v2-amber-deep); }
.v2-diagnostic .dgx-box--ok { border-color: var(--v2-pine); } .v2-diagnostic .dgx-box--ok small { color: var(--v2-pine); }
.v2-diagnostic .dgx-count { align-self: flex-start; background: var(--v2-g100); color: var(--v2-g700); font: 500 11.5px/normal var(--v2-mono); border-radius: 999px; padding: 5px 12px; }
.v2-diagnostic .dgx-person { display: flex; gap: 12px; align-items: center; }
.v2-diagnostic .dgx-person > div { display: flex; flex-direction: column; }
.v2-diagnostic .dgx-person b { font: 600 17px/normal var(--v2-sans); letter-spacing: -.17px; }
.v2-diagnostic .dgx-person span { font: 400 14px/normal var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-av { width: 40px; height: 40px; border: 1.5px solid var(--v2-black); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font: 500 17px/1 var(--v2-sans); color: var(--v2-black) !important; }
.v2-diagnostic .dgx-when { align-self: flex-start; border: 1px solid var(--v2-amber); color: var(--v2-amber-deep); font: 500 11px/normal var(--v2-mono); letter-spacing: 1.1px; text-transform: uppercase; border-radius: 999px; padding: 4px 12px; }
.v2-diagnostic .dgx-bul { display: flex; gap: 10px; align-items: flex-start; font: 400 14.5px/1.3 var(--v2-sans); color: var(--v2-black); margin: 0; }
.v2-diagnostic .dgx-bul img { width: 6px; height: 13px; flex: 0 0 auto; }
.v2-diagnostic .dgx-cap { align-self: flex-start; background: var(--v2-amber); color: var(--v2-black); font: 500 13px/normal var(--v2-sans); border-radius: 999px; padding: 5px 12px; }
.v2-diagnostic .dgx-keep-h { font: 600 32px/1.15 var(--v2-sans); letter-spacing: -.48px; margin: 56px 0 24px; }
.v2-diagnostic .dgx-keep { display: flex; gap: 18px; align-items: stretch; }
.v2-diagnostic .dgx-keep .v2-card { flex: 1 1 0; min-width: 0; padding: 22px 24px 24px; }
.v2-diagnostic .dgx-keep h4 { font: 600 22px/1.15 var(--v2-sans); letter-spacing: -.22px; margin: 0; }
.v2-diagnostic .dgx-keep p { font: 400 15.5px/1.5 var(--v2-sans); color: var(--v2-g500); }

/* Swipe rows on phone/tablet */
@media (max-width: 900px) {
  .v2-diagnostic .dgx-swipe { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -24px; padding-right: 24px; }
  .v2-diagnostic .dgx-swipe::-webkit-scrollbar { display: none; }
  .v2-diagnostic .dgx-swipe.dgx-swipe > * { flex: 0 0 min(82%, 340px); scroll-snap-align: start; }
  .v2-diagnostic .dgx-cols3 { margin-top: 32px; gap: 16px; }
  .v2-diagnostic .dgx-keep { flex-direction: column; }
  .v2-diagnostic .dgx-keep-h { font-size: 24px; margin-top: 36px; }
}

/* Blueprint cards */
.v2-diagnostic .dgx-bps { display: flex; gap: 21px; margin-top: 40px; align-items: stretch; }
.v2-diagnostic .dgx-bp { flex: 1 1 0; min-width: 0; border: 1px solid var(--v2-g200); border-radius: 18px; overflow: hidden; background: var(--v2-white); }
.v2-diagnostic .dgx-bp-ill { position: relative; height: 115px; background: var(--v2-g100); overflow: hidden; }
.v2-diagnostic .dgx-bp-ill img { position: absolute; display: block; max-width: none; }
.v2-diagnostic .dgx-bp-body { padding: 18px 22px 22px; display: flex; flex-direction: column; gap: 6px; }
.v2-diagnostic .dgx-bp h3 { font: 600 20px/normal var(--v2-sans); letter-spacing: -.2px; }
.v2-diagnostic .dgx-bp ul { margin-top: 10px; border-top: 1px solid var(--v2-g200); }
.v2-diagnostic .dgx-bp li { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--v2-g200); font: 500 15.5px/normal var(--v2-sans); white-space: nowrap; }
.v2-diagnostic .dgx-bp li:last-child { border-bottom: 0; }
.v2-diagnostic .dgx-bp li img { width: 7px; height: 7px; }
@media (max-width: 900px) { .v2-diagnostic .dgx-bps { margin-top: 28px; gap: 16px; } .v2-diagnostic .dgx-bp-body { padding: 14px 18px 16px; } }

/* Two-column sections */
.v2-diagnostic .dgx-twocol { display: flex; gap: 72px; align-items: flex-start; }
.v2-diagnostic .dgx-twocol--rev { flex-direction: row-reverse; }
.v2-diagnostic .dgx-side { flex: 0 0 340px; max-width: 100%; display: flex; flex-direction: column; gap: 32px; }
.v2-diagnostic .dgx-twocol > :not(.dgx-side) { flex: 1 1 0; min-width: 0; }
.v2-diagnostic .dgx-h28 { font: 600 28px/1.12 var(--v2-sans); letter-spacing: -.56px; margin: 0; }
.v2-diagnostic .dgx-inside { gap: 14px; }
@media (max-width: 900px) { .v2-diagnostic .dgx-twocol, .v2-diagnostic .dgx-twocol--rev { flex-direction: column; gap: 28px; } .v2-diagnostic .dgx-side { flex: none; width: 100%; } .v2-diagnostic .dgx-twocol > :not(.dgx-side) { width: 100%; flex: none; } }

/* Accordions */
.v2-diagnostic .dgx-acc { border-bottom: 1px solid var(--v2-g200); }
.v2-diagnostic .dgx-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; font: 600 20px/normal var(--v2-sans); letter-spacing: -.1px; }
.v2-diagnostic .dgx-acc summary::-webkit-details-marker { display: none; }
.v2-diagnostic .dgx-acc summary::after { content: "+"; font: 400 24px/1 var(--v2-sans); color: var(--v2-amber-deep); flex: 0 0 auto; }
.v2-diagnostic .dgx-acc[open] summary::after { content: "\2212"; }
.v2-diagnostic .dgx-acc summary small { display: block; font: 500 10.5px/normal var(--v2-mono); letter-spacing: 1.47px; text-transform: uppercase; color: var(--v2-amber-deep); margin-bottom: 2px; }
.v2-diagnostic .dgx-acc summary:focus-visible, .v2-diagnostic .dgx-faq summary:focus-visible { outline: 3px solid var(--v2-amber-deep); outline-offset: 2px; }
.v2-diagnostic .dgx-nine { list-style: decimal; padding: 0 0 14px 22px; font: 400 15.5px/1.7 var(--v2-sans); color: var(--v2-g700); }
.v2-diagnostic .dgx-nine li { list-style: decimal; }
.v2-diagnostic .dgx-accp { padding: 0 0 14px; font: 400 15.5px/1.5 var(--v2-sans); color: var(--v2-g500); }

/* Sample Blueprint document */
.v2-diagnostic .dgx-doc { background: var(--v2-white); border: 1px solid var(--v2-black); border-radius: 4px; box-shadow: 8px 8px 0 rgba(230, 164, 58, .55); min-width: 0; }
.v2-diagnostic .dgx-doc-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 24px; border-bottom: 1px solid var(--v2-black); }
.v2-diagnostic .dgx-doc-h b { font: 600 16.5px/normal var(--v2-sans); }
.v2-diagnostic .dgx-chipfill { background: rgba(230, 164, 58, .2); letter-spacing: 1.47px; padding: 4px 10px; }
.v2-diagnostic .dgx-doc-b { display: flex; gap: 44px; align-items: flex-start; padding: 22px 24px 26px; }
.v2-diagnostic .dgx-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.v2-diagnostic .dgx-arr { font: 700 26px/1 var(--v2-sans); color: var(--v2-amber); align-self: center; margin: 0 -18px; }
.v2-diagnostic .dgx-st { display: flex; gap: 12px; align-items: center; }
.v2-diagnostic .dgx-st img { width: 12px; height: 12px; flex: 0 0 auto; }
.v2-diagnostic .dgx-sb { flex: 1 1 0; min-width: 0; border: 1px solid var(--v2-black); border-radius: 6px; padding: 8px 14px 9px; display: flex; flex-direction: column; gap: 1px; background: var(--v2-white); }
.v2-diagnostic .dgx-sb small { font: 500 9px/normal var(--v2-mono); letter-spacing: 1.26px; text-transform: uppercase; color: var(--v2-g500); }
.v2-diagnostic .dgx-sb span { font: 500 15px/normal var(--v2-sans); color: var(--v2-black); }
.v2-diagnostic .dgx-sb--ai { background: rgba(230, 164, 58, .22); border-color: var(--v2-amber); } .v2-diagnostic .dgx-sb--ai small { color: var(--v2-amber-deep); }
.v2-diagnostic .dgx-sb--ok { border: 1.5px solid var(--v2-pine); } .v2-diagnostic .dgx-sb--ok small { color: var(--v2-pine); }
.v2-diagnostic .dgx-sb--out { border-style: dashed; }
.v2-diagnostic .dgx-find { display: flex; border-top: 1px solid var(--v2-black); }
.v2-diagnostic .dgx-find > div { flex: 1 1 0; min-width: 0; padding: 18px 24px 20px; display: flex; flex-direction: column; gap: 6px; }
.v2-diagnostic .dgx-find > div + div { border-left: 1px solid var(--v2-g200); }
.v2-diagnostic .dgx-find small { font: 500 10px/normal var(--v2-mono); letter-spacing: 1.4px; text-transform: uppercase; color: var(--v2-amber-deep); }
.v2-diagnostic .dgx-find p { font: 400 15.5px/1.4 var(--v2-sans); color: var(--v2-black); }
.v2-diagnostic .dgx-doc-f { display: flex; justify-content: space-between; gap: 12px; align-items: center; background: var(--v2-g100); border-top: 1px solid var(--v2-black); padding: 14px 24px; font: 400 14px/normal var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-doc-f span { display: inline-flex; gap: 8px; align-items: center; }
.v2-diagnostic .dgx-doc-f img { width: 10px; height: 10px; }
@media (max-width: 900px) {
  .v2-diagnostic .dgx-doc { margin-right: 8px; }
  .v2-diagnostic .dgx-doc-h { padding: 14px 12px; } .v2-diagnostic .dgx-doc-h b { font-size: 14px; }
  .v2-diagnostic .dgx-doc-b { gap: 14px; padding: 14px 12px; }
  .v2-diagnostic .dgx-arr, .v2-diagnostic .dgx-st img { display: none; }
  .v2-diagnostic .dgx-col { gap: 6px; }
  .v2-diagnostic .dgx-sb { border: 0; border-left: 3px solid var(--v2-g300); border-radius: 0; padding: 0 0 0 8px; }
  .v2-diagnostic .dgx-sb--ai { background: none; border-left-color: var(--v2-amber); } .v2-diagnostic .dgx-sb--ok { border: 0; border-left: 3px solid var(--v2-pine); }
  .v2-diagnostic .dgx-sb span { font-size: 13px; }
  .v2-diagnostic .dgx-find { flex-direction: column; } .v2-diagnostic .dgx-find > div { padding: 10px 12px; } .v2-diagnostic .dgx-find > div + div { border-left: 0; border-top: 1px solid var(--v2-g200); }
  .v2-diagnostic .dgx-doc-f { flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px; font-size: 13px; }
}

/* What's included */
.v2-diagnostic .dgx-incl { display: flex; gap: 20px; align-items: flex-start; }
.v2-diagnostic .dgx-in { flex: 1 1 0; min-width: 0; padding: 30px 30px 12px; gap: 8px; align-self: stretch; }
.v2-diagnostic .dgx-in h3 { font: 600 22px/normal var(--v2-sans); letter-spacing: -.22px; }
.v2-diagnostic .dgx-in > p { font: 400 15px/normal var(--v2-sans); color: var(--v2-g500); }
.v2-diagnostic .dgx-in ul { width: 100%; margin-top: 6px; border-top: 1px solid var(--v2-g200); }
.v2-diagnostic .dgx-in li { display: flex; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--v2-g200); font: 400 15.5px/1.4 var(--v2-sans); color: var(--v2-g700); }
.v2-diagnostic .dgx-in li:last-child { border-bottom: 0; }
.v2-diagnostic .dgx-in li b { color: var(--v2-black); font-weight: 600; }
.v2-diagnostic .dgx-in li img { width: 20px; height: 20px; flex: 0 0 auto; }
.v2-diagnostic .dgx-in--not { background: transparent; border: 1px dashed var(--v2-g300); }
.v2-diagnostic .dgx-in--not li { align-items: flex-start; }
.v2-diagnostic .dgx-in--not li span { display: flex; flex-direction: column; gap: 2px; }
.v2-diagnostic .dgx-in--not li b { font-size: 15.5px; color: var(--v2-black); }
.v2-diagnostic .dgx-in--not li em { font: 400 14px/normal var(--v2-sans); color: var(--v2-g500); font-style: normal; }
.v2-diagnostic .dgx-open { display: block; width: 16px; height: 16px; margin-top: 4px; border: 1px dashed var(--v2-g500); border-radius: 999px; flex: 0 0 auto; box-sizing: border-box; }
@media (max-width: 640px) { .v2-diagnostic .dgx-incl { flex-direction: column; align-items: stretch; } .v2-diagnostic .dgx-in { padding: 22px 20px 6px; } }

/* Who's in the room */
.v2-diagnostic .dgx-room { padding: 36px 36px 32px; display: block; }
.v2-diagnostic .dgx-people { display: flex; align-items: flex-start; justify-content: space-between; }
.v2-diagnostic .dgx-p { display: flex; flex-direction: column; gap: 8px; align-items: center; flex: 0 0 auto; }
.v2-diagnostic .dgx-p b { font: 600 15.5px/normal var(--v2-sans); white-space: nowrap; }
.v2-diagnostic .dgx-pa { width: 70px; height: 70px; border-radius: 999px; border: 2px solid var(--v2-amber); background: var(--v2-white); display: inline-flex; align-items: center; justify-content: center; font: 500 18px/1 var(--v2-sans); color: var(--v2-black); box-sizing: border-box; }
.v2-diagnostic .dgx-pa--sw { background: var(--v2-black); border-color: var(--v2-black); color: var(--v2-amber); }
.v2-diagnostic .dgx-pa--plus { border: 2px dashed var(--v2-g500); color: var(--v2-g500); font-size: 20px; font-weight: 400; }
.v2-diagnostic .dgx-conn { flex: 1 1 0; min-width: 10px; height: 35px; }
.v2-diagnostic .dgx-inc { display: inline-flex; gap: 6px; align-items: center; font: 500 9.5px/normal var(--v2-mono); letter-spacing: 1.33px; text-transform: uppercase; color: var(--v2-pine); font-style: normal; }
.v2-diagnostic .dgx-inc img { width: 9px; height: 9px; }
.v2-diagnostic .dgx-we { font: 500 9.5px/normal var(--v2-mono); letter-spacing: 1.14px; text-transform: uppercase; color: var(--v2-g500); font-style: normal; white-space: nowrap; }
.v2-diagnostic .dgx-extra { background: rgba(230, 164, 58, .2); color: var(--v2-amber-deep); border: 1px solid var(--v2-amber); font: 500 9.5px/normal var(--v2-mono); letter-spacing: 1.33px; text-transform: uppercase; border-radius: 999px; padding: 3px 10px; }
@media (max-width: 900px) { .v2-diagnostic .dgx-room { padding: 24px 18px; } .v2-diagnostic .dgx-people { flex-wrap: wrap; justify-content: center; gap: 22px 14px; } .v2-diagnostic .dgx-conn { display: none; } .v2-diagnostic .dgx-pa { width: 56px; height: 56px; font-size: 15px; } }

/* FAQ */
.v2-diagnostic .dgx-faq details { border-bottom: 1px solid var(--v2-g200); }
.v2-diagnostic .dgx-faq details:first-child { border-top: 1px solid var(--v2-g200); }
.v2-diagnostic .dgx-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font: 600 18px/1.3 var(--v2-sans); letter-spacing: -.09px; }
.v2-diagnostic .dgx-faq summary::-webkit-details-marker { display: none; }
.v2-diagnostic .dgx-faq summary::after { content: "+"; width: 30px; height: 30px; flex: 0 0 auto; border: 1px solid var(--v2-amber); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font: 400 18px/1 var(--v2-sans); color: var(--v2-amber-deep); }
.v2-diagnostic .dgx-faq details[open] summary::after { content: "\2212"; }
.v2-diagnostic .dgx-faq p { padding: 0 46px 20px 0; font: 400 15.5px/1.6 var(--v2-sans); color: var(--v2-g500); }

/* Closing band */
.v2-diagnostic .dgx-close { position: relative; border-top: 1px solid var(--v2-g200); overflow: hidden; }
.v2-diagnostic .dgx-close .v2-wrap { position: relative; z-index: 1; }
.v2-diagnostic .dgx-close-route { position: absolute; left: calc(50% + 290px); top: 59px; width: 280px; height: 310px; max-width: none; }
.v2-diagnostic .dgx-close-goal { position: absolute; left: calc(50% + 559px); top: 68px; width: 22px; height: 22px; }
.v2-diagnostic .dgx-close-link { color: var(--v2-g700); }
@media (max-width: 1250px) { .v2-diagnostic .dgx-close-route, .v2-diagnostic .dgx-close-goal { display: none; } }

/* Diagnostic card: blueprint-style flow, steps top-down beside where a digital teammate fits */
.v2-diagnostic .dgx-mapcard { aspect-ratio: auto; width: 548px; padding: 22px 24px 0; gap: 0; }
.v2-diagnostic .dgx-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.v2-diagnostic .dgx-mapttl, .v2-diagnostic .dgx-mapchip { position: static; }
.v2-diagnostic .dgx-cols, .v2-diagnostic .dgx-flow li { display: grid; grid-template-columns: 1fr 1fr; column-gap: 34px; }
.v2-diagnostic .dgx-cols { margin-bottom: 8px; font: 500 10px/normal var(--v2-mono); letter-spacing: 1.4px; text-transform: uppercase; color: var(--v2-g500); }
.v2-diagnostic .dgx-flow { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.v2-diagnostic .dgx-s, .v2-diagnostic .dgx-t { position: relative; box-sizing: border-box; border-radius: 10px; padding: 9px 11px; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 44px; }
.v2-diagnostic .dgx-s { background: var(--v2-white); border: 1px solid var(--v2-g200); }
.v2-diagnostic .dgx-t { background: rgba(11, 110, 79, .08); border: 1px solid rgba(11, 110, 79, .45); }
.v2-diagnostic .dgx-t--you { background: transparent; border: 1px dashed var(--v2-g200); }
.v2-diagnostic .dgx-flow b { font: 600 12px/1.25 var(--v2-sans); color: var(--v2-black); }
.v2-diagnostic .dgx-flow small { font: 400 10px/1.2 var(--v2-mono); color: var(--v2-g500); }
.v2-diagnostic .dgx-flow li.is-leak .dgx-s { border-color: var(--v2-amber); background: rgba(230, 164, 58, .09); }
.v2-diagnostic .dgx-flow i { position: absolute; top: -8px; left: -8px; width: 20px; height: 20px; border-radius: 999px; background: var(--v2-amber); color: var(--v2-black); font: 700 11px/20px var(--v2-mono); text-align: center; font-style: normal; }
.v2-diagnostic .dgx-flow li.is-goal .dgx-s { background: var(--v2-black); border-color: var(--v2-black); }
.v2-diagnostic .dgx-flow li.is-goal .dgx-s b { color: var(--v2-white); }
.v2-diagnostic .dgx-flow li.is-goal .dgx-s small { color: var(--v2-amber); }
/* arrow between steps, and a line from each step to its teammate */
.v2-diagnostic .dgx-flow li:not(:last-child) .dgx-s::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 14px; background: var(--v2-amber-deep); }
.v2-diagnostic .dgx-flow li:not(:last-child) .dgx-s::before { content: ""; position: absolute; left: calc(50% - 3px); top: calc(100% + 8px); width: 6px; height: 6px; border-right: 2px solid var(--v2-amber-deep); border-bottom: 2px solid var(--v2-amber-deep); transform: rotate(45deg); }
.v2-diagnostic .dgx-t::before { content: ""; position: absolute; right: 100%; top: 50%; width: 34px; border-top: 2px dotted rgba(11, 110, 79, .5); }
.v2-diagnostic .dgx-t--you::before { border-top-color: var(--v2-g200); }
.v2-diagnostic .dgx-legend { position: static; height: auto; margin: 20px -24px 0; padding: 14px 24px; flex-wrap: wrap; gap: 8px 20px; }
.v2-diagnostic .dgx-dot { display: inline-block; width: 11px; height: 11px; border-radius: 3px; background: rgba(11, 110, 79, .15); border: 1px solid rgba(11, 110, 79, .6); box-sizing: border-box; }
.v2-diagnostic .dgx-dot--you { background: transparent; border: 1px dashed var(--v2-g500); }
@media (max-width: 1000px) { .v2-diagnostic .dgx-mapcard { width: 100%; } }
@media (max-width: 640px) {
  .v2-diagnostic .dgx-mapcard { aspect-ratio: auto; padding: 18px 14px 0; }
  .v2-diagnostic .dgx-cols, .v2-diagnostic .dgx-flow li { column-gap: 22px; }
  .v2-diagnostic .dgx-t::before { width: 22px; }
  .v2-diagnostic .dgx-flow b { font-size: 11.5px; }
  .v2-diagnostic .dgx-legend { margin: 18px -14px 0; padding: 12px 14px; flex-direction: row; height: auto; }
}
