.fonte-construction-schedule,
.fonte-construction-schedule * { box-sizing: border-box; }
.fonte-construction-schedule { position: relative; z-index: 8; width: 100%; padding: 6rem var(--fonte-public-inline-gutter) 6.875rem; overflow: hidden; background: var(--fonte-web-mint-soft); }
.fonte-construction-schedule[hidden] { display: none; }
.fonte-construction-schedule__inner { display: flex; flex-direction: column; gap: clamp(2.25rem, 4vw, 3.5rem); width: 100%; max-width: var(--fonte-public-content-max-width); margin: 0 auto; }
.fonte-construction-schedule__header { display: flex; flex-direction: column; align-items: center; gap: 0.875rem; max-width: 40rem; margin: 0 auto; text-align: center; }
.fonte-construction-schedule__icon { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border: var(--fonte-border-width) solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-accent); }
.fonte-construction-schedule__icon svg { width: 1.625rem; height: 1.625rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-construction-schedule h2 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-font-display); font-size: var(--fonte-type-public-schedule-heading); font-weight: var(--fonte-font-weight-regular); letter-spacing: -0.02em; line-height: 1.15; }
.fonte-construction-schedule__header p { margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-font-public); font-size: var(--fonte-type-public-schedule-copy); font-weight: var(--fonte-font-weight-light); line-height: 1.6; text-wrap: pretty; }
.fonte-construction-schedule__state { margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-font-public); text-align: center; }
.fonte-construction-schedule__state[hidden] { display: none; }
.fonte-construction-schedule__timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 2.6vw, 2.25rem); width: 100%; }
.fonte-construction-stage { position: relative; display: flex; min-width: 0; align-items: stretch; padding-left: 1.625rem; }
.fonte-construction-stage__number { position: absolute; z-index: 2; top: 50%; left: 0; color: var(--fonte-web-accent); font-family: var(--fonte-font-display); font-size: var(--fonte-type-public-schedule-number); font-weight: var(--fonte-font-weight-regular); line-height: 0.8; transform: translateY(-50%); }
.fonte-construction-stage__card { position: relative; display: flex; flex: 1; flex-direction: column; gap: 0.75rem; min-width: 0; padding: 1.625rem 1.375rem 1.625rem 2.125rem; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 1.125rem; background: var(--fonte-web-white); }
.fonte-construction-stage__topline { display: flex; align-items: center; justify-content: space-between; gap: 0.625rem; }
.fonte-construction-stage__topline img { width: 1.625rem; height: 1.625rem; object-fit: contain; }
.fonte-construction-stage__status { display: inline-flex; align-items: center; min-height: 1.625rem; padding: 0.25rem 0.75rem; border-radius: var(--fonte-token-radius-pill); font-family: var(--fonte-font-public); font-size: var(--fonte-type-public-schedule-status); font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.08em; line-height: 1; text-transform: uppercase; }
.fonte-construction-stage[data-status="completed"] .fonte-construction-stage__status { background: var(--fonte-web-ink-08); color: var(--fonte-web-ink); }
.fonte-construction-stage[data-status="in_progress"] .fonte-construction-stage__status { background: var(--fonte-web-accent); color: var(--fonte-web-white); }
.fonte-construction-stage[data-status="planned"] .fonte-construction-stage__status { background: var(--fonte-web-ink-06); color: var(--fonte-web-ink-soft); }
.fonte-construction-stage__period { color: var(--fonte-web-ink-soft); font-family: var(--fonte-font-public); font-size: var(--fonte-type-public-schedule-period); font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.12em; line-height: 1.2; text-transform: uppercase; }
.fonte-construction-stage h3 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-font-display); font-size: var(--fonte-type-public-schedule-title); font-weight: var(--fonte-font-weight-regular); letter-spacing: -0.01em; line-height: 1.16; }
.fonte-construction-stage p { margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-font-public); font-size: var(--fonte-type-public-schedule-text); font-weight: var(--fonte-font-weight-light); line-height: 1.55; text-wrap: pretty; }
.fonte-construction-stage p[hidden] { display: none; }
.fonte-construction-stage__arrow { position: absolute; z-index: 3; top: 50%; right: -1rem; color: var(--fonte-web-accent); transform: translateY(-50%); }
.fonte-construction-stage__arrow svg { display: block; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; }
.fonte-construction-stage:nth-child(4n) .fonte-construction-stage__arrow,
.fonte-construction-stage:last-child .fonte-construction-stage__arrow { display: none; }
@media (max-width: 68.75rem) {
    .fonte-construction-schedule__timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fonte-construction-stage:nth-child(2n) .fonte-construction-stage__arrow { display: none; }
}
@media (max-width: 47.5rem) {
    .fonte-construction-schedule { padding: 4.5rem var(--fonte-public-inline-gutter) 5rem; }
    .fonte-construction-schedule__timeline { grid-template-columns: minmax(0, 1fr); }
    .fonte-construction-stage__arrow { display: none; }
}


/*# sourceMappingURL=public-construction-schedule.css.map*/