/* Subpages (inquiry, thanks, legal, 404): a calm ink page with a head and a readable body column. */
.sub{padding:128px var(--gutter) 96px;max-width:calc(var(--maxw) + 2 * var(--gutter));margin:0 auto;min-height:70vh;display:flex;flex-direction:column;gap:48px}
@media (min-width:1024px){.sub{padding-top:160px;padding-bottom:128px}}
.sub-head{display:flex;flex-direction:column;gap:18px;max-width:900px}
.sub-lead{max-width:620px;font-size:15px;line-height:1.6;color:rgba(251,251,248,.86);text-wrap:pretty}
.sub-body{display:flex;flex-direction:column;gap:32px}
/* Placeholders for missing facts stay visible until the founders fill them in. */
.sub mark.ph{background:rgba(251,251,248,.08);color:var(--paper);outline:1px dashed rgba(251,251,248,.75);outline-offset:1px;padding:0 4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ---------- legal pages: imprint (cards) and privacy policy (contents + text) ---------- */
.sub--legal{--soft:rgba(251,251,248,.86);--muted:rgba(251,251,248,.68);--rule:rgba(251,251,248,.16)}
.sub--legal .sub-head .is-h1{overflow-wrap:break-word;hyphens:manual}
.legal{gap:40px}
.legal-meta{display:flex;flex-direction:column;gap:16px;max-width:72ch;margin-top:-20px}
.legal-updated{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.legal-updated::before{content:"";display:block;width:8px;height:8px;background:var(--neon);flex-shrink:0}
.legal-note{max-width:62ch;padding:12px 0 12px 16px;border-left:2px solid var(--paper);font-size:13px;line-height:1.6;color:var(--soft)}
.legal-note a,.legal-sec a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere;transition:color .2s}
.legal-note a:hover,.legal-sec a:hover{color:var(--neon)}

/* sections: numbered h2 in Space Mono caps, prose in JetBrains Mono at a readable measure */
.legal-sec{display:flex;flex-direction:column;gap:16px;min-width:0;font-size:14px;line-height:1.7;color:var(--soft);scroll-margin-top:104px}
.legal-sec:focus{outline:none}
@media (min-width:1024px){.legal-sec{font-size:15px}}
.legal-h2{display:flex;align-items:center;gap:14px;font-family:var(--display);font-size:1.125rem;line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:-.005em;color:var(--paper);overflow-wrap:break-word;hyphens:manual}
@media (min-width:1024px){.legal-h2{font-size:1.375rem}}
.legal-h2 .n{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:1.5px solid currentColor;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.02em}
.legal-h2>span:last-child{min-width:0}
.legal-h2 .sym,.legal-sec h3 .sym{font-family:var(--mono);font-weight:700}
.legal-sec p,.legal-sec li,.legal-sec dd{text-wrap:pretty}
.legal-sec h3{margin-top:8px;font-family:var(--display);font-size:.9375rem;line-height:1.35;font-weight:700;text-transform:uppercase;color:var(--paper)}
.legal-sec strong{color:var(--paper);font-weight:700}
.legal-list{display:flex;flex-direction:column;gap:8px}
.legal-list li{position:relative;padding-left:22px}
.legal-list li::before{content:"";position:absolute;left:0;top:calc(.85em - 4px);width:8px;height:8px;background:var(--neon)}
.legal-facts{border-top:1px dashed var(--rule)}
.legal-facts>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 0;border-bottom:1px dashed var(--rule)}
@media (min-width:640px){.legal-facts>div{grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:24px;align-items:baseline}}
.legal-facts dt{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--paper)}
.legal-lines{padding-left:16px;border-left:2px solid var(--paper)}

/* privacy policy: contents beside the text from 1024 px, above it on smaller screens */
.legal-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:start}
@media (min-width:1024px){.legal-layout{grid-template-columns:260px minmax(0,72ch);gap:64px}}
@media (min-width:1280px){.legal-layout{grid-template-columns:300px minmax(0,72ch);gap:96px}}
.legal-text{display:flex;flex-direction:column;gap:56px;min-width:0}
.legal--doc .legal-sec+.legal-sec{padding-top:40px;border-top:1px solid var(--rule)}
.toc{display:flex;flex-direction:column;gap:8px;padding:20px 20px 12px;background:rgba(251,251,248,.05);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
@media (min-width:1024px){.toc{position:sticky;top:104px;max-height:calc(100vh - 128px);overflow-y:auto}}
.toc-h{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.toc ol{display:grid;grid-template-columns:minmax(0,1fr);column-gap:24px}
@media (min-width:640px) and (max-width:1023px){.toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
.toc a{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 0;border-top:1px solid var(--rule);font-size:13px;line-height:1.3;transition:color .2s}
.toc a .n{width:20px;flex-shrink:0;font-size:11px;color:var(--muted)}
.toc a:hover{color:var(--neon)}
.toc a:hover .n{color:inherit}

/* imprint: four cards with the Weftery corner */
.legal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:900px){.legal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
.legal--cards .legal-sec{padding:28px 22px 32px;background:var(--deep);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px))}
@media (min-width:1024px){.legal--cards .legal-sec{padding:40px 40px 44px;gap:20px}}

/* ---------- thanks and 404: head, onward links, and the mark beside them ---------- */
.done{gap:40px;max-width:640px}
.done-copy{display:flex;flex-direction:column;gap:20px}
.done-text{font-size:15px;line-height:1.6;color:rgba(251,251,248,.86)}
.done-mail{display:flex;gap:12px;align-items:baseline;font-size:13px;line-height:1.6;color:rgba(251,251,248,.72)}
.done-mail .sq{transform:translateY(-1px)}
.done-mail a{color:var(--paper);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.done-mail a:hover{color:var(--neon)}
.next{display:flex;flex-direction:column;gap:14px}
.next-h{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:rgba(251,251,248,.68)}
.next ul{border-bottom:1px solid rgba(251,251,248,.22)}
.next-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 0;border-top:1px solid rgba(251,251,248,.22);font-size:13px;transition:color .2s}
.next-link i{display:block;width:18px;height:2px;flex-shrink:0;background:currentColor;transition:width .3s var(--ease)}
.next-link:hover{color:var(--neon)}
.next-link:hover i{width:40px}
.done-art{display:flex;justify-content:flex-start}
.done-art svg{width:104px;height:auto}
@media (min-width:640px){.done-art svg{width:160px}}
@media (min-width:1024px){
  .sub--done{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36%);grid-template-areas:"head art" "body art";column-gap:64px;align-content:start}
  .sub--done .sub-head{grid-area:head}
  .sub--done .sub-body{grid-area:body}
  .done-art{grid-area:art;align-self:center;justify-content:center}
  .done-art svg{width:min(100%,300px)}
}
/* thanks: the weft weaves in once */
.done-mark rect[fill="#c8ff4a"]{transform-box:fill-box;transform-origin:0 50%;animation:wf-weave 1.1s var(--ease) .3s both}
@keyframes wf-weave{from{transform:scaleX(0)}to{transform:none}}
/* 404: the weaving stopped; the gap where the thread should run is dashed */
.nf-cursor{animation:blink 1s infinite}
.nf-gap{opacity:.55}
@media (prefers-reduced-motion:reduce){.done-mark rect[fill="#c8ff4a"],.nf-cursor{animation:none}}
