/* Rounded Top Footer lighting adapted from Hirael Footer02 (MIT), Mohammad Shehadeh.
   https://github.com/MohammadShehadeh/hirael */
.site-footer {
  --footer-radius:32px;
  --footer-menu-title-size:18px;
  --footer-menu-title-leading:20px;
  --footer-meta-size:10px;
  --footer-menu-gap:10px;
  --footer-menu-size:16px;
  background:#000; color:#fff; padding:64px 0 24px; margin-inline:24px;
  position:relative; isolation:isolate; overflow:hidden;
  border-radius:var(--footer-radius) var(--footer-radius) 0 0;
  border-top:1px solid #ffffff1f;
}
.site-footer::before {
  content:""; position:absolute; inset:0 0 auto; height:280px;
  pointer-events:none; z-index:0;
  background:radial-gradient(ellipse 55% 280px at 50% 0%,color-mix(in srgb,var(--brand) 30%,transparent),transparent);
}
.site-footer>.wrap { position:relative; z-index:1; }
.footer-cta { text-align:center; margin-bottom:73.5px; }
.footer-cta h2 {
  font-size:var(--title-size); line-height:var(--title-leading);
  letter-spacing:var(--title-tracking); font-weight:700; margin:0 0 24px;
}
.footer-columns { display:grid; grid-template-columns:1fr 1fr 1.2fr 1.2fr; gap:48px; }
.footer-brand img { display:block; object-fit:contain; width:156px; height:auto; }
.footer-socials { display:flex; width:156px; justify-content:center; gap:12px; margin-top:28px; align-items:center; }
.site-footer button:not(.button) { font:inherit; }
.footer-socials button { background:#101010; color:#ddd; border:1px solid #222; width:38px; height:38px; border-radius:5px; display:grid; place-items:center; padding:7px; }
.footer-socials svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; }
.footer-menu { display:flex; flex-direction:column; align-items:flex-start; gap:var(--footer-menu-gap); min-width:0; }
.footer-menu h3 { font-size:var(--footer-menu-title-size); line-height:var(--footer-menu-title-leading); letter-spacing:var(--subtitle-tracking); font-weight:700; margin:0 0 9px; }
/* Requested optical correction for the A–T pair in FEATURES only. */
.footer-at-kern { margin-left:-.07em; }
.site-footer .footer-menu>a,.site-footer .footer-menu>button { background:none; padding:0; color:#aeb4ae; text-align:left; font-size:var(--footer-menu-size); line-height:var(--body-leading); letter-spacing:var(--body-tracking); }
.footer-menu>a:hover,.footer-menu>button:hover,.footer-legal button:hover { color:#fff; }
.footer-legal { margin-top:45.5px; border-top:1px solid #282e28; padding-top:3px; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:flex-end; }
.footer-legal nav { align-self:flex-end; margin-left:auto; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px 0; margin:0 0 0 auto; }
.footer-legal button { background:none; padding:0 16px; color:#c2c7c2; border-right:1px solid #4a514a; }
.footer-legal button:first-child { padding-left:0; }
.footer-legal button:last-child { border-right:0; padding-right:0; }
/* The company wrapper contributes no layout box; its contents join the legal row. */
.footer-company { display:contents; color:#929b92; }
.footer-company p,.footer-company span { font-size:var(--footer-meta-size); line-height:var(--note-leading); letter-spacing:var(--note-tracking); margin:0; }

/* Explicit user exception: footer legal information uses 10px. */
.site-footer .footer-legal nav button { font-size:var(--footer-meta-size); line-height:1.7; letter-spacing:0; }
.footer-company p { flex-basis:100%; }
.footer-company a:hover { color:#fff; }

/* Home only: the FAQ scrolls above the stationary footer, as in GLOWNOVA. */
.home-page { background:#0a0a0a; }
.home-page #main { position:relative; z-index:2; background:#fff; }
.home-page .footer-reveal { position:relative; z-index:1; background:#fff; }
@media (prefers-reduced-motion:no-preference) {
  .home-page .footer-reveal { margin-top:-100svh; }
  .home-page .footer-reveal::after { content:""; display:block; height:calc(100svh + max(0px,100svh - var(--footer-content-height,100svh)) + 2px); }
  .home-page .footer-reveal>.site-footer { position:sticky; top:max(24px,calc(100svh - var(--footer-content-height,100svh))); }
}

/* Kakao wordmark is part of the social icon artwork. */
.footer-socials .kakao-icon{fill:currentColor;stroke:none}
.footer-socials .kakao-icon text{fill:#101010;font:700 6px Arial,sans-serif;letter-spacing:-.3px}
