/* Kindoru v2 — concept: "The sealed introduction". Swiss poster grid, paper + ink, one signal red. */
:root{--paper:#f6f4ef;--paper2:#ecE8df;--ink:#101418;--body:#2b3036;--muted:#4c535b;--line:#cfc9bd;--red:#c8102e;--red-d:#a10d25;--ok:#0b6b4f;--r:6px;--max:1160px;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 "Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,sans-serif;color:var(--body);background:var(--paper)}
h1,h2,h3{color:var(--ink);line-height:1.04;letter-spacing:-.035em;margin:0 0 .45em;font-weight:800}
h1{font-size:clamp(2.3rem,6vw,4rem);max-width:16ch}
h2{font-size:clamp(1.8rem,4.4vw,3rem);max-width:20ch}h3{font-size:1.15rem;letter-spacing:-.01em;line-height:1.25}
p{margin:0 0 1em}a{color:var(--ink);text-underline-offset:3px}
:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.nav{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:2px solid var(--ink)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:1.2rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.nav nav{display:flex;gap:24px;align-items:center}.nav nav a{color:var(--ink);text-decoration:none;font-size:.95rem}.nav nav a.btn{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:var(--r);border:2px solid var(--red);background:var(--red);color:#fff;font-family:inherit;font-size:1.02rem;font-weight:700;line-height:1;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}.btn.sm{min-height:40px;padding:0 14px;font-size:.92rem}
.btn.line{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.line:hover{background:var(--ink);color:#fff}
.hero{padding:48px 0 64px;border-bottom:2px solid var(--ink)}
.hero .wrap{display:grid;gap:40px}
.status{display:inline-flex;gap:8px;align-items:center;color:var(--ink);border:1.5px solid var(--ink);padding:5px 10px;margin-bottom:22px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--red)}
.lead{font-size:clamp(1.1rem,2vw,1.3rem);color:var(--body);max-width:34rem}
.signup{max-width:34rem;margin-top:8px}
.lbl{display:block;font-weight:700;color:var(--ink);font-size:.95rem;margin-bottom:6px}
.rowf{display:flex;gap:10px;flex-wrap:wrap}
input[type=email],input[type=text]{flex:1 1 230px;min-height:52px;padding:0 14px;border:2px solid var(--ink);border-radius:var(--r);background:#fff;font:inherit;color:var(--ink)}
.role{display:flex;gap:6px 20px;flex-wrap:wrap;border:0;margin:12px 0 0;padding:0;font-size:.95rem}.role legend{font-size:.88rem;color:var(--muted);margin-bottom:2px;padding:0;float:left;width:100%}
.role label{display:flex;gap:8px;align-items:center;min-height:32px;cursor:pointer;font-size:.92rem}.role input{width:18px;height:18px;accent-color:var(--red)}
.org{margin-top:10px}.org[hidden]{display:none}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted);margin-top:12px}.consent input{margin-top:3px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--red)}
.micro{font-size:.88rem;color:var(--muted);margin:12px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* The sealed introduction card */
.intro-card{background:#fff;border:2px solid var(--ink);padding:22px;position:relative;box-shadow:10px 10px 0 var(--ink);max-width:30rem;align-self:start}
.intro-card .hd{display:flex;padding-right:60px;border-bottom:1.5px solid var(--ink);padding-bottom:10px;margin-bottom:14px;color:var(--ink)}
.fieldrow{display:grid;grid-template-columns:7.5rem 1fr;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.95rem;color:var(--ink)}
.fieldrow .k{color:var(--muted)}
.bar{display:inline-block;height:.95em;background:var(--ink);border-radius:2px;vertical-align:-2px}
.checks{list-style:none;padding:0;margin:14px 0 0;font-size:.92rem}.checks li{display:flex;gap:10px;padding:4px 0;color:var(--ink)}
.ck{font-family:var(--mono);font-weight:700;color:var(--ok)}.wt{font-family:var(--mono);font-weight:700;color:var(--red)}
.seal{position:absolute;right:-14px;top:-18px;width:86px;height:86px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;text-align:center;font:800 .62rem/1.15 var(--mono);letter-spacing:.08em;transform:rotate(-12deg);border:3px double #fff;outline:2px solid var(--red)}
.cap{font-size:.82rem;color:var(--muted);margin-top:14px}
.sec{padding:76px 0;border-bottom:2px solid var(--ink)}.sec.alt{background:var(--paper2)}
.sechead{display:grid;gap:8px;margin-bottom:36px}.sechead .mono{color:var(--red-d)}
.intro{max-width:44rem;font-size:1.08rem}
.grid{display:grid;gap:0}.g3{grid-template-columns:1fr;border-top:2px solid var(--ink)}
.cell{padding:24px 0;border-bottom:1.5px solid var(--ink)}.cell p{margin:.3em 0 0}
.step{font-size:3rem;font-weight:800;line-height:1;color:var(--red);letter-spacing:-.04em;display:block;margin-bottom:8px}
.stat b{display:block;font-size:clamp(2.2rem,5vw,3.4rem);color:var(--ink);letter-spacing:-.04em;line-height:1}
.src{font-size:.85rem;color:var(--muted);margin-top:10px}
.stage{border:2px solid var(--ink);background:#fff;padding:22px;max-width:52rem}
.biz{display:grid;gap:32px}
.list{padding-left:1.1em;margin:0 0 1em}.list li{margin:.4em 0}
details{border-bottom:1.5px solid var(--ink)}details:first-of-type{border-top:2px solid var(--ink)}
summary{font-weight:700;color:var(--ink);cursor:pointer;padding:18px 0;font-size:1.05rem}
details>div{padding:0 0 18px;max-width:46rem}
table{border-collapse:collapse;width:100%;font-size:.9rem;background:#fff}td,th{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.band{background:var(--ink);color:#e8e4da;padding:56px 0}.band h2{color:#fff}.band .btn{border-color:#fff}
footer{padding:28px 0;font-size:.9rem;color:var(--muted)}footer .wrap{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.doc{max-width:46rem;margin:0 auto;padding:44px 20px 72px}.doc h1{font-size:clamp(2rem,6vw,3.2rem);max-width:none}.doc h2{font-size:1.35rem;margin-top:1.7em;max-width:none}
.todo{background:#fff1c2;padding:0 .25em}
.share{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
@media(min-width:760px){.g3{grid-template-columns:repeat(3,1fr)}.g3 .cell{padding:26px 24px 26px 0;border-bottom:0}.g3 .cell+.cell{border-left:1.5px solid var(--ink);padding-left:24px}.g3{border-bottom:2px solid var(--ink)}.biz{grid-template-columns:1.1fr .9fr}.sechead{grid-template-columns:14rem 1fr}}
@media(min-width:1000px){.hero{padding:80px 0 96px}.hero .wrap{grid-template-columns:1.25fr .75fr;align-items:center}}
@media(max-width:640px){.nav nav a:not(.btn){display:none}.sec{padding:56px 0}.signup .btn{width:100%}.intro-card{box-shadow:6px 6px 0 var(--ink);margin-right:8px}.seal{right:-6px}}
.w1{width:8.5rem}.w2{width:6rem}.redl{color:var(--red-d)}
.hd span{white-space:nowrap}.short{display:none}@media(max-width:640px){.long{display:none}.short{display:inline}}

.sub{font-weight:700;color:var(--ink);max-width:34rem}
.note{font-size:.9rem;color:var(--muted);max-width:34rem;border-left:3px solid var(--red);padding-left:12px;margin-top:18px}
.intro-card{max-width:40rem;box-shadow:8px 8px 0 var(--line);border-radius:10px}
.intro-card .hd{gap:12px;align-items:center;padding-right:0}
.tag{background:var(--ink);color:#fff;padding:3px 8px;border-radius:4px}
.fieldrow{grid-template-columns:11rem 1fr}
.choice{display:grid;grid-template-columns:11rem 1fr;gap:10px;padding:12px 0 4px;align-items:center}.choice .k{color:var(--muted)}
.choicebtns{display:flex;gap:10px;flex-wrap:wrap}
.pill{display:inline-block;padding:8px 14px;border-radius:999px;font-weight:700;font-size:.92rem;border:2px solid var(--ok)}
.pill.yes{background:var(--ok);color:#fff}.pill.no{color:var(--ink);border-color:var(--ink)}
.labbox{margin-top:18px;border-top:1.5px solid var(--ink);padding-top:12px}.labbox h4{margin:1em 0 .4em;color:var(--ink)}
.tscroll{overflow-x:auto;margin-bottom:1em}
.whymatters{margin-top:36px;max-width:52rem}
.band .signup{margin-top:20px}.band .lbl{color:#fff}.band a{color:#fff}.band .micro{color:#e8e4da}
.band .consent{color:#e8e4da}
.err{color:#ffb3bf;font-weight:700;font-size:.92rem;margin:6px 0 0}
.fstatus{margin:12px 0 0;font-weight:700}.fstatus:empty{display:none}
.fstatus.ok{background:#e3f4ec;color:#0b6b4f;padding:10px 12px;border-radius:6px}
.fstatus.bad{background:#fde3e7;color:#a10d25;padding:10px 12px;border-radius:6px}
input[aria-invalid=true]{border-color:var(--red);outline:2px solid #ffb3bf}
.btn:disabled{opacity:.7;cursor:wait}
@media(max-width:640px){.fieldrow,.choice{grid-template-columns:1fr;gap:2px}}

.hero .intro-card{width:100%;justify-self:center}
.seebox{margin-top:28px;border:2px solid var(--ink);background:#fff;padding:20px 22px;max-width:40rem;border-radius:10px}.seebox h3{margin-bottom:.5em}
@media(min-width:1000px){.hero .wrap{grid-template-columns:1.1fr .9fr}.hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem)}}

.selrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;max-width:34rem}
select{width:100%;min-height:52px;padding:0 12px;border:2px solid var(--ink);border-radius:var(--r);background:#fff;font:inherit;color:var(--ink)}
.hero .status{margin:18px 0 0}
.intro-card,.intro-card *{min-width:0;overflow-wrap:anywhere}
@media(max-width:400px){.selrow{grid-template-columns:1fr}}
