@charset "UTF-8";

/* merge-build.js 산출물 — 납품 시 css/sections/*.css 전량이 이 아래로 합쳐진다. 손으로 쓰지 않는다(CLAUDE.md 원칙 14). */
/* merge-build:con01 */
/* con01 — 모바일 인계: iner row → column(intro → visual), visual 안 slider-wrap/aside → column 또는 aside 가로 2열 */
.con01_iner {
  padding: calc(var(--px)*116) calc(var(--px)*128) calc(var(--px)*171) calc(var(--px)*232);
}

.con01__intro {
  flex: 1 1 0;
  min-width: 0;
  padding-top: calc(var(--px)*66);
}

.con01__eyebrow {
  text-transform: uppercase;
}

.con01__logo {
  margin-top: calc(var(--px)*20);
}

.con01__desc {
  margin-top: calc(var(--px)*47);
  margin-left: calc(var(--px)*1);
  white-space: pre-line;
}

.con01__more {
  margin-top: calc(var(--px)*63);
  gap: calc(var(--px)*12);
  padding: calc(var(--px)*20) calc(var(--px)*31) calc(var(--px)*20) calc(var(--px)*29);
  border-radius: calc(var(--px)*32);
  background-color: var(--primary);
  transition: background-color .25s ease-out;
}

@media (hover: hover) {
  .con01__more:hover {
    background-color: color-mix(in srgb, var(--primary) 80%, black);
  }

  .con01__more:hover .con01__more-arrow {
    transform: translateX(30%);
  }

  .con01__dot:not(.is-active):hover {
    background-color: color-mix(in srgb, #c8c8c8 70%, var(--primary));
  }
}

.con01__more:focus-visible {
  background-color: color-mix(in srgb, var(--primary) 80%, black);
}

.con01__more:focus-visible .con01__more-arrow {
  transform: translateX(30%);
}

.con01__more-arrow {
  transition: transform .25s ease-out;
}

.con01__visual {
  flex: none;
  gap: calc(var(--px)*22);
}

.con01__slider-wrap {
  flex: none;
  width: calc(var(--px)*662);
}

.con01__slider {
  border-radius: calc(var(--px)*30);
}

.con01__slide {
  overflow: hidden;
}

.con01__slide-copy {
  left: calc(var(--px)*88);
  top: calc(var(--px)*130);
  transition: opacity .5s ease-out, transform .5s ease-out;
}

.con01__slide-copy--lunch {
  left: calc(var(--px)*76); /* 시안 썸네일(con01_07) 잉크 위치 실측 환산 */
  top: calc(var(--px)*89);
}

.swiper-initialized .swiper-slide:not(.swiper-slide-active) .con01__slide-copy {
  opacity: 0;
  transform: translateY(6%);
}

.swiper-initialized .con01__slide:not(.swiper-slide-visible) .con01__slide-copy {
  visibility: hidden;
}

.con01__pager {
  position: absolute;
  right: calc(var(--px)*132);
  bottom: calc(var(--px)*-35);
  display: flex;
  align-items: center;
  gap: calc(var(--px)*6.5);
}

.con01__dot {
  width: calc(var(--px)*10);
  padding-block: calc(var(--px)*5); /* 높이는 padding 이 만든다(원 10) */
  border-radius: calc(var(--px)*5);
  background-color: #c8c8c8;
  cursor: pointer;
  transition: background-color .3s ease-out;
}

.con01__dot.is-active {
  width: calc(var(--px)*21);
  background-color: var(--primary);
}

.con01__aside {
  flex: none;
  gap: calc(var(--px)*16);
}

.con01__aside-photo {
  position: relative;
  overflow: hidden; /* 슬라이드 전환 시 다음 썸네일이 아래에서 밀고 올라오는 롤링 */
  border-radius: calc(var(--px)*25); /* 썸네일 PNG 에 박힌 모서리 반경과 맞춤 — 롤링 중 각진 박스 모서리가 안 보이게 */
  transition: transform .35s ease-out, box-shadow .35s ease-out;
}

@media (hover: hover) {
  .con01__aside-photo:hover {
    transform: translateY(-3%);
    box-shadow: 0 calc(var(--px)*12) calc(var(--px)*24) rgb(15 54 37 / .18);
  }
}

.con01__aside-photo img {
  height: 100%;
  object-fit: cover;
}

.con01__aside-photo img + img {
  position: absolute;
  inset: 0;
}

@media (prefers-reduced-motion: reduce) {
  .con01__more,
  .con01__more-arrow,
  .con01__dot,
  .con01__aside-photo,
  .con01__slide-copy {
    transition: none;
  }
}

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

.con01__more-arrow {
    width: calc(var(--px)*18);
    aspect-ratio: 18 / 14;
}

.con01__slide-photo {
    width: calc(var(--px)*662);
    aspect-ratio: 662 / 532;
}

.con01__aside-photo.con01__aside-photo--top {
    width: calc(var(--px)*322);
    aspect-ratio: 322 / 258;
}

.con01__aside-photo.con01__aside-photo--bottom {
    width: calc(var(--px)*322);
    aspect-ratio: 322 / 259;
}
/* /IMG:AUTO con01 END */

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

.con01__desc {
    font-family: var(--font-pretendard);
    font-size: var(--bodyXL);
    letter-spacing: -0.05em;
    line-height: 1.45;
}

.con01__desc-lead,
.con01__desc-tail {
    font-weight: 500;
    color: #222222;
}

.con01__desc-point {
    font-weight: 800;
    color: #0f3625;
}

.con01__more-label {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.44;
    text-align: center;
    color: #ffffff;
}

.con01__slider {
    font-family: var(--font-pretendard);
    font-size: var(--titleM);
    font-weight: 700;
    letter-spacing: -0.06em;
    line-height: 1.2;
    color: #0c0c0c;
}
/* /FONT:AUTO con01 END */

/* INK:AUTO con01 */
.con01__eyebrow { margin-top: calc(var(--px) * -6.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con01__desc-lead { margin-top: calc(var(--px) * -5.5); margin-bottom: calc(var(--px) * 2.5); } /* base 0,0 */
.con01__desc-point { margin-top: calc(var(--px) * -5.5); margin-bottom: calc(var(--px) * -0.5); } /* base 0,0 */
.con01__desc-tail { margin-top: calc(var(--px) * -5.5); margin-bottom: calc(var(--px) * -0.5); } /* base 0,0 */
/* /INK:AUTO con01 END */

@media (max-width:599px) {
  .con01_iner {
    flex-direction: column;
    align-items: center;
    gap: 10.6667vw;
    padding: 17.0667vw 5.3333vw 17.0667vw;
  }

  .con01__intro {
    flex: none;
    width: 100%;
    padding-top: 0;
    align-items: center;
  }

  .con01__logo {
    margin-top: 3.2vw;
    width: 56vw;
  }

  .con01__desc {
    margin-top: 6.4vw;
    margin-left: 0;
  }

  .con01__more {
    margin-top: 8.5333vw;
    gap: 2.1333vw;
    padding: 3.2vw 5.3333vw;
    border-radius: 6.4vw;
  }

  .con01__more-arrow {
    width: 4.2667vw;
  }

  .con01__visual {
    flex-direction: column;
    width: 100%;
    gap: 8.5333vw;
  }

  .con01__slider-wrap {
    width: 100%;
  }

  .con01__slider {
    border-radius: 5.3333vw;
  }

  .con01__slide-photo {
    width: 100%;
  }

  .con01__slide-copy {
    left: 8vw;
    top: 17.5428vw;
  }

  .con01__slide-copy--lunch {
    left: 6.9091vw;
    top: 12.0102vw;
  }

  .con01__pager {
    left: 0;
    right: 0;
    justify-content: center;
    bottom: -5.3333vw;
    gap: 1.6vw;
  }

  .con01__dot {
    width: 2.1333vw;
    padding-block: 1.0667vw;
    border-radius: 1.0667vw;
  }

  .con01__dot.is-active {
    width: 4.2667vw;
  }

  .con01__aside {
    flex-direction: row;
    width: 100%;
    gap: 3.2vw;
  }

  .con01__aside-photo.con01__aside-photo--top,
  .con01__aside-photo.con01__aside-photo--bottom {
    width: 43.0666vw;
  }

  .con01__aside-photo {
    border-radius: 3.2vw;
  }
}

/* /merge-build:con01 */
/* merge-build:con02 */
/* con02 — 모바일: 좌우 리스트 + 중앙 카드 3열 → 카드 위·리스트 아래 1열 column 으로 접을 것 */
.con02 {
  background-color: #f7f5ea;
}

.con02_iner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: calc(var(--px) * 139);
  padding-bottom: calc(var(--px) * 132);
}

.con02__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.con02__title {
  word-spacing: calc(var(--px) * -2);
  margin-top: calc(var(--px) * 34);
}

.con02__desc {
  margin-top: calc(var(--px) * 23);
}

.con02__stage {
  position: relative;
  align-self: stretch;
  display: grid;
  grid-template-columns: calc(var(--px) * 455) calc(var(--px) * 530) 1fr;
  align-items: start;
  padding-left: calc(var(--px) * 232);
  padding-right: calc(var(--px) * 236);
  margin-top: calc(var(--px) * 20);
}

.con02__line {
  position: absolute;
  left: calc(var(--px) * 238);
  right: calc(var(--px) * 239);
  height: 1px;
  background-color: #000;
  opacity: 0.102;
}

.con02__line--top {
  top: calc(var(--px) * 228);
}

.con02__line--bottom {
  top: calc(var(--px) * 478);
}

.con02__list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--px) * 75);
}

.con02__item {
  display: flex;
  align-items: center;
}

.con02__item:last-child {
  margin-top: calc(var(--px) * -6);
}

.con02__list--left .con02__item {
  gap: calc(var(--px) * 46);
}

.con02__list--right .con02__item {
  justify-content: flex-end;
  gap: calc(var(--px) * 53);
}

.con02__info {
  display: flex;
  flex-direction: column;
  gap: calc(var(--px) * 4);
  transition: opacity .4s ease-out, color .4s ease-out, transform .4s ease-out;
}

.con02__list--left .con02__info {
  align-items: flex-start;
}

.con02__list--right .con02__info {
  align-items: flex-end;
}

.con02__info--dim {
  opacity: 0.502;
}

.con02__list--left .con02__item.is-on .con02__info {
  transform: translateX(8%);
}

.con02__list--right .con02__item.is-on .con02__info {
  transform: translateX(-8%);
}

/* 신호등 모션: ani_con02.js 가 켜진 항목에 .is-on 을 옮기고 나머지 info 에 --dim 을 건다 */
.con02__thumb img {
  filter: grayscale(1);
  transition: transform .4s ease-out, filter .4s ease-out;
}

.con02__item.is-on .con02__thumb img {
  filter: none;
  transform: scale(1.04);
}

@media (hover: hover) {
  .con02__item:hover .con02__thumb img {
    transform: scale(1.06);
  }
}

.con02__card {
  position: relative; /* 구분선(absolute)보다 위에 깔리도록 positioned 층으로 */
  margin-top: calc(var(--px) * 37);
  padding-top: calc(var(--px) * 146);
  padding-bottom: calc(var(--px) * 128);
  border-radius: calc(var(--px) * 30);
  background-color: var(--primary);
  overflow: hidden;
}

.con02__card-accent {
  margin-right: calc(var(--px) * 2);
}

.con02__slider {
  margin-top: calc(var(--px) * 68);
}

.con02__slider .swiper-wrapper {
  transition-timing-function: linear; /* 마퀴 — autoplay delay 0 을 끊김 없는 등속 흐름으로 */
}

.con02__slider .con02__tray {
  width: auto; /* swiper-slide 기본 width:100% 를 slidesPerView:auto 용으로 풀기 */
  justify-content: flex-start;
}

.con02__tray--mid {
  padding-top: calc(var(--px) * 3);
}

.con02__tray--last {
  margin-left: calc(var(--px) * 4);
}

@media (prefers-reduced-motion: reduce) {
  .con02__info,
  .con02__thumb img {
    transition: none;
  }
}

/* IMG:AUTO con02 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con02__thumb {
    width: calc(var(--px)*188);
    aspect-ratio: 188 / 187;
}

.con02__tray-img.con02__tray-img--first {
    width: calc(var(--px)*179);
    aspect-ratio: 179 / 150;
}

.con02__tray-img.con02__tray-img--mid {
    width: calc(var(--px)*187);
    aspect-ratio: 187 / 152;
}

.con02__tray-img.con02__tray-img--last {
    width: calc(var(--px)*195);
    aspect-ratio: 195 / 157;
}
/* /IMG:AUTO con02 END */

/* FONT:AUTO con02 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con02__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.44;
    text-align: center;
    color: #0f3625;
}

.con02__title {
    font-family: var(--font-pretendard);
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.0473em;  /* OVR psd:-0.05em */
    line-height: 1.2;
    text-align: center;
    color: #000000;
}

.con02__title-accent,
.con02__info {
    color: #0f3625;
}

.con02__desc {
    font-family: var(--font-pretendard);
    font-size: var(--bodyXL);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1.2;
    color: #222222;
}

.con02__list.con02__list--left {
    font-weight: 700;
}

.con02__num.con02__num--lead,
.con02__num {
    font-family: var(--font-poppins);
    font-size: var(--bodyL);
    letter-spacing: 0em;
    line-height: 1.2;
}

.con02__name.con02__name--lead,
.con02__name {
    font-family: var(--font-pretendard);
    font-size: var(--headS);
    letter-spacing: -0.05em;
    line-height: 1.28;
}

.con02__info.con02__info--dim {
    color: #000000;
}

.con02__card-title {
    font-family: var(--font-pretendard);
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1.31;  /* OVR psd:1.2 */
    text-align: center;
    color: #ffffff;
}

.con02__card-accent {
    color: #eed64e;
}

.con02__list.con02__list--right {
    font-weight: 700;
    color: #000000;
}

.con02__name.con02__name--right {
    font-family: var(--font-pretendard);
    font-size: var(--headS);
    letter-spacing: -0.05em;
    line-height: 1.28;
    text-align: right;
}
/* /FONT:AUTO con02 END */

/* INK:AUTO con02 */
.con02__card-title { margin-top: calc(var(--px) * -10.52); margin-bottom: calc(var(--px) * -10.52); } /* base 0,0 */
.con02__title { margin-top: calc(var(--px) * 26.5); margin-bottom: calc(var(--px) * -7.5); } /* base 34,0 */
.con02__title-accent { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -6.5); } /* base 0,0 */
.con02__card-accent { margin-top: calc(var(--px) * -10.52); margin-bottom: calc(var(--px) * -3.48); } /* base 0,0 */
.con02__eyebrow { margin-top: calc(var(--px) * -6.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con02__name.con02__name--lead { margin-top: calc(var(--px) * -5); margin-bottom: calc(var(--px) * -4); } /* base 0,0 */
.con02__name.con02__name--right { margin-top: calc(var(--px) * -5); margin-bottom: calc(var(--px) * -4); } /* base 0,0 */
.con02__name { margin-top: calc(var(--px) * -5); margin-bottom: calc(var(--px) * -4); } /* base 0,0 */
.con02__num.con02__num--lead { margin-top: calc(var(--px) * -3.3); margin-bottom: calc(var(--px) * -4.29); } /* base 0,0 */
.con02__num.con02__num--02 { margin-top: calc(var(--px) * -3.3); margin-bottom: calc(var(--px) * -4.29); } /* base 0,0 */
.con02__num.con02__num--04 { margin-top: calc(var(--px) * -3.3); margin-bottom: calc(var(--px) * -4.29); } /* base 0,0 */
.con02__num.con02__num--05 { margin-top: calc(var(--px) * -3.3); margin-bottom: calc(var(--px) * -4.29); } /* base 0,0 */
.con02__num.con02__num--06 { margin-top: calc(var(--px) * -3.3); margin-bottom: calc(var(--px) * -4.29); } /* base 0,0 */
.con02__num.con02__num--03 { margin-top: calc(var(--px) * -3.3); margin-bottom: calc(var(--px) * -3.29); } /* base 0,0 */
.con02__desc { margin-top: calc(var(--px) * 20); margin-bottom: calc(var(--px) * -3); } /* base 23,0 */
/* /INK:AUTO con02 END */

@media (max-width: 599px) {
  .con02_iner {
    padding-top: 21.3333vw;
    padding-bottom: 21.3333vw;
  }

  .con02__eyebrow,
  .con02__title-accent,
  .con02__card-title,
  .con02__card-accent {
    margin-top: 0;
    margin-bottom: 0;
  }

  .con02__title {
    word-spacing: 0;
    margin-top: 3.2vw;
    margin-bottom: 0;
  }

  .con02__desc {
    margin-top: 3.2vw;
    margin-bottom: 0;
  }

  .con02__card-accent {
    margin-right: 0;
  }

  .con02__stage {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 카드 아래 좌·우 리스트를 2열로 */
    gap: 8.5333vw 5.3333vw;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    margin-top: 8.5333vw;
  }

  .con02__card {
    order: -1;
    grid-column: 1 / -1;
    margin-top: 0;
    margin-bottom: 3.2vw;
    padding-top: 12.8vw;
    padding-bottom: 12.8vw;
    border-radius: 5.3333vw;
  }

  .con02__slider {
    margin-top: 10.6667vw;
  }

  .con02__tray--mid {
    padding-top: 0.5333vw;
  }

  .con02__tray--last {
    margin-left: 0.5333vw;
  }

  .con02__tray-img.con02__tray-img--first {
    width: 29.5vw;
  }

  .con02__tray-img.con02__tray-img--mid {
    width: 30.8vw;
  }

  .con02__tray-img.con02__tray-img--last {
    width: 32vw;
  }

  .con02__list {
    display: contents; /* 좌·우 ul 의 항목을 스테이지 그리드에 직접 올려 01 02 / 03 04 순서로 */
    text-align: center;
  }

  .con02__item:last-child {
    margin-top: 0;
  }

  .con02__list--left .con02__item,
  .con02__list--right .con02__item {
    flex-direction: column;
    gap: 3.2vw;
  }

  .con02__list--right .con02__item {
    flex-direction: column-reverse;
    justify-content: flex-start;
  }

  .con02__thumb {
    width: 30vw;
    flex-shrink: 0;
  }

  .con02__info {
    gap: 1.0667vw;
  }

  .con02__list--left .con02__item.is-on .con02__info,
  .con02__list--right .con02__item.is-on .con02__info {
    transform: none;
  }

  .con02__list--left .con02__info,
  .con02__list--right .con02__info {
    align-items: center;
  }

  .con02__info .con02__num,
  .con02__info .con02__name {
    margin-top: 0;
    margin-bottom: 0;
  }

  .con02__name.con02__name--right {
    text-align: center;
  }
}

/* /merge-build:con02 */
/* merge-build:con03 */
/* con03 — 사업분야. 모바일 접기 의도: 슬라이드 1장씩 · info 가로 2열 → 세로 */
.con03 {
  padding-top: calc(var(--px) * 155);
  padding-bottom: calc(var(--px) * 133);
}

.con03__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--px) * 26);
  padding-left: calc(var(--px) * 231);
  padding-bottom: calc(var(--px) * 7.5);
}

.con03__eyebrow {
  margin-left: calc(var(--px) * 4);
  text-transform: uppercase;
}

.con03__stage {
  margin-top: calc(var(--px) * 52.5);
  margin-left: calc(var(--px) * 191);
}

.con03__slider .con03__slide {
  width: auto; /* swiper-slide 기본 width:100% 를 slidesPerView:auto 용으로 풀기 */
  transition: padding-right .6s ease; /* swiper speed·wrapper ease 와 동기 */
}

.con03__slider .con03__slide.swiper-slide-active {
  padding-right: calc(var(--px) * 30); /* 활성 카드 뒤만 81 — 나머지 51 은 swiper spaceBetween */
}

.con03__card {
  box-sizing: content-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: calc(var(--px) * 71) 0 calc(var(--px) * 87);
  border-radius: calc(var(--px) * 30);
  transition: background-color .35s ease-out, padding .6s ease;
}

.con03__slider.is-measuring .con03__slide,
.con03__slider.is-measuring .con03__card {
  transition: none; /* slide.js 가 최종 폭을 재는 동안만 */
}

.swiper-slide-active .con03__card {
  padding-inline: calc(var(--px) * 81);
  background-color: #f7f5ea;
}

.con03__photo {
  margin-bottom: calc(var(--px) * 55);
  transition: transform .3s ease-out;
}

@media (hover: hover) {
  .con03__card:hover .con03__photo {
    transform: translateY(-2.5%);
  }
}

.con03__photo--consign {
  margin-bottom: calc(var(--px) * 62);
}

.con03__photo--supply {
  margin-bottom: calc(var(--px) * 66);
}

.con03__info {
  display: flex;
  align-items: flex-start;
  padding-bottom: calc(var(--px) * 3.5);
}

.con03__info-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--px) * 27);
  width: calc(var(--px) * 225);
  padding-bottom: calc(var(--px) * 3.7);
}

.con03__desc {
  opacity: 0; /* 활성 카드에서만 설명 노출 */
  transform: translateY(35%);
  transition: opacity .35s ease-out, transform .5s ease-out;
}

.swiper-slide-active .con03__desc {
  opacity: 0.78;
  transform: none;
}

.con03__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--px) * 10);
  width: calc(var(--px) * 180);
  margin-top: calc(var(--px) * 47.5);
  padding-block: calc(var(--px) * 15.5);
  border-radius: calc(var(--px) * 27);
  background-color: var(--primary);
  transition: background-color .25s ease-out, transform .2s ease-out;
}

.con03__more:active {
  transform: scale(.97);
}

@media (hover: hover) {
  .con03__more:hover {
    background-color: color-mix(in srgb, var(--primary) 80%, black);
  }

  .con03__more:hover .con03__more-icon {
    transform: translateX(30%);
  }
}

.con03__more:focus-visible {
  background-color: color-mix(in srgb, var(--primary) 80%, black);
}

.con03__more-icon {
  transition: transform .25s ease-out;
}

.con03__arrows {
  display: flex;
  justify-content: flex-end;
  gap: calc(var(--px) * 9);
  width: calc(var(--px) * 659); /* 활성 판 오른쪽 변에 맞춤 */
  margin-top: calc(var(--px) * 26);
}

.con03__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--px) * 51);
  padding: calc(var(--px) * 18) 0;
  border-radius: 50%;
  background-color: var(--secondary);
  cursor: pointer;
  transition: transform .25s ease-out, box-shadow .25s ease-out;
}

@media (hover: hover) {
  .con03__arrow:hover {
    transform: scale(1.1);
    box-shadow: 0 calc(var(--px) * 4) calc(var(--px) * 12) rgb(0 0 0 / .15);
  }
}

.con03__arrow:focus-visible {
  transform: scale(1.1);
  box-shadow: 0 calc(var(--px) * 4) calc(var(--px) * 12) rgb(0 0 0 / .15);
}

.con03__arrow:active {
  transform: scale(.96);
}

.con03__arrow-icon {
  display: block;
}

/* IMG:AUTO con03 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con03__photo.con03__photo--consign {
    width: calc(var(--px)*495);
    aspect-ratio: 495 / 400;
}

.con03__more-icon,
.con03__arrow-icon {
    width: calc(var(--px)*18);
    aspect-ratio: 18 / 14;
}

.con03__photo.con03__photo--mobile,
.con03__photo.con03__photo--consult {
    width: calc(var(--px)*495);
    aspect-ratio: 495 / 407;
}

.con03__photo.con03__photo--supply {
    width: calc(var(--px)*495);
    aspect-ratio: 495 / 396;
}
/* /IMG:AUTO con03 END */

/* FONT:AUTO con03 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con03__head {
    color: #0f3625;
}

.con03__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.44;
    text-align: center;
}

.con03__title {
    font-family: var(--font-pretendard);
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1.2;
}

.con03__title-rest {
    color: #040404;
}

.con03__info-head {
    text-align: center;
}

.con03__eng {
    font-family: var(--font-poppins);
    font-size: var(--bodyXS);
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.86;
    text-align: center;
    color: #0f3625;
}

.con03__name {
    font-family: var(--font-pretendard);
    font-size: var(--headM);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1.2;
    color: #000000;
}

.con03__desc {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.33;
    color: #040404;
}

.con03__more-label {
    font-family: var(--font-pretendard);
    font-size: var(--bodyM);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.62;
    text-align: center;
    color: #ffffff;
}
/* /FONT:AUTO con03 END */

/* INK:AUTO con03 */
.con03__eng { margin-top: calc(var(--px) * -8.02); margin-bottom: calc(var(--px) * -8.01); } /* base 0,0 */
.con03__title { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -7.5); } /* base 0,0 */
.con03__title-rest { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -6.5); } /* base 0,0 */
.con03__eyebrow { margin-top: calc(var(--px) * -6.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con03__name { margin-top: calc(var(--px) * -3.7); margin-bottom: calc(var(--px) * -3.69); } /* base 0,0 */
.con03__desc { margin-top: calc(var(--px) * -3.47); margin-bottom: calc(var(--px) * -3.46); } /* base 0,0 */
/* /INK:AUTO con03 END */

@media (max-width: 599px) {
  .con03 {
    padding-top: 21.3333vw;
    padding-bottom: 21.3333vw;
  }

  .con03__head {
    align-items: stretch;
    gap: 4.2667vw;
    padding-left: 0;
    padding-bottom: 0;
  }

  .con03__eyebrow {
    margin-left: 0;
  }

  .con03__stage {
    margin-top: 8.5333vw;
    margin-left: 0;
  }

  .con03__slider {
    margin-left: 5.3333vw;
  }

  .con03__slider .con03__slide {
    width: 82vw;
  }

  .con03__slider .con03__slide.swiper-slide-active {
    padding-right: 0;
  }

  .con03__slide .con03__card {
    align-items: center;
    padding: 10.6667vw 6.4vw 12.8vw;
    border-radius: 5.3333vw;
  }

  .con03__photo,
  .con03__photo--consign,
  .con03__photo--supply {
    margin-bottom: 6.4vw;
  }

  .con03__photo.con03__photo--consign,
  .con03__photo.con03__photo--mobile,
  .con03__photo.con03__photo--consult,
  .con03__photo.con03__photo--supply {
    width: 66vw;
  }

  .con03__info {
    flex-direction: column;
    align-items: center;
    gap: 4.2667vw;
    padding-bottom: 0;
  }

  .con03__info-head {
    align-items: stretch;
    width: auto;
    gap: 3.2vw;
    padding-bottom: 0;
  }

  .con03__more {
    width: 32vw;
    margin-top: 6.4vw;
    padding-block: 2.1333vw;
    gap: 1.6vw;
    border-radius: 50vw;
  }

  .con03__more-icon,
  .con03__arrow-icon {
    width: 4.2667vw;
  }

  .con03__arrows {
    width: auto;
    justify-content: center;
    gap: 3.2vw;
    margin-top: 4.2667vw;
  }

  .con03__arrow {
    width: 10.6667vw;
    aspect-ratio: 1 / 1;
    padding: 0;
  }
}

/* /merge-build:con03 */
/* merge-build:con04 */
/* con04 — 온소식단 슬라이드. 모바일: 슬라이드 개수·컨트롤 줄은 모바일 코더가 접는다 */
.con04 {
  background-color: #eff8e4;
}

.con04_iner {
  padding-top: calc(var(--px) * 165);
  padding-bottom: calc(var(--px) * 141);
}

.con04__title {
  margin-top: calc(var(--px) * 21);
}

.con04__slider {
  width: calc(var(--px) * 1441);
  margin-top: calc(var(--px) * 29); /* 53 - padding-top 24 */
  margin-bottom: calc(var(--px) * -24);
}

/* swiper 번들 .swiper{padding:0} 를 이기려 2클래스 — overflow:hidden 안쪽 여유로 hover lift·틸트·그림자 잘림 방지(정지 위치 불변) */
.con04_iner .con04__slider {
  padding-block: calc(var(--px) * 24);
}

.con04__item {
  padding-bottom: calc(var(--px) * 3);
  text-align: center;
}

.con04__link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: opacity .3s ease-out;
}

.con04__item-title {
  margin-top: calc(var(--px) * 24);
  transition: transform .3s ease-out;
}

.con04__controls {
  width: calc(var(--px) * 1440);
  gap: calc(var(--px) * 14);
  margin-top: calc(var(--px) * 66);
}

.con04__arrow {
  flex-shrink: 0;
  padding: calc(var(--px) * 18) calc(var(--px) * 16);
  border: 0;
  border-radius: calc(var(--px) * 25);
  background: var(--secondary);
  transition: background-color .25s ease-out;
}

/* 더미·끝 구간에서도 시안의 활성 노랑을 유지 — 실제 한계 표시는 pointer-events 가 맡음 */
.con04__arrow.swiper-button-disabled {
  opacity: 1;
}

.con04__arrow-icon {
  flex-shrink: 0;
  transition: transform .25s ease-out;
}

.con04__item .con04__thumb {
  transition: transform .35s ease-out, filter .35s ease-out;
}

/* swiper 번들이 .swiper-scrollbar.swiper-scrollbar-horizontal 로 absolute 를 거는 걸 흐름 트랙으로 되돌림 */
.con04__controls .con04__scrollbar.swiper-scrollbar-horizontal {
  position: relative;
  left: auto;
  bottom: auto;
  z-index: auto;
  flex: 1;
  width: auto;
  height: 1px;
  border-radius: 0;
  background: color-mix(in srgb, #a5a5a5 30%, transparent);
}

.con04__scrollbar .swiper-scrollbar-drag {
  border-radius: 0;
  background: var(--primary);
}

.con04__more {
  margin-top: calc(var(--px) * 16);
  padding: calc(var(--px) * 19.5) calc(var(--px) * 25) calc(var(--px) * 19.5) calc(var(--px) * 32);
  gap: calc(var(--px) * 15);
  border-radius: calc(var(--px) * 32);
  background: var(--primary);
  transition: background-color .25s ease-out;
}

.con04__more-arrow {
  flex-shrink: 0;
  transition: transform .25s ease-out;
}

@media (hover: hover) {
  .con04__slider:has(.con04__item:hover) .con04__item:not(:hover) .con04__link {
    opacity: .55;
  }

  .con04__item:hover .con04__item-title {
    transform: translateY(-4%);
  }

  .con04__item:hover .con04__thumb {
    transform: translateY(-3%);
    filter: drop-shadow(0 calc(var(--px) * 12) calc(var(--px) * 16) rgb(0 0 0 / .15));
  }

  .con04__arrow:hover {
    background-color: color-mix(in srgb, var(--secondary) 85%, black);
  }

  .con04__arrow--prev:hover .con04__arrow-icon {
    transform: translateX(-15%);
  }

  .con04__arrow--next:hover .con04__arrow-icon {
    transform: translateX(15%);
  }

  .con04__more:hover {
    background-color: color-mix(in srgb, var(--primary) 80%, black);
  }

  .con04__more:hover .con04__more-arrow {
    transform: translateX(30%);
  }
}

.con04__arrow:focus-visible {
  background-color: color-mix(in srgb, var(--secondary) 85%, black);
}

.con04__more:focus-visible {
  background-color: color-mix(in srgb, var(--primary) 80%, black);
}

@media (prefers-reduced-motion: reduce) {
  .con04__item .con04__thumb,
  .con04__link,
  .con04__item-title,
  .con04__arrow,
  .con04__arrow-icon,
  .con04__more,
  .con04__more-arrow {
    transition: none;
  }
}

/* IMG:AUTO con04 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con04__thumb {
    width: calc(var(--px)*332);
    aspect-ratio: 332 / 284;
}

.con04__arrow-icon,
.con04__more-arrow {
    width: calc(var(--px)*18);
    aspect-ratio: 18 / 14;
}
/* /IMG:AUTO con04 END */

/* FONT:AUTO con04 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con04__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.44;
    color: #0f3625;
}

.con04__title {
    font-family: var(--font-pretendard);
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1.2;
    color: #000000;
}

.con04__title-accent {
    color: #0f3625;
}

.con04__slider {
    font-family: var(--font-pretendard);
    font-size: var(--bodyXL);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.2;
    color: #000000;
}

.con04__more-label {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.44;
    text-align: center;
    color: #ffffff;
}
/* /FONT:AUTO con04 END */

/* INK:AUTO con04 */
.con04__title { margin-top: calc(var(--px) * 13.5); margin-bottom: calc(var(--px) * -7.5); } /* base 21,0 */
.con04__title-accent { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -6.5); } /* base 0,0 */
.con04__eyebrow { margin-top: calc(var(--px) * -6.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con04__item-title { margin-top: calc(var(--px) * 21); margin-bottom: calc(var(--px) * -3); } /* base 24,0 */
/* /INK:AUTO con04 END */

@media (max-width:599px) {
  .con04_iner {
    padding-top: 17.0667vw;
    padding-bottom: 17.0667vw;
  }

  .con04__slider {
    width: 100%;
    margin-top: 8.5333vw;
    margin-bottom: 0;
  }

  .con04_iner .con04__slider {
    padding-block: 0;
  }

  .con04__thumb {
    width: 100%;
  }

  .con04__item-title {
    margin-top: 4.2667vw;
  }

  .con04__controls {
    width: 100%;
    padding-inline: 6.4vw;
    gap: 2.1333vw;
    margin-top: 10.6667vw;
  }

  .con04__arrow {
    padding: 0;
    width: 10.6667vw;
    aspect-ratio: 1;
    border-radius: 50vw;
  }

  .con04__arrow-icon,
  .con04__more-arrow {
    width: 4.2667vw;
  }

  .con04__more {
    margin-top: 5.3333vw;
    padding: 3.2vw 4.2667vw 3.2vw 5.3333vw;
    gap: 2.1333vw;
    border-radius: 50vw;
  }
}

/* /merge-build:con04 */
/* merge-build:con05 */
/* con05 — 모바일 인계: head → 카드 column, 카드 내부 photo/body → column, pager 가로 dots */
.con05_iner {
  padding: calc(var(--px)*137) calc(var(--px)*174) calc(var(--px)*140) calc(var(--px)*231);
}

.con05__head {
  flex: 1 1 0;
  align-self: flex-start;
  margin-top: calc(var(--px)*73);
  gap: calc(var(--px)*14.5);
}

.con05__head-icon {
  transform-origin: 50% 100%;
}

.con05__desc {
  margin-top: calc(var(--px)*16);
}

.con05__slide:not(.swiper-slide-active) {
  visibility: hidden;
  transition-delay: .9s; /* swiper 전환(slide.js speed 900) 뒤에 숨겨 나가는 슬라이드가 끝까지 보이게 한다 */
}

.con05__slide.swiper-slide-active {
  transition-delay: 0s;
}

.con05__reviews-wrap {
  flex: none;
  width: calc(var(--px)*840);
}

.con05__review {
  gap: calc(var(--px)*61);
  padding: calc(var(--px)*70) calc(var(--px)*57) calc(var(--px)*72) calc(var(--px)*56);
  border: 1px solid #d8ebe3;
  border-radius: calc(var(--px)*20);
  background-color: #fff;
  transition: box-shadow .3s ease-out, border-color .3s ease-out;
}

@media (hover: hover) {
  .con05__review:hover {
    border-color: color-mix(in srgb, #d8ebe3 70%, #0f3625);
    box-shadow: 0 calc(var(--px)*12) calc(var(--px)*32) color-mix(in srgb, #0f3625 8%, transparent);
  }
}

.con05__review-body {
  flex: 1 1 0;
  min-width: 0;
  gap: calc(var(--px)*21);
  margin-bottom: calc(var(--px)*9);
}

.con05__review-title {
  margin-bottom: calc(var(--px)*5);
}

.con05__review-text {
  white-space: pre-line; /* 리뷰 본문의 원문 줄바꿈을 그대로 받는다 */
}

.con05__review-mark {
  padding-block: 0 calc(var(--px)*5);
  background-color: #d8ebe3;
}

.con05__review-photo {
  border-radius: calc(var(--px)*20); /* 사진 코너는 이미지에 굽지 않고 래퍼가 클립 — hover 확대 시 코너가 같이 움직이지 않게 */
  overflow: hidden;
}

.con05__pager {
  position: absolute;
  left: calc(var(--px)*-39);
  top: calc(var(--px)*144);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--px)*6.5);
}

.con05__dot {
  width: calc(var(--px)*10);
  padding-block: calc(var(--px)*5); /* 높이는 padding 이 만든다(원 10 · 활성 pill 19) */
  border-radius: calc(var(--px)*5);
  background-color: #dfdfdf;
  cursor: pointer;
  transition: background-color .25s ease-out, width .3s ease-out, padding-block .3s ease-out;
}

@media (hover: hover) {
  .con05__dot:not(.is-active):hover {
    background-color: color-mix(in srgb, var(--primary) 45%, #dfdfdf);
  }
}

.con05__dot.is-active {
  padding-block: calc(var(--px)*9.5);
  background-color: var(--primary);
}

/* IMG:AUTO con05 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con05__head-icon {
    width: calc(var(--px)*45);
    aspect-ratio: 45 / 29;
}

.con05__review-photo {
    width: calc(var(--px)*333);
    aspect-ratio: 333 / 232;
}
/* /IMG:AUTO con05 END */

/* FONT:AUTO con05 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con05 {
    font-family: var(--font-pretendard);
}

.con05__head {
    line-height: 1.2;
}

.con05__title {
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.05em;
    color: #000000;
}

.con05__title-point {
    color: #0f3625;
}

.con05__desc {
    font-size: var(--bodyXL);
    font-weight: 500;
    letter-spacing: -0.05em;
    text-align: center;
    color: #222222;
}

.con05__review-meta {
    font-size: var(--bodyS);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.44;
    text-align: center;
}

.con05__review-star {
    color: #ffcc02;
}

.con05__review-writer {
    color: #222222;
}

.con05__review-title {
    font-size: var(--subheadM);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.2;
    text-align: center;
    color: #000000;
}

.con05__review-text {
    font-size: var(--bodyM);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1.28;
    color: #222222;
}

.con05__review-mark {
    font-weight: 700;
    color: #0f3625;
}
/* /FONT:AUTO con05 END */

/* INK:AUTO con05 */
.con05__title { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -7.5); } /* base 0,0 */
.con05__title-point { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -6.5); } /* base 0,0 */
.con05__desc { margin-top: calc(var(--px) * 13); margin-bottom: calc(var(--px) * -3); } /* base 16,0 */
.con05__review-title { margin-top: calc(var(--px) * -2.96); margin-bottom: calc(var(--px) * 2.05); } /* base 0,5 */
.con05__review-writer { margin-top: calc(var(--px) * -3.87); margin-bottom: calc(var(--px) * 1.87); } /* base 0,0 */
.con05__review-text { margin-top: calc(var(--px) * -2.74); margin-bottom: calc(var(--px) * -2.67); } /* base 0,0 */
.con05__review-star { margin-top: calc(var(--px) * -3.87); margin-bottom: calc(var(--px) * -0.13); } /* base 0,0 */
/* /INK:AUTO con05 END */

@media (max-width:599px) {
  .con05_iner {
    flex-direction: column;
    gap: 10.6667vw;
    padding: 21.3333vw 5.3333vw;
  }

  .con05__head {
    flex: none;
    align-self: center;
    align-items: center;
    margin-top: 0;
    gap: 2.1333vw;
  }

  .con05__head-icon {
    width: 12vw;
  }

  .con05__desc {
    margin-top: 0;
  }

  .con05__reviews-wrap {
    width: 100%;
  }

  .con05__review {
    flex-direction: column;
    gap: 6.4vw;
    padding: 8.5333vw 6.4vw;
    border-radius: 5.3333vw;
  }

  .con05__review-photo {
    width: 100%;
    border-radius: 4.2667vw;
  }

  .con05__review-body {
    flex: none;
    align-items: center;
    width: 100%;
    gap: 3.2vw;
    margin-bottom: 0;
  }

  .con05__review-mark {
    padding-block: 0 0.5333vw;
  }

  .con05__pager {
    position: relative;
    left: auto;
    top: auto;
    flex-direction: row;
    justify-content: center;
    gap: 2.1333vw;
    margin-top: 5.3333vw;
  }

  .con05__dot {
    width: 2.1333vw;
    padding-block: 1.0667vw;
    border-radius: 1.0667vw;
  }

  .con05__dot.is-active {
    width: 6.4vw;
    padding-block: 1.0667vw;
  }

  .con05__slide:not(.swiper-slide-active) {
    visibility: visible; /* 모바일은 slide 전환이라 옆 슬라이드가 밀려 들어올 때 보여야 함 */
  }
}

/* /merge-build:con05 */
/* merge-build:con06 */
/* con06 — PC: 좌 폰목업 프레임(646) + 우 텍스트 컬럼 / 모바일 후보: column 접기 */
.con06_iner {
    padding: calc(var(--px) * 161) 0 calc(var(--px) * 152) calc(var(--px) * 247);
    gap: calc(var(--px) * 139);
}

.con06__media {
    width: calc(var(--px) * 646);
    flex-shrink: 0;
}

.con06__blob {
    right: 0;
    bottom: calc(var(--px) * 43);
}

.con06__phones {
    margin-top: calc(var(--px) * 14);
}

.con06__sprout {
    top: 0;
    right: calc(var(--px) * 230);
}

.con06__text {
    margin-top: calc(var(--px) * 62);
}

.con06__title {
    margin-top: calc(var(--px) * 22);
}

.con06__lead {
    margin-top: calc(var(--px) * 51);
}

.con06__desc {
    margin-top: calc(var(--px) * 31);
    white-space: pre-line;
    opacity: 0.549;
}

.con06__btn {
    margin-top: calc(var(--px) * 61);
    padding: calc(var(--px) * 18) calc(var(--px) * 29) calc(var(--px) * 20) calc(var(--px) * 31);
    gap: calc(var(--px) * 12);
    background: #fff;
    border-radius: calc(var(--px) * 32);
    transition: background-color .25s ease-out, translate .25s ease-out, box-shadow .25s ease-out;
}

.con06__title-char {
    display: inline-block;
    transition: translate .25s ease-out, color .25s ease-out;
}

.con06__btn-arrow img {
    transition: transform .25s ease-out;
}

@media (hover: hover) {
    .con06__title-char:hover {
        translate: 0 -6%;
        color: #eed64e;
    }

    .con06__btn:hover {
        background-color: var(--secondary);
        translate: 0 -8%;
        box-shadow: 0 calc(var(--px) * 10) calc(var(--px) * 24) rgba(0, 0, 0, .2);
    }

    .con06__btn:hover .con06__btn-arrow img {
        transform: translateX(30%);
    }
}

.con06__btn:focus-visible,
.con06__btn:active {
    background-color: var(--secondary);
    translate: 0 -8%;
    box-shadow: 0 calc(var(--px) * 10) calc(var(--px) * 24) rgba(0, 0, 0, .2);
}

.con06__btn:focus-visible .con06__btn-arrow img,
.con06__btn:active .con06__btn-arrow img {
    transform: translateX(30%);
}

@media (prefers-reduced-motion: reduce) {
    .con06__btn,
    .con06__title-char,
    .con06__btn-arrow img {
        transition: none;
    }

    .con06__sprout img {
        animation: none;
    }
}

/* IMG:AUTO con06 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con06__blob {
    width: calc(var(--px)*630);
    aspect-ratio: 630 / 445;
}

.con06__phones {
    width: calc(var(--px)*600);
    aspect-ratio: 600 / 572;
}

.con06__sprout {
    width: calc(var(--px)*79);
    aspect-ratio: 79 / 69;
}

.con06__btn-arrow {
    width: calc(var(--px)*18);
    aspect-ratio: 18 / 14;
}
/* /IMG:AUTO con06 END */

/* FONT:AUTO con06 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con06__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyL);
    font-weight: 600;
    letter-spacing: 0em;
    line-height: 1.44;
    color: #eed64e;
}

.con06__title {
    font-family: var(--font-pretendard);
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1.2;
    color: #ffffff;
}

.con06__title-accent {
    color: #eed64e;
}

.con06__lead {
    font-family: var(--font-pretendard);
    font-size: var(--subheadL);
    font-weight: 600;
    letter-spacing: -0.05em;
    line-height: 1.2;
    color: #ffffff;
}

.con06__desc {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 1.56;
    color: #ffffff;
}

.con06__btn-label {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.44;
    text-align: center;
    color: #0f3625;
}
/* /FONT:AUTO con06 END */

/* INK:AUTO con06 */
.con06__title { margin-top: calc(var(--px) * 14.5); margin-bottom: calc(var(--px) * -7.5); } /* base 22,0 */
.con06__title-accent { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -7.5); } /* base 0,0 */
.con06__eyebrow { margin-top: calc(var(--px) * -6.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con06__desc { margin-top: calc(var(--px) * 25.46); margin-bottom: calc(var(--px) * -3.53); } /* base 31,0 */
.con06__lead { margin-top: calc(var(--px) * 47.8); margin-bottom: calc(var(--px) * -0.19); } /* base 51,0 */
/* /INK:AUTO con06 END */

@media (max-width: 599px) {
    .con06_iner {
        flex-direction: column-reverse;
        align-items: center;
        padding: 17.0667vw 5.3333vw 10.6667vw;
        gap: 10.6667vw;
    }

    .con06__media {
        width: 88vw;
    }

    .con06__blob {
        bottom: 6.4vw;
        width: 86vw;
    }

    .con06__phones {
        margin-top: 2.1333vw;
        margin-inline: auto;
        width: 82vw;
    }

    .con06__sprout {
        right: 31.3313vw;
        width: 10.7616vw;
    }

    .con06__text {
        align-items: center;
        margin-top: 0;
    }

    .con06__eyebrow,
    .con06__title-accent {
        margin-top: 0;
        margin-bottom: 0;
    }

    .con06__title {
        margin-top: 3.2vw;
        margin-bottom: 0;
    }

    .con06__lead {
        margin-top: 6.4vw;
        margin-bottom: 0;
    }

    .con06__desc {
        margin-top: 5.3333vw;
        margin-bottom: 0;
    }

    .con06__btn {
        margin-top: 10.6667vw;
        padding: 3.2vw 5.3333vw;
        gap: 2.1333vw;
        border-radius: 50vw;
    }

    .con06__btn-arrow {
        width: 4.2667vw;
    }
}

/* /merge-build:con06 */
/* merge-build:con07 */
/* con07 — 좌 소개 열 + 우 뉴스 열(flex 2단). 모바일은 column 으로 접는다(.con07__intro → .con07__news) */
.con07_iner {
  padding: calc(var(--px) * 138) calc(var(--px) * 234) calc(var(--px) * 150);
}

.con07__intro {
  flex: 0 0 calc(var(--px) * 671);
  margin-top: calc(var(--px) * 148);
}

.con07__eyebrow {
  text-transform: uppercase;
}

.con07__title {
  margin-top: calc(var(--px) * 35);
}

.con07__desc {
  margin-top: calc(var(--px) * 33);
}

.con07__more {
  margin-top: calc(var(--px) * 75);
  padding: calc(var(--px) * 18) calc(var(--px) * 31) calc(var(--px) * 18) calc(var(--px) * 29);
  gap: calc(var(--px) * 12);
  background: var(--primary);
  border-radius: calc(var(--px) * 32);
  transition: background-color .25s ease-out;
}

.con07__more-arrow {
  flex-shrink: 0;
  transition: transform .25s ease-out;
}

.con07__news {
  flex: 0 0 calc(var(--px) * 767);
  min-width: 0;
  gap: calc(var(--px) * 25);
}

.con07__feature {
  background: #113a28;
  border-radius: calc(var(--px) * 30);
}

.con07__feature-link {
  min-height: calc(var(--px) * 265);
  padding: calc(var(--px) * 61) calc(var(--px) * 68) calc(var(--px) * 48);
}

.con07__feature-title {
  margin-top: calc(var(--px) * 46);
  transition: transform .3s ease-out;
}

.con07__feature-thumb {
  display: none; /* 시안의 커서 예시 이미지 — 정지 노출 금지, src 만 커서 추종 썸네일이 읽음 */
  top: calc(var(--px) * -66);
  right: calc(var(--px) * 54);
}

.con07__news-slider {
  width: calc(var(--px) * 767);
}

.con07__news-list > .con07__news-card {
  display: flex; /* swiper-bundle.css 의 .swiper-slide{display:block} 이 뒤에 로드돼 동일 명시도로 이기므로 자식 결합자로 올림 */
  min-height: calc(var(--px) * 300);
  background: #f7f5ea;
  border-radius: calc(var(--px) * 20);
  transition: background-color .3s ease-out;
}

.con07__news-link {
  flex: 1 1 auto;
  min-width: 0;
  padding: calc(var(--px) * 61) calc(var(--px) * 61) calc(var(--px) * 44) calc(var(--px) * 56);
}

.con07__news-title {
  margin-top: calc(var(--px) * 26);
  transition: transform .3s ease-out;
}

.con07__news-foot {
  margin-top: auto;
}

.con07__news-plus {
  flex-shrink: 0;
  transition: transform .3s ease-out;
}

.con07__arrows {
  gap: calc(var(--px) * 9);
  margin-top: calc(var(--px) * 4);
}

.con07__arrow {
  width: calc(var(--px) * 51);
  padding-block: calc(var(--px) * 18);
  border: 0;
  background: var(--secondary);
  border-radius: 50vw;
  cursor: pointer;
  transition: transform .25s ease-out, background-color .25s ease-out, opacity .25s ease-out;
}

@media (hover: hover) {
  .con07__more:hover {
    background-color: color-mix(in srgb, var(--primary) 80%, black);
  }

  .con07__more:hover .con07__more-arrow,
  .con07__more:focus-visible .con07__more-arrow {
    transform: translateX(30%);
  }

  .con07__news-list > .con07__news-card:hover {
    background-color: color-mix(in srgb, #f7f5ea 90%, #113a28);
  }

  .con07__news-list > .con07__news-card:hover .con07__news-plus {
    transform: rotate(90deg);
  }

  .con07__feature:hover .con07__feature-title,
  .con07__news-list > .con07__news-card:hover .con07__news-title {
    transform: translateX(1.2%);
  }

  .con07__arrow:hover:not(.swiper-button-disabled),
  .con07__arrow:focus-visible:not(.swiper-button-disabled) {
    transform: scale(1.1);
    background-color: color-mix(in srgb, var(--secondary) 88%, black);
  }
}

.con07__more:focus-visible {
  background-color: color-mix(in srgb, var(--primary) 80%, black);
}

.con07__cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999; /* 고정 헤더 9999 와 같은 층, 위로 떠야 함 */
  width: calc(var(--px) * 110);
  aspect-ratio: 1;
  pointer-events: none;
}

.con07__cursor-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transform: scale(.6);
  transition: transform .25s ease-out, opacity .25s ease-out;
}

.con07__cursor.is-on .con07__cursor-img {
  opacity: 1;
  transform: scale(1);
}

.con07__feature.is-follow,
.con07__feature.is-follow * {
  cursor: none;
}

/* IMG:AUTO con07 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con07__more-arrow,
.con07__arrow-icon {
    width: calc(var(--px)*18);
    aspect-ratio: 18 / 14;
}

.con07__feature-thumb {
    width: calc(var(--px)*232);
    aspect-ratio: 232 / 230;
}

.con07__news-plus {
    width: calc(var(--px)*27);
    aspect-ratio: 27 / 29;
}
/* /IMG:AUTO con07 END */

/* FONT:AUTO con07 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con07__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.44;
    text-align: center;
    color: #0f3625;
}

.con07__title {
    font-family: var(--font-pretendard);
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1.2;
    text-align: center;
    color: #000000;
}

.con07__title-accent {
    color: #0f3625;
}

.con07__desc {
    font-family: var(--font-pretendard);
    font-size: var(--bodyXL);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1.5;
    color: #222222;
}

.con07__more-label {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.44;
    text-align: center;
    color: #ffffff;
}

.con07__news {
    font-family: var(--font-pretendard);
}

.con07__feature-link {
    font-weight: 700;
}

.con07__feature-category {
    font-size: var(--bodyM);
    letter-spacing: -0.05em;
    line-height: 1.62;
    color: #eed64e;
}

.con07__feature-title {
    font-size: var(--headL);
    letter-spacing: -0.05em;
    line-height: 1.29;
    color: #ffffff;
}

.con07__news-category {
    font-size: var(--bodyM);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.62;
    color: #113a28;
}

.con07__news-title {
    font-size: var(--subheadL);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.2;
    color: #000000;
}

.con07__news-date {
    font-size: var(--subheadS);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.41;
    color: #737373;
}
/* /FONT:AUTO con07 END */

/* INK:AUTO con07 */
.con07__title { margin-top: calc(var(--px) * 27.5); margin-bottom: calc(var(--px) * -7.5); } /* base 35,0 */
.con07__title-accent { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -6.5); } /* base 0,0 */
.con07__desc { margin-top: calc(var(--px) * 27); margin-bottom: calc(var(--px) * -6); } /* base 33,0 */
.con07__eyebrow { margin-top: calc(var(--px) * -6.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con07__feature-category { margin-top: calc(var(--px) * -5.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con07__news-category { margin-top: calc(var(--px) * -5.46); margin-bottom: calc(var(--px) * -5.45); } /* base 0,0 */
.con07__feature-title { margin-top: calc(var(--px) * 40.94); margin-bottom: calc(var(--px) * -5.04); } /* base 46,0 */
.con07__news-date { margin-top: calc(var(--px) * -4.98); margin-bottom: calc(var(--px) * -4.98); } /* base 0,0 */
.con07__news-title { margin-top: calc(var(--px) * 22.8); margin-bottom: calc(var(--px) * -3.19); } /* base 26,0 */
/* /INK:AUTO con07 END */

@media (max-width: 599px) {
  .con07_iner {
    flex-direction: column;
    align-items: center;
    padding: 17.0667vw 5.3333vw;
  }

  .con07__intro {
    flex: none;
    width: 100%;
    margin-top: 0;
    align-items: center;
  }

  .con07__title { margin-top: 4.2667vw; }

  .con07__desc { margin-top: 4.2667vw; }

  .con07__more {
    margin-top: 8.5333vw;
    padding: 3.2vw 5.3333vw;
    gap: 2.1333vw;
    border-radius: 6.4vw;
  }

  .con07__news {
    flex: none;
    width: 100%;
    margin-top: 14.9333vw;
    gap: 4.2667vw;
  }

  .con07__feature { border-radius: 5.3333vw; }

  .con07__feature-link {
    min-height: auto;
    padding: 8.5333vw 8.5333vw 6.4vw;
  }

  .con07__feature-title { margin-top: 4.2667vw; }

  .con07__feature-thumb {
    top: -8.5333vw;
    right: 5.3333vw;
    width: 30vw;
  }

  .con07__news-slider.swiper { /* swiper-bundle.min.css 가 섹션 CSS 뒤에 로드돼 .swiper 마진을 덮음 */
    width: 100vw;
    margin-inline: -5.3333vw; /* .con07_iner 좌우 패딩을 상쇄해 풀폭 */
  }

  .con07__news-list > .con07__news-card {
    min-height: 48vw;
    border-radius: 4.2667vw;
  }

  .con07__news-link { padding: 8.5333vw 8.5333vw 6.4vw; }

  .con07__news-title { margin-top: 3.2vw; }

  .con07__more-arrow,
  .con07__arrow-icon { width: 4.2667vw; }

  .con07__news-plus { width: 4.8vw; }

  .con07__arrows {
    justify-content: center;
    gap: 2.1333vw;
    margin-top: 1.0667vw;
  }

  .con07__arrow {
    width: 10.6667vw;
    padding-block: 0;
    aspect-ratio: 1 / 1;
  }
}


/* /merge-build:con07 */
/* merge-build:con08 */
/* con08 — 배경 고정(시안 주석)은 bg_img 규약상 미구현. 모바일은 중앙 column 유지 */
.con08_iner {
  padding-top: calc(var(--px) * 206.5);
  padding-bottom: calc(var(--px) * 150);
}

.con08__sub {
  margin-top: calc(var(--px) * 30);
}

.con08__btn {
  margin-top: calc(var(--px) * 56);
  padding: calc(var(--px) * 20) calc(var(--px) * 48);
  gap: calc(var(--px) * 11);
  background: var(--primary);
  border-radius: calc(var(--px) * 32);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: background-color .25s ease-out;
}

.con08__btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1; /* 버튼 isolation:isolate 컨텍스트 안 — 라벨 뒤·버튼 배경 앞 */
  pointer-events: none;
  background: #eed64e;
  border-radius: inherit; /* RADIUS: 부모 버튼 radius 상속(PC 32·MO 50vw 는 부모가 소유) */
  clip-path: inset(0 100% 0 0);
  transition: clip-path .45s cubic-bezier(.22, 1, .36, 1);
}

.con08__btn .con08__btn-label {
  transition: color .3s ease-out;
}

.con08__btn-arrow {
  flex-shrink: 0;
  transition: transform .25s ease-out, filter .25s ease-out;
}

@media (hover: hover) {
  .con08__btn:hover {
    background-color: color-mix(in srgb, var(--primary) 80%, black);
  }

  .con08__btn:hover::before {
    clip-path: inset(0);
  }

  .con08__btn:hover .con08__btn-label {
    color: var(--primary);
  }

  .con08__btn:hover .con08__btn-arrow {
    transform: translateX(30%);
    filter: brightness(0);
  }
}

.con08__btn:focus-visible {
  background-color: color-mix(in srgb, var(--primary) 80%, black);
}

.con08__btn:focus-visible::before {
  clip-path: inset(0);
}

.con08__btn:focus-visible .con08__btn-label {
  color: var(--primary);
}

.con08__btn:focus-visible .con08__btn-arrow {
  transform: translateX(30%);
  filter: brightness(0);
}

@media (prefers-reduced-motion: reduce) {
  .con08__btn,
  .con08__btn::before,
  .con08__btn .con08__btn-label,
  .con08__btn-arrow {
    transition: none;
  }
}

/* IMG:AUTO con08 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con08__sub {
    width: calc(var(--px)*572);
    aspect-ratio: 572 / 21;
}

.con08__btn-arrow {
    width: calc(var(--px)*18);
    aspect-ratio: 18 / 14;
}
/* /IMG:AUTO con08 END */

/* FONT:AUTO con08 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.con08 {
    font-family: var(--font-pretendard);
    text-align: center;
    color: #ffffff;
}

.con08__title {
    font-size: var(--titleXL);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1.245; /* OVR */
}

.con08__title-accent {
    color: #eed64e;
}

.con08__btn-label {
    font-size: var(--bodyXL);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.3;
}
/* /FONT:AUTO con08 END */

/* INK:AUTO con08 */
.con08__title { margin-top: calc(var(--px) * -8.74); margin-bottom: calc(var(--px) * -8.73); } /* base 0,0 */
.con08__title-accent { margin-top: calc(var(--px) * -8.74); margin-bottom: calc(var(--px) * -5.26); } /* base 0,0 */
/* /INK:AUTO con08 END */

@media (max-width: 599px) {
  .con08_iner {
    padding-top: 21.3333vw;
    padding-bottom: 21.3333vw;
  }

  .con08__sub-text {
    margin-top: 5.3333vw;
    font-size: var(--bodyM); /* 이미지 글자는 PC 21px 짜리라 375 에서 7px — 모바일은 실텍스트로 교체 */
    line-height: 1.5;
  }

  .con08__btn {
    margin-top: 8.5333vw;
    padding: 3.2vw 8.5333vw;
    gap: 2.1333vw;
    border-radius: 50vw;
  }

  .con08__btn-arrow {
    width: 3.2vw;
  }

  /* INK 상쇄: 폰트 55→30px 비율(0.545)로 환산 */
  .con08__title { margin-top: -1.2713vw; margin-bottom: -1.2699vw; }
  .con08__title-accent { margin-top: -1.2713vw; margin-bottom: -0.7651vw; }
}

/* /merge-build:con08 */
/* merge-build:hero */
/* hero — 모바일: 박스 좌우 여백 축소·패딩 재산정 예정(PC 전용 저작) */
.hero {
  padding-top: var(--hd-h); /* 헤더가 fixed 라 그 높이만큼 박스를 내림 */
  padding-bottom: calc(var(--px)*30);
}

.hero__box {
  position: relative;
  width: calc(var(--px)*1825);
  margin-inline: auto;
  border-radius: calc(var(--px)*40);
  overflow: hidden;
  background-color: var(--primary);
}

.hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: calc(var(--px)*198) 0 calc(var(--px)*258) calc(var(--px)*192);
}

.hero__title {
  margin-top: calc(var(--px)*26);
}

.hero__desc {
  margin-top: calc(var(--px)*51);
}

/* IMG:AUTO hero */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.hero__logo {
    width: calc(var(--px)*63);
    aspect-ratio: 63 / 55;
}
/* /IMG:AUTO hero END */

/* FONT:AUTO hero */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.hero__content {
    font-family: var(--font-pretendard);
    color: #ffffff;
}

.hero__title {
    font-size: var(--displayS);
    font-weight: 700;
    letter-spacing: -0.06em;
    line-height: 1.17; /* OVR */
}

.hero__title-accent {
    color: #eed64e;
}

.hero__desc {
    font-size: var(--bodyXL);
    font-weight: 300;
    letter-spacing: -0.04em;
    line-height: 1.4;
}

.hero__desc-strong {
    font-weight: 700;
}
/* /FONT:AUTO hero END */

/* INK:AUTO hero */
.hero__title-accent { margin-top: calc(var(--px) * -9.19); margin-bottom: calc(var(--px) * -9.79); } /* base 0,0 */
.hero__title { margin-top: calc(var(--px) * 16.81); margin-bottom: calc(var(--px) * -8.15); } /* base 26,0 */
.hero__desc { margin-top: calc(var(--px) * 46); margin-bottom: calc(var(--px) * -5); } /* base 51,0 */
.hero__desc-strong { margin-top: calc(var(--px) * -5); margin-bottom: calc(var(--px) * -1); } /* base 0,0 */
/* /INK:AUTO hero END */

@media (max-width:599px) {
  .hero {
    padding-top: var(--hd-h);
    padding-bottom: 4.2667vw;
  }

  .hero__box {
    width: 91.4667vw;
    border-radius: 6.4vw;
  }

  .hero__box > img {
    object-position: 25% center;
  }

  .hero__content {
    align-items: center;
    padding: 21.3333vw 4.2667vw;
  }

  .hero__logo {
    width: 10.6667vw;
  }

  .hero__title {
    margin-top: 4.2667vw;
  }

  .hero__desc {
    margin-top: 8.5333vw;
  }
}

/* /merge-build:hero */