body {
    font-family: 'Malgun Gothic', '맑은 고딕', 'dotum', '돋움';
    margin: 0;
    padding: 0;
    color: #666;
    padding-top: 60px; /* 헤더 높이에 맞춰 조정 */
}

/* 한글 제목: 음절 중간이 아닌 어절 단위로 줄바꿈(모바일 끊김 방지) */
h1, h2, h3 { word-break: keep-all; }

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
    z-index: 1000;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

header .logo {
    float: left;
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 210px;
    height: 20px;
    background: url('../images/top_logo_fixed.png') no-repeat;
    text-indent: -9999px;
}

header nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

header nav ul li {
    margin-right: 20px;
}

header nav ul li a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

header nav ul li a:focus,
header nav ul li a:active {
    color: #ff004d; /* 강조 색상 */
}

header .btn-company {
    background: #ff004d;
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 5px;
}

#intro {
    text-align: center;
    padding: 50px 20px;
    background: #ffffff;
}

#intro h1 {
    font-size: 36px;
    color: #9966CC;
    margin-bottom: 10px;
    word-break: keep-all;   /* 한글: 음절 중간이 아닌 단어(어절) 단위로 줄바꿈 */
    line-height: 1.3;
}

#intro p {
    font-size: 18px;
    margin-bottom: 20px;
    word-break: keep-all;
}

#intro img {
    width: 100px;
    height: auto;
}

#services {
    padding: 50px 20px;
    background: #fff;
}

#services .container {
    display: flex;
    justify-content: center; /* 중앙 정렬 */
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto; /* 중앙 정렬 */
}

.service-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.service-box {
    flex: 1 1 calc(45% - 20px); /* 한 줄에 두 개씩 */
    margin: 10px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    background: #fff;
}

.service-box.purple {
    background: #f0f0ff;
}

.service-box.pink {
    background: #fff0f0;
}

.service-box h2 {
    font-size: 24px;
    color: #333;
    margin-bottom: 10px;
}

.service-box p {
    font-size: 16px;
    color: #666;
}

.service-icons {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
}

.service-icons div {
    flex: 1 1 calc(50% - 10px); /* 한 줄에 두 개씩 */
    text-align: center;
    margin: 5px;
}

.service-icons img {
    width: 50px;
    height: auto;
}

.service-icons span {
    display: block;
    margin-top: 5px;
    font-size: 14px;
}

#products {
    padding: 50px 20px;
    background: #f5f5f5;
}

#products .container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

#products h2 {
    font-size: 36px;
    color: #333;
    margin-bottom: 20px;
}

#products p {
    font-size: 18px;
    color: #666;
    margin-bottom: 40px;
}

.service-list,
.product-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.product-item {
    flex: 1 1 calc(25% - 20px); /* 한 줄에 4개씩 */
    margin: 10px;
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.product-item img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.product-item h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 10px;
}

.product-item p {
    font-size: 14px;
    color: #666;
}

#story {
    padding: 50px 20px;
    background: #fff;
}

#story .container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

#story h2 {
    font-size: 36px;
    color: #333;
    margin-bottom: 20px;
}

.story-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    counter-reset: story;
}

/* 구축사례 카드 — 2026-06-29 리디자인(번호·좌측 강조색·hover) */
.story-item {
    flex: 1 1 calc(33.333% - 20px); /* 데스크톱 3열(6건=2행 균형) */
    margin: 10px;
    padding: 22px 22px 22px 24px;
    background: #fff;
    border: 1px solid #eee;
    border-left: 4px solid #ff004d;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease;
}

.story-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.10);
}

.story-item::before {
    counter-increment: story;
    content: "0" counter(story);
    display: block;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #ff004d;
    margin-bottom: 8px;
}

/* 카드 좌측 강조색 교차(핑크↔퍼플) */
.story-item:nth-child(even) { border-left-color: #9966CC; }
.story-item:nth-child(even)::before { color: #9966CC; }

.story-item h3 {
    font-size: 17px;
    color: #222;
    margin: 0 0 10px;
    line-height: 1.4;
}

.story-item p {
    font-size: 14px;
    color: #777;
    line-height: 1.6;
    margin: 0;
}

#contact {
    padding: 50px 20px;
    background: #f5f5f5;
}

#contact .container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

#contact h2 {
    font-size: 36px;
    color: #333;
    margin-bottom: 20px;
}

#contact p {
    font-size: 18px;
    color: #666;
    margin-bottom: 40px;
}

/* 대표 이메일 — 브랜드 CTA 필 버튼 */
.contact-email {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #ff004d 0%, #9966CC 100%);
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    padding: 14px 30px;
    border-radius: 40px;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(255, 0, 77, 0.28);
    transition: transform .18s ease, box-shadow .18s ease;
    margin-bottom: 28px;
}

.contact-email:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(153, 102, 204, 0.34);
}

.contact-email .ic { font-size: 18px; }

/* 주소·연락처 정보 카드 */
.contact-cards {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}

.contact-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    flex: 0 1 380px;
    max-width: 480px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 18px 22px;
    text-align: left;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.contact-card .ic {
    font-size: 20px;
    line-height: 1.4;
    flex-shrink: 0;
}

.contact-card .k {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .5px;
    color: #ff004d;
    margin-bottom: 5px;
}

.contact-card .v {
    font-size: 14.5px;
    color: #555;
    line-height: 1.6;
}

footer {
    padding: 30px 20px;
    background: #333;
    color: #fff;
    text-align: center;
}

/* === 2026-06-26 개편: 솔루션·서비스·SI 3대 사업축 재포지셔닝 === */
header .logo { text-indent: -9999px; overflow: hidden; }
.nav-axdev {
    color: #ff004d !important;
    border: 1.5px solid #ff004d;
    border-radius: 18px;
    padding: 5px 14px;
    transition: background .15s, color .15s;
}
.nav-axdev:hover { background: #ff004d; color: #fff !important; }

/* 언어 토글(한/영) + 우측 액션 그룹 */
.header-actions { display: flex; align-items: center; gap: 10px; }
.lang-toggle {
    background: #fff;
    color: #333;
    border: 1.5px solid #ddd;
    border-radius: 18px;
    padding: 5px 14px;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}
.lang-toggle:hover { border-color: #9966CC; color: #9966CC; }

/* 데스크톱: 시각 순서를 로고 | 메뉴 | 언어토글 로 배치
   (DOM은 모바일 드롭다운을 위해 header-actions가 nav보다 앞) */
@media (min-width: 769px) {
    header nav { order: 2; }
    .header-actions { order: 3; margin-left: 12px; }
}

/* 햄버거 버튼 — 데스크톱 숨김, 모바일(≤768)에서 표시 */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 38px;
    padding: 7px;
    background: none;
    border: 0;
    cursor: pointer;
}
.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #333;
    border-radius: 2px;
    transition: transform .2s, opacity .2s;
}
header.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
header.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
header.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* 공통 섹션 헤더 */
.section-head { max-width: 1200px; margin: 0 auto 30px; text-align: center; }
.section-head h2 { font-size: 34px; color: #333; margin-bottom: 8px; }
.section-head .lead { font-size: 18px; color: #888; }

/* 3분할 카드(사업축·서비스) */
.svc3 .service-box { flex: 1 1 calc(33.333% - 20px); }
.service-box .badge { display: inline-block; font-size: 13px; font-weight: bold; color: #ff004d; margin-bottom: 6px; }
.service-box ul { margin: 12px 0 0; padding-left: 18px; }
.service-box ul li { font-size: 14px; color: #555; margin-bottom: 4px; }

/* About 사업축 */
#about { padding: 60px 20px; background: #fafafa; }
#about .container { max-width: 1200px; margin: 0 auto; }

/* 솔루션 제품 — 카테고리 블록 */
#solutions { padding: 60px 20px; background: #fff; }
#solutions .container { max-width: 1200px; margin: 0 auto; }
.cat-block { margin-bottom: 28px; }
.cat-block h3 { font-size: 18px; color: #ff004d; border-bottom: 2px solid #eee; padding-bottom: 8px; margin-bottom: 14px; }
.chip-list { display: flex; flex-wrap: wrap; gap: 10px; }
.chip-list .chip { background: #f3f3f7; border-radius: 20px; padding: 8px 16px; font-size: 14px; color: #444; }
.chip-list .chip b { color: #222; }

/* 서비스(구독형 AICC) */
#services { padding: 60px 20px; background: #fafafa; }
#services .container { max-width: 1200px; margin: 0 auto; }

/* AXDevHub 강조 밴드(자체 서비스) */
#axdevhub { padding: 64px 20px; background: linear-gradient(135deg, #ff004d 0%, #9966CC 100%); color: #fff; text-align: center; }
#axdevhub .container { max-width: 900px; margin: 0 auto; }
#axdevhub .eyebrow { font-size: 13px; letter-spacing: 2px; opacity: .9; }
#axdevhub h2 { font-size: 34px; margin: 10px 0; color: #fff; }
#axdevhub p { font-size: 17px; line-height: 1.75; opacity: .96; }
#axdevhub .feat { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 26px; }
#axdevhub .feat span { background: rgba(255, 255, 255, .18); border-radius: 20px; padding: 8px 16px; font-size: 14px; }
#axdevhub .cta { display: inline-block; background: #fff; color: #ff004d; font-weight: bold; padding: 14px 34px; border-radius: 6px; text-decoration: none; font-size: 16px; }

/* 신뢰지표 */
#trust { padding: 50px 20px; background: #2b2b35; color: #fff; }
.trust-list { max-width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-around; gap: 20px; text-align: center; }
.trust-item .num { font-size: 32px; font-weight: 800; color: #ff5b7f; }
.trust-item .label { font-size: 14px; color: #cfcfd6; margin-top: 6px; }

/* 푸터 보강 */
footer .footer-links { margin-bottom: 14px; }
footer .footer-links a { display: inline-block; color: #fff; background: #ff004d; padding: 10px 22px; border-radius: 5px; text-decoration: none; font-weight: bold; }
footer .footer-corp { font-size: 13px; color: #bbb; line-height: 1.7; margin: 6px 0 12px; }

@media (max-width: 768px) {
    .svc3 .service-box { flex: 1 1 100%; }
    .trust-item { flex: 1 1 40%; }
}

/* 미디어 쿼리 추가 */
@media (max-width: 768px) {
    /* 모바일: 고정헤더 해제 + 햄버거 메뉴(로고 왼쪽 · ☰ 오른쪽 · 펼침 드롭다운) */
    body { padding-top: 0; }
    header { position: static; padding: 10px 0; }

    header .container {
        flex-direction: row;
        flex-wrap: wrap;                 /* nav가 100% 폭으로 아래 줄에 펼쳐지도록 */
        justify-content: space-between;
        align-items: center;
    }

    header .logo { float: none; margin: 0; }
    .nav-toggle { display: flex; }

    #intro h1 { font-size: 30px; }

    /* 메뉴: 기본 접힘 → .nav-open 시 세로 목록으로 펼침 */
    header nav { display: none; flex-basis: 100%; }
    header.nav-open nav { display: block; }
    header nav ul {
        flex-direction: column;
        width: 100%;
        margin: 8px 0 0;
        padding: 0;
    }
    header nav ul li { margin: 0; }
    header nav ul li a {
        display: block;
        padding: 13px 6px;
        font-size: 15px;
        border-top: 1px solid #eee;
    }
    /* 드롭다운에선 AXDEVHUB도 동일한 행 스타일(핀 해제, 빨강 유지) */
    .nav-axdev {
        border: 0;
        border-top: 1px solid #eee;
        border-radius: 0;
        padding: 13px 6px;
    }
    .nav-axdev:hover { background: none; color: #ff004d !important; }

    #services .container,
    #products .container,
    #story .container,
    #contact .container {
        flex-direction: column;
        align-items: center;
    }

    .service-box,
    .product-item,
    .story-item {
        flex: 1 1 100%;
        margin: 10px 0;
    }

    /* 구축사례는 태블릿(481~768)에서 2열 유지(≤480은 1열) */
    .story-item { flex: 1 1 calc(50% - 20px); margin: 10px; }

    .product-item img {
        width: 100%;
        height: auto;
    }

    .service-icons {
        flex-direction: column;
    }

    .service-icons div {
        margin-bottom: 10px;
    }

    .contact-card {
        flex: 1 1 100%;
        max-width: none;
    }
}

@media (max-width: 480px) {
    #intro h1 {
        font-size: 24px;
    }

    #intro p {
        font-size: 14px;
    }

    /* 큰 제목 모바일 축소 */
    .section-head h2,
    #axdevhub h2,
    #story h2,
    #contact h2,
    #products h2 { font-size: 26px; }
    .section-head .lead { font-size: 15px; }
    #axdevhub p { font-size: 15px; }

    #services .container,
    #products .container,
    #story .container,
    #contact .container {
        padding: 20px;
    }

    .service-box {
        padding: 10px;
    }

    .product-item,
    .story-item {
        padding: 10px;
    }

    .product-item,
    .story-item {
        flex: 1 1 100%;
        margin: 5px 0;
    }

    /* 구축사례 카드: 폰에서도 충분한 여백 유지(좌측 강조선·번호 가독성) */
    .story-item { padding: 18px 18px 18px 20px; }

    .contact-email {
        font-size: 15px;
        padding: 13px 22px;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* 화면 넓이가 360px 이하인 경우 추가 */
@media (max-width: 360px) {
    .story-item {
        flex: 1 1 100%;
        margin: 5px 0;
    }
}
