.markets-page {
  color: #244657;
  background: #f7f9f8;
}

.markets-page main { overflow: hidden; }
.markets-page main > section { scroll-margin-top: 72px; }

.markets-kicker {
  margin: 0 0 15px;
  color: #0a8e69;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.markets-intro {
  position: relative;
  padding: 76px 0 82px;
  color: #d9e7ed;
  background:
    linear-gradient(105deg, rgba(11, 42, 61, .98) 0 62%, rgba(11, 42, 61, .90) 100%),
    linear-gradient(135deg, transparent 0 68%, rgba(97, 209, 173, .15) 68% 69%, transparent 69% 100%);
}

.markets-intro::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 31%;
  height: 5px;
  background: #5dd3ad;
  content: "";
}

.markets-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  gap: clamp(58px, 8vw, 122px);
  align-items: end;
}

.markets-intro .markets-kicker { color: #61d1ad; }

.markets-intro h1 {
  max-width: 790px;
  margin: 0;
  color: #fff;
  font-size: clamp(52px, 5.3vw, 74px);
  line-height: .99;
  letter-spacing: -.052em;
}

.markets-intro-copy { padding-bottom: 3px; }

.markets-intro-copy > p {
  max-width: 500px;
  margin: 0;
  color: #bed0d8;
  font-size: 18px;
  line-height: 1.68;
}

.markets-actions {
  display: flex;
  gap: 25px;
  align-items: center;
  margin-top: 30px;
}

.markets-actions .btn {
  min-height: 48px;
  padding: 11px 20px;
}

.markets-inline-link {
  color: #eef6f7;
  font-size: 15px;
  font-weight: 800;
}

.markets-inline-link span {
  display: inline-block;
  margin-left: 7px;
  color: #61d1ad;
  transition: transform 180ms ease;
}

.markets-inline-link:hover span { transform: translateX(4px); }

.markets-directory {
  padding: 70px 0 82px;
  background: #fff;
}

.markets-directory-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .7fr);
  gap: clamp(54px, 8vw, 112px);
  align-items: end;
  margin-bottom: 38px;
}

.markets-directory h2,
.markets-prepare h2,
.markets-contact h2 {
  margin: 0;
  color: #0c2d47;
  font-size: clamp(40px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.markets-directory-head > p {
  max-width: 520px;
  margin: 0 0 4px;
  color: #58717d;
  font-size: 17px;
  line-height: 1.68;
}

.market-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #bfcfd3;
  border-bottom: 1px solid #bfcfd3;
}

.market-brief {
  display: grid;
  min-width: 0;
  min-height: 326px;
  padding: 28px 29px 26px;
  grid-template-rows: auto 1fr auto;
  color: inherit;
  background: #f5f8f7;
  border-left: 1px solid #cbd8da;
  transition: color 220ms ease, background-color 220ms ease, transform 220ms ease;
}

.market-brief:first-child { border-left: 0; }

.market-brief:hover {
  color: #fff;
  background: #0e3a51;
  transform: translateY(-5px);
}

.market-brief-primary { background: #e8f4ef; }

.market-brief-number {
  color: #0b8d69;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .12em;
}

.market-brief > div { align-self: center; }

.market-brief p {
  margin: 0 0 11px;
  color: #0b8d69;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.market-brief h3 {
  margin: 0;
  color: #123b55;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.06;
  letter-spacing: -.04em;
}

.market-brief-copy {
  display: block;
  margin-top: 20px;
  color: #5c7580;
  font-size: 16px;
  line-height: 1.58;
}

.market-brief strong {
  color: #20485e;
  font-size: 15px;
}

.market-brief b {
  display: inline-block;
  margin-left: 8px;
  color: #0b8d69;
  font-size: 18px;
  transition: transform 180ms ease;
}

.market-brief:hover .market-brief-number,
.market-brief:hover p,
.market-brief:hover b { color: #61d1ad; }

.market-brief:hover h3,
.market-brief:hover .market-brief-copy,
.market-brief:hover strong { color: #fff; }
.market-brief:hover b { transform: translateX(4px); }

.markets-prepare {
  padding: 82px 0 88px;
  color: #d9e7ed;
  background: #0f3044;
}

.markets-prepare-grid {
  display: grid;
  grid-template-columns: minmax(300px, .86fr) minmax(0, 1.14fr);
  gap: clamp(66px, 9vw, 138px);
  align-items: start;
}

.markets-prepare .markets-kicker { color: #61d1ad; }
.markets-prepare h2 { color: #fff; }

.markets-prepare-heading > p:last-child {
  max-width: 510px;
  margin: 23px 0 0;
  color: #b5cbd4;
  font-size: 17px;
  line-height: 1.68;
}

.markets-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #3b5c6e;
}

.markets-checklist div {
  min-width: 0;
  padding: 25px 25px 27px 0;
  border-bottom: 1px solid #3b5c6e;
}

.markets-checklist div:nth-child(even) {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid #3b5c6e;
}

.markets-checklist span,
.markets-checklist strong { display: block; }

.markets-checklist span {
  margin-bottom: 10px;
  color: #61d1ad;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.markets-checklist strong {
  color: #f0f6f7;
  font-size: 19px;
  line-height: 1.4;
}

.markets-contact {
  padding: 66px 0 70px;
  background: #e3f1ec;
  border-top: 1px solid #c7ddd5;
}

.markets-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(290px, .66fr) auto;
  gap: clamp(32px, 5vw, 68px);
  align-items: center;
}

.markets-contact h2 {
  max-width: 670px;
  font-size: clamp(35px, 3.5vw, 49px);
}

.markets-contact-grid > p {
  margin: 0;
  color: #527267;
  font-size: 16px;
  line-height: 1.65;
}

.markets-contact-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.markets-contact-actions .btn { min-height: 48px; }
.markets-contact-actions .btn + .btn { margin-left: 0; }
.markets-contact-actions .btn-light { border: 1px solid #abc9be; box-shadow: none; }

@media (max-width: 1040px) {
  .markets-intro-grid { grid-template-columns: minmax(0, 1fr) minmax(310px, .7fr); gap: 52px; }
  .markets-directory-head { gap: 54px; }
  .market-brief { min-height: 345px; padding: 26px 24px 24px; }
  .markets-prepare-grid { gap: 58px; }
  .markets-contact-grid { grid-template-columns: minmax(0, 1fr) minmax(260px, .65fr); }
  .markets-contact-actions { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .markets-intro-grid,
  .markets-directory-head,
  .markets-prepare-grid,
  .markets-contact-grid { grid-template-columns: 1fr; }

  .markets-intro { padding: 62px 0 68px; }
  .markets-intro-grid { gap: 30px; }
  .markets-intro-copy { max-width: 650px; }
  .markets-directory { padding: 60px 0 68px; }
  .markets-directory-head { gap: 24px; margin-bottom: 30px; }
  .market-priority-grid { grid-template-columns: 1fr; }
  .market-brief { min-height: 230px; border-top: 1px solid #cbd8da; border-left: 0; }
  .market-brief:first-child { border-top: 0; }
  .markets-prepare { padding: 72px 0 78px; }
  .markets-prepare-grid { gap: 42px; }
  .markets-contact-grid { gap: 24px; }
  .markets-contact-actions { grid-column: auto; }
}

@media (max-width: 640px) {
  .markets-kicker { margin-bottom: 12px; font-size: 11px; }
  .markets-intro { padding: 45px 0 52px; }
  .markets-intro h1 { font-size: clamp(40px, 11.6vw, 48px); line-height: 1.01; }
  .markets-intro-copy > p { font-size: 17px; }
  .markets-actions { gap: 18px; margin-top: 25px; }
  .markets-actions .btn { min-height: 44px; padding: 10px 14px; }
  .markets-inline-link { font-size: 14px; }

  .markets-directory { padding: 48px 0 54px; }
  .markets-directory h2,
  .markets-prepare h2,
  .markets-contact h2 { font-size: 37px; }
  .markets-directory-head { gap: 19px; margin-bottom: 24px; }
  .markets-directory-head > p { font-size: 16px; }
  .market-brief { min-height: 245px; padding: 22px 20px 21px; }
  .market-brief h3 { font-size: 32px; }
  .market-brief-copy { margin-top: 15px; font-size: 16px; }

  .markets-prepare { padding: 58px 0 64px; }
  .markets-prepare-grid { gap: 34px; }
  .markets-prepare-heading > p:last-child { margin-top: 18px; font-size: 16px; }
  .markets-checklist { grid-template-columns: 1fr; }
  .markets-checklist div,
  .markets-checklist div:nth-child(even) { padding: 19px 0 21px; border-left: 0; }
  .markets-checklist strong { font-size: 18px; }

  .markets-contact { padding: 54px 0 58px; }
  .markets-contact-grid { gap: 19px; }
  .markets-contact-grid > p { font-size: 16px; }
  .markets-contact-actions { flex-direction: column; align-items: stretch; margin-top: 4px; }
  .markets-contact-actions .btn { justify-content: center; width: 100%; }
}
