 .u-section-1 {
  background-image: url("images/TrainingBanner.png");
  background-position: 50% 50%;
}

.u-section-1 .u-sheet-1 {
  min-height: 475px;
}

.u-section-1 .u-group-1 {
  width: 570px;
  --radius: 10px;
  height: auto;
  min-height: 289px;
  margin: 0 106px 0 auto;
}

.u-section-1 .u-container-layout-1 {
  padding: 0 30px;
}

.u-section-1 .u-image-1 {
  height: 275px;
  margin-top: 0;
  margin-bottom: 0;
}

.u-section-1 .u-text-1 {
  font-size: 3rem;
  font-weight: 700;
  text-shadow: 2px 2px 8px black;
  margin: -206px 780px 0 0;
}

.u-section-1 .u-text-2 {
  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);
  font-weight: 800;
  font-size: 1.5rem;
  margin: 47px 0 60px 359px;
}

@media (max-width: 1199px) {
  .u-section-1 .u-sheet-1 {
    min-height: 517px;
  }

  .u-section-1 .u-group-1 {
    margin-top: 24px;
    margin-right: 78px;
    height: auto;
  }

  .u-section-1 .u-text-1 {
    width: auto;
    margin-top: -220px;
    margin-right: 580px;
  }

  .u-section-1 .u-text-2 {
    width: auto;
    margin-top: 127px;
    margin-right: 14px;
    margin-left: 145px;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-sheet-1 {
    min-height: 311px;
  }

  .u-section-1 .u-group-1 {
    width: 358px;
    min-height: 185px;
    margin-top: 15px;
    margin-right: 81px;
  }

  .u-section-1 .u-container-layout-1 {
    padding-left: 0;
    padding-right: 0;
  }

  .u-section-1 .u-image-1 {
    height: 185px;
    width: 315px;
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-1 .u-text-1 {
    font-size: 2.25rem;
    margin-top: -157px;
    margin-right: 481px;
  }

  .u-section-1 .u-text-2 {
    font-size: 1.125rem;
    margin: 42px 0 39px;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-sheet-1 {
    min-height: 364px;
  }

  .u-section-1 .u-group-1 {
    width: 322px;
  }

  .u-section-1 .u-image-1 {
    width: 314px;
  }

  .u-section-1 .u-text-1 {
    font-size: 1.875rem;
    margin-top: -173px;
    margin-right: 349px;
  }

  .u-section-1 .u-text-2 {
    margin-top: 86px;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-sheet-1 {
    min-height: 186px;
  }

  .u-section-1 .u-group-1 {
    min-height: 115px;
    width: 196px;
    margin-top: 6px;
    margin-right: 0;
  }

  .u-section-1 .u-image-1 {
    height: 112px;
    width: 185px;
  }

  .u-section-1 .u-text-1 {
    font-size: 1.4375rem;
    margin-top: -115px;
    margin-right: 149px;
  }

  .u-section-1 .u-text-2 {
    font-size: 1rem;
    margin-top: 31px;
    margin-bottom: 27px;
  }
}.u-section-2 .u-sheet-1 {
  min-height: 1167px;
}

.u-section-2 .u-list-1 {
  grid-template-rows: repeat(1, auto);
  margin: 33px 0 0;
}

.u-section-2 .u-repeater-1 {
  grid-template-columns: repeat(3, calc(33.3333% - 18.6667px));
  min-height: 1008px;
  grid-auto-columns: calc(33.3333% - 18.6667px);
  grid-gap: 28px;
}

.u-section-2 .u-list-item-1 {
  box-shadow: 2px 2px 8px 0px rgba(128,128,128,1);
}

.u-section-2 .u-container-layout-1 {
  padding: 20px 30px;
}

.u-section-2 .u-image-1 {
  height: 152px;
  width: 176px;
  margin: 0 62px;
}

.u-section-2 .u-text-1 {
  font-size: 1.5rem;
  font-weight: 800;
 /* text-shadow: 2px 2px 8px rgba(0,0,0,0.4);*/
  margin: 20px 0 0;
}

.u-section-2 .u-text-2 {
  font-size: 1rem;
  margin: 20px 0 0;
}

.u-section-2 .u-list-item-2 {
  box-shadow: 2px 2px 8px 0px rgba(128,128,128,1);
}

.u-section-2 .u-container-layout-2 {
  padding: 20px 30px;
}

.u-section-2 .u-image-2 {
  height: 152px;
  width: 176px;
  margin: 0 62px;
}

.u-section-2 .u-text-3 {
  font-size: 1.5rem;
  font-weight: 800;
 /* text-shadow: 2px 2px 8px rgba(0,0,0,0.4);*/
  margin: 20px 0 0;
}

.u-section-2 .u-text-4 {
  font-size: 1rem;
  margin: 20px 0 0;
}

.u-section-2 .u-list-item-3 {
  box-shadow: 2px 2px 8px 0px rgba(128,128,128,1);
}

.u-section-2 .u-container-layout-3 {
  padding: 20px 30px;
}

.u-section-2 .u-image-3 {
  height: 152px;
  width: 176px;
  margin: 0 62px;
}

.u-section-2 .u-text-5 {
  font-size: 1.5rem;
  font-weight: 800;
/*  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);*/
  margin: 20px 0 0;
}

.u-section-2 .u-text-6 {
  font-size: 1rem;
  margin: 20px 0 0;
}

.u-section-2 .u-list-item-4 {
  box-shadow: 2px 2px 8px 0px rgba(128,128,128,1);
}

.u-section-2 .u-container-layout-4 {
  padding: 20px 30px;
}

.u-section-2 .u-image-4 {
  height: 152px;
  width: 176px;
  margin: 0 62px;
}

.u-section-2 .u-text-7 {
  font-size: 1.5rem;
  font-weight: 800;
/*  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);*/
  margin: 20px 0 0;
}

.u-section-2 .u-text-8 {
  font-size: 1rem;
  margin: 20px 0 0;
}

.u-section-2 .u-list-item-5 {
  box-shadow: 2px 2px 8px 0px rgba(128,128,128,1);
}

.u-section-2 .u-container-layout-5 {
  padding: 20px 30px;
}

.u-section-2 .u-image-5 {
  height: 152px;
  width: 176px;
  margin: 0 62px;
}

.u-section-2 .u-text-9 {
  font-size: 1.5rem;
  font-weight: 800;
/*  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);*/
  margin: 20px 0 0;
}

.u-section-2 .u-text-10 {
  font-size: 1rem;
  margin: 20px 0 0;
}

.u-section-2 .u-list-item-6 {
  box-shadow: 2px 2px 8px 0px rgba(128,128,128,1);
}

.u-section-2 .u-container-layout-6 {
  padding: 20px 30px;
}

.u-section-2 .u-image-6 {
  height: 152px;
  width: 176px;
  margin: 0 62px;
}

.u-section-2 .u-text-11 {
  font-size: 1.5rem;
  font-weight: 800;
/*  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);*/
  margin: 20px 0 0;
}

.u-section-2 .u-text-12 {
  font-size: 1rem;
  margin: 20px 0 0;
}

.u-section-2 .u-text-13 {
  font-weight: 800;
  font-size: 1.5rem;
/*  text-shadow: 2px 2px 8px rgba(128,128,128,1);*/
  margin: 20px auto;
}

@media (max-width: 1199px) {
  .u-section-2 .u-sheet-1 {
    min-height: 1386px;
  }

  .u-section-2 .u-list-1 {
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-2 .u-repeater-1 {
    min-height: 827px;
  }

  .u-section-2 .u-image-1 {
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-2 .u-image-2 {
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-2 .u-image-3 {
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-2 .u-image-4 {
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-2 .u-image-5 {
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-2 .u-image-6 {
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-2 .u-text-13 {
    margin-top: 19px;
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 991px) {
  .u-section-2 .u-sheet-1 {
    min-height: 1729px;
  }

  .u-section-2 .u-list-1 {
    margin-top: 0;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-2 .u-repeater-1 {
    grid-template-columns: repeat(2, calc(50% - 14px));
    grid-auto-columns: calc(50% - 14px);
    min-height: 1463px;
  }
}

@media (max-width: 767px) {
  .u-section-2 .u-repeater-1 {
    grid-template-columns: 100%;
    grid-auto-columns: calc(100% - 0px);
  }

  .u-section-2 .u-container-layout-1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-2 .u-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-2 .u-container-layout-3 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-2 .u-container-layout-4 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-2 .u-container-layout-5 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-2 .u-container-layout-6 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 575px) {
  .u-section-2 .u-repeater-1 {
    grid-auto-columns: 100%;
  }

  .u-section-2 .u-image-1 {
    height: 102px;
    width: 118px;
  }

  .u-section-2 .u-text-1 {
    font-size: 1.25rem;
  }

  .u-section-2 .u-text-2 {
    font-size: 0.875rem;
  }

  .u-section-2 .u-image-2 {
    height: 102px;
    width: 118px;
  }

  .u-section-2 .u-text-3 {
    font-size: 1.25rem;
  }

  .u-section-2 .u-text-4 {
    font-size: 0.875rem;
  }

  .u-section-2 .u-image-3 {
    height: 102px;
    width: 118px;
  }

  .u-section-2 .u-text-5 {
    font-size: 1.25rem;
  }

  .u-section-2 .u-text-6 {
    font-size: 0.875rem;
  }

  .u-section-2 .u-image-4 {
    height: 102px;
    width: 118px;
  }

  .u-section-2 .u-text-7 {
    font-size: 1.25rem;
  }

  .u-section-2 .u-text-8 {
    font-size: 0.875rem;
  }

  .u-section-2 .u-image-5 {
    height: 102px;
    width: 118px;
  }

  .u-section-2 .u-text-9 {
    font-size: 1.25rem;
  }

  .u-section-2 .u-text-10 {
    font-size: 0.875rem;
  }

  .u-section-2 .u-image-6 {
    height: 102px;
    width: 118px;
  }

  .u-section-2 .u-text-11 {
    font-size: 1.25rem;
  }

  .u-section-2 .u-text-12 {
    font-size: 0.875rem;
  }

  .u-section-2 .u-text-13 {
    font-size: 1.125rem;
  }
}

.training-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

.training-content {
  flex: 1 1 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top-block {
  width: 100%;
  max-width: 400px;
  margin-bottom: 30px;
}

.bottom-row {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
}

.training-block {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
  flex: 1 1 250px;
  max-width: 300px;
  text-align: center;
}


.training-block1 {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
  flex: 1 1 250px;
  width: 670px;
  text-align: center;
}


.training-image {
  flex: 1 1 300px;
  text-align: center;
}

.training-image img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

@media (max-width: 768px) {
  .training-layout {
    flex-direction: column;
  }

  .bottom-row {
    flex-direction: column;
  }

  .training-image {
    margin-top: 30px;
  }
}

.training-text {
  flex: 1 1 300px;
  max-width: 350px;
  padding: 20px;
  font-family: 'Montserrat', sans-serif;
}

.training-text h2 {
  font-size: 1.75rem;
  font-weight: 800;
  margin-bottom: 20px;
  color: #0072c0; /* ProbityX blue */
}

.training-text p {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 15px;
  color: #333;
}

.training-text strong {
  color: #0072c0;
}

.training-text {
  flex: 1 1 300px;
  max-width: 350px;
  padding: 20px;
  font-family: 'Montserrat', sans-serif;
}

.training-text h2 {
  font-size: 1.75rem;
  font-weight: 800;
  margin-bottom: 20px;
  color: #0072c0; /* ProbityX blue */
}

.training-text p {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 15px;
  color: #333;
}

.training-text strong {
  color: #0072c0;
}

/* =========================
   LAYOUT TUNING (NO IMAGE)
   ========================= */

/* 1) More gap between left text and the block area */
.training-layout {
  /* your file currently sets gap: 40px; override for bigger left gap */
  gap: 6px !important; /* creates a clearer space between .training-text and blocks */
} /* Based on your current .training-layout definition. :contentReference[oaicite:0]{index=0} */

/* Let the content column stretch full width so grids can size properly */
.training-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch; /* override earlier centering so rows fill width */
} /* You currently center items here; this fixes side-by-side behavior. :contentReference[oaicite:1]{index=1} */

/* 2) Reverse-pyramid rows: 2 up on top, 1 centered below */
.top-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* always two columns on desktop */
  gap: 30px;
  justify-items: center;
  width: 100%;
}

.bottom-row {
  display: grid;
  grid-template-columns: 1fr;   /* one column */
  justify-items: center;        /* center the single card */
  margin-top: 30px;
  width: 100%;
}

/* 3) Cards: wider & shorter, all identical sizes */
.training-block {
  /* OVERRIDE earlier .training-block (which had flex:1 1 250px, max-width:300px) */
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.75);
  padding: 16px;                /* a bit tighter to make cards shorter */
  width: 100%;
  max-width: 460px;             /* wider cards */
  min-height: 300px;            /* identical height across cards */
  display: flex;
  flex-direction: column;
  text-align: center;
} /* Your original card rules are here; this cleanly overrides them. :contentReference[oaicite:2]{index=2} */

/* Make icons consistent & shorter vertically */
.training-block img {
  height: 80px;                 /* keeps cards shorter & uniform */
  width: auto;
  object-fit: contain;
  margin: 0 auto 12px;
}

/* Tighten headings & body copy to reduce height */
.training-block h3 {
  margin: 6px 0 8px;
  font-size: 1.15rem;           /* small reduction to help height */
  line-height: 1.25;
}

.training-block p {
  margin: 0 0 10px;
  line-height: 1.45;
}

/* Keep the brochure link at the bottom for equal card heights */
.training-block > div[style*="justify-content: center"] {
  margin-top: auto;
}

/* 4) Responsive: stack the two top cards on tablet/mobile */
@media (max-width: 991.98px) {
  .top-row { grid-template-columns: 1fr; } /* 2 → 1 column */
  .training-block { max-width: 520px; }    /* allow a bit more width when stacked */
}

/* === Normalize training card sizes across rows === */
:root {
  --training-card-max: 460px;   /* set one width for every card */
  --training-card-minh: 300px;  /* shared height */
}

/* Ensure both rows center their items (keeps bottom card centered) */
.top-row,
.bottom-row { justify-items: center; }

/* One source of truth for card dimensions */
.training-block {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--training-card-max) !important;
  min-height: var(--training-card-minh) !important;
}

/* In case any earlier row-specific rules exist, normalize them */
.top-row .training-block,
.bottom-row .training-block {
  max-width: var(--training-card-max) !important;
  min-height: var(--training-card-minh) !important;
}

/* Keep icons/text tight so heights match nicely */
.training-block img { height: 80px; width: auto; margin: 0 auto 12px; }
.training-block h3 { margin: 6px 0 8px; line-height: 1.25; }
.training-block p  { margin: 0 0 10px; line-height: 1.45; }

/* (Optional) If your top row ever mis-sizes, force two equal columns */
@media (min-width: 992px) {
  .top-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, var(--training-card-max)));
    gap: 30px;
  }
}
/* === Normalize all training cards to identical width/height === */
:root {
  --card-w: 460px;   /* change once to resize all cards */
  --card-h: 300px;
}

/* Top row: two equal-width columns that match --card-w exactly */
@media (min-width: 992px) {
  .top-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, var(--card-w)));
    gap: 30px;
    justify-content: center;   /* keep the pair centered within the row */
  }
}

/* Bottom row: force the single card to the same fixed width */
.bottom-row {
  display: flex;               /* simple and predictable */
  justify-content: center;
  margin-top: 30px;
}

.training-block {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--card-w) !important;  /* beat earlier 300px rule */
  min-height: var(--card-h);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.75);
  padding: 16px;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* Bottom card gets a fixed flex-basis so it can’t grow wider */
.bottom-row .training-block {
  flex: 0 0 var(--card-w);
}

/* Keep visuals tight so heights match nicely */
.training-block img { height: 80px; width: auto; margin: 0 auto 12px; object-fit: contain; }
.training-block h3 { margin: 6px 0 8px; font-size: 1.15rem; line-height: 1.25; }
.training-block p  { margin: 0 0 10px; line-height: 1.45; }

/* Tablet/mobile: stack; allow a little extra width when stacked */
@media (max-width: 991.98px) {
  .top-row { grid-template-columns: 1fr; }
  .training-block { max-width: 520px !important; }
}
/* === Normalize all training cards to identical width/height === */
:root {
  --card-w: 460px;   /* change once to resize all cards */
  --card-h: 300px;
}

/* Top row: two equal-width columns that match --card-w exactly */
@media (min-width: 992px) {
  .top-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, var(--card-w)));
    gap: 30px;
    justify-content: center;   /* keep the pair centered within the row */
  }
}

/* Bottom row: force the single card to the same fixed width */
.bottom-row {
  display: flex;               /* simple and predictable */
  justify-content: center;
  margin-top: 30px;
}

.training-block {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--card-w) !important;  /* beat earlier 300px rule */
  min-height: var(--card-h);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.75);
  padding: 16px;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* Bottom card gets a fixed flex-basis so it can’t grow wider */
.bottom-row .training-block {
  flex: 0 0 var(--card-w);
}

/* Keep visuals tight so heights match nicely */
.training-block img { height: 80px; width: auto; margin: 0 auto 12px; object-fit: contain; }
.training-block h3 { margin: 6px 0 8px; font-size: 1.15rem; line-height: 1.25; }
.training-block p  { margin: 0 0 10px; line-height: 1.45; }

/* Tablet/mobile: stack; allow a little extra width when stacked */
@media (max-width: 991.98px) {
  .top-row { grid-template-columns: 1fr; }
  .training-block { max-width: 520px !important; }
}

/* ==== One source of truth for card size ==== */
:root{
  --card-w: 460px;   /* change once to resize all three */
  --card-h: 300px;
}

/* Use the SAME layout model for both rows on desktop = FLEX (no surprises) */
@media (min-width: 992px){
  .top-row,
  .bottom-row{
    display: flex !important;
    flex-wrap: nowrap;
    gap: 30px;
    justify-content: center;  /* center the pair / single neatly */
  }

  /* Lock card width/height for ALL cards, both rows */
  .top-row .training-block,
  .bottom-row .training-block{
    box-sizing: border-box;
    width: var(--card-w) !important;
    flex: 0 0 var(--card-w) !important;   /* prevents stretch */
    min-height: var(--card-h);
    max-width: none !important;           /* neutralize old 300px cap */
  }
}

/* Card internals (same for all three) */
.training-block{
  background:#fff;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.75);
  padding:16px;
  display:flex;
  flex-direction:column;
  text-align:center;
}
.training-block img{ height:80px; width:auto; margin:0 auto 12px; object-fit:contain; }
.training-block h3{ margin:6px 0 8px; font-size:1.15rem; line-height:1.25; }
.training-block p{ margin:0 0 10px; line-height:1.45; }

/* Mobile/tablet: stack and allow a bit more width */
@media (max-width: 991.98px){
  .top-row{ display:grid; grid-template-columns:1fr; }
  .bottom-row{ display:flex; flex-direction:column; }
  .training-block{ width:100% !important; max-width:520px !important; }
}

/* Extra: add a clearer gap between left text column and the blocks */
.training-layout{ gap:6px !important; }  /* your parent flex container */

/* === TRAINING BLOCKS: DESKTOP IDENTICAL SIZES, MOBILE STACK === */
:root{
  --card-w: 460px;   /* change once to resize all three on desktop */
  --card-h: 300px;
  --gap: 30px;
}

/* Give more breathing room between the left text and the blocks */
.training-layout{ gap: 56px !important; } /* your base is 40px; we increase it */

/* Let the rows fill the width (not shrink to content) */
.training-content{
  align-items: stretch !important;
  width: 100%;
}

/* Use the same layout model for BOTH rows to avoid mismatches */
@media (min-width: 992px){
  .top-row,
  .bottom-row{
    display: grid !important;
    gap: var(--gap);
    justify-content: center;    /* keeps the set centred in the container */
  }

  /* Top row: two equal columns */
  .top-row{
    grid-template-columns: repeat(2, var(--card-w));
  }

  /* Bottom row: one centred column */
  .bottom-row{
    grid-template-columns: var(--card-w);
    margin-top: var(--gap);
  }

  /* 🔒 One source of truth for card size on desktop */
  .training-layout .training-content .training-block{
    box-sizing: border-box;
    width: var(--card-w) !important;
    max-width: none !important;            /* beats earlier max-width:300px */
    flex: 0 0 auto !important;             /* neutralises flex:1 1 250px */
    min-height: var(--card-h);
  }
}

/* Tablet & mobile: single column cards, full width but capped */
@media (max-width: 991.98px){
  .top-row, .bottom-row{
    display: grid !important;
    grid-template-columns: 1fr;
    gap: var(--gap);
  }
  .training-block{
    width: 100% !important;
    max-width: 520px !important;           /* comfortable reading width */
    min-height: var(--card-h);
    margin-inline: auto;
  }
}

/* Make cards shorter & uniform internally (optional but helps consistency) */
.training-block{
  background:#fff;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.75);
  padding:16px;
  display:flex;
  flex-direction:column;
  text-align:center;
}
.training-block img{ height:80px; width:auto; object-fit:contain; margin:0 auto 12px; }
.training-block h3{ margin:6px 0 8px; font-size:1.15rem; line-height:1.25; }
.training-block p{ margin:0 0 10px; line-height:1.45; }

/* Keep the brochure link anchored at the bottom for equal heights */
.training-block > div[style*="justify-content: center"]{ margin-top:auto; }


/* === Narrower desktop cards + centered images === */

/* Set card size once (≈30% narrower than 460px) */
:root{
  --card-w: 320px;   /* try 320; bump to 340–360 if you want a touch wider */
  --card-h: 300px;
  --gap: 30px;
}

/* Keep the gap between the left text column and the blocks */
.training-layout{ gap: 56px !important; }

/* Ensure rows fill width (not shrink to content) */
.training-content{ align-items: stretch !important; width: 100%; }

/* Desktop: two cards on top @ fixed width, one centered below @ same width */
@media (min-width: 992px){
  .top-row,
  .bottom-row{
    display: grid !important;
    gap: var(--gap);
    justify-content: center;
  }
  .top-row{ grid-template-columns: repeat(2, var(--card-w)); }
  .bottom-row{ grid-template-columns: var(--card-w); margin-top: var(--gap); }

  /* Lock ALL cards to the same desktop width/height */
  .training-layout .training-content .training-block{
    box-sizing: border-box;
    width: var(--card-w) !important;
    max-width: none !important;     /* override older 300px cap */
    flex: 0 0 auto !important;      /* override older flex sizing */
    min-height: var(--card-h);
  }
}

/* Center the icon/image inside each card */
.training-block img{
  display: block;                   /* required for margin:auto centering */
  height: 80px;
  width: auto;
  object-fit: contain;
  margin: 0 auto 12px;              /* centered */
}

/* (Existing mobile/tablet behavior preserved) */
@media (max-width: 991.98px){
  .top-row, .bottom-row{
    display: grid !important;
    grid-template-columns: 1fr;
    gap: var(--gap);
  }
  .training-block{
    width: 100% !important;
    max-width: 520px !important;
    min-height: var(--card-h);
    margin-inline: auto;
  }
}
