/* BOXFIT local footer study · 2026-09-26 */
.footer.bf-footer {
  background: #201f1b;
  color: #f5f2e9;
  padding: 0;
  border: 0;
}
.bf-footer-inner { max-width: 1520px; margin: 0 auto; padding: 76px clamp(24px, 4vw, 64px) 28px; }
.bf-footer-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, .75fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); }
.bf-footer a { text-decoration: none; }
.bf-footer a:focus-visible { outline: 2px solid #d9bd82; outline-offset: 6px; }
.bf-footer-brand { display: inline-flex; align-items: center; gap: 12px; color: #d6b97e; font-size: 12px; letter-spacing: .1em; }
.bf-footer-brand img { width: auto; height: 38px; }
.bf-footer-story h2 { margin: 26px 0 26px; font-size: clamp(34px, 4vw, 54px); font-weight: 500; line-height: 1.25; letter-spacing: -.04em; color: #f7f4eb; }
.bf-footer .bf-footer-description { max-width: 520px; margin: 0; font-size: 14px; line-height: 1.95; color: #c7c4ba; }
.bf-footer-cta { display: inline-flex; align-items: center; justify-content: space-between; min-height: 54px; min-width: 202px; gap: 38px; margin-top: 30px; padding: 0 22px; border-radius: 3px; background: #c4a568; color: #252015; font-size: 14px; transition: background .2s; }
.bf-footer-cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.bf-footer-cta:hover { background: #ddc38f; }
.bf-footer-nav, .bf-footer-direct { padding-top: 8px; }
.bf-footer h3 { margin: 0 0 30px; color: #bfb9aa; font-size: 13px; font-weight: 400; letter-spacing: .03em; }
.bf-footer-nav a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; min-height: 44px; color: #eeebe2; font-size: 15px; line-height: 1.6; }
.bf-footer-nav a span { color: #a9946d; font-size: 13px; }
.bf-footer-nav a:hover, .bf-footer-direct a:hover, .bf-footer-bottom a:hover { color: #ddc38f; }
.bf-footer-direct > a { display: block; width: fit-content; max-width: 100%; color: #f3f0e7; }
.bf-footer-phone { font-size: 19px; letter-spacing: .01em; line-height: 1.6; }
.bf-footer-email { margin-top: 13px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.bf-footer .bf-footer-direct > p { margin: 22px 0 0; font-size: 13px; line-height: 1.9; color: #c7c4ba; }
.bf-footer-preparation { margin-top: 26px; padding-top: 23px; border-top: 1px solid #49463c; }
.bf-footer-preparation > span { font-size: 13px; color: #d5be8f; }
.bf-footer .bf-footer-preparation p { margin: 10px 0 0; font-size: 13px; line-height: 1.9; color: #c7c4ba; }
.bf-footer-bottom { margin-top: 76px; padding-top: 24px; border-top: 1px solid #77705e; display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; font-size: 11px; color: #aaa597; line-height: 1.7; }
.bf-footer-bottom a { color: #c7c4ba; min-height: 32px; display: inline-flex; align-items: center; }
.bf-footer-copyright { color: #dad5c8; }
.bf-footer-top { margin-left: auto; gap: 24px; }
html[lang="en"] .bf-footer-story h2 { font-size: clamp(30px, 3.4vw, 46px); }
@media (max-width: 1000px) {
  .bf-footer-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 46px 48px; }
  .bf-footer-story { grid-column: 1 / -1; }
  .bf-footer .bf-footer-description { max-width: 620px; }
  .bf-footer-story h2 { font-size: 44px; }
  .bf-footer-bottom { margin-top: 54px; }
}
@media (max-width: 560px) {
  .bf-footer-inner { padding: 48px 24px 24px; }
  .bf-footer-grid { grid-template-columns: 1fr; gap: 42px; }
  .bf-footer-brand { font-size: 11px; gap: 10px; }
  .bf-footer-brand img { height: 32px; }
  .bf-footer-story h2 { font-size: 38px; margin: 22px 0; }
  .bf-footer .bf-footer-description { font-size: 13px; }
  .bf-footer-cta { margin-top: 24px; min-height: 52px; }
  .bf-footer-nav, .bf-footer-direct { padding-top: 0; }
  .bf-footer h3 { margin-bottom: 18px; }
  .bf-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .bf-footer-nav h3 { grid-column: 1 / -1; }
  .bf-footer-nav a { font-size: 13px; border-bottom: 1px solid #3d3a32; padding: 10px 0; }
  .bf-footer-bottom { margin-top: 44px; column-gap: 24px; row-gap: 8px; }
  .bf-footer-legal { flex-basis: calc(100% - 130px); }
  .bf-footer-top { margin-left: auto; gap: 12px; }
  html[lang="en"] .bf-footer-story h2 { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .bf-footer-cta { transition: none; }
}

.bf-footer-ai { display:block; width:fit-content; margin-top:20px; color:#d8c28c; font-size:13px; text-decoration:none; }
