@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');:root{--navy:#112c46;--blue:#145fa3;--dark:#172638;--grey:#647281;--line:#e2e7ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--dark);font-family:'Noto Sans KR',Arial,sans-serif;background:#fff;line-height:1.65}a{text-decoration:none;color:inherit}.wrap{width:min(1200px,92%);margin:auto}.topline{height:30px;background:#f3f6f9;color:#77828f;font-size:10px;letter-spacing:.16em}.topline .wrap{display:flex;justify-content:space-between;align-items:center;height:100%}.topline span{letter-spacing:0}.header{position:relative;background:#fff;z-index:10;box-shadow:0 1px 0 #e5ebf0}.head{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;align-items:center;gap:12px;line-height:1.08;font-weight:800;letter-spacing:.03em;font-size:19px}.logo strong{color:#287ab3}.logo small{display:block;font-size:11px;letter-spacing:.19em;color:#8d98a2;margin-top:6px;font-weight:500}.symbol{display:grid;place-items:center;width:44px;height:44px;background:#176aa7;color:#fff;font-weight:800;font-size:26px;clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%)}.nav{display:flex;align-items:center;gap:32px}.nav a{font-size:14px;font-weight:600;white-space:nowrap;padding:33px 0;border-bottom:3px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:#176aa7;border-color:#176aa7}.mobile-toggle{display:none}.mainhero{height:520px;overflow:hidden;position:relative;color:#fff;background:linear-gradient(90deg,rgba(8,29,48,.92) 0%,rgba(10,43,70,.74) 48%,rgba(7,37,60,.45) 100%),linear-gradient(130deg,#274961,#1c4964 54%,#8a9ba0)}.mainhero:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,transparent 41%,rgba(255,255,255,.07) 41.2%,transparent 41.8%),repeating-linear-gradient(90deg,transparent 0 110px,rgba(255,255,255,.045) 112px 114px);opacity:.8}.mainhero-art{position:absolute;right:0;bottom:-90px;width:55%;height:470px;transform:skew(-19deg);border-left:2px solid #b8d2db44;background:linear-gradient(120deg,transparent,#bad4de22)}.mainhero-art span{position:absolute;bottom:0;height:105%;width:23%;border:1px solid #cce3f344;box-shadow:inset 0 0 80px #a1bacb15}.mainhero-art span:nth-child(1){left:10%}.mainhero-art span:nth-child(2){left:40%;height:75%}.mainhero-art span:nth-child(3){left:75%;height:125%}.mainhero-inner{position:relative;padding-top:116px;z-index:1}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.25em;color:#b5d6ed;margin:0 0 20px}.mainhero h1{font-size:clamp(36px,4.3vw,59px);letter-spacing:-.045em;line-height:1.35;font-weight:500;margin:0 0 22px}.mainhero h1 strong{font-weight:800}.mainlead{font-size:15px;color:#d9e5ee;margin-bottom:32px}.white-btn{border:1px solid #dce7ef;display:inline-flex;align-items:center;gap:38px;padding:12px 20px;font-size:13px;font-weight:700}.white-btn span{font-size:20px}.hero-number{position:absolute;bottom:24px;right:5%;font-size:20px;font-weight:800}.hero-number span{font-size:12px;color:#adc3d4;font-weight:400}.featurebar{background:#f4f7f9;border-bottom:1px solid #e1e7ec}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature-grid a{padding:26px 23px;position:relative;border-right:1px solid #dfe5ea}.feature-grid a:first-child{border-left:1px solid #dfe5ea}.feature-grid span{display:block;font-size:10px;color:#4184b0;font-weight:700;letter-spacing:.13em}.feature-grid strong{display:block;font-size:20px;margin:7px 0}.feature-grid p{font-size:12px;color:#6b7782;margin:0}.feature-grid b{position:absolute;right:20px;top:37px;font-size:20px;color:#9baab5}.feature-grid a:hover{background:#e8f0f6}.section{padding-top:83px;padding-bottom:100px}.section-title{margin:0 0 34px}.eyebrow.dark{color:#2776af;margin:0 0 9px}.section-title h2{font-size:33px;letter-spacing:-.045em;margin:0 0 8px}.section-title>p:last-child{font-size:15px;color:#71808b;margin:0}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{height:270px;padding:34px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#234d69,#0d2b44)}.tile.t2{background:linear-gradient(135deg,#335f76,#1c354d)}.tile.t3{background:linear-gradient(135deg,#4c6878,#203749)}.tile:after{content:'';position:absolute;top:-70px;right:-65px;width:210px;height:340px;border:1px solid #ffffff36;transform:rotate(35deg);box-shadow:35px 35px 0 #ffffff0a,70px 70px 0 #ffffff0b}.tile span{font-size:11px;letter-spacing:.15em;color:#b0d4e8}.tile h3{font-size:23px;margin:50px 0 6px}.tile p{font-size:13px;color:#d4dce4;margin:0}.tile b{position:absolute;bottom:25px;right:28px;font-size:22px}.dark-panel{background:#102e47;color:#fff}.dark-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:65px 0}.dark-inner h2{font-size:32px;line-height:1.4;margin:0 0 14px}.dark-inner p:last-child{font-size:14px;color:#b7c7d3}.outline-btn{border:1px solid #b9ccd9;padding:14px 24px;white-space:nowrap}.subhero{height:270px;color:white;display:flex;align-items:center;background:linear-gradient(95deg,#102c46ee,#195079cb),repeating-linear-gradient(120deg,#163d59 0 28px,#1b4a6b 28px 54px)}.subhero .eyebrow{margin-bottom:8px}.subhero h1{font-size:43px;margin:0 0 4px}.subhero .wrap>p:last-child{margin:0;color:#d3e4ef}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0 40px;margin-bottom:35px}.intro-block span{color:#2173a9;font-size:11px;letter-spacing:.18em;font-weight:700}.intro h3{font-size:33px;line-height:1.5;margin:12px 0}.intro>p{color:#5d6c79}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.three article{background:#f6f8fa;padding:32px;min-height:200px;border-top:3px solid #1d6eaa}.three i{font-style:normal;font-size:26px;color:#4289bb;font-weight:800}.three h3{margin:16px 0 9px}.three p{font-size:14px;color:#667380;margin:0}.business-list{border-top:2px solid #1b5b8d}.business-list article{display:grid;grid-template-columns:110px 1fr 50px;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:35px 8px}.business-index{color:#b8c5d0;font-size:46px;font-weight:700}.business-list h3{font-size:24px;margin:0}.business-list p:last-child{color:#6c7a87;font-size:14px}.business-list a{font-size:25px;color:#1d6eaa}.location-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:28px}.map-mock{height:330px;background:linear-gradient(125deg,#e8f0f3,#f8fafb);border:1px solid #dce4eb;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#697d8b}.map-marker{color:#2a78ad;font-size:38px}.map-mock strong{font-size:20px}.map-mock p{font-size:13px}.location-info{border-top:3px solid #186ba4;padding:15px 0}.location-info h3{font-size:24px}.location-info dl{display:grid;grid-template-columns:80px 1fr;row-gap:20px;font-size:14px}.location-info dt{font-weight:700}.location-info dd{margin:0;color:#657784}.inactive-link{display:inline-block;margin-top:18px;color:#8093a3;font-size:12px;border-bottom:1px solid #8093a3}.footer{background:#101e2c;color:#dce4ea;padding:43px 0}.foot{display:flex;justify-content:space-between;gap:20px;align-items:end}.foot b{font-size:18px}.foot em{font-style:normal;color:#6fa7cd}.foot p{font-size:12px;line-height:2;color:#9cacb8}.foot small{color:#8698a8;font-size:11px}@media(max-width:900px){.head{min-height:75px}.mobile-toggle{display:block;background:none;border:1px solid #d8e0e8;padding:5px 12px;font-size:22px}.nav{display:none;position:absolute;top:100%;left:0;width:100%;background:white;box-shadow:0 10px 15px #0002;padding:10px 4%;flex-direction:column;gap:0;align-items:stretch}.nav.open{display:flex}.nav a{padding:12px;border-bottom:1px solid #e4e8ed}.mainhero{height:490px}.mainhero-inner{padding-top:90px}.feature-grid{grid-template-columns:repeat(2,1fr)}.tiles,.three{grid-template-columns:1fr}.tile{height:210px}.tile h3{margin-top:25px}.intro,.location-layout{grid-template-columns:1fr;gap:18px}.foot{display:block}.foot small{display:block;margin-top:20px}}@media(max-width:520px){.topline span{display:none}.logo{font-size:15px}.symbol{width:38px;height:38px}.mainhero h1{font-size:34px}.mainlead{font-size:13px}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid a{padding:19px 12px}.feature-grid strong{font-size:17px}.feature-grid b{display:none}.feature-grid p{font-size:11px}.section{padding-top:55px;padding-bottom:65px}.section-title h2{font-size:27px}.subhero{height:220px}.subhero h1{font-size:35px}.business-list article{grid-template-columns:50px 1fr 25px;padding:24px 0}.business-index{font-size:26px}.dark-inner{display:block}.dark-inner h2{font-size:25px}.outline-btn{display:inline-block;margin-top:10px}}
/* 회사 로고 이미지 */
.symbol-logo {
    width: 200px;
    height: 100px;
    object-fit: contain;
    display: white;
    flex-shrink: 0;
}

}

/* 사업 실적 3개 가로 정렬 */
.business-gallery {
    display: grid !important;
    grid-template-columns: 1fr !important;
    row-gap: 5000px !important;  /* 사진 3개 사이의 세로 간격 */
    width: 100%;
}

.business-item {
    min-width: 0;
    text-align: center;
}

.business-item img {
    width: 100%;
    max-width: 1500px;
    height: 500px;
    object-fit: cover;
    border-radius: 5px;
    display: block;
    margin: 0 auto;
}

.business-item h3 {
    margin: 5px 0 3px;
}

.business-item p {
    margin: 0;
    color: #777;
}


/* ====================================
   ABOUT US - 회사소개 페이지
==================================== */


/* 1. MISSION / VISION / CORE VALUE */

.values-section {
    padding-top: 70px;
    padding-bottom: 70px;
}

/* 기존 .three 디자인 유지 */
.values-section .three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}


/* 2. 인사말 전체 영역 */

.greeting-section {
    padding-top: 80px;
    padding-bottom: 100px;
}

.greeting {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}


/* 3. 인사말 상단 제목 */

.greeting-title {
    text-align: center;
    margin-bottom: 20px;
}

.greeting-title span {
    color: #BB3434;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
}

.greeting-title h2 {
    font-size: 36px;
    margin: 10px 0 0;
}


/* 4. 인사말 본문 */

.greeting-content {
    max-width: 850px;
    margin: 0 auto;
}

.greeting-content h3 {
    color: #254D74;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 40px;
    word-break: keep-all;
}

.greeting-content p {
    color: #444;
    font-size: 18px;
    line-height: 2;
    margin: 0 0 28px;
    word-break: keep-all;
}


/* 5. 첫 인사 */

.greeting-content .greeting-hello {
    font-size: 21px;
    font-weight: 700;
    color: #222;
    margin-bottom: 30px;
}


/* 6. 하단 서명 */

.greeting-sign {
    text-align: right;
    margin-top: 60px;
}

.greeting-sign p {
    margin-bottom: 8px;
}

.greeting-sign strong {
    font-size: 20px;
    font-weight: 700;
    color: #222;
}


/* ====================================
   모바일 반응형
==================================== */

@media (max-width: 768px) {

    .values-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .values-section .three {
        grid-template-columns: 1fr;
    }

    .greeting-section {
        padding-top: 50px;
        padding-bottom: 60px;
    }

    .greeting-title h2 {
        font-size: 28px;
    }

    .greeting-content h3 {
        font-size: 23px;
        margin-bottom: 30px;
    }

    .greeting-content p {
        font-size: 16px;
        line-height: 1.9;
    }

    .greeting-content .greeting-hello {
        font-size: 18px;
    }

    .greeting-sign {
        margin-top: 40px;
    }

    .greeting-sign strong {
        font-size: 18px;
    }
}

/* 인사말 상단 - 좌측 문구, 우측 사진 */
.greeting-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 40px;
    margin-bottom: 40px;
}

/* 왼쪽 인사말 */
.greeting-top-text {
    min-width: 0;
}

.greeting-top-text h3 {
    font-size: 25px;
    line-height: 1.5;
    margin: 0 0 25px;
    color: #254D74;
}

/* 오른쪽 사진 영역 */
.greeting-photo {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 6px;
}

/* 사진 크기 */
.greeting-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 모바일 화면에서는 위아래 배치 */
@media (max-width: 768px) {
    .greeting-top {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .greeting-top-text h3 {
        font-size: 23px;
    }
}


/* =================================
   사업실적 갤러리
================================= */

.portfolio-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 40px;
    row-gap: 65px;
    margin-top: 45px;
}

/* 개별 사업실적 */
.portfolio-item {
    min-width: 0;
    text-align: left;
}

/* 사진 - 16:9 */
.portfolio-item img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 6px;
}

/* 사업명 */
.portfolio-item h3 {
    font-size: 21px;
    font-weight: 700;
    color: #222;
    margin: 18px 0 6px;
}

/* 설명 */
.portfolio-item p {
    font-size: 15px;
    line-height: 1.7;
    color: #777;
    margin: 0;
    word-break: keep-all;
}

/* 모바일에서는 1열 */
@media (max-width: 768px) {
    .portfolio-gallery {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 40px;
    }

    .portfolio-item h3 {
        font-size: 19px;
    }

    .portfolio-item p {
        font-size: 14px;
    }
}
