.site{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
header.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(160%) blur(10px);
  background:rgba(255,255,255,.55);
  border-bottom:1px solid var(--border);
}
.navbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;
}
.brand{
  display:flex;align-items:center;gap:10px;
  font-weight:800;
  letter-spacing:.2px;
}
.brand .mark{
  width:40px;height:40px;border-radius:14px;
  background:radial-gradient(circle at 30% 30%, #ffffff 0%, rgba(255,255,255,.2) 55%, rgba(255,255,255,0) 75%),
             linear-gradient(135deg,var(--brand1),var(--brand2));
  box-shadow:var(--shadow2);
  display:grid;place-items:center;
  color:white;
}
.brand .name{display:flex;flex-direction:column;line-height:1.05}
.brand .name small{font-weight:600;color:var(--muted)}
.navlinks{
  display:flex;align-items:center;gap:14px;
}
.navlinks a{
  padding:9px 10px;border-radius:12px;
  color:rgba(11,18,32,.86);
}
.navlinks a.active, .navlinks a:hover{
  background:rgba(255,255,255,.72);
  box-shadow:0 1px 0 rgba(2,6,23,.06);
}
.nav-cta{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.82);
  padding:10px 14px;border-radius:14px;
  font-weight:700;
  cursor:pointer;
}
.btn.primary{
  border:none;
  background:linear-gradient(135deg,var(--brand1),var(--brand2));
  color:white;
  box-shadow:var(--shadow2);
}
.btn.ghost{
  background:transparent;
}
.btn:focus{outline:none;box-shadow:0 0 0 4px var(--focus)}
.hamburger{
  display:none;
  width:44px;height:44px;border-radius:14px;
}
.mobile-panel{
  display:none;
  padding:12px 0 18px 0;
}
.mobile-panel a{
  display:block;
  padding:12px 10px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.70);
  margin:8px 0;
}
main{flex:1}
footer{
  margin-top:40px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.55);
}
.footer-wrap{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap:18px;
  padding:22px 0;
}
.footer-wrap p{color:var(--muted);margin:8px 0 0 0}
.footer-links a{display:block;color:rgba(11,18,32,.86);padding:6px 0}
.footer-bottom{
  border-top:1px solid var(--border);
  padding:12px 0;
  color:var(--muted);
  font-size:14px;
}
@media (max-width: 920px){
  .navlinks{display:none}
  .hamburger{display:inline-flex}
  .mobile-panel{display:block}
  .footer-wrap{grid-template-columns: 1fr}
}
