/* home.css - Auto-merged from 7 section files */
/* Do not edit directly - regenerate with merge_section_css.py */

/* ========== 01-hero-intro ========== */
/* ===== Hero Section — Brand Intro (Figma node 98:5) ===== */
.hero-intro {
  position: relative;
  width: 100%;
  height: 62.5rem;            /* 1000px */
  min-height: 100vh;
  max-height: 62.5rem;
  overflow: hidden;
  background: #0b1733;
}
.hero-intro__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-intro__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.hero-intro__lockup {
  position: absolute;
  left: 50%;
  top: 47%;
  transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 4.628rem;              /* ~74px — Figma: 텍스트 시작 x=265 − 아이콘 폭 190.948 */
  width: min(62.81rem, 90%);  /* ~1005px */
}
.hero-intro__icon {
  flex-shrink: 0;
  width: 11.934rem;           /* 190.948px (Figma) */
  height: 12.738rem;          /* 203.809px (Figma) */
  aspect-ratio: 89 / 95;
}
.hero-intro__logo-mobile {   /* 모바일 전용 합본 로고(아이콘+RENEUM) — Figma 99:47999 */
  display: none;
}
.hero-intro__text {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;                /* 24px */
  min-width: 0;
}
.hero-intro__tagline {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;    /* Figma: items-start */
  gap: 0.8125rem;             /* 13px */
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 3.375rem;        /* 54px */
  line-height: normal;        /* Figma: leading-normal */
  letter-spacing: -0.10125rem;/* -1.62px */
  white-space: nowrap;
}
.hero-intro__tagline strong { font-weight: 700; }
.hero-intro__tagline-a {
  color: #050b72;
  text-shadow: 0 0 2.5rem rgba(146, 219, 242, 0.7);
}
.hero-intro__tagline-b {
  color: #09df97;
  text-shadow: 0 0 2.5rem rgba(5, 11, 114, 0.8);
}
.hero-intro__wordmark {
  display: block;
  width: 100%;
  max-width: 45.941rem;       /* 735.056px (Figma) */
  height: auto;
  aspect-ratio: 735.056 / 128.125;   /* Figma: 735.056 × 128.125 */
}

.hero-intro__scroll {
  position: absolute;
  left: 50%;
  bottom: 5.5rem;             /* ~89px from bottom of 1000px frame */
  transform: translateX(-50%);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;                /* 8px */
  height: 3rem;               /* 48px */
  padding: 0.75rem 1.5rem;    /* 12px 24px */
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 3rem;        /* 48px */
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.hero-intro__scroll span {
  font-family: var(--font-poppins, "Poppins", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;        /* 14px */
  line-height: 1.5;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}
.hero-intro__scroll img {
  width: 2.25rem;             /* 36px */
  height: 2.25rem;
  display: block;
}
.hero-intro__scroll:hover,
.hero-intro__scroll:focus-visible {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.95);
}

/* ===== Mobile (Figma 99:47981 — 402×874, 좌표를 시안 그대로 절대배치) ===== */
@media (max-width: 1024px) {
  .hero-intro {
    height: 54.625rem;            /* Figma 99:47981: 874px 고정 */
    min-height: 54.625rem;
    max-height: none;
    padding: 0;
    display: block;
  }
  /* 데스크톱용 분리 로고·워드마크 숨김 */
  .hero-intro__icon,
  .hero-intro__wordmark { display: none; }
  /* 락업/텍스트 래퍼는 박스 생성을 건너뛰고, 자식을 .hero-intro 기준으로 직접 절대배치 */
  .hero-intro__lockup,
  .hero-intro__text { display: contents; }
  /* 로고 99:47999 — w 271.779 / h 238.686, 세로 중심은 시안 유지(50%+152.34px), 가로는 좌측(태그라인과 동일 37px) */
  .hero-intro__logo-mobile {
    display: block;
    position: absolute;
    left: 2.3125rem;              /* 37px — .hero-intro__tagline과 동일 여백 */
    top: calc(50% + 9.52125rem);  /* 50% + 152.34px */
    transform: translateY(-50%);
    width: 16.986rem;             /* 271.779px */
    height: 14.918rem;            /* 238.686px (SVG가 preserveAspectRatio=none이라 박스에 정확히 채워짐) */
    margin: 0;
    max-width: none;
  }
  /* 캡션 113:4313 — left 37px / top 736px, Pretendard 38px, tracking -1.14px, 두 줄 gap 4px */
  .hero-intro__tagline {
    position: absolute;
    left: 2.3125rem;              /* 37px */
    top: 46rem;                   /* 736px */
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;                 /* 4px */
    font-family: var(--font-pretendard, "Pretendard", sans-serif);
    font-weight: 400;
    font-size: 2.375rem;          /* 38px */
    line-height: 1.2;             /* leading-normal */
    letter-spacing: -0.07125rem;  /* -1.14px */
    white-space: nowrap;
    text-align: left;
  }
  .hero-intro__tagline strong { font-weight: 700; }
  .hero-intro__tagline-a { color: #ffffff; text-shadow: none; }                          /* 113:4310: 흰색, 그림자 없음 */
  .hero-intro__tagline-b { color: #09df97; text-shadow: 0 0 2.5rem rgba(5, 11, 114, 0.5); }   /* 113:4311: 초록 + 글로우 40px */
  /* 스크롤 버튼 124:4963 — 48×48, 우측 26px / 하단 33px (= top 793/874), 안에 마우스 아이콘 36×36 */
  .hero-intro__scroll {
    left: auto;
    right: 1.625rem;              /* 26px */
    bottom: 2.0625rem;            /* 33px */
    transform: none;
    gap: 0;
    padding: 0.75rem;             /* 12px */
    width: 3rem;                  /* 48px */
    height: 3rem;
    justify-content: center;
    overflow: hidden;             /* overflow-clip */
  }
  .hero-intro__scroll span { display: none; }
  .hero-intro__scroll img { width: 2.25rem; height: 2.25rem; }   /* 124:4958: 36×36 */
}

/* ========== 02-hero-main ========== */
/* ===== Hero Section — Headline (Figma node 98:59) ===== */
.hero-main {
  position: relative;
  width: 100%;
  height: 62.5rem;            /* 1000px */
  min-height: 100vh;
  max-height: 62.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #e8edf2;
}
.hero-main__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-main__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.hero-main__card {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 90rem;               /* 1440px */
  max-width: calc(100% - 5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;                /* 24px */
  padding: 5.625rem 2.5rem;   /* 90px vertical */
  background: rgba(255, 255, 255, 0.5);
  border-radius: 3.75rem;     /* 60px */
  backdrop-filter: blur(1.25rem);
  -webkit-backdrop-filter: blur(1.25rem);
  text-align: center;
}

.hero-main__badge {
  font-family: var(--font-inter, "Inter", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;        /* 14px */
  line-height: 1;             /* 14px */
  letter-spacing: 0.075rem;   /* 1.2px */
  text-transform: uppercase;
  color: #050b72;
  border: 1px solid #050b72;
  border-radius: 9999px;
  padding: 0.4375rem 1.5625rem;/* 7px 25px */
  white-space: nowrap;
}

.hero-main__heading {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 5.625rem;        /* 90px */
  line-height: 1.1;
  letter-spacing: -0.16875rem;/* -2.7px */
  color: #050b72;
  text-shadow: 0 0.25rem 6.25rem rgba(255, 255, 255, 0.7);
}
.hero-main__heading-line {
  display: block;
}
.hero-main__heading-light {
  font-weight: 300;
  letter-spacing: -0.06rem;   /* -0.96px */
}
.hero-main__heading-accent {
  color: #09ad76;
}
.hero-main__heading-line--accent .hero-main__heading-light {
  color: #09ad76;             /* Figma: accent 줄 안의 light(의 )도 green */
}

.hero-main__desc {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.25rem;         /* 20px */
  line-height: 1.4;
  color: #454545;
}

.hero-main__cta {
  padding-top: 1.5625rem;     /* ~25px */
}
.hero-main__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.0625rem 2.5rem;  /* 17px 40px */
  background: #1a73e9;
  border-radius: 1.875rem;    /* 30px */
  font-family: var(--font-inter, "Inter", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;        /* 14px */
  line-height: 1;             /* 14px */
  letter-spacing: 0.075rem;   /* 1.2px */
  text-transform: uppercase;
  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.hero-main__button:hover,
.hero-main__button:focus-visible {
  background: #155cc4;
  transform: translateY(-1px);
}

/* ===== Tablet / Mobile ===== */
/* ===== Mobile (Figma 113:4279) ===== */
@media (max-width: 1024px) {
  .hero-main {
    height: auto;
    min-height: 0;                    /* Figma 113:4279: 고정 높이 없음, py 80px만 */
    max-height: none;
    padding: 5rem 0.9375rem;          /* Figma: py 80px / px 15px */
  }
  .hero-main__card {
    width: 100%;
    max-width: 100%;
    padding: 5.625rem 1.25rem;   /* Figma: py 90px (좁은 화면에선 축소) */
    border-radius: 3.75rem;           /* 60px */
    gap: 1.5rem;
  }
  .hero-main__badge {
    white-space: normal;
    font-size: 0.875rem;              /* Figma: 14px (mini_E) */
    padding: 0.3125rem 0.8125rem;     /* 5px 13px */
  }
  .hero-main__heading {
    display: flex;                    /* Figma: 감싸는 컨테이너 auto-layout */
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    padding: 0 1.25rem 0.695px 1.25rem;/* Figma: 0 20px 0.695px 20px */
    font-size: 3.875rem;              /* Figma: 62px (--font-size-title) */
    line-height: normal;              /* Figma: leading-normal */
    letter-spacing: -0.116rem;        /* Figma: -1.86px (= -3%) */
  }
  .hero-main__heading-light {
    font-size: 1em;                   /* Figma: 62px (700/300 동일 크기) */
    letter-spacing: -0.06rem;         /* Figma: -0.96px */
  }
  .hero-main__desc {
    font-size: 1.25rem;   /* Figma: 20px */
    line-height: 1.4;
  }
  .hero-main__cta { padding-top: 0.5rem; }
  .hero-main__button {
    min-height: 44px;
    padding: 1.0625rem 2.5rem;        /* 17px 40px */
  }
}

/* ========== 03-core-technology-extraction ========== */
/* ===== Section - Core Technology: Extraction (Figma node 98:73) ===== */
.core-tech-extraction {
  position: relative;
  width: 100%;
  min-height: 62.5rem;          /* 1000px */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5rem 0;              /* 80px */
  overflow: hidden;
  background: #050a14;
  box-sizing: border-box;
}
.core-tech-extraction__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.core-tech-extraction__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.core-tech-extraction__inner {
  position: relative;
  z-index: 1;
  width: 90rem;                 /* 1440px */
  max-width: calc(100% - 5rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;                    /* 48px */
}

.core-tech-extraction__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.875rem;                /* 30px */
  text-align: center;
  width: 100%;
}
.core-tech-extraction__title {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 4.375rem;          /* 70px */
  line-height: 1.1;
  letter-spacing: -0.13125rem;  /* -2.1px */
}
.core-tech-extraction__title-light {
  font-weight: 300;
  color: #d9d9d9;
  letter-spacing: -0.0875rem;   /* -1.4px */
}
.core-tech-extraction__title-accent {
  color: #09df97;
}
.core-tech-extraction__sub {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.25rem;           /* 20px */
  line-height: 1.4;
  color: #ffffff;
}

.core-tech-extraction__line {
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, rgba(76, 214, 251, 0) 0%, rgba(76, 214, 251, 0.3) 50%, rgba(76, 214, 251, 0) 100%);
}

.core-tech-extraction__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}
.cte-step {
  flex: 1 0 0;
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.625rem 0.625rem;   /* 26px 10px */
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 1.5rem;
  backdrop-filter: blur(0.625rem);
  -webkit-backdrop-filter: blur(0.625rem);
}
.cte-step__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;                /* 72px */
  height: 4.5rem;
  margin-bottom: 1.5rem;        /* 24px */
  border-radius: 9999px;
  background: #09ad76;
}
.cte-step__icon img {
  width: 3rem;                  /* 48px */
  height: 3rem;
  display: block;
}
.cte-step__title {
  margin: 0 0 0.75rem;          /* pb 12px */
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 3.125rem;          /* 50px */
  line-height: 1.1;
  color: #09df97;
  white-space: nowrap;
}
.cte-step__desc {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.125rem;          /* 18px */
  line-height: 1.5;
  color: #ffffff;
}

/* ===== Tablet / Mobile ===== */
/* ===== Mobile (Figma 99:48049) ===== */
@media (max-width: 1024px) {
  .core-tech-extraction {
    min-height: 0;
    padding: 5rem 0;             /* Figma: py 80px */
  }
  .core-tech-extraction__inner {
    max-width: 100%;
    padding-inline: 3.75%;       /* ≈ 15px */
    gap: 2.375rem;               /* Figma: 38px */
  }
  .core-tech-extraction__head { padding-inline: 1.25rem; gap: 1.875rem; }   /* Figma head: px 20 / gap 30 */
  .core-tech-extraction__title {
    font-size: 2.875rem;              /* Figma: 46px (--font-size-H1) */
    line-height: normal;              /* Figma: leading-normal */
    letter-spacing: -0.0863rem;       /* Figma: -1.38px (= -3%) */
  }
  .core-tech-extraction__title-light { letter-spacing: -0.0575rem; font-size: 1em; }   /* Figma: 46px, -0.92px */
  .core-tech-extraction__sub {
    font-size: 1.25rem;   /* Figma: 20px */
    line-height: 1.4;
  }
  /* Figma 113:4096: 스텝 카드는 간격 없이 세로로 붙음 */
  .core-tech-extraction__steps {
    flex-direction: column;
    gap: 0;
  }
  .cte-step {
    width: 100%;
    padding: 1.625rem 0.625rem;     /* Figma: py 26px / px 10px */
    border-color: rgba(0, 0, 0, 0.15);   /* Figma 모바일: 검정 15% 테두리 */
    border-radius: 0.75rem;          /* Figma 113:4110·113:4120: 12px */
  }
  .cte-step:first-child {
    border-radius: 2.625rem;         /* Figma 113:4097: 42px */
  }
  .cte-step__title {
    overflow-wrap: break-word;
    font-size: 3.125rem;   /* Figma: 50px (좁은 화면 자동 축소) */
    line-height: 1.2;
    white-space: normal;
  }
  .cte-step__desc { font-size: 1.125rem; }   /* Figma: 18px */
}

/* ========== 04-latest-news ========== */
/* 시안용 가짜 데이터 — 실제 뉴스 연동 전까지 섹션 전체 비표시 */
/* ===== Section - Latest News (Figma node 98:122) ===== */
.latest-news {
  position: relative;
  width: 100%;
  min-height: 62.5rem;          /* 1000px */
  display: none !important;
  align-items: center;
  justify-content: center;
  padding: 5rem 0;
  overflow: hidden;
  background: #2f9c6e;
  box-sizing: border-box;
}
.latest-news__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.latest-news__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.latest-news__inner {
  position: relative;
  z-index: 1;
  width: 80rem;                 /* 1280px */
  max-width: calc(100% - 5rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;        /* MORE button right-aligned */
  gap: 3rem;                    /* 48px */
}

.latest-news__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;                  /* 24px */
  text-align: center;
  width: 100%;
}
.latest-news__title {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 4.375rem;          /* 70px */
  line-height: 1.1;
  letter-spacing: -0.13125rem;  /* -2.1px */
  color: #ededed;
}
.latest-news__title-light {
  font-weight: 300;
  letter-spacing: -0.0875rem;   /* -1.4px */
}
.latest-news__sub {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.25rem;           /* 20px */
  line-height: 1.4;
  color: #09df97;
}

.latest-news__line {
  width: 98.75%;                /* ~1264 of 1280 */
  height: 2px;
  background: linear-gradient(to right, rgba(76, 214, 251, 0) 0%, rgba(76, 214, 251, 0.3) 50%, rgba(76, 214, 251, 0) 100%);
}

.latest-news__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 2.25rem;                 /* 36px */
}
.news-card {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
}
.news-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #ffffff;
  border-radius: 2.5rem;        /* 40px */
  overflow: hidden;
  box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.25);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.news-card__link:hover,
.news-card__link:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 0.5rem 1.75rem rgba(0, 0, 0, 0.3);
}
.news-card__thumb {
  height: 12rem;                /* 192px */
  width: 100%;
  background: #c2c6d8;
  flex-shrink: 0;
}
.news-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.news-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;                 /* 12px */
  padding: 1.5rem;              /* 24px */
}
.news-card__date {
  font-family: var(--font-inter, "Inter", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;          /* 14px */
  line-height: 1;               /* 14px */
  letter-spacing: 0.075rem;     /* 1.2px */
  text-transform: uppercase;
  color: #727687;
}
.news-card__title {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 1.5rem;            /* 24px */
  line-height: 1.25;
  color: #141b2c;
}
.news-card__desc {
  margin: 0;
  padding-top: 0.25rem;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1rem;              /* 16px */
  line-height: 1.5;
  color: #424656;
}

.latest-news__more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;                  /* 8px */
  height: 3rem;                 /* 48px */
  padding: 0.75rem 1.5rem;      /* 12px 24px */
  border: 1px solid #09df97;
  border-radius: 3rem;          /* 48px */
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.latest-news__more span {
  font-family: var(--font-inter, "Inter", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;          /* 14px */
  line-height: 1;
  letter-spacing: 0.075rem;     /* 1.2px */
  text-transform: uppercase;
  color: #09df97;
}
.latest-news__more img {
  width: 1rem;                  /* 16px */
  height: 1rem;
  display: block;
}
.latest-news__more:hover,
.latest-news__more:focus-visible {
  background-color: rgba(9, 223, 151, 0.15);
}

/* ===== Tablet / Mobile ===== */
@media (max-width: 1024px) {
  .latest-news {
    min-height: 0;
    padding: 5rem 0;             /* Figma: py 80px */
  }
  .latest-news__bg::after {      /* Figma 모바일: 배경 위 검정 20% 오버레이 */
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
  }
  .latest-news__inner {
    max-width: 100%;
    padding-inline: 3.75%;       /* ≈ 15px */
    gap: 2.375rem;               /* Figma: 38px */
  }
  .latest-news__title {
    font-size: 2.875rem;              /* Figma: 46px (--font-size-H1) */
    line-height: normal;              /* Figma: leading-normal */
    letter-spacing: -0.0863rem;       /* Figma: -1.38px (= -3%) */
  }
  .latest-news__title-light { letter-spacing: -0.0575rem; font-size: 1em; }   /* Figma: 46px, -0.92px */
  .latest-news__head { align-items: stretch; gap: 1.5rem; }   /* Figma 112:122: items-start / gap 24px (텍스트는 내부에서 center) */
  .latest-news__sub { font-size: 1.25rem; line-height: 1.4; }   /* Figma: 20px */
  .latest-news__line { width: 100%; }
  /* Figma 모바일: 320px 카드 가로 스크롤 캐러셀 */
  .latest-news__cards {
    flex-wrap: nowrap;
    gap: 1.5rem;                 /* Figma: 24px */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.5rem;
  }
  .latest-news__cards::-webkit-scrollbar { height: 4px; }
  .latest-news__cards::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2); border-radius: 4px; }
  .news-card {
    flex: 0 0 20rem;             /* Figma: 320px */
    max-width: 86vw;
    scroll-snap-align: start;
  }
  .news-card__title { font-size: 1.5rem; line-height: 1.2; }     /* Figma: 24px, leading-normal */
  .news-card__desc { font-size: 1rem; line-height: 1.5; }        /* Figma: 16px */
  .latest-news__more { align-self: flex-end; min-height: 44px; }   /* Figma 99:48103: items-end → 우측 정렬 */
}

@media (max-width: 380px) {
  .news-card { flex-basis: 17rem; }
}

/* ========== 05-business-pillars ========== */
/* ===== Section - Business Pillars (Figma node 112:3960) ===== */
.business-pillars {
  background: #ededed;
  padding: 5rem 0.9375rem;      /* 80px 15px */
  display: flex;
  flex-direction: column;
  align-items: center;
}
.business-pillars__inner {
  width: 80rem;                 /* 1280px */
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;                  /* 40px */
}

.business-pillars__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;                  /* 24px */
  text-align: center;
  width: 100%;
}
.business-pillars__title {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 4.375rem;          /* 70px */
  line-height: 1.1;
  letter-spacing: -0.13125rem;  /* -2.1px */
  color: #050b72;
}
.business-pillars__title-accent { color: #09ad76; }
.business-pillars__sub {
  margin: 0;
  max-width: 36rem;             /* 576px */
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.25rem;           /* 20px */
  line-height: 1.4;
  color: #727687;
}

.business-pillars__line {
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, rgba(5, 11, 114, 0) 0%, rgba(5, 11, 114, 0.3) 50%, rgba(5, 11, 114, 0) 100%);
}

.business-pillars__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 2.5rem;                  /* 40px */
}
.pillar-card {
  position: relative;
  flex: 1 0 0;
  min-width: 0;
  box-sizing: border-box;
  height: 37.5rem;              /* 600px */
  padding: 3rem;                /* 48px */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-radius: 3.75rem;       /* 60px */
}
.pillar-card__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.pillar-card__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.pillar-card__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #0a192f 0%, rgba(10, 25, 47, 0.4) 50%, rgba(10, 25, 47, 0) 100%);
}
.pillar-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.925rem;                /* 14.8px */
  width: 100%;
}
.pillar-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 1.5rem;     /* 6px 24px */
  border-radius: 9999px;
  font-family: var(--font-inter, "Inter", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;          /* 14px */
  line-height: 1;               /* 14px */
  letter-spacing: 0.075rem;     /* 1.2px */
  text-transform: uppercase;
  color: #ffffff;
  white-space: nowrap;
}
.pillar-card__badge--blue { background: #1a73e9; }
.pillar-card__badge--green { background: #09ad76; }
.pillar-card__heading {
  margin: 0;
  display: flex;
  flex-direction: column;
  color: #ffffff;
}
.pillar-card__overline {
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 600;
  font-size: 2rem;              /* 32px */
  line-height: 1.4;
  text-transform: capitalize;
}
.pillar-card__name {
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 3.125rem;          /* 50px */
  line-height: 1.04;            /* 41.6/40 ≈ 0.832 of font; use ~1.04 for readability */
}
.pillar-card__desc {
  margin: 0;
  max-width: 28rem;             /* 448px */
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1rem;              /* 16px */
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.8);
}

/* ===== Mobile (Figma 112:4023) ===== */
@media (max-width: 1024px) {
  .business-pillars {
    padding: 5rem 0.9375rem;     /* Figma: py 80px / px 15px */
  }
  .business-pillars__inner { gap: 2.5rem; }   /* Figma: 40px */
  .business-pillars__head { gap: 1.5rem; }    /* Figma: 24px */
  .business-pillars__title {
    font-size: 2.875rem;              /* Figma: 46px (--font-size-H1) */
    line-height: normal;              /* Figma: leading-normal */
    letter-spacing: -0.0863rem;       /* Figma: -1.38px (= -3%) */
  }
  .business-pillars__title-light {
    font-weight: 300;
    font-size: 1em;                   /* Figma: 46px (동일) */
    letter-spacing: -0.0575rem;       /* Figma: -0.92px */
  }
  .business-pillars__sub { font-size: 1.25rem; line-height: 1.4; }   /* Figma: 20px */
  .business-pillars__cards {
    flex-direction: column;
    gap: 1.5rem;                 /* Figma: 24px */
  }
  .pillar-card {
    height: auto;
    min-height: 26.25rem;        /* Figma: 420px (내용 많으면 늘어남) */
    padding: 1.5rem;             /* Figma: 24px */
    border-radius: 3.75rem;      /* Figma: 60px */
  }
  .pillar-card__content { gap: 0.925rem; }    /* Figma: 14.8px */
  .pillar-card__badge {
    font-size: 0.875rem;         /* Figma: 14px (mini_E) */
    padding: 0.25rem 0.75rem;    /* Figma: 4px 12px */
  }
  .pillar-card__overline { font-size: 1.5rem; line-height: 1.4; }   /* Figma: 24px (--font-size-H3), 140% */
  .pillar-card__name { font-size: 2.25rem; line-height: normal; overflow-wrap: break-word; }   /* Figma: 36px (--font-size-h5) */
  .pillar-card__desc { font-size: 1rem; }     /* Figma: 16px */
}

/* ========== 06-core-technology-target ========== */
/* ===== Section - Core Technology: Target Extraction (Figma node 98:2064) ===== */
.core-tech-target {
  background: #030014;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62.5rem;          /* 1000px */
  padding: 6.25rem 0;           /* (1000 - 800)/2 = 100px */
  box-sizing: border-box;
}
.core-tech-target__inner {
  width: 90rem;                 /* 1440px */
  max-width: calc(100% - 5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;                  /* 40px */
}

.core-tech-target__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.75rem;                 /* 44px */
  text-align: center;
  width: 100%;
}
.core-tech-target__title {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 4.375rem;          /* 70px */
  line-height: 1.1;
  letter-spacing: -0.13125rem;  /* -2.1px */
}
.core-tech-target__title-light {
  font-weight: 300;
  color: #d9d9d9;
  letter-spacing: -0.0875rem;   /* -1.4px */
}
.core-tech-target__title-accent { color: #09df97; }
.core-tech-target__sub {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.25rem;           /* 20px */
  line-height: 1.4;
  color: #d9d9d9;
}

.core-tech-target__line {
  width: 87.78%;                /* ~1264 of 1440 */
  height: 2px;
  background: linear-gradient(to right, rgba(76, 214, 251, 0) 0%, rgba(76, 214, 251, 0.3) 50%, rgba(76, 214, 251, 0) 100%);
}

.core-tech-target__panel {
  width: 100%;
  display: flex;
  align-items: stretch;
  background: #090c37;
  border-radius: 16.5rem;       /* "500px" → fully rounded ends for ~534px tall pill */
  overflow: hidden;
  backdrop-filter: blur(0.625rem);
  -webkit-backdrop-filter: blur(0.625rem);
  min-height: 33.375rem;        /* 534px */
}
.core-tech-target__media {
  flex: 1 0 0;
  min-width: 0;
}
.core-tech-target__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.core-tech-target__detail {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.875rem;                /* 30px */
  padding: 2.5rem 5.625rem;     /* pl 90px; add vertical padding for the pill */
}
.core-tech-target__heading {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 3.125rem;          /* 50px */
  line-height: 1.15;
  color: #ffffff;
}
.core-tech-target__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;                  /* 24px */
}
.core-tech-target__item {
  display: flex;
  align-items: center;
  gap: 1rem;                    /* 16px */
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.125rem;          /* 18px */
  line-height: 1.5;
  color: #d9d9d9;
}
.core-tech-target__check {
  flex-shrink: 0;
  width: 1.25rem;               /* 20px */
  height: 1.5rem;               /* 24px */
  display: block;
}

/* ===== Mobile (Figma 113:4383) ===== */
@media (max-width: 1024px) {
  .core-tech-target {
    min-height: 0;
    padding: 5rem 0;             /* Figma: py 80px, 좌우 패딩 없음 */
  }
  .core-tech-target__inner {
    max-width: 100%;
    padding-inline: 0;
    gap: 2.375rem;               /* Figma: 38px */
  }
  .core-tech-target__head { padding-inline: 8.7%; gap: 1.5rem; }   /* Figma head: px 35 / gap 24 */
  .core-tech-target__title {
    font-size: 2.875rem;              /* Figma: 46px (--font-size-H1) */
    line-height: normal;              /* Figma: leading-normal */
    letter-spacing: -0.0863rem;       /* Figma: -1.38px (= -3%) */
  }
  .core-tech-target__title-light { letter-spacing: -0.0575rem; font-size: 1em; }   /* Figma: 46px, -0.92px */
  .core-tech-target__sub { font-size: 1.25rem; line-height: 1.4; }   /* Figma: 20px */
  .core-tech-target__sub br { display: none; }
  .core-tech-target__line { width: 100%; }
  .core-tech-target__panel {
    flex-direction: column;
    border-radius: 0;            /* Figma 모바일: 풀블리드 직사각형 패널 */
    min-height: 0;
  }
  .core-tech-target__media {
    width: 100%;
    height: 16.9rem;             /* Figma: ~270px */
    flex: none;
  }
  .core-tech-target__detail {
    padding: 2.5rem 1.875rem;    /* Figma: py 40 / pl 30 */
    gap: 1.875rem;               /* Figma: 30px */
  }
  .core-tech-target__heading {
    overflow-wrap: break-word;
    font-size: 2.25rem;               /* Figma: 36px (--font-size-h5) */
    line-height: normal;              /* Figma: leading-normal */
  }
  .core-tech-target__item {
    font-size: 1.125rem;   /* Figma: 18px */
    line-height: 1.5;
    align-items: flex-start;          /* Figma 113:4400·4404: items-start (여러 줄 대비) */
  }
}

/* ========== 07-cta-section ========== */
/* ===== CTA Section (Figma node 98:2089) ===== */
.cta-section {
  position: relative;
  width: 100%;
  min-height: 40.125rem;        /* 642px */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4.9375rem 0 5rem;    /* pt 79px / pb 80px */
  overflow: hidden;
  background: #94c7bd;
  box-sizing: border-box;
}
.cta-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.cta-section__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  display: block;
  pointer-events: none;
}

.cta-section__inner {
  position: relative;
  z-index: 1;
  width: 80rem;                 /* 1280px */
  max-width: calc(100% - 5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.4375rem;               /* 23px */
  text-align: center;
}
.cta-section__title {
  margin: 0;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 4.375rem;          /* 70px */
  line-height: 1.1;
  letter-spacing: -0.13125rem;  /* -2.1px */
  color: #ffffff;
}
.cta-section__sub {
  margin: 0 0 1.6125rem;        /* pb ~25.8px */
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 1.25rem;           /* 20px */
  line-height: 1.4;
  color: #ffffff;
  opacity: 0.8;
}
.cta-section__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 3rem;        /* 20px 48px */
  background: #ffffff;
  border-radius: 5rem;          /* 80px */
  box-shadow: 0 1.25rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.1), 0 0.5rem 0.625rem -0.375rem rgba(0, 0, 0, 0.1);
  font-family: var(--font-inter, "Inter", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;          /* 14px */
  line-height: 1;               /* 14px */
  letter-spacing: 0.075rem;     /* 1.2px */
  text-transform: uppercase;
  color: #09ad76;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cta-section__button:hover,
.cta-section__button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 1.5rem 2rem -0.3125rem rgba(0, 0, 0, 0.16), 0 0.5rem 0.75rem -0.375rem rgba(0, 0, 0, 0.12);
}

/* ===== Mobile (Figma 113:4867 — 높이 560px) ===== */
@media (max-width: 1024px) {
  .cta-section {
    min-height: 35rem;           /* Figma: 560px */
    padding: 5rem 0;             /* Figma: py 80px */
  }
  .cta-section__inner {
    max-width: 100%;
    padding-inline: 3.75%;       /* ≈ 15px */
    gap: 1.4375rem;              /* Figma: 23px */
  }
  .cta-section__title {
    overflow-wrap: break-word;
    text-align: center;               /* Figma: center */
    font-size: 2.875rem;              /* Figma: 46px (--font-size-H1) */
    line-height: normal;              /* Figma: leading-normal */
    letter-spacing: -0.0863rem;       /* Figma: -1.38px (= -3%) */
  }
  .cta-section__sub {
    font-size: 1.25rem;     /* Figma: 20px */
    line-height: 1.4;
    margin-bottom: 0;
  }
  .cta-section__button {
    min-height: 44px;
    padding: 1.25rem 3rem;       /* Figma: 20px 48px */
  }
}

