/* Objective section: presentation-scale hierarchy and higher reading contrast. */
.objectives-wrap {
  grid-template-columns: minmax(245px, .30fr) minmax(0, .70fr);
  gap: clamp(26px, 3vw, 46px);
  padding: clamp(34px, 4vw, 56px) 0 0;
  align-items: stretch;
}

.objectives-label {
  position: relative;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-width: 230px;
  color: #004339;
  font: 700 clamp(25px, 2.5vw, 38px)/1.08 "DM Sans", "Noto Sans Thai", sans-serif;
  letter-spacing: -.055em;
  text-transform: none;
}

.objectives-label::after {
  content: "";
  display: block;
  width: 66px;
  height: 7px;
  background: #bddb35;
}

.objective-grid {
  grid-template-columns: minmax(1.16fr, 1.16fr) repeat(3, minmax(0, 1fr));
  gap: 10px;
  border: 0;
  background: transparent;
}

.objective {
  position: relative;
  min-height: 262px;
  padding: clamp(22px, 2.05vw, 34px) clamp(20px, 1.9vw, 30px) 28px;
  border: 1px solid #c9d8d0;
  border-top: 6px solid #006552;
  background: #fbfcf8;
  box-shadow: 0 10px 24px rgba(0, 67, 57, .075);
}

.objective:nth-child(2) { border-top-color: #167969; }
.objective:nth-child(3) { border-top-color: #4f8e4d; }
.objective:nth-child(4) { border-top-color: #93af31; }

.objective .number {
  margin-bottom: clamp(16px, 1.4vw, 23px);
  color: #006552;
  font: 700 13px/1 "DM Sans", "Noto Sans Thai", sans-serif;
  letter-spacing: .1em;
}

.objective h3 {
  margin: 0 0 14px;
  color: #103e34;
  font: 700 clamp(20px, 1.65vw, 27px)/1.2 "DM Sans", "Noto Sans Thai", sans-serif;
  letter-spacing: -.045em;
}

.objective p {
  margin: 0;
  color: #3c5d53;
  font: 500 clamp(14px, 1.12vw, 16px)/1.72 "Noto Sans Thai", "DM Sans", sans-serif;
  letter-spacing: -.012em;
}

@media (max-width: 1180px) {
  .objectives-wrap { grid-template-columns: 206px minmax(0, 1fr); }
  .objective-grid { grid-template-columns: 1fr 1fr; }
  .objective { min-height: 238px; }
}

@media (max-width: 760px) {
  .objectives-wrap { gap: 22px; padding-top: 30px; }
  .objectives-label { max-width: none; font-size: clamp(27px, 8.2vw, 35px); }
  .objective-grid { grid-template-columns: 1fr; gap: 10px; }
  .objective { min-height: 0; padding: 23px 20px 25px; }
  .objective h3 { font-size: 23px; }
  .objective p { font-size: 15px; }
}
