/* Generated from index.html. Source of truth: index.html */

/* ============================================================
   1) 디자인 토큰
   ============================================================ */
:root{
  --green-900:#1B4332;
  --green-700:#2D6A4F;
  --green-500:#3DAA6E;     /* F-ROAD 로고 톤에 맞춘 그린 */
  --green-300:#95D5B2;
  --green-100:#E8F5EC;
  --cream:#F7F4EE;
  --gray-900:#1B1B1B;
  --gray-700:#3a3a3a;
  --gray-500:#777;
  --gray-300:#d1d1d1;
  --gray-100:#f3f3f3;
  --white:#fff;
  --shadow-sm:0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 6px 20px rgba(27,67,50,.08);
  --shadow-lg:0 20px 50px rgba(27,67,50,.12);
  --radius:14px;
  --radius-lg:22px;
  --maxw:1320px;
}

/* ============================================================
   2) 기본 리셋
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--gray-900);background:var(--white);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ============================================================
   3) 상단 유틸바
   ============================================================ */
/* [v21] 상단 유틸바 - SNS·로그인 통합 (sticky 처리) */
.utilbar{
  background:linear-gradient(180deg,#1B4332 0%,#0f2920 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:12.5px;color:rgba(255,255,255,.85);
  position:sticky;top:0;z-index:102;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.utilbar-inner{
  display:flex;justify-content:space-between;align-items:center;
  min-height:48px;gap:14px;flex-wrap:wrap;
}
.utilbar .info{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-weight:600}
.utilbar .info span a{color:#fff;text-decoration:none}
.utilbar .info span a:hover{color:#FFE066}
.utilbar .util-hours{
  font-size:11.5px;color:rgba(255,255,255,.6);
  padding-left:14px;border-left:1px solid rgba(255,255,255,.15);
}
.utilbar-right{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}

/* SNS 아이콘은 작게 조정 */
.utilbar .gnb-sns{
  margin:0;padding-left:0;border-left:0;gap:6px;
}
.utilbar .gnb-sns a{width:30px;height:30px}
.utilbar .gnb-sns a svg text{font-size:11px}

/* 로그인/회원가입 버튼 - 다크 톤 적응 */
.utilbar .gnb-auth{
  margin:0;padding-left:12px;border-left:1px solid rgba(255,255,255,.15);
}
.utilbar .gnb-auth .ga-login{
  background:transparent;color:rgba(255,255,255,.85);
  padding:6px 12px;font-size:12px;
}
.utilbar .gnb-auth .ga-login:hover{background:rgba(255,255,255,.10);color:#fff}
.utilbar .gnb-auth .ga-signup{
  background:linear-gradient(135deg,#FFE066 0%,#f5a623 100%);
  color:#1B4332;padding:6px 14px;font-size:12px;
  box-shadow:0 4px 10px rgba(255,224,102,.20);
}
.utilbar .gnb-auth .ga-signup:hover{
  background:linear-gradient(135deg,#FFD93D 0%,#e09515 100%);
}

/* 로그인 후 사용자 메뉴 - 다크 톤 */
.utilbar .gnb-user{
  margin:0;padding-left:12px;border-left:1px solid rgba(255,255,255,.15);
}
.utilbar .gnb-user-btn{
  background:rgba(255,255,255,.10);padding:4px 10px 4px 4px;
}
.utilbar .gnb-user-btn:hover{background:rgba(255,255,255,.20)}
.utilbar .gnb-user-name{color:#fff;font-size:12.5px}

/* ===== [통합 v1] 관리자 세션 표시 영역 ===== */
.gnb-admin{
  display:none;
  align-items:center; gap:8px;
  padding-left:12px; border-left:1px solid rgba(255,255,255,.15);
}
.gnb-admin.active{ display:flex; }
.gnb-admin .ga-badge{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 10px;
  background:linear-gradient(135deg,#d4a017,#b8860b);
  color:#fff; border-radius:4px;
  font-size:11.5px; font-weight:700; letter-spacing:.3px;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
}
.gnb-admin .ga-email{
  color:#cfe3d7; font-size:12px; font-weight:500;
  max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.gnb-admin .ga-enter{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 12px;
  background:rgba(255,255,255,.92); color:#1B4332;
  border:0; border-radius:6px;
  font-size:12px; font-weight:700; cursor:pointer; font-family:inherit;
  transition:all .15s;
}
.gnb-admin .ga-enter:hover{
  background:#fff; transform:translateY(-1px);
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.gnb-admin .ga-logout{
  display:inline-flex; align-items:center; gap:4px;
  padding:5px 10px;
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.30); border-radius:6px;
  font-size:11.5px; font-weight:500; cursor:pointer; font-family:inherit;
  transition:all .15s;
}
.gnb-admin .ga-logout:hover{
  background:rgba(220,38,38,.85); border-color:rgba(220,38,38,.95);
}
@media (max-width: 768px){
  .gnb-admin .ga-email{ display:none; }
  .gnb-admin .ga-badge{ font-size:10.5px; padding:3px 7px; }
}

/* ============================================================
   4) 헤더 + 메가메뉴 GNB
   ============================================================ */
header.gnb{
  position:sticky;top:48px;z-index:101;background:#fff;
  border-bottom:1px solid #ececec;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.gnb-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:86px;
}

/* 로고 - 클릭 시 홈으로 이동 */
.logo{display:flex;align-items:center;gap:10px;color:var(--green-700);font-weight:800;font-size:26px;letter-spacing:-1px;text-decoration:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}
.logo:hover{opacity:.85;transform:translateY(-1px)}
.logo:active{transform:translateY(0)}
.logo-mark{
  width:38px;height:38px;border-radius:8px;
  background:linear-gradient(135deg,var(--green-500),var(--green-700));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:14px;
  transition:box-shadow .15s ease;
}
.logo:hover .logo-mark{box-shadow:0 4px 12px rgba(45,106,79,.35)}
/* [통합 v1.5] 가로 배치 F-ROAD 로고 (크기 키움) */
.logo-img{height:52px;width:auto;display:block;transition:opacity .15s ease}
.logo:hover .logo-img{opacity:.85}
/* 모바일에서는 약간 작게 */
@media (max-width:768px){
  .logo-img{height:42px}
}
/* 푸터의 로고 - 초록 배경이라 흰색으로 변환 */
.logo-img-foot{height:56px;filter:brightness(0) invert(1)}

/* [v21] 카테고리별 색감 - 고급스러운 GNB */
nav.menu > ul{display:flex;gap:0}
nav.menu > ul > li{position:relative}
nav.menu > ul > li > a{
  display:inline-block;padding:30px 14px;font-weight:800;font-size:15px;
  color:#1a1a1a;letter-spacing:-.3px;
  position:relative;transition:color .2s ease;
}
nav.menu > ul > li > a::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%) scaleX(0);
  width:calc(100% - 28px);height:3px;
  background:linear-gradient(90deg,var(--cat-c1,#2D6A4F),var(--cat-c2,#1B4332));
  transition:transform .25s ease;
  border-radius:0 0 4px 4px;
}
nav.menu > ul > li > a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:22px;height:2px;
  background:linear-gradient(90deg,var(--cat-c1,#2D6A4F),var(--cat-c2,#1B4332));
  transform:scaleX(0);transform-origin:center;
  transition:transform .25s ease;border-radius:1px;
}
nav.menu > ul > li:hover > a{color:var(--cat-c2,#1B4332)}
nav.menu > ul > li:hover > a::before{transform:translateX(-50%) scaleX(1)}
nav.menu > ul > li:hover > a::after{transform:scaleX(1)}

/* 카테고리별 컬러 매핑 (--cat-c1: 연한 컬러, --cat-c2: 짙은 컬러) */
nav.menu > ul > li:nth-child(1){--cat-c1:#88D4A8;--cat-c2:#1B4332}  /* F-ROAD 소개 - 그린 */
nav.menu > ul > li:nth-child(2){--cat-c1:#A5C2FF;--cat-c2:#1E3A8A}  /* 다운로드 - 블루 */
nav.menu > ul > li:nth-child(3){--cat-c1:#FFD93D;--cat-c2:#92400e}  /* 제품구매 - 골드 */
nav.menu > ul > li:nth-child(4){--cat-c1:#D4B0FF;--cat-c2:#5B21B6}  /* 사용방법 - 퍼플 */
nav.menu > ul > li:nth-child(5){--cat-c1:#FFB07F;--cat-c2:#9A3412}  /* 교육 안내 - 오렌지 */
nav.menu > ul > li:nth-child(6){--cat-c1:#7FE3D4;--cat-c2:#0F766E}  /* 커뮤니티 - 틸 */
nav.menu > ul > li:nth-child(7){--cat-c1:#FFA1B4;--cat-c2:#9F1239}  /* 측량 지원 접수 - 핑크 */
nav.menu > ul > li:nth-child(8){--cat-c1:#A8E6CF;--cat-c2:#15803D}  /* 임도 자료실 - 라이트 그린 */
nav.menu > ul > li:nth-child(9){--cat-c1:#FFC07F;--cat-c2:#B45309}  /* MARKET - 앰버 */
nav.menu > ul > li:nth-child(10){--cat-c1:#C7D2FE;--cat-c2:#3730A3}  /* 공지사항 - 인디고 */
nav.menu > ul > li:nth-child(11){--cat-c1:#86EFAC;--cat-c2:#166534}  /* 원격지원 - 다크 그린 */

/* NEW 뱃지 */
.badge-new{
  display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;
  background:linear-gradient(135deg,#dc2626 0%,#7f1d1d 100%);color:#fff;
  padding:2px 6px;border-radius:4px;
  vertical-align:super;margin-left:3px;
  box-shadow:0 2px 4px rgba(220,38,38,.30);
}

/* 드롭다운 - 카테고리 컬러 적용 */
.submenu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid #eee;border-radius:12px;
  min-width:200px;padding:10px 0;
  box-shadow:0 14px 36px rgba(0,0,0,.10);
  opacity:0;visibility:hidden;transition:all .2s ease;z-index:200;
}
nav.menu > ul > li:hover .submenu{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
.submenu::before{
  content:"";position:absolute;top:-5px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:10px;height:10px;background:#fff;border-left:1px solid #eee;border-top:1px solid #eee;
}
nav.menu > ul > li:hover .submenu{
  border-top:3px solid var(--cat-c2,#1B4332);
}
.submenu li a{
  display:block;padding:11px 22px;font-size:14px;color:#444;
  text-align:center;transition:all .15s ease;white-space:nowrap;font-weight:600;
}
.submenu li a:hover{
  background:linear-gradient(135deg,rgba(0,0,0,0.02),var(--cat-c1,#E8F5EC) 100%);
  color:var(--cat-c2,#1B4332);font-weight:800;
}

/* 모바일 햄버거 */
.hamburger{display:none;font-size:28px;color:var(--green-900);padding:8px}

/* [v21] GNB 우측 SNS 아이콘 (네이버 카페·유튜브·블로그·카카오톡) */
.gnb-sns{
  display:flex;align-items:center;gap:8px;
  margin-left:18px;padding-left:18px;
  border-left:1px solid #e5e5e5;
}
.gnb-sns a{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  transition:all .2s ease;
  position:relative;
  text-decoration:none;
  overflow:hidden;
}
.gnb-sns a:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.18)}
.gnb-sns a svg{width:100%;height:100%;display:block}

/* 각 브랜드 컬러 */
.gnb-sns a.sns-cafe{background:#03C75A;color:#fff}      /* 네이버 카페 - 초록 */
.gnb-sns a.sns-cafe:hover{background:#02B14F}
.gnb-sns a.sns-youtube{background:#FF0000;color:#fff}   /* 유튜브 - 빨강 */
.gnb-sns a.sns-youtube:hover{background:#CC0000}
.gnb-sns a.sns-blog{background:#03C75A;color:#fff}      /* 네이버 블로그 - 초록 */
.gnb-sns a.sns-blog:hover{background:#02B14F}
.gnb-sns a.sns-kakao{background:#FEE500;color:#3C1E1E}  /* 카카오톡 - 노랑 + 어두운 갈색 텍스트 */
.gnb-sns a.sns-kakao:hover{background:#FDD835}
.gnb-sns a.sns-band{background:#19CE60;color:#fff}      /* 네이버 밴드 - 밴드 그린 */
.gnb-sns a.sns-band:hover{background:#13B354}

/* 툴팁 (호버 시 표시) */
.gnb-sns a::after{
  content:attr(data-name);
  position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);
  background:rgba(0,0,0,.85);color:#fff;
  padding:4px 10px;border-radius:6px;
  font-size:11.5px;font-weight:700;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .15s;
  letter-spacing:.3px;
}
.gnb-sns a:hover::after{opacity:1}

@media (max-width:1100px){
  .gnb-sns{display:none}  /* 좁은 화면에서는 숨김 (햄버거 메뉴 안에 들어갈 수도 있음) */
}

/* ============================================================
   5) HERO
   ============================================================ */
.hero{
  position:relative;overflow:hidden;
  padding:140px 0 160px;
  /* 슬라이드쇼 배경이 채우므로 기존 그라데이션 제거 */
  background:#1B4332;  /* 이미지 로드 전 fallback */
}
.hero .container{position:relative;z-index:3}
.hero-content{max-width:760px}

/* 히어로 슬라이드쇼 (배경 이미지 페이드 전환) */
.hero-slides{
  position:absolute;inset:0;z-index:0;overflow:hidden;
}
.hero-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center center;
  opacity:0;transition:opacity 1.5s ease-in-out;
  transform:scale(1.05);
  animation:heroKenburns 12s ease-out infinite;
  animation-play-state:paused;
}
.hero-slide.active{
  opacity:1;animation-play-state:running;
}
@keyframes heroKenburns{
  0%{transform:scale(1.05)}
  100%{transform:scale(1.18)}
}

/* 가독성을 위한 어두운 오버레이 (좌측 짙음 → 우측 옅음) */
.hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(27,67,50,.75) 0%, rgba(27,67,50,.55) 40%, rgba(27,67,50,.25) 70%, rgba(27,67,50,.15) 100%),
    linear-gradient(180deg, rgba(0,0,0,.15) 0%, transparent 30%, transparent 70%, rgba(0,0,0,.35) 100%);
}

/* 슬라이드 인디케이터 (점 형태, 우측 하단) */
.hero-dots{
  position:absolute;bottom:28px;right:32px;z-index:4;
  display:flex;gap:8px;align-items:center;
}
.hero-dot{
  width:32px;height:4px;border-radius:2px;
  background:rgba(255,255,255,.35);cursor:pointer;
  transition:all .25s ease;border:none;padding:0;
}
.hero-dot:hover{background:rgba(255,255,255,.6)}
.hero-dot.active{background:#FFE066;width:46px}

.hero .eyebrow{
  display:inline-block;background:rgba(255,224,102,.20);color:#FFE066;
  font-size:13px;font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:22px;
  border:1px solid rgba(255,224,102,.35);backdrop-filter:blur(6px);
}
.hero h1{
  font-size:60px;line-height:1.15;letter-spacing:-1.6px;
  color:#fff;font-weight:800;margin-bottom:24px;
  text-shadow:0 2px 16px rgba(0,0,0,.25);
}
.hero h1 em{font-style:normal;color:#FFE066}
.hero p.lead{
  font-size:19px;color:rgba(255,255,255,.95);
  margin-bottom:38px;max-width:620px;line-height:1.7;
  text-shadow:0 1px 8px rgba(0,0,0,.30);
}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:15px 26px;border-radius:12px;font-weight:700;font-size:15px;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  backdrop-filter:blur(4px);
}
.hero .btn-primary{background:var(--green-700);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.hero .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.35);background:var(--green-900)}
.hero .btn-outline{
  border:1.5px solid rgba(255,255,255,.85);color:#fff;
  background:rgba(255,255,255,.15);
}
.hero .btn-outline:hover{background:rgba(255,255,255,.30);border-color:#fff}

/* 일반 영역의 .btn-primary/.btn-outline는 기존 톤 유지 */
.btn-primary{background:var(--green-700);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--green-900)}
.btn-outline{border:1.5px solid var(--green-700);color:var(--green-700);background:#fff}
.btn-outline:hover{background:var(--green-100)}

@media (max-width:768px){
  .hero{padding:90px 0 110px}
  .hero h1{font-size:38px;letter-spacing:-1px}
  .hero p.lead{font-size:15.5px}
  .hero-dots{bottom:18px;right:18px}
  .hero-dot{width:24px}
  .hero-dot.active{width:34px}
  .hero-overlay{
    background:
      linear-gradient(180deg, rgba(27,67,50,.55) 0%, rgba(27,67,50,.65) 50%, rgba(27,67,50,.75) 100%);
  }
}

/* ============================================================
   6) 공용 섹션 헤더
   ============================================================ */
.section{padding:100px 0}
.section.bg-cream{background:var(--cream)}
.sec-head{text-align:center;margin-bottom:54px}
.sec-head .eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:1px;
  color:var(--green-700);text-transform:uppercase;margin-bottom:12px;
}
.sec-head h2{
  font-size:40px;font-weight:800;color:var(--green-900);
  letter-spacing:-1px;line-height:1.25;
}
.sec-head h2 em{
  font-style:normal;color:var(--green-500);
  background:linear-gradient(180deg, transparent 60%, rgba(61,170,110,.18) 60%);
  padding:0 4px;
}
.sec-head p{color:var(--gray-500);margin-top:14px;font-size:16px}
.sec-head .lead-tag{
  display:inline-block;
  color:var(--green-700);font-weight:800;font-size:15.5px;
  letter-spacing:1.2px;margin-right:6px;
  font-family:'Pretendard',sans-serif;
}
/* [v21] Easy · Fast · Accurate 색감 강조 (형광펜 마커 + 호버 부상) */
.sec-head .lead-tag-wrap{
  display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:6px;margin-top:18px;font-size:0;
}
.sec-head .lt-word{
  display:inline-block;
  font-size:18px;font-weight:900;letter-spacing:1.5px;
  padding:2px 10px;border-radius:6px;
  font-family:'Pretendard',sans-serif;
  transition:transform .2s ease;
  position:relative;
}
.sec-head .lt-word:hover{transform:translateY(-3px)}
.sec-head .lt-comma{
  font-size:18px;color:var(--gray-500);font-weight:700;
  margin:0 -3px;
}
.sec-head .lt-easy{
  color:#1B4332;
  background:linear-gradient(180deg, transparent 55%, rgba(61,170,110,.40) 55%);
}
.sec-head .lt-fast{
  color:#92400e;
  background:linear-gradient(180deg, transparent 55%, rgba(251,191,36,.50) 55%);
}
.sec-head .lt-accurate{
  color:#1e3a8a;
  background:linear-gradient(180deg, transparent 55%, rgba(96,165,250,.40) 55%);
}

/* ============================================================
   7) F-ROAD 소개 (About)
   ============================================================ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
/* [v1.13] about-grid 2장 이미지 모드 — 좌측 두 행(임도/측량사) + 우측 텍스트 2행 span */
.about-grid.about-grid-2img{
  grid-template-columns:1fr 1fr;
  grid-template-areas:
    "img1 text"
    "img2 text"
    "img3 text";
  align-items:start;gap:32px 60px;          /* [v1.13 fix] 행간 24→32 으로 두 사진 간격 확보 */
}
.about-grid.about-grid-2img > #about-photo-1 { grid-area: img1; }
.about-grid.about-grid-2img > #about-photo-2 { grid-area: img2; }
.about-grid.about-grid-2img > #about-photo-3 { grid-area: img3; }
.about-grid.about-grid-2img > div:not(.img) { grid-area: text; }
.about-grid.about-grid-2img .about-photo-managed.is-hidden{
  display:none !important;
}
.about-grid.about-grid-2img.no-about-images{
  grid-template-columns:1fr;
  grid-template-areas:"text";
}
/* [v1.13 fix] About 관리 이미지 — 배너형 이미지에 맞춰 16:9 비율로 표시 */
.about-grid.about-grid-2img > #about-photo-1{
  aspect-ratio:16/9 !important;
  height:auto !important;
  min-height:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  position:relative !important;
}
/* [v1.13 fix] 캡션(::before 및 .about-photo-2-cap) 정렬 통일 */
.about-grid.about-grid-2img > #about-photo-1::before{
  top:14px !important; left:14px !important;
  padding:6px 12px !important; border-radius:999px !important;
  font-size:11.5px !important; letter-spacing:.3px !important;
  background:rgba(27,67,50,.85) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.about-grid.about-grid-2img > #about-photo-1::after{
  display:none;  /* 임도 사진의 우측 하단 그라데이션 오버레이 제거 — 시각적 겹침 방지 */
}
/* [v1.13 fix] 측량사 사진(.img.about-photo-extra)도 .img 클래스라서 임도 ::before 가 상속됨 → 무효화 */
.about-grid.about-grid-2img > #about-photo-2::before,
.about-grid.about-grid-2img > #about-photo-2::after,
.about-grid.about-grid-2img > #about-photo-3::before,
.about-grid.about-grid-2img > #about-photo-3::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.about-photo-2-cap{
  top:14px !important; left:14px !important;
  padding:6px 12px !important; font-size:11.5px !important;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
/* About 관리 이미지 추가 슬롯 */
.about-grid.about-grid-2img .about-photo-extra{
  position:relative;width:100%;max-width:100%;min-width:0;min-height:0 !important;
  aspect-ratio:16/9;border-radius:18px;overflow:hidden;
  background-color:#0d3a23;
  background-image:
    radial-gradient(ellipse at top right, rgba(255,193,7,.18) 0%, transparent 55%),
    linear-gradient(135deg,#0d3a23 0%,#1b5e3a 60%,#2d6a4f 100%);
  background-size:contain;background-position:center;background-repeat:no-repeat;
  box-shadow:0 16px 36px rgba(13,58,35,.22);
  transition:transform .3s,box-shadow .3s;
  display:flex;align-items:center;justify-content:center;
}
.about-grid.about-grid-2img .about-photo-extra:hover{
  transform:translateY(-4px);box-shadow:0 24px 48px rgba(13,58,35,.30);
}
.about-photo-2-cap{
  position:absolute;top:18px;left:18px;z-index:2;
  background:rgba(27,67,50,.85);color:#fff;
  padding:6px 14px;border-radius:999px;
  font-size:11.5px;font-weight:800;letter-spacing:.3px;
  backdrop-filter:blur(4px);
}
.about-photo-2-placeholder{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:#fff;text-align:center;padding:24px;
}
.about-photo-2-placeholder strong{ font-size:15px;font-weight:800 }
.about-photo-2-placeholder small{ font-size:11.5px;opacity:.85;line-height:1.5 }
/* 측량사 사진에 실제 이미지가 들어가면 placeholder 숨김 */
.about-photo-extra[style*="background-image:url"] .about-photo-2-placeholder,
.about-photo-extra[style*='background-image: url'] .about-photo-2-placeholder{ display:none }
/* about-grid 다음 슬로건 */
.about-slogan{ text-align:center;max-width:780px;margin:48px auto 0;padding:0 16px; }
.about-slogan h2{
  font-size:38px;font-weight:900;color:#1B4332;line-height:1.25;margin:0 0 12px;letter-spacing:-1px;
}
.about-slogan h2 em{
  font-style:normal;
  background:linear-gradient(135deg,#0EA5E9,#0284C7);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.about-slogan p{ font-size:16px;color:#475569;line-height:1.7;margin:0;font-weight:500; }
@media (max-width:960px){
  .about-grid.about-grid-2img{
    grid-template-columns:1fr;
    grid-template-areas:"img1" "img2" "img3" "text";
    gap:24px;
  }
  .about-slogan h2{ font-size:28px } .about-slogan p{ font-size:14px }
}
.about-grid .img{
  /* [v21] 실제 임도 항공사진을 배경으로 적용 (base64 임베드) */
  background-color:#0d3a23;  /* 이미지 로드 전 fallback */
  background-size:cover;background-position:center center;
  border-radius:var(--radius-lg);min-height:480px;
  position:relative;overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  font-size:0;  /* 안내 텍스트 숨김 */
}
/* 이미지 위 미세한 비네팅 오버레이 (좌하단 살짝 어둡게) */
.about-grid .img::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg, transparent 50%, rgba(27,67,50,.20) 100%);
}
/* 좌상단 캡션 배지 */
.about-grid .img::before{
  content:"📍 실제 시공 임도 · 충북 진천";
  position:absolute;top:18px;left:18px;z-index:2;
  background:rgba(27,67,50,.85);color:#fff;
  padding:7px 14px;border-radius:8px;
  font-size:12px;font-weight:700;letter-spacing:.3px;
  backdrop-filter:blur(6px);
  box-shadow:0 4px 12px rgba(0,0,0,.20);
}
.about-grid h3{font-size:30px;line-height:1.3;margin-bottom:18px;color:var(--green-900)}
.about-grid p{color:var(--gray-700);margin-bottom:14px;font-size:15.5px}

/* [v21] values 4카드 - 색감과 강조 효과 추가 */
.values{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.values .v{
  padding:20px 22px;border-radius:14px;
  position:relative;overflow:hidden;
  transition:all .25s ease;
  cursor:default;
}
.values .v::before{
  content:"";position:absolute;top:0;left:0;width:5px;height:100%;
  transition:width .25s ease;
}
.values .v:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}
.values .v:hover::before{width:100%;opacity:.08}

/* 4개 카드 각각 다른 색상 + 아이콘 */
.values .v:nth-child(1){
  background:linear-gradient(135deg,#e8f5ec 0%,#d4f0dc 100%);
  border:1.5px solid #95D5B2;
}
.values .v:nth-child(1)::before{background:#2D6A4F}
.values .v:nth-child(1)::after{
  content:"🌲";position:absolute;top:14px;right:14px;font-size:22px;opacity:.7;
}
.values .v:nth-child(2){
  background:linear-gradient(135deg,#e3f0ff 0%,#cfe2ff 100%);
  border:1.5px solid #93c5fd;
}
.values .v:nth-child(2)::before{background:#1d4ed8}
.values .v:nth-child(2)::after{
  content:"🔗";position:absolute;top:14px;right:14px;font-size:22px;opacity:.7;
}
.values .v:nth-child(3){
  background:linear-gradient(135deg,#fff4e1 0%,#ffe9c5 100%);
  border:1.5px solid #fbbf24;
}
.values .v:nth-child(3)::before{background:#d97706}
.values .v:nth-child(3)::after{
  content:"⚡";position:absolute;top:14px;right:14px;font-size:22px;opacity:.7;
}
.values .v:nth-child(4){
  background:linear-gradient(135deg,#f5e8ff 0%,#ead4ff 100%);
  border:1.5px solid #c084fc;
}
.values .v:nth-child(4)::before{background:#7c3aed}
.values .v:nth-child(4)::after{
  content:"🔄";position:absolute;top:14px;right:14px;font-size:22px;opacity:.7;
}

.values .v strong{
  display:block;font-size:16px;font-weight:800;margin-bottom:6px;
  letter-spacing:-.3px;position:relative;z-index:1;
}
.values .v:nth-child(1) strong{color:#1b4332}
.values .v:nth-child(2) strong{color:#1e3a8a}
.values .v:nth-child(3) strong{color:#92400e}
.values .v:nth-child(4) strong{color:#5b21b6}

.values .v span{
  font-size:13px;color:var(--gray-700);
  position:relative;z-index:1;font-weight:600;
}

/* [v21] ABOUT - 2 타겟 고객 강조 박스 (엔지니어링 + 시공사) */
.audience-box{
  margin-top:24px;background:linear-gradient(135deg,#fbfaf7 0%,#f1ede3 100%);
  border:1.5px solid #d4dcd6;border-radius:16px;padding:22px 24px;
  position:relative;overflow:hidden;
}
.audience-box::before{
  content:"";position:absolute;top:-30px;right:-30px;width:140px;height:140px;
  background:radial-gradient(circle,rgba(61,170,110,.10) 0%,transparent 70%);
  pointer-events:none;
}
.audience-box .ab-head{
  display:flex;align-items:center;gap:8px;margin-bottom:14px;
  position:relative;z-index:1;
}
.audience-box .ab-head h4{
  font-size:16px;color:var(--green-900);font-weight:900;margin:0;
}
.audience-box .ab-head .ab-eye{
  background:var(--green-700);color:#fff;
  padding:3px 9px;border-radius:5px;font-size:10.5px;font-weight:800;letter-spacing:.5px;
}
.audience-box .ab-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  position:relative;z-index:1;
}
.audience-box .ab-card{
  background:#fff;border-radius:10px;padding:14px 16px;
  border:1.5px solid #e5ebe7;transition:all .2s;position:relative;
}
.audience-box .ab-card:hover{border-color:var(--green-500);transform:translateY(-2px)}
.audience-box .ab-card.primary{border-color:var(--green-500);background:linear-gradient(180deg,#f0f7f2 0%,#fff 100%)}
.audience-box .ab-card .ab-badge{
  position:absolute;top:-8px;right:10px;
  padding:2px 8px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.3px;
}
.audience-box .ab-card.primary .ab-badge{background:var(--green-700);color:#fff}
.audience-box .ab-card.secondary .ab-badge{background:#f5a623;color:#fff}
.audience-box .ab-card .ab-ico{font-size:24px;margin-bottom:6px;line-height:1}
.audience-box .ab-card h5{
  font-size:14px;color:var(--green-900);font-weight:800;margin:0 0 4px;
}
.audience-box .ab-card p{
  font-size:11.5px;color:var(--gray-700);line-height:1.55;margin:0;font-weight:600;
}
.audience-box .ab-bridge{
  margin-top:14px;padding:11px 14px;
  background:rgba(61,170,110,.10);border-radius:8px;
  font-size:12.5px;color:var(--green-900);line-height:1.55;font-weight:700;
  text-align:center;position:relative;z-index:1;
}
.audience-box .ab-bridge strong{color:var(--green-700);font-weight:900}

/* [v21] '업계 최초' 강조 배지 (시공사 카드용) */
.audience-box .ab-first-badge{
  position:absolute;top:-9px;left:10px;
  background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);
  color:#fff;font-size:10px;font-weight:900;letter-spacing:.4px;
  padding:3px 9px;border-radius:5px;
  box-shadow:0 3px 8px rgba(220,38,38,.30);
  z-index:2;
  animation:abFirstPulse 2s ease-in-out infinite;
}
@keyframes abFirstPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.05)}
}

/* [v21] 활용 분야 확장 박스 */
.audience-box .ab-scope{
  margin-top:14px;padding:14px 16px;
  background:linear-gradient(135deg,#fff 0%,#f0f7f2 100%);
  border:1.5px dashed var(--green-500);border-radius:10px;
  position:relative;z-index:1;
}
.audience-box .ab-scope-head{
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
}
.audience-box .ab-scope-ico{font-size:18px;line-height:1}
.audience-box .ab-scope-title{
  font-size:13px;color:var(--green-900);font-weight:800;line-height:1.4;
}
.audience-box .ab-scope-tags{
  display:flex;flex-wrap:wrap;gap:6px;
}
.audience-box .ab-scope-tag{
  display:inline-flex;align-items:center;
  background:#fff;border:1.5px solid #d4dcd6;
  padding:5px 11px;border-radius:6px;
  font-size:11.5px;color:var(--green-900);font-weight:700;
  transition:all .2s;
}
.audience-box .ab-scope-tag:hover{border-color:var(--green-500);transform:translateY(-1px)}
.audience-box .ab-scope-tag.main{
  background:linear-gradient(135deg,#2D6A4F 0%,#1B4332 100%);
  color:#fff;border-color:var(--green-700);
}

@media (max-width:768px){
  .audience-box .ab-grid{grid-template-columns:1fr}
}

/* About 강조 인용구 박스 */
.hero-quote{
  position:relative;margin:24px 0;padding:26px 28px 26px 60px;
  background:linear-gradient(135deg,#f3fbf5 0%,#e8f5ec 100%);
  border-left:5px solid var(--green-500);
  border-radius:12px;
  box-shadow:0 4px 14px rgba(61,170,110,.08);
}
.hero-quote .quote-mark{
  position:absolute;left:18px;top:8px;
  font-size:64px;font-weight:900;color:var(--green-500);
  font-family:Georgia,serif;line-height:1;opacity:.5;
}
.hero-quote p{
  margin:0 !important;
  font-size:16.5px;line-height:1.75;color:var(--green-900);
  font-weight:500;letter-spacing:-.3px;
}
.hero-quote strong{
  color:var(--green-700);font-weight:800;
  background:linear-gradient(180deg, transparent 60%, rgba(82,183,136,.3) 0);
  padding:0 2px;
}

/* ============================================================
   8) 제품/다운로드/구매 - 카드 섹션
   ============================================================ */
.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fcard{
  background:#fff;border-radius:var(--radius-lg);padding:36px 30px;
  border:1px solid #eee;transition:all .25s ease;
}
.fcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--green-300)}
.fcard .ico{
  width:56px;height:56px;border-radius:14px;
  background:linear-gradient(135deg,var(--green-700),var(--green-500));
  display:flex;align-items:center;justify-content:center;
  font-size:26px;color:#fff;margin-bottom:20px;
}
.fcard h4{font-size:21px;color:var(--green-900);margin-bottom:10px}
.fcard p{color:var(--gray-500);font-size:14.5px;margin-bottom:14px}
.fcard ul li{
  font-size:13.5px;color:var(--gray-700);padding-left:22px;position:relative;margin-bottom:7px;
}
.fcard ul li::before{
  content:"✓";position:absolute;left:0;color:var(--green-500);font-weight:800;
}
.fcard .more{display:inline-block;margin-top:16px;color:var(--green-700);font-weight:700;font-size:14px}

/* ============================================================
   9) 커뮤니티 4분류 + 측량지원접수[NEW] + 임도자료실
   ============================================================ */
.community-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:50px}
.croom{
  text-align:center;background:#fff;border:1px solid #eee;
  border-radius:var(--radius);padding:30px 20px;transition:all .2s ease;
}
.croom:hover{border-color:var(--green-500);transform:translateY(-4px)}
.croom .ico{font-size:34px;margin-bottom:12px}
.croom h4{font-size:17px;color:var(--green-900);margin-bottom:6px}
.croom p{font-size:13px;color:var(--gray-500)}

.split-2col{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}
.panel{
  background:#fff;border-radius:var(--radius-lg);padding:36px;
  border:1px solid #eee;box-shadow:var(--shadow-sm);
}
.panel.highlight{
  background:linear-gradient(160deg,#fff 0%,#f3fbf5 100%);
  border:2px solid var(--green-500);position:relative;
}
.panel.highlight::before{
  content:"NEW";position:absolute;top:-12px;right:24px;
  background:var(--green-500);color:#fff;font-size:11px;font-weight:800;
  padding:5px 12px;border-radius:6px;letter-spacing:1px;
}
.panel-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:22px;padding-bottom:14px;border-bottom:2px solid var(--green-900);
}
.panel-head h3{font-size:22px;color:var(--green-900)}
.panel-head a.more{font-size:13px;color:var(--gray-500)}
.panel-head a.more:hover{color:var(--green-700)}

/* [v21] 카테고리 탭 - 확실한 구분 (활성/비활성 + 호버 효과) */
.sub-tabs{
  display:flex;gap:0;margin-bottom:20px;flex-wrap:wrap;
  background:#f5f7f6;padding:5px;border-radius:12px;
  border:1.5px solid #e5ebe7;
}
.sub-tabs span{
  font-size:13px;color:var(--gray-500);
  padding:9px 18px;border-radius:8px;font-weight:700;
  cursor:pointer;transition:all .2s ease;letter-spacing:-.2px;
  flex:1;text-align:center;min-width:fit-content;
  user-select:none;
}
.sub-tabs span:hover{
  background:rgba(255,255,255,.7);color:var(--green-700);
}
.sub-tabs span.active{
  background:#fff;color:var(--green-900);font-weight:800;
  box-shadow:0 2px 6px rgba(45,90,61,.12);
  position:relative;
}
.sub-tabs span.active::before{
  content:"";position:absolute;left:50%;top:5px;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--green-500);
}
.list-rows li{
  padding:13px 0;border-bottom:1px dashed #eee;
  display:flex;justify-content:space-between;align-items:center;
}
.list-rows li:last-child{border-bottom:0}
.list-rows .tit{font-weight:600;color:var(--gray-700);font-size:14.5px}
.list-rows .tit .tag{
  display:inline-block;font-size:11px;background:var(--green-100);color:var(--green-700);
  padding:3px 8px;border-radius:6px;margin-right:8px;font-weight:700;
}
.list-rows .date{font-size:13px;color:var(--gray-500)}

.apply-btn{
  display:block;width:100%;text-align:center;margin-top:18px;padding:14px;
  background:var(--green-700);color:#fff;border-radius:10px;font-weight:700;font-size:15px;
  transition:background .2s ease;
}
.apply-btn:hover{background:var(--green-900)}

/* ============================================================
   10) 측량 지원 접수 - 폼
   ============================================================ */
.apply-form-wrap{
  margin-top:50px;background:#fff;border-radius:var(--radius-lg);
  padding:42px;border:1px solid #eee;box-shadow:var(--shadow-sm);
}
.apply-form-wrap h3{font-size:24px;color:var(--green-900);margin-bottom:8px}
.apply-form-wrap > p{color:var(--gray-500);font-size:14px;margin-bottom:26px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:13px;font-weight:700;color:var(--green-900);margin-bottom:8px}
.form-field input,.form-field select,.form-field textarea{
  padding:13px 14px;border:1px solid #d8d8d8;border-radius:10px;
  font-family:inherit;font-size:14.5px;background:#fafafa;transition:border-color .15s ease;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border-color:var(--green-500);background:#fff;
}
.form-submit{margin-top:24px;display:flex;justify-content:flex-end;gap:10px}

/* ============================================================
   11) MARKET (장비 마켓)
   ============================================================ */
.market-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.mcard{
  background:#fff;border:1px solid #eee;border-radius:var(--radius-lg);
  overflow:hidden;transition:all .2s ease;cursor:pointer;
}
.mcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--green-300)}
.mcard .thumb{
  position:relative;
  height:200px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.mcard .thumb svg{width:100%;height:100%;display:block}
/* [v1.10] 메인 4카드 실사 이미지 (투명 PNG/WebP) */
.mcard .thumb img.thumb-img{
  width:100%; height:100%;
  object-fit:contain;
  padding:20px;
  box-sizing:border-box;
  display:block;
  filter:drop-shadow(0 6px 12px rgba(20,40,30,.15));
  transition:transform .35s ease;
}
.mcard:hover .thumb img.thumb-img{transform:scale(1.06)}
/* 카테고리별 배경 그라데이션 (마켓 페이지 톤과 통일) */
.mcard .thumb.t-drone{background:linear-gradient(135deg,#e8f0fe 0%,#f5f9ff 100%)}
.mcard .thumb.t-lidar{background:linear-gradient(135deg,#e8f5ec 0%,#f4faf6 100%)}
.mcard .thumb.t-gps{background:linear-gradient(135deg,#fef4e8 0%,#fffaf2 100%)}
.mcard .thumb.t-etc{background:linear-gradient(135deg,#f0e8fe 0%,#f9f5ff 100%)}

/* 호버 시 살짝 줌인 */
.mcard:hover .thumb svg{transform:scale(1.06);transition:transform .35s ease}
.mcard .thumb svg{transition:transform .35s ease}

/* 카테고리 라벨 (배지) */
.mcard .thumb-badge{
  position:absolute;top:12px;left:12px;
  background:rgba(27,67,50,.85);color:#fff;
  padding:4px 10px;border-radius:6px;
  font-size:11px;font-weight:800;letter-spacing:.5px;
  backdrop-filter:blur(4px);
}

.mcard .body{padding:22px}
.mcard .cat{font-size:12px;color:var(--green-700);font-weight:700;letter-spacing:1px}
.mcard h4{font-size:17px;color:var(--green-900);margin:6px 0 10px}
.mcard p{font-size:13px;color:var(--gray-500);line-height:1.5;min-height:42px}
.mcard .price{
  display:block;margin-top:14px;font-weight:800;color:var(--green-900);font-size:15px;
}
.mcard:hover .price{color:var(--green-500)}

/* ============================================================
   12) 공지사항 + 원격지원[NEW] 2단
   ============================================================ */
/* [v21] 공지사항 + 원격지원 - 공지사항을 풀 너비, 원격지원은 별도 배치 */
.notice-remote{display:block}
.notice-wide{
  display:block;width:100%;margin-bottom:24px;
}
.notice-wide .list-rows li{
  padding:14px 18px;border-bottom:1px solid #f0f0f0;
  display:flex;justify-content:space-between;align-items:center;
  border-radius:8px;transition:background .15s;
}
.notice-wide .list-rows li:hover{background:#fafcfa}
.notice-wide .list-rows li:last-child{border-bottom:0}
.remote-wide{
  display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:center;
  background:linear-gradient(135deg,#1B4332 0%,#2D6A4F 100%);
  border-radius:18px;padding:24px 28px;color:#fff;
  position:relative;overflow:hidden;
}
.remote-wide::before{
  content:"🖥️";position:absolute;top:-20px;right:30px;
  font-size:160px;opacity:.06;line-height:1;pointer-events:none;
}
.remote-wide .rw-left h3{
  font-size:20px;color:#fff;font-weight:900;margin-bottom:6px;
}
.remote-wide .rw-left .rw-eye{
  display:inline-block;background:rgba(255,224,102,.20);color:#FFE066;
  padding:4px 10px;border-radius:5px;font-size:11px;font-weight:800;letter-spacing:.5px;margin-bottom:10px;
}
.remote-wide .rw-left p{
  font-size:13px;color:rgba(255,255,255,.85);line-height:1.6;margin:0;
}
.remote-wide .rw-actions{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;
  position:relative;z-index:1;
}
.remote-wide .rw-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:11px 18px;border-radius:10px;
  font-weight:800;font-size:13px;text-decoration:none;
  transition:all .2s;white-space:nowrap;
}
.remote-wide .rw-btn-y{
  background:#FFE066;color:#1B4332;
  box-shadow:0 6px 16px rgba(255,224,102,.30);
}
.remote-wide .rw-btn-y:hover{background:#FFD93D;transform:translateY(-2px)}
.remote-wide .rw-btn-o{
  background:rgba(255,255,255,.15);color:#fff;
  border:1.5px solid rgba(255,255,255,.30);backdrop-filter:blur(4px);
}
.remote-wide .rw-btn-o:hover{background:rgba(255,255,255,.25)}

@media (max-width:900px){
  .remote-wide{grid-template-columns:1fr;gap:14px}
  .remote-wide .rw-actions{justify-content:flex-start}
}
.remote-panel{
  background:linear-gradient(160deg,var(--green-900),var(--green-700));
  color:#fff;border:none;position:relative;
}
.remote-panel::before{
  content:"NEW";position:absolute;top:-12px;right:24px;
  background:var(--green-500);color:#fff;font-size:11px;font-weight:800;
  padding:5px 12px;border-radius:6px;letter-spacing:1px;
}
.remote-panel .panel-head{border-bottom:2px solid rgba(255,255,255,.2)}
.remote-panel .panel-head h3{color:#fff}
.remote-panel p.desc{color:#d8ece0;font-size:14.5px;margin-bottom:20px}
.remote-actions{display:flex;flex-direction:column;gap:10px}
.remote-actions a{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);border-radius:12px;
  font-weight:700;font-size:14.5px;transition:background .2s ease;color:#fff;
}
.remote-actions a:hover{background:rgba(255,255,255,.2)}
.remote-actions .arr{font-size:18px}
.remote-foot{
  margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);
  font-size:13px;color:#cde2d3;line-height:1.7;
}
.remote-foot strong{color:#fff;display:block;margin-bottom:4px}

/* ============================================================
   13) 푸터
   ============================================================ */
footer{background:#111;color:#aaa;padding:55px 0 30px;font-size:13.5px}
footer .container{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
footer h5{color:#fff;font-size:14px;margin-bottom:14px}
footer ul li{margin-bottom:8px}
footer a:hover{color:#fff}
footer .logo-foot{font-size:24px;font-weight:800;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:10px}
footer .corp-info{font-size:12.5px;line-height:1.8;color:#888}
.copyright{margin-top:40px;padding-top:24px;border-top:1px solid #2a2a2a;text-align:center;color:#666;font-size:12.5px}

/* ============================================================
   14-B) [추가] 유튜브 영상 갤러리
   ============================================================ */
.yt-section{
  position:relative;
  background:linear-gradient(180deg,#0f1814 0%,#1a2620 100%);
  color:#fff;
  padding:80px 0 90px;
  overflow:hidden;
}
.yt-section::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(61,170,110,.4),transparent);
}
.yt-block{margin-bottom:60px}
.yt-block:last-child{margin-bottom:0}

.yt-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:24px;flex-wrap:wrap;gap:12px;
}
.yt-head .left{display:flex;align-items:center;gap:14px}
.yt-head h3{
  font-size:24px;font-weight:800;color:#fff;letter-spacing:-.5px;
  display:flex;align-items:center;gap:10px;
}
.yt-head h3 .yt-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:22px;background:#FF0000;border-radius:6px;color:#fff;
  font-size:11px;font-weight:900;
}
.yt-head .play-all{
  display:inline-flex;align-items:center;gap:6px;
  font-size:14px;color:#95D5B2;font-weight:700;
  padding:8px 14px;border-radius:8px;
  background:rgba(61,170,110,.12);transition:background .2s ease;
}
.yt-head .play-all:hover{background:rgba(61,170,110,.25);color:#fff}
.yt-head .sub{font-size:14px;color:#7d8b85;margin-top:4px}
.yt-head .nav-arrows{display:flex;gap:8px}
.yt-head .nav-arrows button{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.15);
  font-size:16px;cursor:pointer;transition:all .2s ease;
}
.yt-head .nav-arrows button:hover{
  background:var(--green-500);border-color:var(--green-500);
}

/* 가로 스크롤 갤러리 */
.yt-track{
  display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;
  scroll-behavior:smooth;scroll-snap-type:x mandatory;
  padding-bottom:14px;
  /* 스크롤바 숨김 */
  scrollbar-width:none;-ms-overflow-style:none;
}
.yt-track::-webkit-scrollbar{display:none}

/* 일반 영상 카드 (16:9) */
.yt-card{
  flex:0 0 240px;scroll-snap-align:start;
  background:rgba(255,255,255,.04);border-radius:14px;
  overflow:hidden;cursor:pointer;
  transition:transform .25s ease, background .2s ease;
  border:1px solid rgba(255,255,255,.06);
}
.yt-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.08)}
.yt-thumb{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  background:#222;
}
.yt-thumb .bg{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:rgba(255,255,255,.85);font-size:15px;
  text-align:center;padding:12px;line-height:1.3;letter-spacing:-.3px;
}
/* [통합 v1] 실제 YouTube 썸네일 자동 표시 */
.yt-thumb .bg.has-thumb{
  background-size:cover;background-position:center;
  text-indent:-9999px; /* 제목 텍스트 숨기고 이미지만 */
}
.yt-thumb .bg.has-thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.55) 100%);
  pointer-events:none;
}
/* 카드별 그라데이션 — 실제 운영 시 영상 썸네일 이미지로 교체 (자동) */
.yt-card:nth-child(1) .bg{background:linear-gradient(135deg,#2d3a35,#0d4f3c)}
.yt-card:nth-child(2) .bg{background:linear-gradient(135deg,#4a3c2a,#8b4513)}
.yt-card:nth-child(3) .bg{background:linear-gradient(135deg,#5e2a2a,#a83232)}
.yt-card:nth-child(4) .bg{background:linear-gradient(135deg,#2a3e5e,#1a5490)}
.yt-card:nth-child(5) .bg{background:linear-gradient(135deg,#3d2a4e,#6b2c91)}
.yt-card:nth-child(6) .bg{background:linear-gradient(135deg,#2a4e3d,#1a8050)}
.yt-thumb .duration{
  position:absolute;bottom:8px;right:8px;
  background:rgba(0,0,0,.85);color:#fff;
  font-size:11px;font-weight:700;padding:3px 7px;border-radius:4px;
}
.yt-thumb .badge{
  position:absolute;top:8px;left:8px;
  font-size:10px;font-weight:900;letter-spacing:.5px;
  padding:4px 8px;border-radius:4px;color:#fff;
}
.yt-thumb .badge.hot{background:#FF3D3D}
.yt-thumb .badge.new{background:var(--green-500)}
.yt-thumb .play-overlay{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.35);opacity:0;transition:opacity .25s ease;
}
.yt-card:hover .play-overlay{opacity:1}
.yt-thumb .play-icon{
  width:54px;height:54px;border-radius:50%;
  background:#FF0000;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;padding-left:4px;
  box-shadow:0 4px 20px rgba(0,0,0,.5);
  transform:scale(.8);transition:transform .25s ease;
}
.yt-card:hover .play-icon{transform:scale(1)}
.yt-info{padding:14px 14px 16px}
.yt-info .title{
  font-size:14.5px;font-weight:700;color:#fff;line-height:1.4;
  margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.yt-info .meta{
  font-size:12px;color:#7d8b85;display:flex;gap:8px;align-items:center;
}
.yt-info .meta .channel{color:#95D5B2;font-weight:700}

/* Shorts 카드 (9:16) */
/* [v1.13 fix] Shorts 썸네일 미표시 버그 — background 단축 → background-image 로 분리 (JS overrideable) */
.yt-track.shorts .yt-card{flex:0 0 180px}
.yt-track.shorts .yt-thumb{aspect-ratio:9/16;position:relative;overflow:hidden}
.yt-track.shorts .yt-thumb .bg{
  font-size:18px;padding:18px;align-items:flex-end;
  background-color:transparent;
  background-size:cover;background-position:center;
  position:relative;z-index:2;  /* 텍스트는 오버레이 위 */
}
/* 어두운 그라데이션 오버레이를 ::after 로 분리 — 텍스트 가독성 확보, 썸네일은 그대로 보임 */
.yt-track.shorts .yt-thumb::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.6) 100%);
}
.yt-track.shorts .yt-thumb .bg-layer{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
}
.yt-track.shorts .yt-card:nth-child(1) .bg-layer{background-image:linear-gradient(135deg,#1e3a2e,#0d4f3c)}
.yt-track.shorts .yt-card:nth-child(2) .bg-layer{background-image:linear-gradient(135deg,#3a2a1e,#8b4513)}
.yt-track.shorts .yt-card:nth-child(3) .bg-layer{background-image:linear-gradient(135deg,#1e2a3a,#1a5490)}
.yt-track.shorts .yt-card:nth-child(4) .bg-layer{background-image:linear-gradient(135deg,#2a3a1e,#5a9020)}
.yt-track.shorts .yt-card:nth-child(5) .bg-layer{background-image:linear-gradient(135deg,#3a1e2a,#a83232)}
.yt-track.shorts .yt-card:nth-child(6) .bg-layer{background-image:linear-gradient(135deg,#2a1e3a,#6b2c91)}

.yt-track.shorts .yt-info{padding:12px}
.yt-track.shorts .yt-info .title{font-size:13.5px;-webkit-line-clamp:3}

/* Shorts 로고 표시 */
.yt-shorts-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:6px;color:#fff;font-weight:900;font-size:11px;
  background:linear-gradient(135deg,#FF0000,#FF4081);
}

/* 더 보기 버튼 */
.yt-footer{
  text-align:center;margin-top:40px;
}
.yt-footer a{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;border-radius:50px;
  background:#1e6fdb;color:#fff;font-weight:700;font-size:15px;
  transition:transform .15s ease, box-shadow .2s ease;
}
.yt-footer a:hover{
  transform:translateY(-2px);
  background:#1559b3;
  box-shadow:0 10px 30px rgba(30,111,219,.45);
}


/* ============================================================
   14) 반응형
   ============================================================ */
@media (max-width: 1280px){
  nav.menu > ul > li > a{padding:30px 12px;font-size:15px}
}
@media (max-width: 1100px){
  .hero h1{font-size:48px}
  .about-grid,.notice-remote{grid-template-columns:1fr;gap:36px}
  .feature-cards{grid-template-columns:1fr 1fr}
  .community-row{grid-template-columns:1fr 1fr}
  .split-2col{grid-template-columns:1fr}
  .market-cards{grid-template-columns:1fr 1fr}
  footer .container{grid-template-columns:1fr 1fr}
  nav.menu{display:none}
  .hamburger{display:block}
}
@media (max-width: 768px){
  .hero{padding:70px 0 80px}
  .hero h1{font-size:36px}
  .hero p.lead{font-size:16px}
  .section{padding:70px 0}
  .sec-head h2{font-size:28px}
  .feature-cards,.community-row,.market-cards{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .utilbar .info{display:none}
  .hero-quote{padding:22px 22px 22px 50px}
  .hero-quote p{font-size:15px}
  /* [v22] sticky 헤더 모바일 안정화 */
  .utilbar-inner{flex-wrap:nowrap;min-height:44px}
  .utilbar{min-height:44px}
  header.gnb{top:44px}
  .gnb-inner{height:64px}
  #subpage-container{top:108px}  /* 44 + 64 */
}

/* ============================================================
   [통합 v1] 모바일 햄버거 메뉴 — 드롭다운
   ============================================================ */
.mobile-menu{
  display:none;
  position:fixed; top:108px; left:0; right:0;
  bottom:0;
  background:#fff;
  z-index:100;
  overflow-y:auto;
  border-top:1px solid #ececec;
  box-shadow:0 8px 24px rgba(0,0,0,.10);
  animation:slideDown .25s ease-out;
}
.mobile-menu.open{ display:block; }
.mobile-menu > ul{ padding:8px 0; }
.mobile-menu > ul > li{ border-bottom:1px solid #f0f3f1; }
.mobile-menu > ul > li:last-child{ border-bottom:0; }
.mobile-menu > ul > li > a,
.mobile-menu > ul > li > .mm-cat-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 20px;
  font-weight:700; font-size:15px;
  color:#1a1a1a; cursor:pointer;
  transition:background .15s;
}
.mobile-menu > ul > li > .mm-cat-head:hover{ background:#fafcfa; }
.mobile-menu > ul > li > .mm-cat-head .mm-chev{
  transition:transform .2s; font-size:13px; color:#94a39a;
}
.mobile-menu > ul > li.open > .mm-cat-head .mm-chev{ transform:rotate(180deg); }
.mobile-menu .mm-sub{
  display:none;
  background:#f7faf7;
  padding:4px 0;
}
.mobile-menu > ul > li.open .mm-sub{ display:block; }
.mobile-menu .mm-sub a{
  display:block;
  padding:11px 20px 11px 36px;
  font-size:14px; color:#3a4a3e;
  border-top:1px solid #ececec;
}
.mobile-menu .mm-sub a:first-child{ border-top:0; }
.mobile-menu .mm-sub a:hover{ background:rgba(45,106,79,.06); color:#1B4332; }
.mobile-menu .mm-auth-item{
  padding:14px 18px 18px;
  border-top:1px solid #e3ebe6;
}
.mobile-menu > ul > li.mm-auth-item{ border-bottom:0; }
.mobile-menu .mm-auth-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.mobile-menu .mm-auth-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:10px;
  background:#1B4332;
  color:#fff;
  font-size:15px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(27,67,50,.16);
}
.mobile-menu .mm-auth-link:hover{ background:#123526; color:#fff; }
.mobile-menu .mm-auth-logout{
  background:#fff;
  color:#1B4332;
  border:1px solid #b9d0c4;
  box-shadow:none;
}
.mobile-menu .mm-auth-logout:hover{ background:#eef7f2; color:#1B4332; }
.hamburger.active{ color:#1B4332; transform:rotate(90deg); transition:all .2s; }
@keyframes slideDown{ from{opacity:0;transform:translateY(-12px);} to{opacity:1;transform:translateY(0);} }
@media (min-width:1101px){ .mobile-menu{ display:none !important; } }
@media (max-width:768px){
  .mobile-menu{ top:108px; }
}

/* 모바일 .gnb-admin (관리자 모드 표시) - 좁은 화면에서 컴팩트 */
@media (max-width: 768px){
  .gnb-admin{ gap:5px; padding-left:8px; }
  .gnb-admin .ga-enter{ padding:5px 10px; font-size:11.5px; }
  .gnb-admin .ga-logout{ padding:5px 8px; font-size:11px; }
}
