@charset "utf-8";

/* 메인 페이지의 섹션 링크를 부드럽게 이동합니다. */
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}

.mw-home {
    --hd-navy: #092b59;
    --hd-blue: #2257b6;
    --hd-ink: #182739;
    --hd-muted: #5f6f82;
    --hd-font-title: 2.375rem;
    --hd-font-subtitle: 1.5rem;
    --hd-font-body: 1.1rem;
    --hd-font-detail: 1rem;
    --hd-font-label: 0.8125rem;
    color: var(--hd-ink);
    background: #fff;
    font-weight: 400;
    font-size: var(--hd-font-body);
    line-height: 1.85;
    letter-spacing: -0.025em;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.mw-home *, .mw-home *::before, .mw-home *::after { box-sizing: border-box; }
.mw-home h1, .mw-home h2, .mw-home h3, .mw-home p, .mw-home dl, .mw-home dd { margin: 0; padding: 0; }
.mw-home a { color: inherit; text-decoration: none; }
.mw-home img { display: block; max-width: 100%; height: auto; }
.mw-home a:focus-visible { outline: 3px solid #638ede; outline-offset: 4px; }
.hd-shell { width: min(100% - 96px, 1240px); margin: 0 auto; }
.hd-section { padding: 96px 0; }
.hd-label { color: var(--hd-blue); font-size: var(--hd-font-label); font-weight: 700; line-height: 1.6; letter-spacing: 0.12em; }
.mw-home .hd-title { margin-top: 16px; color: var(--hd-ink); font-size: var(--hd-font-title); font-weight: 700; line-height: 1.45; letter-spacing: -0.04em; }
.mw-home .hd-description { margin-top: 25px; color: var(--hd-muted); font-size: var(--hd-font-body); line-height: 1.9; }
.hd-text-link { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; margin-top: 22px; color: var(--hd-navy) !important; font-size: var(--hd-font-detail); font-weight: 700; }
.hd-text-link i { font-size: 22px; transition: transform 0.2s; }
.hd-text-link:hover i { transform: translateX(5px); }
.hd-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 56px; padding: 15px 24px; border: 1px solid transparent; font-size: var(--hd-font-detail); font-weight: 600; line-height: 1.6; transition: background-color 0.2s, color 0.2s; }
.hd-button i { font-size: 22px; }
.mw-home .hd-button--white { color: #173354; background: #fff; }
.mw-home .hd-button--white:hover { color: #fff; background: var(--hd-blue); }
.mw-home .hd-button--outline { color: #fff; border-color: #ffffff8c; background: transparent; }
.mw-home .hd-button--outline:hover { background: #ffffff1f; }
.hd-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.hd-section-head p:not(.hd-label) { margin-top: 18px; color: var(--hd-muted); font-size: var(--hd-font-body); line-height: 1.85; }
.hd-section-head > .hd-text-link { flex-shrink: 0; margin-top: 0; }

/* 영상은 화면 높이를 채우며, 헤더는 테마의 투명/스크롤 스타일을 사용합니다. */
.hd-hero { position: relative; height: 100svh; min-height: 760px; max-height: 1080px; overflow: hidden; color: #fff; background: #102c48; }
.hd-video-media { position: absolute; inset: 0; background: #162d44; }
.hd-video-media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.hd-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #081d38bf, #081d3852 70%, #081d3829); pointer-events: none; }
.hd-hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; height: 100%; padding: 140px 0 110px; }
.hd-hero .hd-label { margin-bottom: 24px; color: #b8d1f7; }
.hd-hero h1 { color: #fff; font-size: clamp(42px, 4.5vw, 60px); font-weight: 700; line-height: 1.4; letter-spacing: -0.045em; }
.mw-home .hd-hero-description { margin-top: 28px; color: #dce5f1; font-size: var(--hd-font-body); line-height: 1.9; }
.hd-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

/* 기업 소개 */
.hd-corporate-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 90px; }
.hd-corporate-summary > p { color: var(--hd-muted); font-size: var(--hd-font-body); line-height: 1.9; }
.hd-corporate-summary .hd-text-link { margin-top: 18px; }
.hd-corporate-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 54px; padding-top: 30px; border-top: 1px solid #dbe2eb; }
.hd-corporate-values > div { padding: 0 34px; border-right: 1px solid #dbe2eb; }
.hd-corporate-values > div:first-child { padding-left: 0; }
.hd-corporate-values > div:last-child { padding-right: 0; border-right: 0; }
.hd-corporate-values h3 { color: #213d60; font-size: var(--hd-font-subtitle); font-weight: 700; line-height: 1.5; }
.hd-corporate-values p { margin-top: 10px; color: var(--hd-muted); font-size: var(--hd-font-detail); }

/* 주요 사업분야 */
.hd-pillar-business { background: #f3f5f8; scroll-margin-top: 80px; }
.hd-industry-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hd-industry-pillar { position: relative; display: block; overflow: hidden; height: 440px; background: #233a52; }
.hd-industry-pillar > img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.hd-industry-pillar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0b223000 25%, #0b2230ed 100%); }
.hd-industry-pillar > div { position: absolute; z-index: 1; right: 28px; bottom: 30px; left: 28px; color: #fff; }
.hd-industry-pillar h3 { display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: var(--hd-font-subtitle); font-weight: 600; line-height: 1.5; }
.hd-industry-pillar h3 i { flex-shrink: 0; font-size: 24px; }
.hd-industry-pillar p { margin-top: 15px; color: #d7e1ed; font-size: var(--hd-font-detail); line-height: 1.8; }
.hd-industry-pillar:hover > img { transform: scale(1.035); }
.hd-industry-secondary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 38px; }
.hd-industry-secondary a { padding: 24px 0 0; border-top: 1px solid #c4cfdb; }
.hd-industry-secondary h3 { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: var(--hd-font-subtitle); font-weight: 600; line-height: 1.5; }
.hd-industry-secondary i { flex-shrink: 0; color: #547294; font-size: 22px; }
.hd-industry-secondary p { margin-top: 12px; color: var(--hd-muted); font-size: var(--hd-font-detail); line-height: 1.85; }

/* 생산 설비 */
.hd-facilities-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 75px; }
.hd-facilities-image { height: 460px; }
.hd-facilities-image img { width: 100%; height: 100%; object-fit: cover; }
.hd-facilities-copy dl { margin-top: 28px; padding-top: 20px; border-top: 1px solid #dbe2eb; }
.hd-facilities-copy dl > div { display: flex; gap: 24px; padding: 7px 0; font-size: var(--hd-font-detail); }
.hd-facilities-copy dt { flex-shrink: 0; color: #314c6d; font-weight: 600; }
.hd-facilities-copy dd { color: var(--hd-muted); }

/* 제작 문의 */
.hd-contact { padding: 80px 0; color: #fff; background: #15334e; }
.hd-contact-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 90px; align-items: center; }
.hd-contact .hd-label { color: #a4c0df; }
.hd-contact-copy h2 { margin-top: 16px; font-size: var(--hd-font-title); font-weight: 700; line-height: 1.45; letter-spacing: -0.035em; }
.hd-contact-copy > p:not(.hd-label) { margin-top: 22px; color: #c1d0e1; font-size: var(--hd-font-body); line-height: 1.9; }
.hd-contact-copy .hd-button { margin-top: 28px; color: #163b5f; background: #fff; }
.hd-contact-copy .hd-button:hover { color: #fff; background: var(--hd-blue); }
.hd-contact-details { display: flex; flex-direction: column; gap: 22px; }
.hd-contact-details > a, .hd-contact-location { display: flex; align-items: baseline; gap: 26px; }
.hd-contact-details span { flex-shrink: 0; min-width: 64px; color: #b5c9df; font-size: var(--hd-font-detail); }
.hd-contact-details strong { min-width: 0; color: #fff; font-size: var(--hd-font-body); font-weight: 600; overflow-wrap: anywhere; }
.hd-contact-details .hd-contact-phone strong { font-size: 32px; line-height: 1.5; }
.hd-contact-location { margin-top: 4px; padding-top: 24px; border-top: 1px solid #ffffff30; }
.hd-contact-location p { color: #c1d0e1; font-size: var(--hd-font-detail); line-height: 1.9; }
.hd-contact-location a { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; margin-top: 10px; color: #fff; font-size: var(--hd-font-detail); font-weight: 600; }

@media (max-width: 1100px) {
    .hd-shell { width: calc(100% - 64px); }
    .hd-section { padding: 80px 0; }
    .hd-corporate-heading { gap: 48px; }
    .hd-corporate-values > div { padding: 0 24px; }
    .hd-industry-pillars { gap: 18px; }
    .hd-industry-pillar > div { left: 23px; right: 23px; bottom: 25px; }
    .hd-industry-secondary { gap: 26px; }
    .hd-facilities-inner { gap: 40px; }
    .hd-contact-inner { gap: 48px; }
    .hd-contact-details > a, .hd-contact-location { gap: 20px; }
}
@media (max-width: 900px) {
    .hd-corporate-heading { grid-template-columns: 1fr; gap: 28px; }
    .hd-facilities-inner { grid-template-columns: 1fr; gap: 36px; }
    .hd-facilities-image { height: 420px; }
    .hd-contact-inner { grid-template-columns: 1fr; gap: 42px; }
}
@media (max-width: 760px) {
    .mw-home {
        --hd-font-title: 1.875rem;
        --hd-font-subtitle: 1.375rem;
        --hd-font-body: 1rem;
        --hd-font-detail: 0.9375rem;
        --hd-font-label: 0.75rem;
    }
    .hd-shell { width: calc(100% - 40px); }
    .hd-section { padding: 64px 0; }
    .mw-home .hd-title { margin-top: 14px; }
    .mw-home .hd-description { margin-top: 22px; }
    .hd-text-link { gap: 20px; margin-top: 18px; }
    .hd-button { min-height: 54px; padding: 14px 18px; gap: 22px; }
    .hd-section-head { display: block; margin-bottom: 30px; }
    .hd-section-head > .hd-text-link { margin-top: 16px; }
    .hd-hero { min-height: 680px; max-height: 960px; }
    .hd-hero-content { padding: 110px 0 80px; }
    .hd-hero .hd-label { margin-bottom: 22px; }
    .hd-hero h1 { font-size: clamp(34px, 9vw, 44px); line-height: 1.45; }
    .mw-home .hd-hero-description { margin-top: 24px; }
    .hd-hero-actions { gap: 12px; margin-top: 30px; }
    .hd-corporate-values { grid-template-columns: 1fr; gap: 25px; margin-top: 34px; padding-top: 28px; }
    .hd-corporate-values > div { padding: 0; border: 0; }
    .hd-corporate-values p { margin-top: 7px; }
    .hd-industry-pillars { grid-template-columns: 1fr; gap: 22px; }
    .hd-industry-pillar { height: 370px; }
    .hd-industry-pillar > div { left: 24px; right: 24px; bottom: 26px; }
    .hd-industry-pillar p { margin-top: 12px; }
    .hd-industry-secondary { grid-template-columns: 1fr; gap: 26px; margin-top: 30px; }
    .hd-industry-secondary a { padding-top: 20px; }
    .hd-industry-secondary p { margin-top: 9px; }
    .hd-facilities-inner { gap: 30px; }
    .hd-facilities-image { height: 310px; }
    .hd-facilities-copy dl { margin-top: 24px; }
    .hd-facilities-copy dl > div { gap: 18px; }
    .hd-contact { padding: 60px 0; }
    .hd-contact-copy > p:not(.hd-label) { margin-top: 20px; }
    .hd-contact-details { gap: 18px; }
    .hd-contact-details > a, .hd-contact-location { gap: 18px; }
    .hd-contact-details span { min-width: 58px; }
    .hd-contact-details .hd-contact-phone strong { font-size: 28px; }
}
@media (max-width: 380px) {
    .hd-hero-actions .hd-button { padding-right: 14px; padding-left: 14px; gap: 16px; }
    .hd-industry-pillar { height: 350px; }
    .hd-contact-details > a, .hd-contact-location { gap: 14px; }
    .hd-contact-details .hd-contact-phone strong { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .mw-home *, .mw-home *::before, .mw-home *::after { transition: none !important; animation: none !important; }
}
