:root { --black:#000; --white:#fff; --g50:#f6f6f5; --g200:#e2e2e0; --g500:#767676; --g700:#3d3d3d; --font:"Helvetica Neue",Helvetica,Arial,sans-serif; }
* { box-sizing: border-box; }
body { margin:0; font-family:var(--font); color:var(--black); background:var(--white); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.top { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:72px; padding:0 32px; border-bottom:1px solid var(--g200); }
.top nav { display:flex; gap:24px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.top nav a { text-decoration:none; }
.top .right { justify-self:end; }
.brand { font-size:22px; font-weight:500; letter-spacing:.32em; text-transform:uppercase; text-decoration:none; padding-left:.32em; }
.hero { min-height:440px; display:flex; align-items:flex-end; padding:56px 32px; color:#fff;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.65)),linear-gradient(135deg,#5b6770,#2d3a43 55%,#12181c); }
.hero h1 { margin:0 0 12px; font-size:44px; font-weight:300; max-width:640px; line-height:1.1; }
.hero p { margin:0 0 24px; max-width:520px; font-weight:300; }
.btn { display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 28px; border:1px solid var(--black); background:var(--black); color:#fff; font:inherit; font-size:12px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.btn.alt { background:#fff; color:#000; }
.hero .btn { background:#fff; color:#000; border-color:#fff; }
.hero .btn.alt { background:transparent; color:#fff; }
.wrap { max-width:1080px; margin:0 auto; padding:48px 32px; }
h2.sec { font-size:13px; letter-spacing:.2em; text-transform:uppercase; font-weight:500; margin:0 0 24px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:24px; }
.card { border:1px solid var(--g200); }
.card .img { aspect-ratio:4/5; background:linear-gradient(160deg,#d8dcdf,#aeb6bb); }
.card .meta { padding:14px; font-size:14px; }
.card .meta small { display:block; color:var(--g500); margin-top:4px; }
table { width:100%; border-collapse:collapse; font-size:14px; }
td,th { text-align:left; padding:10px 12px; border-bottom:1px solid var(--g200); vertical-align:top; }
th { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--g700); width:34%; }
code,pre { font-family:ui-monospace,Menlo,monospace; font-size:12px; }
pre { background:var(--g50); padding:14px; overflow:auto; border:1px solid var(--g200); }
.banner { background:var(--g50); border-left:3px solid #000; padding:14px 16px; margin-bottom:24px; font-size:14px; line-height:1.5; }
.pill { display:inline-block; padding:3px 10px; border:1px solid #000; font-size:11px; letter-spacing:.12em; text-transform:uppercase; margin-right:6px; }
.tabs { display:flex; gap:0; border-bottom:1px solid var(--g200); margin-bottom:20px; }
.tabs button { flex:1; padding:12px 0; border:0; background:none; font:inherit; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--g500); border-bottom:2px solid transparent; cursor:pointer; }
.tabs button[aria-selected=true] { color:#000; border-color:#000; }
.lab { display:grid; grid-template-columns:380px 1fr; gap:40px; align-items:start; }
@media (max-width:860px){ .lab{grid-template-columns:1fr} .top{padding:0 16px} }
.phone { width:360px; max-width:100%; border:10px solid #111; border-radius:38px; padding:22px 20px 28px; background:#fff; min-height:560px; }
.phone .status { text-align:center; font-size:15px; letter-spacing:.3em; text-transform:uppercase; margin-bottom:22px; }
.phone label { display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; margin:14px 0 6px; }
.phone input { width:100%; height:48px; padding:0 12px; border:1px solid #8a8a88; font:inherit; font-size:16px; border-radius:0; }
.phone .btn { width:100%; margin-top:14px; }
.log { font-size:13px; line-height:1.5; }
.log .step { border-left:2px solid #000; padding:2px 0 2px 12px; margin:0 0 14px; }
.log .step b { display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.err { color:#b3261e; font-size:13px; margin-top:10px; }
