.kmkc { max-width: 1120px; margin: 0 auto; padding: 2.5rem 1.25rem 3.5rem; color: var(--wp--preset--color--primary, #19354d); }
.kmkc h1 { margin: 0 0 1rem; font-size: clamp(2rem, 5vw, 3.25rem); }
.kmkc-intro { margin-bottom: 1.5rem; }
.kmkc-years { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 2rem; }
.kmkc-years a, .kmkc-button { display: inline-block; padding: .65rem 1rem; border: 1px solid var(--wp--preset--color--gold, #b78b38); border-radius: 4px; text-decoration: none; font-weight: 600; }
.kmkc-years a[aria-current], .kmkc-button { background: var(--wp--preset--color--primary, #19354d); color: #fff; }
.kmkc a:focus-visible { outline: 3px solid #b78b38; outline-offset: 4px; }
.kmkc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.kmkc-card { min-width: 0; padding: 1rem; background: #fff; border: 1px solid var(--wp--preset--color--line, #dfded7); border-top: 3px solid var(--wp--preset--color--gold, #b78b38); }
.kmkc-photo { display: flex; align-items: center; justify-content: center; height: 230px; }
.kmkc .kmkc-photo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 230px; border-radius: 12px; }
.kmkc-card-copy { padding: 1rem .25rem .25rem; }
.kmkc time { font-size: .875rem; color: var(--wp--preset--color--muted, #52606b); }
.kmkc-card h2 { font-size: 1.4rem; line-height: 1.3; margin: .5rem 0; overflow-wrap: anywhere; }
.kmkc-card h2 a { text-decoration: none; }
.kmkc-card h2 a:hover { text-decoration: underline; }
.kmkc-card p { line-height: 1.65; margin-bottom: 0; }
.kmkc-single-page { max-width: 760px; }
.kmkc-single-page .kmkc-back { font-size: .95rem; }
.kmkc-single { margin: 1.75rem 0 0; overflow-wrap: anywhere; }
.kmkc-single h1 { margin-bottom: 1.5rem; font-size: clamp(1.75rem, 2.5vw, 2.25rem); line-height: 1.12; }
.kmkc-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-weight: 600; color: var(--wp--preset--color--gold-ink, #80601d); }
.kmkc-single .kmkc-eyebrow { margin: 0 0 .65rem; font-size: 1.2rem; }
.kmkc .kmkc-lead { margin: 0 0 1.75rem; }
.kmkc .kmkc-lead img { display: block; width: auto; height: auto; max-width: min(100%, 720px); border-radius: 12px; }
.kmkc .kmkc-lead-framed img { border-radius: 0; }
.kmkc-single .kmkc-student { margin: 0 0 1rem; font-size: clamp(1.65rem, 2.4vw, 2rem); line-height: 1.2; }
.kmkc-achievement { margin: 0 0 1.25rem; font-size: 1.15rem; line-height: 1.65; }
.kmkc-meta { margin: 0 0 1rem; font-size: .95rem; color: var(--wp--preset--color--muted, #52606b); }
.kmkc-teachers { margin: 0 0 1.5rem; line-height: 1.65; }
.kmkc-closing { margin: 1.75rem 0; font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: 1.3rem; font-style: italic; line-height: 1.5; }
.kmkc-text { line-height: 1.75; margin: 1rem 0; }
.kmkc-text:empty { display: none; }
.kmkc-single .kmkc-button { margin-top: .5rem; padding: .5rem .85rem; background: transparent; color: inherit; font-size: .9rem; font-weight: 400; }
.kmkc-empty { padding: 2rem 0; }
@media (min-width: 900px) {
 .kmkc-archive { padding-top: 1.25rem; }
 .kmkc-archive > h1 { font-size: 46px; line-height: 1.12; margin-bottom: .5rem; }
 .kmkc-archive .kmkc-intro { margin: 0 0 .75rem; }
 .kmkc-archive .kmkc-years { gap: .4rem; margin: 0 0 1.25rem; }
 .kmkc-archive .kmkc-years a { padding: .35rem .8rem; font-size: .95rem; line-height: 1.4; }
 .kmkc-archive .kmkc-grid { align-items: start; }
 .kmkc-archive .kmkc-card-copy { padding: .65rem .25rem .25rem; }
 .kmkc-archive .kmkc-card time { font-size: 14px; line-height: 1.4; }
 .kmkc-archive .kmkc-card h2 { margin: .3rem 0 .5rem; font-size: 22px; line-height: 1.18; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
 .kmkc-archive .kmkc-card-copy > p { margin: 0; font-size: 16px; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
 .kmkc-archive .kmkc-photo-original img { width: 100%; height: 100%; object-fit: cover; }
}
@media (max-width: 899px) { .kmkc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .kmkc-grid { grid-template-columns: minmax(0, 1fr); } .kmkc { padding-inline: 1rem; } }
