/* =========================================================
   한빛국제뉴스 인사말
========================================================= */
.hb_greeting {
    width:100%;
    color:var(--hb-text, #3d444c);
    font-size:18px;
    line-height:1.85;
    letter-spacing:-0.02em;
}

.hb_greeting_intro {
    display:grid;
    grid-template-columns:minmax(330px, 0.78fr) minmax(0, 1.22fr);
    align-items:center;
    gap:8%;
}

.hb_greeting_photo {
    position:relative;
}

.hb_greeting_photo_inner {
    position:relative;
    overflow:hidden;
    width:100%;
    background:#eef2f5;
    aspect-ratio:4 / 5;
}

.hb_greeting_photo_inner:after {
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    width:42%;
    height:5px;
    background:var(--hb-blue, #0788c9);
}

.hb_greeting_photo img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.hb_greeting_profile {
    position:relative;
    width:calc(100% - 40px);
    margin:-42px 0 0 40px;
    padding:22px 26px;
    background:var(--hb-navy, #07345b);
    color:#fff;
}

.hb_greeting_profile > span {
    display:block;
    margin-bottom:3px;
    color:rgba(255,255,255,0.7);
    font-size:14px;
    font-weight:500;
}

.hb_greeting_profile p {
    margin:0;
    color:#fff;
    font-size:16px;
}

.hb_greeting_profile strong {
    margin-left:8px;
    font-size:22px;
    letter-spacing:0.14em;
}

.hb_greeting_eyebrow {
    display:block;
    margin-bottom:30px;
    color:var(--hb-blue, #0788c9);
    font-size:14px;
    line-height:1;
    font-weight:700;
    letter-spacing:0.12em;
}

.hb_greeting_content h2 {
    margin:0;
    color:var(--hb-black, #171a1f);
    font-size:clamp(34px, 3.2vw, 44px);
    line-height:1.3;
    font-weight:700;
    letter-spacing:-0.02em;
}

.hb_greeting_lead {
    position:relative;
    margin:30px 0 !important;
    color:var(--hb-navy, #07345b);
    font-size:clamp(21px, 2vw, 28px);
    line-height:1.55;
    font-weight:700;
    letter-spacing:-0.035em;
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
}

.hb_greeting_text p {
    margin:0 0 22px;
    word-break:keep-all;
}

.hb_greeting_text p:last-child {
    margin-bottom:0;
}

.hb_greeting_text strong {
    color:var(--hb-navy, #07345b);
    font-weight:700;
}

.hb_greeting_promise {
    margin-top:110px;
    padding:75px 6%;
    background:var(--hb-bg, #f5f7f9);
}

.hb_greeting_section_title {
    margin-bottom:42px;
    text-align:center;
}

.hb_greeting_section_title > span {
    display:block;
    margin-bottom:12px;
    color:var(--hb-blue, #0788c9);
    font-size:13px;
    font-weight:700;
    letter-spacing:0.15em;
}

.hb_greeting_section_title h3 {
    margin:0 0 14px;
    color:var(--hb-black, #171a1f);
    font-size:36px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:-0.04em;
}

.hb_greeting_section_title p {
    color:var(--hb-gray, #737b84);
    font-size:18px;
}

.hb_greeting_promise_list {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}

.hb_greeting_promise_item {
    position:relative;
    min-height:250px;
    padding:34px 30px;
    border-top:3px solid var(--hb-navy, #07345b);
    background:#fff;
    transition:transform 0.25s ease, border-color 0.25s ease;
}

.hb_greeting_promise_item:hover {
    border-color:var(--hb-blue, #0788c9);
    transform:translateY(-5px);
}

.hb_greeting_number {
    display:block;
    margin-bottom:42px;
    color:var(--hb-blue, #0788c9);
    font-size:17px;
    line-height:1;
    font-weight:700;
    letter-spacing:0.08em;
}

.hb_greeting_promise_item h4 {
    margin:0 0 13px;
    color:var(--hb-black, #171a1f);
    font-size:26px;
    line-height:1.4;
    font-weight:700;
}

.hb_greeting_promise_item p {
    color:var(--hb-gray, #737b84);
    font-size:17px;
    line-height:1.75;
    word-break:keep-all;
}

.hb_greeting_closing {
    position:relative;
    display:grid;
    grid-template-columns:100px minmax(0, 1fr);
    gap:35px;
    margin-top:100px;
    padding:65px 7%;
    border-top:1px solid var(--hb-line, #dce2e7);
    border-bottom:1px solid var(--hb-line, #dce2e7);
}

.hb_greeting_quote {
    color:var(--hb-blue, #0788c9);
    font-family:Georgia, serif;
    font-size:110px;
    line-height:0.8;
}

.hb_greeting_closing_text > p {
    margin:0 0 20px;
    word-break:keep-all;
}

.hb_greeting_sign {
    margin-top:40px;
    text-align:right;
}

.hb_greeting_sign > span {
    display:block;
    margin-bottom:6px;
    color:var(--hb-gray, #737b84);
    font-size:16px;
}

.hb_greeting-sign p {
    margin:0;
}

.hb_greeting_sign strong {
    margin-left:8px;
    color:var(--hb-black, #171a1f);
    font-size:21px;
    letter-spacing:0.12em;
}

@media (max-width:1050px) {
    .hb_greeting_intro {
        grid-template-columns:minmax(290px, 0.75fr) minmax(0, 1.25fr);
        gap:6%;
    }

    .hb_greeting_promise {
        padding:65px 4%;
    }

    .hb_greeting_promise_item {
        padding:28px 23px;
    }
}

@media (max-width:767px) {
    .hb_greeting {
        font-size:16px;
        line-height:1.8;
    }

    .hb_greeting_intro {
        display:block;
    }

    .hb_greeting_photo {
        max-width:500px;
        margin:0 auto 55px;
    }

    .hb_greeting_profile {
        width:calc(100% - 25px);
        margin:-35px 0 0 25px;
        padding:18px 20px;
    }

    .hb_greeting_content {
        padding-top:0;
    }

    .hb_greeting_eyebrow {
        margin-bottom:14px;
    }

    .hb_greeting_content h2 {
        font-size:30px;
    }

    .hb_greeting_lead {
        margin:25px 0 !important;
        font-size:21px;
    }

    .hb_greeting_promise {
        margin-top:60px;
        padding:50px 20px;
    }

    .hb_greeting_section_title {
        margin-bottom:30px;
        text-align:left;
    }

    .hb_greeting_section_title h3 {
        font-size:25px;
    }

    .hb_greeting_promise_list {
        grid-template-columns:1fr;
        gap:12px;
    }

    .hb_greeting_promise_item {
        min-height:0;
        padding:25px 22px;
    }

    .hb_greeting_number {
        margin-bottom:22px;
    }

    .hb_greeting_promise_item h4 {
        font-size:20px;
    }

    .hb_greeting_closing {
        display:block;
        margin-top:60px;
        padding:45px 20px;
    }

    .hb_greeting_quote {
        display:block;
        height:55px;
        font-size:80px;
    }

    .hb_greeting_sign {
        margin-top:30px;
    }
}



/* =========================================================
   한빛국제뉴스 오시는 길
========================================================= */
.hb_location {
    width:100%;
    color:var(--hb-text, #3d444c);
    font-size:17px;
    line-height:1.75;
    letter-spacing:-0.02em;
}

.hb_location_heading {
    margin-bottom:42px;
}

.hb_location_eyebrow {
    display:block;
    margin-bottom:14px;
    color:var(--hb-blue, #0788c9);
    font-size:14px;
    line-height:1;
    font-weight:700;
    letter-spacing:0.14em;
}

.hb_location_heading h2 {
    margin:0 0 14px;
    color:var(--hb-black, #171a1f);
    font-size:clamp(34px, 3.2vw, 44px);
    line-height:1.3;
    font-weight:700;
    letter-spacing:-0.02em;
}

.hb_location_heading p {
    margin:0;
    color:var(--hb-gray, #737b84);
    font-size:18px;
}

.hb_location_map {
    position:relative;
    overflow:hidden;
    width:100%;
    min-height:450px;
    border-top:3px solid var(--hb-navy, #07345b);
    background:#eef2f5;
}

.hb_location_map .root_daum_roughmap {
    width:100% !important;
}

.hb_location_map .root_daum_roughmap .wrap_map {
    height:450px !important;
}

.hb_location_map .root_daum_roughmap .wrap_controllers {
    display:none;
}

.hb_location_info {
    display:grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(360px, 0.75fr);
    border-right:1px solid var(--hb-line, #dce2e7);
    border-bottom:1px solid var(--hb-line, #dce2e7);
    border-left:1px solid var(--hb-line, #dce2e7);
}

.hb_location_company {
    padding:52px 5%;
}

.hb_location_label {
    display:block;
    margin-bottom:9px;
    color:var(--hb-blue, #0788c9);
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:0.12em;
}

.hb_location_company > h3 {
    margin:0 0 35px;
    color:var(--hb-navy, #07345b);
    font-size:32px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:-0.035em;
}

.hb_location_contact {
    margin:0;
}

.hb_location_contact > div {
    display:grid;
    grid-template-columns:115px minmax(0, 1fr);
    gap:18px;
    padding:13px 0;
    border-top:1px solid var(--hb-line, #dce2e7);
}

.hb_location_contact > div:last-child {

}

.hb_location_contact > div:first-child {
    border-top: none;
}

.hb_location_contact dt {
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--hb-black, #171a1f);
    font-size:17px;
    font-weight:700;
}

.hb_location_contact dt svg {
    width:19px;
    height:19px;
    fill:none;
    stroke:var(--hb-blue, #0788c9);
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:none;
}

.hb_location_contact dd {
    min-width:0;
    margin:0;
    color:var(--hb-text, #3d444c);
    font-size:17px;
    word-break:keep-all;
}

.hb_location_contact dd a {
    color:inherit;
    text-decoration:none;
}

.hb_location_contact dd a:hover {
    color:var(--hb-blue, #0788c9);
}

.hb_location_transport {
    display:grid;
    grid-template-rows:repeat(2, minmax(0, 1fr));
    border-left:1px solid var(--hb-line, #dce2e7);
    background:var(--hb-bg, #f5f7f9);
}

.hb_location_transport_item {
    display:grid;
    grid-template-columns:54px minmax(0, 1fr);
    align-items:start;
    gap:20px;
    padding:49px 38px;
}

.hb_location_transport_item + .hb_location_transport_item {
    border-top:1px solid var(--hb-line, #dce2e7);
}

.hb_location_transport_icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    border-radius:50%;
    background:var(--hb-navy, #07345b);
    color:#fff;
}

.hb_location_transport_icon svg {
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.hb_location_transport_en {
    display:block;
    margin-bottom:8px;
    color:var(--hb-blue, #0788c9);
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:0.12em;
}

.hb_location_transport_item h3 {
    margin:0 0 12px;
    color:var(--hb-black, #171a1f);
    font-size:26px;
    line-height:1.0;
    font-weight:700;
}

.hb_location_transport_item p {
    margin:0;
    color:var(--hb-gray, #737b84);
    font-size:17px;
    line-height:1.65;
    word-break:keep-all;
}

.hb_location_transport_item strong {
    color:var(--hb-text, #3d444c);
    font-weight:600;
}

.hb_location_notice {
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:20px;
    padding:16px 20px;
    background:#f4f8fb;
    color:var(--hb-gray, #737b84);
    font-size:14px;
}

.hb_location_notice svg {
    width:18px;
    height:18px;
    fill:none;
    stroke:var(--hb-blue, #0788c9);
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:none;
}

.hb_location_notice p {
    margin:0;
}

@media (max-width:900px) {
    .hb_location_info {
        grid-template-columns:1fr;
    }

    .hb_location_transport {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        grid-template-rows:none;
        border-top:1px solid var(--hb-line, #dce2e7);
        border-left:0;
    }

    .hb_location_transport_item + .hb_location_transport_item {
        border-top:0;
        border-left:1px solid var(--hb-line, #dce2e7);
    }
}

@media (max-width:767px) {
    .hb_location {
        font-size:16px;
    }

    .hb_location_heading {
        margin-bottom:28px;
    }

    .hb_location_heading h2 {
        font-size:28px;
    }

    .hb_location-heading p {
        font-size:16px;
    }

    .hb_location_map {
        min-height:350px;
    }

    .hb_location_map .root_daum_roughmap .wrap_map {
        height:350px !important;
    }

    .hb_location_company {
        padding:35px 22px;
    }

    .hb_location_company > h3 {
        margin-bottom:25px;
        font-size:24px;
    }

    .hb_location_contact > div {
        display:block;
        padding:14px 0;
    }

    .hb_location_contact dt {
        margin-bottom:7px;
    }

    .hb_location_contact dd {
        padding-left:28px;
        font-size:15px;
    }

    .hb_location_transport {
        display:block;
    }

    .hb_location_transport_item {
        grid-template-columns:45px minmax(0, 1fr);
        gap:15px;
        padding:28px 22px;
    }

    .hb_location_transport_item + .hb_location_transport_item {
        border-top:1px solid var(--hb-line, #dce2e7);
        border-left:0;
    }

    .hb_location_transport_icon {
        width:45px;
        height:45px;
    }

    .hb_location_transport_icon svg {
        width:22px;
        height:22px;
    }

    .hb_location_transport_item h3 {
        font-size:19px;
    }

    .hb_location_notice {
        align-items:flex-start;
        padding:14px 16px;
        font-size:13px;
    }
}



/* =========================================================
   한빛국제뉴스 조직안내
========================================================= */
.hb_org {
    width:100%;
    color:#18212b;
    word-break:keep-all;
}

/* 상단 제목 */
.hb_org_intro {
    position:relative;
    margin:0 0 70px;
    padding:0;
    overflow:visible;
    background:none;
    color:#171b20;
    text-align:left;
}

.hb_org_intro::before,
.hb_org_intro::after {
    display:none;
}

.hb_org_intro > * {
    position:relative;
    z-index:auto;
}

.hb_org_eyebrow {
    display:block;
    margin:0 0 15px;
    color:#168bc4;
    font-size:13px;
    line-height:1.4;
    font-weight:800;
    letter-spacing:.16em;
}

.hb_org_intro h2 {
    margin:0;
    padding:0;
    color:#171b20;
    font-size:40px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.04em;
}

.hb_org_intro p {
    margin:18px 0 0;
    color:#828b94;
    font-size:17px;
    line-height:1.7;
    font-weight:400;
}

/* 조직도 */
.hb_org_chart {
    position:relative;
    padding:0 0 90px;
    text-align:center;
}

.hb_org_company,
.hb_org_ceo {
    position:relative;
    width:300px;
    margin:0 auto;
    padding:25px 25px 27px;
    border-radius:8px;
    box-sizing:border-box;
}

.hb_org_company {
    background:#073f68;
    box-shadow:0 15px 35px rgba(7,63,104,.18);
    color:#fff;
}

.hb_org_company span,
.hb_org_ceo span {
    display:block;
    margin-bottom:7px;
    font-size:13px;
    line-height:1.4;
    font-weight:700;
}

.hb_org_company span {
    color:#8fd7fa;
}

.hb_org_company strong {
    display:block;
    color:#fff;
    font-size:25px;
    line-height:1.4;
    font-weight:800;
}

.hb_org_line {
    width:1px;
    height:36px;
    margin:0 auto;
    background:#9db0be;
}

.hb_org_ceo {
    border:2px solid #148bc5;
    background:#fff;
    box-shadow:0 12px 28px rgba(23,52,73,.09);
}

.hb_org_ceo span {
    color:#1689c2;
}

.hb_org_ceo strong {
    display:block;
    color:#0a3e63;
    font-size:22px;
    line-height:1.4;
    font-weight:800;
}

.hb_org_branch {
    position:relative;
    width:calc(76% + 2px);
    height:50px;
    margin:50px auto 0;
    border-top:1px solid #b4c2cc;
}

.hb_org_branch::before {
    content:"";
    position:absolute;
    top:-51px;
    left:50%;
    width:1px;
    height:51px;
    background:#b4c2cc;
    transform:translateX(-50%);
}

.hb_org_departments {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:20px;
}

.hb_org_department {
    position:relative;
    min-width:0;
    padding:32px 20px 29px;
    border:1px solid #dce4e9;
    border-top:3px solid #168bc4;
    background:#fff;
    box-shadow:0 12px 30px rgba(14,49,73,.06);
    transition:
        transform .25s,
        border-color .25s,
        box-shadow .25s;
}

.hb_org_department::before {
    content:"";
    position:absolute;
    top:-53px;
    left:50%;
    width:1px;
    height:50px;
    background:#b4c2cc;
}

.hb_org_department:hover {
    border-color:#168bc4;
    box-shadow:0 18px 38px rgba(14,75,112,.12);
}

.hb_org_department_icon {
    display:block;
    width:9px;
    height:9px;
    margin:0 auto 18px;
    border-radius:50%;
    background:#19a0dc;
    box-shadow:0 0 0 7px #e8f6fc;
}

.hb_org_department h3 {
    margin:0 0 13px;
    padding:0;
    color:#102d43;
    font-size:19px;
    line-height:1.4;
    font-weight:800;
}

.hb_org_department a {
    display:inline-block;
    color:#667785;
    font-size:16px;
    line-height:1.5;
    font-weight:600;
    text-decoration:none;
}

.hb_org_department a:hover {
    color:#168bc4;
}

/* 전국 제휴 네트워크 */
.hb_org_network {
    padding:65px 55px;
    background:#f4f8fb;
}

.hb_org_network_heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:38px;
    padding-bottom:25px;
    border-bottom:1px solid #d5e0e7;
}

.hb_org_network_heading > div {
    flex:none;
}

.hb_org_network_heading span {
    display:block;
    margin-bottom:9px;
    color:#168bc4;
    font-size:12px;
    line-height:1.4;
    font-weight:800;
    letter-spacing:.14em;
}

.hb_org_network_heading h2 {
    margin:0;
    padding:0;
    color:#102d43;
    font-size:31px;
    line-height:1.35;
    font-weight:800;
    letter-spacing:-.03em;
}

.hb_org_network_heading p {
    width:48%;
    margin:0;
    color:#667785;
    font-size:16px;
    line-height:1.75;
    text-align:right;
}

.hb_org_partner_list {
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.hb_org_partner_list li {
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
    padding:18px 17px;
    border:1px solid #dce5eb;
    background:#fff;
    box-sizing:border-box;
    transition:
        border-color .2s,
        background-color .2s,
        transform .2s;
}

.hb_org_partner_list li:hover {
    border-color:#168bc4;
    background:#f8fcfe;
    transform:translateY(-3px);
}

.hb_org_partner_list li span {
    flex:none;
    color:#26a3dc;
    font-size:12px;
    line-height:1;
    font-weight:800;
}

.hb_org_partner_list li strong {
    min-width:0;
    color:#273b4b;
    font-size:16px;
    line-height:1.4;
    font-weight:700;
}

/* 태블릿 */
@media (max-width:1024px) {
    .hb_org_departments {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:45px 18px;
    }

    .hb_org_branch {
        display:none;
    }

    .hb_org_ceo {
        margin-bottom:50px;
    }

    .hb_org_department::before {
        top:-48px;
        height:45px;
    }

    .hb_org_partner_list {
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

/* 모바일 */
@media (max-width:768px) {
    .hb_org_intro {
        margin-bottom:50px;
        padding:0;
    }

    .hb_org_eyebrow {
        margin-bottom:11px;
        font-size:12px;
    }

    .hb_org_intro h2 {
        font-size:29px;
    }

    .hb_org_intro p {
        margin-top:13px;
        font-size:15px;
    }

    .hb_org_chart {
        padding-bottom:65px;
    }

    .hb_org_company,
    .hb_org_ceo {
        width:82%;
        max-width:300px;
    }

    .hb_org_company strong {
        font-size:22px;
    }

    .hb_org_line {
        height:30px;
    }

    .hb_org_ceo {
        margin-bottom:25px;
    }

    .hb_org_ceo strong {
        font-size:20px;
    }

    .hb_org_departments {
        grid-template-columns:1fr;
        gap:16px;
    }

    .hb_org_department {
        padding:25px 18px;
    }

    .hb_org_department::before {
        display:none;
    }

    .hb_org_department:hover {
        transform:none;
    }

    .hb_org_network {
        padding:45px 20px;
    }

    .hb_org_network_heading {
        display:block;
        margin-bottom:25px;
        padding-bottom:22px;
    }

    .hb_org_network_heading h2 {
        font-size:25px;
    }

    .hb_org_network_heading p {
        width:100%;
        margin-top:15px;
        font-size:15px;
        text-align:left;
    }

    .hb_org_partner_list {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:9px;
    }

    .hb_org_partner_list li {
        gap:8px;
        padding:15px 12px;
    }

    .hb_org_partner_list li strong {
        font-size:14px;
    }
}

@media (max-width:420px) {
    .hb_org_intro h2 {
        font-size:27px;
    }

    .hb_org_partner_list {
        grid-template-columns:1fr;
    }
}