.header {
  width: 100%;
  height: var(--header-height);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  z-index: 1000;
  transition: var(--transition);
  background: #0000004d;
  border-bottom: 1px solid #ffffff0d;
  align-items: center;
  display: flex;
  position: fixed;
  top: 0;
  left: 0
}

.header__nav-container {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex
}

.header__logo {
  filter: brightness(0)invert();
  width: auto;
  height: 50px;
  transition: opacity .25s
}

.header__logo-link:hover .header__logo {
  opacity: .85
}

.header__nav {
  display: flex
}

.header__nav-list {
  gap: 40px;
  display: flex
}

.header__nav-item {
  padding: 14px 0;
  position: relative
}

.header__nav-link {
  color: #fff;
  transition: var(--transition);
  letter-spacing: -.02em;
  font-size: 1.1rem;
  font-weight: 500
}

.header__nav-item:hover .header__nav-link {
  color: #fff;
  opacity: .8
}

.header__submenu {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  opacity: 0;
  visibility: hidden;
  background: #0a0a0aeb;
  border: 1px solid #ffffff14;
  border-top: 2px solid #e8112a;
  border-radius: 4px;
  min-width: 180px;
  padding: 8px 0;
  transition: opacity .22s, transform .22s, visibility .22s;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%)translateY(8px);
  box-shadow: 0 12px 32px #00000073, inset 0 1px #ffffff0a
}

.header__nav-item:hover .header__submenu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%)translateY(0)
}

.header__submenu-item {
  padding: 0
}

.header__submenu-link {
  color: #ffffffb8;
  white-space: nowrap;
  letter-spacing: -.01em;
  padding: 10px 20px;
  font-size: .92rem;
  font-weight: 500;
  transition: color .18s, background .18s;
  display: block
}

.header__submenu-link:hover {
  color: #fff;
  background: #e8112a1f
}

.header__cta .btn-primary:hover {
  background: #e8112a;
  box-shadow: 0 6px 20px #e8112a66
}

.header__cta {
  align-items: center;
  display: flex
}

@media (max-width:1024px) {
  .header__nav {
    display: none
  }
}

.hero {
  background-color: #000;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  display: flex;
  position: relative;
  overflow: hidden
}

.hero__background {
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.hero__video-bg {
  object-fit: cover;
  width: 100%;
  height: 100%
}

.hero__overlay {
  z-index: 2;
  background: linear-gradient(#0006 0%, #0003 60%, #000 100%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.hero__content {
  text-align: center;
  color: #fff;
  z-index: 10;
  padding: 0 20px;
  position: relative
}

.hero__title {
  word-break: keep-all;
  filter: drop-shadow(0 4px 16px #0000004d)drop-shadow(0 1px 2px #00000080);
  margin-bottom: 40px;
  font-size: 6.5rem;
  font-weight: 700;
  line-height: 1.1
}

.hero__word {
  color: #0000;
  -webkit-text-stroke: 2px #ffffffd9;
  animation: 1s ease-out forwards hero__stroke-to-fill;
  display: inline
}

.hero__word-accent {
  color: #0000;
  -webkit-text-stroke: 2px #ffffffd9;
  animation: 1s ease-out forwards hero__stroke-to-fill-red;
  display: inline
}

.hero__subtitle {
  font-size: 1.8rem;
  font-weight: 500;
  font-family: var(--font-vitro-core), sans-serif;
  opacity: .9;
  letter-spacing: -.01em;
  margin-bottom: 8px;
  animation: 1s ease-out .2s both hero__fade-up
}

.hero__subtitle-accent {
  color: #e8112a;
  font-weight: 700
}

.hero__subtitle-sub {
  opacity: .65;
  letter-spacing: -.01em;
  margin-bottom: 32px;
  font-size: 1.1rem;
  font-weight: 400;
  animation: 1s ease-out .3s both hero__fade-up
}

.hero__head {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 20px;
  animation: 1s ease-out 1.5s both hero__fade-up;
}

.hero__stat-badge {
  border: 1.5px solid var(--primary);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
  letter-spacing: .04em;
  background: #310e1380;
  border-radius: 100px;
  margin-bottom: 32px;
  padding: 10px 28px;
  font-size: 1.1rem;
  font-weight: 500;
  animation: 1s ease-out both hero__fade-up;
  display: inline-block
}

.hero__stat-badge strong {
  color: #e8102a;
  font-weight: 700
}

.hero__cta-wrapper {
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  animation: 1s ease-out .5s both hero__fade-up;
  display: flex
}

.hero__btn-primary {
  color: #111;
  cursor: pointer;
  letter-spacing: -.01em;
  background: #fff;
  border: none;
  border-radius: 0;
  padding: 20px 60px;
  font-family: inherit;
  font-size: 1.4rem;
  font-weight: 700;
  transition: all .3s cubic-bezier(.4, 0, .2, 1)
}

.hero__btn-primary:hover {
  background: #ffffffe0;
  transform: translateY(-2px)
}

.hero__btn-secondary {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #fff;
  cursor: pointer;
  background: #ffffff0f;
  border: 2px solid #ffffffb3;
  border-radius: 0;
  padding: 20px 60px;
  font-family: inherit;
  font-size: 1.4rem;
  font-weight: 600;
  transition: all .3s cubic-bezier(.4, 0, .2, 1)
}

.hero__btn-secondary:hover {
  background: #ffffff24;
  border-color: #fff
}

@keyframes hero__fade-up {
  0% {
    opacity: 0;
    transform: translateY(40px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes hero__stroke-to-fill-red {
  0% {
    color: #0000;
    -webkit-text-stroke: 2px #ffffffd9;
    opacity: 0
  }

  15% {
    opacity: 1
  }

  to {
    color: #e8112a;
    -webkit-text-stroke: 0px transparent;
    opacity: 1
  }
}

@keyframes hero__stroke-to-fill {
  0% {
    color: #0000;
    -webkit-text-stroke: 2px #ffffffd9;
    opacity: 0
  }

  15% {
    opacity: 1
  }

  to {
    color: #fff;
    -webkit-text-stroke: 0px transparent;
    opacity: 1
  }
}

@media (max-width:1200px) {
  .hero__title {
    font-size: 5rem
  }
}

@media (max-width:768px) {
  .hero__title {
    font-size: 3.5rem
  }

  .hero__subtitle {
    font-size: 1.3rem
  }

  .hero__subtitle-sub {
    font-size: .95rem
  }
}

.stats-ticker__outer {
  width: 100%;
  padding: 0;
}

.stats-ticker__wrapper {
  background: #0d0002;
  align-items: center;
  width: 100%;
  height: 150px;
  padding: 0 90px;
  display: flex;
  position: relative;
  overflow: hidden
}

.stats-ticker__frame {
  pointer-events: none;
  z-index: 1;
  border: 1.5px solid #fe1700;
  position: absolute;
  inset: 0
}

.stats-ticker__corner {
  z-index: 2;
  pointer-events: none;
  width: 72px;
  height: auto;
  position: absolute
}

.stats-ticker__corner-t-l {
  top: 0;
  left: 0
}

.stats-ticker__corner-t-r {
  top: 0;
  right: 0;
  transform: scaleX(-1)
}

.stats-ticker__corner-b-l {
  bottom: 0;
  left: 0;
  transform: scaleY(-1)
}

.stats-ticker__corner-b-r {
  bottom: 0;
  right: 0;
  transform: scaleX(-1)scaleY(-1)
}

.stats-ticker__ticker-outer {
  width: 100%;
  overflow: hidden
}

.stats-ticker__ticker-track {
  width: max-content;
  animation: 28s linear infinite stats-ticker__ticker;
  display: flex
}

.stats-ticker__ticker-item {
  white-space: nowrap;
  color: #fff;
  letter-spacing: .03em;
  align-items: center;
  font-size: 1.35rem;
  font-weight: 600;
  display: inline-flex
}

.stats-ticker__sep {
  color: #fe1700;
  margin: 0 36px;
  font-size: .8rem;
  line-height: 1
}

@keyframes stats-ticker__ticker {
  0% {
    transform: translate(0)
  }

  to {
    transform: translate(-50%)
  }
}

.why__section {
  background-image: url(../images/bg01.jpg);
  background-position: 50%;
  background-size: cover;
  background-attachment: fixed;
  width: 100%;
  padding: 140px 20px;
  position: relative;
  overflow: hidden
}

.why__overlay {
  z-index: 1;
  background: #00000059;
  position: absolute;
  inset: 0
}

.why__content {
  z-index: 2;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
  position: relative
}

.why__title {
  font-size: 4rem;
  font-family: var(--font-vitro-core);
  color: #fff;
  letter-spacing: -.02em;
  margin-bottom: 24px;
  font-weight: 800
}

.why__subtitle {
  color: #ffffffd9;
  word-break: keep-all;
  margin-bottom: 80px;
  font-size: 1.3rem;
  font-weight: 400
}

.why__grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  display: grid
}

.why__card {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  text-align: center;
  background: #0009;
  border: none;
  border-radius: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 48px 24px;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  box-shadow: 0 10px 30px #0000004d, inset 0 0 0 1px #ffffff14
}

.why__card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px #e8102a26, inset 0 0 0 4px #e8102a
}

.why__card-top {
  color: #fff9;
  letter-spacing: .02em;
  margin-bottom: 16px;
  font-size: 1rem;
  font-weight: 500
}

.why__card-mid {
  font-family: var(--font-vitro-core), sans-serif;
  color: #fff;
  margin-bottom: 16px;
  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1.1
}

.why__card-mid span {
  margin-left: 4px;
  font-size: 2rem;
  font-weight: 700
}

.why__accent {
  color: #e8102a
}

.why__divider {
  background: #fff3;
  width: 40px;
  height: 2px;
  margin: 16px auto;
  transition: all .3s
}

.why__card:hover .why__divider {
  background: #e8102a;
  width: 60px
}

.why__card-bot {
  color: #ffffffe6;
  word-break: keep-all;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.5
}

.why__solution-card {
  opacity: 0;
  background: #fff;
  margin-top: 40px;
  padding: 56px 0 64px;
  position: relative;
  overflow: hidden;
  transform: translateY(28px)
}

#brand-solution .why__solution-card::after {
  content: "";
  pointer-events: none;
  background: url("../images/jjambbong-symbol.svg") center center/min(200%, 820px) no-repeat;
  opacity: .10;
  filter: brightness(0) saturate(100%) invert(22%) sepia(35%) saturate(800%) hue-rotate(118deg) brightness(0.85);
  position: absolute;
  inset: 0;
  z-index: 0
}

.why__section.why__visible .why__solution-card {
  animation: .7s cubic-bezier(.16, 1, .3, 1) .3s both why__reveal-up
}

.why__solution-card:before {
  content: "";
  -webkit-mask-composite: xor;
  pointer-events: none;
  z-index: 3;
  background: linear-gradient(120deg, #114436 0% 38%, #4ad9a3 50%, #114436 62% 100%) 0 0/250% 100%;
  padding: 2px;
  animation: 3.2s linear infinite why__border-shimmer;
  position: absolute;
  inset: 5px;
  -webkit-mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-source-type: auto, auto;
  mask-mode: match-source, match-source
}

@keyframes why__border-shimmer {
  0% {
    background-position: 200% 0
  }

  to {
    background-position: -50% 0
  }
}

@keyframes why__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.why__solution-label {
  text-align: center;
  color: #114436;
  letter-spacing: .18em;
  z-index: 2;
  margin-bottom: 36px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  display: block;
  position: relative
}

.why__solution-grid {
  z-index: 2;
  grid-template-columns: repeat(3, 1fr);
  display: grid;
  position: relative
}

.why__sol-col {
  opacity: 0;
  border-right: 1px solid #1144362e;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 40px;
  display: flex
}

.why__sol-col:last-child {
  border-right: none
}

.why__section.why__visible .why__sol-col {
  animation: .6s cubic-bezier(.16, 1, .3, 1) both why__reveal-up;
  animation-delay: calc(.55s + var(--col) * .12s)
}

.why__sol-num {
  font-family: var(--font-vitro-core), sans-serif;
  color: #114436;
  letter-spacing: .04em;
  margin-bottom: 18px;
  font-size: 1.4rem;
  font-weight: 800
}

.why__sol-text {
  color: #111;
  letter-spacing: -.02em;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1.5;
  text-align: left;
}

.why__food-img {
  pointer-events: none;
  z-index: 4;
  opacity: 0;
  width: 170px;
  height: auto;
  position: absolute;
  transform: translateY(28px)scale(.85)
}

.why__section.why__visible .why__food-img {
  animation: .9s cubic-bezier(.16, 1, .3, 1) both why__food-in, 5.5s ease-in-out infinite why__food-float
}

.why__food-img-1 {
  transform-origin: 0 100%;
  animation-delay: 1.1s, 2s;
  top: -56px;
  right: -38px
}

.why__food-img-2 {
  transform-origin: 100% 0;
  animation-delay: 1.3s, 2.2s;
  bottom: -90px;
  left: -80px
}

@keyframes why__food-in {
  to {
    opacity: 1;
    transform: translateY(0)scale(1)
  }
}

@keyframes why__food-float {

  0%,
  to {
    transform: translateY(0)rotate(-2deg)
  }

  50% {
    transform: translateY(-14px)rotate(2deg)
  }
}

@media (max-width:1024px) {
  .why__grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .why__solution-grid {
    grid-template-columns: 1fr
  }

  .why__sol-col {
    border-bottom: 1px solid #1144362e;
    border-right: none;
    padding: 28px 36px
  }

  .why__sol-col:last-child {
    border-bottom: none
  }

  .why__solution-card {
    padding: 48px 0 56px
  }

  #brand-solution .why__solution-card::after {
    background-size: min(120vh, 400px)
  }

  .why__food-img {
    width: 130px
  }

  .why__food-img-1 {
    top: -40px;
    right: -20px
  }

  .why__food-img-2 {
    bottom: -70px;
    left: -50px
  }
}

@media (max-width:768px) {
  .why__section {
    padding: 100px 20px
  }

  .why__title {
    font-size: 2.5rem
  }

  .why__grid {
    grid-template-columns: 1fr
  }

  .why__sol-text {
    font-size: 1.05rem
  }

  .why__sol-num {
    margin-bottom: 16px;
    font-size: 1.15rem
  }

  .why__food-img {
    width: 100px
  }
}

.features__section {
  background-image: url(../images/bg02.jpg);
  background-position: 50%;
  background-size: cover;
  background-attachment: fixed;
  width: 100%;
  padding: 140px 20px;
  position: relative;
  overflow: hidden
}

.features__overlay {
  z-index: 1;
  background: #0000000d;
  position: absolute;
  inset: 0
}

.features__content {
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  position: relative
}

.features__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  display: grid
}

.features__card {
  background: #111;
  border: 1px solid #ffffff0d;
  border-radius: 0;
  flex-direction: column;
  padding: 40px 32px;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  box-shadow: 0 10px 30px #0003
}

.features__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px #0000004d
}

.features__icon-wrapper {
  color: var(--primary);
  margin-bottom: 24px
}

.features__card-title {
  color: #fff;
  letter-spacing: -.02em;
  margin-bottom: 16px;
  font-size: 1.4rem;
  font-weight: 700
}

.features__card-desc {
  color: #ffffffb3;
  word-break: keep-all;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.6
}

@media (max-width:1024px) {
  .features__grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width:768px) {
  .features__section {
    padding: 100px 20px
  }

  .features__grid {
    grid-template-columns: 1fr
  }
}

.video__section {
  color: #fff;
  background-color: #000;
  padding: 180px 20px 100px;
  position: relative;
  overflow: hidden
}

.video__container {
  z-index: 2;
  flex-direction: column;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  position: relative
}

.video__header {
  max-width: 1200px;
  margin: 0 auto;
}

.video__symbol-bg {
  opacity: .1;
  pointer-events: none;
  z-index: 1;
  width: 900px;
  height: auto;
  position: absolute;
  top: -150px;
  right: -200px;
  transform: rotate(20deg)
}

.video__title-wrapper {
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-bottom: 100px;
  display: flex
}

.video__line-1,
.video__line-2 {
  font-family: var(--font-vitro-core);
  white-space: nowrap;
  opacity: 0;
  letter-spacing: -.02em;
  font-size: 5.5rem;
  font-weight: 800;
  line-height: 1.2
}

.video__line-1 {
  color: #fff;
  margin-right: 15%;
  transform: translate(-50vw)
}

.video__line-2 {
  color: #e8112a;
  margin-left: 15%;
  transform: translate(50vw)
}

.video__animate .video__line-1 {
  animation: 1.2s cubic-bezier(.25, 1, .5, 1) forwards video__slide-in-left
}

.video__animate .video__line-2 {
  animation: 1.2s cubic-bezier(.25, 1, .5, 1) .3s forwards video__slide-in-right
}

@keyframes video__slide-in-left {
  0% {
    opacity: 0;
    transform: translate(-50vw)
  }

  to {
    opacity: 1;
    transform: translate(0)
  }
}

@keyframes video__slide-in-right {
  0% {
    opacity: 0;
    transform: translate(50vw)
  }

  to {
    opacity: 1;
    transform: translate(0)
  }
}

.video__video-container {
  aspect-ratio: 16/9;
  cursor: pointer;
  opacity: 0;
  border: 1px solid #ffffff1a;
  border-radius: 0;
  width: 100%;
  transition: opacity 1s, transform 1s cubic-bezier(.25, 1, .5, 1);
  position: relative;
  overflow: hidden;
  transform: translateY(40px);
  box-shadow: 0 30px 60px #000c
}

.video__animate .video__video-container {
  opacity: 1;
  transition-delay: .8s;
  transform: translateY(0)
}

.video__thumbnail-video {
  object-fit: cover;
  filter: grayscale();
  pointer-events: none;
  width: 100%;
  height: 100%;
  transition: transform .7s cubic-bezier(.25, 1, .5, 1), filter .5s
}

.video__thumbnail-video::-webkit-media-controls {
  -webkit-appearance: none;
  display: none !important
}

.video__thumbnail-video::-webkit-media-controls-enclosure {
  -webkit-appearance: none;
  display: none !important
}

.video__thumbnail-video::-webkit-media-controls-panel {
  -webkit-appearance: none;
  display: none !important
}

.video__thumbnail-video::-webkit-media-controls-start-playback-button {
  -webkit-appearance: none;
  display: none !important
}

.video__video-container:hover .video__thumbnail-video {
  filter: grayscale(0%);
  transform: scale(1.03)
}

.video__play-overlay {
  background: #00000080;
  justify-content: center;
  align-items: center;
  transition: background .5s;
  display: flex;
  position: absolute;
  inset: 0
}

.video__video-container:hover .video__play-overlay {
  background: #0003
}

.video__play-button {
  color: #fff;
  background: #e8102a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  transition: all .4s cubic-bezier(.25, 1, .5, 1);
  display: flex
}

.video__play-button svg {
  margin-left: 6px
}

.video__video-container:hover .video__play-button {
  transform: scale(1.15);
  box-shadow: 0 0 0 15px #e8102a33
}

.video__lightbox {
  z-index: 9999;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  background: #000000f2;
  justify-content: center;
  align-items: center;
  padding: 40px;
  animation: .4s cubic-bezier(.25, 1, .5, 1) video__fade-in;
  display: flex;
  position: fixed;
  inset: 0
}

@keyframes video__fade-in {
  0% {
    opacity: 0;
    -webkit-backdrop-filter: blur();
    backdrop-filter: blur()
  }

  to {
    opacity: 1;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px)
  }
}

.video__close-btn {
  color: #fff;
  cursor: pointer;
  z-index: 10000;
  background: #ffffff1a;
  border: 1px solid #fff3;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  transition: all .3s cubic-bezier(.25, 1, .5, 1);
  display: flex;
  position: absolute;
  top: 40px;
  right: 40px
}

.video__close-btn:hover {
  background: #e8102a;
  border-color: #e8102a;
  transform: rotate(90deg)scale(1.1)
}

.video__lightbox-content {
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 16px;
  width: 100%;
  max-width: 1400px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 40px 100px #000c
}

.video__full-video {
  object-fit: contain;
  width: 100%;
  height: 100%
}

@media (max-width:1024px) {

  .video__line-1,
  .video__line-2 {
    font-size: 4.5rem
  }
}

@media (max-width:768px) {
  .video__section {
    padding: 120px 20px
  }

  .video__title-wrapper {
    margin-bottom: 60px
  }

  .video__line-1,
  .video__line-2 {
    font-size: 40px
  }

  .video__line-1 {
    margin-right: 0
  }

  .video__line-2 {
    margin-left: 0
  }

  .video__play-button {
    width: 70px;
    height: 70px
  }

  .video__lightbox {
    padding: 20px
  }

  .video__close-btn {
    width: 44px;
    height: 44px;
    top: 20px;
    right: 20px
  }
}

.cooking-steps__section {
  padding: 40px 0 120px;
  position: relative;
  overflow: hidden
}

.cooking-steps__section::after {
  content: "";
  background: #000;
  position: absolute;
  inset: 0;
  z-index: 0
}

.cooking-steps__section::before {
  content: "";
  pointer-events: none;
  background: url("../images/jjambbong-symbol.svg") top center/min(80vw, 720px) no-repeat;
  opacity: .15;
  position: absolute;
  inset: 0;
  z-index: 1
}

.cooking-steps__section>.cooking-steps__inner {
  position: relative;
  z-index: 2
}

.cooking-steps__inner {
  grid-template-columns: 320px 1fr;
  align-items: start;
  gap: 72px;
  display: grid
}

.cooking-steps__eyebrow {
  letter-spacing: .18em;
  color: #fe1700;
  margin-bottom: 16px;
  font-size: .75rem;
  font-weight: 600
}

.cooking-steps__heading {
  color: #fff;
  word-break: keep-all;
  margin-bottom: 48px;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.2
}

.cooking-steps__step-list {
  flex-direction: column;
  gap: 2px;
  display: flex
}

.cooking-steps__step-item {
  cursor: pointer;
  border-left: 3px solid #0000;
  border-radius: 0 4px 4px 0;
  align-items: center;
  gap: 10px;
  padding: 18px 20px;
  transition: all .25s;
  display: flex
}

.cooking-steps__step-item:hover {
  background: #ffffff08;
  border-left-color: #fe170059
}

.cooking-steps__step-item.cooking-steps__active {
  background: #fe170012;
  border-left-color: #fe1700
}

.cooking-steps__num {
  font-size: 1.5rem;
  font-weight: 700;
  font-family: var(--font-vitro-core), sans-serif;
  color: #fff3;
  min-width: 44px;
  transition: color .25s
}

.cooking-steps__step-item.cooking-steps__active .cooking-steps__num {
  color: #fe1700
}

.cooking-steps__step-title {
  color: #fff6;
  font-size: 1.2rem;
  font-weight: 500;
  transition: color .25s
}

.cooking-steps__step-item:hover .cooking-steps__step-title {
  color: #ffffffb3
}

.cooking-steps__step-item.cooking-steps__active .cooking-steps__step-title {
  color: #fff;
  font-weight: 600
}

.cooking-steps__video-wrapper {
  aspect-ratio: 16/9;
  background: #000;
  width: 100%;
  position: relative;
  overflow: hidden
}

.cooking-steps__video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block
}

.cooking-steps__desc {
  align-items: flex-start;
  gap: 24px;
  margin-top: 28px;
  display: flex
}

.cooking-steps__desc-num {
  font-size: 3.5rem;
  font-weight: 700;
  font-family: var(--font-vitro-core), sans-serif;
  color: #fe1700;
  opacity: .25;
  flex-shrink: 0;
  line-height: 1
}

.cooking-steps__desc-title {
  color: #fff;
  margin-bottom: 8px;
  font-size: 1.4rem;
  font-weight: 700;
  display: block
}

.cooking-steps__desc-text {
  color: #ffffff8c;
  word-break: keep-all;
  font-size: 1.15rem;
  line-height: 1.8
}

.cooking-steps__main {
  min-width: 0;
  width: 100%
}

.cooking-steps__carousel {
  display: block
}

.cooking-steps__nav {
  display: none
}

.cooking-steps__slide-head {
  display: none
}

.cooking-steps__swiper {
  width: 100%;
  min-width: 0;
  min-height: var(--cooking-steps-slide-min-h, 520px)
}

.cooking-steps__swiper .swiper-wrapper {
  min-height: inherit
}

.cooking-steps__swiper .swiper-slide {
  height: auto;
  box-sizing: border-box
}

.cooking-steps__slide-body {
  display: flex;
  flex-direction: column
}

@media (min-width:901px) {
  .cooking-steps__swiper {
    overflow: visible
  }

  .cooking-steps__swiper .swiper-wrapper {
    display: block;
    height: auto !important;
    transform: none !important
  }

  .cooking-steps__swiper .swiper-slide {
    width: 100% !important;
    margin: 0 !important
  }

  .cooking-steps__swiper {
    min-height: var(--cooking-steps-slide-min-h, 560px);
    position: relative
  }

  .cooking-steps__swiper .swiper-wrapper {
    position: relative;
    min-height: inherit
  }

  .cooking-steps__swiper>.swiper-wrapper>.cooking-steps__panel {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .5s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1), visibility .5s;
    transform: translateY(10px);
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%
  }

  .cooking-steps__swiper>.swiper-wrapper>.cooking-steps__panel.cooking-steps__panel--active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    position: absolute
  }
}

.cooking-steps__step-item:focus-visible {
  outline: 2px solid #fe1700;
  outline-offset: 2px
}

@media (max-width:900px) {
  .cooking-steps__inner {
    grid-template-columns: 1fr;
    gap: 28px
  }

  .cooking-steps__heading {
    font-size: 2rem;
    margin-bottom: 0
  }

  .cooking-steps__step-list {
    display: none
  }

  .cooking-steps__carousel {
    position: relative;
    display: block
  }

  .cooking-steps__swiper {
    overflow: hidden
  }

  .cooking-steps__nav {
    cursor: pointer;
    color: #fff;
    z-index: 3;
    background: #0009;
    border: 1px solid #ffffff40;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    transition: background .2s, border-color .2s;
    display: inline-flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
  }

  .cooking-steps__nav--prev {
    left: 8px
  }

  .cooking-steps__nav--next {
    right: 8px
  }

  .cooking-steps__nav:hover {
    background: #fe1700bf;
    border-color: #fe1700
  }

  .cooking-steps__nav:focus-visible {
    outline: 2px solid #fe1700;
    outline-offset: 2px
  }

  .cooking-steps__slide-head {
    border-bottom: 2px solid #fe1700;
    background: #fe170012;
    border-radius: 4px 4px 0 0;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px 10px;
    display: flex
  }

  .cooking-steps__slide-head .cooking-steps__num {
    color: #fe1700;
    min-width: 32px;
    font-size: 1.25rem
  }

  .cooking-steps__slide-head .cooking-steps__step-title {
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35
  }

  .cooking-steps__desc {
    margin-top: 20px
  }

  .cooking-steps__desc-num {
    font-size: 2.5rem
  }

  .cooking-steps__desc-title {
    font-size: 1.2rem
  }

  .cooking-steps__desc-text {
    font-size: 1rem
  }
}

@media (min-width:901px) and (prefers-reduced-motion:reduce) {
  .cooking-steps__swiper>.swiper-wrapper>.cooking-steps__panel {
    transition: none
  }
}

.conversion__section {
  color: #111;
  background-color: #fff;
  padding: 160px 20px;
  position: relative;
  overflow: hidden
}

#startup.conversion__section::before {
  content: "";
  pointer-events: none;
  background: url("../images/jjambbong-symbol.svg") center 20px/min(70vw, 720px) no-repeat;
  opacity: .10;
  filter: brightness(0) saturate(100%) invert(22%) sepia(35%) saturate(800%) hue-rotate(118deg) brightness(0.85);
  position: absolute;
  inset: 0;
  z-index: 0
}

#startup .conversion__container {
  position: relative;
  z-index: 1
}

.conversion__container {
  text-align: center;
  max-width: 1200px;
  margin: 0 auto
}

.conversion__title {
  letter-spacing: -.02em;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3;
  font-family: var(--font-vitro-core);
  margin-bottom: 24px
}

.conversion__title span {
  display: block
}

.conversion__subtitle {
  color: #555;
  word-break: keep-all;
  margin-bottom: 80px;
  font-size: 1.25rem
}

.conversion__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  display: grid
}

.conversion__card {
  color: #fff;
  text-align: center;
  background: #111;
  border-radius: 0;
  flex-direction: column;
  align-items: center;
  padding: 64px 40px;
  transition: transform .3s, box-shadow .3s;
  display: flex;
  box-shadow: 0 10px 30px #0000001a
}

.conversion__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px #0003
}

.conversion__icon-wrapper {
  color: #e8112a;
  margin-bottom: 32px
}

.conversion__card-title {
  margin-bottom: 16px;
  font-size: 1.6rem;
  font-weight: 700
}

.conversion__card-desc {
  color: #ffffffa6;
  word-break: keep-all;
  font-size: 1.1rem;
  line-height: 1.6
}

@media (max-width:1024px) {
  .conversion__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .conversion__section {
    padding: 100px 20px
  }

  .conversion__grid {
    grid-template-columns: 1fr
  }

  .conversion__title {
    font-size: 2.2rem
  }

  .conversion__card {
    padding: 40px 24px
  }
}

.revenue__section {
  color: #111;
  background-color: #fff;
  padding: 0 20px 60px;
  position: relative;
  overflow: hidden
}

.revenue__container {
  z-index: 2;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
  position: relative
}

.revenue__title {
  color: #111;
  letter-spacing: -.02em;
  margin-top: 80px;
  margin-bottom: 30px;
  font-size: 2rem;
  font-weight: 700
}

.revenue__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  display: grid
}

.revenue__card {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #ffffff4d;
  border: 1px solid #fffc;
  border-radius: 0;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 64px 40px;
  transition: transform .3s, box-shadow .3s;
  display: flex;
  position: relative;
  box-shadow: 0 15px 35px #0000000d, inset 0 0 0 1px #fff3;
  contain: layout style
}

.revenue__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px #0000001a
}

.revenue__card-header {
  color: #666;
  margin-bottom: 40px;
  font-size: 1.1rem;
  font-weight: 600
}

.revenue__revenue-wrapper {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 5.5rem;
  margin-bottom: 40px;
  display: flex
}

.revenue__before {
  color: #888;
  white-space: nowrap;
  font-size: 1.6rem;
  font-weight: 600
}

.revenue__before-strike {
  color: #888;
  white-space: nowrap;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: line-through
}

.revenue__arrow {
  color: #e8112a;
  transform: rotate(90deg)
}

.revenue__after {
  color: #e8112a;
  white-space: nowrap;
  font-size: 3.5rem;
  font-weight: 800;
  font-family: var(--font-vitro-core), sans-serif;
  line-height: 1;
  display: inline-block;
  text-align: center;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0
}

.revenue__net {
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;
  margin-top: -16px;
  margin-bottom: 32px;
  padding: 20px 16px;
  background: linear-gradient(135deg, #fff9e6 0%, #fff3cc 100%);
  border: 2px solid #daa520;
  display: flex;
  box-shadow: 0 8px 20px #daa52026
}

.revenue__net-label {
  color: #8b6914;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .02em
}

.revenue__net-value {
  color: #b8860b;
  white-space: nowrap;
  font-size: 2.4rem;
  font-weight: 800;
  font-family: var(--font-vitro-core), sans-serif;
  line-height: 1.1;
  text-shadow: 0 1px 0 #ffffff80;
  display: inline-block;
  text-align: center;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0
}

.revenue__net-note {
  color: #a67c00;
  font-size: .85rem;
  font-weight: 600
}

.revenue__card-footer {
  color: #999;
  font-size: .95rem
}

.revenue__coin {
  color: #fff;
  opacity: .8;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at 30% 30%, gold, #daa520, #b8860b);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 160px;
  height: 160px;
  font-family: serif;
  font-size: 80px;
  font-weight: 700;
  display: flex;
  position: absolute;
  box-shadow: inset 0 0 20px #fffc, inset 0 0 5px #ffffff80, 0 8px #b8860b, 0 15px 25px #0000004d
}

.revenue__coin:before {
  content: "₩";
  color: #b8860be6;
  text-shadow: 1px 1px #fffc
}

.revenue__coin-1 {
  animation: 6s ease-in-out infinite revenue__float-1;
  top: 10%;
  left: 8%
}

.revenue__coin-2 {
  opacity: .15;
  width: 80px;
  height: 80px;
  font-size: 40px;
  animation: 8s ease-in-out infinite revenue__float-2;
  bottom: 15%;
  left: 12%;
  box-shadow: inset 0 0 10px #ffffff80, 0 6px #8b6508, 0 10px 15px #00000080
}

.revenue__coin-3 {
  width: 150px;
  height: 150px;
  font-size: 80px;
  animation: 7s ease-in-out infinite revenue__float-3;
  top: 15%;
  right: 8%;
  box-shadow: inset 0 0 15px #ffffff80, 0 12px #8b6508, 0 18px 25px #00000080
}

.revenue__coin-4 {
  opacity: .2;
  animation: 9s ease-in-out infinite revenue__float-4;
  bottom: 20%;
  right: 12%
}

@keyframes revenue__float-1 {

  0%,
  to {
    transform: translateY(0)rotateY(20deg)rotate(-10deg)
  }

  50% {
    transform: translateY(-20px)rotateY(20deg)rotate(-10deg)
  }
}

@keyframes revenue__float-2 {

  0%,
  to {
    transform: translateY(0)rotateY(-30deg)rotate(15deg)
  }

  50% {
    transform: translateY(-15px)rotateY(-30deg)rotate(15deg)
  }
}

@keyframes revenue__float-3 {

  0%,
  to {
    transform: translateY(0)rotateY(-20deg)rotate(20deg)
  }

  50% {
    transform: translateY(-30px)rotateY(-20deg)rotate(20deg)
  }
}

@keyframes revenue__float-4 {

  0%,
  to {
    transform: translateY(0)rotateY(40deg)rotate(-20deg)
  }

  50% {
    transform: translateY(-25px)rotateY(40deg)rotate(-20deg)
  }
}

@media (max-width:1024px) {
  .revenue__revenue-wrapper {
    flex-direction: column;
    gap: 8px
  }

  .revenue__arrow {
    transform: rotate(90deg)
  }

  .revenue__after {
    font-size: 2rem
  }

  .revenue__net-value {
    font-size: 1.8rem
  }
}

@media (max-width:768px) {
  .revenue__grid {
    grid-template-columns: 1fr
  }

  .revenue__section {
    padding: 0 20px 60px
  }

  .revenue__title {
    margin-top: 24px;
    margin-bottom: 36px;
    font-size: 1.6rem
  }

  .revenue__coin {
    opacity: .35;
    width: 70px;
    height: 70px;
    font-size: 32px;
    display: flex;
    box-shadow: inset 0 0 8px #fff9, 0 4px #b8860b, 0 8px 12px #00000040
  }

  .revenue__coin-1 {
    width: 80px;
    height: 80px;
    font-size: 36px;
    top: 4%;
    left: -22px
  }

  .revenue__coin-2 {
    display: none
  }

  .revenue__coin-3 {
    width: 72px;
    height: 72px;
    font-size: 32px;
    top: 8%;
    right: -24px
  }

  .revenue__coin-4 {
    opacity: .25;
    width: 56px;
    height: 56px;
    font-size: 26px;
    bottom: 6%;
    right: -16px
  }
}

.benefit-banner__wrapper {
  width: 100%;
  position: relative
}

.benefit-banner__top-lines {
  background-color: #0000;
  width: 100%;
  height: 14px;
  margin-top: 160px;
  position: relative
}

.benefit-banner__top-lines:before {
  content: "";
  background-color: #85000d;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 5px;
  left: 0
}

.benefit-banner__top-lines:after {
  content: "";
  background-color: #85000d;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0
}

.benefit-banner__section {
  background: #85000d;
  justify-content: center;
  margin-top: 5px;
  margin-bottom: 0;
  padding: 160px 20px;
  display: flex;
  position: relative;
  overflow: hidden
}

.benefit-banner__bottom-lines {
  background-color: #080001;
  width: 100%;
  height: 19px;
  position: relative
}

.benefit-banner__bottom-lines:before {
  content: "";
  background-color: #85000d;
  width: 100%;
  height: 3px;
  position: absolute;
  top: 5px;
  left: 0
}

.benefit-banner__bottom-lines:after {
  content: "";
  background-color: #85000d;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 10px;
  left: 0
}

.benefit-banner__card-container {
  z-index: 10;
  justify-content: center;
  width: 100%;
  padding: 40px 20px 0;
  display: flex;
  position: relative
}

.benefit-banner__card {
  background-color: #111;
  border: 1px solid #ffffff26;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  overflow: hidden
}

.benefit-banner__main-content {
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: 40px;
  padding: 40px 48px;
  display: grid
}

.benefit-banner__title {
  font-family: var(--font-vitro-core), sans-serif;
  color: #fff;
  word-break: keep-all;
  margin-bottom: 16px;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.1
}

.benefit-banner__title span {
  color: #e8112a
}

.benefit-banner__desc {
  color: #fff9;
  word-break: keep-all;
  max-width: 500px;
  font-size: 1rem;
  line-height: 1.6
}

.benefit-banner__counter-box {
  flex-direction: column;
  display: flex
}

.benefit-banner__counter-header {
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
  display: flex
}

.benefit-banner__counter-label {
  color: #ffffff80;
  letter-spacing: .1em;
  font-size: .7rem;
  font-weight: 700
}

.benefit-banner__real-time {
  color: #fff6;
  letter-spacing: .1em;
  font-size: .65rem
}

.benefit-banner__number-row {
  align-items: flex-end;
  gap: 8px;
  margin-bottom: 12px;
  line-height: 1;
  display: flex
}

.benefit-banner__main-number {
  font-family: var(--font-vitro-core), sans-serif;
  color: #fff;
  font-size: clamp(3.5rem, 8vw, 5rem)
}

.benefit-banner__total-number {
  font-family: var(--font-vitro-core), sans-serif;
  color: #ffffff4d;
  margin-bottom: 6px;
  font-size: 1.8rem
}

.benefit-banner__team-text {
  color: #fff;
  margin-bottom: 8px;
  font-size: 1.4rem
}

.benefit-banner__progress-bar {
  background: #ffffff0d;
  border: 1px solid #fff3;
  height: 10px;
  margin-bottom: 8px;
  position: relative
}

.benefit-banner__progress-fill {
  background: #fff;
  transition: width 1s ease-out;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  overflow: hidden
}

.benefit-banner__progress-shine {
  background: linear-gradient(90deg, #0000 0%, #fff6 50%, #0000 100%);
  animation: 3.2s ease-in-out infinite benefit-banner__bar-shine;
  position: absolute;
  inset: 0
}

@keyframes benefit-banner__bar-shine {
  0% {
    transform: translate(-100%)
  }

  60%,
  to {
    transform: translate(200%)
  }
}

.benefit-banner__progress-labels {
  justify-content: space-between;
  margin-bottom: 24px;
  display: flex
}

.benefit-banner__progress-min-max {
  color: #fff6;
  letter-spacing: .1em;
  font-size: .6rem
}

.benefit-banner__progress-current {
  color: #fff;
  letter-spacing: .1em;
  font-size: .6rem;
  font-weight: 700
}

.benefit-banner__cta-button {
  color: #fff;
  cursor: pointer;
  background: #e8112a;
  border: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 16px 20px;
  font-size: 1.1rem;
  font-weight: 700;
  transition: background .3s;
  display: flex
}

.benefit-banner__cta-button:hover {
  background: #cc0f25
}

.benefit-banner__cta-button svg {
  margin-left: auto;
  transition: transform .2s
}

.benefit-banner__cta-button:hover svg {
  transform: translate(4px)
}

.benefit-banner__ticker-strip {
  background: #0a0a0a;
  border-top: 1px solid #ffffff1a;
  align-items: stretch;
  display: flex
}

.benefit-banner__ticker-label {
  background: #333;
  border-right: 1px solid #ffffff1a;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  display: flex
}

.benefit-banner__ticker-label-text {
  color: #fff;
  letter-spacing: .1em;
  font-size: .7rem;
  font-weight: 700
}

.benefit-banner__ticker-window {
  flex: 1;
  height: 24px;
  margin: auto 24px;
  position: relative;
  overflow: hidden
}

.benefit-banner__ticker-track {
  flex-direction: column;
  transition: transform .5s ease-out;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.benefit-banner__ticker-item {
  color: #ffffffd9;
  white-space: nowrap;
  text-overflow: ellipsis;
  align-items: center;
  flex-shrink: 0;
  height: 24px;
  font-size: .85rem;
  display: flex;
  overflow: hidden
}

.benefit-banner__ticker-item-dot {
  color: #e8112a;
  margin-right: 8px;
  font-size: .5rem
}

.benefit-banner__ticker-item-time {
  color: #fff6;
  margin-left: 8px
}

@media (max-width:1024px) {
  .benefit-banner__main-content {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 24px
  }

  .benefit-banner__stats-cards,
  [class*="BenefitBanner-module"][class*="__statsCards"] {
    grid-template-columns: 1fr;
    gap: 16px
  }
}

.benefit-banner__stats-container {
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  display: flex
}

.benefit-banner__stats-header {
  text-align: center;
  margin-bottom: 48px
}

.benefit-banner__stats-title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  margin-bottom: 24px;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

.benefit-banner__stats-sub {
  color: #fffc;
  word-break: keep-all;
  font-size: 1.1rem
}

.benefit-banner__stats-cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
  display: grid
}

.benefit-banner__stat-card {
  background: #fff;
  border-radius: 0;
  flex-direction: column;
  justify-content: space-between;
  min-height: 240px;
  padding: 40px 32px;
  display: flex
}

.benefit-banner__stat-label {
  color: #333;
  margin-bottom: 4px;
  font-size: 1.2rem;
  font-weight: 700
}

.benefit-banner__stat-sub-label {
  color: #666;
  margin-bottom: auto;
  font-size: .85rem
}

.benefit-banner__stat-value {
  font-family: var(--font-vitro-core), sans-serif;
  color: #111;
  margin-top: 40px;
  font-size: clamp(3rem, 5vw, 4.5rem);
  line-height: 1
}

.benefit-banner__stat-value span {
  margin-left: 4px;
  font-size: 1.5rem
}

.benefit-banner__stat-num {
  font-size: 4rem !important;
}

.benefit-banner__stat-value-red {
  font-family: var(--font-vitro-core), sans-serif;
  color: #e8112a;
  text-shadow: 0 0 20px #e8112a26;
  margin-top: 40px;
  font-size: clamp(3rem, 5vw, 4.5rem);
  line-height: 1
}

.benefit-banner__stat-value-red span {
  margin-left: 4px;
  font-size: 1.5rem
}

@media (max-width:1024px) {
  .benefit-banner__stats-title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .benefit-banner__stats-title {
    font-size: 2.2rem
  }

  .benefit-banner__stats-header {
    margin-bottom: 32px
  }

  .benefit-banner__stats-sub {
    font-size: .95rem
  }

  .benefit-banner__stats-cards,
  [class*="BenefitBanner-module"][class*="__statsCards"] {
    grid-template-columns: 1fr;
    gap: 12px
  }

  .benefit-banner__stat-card,
  [class*="BenefitBanner-module"][class*="__statCard"] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    min-height: 0;
    padding: 24px 20px
  }

  .benefit-banner__stat-value,
  .benefit-banner__stat-value-red,
  [class*="BenefitBanner-module"][class*="__statValue"],
  [class*="BenefitBanner-module"][class*="__statValueRed"] {
    margin-top: 8px;
    font-size: 2.4rem
  }

  .benefit-banner__stat-num,
  [class*="BenefitBanner-module"][class*="__statNum"] {
    font-size: 2.4rem !important
  }

  .benefit-banner__stat-label,
  [class*="BenefitBanner-module"][class*="__statLabel"] {
    font-size: 1rem
  }

  .benefit-banner__stat-sub-label,
  [class*="BenefitBanner-module"][class*="__statSubLabel"] {
    margin-bottom: 0
  }

  .benefit-banner__ranking-row-head,
  [class*="BenefitBanner-module"][class*="__rankingRowHead"] {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px
  }
}

.benefit-banner__ranking-card {
  background: #111;
  border: 1px solid #ffffff14;
  width: 100%;
  margin-top: 24px;
  padding: 48px 56px;
  position: relative;
  overflow: hidden
}

.benefit-banner__ranking-header {
  margin-bottom: 40px
}

.benefit-banner__ranking-title {
  color: #fff;
  letter-spacing: -.01em;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.5rem;
  font-weight: 700
}

.benefit-banner__ranking-list {
  flex-direction: column;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex
}

.benefit-banner__ranking-row {
  flex-direction: column;
  gap: 14px;
  display: flex
}

.benefit-banner__ranking-row-head {
  justify-content: space-between;
  align-items: baseline;
  display: flex
}

.benefit-banner__ranking-name-wrap {
  align-items: baseline;
  gap: 14px;
  display: flex
}

.benefit-banner__ranking-rank {
  font-family: var(--font-vitro-core), sans-serif;
  color: #ffffff59;
  letter-spacing: .08em;
  font-size: .85rem
}

.benefit-banner__ranking-row-top .benefit-banner__ranking-rank {
  color: #e8112a
}

.benefit-banner__ranking-name {
  color: #fff;
  letter-spacing: -.01em;
  font-size: 1.05rem;
  font-weight: 600
}

.benefit-banner__ranking-value {
  color: #e8112a;
  letter-spacing: -.01em;
  font-size: 1rem;
  font-weight: 700
}

.benefit-banner__ranking-row-top .benefit-banner__ranking-value {
  text-shadow: 0 0 12px #e8112a8c
}

.benefit-banner__ranking-track {
  background: #ffffff0f;
  border-radius: 999px;
  width: 100%;
  height: 8px;
  position: relative;
  overflow: hidden
}

.benefit-banner__ranking-fill {
  background: #c40d22;
  border-radius: 999px;
  width: 0;
  transition: width 1.6s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0
}

.benefit-banner__ranking-fill-top {
  background: linear-gradient(90deg, #ff1f3a 0%, #e8112a 60%, #ff3b52 100%);
  box-shadow: 0 0 12px #e8112ab3, 0 0 28px #e8112a73, 0 0 48px #e8112a40
}

.benefit-banner__ranking-shine {
  background: linear-gradient(90deg, #0000 0%, #ffffff80 50%, #0000 100%);
  animation: 3s ease-in-out infinite benefit-banner__ranking-shine;
  position: absolute;
  inset: 0
}

@keyframes benefit-banner__ranking-shine {
  0% {
    transform: translate(-100%)
  }

  60%,
  to {
    transform: translate(200%)
  }
}

.benefit-banner__ranking-footnote {
  text-align: right;
  color: #fff6;
  letter-spacing: .02em;
  margin-top: 32px;
  font-size: .78rem
}

@media (max-width:768px) {
  .benefit-banner__ranking-card {
    padding: 32px 24px
  }

  .benefit-banner__ranking-title {
    font-size: 1.2rem
  }

  .benefit-banner__ranking-list {
    gap: 24px
  }

  .benefit-banner__ranking-name {
    font-size: .95rem
  }

  .benefit-banner__ranking-value {
    font-size: .85rem
  }
}

.revenue-channels__section {
  background: #080001;
  padding: 160px 0 0;
  position: relative;
  overflow: hidden
}

.revenue-channels__inner {
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative
}

.revenue-channels__header {
  text-align: center;
  margin-bottom: 96px
}

.revenue-channels__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  margin-bottom: 24px;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

@media (max-width:1024px) {
  .revenue-channels__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .revenue-channels__title {
    font-size: 2.2rem
  }

  .revenue-channels__header {
    margin-bottom: 60px
  }

  .revenue-channels__section {
    padding: 100px 0 0
  }
}

.revenue-channels__subtitle {
  color: #fff9;
  word-break: keep-all;
  max-width: 640px;
  margin: 0 auto;
  font-size: 1.1rem;
  line-height: 1.7
}

.revenue-channels__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: 100%;
  display: grid
}

@media (max-width:1024px) {
  .revenue-channels__grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width:640px) {
  .revenue-channels__grid {
    grid-template-columns: 1fr
  }
}

.revenue-channels__card {
  aspect-ratio: 1;
  cursor: default;
  opacity: 0;
  background: #050505;
  position: relative;
  overflow: hidden;
  transform: translateY(28px)
}

.revenue-channels__grid.revenue-channels__visible .revenue-channels__card {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both revenue-channels__card-in
}

@keyframes revenue-channels__card-in {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.revenue-channels__card-bg {
  background: #050505;
  position: absolute;
  inset: 0;
  overflow: hidden
}

.revenue-channels__card-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .7s cubic-bezier(.16, 1, .3, 1);
  display: block
}

.revenue-channels__card:hover .revenue-channels__card-image {
  transform: scale(1.06)
}

.revenue-channels__card-overlay {
  pointer-events: none;
  background: linear-gradient(#000000c7 0%, #00000073 35%, #0000 70%);
  position: absolute;
  inset: 0
}

.revenue-channels__card-content {
  flex-direction: column;
  padding: 48px 44px;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.revenue-channels__card-eyebrow {
  color: #e8112a;
  letter-spacing: .06em;
  margin-bottom: 18px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  font-weight: 700
}

.revenue-channels__card-title {
  color: #fff;
  letter-spacing: -.02em;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 16px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1.2;
  display: inline-flex
}

.revenue-channels__card-mod {
  color: #fff9;
  letter-spacing: -.01em;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 500
}

.revenue-channels__card-desc {
  color: #ffffffb3;
  word-break: keep-all;
  max-width: 90%;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.55
}

@media (max-width:1280px) {
  .revenue-channels__card-content {
    padding: 40px 36px
  }

  .revenue-channels__card-title {
    font-size: 2.1rem
  }

  .revenue-channels__card-mod {
    font-size: 1.05rem
  }
}

@media (max-width:1024px) {
  .revenue-channels__card-content {
    padding: 36px 32px
  }

  .revenue-channels__card-title {
    font-size: 2rem
  }

  .revenue-channels__card-eyebrow {
    margin-bottom: 14px;
    font-size: .92rem
  }
}

@media (max-width:640px) {
  .revenue-channels__card {
    aspect-ratio: 16/10
  }

  .revenue-channels__card-content {
    padding: 32px 28px
  }

  .revenue-channels__card-title {
    font-size: 1.8rem
  }

  .revenue-channels__card-mod {
    font-size: .95rem
  }

  .revenue-channels__card-desc {
    font-size: .92rem
  }
}

.worry__section {
  background: #080001;
  padding: 160px 20px 0 20px;
  position: relative;
  overflow: hidden
}

.worry__inner {
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  position: relative
}

.worry__header {
  text-align: center;
  margin-bottom: 96px
}

.worry__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

@media (max-width:1024px) {
  .worry__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .worry__title {
    font-size: 2.2rem
  }

  .worry__header {
    margin-bottom: 60px
  }

  .worry__section {
    padding: 100px 20px
  }
}

.worry__stage {
  flex-direction: column;
  gap: 36px;
  display: flex
}

.worry__pain-card {
  opacity: 0;
  background: #1a1a1c;
  border: 1px solid #ffffff0f;
  grid-template-columns: repeat(3, 1fr);
  display: grid;
  transform: translateY(28px)
}

.worry__stage.worry__visible .worry__pain-card {
  animation: .7s cubic-bezier(.16, 1, .3, 1) both worry__reveal-up
}

.worry__pain-col {
  opacity: 0;
  border-right: 1px solid #ffffff12;
  flex-direction: column;
  padding: 44px 36px 40px;
  display: flex;
  position: relative
}

.worry__pain-col:last-child {
  border-right: none
}

.worry__stage.worry__visible .worry__pain-col {
  animation: .6s cubic-bezier(.16, 1, .3, 1) both worry__reveal-up;
  animation-delay: calc(.25s + var(--col) * .12s)
}

.worry__col-num {
  font-family: var(--font-vitro-core), sans-serif;
  color: #ffffff2e;
  letter-spacing: .04em;
  margin-bottom: 24px;
  font-size: 1.4rem;
  font-weight: 800
}

.worry__icon-badge {
  color: #ffffffb3;
  background: #ffffff0f;
  border: 1px solid #ffffff1f;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 22px;
  display: flex
}

.worry__pain-title {
  color: #fffffff2;
  letter-spacing: -.02em;
  word-break: keep-all;
  margin-bottom: 14px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.45
}

.worry__pain-desc {
  color: #ffffff80;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .92rem;
  font-weight: 400;
  line-height: 1.65
}

.worry__solution-card {
  opacity: 0;
  background: #fff;
  padding: 56px 0 64px;
  position: relative;
  transform: translateY(28px)
}

.worry__stage.worry__visible .worry__solution-card {
  animation: .7s cubic-bezier(.16, 1, .3, 1) .5s both worry__reveal-up
}

.worry__solution-card:before {
  content: "";
  -webkit-mask-composite: xor;
  pointer-events: none;
  z-index: 3;
  background: linear-gradient(120deg, #114436 0% 38%, #4ad9a3 50%, #114436 62% 100%) 0 0/250% 100%;
  padding: 2px;
  animation: 3.2s linear infinite worry__border-shimmer;
  position: absolute;
  inset: 5px;
  -webkit-mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-source-type: auto, auto;
  mask-mode: match-source, match-source
}

@keyframes worry__border-shimmer {
  0% {
    background-position: 200% 0
  }

  to {
    background-position: -50% 0
  }
}

.worry__solution-label {
  text-align: center;
  color: #114436;
  letter-spacing: .18em;
  z-index: 2;
  margin-bottom: 36px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  display: block;
  position: relative
}

.worry__solution-grid {
  z-index: 2;
  grid-template-columns: repeat(3, 1fr);
  display: grid;
  position: relative
}

.worry__sol-col {
  opacity: 0;
  border-right: 1px solid #1144362e;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 40px;
  display: flex
}

.worry__sol-col:last-child {
  border-right: none
}

.worry__stage.worry__visible .worry__sol-col {
  animation: .6s cubic-bezier(.16, 1, .3, 1) both worry__reveal-up;
  animation-delay: calc(.85s + var(--col) * .12s)
}

.worry__sol-num {
  font-family: var(--font-vitro-core), sans-serif;
  color: #114436;
  letter-spacing: .04em;
  margin-bottom: 18px;
  font-size: 1.4rem;
  font-weight: 800
}

.worry__sol-text {
  color: #111;
  letter-spacing: -.02em;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1.5
}

.worry__food-img {
  pointer-events: none;
  z-index: 4;
  opacity: 0;
  width: 170px;
  height: auto;
  position: absolute;
  transform: translateY(28px)scale(.85)
}

.worry__stage.worry__visible .worry__food-img {
  animation: .9s cubic-bezier(.16, 1, .3, 1) both worry__food-in, 5.5s ease-in-out infinite worry__food-float
}

.worry__food-img-1 {
  transform-origin: 0 100%;
  animation-delay: 1.1s, 2s;
  top: -56px;
  right: -38px
}

.worry__food-img-2 {
  transform-origin: 100% 0;
  animation-delay: 1.3s, 2.2s;
  bottom: -90px;
  left: -80px
}

@keyframes worry__food-in {
  to {
    opacity: 1;
    transform: translateY(0)scale(1)
  }
}

@keyframes worry__food-float {

  0%,
  to {
    transform: translateY(0)rotate(-2deg)
  }

  50% {
    transform: translateY(-14px)rotate(2deg)
  }
}

@keyframes worry__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:1024px) {

  .worry__pain-card,
  .worry__solution-grid {
    grid-template-columns: 1fr
  }

  .worry__pain-col {
    border-bottom: 1px solid #ffffff12;
    border-right: none
  }

  .worry__pain-col:last-child {
    border-bottom: none
  }

  .worry__sol-col {
    border-bottom: 1px solid #1144362e;
    border-right: none;
    padding: 28px 36px
  }

  .worry__sol-col:last-child {
    border-bottom: none
  }

  .worry__solution-card {
    padding: 48px 0 56px
  }

  .worry__food-img {
    width: 130px
  }

  .worry__food-img-1 {
    top: -40px;
    right: -20px
  }

  .worry__food-img-2 {
    bottom: -70px;
    left: -50px
  }
}

@media (max-width:768px) {
  .worry__pain-col {
    padding: 32px 24px 28px
  }

  .worry__pain-title,
  .worry__sol-text {
    font-size: 1.05rem
  }

  .worry__col-num,
  .worry__sol-num {
    margin-bottom: 16px;
    font-size: 1.15rem
  }

  .worry__icon-badge {
    width: 38px;
    height: 38px;
    margin-bottom: 18px
  }

  .worry__food-img {
    width: 100px
  }
}

.local-proof-cta__section {
  background-color: #080001;
  background-image: url(../images/local-proof-cta-bg.jpg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 560px;
  padding: 160px 20px;
  display: flex;
  position: relative;
  overflow: hidden
}

.local-proof-cta__overlay {
  pointer-events: none;
  background: linear-gradient(#0000008c 0%, #0006 50%, #000000a6 100%);
  position: absolute;
  inset: 0
}

.local-proof-cta__content {
  z-index: 1;
  text-align: center;
  flex-direction: column;
  align-items: center;
  max-width: 900px;
  display: flex;
  position: relative
}

.local-proof-cta__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  opacity: 0;
  margin-bottom: 28px;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3;
  transform: translateY(24px)
}

.local-proof-cta__subtitle {
  color: #ffffffd9;
  word-break: keep-all;
  opacity: 0;
  margin-bottom: 48px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.65;
  transform: translateY(20px)
}

.local-proof-cta__cta-wrap {
  opacity: 0;
  transform: translateY(20px)
}

.local-proof-cta__cta {
  color: #111;
  cursor: pointer;
  letter-spacing: -.01em;
  background: #fff;
  border: none;
  border-radius: 0;
  padding: 20px 60px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  transition: background .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1)
}

.local-proof-cta__cta:hover {
  background: #ffffffe0;
  transform: translateY(-2px)
}

.local-proof-cta__section.local-proof-cta__visible .local-proof-cta__title {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both local-proof-cta__reveal-up
}

.local-proof-cta__section.local-proof-cta__visible .local-proof-cta__subtitle {
  animation: .8s cubic-bezier(.16, 1, .3, 1) .18s both local-proof-cta__reveal-up
}

.local-proof-cta__section.local-proof-cta__visible .local-proof-cta__cta-wrap {
  animation: .8s cubic-bezier(.16, 1, .3, 1) .36s both local-proof-cta__reveal-up
}

@keyframes local-proof-cta__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:1024px) {
  .local-proof-cta__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .local-proof-cta__section {
    min-height: 460px;
    padding: 100px 20px
  }

  .local-proof-cta__title {
    font-size: 2.2rem
  }

  .local-proof-cta__subtitle {
    margin-bottom: 36px;
    font-size: 1.02rem
  }

  .local-proof-cta__cta {
    padding: 16px 44px;
    font-size: 1.15rem
  }
}

.success-stories__section {
  background: #080001;
  padding: 160px 20px;
  position: relative;
  overflow: hidden
}

.success-stories__inner {
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  position: relative
}

.success-stories__header {
  text-align: center;
  opacity: 0;
  margin-bottom: 80px;
  transform: translateY(20px)
}

.success-stories__section.success-stories__visible .success-stories__header {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both success-stories__reveal-up
}

.success-stories__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  margin-bottom: 20px;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

.success-stories__subtitle {
  color: #fff9;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.15rem;
  line-height: 1.65
}

@keyframes success-stories__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:1024px) {
  .success-stories__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .success-stories__title {
    font-size: 2.2rem
  }

  .success-stories__header {
    margin-bottom: 56px
  }

  .success-stories__section {
    padding: 100px 20px
  }
}

.success-stories__carousel {
  opacity: 0;
  position: relative;
  transform: translateY(24px)
}

.success-stories__section.success-stories__visible .success-stories__carousel {
  animation: .8s cubic-bezier(.16, 1, .3, 1) .2s both success-stories__reveal-up
}

.success-stories__viewport {
  background: #0d0d0d;
  border: 1px solid #ffffff0f;
  overflow: hidden
}

.success-stories__track {
  transition: transform .7s cubic-bezier(.65, 0, .35, 1);
  display: flex
}

.success-stories__slide {
  flex: 0 0 100%;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: stretch;
  display: grid
}

.success-stories__image-wrap {
  background: #111;
  position: relative;
  overflow: hidden
}

.success-stories__image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0
}

.success-stories__card {
  background: #0d0d0d;
  flex-direction: column;
  justify-content: center;
  padding: 36px 44px;
  display: flex
}

.success-stories__label {
  color: #ff4f63;
  letter-spacing: .02em;
  background: #e8112a1f;
  border: 1px solid #e8112a52;
  align-self: flex-start;
  margin-bottom: 10px;
  padding: 6px 12px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .78rem;
  font-weight: 700
}

.success-stories__branch {
  color: #fff9;
  margin-bottom: 18px;
  font-size: .92rem;
  font-weight: 500
}

.success-stories__divider {
  background: #ffffff14;
  height: 1px;
  margin-bottom: 16px
}

.success-stories__revenue-block {
  margin-bottom: 18px
}

.success-stories__revenue-eyebrow {
  color: #ffffffa6;
  letter-spacing: .02em;
  margin-bottom: 6px;
  font-size: .85rem;
  font-weight: 600;
  display: block
}

.success-stories__revenue {
  font-family: var(--font-vitro-core), sans-serif;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
  line-height: 1.05;
  display: flex
}

.success-stories__num {
  color: #e8112a;
  letter-spacing: -.02em;
  font-size: 2.6rem;
  font-weight: 800
}

.success-stories__rev-arrow {
  color: #fff6;
  font-size: 1.8rem;
  font-weight: 700
}

.success-stories__unit {
  color: #fff;
  margin-left: 2px;
  font-size: 1.2rem;
  font-weight: 700
}

.success-stories__revenue-note {
  color: #e8112a;
  font-size: .9rem;
  font-weight: 700;
  display: inline-block
}

.success-stories__bullets {
  flex-direction: column;
  gap: 6px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  display: flex
}

.success-stories__bullets li {
  color: #ffffffc7;
  word-break: keep-all;
  padding-left: 20px;
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.45;
  position: relative
}

.success-stories__bullets li:before {
  content: "✓";
  color: #e8112a;
  font-weight: 800;
  position: absolute;
  top: 0;
  left: 0
}

.success-stories__background {
  color: #ffffff80;
  word-break: keep-all;
  margin-bottom: 10px;
  font-size: .85rem;
  font-weight: 400;
  line-height: 1.55
}

.success-stories__review {
  color: #fff;
  letter-spacing: -.01em;
  word-break: keep-all;
  font-size: 1rem;
  font-weight: 700
}

.success-stories__nav-btn {
  z-index: 4;
  color: #fff;
  cursor: pointer;
  background: #000000b3;
  border: 1px solid #ffffff26;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  transition: background .2s, border-color .2s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.success-stories__nav-btn:hover {
  background: #e8112a;
  border-color: #e8112a
}

.success-stories__nav-left {
  left: -26px
}

.success-stories__nav-right {
  right: -26px
}

@media (max-width:1024px) {
  .success-stories__nav-left {
    left: -15px
  }

  .success-stories__nav-right {
    right: -15px
  }

  .success-stories__nav-btn {
    width: 44px;
    height: 44px;
    background: transparent;
  }
}

.success-stories__dots {
  opacity: 0;
  justify-content: center;
  gap: 10px;
  margin-top: 36px;
  display: flex;
  transform: translateY(16px)
}

.success-stories__section.success-stories__visible .success-stories__dots {
  animation: .6s cubic-bezier(.16, 1, .3, 1) .4s both success-stories__reveal-up
}

.success-stories__dot {
  cursor: pointer;
  background: #ffffff38;
  border: none;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  padding: 0;
  transition: background .25s, width .3s
}

.success-stories__dot:hover {
  background: #ffffff73
}

.success-stories__dot-active {
  background: #e8112a;
  border-radius: 999px;
  width: 28px
}

.success-stories__dot-active:hover {
  background: #e8112a
}

.success-stories__cta-wrap {
  opacity: 0;
  justify-content: center;
  margin-top: 56px;
  display: flex;
  transform: translateY(20px)
}

.success-stories__section.success-stories__visible .success-stories__cta-wrap {
  animation: .7s cubic-bezier(.16, 1, .3, 1) .5s both success-stories__reveal-up
}

.success-stories__cta {
  color: #111;
  cursor: pointer;
  letter-spacing: -.01em;
  background: #fff;
  border: none;
  border-radius: 0;
  padding: 20px 60px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  transition: background .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1)
}

.success-stories__cta:hover {
  background: #ffffffe0;
  transform: translateY(-2px)
}

@media (max-width:768px) {
  .success-stories__cta-wrap {
    margin-top: 40px
  }

  .success-stories__cta {
    padding: 16px 44px;
    font-size: 1.15rem
  }
}

@media (max-width:900px) {
  .success-stories__slide {
    grid-template-columns: 1fr;
    min-height: 0
  }

  .success-stories__image-wrap {
    aspect-ratio: 16/10
  }

  .success-stories__card {
    padding: 40px 32px
  }

  .success-stories__num {
    font-size: 2.5rem
  }

  .success-stories__rev-arrow {
    font-size: 1.8rem
  }

  .success-stories__unit {
    font-size: 1.15rem
  }
}

@media (max-width:480px) {
  .success-stories__card {
    padding: 32px 24px
  }

  .success-stories__num {
    font-size: 2.1rem
  }

  .success-stories__label {
    font-size: .75rem
  }

  .success-stories__review {
    font-size: 1rem
  }
}

.customer-proof__section {
  background: #f4f1ed;
  padding: 160px 20px;
  position: relative
}

.customer-proof__inner {
  max-width: 1320px;
  margin: 0 auto
}

.customer-proof__header {
  text-align: center;
  opacity: 0;
  margin-bottom: 80px;
  transform: translateY(20px)
}

.customer-proof__section.customer-proof__visible .customer-proof__header {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both customer-proof__reveal-up
}

.customer-proof__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #111;
  word-break: keep-all;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

@keyframes customer-proof__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:1024px) {
  .customer-proof__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .customer-proof__title {
    font-size: 2.2rem
  }

  .customer-proof__header {
    margin-bottom: 56px
  }

  .customer-proof__section {
    padding: 100px 20px
  }
}

.customer-proof__platform-block {
  opacity: 0;
  background: #fff;
  border: 1px solid #0000000f;
  margin-bottom: 32px;
  padding: 28px 32px 32px;
  transform: translateY(24px)
}

.customer-proof__platform-block:last-child {
  margin-bottom: 0
}

.customer-proof__section.customer-proof__visible .customer-proof__platform-block {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both customer-proof__reveal-up
}

.customer-proof__section.customer-proof__visible .customer-proof__platform-block:nth-of-type(2) {
  animation-delay: .18s
}

.customer-proof__section.customer-proof__visible .customer-proof__platform-block:nth-of-type(3) {
  animation-delay: .34s
}

.customer-proof__section.customer-proof__visible .customer-proof__platform-block:nth-of-type(4) {
  animation-delay: .5s
}

.customer-proof__platform-header {
  border-bottom: 1px solid #00000014;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
  padding-bottom: 22px;
  display: flex
}

.customer-proof__platform-left {
  align-items: center;
  gap: 16px;
  display: flex
}

.customer-proof__platform-icon {
  color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex
}

.customer-proof__icon-insta {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%)
}

.customer-proof__icon-naver {
  background: #03c75a
}

.customer-proof__platform-label {
  flex-direction: column;
  gap: 2px;
  display: flex
}

.customer-proof__platform-name {
  color: #111;
  letter-spacing: -.01em;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.05rem;
  font-weight: 700
}

.customer-proof__platform-meta {
  color: #00000080;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .82rem;
  font-weight: 500
}

.customer-proof__platform-link {
  color: #0000008c;
  letter-spacing: -.01em;
  align-items: center;
  gap: 6px;
  font-size: .86rem;
  font-weight: 600;
  transition: color .2s;
  display: inline-flex
}

.customer-proof__platform-link:hover {
  color: #111
}

.customer-proof__platform-right {
  align-items: center;
  gap: 22px;
  display: flex
}

.customer-proof__rating-score {
  color: #111;
  align-items: baseline;
  gap: 6px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  display: inline-flex
}

.customer-proof__rating-score strong {
  letter-spacing: -.02em;
  font-size: 1.7rem;
  font-weight: 800
}

.customer-proof__rating-max {
  color: #0006;
  font-size: .92rem;
  font-weight: 600
}

.customer-proof__star-gold {
  color: #f5a623;
  font-size: 1.4rem
}

.customer-proof__total-count {
  color: #0000008c;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .86rem;
  font-weight: 500
}

.customer-proof__total-count strong {
  color: #111;
  font-weight: 700
}

.customer-proof__icon-naver-news {
  color: #fff;
  background: #1a1a2e
}

.customer-proof__news-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid
}

.customer-proof__news-card {
  cursor: pointer;
  background: #fafaf8;
  border: 1px solid #0000000f;
  flex-direction: column;
  transition: box-shadow .25s;
  display: flex;
  overflow: hidden;
  text-decoration: none;
  color: inherit
}

a.customer-proof__news-card:focus-visible {
  outline: 2px solid #b91c1c;
  outline-offset: 2px
}

.customer-proof__news-card:hover {
  box-shadow: 0 6px 24px #0000001a
}

.customer-proof__news-thumbnail {
  aspect-ratio: 16/9;
  background: #e4e0da;
  flex-shrink: 0;
  width: 100%;
  position: relative;
  overflow: hidden
}

.customer-proof__news-thumbnail img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1)
}

.customer-proof__news-card:hover .customer-proof__news-thumbnail img {
  transform: scale(1.05)
}

.customer-proof__news-content {
  flex-direction: column;
  flex: 1;
  gap: 12px;
  padding: 18px 20px 20px;
  display: flex
}

.customer-proof__news-title {
  color: #111;
  word-break: keep-all;
  flex: 1;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.55
}

.customer-proof__news-outlet {
  color: #00000073;
  letter-spacing: .01em;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .78rem;
  font-weight: 600;
  display: inline-block
}

button.customer-proof__news-card {
  width: 100%;
  margin: 0;
  padding: 0;
  font: inherit;
  text-align: left;
  appearance: none;
  -webkit-appearance: none
}

button.customer-proof__news-card:focus-visible {
  outline: 2px solid #b91c1c;
  outline-offset: 2px
}

.customer-proof__news-card--static {
  cursor: default
}

.customer-proof__news-card--static:hover {
  box-shadow: none
}

.customer-proof__news-card--static:hover .customer-proof__news-thumbnail img {
  transform: none
}

.media-article-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

.media-article-modal[hidden] {
  display: none !important
}

.media-article-modal__overlay {
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 100%;
  position: relative
}

.media-article-modal__backdrop {
  background: #000000bf;
  position: absolute;
  inset: 0;
  z-index: 0
}

.media-article-modal__dialog {
  background: #fff;
  border: 1px solid #00000014;
  border-radius: 12px;
  flex-direction: column;
  z-index: 1;
  width: 100%;
  max-width: 720px;
  max-height: 85vh;
  display: flex;
  overflow: hidden;
  position: relative;
  box-shadow: 0 24px 64px #00000040
}

.media-article-modal__header {
  border-bottom: 1px solid #0000000f;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  display: flex
}

.media-article-modal__heading {
  flex: 1;
  min-width: 0
}

.media-article-modal__title {
  color: #111;
  margin: 0;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.45;
  word-break: keep-all
}

.media-article-modal__outlet {
  color: #00000073;
  margin: 8px 0 0;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .82rem;
  font-weight: 600
}

.media-article-modal__outlet[hidden] {
  display: none
}

.media-article-modal__close {
  color: #0000008c;
  cursor: pointer;
  background: 0 0;
  border: none;
  flex-shrink: 0;
  align-items: center;
  padding: 4px;
  transition: color .2s;
  display: flex
}

.media-article-modal__close:hover {
  color: #111
}

.media-article-modal__body {
  flex: 1;
  padding: 24px;
  overflow-y: auto
}

.media-article-modal__article-body {
  color: #222;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .95rem;
  line-height: 1.7;
  word-break: keep-all
}

.media-article-modal__article-body p {
  margin: 0 0 1em
}

.media-article-modal__article-body p:last-child {
  margin-bottom: 0
}

.media-article-modal__article-body img {
  max-width: 100%;
  height: auto;
  border-radius: 6px
}

.media-article-modal__article-body a {
  color: #b91c1c;
  text-decoration: underline
}

.media-article-modal__footer {
  border-top: 1px solid #0000000f;
  flex-shrink: 0;
  justify-content: flex-end;
  padding: 16px 24px;
  display: flex
}

.media-article-modal__confirm {
  color: #fff;
  cursor: pointer;
  background: #b91c1c;
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .9rem;
  font-weight: 700;
  transition: background .2s
}

.media-article-modal__confirm:hover {
  background: #991b1b
}

.customer-proof__feed-grid {
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  display: grid
}

.customer-proof__feed-item {
  aspect-ratio: 1;
  background: #ececec;
  display: block;
  position: relative;
  overflow: hidden
}

.customer-proof__feed-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1);
  display: block
}

.customer-proof__feed-item:hover .customer-proof__feed-image {
  transform: scale(1.06)
}

.customer-proof__feed-overlay {
  opacity: 0;
  pointer-events: none;
  background: #0000008c;
  justify-content: center;
  align-items: center;
  gap: 18px;
  transition: opacity .25s;
  display: flex;
  position: absolute;
  inset: 0
}

.customer-proof__feed-item:hover .customer-proof__feed-overlay {
  opacity: 1
}

.customer-proof__feed-stat {
  color: #fff;
  align-items: center;
  gap: 6px;
  font-size: .95rem;
  font-weight: 700;
  display: inline-flex
}

.customer-proof__review-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  display: grid
}

.customer-proof__review-card {
  background: #fafaf8;
  border: 1px solid #0000000f;
  flex-direction: column;
  min-height: 220px;
  padding: 24px 22px 22px;
  display: flex
}

.customer-proof__stars {
  letter-spacing: .05em;
  gap: 2px;
  margin-bottom: 16px;
  font-size: 1.05rem;
  display: inline-flex
}

.customer-proof__star-filled {
  color: #f5a623
}

.customer-proof__star-empty {
  color: #00000026
}

.customer-proof__review-text {
  color: #000000c7;
  word-break: keep-all;
  flex: 1;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .92rem;
  font-weight: 400;
  line-height: 1.6
}

.customer-proof__review-meta {
  border-top: 1px solid #0000000f;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
  padding-top: 16px;
  display: flex
}

.customer-proof__review-date {
  color: #0006;
  font-size: .82rem;
  font-weight: 500
}

.customer-proof__review-branch {
  color: #e8112a;
  font-size: .82rem;
  font-weight: 700
}

@media (max-width:1024px) {
  .customer-proof__feed-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .customer-proof__review-grid,
  .customer-proof__news-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width:640px) {
  .customer-proof__platform-block {
    padding: 22px 20px 24px
  }

  .customer-proof__platform-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px
  }

  .customer-proof__platform-right {
    flex-wrap: wrap;
    gap: 14px
  }

  .customer-proof__feed-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px
  }

  .customer-proof__review-grid {
    grid-template-columns: 1fr
  }

  .customer-proof__review-card {
    min-height: 0;
    padding: 20px
  }

  .customer-proof__news-grid {
    grid-template-columns: 1fr
  }

  .customer-proof__rating-score strong {
    font-size: 1.4rem
  }
}

.space-identity__section {
  background: #080001;
  padding: 160px 20px;
  position: relative;
  overflow: hidden
}

.space-identity__inner {
  max-width: 1320px;
  margin: 0 auto
}

.space-identity__header {
  text-align: center;
  opacity: 0;
  margin-bottom: 80px;
  transform: translateY(20px)
}

.space-identity__section.space-identity__visible .space-identity__header {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both space-identity__reveal-up
}

.space-identity__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  margin-bottom: 20px;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

.space-identity__subtitle {
  color: #fff9;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.15rem;
  line-height: 1.65
}

@keyframes space-identity__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:1024px) {
  .space-identity__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .space-identity__title {
    font-size: 2.2rem
  }

  .space-identity__header {
    margin-bottom: 56px
  }

  .space-identity__section {
    padding: 100px 20px
  }
}

.space-identity__grid {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 220px;
  gap: 14px;
  display: grid
}

.space-identity__card-1 {
  grid-area: span 2/span 2
}

.space-identity__card-2 {
  grid-column: span 2
}

.space-identity__card-3,
.space-identity__card-4 {
  grid-column: span 1
}

.space-identity__card-5,
.space-identity__card-6 {
  grid-column: span 2
}

@media (max-width:1024px) {
  .space-identity__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 200px
  }

  .space-identity__card-1,
  .space-identity__card-2,
  .space-identity__card-5,
  .space-identity__card-6 {
    grid-column: span 2
  }

  .space-identity__card-1 {
    grid-area: span 2/span 2
  }

  .space-identity__card-3,
  .space-identity__card-4 {
    grid-column: span 1
  }
}

@media (max-width:640px) {
  .space-identity__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 220px;
    gap: 10px
  }

  .space-identity__card-1,
  .space-identity__card-2,
  .space-identity__card-3,
  .space-identity__card-4,
  .space-identity__card-5,
  .space-identity__card-6 {
    grid-area: span 1/span 1
  }
}

.space-identity__card {
  cursor: pointer;
  opacity: 0;
  background: #0d0d0d;
  margin: 0;
  position: relative;
  overflow: hidden;
  transform: translateY(24px)
}

.space-identity__section.space-identity__visible .space-identity__card {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both space-identity__reveal-up
}

.space-identity__placeholder {
  background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);
  transition: transform .6s cubic-bezier(.16, 1, .3, 1), filter .4s;
  position: absolute;
  inset: 0;
  overflow: hidden
}

.space-identity__image {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block
}

.space-identity__card:hover .space-identity__placeholder {
  filter: brightness(1.1);
  transform: scale(1.05)
}

.space-identity__placeholder-icon {
  color: #ffffff2e
}

.space-identity__placeholder-index {
  font-family: var(--font-vitro-core), sans-serif;
  color: #ffffff38;
  letter-spacing: .18em;
  font-size: .85rem;
  font-weight: 700
}

.space-identity__caption {
  z-index: 2;
  margin: 0;
  position: absolute;
  bottom: 20px;
  left: 20px
}

.space-identity__caption-tag {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  letter-spacing: -.01em;
  background: #000000b3;
  border: 1px solid #ffffff26;
  padding: 8px 14px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .85rem;
  font-weight: 600;
  display: inline-block
}

@media (max-width:1024px) {
  .space-identity__caption {
    bottom: 16px;
    left: 16px
  }

  .space-identity__caption-tag {
    padding: 6px 12px;
    font-size: .78rem
  }
}

.revenue-simulator__section {
  background: #191919;
  padding: 160px 20px;
  position: relative;
  overflow: hidden
}

.revenue-simulator__inner {
  max-width: 1320px;
  margin: 0 auto
}

.revenue-simulator__header {
  text-align: center;
  opacity: 0;
  margin-bottom: 80px;
  transform: translateY(20px)
}

.revenue-simulator__section.revenue-simulator__visible .revenue-simulator__header {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both revenue-simulator__reveal-up
}

.revenue-simulator__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  margin-bottom: 20px;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

.revenue-simulator__subtitle {
  color: #fff9;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.15rem;
  line-height: 1.65
}

@keyframes revenue-simulator__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:1024px) {
  .revenue-simulator__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .revenue-simulator__title {
    font-size: 2.2rem
  }

  .revenue-simulator__header {
    margin-bottom: 56px
  }

  .revenue-simulator__section {
    padding: 100px 20px
  }
}

.revenue-simulator__box {
  opacity: 0;
  transform: translateY(24px)
}

.revenue-simulator__section.revenue-simulator__visible .revenue-simulator__box {
  animation: .8s cubic-bezier(.16, 1, .3, 1) .18s both revenue-simulator__reveal-up
}

.revenue-simulator__pills {
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 48px;
  display: flex
}

.revenue-simulator__pill {
  color: #ffffffa6;
  letter-spacing: -.01em;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ffffff24;
  padding: 16px 34px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  transition: background .2s, color .2s, border-color .2s
}

.revenue-simulator__pill:hover {
  color: #fff;
  border-color: #e8112a99
}

.revenue-simulator__pill-active,
.revenue-simulator__pill-active:hover {
  color: #fff;
  background: #e8112a;
  border-color: #e8112a
}

.revenue-simulator__grid {
  grid-template-columns: 1fr 1.3fr;
  gap: 22px;
  margin-bottom: 28px;
  display: grid
}

.revenue-simulator__stats-col {
  flex-direction: column;
  gap: 22px;
  display: flex
}

.revenue-simulator__stat-card {
  background: #fafaf8;
  flex-direction: column;
  flex: 1;
  padding: 38px 42px;
  display: flex
}

.revenue-simulator__stat-label {
  color: #0009;
  margin-bottom: 18px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.05rem;
  font-weight: 600
}

.revenue-simulator__stat-value {
  font-family: var(--font-vitro-core), sans-serif;
  color: #111;
  letter-spacing: -.02em;
  margin-bottom: 16px;
  font-size: 3.4rem;
  font-weight: 800;
  line-height: 1.05
}

.revenue-simulator__stat-value span {
  color: #000000b3;
  margin-left: 6px;
  font-size: 1.3rem;
  font-weight: 700
}

.revenue-simulator__stat-note {
  color: #00000080;
  margin-top: auto;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .92rem
}

.revenue-simulator__hero-card {
  background: linear-gradient(135deg, #c80b20 0%, #85000d 100%);
  flex-direction: column;
  justify-content: center;
  padding: 56px;
  display: flex
}

.revenue-simulator__hero-label {
  color: #ffffffe0;
  letter-spacing: .04em;
  margin-bottom: 22px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.15rem;
  font-weight: 700
}

.revenue-simulator__hero-amount {
  font-family: var(--font-vitro-core), sans-serif;
  color: #fff;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 22px;
  line-height: 1.05;
  display: flex
}

.revenue-simulator__hero-eok,
.revenue-simulator__hero-rest {
  letter-spacing: -.02em;
  font-size: 4.2rem;
  font-weight: 800
}

.revenue-simulator__hero-unit {
  color: #ffffffe0;
  margin-left: 6px;
  font-size: 1.6rem;
  font-weight: 700
}

.revenue-simulator__hero-formula {
  color: #ffffffb3;
  letter-spacing: -.01em;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .95rem
}

.revenue-simulator__recovery-chip {
  color: #f5a623;
  background: #f5a62314;
  border: 1px solid #f5a62352;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 22px 28px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.08rem;
  font-weight: 600;
  display: flex
}

.revenue-simulator__recovery-chip strong {
  color: #fff;
  font-size: 1.15rem;
  font-weight: 800
}

.revenue-simulator__consult-block {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  margin-top: 56px;
  display: flex
}

.revenue-simulator__consult-text {
  color: #ffffffb3;
  word-break: keep-all;
  max-width: 640px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.6
}

.revenue-simulator__cta-wrap {
  justify-content: center;
  display: flex
}

.revenue-simulator__cta {
  color: #111;
  cursor: pointer;
  letter-spacing: -.01em;
  background: #fff;
  border: none;
  border-radius: 0;
  padding: 20px 60px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  transition: background .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1)
}

.revenue-simulator__cta:hover {
  background: #ffffffe0;
  transform: translateY(-2px)
}

@media (max-width:768px) {
  .revenue-simulator__consult-block {
    gap: 18px;
    margin-top: 40px
  }

  .revenue-simulator__consult-text {
    font-size: .98rem
  }

  .revenue-simulator__cta {
    padding: 16px 44px;
    font-size: 1.15rem
  }
}

@media (max-width:900px) {
  .revenue-simulator__grid {
    grid-template-columns: 1fr
  }

  .revenue-simulator__hero-eok,
  .revenue-simulator__hero-rest {
    font-size: 3rem
  }

  .revenue-simulator__hero-unit {
    font-size: 1.3rem
  }

  .revenue-simulator__stat-value {
    font-size: 2.6rem
  }

  .revenue-simulator__pill {
    padding: 12px 22px;
    font-size: 1rem
  }

  .revenue-simulator__hero-card {
    padding: 40px 32px
  }

  .revenue-simulator__stat-card {
    padding: 28px 30px
  }

  .revenue-simulator__recovery-chip {
    flex-wrap: wrap;
    padding: 18px 22px;
    font-size: 1rem
  }

  .revenue-simulator__recovery-chip strong {
    font-size: 1.05rem
  }
}

@media (max-width:480px) {

  .revenue-simulator__hero-eok,
  .revenue-simulator__hero-rest {
    font-size: 2.4rem
  }

  .revenue-simulator__hero-unit {
    font-size: 1.1rem
  }

  .revenue-simulator__hero-card {
    padding: 32px 26px
  }

  .revenue-simulator__stat-card {
    padding: 24px 26px
  }

  .revenue-simulator__stat-value {
    font-size: 2.1rem
  }
}

.startup-cost__section {
  background-color: #1a1410;
  background-image: url(../images/startup-cost-bg.jpg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding: 160px 20px;
  position: relative;
  overflow: hidden
}

.startup-cost__overlay {
  pointer-events: none;
  background: linear-gradient(#0009 0%, #00000073 50%, #000000a6 100%);
  position: absolute;
  inset: 0
}

.startup-cost__inner {
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  position: relative
}

.startup-cost__header {
  text-align: center;
  opacity: 0;
  margin-bottom: 80px;
  transform: translateY(20px)
}

.startup-cost__section.startup-cost__visible .startup-cost__header {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both startup-cost__reveal-up
}

.startup-cost__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  margin-bottom: 20px;
  font-size: 3.8rem;
  font-weight: 800;
  line-height: 1.3
}

.startup-cost__subtitle {
  color: #ffffffbf;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.15rem;
  line-height: 1.65
}

.startup-cost__subtitle-note {
  color: #ffffff80;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .92rem;
  line-height: 1.65
}

@keyframes startup-cost__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:1024px) {
  .startup-cost__title {
    font-size: 3rem
  }
}

@media (max-width:768px) {
  .startup-cost__title {
    font-size: 2.2rem
  }

  .startup-cost__header {
    margin-bottom: 56px
  }

  .startup-cost__section {
    background-attachment: scroll;
    padding: 100px 20px
  }
}

.startup-cost__grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-bottom: 64px;
  display: grid
}

@media (max-width:900px) {
  .startup-cost__grid {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: 48px
  }
}

.startup-cost__card {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  opacity: 0;
  background: #0f0f0fd1;
  border: 1px solid #ffffff14;
  flex-direction: column;
  padding: 48px 44px;
  display: flex;
  position: relative;
  transform: translateY(28px)
}

.startup-cost__section.startup-cost__visible .startup-cost__card {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both startup-cost__reveal-up
}

.startup-cost__card-highlight {
  background: #0f0f0fd9;
  border: 2px solid #e8112a
}

.startup-cost__badge {
  letter-spacing: -.01em;
  align-self: flex-start;
  margin-bottom: 22px;
  padding: 7px 14px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .85rem;
  font-weight: 700;
  display: inline-block
}

.startup-cost__badge-subtle {
  color: #fff9;
  background: #ffffff14;
  border: 1px solid #ffffff1a
}

.startup-cost__badge-red {
  color: #fff;
  background: #e8112a
}

.startup-cost__card-title {
  color: #fff;
  letter-spacing: -.02em;
  margin-bottom: 36px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 2.2rem;
  font-weight: 800
}

.startup-cost__rows {
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex
}

.startup-cost__row {
  border-bottom: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 22px 0;
  display: flex
}

.startup-cost__row:last-child {
  border-bottom: none
}

.startup-cost__row-label {
  color: #ffffff8c;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .95rem;
  font-weight: 500
}

.startup-cost__row-label-bold {
  color: #fff;
  font-weight: 800
}

.startup-cost__row-value {
  color: #fff;
  text-align: right;
  white-space: nowrap;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.02rem;
  font-weight: 600
}

.startup-cost__row-value-emphasis {
  color: #e8112a;
  font-size: 1.15rem;
  font-weight: 800
}

.startup-cost__cta-wrap {
  opacity: 0;
  justify-content: center;
  display: flex;
  transform: translateY(20px)
}

.startup-cost__section.startup-cost__visible .startup-cost__cta-wrap {
  animation: .7s cubic-bezier(.16, 1, .3, 1) .4s both startup-cost__reveal-up
}

.startup-cost__cta {
  color: #111;
  cursor: pointer;
  letter-spacing: -.01em;
  background: #fff;
  border: none;
  align-items: center;
  gap: 12px;
  padding: 20px 60px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  transition: background .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1);
  display: inline-flex
}

.startup-cost__cta:hover {
  background: #ffffffe0;
  transform: translateY(-2px)
}

@media (max-width:768px) {
  .startup-cost__card {
    padding: 36px 28px
  }

  .startup-cost__card-title {
    margin-bottom: 28px;
    font-size: 1.7rem
  }

  .startup-cost__row {
    gap: 12px;
    padding: 18px 0
  }

  .startup-cost__row-label {
    font-size: .88rem
  }

  .startup-cost__row-value {
    font-size: .95rem
  }

  .startup-cost__row-value-emphasis {
    font-size: 1.02rem
  }

  .startup-cost__cta {
    padding: 16px 44px;
    font-size: 1.15rem
  }
}

.contact__section {
  background-color: #0a0a0a;
  background-image: url(../images/contact-section-bg.jpg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding: 160px 20px;
  position: relative;
  overflow: hidden
}

.contact__section:before {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: #000000e6;
  position: absolute;
  inset: 0
}

.contact__inner {
  z-index: 1;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 80px;
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  position: relative
}

@media (max-width:1024px) {
  .contact__inner {
    grid-template-columns: 1fr;
    gap: 56px
  }
}

@media (max-width:768px) {
  .contact__section {
    background-attachment: scroll;
    padding: 100px 20px
  }
}

.contact__copy {
  opacity: 0;
  transform: translateY(20px)
}

.contact__section.contact__visible .contact__copy {
  animation: .8s cubic-bezier(.16, 1, .3, 1) both contact__reveal-up
}

.contact__title {
  font-family: var(--font-vitro-core), sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  word-break: keep-all;
  margin-bottom: 28px;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.25
}

.contact__title-accent {
  color: #ff3548
}

@media (max-width:1024px) {
  .contact__title {
    font-size: 2.6rem
  }
}

@media (max-width:768px) {
  .contact__title {
    font-size: 2rem
  }
}

.contact__subtitle {
  color: #ffffffb3;
  word-break: keep-all;
  margin-bottom: 44px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  line-height: 1.7
}

.contact__features {
  flex-direction: column;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex
}

.contact__feature {
  align-items: flex-start;
  gap: 18px;
  display: flex
}

.contact__feature-icon {
  color: #f56;
  background: #e8112a26;
  border: 1px solid #e8112a59;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex
}

.contact__feature-title {
  color: #fff;
  letter-spacing: -.01em;
  margin-bottom: 6px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.05rem;
  font-weight: 700
}

.contact__feature-desc {
  color: #ffffff8c;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .92rem;
  font-weight: 400;
  line-height: 1.55
}

.contact__form-card {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  opacity: 0;
  background: #0f0f0fc7;
  border: 1px solid #ffffff14;
  flex-direction: column;
  gap: 28px;
  padding: 48px 44px;
  display: flex;
  transform: translateY(20px)
}

.contact__section.contact__visible .contact__form-card {
  animation: .8s cubic-bezier(.16, 1, .3, 1) .18s both contact__reveal-up
}

.contact__form-row {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  display: grid
}

@media (max-width:480px) {
  .contact__form-row {
    grid-template-columns: 1fr
  }

  .contact__form-card {
    padding: 36px 28px
  }
}

.contact__field {
  flex-direction: column;
  display: flex
}

.contact__label {
  color: #ffffff8c;
  letter-spacing: -.01em;
  margin-bottom: 8px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .85rem;
  font-weight: 700
}

.contact__input {
  color: #fff;
  appearance: none;
  background: 0 0;
  border: none;
  border-bottom: 1px solid #ffffff2e;
  border-radius: 0;
  outline: none;
  padding: 12px 0;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  transition: border-color .2s
}

.contact__input::placeholder {
  color: #ffffff4d
}

.contact__input:focus {
  border-bottom-color: #e8112a
}

select.contact__input {
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-position: right 4px center;
  background-repeat: no-repeat;
  padding-right: 24px
}

select.contact__input option {
  color: #fff;
  background: #1a1a1a
}

.contact__region-row {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid
}

@media (max-width:480px) {
  .contact__region-row {
    grid-template-columns: 1fr
  }
}

.contact__privacy-link {
  color: #ffffff8c;
  cursor: pointer;
  text-underline-offset: 2px;
  background: 0 0;
  border: none;
  padding: 0;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: underline;
  transition: color .2s
}

.contact__privacy-link:hover {
  color: #fff
}

.contact__radio-group {
  flex-wrap: wrap;
  gap: 28px;
  padding: 12px 0;
  display: flex
}

.contact__radio {
  cursor: pointer;
  align-items: center;
  gap: 10px;
  display: inline-flex
}

.contact__radio input {
  opacity: 0;
  pointer-events: none;
  position: absolute
}

.contact__radio-mark {
  background: 0 0;
  border: 1.5px solid #fff6;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  transition: border-color .2s;
  position: relative
}

.contact__radio input:checked+.contact__radio-mark {
  border-color: #e8112a
}

.contact__radio input:checked+.contact__radio-mark:after {
  content: "";
  background: #e8112a;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.contact__radio-label {
  color: #ffffffc7;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .95rem;
  font-weight: 500
}

.contact__checkbox {
  cursor: pointer;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  display: inline-flex
}

.contact__checkbox input {
  opacity: 0;
  pointer-events: none;
  position: absolute
}

.contact__checkbox-mark {
  background: 0 0;
  border: 1.5px solid #fff6;
  width: 18px;
  height: 18px;
  transition: background .2s, border-color .2s;
  position: relative
}

.contact__checkbox input:checked+.contact__checkbox-mark {
  background: #e8112a;
  border-color: #e8112a
}

.contact__checkbox input:checked+.contact__checkbox-mark:after {
  content: "";
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  width: 4px;
  height: 9px;
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(45deg)
}

.contact__checkbox-label {
  color: #ffffffb3;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .88rem;
  font-weight: 500
}

.contact__submit {
  color: #fff;
  letter-spacing: -.01em;
  cursor: pointer;
  background: #e8112a;
  border: none;
  margin-top: 8px;
  padding: 18px 24px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  transition: background .3s cubic-bezier(.4, 0, .2, 1)
}

.contact__submit:hover {
  background: #c80b20
}

.contact__submit:disabled {
  opacity: .7;
  cursor: not-allowed
}

.contact__form-message {
  margin-top: 12px;
  padding: 12px 14px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .9rem;
  line-height: 1.5;
  word-break: keep-all
}

.contact__form-message--success {
  color: #b8f5c8;
  background: #1a3d28;
  border: 1px solid #2d6b44
}

.contact__form-message--error {
  color: #fde68a;
  background: #3d3410;
  border: 1px solid #ca8a04
}

.contact__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none
}

@keyframes contact__reveal-up {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.privacy-modal {
  position: fixed;
  inset: 0;
  z-index: 9999
}

.privacy-modal[hidden] {
  display: none !important
}

.privacy-modal__overlay {
  background: #000000bf;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  width: 100%;
  height: 100%
}

.privacy-modal__modal {
  background: #1a1a1a;
  border: 1px solid #ffffff1a;
  flex-direction: column;
  width: 100%;
  max-width: 640px;
  max-height: 80vh;
  display: flex;
  overflow: hidden
}

.privacy-modal__modal--wide {
  max-width: 720px
}

.privacy-modal__header {
  border-bottom: 1px solid #ffffff14;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  padding: 20px 28px;
  display: flex
}

.privacy-modal__title {
  color: #fff;
  margin: 0;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1.1rem;
  font-weight: 700
}

.privacy-modal__close-btn {
  color: #ffffff8c;
  cursor: pointer;
  background: 0 0;
  border: none;
  align-items: center;
  padding: 4px;
  transition: color .2s;
  display: flex
}

.privacy-modal__close-btn:hover {
  color: #fff
}

.privacy-modal__body {
  flex-direction: column;
  flex: 1;
  gap: 20px;
  padding: 24px 28px;
  display: flex;
  overflow-y: auto
}

.privacy-modal__body::-webkit-scrollbar {
  width: 4px
}

.privacy-modal__body::-webkit-scrollbar-track {
  background: #ffffff0a
}

.privacy-modal__body::-webkit-scrollbar-thumb {
  background: #ffffff2e;
  border-radius: 2px
}

.privacy-modal__intro {
  color: #ffffffa6;
  word-break: keep-all;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .875rem;
  line-height: 1.7
}

.privacy-modal__clause {
  flex-direction: column;
  gap: 8px;
  display: flex
}

.privacy-modal__clause-title {
  color: #fff;
  margin: 0 0 4px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .95rem;
  font-weight: 700
}

.privacy-modal__clause p {
  color: #fff9;
  word-break: keep-all;
  margin: 0 0 8px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .85rem;
  line-height: 1.7
}

.privacy-modal__clause p:last-child {
  margin-bottom: 0
}

.privacy-modal__clause-meta {
  color: #ffffff80 !important;
  margin-top: 12px !important;
  font-size: .8rem !important
}

.privacy-modal__footer {
  border-top: 1px solid #ffffff14;
  flex-shrink: 0;
  padding: 16px 28px 20px
}

.privacy-modal__confirm-btn {
  color: #fff;
  cursor: pointer;
  background: #e8112a;
  border: none;
  width: 100%;
  padding: 14px 24px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  transition: background .2s
}

.privacy-modal__confirm-btn:hover {
  background: #c80b20
}

.privacy-modal__section-title {
  color: #4a9eff;
  margin: 0;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .92rem;
  font-weight: 700
}

.privacy-modal__notice-box {
  background: #ffffff0f;
  border-left: 4px solid #4a9eff;
  padding: 14px 16px
}

.privacy-modal__notice-box p {
  color: #ffffffb8;
  word-break: keep-all;
  margin: 0;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .85rem;
  line-height: 1.7
}

.privacy-modal__table {
  border-collapse: collapse;
  width: 100%;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .85rem
}

.privacy-modal__table th,
.privacy-modal__table td {
  border: 1px solid #ffffff24;
  padding: 12px 14px;
  line-height: 1.6;
  text-align: left;
  vertical-align: top
}

.privacy-modal__table thead th {
  background: #ffffff12;
  color: #fff;
  font-weight: 700
}

.privacy-modal__table tbody th[scope=row] {
  background: #ffffff0a;
  color: #ffffffd9;
  font-weight: 600;
  white-space: nowrap
}

.privacy-modal__table tbody td {
  color: #ffffffa6;
  word-break: keep-all
}

.footer {
  background: #0a0a0a;
  border-top: 1px solid #ffffff0f;
  padding: 72px 20px 130px 20px;
}

.footer__inner {
  max-width: 1280px;
  margin: 0 auto
}

.footer__top {
  border-bottom: 1px solid #ffffff14;
  grid-template-columns: auto 1fr auto;
  align-items: flex-start;
  gap: 64px;
  padding-bottom: 40px;
  display: grid
}

@media (max-width:1024px) {
  .footer__top {
    grid-template-columns: 1fr;
    gap: 36px
  }
}

.footer__logo-col {
  align-items: flex-start;
  display: flex
}

.footer__logo {
  filter: brightness(0)invert();
  opacity: .95;
  width: auto;
  height: 100px
}

.footer__info-col {
  display: flex
}

.footer__info-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 40px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  width: 100%
}

@media (max-width:640px) {
  .footer__info-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 20px
  }

  .footer__info-item:nth-child(n+6) {
    grid-column: 1 / -1
  }
}

.footer__info-item {
  align-items: baseline;
  gap: 12px;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .88rem;
  line-height: 1.5;
  display: flex
}

.footer__info-label {
  color: #fff6;
  flex-shrink: 0;
  min-width: 56px;
  font-weight: 600
}

.footer__info-value {
  color: #fffc;
  word-break: keep-all;
  font-weight: 500
}

.footer__links-col {
  align-items: flex-start;
  display: flex
}

.footer__link-list {
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex
}

@media (max-width:1024px) {
  .footer__link-list {
    flex-flow: wrap;
    gap: 8px 24px
  }
}

.footer__link-item {
  color: #ffffffb3;
  letter-spacing: -.01em;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .88rem;
  font-weight: 600;
  transition: color .2s
}

.footer__link-item:hover {
  color: #fff
}

.footer__bottom {
  justify-content: center;
  padding-top: 28px;
  display: flex
}

.footer__copyright {
  color: #ffffff59;
  letter-spacing: .01em;
  text-align: center;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .82rem
}

@media (max-width:768px) {
  .footer {
    padding: 56px 20px 28px
  }
}

.floating-inquiry__bar {
  z-index: 900;
  clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
  filter: drop-shadow(0 12px 22px #0006);
  background: #114436;
  border-top: 3px solid #f5a623;
  width: 1440px;
  max-width: calc(100% - 40px);
  font-family: Pretendard Variable, Pretendard, sans-serif;
  transition: transform .55s cubic-bezier(.16, 1, .3, 1);
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translate(-50%)translateY(0)
}

.floating-inquiry__bar.floating-inquiry__hidden {
  transform: translate(-50%)translateY(calc(100% + 32px))
}

.floating-inquiry__inner {
  display: flex;
  align-items: center;       /* 세로 중앙정렬 */
  justify-content: center;   /* 필요시 가로 중앙정렬 */
  gap: 24px;
  padding: 14px 24px;
}

.floating-inquiry__left {
  flex-direction: column;
  flex-shrink: 0;
  gap: 8px;
  display: flex
}

.floating-inquiry__eyebrow {
  color: #ffffffeb;
  letter-spacing: -.01em;
  font-size: .88rem;
  font-weight: 700
}

.floating-inquiry__phone-pill {
  color: #fff;
  letter-spacing: -.01em;
  white-space: nowrap;
  background: #e8112a;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  transition: background .2s;
  display: inline-flex
}

.floating-inquiry__phone-pill:hover {
  background: #c80b20
}

.floating-inquiry__fields {
  flex: 1;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  min-width: 0;
  display: grid
}

.floating-inquiry__input {
  color: #fff;
  appearance: none;
  background: #ffffff0f;
  border: none;
  border-bottom: 1px solid #ffffff2e;
  border-radius: 0;
  outline: none;
  min-width: 0;
  padding: 12px 14px;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 500;
  transition: border-color .2s, background .2s
}

.floating-inquiry__input::placeholder {
  color: #fff6
}

.floating-inquiry__input:focus {
  background: #ffffff17;
  border-bottom-color: #e8112a
}

.floating-inquiry__select {
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23ffffff' stroke-opacity='0.6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-position: right 10px center;
  background-repeat: no-repeat;
  padding-right: 32px
}

.floating-inquiry__select-placeholder {
  color: #fff6
}

.floating-inquiry__select option {
  color: #fff;
  background: #114436
}

.floating-inquiry__right {
  flex-shrink: 0;
  align-items: center;
  gap: 18px;
  display: flex
}

.floating-inquiry__checkbox {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  display: inline-flex
}

.floating-inquiry__checkbox input {
  opacity: 0;
  pointer-events: none;
  position: absolute
}

.floating-inquiry__checkbox-mark {
  background: 0 0;
  border: 1.5px solid #ffffff80;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  transition: background .2s, border-color .2s;
  position: relative
}

.floating-inquiry__checkbox input:checked+.floating-inquiry__checkbox-mark {
  background: #e8112a;
  border-color: #e8112a
}

.floating-inquiry__checkbox input:checked+.floating-inquiry__checkbox-mark:after {
  content: "";
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  width: 4px;
  height: 8px;
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(45deg)
}

.floating-inquiry__checkbox-label {
  color: #ffffffc7;
  letter-spacing: -.01em;
  white-space: nowrap;
  align-items: center;
  gap: 2px;
  font-size: .85rem;
  font-weight: 500;
  display: flex
}

.floating-inquiry__privacy-link {
  color: #ffffff80;
  cursor: pointer;
  text-underline-offset: 2px;
  white-space: nowrap;
  background: 0 0;
  border: none;
  padding: 0;
  font-size: .85rem;
  font-weight: 600;
  text-decoration: underline;
  transition: color .2s
}

.floating-inquiry__privacy-link:hover {
  color: #fff
}

.floating-inquiry__submit {
  color: #fff;
  letter-spacing: -.01em;
  cursor: pointer;
  white-space: nowrap;
  background: #e8112a;
  border: none;
  padding: 14px 30px;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 800;
  transition: background .2s, transform .2s
}

.floating-inquiry__submit:hover {
  background: #c80b20;
  transform: translateY(-1px)
}

.floating-inquiry__submit-mobile {
  display: none
}

.floating-inquiry__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none
}

/* === 빠른 상담 모달 (모바일 전용) === */
.quick-inquiry-modal {
  position: fixed;
  inset: 0;
  z-index: 9100
}

.quick-inquiry-modal[hidden] {
  display: none !important
}

.quick-inquiry-modal__overlay {
  background: #000000cc;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 100%;
  display: flex
}

.quick-inquiry-modal__sheet {
  background: #fff;
  border-radius: 18px 18px 0 0;
  width: 100%;
  max-width: 520px;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: quick-inquiry-slide-up .25s cubic-bezier(.16, 1, .3, 1)
}

@keyframes quick-inquiry-slide-up {
  from { transform: translateY(40px); opacity: 0 }
  to { transform: translateY(0); opacity: 1 }
}

.quick-inquiry-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #00000010
}

.quick-inquiry-modal__eyebrow {
  margin: 0 0 4px;
  color: #114436;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: -.01em
}

.quick-inquiry-modal__title {
  margin: 0;
  color: #0a0a0a;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -.02em
}

.quick-inquiry-modal__close {
  background: 0 0;
  border: none;
  color: #6b6b6b;
  padding: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color .15s
}

.quick-inquiry-modal__close:hover {
  color: #0a0a0a
}

.quick-inquiry-modal__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  overflow-y: auto
}

.quick-inquiry-modal__body::-webkit-scrollbar {
  width: 4px
}

.quick-inquiry-modal__body::-webkit-scrollbar-thumb {
  background: #0000001f;
  border-radius: 2px
}

.quick-inquiry-modal__phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  color: #fff;
  background: #e8112a;
  padding: 10px 16px;
  border-radius: 999px;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s
}

.quick-inquiry-modal__phone:hover {
  background: #c80b20
}

.quick-inquiry-modal__field {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.quick-inquiry-modal__label {
  color: #6b6b6b;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: .85rem;
  font-weight: 600
}

.quick-inquiry-modal__input {
  width: 100%;
  background: #f6f7f9;
  border: 1.5px solid transparent;
  border-radius: 10px;
  padding: 13px 14px;
  color: #0a0a0a;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: 1rem;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .15s, background .15s
}

.quick-inquiry-modal__input:focus {
  outline: none;
  background: #fff;
  border-color: #e8112a
}

.quick-inquiry-modal__input::placeholder {
  color: #aaa
}

select.quick-inquiry-modal__input {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-position: right 14px center;
  background-repeat: no-repeat;
  padding-right: 36px
}

.quick-inquiry-modal__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  padding: 4px 0
}

.quick-inquiry-modal__checkbox input {
  opacity: 0;
  pointer-events: none;
  position: absolute
}

.quick-inquiry-modal__check-mark {
  width: 18px;
  height: 18px;
  border: 1.5px solid #cfd2d8;
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
  position: relative;
  transition: background .15s, border-color .15s;
  margin-top: 1px
}

.quick-inquiry-modal__checkbox input:checked + .quick-inquiry-modal__check-mark {
  background: #e8112a;
  border-color: #e8112a
}

.quick-inquiry-modal__checkbox input:checked + .quick-inquiry-modal__check-mark::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 9px;
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg)
}

.quick-inquiry-modal__check-label {
  color: #333;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: .9rem;
  line-height: 1.5
}

.quick-inquiry-modal__privacy-link {
  color: #114436;
  background: 0 0;
  border: none;
  padding: 0 0 0 4px;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer
}

.quick-inquiry-modal__message {
  padding: 10px 12px;
  border-radius: 8px;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: .85rem;
  line-height: 1.5;
  border: 1px solid transparent
}

.quick-inquiry-modal__message--error {
  background: #ffeef0;
  border-color: #f3c1c7;
  color: #b3001b
}

.quick-inquiry-modal__message--success {
  background: #e8f5ee;
  border-color: #b6dcc4;
  color: #14633a
}

.quick-inquiry-modal__footer {
  padding: 14px 20px 22px;
  border-top: 1px solid #00000010;
  background: #fff
}

.quick-inquiry-modal__submit {
  width: 100%;
  background: #e8112a;
  border: none;
  color: #fff;
  padding: 15px 20px;
  border-radius: 10px;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: background .15s
}

.quick-inquiry-modal__submit:hover {
  background: #c80b20
}

.quick-inquiry-modal__submit:disabled {
  background: #c0c0c0;
  cursor: not-allowed
}

/* === 빠른 상담 토스트 === */
.quick-inquiry-toast {
  position: fixed;
  left: 50%;
  bottom: 110px;
  transform: translateX(-50%);
  z-index: 9200;
  max-width: calc(100% - 32px);
  background: #0a0a0acc;
  color: #fff;
  border-radius: 10px;
  padding: 14px 18px;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: -.01em;
  box-shadow: 0 8px 24px #00000040;
  word-break: keep-all;
  animation: quick-inquiry-toast-in .22s ease-out
}

.quick-inquiry-toast[hidden] {
  display: none !important
}

.quick-inquiry-toast--error {
  background: #b3001bee;
  color: #fff
}

.quick-inquiry-toast--success {
  background: #114436ee;
  color: #fff
}

@keyframes quick-inquiry-toast-in {
  from { opacity: 0; transform: translate(-50%, 12px) }
  to { opacity: 1; transform: translate(-50%, 0) }
}

@media (max-width: 768px) {
  .quick-inquiry-toast {
    bottom: 96px
  }
}

@media (max-width:1100px) {
  .floating-inquiry__inner {
    gap: 18px;
    padding: 12px 20px
  }

  .floating-inquiry__fields {
    gap: 8px
  }

  .floating-inquiry__input {
    padding: 10px 12px;
    font-size: .9rem
  }

  .floating-inquiry__eyebrow {
    font-size: .82rem
  }

  .floating-inquiry__phone-pill {
    padding: 6px 12px;
    font-size: .82rem
  }

  .floating-inquiry__checkbox-label {
    font-size: .78rem
  }

  .floating-inquiry__submit {
    padding: 12px 22px;
    font-size: .92rem
  }
}

@media (max-width:768px) {
  .floating-inquiry__bar {
    clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
    border-top-width: 2px;
    width: auto;
    max-width: calc(100% - 16px);
    bottom: 12px
  }

  .floating-inquiry__bar.floating-inquiry__hidden {
    transform: translate(-50%)translateY(calc(100% + 20px))
  }

  .floating-inquiry__inner {
    justify-content: space-between;
    align-items: stretch;
    gap: 10px;
    padding: 8px 10px
  }

  .floating-inquiry__left {
    flex: 0 auto;
    gap: 0;
    min-width: 0
  }

  .floating-inquiry__eyebrow,
  .floating-inquiry__fields,
  .floating-inquiry__checkbox,
  .floating-inquiry__submit-desktop {
    display: none
  }

  .floating-inquiry__right {
    flex-shrink: 0;
    gap: 0
  }

  .floating-inquiry__submit-mobile {
    white-space: nowrap;
    justify-content: center;
    align-items: center;
    min-height: 100%;
    padding: 0 18px;
    font-size: .92rem;
    display: inline-flex
  }

  .floating-inquiry__phone-pill {
    color: #fff;
    background: 0 0;
    padding: 10px 12px;
    font-size: .82rem
  }

  .floating-inquiry__phone-pill:hover {
    background: 0 0
  }
}

@media (max-width:380px) {
  .floating-inquiry__phone-pill {
    gap: 4px;
    padding: 8px 10px;
    font-size: .76rem
  }

  .floating-inquiry__submit-mobile {
    padding: 5px 14px;
    font-size: .86rem
  }

  .floating-inquiry__inner {
    gap: 8px;
    padding: 6px 8px
  }
}

/* FAQ (DB 연동) */
.site-faq__section {
  padding: 72px 24px 80px;
  background: linear-gradient(180deg, #181818 0%, #000 100%);
}

.site-faq__inner {
  max-width: 920px;
  margin: 0 auto;
}

.site-faq__header {
  text-align: center;
  margin-bottom: 36px;
}

.site-faq__title {
  margin: 0 0 12px;
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
}

.site-faq__subtitle {
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 1rem;
}

.site-faq__list {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.site-faq__group-title {
  margin: 0 0 12px;
  font-size: .95rem;
  font-weight: 700;
  color: #ffce6b;
  letter-spacing: .02em;
}

.site-faq__item {
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  padding: 14px 0;
}

.site-faq__question {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-weight: 700;
  color: #fff;
  font-size: 1rem;
  line-height: 1.45;
}

.site-faq__question::-webkit-details-marker {
  display: none;
}

.site-faq__toggle {
  color: #ffce6b;
  font-weight: 700;
  flex-shrink: 0;
}

.site-faq__item[open] .site-faq__toggle {
  transform: rotate(45deg);
}

.site-faq__answer {
  margin-top: 12px;
  color: rgba(255, 255, 255, .82);
  font-size: .95rem;
  line-height: 1.65;
}

.site-faq__answer p {
  margin: 0 0 8px;
}

.site-faq__answer p:last-child {
  margin-bottom: 0;
}

.layer-popup {
  position: fixed;
  inset: 0;
  z-index: 10000;
}

.layer-popup[hidden] {
  display: none !important;
}

.layer-popup__overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 20px;
}

.layer-popup__dialog {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: min(560px, 92vw);
  max-height: 90vh;
  background: #111;
  border: none;
  outline: none;
  box-shadow: none;
  overflow: hidden;
}

.layer-popup__dialog:focus,
.layer-popup__dialog:focus-visible {
  outline: none;
  box-shadow: none;
}

.layer-popup__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #fff;
  cursor: pointer;
  background: #a0a0a0;
  border: none;
}

.layer-popup__close:hover {
  background: #555;
}

.layer-popup__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.layer-popup__link {
  display: block;
  line-height: 0;
  border: none;
  outline: none;
}

.layer-popup__link:focus,
.layer-popup__link:focus-visible {
  outline: none;
  box-shadow: none;
}

.layer-popup__image {
  display: block;
  width: 100%;
  height: auto;
  border: none;
  outline: none;
}

.layer-popup__footer {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-top: 1px solid #ffffff14;
}

.layer-popup__footer--simple {
  justify-content: flex-end;
}

.layer-popup__today {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffffb3;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .875rem;
  cursor: pointer;
}

.layer-popup__today-input {
  width: 16px;
  height: 16px;
  accent-color: #e85d04;
}

.layer-popup__confirm {
  padding: 10px 20px;
  color: #fff;
  font-family: Pretendard Variable, Pretendard, sans-serif;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  background: #e8112a;
  border: none;
}

.layer-popup__confirm:hover {
  background: #d45303;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}