@charset "UTF-8";

/* merge-build.js 산출물 — 납품 시 css/sections/*.css 전량이 이 아래로 합쳐진다. 손으로 쓰지 않는다(CLAUDE.md 원칙 14). */
/* merge-build:gcon01 */
.gcon01 {
  background-color: #fdfdfb;
  padding: calc(var(--px)*94) 0 calc(var(--px)*73);
}

.gcon01__panel {
  width: calc(var(--px)*1707);
  border-radius: calc(var(--px)*387);
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 0 calc(var(--px)*70) rgba(165, 189, 179, 0.48);
}

.gcon01__map {
  top: calc(var(--px)*67);
  left: calc(var(--px)*151);
}

.gcon01__pin--america {
  top: calc(var(--px)*214);
  left: calc(var(--px)*211);
}

.gcon01__pin--china {
  top: calc(var(--px)*297);
  right: calc(var(--px)*207);
}

.gcon01__pin--japan {
  top: calc(var(--px)*259);
  right: calc(var(--px)*84);
}

.gcon01__pin--southeast-asia {
  right: calc(var(--px)*192);
  bottom: calc(var(--px)*257);
}

.gcon01__content {
  gap: calc(var(--px)*304);
  padding: calc(var(--px)*96) 0 calc(var(--px)*135);
}

.gcon01__text {
  gap: calc(var(--px)*31);
  padding-left: calc(var(--px)*233);
}

/* IMG:AUTO gcon01 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon01__map-image {
    width: calc(var(--px)*1405);
    aspect-ratio: 1405 / 823;
}

.gcon01__pin.gcon01__pin--america,
.gcon01__pin.gcon01__pin--china,
.gcon01__pin.gcon01__pin--japan,
.gcon01__pin.gcon01__pin--southeast-asia {
    width: calc(var(--px)*153);
    aspect-ratio: 153 / 122;
}
/* /IMG:AUTO gcon01 END */

/* FONT:AUTO gcon01 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon01 {
    color: #101111;
}

.gcon01__title {
    font-family: var(--font-poppins);
    font-size: var(--displayS);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.26;
    text-align: center;
}

.gcon01__headline {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.3;
}

.gcon01__desc {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.47;
}
/* /FONT:AUTO gcon01 END */

/* INK:AUTO gcon01 */
.gcon01__title { margin-top: calc(var(--px) * -9.8); margin-bottom: calc(var(--px) * -15.79); } /* base 0,0 */
.gcon01__headline { margin-top: calc(var(--px) * -6); margin-bottom: calc(var(--px) * -7); } /* base 0,0 */
.gcon01__desc { margin-top: calc(var(--px) * -4.49); margin-bottom: calc(var(--px) * -4.48); } /* base 0,0 */
/* /INK:AUTO gcon01 END */


@media (max-width: 599px) {
  .gcon01 {
    padding: 10.6667vw 0;
  }

  .gcon01__panel {
    display: flex;
    flex-direction: column;
    gap: 10.6667vw;
    width: 92vw;
    padding: 14.9333vw 6.4vw;
    border-radius: 10.6667vw;
    box-shadow: 0 0 10.6667vw rgba(165, 189, 179, 0.48);
  }

  /* 지도 좌우 끝엔 핀이 없어 잘려도 되므로 패널 padding 을 넘겨 키운다 — 패널의 overflow:hidden 이 좌우 8vw 씩 대칭으로 자른다 */
  .gcon01__map {
    order: 2;
    position: relative;
    top: auto;
    left: auto;
    width: 108vw;
    margin-inline: -14.4vw;
  }

  .gcon01__map-image {
    width: 100%;
  }

  .gcon01__pin--america {
    top: 26.0024%;
    left: 15.0178%;
  }

  .gcon01__pin--china {
    top: 36.0875%;
    right: 14.7331%;
  }

  .gcon01__pin--japan {
    top: 31.4702%;
    right: 5.9786%;
  }

  .gcon01__pin--southeast-asia {
    right: 13.6655%;
    bottom: 31.2272%;
  }

  .gcon01__pin.gcon01__pin--america,
  .gcon01__pin.gcon01__pin--china,
  .gcon01__pin.gcon01__pin--japan,
  .gcon01__pin.gcon01__pin--southeast-asia {
    width: 10.8897%;
  }

  .gcon01__content {
    display: contents; /* title·map·text 를 panel 직속 flex 아이템으로 펴 지도를 텍스트 사이에 끼움 */
  }

  .gcon01__title {
    order: 1;
    font-size: 8.5333vw; /* --displayS 65px 은 375 에서 넘침 */
  }

  .gcon01__text {
    order: 3;
    margin-top: -21.3333vw;
    gap: 5.3333vw;
    padding-left: 0;
  }
}

/* /merge-build:gcon01 */
/* merge-build:gcon02 */
.gcon02 {
  & .gcon02__swiper {
    position: absolute; /* Swiper 기본 position:relative보다 배경 레이어 배치가 우선한다. */
    inset: calc(var(--px)*4) 0 0 calc(var(--px)*-16);
    background-color: #101111;
    & .swiper-wrapper {
      transition-timing-function: linear !important;
      pointer-events: none;
    }
  }
  & .gcon02__slide { overflow: hidden; height: calc(var(--px)*596); /* HEIGHT: 원본 배경 사진을 자르는 596px 슬라이드 프레임 */ }
  & .gcon02__slide--shop { width: calc(var(--px)*904); }
  & .gcon02__slide--counter { width: calc(var(--px)*685); }
  & .gcon02__slide--customers { width: calc(var(--px)*601); }
  & .gcon02__slide--market { width: calc(var(--px)*898); }
  & .gcon02__photo { left: 0; }
  & .gcon02__photo--shop { top: calc(var(--px)*-31); }
  & .gcon02__photo--counter { top: calc(var(--px)*-64); }
  & .gcon02__photo--customers { top: calc(var(--px)*-166); }
  & .gcon02__photo--market { top: calc(var(--px)*-17); }
  & .gcon02__scrim {
    z-index: 2; /* Swiper의 z-index: 1 위로 암막을 올린다. */
    inset: calc(var(--px)*4) 0 0;
    background-color: rgb(0 0 0 / 70.196%);
    pointer-events: none;
  }

  & .gcon02_iner {
    z-index: 2; /* Swiper의 z-index: 1 위로 문구를 올린다. */
    padding: calc(var(--px)*129) calc(var(--px)*332) calc(var(--px)*127);
  }

  & .gcon02__subtitle {
    margin-top: calc(var(--px)*32);
    margin-left: calc(var(--px)*-1);
  }

  & .gcon02__description {
    margin-top: calc(var(--px)*24);
    gap: calc(var(--px)*19);
  }
}



/* IMG:AUTO gcon02 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon02__photo.gcon02__photo--shop {
    width: calc(var(--px)*906);
    aspect-ratio: 906 / 680;
}

.gcon02__photo.gcon02__photo--counter {
    width: calc(var(--px)*688);
    aspect-ratio: 688 / 917;
}

.gcon02__photo.gcon02__photo--customers {
    width: calc(var(--px)*684);
    aspect-ratio: 684 / 912;
}

.gcon02__photo.gcon02__photo--market {
    width: calc(var(--px)*898);
    aspect-ratio: 898 / 674;
}
/* /IMG:AUTO gcon02 END */

/* FONT:AUTO gcon02 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon02__title {
    font-family: var(--font-poppins);
    font-size: var(--displayS);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1;
    color: #ffffff;
}

.gcon02__subtitle {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleM);
    font-weight: 900;
    letter-spacing: -0.0332em;  /* OVR psd:-0.04em */
    line-height: 1.57;
}

.gcon02__subtitle-start,
.gcon02__subtitle-end {
    color: #ffffff;
}

.gcon02__subtitle-highlight {
    color: #fff8dd;
}

.gcon02__description {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 400;
    letter-spacing: -0.034em; /* OVR */
    color: #ffffff;
}

.gcon02__needs,
.gcon02__potential {
    line-height: 1.47;
}

.gcon02__concept {
    line-height: 1;
}
/* /FONT:AUTO gcon02 END */

/* INK:AUTO gcon02 */
.gcon02__subtitle-start { margin-top: calc(var(--px) * -9.98); margin-bottom: calc(var(--px) * 4.98); } /* base 0,0 */
.gcon02__subtitle-highlight { margin-top: calc(var(--px) * -9.98); margin-bottom: calc(var(--px) * 4.98); } /* base 0,0 */
.gcon02__subtitle-end { margin-top: calc(var(--px) * -11.98); margin-bottom: calc(var(--px) * 2.98); } /* base 0,0 */
.gcon02__title { margin-top: calc(var(--px) * -6); margin-bottom: calc(var(--px) * 8); } /* base 0,0 */
.gcon02__needs { margin-top: calc(var(--px) * -4.49); margin-bottom: calc(var(--px) * -4.48); } /* base 0,0 */
.gcon02__potential { margin-top: calc(var(--px) * -4.49); margin-bottom: calc(var(--px) * 1.49); } /* base 0,0 */
.gcon02__concept { margin-top: calc(var(--px) * -0.5); margin-bottom: calc(var(--px) * -2.5); } /* base 0,0 */
/* /INK:AUTO gcon02 END */

@media (max-width: 599px) {
  .gcon02 {
    & .gcon02__swiper { inset: 0; }
    & .gcon02__slide { height: 100%; }
    & .gcon02__slide--shop { width: 100vw; }
    & .gcon02__slide--counter { width: 75.7743vw; }
    & .gcon02__slide--customers { width: 66.4823vw; }
    & .gcon02__slide--market { width: 99.3363vw; }
    & .gcon02__photo {
      inset: 0;
      width: 100%;
      height: 100%; /* 두 치수를 확정해 IMG:AUTO 의 aspect-ratio 를 무력화 — 밴드 높이가 콘텐츠 종속이라 고정비로는 못 채운다 */
      & img { height: 100%; }
    }
    & .gcon02__scrim { inset: 0; }
    & .gcon02_iner {
      padding: 10.9832vw 6.4vw 10.6667vw;
      align-items: center;
    }
    & .gcon02__title { font-size: 10.6667vw; /* --displayS 65px 은 375 에서 넘침 */ }
    & .gcon02__subtitle { margin-top: 5.3333vw; margin-left: 0; }
    & .gcon02__description { margin-top: 4.2667vw; gap: 3.2vw; }
  }
}

/* /merge-build:gcon02 */
/* merge-build:gcon03 */
/* gcon03 — 해외 시장 카드 3종 슬라이드 · 모바일: 활성 카드 1장 풀폭 + detail-body column 접기 후보 */
.gcon03 {
  background-color: #fff8dd;

  & .gcon03_iner {
    padding: calc(var(--px)*102) 0 calc(var(--px)*80);
  }

  & .gcon03__slider {
    width: calc(var(--px)*1599);
  }

  & .gcon03__swiper {
    padding-block: calc(var(--px)*40); /* 활성 카드 그림자가 swiper overflow:hidden 에 잘리지 않게 */
  }

  & .gcon03__card {
    width: calc(var(--px)*250);
    height: auto; /* swiper-slide height:100% 해제 — 활성 카드 높이에 맞춰 stretch */
    border-radius: calc(var(--px)*26);
    background-color: #186639;
  }

  & .gcon03__card.swiper-slide-active {
    width: calc(var(--px)*1082);
    border-radius: calc(var(--px)*40);
    background-color: #fff;
    box-shadow: 0 calc(var(--px)*6) calc(var(--px)*30) rgb(0 0 0 / 16%);

    & .gcon03__summary { display: none; }
    & .gcon03__detail { display: flex; }
  }

  & .gcon03__summary {
    display: flex;
    padding: calc(var(--px)*55) 0 0 calc(var(--px)*53);
  }

  & .gcon03__badge {
    padding: calc(var(--px)*12);
    border-radius: 50%;
    background-color: #fff;
  }

  & .gcon03__map {
    pointer-events: none;
  }

  & .gcon03__map--world {
    right: calc(var(--px)*-33);
    bottom: calc(var(--px)*39);
  }

  & .gcon03__map--usa {
    right: 0; /* 카드 우변까지 1px — 프레임 변 스냅 */
    bottom: calc(var(--px)*58);
  }

  & .gcon03__detail {
    display: none;
    flex-direction: column;
    gap: calc(var(--px)*50);
    padding: calc(var(--px)*54) 0 calc(var(--px)*89);
  }

  & .gcon03__detail-body {
    gap: calc(var(--px)*53);
    padding-left: calc(var(--px)*112);
  }

  & .gcon03__arrow {
    z-index: 2; /* swiper 가 .swiper{z-index:1} 로 스택 컨텍스트를 만듦 */
    top: calc(var(--px)*282);
    width: calc(var(--px)*62);
    padding-block: calc(var(--px)*15);
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0 0 calc(var(--px)*20) rgb(22 39 32 / 16%);
    cursor: pointer;
    transition: background-color .25s ease-out, box-shadow .25s ease-out;
  }

  & .gcon03__arrow--prev {
    left: calc(var(--px)*224);

    & .gcon03__arrow-icon { transform: scaleX(-1); }
  }

  & .gcon03__arrow--next {
    right: calc(var(--px)*225);
  }

  & .gcon03__arrow-icon {
    display: block;
    transition: color .25s ease-out;
  }

  @media (hover: hover) {
    & .gcon03__arrow:hover {
      background-color: #009e5a;
      box-shadow: 0 0 calc(var(--px)*20) rgb(22 39 32 / 28%);

      & .gcon03__arrow-icon { color: #fff; }
    }
  }
}

/* 잉크 base margin — 중첩 밖에 둔다(0,2,0 특이도면 뒤 INK:AUTO 블록이 못 덮는다) */
.gcon03__name {
  margin-top: calc(var(--px)*22);
}

.gcon03__summary-text {
  margin-top: calc(var(--px)*31);
}

.gcon03__highlight {
  margin-top: calc(var(--px)*21);
}

.gcon03__story {
  margin-top: calc(var(--px)*23);
}

/* IMG:AUTO gcon03 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon03__badge-icon {
    width: calc(var(--px)*47);
    aspect-ratio: 47 / 47;
}

.gcon03__map.gcon03__map--world {
    width: calc(var(--px)*331);
    aspect-ratio: 331 / 159;
}

.gcon03__photo {
    width: calc(var(--px)*406);
    aspect-ratio: 406 / 310;
}

.gcon03__badge-icon.gcon03__badge-icon--japan {
    width: calc(var(--px)*47);
    aspect-ratio: 47 / 46;
}

.gcon03__map.gcon03__map--usa {
    width: calc(var(--px)*232);
    aspect-ratio: 232 / 125;
}
/* /IMG:AUTO gcon03 END */

/* FONT:AUTO gcon03 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon03__summary {
    color: #ffffff;
}

.gcon03__name {
    font-family: var(--font-poppins);
    font-size: var(--titleS);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.17;
}

.gcon03__summary-text,
.gcon03__story {
    font-family: var(--font-pretendard);
    font-size: var(--bodyM);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.46;
}

.gcon03__detail {
    color: #101111;
}

.gcon03__detail-title {
    font-family: var(--font-poppins);
    font-size: var(--titleL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2; /* OVR */
    text-align: center;
}

.gcon03__headline {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--headL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.2;
}

.gcon03__highlight {
    font-family: var(--font-pretendard);
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.29;
}

.gcon03__accent {
    color: #009e5a;
}

.gcon03__story-lead {
    font-weight: 800;
}

.gcon03__arrow-icon {
    font-family: var(--font-wanted);
    font-size: var(--titleXS);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #009e5a;
}
/* /FONT:AUTO gcon03 END */

/* INK:AUTO gcon03 */
.gcon03__name.gcon03__name--japan { margin-top: calc(var(--px) * 15.2); margin-bottom: calc(var(--px) * -6.8); } /* base 22,0 */
.gcon03__name.gcon03__name--usa { margin-top: calc(var(--px) * 15.2); margin-bottom: calc(var(--px) * -6.8); } /* base 22,0 */
.gcon03__name.gcon03__name--global { margin-top: calc(var(--px) * 16.2); margin-bottom: calc(var(--px) * -6.8); } /* base 22,0 */
.gcon03__detail-title { margin-top: calc(var(--px) * -8); margin-bottom: calc(var(--px) * 1); } /* base 0,0 */
.gcon03__summary-text { margin-top: calc(var(--px) * 26.82); margin-bottom: calc(var(--px) * -4.18); } /* base 31,0 */
.gcon03__story { margin-top: calc(var(--px) * 16.82); margin-bottom: calc(var(--px) * -4.18); } /* base 21,0 */
.gcon03__highlight { margin-top: calc(var(--px) * 20.96); margin-bottom: calc(var(--px) * -4.02); } /* base 25,0 */
.gcon03__story-lead { margin-top: calc(var(--px) * -4.18); margin-bottom: calc(var(--px) * 0.18); } /* base 0,0 */
.gcon03__headline { margin-top: calc(var(--px) * -2.5); margin-bottom: calc(var(--px) * -0.5); } /* base 0,0 */
.gcon03__accent { margin-top: calc(var(--px) * -4.05); margin-bottom: calc(var(--px) * -1.95); } /* base 0,0 */
/* /INK:AUTO gcon03 END */

@media (max-width:599px) {
  .gcon03 {
    & .gcon03_iner {
      padding: 10.6667vw 0;
    }

    & .gcon03__slider {
      width: 100%;
    }

    & .gcon03__swiper {
      padding-block: 6.4vw;
    }

    & .gcon03__card {
      width: 84vw;
      min-height: 183.4667vw; /* 활성 카드만 detail 을 펴서 story 길이차로 카드 높이가 3장 제각각 → 화살표가 따라 튐. 최장 카드 실측 686px@375 로 통일 */
      border-radius: 4.2667vw;
    }

    & .gcon03__card.swiper-slide-active {
      width: 84vw;
      border-radius: 6.4vw;
    }

    & .gcon03__summary {
      padding: 8.5333vw 0 0 8.5333vw;
    }

    & .gcon03__badge {
      padding: 2.1333vw;
    }

    & .gcon03__badge-icon {
      width: 9vw;
    }

    & .gcon03__map.gcon03__map--world {
      width: 111.25vw;
      right: -8.8vw;
      bottom: 6.4vw;
    }

    & .gcon03__map.gcon03__map--usa {
      width: 77.95vw;
      bottom: 8.5333vw;
    }

    & .gcon03__detail {
      gap: 8.5333vw;
      padding: 8.5333vw 0 12.8vw;
    }

    & .gcon03__detail-body {
      flex-direction: column;
      align-items: center;
      gap: 8.5333vw;
      padding-left: 0; /* PC 의 --px 축 padding-left 가 375 에서 22px 로 남아 사진이 좌측만 밀림 */
    }

    & .gcon03__photo {
      width: 100%;
    }

    & .gcon03__copy {
      align-items: center;
      padding-inline: 4.2667vw;
    }

    & .gcon03__name {
      margin-top: 6.4vw;
    }

    & .gcon03__summary-text {
      margin-top: 8.5333vw;
    }

    & .gcon03__highlight {
      margin-top: 5.3333vw;
    }

    & .gcon03__story {
      margin-top: 6.4vw;
    }

    & .gcon03__arrow {
      top: auto;
      bottom: 0;
      width: 12vw;
      padding-block: 2.1333vw;
    }

    & .gcon03__arrow--prev {
      left: 31.4667vw;
    }

    & .gcon03__arrow--next {
      right: 31.4667vw;
    }
  }
}

/* /merge-build:gcon03 */
/* merge-build:gcon04 */
.gcon04 {
  overflow: hidden;
  & .gcon04__grid {
    inset: calc(var(--px)*760) 0 0;
    background-image: repeating-linear-gradient(to right, #347951 0 1px, transparent 1px calc(var(--px)*80)), repeating-linear-gradient(to bottom, #347951 0 1px, transparent 1px calc(var(--px)*80));
    background-position: calc(var(--px)*25) calc(var(--px)*73);
    pointer-events: none;
  }
  & .gcon04_iner { padding: calc(var(--px)*143) 0 calc(var(--px)*117); }
  & .gcon04__header { gap: calc(var(--px)*9); padding-bottom: calc(var(--px)*4.48); }
  & .gcon04__media { margin-top: calc(var(--px)*30.52); }
  & .gcon04__badge { right: calc(var(--px)*-62); top: calc(var(--px)*-65); }
  & .gcon04__news {
    right: calc(var(--px)*35); bottom: calc(var(--px)*109);
    gap: calc(var(--px)*23);
    padding: calc(var(--px)*11) calc(var(--px)*25) calc(var(--px)*11) calc(var(--px)*33);
    background: rgb(0 0 0 / 24.544405998%);
    border-radius: 50vw;
  }
  & .gcon04__arrow { width: calc(var(--px)*43); padding-block: calc(var(--px)*6); border-radius: 50vw; background: #009e5a; }
  & .gcon04__cards { width: calc(var(--px)*1500); gap: calc(var(--px)*12); margin-top: calc(var(--px)*-98); }
  & .gcon04__card { flex: 1 1 0; padding: calc(var(--px)*44) calc(var(--px)*69) calc(var(--px)*58.82); background: #ffffff; border-radius: calc(var(--px)*26); box-shadow: 0 9px 16px rgb(0 0 0 / 24%); transition: translate .3s ease-out, box-shadow .3s ease-out; }
  & .gcon04__card--regulations,
  & .gcon04__card--wellness { margin-top: calc(var(--px)*67); }
  & .gcon04__number { width: calc(var(--px)*52); padding-block: calc(var(--px)*6); border: 1px solid #009e5a; border-radius: 50vw; }
  & .gcon04__number--quality { background: #009e5a; }
  & .gcon04__card-title { margin: calc(var(--px)*13.51) 0 0 calc(var(--px)*3); padding-bottom: calc(var(--px)*3.56); }
  & .gcon04__card--quality .gcon04__card-title { margin-left: calc(var(--px)*2); }
  & .gcon04__description { margin-top: calc(var(--px)*14); margin-left: calc(var(--px)*3); }
}

.gcon04__title { margin-top: calc(var(--px)*32); }
.gcon04__intro { margin-top: calc(var(--px)*24); }

/* IMG:AUTO gcon04 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon04__photo {
    width: calc(var(--px)*1028);
    aspect-ratio: 1028 / 537;
}

.gcon04__badge {
    width: calc(var(--px)*230);
    aspect-ratio: 230 / 230;
}
/* /IMG:AUTO gcon04 END */

/* FONT:AUTO gcon04 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon04__header {
    text-align: center;
}

.gcon04__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1; /* OVR */
    color: #009e5a;
}

.gcon04__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.3;
    color: #101111;
}

.gcon04__intro {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.47;
    color: #101111;
}

.gcon04__news {
    line-height: 1.2;
    color: #ffffff;
}

.gcon04__news-label {
    font-family: var(--font-pretendard);
    font-size: var(--bodyM);
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
}

.gcon04__arrow {
    font-family: var(--font-wanted);
    font-size: var(--titleXS);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.gcon04__number.gcon04__number--regulations,
.gcon04__number.gcon04__number--wellness {
    font-family: var(--font-poppins);
    font-size: var(--subheadS);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.158; /* OVR */
    text-align: center;
    color: #009e5a;
}

.gcon04__card-title {
    font-family: var(--font-pretendard);
    font-size: var(--headM);
    font-weight: 800;
    letter-spacing: -0.032em; /* OVR */
    line-height: 1.26;
}

.gcon04__regulations-start,
.gcon04__quality-start,
.gcon04__quality-and,
.gcon04__quality-end,
.gcon04__wellness-start {
    color: #101111;
}

.gcon04__regulations-accent,
.gcon04__quality-accent,
.gcon04__taste-accent,
.gcon04__wellness-accent {
    color: #009e5a;
}

.gcon04__description.gcon04__description--regulations,
.gcon04__description.gcon04__description--quality,
.gcon04__description.gcon04__description--wellness {
    font-family: var(--font-pretendard);
    font-size: var(--bodyM);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.38;
    color: #101111;
}

.gcon04__number.gcon04__number--quality {
    font-family: var(--font-poppins);
    font-size: var(--subheadS);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.158; /* OVR */
    text-align: center;
    color: #ffffff;
}
/* /FONT:AUTO gcon04 END */

/* INK:AUTO gcon04 */
.gcon04__title { margin-top: calc(var(--px) * 26); margin-bottom: calc(var(--px) * -7); } /* base 32,0 */
.gcon04__intro { margin-top: calc(var(--px) * 19.51); margin-bottom: calc(var(--px) * -4.48); } /* base 24,0 */
.gcon04__description.gcon04__description--regulations { margin-top: calc(var(--px) * 10.46); margin-bottom: calc(var(--px) * -3.53); } /* base 14,0 */
.gcon04__description.gcon04__description--quality { margin-top: calc(var(--px) * 10.46); margin-bottom: calc(var(--px) * -3.53); } /* base 14,0 */
.gcon04__description.gcon04__description--wellness { margin-top: calc(var(--px) * 10.46); margin-bottom: calc(var(--px) * -3.53); } /* base 14,0 */
.gcon04__quality-accent { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -3.51); } /* base 0,0 */
.gcon04__regulations-start { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.51); } /* base 0,0 */
.gcon04__regulations-accent { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.51); } /* base 0,0 */
.gcon04__quality-start { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.51); } /* base 0,0 */
.gcon04__quality-and { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.51); } /* base 0,0 */
.gcon04__taste-accent { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.51); } /* base 0,0 */
.gcon04__quality-end { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.51); } /* base 0,0 */
.gcon04__wellness-accent { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.51); } /* base 0,0 */
.gcon04__wellness-start { margin-top: calc(var(--px) * -3.49); margin-bottom: calc(var(--px) * -2.5); } /* base 0,0 */
.gcon04__eyebrow { margin-top: calc(var(--px) * -2.5); margin-bottom: calc(var(--px) * -1.5); } /* base 0,0 */
/* /INK:AUTO gcon04 END */

@media (hover:hover) {
  .gcon04 {
    & .gcon04__card:hover { position: relative; z-index: 2; translate: 0 -4%; box-shadow: 0 30px 50px rgb(0 0 0 / 48%); } /* 시안 주석 "z index 포함" — 떠오른 높이만큼 그림자도 깊게 */
  }
}

@media (max-width:599px) {
  .gcon04 {
    & .gcon04__grid {
      inset: 113.0133vw 0 0;
      background-color: #186639; /* bg_img 의 초록면이 cover 로 밀려 격자와 어긋나므로 격자 요소가 초록면을 소유한다 */
      background-image: repeating-linear-gradient(to right, #347951 0 1px, transparent 1px 12.8vw), repeating-linear-gradient(to bottom, #347951 0 1px, transparent 1px 12.8vw);
      background-position: 4.2667vw 10.6667vw;
    }
    & .gcon04_iner { padding: 10.7957vw 0 10.6667vw; }
    & .gcon04__header { gap: 1.6vw; padding-bottom: 0.5333vw; }
    & .gcon04__media { margin-top: 5.3333vw; }
    & .gcon04__photo { width: 88vw; }
    & .gcon04__badge { width: 20vw; right: -5.3333vw; top: -5.3333vw; }
    & .gcon04__news {
      right: 3.2vw; bottom: 9.3333vw;
      gap: 3.2vw;
      padding: 1.6vw 4.2667vw 1.6vw 5.3333vw;
    }
    & .gcon04__arrow { width: 6.4vw; height: 6.4vw; /* HEIGHT: 원형 도형 지름 고정 — 글리프 line-box 가 aspect-ratio 를 밀어냈다 */ padding-block: 0; line-height: 1; }
    & .gcon04__cards {
      flex-direction: column;
      width: auto;
      gap: 3.2vw;
      margin-top: 8.5333vw;
    }
    & .gcon04__card {
      flex: none;
      width: 88vw;
      padding: 6.4vw 6.4vw 8.5333vw;
      border-radius: 4.2667vw;
    }
    & .gcon04__card--regulations,
    & .gcon04__card--wellness { margin-top: 0; }
    & .gcon04__number { width: 8.5333vw; padding-block: 1.0667vw; }
    & .gcon04__card-title { margin: 2.1333vw 0 0; padding-bottom: 0.5333vw; }
    & .gcon04__card--quality .gcon04__card-title { margin-left: 0; }
    & .gcon04__description { margin-left: 0; }
    & .gcon04__description.gcon04__description--regulations,
    & .gcon04__description.gcon04__description--quality,
    & .gcon04__description.gcon04__description--wellness { margin-top: 2.1333vw; }
  }

  .gcon04__title { margin-top: 5.3333vw; }
  .gcon04__intro { margin-top: 4.2667vw; }
}

/* /merge-build:gcon04 */
/* merge-build:gcon05 */
.gcon05 {
 overflow-x: clip;
 overflow-y: visible;
 padding-block: calc(var(--px)*203) calc(var(--px)*189);
 & .gcon05__intro { gap: calc(var(--px)*41); }
 & .gcon05__copy { gap: calc(var(--px)*32); padding-bottom: calc(var(--px)*4.49); }
 & .gcon05__countries { margin-top: calc(var(--px)*93.51); gap: calc(var(--px)*38); }
 /* 모바일은 카드를 Swiper 로, CTA 패널을 세로 흐름으로 전환한다. */
 & .gcon05__track { gap: calc(var(--px)*31); }
 & .gcon05__card { width: calc(var(--px)*287); outline: 1px solid #bfd1c9; outline-offset: -1px; border-radius: calc(var(--px)*26); background: #fdfdfb; }
 & .gcon05__photo { border-radius: calc(var(--px)*26); overflow: hidden; }
 & .gcon05__pending { padding-block: calc(var(--px)*103) calc(var(--px)*100); gap: calc(var(--px)*13); background: linear-gradient(#009e5a 55%, #008b50); border-radius: calc(var(--px)*26); }
 & .gcon05__caption { padding-block: calc(var(--px)*36) calc(var(--px)*33); }
 & .gcon05__notch { top: calc(var(--px)*-26); }
 & .gcon05__flag { top: calc(var(--px)*-19); border-radius: 50%; box-shadow: 0 0 8px rgba(35,25,22,.21); }
 & .gcon05__actions { margin-top: calc(var(--px)*186); gap: calc(var(--px)*20); }
 & .gcon05__panel { width: calc(var(--px)*788); padding-block: calc(var(--px)*37) calc(var(--px)*43); border-radius: calc(var(--px)*86); background: linear-gradient(125deg, #fff, #fdfdfb); box-shadow: 0 2px 16px #0000000d; }
 & .gcon05__panel--inquiry { padding-inline: calc(var(--px)*71); }
 & .gcon05__panel--download { padding-inline: calc(var(--px)*73) calc(var(--px)*56); }
 & .gcon05__inquiry { gap: calc(var(--px)*41); padding: calc(var(--px)*11) calc(var(--px)*24); border: 1px solid #eaf1ee; border-radius: calc(var(--px)*33); background: #fff; box-shadow: 0 2px 12px #16272017; transition: transform .3s ease-out, border-color .3s ease-out; }
 & .gcon05__arrow { width: calc(var(--px)*43); padding-block: calc(var(--px)*6); border-radius: 50%; background: #009e5a; transition: background-color .3s ease-out; }
 & .gcon05__languages { gap: calc(var(--px)*11); }
 & .gcon05__download { width: calc(var(--px)*110); padding-block: calc(var(--px)*20) calc(var(--px)*35); gap: calc(var(--px)*9); border: 1px solid #f8f1d5; border-radius: calc(var(--px)*13); background: #fff8dd; transition: transform .3s ease-out, background-color .3s ease-out, border-color .3s ease-out; }
 & .gcon05__download:has(.gcon05__language-en--ja) { gap: calc(var(--px)*7); }
 & .gcon05__download:has(.gcon05__language-en--en) { gap: calc(var(--px)*6); }
 & .gcon05__download-circle { bottom: calc(var(--px)*-19); width: calc(var(--px)*43); padding-block: calc(var(--px)*12); border-radius: 50%; background: #009e5a; transition: background-color .3s ease-out; }
 & .gcon05__download-icon img { transition: transform .3s ease-out; }
 & .gcon05__shadow { left: calc(var(--px)*-22); top: calc(var(--px)*14); }
 @media (hover: hover) {
  & .gcon05__download:hover { transform: translateY(-6%); background-color: #fff; border-color: #009e5a; }
  & .gcon05__download:hover .gcon05__download-circle { background-color: color-mix(in srgb, #009e5a 85%, black); }
  & .gcon05__download:hover .gcon05__download-icon img { transform: translateY(12%); }
  & .gcon05__inquiry:hover { transform: translateY(-6%); border-color: #009e5a; }
  & .gcon05__inquiry:hover .gcon05__arrow { background-color: color-mix(in srgb, #009e5a 85%, black); }
 }
}

/* IMG:AUTO gcon05 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon05__photo {
    width: calc(var(--px)*287);
    aspect-ratio: 287 / 297;
}

.gcon05__notch {
    width: calc(var(--px)*209);
    aspect-ratio: 209 / 28;
}

.gcon05__flag {
    width: calc(var(--px)*36);
    aspect-ratio: 36 / 36;
}

.gcon05__shadow {
    width: calc(var(--px)*155);
    aspect-ratio: 155 / 145;
}

.gcon05__download-icon {
    width: calc(var(--px)*20);
    aspect-ratio: 20 / 19;
}

/* /IMG:AUTO gcon05 END */

/* FONT:AUTO gcon05 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.gcon05__intro,
.gcon05__countries {
    text-align: center;
}

.gcon05__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 4.97;
    color: #009e5a;
}

.gcon05__copy,
.gcon05__proposal-main,
.gcon05__brochure-rest {
    color: #101111;
}

.gcon05__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.3;
}

.gcon05__description {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.47;
}

.gcon05__heading {
    font-family: var(--font-pretendard);
    font-size: var(--headL);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.12;
    color: #101111;
}

.gcon05__country.gcon05__country--jp,
.gcon05__country.gcon05__country--us,
.gcon05__country.gcon05__country--cn,
.gcon05__country.gcon05__country--id {
    font-family: var(--font-pretendard);
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.2;
    color: #101111;
}

.gcon05__pending {
    font-weight: 800;
    color: #ffffff;
}

.gcon05__status {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    letter-spacing: -0.04em;
    line-height: 1.33;
}

.gcon05__soon {
    font-family: var(--font-poppins);
    font-size: var(--titleM);
    letter-spacing: -0.02em;
    line-height: 1;
}

.gcon05__proposal {
    font-family: var(--font-pretendard);
    font-size: var(--headM);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.3;
}

.gcon05__proposal-accent,
.gcon05__brochure-main {
    color: #009e5a;
}

.gcon05__inquiry {
    line-height: 1.2;
}

.gcon05__inquiry-text {
    font-family: var(--font-pretendard);
    font-size: var(--bodyM);
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: right;
    color: #101111;
}

.gcon05__arrow {
    font-family: var(--font-wanted);
    font-size: var(--titleXS);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.gcon05__panel.gcon05__panel--download {
    font-family: var(--font-pretendard);
}

.gcon05__brochure {
    font-size: var(--headM);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.35;
}

.gcon05__languages {
    line-height: 1.2;
    text-align: center;
}

.gcon05__language-en.gcon05__language-en--ko,
.gcon05__language-en.gcon05__language-en--ja,
.gcon05__language-en.gcon05__language-en--en {
    font-size: var(--bodyXS);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: #009e5a;
}

.gcon05__language-ko {
    font-size: var(--bodyM);
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #101111;
}
/* /FONT:AUTO gcon05 END */

/* INK:AUTO gcon05 */
.gcon05__eyebrow { margin-top: calc(var(--px) * -38.23); margin-bottom: calc(var(--px) * -37.22); } /* base 0,0 */
.gcon05__title { margin-top: calc(var(--px) * -7); margin-bottom: calc(var(--px) * -7); } /* base 0,0 */
.gcon05__description { margin-top: calc(var(--px) * -4.49); margin-bottom: calc(var(--px) * -4.48); } /* base 0,0 */
.gcon05__country.gcon05__country--cn { margin-top: calc(var(--px) * -4.1); margin-bottom: calc(var(--px) * -3.09); } /* base 0,0 */
.gcon05__status { margin-top: calc(var(--px) * -3.3); margin-bottom: calc(var(--px) * -3.3); } /* base 0,0 */
.gcon05__country.gcon05__country--jp { margin-top: calc(var(--px) * -3.1); margin-bottom: calc(var(--px) * -3.09); } /* base 0,0 */
.gcon05__country.gcon05__country--us { margin-top: calc(var(--px) * -3.1); margin-bottom: calc(var(--px) * -3.09); } /* base 0,0 */
.gcon05__country.gcon05__country--id { margin-top: calc(var(--px) * -3.1); margin-bottom: calc(var(--px) * -3.09); } /* base 0,0 */
.gcon05__proposal-accent { margin-top: calc(var(--px) * -3.95); margin-bottom: calc(var(--px) * -2.05); } /* base 0,0 */
.gcon05__brochure-main { margin-top: calc(var(--px) * -4.52); margin-bottom: calc(var(--px) * -1.48); } /* base 0,0 */
.gcon05__brochure-rest { margin-top: calc(var(--px) * -4.52); margin-bottom: calc(var(--px) * -1.48); } /* base 0,0 */
.gcon05__proposal-main { margin-top: calc(var(--px) * -3.95); margin-bottom: calc(var(--px) * -2.04); } /* base 0,0 */
.gcon05__language-en.gcon05__language-en--ko { margin-top: calc(var(--px) * -3.4); margin-bottom: calc(var(--px) * -2.4); } /* base 0,0 */
.gcon05__soon { margin-top: calc(var(--px) * -1); margin-bottom: calc(var(--px) * -4); } /* base 0,0 */
.gcon05__language-ko { margin-top: calc(var(--px) * -2.1); margin-bottom: calc(var(--px) * -2.09); } /* base 0,0 */
.gcon05__heading { margin-top: calc(var(--px) * -2); margin-bottom: calc(var(--px) * -2); } /* base 0,0 */
.gcon05__language-en.gcon05__language-en--ja { margin-top: calc(var(--px) * -3.4); margin-bottom: calc(var(--px) * -0.4); } /* base 0,0 */
.gcon05__language-en.gcon05__language-en--en { margin-top: calc(var(--px) * -2.4); margin-bottom: calc(var(--px) * -0.4); } /* base 0,0 */
/* /INK:AUTO gcon05 END */

@media (max-width:599px) {
 .gcon05 {
  padding-block: 12.8vw 16vw;
  & .gcon05__intro { gap: 6.4vw; }
  & .gcon05__copy { gap: 5.3333vw; padding-bottom: 0.5333vw; }
  & .gcon05__description { padding-inline: 4.2667vw; }
  /* Swiper 컨테이너 폭이 부모 자연폭을 참조해 순환하지 않게 — items-center 아래에서 stretch 로 폭을 확정한다 */
  & .gcon05__countries { align-self: stretch; margin-top: 10.6667vw; gap: 6.4vw; }
  /* 모바일은 Swiper 로 전환 — 컨테이너가 뷰포트, track 이 슬라이드 레일 */
  & .gcon05__cards { position: relative; width: 100%; overflow: hidden; }
  & .gcon05__track { flex-wrap: nowrap; justify-content: flex-start; gap: 0; }
  & .gcon05__dots { margin-top: 1.0667vw; line-height: 0; text-align: center; }
  & .gcon05__dot { width: 2.1333vw; height: 2.1333vw; /* HEIGHT: 원형 인디케이터 지름 고정 */ margin-inline: 1.0667vw; border-radius: 50%; opacity: .25; background-color: #009e5a; }
  & .gcon05__dot.is-active { opacity: 1; }
  & .gcon05__card { flex-shrink: 0; width: 68.2667vw; border-radius: 6.4vw; overflow: hidden; }
  & .gcon05__photo { width: 68.2667vw; border-radius: 6.4vw; }
  & .gcon05__pending { justify-content: center; padding-block: 0; gap: 2.1333vw; border-radius: 4.2667vw; aspect-ratio: 287 / 297; }
  & .gcon05__caption { padding-block: 5.3333vw; }
  & .gcon05__notch { top: -6.4vw; width: 49.7134vw; }
  & .gcon05__flag { top: -4.2667vw; width: 8.5631vw; }
  & .gcon05__actions { flex-direction: column; align-items: center; margin-top: 12.8vw; gap: 3.2vw; }
  & .gcon05__panel { flex-direction: column; justify-content: center; width: 88vw; padding-block: 6.4vw; border-radius: 12.8vw; gap: 4.2667vw; }
  & .gcon05__panel--inquiry { padding-inline: 6.4vw; }
  & .gcon05__panel--download { padding-inline: 6.4vw; }
  & .gcon05__inquiry { gap: 4.2667vw; padding: 2.1333vw 4.2667vw 2.1333vw 6.4vw; border-radius: 50vw; }
  & .gcon05__arrow { width: 8.5333vw; height: 8.5333vw; /* HEIGHT: 원형 도형 지름 고정 */ padding-block: 0; }
  & .gcon05__languages { gap: 2.1333vw; }
  & .gcon05__download { width: 17.6vw; padding-block: 3.2vw 5.3333vw; gap: 1.6vw; border-radius: 2.1333vw; }
  & .gcon05__download:has(.gcon05__language-en--ja) { gap: 1.0667vw; }
  & .gcon05__download:has(.gcon05__language-en--en) { gap: 1.0667vw; }
  & .gcon05__download-circle { bottom: -3.2vw; width: 6.4vw; aspect-ratio: 1; padding-block: 0; }
  & .gcon05__download-icon { width: 3.2vw; }
  & .gcon05__shadow { left: -3.2vw; top: 2.1333vw; width: 24.8vw; }
 }
}

/* /merge-build:gcon05 */
/* merge-build:sub-hero */
/* sub-hero — 모바일: head 는 column 그대로 가운데 정렬, 엠블럼은 하단 중앙 유지 */
.sub-hero {
  z-index: 2; /* 빼면 visual-verify 렌더가 백지로 나옴(실측) — 걷지 말 것 */
  overflow: visible;
  padding-bottom: calc(var(--px)*63); /* 그린 면 아래로 내려오는 엠블럼 범프를 섹션 안에 포함 */
}

.sub-hero_iner {
  background-color: #009e5a;
}

.sub-hero__head {
  width: calc(var(--px)*1241);
  padding-top: calc(var(--px)*223);
  padding-bottom: calc(var(--px)*114);
  gap: calc(var(--px)*2);
}

.sub-hero__emblem {
  inset-inline: 0;
  bottom: calc(var(--px)*-8); /* 자산 날개 흰띠 7.75px — 섹션 하단과 맞물림 */
}

.sub-hero__logo {
  bottom: calc(var(--px)*-51);
}

/* IMG:AUTO sub-hero */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.sub-hero__bump {
    width: calc(var(--px)*652);
    aspect-ratio: 652 / 88;
}

.sub-hero__logo {
    width: calc(var(--px)*125);
    aspect-ratio: 125 / 125;
}
/* /IMG:AUTO sub-hero END */

/* FONT:AUTO sub-hero */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.sub-hero {
    font-weight: 800;
    line-height: 1.2;
    color: #ffffff;
}

.sub-hero__title {
    font-family: var(--font-poppins);
    font-size: var(--displayL);
    letter-spacing: -0.0249em; /* OVR */
}

.sub-hero__desc {
    font-family: var(--font-pretendard);
    font-size: var(--subheadL);
    letter-spacing: -0.04em;
    font-weight: 700;
}
/* /FONT:AUTO sub-hero END */

@media (max-width:599px) {
  .sub-hero {
    padding-bottom: 6.4vw;
  }

  .sub-hero__head {
    width: 89.3333vw;
    padding-top: 21.3333vw;
    padding-bottom: 12.8vw;
    gap: 0.5333vw;
    align-items: center;
  }

  .sub-hero__title {
    font-size: 13.8667vw; /* 52px — 토큰 --displayL(63px)이면 최장 COMMUNITY 395.7px 로 head 335px 을 넘친다 */
  }

  .sub-hero__bump {
    width: 70vw;
  }

  .sub-hero__logo {
    width: 13.3333vw;
    bottom: -5.3333vw;
  }

  .sub-hero__emblem {
    bottom: -0.8533vw;
  }
}

/* /merge-build:sub-hero */