.speaking-section { background: #edf1e9; color: #182c27; }
.speaking-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: clamp(28px, 5vw, 76px); align-items: start; }
.speaking-copy h2 { max-width: 16ch; margin: 12px 0 24px; font-family: Manrope, sans-serif; font-size: clamp(28px, 3.4vw, 44px); font-weight: 650; line-height: 1.15; letter-spacing: -.035em; }
.speaking-copy > p:not(.eyebrow) { max-width: 48ch; font-size: 17px; line-height: 1.7; color: #3b5048; }
.speaking-copy .public-text-link { display: inline-block; margin-top: 14px; color: #185e42; font-weight: 700; }
.speaking-compare-link { display: block; width: fit-content; margin-top: 20px; color: #3b5048; font-size: 14px; text-underline-offset: 4px; }
.speaking-proof { margin: 0; padding: clamp(18px, 3vw, 30px); border: 1px solid #c8d4c6; border-radius: 24px; background: #fafbf7; box-shadow: 0 16px 50px #1a3a2d0a; }
.speaking-proof figcaption { margin-bottom: 16px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #496149; }
.speaking-example { border-top: 1px solid #d9e0d4; }
.speaking-example summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 18px 0; cursor: pointer; list-style: none; }
.speaking-example summary::-webkit-details-marker { display: none; }
.speaking-example summary strong { display: block; font: 650 18px/1.4 Manrope, sans-serif; letter-spacing: -.02em; }
.speaking-example summary > span > span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.5; color: #52634f; }
.speaking-expand { flex-shrink: 0; font-size: 24px; color: #335942; }
.speaking-example[open] .speaking-expand { transform: rotate(180deg); }
.speaking-example-body { padding-bottom: 22px; }
.speaking-example-task { margin: 0 0 16px; font-size: 15px; line-height: 1.6; color: #52634f; }
.speaking-criteria { margin: 0; padding: 0; list-style: none; }
.speaking-criteria li { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 10px 0; border-bottom: 1px solid #e5e9df; font-size: 14px; line-height: 1.5; }
.speaking-criteria strong { flex-shrink: 0; font-size: 14px; font-weight: 700; }
.speaking-met { color: #27633c; }
.speaking-try { color: #82551b; }
.speaking-measurements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 22px 0; }
.speaking-measurements div { min-width: 0; }
.speaking-measurements dt { margin-bottom: 6px; color: #52634f; font-size: 14px; }
.speaking-measurements dd { margin: 0; font: 650 26px/1.2 Manrope, sans-serif; }
.speaking-measurements dd span { display: block; margin-top: 4px; font: 400 14px/1.5 Manrope, sans-serif; color: #52634f; }
.speaking-next { margin: 0; padding: 16px; border-radius: 12px; background: #e8efdf; color: #263f30; font-size: 14px; line-height: 1.6; }
.speaking-next strong { display: block; margin-bottom: 6px; font-size: 14px; }
.speaking-section a:focus-visible, .speaking-example summary:focus-visible { outline: 3px solid var(--focus-ring, #2f8f5c); outline-offset: 5px; }
@media (max-width: 760px) {
  .speaking-shell { grid-template-columns: minmax(0, 1fr); }
  .speaking-copy h2 { max-width: 21ch; }
  .speaking-proof { border-radius: 18px; }
}
@media (prefers-reduced-motion: no-preference) {
  .speaking-expand { transition: transform .15s ease; }
}
