.countup-wrapper{gap:var(--spacing-2);flex-direction:column;display:flex}.countup{font-family:var(--font-display);font-size:clamp(2.75rem,5vw,4rem);font-weight:var(--font-weight-bold);color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}.countup__suffix{font-size:.55em;font-weight:var(--font-weight-medium);color:var(--color-primary-light);margin-left:2px}.countup__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.12em;font-weight:var(--font-weight-medium)}
.timeline{background:var(--color-bg-section-alt);padding:var(--section-padding-y) 0;position:relative}.timeline__header{text-align:center;max-width:820px;margin:0 auto var(--spacing-20)}.timeline__eyebrow{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--color-primary);font-weight:var(--font-weight-semibold);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);margin-bottom:var(--spacing-4);background:#0b7a0d14;display:inline-block}.timeline__title{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:var(--spacing-5);font-size:clamp(2.2rem,4.8vw,4rem);font-weight:700;line-height:1}.timeline__title-accent{color:var(--color-primary);font-style:italic;font-weight:500}.timeline__lead{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:680px;margin:0 auto}.timeline__track{max-width:1040px;margin:0 auto;position:relative}.timeline__spine{background:var(--color-border-subtle);border-radius:var(--radius-full);width:2px;position:absolute;top:0;bottom:0;left:20px;transform:translate(-50%)}.timeline__spine-progress{background:var(--color-primary);border-radius:var(--radius-full);transition:height .12s linear;position:absolute;top:0;left:0;right:0}.timeline__item{gap:var(--spacing-4);margin-bottom:var(--spacing-16);grid-template-columns:40px 1fr;align-items:start;display:grid;position:relative}.timeline__item--right .timeline__card,.timeline__item--left .timeline__card{text-align:left;grid-area:1/2/auto/3}.timeline__node-wrapper{top:calc(var(--spacing-6) + clamp(1.2rem, 2vw, 1.6rem));z-index:3;justify-content:center;display:flex;position:absolute;left:20px;transform:translate(-50%,-50%)}.timeline__node{background:var(--color-primary);width:18px;height:18px;box-shadow:0 0 0 3px var(--color-bg-section-alt), 0 0 0 4px var(--color-primary);border-radius:50%;position:relative}.timeline__node--destaque{width:24px;height:24px}.timeline__card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--spacing-6);gap:var(--spacing-3);flex-direction:column;display:flex;position:relative}.timeline__card--destaque{border-color:var(--color-border-strong)}.timeline__card:before{content:"";top:calc(var(--spacing-6) + clamp(1.2rem, 2vw, 1.6rem));background:var(--color-border-subtle);width:24px;height:1px;position:absolute}.timeline__item--left .timeline__card:before,.timeline__item--right .timeline__card:before{left:-24px;right:auto}.timeline__ano{font-family:var(--font-display);color:var(--color-primary);letter-spacing:-.035em;font-size:clamp(2.4rem,4vw,3.2rem);font-weight:700;line-height:1}.timeline__card-title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:600}.timeline__card-desc{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);font-size:var(--font-size-sm);margin:0}.timeline__card-img{margin-top:var(--spacing-3);border-radius:var(--radius-md);overflow:hidden}.timeline__card-img img{width:100%;height:auto;display:block}@media (min-width:901px){.timeline__item{gap:var(--spacing-6);grid-template-columns:1fr 60px 1fr}.timeline__spine{left:50%;transform:translate(-50%)}.timeline__node-wrapper{left:50%}.timeline__item--right .timeline__card{text-align:left;grid-column:3/4}.timeline__item--left .timeline__card{text-align:right;grid-column:1/2}.timeline__item--left .timeline__card:before{left:auto;right:-24px}.timeline__item--right .timeline__card:before{left:-24px;right:auto}}@media (prefers-reduced-motion:reduce){.timeline__node-pulse{animation:none}}
