/* ===========================
   base.css — 전역 초기화 / 컬러 / 타이포
=========================== */

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  font-family: 'Pretendard', sans-serif;
  color: #111;
  background: #fff;
  line-height: 1.5;
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

/* 컬러, 타이포 시스템 */
:root {
  --color-primary: #5D9DB6;
  --color-primary-02: #7aadbb;
  --color-gray-100: #f6f6f6;
  --color-gray-200: #eaeaea;
  --color-gray-300: #dcdcdc;
  --color-gray-500: #888;
  --color-black: #111;

  --feature-arrow-color: #5895A6;

  --radius-md: 12px;
  --radius-sm: 8px;

  --max-width: 1200px;

  --font-title: 54px;
  --font-subtitle: 32px;
  --font-body: 18px;

  --font-size-heading-lg: 36px;  /* 대타이틀 */
  --font-size-heading-md: 28px;  /* 중간 타이틀 */
  --font-size-heading-sm: 24px;  /* 섹션 소제목 등 */
  --font-size-body-lg: 18px;     /* 본문(큰) */
  --font-size-body-md: 16px;     /* 본문(기본) */
  --font-size-eyebrow: 16px;     /* 아이콘+서브 라인 */

  --font-weight-heading: 700;
  --font-weight-medium: 600;
  --font-weight-regular: 400;

    /* Hero 전용 디스플레이 타이틀 */
  --font-size-display-lg: 54px;  /* PC용 */
  --font-size-display-md: 32px;  /* 모바일/태블릿용 */
  
  /* Hero 전용 서브 카피 사이즈 */
  --font-size-hero-sub-lg: 22px;  /* PC용 */
  --font-size-hero-sub-md: 16px;  /* 모바일/태블릿용 */

}


/* ===== 공용 텍스트 유틸리티 ===== */

/* 대타이틀용 */
.u-heading-lg {
  font-size: var(--font-size-heading-lg);
  font-weight: var(--font-weight-heading);
  line-height: 1.4;
}

/* 중간 타이틀용 (필요시) */
.u-heading-md {
  font-size: var(--font-size-heading-md);
  font-weight: var(--font-weight-heading);
  line-height: 1.4;
}

/* 섹션 소제목 타이틀용 (필요시) */
.u-heading-sm {
  font-size: var(--font-size-heading-sm);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}

/* 본문용 */
.u-body-lg {
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-regular);
  line-height: 1.7;
}

.u-body-md {
  font-size: var(--font-size-body-md);
  font-weight: var(--font-weight-regular);
  line-height: 1.7;
}

/* 아이콘+서브 텍스트 라인 */
.u-eyebrow {
  font-size: var(--font-size-eyebrow);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.02em;
}

/* 텍스트 그라데이션 */
.text-gradient-main {
  background: linear-gradient(90deg, #13536b 20%, #26a1d1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-light {
  background: linear-gradient(90deg, #ffffff 20%, #65c7ed 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Hero 대타이틀 (앱 첫 화면 등에서 쓰는 가장 큰 타이틀) */
.u-display-lg {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-heading);
  line-height: 1.25;
}

/* 반응형: 모바일 / 태블릿에서 자동으로 줄어들도록 */
@media (max-width: 1023px) {
  .u-display-lg {
    font-size: var(--font-size-display-md);
    line-height: 1.35;
    letter-spacing: -0.01em; 
  }
}

/* Hero 서브 카피 (히어로 바로 아래 설명문) */
.u-hero-sub {
  font-size: var(--font-size-hero-sub-lg);
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
  color: var(--color-primary-02);
  letter-spacing: -0.01em;
}

@media (max-width: 1023px) {
  .u-hero-sub {
    font-size: var(--font-size-hero-sub-md);
    line-height: 1.5;
  }
}