main:has(.km-alumni-grid){--wp--style--global--content-size:1100px;padding-top:2rem!important}
main:has(.km-alumni-grid)>.wp-block-post-title{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.2}
.km-alumni-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;grid-auto-rows:auto;align-items:stretch}
.km-alumni-grid>.km-alumni-card{margin:0;min-width:0;overflow:hidden;border:1px solid var(--wp--preset--color--line);border-radius:6px;background:var(--wp--preset--color--surface);display:flex;flex-direction:column}
.km-alumni-card[hidden]{display:none}
.km-alumni-card>.km-alumni-placeholder,.km-alumni-card>.wp-block-image{aspect-ratio:2.4/1;width:100%;margin:0;box-sizing:border-box;display:grid;place-content:center;text-align:center;background:var(--wp--preset--color--tint);color:var(--wp--preset--color--primary)}
.km-alumni-placeholder p{margin:0;font-size:.8rem}
.km-alumni-placeholder::before{content:'♫';font-family:Georgia,serif;font-size:3rem;line-height:1.3;opacity:.65}
.km-alumni-symbol-violin::before,.km-alumni-symbol-piano::before{content:'';display:block;width:48px;height:48px;margin:0 auto .25rem;background:currentColor;mask:url('../icons/alumni-violin.svg') center/contain no-repeat}
.km-alumni-symbol-piano::before{mask-image:url('../icons/alumni-piano.svg')}
.km-alumni-card>.wp-block-image img{display:block;width:100%;height:100%;object-fit:contain}
.km-alumni-card>.wp-block-image.km-alumni-photo img{object-fit:cover}
/* Individual portrait framing within the unchanged 2.4:1 photo areas. */
.km-alumni-photo img[src$="/aare-saal.jpg"]{object-position:center 35%}
.km-alumni-photo img[src$="/andre-maaker.jpg"]{object-position:center 8%}
.km-alumni-photo img[src$="/andrus-siimon.jpg"]{object-position:center 20%}
.km-alumni-photo img[src$="/britta-virves.jpg"]{object-position:center 15%}
.km-alumni-photo img[src$="/erko-niit.jpg"]{object-position:center 15%}
.km-alumni-photo img[src$="/heldur-harry-polda.jpg"]{object-position:center 51%}
.km-alumni-photo img[src$="/jaan-eerik-aardam.jpg"]{object-position:center 5%}
.km-alumni-photo img[src$="/johannes-polda.jpg"]{object-position:center 8%}
.km-alumni-photo img[src$="/kristo-kao.jpg"]{object-position:center top}
.km-alumni-photo img[src$="/mai-jogi-mai-leisz.jpg"]{object-position:center 14%}
.km-alumni-photo img[src$="/maria-faust.jpg"]{object-position:center 3%}
.km-alumni-photo img[src$="/marvi-vallaste.jpg"]{object-position:center 30%}
.km-alumni-photo img[src$="/pille-rite-rei.jpg"]{object-position:center 20%}
.km-alumni-photo img[src$="/villu-veski.jpg"]{object-position:center 30%}
.km-alumni-photo img[src$="/marten-lehto.jpg"]{object-position:center 70%}
.km-alumni-photo img[src$="/sander-berens.jpg"]{object-position:center 27%}
.km-alumni-photo img[src$="/priit-arge.jpg"]{object-position:center 20%}
.km-alumni-photo img[src$="/maria-vali.jpg"]{object-position:center 35%}
/* Shared staff photos: framing applies only to their alumni cards. */
.km-alumni-photo img.wp-image-119{object-position:center top}
.km-alumni-photo img.wp-image-126{object-position:center top}
.km-alumni-photo img.wp-image-127{object-position:center 35%}
.km-alumni-photo img.wp-image-114{object-position:center 75%}
.km-alumni-photo img.wp-image-115{object-position:center 65%}
.km-alumni-photo img.wp-image-116{object-position:center 70%}
.km-alumni-photo img.wp-image-133{object-position:center 60%}
.km-alumni-photo img.wp-image-113{object-position:center top}
.km-alumni-photo img.wp-image-123{object-position:center 20%}
.km-alumni-photo img.wp-image-132{object-position:center 20%}
.km-alumni-photo img.wp-image-129{object-position:center top}
.km-alumni-photo img.wp-image-121{object-position:center 35%}
.km-alumni-photo.km-alumni-helena-kadarik img{object-position:center 28%}
.km-alumni-photo.km-alumni-maaja-jalakas img{object-position:center 42%}
.km-alumni-photo.km-alumni-tiit-koster img{object-position:center 30%}
.km-alumni-photo.km-alumni-tiiu-kuulberg img{object-position:center 35%}
.km-alumni-photo.km-alumni-neeme-saar img{object-position:center 30%}
.km-alumni-photo.km-alumni-tiit-kiik img{object-position:center 30%}
.km-alumni-photo.km-alumni-triin-ella img{object-position:center 10%}
.km-alumni-card>.km-alumni-copy{padding:.65rem .8rem .35rem;flex:0 0 auto;margin:0}
.km-alumni-card>.km-alumni-copy>:last-child{margin-bottom:0}
.km-alumni-copy .km-alumni-more{margin:.3rem 0 0}
.km-alumni-more a{display:inline-flex;align-items:center;min-height:44px}
.km-alumni-copy h2{font-size:1.35rem!important;line-height:1.25;margin:0 0 .4rem}
.km-alumni-copy p{margin:.3rem 0;font-size:.9375rem;overflow-wrap:anywhere}
.km-alumni-year{color:var(--wp--preset--color--muted)}
.km-alumni-filters{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:.6rem;align-items:end;margin:.85rem 0 .85rem}
.km-alumni-filters label{display:grid;gap:.25rem;font-size:.875rem;min-width:0}
.km-alumni-filters input,.km-alumni-filters select,.km-alumni-filters button{box-sizing:border-box;width:100%;min-height:44px;padding:.35rem .55rem;font:inherit;font-size:.875rem;color:var(--wp--preset--color--primary);background:var(--wp--preset--color--surface);border:1px solid var(--wp--preset--color--line);border-radius:4px}
.km-alumni-filters button{cursor:pointer;background:transparent}
.km-alumni-filters :focus-visible{outline:2px solid var(--wp--preset--color--gold-ink);outline-offset:2px}
.km-alumni-status{font-size:.875rem;margin:.5rem 0 1rem}
.km-alumni-invite{padding:1rem 1.15rem;background:var(--wp--preset--color--tint);border-left:3px solid var(--wp--preset--color--gold);margin-top:1.15rem}
.km-alumni-invite h2{font-size:1.35rem!important;margin:0}
.km-alumni-invite p{margin:.35rem 0}
@media(max-width:900px){.km-alumni-filters{grid-template-columns:1fr 1fr}.km-alumni-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.km-alumni-grid,.km-alumni-filters{grid-template-columns:1fr}}

.km-alumni-status:empty{display:none}
.km-alumni-card>.wp-block-image{position:relative;display:block}
.km-alumni-card>.wp-block-image img{position:absolute;inset:0}
@media(min-width:700px){.km-alumni-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.5rem;align-items:center}.km-alumni-invite h2,.km-alumni-invite p{grid-column:1}.km-alumni-invite>.wp-block-buttons{grid-column:2;grid-row:1 / 3;margin:0}}
