/* Use the existing site's blue, grey rules, typography and unboxed layout. */
.amaspach-milestones {
    --milestone-blue: #376fb6;
    --milestone-grey: #707070;
    --milestone-line: #c2c2c2;
    width: 100%;
    max-width: 1400px;
    margin: 60px auto;
    padding: 0 24px;
    box-sizing: border-box;
    container-type: inline-size;
    font-family: inherit;
    font-size: 17px;
    line-height: 1.6;
    color: #222;
}
.amaspach-milestones *, .amaspach-milestones *::before, .amaspach-milestones *::after {
    box-sizing: border-box;
}
.amaspach-milestones .amaspach-milestones__eyebrow {
    margin: 0 0 12px;
    color: var(--milestone-grey);
    font-weight: 400;
}
.amaspach-milestones .amaspach-milestones__heading {
    margin: 0 0 28px;
    color: var(--milestone-blue);
    font-size: 32px;
    font-weight: 400;
    line-height: 1.25;
    text-transform: uppercase;
}
.amaspach-milestones .amaspach-milestones__intro {
    margin: 0;
    font-size: 17px;
    font-weight: 200;
}
.amaspach-milestones .amaspach-milestones__list {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    list-style: none;
    padding: 0;
    margin: 48px 0 0;
}
.amaspach-milestones__item {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 0 10px;
    text-align: center;
}
.amaspach-milestones__item::before {
    content: '';
    position: absolute;
    top: 17px;
    left: 50%;
    width: 100%;
    border-top: 1px solid var(--milestone-line);
}
.amaspach-milestones__item:last-child::before { display: none; }
.amaspach-milestones__item--done::before { border-color: var(--milestone-blue); }
.amaspach-milestones__marker {
    position: relative;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    margin-bottom: 20px;
    border: 1px solid var(--milestone-line);
    border-radius: 50%;
    background: #fff;
    color: var(--milestone-grey);
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
}
.amaspach-milestones__item--done .amaspach-milestones__marker {
    background: var(--milestone-blue);
    border-color: var(--milestone-blue);
    color: #fff;
}
.amaspach-milestones__item--done .amaspach-milestones__marker::after {
    content: '';
    width: 8px;
    height: 13px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}
.amaspach-milestones__item--current .amaspach-milestones__marker {
    border: 2px solid var(--milestone-blue);
    color: var(--milestone-blue);
}
.amaspach-milestones__content { display: flex; flex: 1; flex-direction: column; width: 100%; }
.amaspach-milestones__status {
    display: block;
    margin-bottom: 6px;
    color: var(--milestone-grey);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
}
.amaspach-milestones__item--current .amaspach-milestones__status { color: var(--milestone-blue); font-weight: 600; }
.amaspach-milestones .amaspach-milestones__title {
    margin: 0 0 12px;
    font-family: inherit;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--milestone-blue);
    overflow-wrap: anywhere;
}
.amaspach-milestones .amaspach-milestones__description {
    flex: 1;
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 200;
    color: #222;
}
.amaspach-milestones .amaspach-milestones__date {
    margin: 0;
    padding-top: 14px;
    border-top: 1px solid var(--milestone-line);
    color: var(--milestone-grey);
    font-size: 15px;
    font-weight: 400;
}
@container (max-width: 1100px) {
    .amaspach-milestones .amaspach-milestones__list { grid-template-columns: 1fr; }
    .amaspach-milestones__item { flex-direction: row; align-items: flex-start; gap: 24px; padding: 0 0 28px; text-align: left; }
    .amaspach-milestones__item::before { top: 18px; left: 17px; height: 100%; width: 0; border-top: 0; border-left: 1px solid var(--milestone-line); }
    .amaspach-milestones__item--done::before { border-left-color: var(--milestone-blue); }
    .amaspach-milestones__marker { margin: 0; }
    .amaspach-milestones__content { min-width: 0; padding-top: 3px; }
    .amaspach-milestones .amaspach-milestones__description { margin-bottom: 10px; }
    .amaspach-milestones .amaspach-milestones__date { padding-top: 0; border: 0; }
    .amaspach-milestones__item:last-child { padding-bottom: 0; }
}
@media (max-width: 767px) {
    .amaspach-milestones { margin: 40px auto; padding: 0 15px; }
    .amaspach-milestones .amaspach-milestones__heading { font-size: 24px; margin-bottom: 24px; }
    .amaspach-milestones .amaspach-milestones__list { margin-top: 32px; }
    .amaspach-milestones__item { gap: 18px; }
}
