/* Common public footer, matching the approved homepage navigation layout. */
:root footer.footer:has(.micron-footer__wrapper) { width:100%; margin:0; padding:0; border:0; background:#0a0a0a; color:#fff; font-family:Inter,Pretendard,sans-serif; }
:root footer.footer .micron-footer__wrapper { width:100%; background:#0a0a0a; }
:root footer.footer .micron-footer__container { width:100%; max-width:1440px; margin:0 auto; padding:0 48px; box-sizing:border-box; }
:root footer.footer .micron-footer__nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px; padding:40px 0; }
:root footer.footer .micron-nav-col { display:flex; flex-direction:column; gap:28px; min-width:0; }
:root footer.footer .micron-col-title { margin:0 0 16px; color:#fff; font-size:15.5px; font-weight:700; line-height:1.25; }
:root footer.footer .micron-nav-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
:root footer.footer .micron-nav-list li { list-style:none; margin:0; padding:0; }
:root footer.footer .micron-nav-list a { display:inline-block; color:#fff; font-size:13.5px; font-weight:400; line-height:1.45; text-decoration:none; margin:0; padding:0; width:auto; overflow-wrap:anywhere; }
:root footer.footer .micron-nav-list a:hover { opacity:.68; }
:root footer.footer :is(.micron-nav-list a,.micron-legal-links a,.micron-social-links a,.micron-brand-logo,.micron-cta-btn):focus-visible { outline:2px solid currentColor; outline-offset:5px; border-radius:2px; }
:root footer.footer .micron-footer__brand { display:flex; align-items:center; justify-content:space-between; padding:24px 0 48px; border-top:1px solid #ffffff14; gap:24px; }
:root footer.footer .micron-brand-logo { display:inline-flex; align-items:baseline; line-height:1; color:#fff; text-decoration:none; }
:root footer.footer .micron-brand-name { font-size:24px; font-weight:700; letter-spacing:-.03em; }
:root footer.footer .micron-brand-mark { font-size:13px; color:#a1a1aa; margin-left:2px; }
:root footer.footer .micron-brand-cta { display:flex; align-items:center; gap:24px; }
:root footer.footer .micron-cta-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:transparent; border:0; color:#fff; margin:0; padding:3px 0 0; height:40px; min-height:40px; line-height:1; font-size:14px; font-weight:600; letter-spacing:.04em; text-decoration:none; white-space:nowrap; }
:root footer.footer .micron-footer__bottom { width:100%; background:#262626; margin:0; padding:0; border:0; }
:root footer.footer .micron-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:28px 48px; }
:root footer.footer .micron-legal-left { display:flex; flex:1; flex-direction:column; gap:10px; min-width:0; }
:root footer.footer .micron-legal-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
:root footer.footer .micron-legal-links a { display:inline-block; color:#fff; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; }
:root footer.footer .micron-legal-copyright p { margin:0; color:#c2c2c2; font-size:12px; line-height:1.6; }
:root footer.footer .micron-social-links { display:flex; align-items:center; gap:18px; margin:0; padding:0; }
:root footer.footer .micron-social-links a { display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:13px; line-height:1.4; text-decoration:none; }
@media(max-width:1024px) { :root footer.footer .micron-footer__nav { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:768px) {
  :root footer.footer .micron-footer__container { padding-inline:24px; }
  :root footer.footer .micron-footer__nav { grid-template-columns:repeat(2,minmax(0,1fr)); padding:32px 0; }
  :root footer.footer .micron-footer__brand { flex-direction:column; align-items:flex-start; padding:24px 0 36px; gap:20px; }
  :root footer.footer .micron-brand-cta { width:100%; justify-content:space-between; flex-wrap:wrap; gap:16px; }
  :root footer.footer .micron-bottom-inner { flex-direction:column; align-items:flex-start; padding-top:24px; padding-bottom:32px; gap:24px; }
}
@media(max-width:480px) { :root footer.footer .micron-footer__nav { grid-template-columns:minmax(0,1fr); gap:28px; } }
