.home-footer-background { position: relative; isolation: isolate; overflow: hidden; background: var(--npr-gray); }
.home-footer-background::before { position: absolute; inset: 0; z-index: -1; background: url('/images/home/footer-maritime-it.webp') center / cover no-repeat; opacity: .06; filter: blur(3px); content: ''; pointer-events: none; }
.home-footer { --footer-muted: var(--npr-black); width: 100%; max-width: 1728px; margin: auto; padding: 48px 48px 64px; background: transparent; color: var(--npr-black); font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif; line-height: 1.6; text-align: left; word-break: keep-all; overflow-wrap: break-word; }
.home-footer, .home-footer * { box-sizing: border-box; }
.home-footer :is(h2, h3, p, address) { margin: 0; }
.home-footer a { color: inherit; text-decoration: none; }
.home-footer a:hover { text-decoration: underline; }
.home-footer a:focus-visible { outline: 2px solid var(--npr-black); outline-offset: 4px; }
.home-footer img { display: block; }
.home-footer-grid { display: grid; grid-template-columns: 160px minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.6fr); gap: 24px; margin-top: 32px; padding-top: 32px; border-top: 1px solid rgba(0,0,0,.16); }
.home-footer-brand img { width: 96px; height: 36px; object-fit: contain; }
.home-footer-column h2 { display: flex; align-items: center; min-height: 36px; margin-bottom: 24px; font-size: 14px; line-height: 20px; font-weight: 500; color: inherit; text-align: left; }
.home-footer-subcolumns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.home-footer-subcolumns h3 { margin-bottom: 12px; color: var(--footer-muted); font-size: 12px; line-height: 20px; font-weight: 500; }
.home-footer-column :is(a, span) { display: block; width: fit-content; margin-bottom: 16px; font-size: 14px; line-height: 28px; }
.home-footer-column h2 a { margin: 0; font-size: inherit; line-height: inherit; }
.home-footer-column [aria-disabled] { color: var(--footer-muted); }
.home-footer-address { font-size: 14px; line-height: 22px; }
.home-footer-address strong { font-weight: 500; }
.home-footer-address address { margin-top: 12px; font-style: normal; color: var(--footer-muted); }
.home-footer-phones { display: flex; gap: 72px; margin-top: 12px; color: var(--footer-muted); }
.home-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 32px; font-size: 14px; line-height: 22px; }
.home-footer-bottom small { font-size: 12px; color: var(--footer-muted); }
.home-footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.home-footer-links { display: flex; flex-wrap: wrap; gap: 24px; }
@media (max-width: 1200px) {
    .home-footer { padding-right: 32px; padding-left: 32px; }
    .home-footer-grid { grid-template-columns: 128px minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.6fr); gap: 20px; }
}
@media (max-width: 1024px) {
    .home-footer-background::before { background-size: auto 560px; background-position: right bottom; mask-image: linear-gradient(to top, #000 420px, transparent 560px); }
    .home-footer-grid { grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.6fr); }
    .home-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .home-footer-background::before { background-size: auto 480px; background-position: 80% bottom; mask-image: linear-gradient(to top, #000 380px, transparent 480px); }
    .home-footer { padding: 40px 20px 132px; }
    .home-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
    .home-footer-introduction { grid-column: 1 / -1; }
    .home-footer-column :is(a, span) { margin-bottom: 12px; }
    .home-footer-address { font-size: 12px; line-height: 20px; }
    .home-footer-phones { gap: 32px; flex-wrap: wrap; }
    .home-footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
}
