.project-brief {
  margin: 0 0 28px;
}

.problem-block {
  display: grid;
  grid-template-columns: minmax(230px, .33fr) minmax(0, .67fr);
  background: #004339;
  color: #ebf3ee;
}

.problem-label {
  padding: clamp(24px, 3vw, 42px);
  border-right: 1px solid rgba(255,255,255,.18);
}

.problem-label .brief-kicker,
.objectives-label {
  color: #bddb35;
  font: 700 10px/1.35 "DM Sans", "Noto Sans Thai", sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.problem-label h2 {
  margin: 9px 0 0;
  font: 700 clamp(27px, 3.1vw, 44px)/1.13 "DM Sans", "Noto Sans Thai", sans-serif;
  letter-spacing: -.05em;
}

.problem-copy {
  padding: clamp(24px, 3vw, 42px);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.76;
  letter-spacing: -.015em;
}

.problem-copy p { margin: 0; }
.project-brief mark.term.core { background: rgba(136, 208, 191, .22); color: #d2eee7; }
.project-brief mark.term.value { background: linear-gradient(transparent 58%, #bddb35 58% 96%, transparent 96%); color: #f4f9e8; }
.project-brief mark.term.risk { background: rgba(236, 156, 140, .27); color: #ffe6df; }

.objectives-wrap {
  display: grid;
  grid-template-columns: 192px minmax(0,1fr);
  gap: 24px;
  padding: 24px 0 0;
}

.objective-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  border: 1px solid #cfdbd4;
  background: #cfdbd4;
}

.objective {
  min-height: 184px;
  padding: 20px;
  background: #fbfcf8;
}

.objective .number {
  display: block;
  color: #087a67;
  font: 500 11px/1.2 "DM Mono", monospace;
  margin-bottom: 9px;
}

.objective h3 {
  margin: 0 0 7px;
  color: #18362f;
  font-size: 17px;
  line-height: 1.38;
  letter-spacing: -.02em;
}

.objective p {
  margin: 0;
  color: #60736c;
  font-size: 12px;
  line-height: 1.62;
}

@media (max-width: 1050px) {
  .objective-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .project-brief { margin-bottom: 20px; }
  .problem-block, .objectives-wrap { grid-template-columns: 1fr; gap: 0; }
  .problem-label { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); padding: 23px 20px; }
  .problem-copy { padding: 22px 20px; font-size: 17px; }
  .objectives-wrap { padding-top: 19px; }
  .objective-grid { grid-template-columns: 1fr; }
  .objective { min-height: 0; padding: 18px; }
}
