/* TryHired degree family (S038 W3): the stage rules the W3 degree pages use; loaded only by those pages. */
.fx-kv { margin: 10px 0 0; display: grid; gap: 0; }
.fx-kv > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--rule); font-size: 14.5px; }
.fx-kv dt { color: var(--mute-2); } .fx-kv dd { margin: 0; font-weight: 650; text-align: right; font-variant-numeric: tabular-nums; }
/* Sprint 004B · degree -> career graph (program -> related occupations) */
.dg-map { display: grid; grid-template-columns: minmax(0, 0.9fr) 28px minmax(0, 1.6fr); gap: 10px; align-items: center; }
.dg-prog { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: var(--r-lg); background: var(--ink); color: var(--paper); }
.dg-prog .label { color: var(--gold); } .dg-prog strong { font-size: 24px; line-height: 1.1; letter-spacing: -0.02em; } .dg-prog > span:last-child { font-size: 13px; opacity: 0.8; }
.dg-arrow { height: 2px; background: var(--gold); position: relative; } .dg-arrow::after { content: ""; position: absolute; right: -1px; top: -5px; border: 6px solid transparent; border-left: 8px solid var(--gold); border-right: 0; }
.dg-groups { display: grid; gap: 8px; }
.dg-grp { padding: 10px 12px; border-radius: var(--r); background: var(--card); border: 1px solid var(--rule); }
.dg-grp > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.dg-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 10px; border-radius: 999px; background: var(--paper-deep); font-size: 13px; font-weight: 600; color: var(--ink); text-decoration: none; }
.dg-chip:hover { background: var(--hi-soft); }
.dg-filters { display: flex; flex-wrap: wrap; gap: 10px; } .dg-explorer tr[hidden] { display: none; }
.dg-explorer tr:target th, .dg-explorer tr:target td { background: var(--hi-soft); }
.dg-paths { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.dg-path { padding: 20px; display: flex; flex-direction: column; gap: 4px; } .dg-path > strong { font-size: 18px; line-height: 1.25; margin-top: 4px; }
.dg-path > strong a { display: inline-flex; align-items: center; min-height: 32px; }
.dg-path p { margin: 6px 0 0; font-size: 14.5px; color: var(--mute-2); } .dg-path .dg-sk { font-size: 13px; color: var(--ink); font-weight: 600; }
.dg-by { margin-top: auto; padding-top: 10px; font-family: var(--mono); font-size: 11px; color: var(--mute); }
.dg-conns { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.dg-conn { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 14px 16px; border-radius: var(--r); background: var(--card); border: 1px solid var(--rule); }
.dg-conn b { grid-row: span 2; font-size: 30px; line-height: 1; letter-spacing: -0.03em; color: var(--gold-deep); } .dg-conn span { font-weight: 650; font-size: 14.5px; }
.dg-conn em { font-style: normal; font-family: var(--mono); font-size: 11.5px; color: var(--mute); }
@media (max-width: 760px) { .dg-map { grid-template-columns: 1fr; } .dg-arrow { width: 2px; height: 20px; margin-left: 24px; } .dg-arrow::after { right: auto; top: auto; bottom: -1px; left: -5px; border: 6px solid transparent; border-top: 8px solid var(--gold); border-bottom: 0; } }
.dg-allf { justify-self: start; background: none; border: 1px dashed var(--rule-2); color: var(--gold-text); }
.dg-next { display: flex; flex-wrap: wrap; gap: 6px; } .dg-next a { display: inline-flex; align-items: center; min-height: 32px; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--rule-2); font-size: 13px; font-weight: 650; text-decoration: none; color: var(--ink); } .dg-next a:hover { border-color: var(--gold); }
.dg-disc-panel .label { color: var(--gold); }
.dg-disc-panel .fx-search input { width: 100%; min-width: 0; border-color: transparent; color: var(--ink); } .dg-dtile[hidden], .dg-dchips .dg-chip[hidden] { display: none; }
.pth-from .label { color: var(--gold); }
.tl-offers .fam-2 { gap: 14px !important; }
.ep-sub { font-size: 13.5px; color: var(--mute-2); }
/* Sprint 005C · regional price levels (BEA RPP) */
.rp-card { padding: 22px; display: flex; flex-direction: column; gap: 8px; align-self: center; } .rp-card > strong { font-size: 48px; letter-spacing: -0.04em; line-height: 1; }
.rp-def { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; margin: 14px 0 0; }
.rp-def > div { padding: 14px 16px; border-radius: var(--r-lg); background: var(--card); border: 1px solid var(--rule); } .rp-def p { margin: 6px 0 0; font-size: 14.5px; color: var(--mute-2); }
/* S038 W3 addition: guarantee footnote inside the HIRED panel */
.th-continue .th-terms { margin: 10px 0 0; font-size: 12.5px; color: rgba(251, 250, 247, 0.62); }
