.course-directory{padding-block:var(--space-2xl)}.course-directory__grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media (min-width:40em){.course-directory__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:64em){.course-directory__grid{grid-template-columns:repeat(3,1fr)}}.course-card{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;overflow:hidden;background-color:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.course-card:focus-visible,.course-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(11,51,43,.14);border-color:var(--color-gold-500)}.course-card:focus-visible{outline:2px solid var(--color-teal-700);outline-offset:2px}.course-card__media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;overflow:hidden;background:linear-gradient(150deg,var(--color-teal-700) 0,var(--color-teal-900) 100%)}.course-card__bg-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s var(--ease-standard)}.course-card:hover .course-card__bg-image{transform:scale(1.06)}.course-card--has-image .course-card__media{background:var(--color-teal-900)}.course-card__overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(10,10,10,.15) 0,rgba(10,10,10,.1) 45%,rgba(10,10,10,.55) 100%)}.course-card__icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:25%;max-width:64px;aspect-ratio:1/1;color:rgba(255,255,255,.85)}.course-card__icon svg{width:100%;height:100%}.course-card__title{position:relative;z-index:1;margin:0;padding-inline:var(--space-sm);text-align:center;font-size:clamp(1.05rem, .85rem + .9vw, var(--text-xl));color:var(--color-white);text-shadow:0 2px 10px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.6)}.course-card__badge{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:1;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--color-teal-900);background-color:rgba(255,255,255,.85);border:1px solid rgba(232,163,61,.5);border-radius:var(--radius-pill);padding:.2rem .65rem}.course-card__footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);background-color:var(--color-gold-500);color:var(--color-teal-900);font-weight:600;font-size:var(--text-sm);text-align:center;transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.course-card__footer-icon{transition:transform var(--duration-fast) var(--ease-standard)}.course-card:hover .course-card__footer{background-color:var(--color-gold-700);color:var(--color-white)}.course-card:hover .course-card__footer-icon{transform:translateX(4px)}@media (max-width:39.9375em){.course-card__footer{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.course-card__badge{font-size:.65rem;padding:.15rem .5rem}}.course-modal-overlay{position:fixed;inset:0;background:rgba(10,10,10,.55);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-standard);z-index:9999}.course-modal-overlay.is-open{opacity:1;visibility:visible}.course-modal{position:relative;background:var(--color-white);max-width:640px;width:100%;border-radius:var(--radius-md);overflow:hidden;padding:36px 32px 32px;transform:translateY(24px);transition:transform var(--duration-base) var(--ease-standard);box-shadow:0 20px 60px rgba(0,0,0,.25);margin:auto}.course-modal-overlay.is-open .course-modal{transform:translateY(0)}.course-modal__close{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;background:var(--color-teal-100);border:none;color:var(--color-teal-900);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--duration-base) var(--ease-standard)}.course-modal__close svg{width:16px;height:16px}.course-modal__close:focus-visible,.course-modal__close:hover{background:var(--color-line)}.course-modal__title{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 var(--space-2xs);padding-right:var(--space-xl)}.course-modal__duration{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gold-700);margin:0 0 var(--space-lg)}.course-modal__empty{opacity:.75;font-size:var(--text-sm);margin:0 0 var(--space-lg)}.course-modal__cta{width:100%}.course-modal__teachers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-lg);max-height:340px;overflow-y:auto;padding:var(--space-2xs)}@media (min-width:30em){.course-modal__teachers{grid-template-columns:repeat(3,1fr)}}.course-modal__teacher .team-card__photo-wrap{width:72px;height:72px}.course-modal__teacher .team-card__name{font-size:var(--text-sm)}.course-modal__teacher .team-card__role{font-size:.65rem}@media (max-width:30em){.course-modal{padding:28px 20px 24px}.course-modal__title{font-size:var(--text-lg)}}