:root{--on-navy-muted:#c6d7ec;--on-navy:#e4edf8}
/* Consistent hierarchy: neutral context, blue mentor guidance, green progress. */
:root{--muted:#5e7085;--context-bg:#f7f8fa;--context-line:#e1e6ec;--guidance-bg:#f0f5fc;--guidance-line:#d9e5f4;--progress-bg:#f0f7f2;--progress-line:#dbe9df;--progress-ink:#315b41}
:where(a,button,summary,[tabindex]):focus-visible{outline:3px solid #3479c7;outline-offset:4px}
/* Academy and program */
.experience-grid article{border-top-color:#8c9aab}
.experience-grid article:nth-child(2){background:#f5f8fd;border-color:var(--guidance-line);border-top-color:#285a95}
.experience-grid article:nth-child(3){background:#f5f9f6;border-color:var(--progress-line);border-top-color:#749580}
.experience-grid article:nth-child(3) .exp-sub{color:var(--progress-ink)}
.experience-grid .exp-num{color:#52677f}
.rank-tabs button[aria-selected=true]{background:#eef4fc;box-shadow:inset 0 -3px #123b72}
.rank-tabs button[aria-selected=true] small{color:#385d88}
.rank-detail .review-content{background:var(--guidance-bg);border:1px solid var(--guidance-line);border-left:3px solid #285a95;padding:18px;border-radius:7px}
.rank-columns{align-items:start}
.rank-columns h4{padding-bottom:10px;border-bottom:1px solid var(--context-line)}
.rank-columns .review-content h4{color:var(--navy);border-color:var(--guidance-line)}
.mentor-review-note{border-color:#d5e2f2}
.review-symbol{color:#3a669b}
.work-output{background:var(--progress-bg);border-color:var(--progress-line)}
.work-output span,.work-output b{color:var(--progress-ink)}
.question-shift{background:#f8fafc;padding-top:18px;padding-bottom:18px}
.question-shift>div{padding:15px 17px;border:1px solid var(--context-line);border-radius:6px;background:#f1f3f6;align-self:stretch}
.question-shift>div:last-child{background:var(--progress-bg);border-color:var(--progress-line)}
.question-shift>div:last-child>span,.question-shift>div:last-child p{color:var(--progress-ink)}
.question-shift>div>span{font-weight:600}
.progress-gate li>span{background:#e5f0e9;color:var(--progress-ink);border:1px solid #d1e2d7;font-weight:600}
/* Framework and information layers */
.tier-steps>div:first-child{background:var(--context-bg)}
.tier-steps>div:nth-child(2),.tier-steps>div:nth-child(3){background:var(--guidance-bg);border-color:var(--guidance-line)}
.tier-steps>div:nth-child(3){border-left:3px solid #285a95}
.matrix-nav button[aria-selected=true]{background:#eaf2fc;box-shadow:inset 4px 0 #123b72}
.matrix-nav button[aria-selected=true] b{color:#123b72}
.matrix-nav button[aria-selected=true] small{color:#425e7e}
.matrix-panel .short{background:var(--guidance-bg);border-left:3px solid #285a95;padding:13px 16px;border-radius:0 5px 5px 0;color:#28486d}
.matrix-panel .links a{background:#eef4fc;border-color:#cbdcf0;color:#123b72;font-weight:600}
.layer:not(.base){background:#f0f5fc;border-color:#cbdcf0}
.layer:not(.base) .layer-head>span{display:inline-block;background:#123b72;color:white;padding:5px 11px;border-radius:4px;margin-bottom:12px}
.layer.base .layer-head>span,.layer.base .layer-head .sub{color:#d3e0f0}
.layer-join{color:#4b617a;font-weight:500}
/* Real exchanges: identity is shown with a label as well as color. */
.chat{padding:0;border:0;background:transparent}
.chat .msg{border:1px solid var(--context-line);border-radius:7px;background:var(--context-bg);padding:18px;gap:12px}
.chat .msg+.msg{margin-top:14px}
.chat .msg>div:last-child{min-width:0}
.chat .msg.msg-mentor{background:var(--guidance-bg);border-color:var(--guidance-line);border-left:3px solid #285a95}
.chat .msg.msg-revised,[data-ex-msg$=":revised"] .msg{background:var(--progress-bg);border-color:var(--progress-line)}
.msg .head{gap:7px 9px;line-height:1.5}
.msg .head b{color:#24354b}
.msg .head .r{background:#e7ebf0;color:#37475a;border:0;font-size:11px;font-weight:700;padding:4px 8px}
.msg .head .r.mentor{background:#123b72;color:#fff}
.msg .head time{font-size:12px;color:#5e7085}
.msg .txt{margin-top:10px;line-height:1.75}
.msg-mentor .txt{color:#284467}
.msg-revised .txt,[data-ex-msg$=":revised"] .txt{color:#3d6049}
.msg-revised .head .r,[data-ex-msg$=":revised"] .head .r{background:#deece3;color:#315b41}
.chat mark{background:transparent;color:inherit;padding:0}
.chat.compact .msg,.chat.mini .msg{padding:16px}
.chat .avatar{background:#e6ebf1;color:#43566e}
.chat .avatar.mentor{background:#123b72;color:#fff}
/* Case study: problem, intervention, changed behavior. */
.case-head{background:#f5f7fa}
.case-brief>div:last-child{background:#f0f5fc}
.case-steps>article:nth-child(2){border-top:3px solid #285a95}
.case-steps>article:nth-child(3){border-top:3px solid #749580}
.case-steps>article:nth-child(3) .case-label{color:var(--progress-ink)}
.mentor-rule{border-color:var(--progress-line)}
.mentor-rule span{background:var(--progress-bg);border-color:var(--progress-line);color:var(--progress-ink)}
.story-layers>div:first-child{background:var(--context-bg)}
.story-layers>div:nth-child(2){background:var(--guidance-bg)}
.story-layers>div:nth-child(3){background:var(--progress-bg)}
.story-layers>div>span,.story-outcome-block>span{text-transform:none;letter-spacing:0;font-size:13px;font-weight:600}
.story-layers>div:first-child>span{color:#46576d}
.story-layers>div:nth-child(2)>span{color:#123b72}
.story-layers>div:nth-child(3)>span,.story-layers>div:nth-child(3)>p{color:#315b41}
.story-layers p{font-size:14px;line-height:1.8}
.story-outcome-block{background:#fafbfc}
.story-outcome-block>span{color:#34495f}
.story-open{font-weight:600;color:#123b72}
.lesson-chain{background:#fff;text-align:left}
.lesson-chain .label{color:#34495f;font-size:14px;font-weight:600}
.lesson-chain .item:first-child{background:var(--context-bg)}
.lesson-chain .item:nth-of-type(2){background:var(--guidance-bg);border-color:var(--guidance-line)}
.lesson-chain .item:last-child{background:var(--progress-bg);border-color:var(--progress-line)}
.lesson-chain .item:last-child small,.lesson-chain .item:last-child span{color:var(--progress-ink)}
.lesson-chain .item small{font-weight:600}
/* Readable evidence, people and expanded answers */
.numbers strong{color:#123b72}
.numbers>div{border-top:3px solid #b1c5de}
.numbers span{font-weight:600;color:#2c4059}
.trust-review-card .review-person{padding-top:16px;border-top:1px solid var(--context-line)}
.trust-review-card .review-person b{color:#24354b}
.arrive>div{background:#fafcfb}
.arrive p{color:#31513e}
.team-card .person-head{padding-bottom:17px;border-bottom:1px solid var(--guidance-line)}
.team-card .person-monogram{background:#123b72;color:#fff}
.team-card .ex{margin-top:auto;padding:12px 14px;background:#eef4fc;border:1px solid #d6e3f3;border-radius:5px;color:#123b72;font-weight:600}
.team-card .focus{padding-bottom:20px}
.faq details{padding:0 18px;border:1px solid var(--context-line);border-radius:7px;margin-bottom:10px;background:#fff}
.faq{border-top:0}
.faq details[open]{background:#f3f7fc;border-color:#cdddf0}
.faq details[open] summary{color:#123b72}
.faq details[open] summary::after{background:#123b72;border-color:#123b72;color:#fff}
.faq .a{line-height:1.8;color:#43556a}
.faq summary::after{background:#f3f6fa;color:#405c7e;border-color:#cfdae7}
/* Preserve compact layouts and comfortable reading on phones. */
@media(max-width:900px){.rank-detail .review-content{margin-top:0}.lesson-chain .items{flex-wrap:wrap}.lesson-chain .item{flex-basis:140px}}
@media(max-width:620px){.rank-detail .review-content{margin-top:10px;padding:18px}.question-shift>div{padding:15px}.chat .msg,.chat.compact .msg{grid-template-columns:26px minmax(0,1fr);gap:9px;padding:14px}.msg .head time{flex-basis:100%;white-space:normal}.msg .head .r{font-size:10px}.chat .avatar{width:26px;height:26px;font-size:11px}.drawer-body{padding:16px}.lesson-chain{padding:18px}.lesson-chain .items{display:flex;flex-direction:column}.lesson-chain .item{flex-basis:auto}.lesson-chain .items>i{justify-content:center;transform:rotate(90deg);align-self:center}.faq details{padding:0 14px}.story-layers p{font-size:15px}}
