/* A experiência acumulada e as três formas de trabalhar com a KN. */
.engagements.kn-offerings { display: block; padding-top: 64px; }
.kn-offerings-intro { max-width: 800px; margin-inline: auto; text-align: center; }
.kn-offerings-intro h3 { margin: 20px 0 24px; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.15; letter-spacing: -.045em; }
.kn-offerings-intro > p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.8; max-width: 690px; margin: 16px auto 0; }
.kn-experience { max-width: 800px; margin: 40px auto 48px; --experience-progress: 1; }
.kn-experience-core { width: min(100%, 410px); margin-inline: auto; padding: 20px 24px; text-align: center; border: 1px solid var(--line); border-radius: var(--kn-radius-container); background: var(--surface); }
.kn-experience-core span { display: block; color: var(--accent); font-size: 12px; margin-bottom: 8px; }
.kn-experience-core strong { font-size: 17px; font-weight: 500; }
.kn-experience-connections { width: 100%; height: 72px; display: block; fill: none; stroke-width: 1.5; }
.kn-experience-connections path { vector-effect: non-scaling-stroke; }
.experience-base { stroke: var(--line); }
.experience-progress { stroke: var(--accent); stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--experience-progress)); }
.kn-experience-operations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.kn-experience-operations span { padding: 16px 8px; text-align: center; border: 1px solid var(--line); border-radius: var(--kn-radius-control); background: var(--surface); font-size: 14px; }
.kn-experience > p { margin-top: 16px; text-align: center; color: var(--muted); font-size: 12px; }
.kn-offering-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.kn-offering-card { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: var(--kn-radius-container); background: var(--surface); }
.kn-offering-number { color: var(--accent); font: 12px var(--mono); }
.kn-offering-card h4 { margin: 20px 0 14px; font-size: 23px; font-weight: 500; line-height: 1.3; letter-spacing: -.03em; }
.kn-offering-card > p { color: var(--muted); font-size: 14px; line-height: 1.8; margin-bottom: 28px; }
.kn-offering-card > .text-link, .kn-offering-action { margin-top: auto; }
.kn-offering-card .text-link { font-size: 13px; line-height: 1.6; min-height: 44px; align-content: center; }
.kn-offering-action strong { display: block; font-size: 20px; font-weight: 500; margin-bottom: 8px; }
@media(max-width: 760px) {
  .engagements.kn-offerings { padding-top: 40px; }
  .kn-offerings-intro > p:not(.eyebrow) { font-size: 14px; }
  .kn-offering-cards { grid-template-columns: 1fr; gap: 16px; }
  .kn-offering-card { padding: 24px; }
  .kn-experience { margin: 32px 0; }
  .kn-experience-operations { gap: 8px; }
  .kn-experience-operations span { font-size: 12px; }
}
@media(prefers-reduced-motion: reduce) { .experience-progress { stroke-dashoffset: 0; } }

.kn-offering-quote-note { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 0 0 12px; }

.kn-followup { display: grid; grid-template-columns: 1fr 1.5fr; gap: 40px; margin-top: 24px; padding: 28px; border: 1px solid var(--line); border-radius: var(--kn-radius-container); }
.kn-followup h4 { margin-top: 14px; max-width: 320px; font-size: 24px; font-weight: 500; line-height: 1.35; letter-spacing: -.03em; }
.kn-followup > div > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.8; }
.kn-followup > div > p + p { margin-top: 12px; }
.kn-followup .text-link { margin-top: 18px; min-height: 44px; align-content: center; font-size: 13px; }
@media(max-width: 760px) { .kn-followup { grid-template-columns: 1fr; gap: 20px; padding: 24px; } }
