/* Shared site shell: header, footer and shared navigation live here.
   Page-specific styles stay isolated in page-*.css. */
.header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line,#dfe5ef);
}
.header .container,.footer .container{
  width:min(calc(100% - 48px),1440px);
  max-width:none;margin:0 auto;padding:0;
}
.header .nav{
  min-height:76px;display:flex;align-items:center;
  justify-content:space-between;gap:28px;
}
.header .brand{display:flex;flex-direction:column;min-width:max-content;text-decoration:none;color:var(--text,#0f1b3d)}
.header .brand strong{font-size:26px;letter-spacing:-.04em;line-height:1;font-weight:900}
.header .brand strong span:first-child{color:var(--primary,#1f57e7)}
.header .brand small{color:var(--muted,#64708a);font-size:11px;margin-top:5px}
.header .nav-links{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:700}
.header .nav-links a{color:inherit;text-decoration:none;transition:.2s}
.header .nav-links a:hover{color:var(--primary,#1f57e7)}
.header .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:0 22px;border-radius:10px;border:1px solid transparent;
  font-weight:800;cursor:pointer;transition:.2s ease;text-decoration:none;
}
.header .btn-primary{background:var(--primary,#1f57e7);color:#fff;box-shadow:0 7px 18px rgba(31,87,231,.18)}
.header .btn-primary:hover{background:var(--primary-2,#1648c7);color:#fff;transform:translateY(-1px)}
.footer{
  padding:22px 0 30px;color:#7b8498;font-size:12px;text-align:center;
  border-top:1px solid var(--line,#dfe5ef);
}
.footer .footer-inner{display:flex;justify-content:center}
.footer .footer-brand{display:grid;gap:7px;justify-items:center}
.footer .legal-note{display:block}
.footer .footer-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.footer a{color:var(--primary,#1f57e7);text-decoration:underline;text-underline-offset:2px}
@media (max-width:1100px){.header .nav-links{display:none}}
@media (max-width:620px){
  .header .container,.footer .container{width:min(calc(100% - 28px),1440px)}
  .header .nav{min-height:68px;gap:14px}
  .header .brand small{display:none}
  .header .btn{min-height:42px;padding:0 14px;font-size:13px}
}
