:root{
  --bg:#f6f8fb;
  --card:#fff;
  --ink:#0f172a;
  --muted:#475569;
  --brand:#2c71f0;
  --brand-2:#60a5fa;
  --ring:rgba(44,113,240,.35);
  --radius:14px;
  --shadow:0 2px 10px rgba(2,6,23,.06);
  --container:min(1120px, calc(100vw - 40px));
}
*{box-sizing:border-box}
html,body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.7 system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial;
}
img{max-width:100%;height:auto}
.container{width:var(--container);margin-inline:auto}
.section{padding:clamp(40px,6vw,72px) 0}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}
.lead{color:var(--muted)}
.muted{color:var(--muted)}
.eyebrow{
  margin:0 0 10px;
  color:var(--brand);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:13px;
}
h1{line-height:1.25;font-size:clamp(28px,4vw,40px);margin:0 0 10px}
h2,h3{line-height:1.35}
p{margin:0 0 1em}
header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(2,6,23,.06);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:56px;
  width:min(1120px, calc(100vw - 40px));
  margin-inline:auto;
}
.brand{
  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none;
  color:inherit;
}
.nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.nav a{
  display:inline-block;
  padding:8px 4px;
  text-decoration:none;
  border-radius:8px;
  color:inherit;
}
.nav a.active{font-weight:700;text-decoration:underline}
.btn,
button{
  appearance:none;
  border:0;
  border-radius:12px;
  padding:11px 16px;
  font:600 15px/1.2 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  text-decoration:none;
}
.btn-primary,
button{
  background:var(--brand);
  color:#fff;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(44,113,240,.16);
}
.btn-secondary{
  background:#fff;
  color:var(--ink);
  border:1px solid #d7dde9;
  cursor:pointer;
}
button[disabled]{
  cursor:not-allowed;
  opacity:.58;
  box-shadow:none;
}
input,select,textarea{
  width:100%;
  padding:12px;
  border-radius:10px;
  border:1px solid #d7dde9;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
textarea{min-height:180px;resize:vertical}
label{
  display:block;
  font-weight:600;
  margin:.6em 0 .35em;
}
.req{color:#c2410c}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid .span-2{grid-column:1 / -1}
.pager{
  display:flex;
  gap:8px;
  justify-content:center;
  margin:24px 0 8px;
}
.pager-btn{
  min-width:120px;
}
footer{
  border-top:1px solid rgba(2,6,23,.06);
  color:#334155;
  font-size:12px;
  padding:16px 0;
  text-align:center;
}
:where(a,button,input,textarea,select):focus-visible{
  outline:2px solid var(--ring);
  outline-offset:2px;
}
@media (max-width:720px){
  .grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .nav ul{display:none}
  .nav{justify-content:center}
  .brand{
    white-space:nowrap;
    max-width:92vw;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
