@charset "utf-8";
/* ==================================================================
   디엠(주) 테마 CSS  (dy_theme.css)
   - v9_bom01 기본 디자인(라이트)을 다크 + 블루로 전면 치환
   - 로드 순서 : 항상 마지막 (head.sub.php 에서 echo)
   - 색상 수정은 아래 :root 변수만 바꾸면 전체 반영됩니다.
   ================================================================== */

:root{
  --dy-blue:#1a6fe0;
  --dy-blue-l:#3d9bff;
  --dy-sky:#5ec2ff;
  --dy-deep:#0a3f8f;
  --dy-navy:#0a1a30;
  --dy-bg:#000000;
  --dy-line:#212121;
  --dy-gray:#a2a2a2;
  --dy-head-h:110px;
}

/* ===================== 전역 ===================== */
html,body{background:var(--dy-bg) !important;}
body{
  color:#fff !important;
  font-family:'Paperlogy','Pretendard','Malgun Gothic',sans-serif !important;
  word-break:keep-all;
  overflow-x:hidden;
}
#wrapper,#container,#content{background:transparent !important;}
a{color:inherit;}
img{max-width:100%;height:auto;}
.dy-inner{width:100%;max-width:1640px;margin:0 auto;padding:0 40px;box-sizing:border-box;}
.v9_bom01-container{width:100% !important;max-width:1640px !important;padding:0 40px !important;box-sizing:border-box;}

/* ===================== 헤더 ===================== */
.v9_bom01-header{
  position:fixed !important;top:0;left:0;width:100%;z-index:300;
  background:rgba(0,0,0,.72) !important;backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.08) !important;box-shadow:none !important;
  transition:background .3s;
}
.v9_bom01-header.is-scrolled,.v9_bom01-header:hover{background:rgba(0,0,0,.96) !important;}
/* 최상단(투명 상태)에서도 메뉴가 묻히지 않도록 위쪽에 옅은 그라데이션 */
.v9_bom01-header::before{
  content:'';position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.28) 70%,transparent);
}
.v9_bom01-header.is-scrolled::before,.v9_bom01-header.dy-shrink::before{opacity:0;transition:opacity .35s;}
.v9_bom01-tnb{display:none !important;}
.v9_bom01-header__main{background:transparent !important;border:0 !important;}
.v9_bom01-header__inner{
  height:var(--dy-head-h);display:flex;align-items:center;justify-content:space-between;
}
.dy-logo{display:flex;align-items:center;gap:11px;font-size:27px;font-weight:800;letter-spacing:-1px;color:#fff;}
.dy-logo__mark{
  width:40px;height:40px;flex:none;border-radius:12px 4px 12px 4px;
  background:linear-gradient(140deg,var(--dy-sky),var(--dy-deep));
  display:flex;align-items:center;justify-content:center;
  font-size:21px;font-style:italic;font-weight:800;transform:skewX(-7deg);color:#fff;
}
.v9_bom01-gnb__list{display:flex;margin:0;padding:0;}
.v9_bom01-gnb__item{position:relative;}
/* ── GNB 글자색 ──────────────────────────────────────────────
   기본 테마 _v9_override.css 의
     .v9_bom01-gnb__item > .v9_bom01-gnb__link { color:#222 !important }
   이 선택자 우선순위가 높아 다크 헤더에서 글자가 안 보이던 문제.
   같은 구조 + 헤더 클래스를 앞에 붙여 우선순위를 올려 덮어씁니다.
   ──────────────────────────────────────────────────────────── */
.v9_bom01-gnb__link,
.v9_bom01-gnb__item > .v9_bom01-gnb__link,
.v9_bom01-header .v9_bom01-gnb__item > .v9_bom01-gnb__link,
.v9_bom01-header .v9_bom01-gnb__list > .v9_bom01-gnb__item > .v9_bom01-gnb__link{
  display:block;padding:0 38px !important;line-height:var(--dy-head-h) !important;
  font-size:19px !important;font-weight:600 !important;
  color:#ffffff !important;letter-spacing:-.5px;
  text-decoration:none !important;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
}
.v9_bom01-gnb__link::after,
.v9_bom01-gnb__item > .v9_bom01-gnb__link::after{display:none !important;}
.v9_bom01-gnb__arrow{display:none !important;}

.v9_bom01-header .v9_bom01-gnb__item:hover > .v9_bom01-gnb__link,
.v9_bom01-header .v9_bom01-gnb__item.is-active > .v9_bom01-gnb__link,
.v9_bom01-gnb__item:hover>.v9_bom01-gnb__link,
.v9_bom01-gnb__item.is-active>.v9_bom01-gnb__link{color:var(--dy-blue-l) !important;}
.v9_bom01-gnb__item.is-active>.v9_bom01-gnb__link{position:relative;}
.v9_bom01-gnb__item.is-active>.v9_bom01-gnb__link::before{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--dy-blue);
}
.v9_bom01-gnb__sub{
  position:absolute;left:50%;transform:translateX(-50%);top:var(--dy-head-h);
  min-width:190px;padding:16px 0 20px !important;
  background:rgba(5,9,15,.985) !important;border:1px solid rgba(255,255,255,.09) !important;
  border-radius:0 0 12px 12px;box-shadow:0 18px 40px rgba(0,0,0,.6) !important;
  opacity:0;visibility:hidden;transition:opacity .25s;
}
.v9_bom01-gnb__item:hover .v9_bom01-gnb__sub{opacity:1;visibility:visible;}
.v9_bom01-gnb__sub li{list-style:none !important;}
.v9_bom01-gnb__sub li a,
.v9_bom01-header .v9_bom01-gnb__sub li a{
  display:block;padding:9px 24px !important;font-size:16px !important;
  color:#c8c8c8 !important;background:none !important;white-space:nowrap;
  text-decoration:none !important;
}
.v9_bom01-gnb__sub li a:hover,
.v9_bom01-header .v9_bom01-gnb__sub li a:hover{
  color:var(--dy-blue-l) !important;background:rgba(26,111,224,.12) !important;
}
.v9_bom01-header__right{display:flex;align-items:center;gap:28px;}
.dy-hd-tel{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}
.dy-hd-tel span{font-size:11px;letter-spacing:3px;color:var(--dy-blue-l);font-weight:700;}
.dy-hd-tel b{font-size:23px;font-weight:800;font-style:italic;letter-spacing:-.5px;margin-top:4px;color:#fff;}
.v9_bom01-header__menu-btn{
  background:none !important;border:0 !important;color:#fff !important;
  font-size:22px;cursor:pointer;padding:6px 0;display:flex;align-items:center;gap:8px;
}
.v9_bom01-header__menu-btn .v9_menu-txt{display:none;}

/* ===================== 사이트맵 오버레이 ===================== */
.v9_sitemap{background:rgba(0,0,0,.975) !important;}
.v9_sitemap__logo,.v9_sitemap__h{color:#fff !important;}
.v9_sitemap__h{border-bottom:2px solid var(--dy-blue) !important;}
.v9_sitemap__col a{color:#9a9a9a !important;}
.v9_sitemap__col a:hover{color:#fff !important;}
.v9_sitemap__banner{
  background:radial-gradient(ellipse at 30% 20%,var(--dy-navy),#04080f 70%) !important;
  border:1px solid rgba(255,255,255,.1) !important;
}
.v9_sitemap__banner-eyebrow{color:var(--dy-blue-l) !important;}
.v9_sitemap__banner-btn{background:var(--dy-blue) !important;}
.v9_sitemap__banner-btn:hover{background:var(--dy-blue-l) !important;}

/* ===================== 서브 비주얼 ===================== */
.v9_bom01-subvisual{
  position:relative;height:420px;display:flex;align-items:center;
  margin-top:var(--dy-head-h);background-position:center !important;background-size:cover !important;
}
.v9_bom01-subvisual__dim{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.62) 55%,rgba(0,0,0,.4) 100%);
}
.v9_bom01-subvisual__inner{position:relative;z-index:2;}
.v9_bom01-subvisual__label{
  display:block;font-size:17px !important;font-weight:800;font-style:italic;letter-spacing:5px;
  color:var(--dy-blue-l) !important;text-transform:uppercase;margin-bottom:16px;
}
.v9_bom01-subvisual__line1{font-size:52px !important;font-weight:800;letter-spacing:-2px;line-height:1.15;margin:0;}
.v9_bom01-subvisual__hl{color:#fff !important;background:none !important;padding:0 !important;}
.v9_bom01-subvisual__line2{font-size:18px !important;color:#c4c4c4 !important;font-weight:300;margin-top:18px;}
.v9_bom01-subvisual__desc{font-size:17px !important;color:#a2a2a2 !important;font-weight:300;margin-top:10px;line-height:1.8;}
.v9_bom01-subvisual__crumb{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:15px;color:#9a9a9a;}
.v9_bom01-subvisual__crumb a{color:#9a9a9a;}
.v9_bom01-subvisual__crumb .now{color:#fff;font-weight:600;}
.v9_bom01-subvisual__crumb i{color:#464646;}

/* 서브 탭 (대분류 하위 메뉴) */
.dy-subtab{position:sticky;top:var(--dy-head-h);z-index:100;background:#06090e;border-bottom:1px solid var(--dy-line);}
.dy-subtab ul{display:flex;justify-content:center;margin:0;padding:0;}
.dy-subtab li{list-style:none;}
.dy-subtab a{
  display:block;padding:0 40px;line-height:70px;font-size:17px;font-weight:600;color:#858585;
  position:relative;white-space:nowrap;letter-spacing:-.5px;transition:color .2s;
}
.dy-subtab a:hover{color:#fff;}
.dy-subtab li.is-current a{color:#fff;}
.dy-subtab li.is-current a::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:3px;background:var(--dy-blue);}

/* ===================== 페이지 타이틀 ===================== */
.dy-ptitle{text-align:center;padding:92px 0 0;}
.dy-ptitle h2{font-size:40px;font-weight:800;letter-spacing:-1.5px;margin:0;color:#fff;}
.dy-ptitle .dy-ga{
  display:inline-block;margin-top:18px;padding:7px 16px;border-radius:999px;font-size:13px;font-weight:700;
  color:#e0b74a;background:rgba(224,183,74,.1);border:1px solid rgba(224,183,74,.38);
}

/* ===================== 섹션 공통 ===================== */
.dy-sec{padding:90px 0 130px;}
.dy-sec--alt{background:linear-gradient(180deg,#000,#050a12 45%,#000);}
.dy-sec--tight{padding:70px 0 100px;}
.dy-head{margin-bottom:56px;}
.dy-head--center{text-align:center;}
.dy-eyebrow{font-size:14px;font-weight:800;font-style:italic;letter-spacing:4px;color:var(--dy-blue-l);text-transform:uppercase;}
.dy-title{font-size:34px;font-weight:800;line-height:1.4;letter-spacing:-1.5px;margin:16px 0 0;color:#fff;}
.dy-desc{font-size:17px;color:#b0b0b0;line-height:1.95;margin-top:20px;font-weight:300;}
.dy-divider{height:1px;background:var(--dy-line);margin:90px 0;border:0;}
.dy-tag{display:inline-block;padding:8px 18px;border-radius:999px;font-size:15px;font-weight:700;
  color:var(--dy-blue-l);border:1px solid rgba(61,155,255,.4);background:rgba(26,111,224,.1);}

/* ===================== 인사말 ===================== */
.dy-greet-lead{font-size:34px;font-weight:800;line-height:1.5;letter-spacing:-1.5px;text-align:center;color:#fff;}
.dy-greet-lead em{font-style:normal;color:var(--dy-blue-l);}
.dy-greet-img{margin:56px 0;border-radius:22px;overflow:hidden;aspect-ratio:21/9;}
.dy-greet-img img{width:100%;height:100%;object-fit:cover;}
.dy-greet-body{max-width:1100px;margin:0 auto;}
.dy-greet-body p{font-size:17px;color:#bfbfbf;line-height:2.1;font-weight:300;margin:26px 0 0;}
.dy-sign{margin-top:52px;text-align:right;font-size:18px;color:#9a9a9a;font-weight:300;}
.dy-sign b{font-size:26px;color:#fff;font-weight:800;margin-left:12px;letter-spacing:-1px;}

/* ===================== 인포 카드 ===================== */
.dy-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dy-info{padding:36px 32px 40px;border-radius:18px;background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);transition:.3s;}
.dy-info:hover{border-color:rgba(61,155,255,.5);}
.dy-info .k{font-size:12px;font-weight:800;letter-spacing:3px;color:var(--dy-blue-l);}
.dy-info .v{font-size:20px;font-weight:700;margin-top:12px;letter-spacing:-.5px;line-height:1.55;color:#fff;}
.dy-info .v small{display:block;font-size:15px;color:#8f8f8f;font-weight:300;margin-top:8px;}

/* ===================== 표 ===================== */
.dy-tbl{width:100%;border-top:2px solid #fff;border-collapse:collapse;}
.dy-tbl th,.dy-tbl td{border-bottom:1px solid var(--dy-line);padding:22px 26px;font-size:16px;text-align:left;}
.dy-tbl th{width:220px;font-weight:700;background:rgba(255,255,255,.035);color:#fff;}
.dy-tbl td{color:#c0c0c0;font-weight:300;}
.dy-tbl td b{color:var(--dy-blue-l);font-weight:700;}
.dy-tbl-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;
  margin-bottom:22px;letter-spacing:-.8px;color:#fff;}
.dy-tbl-title::before{content:'';width:5px;height:20px;background:var(--dy-blue);border-radius:2px;}

/* ===================== 연혁 ===================== */
.dy-hist-row{display:flex;gap:70px;padding:46px 0;border-bottom:1px solid var(--dy-line);}
.dy-hist-row:first-child{border-top:1px solid var(--dy-line);}
.dy-hist-year{width:200px;flex:none;font-size:48px;font-weight:800;font-style:italic;
  letter-spacing:-2px;line-height:1;color:#1c1c1c;transition:color .3s;}
.dy-hist-row:hover .dy-hist-year{color:var(--dy-blue);}
.dy-hist-list{margin:0;padding:0;}
.dy-hist-list li{position:relative;list-style:none;padding-left:20px;font-size:17px;color:#bfbfbf;
  font-weight:300;line-height:1.75;margin-bottom:13px;}
.dy-hist-list li:last-child{margin-bottom:0;}
.dy-hist-list li::before{content:'';position:absolute;left:0;top:12px;width:6px;height:6px;
  border-radius:50%;background:var(--dy-blue-l);}

/* ===================== 인증 ===================== */
.dy-cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.dy-cert{border-radius:16px;padding:30px 26px 34px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.11);transition:.3s;}
.dy-cert:hover{border-color:rgba(61,155,255,.55);transform:translateY(-5px);}
.dy-cert__img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;margin-bottom:20px;
  border:1px solid rgba(255,255,255,.14);opacity:.9;}
.dy-cert .k{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--dy-blue-l);}
.dy-cert h4{font-size:17px;font-weight:700;margin:10px 0 0;letter-spacing:-.5px;line-height:1.45;color:#fff;}
.dy-cert p{font-size:14px;color:#8f8f8f;font-weight:300;margin:8px 0 0;}

/* ===================== 제품 ===================== */
.dy-pd-hero{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/7;margin-bottom:20px;}
.dy-pd-hero img{width:100%;height:100%;object-fit:cover;}
.dy-pd-hero .cap{position:absolute;left:0;bottom:0;width:100%;padding:46px 50px;
  background:linear-gradient(0deg,rgba(0,0,0,.86),transparent);box-sizing:border-box;}
.dy-pd-hero .cap .lb{font-size:13px;font-weight:800;letter-spacing:4px;color:var(--dy-blue-l);}
.dy-pd-hero .cap h3{font-size:38px;font-weight:800;letter-spacing:-1.5px;margin:10px 0 0;color:#fff;}
.dy-pd-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.dy-pd-thumbs div{aspect-ratio:16/10;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);}
.dy-pd-thumbs img{width:100%;height:100%;object-fit:cover;opacity:.62;transition:opacity .3s;}
.dy-pd-thumbs div:hover img{opacity:1;}
.dy-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.dy-feat{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);}
.dy-feat__thumb{aspect-ratio:16/10;overflow:hidden;}
.dy-feat__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.dy-feat:hover .dy-feat__thumb img{transform:scale(1.05);}
.dy-feat__body{padding:30px 30px 34px;}
.dy-feat .no{font-size:13px;font-weight:800;letter-spacing:2px;color:var(--dy-blue-l);}
.dy-feat h4{font-size:22px;font-weight:800;margin:10px 0 0;letter-spacing:-.8px;color:#fff;}
.dy-feat p{font-size:16px;color:#a2a2a2;font-weight:300;line-height:1.8;margin:12px 0 0;}

/* ===================== 프로세스 ===================== */
.dy-proc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.dy-proc-item{position:relative;border-radius:20px;padding:42px 34px 46px;overflow:hidden;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);}
.dy-proc-item .step{font-size:13px;font-weight:800;letter-spacing:3px;color:var(--dy-blue-l);}
.dy-proc-item h4{font-size:23px;font-weight:800;margin:12px 0 0;letter-spacing:-1px;color:#fff;}
.dy-proc-item p{font-size:16px;color:#a2a2a2;font-weight:300;line-height:1.85;margin:12px 0 0;}
.dy-proc-item .bg-no{position:absolute;right:24px;bottom:8px;font-size:74px;font-weight:800;
  font-style:italic;color:rgba(255,255,255,.05);line-height:1;}

/* ===================== A/S 플로우 ===================== */
.dy-flow{display:flex;align-items:stretch;flex-wrap:wrap;}
.dy-flow-item{flex:1;min-width:200px;padding:36px 26px;text-align:center;border-radius:16px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);}
.dy-flow-item .n{width:44px;height:44px;margin:0 auto 16px;border-radius:50%;background:var(--dy-blue);
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff;}
.dy-flow-item h4{font-size:19px;font-weight:700;letter-spacing:-.5px;margin:0;color:#fff;}
.dy-flow-item p{font-size:15px;color:#9a9a9a;font-weight:300;line-height:1.7;margin:10px 0 0;}
.dy-flow-arw{display:flex;align-items:center;padding:0 12px;color:#3f3f3f;font-size:22px;}

/* ===================== 폼 ===================== */
.dy-form-wrap{width:100%;max-width:1080px;margin:0 auto;}
.dy-frow{display:flex;gap:22px;margin-bottom:22px;}
.dy-frow .dy-fld{flex:1;}
.dy-fld label{display:block;font-size:16px;font-weight:700;margin-bottom:12px;color:#fff;}
.dy-fld label i{color:var(--dy-blue-l);font-style:normal;margin-left:4px;}
.dy-fld input,.dy-fld select,.dy-fld textarea{
  width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:10px;color:#fff;font-size:16px;padding:0 20px;height:60px;outline:none;
  transition:border-color .2s;box-sizing:border-box;font-family:inherit;}
.dy-fld textarea{height:210px;padding:20px;resize:none;line-height:1.8;font-weight:300;}
.dy-fld input:focus,.dy-fld select:focus,.dy-fld textarea:focus{border-color:var(--dy-blue);}
.dy-fld input::placeholder,.dy-fld textarea::placeholder{color:#767676;}
.dy-fld select option{background:#111;}
.dy-agree-box{margin-top:18px;padding:28px 30px;border-radius:12px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);font-size:15px;color:#9a9a9a;font-weight:300;line-height:1.9;}
.dy-agree{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:15px;color:#cfcfcf;cursor:pointer;}
.dy-agree input{width:17px;height:17px;accent-color:var(--dy-blue);}
.dy-btn-submit{display:block;width:320px;margin:44px auto 0;height:68px;border:0;border-radius:10px;
  background:linear-gradient(90deg,var(--dy-blue),var(--dy-sky));color:#fff;font-size:19px;font-weight:700;
  cursor:pointer;transition:filter .2s;font-family:inherit;}
.dy-btn-submit:hover{filter:brightness(1.12);}

/* ===================== 지도 / 플레이스홀더 ===================== */
.dy-map-box{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.12);aspect-ratio:21/9;
  background:linear-gradient(140deg,#0c1626,#050810);position:relative;}
.dy-map-box iframe{width:100%;height:100%;border:0;filter:grayscale(.3) brightness(.85);display:block;}
.dy-badge-temp{position:absolute;left:18px;top:18px;z-index:2;padding:8px 15px;border-radius:6px;
  font-size:13px;font-weight:700;color:#e0b74a;background:rgba(0,0,0,.72);border:1px solid rgba(224,183,74,.4);}
.dy-photo-box{position:relative;border-radius:20px;overflow:hidden;min-height:300px;}
.dy-photo-box img{width:100%;height:100%;min-height:300px;object-fit:cover;}

/* ===================== CTA ===================== */
.dy-cta{padding:110px 0;text-align:center;
  background:radial-gradient(ellipse 60% 60% at 50% 50%,var(--dy-navy) 0%,#04080f 60%,#000 100%);
  border-top:1px solid var(--dy-line);}
.dy-cta h2{font-size:40px;font-weight:800;letter-spacing:-2px;line-height:1.35;margin:0;color:#fff;}
.dy-cta p{font-size:17px;color:#b0b0b0;font-weight:300;margin:22px 0 0;line-height:1.9;}
.dy-cta .tel{font-size:54px;font-weight:800;font-style:italic;letter-spacing:-2px;margin-top:30px;color:var(--dy-blue-l);}

/* ===================== 푸터 ===================== */
.v9_bom01-footer{
  background:#000 !important;padding:80px 0 !important;
  border-top:1px solid var(--dy-line) !important;color:#9a9a9a !important;
}
.dy-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;}
.dy-foot__brand{font-size:24px;font-weight:800;letter-spacing:-1px;margin-bottom:22px;color:#fff;}
.dy-foot__txt{font-size:15px;color:#9a9a9a;font-weight:300;line-height:2;margin:0;}
.dy-foot__txt .sep{margin:0 10px;color:#3f3f3f;}
.dy-foot__r{text-align:right;}
.dy-foot__links{display:flex;gap:24px;justify-content:flex-end;font-size:15px;color:#c0c0c0;
  margin:0 0 22px;padding:0;align-items:center;}
.dy-foot__links li{list-style:none;}
.dy-foot__yt{display:inline-flex;align-items:center;justify-content:center;width:44px;height:32px;
  border-radius:7px;background:#2a2a2a;color:#fff;font-size:13px;}
.dy-foot__copy{margin-top:20px;font-size:14px;color:#6f6f6f;font-weight:300;}
.to_top .d_btn{
  background:linear-gradient(135deg,var(--dy-sky),var(--dy-deep)) !important;
  border:0 !important;color:#fff !important;
}

/* ==================================================================
   게시판 (그누보드 스킨 다크 변환)
   ================================================================== */
#bo_list,#bo_gall,#bo_v,#bo_w,#bo_cate,.v9_bbs{color:#c0c0c0;}
.dy-board-wrap{padding:70px 0 120px;}
#bo_list,#bo_gall,#bo_v,#bo_w{width:100% !important;max-width:1640px;margin:0 auto;padding:0 40px;box-sizing:border-box;}
#bo_btn_top,.v9_bbs__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;flex-wrap:wrap;gap:14px;}
#bo_list_total,.v9_bbs__count{font-size:16px;color:#9a9a9a;font-weight:300;}
#bo_list_total span,.v9_bbs__count b{color:#fff;font-weight:700;}
.btn_bo_user{display:flex;gap:8px;margin:0;padding:0;}
.btn_bo_user li{list-style:none;}
.btn,.btn_b01,.btn_b02,.btn_admin,.btn_submit,.btn_cancel,.btn_confirm input[type=submit]{
  border-radius:8px !important;border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.05) !important;color:#cfcfcf !important;
  height:46px;line-height:44px;padding:0 18px !important;font-size:15px !important;
}
.btn_b01:hover,.btn:hover{border-color:var(--dy-blue) !important;color:#fff !important;}
.btn_submit,a.btn_submit,button.btn_submit,input.btn_submit{
  background:var(--dy-blue) !important;border-color:var(--dy-blue) !important;color:#fff !important;font-weight:700 !important;
}
.btn_submit:hover{background:var(--dy-blue-l) !important;}

/* 리스트 테이블 */
.tbl_head01{border-top:2px solid #fff !important;}
.tbl_head01 table,.tbl_wrap table{width:100%;border-collapse:collapse;}
.tbl_head01 thead th,.tbl_head01 th{
  background:rgba(255,255,255,.04) !important;color:#c0c0c0 !important;
  border-bottom:1px solid var(--dy-line) !important;padding:18px 0 !important;font-size:15px !important;font-weight:700 !important;
}
.tbl_head01 td,.tbl_head01 tbody th{
  background:transparent !important;color:#9a9a9a !important;
  border-bottom:1px solid var(--dy-line) !important;padding:20px 0 !important;font-size:16px !important;font-weight:300 !important;
}
.tbl_head01 tbody tr:hover td{background:rgba(26,111,224,.06) !important;}
.td_subject a,.bo_tit,#bo_list td.td_subject a{color:#e0e0e0 !important;}
.tbl_head01 tbody tr:hover .td_subject a,.bo_tit:hover{color:var(--dy-blue-l) !important;}
.bo_notice td,.bo_notice{background:rgba(26,111,224,.07) !important;}
.bo_notice .notice_icon,.bo_current{color:var(--dy-blue-l) !important;}
.new_icon,.icon_secret,.cnt_cmt{background:var(--dy-blue) !important;color:#fff !important;border-radius:4px;}

/* 갤러리 */
#bo_gall .gall_con li,#bo_gall li.gall_li,.v9_gal__item{
  background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.09) !important;
  border-radius:16px !important;overflow:hidden;transition:.3s;
}
#bo_gall .gall_con li:hover,.v9_gal__item:hover{border-color:rgba(61,155,255,.5) !important;transform:translateY(-6px);}
#bo_gall .gall_href,#bo_gall .gall_text_href a{color:#e0e0e0 !important;}
#bo_gall .gall_text_href a:hover{color:var(--dy-blue-l) !important;}
#bo_gall .gall_info,#bo_gall .gall_date{color:#767676 !important;}

/* 검색 / 페이징 */
#bo_sch,.bo_sch_wrap,.v9_bbs__search{background:transparent !important;}
#bo_sch select,#bo_sch input[type=text],.v9_bbs__search input,.v9_bbs__search select,
#bo_w input[type=text],#bo_w input[type=password],#bo_w textarea,#bo_w select,
.frm_input,.frm_file,textarea.frm_textarea{
  background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.13) !important;
  color:#fff !important;border-radius:8px !important;height:auto;min-height:48px;padding:0 16px !important;
}
textarea.frm_textarea,#bo_w textarea{padding:14px 16px !important;line-height:1.8;}
.frm_input::placeholder{color:#767676 !important;}
.pg_wrap{margin-top:60px;text-align:center;}
.pg_page,.pg_current,.pg_start,.pg_prev,.pg_next,.pg_end{
  display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;
  border-radius:8px !important;border:1px solid rgba(255,255,255,.1) !important;
  background:rgba(255,255,255,.04) !important;color:#9a9a9a !important;font-size:15px;margin:0 3px;
}
.pg_current{background:var(--dy-blue) !important;border-color:var(--dy-blue) !important;color:#fff !important;font-weight:700;}
.pg_page:hover{color:#fff !important;border-color:rgba(255,255,255,.35) !important;}

/* 글 보기 */
#bo_v{padding-top:0;}
#bo_v_title,#bo_v_title .bo_v_tit{color:#fff !important;font-size:30px !important;font-weight:800 !important;letter-spacing:-1px;}
#bo_v_info,#bo_v_info strong,#bo_v_info .sv_member{color:#8f8f8f !important;}
#bo_v_atc,#bo_v_con{color:#c0c0c0 !important;font-size:17px;line-height:1.95;}
#bo_v_con img{max-width:100%;height:auto;border-radius:10px;}
#bo_v_top,#bo_v_bot{border-color:var(--dy-line) !important;}
#bo_v_file li,#bo_v_link li{background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.1) !important;border-radius:8px;}
#bo_vc,#bo_vc h2,.bo_vc_w{color:#c0c0c0 !important;}
#bo_v_share,.bo_v_nb{border-color:var(--dy-line) !important;}
.bo_v_nb a{color:#9a9a9a !important;}

/* 글 쓰기 */
#bo_w .tbl_frm01 th{background:rgba(255,255,255,.04) !important;color:#fff !important;border-color:var(--dy-line) !important;}
#bo_w .tbl_frm01 td{background:transparent !important;color:#c0c0c0 !important;border-color:var(--dy-line) !important;}
.tbl_frm01 caption,.tbl_head01 caption{display:none;}

/* 기타 그누보드 공통 */
#captcha,#captcha_reload{filter:invert(.9);}
.cke_top,.cke_bottom{background:#111 !important;}
#bo_cate ul li a{background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.13) !important;
  color:#b0b0b0 !important;border-radius:999px !important;padding:10px 22px !important;}
#bo_cate ul li a:hover,#bo_cate #bo_cate_on{background:var(--dy-blue) !important;border-color:var(--dy-blue) !important;color:#fff !important;}

/* ==================================================================
   메인 페이지
   ================================================================== */
.dy-hero{position:relative;height:100vh;min-height:620px;overflow:hidden;display:flex;align-items:center;margin-top:0;}
.dy-hero__bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;}
.dy-hero::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55) 60%,rgba(0,0,0,.35));}
.dy-hero .dy-inner{position:relative;z-index:2;}
.dy-hero__eyebrow{font-size:15px;letter-spacing:5px;font-weight:800;font-style:italic;color:var(--dy-blue-l);}
.dy-hero h1{font-size:76px;font-weight:800;letter-spacing:-3px;line-height:1.18;margin:22px 0 0;color:#fff;}
.dy-hero h1 em{font-style:normal;color:var(--dy-blue-l);}
.dy-hero__brand{font-size:26px;font-weight:700;color:#c4c4c4;margin-top:26px;letter-spacing:-.5px;}
.dy-hero__note{position:absolute;right:40px;bottom:44px;z-index:2;font-size:13px;color:#6f6f6f;font-weight:300;}
.dy-hero__scroll{position:absolute;left:50%;bottom:34px;z-index:2;transform:translateX(-50%);
  font-size:12px;letter-spacing:3px;color:#8f8f8f;}

.dy-split{display:grid;grid-template-columns:1fr 1fr;}
.dy-split a{position:relative;height:620px;display:flex;align-items:flex-end;overflow:hidden;}
.dy-split__bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;transition:transform .6s;}
.dy-split a::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.2));transition:background .4s;}
.dy-split a:hover .dy-split__bg{transform:scale(1.06);}
.dy-split a:hover::after{background:linear-gradient(0deg,rgba(10,63,143,.9),rgba(26,111,224,.35));}
.dy-split__tx{position:relative;z-index:2;padding:0 60px 66px;width:100%;box-sizing:border-box;}
.dy-split__tx h3{font-size:38px;font-weight:800;letter-spacing:-1.5px;margin:0;color:#fff;}
.dy-split__tx p{font-size:16px;color:#c4c4c4;font-weight:300;margin:14px 0 0;line-height:1.8;}
.dy-split__more{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-size:15px;
  font-weight:700;color:var(--dy-blue-l);}
.dy-split a:hover .dy-split__more{color:#fff;}

.dy-counter{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.dy-cnt{text-align:center;padding:52px 30px 56px;border-radius:20px;background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);}
.dy-cnt .ico{width:56px;height:56px;margin:0 auto 20px;border-radius:16px;
  background:linear-gradient(140deg,var(--dy-sky),var(--dy-deep));display:flex;align-items:center;
  justify-content:center;font-size:24px;color:#fff;}
.dy-cnt .n{font-size:52px;font-weight:800;font-style:italic;letter-spacing:-2px;color:var(--dy-blue-l);}
.dy-cnt .k{font-size:17px;color:#c0c0c0;font-weight:400;margin-top:12px;}
.dy-btn-more{display:inline-flex;align-items:center;gap:12px;margin-top:50px;padding:17px 40px;
  border:1px solid rgba(255,255,255,.35);border-radius:8px;font-size:16px;font-weight:600;transition:.25s;color:#fff;}
.dy-btn-more:hover{background:var(--dy-blue);border-color:var(--dy-blue);color:#fff;}
.dy-btn-line{display:inline-flex;align-items:center;gap:14px;margin-top:34px;padding:16px 36px;
  border:1px solid rgba(255,255,255,.35);border-radius:8px;font-size:16px;font-weight:600;transition:.25s;color:#fff;}
.dy-btn-line:hover{background:var(--dy-blue);border-color:var(--dy-blue);}

.dy-slide-wrap{overflow:hidden;}
.dy-slide-track{display:flex;gap:24px;width:max-content;animation:dyroll 46s linear infinite;}
.dy-slide-wrap:hover .dy-slide-track{animation-play-state:paused;}
@keyframes dyroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.dy-slide-card{width:420px;flex:none;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);}
.dy-slide-card__thumb{aspect-ratio:16/11;background-position:center;background-size:cover;transition:transform .5s;}
.dy-slide-card:hover .dy-slide-card__thumb{transform:scale(1.04);}
.dy-slide-card__body{padding:24px 26px 28px;}
.dy-slide-card .cat{font-size:13px;font-weight:700;color:var(--dy-blue-l);}
.dy-slide-card h4{font-size:19px;font-weight:700;margin:8px 0 0;letter-spacing:-.5px;color:#fff;}

.dy-bot{display:flex;gap:24px;align-items:stretch;flex-wrap:wrap;}
.dy-bot__notice{flex:1.4;min-width:340px;padding:44px 42px;border-radius:20px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);box-sizing:border-box;}
.dy-bot__hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;}
.dy-bot__hd h3{font-size:24px;font-weight:800;letter-spacing:-1px;margin:0;color:#fff;}
.dy-bot__hd a{font-size:14px;color:#8f8f8f;}
.dy-bot__notice ul{margin:0;padding:0;}
.dy-bot__notice li{border-top:1px solid rgba(255,255,255,.09);list-style:none;}
.dy-bot__notice li a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:16px;
  color:#c4c4c4;font-weight:300;transition:color .2s;}
.dy-bot__notice li a:hover{color:var(--dy-blue-l);}
.dy-bot__notice li .d{color:#6f6f6f;font-size:14px;flex:none;}
.dy-bot__info{flex:1;min-width:300px;padding:44px 42px;border-radius:20px;box-sizing:border-box;
  background:radial-gradient(ellipse at 30% 20%,var(--dy-navy),#04080f 70%);border:1px solid rgba(255,255,255,.1);}
.dy-bot__info .k{font-size:12px;font-weight:800;letter-spacing:3px;color:var(--dy-blue-l);}
.dy-bot__info .tel{font-size:40px;font-weight:800;font-style:italic;letter-spacing:-2px;margin-top:10px;color:#fff;}
.dy-bot__info .addr{margin-top:34px;font-size:16px;color:#c0c0c0;font-weight:300;line-height:1.8;}


/* ==================================================================
   [충돌 정리] 기본 테마(v9_bom01_theme.css / _v9_override.css) 잔재 무력화
   ================================================================== */
/* 본문 래퍼가 흰 배경 + 회색 글자로 강제되던 것을 해제 */
.v9_bom01-wrap{
  background:transparent !important;
  color:#ffffff !important;
  max-width:none !important;width:100% !important;
}
#content.v9_bom01-wrap{float:none !important;margin:0 !important;min-height:0 !important;}
.v9_bom01-sub-main{min-height:0 !important;}

/* 전체메뉴 버튼이 라이트 테마 테두리로 남던 것을 정리 */
.v9_bom01-header__menu-btn{
  height:auto !important;min-width:0 !important;border-radius:0 !important;
  padding:6px 0 !important;background:none !important;border:0 !important;color:#fff !important;
}
.v9_bom01-header__menu-btn:hover{background:none !important;color:var(--dy-blue-l) !important;}
.v9_bom01-header__menu-btn i{font-size:22px;}

/* 기본 테마의 게시판 상단 여백(중복) 해제 — .dy-board-wrap 이 대신 담당 */
body.gju-board-page #bo_list,
body.gju-board-page #bo_view,
body.gju-board-page #bo_w{padding-top:0 !important;padding-bottom:0 !important;}

/* 푸터 하단 카피라이트 — 항상 보이도록 고정 */
.dy-foot__copy{display:block !important;color:#6f6f6f !important;}
.dy-foot__r .dy-foot__links a{color:#c0c0c0 !important;}
.dy-foot__r .dy-foot__links a:hover{color:#fff !important;}

/* 봄봄 테마 잔재 컴포넌트 숨김 (혹시 출력될 경우 대비) */
.v9_bom01-tnb,.v9_bom01-copybar,.v9_bom01-footer__top,
.v9_bom01-footer__bottom,.v9_bom01-flogo{display:none !important;}
.dy-foot{display:flex !important;}
.dy-foot__links{display:flex !important;}
.dy-foot__l,.dy-foot__r,.dy-foot__brand,.dy-foot__txt,.dy-foot__copy{display:block !important;}
.dy-foot__yt{display:inline-flex !important;}

/* ==================================================================
   반응형
   ================================================================== */
@media (max-width:1500px){
  .v9_bom01-gnb__link{padding:0 26px !important;font-size:18px !important;}
}
@media (max-width:1279px){
  :root{--dy-head-h:88px;}
  .v9_bom01-container,.dy-inner{padding:0 24px !important;}
  .v9_bom01-header__inner{height:88px;}
  .v9_bom01-gnb,.dy-hd-tel{display:none !important;}
  .dy-logo{font-size:22px;}
  .dy-logo__mark{width:34px;height:34px;font-size:18px;}
  .v9_bom01-subvisual{margin-top:88px;height:320px;}
  .v9_bom01-subvisual__line1{font-size:38px !important;}
  .v9_bom01-subvisual__line2{font-size:16px !important;}
  .dy-subtab{top:88px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .dy-subtab::-webkit-scrollbar{display:none;}
  .dy-subtab ul{justify-content:flex-start;min-width:max-content;padding:0 14px;}
  .dy-subtab a{padding:0 26px;line-height:62px;font-size:16px;}
  .dy-ptitle{padding:64px 0 0;}
  .dy-ptitle h2{font-size:31px;}
  .dy-sec{padding:64px 0 90px;}
  .dy-sec--tight{padding:52px 0 74px;}
  .dy-head{margin-bottom:44px;}
  .dy-title{font-size:28px;}
  .dy-divider{margin:64px 0;}
  .dy-greet-lead{font-size:26px;}
  .dy-greet-img{margin:40px 0;aspect-ratio:16/9;}
  .dy-hist-row{flex-direction:column;gap:18px;padding:36px 0;}
  .dy-hist-year{width:auto;font-size:42px;color:var(--dy-blue);}
  .dy-cert-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
  .dy-info-grid,.dy-proc{grid-template-columns:repeat(2,1fr);gap:16px;}
  .dy-pd-hero .cap{padding:32px 30px;}
  .dy-pd-hero .cap h3{font-size:28px;}
  .dy-cta{padding:80px 0;}
  .dy-cta h2{font-size:30px;}
  .dy-cta .tel{font-size:40px;}
  .dy-hero{height:76vh;min-height:520px;}
  .dy-hero h1{font-size:48px;letter-spacing:-2px;}
  .dy-hero__brand{font-size:21px;}
  .dy-split a{height:440px;}
  .dy-split__tx{padding:0 36px 44px;}
  .dy-split__tx h3{font-size:29px;}
  .dy-counter{gap:16px;margin-top:40px;}
  .dy-cnt{padding:38px 20px 42px;}
  .dy-cnt .n{font-size:40px;}
  .dy-slide-card{width:320px;}
  .dy-foot{flex-direction:column;gap:34px;}
  .dy-foot__r{text-align:left;}
  .dy-foot__links{justify-content:flex-start;}
  #bo_list,#bo_gall,#bo_v,#bo_w{padding:0 24px;}
}
@media (max-width:900px){
  :root{--dy-head-h:72px;}
  .v9_bom01-header__inner{height:72px;}
  .v9_bom01-subvisual{margin-top:72px;height:260px;}
  .v9_bom01-subvisual__line1{font-size:29px !important;}
  .v9_bom01-subvisual__label{font-size:14px !important;letter-spacing:3px;}
  .dy-subtab{top:72px;}
  .dy-ptitle{padding:50px 0 0;}
  .dy-ptitle h2{font-size:25px;}
  .dy-sec{padding:48px 0 68px;}
  .dy-sec--tight{padding:40px 0 58px;}
  .dy-head{margin-bottom:36px;}
  .dy-title{font-size:23px;}
  .dy-desc{font-size:16px;}
  .dy-divider{margin:48px 0;}
  .dy-greet-lead{font-size:21px;}
  .dy-greet-body p{font-size:16px;margin-top:20px;}
  .dy-sign{margin-top:36px;}
  .dy-sign b{font-size:22px;}
  .dy-tbl,.dy-tbl tbody,.dy-tbl tr,.dy-tbl th,.dy-tbl td{display:block;width:100%;box-sizing:border-box;}
  .dy-tbl tr{border-bottom:1px solid var(--dy-line);padding:16px 0;}
  .dy-tbl th{background:none;padding:0 0 6px;font-size:14px;color:var(--dy-blue-l);border:0;}
  .dy-tbl td{padding:0;font-size:16px;line-height:1.7;border:0;}
  .dy-hist-year{font-size:34px;}
  .dy-cert-grid{grid-template-columns:repeat(2,1fr);}
  .dy-info-grid,.dy-proc,.dy-feat-grid{grid-template-columns:1fr;gap:14px;}
  .dy-pd-thumbs{grid-template-columns:repeat(2,1fr);}
  .dy-pd-hero{aspect-ratio:4/3;}
  .dy-pd-hero .cap h3{font-size:23px;}
  .dy-flow{flex-direction:column;gap:12px;}
  .dy-flow-arw{display:none;}
  .dy-frow{flex-direction:column;gap:0;margin-bottom:0;}
  .dy-frow .dy-fld{margin-bottom:18px;}
  .dy-fld input,.dy-fld select{height:56px;}
  .dy-fld textarea{height:170px;}
  .dy-btn-submit{width:100%;height:62px;font-size:18px;}
  .dy-map-box{aspect-ratio:4/3;}
  .dy-cta{padding:60px 0;}
  .dy-cta h2{font-size:23px;letter-spacing:-1px;}
  .dy-cta .tel{font-size:32px;}
  .dy-hero{height:66vh;min-height:440px;}
  .dy-hero h1{font-size:34px;}
  .dy-hero__brand{font-size:18px;margin-top:18px;}
  .dy-hero__note{right:20px;bottom:26px;}
  .dy-split{grid-template-columns:1fr;}
  .dy-split a{height:330px;}
  .dy-split__tx{padding:0 24px 34px;}
  .dy-split__tx h3{font-size:25px;}
  .dy-counter{grid-template-columns:1fr;}
  .dy-cnt .n{font-size:36px;}
  .dy-btn-more{margin-top:34px;padding:15px 30px;font-size:15px;}
  .dy-slide-card{width:265px;}
  .dy-bot__notice,.dy-bot__info{padding:32px 26px;}
  .dy-bot__info .tel{font-size:31px;}
  .v9_bom01-footer{padding:56px 0 !important;}
  .dy-foot__txt{font-size:14px;}
  #bo_list,#bo_gall,#bo_v,#bo_w{padding:0 20px;}
  .tbl_head01 thead{display:none;}
  #bo_v_title,#bo_v_title .bo_v_tit{font-size:22px !important;}
}
@media (max-width:480px){
  .v9_bom01-container,.dy-inner{padding:0 20px !important;}
  .v9_bom01-subvisual{height:230px;}
  .v9_bom01-subvisual__line1{font-size:24px !important;}
  .dy-ptitle h2{font-size:22px;}
  .dy-title{font-size:21px;}
  .dy-cert-grid{grid-template-columns:1fr;}
  .dy-subtab a{padding:0 18px;line-height:56px;font-size:15px;}
  .dy-hero h1{font-size:28px;}
  .dy-split a{height:280px;}
  .dy-cta h2{font-size:20px;}
  .dy-cta .tel{font-size:28px;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
}


/* ===================== [추가] 기능 체크리스트 ===================== */
.dy-chk{display:grid;grid-template-columns:repeat(2,1fr);gap:13px 34px;margin:0;padding:0;list-style:none;}
.dy-chk li{position:relative;padding-left:26px;font-size:16px;line-height:1.65;color:#d6d6d6;font-weight:300;}
.dy-chk li::before{content:'';position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:2px;background:var(--dy-blue);}

/* ===================== [추가] 조직도 ===================== */
.dy-org{text-align:center;}
.dy-org__top{display:inline-flex;flex-direction:column;gap:5px;padding:22px 60px;border-radius:14px;
  background:linear-gradient(140deg,var(--dy-blue-l),var(--dy-deep));font-size:22px;font-weight:800;color:#fff;}
.dy-org__top span{font-size:13px;font-weight:400;opacity:.88;}
.dy-org__badge{display:inline-block;margin-top:16px;padding:7px 20px;border-radius:999px;
  border:1px solid rgba(255,255,255,.2);font-size:14px;color:#a2a2a2;}
.dy-org__stem{width:2px;height:44px;margin:6px auto 0;background:rgba(255,255,255,.2);}
.dy-org__row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:20px;}
.dy-org__team{border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.045);
  padding:26px 12px;transition:border-color .25s,background .25s;}
.dy-org__team:hover{border-color:var(--dy-blue);background:rgba(26,111,224,.08);}
.dy-org__team h4{font-size:18px;font-weight:700;margin:0 0 12px;color:#fff;}
.dy-org__team h4::before{content:'';display:block;width:32px;height:3px;margin:0 auto 12px;background:var(--dy-blue);border-radius:2px;}
.dy-org__team ul{list-style:none;margin:0;padding:0;}
.dy-org__team li{font-size:14px;font-weight:300;color:#a2a2a2;line-height:2;}

@media (max-width:1100px){
  .dy-org__row{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:768px){
  .dy-chk{grid-template-columns:1fr;}
  .dy-org__top{padding:20px 34px;font-size:19px;}
  .dy-org__row{grid-template-columns:repeat(2,1fr);}
}


/* ===================== [추가] 메인 최근게시물 탭 ===================== */
.dy-ntab{display:flex;gap:8px;}
.dy-ntab button{border:0;background:none;padding:0 0 4px;margin:0;cursor:pointer;font-family:inherit;
  font-size:24px;font-weight:800;letter-spacing:-1px;color:#5c6470;transition:color .2s;position:relative;}
.dy-ntab button + button{margin-left:14px;}
.dy-ntab button + button::before{content:'';position:absolute;left:-15px;top:8px;width:1px;height:20px;background:rgba(255,255,255,.16);}
.dy-ntab button.is-active{color:#fff;}
.dy-ntab button.is-active::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:3px;background:var(--dy-blue);border-radius:2px;}
.dy-ntab-more{font-size:14px;color:#8f8f8f;}
.dy-bot__notice .dy-ntc-ca{color:var(--dy-blue-l);font-weight:600;margin-right:4px;}
.dy-bot__notice .dy-ntc-new{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:4px;
  background:var(--dy-blue);color:#fff;font-size:11px;font-weight:700;font-style:normal;vertical-align:2px;}
.dy-bot__notice li a > span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}

@media (max-width:768px){
  .dy-ntab button{font-size:19px;}
  .dy-bot__notice li a{flex-wrap:wrap;gap:4px;}
  .dy-bot__notice li a > span:first-child{white-space:normal;}
}


/* ===================== [추가] 4칸 카운터 · 지표 스트립 ===================== */
.dy-counter--4{grid-template-columns:repeat(4,1fr);}
.dy-stat{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;}
.dy-stat__i{flex:1 1 168px;max-width:230px;padding:20px 16px;border-radius:14px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);
  transition:border-color .35s,background-color .35s,transform .45s cubic-bezier(.16,1,.3,1);}
.dy-stat__i:hover{border-color:rgba(61,155,255,.5);background:rgba(26,111,224,.09);transform:translateY(-5px);}
.dy-stat__i b{display:block;font-size:21px;font-weight:800;letter-spacing:-1px;color:#fff;}
.dy-stat__i span{display:block;margin-top:7px;font-size:13px;font-weight:300;color:#8f8f8f;line-height:1.6;}

@media (max-width:1100px){
  .dy-counter--4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .dy-counter--4{grid-template-columns:1fr;}
  .dy-stat__i{flex:1 1 100%;max-width:none;}
  .dy-stat__i b{font-size:19px;}
}

/* ===================================================================
   [추가] 로고 이미지  imgs/logo_white.png · imgs/logo_blue.png
   -------------------------------------------------------------------
   · 기본(어두운 배경) = 흰색 로고
   · 밝은 배경에서는 부모에 .is-light 를 붙이면 블루 로고로 바뀝니다.
       예) <header class="v9_bom01-header is-light"> …
   · 인쇄 시에는 자동으로 블루 로고가 나갑니다.
   · 로고 크기를 바꾸려면 .dy-logo__img 의 height 값만 조정하세요.
   =================================================================== */
.dy-logo{gap:0 !important;}
.dy-logo__img{
  display:block;height:65px;width:auto;
  transition:opacity .25s, transform .35s cubic-bezier(.16,1,.3,1);
}
.dy-logo:hover .dy-logo__img{transform:translateY(-2px);}
.dy-logo__img--blue{display:none;}
.dy-logo__txt{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.is-light .dy-logo__img--white,
.dy-logo--light .dy-logo__img--white{display:none;}
.is-light .dy-logo__img--blue,
.dy-logo--light .dy-logo__img--blue{display:block;}

.v9_sitemap__logo{display:flex;align-items:center;}
.v9_sitemap__logo .dy-logo__img{height:32px;}
.v9_sitemap__logo .dy-logo__img--blue{display:none;}

.dy-foot__brand{display:flex;align-items:center;}
.dy-foot__logo{display:block;height:30px;width:auto;opacity:.95;}

.dy-logo__mark{display:none !important;}

@media (max-width:1200px){ .dy-logo__img{height:30px;} }
@media (max-width:768px){
  .dy-logo__img{height:26px;}
  .v9_sitemap__logo .dy-logo__img{height:26px;}
  .dy-foot__logo{height:26px;}
}
@media print{
  .dy-logo__img--white{display:none !important;}
  .dy-logo__img--blue{display:block !important;}
}


/* ==================================================================
   [2026.09 수정] 추가 스타일
   ① .dy-figure       : 시스템 소개 등 전폭 이미지 블록
   ② .dy-quick        : 상담/문의 상시표기 플로팅 버튼
   ================================================================== */

/* ── ① 전폭 이미지 블록 / 자료형 표 ─────────────── */
.dy-figure{
  margin:0 0 10px;
  padding:26px;
  background:#0d0d0d;
  border:1px solid var(--dy-line);
  border-radius:14px;
  text-align:center;
  overflow:hidden;
}
.dy-figure img{
  display:block;
  width:100%;
  max-width:900px;
  height:auto;
  margin:0 auto;
  border-radius:8px;
  background:#fff;
}
.dy-figure__cap{
  margin:16px 0 0;
  font-size:14px;
  color:var(--dy-gray);
  font-weight:300;
  letter-spacing:-.3px;
}
@media (max-width:768px){
  .dy-figure{padding:14px;border-radius:10px;}
}

/* ── ② 상담/문의 상시표기 퀵버튼 ─────────────────
   PC : 우측 중앙 세로 고정 / 모바일 : 화면 하단 고정 바
   ------------------------------------------------ */
.dy-quick{
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  z-index:900;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.dy-quick__btn{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:76px;
  height:76px;
  border-radius:16px;
  text-decoration:none;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:-.5px;
  line-height:1;
  box-shadow:0 10px 26px rgba(0,0,0,.45);
  transition:transform .25s, box-shadow .25s, background .25s;
}
.dy-quick__btn i{font-size:20px;}
.dy-quick__btn--tel{
  background:linear-gradient(140deg, var(--dy-blue-l) 0%, var(--dy-blue) 60%, var(--dy-deep) 100%);
}
.dy-quick__btn--ask{
  background:#141414;
  border:1px solid #2c2c2c;
  color:#e8e8e8;
}
.dy-quick__btn:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(26,111,224,.45);
  color:#fff;
}
.dy-quick__btn--ask:hover{background:#1d1d1d;}

/* 전화번호 말풍선 (PC 에서 마우스 오버 시 좌측에 노출) */
.dy-quick__tip{
  position:absolute;
  right:88px;
  top:22px;
  white-space:nowrap;
  background:#fff;
  color:#111;
  font-size:14px;
  font-weight:800;
  letter-spacing:-.4px;
  padding:9px 14px;
  border-radius:8px;
  opacity:0;
  visibility:hidden;
  transform:translateX(8px);
  transition:.25s;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  pointer-events:none;
}
.dy-quick__btn--tel:hover ~ .dy-quick__tip{opacity:1;visibility:visible;transform:translateX(0);}

@media (max-width:1400px){
  .dy-quick{right:12px;}
  .dy-quick__btn{width:66px;height:66px;border-radius:14px;font-size:11px;}
  .dy-quick__btn i{font-size:18px;}
  .dy-quick__tip{right:78px;top:18px;}
}
/* 태블릿 이하 : 본문을 가리지 않도록 하단 고정 바로 전환 */
@media (max-width:1024px){
  .dy-quick{
    top:auto;bottom:0;left:0;right:0;
    transform:none;
    flex-direction:row;
    gap:0;
    box-shadow:0 -6px 22px rgba(0,0,0,.5);
  }
  .dy-quick__btn{
    flex:1 1 50%;
    width:auto;height:58px;
    flex-direction:row;gap:8px;
    border-radius:0;border:0;
    font-size:15px;
    box-shadow:none;
  }
  .dy-quick__btn i{font-size:17px;}
  .dy-quick__btn:hover{transform:none;box-shadow:none;}
  .dy-quick__btn--ask{background:#171717;border-left:1px solid #2c2c2c;}
  .dy-quick__tip{display:none;}
  /* 하단 바에 가리지 않도록 여백 확보 + 플로팅 버튼 위로 이동 */
  .v9_bom01-footer{padding-bottom:82px !important;}
  .dy-top{bottom:76px !important;}
  .to_top{bottom:9rem !important;}
}
@media (max-width:480px){
  .dy-quick__btn{height:54px;font-size:14px;}
}

/* ── ④ 시스템 소개 페이지 전용 보강 ─────────────── */
.dy-figure--wide img{max-width:1200px;}
.dy-figure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}

/* 카드 안에서 1단으로 떨어지는 체크 리스트 */
.dy-chk--col1{grid-template-columns:1fr !important;gap:11px !important;}
.dy-proc-item .dy-chk{margin-top:18px;}
.dy-feat__body .dy-chk{margin-top:16px;}
.dy-feat__note{
  margin:18px 0 0;padding-top:15px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:13px;line-height:1.75;color:#8a8a8a;font-weight:300;
}

/* 주요 장치 3분할 */
.dy-feat-grid--3{grid-template-columns:repeat(3,1fr);}

/* ── ⑤ 수치 자료형 표 (시험결과 · 성분분석) ───────
   테마 기본 .dy-tbl 은 900px 이하에서 th/td 가 세로로 쌓이도록
   display:block 처리됩니다. 열이 3개 이상인 자료형 표는 그렇게 되면
   의미가 깨지므로, 아래에서 표 형태를 그대로 유지시키고
   폭이 모자랄 때만 가로 스크롤로 처리합니다.
   ------------------------------------------------ */
.dy-tbl-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.dy-tbl--data{width:100%;min-width:520px;}
.dy-tbl--data th{width:auto;text-align:center;white-space:nowrap;}
.dy-tbl--data td{text-align:center;color:#c9c9c9;white-space:nowrap;}
.dy-tbl--data thead th{background:rgba(26,111,224,.20);color:#fff;font-size:15px;}
.dy-tbl--data tbody tr:first-child td{color:#9a9a9a;}
.dy-tbl--data .hit{color:var(--dy-blue-l);font-weight:700;}
.dy-tbl--data .pass{color:#5fd08a;font-weight:700;}
.dy-tbl-note{
  margin:14px 0 0;padding:0;list-style:none;
  font-size:13px;line-height:1.85;color:#8a8a8a;font-weight:300;
}

@media (max-width:1200px){
  .dy-feat-grid--3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .dy-feat-grid--3{grid-template-columns:1fr;}
  .dy-figure-grid{grid-template-columns:1fr;}
  .dy-proc{grid-template-columns:1fr;}
  /* 자료형 표는 세로 분해하지 않고 표 형태 유지 */
  .dy-tbl--data,
  .dy-tbl--data thead,
  .dy-tbl--data tbody,
  .dy-tbl--data tr,
  .dy-tbl--data th,
  .dy-tbl--data td{box-sizing:border-box;}
  .dy-tbl--data{display:table;width:100%;}
  .dy-tbl--data thead{display:table-header-group;}
  .dy-tbl--data tbody{display:table-row-group;}
  .dy-tbl--data tr{display:table-row;padding:0;border:0;}
  .dy-tbl--data th,
  .dy-tbl--data td{
    display:table-cell;width:auto;
    padding:14px 12px;font-size:14px;
    border-bottom:1px solid var(--dy-line);
  }
  .dy-tbl--data th{
    background:rgba(255,255,255,.035);color:#fff;font-weight:700;
  }
  .dy-tbl--data thead th{background:rgba(26,111,224,.20);font-size:14px;}
  .dy-tbl--data td{color:#c9c9c9;}
  .dy-tbl--data .hit{color:var(--dy-blue-l);}
  .dy-tbl--data .pass{color:#5fd08a;}
}
@media (max-width:560px){
  /* 좁은 화면에서는 가로 스크롤 대신 셀 안에서 줄바꿈되도록 전환 */
  .dy-tbl--data{min-width:0;}
  .dy-tbl--data th,
  .dy-tbl--data td{white-space:normal;word-break:keep-all;padding:11px 6px;font-size:13px;line-height:1.5;}
  .dy-tbl--data thead th{font-size:13px;}
  .dy-figure{padding:12px;}
  .dy-tbl-note{font-size:12px;}
}

/* ── ⑥ GNB 7개 대메뉴 대응 (음식물처리 시스템 추가) ──
   1280px 이하에서는 테마 기본값대로 GNB 가 숨겨지고
   전체메뉴(햄버거)로 전환되므로 그 위 구간만 조정합니다.
   ------------------------------------------------ */
.v9_bom01-header .v9_bom01-gnb__list > .v9_bom01-gnb__item > .v9_bom01-gnb__link{
  padding:0 22px !important;
  font-size:18px !important;
}
@media (max-width:1600px){
  .v9_bom01-header .v9_bom01-gnb__list > .v9_bom01-gnb__item > .v9_bom01-gnb__link{
    padding:0 16px !important;font-size:17px !important;
  }
}
@media (max-width:1440px){
  .v9_bom01-header .v9_bom01-gnb__list > .v9_bom01-gnb__item > .v9_bom01-gnb__link{
    padding:0 11px !important;font-size:16px !important;
  }
  .dy-hd-tel{display:none !important;}
}

/* ==================================================================
   [2026.09] 반응형 안전장치 — 어떤 문구 길이에서도 레이아웃이
   깨지지 않도록 고정 높이를 최소 높이로 전환하고 넘침을 막습니다.
   ================================================================== */

/* ① 서브비주얼 : 고정 height → min-height + 상하 여백
      (문구가 길어지면 영역이 함께 늘어나 breadcrumb 이 잘리지 않습니다) */
.v9_bom01-subvisual{
  height:auto !important;
  min-height:420px;
  padding:44px 0;
  box-sizing:border-box;
}
.v9_bom01-subvisual__inner{width:100%;}
.v9_bom01-subvisual__line2{line-height:1.6;}
.v9_bom01-subvisual__crumb{flex-wrap:wrap;row-gap:6px;}

@media (max-width:1279px){
  .v9_bom01-subvisual{min-height:320px;padding:36px 0;}
}
@media (max-width:900px){
  .v9_bom01-subvisual{min-height:250px;padding:30px 0;}
  .v9_bom01-subvisual__line2{font-size:15px !important;margin-top:14px;}
  .v9_bom01-subvisual__crumb{margin-top:16px;font-size:13px;gap:7px;}
}
@media (max-width:480px){
  .v9_bom01-subvisual{min-height:220px;padding:26px 0;}
  .v9_bom01-subvisual__label{margin-bottom:10px;}
  .v9_bom01-subvisual__line2{font-size:14px !important;}
  .v9_bom01-subvisual__crumb{font-size:12px;}
}

/* ② 이미지·표·긴 문자열 넘침 방지 */
.v9_bom01-wrap img{max-width:100%;}
.dy-tbl{table-layout:auto;}
.dy-tbl th,.dy-tbl td{word-break:keep-all;overflow-wrap:anywhere;}
.dy-figure img{max-width:100%;}

/* ③ 각주 리스트 들여쓰기 */
.dy-tbl-note li{padding-left:12px;text-indent:-12px;}
