/* ===========================
   education.css — web-renewal education/page.tsx 이식
   inline style + Tailwind 유틸리티를 클래스 규칙으로 추출.
   전역 .section-*, .btn-pill, .r-* 유틸리티는 renewal.css에서 재사용.
   =========================== */

.edu {
  font-family: 'Pretendard', sans-serif;
}

/* 섹션 내부 공통 컨테이너 (max-width 1440 + 좌우 패딩) */
.edu-container {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* 어두운 배경 위 흰색 섹션 타이틀 */
.edu-white-title {
  color: #ffffff;
}

/* ── Hero ── */

.edu-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(to bottom, #d33500, #962500);
  height: 796px;
}

.edu-hero__blob {
  position: absolute;
  top: 0;
  width: 480px;
  height: 796px;
  opacity: 0.15;
  mix-blend-mode: plus-lighter;
  pointer-events: none;
}
.edu-hero__blob--left { left: 0; }
.edu-hero__blob--right { right: 0; transform: scaleY(-1); }
.edu-hero__blob--top {
  left: 50%;
  top: -29px;
  width: 796px;
  height: 480px;
  transform: translateX(-50%) rotate(90deg);
}
.edu-hero__blob--bot {
  left: 50%;
  top: 451px;
  width: 796px;
  height: 480px;
  transform: translateX(-20%) rotate(90deg);
}

.edu-hero__fade {
  position: absolute;
  top: 0;
  width: 353px;
  height: 796px;
  pointer-events: none;
}
.edu-hero__fade--left {
  left: 0;
  background: linear-gradient(to right, #d33500, rgba(211, 53, 0, 0));
}
.edu-hero__fade--right {
  right: 0;
  background: linear-gradient(to left, #962500, rgba(150, 37, 0, 0));
}

.edu-hero__content {
  position: absolute;
  left: 50%;
  top: 200px;
  transform: translateX(-50%);
  width: 1440px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 55px;
  align-items: center;
}

.edu-hero__head {
  display: flex;
  flex-direction: column;
  gap: 21px;
  align-items: center;
  width: 100%;
}

.edu-hero__titles {
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: center;
  width: 100%;
}

.edu-hero__title {
  font-size: 80px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -1.5px;
  line-height: 92px;
  text-align: center;
  margin: 0;
}
.edu-hero__accent { color: #ffcb9d; }
.edu-hero__white { color: #ffffff; }

.edu-hero__sub {
  font-size: 20px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.72);
  text-align: center;
  line-height: 33px;
  margin: 0;
}

.edu-hero__actions {
  display: flex;
  gap: 22px;
  align-items: center;
}

.edu-hero__btn {
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity 0.2s;
}
.edu-hero__btn:hover { opacity: 0.92; }

.edu-hero__btn--primary {
  background-color: #ffffff;
  color: #ff522c;
  padding: 18px 32px 20px;
}
.edu-hero__btn--outline {
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: rgba(255, 255, 255, 0.9);
  padding: 18px 33px 20px;
}

/* ── Explore ── */

.edu-explore {
  background-color: #1b1b1b;
  padding-top: 100px;
  padding-bottom: 130px;
}

.edu-explore__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.edu-explore__cards {
  display: flex;
  gap: 24px;
  height: 504px;
}

.edu-explore__link {
  flex: 1 0 0;
  min-width: 0;
  display: block;
  text-decoration: none;
}

.edu-explore-card {
  background-color: #101010;
  border: 1px solid #ff7900;
  border-radius: 13px;
  height: 504px;
  position: relative;
  overflow: hidden;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.edu-explore-card__blob {
  position: absolute;
  left: 122px;
  top: 258px;
  width: 341px;
  height: 180px;
  border-top-left-radius: 223px;
  background-color: rgba(255, 121, 0, 0.2);
}

.edu-explore-card__text {
  position: absolute;
  left: 36px;
  top: 50px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.edu-explore-card__title {
  font-size: 48px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.8px;
  line-height: 52px;
}

.edu-explore-card__desc {
  font-size: 24px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  line-height: 36px;
}

.edu-explore-card__illust {
  position: absolute;
  object-fit: contain;
}
.edu-explore-card__illust--1 {
  left: 212px;
  top: 228px;
  width: 214px;
  height: 172px;
}
.edu-explore-card__illust--org1 {
  left: 230px;
  top: 232px;
  width: 140px;
  height: 63px;
}
.edu-explore-card__illust--org2 {
  left: 196px;
  top: 295px;
  width: 207px;
  height: 63px;
}

.edu-explore-card__foot {
  position: absolute;
  left: -1px;
  top: 420px;
  width: calc(100% + 2px);
  height: 83px;
  background-color: #262626;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  display: flex;
  align-items: flex-start;
  padding-top: 18px;
  padding-left: 39px;
}

.edu-explore-card__foot-text {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  line-height: 36px;
}

/* 레퍼런스 카드의 프레젠테이션 보드 일러스트 (순수 CSS) */
.edu-board {
  position: absolute;
  left: 215px;
  top: 203px;
  width: 208px;
  height: 190px;
}
.edu-board__stand {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 10px;
  height: 189px;
  background-color: #ff522c;
  border-radius: 44px;
}
.edu-board__bar {
  position: absolute;
  left: 0;
  width: 208px;
  height: 13px;
  background-color: #ff7900;
  border-radius: 10px;
}
.edu-board__bar--top { top: 20px; }
.edu-board__bar--bot { top: 145px; }
.edu-board__screen {
  position: absolute;
  left: 11px;
  top: 33px;
  width: 186px;
  height: 112px;
  background: linear-gradient(180deg, #ffffff 0%, #ffcc9e 100%);
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.edu-board__play-circle {
  width: 59px;
  height: 59px;
  border-radius: 50%;
  background-color: rgba(255, 82, 44, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}
.edu-board__play-icon { margin-left: 3px; }

/* ── Target Audience ── */

.edu-target {
  background-color: #f7f8fa;
  padding-top: 130px;
  padding-bottom: 140px;
}

.edu-target__inner {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.edu-target__grid {
  display: flex;
  gap: 15px;
}

.edu-target-card {
  flex: 1 0 0;
  min-width: 0;
  background-color: #ffffff;
  border: 0.88px solid #c7cbce;
  border-radius: 16px;
  padding: 35.88px 40.88px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.edu-target-card__head {
  height: 99px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.edu-target-card__icon {
  object-fit: contain;
}

.edu-target-card__title {
  font-size: 37px;
  font-weight: 700;
  color: #2a2a2a;
  line-height: 48px;
}

.edu-target-card__desc {
  font-size: 24px;
  font-weight: 600;
  color: #686868;
  line-height: 36px;
  margin: 0;
}

/* ── Format Options ── */

.edu-format {
  background-color: #ffffff;
  padding-top: 130px;
  padding-bottom: 140px;
}

.edu-format__inner {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.edu-format__lead {
  font-size: 18px;
  font-weight: 400;
  color: #686868;
  line-height: 28.56px;
  margin: 0;
}

.edu-format__grid {
  display: flex;
  gap: 15px;
}

.edu-format-card {
  flex: 1 0 0;
  min-width: 0;
  background-color: #ffffff;
  border: 0.88px solid #c7cbce;
  border-radius: 14px;
  padding: 36.88px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.edu-format-card__label {
  display: inline-flex;
  align-self: flex-start;
  background-color: #fff5eb;
  border-radius: 6px;
  padding: 6px 12px;
}
.edu-format-card__label span {
  font-size: 13px;
  font-weight: 700;
  color: #ff7900;
  letter-spacing: 0.65px;
}

.edu-format-card__title {
  font-size: 28px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -0.48px;
  line-height: 35px;
  margin: 0;
}

.edu-format-card__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.edu-format-card__item {
  position: relative;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 0.68px;
}

.edu-format-card__dot {
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background-color: #ff7900;
}

.edu-format-card__item-text {
  font-size: 18px;
  font-weight: 500;
  color: #2d3348;
  line-height: 23.2px;
}

.edu-format-card__item-sub {
  font-size: 13px;
  font-weight: 500;
  color: #8f8f8f;
  line-height: 18.85px;
}

/* ── Process ── */

.edu-process {
  background-color: #0d1b3e;
  padding-top: 100px;
  padding-bottom: 130px;
}

.edu-process__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.edu-process__steps {
  display: flex;
  align-items: center;
  gap: 6px;
}

.edu-step {
  flex: 1 0 0;
  min-width: 0;
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 33px 25px 29px;
  display: flex;
  flex-direction: column;
  gap: 6.8px;
}

.edu-step__num {
  background-color: #ff7900;
  border-radius: 999px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 0px 6px rgba(255, 121, 0, 0.4);
  flex-shrink: 0;
}
.edu-step__num span {
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
}

.edu-step__title-wrap { padding-top: 11.2px; }
.edu-step__title {
  font-size: 19px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.38px;
  margin: 0;
  line-height: normal;
}

.edu-step__desc-wrap { padding-bottom: 9.735px; }
.edu-step__desc {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.65);
  line-height: 21.7px;
  margin: 0;
}

.edu-step__badge {
  align-self: flex-start;
  background-color: rgba(255, 121, 0, 0.15);
  border-radius: 6px;
  padding: 5px 10px;
}
.edu-step__badge span {
  font-size: 12px;
  font-weight: 700;
  color: #ffb987;
  letter-spacing: 0.24px;
}

.edu-step__arrow {
  width: 18px;
  height: 33px;
  flex-shrink: 0;
}

/* ── References ── */

.edu-refs {
  background-color: #fff5eb;
  padding-top: 100px;
  padding-bottom: 130px;
}

.edu-refs__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.edu-refs__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.edu-refs__cta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.edu-refs__cta-icon {
  width: 18px;
  height: 19px;
}

.edu-logos {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.edu-logos__row {
  display: flex;
  gap: 20px;
}

.edu-logo {
  flex: 1 0 0;
  min-width: 0;
  background-color: #ffffff;
  border: 0.854px solid #d8dcec;
  border-radius: 12.813px;
  height: 113.61px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 34.168px 42.71px;
}

.edu-logo__img {
  width: 157px;
  object-fit: contain;
}

.edu-refs__cards {
  display: flex;
  gap: 24px;
}

.edu-ref-card {
  flex: 1 0 0;
  min-width: 0;
  height: 406px;
  border: 1px solid #c7cbce;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.edu-ref-card__media {
  flex: 1 0 0;
  min-height: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.edu-ref-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.5) 100%);
}

.edu-ref-card__img {
  width: 694px;
  height: 482px;
  object-fit: cover;
}

.edu-ref-card__body {
  background-color: #ffffff;
  padding: 25px 24px 35px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.edu-ref-card__label {
  font-size: 12.5px;
  font-weight: 700;
  color: #ff7900;
  letter-spacing: 0.3px;
}

.edu-ref-card__title {
  font-size: 24px;
  font-weight: 700;
  color: #0d1b3e;
  line-height: 22.4px;
  margin: 0;
}

/* ── FAQ ── */

.edu-faq {
  background-color: #ffffff;
  padding-top: 130px;
  padding-bottom: 140px;
}

.edu-faq__inner {
  display: flex;
  flex-direction: column;
  gap: 56px;
  align-items: center;
}

.edu-faq__title {
  font-size: 42px;
  font-weight: 700;
  color: #0d1b3e;
  letter-spacing: -0.8px;
  line-height: 52px;
}

.edu-faq__list {
  display: flex;
  flex-direction: column;
  gap: 26px;
  width: 100%;
}

.edu-faq-item {
  background-color: #ffffff;
  border: 0.88px solid #c7cbce;
  border-radius: 14px;
  padding: 45.88px 36.88px;
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.edu-faq-item.is-open {
  border-color: #ff7900;
  box-shadow: 0px 0px 10px rgba(86, 94, 116, 0.15);
}

.edu-faq-item__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.edu-faq-item__q {
  display: flex;
  align-items: center;
  gap: 22px;
}

.edu-faq-item__q-icon {
  background-color: #ffead5;
  border-radius: 6px;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.edu-faq-item__q-text {
  font-size: 28px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -0.48px;
  line-height: 35px;
  text-align: left;
}

.edu-faq-item__chevron {
  flex-shrink: 0;
  transition: transform 0.2s;
}
.edu-faq-item.is-open .edu-faq-item__chevron {
  transform: rotate(180deg);
}

.edu-faq-item__answer {
  display: none;
  padding-left: 57px;
  padding-top: 22px;
}
.edu-faq-item.is-open .edu-faq-item__answer {
  display: block;
}
.edu-faq-item__answer p {
  font-size: 18px;
  color: #686868;
  line-height: 28.56px;
  margin: 0;
}

/* ── CTA ── */

.edu-cta {
  background: linear-gradient(166deg, rgb(255, 121, 0) 0%, rgb(255, 82, 44) 100%);
  padding-top: 100px;
  padding-bottom: 100px;
}

.edu-cta__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 27px;
}

.edu-cta__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
}

.edu-cta__title {
  font-size: 48px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  letter-spacing: -0.8px;
  line-height: 57.6px;
  margin: 0;
}

.edu-cta__sub {
  font-size: 17.6px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
  margin: 0;
}

.edu-cta__btn {
  font-size: 17.6px;
  font-weight: 700;
  color: #ff7900;
  background-color: #ffffff;
  padding: 22px 52px;
  border-radius: 10px;
  border: none;
  box-shadow: 0px 12px 32px 0px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}
.edu-cta__btn:hover { opacity: 0.9; }

.edu-cta__contacts {
  display: flex;
  align-items: center;
  gap: 24px;
}

.edu-cta__contact {
  display: flex;
  align-items: center;
  gap: 12px;
}

.edu-cta__contact-text {
  font-size: 20px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}

.edu-cta__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #ffffff;
}

/* ── 모바일 전용 보강 ──
   r-stack/r-hide/r-grid-2 등은 renewal.css가 처리하지만,
   absolute 레이아웃을 쓰는 Hero/Explore 카드는 모바일에서 재배치가 필요하다. */
@media (max-width: 767px) {
  .edu-hero { height: auto; padding-top: 60px; padding-bottom: 60px; }
  .edu-hero__content {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
    padding: 0 24px;
    gap: 32px;
  }

  .edu-explore { padding-top: 60px; padding-bottom: 60px; }
  .edu-explore__cards { height: auto; }
  /* absolute 카드 내용을 일반 흐름으로 전환 */
  .edu-explore-card { height: auto; min-height: 420px; }
  .edu-explore-card__text { position: relative; left: auto; top: auto; padding: 36px 24px 0; }
  .edu-explore-card__title { font-size: 32px; line-height: 38px; }
  .edu-explore-card__desc { font-size: 18px; line-height: 28px; }
  .edu-explore-card__illust,
  .edu-board { display: none; }
  .edu-explore-card__foot {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    margin-top: 32px;
    border-radius: 0;
  }
  .edu-explore-card__foot-text { font-size: 18px; }

  .edu-target { padding-top: 60px; padding-bottom: 60px; }
  .edu-format { padding-top: 60px; padding-bottom: 60px; }
  .edu-process { padding-top: 60px; padding-bottom: 60px; }
  .edu-refs { padding-top: 60px; padding-bottom: 60px; }
  .edu-faq { padding-top: 60px; padding-bottom: 60px; }
  .edu-faq__title { font-size: 28px; line-height: 36px; }
  .edu-faq-item { padding: 24px; }
  .edu-faq-item__q-text { font-size: 18px; line-height: 26px; }
  .edu-faq-item__answer { padding-left: 0; }

  .edu-logos__row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .edu-logo { padding: 20px 24px; height: 90px; }

  .edu-cta { padding-top: 60px; padding-bottom: 60px; }
  .edu-cta__title { font-size: 28px; line-height: 36px; }
  .edu-cta__contacts { flex-wrap: wrap; justify-content: center; gap: 8px 16px; }
}

@media (min-width: 768px) and (max-height: 900px) {
  .edu-hero { height: 736px; }
  .edu-hero__blob { height: 736px; }
}
