  :root{
    --bg:#fbfaf7; --ink:#1c1d1f; --muted:#62656b; --faint:#9a9ca1;
    --line:#e7e4dd; --accent:#1f5f5b; --accent-soft:#e6efed;
    --sans: ui-sans-serif, -apple-system, "SF Pro Text", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
    --serif: ui-serif, "New York", "Iowan Old Style", Georgia, "Times New Roman", serif;
    --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
  a{color:inherit}
  .wrap{max-width:1040px;margin:0 auto;padding:0 28px}
  header{display:flex;align-items:center;justify-content:space-between;padding:28px 0}
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;letter-spacing:-.01em}
  .brand svg{width:22px;height:22px}
  nav a{color:var(--muted);text-decoration:none;margin-left:26px;font-size:15px}
  nav a:hover{color:var(--ink)}
  nav form{display:inline;margin:0}      /* signed in: Sign out, a POST form drawn like the links */
  nav button{font:inherit;font-size:15px;color:var(--muted);background:none;border:0;padding:0;margin-left:26px;cursor:pointer}
  nav button:hover{color:var(--ink)}

  .hero{display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:center;padding:72px 0 96px}
  .eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 22px}
  h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5.6vw,64px);line-height:1.05;letter-spacing:-.02em;margin:0 0 26px}
  .lede{font-size:20px;color:var(--muted);max-width:34em;margin:0 0 38px}
  .star-note{font-size:14px;color:var(--muted);margin:14px 0 0}
  .actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px}
  .btn{display:inline-block;background:var(--ink);color:var(--bg);text-decoration:none;padding:13px 22px;border-radius:999px;font-size:15px;font-weight:500;transition:background .2s}
  .btn:hover{background:var(--accent)}
  .link{text-decoration:none;color:var(--ink);font-size:15px;border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .2s}
  .link:hover{border-color:var(--ink)}
  .demo{justify-self:center;text-align:center}
  .demo img{width:100%;max-width:300px;height:auto;border-radius:28px;display:block;margin:0 auto}
  .demo p{font-size:13px;color:var(--faint);margin:16px auto 0;max-width:280px;line-height:1.5}

  hr{border:0;border-top:1px solid var(--line);margin:0}
  section{padding:88px 0}
  h2{font-family:var(--serif);font-weight:500;font-size:32px;letter-spacing:-.01em;line-height:1.2;margin:0 0 14px}
  .sub{color:var(--muted);max-width:36em;margin:0 0 56px}
  .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
  .cols h3{font-size:17px;font-weight:600;margin:0 0 8px}
  .cols p{color:var(--muted);margin:0;font-size:16px}
  .num{font-family:var(--mono);font-size:13px;color:var(--accent);display:block;margin-bottom:14px}

  .split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px}
  .split p{color:var(--muted);margin:0 0 18px}
  .promise{font-family:var(--serif);font-size:24px;line-height:1.45;color:var(--ink);margin:0;padding-left:22px;border-left:2px solid var(--accent)}

  .soon{list-style:none;padding:0;margin:0}
  .soon li{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:140px 1fr;gap:24px}
  .soon li:last-child{border-bottom:1px solid var(--line)}
  .soon strong{font-weight:600}
  .soon span{color:var(--muted)}

  .start code{font-family:var(--mono);font-size:15px;color:var(--ink);background:var(--accent-soft);padding:2px 6px;border-radius:6px}
  .start blockquote{margin:24px 0 0;padding:0;font-family:var(--mono);font-size:15px;line-height:1.7;color:var(--ink);max-width:40em}

  footer{padding:48px 0 64px;color:var(--faint);font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
  footer a{color:var(--muted);text-decoration:none;margin-left:22px}
  footer a:first-child{margin-left:0}
  footer a:hover{color:var(--ink)}

  @media (max-width:820px){
    .hero{grid-template-columns:1fr;gap:56px;padding:40px 0 72px}
    .cols,.split{grid-template-columns:1fr;gap:40px}
    .soon li{grid-template-columns:1fr;gap:4px}
    nav a{margin-left:18px}
    nav a:not(.link){display:none}
    nav button{margin-left:18px}
    .wrap{padding:0 22px}
    .lede{font-size:18px}
    .start blockquote{font-size:14px;overflow-wrap:anywhere}
    section{padding:64px 0}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important}}

  /* sign in and account pages: buttons and fields, from the same tokens */
  button.btn,button.link{font:inherit;font-size:15px;cursor:pointer}
  button.btn{border:0;font-weight:500}
  button.link{background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 2px}
  input{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;width:100%;max-width:20em}
  input:focus{outline:none;border-color:var(--ink)}

  /* email code: one real input under one drawn cell per digit (assets/code.js), each cell the
     same underline as the fields above; without JavaScript it stays a plain field */
  .otp{display:inline-block;width:100%;max-width:20em}
  .otp-on{position:relative;display:inline-flex;gap:12px;width:auto}
  .otp-on input{position:absolute;inset:0;max-width:none;padding:0;border:0;color:transparent;-webkit-text-fill-color:transparent;caret-color:transparent;background:transparent}
  .otp-on input::placeholder{color:transparent}
  .otp-on input::selection{background:transparent}
  .otp-on input:-webkit-autofill{transition:background-color 600000s 0s}
  .otp-cell{width:2em;padding:8px 0;text-align:center;color:var(--ink);border-bottom:1px solid var(--line);pointer-events:none}
  .otp-on:focus-within .otp-cell.is-active{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
