.page-public-catalog{background:#f5f8fc;color:#14213a;font-family:var(--ui,"Inter","Segoe UI",Arial,sans-serif)}
.page-public-catalog main{min-height:60vh}
.public-catalog-hero{padding:26px 0 24px;background:#fff;border-bottom:1px solid #dbe5ef}
.public-catalog-hero .container{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:end}
.public-catalog-breadcrumb{display:flex;grid-column:1/-1;align-items:center;gap:9px;margin:0 0 17px;color:#687b95;font-size:14px}
.public-catalog-breadcrumb a{color:#087c3c;text-decoration:none}
.public-catalog-eyebrow{display:block;grid-column:1;margin-bottom:7px;color:#087c3c;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.public-catalog-hero h1{grid-column:1;max-width:850px;margin:0;color:#102954;font-family:var(--ui,"Inter","Segoe UI",Arial,sans-serif);font-size:clamp(30px,3.1vw,42px);font-weight:800;line-height:1.12;letter-spacing:-.025em}
.public-catalog-hero p{grid-column:1;max-width:860px;margin:10px 0 0;color:#52647d;font-size:16px;line-height:1.55}
.public-catalog-switch{display:flex;grid-column:2;grid-row:2/5;flex-wrap:wrap;gap:8px;margin:0;align-self:end}
.public-catalog-switch a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid #cbd9e8;border-radius:12px;background:#fff;color:#243958;font-weight:750;text-decoration:none}
.public-catalog-switch a:hover,.public-catalog-switch a[aria-current=page]{border-color:#098643;background:#098643;color:#fff}
.public-catalog-main{padding:24px 0 58px}
.public-catalog-areas{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}
.public-catalog-areas a{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #d8e3ee;border-radius:999px;background:#fff;color:#29405e;font-size:14px;font-weight:700;text-decoration:none}
.public-catalog-areas a:hover{border-color:#95cfad;color:#06783a}
.public-catalog-areas span{display:grid;min-width:24px;height:24px;padding:0 6px;place-items:center;border-radius:999px;background:#edf8f1;color:#087c3c;font-size:12px}
.public-catalog-toolbar{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(145px,1fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid #d9e4ef;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(27,50,80,.045)}
.public-catalog-toolbar label{display:grid;gap:7px;min-width:0;color:#263b59;font-size:13px;font-weight:750}
.public-catalog-toolbar input,.public-catalog-toolbar select{width:100%;height:43px;padding:0 12px;border:1px solid #cad7e5;border-radius:9px;background:#fff;color:#14213a;font:inherit;font-size:14px}
.public-catalog-toolbar input:focus,.public-catalog-toolbar select:focus{outline:3px solid rgba(11,138,59,.16);border-color:#0b8a3b}
.public-catalog-toolbar button{height:43px;padding:0 14px;border:1px solid #cad7e5;border-radius:9px;background:#f7f9fc;color:#263b59;font-weight:750;cursor:pointer}
.public-catalog-toolbar button:disabled{opacity:.45;cursor:not-allowed}
.public-catalog-result-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 14px}
.public-catalog-result-head h2{margin:0;color:#14213a;font-family:var(--ui,"Inter","Segoe UI",Arial,sans-serif);font-size:23px;font-weight:800}
.public-catalog-result-head span{color:#63758e;font-size:14px}
.public-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.public-program-card{overflow:hidden;border:1px solid #d8e3ee;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(25,48,77,.06);transition:transform .18s ease,box-shadow .18s ease}
.public-program-card:hover{transform:translateY(-3px);box-shadow:0 15px 36px rgba(25,48,77,.11)}
.public-program-card[hidden]{display:none}
.public-program-image{display:block;overflow:hidden;aspect-ratio:16/9;background:#eaf0f6}
.public-program-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.public-program-card:hover .public-program-image img{transform:scale(1.025)}
.public-program-body{display:flex;min-height:310px;padding:20px;flex-direction:column}
.public-program-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;color:#087c3c;font-size:12px;font-weight:800;text-transform:uppercase}
.public-program-meta a{overflow:hidden;color:#60738c;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.public-program-body h2{margin:0;font-family:var(--ui,"Inter","Segoe UI",Arial,sans-serif);font-size:20px;font-weight:800;line-height:1.3}
.public-program-body h2 a{color:#102954;text-decoration:none}
.public-program-body p{display:-webkit-box;overflow:hidden;margin:13px 0 18px;color:#5a6b82;font-size:15px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.public-program-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.public-program-facts span{padding:6px 9px;border-radius:8px;background:#f0f5fa;color:#465a74;font-size:12px;font-weight:700}
.public-program-cta{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:15px;border-top:1px solid #e3eaf1;color:#087c3c;font-weight:800;text-decoration:none}
.public-catalog-no-results,.public-catalog-empty{display:grid;gap:8px;max-width:760px;margin:36px auto;padding:36px;border:1px solid #d9e4ef;border-radius:16px;background:#fff;text-align:center}
.public-catalog-no-results strong,.public-catalog-empty h1{margin:0;color:#14213a;font-size:24px}
.public-catalog-no-results span,.public-catalog-empty p{color:#63758e}
.public-catalog-empty a{justify-self:center;padding:11px 17px;border-radius:10px;background:#0b8a3b;color:#fff;font-weight:800;text-decoration:none}
@media(max-width:1050px){.public-catalog-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.public-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.public-catalog-hero{padding:22px 0}.public-catalog-hero .container{display:block}.public-catalog-breadcrumb{margin-bottom:14px}.public-catalog-hero h1{font-size:31px}.public-catalog-hero p{font-size:15px}.public-catalog-switch{margin-top:17px}.public-catalog-main{padding-top:18px}.public-catalog-toolbar{grid-template-columns:1fr;padding:13px}.public-catalog-grid{grid-template-columns:1fr}.public-catalog-result-head{margin-top:22px}.public-program-body{min-height:0}}
@media(prefers-reduced-motion:reduce){.public-program-card,.public-program-image img{transition:none}}
