.institutions-page { max-width: 1180px; }
.institutions-intro { max-width: 860px; color: var(--muted); font-size: 1.08rem; }
.institutions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 38px 0; }
.institution-card { display: flex; min-height: 260px; padding: 22px; flex-direction: column; color: inherit; text-decoration: none; border: 1px solid var(--line); background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.institution-card:hover, .institution-card:focus-visible { transform: translateY(-3px); border-color: var(--orange); box-shadow: 0 12px 28px rgba(34, 29, 25, .09); }
.logo-frame { display: flex; height: 130px; margin-bottom: 22px; align-items: center; justify-content: center; padding: 16px; background: #fff; border-bottom: 1px solid var(--line); overflow: hidden; }
.logo-frame img { display: block; max-width: 100%; max-height: 98px; width: auto; height: auto; object-fit: contain; }
.institution-card strong { font-size: 1.05rem; line-height: 1.3; }
.institution-relation { margin-top: 9px; color: var(--muted); font-size: .86rem; line-height: 1.45; }
.institution-card small { margin-top: auto; padding-top: 14px; color: var(--orange-dark); font-weight: 700; }
.logo-wordmark { flex-direction: column; color: #111; }
.logo-wordmark b { font-size: 3rem; line-height: 1; letter-spacing: -.08em; }
.logo-wordmark em { margin-top: 8px; font-size: .72rem; font-style: normal; font-weight: 800; letter-spacing: .08em; }
.mocca-wordmark b { letter-spacing: -.04em; }
.mocca-wordmark em { max-width: 230px; text-align: center; line-height: 1.3; }
.back-button { display: inline-flex; }
@media (max-width: 900px) { .institutions-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .institutions-grid { grid-template-columns: 1fr; } .institution-card { min-height: 235px; } }
