.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-1px); }
.button--primary { background: var(--rotary-blue); color: #fff; box-shadow: 0 10px 24px rgba(23,69,143,.18); }
.button--primary:hover { background: var(--rotary-blue-dark); }
.button--secondary { background: #fff; color: var(--rotary-blue); border: 1px solid var(--border); }
.button--gold { background: var(--rotary-gold); color: #172033; }
.button--gold:hover { background: var(--rotary-gold-dark); }

.eyebrow {
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .78rem;
    font-weight: 800;
    color: var(--rotary-blue);
}
.eyebrow--gold { color: var(--rotary-gold); }

.card-grid { display: grid; gap: 26px; }
.card-grid--three { grid-template-columns: repeat(3, 1fr); }
.project-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.project-card__media { height: 190px; background: linear-gradient(135deg, rgba(23,69,143,.95), rgba(247,168,27,.58)); }
.project-card__media--two { background: linear-gradient(135deg, rgba(247,168,27,.72), rgba(23,69,143,.93)); }
.project-card__media--three { background: linear-gradient(135deg, rgba(23,69,143,.86), rgba(23,69,143,.52), rgba(247,168,27,.72)); }
.project-card__body { padding: 26px; }
.project-card__tag { display: inline-block; margin-bottom: 10px; color: var(--rotary-blue); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.text-link { color: var(--rotary-blue); font-weight: 700; text-decoration: none; }
.text-link::after { content: ' →'; }
.info-card { background: var(--surface-soft); border-left: 5px solid var(--rotary-gold); padding: 30px; border-radius: 0 var(--radius) var(--radius) 0; }
.info-card__kicker { display: block; color: var(--rotary-blue); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
