/* Requested left-aligned variant of Porto's CSS timeline; scoped to the right column. */
.grattis-intro { background: #fff; }
.page-grattis .education-content .grattis-eyebrow { display: flex; align-items: center; gap: .25rem; font-size: 14px; margin-bottom: 12px; }
.grattis-eyebrow i { font-size: 26px; }
.grattis-status { min-height: 1.6em; margin-bottom: 1rem; }
.grattis-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem 1rem; padding: 14px 18px; flex-wrap: wrap; }
.grattis-toolbar h2 { margin: 0; }
.grattis-navigation { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; margin-left: auto; }
.grattis-navigation .btn { padding: .4rem .65rem; }
.grattis-latest { text-decoration: underline; }
section.timeline.grattis-grid { float: none; margin: 0; padding: 28px 0 28px 30px; background: #f5f7f9; }
section.timeline.grattis-grid::before { left: 12px; top: 28px; bottom: 28px; width: 2px; height: auto; margin: 0; background: #c4dfed; opacity: 1; }
.grattis-grid .timeline-body { display: grid; gap: 24px; }
.grattis-month { position: relative; min-width: 0; border-radius: 10px; padding: 24px 28px; background: #fff; }
.grattis-month::before { content: ''; position: absolute; left: -25px; top: 22px; width: 16px; height: 16px; border: 2px solid #fff; border-radius: 50%; background: var(--primary); }
/* The shared education H3 role is smaller; this approved month role uses Porto text-6. */
.page-grattis .education-content .grattis-month h3 { font-size: 1.8em !important; line-height: 1.25 !important; }
.grattis-names { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.grattis-list { list-style: none; padding: 0; margin: 0; }
.grattis-list li { display: flex; flex-direction: column; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid #dfe5eb; color: #242a30; font-size: 17px; font-weight: 400; line-height: 1.45; }
.grattis-list li:last-child { border-bottom: 0; }
.grattis-list span { max-width: 100%; overflow-wrap: anywhere; }
.grattis-list time { font-size: 14px; color: #626b72; }
.grattis-empty { margin: 0; }
[data-grattis-heading]:focus { outline: none; }
[data-grattis-heading]:focus-visible { outline: 2px solid #26799f; outline-offset: 5px; }
@media (max-width: 767px) {
    .grattis-toolbar { align-items: flex-start; padding: 12px; }
    .grattis-navigation { margin-left: 0; }
    section.timeline.grattis-grid { padding: 20px 0 20px 18px; }
    section.timeline.grattis-grid::before { left: 5px; top: 20px; bottom: 20px; }
    .grattis-month { padding: 20px 16px; }
    .grattis-month::before { left: -19px; width: 14px; height: 14px; }
    .page-grattis .education-content .grattis-month h3 { font-size: 1.6em !important; }
    .grattis-names { grid-template-columns: minmax(0, 1fr); }
    .grattis-list:not(:last-child) li:last-child { border-bottom: 1px solid #dfe5eb; }
}
