.page-main{max-width:1040px;margin:0 auto;padding:48px}
.page-hero{margin-bottom:28px}
.page-eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--hint);font-weight:500;margin-bottom:8px}
.page-title{font-size:40px;font-weight:300;letter-spacing:-.03em;line-height:1.12}
.page-sub{margin-top:14px;max-width:760px;font-size:15px;line-height:1.7;color:var(--muted)}
.panel{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--r);padding:30px}
.stack{display:grid;gap:14px}
.steps{display:grid;gap:12px}
.step-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--r);padding:22px}
.step-num{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--hint);font-weight:500;margin-bottom:8px}
.step-title{font-size:22px;font-weight:300;letter-spacing:-.02em}
.step-desc{margin-top:8px;color:var(--muted);line-height:1.7}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.muted{color:var(--muted)}
.list{padding-left:18px;line-height:1.8;color:var(--muted)}
.list li+li{margin-top:6px}
.meta-block{display:grid;gap:10px}
.meta-k{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--hint);font-weight:500}
.meta-v{font-size:15px;color:var(--text)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:14px}
.search-row{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.search-input{flex:1;height:46px;border:0.5px solid var(--border);border-radius:100px;padding:0 18px;background:var(--surface);font-size:14px;color:var(--text)}
.search-input:focus{outline:none;border-color:var(--border-md);box-shadow:0 0 0 3px rgba(24,23,20,.06)}
.chip{height:34px;padding:0 14px;border-radius:100px;border:0.5px solid var(--border-md);background:transparent;font-size:12px;color:var(--muted);cursor:pointer}
.chip:hover,.chip.active{border-color:var(--text);color:var(--text)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.empty-state{padding:24px;text-align:center;color:var(--muted);background:var(--surface);border:0.5px solid var(--border);border-radius:var(--r)}
@media(max-width:900px){
  .page-main{padding:36px 24px}
  .page-title{font-size:34px}
  .two-col,.contact-grid{grid-template-columns:1fr}
}
