*{margin:0;padding:0;box-sizing:border-box; text-transform: capitalize;}
a {
    text-decoration: none;
    color: inherit;
}
li{list-style: none;}
:root{
  --g1:#f5af29;--g2:#f04894;--g3:#9445c4;--g4:#606ae3;--g5:#FEE500;
  --grad:linear-gradient(135deg, #f5af29 0%, #f04894 45%, #9445c4 75%, #606ae3 100%);
  --grad-h:linear-gradient(90deg,#f5af29,#f04894,#9445c4);
  --bg:#fff;--bg2:#FAFAFA;--bg3:#F5F5F5;
  --text:#1A1A2E;--muted:#737373;
  --border:#e5e5e5;
  /* --font:'Noto Sans KR',sans-serif; */
  --mono:'DM Mono',monospace;
}
body{background:var(--bg);color:var(--text);overflow-x:hidden;font-size:15px;line-height:1.6; word-break: keep-all;}

footer > .wrap,
section > .wrap {
    width: 100%;
    max-width: 1360px;
    margin: 0px auto;
    /* padding: 0px 40px; */
}

/* ── NAV ── */
header{
  position:sticky;
  top:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 80px;
  height:90px;
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}

/* .nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
} */
.nav-logo {
    display: flex;
    align-items: center;
    gap: 11px;
    height: 100%;
    /* margin-right:auto; */
}
img[src="/img/logo/logo_dhn_y2.png"] {width:240px;}
.nav-logo img{
     max-height: 65%;
}

nav {
    flex: 1;
    display: flex;
    gap: 0.5vw;
    margin: 0 3vw;
}
nav a {
    font-size: 18px;
    font-weight: 500;
    color: var(--text);
    transition: color .2s;
    padding: 10px 30px;
    /* border-bottom: 2px solid transparent; */
}

.nav-item {
    position: relative;
}
.nav-item.nav_gap {
    margin-left:auto;
}

.nav-item:hover .submenu {
    max-height: max-content;
    padding: 20px 0 10px;
    opacity: 1;
}
.nav-item .submenu {
    margin: 0px 0 0;
    position: absolute;
    top: 100%; /* 메인 메뉴 바로 아래 위치 */
    left: 50%;
    max-height: 0;
    transform: translateX(-50%);
    width: max-content;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 15px,  /* 완전 투명한 흰색 */
        rgba(255, 255, 255, 1) 20px   /* 불투명한 순수 흰색 */
    );
    box-shadow: 0 10px 10px rgba(100, 100, 100, .2);
    border-radius: 0 0 20px 20px;
    /* border-bottom: 1px solid var(--border); */
    border-top:0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, padding 0.3s ease;
    opacity: 0;
    z-index: 999;
}

.nav-item .submenu li a {
    /* border-left: 1px solid var(--border);
    border-right: 1px solid var(--border); */
}
.nav-item .submenu li a:last-of-type {
    /* border-radius: 5px; */
}
.nav-item .submenu li a {
    display: block;
    min-width: 160px;
    margin:5px 10px;
    padding: 6px 20px;
    border-radius: 999px;
    text-decoration: none;
    color: #666;
    font-size: 16px;
    text-align: center;
    transition: background 0.2s;
}

.nav-item .submenu li a:hover {
    background: var(--grad-h);
    color: #fff;
}

.main-link {
    display: block;
    text-decoration: none;
    line-height: 1;
    color: #333;
    font-weight: bold;
}
.main-link:hover {
    /* color: #; */
    background: #eee;
    border-radius: 999px;
}

.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 6px;
    cursor: pointer;
    background: none;
    border: none;
}
.hamburger.open {
    display: flex;
}
.hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--g3);
    border-radius: 2px;
    transition: all .3s;
}
.mobile-nav {
    display: none;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    width: 90vw;
    height: 100%;
    background: #111111cc;
    overflow-y: auto;
    z-index: 9;
}
.mobile-nav.open { display: flex; }
.mobile-nav button.btn_close{
    position: fixed;
    top: 15px;
    right: 15px;
    background: transparent;
    border: none;
    filter: invert();
}
.mobile-nav button.btn_close img{width: 40px;}


body:has(.mobile-nav.open) {overflow: hidden;}

.mobile-nav .mobile-cta {
    display: flex;
    flex-direction: column;
    gap:10px;
    margin: 20px 30px 50px;
}
.mobile-nav dt{
    margin-top:30px;
    font-size: 25px;
    font-weight: 600;
    color: #fff;
}
.mobile-nav dd{
    margin-left:10px;
    font-size: 18px;
    font-weight: 400;
    color: #ccc;
}
.wrap_en .mobile-nav {zoom:0.8}
.mobile-nav dd a{
    display: block;
    padding:3px 20px;
}


.nav-right{display:flex;gap:10px;align-items:center;}
.nav-right button {
    display: flex;
    align-items:center;
    min-height: 42px;
    line-height: 1;
    padding: 11px 25px; border-radius:8px;cursor:pointer;
}
.nav-right button > img{
    width: 20px;
}

.nav-btn-fill{
    border:none;background:var(--grad);
    font-size:14px;font-weight:700;color:#fff;
    box-shadow:0 1px 10px rgba(221,42,123,.28);transition:opacity .2s;
}
.nav-btn-fill:hover{opacity:.88;}
.nav-kakao{
  display:flex;align-items:center;gap:6px;
  background:var(--g5);;border:none;border-radius:8px;
  padding:10px 15px;font-size:16px;font-weight:700;color:#3A1D1D;
  cursor:pointer;
}
.nav-kakao svg{width:16px;height:16px;}

.btn-lg{
  border:none;background:var(--grad);color:#fff;
  font-size:15px;font-weight:700;
  padding:15px 40px;border-radius:12px;cursor:pointer;
  box-shadow:0 8px 28px rgba(221,42,123,.3);
  display:flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s;
}
.btn-lg:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(221,42,123,.4);}
.btn-lg-line{
  border:1.5px solid var(--border);background:none;color:var(--text);
  font-size:18px;font-weight:500;
  padding:10px 28px;border-radius:12px;cursor:pointer;
  display:flex;align-items:center;gap:8px;transition:background .2s;
}
.btn-lg-line:hover{background:var(--bg3);}

.btn-pdf-en { display: none;}

/* ── HERO ── */
.hero {
    position: relative;
    overflow: hidden;
    height: calc(100vh - 70px);
    padding: 140px 60px 140px;
    background-color: var(--bg); /* 기존 배경색 유지 */
    background-image: url('/images/bg_company.png');
    background-repeat: no-repeat;
    background-position: right top;
    background-size: auto 100%;
    /* background-image: url('/images/hero_01.png');
    background-repeat: no-repeat;
    background-position: right 8vw top 10vh;
    background-size: auto 60%; */
}
.hero-blobs{position:absolute;inset:0;pointer-events:none;}
.blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.10;}
.b1{width:560px;height:400px;top:-120px;left:-80px;background:var(--g1);}
.b2{width:580px;height:580px;top:-150px;right:50px;background:var(--g3);}
.b3{width:360px;height:360px;bottom:-120px;left:35%;background:var(--g2);}
.hero-inner{
  position:relative;z-index:2;
  display:flex; gap:70px; align-items:center;
}
.hero-chip{
  display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid transparent;border-radius:100px;padding:5px 16px 5px 10px;
  background:linear-gradient(white,white) padding-box,var(--grad) border-box;
  font-size:12px;font-family:var(--mono);margin-bottom:24px;
}
.chip-dot{width:7px;height:7px;border-radius:50%;background:var(--grad-h);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.chip-txt{background:var(--grad-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:500;}
.hero h2{font-size:100px;font-weight:600;line-height:1.2;letter-spacing:-2px;margin-bottom:20px;color:var(--text);}
em.grad{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-sub{font-size:30px; font-weight: 600; color:#999;line-height:2.0;margin-bottom:80px;}
.hero-btns{display:flex; gap:20px;flex-wrap:wrap;}
.hero-btns .btn-lg{font-size: 22px;}
.hero-tel{
  background:var(--g5);;border:none;border-radius:12px;
  padding:10px 30px;
  font-size:28px;font-weight:600;color:#3A1D1D;
  display:flex;align-items:center;gap:8px;
  border: 1.5px solid transparent;
  background: linear-gradient(white, white) padding-box, var(--grad) border-box;
}


.wrap_dhn_service{}
.wrap_dhn_service .dhn_service{
    display: flex;
    align-items: center;
    justify-content: center;
    width:100%;
    /* height:100%; */
    height:80%;
    position: relative;
    background-color: #ffffff; /* 기본 하얀 배경 */
    z-index: 1;
    overflow: hidden;
}
/* 이미지 없이 CSS로 격자와 도트 패턴 생성 */
.wrap_dhn_service .dhn_service::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;

    /* 십자선 격자와 촘촘한 도트를 만드는 그라디언트 */
    background-image:
        linear-gradient(rgba(0, 102, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 102, 255, 0.03) 1px, transparent 1px),
        radial-gradient(rgba(0, 102, 255, 0.08) 1px, transparent 1px);

    background-size: 40px 40px, 40px 40px, 20px 20px;
    background-position: center;

    /* 가운데는 선명하고 외곽으로 갈수록 흐려지는 효과 */
    mask-image: radial-gradient(circle at 50% 50%, black 40%, transparent 100%);
    -webkit-mask-image: radial-gradient(circle at 50% 50%, black 40%, transparent 100%);

    z-index: -1; /* 콘텐츠 뒤로 보내기 */
}
.wrap_dhn_service .dhn_service:nth-of-type(even) {
    background-color: #f9f9f9;
}
.wrap_dhn_service .dhn_service:nth-of-type(even)::before {

    /* 가운데는 선명하고 외곽으로 갈수록 흐려지는 효과 */
    mask-image: radial-gradient(
        circle at center,
        transparent 0%,
        transparent 20%,
        black 70%,
        black 100%
    );
    -webkit-mask-image: radial-gradient(
        circle at center,
        transparent 0%,
        transparent 20%,
        black 70%,
        black 100%
    );
}

/* .wrap_dhn_service .dhn_service.sv_ai{
    position: relative;
    color:#fff;
    background-color: #ffffff;
    z-index: 1;
}
.wrap_dhn_service .dhn_service.sv_ai::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: url('/dhn/images/bg_ai.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.9;
    z-index: -1;
} */

.wrap_dhn_service .dhn_service .sv-hd{
    /* width:100%;
    position: relative; */
    padding:200px 0;
}
.wrap_dhn_service .dhn_service .sv-hd > h2{
    position: relative; z-index: 3;
    text-align: center;
    font-size:10vw;
}
.wrap_dhn_service .dhn_service .sv-hd >span.bubble {
    display: inline-block;
    position: absolute; z-index: 2;
    font-size: 35px;
    color: #ddd;
}

/* 버블효과 */
/* 연결선 배경 SVG */
/* .line-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
} */

.bubble1 { top: 23%; left: 16%; animation: float1 10s ease-in-out infinite; }
.bubble2 { top: 28%; right: 10%; animation: float2 11s ease-in-out infinite; }
.bubble3 { top: 55%; left: 5%; animation: float3 9.5s ease-in-out infinite; }
.bubble4 { top: 60%; right: 3%; animation: float1 12s ease-in-out infinite; }
.bubble5 { bottom: 11%; left: 17%; animation: float2 10.5s ease-in-out infinite; }
.bubble6 { bottom: 20%; right: 20%; animation: float3 11.5s ease-in-out infinite; }

/* 둥실둥실 떠 있는 듯한 키프레임 애니메이션 */
@keyframes float1 {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-15px) rotate(2deg); }
}

@keyframes float2 {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(12px) rotate(-3deg); }
}

@keyframes float3 {
  0%, 100% { transform: translate(0px, 0px); }
  50% { transform: translate(-8px, -10px); }
}



/* ── SECTIONS common ── */
.sec{padding:150px 60px;}
.sec-alt{background:var(--bg2);border-top:1px solid var(--bg3);border-bottom:1px solid var(--bg3);}
.sec-hd{
    text-align:center;
    /* max-width:600px; */
    margin:0 auto 150px;
}
/* .sec-chip{
  display:inline-block;font-size:11px;font-family:var(--mono);font-weight:500;
  border:1.5px solid transparent;border-radius:100px;padding:4px 14px;margin-bottom:14px;
  background:linear-gradient(white,white) padding-box,var(--grad) border-box; */
}
.sec-chip span{background:var(--grad-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-ttl{font-size:85px;font-weight:600;letter-spacing:-1.5px;line-height:1.15;margin-bottom:14px;color:var(--text);}
.sec-ttl em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
/* .sec-dsc{font-size:15px;color:var(--muted);line-height:1.75;} */

/* ── SERVICE GRID ── */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr); gap:80px;}
.svc-card{
    background:#fbfbfb;
    /* border:1.5px solid var(--border); */
    border-radius:18px;
    padding:28px;
    transition:transform .25s,box-shadow .25s,border-color .25s;
    /* box-shadow: 0 1px 10px rgb(220 220 220 / 20%); */
}
.svc-card:hover {
    background: #fff;
    transform: translateY(-5px);
    /* box-shadow: 0 6px 30px rgba(221, 42, 123, .10); */
    box-shadow: 0 6px 30px rgba(1, 1, 1, .10);
    border-color: #DD2A7B;
}
.svc-ic{width:100px; height:100px; border-radius:14px;
    /* background:var(--bg3); */
    display:flex;align-items:center;justify-content:left;font-size:24px; margin-bottom:15px;}
.svc-ic > img{
    /* filter: grayscale(80%); */
    /* opacity: 0.3; */
    transition: filter 0.3s ease; /* 부드러운 전환 효과 */
}
.svc-card:hover .svc-ic > img {
    filter: grayscale(0%);
    opacity: 1;
}
.svc-card:nth-child(1) .svc-ic > img{width:80%;}
.svc-card:nth-child(2) .svc-ic > img{width:75%;}
.svc-card:nth-child(3) .svc-ic > img{width:95%;}
.svc-card:nth-child(4) .svc-ic > img{width:100%;}
.svc-card:nth-child(5) .svc-ic > img{width:90%;}
.svc-card:nth-child(6) .svc-ic > img{width:95%;}
.svc-card h3{font-size:32px;font-weight:700;margin-bottom:8px;color:var(--text);}
.svc-card p{font-size:16px;color:var(--muted);line-height:1.5;}
.svc-card .svc-tag {
    /* float: right; */
    display: inline-block;
    margin-top: 30px;
    font-size: 16px;
    font-weight: 600;
    /* font-family: var(--mono); */
    border-radius: 100px;
    padding: 3px 18px;
    /* color:#fff; */
    /* border: 1.5px solid transparent;
    background: linear-gradient(white, white) padding-box, var(--grad) border-box; */
    background: #f3f3f3;
}

/* ── CERTIFICATIONS ── */
.cert-grid{display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap: 30px;
    margin-bottom:100px;
}
.cert-chip{
    display:flex;
    align-items:center;
    gap:8px;
    padding: 15px 45px 16px;
    font-size: 32px;
    font-weight: 500;
    color:#666;
    background:#fff;
    box-shadow: 0 1px 10px rgb(220 220 220 / 20%);
    border:1.5px solid var(--border);
    border-radius: 999px;
}
.cert-chip.highlight{
    color:#333;
    background: #FFF9C4;
    border-color: #F0D800;
}
.cert-grid .cert-chip > img{
   width: 40px;
}


/* ── FOOTER ── */
footer{
    padding:35px 60px 40px;
}
footer .wrap{}

.ft-com{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* gap:200px; */
    margin-bottom:40px;
    padding-bottom:30px;
    border-bottom:1px solid #eee;
}
.ft-com h5{
    display: flex;
}
.ft-com h5 > img[src*="logo"]{width: 250px;}

.ft-com_info{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap:20px;
    font-size: 16px;
    color:#999;
}
.ft-com_info strong{
    margin-right:30px;
    font-size: 22px;
    font-weight: 400;
    /* font-size: 24px; */
}
.ft-com_info strong:last-of-type{
    margin-right:0;
}
.ft-com_info span:first-of-type{
    font-size: 1.2rem;
    font-weight: 500;
    color: #111;
}
.ft-com_info strong.em{
    font-size: 42px;
    letter-spacing: -1.5px;
    font-weight: 600;
    background: var(--grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ft-top_wrap{
    position: relative;
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom:50px;
    font-size:12px;
    color:#999;
}
.ft-top{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.ft-address li:first-child{
    line-height: 2.8;
    font-size: 1.2rem;
    font-weight: 500;
    color: #111;
}
.ft-address li:first-child span{
    padding: 3px 12px 4px;
    background: var(--grad);
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    border-radius: 3px;
    /* box-shadow: 0 1px 10px rgba(221, 42, 123, .28); */
}
.ft-top h5{font-size:18px; font-weight: 400; padding:15px 0 13px; display: flex; justify-content: space-between; flex-wrap: wrap}
.ft-top h5 img{width:200px; margin-top:5px;}
.ft-top h5 span {font-size:22px; color:#333; text-align: right;}
/* .ft-top > p{margin-bottom:10px; margin-top:30px;} */
/* .ft-top .ft-copyright{ margin-top:10px;} */

.ft-links{display:flex; align-items: center; gap:20px;}

.icon_sns{position: absolute; top:0px; right:0px; display: flex; justify-content: flex-end; gap: 8px;}
.icon_sns div{height: 60px;}
.icon_sns div a {margin-left:5px;}

.cer_logo {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    position: initial;
    width: 100%;
    padding-top: 20px;
    border-top: 1px solid #eee;
}
.cer_logo img{max-height: 35px;}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px;
    margin-top: 100px;
}

.news-card-container {
    position: relative;
    /* background: #fff;
    border: 1px solid #eee; */
    /* color:#333; */
    /* background: var(--g3); */
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    /* border: 1px solid #f5f5f5; */
    /* box-shadow: 0 5px 15px rgba(0,0,0,0.05); */
    transition: transform 0.3s ease;
}

.news-card-container:hover {
    transform: scale(105%);
}
.news-card-container:hover .slide-controls button {
    background: var(--g2);
}
.news-card-container:hover .slide-controls button:hover {
    background: #333;
}

.news-slide-wrapper {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.news-item {
    position: absolute;
    top: 0; left: 0;
    opacity: 1;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.5);
    transform: scale(1.01);
}
.news-item.active {
    opacity: 1;
    visibility: visible;
    position: relative;
    transform: scale(1);
}
.news-item.no-link {
    cursor: default;
}
.news-item .news-img-box {
    width: 100%;
    aspect-ratio: 1.5 / 1;
    /* border-radius: 15px; */
    border-radius: 0 0 15px 15px;
    overflow: hidden;
}
.news-item .news-img-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left top;
}
.news-item .news-body{
    display: flex;
    flex-direction: column;
    height:250px;
    line-height: 1.4;
    padding:25px 0px 15px;
    overflow: hidden;
}
.news-item .news-body h3{
    font-size: 1.8em;
    letter-spacing: -0.8px;
}
.news-item .news-tag{
    margin-bottom:20px;
    font-size: 1.2em;
    font-weight: 600;
    width: fit-content;
    font-style: normal;
    background: var(--grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.news-item .news-body .card-text{
    line-height: 1.5;
    margin-top:auto;
    opacity: 0.7;
    /* font-size: 0.9em; */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}

/* .news-item .news-img-box .news-category{
    position: absolute;
    top: 0; left: 0;
} */

.slide-controls {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    /* padding:0 15px 13px; */
    position: absolute;
    top: 18px;
    right: 0px;
    z-index: 9;
}

.slide-controls button {
    color: #fff;
    background: #ccc;
    /* border: 1px solid #ddd; */
    border-radius: 50%;
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s;
    border:none;
}
.slide-controls button:hover {
    background: var(--grad-h);
}
.slide-controls button .material-icons{
    font-size: 18px;
    /* color:#999; */
}
#language-select{
    width: fit-content;
    min-height: 42px;
    margin-right: 15px;
    margin-left:auto;
    padding: 12px 35px 12px 10px;
    font-size: 14px;
    border-radius: 8px;
    border: 1px solid #e7e7e7;
    -webkit-appearance: none;
    outline: 0;
    background-image: url(../img/select_arrow.png);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 9px 9px;
    background-color: #fff;
}




/* 영문일때 */
.wrap_en .btn-pdf-ko { display: none; }
.wrap_en .btn-pdf-en { display:flex; }

.wrap_en{zoom:0.9;}
/* .wrap_en nav{zoom: 0.8;} */
.wrap_en nav a{padding: 10px 10px; text-align: center;}
.wrap_en .hero h2 {font-size: 80px;}
.wrap_en .wrap_dhn_service .dhn_service .sv-hd > h2 {font-size: 9vw;}
.wrap_en .cert-grid {zoom:0.9;}







/* ──────── RESPONSIVE ──────── */
@media (max-width: 1400px) {
  header{padding:0 15px;}
}
@media (max-width: 1024px) {
  header{padding:0 30px;}
  nav,
  .nav-right{display:none;} /* Simple mobile approach: hide menu */
  .hamburger {
      display: flex;
  }
  footer > .wrap,
  section > .wrap {
    padding: 0px;
    zoom: 0.6;
  }
  .mobile-nav {max-width: 500px;}
  .icon_sns {position: relative;}
  .hero{padding:60px 30px; height: auto;
      background-position: right -30px center;
      background-size: auto 70%;
  }
  .hero-inner{grid-template-columns:1fr;text-align:center; justify-content: center; zoom: 2;}
  .hero-inner > div{display:flex;flex-direction:column;align-items:center;}
  .hero h2,
  .wrap_en .hero h2{font-size:52px;}
  .hero-sub {color: #777;}
  .hero-sub span{display: inline-block; line-height: 1;}
  .sec{padding:100px 30px 50px;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .news-grid{grid-template-columns:repeat(2,1fr);}
  footer{padding:30px 20px;}
}

@media (max-width: 992px) {
    .news-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  header{padding:0 20px;}
  .nav-right .nav-kakao, .nav-right .nav-btn-line{display:none;} /* Hide extra buttons on small mobile */
  .hero{padding:80px 30px 40px;  background:none;}
  .hero-sub {color: #999;}
  .hero h2{font-size:40px !important;letter-spacing:-1px;}
  .hero-sub{font-size:20px;max-width:100%; margin-bottom: 40px;}
  .hero-btns{justify-content:center;width:100%;}
  .btn-lg, .hero-tel, .btn-lg-line{width:100%;justify-content:center;}
  .sec{padding:80px 20px 40px; background: #fff;}
  .sec-ttl{font-size:60px;}
  /* .cert-chip {font-size: 22px;} */
  .svc-grid{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr;}
  .ft-top{flex-direction:column;gap:30px;}
  .ft-links{flex-wrap:wrap;}
  .svc-ic img {filter: none; /* 회색 효과 제거 (원래 색상 유지) */}
  .wrap_dhn_service .dhn_service {height: 40%;}
  /* .cert-grid{zoom:0.7;} */

    /* 영문일때 */
    .wrap_en .cert-grid {gap: 20px; zoom: 2;}
    .wrap_en .cert-chip {font-size: 15px;}

    .wrap_dhn_service .dhn_service .sv-hd {
        padding:20px;
        text-align: center;
    }
    .wrap_dhn_service .dhn_service .sv-hd > h2 {margin-bottom:20px;}
    .wrap_dhn_service .dhn_service .sv-hd >span.bubble {
        position: relative;
        margin:0 5px;
        font-size: 20px;
        color:#999;
        top:auto;
        left:auto;
        right:auto;
        bottom:auto;
        animation:none;
    }

}


@media screen and (min-width: 1441px) and (max-width: 1599px) {
    .wrap_mallmaker_goods {
        zoom: 0.85;
    }
}
@media screen and (min-width: 1200px) and (max-width: 1440px) {
    .wrap_mallmaker_goods {
        zoom: 0.8;
    }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
    .wrap_mallmaker_goods {
        zoom: 0.7;
    }
}
/* 4단계: 모바일 (767px 이하) */
@media screen and (max-width: 767px) {
  .genie_wrap {
    zoom: 1; /* 모바일은 보통 전용 레이아웃(100%)으로 맞추므로 원본 복구 */
  }
}
