:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --line:rgba(15,23,42,.10);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, "Noto Sans SC", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--text);
  background:#f8fafc;
}
.frame{min-height:100vh;display:flex;flex-direction:column}
.page-spacer{
  flex:1 1 auto;
  height:420px;
  background: linear-gradient(180deg, rgba(15,23,42,.03), rgba(15,23,42,0));
  border-bottom:1px solid rgba(15,23,42,.06);
}
.footer{background:var(--bg);padding:48px 0 26px}
.container{width:min(1820px, calc(100% - 140px)); margin:0 auto;}
.footer__top{
  display:grid;
  grid-template-columns: 1.15fr .95fr .7fr 1fr;
  gap:80px;
  align-items:start;
  padding-top:6px;
}
.brand__logo{ width:120px; height:auto; display:block; }
.brand__desc{
  margin:22px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.9;
  max-width:520px;
}
.foot-title{font-weight:700;letter-spacing:.2px;margin:4px 0 18px}
.foot-list,.foot-links{list-style:none;margin:0;padding:0}
.foot-list li{color:var(--muted);font-size:16px;line-height:2.1;margin:6px 0}
.foot-links li{margin:8px 0}
.foot-links a{color:var(--muted);font-size:16px;line-height:2;text-decoration:none}
.foot-links a:hover{color:#2563eb}

.contact-row{
  display:flex;gap:14px;align-items:flex-start;
  color:var(--muted);font-size:16px;line-height:1.8;margin:14px 0
}
.ico{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;margin-top:2px;flex:0 0 22px}
.ico img{width:22px;height:22px}
.mail{color:var(--muted);text-decoration:none}
.mail:hover{color:#2563eb}

.footer__divider{height:1px;background:rgba(15,23,42,.10);margin:44px 0 22px}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.copy{color:var(--muted);font-size:14px}
.bottom-links{display:flex;gap:28px;align-items:center}
.bottom-links a{color:var(--muted);font-size:14px;text-decoration:none}
.bottom-links a:hover{color:#2563eb}

@media (max-width: 1200px){
  .container{ width:min(1120px, calc(100% - 48px)); }
  .footer__top{ grid-template-columns: 1fr 1fr; gap:36px; }
  .footer__divider{ margin:28px 0 18px; }
  .footer__bottom{ flex-direction:column; align-items:flex-start; }
}
