/*------------------------------------------------------------------------------------------------------
인사말
---------------------------------------------------------------------------------------------------------*/
.intro_sj .intro-media_sj{position:relative;height:100%;background:var(--white_sj);overflow:hidden;display:flex; align-items:flex-start;justify-content:center;padding:24px}
.intro_sj .intro-media-img_sj{width:100%;height:auto;max-height:480px;object-fit:contain;display:block}
.intro_sj .intro-body_sj{height:100%;padding-left:32px;}
.intro_sj .intro-text_sj p{color:var(--secondary-color_sj);}
.intro_sj .intro-text_sj p:last-child{margin-bottom:0}

.intro_sj .intro-quote_sj{position:relative;margin:0 0 16px;padding:0 48px 0 0;color:var(--primary-color_sj);font-family:"Noto Serif KR", Pretendard, "Noto Sans KR", sans-serif;font-weight:500;letter-spacing:-0.03em;line-height:1.5;font-size:24px}
.intro_sj .intro-quote_sj::before{content:"“";position:absolute;left:-16px;top:-24px;font-size:48px;line-height:1;color:rgba(0,51,102,.12)}
.intro_sj .intro-quote_sj::after{content:"”";position:absolute;right:0;bottom:-16px;font-size:48px;line-height:1;color:rgba(0,51,102,.12)}

.intro_sj .intro-kicker_sj{font-weight:700;color:var(--primary-color_sj);letter-spacing:-0.02em;margin-bottom:8px;font-size:20px}
.intro_sj .intro-lead_sj{font-weight:500;color:var(--secondary-color_sj);margin-bottom:16px;font-size:20px}
.intro_sj .intro-mark_sj{color:var(--primary-color_sj);font-weight:700}
.intro_sj .intro-sign_sj{display:flex; justify-content: end; align-items:center;gap:16px;padding-top:24px;margin-top:24px;}
.intro_sj .intro-sign-img_sj{height:48px;width:auto}
.intro_sj .intro-sign-name_sj{font-weight:900;color:var(--primary-color_sj)}
  @media (max-width: 992px){
    .intro_sj .intro-body_sj{padding-left:0;border-left:0}
    .intro_sj .intro-media-img_sj{max-height:320px}
  }

/*------------------------------------------------------------------------------------------------------
회사연혁
---------------------------------------------------------------------------------------------------------*/
:root { --timeline-box-w_sj: 360px; }

.history_sj { background: var(--white_sj); }
.history_sj .history-wrap_sj { padding: 80px 0; }
.history_sj .history-lead_sj { margin: 16px auto 0; font-size: 18px; line-height: 170%; font-weight: 400; letter-spacing: -0.02em; color: rgba(17, 17, 17, .8); max-width: 72ch; text-align: center; }

.history_sj .timeline-container { position: relative; padding: 64px 0 0; max-width: 960px; margin: 0 auto; }
.history_sj .timeline-container::before { content: ''; position: absolute; width: 8px; background-color: rgba(0,0,0,.06); top: 0; bottom: 0; left: 50%; margin-left: -4px; border-radius: 4px; }
.history_sj .timeline-progress-bar { position: absolute; width: 8px; background-color: var(--primary-color_sj); top: 0; left: 50%; margin-left: -4px; height: 0; border-radius: 4px; z-index: 1; transition: height 0.4s linear; }

.history_sj .timeline-year-group { position: relative; width: 50%; margin-bottom: 64px; }
.history_sj .timeline-year-group.left { left: 0; padding-right: 64px; }
.history_sj .timeline-year-group.right { left: 50%; padding-left: 64px; }

.history_sj .timeline-year { display: block; font-size: 32px; line-height: 130%; font-weight: 700; letter-spacing: -0.03em; color: var(--primary-color_sj); margin-bottom: 24px; }
.history_sj .timeline-year-group.left .timeline-year { text-align: right; }
.history_sj .timeline-year-group.right .timeline-year { text-align: left; }

.history_sj .timeline-circle { position: absolute; width: 24px; height: 24px; background-color: var(--white_sj); border: 4px solid var(--primary-color_sj); top: 20px; border-radius: 50%; z-index: 2; }
.history_sj .timeline-year-group.left .timeline-circle { right: -12px; }
.history_sj .timeline-year-group.right .timeline-circle { left: -12px; }

.history_sj .timeline-icon { position: absolute; width: 48px; height: 48px; background-color: var(--primary-color_sj); color: var(--white_sj); border-radius: 50%; display: grid; place-items: center; font-size: 20px; top: 8px; z-index: 3; box-shadow: 0 14px 26px rgba(0,0,0,.12); }
.history_sj .timeline-year-group.left .timeline-icon { right: -24px; }
.history_sj .timeline-year-group.right .timeline-icon { left: -24px; }

.history_sj .timeline-content-box { width: var(--timeline-box-w_sj); max-width: 100%; background-color: var(--white_sj); border: 1px solid rgba(0,0,0,.08); border-radius: 8px; position: relative; box-shadow: 0 14px 26px rgba(0,0,0,.06); padding: 24px; }
.history_sj .timeline-year-group.left .timeline-content-box { margin-left: auto; border-right: 4px solid rgba(255,204,0,.6); }
.history_sj .timeline-year-group.right .timeline-content-box { margin-right: auto; border-left: 4px solid rgba(255,204,0,.6); }

.history_sj .timeline-month-detail { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px dashed rgba(0,0,0,.12); opacity: 0; transform: translateY(16px); transition: all 0.5s ease-out; }
.history_sj .timeline-month-detail:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.history_sj .timeline-month-detail.show { opacity: 1; transform: translateY(0); }

.history_sj .timeline-month { font-size: 14px; line-height: 140%; font-weight: 700; letter-spacing: 0; color: rgba(0, 51, 102, .85); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.history_sj .timeline-month::before { content: ''; width: 16px; height: 2px; background: var(--accent-color_sj); }
.history_sj .timeline-month-detail p { font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(17,17,17,.78); }

@media (max-width: 992px) {
  .history_sj .timeline-container { padding-top: 56px; }
  .history_sj .timeline-container::before, .history_sj .timeline-progress-bar { left: 24px; margin-left: -4px; }
  .history_sj .timeline-year-group { width: 100%; padding-left: 64px; padding-right: 0; left: 0 !important; }
  .history_sj .timeline-year { text-align: left !important; }
  .history_sj .timeline-circle { left: 12px !important; right: auto !important; }
  .history_sj .timeline-icon { left: 0 !important; right: auto !important; }
  .history_sj .timeline-year-group.left .timeline-content-box,
  .history_sj .timeline-year-group.right .timeline-content-box { margin: 0; width: 100%; border-right: 0; border-left: 4px solid rgba(255,204,0,.6); }
}

@media (prefers-reduced-motion: reduce) {
  .history_sj .timeline-progress-bar { transition: none; }
  .history_sj .timeline-month-detail { transition: none; opacity: 1; transform: none; }
}

/*------------------------------------------------------------------------------------------------------
오시는 길
---------------------------------------------------------------------------------------------------------*/
.location_sj .location-wrap_sj { padding: 80px 0; }
.location_sj .location-card_sj { border: 1px solid rgba(0,0,0,.08); box-shadow: 0 14px 26px rgba(0,0,0,.06); }
.location_sj .location-map_sj iframe { border: 0; }
.location_sj .location-meta_sj { font-size: 16px; line-height: 160%; letter-spacing: -0.01em; }
.location_sj .location-label_sj { font-size: 14px; line-height: 140%; font-weight: 700; color: rgba(0, 51, 102, .85); }
.location_sj .location-value_sj { font-size: 18px; line-height: 170%; font-weight: 400; letter-spacing: -0.02em; color: var(--text-dark_sj); }
.location_sj .location-help_sj { font-size: 14px; line-height: 140%; color: rgba(17,17,17,.72); }
.location_sj .copy-status_sj { min-height: 16px; }

/*------------------------------------------------------------------------------------------------------
제품소개
알루미늄 튜브
---------------------------------------------------------------------------------------------------------*/
.py-96_sj { padding-top: 80px; padding-bottom: 80px; }

.tube-wrap_sj { border: 1px solid rgba(0,0,0,.12); border-radius: 16px; background: linear-gradient(135deg, rgba(0,51,102,.06), rgba(255,255,255,0) 58%); }
.tube-card_sj { border: 1px solid rgba(0,0,0,.14); border-radius: 16px; overflow: hidden; }
.tube-card_sj::before { content: ""; display: block; height: 3px; background: linear-gradient(90deg, var(--accent-color_sj), rgba(255,204,0,.2)); }
.tube-icon_sj { width: 40px; height: 40px; border-radius: 12px; background: rgba(0,51,102,.10); color: var(--primary-color_sj); display: grid; place-items: center; }
.tube-h_sj { font-size: 18px; line-height: 170%; font-weight: 700; letter-spacing: -0.02em; color: var(--primary-color_sj); }
.tube-item_sj { font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.88); }
.tube-photo_sj { border-radius: 12px; border: 1px solid rgba(0,0,0,.18); background: rgba(0,51,102,.05); color: rgba(0,0,0,.62); font-size: 14px; line-height: 140%; }
.tube-photo_sj img {border-radius:12px;}
.tube-cap_sj { margin-top: 8px; font-size: 14px; line-height: 140%; color: rgba(0,0,0,.82); }

/*------------------------------------------------------------------------------------------------------
제품소개
라미네이트 튜브
---------------------------------------------------------------------------------------------------------*/
.tube-wrap_sj { border: 1px solid rgba(0,0,0,.12); border-radius: 16px; background: linear-gradient(135deg, rgba(0,51,102,.06), rgba(255,255,255,0) 58%); }
.tube-card_sj { border: 1px solid rgba(0,0,0,.14); border-radius: 16px; overflow: hidden; }
.tube-card_sj::before { content: ""; display: block; height: 3px; background: linear-gradient(90deg, var(--accent-color_sj), rgba(255,204,0,.2)); }
.tube-icon_sj { width: 40px; height: 40px; border-radius: 12px; background: rgba(0,51,102,.10); color: var(--primary-color_sj); display: grid; place-items: center; }
.tube-h_sj { font-size: 18px; line-height: 170%; font-weight: 700; letter-spacing: -0.02em; color: var(--primary-color_sj); }
.tube-item_sj { font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.88); }
.tube-photo_sj { border-radius: 12px; border: 1px solid rgba(0,0,0,.18); background: rgba(0,51,102,.05); color: rgba(0,0,0,.62); font-size: 14px; line-height: 140%; overflow: hidden; }
.tube-photo_sj img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }
.tube-cap_sj { margin-top: 8px; font-size: 14px; line-height: 140%; color: rgba(0,0,0,.82); }

.tube-tabs_sj { display: inline-flex; gap: 8px; padding: 8px; border: 1px solid rgba(0,0,0,.10); border-radius: 999px; background: rgba(255,255,255,.72); }
.tube-tabs_sj .nav-link { border: 0; border-radius: 999px; padding: 8px 16px; font-weight: 700; font-size: 14px; line-height: 140%; letter-spacing: 0; color: rgba(0,0,0,.72); }
.tube-tabs_sj .nav-link.active { background: var(--primary-color_sj); color: #fff; }
.tube-photo-label_sj { font-size: 14px; line-height: 140%; color: rgba(0,0,0,.62); }

/*------------------------------------------------------------------------------------------------------
충진/포장 임가공
---------------------------------------------------------------------------------------------------------*/
.service-wrap_sj { border: 1px solid rgba(0,0,0,.10); border-radius: 16px; background: linear-gradient(135deg, rgba(0,51,102,.05), rgba(255,255,255,0) 58%); }
.service-card_sj { border: 1px solid rgba(0,0,0,.14); border-radius: 16px; overflow: hidden; background: #fff; }
.service-card_sj::before { content: ""; display: block; height: 3px; background: linear-gradient(90deg, var(--accent-color_sj), rgba(255,204,0,.2)); }
.service-head_sj { display: flex; align-items: flex-start; gap: 16px; }
.service-dot_sj { width: 8px; height: 40px; border-radius: 999px; background: var(--primary-color_sj); opacity: .9; }
.service-title_sj { font-size: 32px; line-height: 130%; font-weight: 700; letter-spacing: -0.03em; color: var(--primary-color_sj); margin: 0; }
.service-sub_sj { margin: 8px 0 0; font-size: 16px; line-height: 160%; color: rgba(0,0,0,.68); }

.service-label_sj { font-size: 14px; line-height: 140%; font-weight: 700; letter-spacing: 0; color: rgba(0, 51, 102, .85); display: inline-flex; align-items: center; gap: 8px; }
.service-label_sj::before { content: ""; width: 16px; height: 2px; background: var(--accent-color_sj); }
.service-list_sj { margin: 16px 0 0; padding-left: 18px; }
.service-list_sj li { margin-bottom: 8px; font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.84); }
.service-list_sj li:last-child { margin-bottom: 0; }

.service-photo_sj { border-radius: 12px; border: 1px solid rgba(0,0,0,.18); background: rgba(0,51,102,.05); color: rgba(0,0,0,.62); font-size: 14px; line-height: 140%; overflow: hidden; width: 100%; max-width: 402px; /*aspect-ratio: 402 / 237; */display: flex; align-items: center; justify-content: center; }
.service-photo_sj img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }

@media (min-width: 992px) {
    .service-media-col_sj { padding-top: 24px; }
}

/*------------------------------------------------------------------------------------------------------
생산기계
---------------------------------------------------------------------------------------------------------*/
.equip-wrap_sj { border: 1px solid rgba(0,0,0,.10); border-radius: 16px; background: linear-gradient(135deg, rgba(0,51,102,.05), rgba(255,255,255,0) 58%); }
.equip-card_sj { border: 1px solid rgba(0,0,0,.14); border-radius: 16px; overflow: hidden; background: #fff; }
.equip-card_sj::before { content: ""; display: block; height: 3px; background: linear-gradient(90deg, var(--accent-color_sj), rgba(255,204,0,.2)); }

.equip-head_sj { display: flex; align-items: flex-start; gap: 16px; }
.equip-dot_sj { width: 8px; height: 40px; border-radius: 999px; background: var(--primary-color_sj); opacity: .9; flex: 0 0 auto; }
.equip-title_sj { font-size: 32px; line-height: 130%; font-weight: 700; letter-spacing: -0.03em; color: var(--primary-color_sj); margin: 0; }

.equip-label_sj {font-weight: 700; letter-spacing: 0; color: rgba(0, 51, 102, .85); display: inline-flex; align-items: center; gap: 8px; }
.equip-label_sj::before { content: ""; width: 16px; height: 2px; background: var(--accent-color_sj); }

.equip-list_sj { margin: 16px 0 0; padding-left: 18px; }
.equip-list_sj li { margin-bottom: 8px; font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.84); }
.equip-list_sj li:last-child { margin-bottom: 0; }

.equip-meta_sj { margin-top: 24px; display: grid; gap: 16px; }
.equip-meta-row_sj { display: grid; grid-template-columns: 88px 1fr; gap: 36px; align-items: start; }
.equip-meta-k_sj { font-size: 14px; line-height: 140%; font-weight: 700; color: rgba(0,0,0,.62); }
.equip-meta-v_sj { font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.84); }

.equip-photo_sj { border-radius: 12px; border: 1px solid rgba(0,0,0,.18); background: rgba(0,51,102,.05); color: rgba(0,0,0,.62); font-size: 14px; line-height: 140%; overflow: hidden; width: 100%; max-width: 402px; /*aspect-ratio: 402 / 237; */display: flex; align-items: center; justify-content: center; }
.equip-photo_sj img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }

@media (min-width: 992px) {
    .equip-media-col_sj { padding-top: 24px; }
}

@media (max-width: 991.98px) {
    .equip-meta-row_sj { grid-template-columns: 1fr; gap: 8px; }
    .equip-meta-k_sj { display: block; }
}

/*------------------------------------------------------------------------------------------------------
제품공정
알루미늄 튜브
라미네이트 튜브
---------------------------------------------------------------------------------------------------------*/
.process-container {
  max-width: 900px;
  margin: 50px auto;
  padding: 20px;
}

.process-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  position: relative;
}

.step-box {
  width: 42%;
  padding: 15px 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: 600;
  background: linear-gradient(180deg, #ffffff 0%, #e9ecef 100%);
  border: 1px solid #dee2e6;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  position: relative;
  z-index: 2;
}

.step-start {
  background: linear-gradient(180deg, #d4edda 0%, #c3e6cb 100%);
  border-color: #71dd8a;
}

.step-end {
  background: linear-gradient(180deg, #f8d7da 0%, #f5c6cb 100%);
  border-color: #f1aeb5;
}

/* 화살표 기본 디자인 */
.arrow, .v-arrow {
  color: #6c5ce7;
  font-weight: bold;
}

.arrow { font-size: 24px; }
.v-arrow { font-size: 20px; position: absolute; }

/* PC 버전 전용 (768px 이상) */
@media (min-width: 768px) {
  .flex-reverse { flex-direction: row-reverse; }
  .v-arrow-right { right: 20%; top: 65px; }
  .v-arrow-left { left: 20%; top: 65px; }
  .reverse-arrow { display: inline-block; transform: scaleX(-1); }
}

/* 모바일 버전 최적화 (767px 이하) */
@media (max-width: 767px) {
  .process-row {
      flex-direction: column;
      margin-bottom: 0;
  }
  .step-box { 
      width: 100%; 
      margin: 0;
      margin-bottom: 10px; 
  }
  
  /* 모든 화살표 영역을 세로형 단일 화살표로 통일 */
  .arrow, .v-arrow {
      display: flex !important;
      justify-content: center;
      align-items: center;
      position: static !important; /* v-arrow의 위치 고정 해제 */
      height: 60px; /* 화살표가 들어갈 공간 확보 */
      margin: 0;
      transform: none !important;
      visibility: visible !important;
  }
  
  /* 화살표 모양 강제 고정 (v-arrow 내부 기호 무시) */
  .arrow::before, .v-arrow::before {
      content: "▼" !important;
      font-size: 26px;
      color: #6c5ce7;
  }
  
  /* PC에서 쓰던 기존 기호들 숨김 */
  .pc-arrow, .v-arrow span {
      display: none !important;
  }
}

/*------------------------------------------------------------------------------------------------------
보유장비
---------------------------------------------------------------------------------------------------------*/
:root { --equip-photo-ratio_sj: 402 / 237; }

.equip-wrap_sj { border: 1px solid rgba(0,0,0,.10); border-radius: 16px; background: linear-gradient(135deg, rgba(0,51,102,.05), rgba(255,255,255,0) 58%); }
.equip-group_sj { border: 1px solid rgba(0,0,0,.14); border-radius: 16px; background: #fff; padding: 32px; }
.equip-group_sj + .equip-group_sj { margin-top: 48px; }
.equip-group-head_sj { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.equip-group-mark_sj { width: 6px; height: 18px; border-radius: 999px; background: var(--primary-color_sj); opacity: .9; }
.equip-group-title_sj { font-size: 18px; line-height: 170%; font-weight: 700; letter-spacing: -0.02em; color: var(--primary-color_sj); margin: 0; }
.equip-group-sub_sj { margin: 0; font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.72); }

.equip-list_sj { margin: 16px 0 0; padding-left: 18px; }
.equip-list_sj li { margin-bottom: 8px; font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.84); }
.equip-list_sj li:last-child { margin-bottom: 0; }

.equip-item-title_sj { font-size: 16px; line-height: 160%; letter-spacing: -0.01em; color: rgba(0,0,0,.84); margin: 0 0 12px; }
.equip-photo_sj { width: 100%; max-width: 402px; aspect-ratio: var(--equip-photo-ratio_sj); border-radius: 0; border: 0; background: transparent; overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; --equip-photo-bg: none; }
.equip-photo_sj::before { content: ""; position: absolute; inset: 0; background-image: var(--equip-photo-bg); background-size: cover; background-position: center; filter: blur(14px) saturate(0.9) brightness(1.02); transform: scale(1.12); opacity: 0.22; }
.equip-photo_sj::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 55%); opacity: 0.55; }
.equip-photo_sj > img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; border-radius: 0; display: block; position: relative; z-index: 1; }

.equip-grid_sj { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.equip-grid-item_sj { display: grid; justify-items: start; gap: 12px; }
.equip-grid-item_sj.is-wide_sj { grid-column: 1 / -1; }

@media (max-width: 991.98px) {
  .equip-group_sj { padding: 24px; }
  .equip-grid_sj { grid-template-columns: 1fr; }
  .equip-photo_sj { max-width: 100%; }
  .equip-grid-item_sj { justify-items: stretch; }
}


/* 
  콘텐츠 전용 스타일 (카드/갤러리/배너/카운터/CTA 등)
  파일: contants_sj.css
*/

/* 섹션 타이틀(공통에서 구조는 정의됨) – 여기서는 콘텐츠에 가까운 강조 요소 없음 */

/* 카드(제품 소개 등) */
.custom-card_sj { border: none; border-radius: 0; overflow: hidden; transition: var(--transition-base_sj); background: var(--white_sj); box-shadow: 0 5px 15px rgba(0,0,0,.05); }
.custom-card_sj:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,.1); }
.card-image_sj { height: 300px; overflow: hidden; position: relative; }
.card-image_sj::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.3); transition: background .3s ease; }
.custom-card_sj:hover .card-image_sj::after { background: rgba(0,0,0,0); }
.card-image_sj img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.card-body_sj { padding: 30px; }
.card-title_sj { margin-bottom: 15px; color: var(--primary-color_sj); }

.card-icon_sj { width: 54px; height: 54px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(0,51,102,.18); background: rgba(0,51,102,.06); color: var(--primary-color_sj); margin-bottom: 18px; }

/* 탭/정보 패널 */
.tab-btn_sj { border-radius: 999px !important; border: 1px solid rgba(0,51,102,.2) !important; color: var(--primary-color_sj) !important; background: rgba(255,255,255,.9) !important; font-weight: 800 !important; padding: .8rem 1.1rem !important; transition: var(--transition-base_sj) !important; }
.tab-btn_sj.active { background: var(--primary-color_sj) !important; color: var(--white_sj) !important; border-color: var(--primary-color_sj) !important; }
.info-panel_sj { background: var(--white_sj); border: 1px solid rgba(0,0,0,.08); padding: 32px; height: 100%; }
.info-title_sj { font-weight: 900; color: var(--primary-color_sj); margin-bottom: 16px; }
.info-list_sj { margin: 0; padding-left: 18px; color: var(--secondary-color_sj); }
.info-list_sj li { margin-bottom: 10px; }

/* 칩/갤러리/설비 */
.chip-grid_sj { display: flex; flex-wrap: wrap; gap: 10px; }
.chip_sj { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 999px; background: rgba(0,51,102,.06); border: 1px solid rgba(0,51,102,.18); color: var(--primary-color_sj); font-weight: 700; font-size: .9rem; }
.gallery-item_sj { background: var(--white_sj); border: 1px solid rgba(0,0,0,.08); overflow: hidden; transition: var(--transition-base_sj); height: 100%; }
.gallery-item_sj:hover { transform: translateY(-4px); box-shadow: 0 14px 26px rgba(0,0,0,.08); }
.gallery-img_sj { width: 100%; height: 150px; object-fit: cover; display: block; }
.gallery-cap_sj { padding: 12px 14px; font-weight: 800; color: var(--primary-color_sj); display: flex; align-items: baseline; gap: 8px; }
.info-media_sj { margin-top: 18px; overflow: hidden; border: 1px solid rgba(0,0,0,.08); }
.info-media-img_sj { width: 100%; height: 260px; object-fit: cover; display: block; }
.equip-item_sj { background: var(--white_sj); border: 1px solid rgba(0,0,0,.08); overflow: hidden; height: 100%; transition: var(--transition-base_sj); }
.equip-item_sj:hover { transform: translateY(-4px); box-shadow: 0 14px 26px rgba(0,0,0,.08); }
.equip-img-wrap_sj { overflow: hidden; }
.equip-img_sj { width: 100%; height: 190px; object-fit: cover; display: block; transition: var(--transition-base_sj); }
.equip-item_sj:hover .equip-img_sj { transform: scale(1.05); }
.equip-body_sj { padding: 18px 20px; }
.equip-title_sj { font-weight: 900; color: var(--primary-color_sj); margin-bottom: 10px; }

/* 카운터 */
.counter-box_sj { background-color: var(--primary-color_sj); padding: 60px 20px; text-align: center; color: var(--white_sj); transition: var(--transition-base_sj); }
.counter-number_sj { display: block; font-size: 3.5rem; font-weight: 800; color: var(--accent-color_sj); margin-bottom: 10px; line-height: 1.1; word-break: normal; }
@media (max-width: 768px) {
  .counter-number_sj { font-size: 2.5rem; word-break: break-all; line-height: 1.2; }
  .counter-number_sj[data-count_sj="12000000"] { font-size: 2rem; }
}
.counter-text_sj { font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }

/* CTA */
.cta-section_sj { position: relative; padding: 120px 0; overflow: hidden; background-color: #001f3f; text-align: center; }
.cta-section_sj h2 { word-break: keep-all !important; word-wrap: normal !important; }
.cta-bg_sj { position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle at center, #004080 0%, #001f3f 60%); animation: pulseBg_sj 10s infinite alternate; z-index: 1; }
@keyframes pulseBg_sj { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(1.1); opacity: 1; } }
.cta-badge_sj { font-size: .85rem; font-weight: 700; letter-spacing: 2px; color: var(--accent-color_sj); border: 1px solid var(--accent-color_sj); padding: 8px 16px; border-radius: 50px; background: rgba(255,204,0,.1); }
.btn-cta_sj { display: inline-flex; align-items: center; justify-content: center; padding: 18px 40px; font-weight: 700; text-transform: uppercase; text-decoration: none; border-radius: 50px; transition: all .3s ease; min-width: 220px; }
.btn-primary_sj { background: var(--accent-color_sj); color: #000; border: 2px solid var(--accent-color_sj); }
.btn-primary_sj:hover { background: #e6b800; border-color: #e6b800; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(255,204,0,.2); }
.btn-outline-light_sj { background: transparent; color: var(--white_sj); border: 2px solid rgba(255,255,255,.3); }
.btn-outline-light_sj:hover { border-color: var(--white_sj); background: rgba(255,255,255,.1); transform: translateY(-3px); }

/* 배너 */
.banner-item_sj { position: relative; height: 350px; overflow: hidden; cursor: pointer; }
.banner-img_sj { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.4,0,.2,1); }
.banner-overlay_sj { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0,0,0,.8), rgba(0,0,0,.1)); display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; color: var(--white_sj); transition: background .4s; }
.banner-item_sj:hover .banner-img_sj { transform: scale(1.1); }
.banner-item_sj:hover .banner-overlay_sj { background: linear-gradient(to top, rgba(0,51,102,.9), rgba(0,51,102,.3)); }
.banner-title_sj { font-size: 1.8rem; font-weight: 800; margin-bottom: 10px; text-transform: uppercase; }
.banner-desc_sj { font-size: .95rem; opacity: .8; margin-bottom: 20px; transform: translateY(20px); transition: all .4s; }
.banner-link_sj { display: inline-block; color: var(--accent-color_sj); font-weight: 700; text-decoration: none; transform: translateY(20px); opacity: 0; transition: all .4s .1s; }
.banner-item_sj:hover .banner-desc_sj, .banner-item_sj:hover .banner-link_sj { transform: translateY(0); opacity: 1; }

