@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

.greeting-section {
    position: relative;
    width: 100%;
    max-width: 1920px;
    min-height: 900px;
    margin: 0 auto;
    box-sizing: border-box;
    background: #f6f7f9;
    color: #092746;
    font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.greeting-bg-text {
    position: absolute;
    top: -72px;
    left: 47%;
    z-index: 0;
    margin: 0;
    font-size: 200px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: rgba(12, 25, 42, 0.045);
    white-space: nowrap;
    pointer-events: none;
}

.greeting-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 780px) minmax(360px, 600px);
    gap: 42px;
    align-items: start;
    width: 100%;
    max-width: 1390px;
    margin: 0 auto;
}

.greeting-copy {
    padding-top: 12px;
}

.greeting-eyebrow {
    margin: 0 0 24px;
    color: #c88929;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 5px;
}

.greeting-copy h2 {
    margin: 0;
    color: #092746;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: 0;
}

.greeting-line {
    display: block;
    width: 92px;
    height: 6px;
    margin: 42px 0 38px;
    background: #c88929;
}

.greeting-lead {
    display: block;
    max-width: 600px;
    margin: 0 0 40px;
    color: #092746;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0;
    word-break: keep-all;
}

.greeting-text-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 42px;
    padding-bottom: 58px;
}

.greeting-text-grid p {
    margin: 0 0 30px;
    color: #4f5b68;
    font-size: 18px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
    word-break: keep-all;
}

.greeting-text-grid p:last-child {
    margin-bottom: 0;
}

.greeting-text-grid .greeting-quote {
    margin-top: 6px;
    color: #092746;
    font-weight: 800;
    line-height: 1.75;
}

.greeting-bottom {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding-top: 58px;
}

.greeting-sign p {
    margin: 0 0 20px;
    color: #697480;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0;
}

.greeting-names {
    display: flex;
    align-items: center;
    gap: 24px;
}

.greeting-names span {
    color: #092746;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
}

.greeting-names i {
    position: relative;
    display: block;
    width: 75px;
    height: 40px;
    background-image: url(../images/sub/sign.jpg);
    background-position: center;
    background-repeat: no-repeat;
}

.greeting-roles {
    display: flex;
    gap: 34px;
    margin-top: 10px;
}

.greeting-roles span {
    color: #687480;
    font-size: 13px;
    line-height: 1.4;
}

.greeting-stats {
    display: flex;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.greeting-stats li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 114px;
    box-sizing: border-box;
    border: 1px solid #d4d9df;
    border-radius: 8px;
    background: #f1f3f5;
}

.greeting-stats strong {
    font-family: "Plus Jakarta Sans", sans-serif;
    color: #c88929;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}

.greeting-stats strong span {
    font-size: 19px;
    font-weight: 400;
}

.greeting-stats p {
    margin: 10px 0 0;
    color: #5f6974;
    font-size: 13px;
    line-height: 1;
}

.greeting-visual {
    position: relative;
    min-height: 720px;
    padding-top: 30px;
}

.greeting-visual::before {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -48px;
    width: 513px;
    height: 678px;
    border: 1px solid rgba(200, 137, 41, 0.35);
    border-radius: 14px;
}

.greeting-photo {
    position: relative;
    z-index: 1;
    width: 533px;
    height: 677px;
    margin-left: 70px;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 22px 42px rgba(9, 39, 70, 0.2);
    overflow: hidden;
}

.greeting-photo img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    object-fit: cover;
}

.greeting-photo-caption {
    position: absolute;
    left: 45px;
    bottom: 42px;
    color: #fff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.28);
}

.greeting-photo-caption strong,
.greeting-photo-caption span {
    display: block;
    letter-spacing: 0;
}

.greeting-photo-caption strong {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

.greeting-photo-caption span {
    margin-top: 4px;
    font-size: 11px;
    font-weight: 300;
    line-height: 1.4;
}

@media (max-width: 1400px) {
    .greeting-section {
        min-height: auto;
    }

    .greeting-inner {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 480px);
        gap: 36px;
    }

    .greeting-photo {
        width: 460px;
        height: 614px;
        margin-left: 32px;
    }

    .greeting-visual {
        min-height: 575px;
    }

    .greeting-visual::before {
        width: 460px;
        height: 600px;
    }

    .greeting-bg-text {
        font-size: 130px;
        transform: translateX(-12%);
    }
}

@media (max-width: 1024px) {
    .greeting-inner {
        grid-template-columns: 1fr;
    }

    .greeting-visual {
        min-height: auto;
    }

    .greeting-visual::before {
        right: -28px;
        bottom: -24px;
        width: min(80vw, 520px);
        height: min(105vw, 680px);
    }

    .greeting-photo {
        width: min(78vw, 520px);
        height: min(104vw, 690px);
        margin: 0 auto;
    }

    .greeting-bg-text {
        top: 54px;
        left: 42%;
        font-size: 96px;
    }
}

@media (max-width: 768px) {
    .greeting-section {
    }

    .greeting-bg-text {
        top: 34px;
        left: 20px;
        transform: none;
        font-size: 58px;
    }

    .greeting-eyebrow {
        margin-bottom: 18px;
        font-size: 12px;
        letter-spacing: 3px;
    }

    .greeting-copy h2 {
        font-size: 31px;
    }

    .greeting-line {
        width: 70px;
        height: 4px;
        margin: 28px 0;
    }

    .greeting-lead {
        font-size: 18px;
        line-height: 1.65;
    }

    .greeting-text-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-bottom: 38px;
    }

    .greeting-text-grid p {
        margin-bottom: 20px;
        font-size: 15px;
        line-height: 1.85;
    }

    .greeting-bottom {
        flex-direction: column;
        padding-top: 38px;
    }

    .greeting-stats li {
        width: 88px;
        height: 88px;
    }

    .greeting-photo {
        width: 100%;
        height: auto;
        aspect-ratio: 585 / 780;
    }

    .greeting-photo-caption {
        left: 32px;
        bottom: 32px;
    }
}

.business-tabs-wrap {
    position: relative;
    width: 100%;
    background: #050505;
}

.business-tabs {
    width: 100%;
    overflow-x: auto;
    background: #050505;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.business-tabs__more {
    display: none;
}

.business-tabs::-webkit-scrollbar {
    display: none;
}

.business-tabs__inner {
    display: flex;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.business-tabs__link {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    box-sizing: border-box;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .2s ease;
}

.business-tabs__link:hover,
.business-tabs__link:focus-visible,
.business-tabs__link.active {
    background: #8b6840;
    color: #fff;
}

.business-area {
    width: 100%;
    min-height: 1064px;
    margin-bottom: 60px;
    box-sizing: border-box;
    background: #f6f7f9;
    color: #092746;
    font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.business-inner {
    width: 100%;
    max-width: 1390px;
    margin: 0 auto;
}

.business-eyebrow {
    margin: 0 0 20px;
    color: #c88929;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 6px;
}

.business-area h2 {
    margin: 0;
    color: #092746;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.34;
    letter-spacing: 0;
    word-break: keep-all;
}

.business-area h2 strong {
    color: #c88929;
    font-weight: 800;
}

.business-line {
    display: block;
    width: 94px;
    height: 6px;
    margin: 42px 0 58px;
    background: #c88929;
}

.business-definition {
    width: 100%;
    min-height: 170px;
    padding: 42px 39px 36px;
    box-sizing: border-box;
    border: 1px solid #cdd3da;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.76);
}

.business-definition h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 24px;
    color: #092746;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
}

.business-definition h3 span {
   background-image: url(../images/sub/business_icon.png);
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    background-position: center;
    background-repeat: no-repeat;
}

.business-definition p {
    margin: 0;
    color: #3d4752;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0;
    word-break: keep-all;
}

.business-title {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 96px 0 48px;
}

.business-title span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #092746;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

.business-title h3 {
    margin: 0;
    color: #092746;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}

.business-card-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.business-card-list li {
    min-height: 273px;
    padding: 30px 29px 28px;
    box-sizing: border-box;
    border: 1px solid #cdd3da;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.82);
}

.business-icon {
    position: relative;
    display: block;
    width: 57px;
    height: 57px;
    margin-bottom: 23px;
    border-radius: 5px;
    background-color: #f0f2f4;
    background-position: center;
    background-repeat: no-repeat;
}

.business-icon-pin {
    background-image: url(../images/sub/business6_pin.png);
}

.business-icon-home {
    background-image: url(../images/sub/business6_home.png);
}

.business-icon-plan {
    background-image: url(../images/sub/business6_plan.png);
}

.business-icon-city {
    background-image: url(../images/sub/business6_city.png);
}

.business-icon-train {
    background-image: url(../images/sub/business6_train.png);
}

.business-icon-bolt {
    background-image: url(../images/sub/business6_bolt.png);
}

.business-card-list h4 {
    margin: 0 0 13px;
    color: #111820;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.38;
    letter-spacing: 0;
    word-break: keep-all;
}

.business-card-list p {
    margin: 0;
    color: #28333f;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0;
    word-break: keep-all;
}

@media (max-width: 1200px) {
    .business-area {
    }

    .business-card-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .business-tabs__more {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 58px;
        height: 42px;
        padding: 0 9px 0 22px;
        border: 0;
        background: linear-gradient(90deg, rgba(5,5,5,0), #050505 48%);
        color: #fff;
        cursor: pointer;
        transition: opacity .2s ease;
    }

    .business-tabs__more span {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 25px;
        height: 25px;
        border: 1px solid rgba(255,255,255,.7);
        border-radius: 50%;
        font-size: 24px;
        line-height: 1;
    }

    .business-tabs__more.is-hidden {
        opacity: 0;
        pointer-events: none;
    }

    .business-tabs__inner {
        width: max-content;
        min-width: 100%;
    }

    .business-tabs__link {
        flex: 1 0 auto;
        min-height: 42px;
        padding: 0 16px;
        font-size: 13px;
    }

    .business-area {
        min-height: auto;
        padding-top: 40px;
    }

    .business-eyebrow {
        font-size: 12px;
        letter-spacing: 4px;
    }

    .business-area h2 {
        font-size: 30px;
    }

    .business-line {
        width: 74px;
        height: 4px;
        margin: 30px 0 34px;
    }

    .business-definition {
        min-height: auto;
        padding: 28px 22px;
    }

    .business-definition h3 {
        align-items: flex-start;
        font-size: 20px;
    }

    .business-definition p {
        font-size: 15px;
        line-height: 1.8;
    }

    .business-title {
        margin: 58px 0 28px;
    }

    .business-title span {
        width: 40px;
        height: 40px;
        font-size: 15px;
    }

    .business-title h3 {
        font-size: 23px;
    }

    .business-card-list {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .business-card-list li {
        min-height: auto;
        padding: 26px 22px 24px;
    }

    .business-card-list h4 {
        font-size: 19px;
    }
}

.business-card-list--plain li {
    min-height: 260px;
    padding: 30px 25px 28px;
}

.business-card-list--plain h4 {
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #d8dde4;
    color: #092746;
}

.business-title--process {
    align-items: flex-start;
    margin-top: 96px;
    margin-bottom: 22px;
}

/* 섹션 구분선 */
.business-divider {
    display: block;
    width: 50%;
    height: 3px;
    margin: 72px 0 0;
    padding: 0;
    border: 0;
    background: #cdd3da;
    justify-self: anchor-center;
}

.business-divider + .business-title--process {
    margin-top: 72px;
}

@media (max-width: 768px) {
    .business-divider {
        margin-top: 44px;
    }

    .business-divider + .business-title--process {
        margin-top: 44px;
    }
}

.business-title--process h3 {
    margin-bottom: 18px;
}

.business-title--process p {
    margin: 0;
    color: #6d7680;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}

.business-process-image {
    width: 100%;
    overflow: hidden;
}

.business-process-image a {
    display: block;
    width: 100%;
}

.business-process-image img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 1200px) {
    .business-card-list--plain {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .business-card-list--plain {
        grid-template-columns: 1fr;
    }

    .business-card-list--plain li {
        min-height: auto;
    }
}

@media (max-width: 768px) {
    .business-title--process {
        margin-top: 58px;
    }

    .business-title--process h3 {
        margin-bottom: 10px;
    }

    .business-process-image,
    .business-process-image a {
    }
}
