@charset "utf-8";

/* 모바일 터치 피드백 효과 삭제 */
* {-webkit-tap-highlight-color: transparent;}


/***************************************************************************/
/*				                                  데스크톱		                                             /
/***************************************************************************/

html {font-size: 17px;}
body {font-size: 1rem;line-height: 1.6;} 

/* 위로가기 버튼 */
#scrollToTopBtn{position:fixed;bottom:20px;right:10px;z-index:99;border:none;outline:none;display: flex;justify-content: center;align-items: center;text-align: center;background-color:#494b53;color:white;font-weight:600;cursor:pointer;width:50px;height:50px;border-radius: 50%;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);font-size:16px;display:none;opacity:0;transition:opacity 0.3s, transform 0.3s;transform:translateY(10px);}
#scrollToTopBtn.show{display:block;opacity:1;transform:translateY(0);}

/* 헤더 */
.site-header {position: fixed;top: 0; left: 0; right: 0;z-index: 200;height: 90px;display: flex;align-items: center;justify-content: space-between;padding: 0 4vw;background: rgba(28,32,40,0.88);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);border-bottom: 1px solid rgba(0,0,0,0.15);transition: background 0.3s;}
.site-header.scrolled { background: rgba(28,32,40,0.98); }

/* 로고 */
.logo {
  display: inline-block; /* block 또는 inline-block으로 변경하여 크기 설정 가능하게 함 */
  width: 230px; /* 로고 이미지 가로 크기 */
  height: 50px; /* 로고 이미지 세로 크기 */
  background-image: url("../img/logo.png"); /* 로고 이미지 경로 */
  background-size: contain; /* 이미지가 요소 안에 다 들어오도록 조절 */
  background-repeat: no-repeat; /* 이미지 반복 방지 */
  background-position: center; /* 이미지 중앙 배치 */
  text-decoration: none; /* 링크 밑줄 제거 */
  flex-shrink: 0; /* 로고 크기 축소 방지 (부모가 flex인 경우 필요) */
  text-indent: -9999px; /* 텍스트를 왼쪽으로 아주 멀리 밀어버림 */
  overflow: hidden; /* 영역을 벗어난 텍스트를 숨김 */
  white-space: nowrap; /* 텍스트가 줄바꿈되지 않도록 함 */
  }

  /* 메뉴 */
  .main-nav { display: flex; align-items: center; }
  .nav-item { position: relative; }
  .nav-link {display: block; padding: 0 1.1rem;height: 90px; line-height: 90px;font-size: 0.96rem; font-weight: 400;letter-spacing: 0.05em; color: var(--lightsilver);text-decoration: none; white-space: nowrap;transition: color 0.2s; position: relative;}
  .nav-item:hover > .nav-link { color: var(--accent3); }
  .nav-link::after {content: ''; position: absolute;bottom: 0; left: 1.1rem; right: 1.1rem; height: 2px;background: var(--accent3);transform: scaleX(0); transition: transform 0.25s;}
  .nav-item:hover > .nav-link::after { transform: scaleX(1); }

  /* 메뉴 드롭다운 */
  .dropdown {position: absolute; top:88px; left: 0;min-width: 150px;background: var(--iron);border-top: 2px solid var(--accent3);box-shadow: 0 12px 32px rgba(0,0,0,0.5);opacity: 0; visibility: hidden;transform: translateY(-6px);transition: opacity 0.2s, transform 0.2s, visibility 0.2s;z-index: 300;}
  .nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
  .dropdown a {display: block; padding: 0.75rem 1.2rem;font-size: 0.8rem; color: var(--silver);text-decoration: none;border-bottom: 1px solid rgba(255,255,255,0.04);transition: background 0.15s, color 0.15s, padding-left 0.15s;}
  .dropdown a:hover { background: rgba(232,124,42,0.08); color: var(--accent3); padding-left: 1.6rem; }

  /* 상담문의 버튼 */
  .nav-cta {margin-left: 1.2rem; padding: 0.45rem 1.3rem;background: var(--accent); color: #fff;font-family: 'Barlow Condensed', sans-serif;font-size: 0.86rem; font-weight: 400; letter-spacing: 0.1em;border-radius: 2px; text-decoration: none;transition: background 0.2s; white-space: nowrap;}
  .nav-cta:hover { background: var(--accent2); }

  /* 햄버거메뉴 */
  .hamburger {display: none; flex-direction: column; gap: 5px;cursor: pointer; padding: 6px; background: none; border: none;}
  .hamburger span { display: block; width: 24px; height: 2px; background: var(--lightsilver); transition: all 0.3s; }
  .hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
  .hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0);}
  .hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

  /* 모바일 메뉴열림 */
  .mobile-nav {display: none;position: fixed; top: 68px; left: 0; right: 0;background: var(--iron);border-top: 1px solid rgba(255,255,255,0.06);z-index: 190;max-height: calc(100vh - 68px); overflow-y: auto;transform: translateY(-100%); opacity: 0;transition: transform 0.3s ease, opacity 0.3s;pointer-events: none;box-shadow: 0 8px 32px rgba(0,0,0,0.5);}
  .mobile-nav.open { transform: translateY(0); opacity: 1; pointer-events: all; }
  .mobile-nav-link {display: flex; align-items: center; justify-content: space-between;padding: 1rem 5vw; font-size: 0.9rem; font-weight: 600;color: #fff; text-decoration: none;border-bottom: 1px solid rgba(255,255,255,0.06); cursor: pointer;}
  .mobile-nav-link .arrow { display: inline-block;width: 7px; height: 7px;border-right: 2px solid var(--accent3);border-bottom: 2px solid var(--accent3);transform: rotate(-45deg);  /* > 방향 */transition: transform 0.2s;margin-left: 4px;}
  .mobile-nav-link.active .arrow { transform: rotate(45deg);}
  .mobile-sub { max-height: 0; overflow: hidden; background: rgba(255,255,255,0.03); transition: max-height 0.3s; }
  .mobile-sub.open { max-height: 300px; }
  .mobile-sub a {display: block; padding: 0.7rem 5vw 0.7rem 7vw;font-size: 0.82rem; color: var(--silver);text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.04);}
  .mobile-sub a:hover { color: var(--accent3); }

  /* 모바일 상담문의 버튼 — 기본(데스크탑)에서는 숨김 — nav-cta 데스크탑 버튼이 대신함 */
 .mobile-cta {display: none;padding: 0.3rem 0.8rem;background: var(--accent);color: #fff;font-size: 0.74rem;font-weight: 700;letter-spacing: 0.1em;border-radius: 2px;text-decoration: none;white-space: nowrap;transition: background 0.2s;}
 .mobile-cta:hover { background: var(--accent2); }

  /* 메인 상단 비주얼 영역 — sections-wrapper가 스크롤되며 위로 올라와 덮는 구조 */
  .hero-wrapper {position: fixed;top: 0; left: 0; right: 0;height: 100vh;z-index: 0;overflow: hidden;}
  /* hero가 fixed라 DOM 흐름에서 빠지므로, sections-wrapper가 뷰포트 높이만큼 아래에서 시작하게 spacer 역할 */
  .hero-spacer {height: 100vh;pointer-events: none;}
  .hero-video {position: absolute; inset: 0;width: 100%; height: 100%;object-fit: cover;object-position: center;/* 로딩 전 폴백 배경 */background: var(--iron);}
  .hero-bg {position: absolute; inset: 0;background: linear-gradient(150deg,rgba(7,13,24,0.82) 0%,rgba(7,13,24,0.55) 50%,rgba(7,13,24,0.72) 100%);z-index: 1;}
  /* 그리드 텍스처 */
  .hero-bg::before {content: ''; position: absolute; inset: 0;background-image:linear-gradient(rgba(232,124,42,0.05) 1px, transparent 1px),linear-gradient(90deg, rgba(232,124,42,0.05) 1px, transparent 1px);background-size: 48px 48px;}
  .hero-bg::after {content: ''; position: absolute;top: 0; right: 0; width: 40%; height: 100%;background: linear-gradient(135deg, transparent 60%, rgba(232,124,42,0.07) 100%);}
  .hero-content {position: relative; z-index: 2; height: 100%;display: flex; flex-direction: column;justify-content: center; align-items: flex-start;padding: 68px 8vw 0;}
  .hero-eyebrow {font-family: 'Barlow Condensed', sans-serif;font-size: clamp(0.72rem,1.1vw,0.9rem); font-weight: 600;letter-spacing: 0.45em; color: var(--accent3);margin-bottom: 1.5rem; text-transform: uppercase;opacity: 0; animation: fadeUp 0.8s 0.4s ease forwards;}
  .hero-title {font-family:'Paperozi', serif;font-size: clamp(3rem, 7vw, 7.6rem); font-weight: 800;line-height: 1.1; color: #fff; margin-bottom: 2rem;opacity: 0; animation: fadeUp 0.9s 0.6s ease forwards;text-transform: uppercase; letter-spacing: -0.01em;}
  .hero-title em { display: block; color: var(--accent3); font-style: normal; }
  .hero-title small {display: block; font-size: 0.38em; letter-spacing: 0.18em;color: var(--lightsilver); font-weight: 300; margin-top: 0.6rem;}
  .hero-desc {font-size: clamp(0.88rem,1.3vw,1.05rem); font-weight: 300;color: rgba(255,255,255,0.75); max-width: 500px; line-height: 1.95;opacity: 0; animation: fadeUp 1s 0.8s ease forwards;}
  .hero-badges {display: flex; gap: 0.8rem; flex-wrap: wrap; margin-top: 2.2rem;opacity: 0; animation: fadeUp 1s 1s ease forwards;}
  .badge {padding: 0.35rem 0.9rem;border: 1px solid rgba(200,169,110,0.4);font-family: 'Barlow Condensed', sans-serif;font-size: 0.72rem; letter-spacing: 0.2em;color: var(--accent3); text-transform: uppercase;}
  .hero-scroll-hint {position: absolute; bottom: 2.5rem; left: 50%;transform: translateX(-50%);display: flex; flex-direction: column; align-items: center; gap: 0.5rem;color: rgba(255,255,255,1);font-family: 'Barlow Condensed', sans-serif;font-size: 0.68rem; letter-spacing: 0.35em; text-transform: uppercase;animation: pulse 2.5s infinite;z-index: 3;}
  .scroll-line {width: 1px; height: 52px;background: linear-gradient(to bottom, transparent, var(--accent3));animation: grow 2.5s infinite;}

	/* 섹션 기본 */
  .sections-wrapper { position: relative; z-index: 10; }
  .section {background: var(--plate);padding: 5.5rem 8vw 6.5rem;position: relative;}
  .section:first-child {border-radius: 2.5rem 2.5rem 0 0;padding-top: 6rem;box-shadow: 0 -40px 80px rgba(0,0,0,0.55);}
  .section + .section { border-top: 1px solid rgba(0,0,0,0.07); }
  .section.dark {background: var(--steel);color: var(--lightsilver);}
  .section.dark .section-label   { color: var(--accent); }
  .section.dark .section-heading { color: #fff; }
  .section.dark .section-body    { color: rgba(200,208,216,0.65); }
  .section.dark .stat-number     { color: #fff; }
  .section.dark .stat-desc       { color: rgba(200,208,216,0.55); }
  .section.dark .divider         { color: var(--accent); }
  .section-label {font-family: 'Barlow Condensed', sans-serif;font-size: 0.78rem; font-weight:400;letter-spacing: 0.42em; color: var(--silver);text-transform: uppercase; margin-bottom: 2.5rem;}
  .section-heading {font-family:'Paperozi', serif;font-size: clamp(2.2rem,4.5vw,4rem); font-weight: 700;line-height: 1.05; color: var(--text-dark);margin-bottom: 1.2rem; text-transform: uppercase;}
  .section-body {font-size: 0.98rem; font-weight: 300;line-height: 2; color: var(--text-body); max-width: 620px;}
  .divider { width: 52px; height: 3px; background: var(--accent); margin: 2.5rem 0; }

  .stats-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(190px,1fr));gap: 3rem 3.5rem; margin-top: 4rem;}
  .stat-item { position: relative; }
  .stat-item::before {content: ''; display: block; width: 28px; height: 3px;background: var(--accent); margin-bottom: 1rem;}
  .stat-number {font-family: 'Bebas Neue', sans-serif;font-size: clamp(3rem,5.5vw,5rem); line-height: 1;color: var(--text-dark); margin-bottom: 0.4rem;}
  .stat-number sup { font-size: 0.38em; vertical-align: top; margin-top: 0.35em; color: var(--accent); }
  .stat-desc { font-size: 0.88rem; color: var(--text-body); line-height: 1.65; font-weight: 400; }

  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
  .two-col.reverse { direction: rtl; }
  .two-col.reverse > * { direction: ltr; }

  .image-block { position: relative; aspect-ratio: 4/5; overflow: hidden; border-radius: 4px; }
  .image-block img {width: 100%; height: 100%; object-fit: cover;filter: grayscale(15%) contrast(1.05);transition: filter 0.5s, transform 0.6s;}
  .image-block:hover img { filter: grayscale(0%); transform: scale(1.03); }
  .image-block::after {content: ''; position: absolute; inset: 0;border-radius: 4px; pointer-events: none;}

  .quote-block {border-left: 4px solid var(--accent);padding: 1.8rem 2.5rem; margin: 3.5rem 0;background: rgba(232,124,42,0.05); border-radius: 0 4px 4px 0;}
  .quote-block p {font-size: clamp(1.05rem,1.8vw,1.4rem); font-weight: 300;line-height: 1.85; font-style: italic;color: var(--lightsilver); opacity: 0.95;}
  .quote-block cite {display: block; margin-top: 1.2rem;font-size: 0.75rem; letter-spacing: 0.25em;text-transform: uppercase; color: var(--accent); font-style: normal;}

  .product-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 1.5rem;margin-top: 3.5rem;}
  .product-card {background: #fff; border-radius: 4px; overflow: hidden;border: 1px solid rgba(0,0,0,0.07);transition: transform 0.3s, box-shadow 0.3s;cursor:pointer;}
  .product-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.12); }
  .product-card-img { aspect-ratio: 1/1; overflow: hidden; }
  .product-card-img img {width: 100%; height: 100%; object-fit: cover; filter: grayscale(10%);transition: filter 0.4s, transform 0.5s;}
  .product-card:hover .product-card-img img { filter: grayscale(0%); transform: scale(1.05); }
  .product-card-body { padding: 1.3rem 1.4rem; }
  .product-card-tag {font-family: 'Barlow Condensed', sans-serif;font-size: 0.8rem; letter-spacing: 0.25em;color: var(--accent); text-transform: uppercase; margin-bottom: 0.4rem;}
  .product-card-title { font-weight: 700; font-size: 1.2rem; color: var(--text-dark); }
  .product-card-desc { margin-top: 0.5rem; font-size: 0.86rem; color: var(--text-body); line-height: 1.65; font-weight: 300; }

  .equip-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(260px,1fr));gap: 1rem; margin-top: 3rem;}
  .equip-item {display: flex; align-items: flex-start; gap: 1rem;padding: 1.3rem 1.5rem;background: rgba(255,255,255,0.04);border: 1px solid rgba(255,255,255,0.06);border-radius: 4px;transition: border-color 0.2s, background 0.2s;cursor:pointer;}
  .equip-item:hover { border-color: rgba(232,124,42,0.35); background: rgba(232,124,42,0.05); }
  .equip-icon {width: 40px; height: 40px; flex-shrink: 0;background: rgba(232,124,42,0.12); border-radius: 3px;display: flex; align-items: center; justify-content: center;}
  .equip-icon svg { width: 20px; height: 20px; fill: none; stroke: var(--accent3); stroke-width: 1.5; }
  .equip-name {  font-weight: 600; font-size: 1rem;color: #fff; }
  .equip-spec { margin-top: 0.2rem; font-size: 0.78rem; color: var(--silver); font-weight: 300; }

  .timeline { position: relative; padding-left: 2rem; margin-top: 3.5rem; }
  .timeline::before {content: ''; position: absolute; left: 0; top: 0; bottom: 0;width: 1px; background: linear-gradient(to bottom, var(--accent), transparent);}
  .timeline-item { position: relative; padding-bottom: 2.8rem; padding-left: 2rem; }
  .timeline-item::before {content: ''; position: absolute; left: -0.38rem; top: 0.42rem;width: 8px; height: 8px; border-radius: 50%; background: var(--accent);box-shadow: 0 0 0 3px rgba(232,124,42,0.18);}
  .timeline-year { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; letter-spacing: 0.08em; color: var(--accent); }
  .timeline-text { margin-top: 0.4rem; font-size: 0.9rem; line-height: 1.8; color: rgba(200,208,216,0.65); font-weight: 300; }

  .cta-tel {display: inline-flex;align-items: center;gap: 1.2rem;margin: 2rem auto 0;padding: 1.2rem 2rem;background: rgba(47,129,233,0.06);border: 1px solid rgba(47,129,233,0.4);border-radius: 6px;text-decoration: none; transition: background 0.25s, border-color 0.25s, transform 0.25s;cursor: pointer;}
  .cta-tel:hover {background: rgba(47,129,233,0.12);border-color: var(--accent);transform: translateY(-2px);}
  .cta-tel-icon {width: 52px; height: 52px;background: var(--accent);border-radius: 50%;display: flex; align-items: center; justify-content: center;flex-shrink: 0;}
  .cta-tel-icon svg { width: 22px; height: 22px; stroke: #fff; }
  .cta-tel-body {display: flex; flex-direction: column;align-items: flex-start;gap: 0.2rem;}
  .cta-tel-label {font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 0.25em;color: var(--accent);text-transform: uppercase;}
  .cta-tel-num {font-family: 'Bebas Neue', sans-serif;font-size: 2rem;letter-spacing: 0.08em;color: #fff;line-height: 1;}
  .cta-tel-arrow {width: 28px; height: 28px;display: flex; align-items: center; justify-content: center;color: var(--accent);margin-left: 0.5rem;}
  .cta-tel-arrow svg { width: 20px; height: 20px; }

  .contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 2rem; margin-top: 3rem; }
  .contact-item { display: flex; align-items: flex-start; gap: 1rem; }
  .contact-icon {width: 44px; height: 44px; flex-shrink: 0;background: rgba(232,124,42,0.1);border: 1px solid rgba(232,124,42,0.25); border-radius: 3px;display: flex; align-items: center; justify-content: center;}
  .contact-icon svg { width: 20px; height: 20px; stroke: var(--accent3); fill: none; stroke-width: 1.5; }
  .contact-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 0.22em; color: var(--accent3); text-transform: uppercase; margin-bottom: 0.25rem; }
  .contact-value { font-size: 0.92rem; color: #fff; font-weight: 400; line-height: 1.6; }

  .cta-section {text-align: center; padding: 8rem 8vw;background: var(--iron); color: var(--lightsilver);position: relative; overflow: hidden;}
  .cta-section::before {content: ''; position: absolute; inset: 0;background-image:linear-gradient(rgba(232,124,42,0.04) 1px, transparent 1px),linear-gradient(90deg, rgba(232,124,42,0.04) 1px, transparent 1px);background-size: 48px 48px;}
  .cta-section > * { position: relative; z-index: 1; }
  .cta-section .section-heading { color: #fff; }
  .cta-stxt {color:rgba(200,208,216,0.6);margin-top:1.2rem;font-weight:300;line-height:1.9;font-size:0.98rem;}
  .cta-btn {display: inline-block; margin-top: 2.5rem;padding: 1rem 3rem; background: var(--accent); color: #fff;font-family: 'Barlow Condensed', sans-serif;font-size: 0.95rem; font-weight: 700;letter-spacing: 0.2em; text-transform: uppercase;text-decoration: none; border-radius: 2px;transition: background 0.25s, transform 0.2s;}
  .cta-btn:hover { background: var(--accent2); transform: translateY(-2px); }
  .cta-btn.outline {background: transparent; border: 1px solid rgba(255,255,255,0.25);color: var(--lightsilver); margin-left: 1rem;}
  .cta-btn.outline:hover { border-color: var(--accent); color: var(--accent); background: transparent; }

  .reveal { opacity: 0; transform: translateY(36px); transition: opacity 0.75s ease, transform 0.75s ease; }
  .reveal.visible { opacity: 1; transform: translateY(0); }
  .reveal-delay-1 { transition-delay: 0.1s; }
  .reveal-delay-2 { transition-delay: 0.2s; }
  .reveal-delay-3 { transition-delay: 0.3s; }
  .reveal-delay-4 { transition-delay: 0.4s; }

	/* 푸터 */
  .site-footer {background: #111418;color: var(--silver);border-top: 1px solid rgba(0,0,0,0.18);position: relative;z-index: 10;}
  .footer-inner {max-width: 1280px;margin: 0 auto;padding: 0 8vw;}
  .footer-top {display: grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap: 3rem 4rem;padding: 4rem 0 3rem;border-bottom: 1px solid rgba(255,255,255,0.06);}
  .footer-logo {display: flex; align-items: center; gap: 0.7rem;text-decoration: none; margin-bottom: 1.2rem;}
  .footer-logo-mark {width: 34px; height: 34px;background: var(--accent); flex-shrink: 0;display: flex; align-items: center; justify-content: center;clip-path: polygon(10% 0%,90% 0%,100% 10%,100% 90%,90% 100%,10% 100%,0% 90%,0% 10%);}
  .footer-logo-mark svg { width: 18px; height: 18px; fill: #fff; }
  .footer-logo-name {font-family: 'Barlow Condensed', sans-serif;font-weight: 700; font-size: 1.1rem;letter-spacing: 0.12em; color: #fff; text-transform: uppercase; line-height: 1;}
  .footer-logo-sub {font-size: 0.55rem; letter-spacing: 0.22em;color: var(--accent); text-transform: uppercase; margin-top: 0.2rem;}
  .footer-tagline {font-size: 0.85rem; line-height: 1.8;color: rgba(200,208,216,0.5); font-weight: 300; margin-bottom: 1.2rem;}
  .footer-certs { display: flex; gap: 0.5rem; flex-wrap: wrap; }
  .footer-certs span {padding: 0.2rem 0.65rem;border: 1px solid rgba(232,124,42,0.3);font-family: 'Barlow Condensed', sans-serif;font-size: 0.65rem; letter-spacing: 0.15em;color: var(--accent); text-transform: uppercase; border-radius: 2px;}
  .footer-nav-group { display: flex; flex-direction: column; gap: 0.6rem; }
  .footer-nav-title {font-family: 'Barlow Condensed', sans-serif;font-size: 0.72rem; font-weight: 700;letter-spacing: 0.3em; color: #fff; text-transform: uppercase;margin-bottom: 0.4rem; padding-bottom: 0.6rem;border-bottom: 1px solid rgba(232,124,42,0.25);}
  .footer-nav-group a {font-size: 0.82rem; color: var(--silver);text-decoration: none; transition: color 0.2s, padding-left 0.2s; display: block;}
  .footer-nav-group a:hover { color: var(--accent); padding-left: 0.4rem; }
  .footer-info {padding: 2.2rem 0;border-bottom: 1px solid rgba(255,255,255,0.06);}
  .footer-info-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 0.9rem 2rem;}
  .footer-info-item { display: flex; flex-direction: column; gap: 0.15rem; }
  .footer-info-wide { grid-column: span 2; }
  .footer-info-item dt {font-size: 0.68rem; letter-spacing: 0.15em;color: rgba(255,255,255,0.8); text-transform: uppercase;font-family: 'Barlow Condensed', sans-serif; font-weight: 400;}
  .footer-info-item dd {font-size: 0.82rem; color: rgba(200,208,216,0.7);font-weight: 300; line-height: 1.55;}
  .footer-bottom { display: flex; align-items: center; justify-content: space-between; padding: 1.4rem 0; flex-wrap: wrap; gap: 0.8rem; }
  .footer-copy { font-size: 0.75rem; color: rgba(200,208,216,0.35); font-weight: 300; }
  .footer-bottom p:last-child { font-size: 0.75rem; color: rgba(200,208,216,0.35); font-weight: 300; margin-left: auto; }
  .footer-bottom p:last-child a { color: rgba(200,208,216,0.5); text-decoration: none; transition: color 0.2s; }
  .footer-bottom p:last-child a:hover { color: var(--accent); }
  .footer-bottom-links { display: flex; gap: 1.5rem; }
  .footer-bottom-links a {font-size: 0.75rem; color: rgba(200,208,216,0.4);text-decoration: none; transition: color 0.2s;}
  .footer-bottom-links a:hover { color: var(--accent); }

/***************************************************************************/
/*				                     태블릿 (max-width: 1024px)	                             /
/***************************************************************************/

  @media (max-width: 1024px) {

    .main-nav { display: none; }
    .nav-cta { display: none; }
    .hamburger { display: flex; }
    .mobile-nav { display: block; }

    .site-header {justify-content: space-between;  /* 유지 */}
    .main-nav {display: none !important;} /* nav는 숨겨져 있지만 공간을 차지할 수 있음 → 완전히 제거 */
    .mobile-cta {margin-left: auto;  /* ← 로고 다음부터 오른쪽 끝으로 밀착 */margin-right: 0.9rem;}
    .hamburger {padding: 2px;margin-left: 0;}
	.mobile-cta { display: inline-flex; align-items: center; }

    .hero-title { font-size: clamp(3rem,7.5vw,6.5rem); } /* 최소값-유동값-최대값 */
    .hero-desc { font-size: 0.96rem; max-width: 500px; }

    .section { padding: 4.5rem 6vw 5.5rem; }
    .section:first-child { border-radius: 2rem 2rem 0 0; padding-top: 5rem; }
    .section-heading { font-size: clamp(2rem,4vw,3.2rem); }

	/* CTA 대표전화 */
	.cta-tel { padding: 1rem 1.6rem; gap: 1rem; }
	.cta-tel-icon { width: 46px; height: 46px; }
	.cta-tel-icon svg { width: 20px; height: 20px; }
	.cta-tel-num { font-size: 1.7rem; }

    .two-col { grid-template-columns: 1fr; gap: 3rem; }
    .two-col.reverse { direction: ltr; }
    .image-block { aspect-ratio: 16/9; max-height: 380px; }
	.image-block img { object-position: center top; }

    .stats-grid { gap: 2.5rem 3rem; }
    .stat-number { font-size: clamp(2.8rem,6vw,4.5rem); }

    .quote-block { padding: 1.5rem 1.8rem; }
    .cta-section { padding: 6rem 6vw; }
    .product-grid { grid-template-columns: repeat(2,1fr); }

	.footer-top { grid-template-columns: 1fr 1fr 1fr; }
    .footer-brand { grid-column: span 3; }
    .footer-info-grid { grid-template-columns: repeat(3,1fr); }
    .footer-info-wide { grid-column: span 3; }

  }



/***************************************************************************/
/*				                            모바일 (600px 이하)		                                 /
/***************************************************************************/
  @media (max-width: 600px) {

    .site-header { padding: 0 4vw; height: 60px; }
    .logo-sub { display: none; }
    .mobile-nav { top: 60px; max-height: calc(100vh - 60px); }
	.logo { width: 180px; height: 39px;}

    .hero-content { padding: 60px 5vw 0;justify-content: center; padding-bottom: 6rem; }
    .hero-eyebrow { font-size: 0.65rem; letter-spacing: 0.3em; }
    .hero-title { font-size: clamp(2.4rem,13vw,4rem); }
    .hero-desc { font-size: 0.8rem !important; max-width: 100%;line-height: 1.6;}
    .hero-badges { gap: 0.5rem; }
    .badge { font-size: 0.65rem; padding: 0.3rem 0.7rem; }
    .scroll-line { height: 36px; }
	.hero-video {object-position: right center;}
	.hero-scroll-hint { bottom:5rem; z-index: 3;}

    .section { padding: 3rem 5vw 4rem; }
    .section:first-child { border-radius: 1.2rem 1.2rem 0 0; padding-top: 3.5rem; }
    .section-label { margin-bottom: 1.5rem; }
    .section-heading { font-size: clamp(1.6rem,7vw,2.4rem); }
    .section-body { font-size: 0.86rem;  line-height:1.5;}
    .divider { margin: 1.8rem 0; }

    .stats-grid { grid-template-columns: 1fr 1fr; gap: 1.8rem 1.5rem; margin-top: 2.5rem; }
    .stat-number { font-size: clamp(2.2rem,11vw,3.5rem); }
    .stat-desc { font-size: 0.8rem; }

	.product-grid { grid-template-columns: repeat(2, 1fr); }
	.product-card-tag { letter-spacing:0;}
	.product-card-title {font-size: 1rem;}
	.product-card-desc {font-size: 0.78rem;  line-height: 1.3; }

    .equip-grid { grid-template-columns: 1fr; }

    .quote-block { padding: 1rem 1.2rem; margin: 2rem 0; }
    .quote-block p { font-size: 0.95rem; }

    .timeline { margin-top: 2rem; }
    .timeline-item { padding-bottom: 2rem; padding-left: 1.5rem; }
    .timeline-text { font-size: 0.86rem; }

	/* CTA 대표전화 */
	.cta-tel { padding: 0.9rem 1.2rem; gap: 0.8rem; width: 100%; justify-content: center; }
	.cta-tel-icon { width: 40px; height: 40px; }
	.cta-tel-icon svg { width: 18px; height: 18px; }
	.cta-tel-num { font-size: 1.5rem; }
	.cta-tel-arrow { margin-left: 0; }

    .contact-grid { grid-template-columns: 1fr; gap: 1.5rem; }

    .cta-section { padding: 4rem 5vw; }
    .cta-btn { padding: 0.85rem 2rem; font-size: 0.88rem; display: block; margin-left: 0; }
    .cta-btn.outline { margin-left: 0; margin-top: 0.8rem; }
	.cta-stxt {line-height:1.6;font-size:0.8rem;}
    .contact-value { font-size: 0.86rem; }

	.footer-inner { padding: 0 5vw; }
	.footer-info-grid {grid-template-columns: repeat(2, 1fr) !important;}
    .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; padding: 3rem 0 2.5rem; }
    .footer-brand { grid-column: span 2; }
    .footer-info-grid { grid-template-columns: 1fr 1fr; }
    .footer-info-wide { grid-column: span 2; }
	.footer-bottom { flex-direction: column; align-items: flex-start; }
	.footer-bottom p:last-child { margin-left: 0; }  /* ← auto 해제 */

  }



/* iOS 기기(iPhone, iPad)에서 Hero 섹션의 UI가 잘리지 않게 함 */
@supports (-webkit-touch-callout: none) {
  .hero-scroll-hint {
    bottom: calc(env(safe-area-inset-bottom) + 8rem);
  }
}


  /* Keyframes */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes pulse {
    0%,100% { opacity: 0.3; }
    50%      { opacity: 0.8; }
  }
  @keyframes grow {
    0%  { transform: scaleY(0); transform-origin: top; opacity: 1; }
    60% { transform: scaleY(1); transform-origin: top; opacity: 1; }
    100%{ transform: scaleY(1); transform-origin: bottom; opacity: 0; }
  }