/* Figma 0:698 — Our Program geometry (1920 reference).
   Image frames match Figma exactly:
   01 BALANCE 619×587 · 02 LIFTING 619×660 · 03 CONTOUR 619×671 */
@media (min-width: 1600px) {
  .home-index .program-main {
    position: relative;
    width: 100%;
    height: 2348px;
    min-height: 2348px;
    padding: 0 !important;
    overflow: hidden;
    background: #fff5f2;
  }

  .home-index .program-title {
    position: absolute;
    top: 172px;
    left: calc(50% - 618px);
    width: 635px;
    margin: 0;
  }

  .home-index .program-title .en {
    margin: 0 0 21px;
    color: #dd8f93;
    font-family: Pretendard, "Pretendard Variable", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
  }

  .home-index .program-title h2 {
    width: 610px;
    margin: 0 0 0 -6px;
    color: #3d332f;
    font-family: Pretendard, "Pretendard Variable", sans-serif;
    font-size: 54px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.04em;
  }

  .home-index .program-title h2 strong {
    font-weight: 700;
  }

  .home-index .program-title > p:last-child {
    width: 635px;
    margin: 34px 0 0;
    color: #080808;
    font-family: Pretendard, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 36px;
  }

  .home-index .program-main article,
  .home-index .program-main article > div {
    display: contents;
  }

  .home-index .program-main article img,
  .home-index .program-main article b,
  .home-index .program-main article h3,
  .home-index .program-main article > div > p {
    position: absolute;
    margin: 0;
  }

  .home-index .program-main article img {
    display: block;
    max-width: none;
    width: 619px;
    object-fit: cover;
  }

  .home-index .program-main article b {
    display: flex;
    align-items: baseline;
    color: #dd8f93;
    font-family: Judson, Georgia, serif;
    font-size: 130px;
    font-weight: 400;
    line-height: 70px;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .home-index .program-main article b em {
    color: #f5c0c3;
    font-family: Judson, Georgia, serif;
    font-size: 130px;
    font-weight: 400;
    line-height: 70px;
    letter-spacing: 0;
  }

  .home-index .program-main article h3 {
    color: #212121;
    font-family: Pretendard, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 36px;
    letter-spacing: -.03em;
  }

  .home-index .program-main article > div > p {
    color: #212121;
    font-family: Pretendard, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0;
  }

  /* 01 BALANCE — Figma 0:935 = 619×587 */
  .home-index .program-main .p1 img {
    top: 496px;
    left: calc(50% - 638px);
    height: 587px;
    border-radius: 35px;
    object-position: 50% 10%;
  }

  .home-index .program-main .p1 b {
    top: 547px;
    left: calc(50% + 33px);
    gap: 32px;
  }

  .home-index .program-main .p1 h3 {
    top: 650px;
    left: calc(50% + 145px);
    width: 544px;
    text-align: right;
  }

  .home-index .program-main .p1 > div > p {
    top: 719px;
    left: calc(50% + 186px);
    width: 316px;
  }

  /* 02 LIFTING — Figma 0:937 = 619×660 */
  .home-index .program-main .p2 img {
    top: 978px;
    left: 50%;
    height: 660px;
    border-radius: 35px;
    object-position: center;
  }

  .home-index .program-main .p2 b {
    top: 1159px;
    left: calc(50% - 662px);
    gap: 37px;
  }

  .home-index .program-main .p2 h3 {
    top: 1258px;
    left: calc(50% - 554px);
    width: 494px;
  }

  .home-index .program-main .p2 > div > p {
    top: 1323px;
    left: calc(50% - 554px);
    width: 377px;
  }

  /* 03 CONTOUR — Figma 0:936 = 619×671 */
  .home-index .program-main .p3 img {
    top: 1463px;
    left: calc(50% - 638px);
    height: 671px;
    border-radius: 26px;
    object-position: 58% 45%;
  }

  .home-index .program-main .p3 b {
    top: 1663px;
    left: calc(50% + 33px);
    gap: 25px;
  }

  .home-index .program-main .p3 h3 {
    top: 1781px;
    left: calc(50% + 43px);
    width: 682px;
    text-align: right;
  }

  .home-index .program-main .p3 > div > p {
    top: 1844px;
    left: calc(50% + 160px);
    width: 513px;
  }
}

@media (max-width: 1599px) {
  .home-index .program-main .p1 img {
    height: auto !important;
    aspect-ratio: 619 / 587 !important;
    object-fit: cover !important;
    object-position: 50% 10% !important;
    border-radius: 35px !important;
  }

  .home-index .program-main .p2 img {
    height: auto !important;
    aspect-ratio: 619 / 660 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 35px !important;
  }

  .home-index .program-main .p3 img {
    height: auto !important;
    aspect-ratio: 619 / 671 !important;
    object-fit: cover !important;
    object-position: 58% 45% !important;
    border-radius: 26px !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  .home-index .expert {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .home-index .expert > img,
  .home-index .expert > div {
    width: min(100%, 620px);
    margin-right: auto;
    margin-left: auto;
  }
}

/* Section title scale — unify Korean h2 + English eyebrows across home sections.
   Media uses EN as display title; Contact uses Judson — leave those alone. */
.home-index .expert h2,
.home-index .standard-main > h2,
.home-index .program-title h2,
.home-index .solution-main > h2,
.home-index .ph-copy > h2,
.home-index .ba-title h2 {
  font-family: Pretendard, "Pretendard Variable", sans-serif !important;
  font-size: 54px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -.04em;
}

.home-index .program-title h2 strong {
  font-weight: 700 !important;
}

.home-index .expert .en,
.home-index .standard-main > .en,
.home-index .program-title .en,
.home-index .solution-main > .en,
.home-index .ph-copy > .en,
.home-index .ba-title .en {
  font-family: Pretendard, "Pretendard Variable", sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 1100px) {
  .home-index .expert h2,
  .home-index .standard-main > h2,
  .home-index .program-title h2,
  .home-index .solution-main > h2,
  .home-index .ph-copy > h2,
  .home-index .ba-title h2 {
    font-size: 42px !important;
  }
}

@media (max-width: 760px) {
  .home-index .expert h2,
  .home-index .standard-main > h2,
  .home-index .program-title h2,
  .home-index .solution-main > h2,
  .home-index .ph-copy > h2,
  .home-index .ba-title h2 {
    font-size: 32px !important;
  }

  .home-index .expert .en,
  .home-index .standard-main > .en,
  .home-index .program-title .en,
  .home-index .solution-main > .en,
  .home-index .ph-copy > .en,
  .home-index .ba-title .en {
    font-size: 15px !important;
  }
}
