/* site.css — 헤더 · 푸터 (partials와 짝) */
header{
  position:sticky;top:0;z-index:10;
  background:rgba(253,252,250,.92);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17.5px;letter-spacing:-.01em}
.logo .mark{width:28px;height:28px;display:block}
nav.menu{display:flex;gap:28px;align-items:center}
nav.menu a{font-size:14.5px;color:var(--ink-70);transition:color .15s ease}
nav.menu a:hover{color:var(--ink)}
nav.menu a.active{color:var(--ink);font-weight:600}
nav.menu a.cta{
  color:#fff;background:var(--ink);
  padding:8px 16px;font-weight:600;font-size:13.5px;
  transition:background .15s ease;
}
nav.menu a.cta:hover{background:#1d3852}
@media(max-width:720px){
  nav.menu{gap:18px}
  nav.menu a{font-size:13.5px}
  nav.menu a.cta{display:none}
}

footer{border-top:1px solid var(--line);margin-top:24px;padding:48px 0 56px}
footer .cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px}
footer .brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:16px}
footer .brand .mark{width:24px;height:24px;display:block}
footer .desc{margin-top:8px;font-size:13.5px;color:var(--ink-45);max-width:320px}
footer nav{display:flex;gap:24px}
footer nav a{font-size:13.5px;color:var(--ink-70)}
footer nav a:hover{color:var(--ink)}
footer .meta{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--ink-45)}
