@charset "utf-8";

.layout-home-ko {
  min-height: 100dvh;
  background: #f6f7f9;
}

/* Hero */
.home-ko-hero {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  color: var(--white);
  background: #06111e;
  --home-ko-hero-zoom-min: 1.03;
  --home-ko-hero-zoom-max: 1.12;
  --home-ko-hero-motion-duration: 7200ms;
}

.home-ko-hero .home-ko-hero-swiper.swiper {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100dvh;
}

.home-ko-hero .home-ko-hero-swiper .swiper-wrapper,
.home-ko-hero .home-ko-hero-swiper .swiper-slide {
  height: 100%;
}

.home-ko-hero-slide {
  position: relative;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.home-ko-hero-slide-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.home-ko-hero-slide-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(var(--home-ko-hero-zoom-min)) translate3d(0, 0, 0);
  transform-origin: center center;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  animation: none;
}

.home-ko-hero-slide.is-active .home-ko-hero-slide-image {
  animation: homeKoHeroSlideZoom var(--home-ko-hero-motion-duration)
    cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.home-ko-hero-slide > .container {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 100dvh;
  padding-top: clamp(120rem, calc(150 / var(--container-wide) * 100vw), 150rem);
  padding-bottom: clamp(72rem, calc(90 / var(--container-wide) * 100vw), 90rem);
}

.home-ko-hero-content {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-bottom: 56rem;
  opacity: 0;
  transform: translateY(24rem);
}

.home-ko-hero-slide.is-active .home-ko-hero-content {
  animation: homeKoHeroContentIn 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.home-ko-hero-title {
  font-size: clamp(68rem, calc(84 / var(--container-wide) * 100vw), 68rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -1px;
  text-transform: uppercase;
}

.home-ko-hero .intro-action {
  max-width: 268rem;
}

.home-ko-hero-description {
  padding-left: 10rem;
  border-left: 1px solid rgba(255, 255, 255, 0.55);
  font-size: clamp(20rem, calc(22 / var(--container-wide) * 100vw), 20rem);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.96);
}

.home-ko-hero-scroll {
  position: absolute;
  right: clamp(100rem, calc(48 / var(--container-wide) * 100vw), 100rem);
  bottom: clamp(32rem, calc(44 / var(--container-wide) * 100vw), 32rem);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.home-ko-hero-scroll:hover {
  transform: translateY(-2rem);
  opacity: 0.82;
}

.home-ko-hero-scroll:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 6px;
}

.home-ko-hero-scroll-text {
  font-size: 14rem;
  font-weight: 800;
  color: #fff;
  animation: homeKoHeroScrollFloat 2.4s ease-in-out infinite;
}

@keyframes homeKoHeroSlideZoom {
  0% {
    transform: scale(var(--home-ko-hero-zoom-min)) translate3d(0, 0, 0);
  }

  100% {
    transform: scale(var(--home-ko-hero-zoom-max)) translate3d(-0.6%, 0.4%, 0);
  }
}

@keyframes homeKoHeroContentIn {
  0% {
    opacity: 0;
    transform: translateY(24rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes homeKoHeroScrollFloat {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-ko-hero-slide-image,
  .home-ko-hero-slide.is-active .home-ko-hero-slide-image,
  .home-ko-hero-content,
  .home-ko-hero-slide.is-active .home-ko-hero-content {
    animation: none;
    transform: none;
    opacity: 1;
  }

  .home-ko-hero-scroll-text {
    animation: none;
  }

  .home-ko-hero-scroll {
    transition: none;
  }
}

@media (width < 1280px) {
  .home-ko-hero-content {
    width: min(100%, 680rem);
    margin-left: clamp(0rem, calc(24 / var(--container) * 100vw), 24rem);
  }

  .home-ko-hero-title {
    font-size: clamp(48rem, calc(66 / var(--container) * 100vw), 66rem);
  }

  .home-ko-hero-description {
    font-size: clamp(18rem, calc(20 / var(--container) * 100vw), 20rem);
  }
}

@media (width < 767px) {
  .home-ko-hero-slide > .container {
    align-items: flex-end;
    padding-top: 120rem;
    padding-bottom: 100rem;
  }

  .home-ko-hero-content {
    width: 100%;
    margin-left: 0;
  }

  .home-ko-hero-slide-image {
    object-position: 62% center;
  }

  .home-ko-hero-title {
    font-size: clamp(34rem, calc(42 / 390 * 100vw), 42rem);
    line-height: 1.1;
  }

  .home-ko-hero .intro-action {
    width: min(100%, 260rem);
  }

  .home-ko-hero-description {
    margin-top: 20rem;
    padding-left: 14rem;
    font-size: 16rem;
  }

  .home-ko-hero-scroll {
    right: 16rem;
    bottom: 18rem;
  }

  .home-ko-hero-scroll-text {
    font-size: 12rem;
  }
}

/* About */
.home-ko-about {
  position: relative;
  padding: 144rem 0;
  background: #f6f7f9;
}

.home-ko-about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(44rem, calc(42 / var(--container-wide) * 100vw), 44rem);
  align-items: stretch;
}

.home-ko-about-media {
  margin: 0;
  border-radius: 20rem;
  overflow: hidden;
  min-height: clamp(420rem, calc(520 / var(--container-wide) * 100vw), 520rem);
  background: #d9d9d9;
}

.home-ko-about-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-ko-about-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 32rem;
  border-radius: 12rem;
  background: #fff;
}

.home-ko-about-eyebrow {
  margin-bottom: 16px;
  font-size: clamp(20rem, calc(18 / var(--container-wide) * 100vw), 20rem);
  font-weight: 700;
  color: var(--primary);
}

.home-ko-about-title {
  margin-bottom: 55px;
  font-size: clamp(48rem, calc(60 / var(--container-wide) * 100vw), 48rem);
  font-weight: 700;
  color: #111;
}

.home-ko-about-description {
  margin-bottom: 24px;
  font-size: clamp(18rem, calc(20 / var(--container-wide) * 100vw), 20rem);
  font-weight: 400;
  color: #3b3b3b;
}

.home-ko-about .intro-action {
  min-width: 225rem;
  padding-left: 16rem;
  background-color: #fff;
  color: var(--primary);
  border: 1px solid var(--primary);
}

.home-ko-about .intro-action:hover {
  background-color: var(--primary);
  color: #fff;
}

.home-ko-about .intro-action-label {
  font-size: 20rem;
}

@media (width < 1280px) {
  .home-ko-about-grid {
    grid-template-columns: 1fr;
  }

  .home-ko-about-media {
    min-height: 420rem;
  }

  .home-ko-about-title br {
    display: none;
  }
}

@media (width < 767px) {
  .home-ko-about {
    padding: 64rem 0 84rem;
  }

  .home-ko-about-grid {
    gap: 18rem;
  }

  .home-ko-about-media {
    min-height: 260rem;
    border-radius: 16rem;
  }

  .home-ko-about-card {
    padding: 24rem 20rem;
    border-radius: 16rem;
  }

  .home-ko-about-eyebrow {
    margin-bottom: 14rem;
    font-size: 14rem;
  }

  .home-ko-about-title {
    font-size: 28rem;
    line-height: 1.35;
  }

  .home-ko-about-description {
    margin-top: 22rem;
    font-size: 15rem;
    line-height: 1.7;
  }

  .home-ko-about .intro-action {
    min-width: 220rem;
  }
}

/* Products */
.home-ko-products {
  padding: 124rem 0 144rem;
  background: #fff;
  overflow: hidden;
}

.home-ko-products-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32rem;
  margin-bottom: 95rem;
}

.home-ko-products-copy {
  max-width: 720rem;
}

.home-ko-products-title {
  margin-bottom: 6px;
  font-size: clamp(48rem, calc(64 / var(--container-wide) * 100vw), 48rem);
  font-weight: 700;
  color: var(--primary);
}

.home-ko-products-description {
  font-size: clamp(20rem, calc(22 / var(--container-wide) * 100vw), 20rem);
  font-weight: 500;
  line-height: 1.5;
  color: #4b4b4b;
}

.home-ko-products-head > .intro-action {
  min-width: 225rem;
  width: auto;
  max-width: none;
  --cta-padding-left: 17rem;
  --cta-bg: transparent;
  --cta-border: var(--primary);
  --cta-color: var(--primary);
  --cta-icon-bg: var(--primary);
  --cta-icon-color: #fff;
  --cta-hover-bg: var(--primary);
  --cta-hover-border: var(--primary);
  --cta-hover-color: #fff;
  --cta-hover-icon-bg: #fff;
  --cta-hover-icon-color: var(--primary);
  --cta-outline-color: var(--primary);
  --cta-label-size: 18rem;
  --cta-icon-size: 40rem;
}

.home-ko-products-slider-wrap {
  position: relative;
}

.home-ko-products-swiper {
  overflow: hidden;
}

.home-ko-products-swiper .swiper-wrapper {
  align-items: stretch;
}

.home-ko-products-swiper .swiper-slide {
  box-sizing: border-box;
  height: auto;
}

.home-ko-products-slide {
  height: auto;
}

.home-ko-products-card {
  display: grid;
  grid-template-columns: minmax(0, 310rem) minmax(0, 1fr);
  align-items: center;
  gap: 40rem;
  min-height: 374rem;
  padding: 24rem;
  border: 1px solid #ddd;
  border-radius: 12rem;
  background: #fff;
  transition:
    border-color 0.28s ease,
    background-color 0.28s ease,
    transform 0.28s ease,
    box-shadow 0.28s ease;
}

.home-ko-products-media {
  display: grid;
  place-items: center;
  width: 100%;
  height: auto;
  border-radius: 16rem;
  transition:
    background-color 0.28s ease,
    transform 0.28s ease;
}

.home-ko-products-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.32s ease;
  transform-origin: center center;
}

.home-ko-products-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 46%;
}

.home-ko-products-card-title {
  margin-bottom: 25px;
  font-size: clamp(24rem, calc(34 / var(--container-wide) * 100vw), 24rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.02em;
  color: #111;
}

.home-ko-products-card-spec {
  font-size: clamp(20rem, calc(26 / var(--container-wide) * 100vw), 20rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--primary);
}

.home-ko-products-card-text {
  margin-top: 5rem;
  font-size: 16rem;
  font-weight: 400;
  color: #3b3b3b;
}

.home-ko-products-card-body .intro-action {
  width: auto;
  max-width: none;
  min-width: 158rem;
  margin-top: auto;
  --cta-height: 38rem;
  --cta-radius: 999px;
  --cta-padding-left: 14rem;
  --cta-padding-right: 4rem;
  --cta-bg: transparent;
  --cta-border: var(--primary);
  --cta-color: var(--primary);
  --cta-icon-bg: var(--primary);
  --cta-icon-color: #fff;
  --cta-hover-bg: var(--primary);
  --cta-hover-border: var(--primary);
  --cta-hover-color: #fff;
  --cta-hover-icon-bg: #fff;
  --cta-hover-icon-color: var(--primary);
  --cta-outline-color: var(--primary);
  --cta-shadow: none;
  --cta-icon-shadow: none;
  --cta-label-size: 14rem;
  --cta-icon-size: 30rem;
}

.home-ko-products-card .intro-action,
.home-ko-products-card .intro-action-icon,
.home-ko-products-card .intro-action-icon svg {
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    color 0.28s ease,
    transform 0.28s ease,
    box-shadow 0.28s ease;
}

.home-ko-products-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-grid;
  place-items: center;
  width: 80rem;
  height: 80rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(233, 126, 21, 0.1);
  color: var(--primary);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.home-ko-products-nav:hover {
  background: var(--primary);
  color: #fff;
}

.home-ko-products-nav:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 4px;
}

.home-ko-products-nav--prev {
  left: 0;
}

.home-ko-products-nav--next {
  right: 0;
}

.home-ko-products-nav.swiper-button-disabled {
  pointer-events: none;
  color: #ddd;
  background: rgba(221, 221, 221, 0.12);
}

.home-ko-products-nav svg {
  display: block;
}

@media (hover: hover) and (pointer: fine) {
  .home-ko-products-card:hover {
    border-color: var(--primary);
  }

  .home-ko-products-card:hover .intro-action {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
  }

  .home-ko-products-card:hover .intro-action .intro-action-icon {
    background: #fff;
    color: var(--primary);
    transform: scale(1.02);
  }

  .home-ko-products-card:hover .intro-action .intro-action-icon svg {
    transform: rotate(45deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-ko-products-nav,
  .home-ko-products-card,
  .home-ko-products-media,
  .home-ko-products-image,
  .home-ko-products-card .intro-action,
  .home-ko-products-card .intro-action-icon,
  .home-ko-products-card .intro-action-icon svg {
    transition: none;
  }

  .home-ko-products-card:hover {
    transform: none;
  }

  .home-ko-products-card:hover .home-ko-products-image {
    transform: none;
  }
}

@media (width < 1280px) {
  .home-ko-products {
    padding: 40rem 0 120rem;
  }

  .home-ko-products-head {
    margin-bottom: 40rem;
  }

  .home-ko-products-card {
    grid-template-columns: 1fr;
    gap: 22rem;
  }

  .home-ko-products-card-spec {
    margin-top: 20rem;
  }

  .home-ko-products-card-body .intro-action {
    margin-top: 24rem;
  }
}

@media (width < 640px) {
  .home-ko-products {
    padding: 32rem 0 88rem;
  }

  .home-ko-products-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 20rem;
    margin-bottom: 28rem;
  }

  .home-ko-products-title {
    font-size: 36rem;
  }

  .home-ko-products-description {
    margin-top: 12rem;
    font-size: 16rem;
  }

  .home-ko-products-head > .intro-action {
    min-width: 170rem;
  }

  .home-ko-products-slider-wrap {
    padding-bottom: 72rem;
  }

  .home-ko-products-card {
    min-height: auto;
    padding: 18rem;
    border-radius: 16rem;
  }

  .home-ko-products-card-title {
    font-size: 24rem;
  }

  .home-ko-products-card-spec {
    margin-top: 18rem;
    font-size: 20rem;
  }

  .home-ko-products-card-text {
    font-size: 15rem;
  }

  .home-ko-products-card-body .intro-action {
    margin-top: 20rem;
    min-width: 160rem;
  }

  .home-ko-products-nav {
    top: auto;
    bottom: 0;
    width: 48rem;
    height: 48rem;
    transform: none;
  }

  .home-ko-products-nav--prev {
    left: calc(50% - 58rem);
  }

  .home-ko-products-nav--next {
    right: calc(50% - 58rem);
  }
}

/* Contact */
.home-ko-contact {
  padding: 144rem 0;
  background: #f6f7f9;
}

.home-ko-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(0, 1fr);
  gap: 36rem;
  align-items: start;
}

.left-map {
  display: flex;
  flex-direction: column;
}

.home-ko-contact-map-panel,
.home-ko-contact-form-panel {
  padding: 6rem;
  border-radius: 12rem;
  background: #fff;
}

.home-ko-contact-map {
  overflow: hidden;
  border-radius: 12rem;
  background: #ececec;
}

.home-ko-contact-map .root_daum_roughmap,
.home-ko-contact-map .wrap_map,
.home-ko-contact-map .wrap_controllers {
  width: 100% !important;
}

.home-ko-contact-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 13rem;
  min-height: 62rem;
  margin-top: 13rem;
  padding: 24rem;
  border-radius: 12rem;
  background: #fff;
}

.home-ko-contact-info-item {
  display: inline-flex;
  align-items: center;
  gap: 4rem;
  font-size: 14rem;
  color: #000;
}

.home-ko-contact-info-icon {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--primary);
}

.home-ko-contact-info-divider {
  width: 1px;
  height: 18rem;
  background: rgba(17, 17, 17, 0.14);
}

.home-ko-contact-form-panel {
  padding: 26rem;
}

.home-ko-contact-eyebrow {
  margin-bottom: 8px;
  font-size: clamp(48rem, calc(58 / var(--container-wide) * 100vw), 48rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--primary);
}

.home-ko-contact-title {
  margin-bottom: 40px;
  font-size: clamp(18rem, calc(22 / var(--container-wide) * 100vw), 20rem);
  font-weight: 500;
  line-height: 1.2;
  color: #111;
}

.home-ko-contact-form {
  margin-top: 30rem;
}

.home-ko-contact-field + .home-ko-contact-field {
  margin-top: 12rem;
}

.home-ko-contact-field input,
.home-ko-contact-field textarea {
  width: 100%;
  border: 0;
  border-radius: 10rem;
  background: #f0f1f3;
  color: #111;
  font: inherit;
  font-size: 18rem;
  font-weight: 500;
}

.home-ko-contact-field input {
  height: 58rem;
  padding: 0 20rem;
}

.home-ko-contact-field textarea {
  min-height: 150rem;
  padding: 15rem 20rem;
  resize: vertical;
}

.home-ko-contact-field input::placeholder,
.home-ko-contact-field textarea::placeholder {
  color: #7b7b7b;
}

.home-ko-contact-field input:focus,
.home-ko-contact-field textarea:focus {
  border: 0.2px solid var(--primary);
  outline-offset: 0;
}

.contact-cosent {
  display: flex;
  flex-direction: column;
}

.home-ko-contact-consent {
  display: inline-flex;
  align-items: center;
  gap: 10rem;
  margin-top: 10rem;
  cursor: pointer;
}

.home-ko-contact-consent input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.home-ko-contact-consent-box {
  position: relative;
  display: inline-block;
  width: 22rem;
  height: 22rem;
  border: 1px solid rgba(17, 17, 17, 0.24);
  border-radius: 4rem;
  background: #fff;
  flex-shrink: 0;
}

.home-ko-contact-consent-box::after {
  content: "";
  position: absolute;
  inset: 4rem 7rem 5rem 6rem;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) scale(0);
  transform-origin: center;
  transition: transform 0.2s ease;
}

.home-ko-contact-consent input:checked + .home-ko-contact-consent-box {
  background: var(--primary);
  border-color: var(--primary);
}

.home-ko-contact-consent input:checked + .home-ko-contact-consent-box::after {
  transform: rotate(45deg) scale(1);
}

.home-ko-contact-consent-text {
  font-size: 16rem;
  font-weight: 500;
  color: #2f2f2f;
}

.home-ko-contact-form .intro-action {
  max-width: 226px;
  margin-top: 36rem;
  --cta-height: 54rem;
  --cta-radius: 999px;
  --cta-padding-left: 18rem;
  --cta-padding-right: 4rem;
  --cta-bg: transparent;
  --cta-border: var(--primary);
  --cta-color: var(--primary);
  --cta-icon-bg: var(--primary);
  --cta-icon-color: #fff;
  --cta-hover-bg: var(--primary);
  --cta-hover-border: var(--primary);
  --cta-hover-color: #fff;
  --cta-hover-icon-bg: #fff;
  --cta-hover-icon-color: var(--primary);
  --cta-outline-color: var(--primary);
  --cta-shadow: none;
  --cta-icon-shadow: none;
  --cta-label-size: 20rem;
  --cta-icon-size: 40rem;
}

.wrap_controllers.hide,
.section.section_address.lst {
  display: none !important;
}

@media (width < 1280px) {
  .home-ko-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (width < 767px) {
  .home-ko-contact-map {
    width: auto;
    height: 432px;
  }

  .home-ko-contact-grid {
    gap: 20rem;
  }

  .home-ko-contact-map-panel,
  .home-ko-contact-form-panel {
    padding: 14rem;
    border-radius: 14rem;
  }

  .home-ko-contact-info {
    gap: 10rem;
    padding: 14rem 16rem;
    align-items: flex-start;
  }

  .home-ko-contact-info-divider {
    display: none;
  }

  .home-ko-contact-info-item {
    width: 100%;
    font-size: 14rem;
  }

  .home-ko-contact-form-panel {
    padding: 24rem 20rem 20rem;
  }

  .home-ko-contact-eyebrow {
    font-size: 34rem;
  }

  .home-ko-contact-title {
    margin-top: 18rem;
    font-size: 17rem;
  }

  .home-ko-contact-form {
    margin-top: 22rem;
  }

  .home-ko-contact-field input {
    height: 52rem;
    padding-inline: 16rem;
    font-size: 16rem;
  }

  .home-ko-contact-field textarea {
    min-height: 130rem;
    padding: 16rem;
    font-size: 16rem;
  }

  .home-ko-contact-consent {
    margin-top: 20rem;
  }

  .home-ko-contact-consent-text {
    font-size: 14rem;
  }

  .home-ko-contact-form .intro-action {
    min-width: 180rem;
    margin-top: 24rem;
  }
}
