.academy-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap:1.5rem; }
.academy-card { border:1px solid currentColor; border-radius:.4rem; padding:1.25rem; min-width:0; }
.academy-card h2,.academy-card h3 { margin-top:0; font-size:1.3em; }
.academy-card p,.academy-record-details,.academy-course-details { overflow-wrap:anywhere; }
.academy-facts { margin:1.5rem 0; }
.academy-facts>div { display:grid; grid-template-columns:minmax(7rem,1fr) minmax(0,3fr); border-bottom:1px solid currentColor; padding:.8rem 0; gap:1rem; }
.academy-facts dt { font-weight:700; }
.academy-facts dd { margin:0; overflow-wrap:anywhere; }
.academy-status { display:inline-block; border:1px solid currentColor; border-radius:.3rem; padding:.25rem .6rem; font-weight:700; }
.academy-button { display:inline-block; padding:.9rem 1.25rem; border:2px solid currentColor; font-weight:700; }
.academy-button:focus-visible,.academy-filters a:focus-visible,.academy-card a:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.academy-poster,.academy-instructor-photo,.academy-person img { display:block; max-width:100%; height:auto; }
.academy-instructor-photo { width:10rem; }
.academy-breadcrumbs ol,.academy-filters ul { display:flex; flex-wrap:wrap; list-style:none; padding:0; gap:.5rem 1rem; }
.academy-breadcrumbs li+li::before { content:'／'; margin-right:1rem; }
.academy-filters a { display:inline-block; padding:.45rem .7rem; border:1px solid currentColor; }
.academy-filters a[aria-current] { font-weight:700; text-decoration-thickness:3px; }
.academy-filter-form { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:1.5rem 0; }
.academy-filter-form input,.academy-filter-form select,.academy-filter-form button { font:inherit; padding:.5rem; min-width:0; max-width:100%; }
.academy-content-list .page-numbers { display:flex; flex-wrap:wrap; gap:.8rem; list-style:none; padding:0; }
.academy-content-list .page-numbers a,.academy-content-list .page-numbers span { padding:.4rem .6rem; }
.academy-person blockquote { margin-inline:0; padding-inline-start:1rem; border-inline-start:3px solid currentColor; }
.academy-story-images { display:grid; gap:1.5rem; }
.academy-story-images figure { margin:0; }
.academy-story-image { display:block; max-width:100%; height:auto; }
.academy-story-images figcaption { margin-top:.5rem; overflow-wrap:anywhere; }
.academy-videos>ul { list-style:none; padding:0; display:grid; gap:1.5rem; }
.academy-video { min-width:0; overflow-wrap:anywhere; }
.academy-video-player { display:block; width:100%; height:auto; min-height:200px; aspect-ratio:16/9; border:0; }
.academy-instructor-links,.academy-story-resources { overflow-wrap:anywhere; }
.academy-story-resources { border-block-start:2px solid currentColor; padding-block-start:1rem; margin-block-start:2rem; }
.academy-resource-sources { font-size:.95em; }
@media(max-width:600px) { .academy-facts>div { grid-template-columns:1fr; gap:.3rem; } .academy-filter-form { align-items:stretch; flex-direction:column; } }

.academy-facebook-embed { max-width: 100%; overflow-x: auto; }
.academy-facebook-embed iframe, .academy-facebook-embed > div, .academy-facebook-embed > div > span { max-width: 100%; }

/* Course content keeps the registration facts in one place. */
.academy-course-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:2rem}.academy-course-columns section{margin-bottom:2rem}.academy-course-columns aside{align-self:start;padding:1.5rem;border:1px solid currentColor}.academy-course-sessions{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.academy-course-sessions li{display:flex;flex-direction:column;padding:1rem;border:1px solid #ccd4c6}.academy-course-sessions time{font-weight:700}.academy-course-presentation .academy-facts dd{overflow-wrap:anywhere}@media(max-width:700px){.academy-course-columns{grid-template-columns:1fr}.academy-course-sessions{grid-template-columns:1fr}}

.xinya-person-card img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.academy-person { margin-block:2rem; padding:clamp(1.25rem,4vw,3rem); border:1px solid currentColor; border-radius:16px; }
.academy-person img { width:min(100%,24rem); height:auto; border-radius:12px; }

/* Opt-in native course columns; legacy course-details remains complete. */
.academy-course-main-only .academy-course-columns { grid-template-columns:minmax(0,1fr); }
.academy-course-registration { align-self:start; padding:1.5rem; border:1px solid currentColor; overflow-wrap:anywhere; }
.wp-block-columns.academy-course-native-columns { align-items:flex-start; gap:2rem; }
.academy-course-native-columns > .wp-block-column { min-width:0; }
