@charset "UTF-8";

body, h1, h2, h3, h4, h5, h6, p, span, a, button, input, textarea, div, li {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif !important;
  letter-spacing: -0.03em !important;
}

/* 기본 베이스 본문 지정 */
body {
  background-color: #f4f0ea;
  color: #2b2a28;
}

#about { 
  background-color: #f4f0ea !important; /* 🤍 1. About: 포근하고 화사한 소프트 오트밀 화이트 */
}
#lesson { 
  background-color: #ced9e0 !important; /* 🧊 2. 레슨: 시크하고 맑은 더스티 스카이 블루 */
}
/* #cover-song 은 자체 패러랙스 배경 이미지를 사용하므로 오리지널 유지 */
#digital-single { 
  background-color: #e8e4dc !important; /* 🪵 3. 디싱: 내추럴하고 고급스러운 린넨 웜 그레이지 */
}
#wedding { 
  background-color: #f9f6f0 !important; /* 🥂 4. 축가: 은은하고 깨끗한 로맨틱 라이트 샴페인 크림 */
}
#summary-table { 
  background-color: #e3e7e8 !important; /* 🩶 5. 요약: 시원하고 미니멀한 아이스 플래티넘 그레이 */
}

/* 타이틀 및 메인 텍스트 디프 에스프레소 차콜 세팅 (밝은 배경 대비 극대화) */
.tm-section-title, h1, h2, h3, h4, h5, h6, strong { color: #1e1e1d !important; }
p, span, li, .text-muted { color: #4e4d4a !important; }
.tm-text-primary { color: #4a7c9d !important; } /* 시그니처 스틸 옥스포드 블루 */

/* 프리미엄 카드 기본 스펙 */
.premium-card {
  background: #ffffff !important; 
  border: 1px solid rgba(0, 0, 0, 0.02) !important;
  box-shadow: 0 10px 35px -5px rgba(43, 42, 40, 0.05) !important;
  border-radius: 16px;
  padding: 45px 30px !important;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.premium-card:hover {
  transform: translateY(-8px);
  border-color: #4a7c9d !important;
  box-shadow: 0 20px 45px -10px rgba(74, 124, 157, 0.15) !important;
}
.premium-card h4, .premium-card h5, .premium-card strong { color: #1e1e1d !important; }
.premium-card p, .premium-card li, .premium-card span { color: #5e5d5a !important; }

.price-tag { color: #2e5975; font-weight: 700; font-size: 1.25rem; margin-top: 12px; display: block; }

/* 하드코딩된 구형 흰색 글씨(text-white) 전체 자동 리셋 및 가시성 강제 추적 고정 */
#about .text-white, #lesson .text-white, #cover-song:not(.tm-testimonials-content) .text-white, #digital-single .text-white, #wedding .text-white, #summary-table .text-white,
#about .text-white-50, #lesson .text-white-50, #cover-song:not(.tm-testimonials-content) .text-white-50, #digital-single .text-white-50, #wedding .text-white-50, #summary-table .text-white-50 {
  color: #4e4d4a !important;
}
#about .tm-intro-text, #lesson .text-white.mb-4, #digital-single .text-white.mb-4, #wedding .text-white.mb-4 {
  color: #1e1e1d !important;
}

/* 올인원 커버곡 하단 홍보 특전 배너 웜화이트 전환 */
#cover-song .col-12 .rounded {
  background: #ffffff !important; 
  border: 1px solid rgba(74, 124, 157, 0.15) !important; 
  box-shadow: 0 5px 20px rgba(43, 42, 40, 0.04) !important; 
}
#cover-song .col-12 .rounded p.text-white { color: #4e4d4a !important; }
#cover-song .col-12 .rounded i.text-primary { color: #4a7c9d !important; }

/* 디지털 싱글 우측 CD 전용 박스 라이트 가시성 피팅 */
#digital-single .col-lg-12.text-center .p-4 {
  background: #ffffff !important;
  border: 1px solid rgba(43, 42, 40, 0.08) !important;
  box-shadow: 0 12px 30px rgba(43, 42, 40, 0.04) !important;
}
#digital-single .col-lg-12.text-center h3 { color: #1e1e1d !important; }

/* 축가 섹션 내부 인라인 배너 웜화이트 전환 */
#wedding .rounded.mb-5 {
  background: #ffffff !important;
  border: 1px solid rgba(74, 124, 157, 0.1) !important;
  box-shadow: 0 5px 20px rgba(0,0,0,0.01) !important;
}
#wedding .rounded.mb-5 strong { color: #4a7c9d !important; }
#wedding .rounded.mb-5 span { color: #4e4d4a !important; }

/* 요약 테이블 스킨 동기화 */
.track-table { width: 100%; margin-top: 30px; border-collapse: collapse; background: #ffffff !important; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.02); }
.track-table th, .track-table td { padding: 18px 20px; text-align: left; border-bottom: 1px solid #e1ded7; }
.track-table th { color: #1e1e1d !important; font-weight: 700; background-color: #e3e7e8; }
.track-table td { color: #4e4d4a !important; }
.track-table td.text-muted { color: #787a80 !important; }

/* 패러랙스 틴트 및 하단 컨택트 영역 리디자인 */
.tm-bg-overlay { background-color: rgba(230, 226, 218, 0.85) !important; }
#contact .col-12 .tm-section-title,
#contact .col-12 .tm-section-desc {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
}
#contact .bg-dark-opacity { 
  background: #ffffff !important; 
  border: 1px solid rgba(0, 0, 0, 0.05) !important; 
  box-shadow: 0 20px 50px rgba(43, 42, 40, 0.08) !important; 
}
#contact .bg-dark-opacity h4 { color: #1e1e1d !important; }
#contact .bg-dark-opacity p { color: #5e5d5a !important; }
#contact .btn-light { background: #4a7c9d !important; color: #ffffff !important; border: none !important; transition: all 0.3s ease; }
#contact .btn-light:hover { background: #39627f !important; }

/* CD 애니메이션 */
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.animate-spin-custom { animation: spin 25s linear infinite; color: #4a7c9d !important; }

/* ─── ⚡ HOME (Infinite) 오리지널 이미지 가시성 미세 조율 ─── */
#infinite {
  position: relative !important;
  background-color: #0b0b0c !important; 
  height: 100vh !important;
  overflow: hidden !important;
}
#infinite::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  background-image: url('../img/infinite-loop-01.jpg') !important; 
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
  filter: contrast(1.15) brightness(1.01) !important; 
}
#infinite .tm-hero-text-container {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: rgba(11, 11, 12, 0.15) !important; 
}
#infinite .tm-intro-next { position: absolute !important; z-index: 6 !important; }
#infinite .tm-hero-title { color: #ffffff !important; font-weight: 800 !important; text-shadow: 0 4px 25px rgba(0, 0, 0, 1), 0 2px 10px rgba(0, 0, 0, 1) !important; }
#infinite .tm-hero-subtitle, #infinite .tm-hero-text-content p { color: #ffffff !important; font-weight: 600 !important; text-shadow: 0 2px 15px rgba(0, 0, 0, 1), 0 1px 6px rgba(0, 0, 0, 1) !important; }

/* ─── ⚡ 메뉴바 글로벌 고정 및 스크롤 연동 스킨 ─── */
.tm-navbar { position: fixed !important; top: 0; left: 0; width: 100% !important; z-index: 9999 !important; transition: all 0.3s ease !important; }
.tm-navbar:not(.scroll) { background-color: transparent !important; border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important; }
.tm-navbar:not(.scroll) .navbar-brand, .tm-navbar:not(.scroll) .tm-nav-link { color: #ffffff !important; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }

/* 스크롤 시 상단바 배경을 첫 섹션(#about)의 오트밀 화이트 컬러와 완벽 동기화 */
.tm-navbar.scroll { background-color: rgba(244, 240, 234, 0.96) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important; }
.tm-navbar.scroll .navbar-brand, .tm-navbar.scroll .tm-nav-link { color: #1e1e1d !important; background-color: transparent !important; }
.tm-navbar .tm-nav-link:hover, .tm-navbar .nav-item.active .tm-nav-link, .tm-navbar .active .tm-nav-link, .tm-navbar .tm-nav-link.active { color: #4a7c9d !important; font-weight: 700 !important; background: transparent !important; }

/* ─── ⚡ SLICK SLIDER 라이트 보정 ─── */
.tm-testimonial-description-box { background: #ffffff !important; border: 1px solid rgba(0, 0, 0, 0.04) !important; box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.04) !important; border-radius: 14px !important; padding: 35px 25px !important; }
.tm-testimonial-description-box h4 { color: #1e1e1d !important; font-weight: 700 !important; }
.tm-testimonial-description-box p { color: #4e4d4a !important; opacity: 1 !important; }
.tm-testimonials-carousel .slick-dots { bottom: -45px !important; }
.tm-testimonials-carousel .slick-dots li button:before { font-size: 10px !important; color: #1e1e1d !important; opacity: 0.2 !important; }
.tm-testimonials-carousel .slick-dots li.slick-active button:before { color: #4a7c9d !important; opacity: 0.9 !important; }
.tm-testimonial-item { outline: none !important; padding: 15px 10px !important; }
.slick-track { display: flex !important; align-items: stretch !important; }

@media (max-width: 767px) {
  .navbar-collapse { background-color: #f4f0ea !important; }
  .navbar-collapse .tm-nav-link { color: #1e1e1d !important; text-align: center; }
  .track-table, .track-table tbody, .track-table tr, .track-table td, .track-table th { display: block; width: 100%; }
  .track-table tr { margin-bottom: 20px; background: #ffffff; padding: 10px; border-radius: 8px; }
  .track-table td { border-bottom: none; padding: 8px 15px; }
  .track-table th { display: none; }
}

/* ========================================================
   📈 [신규 반영] 디지털 싱글 데뷔 시스템 프로세스 UI (타임라인 플로우)
   ======================================================== */
.process-main-title {
  font-size: 1.15rem !important;
  letter-spacing: 0.05em !important;
  color: #1a1a1a !important;
  margin-bottom: 40px !important;
}

.process-flow-container {
  position: relative !important;
}

/* 타임라인 카드 개별 본체 가시성 고대비 보정 */
.process-flow-card {
  background: #ffffff !important;
  border: 1px solid rgba(43, 42, 40, 0.09) !important; /* 명확한 차콜 테두리 가두리 */
  border-radius: 20px !important;
  padding: 40px 30px !important;
  height: 100% !important;
  /* 💡 2중 묵직한 하이엔드 그림자로 린넨 베이지 배경 위에서 완벽 분리 조율 */
  box-shadow: 0 15px 35px -5px rgba(26, 26, 27, 0.08), 0 5px 15px -3px rgba(26, 26, 27, 0.04) !important;
  position: relative !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.process-flow-card:hover {
  transform: translateY(-6px) !important;
  border-color: #4a7c9d !important;
  box-shadow: 0 20px 40px -5px rgba(74, 124, 157, 0.18) !important;
}

.step-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  background-color: #4a7c9d !important;
  color: #ffffff !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  border-radius: 50% !important;
  margin-bottom: 22px !important;
  box-shadow: 0 4px 12px rgba(74, 124, 157, 0.25) !important;
}

.step-title {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 14px !important;
}

.step-desc {
  font-size: 0.88rem !important;
  color: #5e6066 !important;
  line-height: 1.7 !important;
  margin-bottom: 0 !important;
  word-break: keep-all !important;
}

/* 💡 데스크탑 와이드 모니터 화면에서 카드 사이에 흐름 화살표(→) 정중앙 배치 */
@media (min-width: 992px) {
  .process-flow-card::after {
    content: "→" !important;
    position: absolute !important;
    top: 50% !important;
    /* 💡 부트스트랩 양쪽 카드 사이 Gap(30px)의 정확한 중간 지점(+15px)을 수학적으로 계산 */
    left: calc(100% + 15px) !important; 
    /* 💡 화살표 오브젝트 자체의 크기와 관계없이 수평(-50%)/수직(-50%) 모두 완벽하게 축 정중앙 정렬 */
    transform: translate(-50%, -50%) !important;
    font-size: 1.8rem !important;
    line-height: 1 !important; /* 💡 핵심 치트키: 상속받던 구형 행간 여백을 0으로 압축하여 상하 왜곡을 원천 차단 */
    color: rgba(74, 124, 157, 0.45) !important;
    font-weight: 300 !important;
    z-index: 10 !important;
  }
  /* 3번째 마지막 카드 뒤에 붙는 화살표는 가시성 은닉 처리 */
  .col-lg-4:last-child .process-flow-card::after {
    display: none !important;
  }
}

/* ========================================================
   💎 [신규 반영] 디지털 싱글 수직형 3열 카드 (가시성/그림자 고대비 피팅)
   ======================================================== */
.ds-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-align: center !important;
  padding: 50px 25px 40px 25px !important;
  background: #ffffff !important;
  border: 1px solid rgba(43, 42, 40, 0.09) !important; /* 명확한 경계 테두리선 */
  border-radius: 24px !important;
  /* 💡 깊고 풍부한 섀도우 셋업으로 묻힘 현상 원천 차단 */
  box-shadow: 0 20px 45px -10px rgba(43, 42, 40, 0.09), 0 5px 15px -3px rgba(43, 42, 40, 0.03) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  height: 100% !important;
}

.ds-card:hover {
  transform: translateY(-8px) !important;
  border-color: #4a7c9d !important;
  box-shadow: 0 25px 50px -10px rgba(74, 124, 157, 0.2) !important;
}

.ds-card-title {
  display: block !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  letter-spacing: -0.05em !important;
  line-height: 1.5 !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

.ds-card .text-muted {
  font-size: 0.88rem !important;
  color: #5e6066 !important;
  line-height: 1.65 !important;
  margin-bottom: 30px !important;
  word-break: keep-all !important;
}

.ds-card-price {
  display: block !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  color: #4a7c9d !important;
  letter-spacing: -0.02em !important;
  width: 100% !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* 🔥 [추천 센터 하이라이트 트랙] 중앙 2번째 공식 유통 카드 고대비 스킨 */
.ds-card-highlight {
  background: #ffffff !important;
  border: 2px solid #4a7c9d !important; /* 강력한 시그니처 블루 테두리 가두리 */
  box-shadow: 0 30px 60px -15px rgba(74, 124, 157, 0.22) !important;
}

.ds-card-highlight:hover {
  box-shadow: 0 35px 70px -10px rgba(74, 124, 157, 0.28) !important;
}

.ds-card-highlight .ds-card-title {
  color: #2c5270 !important;
}

/* ========================================================
   🤎 [정렬 완벽 픽스] About 섹션 프리미엄 4열 Fancy 카드 스펙
   ======================================================== */
.about-hero-lead {
  font-size: 1.45rem !important;
  line-height: 1.6 !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
}

.about-hero-sub {
  max-width: 820px !important;
  margin: 0 auto !important;
  line-height: 1.85 !important;
  font-size: 0.98rem !important;
  color: #5e6066 !important;
}

.about-highlight-text {
  display: block !important;
  margin-top: 16px !important;
  color: #4a7c9d !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
}

.about-card {
  background: #ffffff !important;
  border: 1px solid rgba(43, 42, 40, 0.09) !important;
  border-radius: 22px !important;
  padding: 45px 24px !important;
  height: 100% !important;
  box-shadow: 0 15px 35px -5px rgba(26, 26, 27, 0.06), 0 5px 15px -3px rgba(26, 26, 27, 0.03) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  
  /* 💡 [정렬 치트키 1] 카드 자체를 수직 플렉스 박스로 선언하고 내부 요소를 가로축 중앙 정렬 */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.about-card:hover {
  transform: translateY(-8px) !important;
  border-color: #4a7c9d !important;
  box-shadow: 0 25px 50px -10px rgba(74, 124, 157, 0.16) !important;
}

.about-card-icon {
  display: block !important;
  text-align: center !important;
  color: #4a7c9d !important;
  font-size: 2.2rem !important;
  margin-bottom: 18px !important;
  transition: all 0.3s ease !important;
}

.about-card:hover .about-card-icon {
  transform: scale(1.12) !important;
  color: #39627f !important;
}

.about-card-title {
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  letter-spacing: -0.05em !important;
  margin-bottom: 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
  text-align: center !important;
  width: 100% !important; /* 선이 카드 너비에 맞춰 예쁘게 퍼지도록 설정 */
}

/* 💡 [정렬 치트키 2] 리스트 블록 정밀 빌딩 */
.about-card-list {
  list-style: none !important;
  padding: 0 !important;
  /* 💡 margin: 0 auto와 inline-block의 조합으로, 글자 길이에 딱 맞춘 박스를 카드 '정중앙'에 배치합니다. */
  margin: 0 auto !important; 
  display: inline-block !important; 
  /* 💡 블록은 중앙에 오되, 내부 체크 아이콘과 글자들은 정갈하게 왼쪽 정렬을 유지하여 가시성 확보 */
  text-align: left !important; 
}

.about-card-list li {
  font-size: 0.88rem !important;
  color: #5e6066 !important;
  line-height: 1.8 !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: flex-start !important;
  word-break: keep-all !important;
}

.about-card-list li:last-child {
  margin-bottom: 0 !important;
}

.about-card-list li i {
  color: #4a7c9d !important;
  font-size: 0.82rem !important;
  margin-top: 4px !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
}

/* ========================================================
   💍 [완전 해결] 맞춤 축가 제작 수직형 3열 카드 (가시성/그림자 고대비 피팅)
   ======================================================== */
.wedding-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important; /* 💡 상단 정보와 하단 가격표를 양끝 균등 분할 */
  text-align: center !important;
  padding: 50px 25px 40px 25px !important;
  background: #ffffff !important; /* 💡 100% 불투명 순백 스킨으로 투명 버그 차단 */
  border: 1px solid rgba(43, 42, 40, 0.09) !important; /* 연한 크림 배경과의 명확한 분리 경계선 */
  border-radius: 24px !important;
  /* 💡 묵직한 2중 레이어 그림자를 가동하여 입체적으로 카드를 붕 띄웁니다 */
  box-shadow: 0 20px 45px -10px rgba(43, 42, 40, 0.09), 0 5px 15px -3px rgba(43, 42, 40, 0.03) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  height: 100% !important;
}

.wedding-card:hover {
  transform: translateY(-8px) !important;
  border-color: #4a7c9d !important;
  box-shadow: 0 25px 50px -10px rgba(74, 124, 157, 0.2) !important;
}

/* 상단 포인트 심볼 정렬 */
.wedding-card-icon {
  color: #4a7c9d !important;
  font-size: 2rem !important;
  margin-bottom: 20px !important;
}

/* 패키지 제목 컴포넌트 프리미엄 자간 압축 */
.wedding-card-title {
  display: block !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  letter-spacing: -0.05em !important;
  line-height: 1.5 !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

/* 본문 줄바꿈 최적화 */
.wedding-card .text-muted {
  font-size: 0.88rem !important;
  color: #5e6066 !important;
  line-height: 1.65 !important;
  margin-bottom: 30px !important;
  word-break: keep-all !important;
}

/* 하단 단가 마킹 엣지 */
.wedding-card-price {
  display: block !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  color: #4a7c9d !important;
  letter-spacing: -0.02em !important;
  width: 100% !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important; /* 미니멀 가로 절취선 */
}

/* 🔥 [추천 센터 하이라이트] 2번째 공식 음원+유통 카드 딥 블루지 가두리 스킨 */
.wedding-card-highlight {
  background: #ffffff !important;
  border: 2px solid #4a7c9d !important; /* 강력한 시그니처 블루 외곽 테두리 적용 */
  box-shadow: 0 30px 60px -15px rgba(74, 124, 157, 0.22) !important;
}

.wedding-card-highlight:hover {
  box-shadow: 0 35px 70px -10px rgba(74, 124, 157, 0.28) !important;
}

.wedding-card-highlight .wedding-card-title {
  color: #2c5270 !important;
}

/* ========================================================
   🏢 [완전 독립 빌드] 푸터 섹션 솔리드 딥 차콜 스킨 및 정밀 정렬
   ======================================================== */
.tm-footer {
  background-color: #18181a !important; /* 💡 사진 레이어를 원천 차단하는 100% 솔리드 딥 블랙 차콜 암막 */
  padding-top: 55px !important;
  padding-bottom: 55px !important;
  border-top: 1px solid #262629 !important; /* 미니멀한 다크 경계 라인 */
  margin-top: 0 !important; /* 위쪽 컨택트 섹션과 빈틈없이 밀착 */
  position: relative !important;
  z-index: 100 !important;
  width: 100% !important;
}

/* 하단 퀵 링크 정렬 가두리 */
.tm-footer-nav {
  display: flex !important;
  justify-content: center !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
}

.tm-footer-nav a {
  color: #ffffff !important; /* 100% 순백색 고정 */
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tm-footer-nav a:hover {
  color: #4a7c9d !important; /* 시그니처 프리미엄 블루 매칭 */
  text-shadow: 0 0 10px rgba(74, 124, 157, 0.4) !important;
}

/* 사업자 정보 폰트 밸런싱 */
.tm-business-info {
  margin-top: 26px !important;
  line-height: 1.8 !important;
  letter-spacing: -0.01em !important;
}

/* 💡 [최종 해결] 독립 푸터 모든 텍스트(라벨 + 실제 값) 순백색 100% 고정 */
.tm-business-info p, 
.tm-business-info span, 
.tm-business-info strong {
  color: #ffffff !important; /* 어떤 예외 스타일도 다 씹고 100% 쨍한 화이트로 통일 */
  font-size: 0.82rem !important;
}

/* 상호명, 대표자 등 타이틀 항목은 두껍게 줘서 정갈하게 구분 */
.tm-business-info strong {
  font-weight: 700 !important; 
  margin-right: 5px !important;
}

/* 세로 수평 분할 선 (|) 시인성 상향 조율 */
.info-split {
  color: rgba(255, 255, 255, 0.25) !important; 
  margin: 0 12px !important;
  font-size: 0.75rem !important;
}

/* 맨 밑 하단 카피라이트 문구 보정 */
.tm-copyright-text {
  color: rgba(255, 255, 255, 0.4) !important; 
  font-size: 0.8rem !important;
  margin-top: 20px !important;
}

/* 📱 모바일 디바이스 환경에서 흐트러짐 없는 수직 스택 자동 리셋 */
@media (max-width: 767px) {
  .tm-footer-nav {
    gap: 12px 20px !important;
  }
  .tm-business-info p {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
    margin-bottom: 14px !important;
  }
  .tm-business-info p:last-child {
    margin-bottom: 0 !important;
  }
  .info-split {
    display: none !important;
  }
}

.fade-in-up {
  opacity: 0 !important;
  transform: translateY(45px) !important; /* 45px 아래 배치 대기 */
  /* 하드웨어 가속 바인딩 및 0.85초 고급 감속 프레임 */
  transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform, opacity !important;
}

/* 감시 장치가 마운트 확인 시 발동 도장 클래스 */
.fade-in-up.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* 수평 3~4단 카드 배열 전용 릴레이 시간차 타이밍 체인 */
.delay-1 { transition-delay: 0.15s !important; }
.delay-2 { transition-delay: 0.3s !important; }
.delay-3 { transition-delay: 0.45s !important; }