/* CUPEC finance games and interactive research. */
.game-invitation { margin: 55px 0; padding: 36px 0; border-top: 1px solid #252525; border-bottom: 1px solid #252525; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.game-invitation p:not(.eyebrow) { max-width: 570px; font-size: 14px; color: #666; }
.game-invitation .button { flex-shrink: 0; }
.game-tabs { display: flex; border-bottom: 1px solid #252525; gap: 0; }
.game-tabs button { flex: 1; display: flex; align-items: center; gap: 16px; padding: 20px 18px; border: 0; background: #f4f3f0; color: #777; text-align: left; font-size: 12px; transition: background .2s,color .2s; }
.game-tabs button span { font-size: 15px; color: #252525; }
.game-tabs [aria-selected="true"] { background: #252525; color: #aaa; }
.game-tabs [aria-selected="true"] span { color: white; }
.game-tabs button:hover:not([aria-selected="true"]) { background: #e9e8e2; }
.game-switch-note { font-size: 12px; color: #666; margin: 16px 0 28px; }
.game-panel[hidden] { display: none; }
.game-panel { border: 1px solid #deded7; padding: 32px; margin-bottom: 30px; }
.game-top { display: flex; justify-content: space-between; gap: 25px; align-items: start; margin-bottom: 30px; }
.game-top .eyebrow { margin-bottom: 12px; }
.game-top h2 { font-size: 37px; }
.game-top p:not(.eyebrow) { font-size: 14px; color: #666; max-width: 680px; }
.text-button { color: #252525; background: none; border: 0; padding: 8px 0; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.game-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: #252525; color: #fff; padding: 24px; gap: 20px; margin-bottom: 32px; }
.game-metrics span,.waterfall-top span,.deal-preview span,.exit-summary span { display: block; font-size: 11px; margin-bottom: 8px; }
.game-metrics strong,.waterfall-top strong,.deal-preview strong,.exit-summary strong { font: normal clamp(24px,2.5vw,36px)/1.2 Georgia,serif; display: block; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.game-metrics small { display: block; font-size: 10px; color: #c5c5bd; margin-top: 10px; }
.game-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 38px; }
.game-grid h3 { font-size: 27px; margin: 0 0 18px; }
.game-grid p { font-size: 14px; }
.game-goals { border-left: 1px solid #deded7; padding-left: 28px; }
.game-goals h3 { font-size: 23px; }
.game-goals h4 { font-size: 12px; font-weight: normal; margin: 25px 0 0; }
.game-goals ol { padding-left: 20px; font-size: 13px; }
.game-goals li { margin-bottom: 14px; }
.goal-list { padding: 0; list-style: none; font-size: 13px; }
.goal-list li { display: flex; gap: 12px; }
.goal-list li>span { flex: 0 0 16px; font-size: 15px; }
.goal-met { color: #285d4b; }
.goal-missed { color: #9b4937; }
.model-note { font-size: 11px!important; line-height: 1.75; color: #73736b; }
.round-heading { display: flex; gap: 15px; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.game-state { display: inline-block; padding: 6px 11px; background: #efeee7; font-size: 11px; white-space: nowrap; }
.round-dots { display: flex; gap: 6px; }
.round-dots i { width: 22px; height: 3px; background: #e5e5de; transition: background .2s; }
.round-dots .complete { background: #252525; }
.game-event { outline-offset: 6px; }
.game-event p { margin-top: 0; color: #555; }
.decision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 24px 0; }
.decision { display: block; padding: 17px; text-align: left; border: 1px solid #cecec6; color: #252525; background: #fff; transition: border-color .15s,background .15s; }
.decision:hover:not(:disabled) { background: #f4f3ed; border-color: #252525; }
.decision b { font-size: 13px; display: block; font-weight: 600; margin-bottom: 7px; }
.decision span { display: block; font-size: 11px; line-height: 1.6; color: #666; }
.decision:disabled { opacity: .5; cursor: not-allowed; }
.game-feedback { font-size: 12px; color: #555; border-left: 2px solid #a2b7a7; padding: 7px 13px; margin: 24px 0; }
.game-panel details { padding: 17px 0; font-size: 13px; }
.game-panel summary { cursor: pointer; }
.cash-ledger table { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 12px; }
.cash-ledger caption { text-align: left; font-size: 11px; color: #666; margin: 8px 0 15px; }
.cash-ledger th,.cash-ledger td { padding: 9px 0; border-bottom: 1px solid #ecece6; }
.cash-ledger th { font-weight: normal; text-align: left; }
.cash-ledger td { text-align: right; font-variant-numeric: tabular-nums; }
.cash-ledger .ledger-total>* { font-weight: bold; border-top: 1px solid #252525; }
.round-history ol { padding-left: 22px; font-size: 12px; }
.round-history li { padding: 12px 0; }
.round-history li span { display: block; color: #666; margin-top: 5px; }
.game-spark { width: 100%; height: auto; color: #375c4b; }
.game-outcome { padding: 24px; background: #f3f4ef; margin-bottom: 20px; }
.game-outcome.retry { background: #f5f0eb; }
.game-outcome .eyebrow { margin-bottom: 15px; }
.exit-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin: 25px 0; }
.exit-summary strong { font-size: 24px; }
.deal-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 25px 0; }
.deal-preview small { font-size: 11px; color: #666; }
.deal-preview p { grid-column: 1/-1; font-size: 12px; }
.negative { color: #9b4937; }
.game-panel label { display: block; font-size: 13px; margin: 26px 0 12px; }
.game-panel output,.tool-controls output { float: right; font-variant-numeric: tabular-nums; }
input[type="range"] { appearance: auto; accent-color: #355744; min-width: 0; min-height: 32px; width: 100%; padding: 0; margin: 12px 0 0; cursor: pointer; border: 0; }
.finance-tools { margin-bottom: 40px; }
.finance-tools>details { border-top: 1px solid #d9d9d1; border-bottom: 0; padding: 24px 0; }
.finance-tools>details:last-child { border-bottom: 1px solid #d9d9d1; }
.finance-tools>details>summary { font-size: 19px; font-family: Georgia,serif; cursor: pointer; padding-right: 10px; }
.tool-body { max-width: 1000px; padding: 18px 0 5px; animation: image-arrive .25s ease; }
.tool-body>p { font-size: 14px; color: #555; max-width: 720px; }
.tool-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin: 24px 0; }
.tool-controls label { font-size: 13px; }
.tool-controls select { width: 100%; min-width: 0; }
.waterfall-top { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; background: #f4f3ee; padding: 24px; margin-bottom: 24px; }
.waterfall-top small { font-size: 12px; color: #666; display: block; margin-top: 10px; }
.waterfall-bars>div { display: grid; grid-template-columns: 140px 1fr 85px; align-items: center; gap: 16px; padding: 10px 0; font-size: 12px; }
.waterfall-bars i { height: 12px; width: var(--bar); background: #536f61; transition: width .2s ease; }
.waterfall-bars b { text-align: right; font-weight: normal; font-variant-numeric: tabular-nums; }
.tool-explanation { border-left: 2px solid #879e8e; padding: 12px 20px; margin: 24px 0!important; font-size: 13px!important; background: #f7f8f4; }
.deal-diagram { display: grid; grid-template-columns: 1fr 25px 1fr 25px 1fr; align-items: center; gap: 12px; margin: 30px 0; }
.deal-diagram button { background: white; border: 1px solid #bfbfb6; padding: 20px 12px; color: #252525; font: 22px Georgia,serif; }
.deal-diagram button small { display: block; font: 11px Arial,sans-serif; margin-top: 10px; }
.deal-diagram button[aria-pressed="true"] { color: white; background: #252525; border-color: #252525; }
.deal-diagram>span { text-align: center; }
.deal-diagram .deal-down { grid-column: 3; }
.deal-diagram .deal-seller { grid-column: 3; }
.company-chart { width: 100%; max-height: 360px; overflow: visible; }
.company-chart text { font: 11px Arial,sans-serif; fill: #666; }
.line-0 { stroke: #355d49; }
.line-1 { stroke: #ae7950; stroke-dasharray: .025 .015; }
.company-line { animation: chart-arrive .7s ease both; }
@keyframes chart-arrive { from { opacity: 0; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0); } }
.chart-legend { display: flex; gap: 25px; flex-wrap: wrap; margin-bottom: 20px; font-size: 12px; }
.chart-legend>span::before { content: ''; display: inline-block; width: 22px; margin-right: 8px; vertical-align: middle; border-top: 2px solid #355d49; }
.chart-legend>.legend-1::before { border-color: #ae7950; border-top-style: dashed; }
.lab-table-wrap { overflow: auto; }
.lab-table-wrap table { border-collapse: collapse; font-size: 12px; width: 100%; }
.lab-table-wrap th,.lab-table-wrap td { border-bottom: 1px solid #ddd; padding: 14px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lab-table-wrap th:first-child { text-align: left; padding-left: 0; }
.lab-table-wrap caption { font-size: 11px; color: #666; text-align: left; margin-bottom: 15px; }
.quiz-answers { display: grid; gap: 10px; margin-top: 24px; }
.quiz-answers button { background: white; border: 1px solid #ccc; padding: 16px; font-size: 14px; text-align: left; color: #252525; }
.quiz-answers .correct { border-color: #355d49; background: #eff4ed; }
.quiz-answers button:disabled { cursor: default; }
#quiz-feedback { font-size: 14px; color: #355d49; }
@media(max-width:1000px) { .game-grid { gap: 24px; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); } .game-panel { padding: 24px; } .game-metrics { grid-template-columns: 1fr 1fr; } .game-tabs button { gap: 9px; padding: 16px 12px; } .game-tabs button span { font-size: 13px; } }
@media(max-width:767px) { .navigation-shell nav a::after { display: none; } .game-grid { grid-template-columns: 1fr; } .game-goals { border-left: 0; border-top: 1px solid #ddd; padding: 24px 0 0; } .game-top h2 { font-size: 31px; } .game-invitation { align-items: start; flex-direction: column; } .game-tabs button { display: block; line-height: 1.5; font-size: 10px; } .game-tabs button span { display: block; margin-top: 5px; font-size: 13px; } .game-panel { padding: 20px; } .game-top { gap: 15px; } .game-metrics { padding: 20px; gap: 24px 16px; } .game-metrics strong { font-size: 28px; } .tool-controls { grid-template-columns: 1fr; gap: 15px; } .finance-tools>details>summary { font-size: 18px; } .waterfall-bars>div { grid-template-columns: 100px 1fr 75px; gap: 12px; } .deal-diagram { grid-template-columns: 1fr 18px 1fr 18px 1fr; gap: 4px; } .deal-diagram button { font-size: 16px; padding: 16px 6px; } .deal-diagram button small { font-size: 9px; } .decision-grid { grid-template-columns: 1fr; } .decision { min-height: 72px; } .exit-summary { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .motion-reveal { opacity:1; transform:none; } }

.leverage-note{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-block:1px solid #ddd;padding:20px 0;margin-bottom:24px}.leverage-note span{display:block;font-size:12px;color:#666}.leverage-note strong{display:block;font:28px Georgia,serif;margin-top:8px}.leverage-note small{display:block;font-size:10px;color:#777;margin-top:8px}@media(max-width:620px){.leverage-note{grid-template-columns:1fr}}

.game-metrics strong{animation:metric-in .25s ease-out}@keyframes metric-in{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:767px){.game-goals{grid-row:1;border-top:0;border-bottom:1px solid #ddd;padding:0 0 20px}.game-goals h4,.game-goals .game-spark{display:none}}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

[data-page="games"]>.page-heading{padding-bottom:28px}[data-page="games"]>.page-heading h1{font-size:clamp(38px,4.5vw,64px)}[data-page="games"]>.page-heading .lede{font-size:16px;max-width:720px;margin-bottom:16px}
