/* The landing page and the API page: the two screens with no account behind
   them. Same tokens, same components; what changes is that there is nothing
   to do here except read and decide. */

.landing{display:flex;flex-direction:column;min-height:0;flex:1}
.landing .scroll{flex:1;overflow-y:auto;padding:0 32px 60px}
.landing .inner{max-width:900px;margin:0 auto}

.public-head{flex:0 0 auto;background:var(--surface);border-bottom:1px solid var(--line);padding:12px 32px}
.public-head .inner{display:flex;align-items:center;gap:9px;max-width:900px;margin:0 auto}

.btn.big{padding:12px 22px;font-size:15.5px}

/* the one thing the page is for */
.hero{padding:76px 0 60px}
/* The headline is measured, not the block: a 34ch column left the sentence in
   four short lines with half the page empty beside it. */
.hero h1{margin:0;max-width:20ch;font-size:44px;line-height:1.1;font-weight:660;letter-spacing:-.025em}
.lead{margin:20px 0 0;font-size:17px;line-height:1.62;color:var(--muted);max-width:56ch}
.hero .btn{margin-top:28px}

/* The loop is four steps because the product is four steps. The numbers carry
   the order, which is the whole of what they say. */
.loop{padding:34px 0 10px;border-top:1px solid var(--line)}
.loop-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:20px}
.loop-steps li{display:flex;gap:16px;align-items:baseline}
.loop-steps .n{
  flex:none;width:34px;font-size:13px;font-weight:600;color:var(--signal);
  border-bottom:2px solid var(--signal-tint);padding-bottom:2px;
}
.loop-steps h3{margin:0;font-size:16px;font-weight:640;letter-spacing:-.01em}
.loop-steps p{margin:5px 0 0;font-size:14.5px;line-height:1.6;color:var(--muted);max-width:62ch}

.points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;
  padding:40px 0;margin-top:34px;border-top:1px solid var(--line)}
.point h3{margin:0;font-size:15.5px;font-weight:640}
.point p{margin:7px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}

.closing{padding:34px 0 44px;border-top:1px solid var(--line)}
.closing h2{margin:0;font-size:24px;font-weight:650;letter-spacing:-.015em}
.closing .btn{margin-top:22px}

.site-foot{display:flex;align-items:center;gap:14px;padding:20px 0;
  border-top:1px solid var(--line);font-size:14px}

/* the API page */
.api-facts p{margin:0 0 12px;font-size:14.5px;line-height:1.65;color:var(--muted);max-width:76ch}
.api-facts p:last-child{margin-bottom:0}

.endpoint .card-h{gap:10px;flex-wrap:wrap}
.endpoint .verb{
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em;
  padding:3px 8px;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--line);color:var(--muted);
}
.endpoint .verb.post{border-color:var(--signal);background:var(--signal-tint);color:var(--signal-strong)}
.endpoint .what{font-weight:500;color:var(--muted);font-size:13px}
.endpoint .card-b > p{margin:0;font-size:15px;line-height:1.6;max-width:76ch}

.fields{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;align-items:baseline}
.fields dt{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.fields dt code{font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--ink)}
.fields .type{font-size:11.5px;color:var(--muted)}
.fields dd{margin:0;font-size:14px;color:var(--muted);line-height:1.55}

@media (max-width:760px){
  .landing .scroll{padding:0 16px 40px}
  .public-head{padding:10px 16px}
  .hero{padding:44px 0 34px}
  .hero h1{font-size:31px;max-width:none}
  .lead{font-size:15.5px}
  .points{grid-template-columns:minmax(0,1fr);gap:22px;padding:30px 0}
  .closing h2{font-size:20px}
  .fields{grid-template-columns:minmax(0,1fr);gap:2px}
  .fields dt{white-space:normal;margin-top:8px}
  .btn.big{width:100%}
}
