.programmingHero:after {
  content: "38";
}
.programmingHero {
  background: radial-gradient(circle at 78% 40%, #32220e, #0b0c0e 48%);
}
.programNotice {
  border-color: #ff9d00;
}
.programCards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 80px 5vw 110px;
  gap: 1px;
  background: #343537;
}
.programCards > a {
  min-height: 300px;
  background: #0c0d0f;
  color: #eeeff1;
  text-decoration: none;
  padding: 36px;
  display: flex;
  flex-direction: column;
  transition: 0.25s;
}
.programCards > a:hover {
  background: #161719;
  transform: translateY(-5px);
}
.programCards small {
  font: 9px monospace;
  color: #ff9d00;
}
.programCards h2 {
  font-size: clamp(28px, 3vw, 48px);
  letter-spacing: -0.05em;
  line-height: 0.95;
  margin: 38px 0 18px;
}
.programCards p {
  font-size: 13px;
  line-height: 1.6;
  color: #9b9c9e;
  max-width: 580px;
}
.programCards span {
  font: 9px/1.6 monospace;
  color: #757678;
  margin-top: auto;
  padding-top: 25px;
}
.programCards b {
  font: 9px monospace;
  color: #ff9d00;
  margin-top: 22px;
}
.programRule {
  padding: 110px 7vw;
  background: #ff9d00;
  color: #111;
  display: grid;
  grid-template-columns: 0.45fr 1fr 0.55fr;
  gap: 50px;
  align-items: center;
}
.programRule blockquote {
  font-size: clamp(50px, 7vw, 100px);
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: -0.07em;
  margin: 0;
}
.programRule blockquote em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px #111;
}
.programRule > p:last-child {
  font-size: 13px;
  line-height: 1.7;
}
.programDetailHero {
  background: radial-gradient(circle at 75% 42%, #352716, #0c0d0f 52%);
}
.programOps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #ff9d00;
  color: #111;
}
.programOps p {
  padding: 28px 30px;
  margin: 0;
  border-right: 1px solid #16110c;
  min-height: 90px;
}
.programOps small {
  display: block;
  font: 8px monospace;
  margin-bottom: 14px;
}
.programOps b {
  font-size: 12px;
  line-height: 1.4;
}
.programDepth {
  padding: 72px 5vw;
  background: #0f1012;
  color: #eeeff1;
}
.programDepthHead {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(300px, 1.1fr) minmax(280px, 1fr);
  gap: 34px;
  align-items: end;
  margin-bottom: 34px;
}
.programDepthHead h2 {
  margin: 0;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}
.programDepthHead > p:last-child {
  color: #abacae;
  font-size: 13px;
  line-height: 1.65;
  margin: 0;
}
.programDepthGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #38393b;
  border-bottom: 1px solid #38393b;
}
.programDepthGrid article {
  padding: 28px 26px 26px 0;
  margin-right: 26px;
  border-right: 1px solid #38393b;
}
.programDepthGrid article:last-child {
  border-right: 0;
  margin-right: 0;
}
.programDepthGrid small {
  color: #ff9d00;
  font: 9px monospace;
}
.programDepthGrid h3 {
  font-size: 18px;
  margin: 18px 0 14px;
}
.programDepthGrid ul {
  margin: 0;
  padding-left: 17px;
  color: #b3b4b6;
}
.programDepthGrid li {
  font-size: 12px;
  line-height: 1.6;
  margin: 0 0 9px;
}
.moduleNetwork {
  padding: 68px 5vw 74px;
  background: #1b1c1e;
  color: #eeeff1;
  border-top: 1px solid #363739;
}
.moduleNetworkHead {
  display: grid;
  grid-template-columns: minmax(200px, 0.65fr) minmax(260px, 0.9fr) minmax(320px, 1.25fr);
  gap: 34px;
  align-items: end;
  margin-bottom: 34px;
}
.moduleNetworkHead h2 {
  margin: 0;
  font-size: clamp(27px, 3vw, 44px);
  line-height: 1;
  letter-spacing: -0.045em;
}
.moduleNetworkHead > p:last-child {
  margin: 0;
  color: #afb0b2;
  font-size: 12px;
  line-height: 1.65;
}
.moduleNetworkGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #3e3f41;
}
.moduleNetworkGrid article {
  padding: 30px;
  background: #101113;
}
.moduleNetworkGrid small {
  color: #ff9d00;
  font: 8px monospace;
  letter-spacing: 0.08em;
}
.moduleNetworkGrid h3 {
  margin: 18px 0 14px;
  font-size: 17px;
}
.moduleNetworkGrid p {
  margin: 0;
  color: #b0b1b3;
  font-size: 12px;
  line-height: 1.7;
}
.prepBlock {
  background: #1b1c1e;
  padding: 32px;
}
.prepBlock span {
  display: block;
  color: #bebfc1;
  font-size: 12px;
  line-height: 1.5;
  padding: 12px 0;
  border-bottom: 1px solid #363739;
}
.programGuideGrid .guideBlock ul {
  padding: 0;
  list-style: none;
}
.programGuideGrid .guideBlock ul li {
  border-bottom: 1px solid #343537;
  padding: 18px 5px;
  font-size: 13px;
}
.programCaution {
  border-color: #ff9d00;
}
.programFinalRule {
  background: #eaebed;
  color: #111;
}
@media (max-width: 850px) {
  .programCards {
    grid-template-columns: 1fr;
  }
  .programRule {
    grid-template-columns: 1fr;
  }
  .programOps {
    grid-template-columns: 1fr 1fr;
  }
  .programOps p {
    border-bottom: 1px solid;
  }
  .programDepthHead {
    grid-template-columns: 1fr;
  }
  .programDepthGrid {
    grid-template-columns: 1fr 1fr;
  }
  .programDepthGrid article:nth-child(2) {
    border-right: 0;
    margin-right: 0;
  }
  .moduleNetworkHead {
    grid-template-columns: 1fr;
  }
  .moduleNetworkGrid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 520px) {
  .programCards {
    padding-left: 22px;
    padding-right: 22px;
  }
  .programCards > a {
    padding: 28px 22px;
  }
  .programOps {
    grid-template-columns: 1fr;
  }
  .programRule {
    padding-left: 22px;
    padding-right: 22px;
  }
}
@media (max-width: 520px) {
  .programCards {
    padding: 45px 16px 70px;
  }
  .programCards > a {
    padding: 28px 22px;
    min-height: 275px;
  }
  .programCards h2 {
    font-size: 30px;
    overflow-wrap: anywhere;
  }
  .programCards span {
    overflow-wrap: anywhere;
  }
  .programOps p {
    padding: 22px;
    min-height: 0;
    border-right: 0;
  }
  .programRule {
    padding: 75px 22px;
  }
  .programRule blockquote {
    font-size: 54px;
  }
  .prepBlock {
    padding: 24px 20px;
  }
  .programGuideGrid .guideBlock ul li {
    line-height: 1.55;
  }
  .programFinalRule p {
    font-size: 13px;
  }
  .programDepth {
    padding: 52px 22px;
  }
  .programDepthGrid {
    grid-template-columns: 1fr;
  }
  .programDepthGrid article,
  .programDepthGrid article:nth-child(2) {
    padding: 24px 0;
    margin: 0;
    border-right: 0;
    border-bottom: 1px solid #38393b;
  }
  .programDepthGrid article:last-child {
    border-bottom: 0;
  }
  .moduleNetwork {
    padding: 50px 22px 56px;
  }
  .moduleNetworkGrid article {
    padding: 25px 22px;
  }
}
@media (max-width: 520px) {
  .programmingHero h1 {
    font-size: 50px;
    line-height: 0.82;
    letter-spacing: -0.075em;
  }
  .programCards h2 {
    font-size: 27px;
    line-height: 1.02;
  }
  .programCards > a {
    min-height: 245px;
  }
  .programRule blockquote {
    font-size: 47px;
  }
  .programDetailHero h1 {
    font-size: clamp(35px, 11vw, 46px);
  }
}
