.footer { background: #f4f8fb; border-top: 1px solid var(--border); margin-top: 20px; } .grid { display: grid; gap: 40px; padding: 70px 24px 50px; } @media (min-width: 620px) { .grid { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 980px) { .grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } } .logo { width: auto; height: 56px; margin-bottom: 18px; } .tag { color: var(--muted); font-size: 14px; line-height: 2.1; margin: 0 0 18px; max-width: 320px; } .social { display: flex; gap: 10px; } .social a { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #fff; border: 1px solid var(--border); color: var(--brand); transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; } .social a:hover { background: var(--brand); color: #fff; transform: translateY(-3px); } .head { font-size: 16px; color: var(--heading); margin: 0 0 16px; position: relative; padding-bottom: 10px; } .head::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 36px; height: 2px; background: var(--cyan); } .list { display: flex; flex-direction: column; gap: 10px; color: var(--muted); font-size: 14px; } .list a:hover { color: var(--brand); } .insList { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; } .addr { color: var(--muted); font-size: 14px; margin: 0; line-height: 2; } .copyRow { background: #fff; border-top: 1px solid var(--border); padding: 16px 0; } .copyInner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; font-size: 12px; color: var(--muted); } .copyInner a { display: inline-flex; align-items: center; gap: 10px; color: var(--heading); font-weight: 500; } .copyInner a:hover { color: var(--brand); } .copyEn { font-family: var(--font-en); font-size: 10px; letter-spacing: 0.08em; color: var(--muted); text-transform: uppercase; } @media (max-width: 620px) { .copyInner { flex-direction: column; text-align: center; } .copyInner a { flex-direction: column; gap: 2px; } }