@charset "utf-8";

@import "global.css";

main section.company {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  scroll-snap-align: start;
  background-color: #ffffff;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; /* iOS에서 부드러운 스크롤링을 위해 */
}

@media only screen and (min-width: 1280px) {
  main section.company {
    height: 100vh;
  }
}

main section.company div.box-wrapper {
  display: flex;
  width: 100%;
  height: auto;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox에서 스크롤바 숨김 */
  -ms-overflow-style: none; /* IE/Edge에서 스크롤바 숨김 */
  position: relative;
}

/* Chrome/Safari/Opera에서 스크롤바 숨김 */
main section.company div.box-wrapper::-webkit-scrollbar {
  display: none;
}

/* 더 부드러운 스크롤링을 위한 전환 효과 */
main section.company div.box-wrapper.transitioning {
  scroll-behavior: auto !important;
}

/* 전환 중 클론 숨기기 */
main section.company div.box-wrapper.transitioning .box:first-child,
main section.company div.box-wrapper.transitioning .box:last-child {
  opacity: 0;
  transition: opacity 0.3s ease;
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper {
    height: 100%;
  }
}

main section.company div.box-wrapper div.box {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box {
    width: var(--desktop-max-width);
  }
}

main section.company div.box-wrapper div.box div.left {
}

/* Mobile: background image on the right side behind the heading */
@media only screen and (max-width: 1280px) {
  main section.company div.box-wrapper div.box div.left {
    position: relative;
    isolation: isolate;
  }
  main section.company div.box-wrapper div.box div.left::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 60vw;
    background-image: url("../images/company/company-mobile-1.jpg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    opacity: 0.3;
    filter: grayscale(100%);
    pointer-events: none;
    z-index: 0;
  }

  main section.company div.box-wrapper div.box div.left h1,
  main section.company div.box-wrapper div.box div.left div.content,
  main section.company div.box-wrapper div.box div.left div.download {
    position: relative;
    z-index: 1;
  }
}

main section.company div.box-wrapper div.box div.left h1 {
  font-size: 36px;
  font-weight: 900;
  color: #6c68df;
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.left h1 {
    font-size: 48px;
    padding: 0;
  }
}

main section.company div.box-wrapper div.box div.left div.content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  margin-top: 100px;
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.left div.content {
    padding: 0;
  }
}

main section.company div.box-wrapper div.box div.left div.content p {
  font-size: 14px;
  font-weight: 400;
  color: #404040;
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.left div.content p {
    font-size: 16px;
  }
}

main section.company div.box-wrapper div.box div.left div.download {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.left div.download {
    justify-content: flex-start;
    margin-top: 76px;
    padding: 0;
  }
}

main section.company div.box-wrapper div.box div.left div.download a {
  padding: 10px 50px;
  border-radius: 20px;
  background-color: #404040;
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.left div.download a {
    font-size: 16px;
  }
}

main section.company div.box-wrapper div.box div.right {
  display: none;
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.right {
    width: 410px;
    height: 513px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}

main section.company div.box-wrapper div.box div.right img {
  width: 100%;
  height: 100%;
  filter: grayscale(100%);
}

main section.company div.box-wrapper div.box div.core-value {
}

main section.company div.box-wrapper div.box div.core-value h1 {
  font-size: 36px;
  font-weight: 900;
  color: #6c68df;
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.core-value h1 {
    font-size: 48px;
    padding: 0;
  }
}

main section.company div.box-wrapper div.box div.core-value div.items {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.core-value div.items {
    margin-top: 100px;
    padding: 0;
  }
}

main section.company div.box-wrapper div.box div.core-value div.items div.item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 68px;
  text-align: center;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item {
    gap: 100px;
  }
}

main section.company div.box-wrapper div.box div.core-value div.items {
  position: relative;
}

main section.company div.box-wrapper div.box div.core-value div.items div.item {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

/* Mobile: display two circles per row */
@media only screen and (max-width: 1280px) {
  main section.company div.box-wrapper div.box div.core-value div.items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0;
    row-gap: 0;
    justify-items: center;
    align-items: start;
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item:nth-child(2),
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item:nth-child(4) {
    margin-left: -38px;
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item {
    gap: 28px;
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item:nth-child(n + 3) {
    margin-top: -38px;
  }
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.mobile-descriptions {
  display: none;
}

@media only screen and (max-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item
    p {
    display: none;
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.mobile-descriptions {
    display: block;
    margin-top: 68px;
    padding: 0 var(--mobile-padding);
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.mobile-descriptions
    div.desc
    + div.desc {
    margin-top: 33px;
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.mobile-descriptions
    h3 {
    font-size: 14px;
    font-weight: 700;
    color: #404040;
    margin-bottom: 6px;
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.mobile-descriptions
    p {
    font-size: 14px;
    font-weight: 400;
    color: #404040;
  }
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  + div.item {
  margin-left: -38px;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item
    + div.item {
    margin-left: -56px;
  }
}

@media only screen and (max-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item
    + div.item {
    margin-left: 0;
  }
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  div.circle {
  width: 196px;
  height: 196px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: relative;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item
    div.circle {
    width: 342px;
    height: 342px;
  }
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  div.circle::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  background: inherit;
  filter: blur(12px);
  z-index: -1;
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  #company2-item-1 {
  background: rgba(108, 104, 223, 0.8);
  backdrop-filter: blur(15px);
  z-index: 1;
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  #company2-item-2 {
  background: #6c68df;
  z-index: 2;
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  #company2-item-3 {
  background: linear-gradient(
    180deg,
    rgba(108, 104, 223, 0.6) 0%,
    rgba(222, 252, 88, 0.6) 100%
  );
  backdrop-filter: blur(10px);
  z-index: 3;
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  #company2-item-4 {
  background: rgba(108, 104, 223, 0.75);
  backdrop-filter: blur(10px);
  z-index: 4;
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  div.circle
  h1 {
  font-size: 24px;
  font-weight: 300;
  color: #ffffff;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item
    div.circle
    h1 {
    font-size: 48px;
  }
}

main
  section.company
  div.box-wrapper
  div.box
  div.core-value
  div.items
  div.item
  p {
  padding: 0;
  text-align: start;
  font-size: 14px;
  font-weight: 400;
  color: #404040;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.core-value
    div.items
    div.item
    p {
    padding: 0 34px;
    text-align: center;
    font-size: 16px;
  }
}

main section.company div.box-wrapper div.box div.history {
  width: 100%;
  margin-top: 150px;
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.history {
    width: var(--desktop-max-width);
    margin-top: 0;
  }
}

main section.company div.box-wrapper div.box div.history h1 {
  font-size: 36px;
  font-weight: 900;
  color: #6c68df;
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.history h1 {
    font-size: 48px;
    padding: 0;
  }
}

/* TODO: 모바일 환경에서 overflow-x가 적용되어 가로 스크롤로 내용을 확인할 수 있게끔 수정 */
main section.company div.box-wrapper div.box div.history div.items {
  width: 550px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 22px;
  overflow-x: scroll;
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main section.company div.box-wrapper div.box div.history div.items {
    width: 100%;
    padding: 0;
  }
}

@media only screen and (max-width: 1280px) {
  main section.company div.box-wrapper div.box div.history div.items {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 16px;
    justify-content: flex-start;
  }

  main section.company div.box-wrapper div.box div.history div.items div.item {
    flex: 0 0 85vw;
    max-width: 85vw;
    scroll-snap-align: start;
  }
}

main section.company div.box-wrapper div.box div.history div.items div.item {
  flex: 1;
  width: 100%;
}

@media only screen and (max-width: 1280px) {
  main section.company div.box-wrapper div.box div.history div.items {
    scroll-padding-left: 16px;
  }

  main section.company div.box-wrapper div.box div.history div.items div.item {
    flex: 0 0 85vw;
    max-width: 85vw;
  }

  main
    section.company
    div.box-wrapper
    div.box
    div.history
    div.items::-webkit-scrollbar {
    display: none;
  }
}

main section.company div.box-wrapper div.box div.history div.items div.item h1 {
  font-size: 48px;
  font-weight: 400;
  color: #404040;
}

main
  section.company
  div.box-wrapper
  div.box
  div.history
  div.items
  div.item
  div.horizental-line {
  width: 100%;
  height: 2px;
  margin-top: 31px;
  background-color: #404040;
}

main
  section.company
  div.box-wrapper
  div.box
  div.history
  div.items
  div.item
  div.active {
  height: 5px;
  background-color: #6c68df;
}

main
  section.company
  div.box-wrapper
  div.box
  div.history
  div.items
  div.item
  div.list {
  margin-top: 41px;
}

main
  section.company
  div.box-wrapper
  div.box
  div.history
  div.items
  div.item
  div.list
  p {
  font-size: 14px;
  font-weight: 400;
  color: #404040;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.history
    div.items
    div.item
    div.list
    p {
    font-size: 16px;
  }
}

main section.company div.box-wrapper div.box div.history div.description-wrap {
  padding: 0 var(--mobile-padding);
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.history
    div.description-wrap {
    padding: 0;
  }
}

main
  section.company
  div.box-wrapper
  div.box
  div.history
  div.description-wrap
  div.description {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  margin-top: 44px;
  margin-bottom: 50px;
  padding: 20px;
  background-color: #f5f5f5;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.history
    div.description-wrap
    div.description {
    margin-bottom: 0px;
    padding: 43px 50px;
  }
}

main
  section.company
  div.box-wrapper
  div.box
  div.history
  div.description-wrap
  div.description
  p {
  font-size: 14px;
  font-weight: 400;
  color: #404040;
}

@media only screen and (min-width: 1280px) {
  main
    section.company
    div.box-wrapper
    div.box
    div.history
    div.description-wrap
    div.description
    p {
    font-size: 16px;
  }
}
