.training-page { overflow-x: clip; background: #fff; }
.training-page * { min-width: 0; }
.training-page h1,.training-page h2,.training-page h3,.training-page p { overflow-wrap: anywhere; }
.training-page .public-shell { width: calc(100% - 2rem) !important; max-width: min(var(--civic-shell),calc(100vw - 2rem)); box-sizing: border-box; }
.training-page section,.training-page .training-filter,.training-page .training-results,.training-page .training-item { max-width: 100%; box-sizing: border-box; }

.training-hero {
    position: relative;
    padding-block: 5.5rem 7rem;
    overflow: hidden;
    background: var(--civic-ink);
    color: #fff;
}

.training-hero::after {
    position: absolute;
    width: 32rem;
    height: 32rem;
    right: -9rem;
    bottom: -18rem;
    content: "";
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018);
}

.training-hero__grid { position: relative; z-index: 1; display: grid; align-items: end; gap: 4rem; grid-template-columns: 1.2fr .8fr; }
.training-hero .public-eyebrow { color: #84d0fb; }
.training-hero h1 { max-width: 760px; margin-top: 1.2rem; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(2.8rem, 6vw, 5.8rem); font-weight: 800; letter-spacing: -.065em; line-height: .98; }
.training-hero__copy { margin-top: 1.5rem; max-width: 650px; color: #b8cad9; font-size: 1.06rem; line-height: 1.8; }
.training-hero__summary { display: grid; gap: 1px; background: rgba(255,255,255,.15); grid-template-columns: repeat(2,1fr); }
.training-hero__summary div { padding: 1.4rem; background: rgba(7,24,43,.82); }
.training-hero__summary strong { display: block; color: var(--civic-gold); font-family: "Plus Jakarta Sans", sans-serif; font-size: 2.4rem; letter-spacing: -.05em; }
.training-hero__summary span { color: #9eb1c1; font-size: .72rem; line-height: 1.4; }

.training-content { padding-block: 5rem 7rem; }
.training-layout { display: grid; align-items: start; gap: 3.5rem; grid-template-columns: 280px minmax(0,1fr); }

.training-filter {
    position: sticky;
    top: 132px;
    padding: 1.5rem;
    border: 1px solid var(--civic-line);
    border-radius: var(--civic-radius-md);
    background: #f7f9fa;
}

.training-filter__title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.training-filter__title h2 { font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.05rem; font-weight: 800; }
.training-filter label { display: block; margin: 1rem 0 .45rem; color: var(--civic-ink-soft); font-size: .72rem; font-weight: 800; }
.training-filter input,
.training-filter select { width: 100%; max-width: 100%; min-height: 46px; box-sizing: border-box; padding: .7rem .8rem; border: 1px solid #ccd6dd; border-radius: 10px; background: #fff; color: var(--civic-ink); font-size: .82rem; }
.training-filter input:focus,
.training-filter select:focus { outline: 2px solid rgba(0,103,167,.22); border-color: var(--civic-blue); }
.training-filter__submit { width: 100%; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; margin-top: 1.2rem; border: 0; border-radius: 999px; background: var(--civic-blue); color: #fff; font-size: .82rem; font-weight: 800; cursor: pointer; }
.training-filter__reset { width: 100%; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-top: .45rem; color: var(--civic-muted); font-size: .76rem; font-weight: 700; text-decoration: none; }

.training-results__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--civic-line); }
.training-results__head h2 { font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(1.5rem,3vw,2.25rem); font-weight: 800; letter-spacing: -.04em; }
.training-results__head p { color: var(--civic-muted); font-size: .78rem; }
.training-list { display: grid; }

.training-item { display: grid; gap: 1.6rem; grid-template-columns: 260px minmax(0,1fr); padding-block: 1.8rem; border-bottom: 1px solid var(--civic-line); }
.training-item__media { position: relative; min-height: 205px; overflow: hidden; border-radius: var(--civic-radius-md); background: linear-gradient(135deg,#dcedf7,#c7dce8); }
.training-item__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
.training-item:hover .training-item__media img { transform: scale(1.035); }
.training-item__media > .material-symbols-outlined { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(0,103,167,.3); font-size: 4rem; }
.training-item__number { position: absolute; left: .8rem; bottom: .8rem; min-width: 38px; min-height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(7,24,43,.88); color: #fff; font-size: .68rem; font-weight: 800; }
.training-item__body { display: flex; flex-direction: column; }
.training-item__topline { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.training-category { color: var(--civic-blue); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.training-status { display: inline-flex; min-height: 28px; align-items: center; padding: .3rem .65rem; border-radius: 999px; background: #edf2f5; color: var(--civic-ink-soft); font-size: .65rem; font-weight: 800; }
.training-status--open { background: #dff7e9; color: #11653a; }
.training-status--live { background: #e1efff; color: #1558a0; }
.training-item h3 { margin-top: .75rem; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(1.2rem,2.2vw,1.7rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.3; }
.training-item__description { margin-top: .7rem; color: var(--civic-muted); font-size: .86rem; line-height: 1.7; }
.training-item__bottom { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-top: auto; padding-top: 1.2rem; }
.training-item__meta { display: flex; flex-wrap: wrap; gap: 1rem; color: var(--civic-muted); font-size: .74rem; }
.training-item__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.training-item__action { display: inline-flex; min-height: 44px; align-items: center; gap: .4rem; color: var(--civic-blue); font-size: .8rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.training-empty { padding: 4rem 1.5rem; text-align: center; }
.training-empty .material-symbols-outlined { color: #b7c6d0; font-size: 4rem; }
.training-empty h2 { margin-top: 1rem; font-family: "Plus Jakarta Sans",sans-serif; font-size: 1.4rem; font-weight: 800; }
.training-empty p { margin-top: .5rem; color: var(--civic-muted); }

@media (max-width: 960px) {
    .training-hero__grid { grid-template-columns: 1fr; }
    .training-hero__summary { max-width: 430px; }
    .training-layout { grid-template-columns: 1fr; }
    .training-filter { position: static; }
    .training-filter__fields { display: grid; gap: .75rem; grid-template-columns: repeat(2,1fr); }
    .training-filter label { margin-top: 0; }
}

@media (max-width: 680px) {
    .training-hero { padding-block: 4.5rem 5.5rem; }
    .training-content { padding-block: 3.5rem 5rem; }
    .training-filter__fields { grid-template-columns: 1fr; }
    .training-item { grid-template-columns: 1fr; }
    .training-item__media { min-height: 220px; }
    .training-item__bottom { align-items: start; flex-direction: column; }
    .training-item__action { width: 100%; justify-content: center; border: 1px solid rgba(0,103,167,.25); border-radius: 999px; }
}

/* Compact directory shared with the current public-page system. */
.service-page.training-page .training-hero { padding-block: 3.25rem; border-bottom: 1px solid var(--service-line); background: #fff; color: var(--service-ink); }
.service-page.training-page .training-hero::after,.service-page.training-page .training-hero__summary { display: none; }
.service-page.training-page .training-hero__grid { grid-template-columns: minmax(0,1fr) minmax(280px,.7fr); align-items: end; gap: clamp(2rem,6vw,6rem); }
.service-page.training-page .training-hero h1 { margin-top: .65rem; font-size: clamp(2.35rem,4.5vw,4rem); line-height: 1.04; }
.service-page.training-page .training-hero__copy { margin: 0; color: var(--service-muted); font-size: .95rem; line-height: 1.7; }
.service-page.training-page .training-content { padding-block: 2.5rem 5rem; background: var(--service-soft); }
.service-page.training-page .training-layout { display: block; }
.service-page.training-page .training-filter { position: static; padding: 1.15rem; border-radius: 4px; background: #fff; }
.service-page.training-page .training-filter__title { margin: 0 0 1rem; padding: 0; border: 0; }
.service-page.training-page .training-filter__title h2 { font-size: .95rem; }
.service-page.training-page .training-filter__title .material-symbols-outlined { display: none; }
.service-page.training-page .training-filter__fields { display: grid; grid-template-columns: minmax(210px,1.6fr) repeat(3,minmax(145px,1fr)); gap: .75rem; }
.service-page.training-page .training-filter label { margin: 0 0 .35rem; font-size: .69rem; }
.service-page.training-page .training-filter input,.service-page.training-page .training-filter select { min-height: 42px; border-radius: 4px; }
.training-filter__actions { display: flex; justify-content: flex-end; gap: .55rem; margin-top: .85rem; }
.service-page.training-page .training-filter__submit,.service-page.training-page .training-filter__reset { width: auto; min-height: 40px; margin: 0; padding-inline: 1rem; border-radius: 4px; }
.service-page.training-page .training-filter__reset { border: 1px solid var(--service-line); background: #fff; }
.service-page.training-page .training-results { margin-top: 2rem; }
.service-page.training-page .training-results__head { padding-bottom: .9rem; }
.service-page.training-page .training-list { background: transparent; }
.service-page.training-page .training-item { grid-template-columns: 190px minmax(0,1fr); gap: 1.3rem; padding: 1.2rem 0; background: transparent; }
.service-page.training-page .training-item__media { min-height: 145px; border-radius: 4px; }
.service-page.training-page .training-item h3 { margin-top: .55rem; font-size: clamp(1.1rem,2vw,1.4rem); }
.service-page.training-page .training-item__description { margin-top: .5rem; line-height: 1.6; }
.service-page.training-page .training-item__bottom { padding-top: .8rem; }
.training-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--service-line); font-size: .78rem; }
.training-pagination a,.training-pagination span { color: var(--service-muted); text-decoration: none; }
.training-pagination a:last-child,.training-pagination span:last-child { text-align: right; }
.training-pagination strong { font-size: .75rem; }

@media (max-width: 900px) {
    .service-page.training-page .training-hero__grid { grid-template-columns: 1fr; gap: 1rem; }
    .service-page.training-page .training-filter__fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .service-page.training-page .training-hero { padding-block: 2.75rem; }
    .service-page.training-page .training-hero h1 { max-width: 100%; font-size: 2.15rem; }
    .service-page.training-page .training-filter__fields { grid-template-columns: 1fr; }
    .training-filter__actions { align-items: stretch; flex-direction: column; }
    .service-page.training-page .training-filter__submit,.service-page.training-page .training-filter__reset { width: 100%; }
    .service-page.training-page .training-item { grid-template-columns: 1fr; }
    .service-page.training-page .training-item__media { min-height: 200px; }
}

/* Final directory layout: mirrors the employee directory controls and rhythm. */
.service-page.training-page .training-filter form{display:grid;align-items:end;gap:.7rem;grid-template-columns:minmax(250px,1.45fr) repeat(3,minmax(135px,.75fr)) auto}
.service-page.training-page .training-filter__field{min-width:0}
.service-page.training-page .training-list{align-items:stretch;grid-auto-rows:1fr}
.service-page.training-page .training-item{height:100%}
.service-page.training-page .training-item__body{height:100%;display:flex;flex-direction:column}
.service-page.training-page .training-item h3{min-height:2.65em;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.service-page.training-page .training-item__description{min-height:3.1em}
.service-page.training-page .training-item__bottom{margin-top:auto}
@media(max-width:1120px){
    .service-page.training-page .training-filter form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .service-page.training-page .training-filter__field--search{grid-column:1/-1}
    .service-page.training-page .training-filter__actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:700px){
    .service-page.training-page .training-filter form{grid-template-columns:1fr}
    .service-page.training-page .training-filter__field--search,.service-page.training-page .training-filter__actions{grid-column:auto}
    .service-page.training-page .training-item{height:206px;grid-template-columns:112px minmax(0,1fr)}
    .service-page.training-page .training-item__body{min-height:0}
    .service-page.training-page .training-item h3{min-height:0;-webkit-line-clamp:2}
    .service-page.training-page .training-item__description{display:none;min-height:0}
    .service-page.training-page .training-item__meta{gap:.23rem}
}
@media(max-width:420px){
    .service-page.training-page .training-item{height:196px;grid-template-columns:96px minmax(0,1fr)}
    .service-page.training-page .training-item__body{padding:.72rem}
    .service-page.training-page .training-item__action{min-height:36px}
}

/* Final public training catalogue: compact, scannable, and consistent. */
.service-page.training-page .training-hero{
    min-height:215px;padding:2.65rem 0;background:#0a2538;color:#fff;border:0;
}
.service-page.training-page .training-hero::after{display:block;width:240px;height:240px;right:5%;bottom:-150px;border-color:rgba(255,255,255,.11);box-shadow:0 0 0 46px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.016)}
.service-page.training-page .training-hero__grid{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);align-items:center;gap:clamp(2rem,6vw,5rem)}
.service-page.training-page .training-hero .public-eyebrow{color:#8ed2f5}
.service-page.training-page .training-hero h1{margin:.55rem 0 0;font-size:clamp(2.45rem,4.4vw,3.55rem);line-height:1;letter-spacing:-.055em}
.service-page.training-page .training-hero__copy{max-width:650px;margin:.75rem 0 0;color:#c3d2dc;font-size:.9rem;line-height:1.65}
.service-page.training-page .training-hero__summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.12)}
.service-page.training-page .training-hero__summary div{display:flex;min-height:90px;flex-direction:column;justify-content:center;padding:1rem 1.15rem;background:rgba(9,36,54,.88)}
.service-page.training-page .training-hero__summary dt{order:2;margin-top:.15rem;color:#a9bfce;font-size:.65rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.service-page.training-page .training-hero__summary dd{margin:0;color:#fff;font:800 1.75rem/1 "Plus Jakarta Sans",sans-serif}
.service-page.training-page .training-content{padding:2rem 0 4.5rem;background:#f4f6f7}
.service-page.training-page .training-filter{padding:1rem;border:1px solid #dce3e7;border-radius:12px;box-shadow:0 10px 28px rgba(9,36,54,.035)}
.service-page.training-page .training-filter__title{margin:0 0 .75rem}.service-page.training-page .training-filter__title h2{font-size:.86rem}
.service-page.training-page .training-filter form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem}
.service-page.training-page .training-filter__fields{grid-template-columns:minmax(220px,1.55fr) repeat(3,minmax(130px,.72fr));gap:.65rem}
.service-page.training-page .training-filter input,.service-page.training-page .training-filter select{min-height:40px;padding:.55rem .7rem;border-radius:7px;font-size:.76rem}
.training-filter__actions{margin:0}.service-page.training-page .training-filter__submit,.service-page.training-page .training-filter__reset{min-height:40px;border-radius:7px;font-size:.74rem}
.service-page.training-page .training-results{margin-top:1.65rem}
.service-page.training-page .training-results__head{align-items:center;padding:0 0 .8rem;border:0}.service-page.training-page .training-results__head h2{font-size:1.35rem}.service-page.training-page .training-results__head p{padding:.35rem .65rem;border-radius:999px;background:#e5ecef;color:#526976}
.service-page.training-page .training-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.service-page.training-page .training-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1rem;min-height:225px;padding:.75rem;border:1px solid #dce3e7;border-radius:13px;background:#fff;box-shadow:0 9px 24px rgba(9,36,54,.035);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.service-page.training-page .training-item:hover{transform:translateY(-2px);border-color:#b9ceda;box-shadow:0 13px 30px rgba(9,36,54,.075)}
.service-page.training-page .training-item__media{min-height:0;height:100%;border-radius:9px}.service-page.training-page .training-item__number{display:none}
.service-page.training-page .training-item__body{padding:.25rem .15rem .15rem 0}
.service-page.training-page .training-item__topline{gap:.45rem}.training-category{font-size:.6rem}.training-status{min-height:24px;padding:.25rem .52rem;font-size:.59rem}
.service-page.training-page .training-item h3{margin-top:.5rem;font-size:1.03rem;line-height:1.35}.service-page.training-page .training-item__description{margin-top:.35rem;font-size:.74rem;line-height:1.55}
.service-page.training-page .training-item__bottom{display:grid;align-items:end;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;padding-top:.65rem}
.service-page.training-page .training-item__meta{display:grid;gap:.28rem;font-size:.65rem}.service-page.training-page .training-item__meta span{align-items:flex-start}.service-page.training-page .training-item__meta .material-symbols-outlined{font-size:14px;color:#1680b5}
.service-page.training-page .training-item__action{min-height:36px;align-self:end;padding:0 .75rem;border-radius:7px;background:#0a2538;color:#fff;font-size:.69rem}.service-page.training-page .training-item__action .material-symbols-outlined{font-size:16px}
.training-pagination{margin-top:1.2rem}
@media(max-width:1050px){.service-page.training-page .training-list{grid-template-columns:1fr}.service-page.training-page .training-item{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:900px){.service-page.training-page .training-hero{min-height:0}.service-page.training-page .training-hero__grid{grid-template-columns:1fr auto;gap:1.5rem}.service-page.training-page .training-hero__summary{min-width:260px}.service-page.training-page .training-filter form{grid-template-columns:1fr}.service-page.training-page .training-filter__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.training-filter__actions{justify-content:flex-end}}
@media(max-width:680px){.service-page.training-page .training-hero{padding:2rem 0}.service-page.training-page .training-hero__grid{grid-template-columns:1fr}.service-page.training-page .training-hero__summary{width:100%;min-width:0}.service-page.training-page .training-filter__fields{grid-template-columns:1fr}.service-page.training-page .training-item{grid-template-columns:1fr;min-height:0}.service-page.training-page .training-item__media{height:auto;aspect-ratio:16/8}.service-page.training-page .training-item__bottom{grid-template-columns:1fr}.service-page.training-page .training-item__action{width:100%;justify-content:center}.training-filter__actions{flex-direction:row}.service-page.training-page .training-filter__submit,.service-page.training-page .training-filter__reset{width:auto;flex:1}}
@media(max-width:420px){.service-page.training-page .training-hero h1{font-size:2.15rem}.service-page.training-page .training-hero__summary div{min-height:76px;padding:.85rem}.service-page.training-page .training-hero__summary dd{font-size:1.45rem}}

/* Directory pattern shared with the employee directory. */
.service-page.training-page .training-content{padding-block:clamp(1.5rem,3vw,2.5rem) clamp(4rem,7vw,6rem);background:#f2f6f7}
.service-page.training-page .training-filter{padding:.9rem;border:1px solid #d8e2e7;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(16,45,61,.055)}
.service-page.training-page .training-filter form{display:grid;align-items:end;gap:.7rem;grid-template-columns:minmax(0,1fr) auto}
.service-page.training-page .training-filter__fields{display:grid;gap:.7rem;grid-template-columns:minmax(230px,1.45fr) repeat(3,minmax(150px,.8fr))}
.service-page.training-page .training-filter label{display:block;margin:0 0 .38rem .1rem;color:#40535f;font-size:.66rem;font-weight:750}
.training-filter__input-wrap{position:relative}.training-filter__input-wrap>.material-symbols-outlined{position:absolute;left:.82rem;top:50%;color:#7c909c;font-size:1.05rem;transform:translateY(-50%);pointer-events:none}
.service-page.training-page .training-filter__input-wrap input{padding-left:2.4rem}
.service-page.training-page .training-filter input,.service-page.training-page .training-filter select{min-height:44px;border:1px solid #cad6dc;border-radius:10px;background-color:#fff;color:#172733;font-size:.74rem;transition:border-color .18s ease,box-shadow .18s ease}
.service-page.training-page .training-filter input:focus,.service-page.training-page .training-filter select:focus{outline:0;border-color:#087dab;box-shadow:0 0 0 3px rgba(8,125,171,.12)}
.training-filter__actions{display:flex;gap:.45rem;margin:0}.service-page.training-page .training-filter__submit,.service-page.training-page .training-filter__reset{min-height:44px;padding-inline:1rem;border-radius:10px;font-size:.7rem;font-weight:750;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.service-page.training-page .training-filter__submit{border:1px solid #09273a;background:#09273a}.service-page.training-page .training-filter__submit:hover{border-color:#075b82;background:#075b82;box-shadow:0 8px 18px rgba(7,91,130,.18);transform:translateY(-1px)}
.service-page.training-page .training-filter__reset{border:1px solid #d8e2e7;background:#fff;color:#4f626e}.service-page.training-page .training-filter__reset:hover{border-color:#9db0ba;color:#09273a}
.service-page.training-page .training-results{margin-top:clamp(1.8rem,3vw,2.7rem)}
.service-page.training-page .training-results__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.15rem;padding:0;border:0}.training-section-label{color:#075b82;font-size:.61rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.service-page.training-page .training-results__head h2{margin-top:.28rem;color:#09273a;font-size:clamp(1.45rem,2.3vw,1.9rem);font-weight:750}.service-page.training-page .training-results__head p{padding:0;background:none;color:#677984;font-size:.7rem}.service-page.training-page .training-results__head p strong{color:#09273a;font-size:.84rem}
.service-page.training-page .training-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-page.training-page .training-item{display:flex;min-height:0;overflow:hidden;flex-direction:column;gap:0;padding:0;border:1px solid #d8e2e7;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,43,59,.045)}.service-page.training-page .training-item:hover{transform:translateY(-4px);border-color:rgba(8,125,171,.42);box-shadow:0 17px 38px rgba(15,43,59,.11)}
.service-page.training-page .training-item__media{height:auto;aspect-ratio:16/9;border-radius:0;background:#eaf0f2}.service-page.training-page .training-item__body{min-height:230px;padding:1rem 1.05rem 1.05rem}.service-page.training-page .training-item h3{margin-top:.52rem;color:#09273a;font-size:.94rem;font-weight:750;line-height:1.4}.service-page.training-page .training-item__description{display:-webkit-box;overflow:hidden;margin-top:.38rem;color:#677984;font-size:.68rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.service-page.training-page .training-item__bottom{display:flex;align-items:stretch;flex:1;flex-direction:column;gap:.7rem;padding-top:.75rem}.service-page.training-page .training-item__meta{display:grid;gap:.32rem;color:#677984;font-size:.64rem}.service-page.training-page .training-item__action{width:100%;min-height:40px;justify-content:center;margin-top:auto;border-radius:9px;background:#09273a;font-size:.7rem}.service-page.training-page .training-item__action:hover{background:#075b82}
.training-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:0;border:0}.training-pagination>p{color:#677984;font-size:.7rem}.training-pagination__actions{display:flex;align-items:center;gap:.4rem}.training-page-button,.training-page-number{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;border:1px solid #cad6dc;border-radius:9px;background:#fff;color:#172733;font-size:.68rem;font-weight:750;text-decoration:none}.training-page-button{padding-inline:.72rem}.training-page-button .material-symbols-outlined{font-size:1rem}.training-page-button:hover,.training-page-number:hover{border-color:#087dab;color:#075b82}.training-page-number.is-active{border-color:#09273a;background:#09273a;color:#fff}.training-page-button.is-disabled{opacity:.38;pointer-events:none}
@media(max-width:1120px){.service-page.training-page .training-filter form{grid-template-columns:1fr}.service-page.training-page .training-filter__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.service-page.training-page .training-list{grid-template-columns:repeat(2,minmax(0,1fr))}.training-filter__actions{justify-content:flex-end}}
@media(max-width:700px){.service-page.training-page .training-filter__fields{grid-template-columns:1fr}.training-filter__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.training-filter__actions>:only-child{grid-column:1/-1}.service-page.training-page .training-filter__submit,.service-page.training-page .training-filter__reset{width:100%}.service-page.training-page .training-list{grid-template-columns:1fr}.service-page.training-page .training-item{display:grid;grid-template-columns:110px minmax(0,1fr)}.service-page.training-page .training-item__media{height:100%;aspect-ratio:auto}.service-page.training-page .training-item__body{min-height:180px;padding:.85rem}.service-page.training-page .training-item__description{display:none}.training-pagination{align-items:stretch;flex-direction:column}.training-pagination__actions{justify-content:space-between}.training-page-button__label{display:none}}
@media(max-width:420px){.service-page.training-page .training-item{grid-template-columns:96px minmax(0,1fr)}.service-page.training-page .training-item__body{min-height:176px}.service-page.training-page .training-item__meta span:nth-child(3){display:none}}
/* Guard the directory against horizontal overflow on narrow mobile viewports. */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.training-page {
    width: 100%;
    max-width: 100vw;
}

.training-page .training-hero__grid > *,
.training-page .training-directory-layout > *,
.training-page .training-card > * {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 620px) {
    .training-page .training-hero__copy,
    .training-page .training-card__content,
    .training-page .training-filter-card {
        width: 100%;
        max-width: calc(100vw - 2rem);
    }
}

/* Definitive catalogue sizing and filter grid. */
.service-page.training-page .training-filter form{display:grid;align-items:end;gap:.7rem;grid-template-columns:minmax(250px,1.45fr) repeat(3,minmax(135px,.75fr)) auto}
.service-page.training-page .training-filter__field{min-width:0}
.service-page.training-page .training-list{align-items:stretch;grid-auto-rows:1fr}
.service-page.training-page .training-item{height:100%}
.service-page.training-page .training-item__body{height:100%;display:flex;flex-direction:column}
.service-page.training-page .training-item h3{min-height:2.65em;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.service-page.training-page .training-item__description{min-height:3.1em}
.service-page.training-page .training-item__bottom{margin-top:auto}
@media(max-width:1120px){
    .service-page.training-page .training-filter form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .service-page.training-page .training-filter__field--search{grid-column:1/-1}
    .service-page.training-page .training-filter__actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:700px){
    .service-page.training-page .training-filter form{grid-template-columns:1fr}
    .service-page.training-page .training-filter__field--search,.service-page.training-page .training-filter__actions{grid-column:auto}
    .service-page.training-page .training-item{height:218px;display:grid;grid-template-columns:112px minmax(0,1fr)}
    .service-page.training-page .training-item__media{height:100%;aspect-ratio:auto}
    .service-page.training-page .training-item__body{min-height:0}
    .service-page.training-page .training-item__topline,.service-page.training-page .training-item h3{flex:0 0 auto}
    .service-page.training-page .training-item h3{min-height:0;-webkit-line-clamp:2}
    .service-page.training-page .training-item__description{display:none;min-height:0}
    .service-page.training-page .training-item__meta{gap:.23rem}
    .service-page.training-page .training-item__meta span:nth-child(n+3){display:none}
}
@media(max-width:420px){
    .service-page.training-page .training-item{height:212px;grid-template-columns:96px minmax(0,1fr)}
    .service-page.training-page .training-item__body{padding:.72rem}
    .service-page.training-page .training-item__action{min-height:36px}
}
