:root{
  --ink:#141210; --ink-2:#4a443e; --ink-3:#7d756c;
  --paper:#faf7f3; --paper-2:#f1ece5; --line:#e2dad0;
  --accent:#8a5a2b; --accent-ink:#fff;
  --max:64rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:400 17px/1.6 ui-serif,Georgia,"Times New Roman",serif;
  -webkit-font-smoothing:antialiased;
}
.sans{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.5rem}
a{color:var(--accent)}

header.site{border-bottom:1px solid var(--line); background:var(--paper)}
header.site .wrap{display:flex; align-items:baseline; gap:.7rem; padding-top:1.4rem; padding-bottom:1.4rem}
.mark{
  font:600 1.05rem/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink);
}
.mark .dot{color:var(--accent)}
.tagline{
  font:400 .78rem/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3);
}

.hero{padding:5.5rem 0 4rem; border-bottom:1px solid var(--line)}
.hero h1{
  margin:0 0 1.2rem; max-width:22ch;
  font-weight:400; font-size:clamp(2.1rem,5.5vw,3.4rem); line-height:1.12;
  letter-spacing:-.015em;
}
.hero p{margin:0; max-width:52ch; font-size:1.15rem; color:var(--ink-2)}

section{padding:3.75rem 0; border-bottom:1px solid var(--line)}
h2{
  margin:0 0 1.75rem;
  font:600 .78rem/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3);
}
h3{margin:0 0 .4rem; font-size:1.1rem; font-weight:600}

.grid{display:grid; gap:2rem 2.5rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.grid p{margin:0; color:var(--ink-2); font-size:1rem}

ol.steps{margin:0; padding:0; list-style:none; counter-reset:s;
  display:grid; gap:2rem 2.5rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
ol.steps li{counter-increment:s}
ol.steps li::before{
  content:counter(s); display:block; margin-bottom:.6rem;
  font:600 .8rem/1.9 ui-sans-serif,system-ui,sans-serif;
  width:1.9rem; height:1.9rem; text-align:center;
  border-radius:50%; background:var(--accent); color:var(--accent-ink);
}
ol.steps p{margin:.35rem 0 0; color:var(--ink-2); font-size:1rem}

.cta{display:inline-block; margin-top:.5rem; padding:.85rem 1.6rem;
  background:var(--accent); color:var(--accent-ink); text-decoration:none;
  font:600 .95rem/1 ui-sans-serif,system-ui,sans-serif; letter-spacing:.02em;
  border-radius:2px}
.cta:hover{background:#734a22}

.billing{background:var(--paper-2); border-bottom:none}
.billing .wrap{max-width:48rem}
.billing p{margin:0 0 .9rem; color:var(--ink-2); font-size:1rem}
.billing p:last-child{margin-bottom:0}
.descriptor{
  font:600 .95rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em; background:#fff; border:1px solid var(--line);
  padding:.35rem .6rem; border-radius:2px; white-space:nowrap;
}

footer.site{padding:2.25rem 0 3.5rem}
footer.site p{margin:0; font-size:.85rem; color:var(--ink-3);
  font-family:ui-sans-serif,system-ui,sans-serif}
