/* Voice evaluation: a concrete test case beside the development approach. */
.framework-section { border-top: 1px solid var(--line); }
.framework-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 7vw; align-items: start; }
.framework-meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 28px; }
.framework-meta .eyebrow { margin: 0; font-size: .65rem; letter-spacing: .12em; }
.framework-stage { font-size: .66rem; font-weight: 650; color: #873921; padding: 5px 10px; border: 1px solid #b7634845; border-radius: 100px; white-space: nowrap; }
.framework-copy h2 { font-weight: 450; font-size: clamp(2.8rem, 4.4vw, 4.5rem); }
.framework-intro { margin-top: 25px; color: var(--muted); font-size: .93rem; max-width: 51ch; }
.framework-checks { list-style: none; padding: 0; margin: 32px 0 0; }
.framework-checks li { display: grid; grid-template-columns: 25px 1fr; gap: 14px; padding: 19px 0; border-top: 1px solid var(--line); }
.framework-checks li > span { color: #873921; padding-top: 3px; font-size: .7rem; font-weight: 650; }
.framework-checks h3 { font: 700 .89rem/1.45 Manrope, Arial, sans-serif; letter-spacing: -.02em; }
.framework-checks p { margin-top: 7px; font-size: .82rem; color: var(--muted); }
.framework-scope { margin-top: 20px; padding-left: 15px; border-left: 2px solid var(--accent); font-size: .76rem; color: var(--muted); }
.eval-case { border: 1px solid #aebecf; background: #f4f7fa; border-radius: 22px; padding: 34px; margin-top: 2px; overflow: hidden; }
.eval-case-top { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-bottom: 26px; border-bottom: 1px solid #cbd6e2; }
.eval-case-label { font-size: .65rem; font-weight: 700; letter-spacing: .11em; }
.eval-case-id { font: .7rem/1.5 monospace; color: var(--muted); white-space: nowrap; }
.eval-case h3 { font-weight: 450; font-size: clamp(2rem, 2.8vw, 2.9rem); margin-top: 28px; }
.eval-case-context { margin-top: 10px; color: var(--muted); font-size: .75rem; }
.eval-utterance { margin: 28px 0 25px; padding: 20px 23px; background: #11263e; color: #e8edf3; border-radius: 4px 18px 18px 18px; }
.eval-utterance > span { display: block; font-size: .65rem; color: #bacbdc; margin-bottom: 9px; }
.eval-utterance p { font-size: 1rem; line-height: 1.6; }
.eval-translation { margin: -13px 2px 24px; font-size: .73rem; color: var(--muted); }
.eval-step-label { display: block; font-size: .7rem; font-weight: 700; margin-bottom: 7px; }
.eval-rule p, .eval-action p { font-size: .82rem; color: var(--muted); }
.eval-rule { padding-bottom: 20px; border-bottom: 1px solid #cbd6e2; }
.eval-action { padding: 20px 0; }
.eval-action code { display: inline-block; max-width: 100%; overflow-wrap: anywhere; font: .77rem/1.6 monospace; padding: 5px 9px; background: #dce5ef; border-radius: 5px; margin: 2px 0 10px; }
.eval-outcome { display: flex; gap: 14px; padding: 18px; border: 1px solid #b7634850; background: #e7866b0e; border-radius: 12px; }
.eval-outcome-mark { width: 23px; height: 23px; flex: none; display: grid; place-items: center; border-radius: 50%; background: #873921; color: #fff; font-size: .8rem; font-weight: 700; margin-top: 1px; }
.eval-outcome .eval-step-label { color: #873921; }
.eval-outcome p { font-size: .83rem; font-weight: 650; }
.eval-case-footer { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: .64rem; color: var(--muted); margin-top: 24px; }
.eval-case-footer > span[aria-hidden] { color: #873921; }
.eval-disclaimer { margin-top: 16px; padding-top: 16px; border-top: 1px solid #cbd6e2; font-size: .66rem; color: var(--muted); line-height: 1.7; }
@media (max-width: 1000px) {
  .framework-layout { gap: 4vw; }
  .eval-case { padding: 26px; }
}
@media (max-width: 740px) {
  .framework-layout { grid-template-columns: 1fr; gap: 34px; }
  .framework-copy h2 { font-size: clamp(2.7rem, 10vw, 3.5rem); }
  .framework-meta { margin-bottom: 23px; }
  .framework-intro { font-size: .9rem; }
  .eval-case { padding: 25px 22px; border-radius: 18px; }
  .eval-case h3 { font-size: 2.25rem; }
}
