/**
 * 세이피안 홈페이지 - 공통 베이스
 *
 * 폰트 · 리셋 · 글자 크기 체계 · 등장 애니메이션.
 * 다른 화면(브랜드·비전·FAQ 등)을 옮겨 올 때도 이 파일을 그대로 쓴다.
 *
 * 폰트와 .bold-text 는 원래 워드프레스 [사용자 정의 CSS] 에만 있었다.
 * 여기에 같이 두어 테마 파일만으로 화면이 완성되게 한다.
 */

@font-face {
  font-family: 'SUIT-Regular';
  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TmoneyRoundWind';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-07@1.0/TmoneyRoundWindExtraBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* ===== 리셋 =====
 * ⚠ `.safeean-home *` 처럼 감싸면 안 된다. 감싸는 순간 `section` 규칙의 특정도가
 *   (0,1,1) 이 돼서, 원래 이 규칙을 덮어쓰던 `.section3{padding:5% 0}` ·
 *   `.smart-care{padding:5% 0}` (0,1,0) 이 지고 좌우 여백 1.5rem 이 살아남는다.
 *   그러면 카드 그리드·케어 카드가 모바일에서 44px 씩 좁아진다(실측).
 *   이 파일은 홈페이지 템플릿에서만 큐에 오르므로 전역으로 둬도 다른 화면에 닿지 않는다.
 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  scroll-behavior: smooth;
  color: #000;
}

/* ⚠ `html, body` 로 쓰면 안 된다 — 진다.
   원본에서는 이 규칙이 본문 안 <style> 이라 문서의 **맨 마지막**이어서 이겼는데,
   이 파일은 <head> 라 뒤에 오는 Elementor 인라인(`body{line-height:inherit}` ·
   `:host,html{line-height:1.5}`)에 밀린다. 그러면 글줄이 1.3 이 아니라 1.5 가 돼
   제목·문단이 8% 씩 높아진다(실측: .description 25px → 28px).
   그래서 순서가 아니라 특정도(0,0,2)로 이기게 둔다.
   단위 없는 1.3 이라 자식들은 제 글자 크기 × 1.3 으로 물려받는다. */
html body {
  line-height: 1.3;
}

body {
  font-family: 'SUIT-Regular', sans-serif;
  font-weight: normal;
  -webkit-tap-highlight-color: transparent;
}

/* 원본에서는 본문이 Elementor/`.entry-content` 안에 있어 거기서 내려온
   overflow-wrap:break-word 를 물려받았다. 그 상속이 사라지면 푸터 e-mail 칸
   (글자 145px / 칸 142px)이 안 접혀 칸 밖으로 3px 삐져나가고, 그만큼 푸터가
   44px 낮아진다(실측). 래퍼에 한 번 걸어 원본과 같게 물려준다. */
.safeean-home {
  overflow-wrap: break-word;
}

section {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 1.5rem;
  font-weight: bold;
}

/* ===== 글자 ===== */
.bold-text {
  font-family: 'TmoneyRoundWind', sans-serif;
}

.bold-suit {
  font-family: 'SUIT-Regular', sans-serif;
  font-weight: bold;
}

.txt-white {
  color: white;
}

.txt-color-safeean {
  color: #3db54b;
}

.txt-normal {
  font-weight: normal;
}

.txt-left {
  text-align: left;
}

.txt-title {
  /* 70px */
  font-size: clamp(36px, 4.375vw, 70px);
  margin-bottom: 25px;
}

.txt-sub {
  /* 21px */
  font-size: clamp(15px, 1.313vw, 21px);
}

.txt-l {
  /* 42px */
  font-size: clamp(15px, 2.625vw, 42px);
}

.txt-m {
  /* 28px */
  font-size: clamp(15px, 1.75vw, 28px);
}

.txt-s {
  /* 16px */
  font-size: 16px;
}

.txt-box {
  display: flex;
  justify-content: center;
}

/* ===== 등장 애니메이션 ===== */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 { transition-delay: 0.2s; }
.delay-2 { transition-delay: 0.4s; }
.delay-3 { transition-delay: 0.6s; }
.delay-4 { transition-delay: 0.8s; }

/* ===== 모바일 ===== */
@media (max-width: 768px) {
  .txt-box {
    flex-direction: column;
  }

  .txt-title {
    /* 42px */
    font-size: 11.2vw;
    margin-bottom: 0;
  }

  .txt-sub {
    /* 14.7px */
    font-size: 3.920vw;
  }

  .txt-l {
    /* 26px */
    font-size: 6.933vw;
  }

  .txt-m {
    /* 21px */
    font-size: 5.6vw;
  }

  .txt-s {
    /* 11.2px */
    font-size: 2.987vw;
  }
}
