.btn{font-family:inherit}
.demo{position:relative;overflow:hidden;padding:80px 0 140px;min-height:calc(100vh - 72px)}
.demo .horizon{position:absolute;left:0;right:0;bottom:0;height:55%;pointer-events:none}
.demo-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.demo h1{font-size:clamp(38px,5vw,60px)}
.demo .lede{margin:18px 0 0}
.form-card{width:100%;margin-top:44px;background:#fff;border-radius:22px;box-shadow:0 0 0 1px var(--line),0 40px 80px -44px rgba(32,41,68,.35);padding:32px;text-align:left}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:14px;font-weight:600;color:var(--ink)}
.field label .opt{font-weight:500;color:#71717A}
.field input,.field select,.field textarea{font:400 16px var(--sans);color:var(--ink);background:#fff;border:1px solid #D4D4D8;border-radius:10px;padding:0 14px;height:48px;width:100%;transition:border-color .15s,box-shadow .15s}
.field select{appearance:none;-webkit-appearance:none;padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;cursor:pointer}
.field select:invalid{color:#71717A}
.field textarea{height:auto;min-height:104px;padding:12px 14px;resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(75,181,226,.25)}
.field .err{display:none;font-size:13px;color:#B42318}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#D92D20}
.field.invalid .err{display:block}
.form-card .btn{width:100%;margin-top:24px;border:0;cursor:pointer;height:52px}
.form-card .btn[disabled]{opacity:.7;cursor:default}
.fine{margin:14px 0 0;font-size:13.5px;color:#71717A;text-align:center}
.done{display:none;text-align:center;padding:16px 8px}
.done h2{font-size:26px;letter-spacing:-.02em;margin:0}
.done p{color:var(--muted);margin:10px 0 22px}
.form-card.sent form{display:none}.form-card.sent .done{display:block}
@media (max-width:480px){.wrap{padding:0 20px}.nav .btn{height:40px;padding:0 16px;font-size:14px}.nav img{height:21px}.demo h1{font-size:clamp(32px,9vw,40px)}.form-card{padding:20px}}
@media (max-width:640px){.fields{grid-template-columns:1fr}.form-card{padding:24px}.demo{padding:56px 0 120px}}

/* legal */
.legal{padding:80px 0 120px}
.legal .wrap{max-width:860px}
.legal .eyebrow{margin:0 0 18px;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-ink)}
.legal h1{font-size:clamp(38px,5vw,60px)}
.legal .updated{margin:16px 0 0;font-family:var(--mono);font-size:13px;color:#71717A}
.legal-body{margin-top:40px}
.legal-body p{margin:0 0 16px;color:var(--body);line-height:1.72}
.legal-body h2{margin:52px 0 16px;padding-top:28px;border-top:1px solid var(--line);font-size:clamp(22px,2.4vw,28px)}
.legal-body h2:first-of-type{margin-top:40px;padding-top:0;border-top:0}
.legal-body h3{margin:30px 0 12px;font-size:18px;font-weight:700;letter-spacing:-.01em}
.legal-body a{color:var(--blue-ink)}
.legal-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:9px}
.legal-list li{position:relative;padding-left:22px;color:var(--body);line-height:1.6}
.legal-list li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:2px;background:var(--grad)}
.legal-defs{margin:0 0 20px;display:flex;flex-direction:column;gap:14px}
.legal-defs dt{font-weight:700;margin-bottom:3px}
.legal-defs dd{margin:0;color:var(--body);line-height:1.6}
.legal-callout{margin:0 0 20px;padding:18px 22px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:10px}
.legal-callout h3{margin-top:0}
.legal-callout p:last-child{margin-bottom:0}
.legal-contact{margin-top:12px;padding:24px 26px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.legal-contact p{margin-bottom:4px}
@media (max-width:640px){.legal{padding:56px 0 88px}}
