.bxf{
  --bx-primary:#F8752D;
  --bx-primary-dark:#D85E14;
  --bx-primary-darker:#973D0C;
  --bx-primary-light:#FFA270;
  --bx-black:#0F1012;
  --bx-white:#FFFFFF;
  --bx-dim:rgba(255,255,255,.6);
  --bx-line:rgba(255,255,255,.09);
  --bx-ease:cubic-bezier(.22,.61,.36,1);
  --bx-font:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  position:relative;margin-top:auto;width:100%;max-width:100%;
  font-family:var(--bx-font);background:var(--bx-black);color:var(--bx-dim);
  font-size:14.5px;line-height:1.6;overflow:hidden}
.bxf *,.bxf *::before,.bxf *::after{box-sizing:border-box}
.bxf ul{list-style:none;margin:0;padding:0}
.bxf p{margin:0}
.bxf a{color:inherit;text-decoration:none}
.bxf :focus-visible{outline:2px solid var(--bx-primary);outline-offset:3px;border-radius:6px}

.bxf::before{content:"";position:absolute;top:-200px;left:50%;transform:translateX(-50%);
  width:min(780px,100%);height:400px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(248,117,45,.15),transparent 68%)}
.bxf::after{content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--bx-primary-darker),var(--bx-primary),var(--bx-primary-light),var(--bx-primary))}

.bxf-container{position:relative;width:100%;max-width:1300px;margin:0 auto;padding:0 26px}

/* ---------- columns ---------- */
.bxf-grid{display:grid;grid-template-columns:1.45fr .95fr 1.1fr 1.15fr;gap:36px;padding:46px 0 34px}
.bxf-col{min-width:0}
.bxf-col h3{margin:0 0 15px;font-size:12px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--bx-white);position:relative;padding-bottom:9px}
.bxf-col h3::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;
  background:var(--bx-primary);border-radius:2px}

.bxf-logo{display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:800;
  letter-spacing:-.035em;color:var(--bx-white);margin-bottom:12px;transition:opacity .25s var(--bx-ease)}
.bxf-logo img{max-height:38px;width:auto;display:block}
.bxf-logo .bxf-mark{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;
  font-size:15px;font-weight:800;letter-spacing:0;color:#fff;
  background:linear-gradient(140deg,var(--bx-primary-light),var(--bx-primary) 45%,var(--bx-primary-dark));
  box-shadow:0 8px 18px -9px rgba(248,117,45,.9)}
.bxf-logo:hover{opacity:.85}
.bxf-about{max-width:42ch;font-size:13.8px;line-height:1.65}

/* link lists */
.bxf-links li + li{margin-top:8px}
.bxf-links a{display:inline-flex;align-items:baseline;transition:color .24s var(--bx-ease)}
.bxf-links a::before{content:"";align-self:center;width:0;height:1.5px;background:var(--bx-primary);
  margin-right:0;flex:none;
  transition:width .24s var(--bx-ease),margin-right .24s var(--bx-ease)}
.bxf-links a:hover{color:var(--bx-white)}
.bxf-links a:hover::before{width:12px;margin-right:8px}
.bxf-links .count{margin-left:6px;font-size:11.5px;color:rgba(255,255,255,.28)}

/* contact — single clean column */
.bxf-contact li{display:flex;gap:11px;align-items:flex-start;min-width:0}
.bxf-contact li + li{margin-top:13px}
.bxf-contact .ico{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:rgba(248,117,45,.12);color:var(--bx-primary);
  transition:background .26s var(--bx-ease),color .26s var(--bx-ease)}
.bxf-contact .ico svg{width:15px;height:15px}
.bxf-contact li:hover .ico{background:var(--bx-primary);color:#fff}
.bxf-contact .txt{min-width:0;font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}
.bxf-contact .txt a{transition:color .24s var(--bx-ease)}
.bxf-contact .txt a:hover{color:var(--bx-white)}
.bxf-contact .lbl{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(255,255,255,.32);margin-bottom:2px;line-height:1}

/* ---------- bottom bar ---------- */
.bxf-bottom{border-top:1px solid var(--bx-line)}
.bxf-bottom .bxf-container{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;
  padding-top:15px;padding-bottom:15px}
.bxf-copy{font-size:13.5px}
.bxf-copy b{color:var(--bx-white);font-weight:600}
.bxf-legal{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;
  gap:6px 4px;list-style:none;margin:0;padding:0}
.bxf-legal li{display:flex;align-items:center}
.bxf-legal li:not(:last-child)::after{content:"";width:3px;height:3px;border-radius:50%;
  background:rgba(255,255,255,.25);margin:0 12px}
.bxf-legal a{font-size:13px;color:var(--bx-dim);white-space:nowrap;
  transition:color .24s var(--bx-ease)}
.bxf-legal a:hover{color:var(--bx-white)}
.bxf-social{display:flex;align-items:center;gap:8px}
.bxf-social a{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid var(--bx-line);color:rgba(255,255,255,.72);
  transition:background .28s var(--bx-ease),color .28s var(--bx-ease),
             transform .28s var(--bx-ease),border-color .28s var(--bx-ease)}
.bxf-social svg{width:15px;height:15px}
.bxf-social a:hover{background:var(--bx-primary);border-color:var(--bx-primary);color:#fff;transform:translateY(-2px)}

/* back to top */
.bxf-top{position:fixed;right:20px;bottom:20px;z-index:8000;width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;border:0;cursor:pointer;background:var(--bx-primary);color:#fff;
  box-shadow:0 12px 26px -8px rgba(248,117,45,.6);
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .3s var(--bx-ease),transform .3s var(--bx-ease),visibility .3s,background .25s var(--bx-ease)}
.bxf-top svg{width:20px;height:20px;display:block}
.bxf-top.is-on{opacity:1;visibility:visible;transform:translateY(0)}
.bxf-top:hover{background:var(--bx-primary-dark)}

/* ---------- breakpoints ---------- */
@media (max-width:1080px){
  .bxf-grid{grid-template-columns:1fr 1fr;gap:32px 30px;padding:40px 0 30px}
  .bxf-about{max-width:none}
}
@media (max-width:720px){
  .bxf-container{padding:0 18px}
  .bxf-grid{gap:28px 22px;padding:34px 0 26px}
  .bxf-bottom .bxf-container{flex-direction:column-reverse;text-align:center;gap:14px}
}
@media (max-width:520px){
  .bxf-grid{grid-template-columns:1fr;gap:26px}
  .bxf-social a{width:38px;height:38px}
  .bxf-top{right:14px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){
  .bxf *,.bxf-top{transition-duration:.01ms !important}
}