@charset "UTF-8";
/* ===========================================
   디자인 토큰 (Design Tokens)
   — style-guide.md의 수치를 SCSS 변수로 추상화한 '설계도'입니다.
   여기서 정의된 값만 수정하면 전체 UI가 일관되게 바뀝니다.
   ⚠️ 주의: 이 파일을 수정한 뒤에는 반드시 `npx sass style.scss style.css`로
            다시 컴파일해야 브라우저에 반영됩니다.
   =========================================== */
/* ===========================================
   기본 리셋 & 뼈대
   =========================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Inter", sans-serif;
  color: #202047;
  background-color: #FFFFFF;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
  background-image: url("images/pattern-curve.svg");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 70% auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  body {
    background-size: 36% auto;
  }
}
@media (min-width: 1024px) {
  body {
    background-size: auto;
  }
}

/* ===========================================
   슬라이더 구조 — 3단 레이어 아키텍처
   창문(Container) → 필름(Track) → 슬라이드(Slide)
   =========================================== */
.slider-section {
  position: relative;
  width: 100%;
}

.slider-container {
  overflow: hidden;
  width: 100%;
  position: relative;
}
@media (min-width: 1024px) {
  .slider-container {
    overflow: visible;
  }
}

.slider-track {
  display: flex;
  width: 100%;
  align-items: center;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.slide {
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (min-width: 1024px) {
  .slide {
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
  }
}

/* ===========================================
   비주얼 영역 (.slide-visual)
   — .bg-pattern(배경 도형)과 .profile-image(인물 사진)의 위치 기준점
   =========================================== */
.slide-visual {
  position: relative;
  width: 100%;
  max-width: 254px;
  margin: 0 auto 82px;
  flex-shrink: 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .slide-visual {
    max-width: 405px;
    margin-bottom: 180px;
  }
}
@media (min-width: 1024px) {
  .slide-visual {
    max-width: 540px;
    margin: 0 165px 0 0;
    display: flex;
    align-items: center;
  }
}
.slide-visual .bg-pattern {
  position: absolute;
  top: 53.5%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 326px;
  height: 327px;
  padding-top: 24px;
  z-index: -1;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .slide-visual .bg-pattern {
    width: 520px;
    height: 490px;
    top: 57%;
    padding-top: 0;
  }
}
@media (min-width: 1024px) {
  .slide-visual .bg-pattern {
    width: 697px;
    height: 657px;
    top: 49%;
    padding: 0;
  }
}
.slide-visual .profile-image {
  width: 100%;
  padding-top: 54px;
  border-radius: 5px;
  box-shadow: 0 40px 50px -30px rgba(36, 36, 113, 0.495);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .slide-visual .profile-image {
    width: 405px;
    height: 475px;
    display: block;
    margin: 0 auto;
    padding-top: 72px;
  }
}
@media (min-width: 1024px) {
  .slide-visual .profile-image {
    padding-top: 0;
    box-sizing: content-box;
  }
}

/* ===========================================
   텍스트 영역 (.slide-content)
   — 인용구, 이름, 직함을 담는 영역
   =========================================== */
.slide-content {
  text-align: center;
  position: relative;
  z-index: 2;
  padding: 0 32px;
}
@media (min-width: 1024px) {
  .slide-content {
    text-align: left;
    padding: 0;
    max-width: 635px;
    position: absolute;
    left: 165px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
  }
}
.slide-content::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 50px;
  background-image: url("images/pattern-quotes.svg");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}
@media (min-width: 768px) {
  .slide-content::before {
    width: 120px;
    height: 100px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .slide-content::before {
    top: -75px;
  }
}
@media (min-width: 1024px) {
  .slide-content::before {
    top: -73px;
    left: 25%;
  }
}
.slide-content .quote {
  font-size: 18px;
  line-height: 1.35;
  font-weight: 300;
  margin-bottom: 16px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .slide-content .quote {
    font-size: 32px;
    line-height: 1.375;
    margin-bottom: 32px;
    max-width: 635px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1024px) {
  .slide-content .quote {
    font-size: 32px;
    line-height: 1.4;
    width: 635px;
    margin-left: 0;
    margin-bottom: 32px;
  }
}
.slide-content .author-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media (min-width: 768px) {
  .slide-content .author-info {
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .slide-content .author-info {
    justify-content: center;
  }
}
.slide-content .author-info .author-name {
  font-weight: 700;
}
@media (min-width: 768px) {
  .slide-content .author-info .author-name {
    font-size: 20px;
    line-height: 38px;
  }
}
.slide-content .author-info .author-title {
  font-weight: 500;
  color: #B9B9CE;
}
@media (min-width: 768px) {
  .slide-content .author-info .author-title {
    font-size: 20px;
    line-height: 38px;
  }
}

/* ===========================================
   네비게이션 컨트롤 (.slider-controls)
   — 이전/다음 버튼을 담는 알약(pill) 모양 컨테이너
   =========================================== */
.slider-controls {
  position: absolute;
  top: 51%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  width: 80px;
  height: 40px;
  background: #FFFFFF;
  border-radius: 30px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  z-index: 10;
}
@media (min-width: 768px) {
  .slider-controls {
    width: 112px;
    height: 56px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .slider-controls {
    top: 50%;
  }
}
@media (min-width: 1024px) {
  .slider-controls {
    top: auto;
    bottom: -56px;
    left: 59%;
  }
}
.slider-controls .nav-btn {
  border: none;
  background: transparent;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.slider-controls .nav-btn:hover, .slider-controls .nav-btn:focus {
  background-color: #F4F4FC;
}
.slider-controls .nav-btn img {
  width: 6px;
  height: 11px;
}
@media (min-width: 1024px) {
  .slider-controls .nav-btn img {
    width: 8px;
    height: 16px;
  }
}

/* ===========================================
   하단 크레딧 (.attribution)
   — Frontend Mentor 챌린지 출처 표기
   =========================================== */
.attribution {
  font-size: 11px;
  text-align: center;
  padding: 16px;
  margin-top: 48px;
  color: #B9B9CE;
}
.attribution a {
  color: #202047;
  font-weight: 700;
  text-decoration: none;
}
.attribution a:hover {
  text-decoration: underline;
}

/*# sourceMappingURL=style.css.map */
