.site-footer { --section-content-width:1152px; background:#111; color:#aeaeae; color-scheme:dark; }
.site-footer__inner { min-height:401px; padding-top:47px; padding-bottom:20px; display:flex; flex-direction:column; justify-content:space-between; gap:72px; }
.site-footer__top { display:grid; grid-template-columns:minmax(0,500fr) minmax(0,494fr) 220px; gap:43px; }
.site-footer__brand { display:inline-flex; margin-top:14px; }
.site-footer__brand img { display:block; width:140px; height:auto; }
.site-footer__details { margin-top:32px; font-size:12px; line-height:21px; font-weight:500; }
.site-footer p { margin:0; }
.site-footer__details p + p { margin-top:1px; }
.site-footer__row { display:flex; flex-wrap:wrap; gap:0 12px; }
.site-footer__row span + span::before { content:'|'; color:#666; margin-right:12px; }
.site-footer a { color:inherit; text-decoration:none; }
.site-footer__nav { display:flex; justify-content:space-between; gap:20px; }
.site-footer__column h2 { font-size:15px; line-height:18px; font-weight:700; color:#e0e0e0; margin:0 0 12px; }
.site-footer__column ul { list-style:none; margin:0; padding:0; }
.site-footer__column li { font-size:13px; line-height:22px; font-weight:500; white-space:nowrap; }
.site-footer button { border:0; padding:0; background:none; color:inherit; font:inherit; text-align:left; }
.site-footer button:disabled { cursor:default; opacity:1; }
.site-footer__channels { display:flex; align-items:flex-start; justify-content:flex-end; gap:12px; }
.site-footer__download { display:flex; justify-content:center; align-items:center; width:168px; min-height:48px; border:1px solid #f9fafb; border-radius:100px; color:#fff!important; font-size:14px; line-height:21px; font-weight:600; transition:background 180ms ease; }
/* Mirrors .site-footer__top's column widths so the copyright line starts
   under "문의" instead of the far right; the certification block stays in
   the company column, unchanged from before. */
.site-footer__bottom { display:grid; grid-template-columns:minmax(0,500fr) minmax(0,494fr) 220px; column-gap:43px; align-items:end; }
.site-footer__certification { grid-column:1; display:flex; gap:12px; align-items:center; }
.site-footer__certification img { width:40px; height:36px; object-fit:contain; opacity:.6; }
.site-footer__certification p { font-size:12px; line-height:18px; color:#999; font-weight:400; }
.site-footer__copyright { grid-column:2; justify-self:start; font-family:Arial,sans-serif; font-size:13px; line-height:20px; color:#999; text-align:left; }
.site-footer a:focus-visible { outline:2px solid #00afff; outline-offset:4px; }
@media (hover:hover) { .site-footer a:hover { color:#fff; }.site-footer__download:hover { background:#ffffff12; } }
@media (max-width:1279px) {
  .site-footer__top { grid-template-columns:minmax(0,1fr) 220px; gap:40px; }
  .site-footer__company { grid-column:1 / -1; }
  .site-footer__nav { justify-content:flex-start; gap:48px; }
  .site-footer__brand { margin-top:0; }
  .site-footer__details { margin-top:24px; }
  /* "문의" sits flush left here (company no longer shares a row with it), so
     stack instead of mirroring the grid, or the copyright line would land on
     top of the certification block. */
  .site-footer__bottom { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
}
@media (max-width:689px) {
  .site-footer__inner { padding-top:40px; padding-bottom:28px; gap:40px; }
  .site-footer__top { grid-template-columns:1fr; gap:32px; }
  .site-footer__nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
  .site-footer__channels { flex-wrap:wrap; justify-content:flex-start; gap:12px; }
  .site-footer__copyright { font-size:12px; }
  .site-footer__row { display:block; }.site-footer__row span { display:inline; }.site-footer__row span + span::before { margin:0 12px; }
  .site-footer__details { max-width:100%; word-break:keep-all; overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) { .site-footer__download { transition:none; } }
/* At the page end, legal details share the floating QR's bottom inset. */
@media (min-width:901px) {
  .site-footer__inner { padding-bottom:calc(var(--hero-bottom) + env(safe-area-inset-bottom,0px)); }
}

@media (max-width:689px) {
  .site-footer__column a { display:inline-block; padding-block:8px; }
  .site-footer__details a[href^="tel:"] { display:inline-block; padding-block:8px; }
}
