/* TELOSYN /demo — prospect surface. Tokens only (--k-*). Marketing register:
   long-scroll document, generous measure, no app chrome. */
html, body, #td-root { height:auto; min-height:100%; }
body { font-size:var(--k-fs-body); }
.td a { color:var(--k-accent); text-decoration:none; }
.td a:hover { color:var(--k-accent-2); text-decoration:underline; }
.td a.td-btn, .td a.td-btn-ghost { text-decoration:none; }
.td a.td-btn { color:var(--k-ink-inv); }
.td a.td-btn:hover { color:var(--k-ink-inv); }
.td a.td-btn-ghost { color:var(--k-ink); }
.td a.td-btn-ghost:hover { color:var(--k-accent); }
.td-wrap { max-width:1120px; margin:0 auto; padding:0 var(--k-s-8); }
@media (max-width:640px){ .td-wrap { padding:0 var(--k-s-5); } }

/* ── masthead ── */
.td-mast { position:sticky; top:0; z-index:50; background:color-mix(in oklab,var(--k-panel) 88%,transparent); backdrop-filter:saturate(150%) blur(10px); border-bottom:1px solid var(--k-rule); }
.td-mast-in { display:flex; align-items:center; justify-content:space-between; gap:var(--k-s-4); height:60px; }
.td-mast-brand { display:flex; align-items:center; gap:var(--k-s-3); font-family:var(--k-font-mark); text-transform:uppercase; letter-spacing:var(--k-tr-over); font-weight:800; font-size:var(--k-fs-body); color:var(--k-ink); }
.td-mast-logo { height:30px; width:auto; display:block; }
[data-theme="dark"] .td-mast-logo { content:url("assets/KRLabs_WhiteHD_Logo.png"); }
.td-mast-r { display:flex; align-items:center; gap:var(--k-s-3); }

/* ── buttons ── */
.td-btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--k-s-2); min-height:44px; padding:0 var(--k-s-6); border-radius:var(--k-r-sm); background:var(--k-accent); color:var(--k-ink-inv); font-weight:var(--k-w-semibold); font-size:var(--k-fs-sm); transition:background var(--k-dur-fast) var(--k-ease); }
.td-btn:hover { background:var(--k-accent-2); }
.td-btn[disabled] { opacity:.55; cursor:not-allowed; }
.td-btn-ghost { display:inline-flex; align-items:center; gap:var(--k-s-2); min-height:44px; padding:0 var(--k-s-5); border-radius:var(--k-r-sm); border:1px solid var(--k-rule-strong); color:var(--k-ink); font-weight:var(--k-w-medium); font-size:var(--k-fs-sm); background:var(--k-surface); transition:all var(--k-dur-fast) var(--k-ease); }
.td-btn-ghost:hover { border-color:var(--k-accent); color:var(--k-accent); }
.td-icon-btn { width:38px; height:38px; display:grid; place-items:center; border-radius:var(--k-r-sm); border:1px solid var(--k-rule-strong); background:var(--k-surface); color:var(--k-ink-2); transition:all var(--k-dur-fast) var(--k-ease); }
.td-icon-btn:hover { background:var(--k-sunken); color:var(--k-ink); }

/* ── hero ── */
.td-hero { padding-top:calc(var(--k-s-16) + var(--k-s-8)); padding-bottom:var(--k-s-16); }
.td-eyebrow { font-family:var(--k-font-mono); text-transform:uppercase; letter-spacing:var(--k-tr-over); font-size:var(--k-fs-2xs); color:var(--k-ink-3); }
.td-eyebrow b { color:var(--k-accent); font-weight:600; }
.td-h1 { font-family:var(--k-font-headline); font-weight:400; font-size:clamp(2.4rem, 5.2vw, 4.1rem); line-height:1.06; letter-spacing:-0.015em; color:var(--k-ink); margin:var(--k-s-6) 0 0; max-width:19ch; text-wrap:balance; }
.td-h1 em { font-style:italic; color:var(--k-accent); }
[data-serif="off"] .td-h1 { font-family:var(--k-font-ui); font-weight:700; letter-spacing:-0.03em; }
.td-stand { margin:var(--k-s-6) 0 0; max-width:62ch; font-size:var(--k-fs-h4); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }
.td-cta-row { display:flex; align-items:center; gap:var(--k-s-4); margin-top:var(--k-s-10); flex-wrap:wrap; }
.td-price { font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-ink-3); }
.td-fig { border:1px solid var(--k-rule); border-radius:var(--k-r-lg); background:var(--k-sunken); padding:var(--k-s-3); }
.td-fig img { display:block; width:100%; height:auto; border-radius:var(--k-r-sm); border:1px solid var(--k-rule); }
.td-fig figcaption, .td-hero-fig figcaption, .td-doors-fig figcaption { margin-top:var(--k-s-3); font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-ink-3); padding:0 var(--k-s-1) var(--k-s-1); }
.td-hero-fig { margin:var(--k-s-12) 0 0; box-shadow:var(--k-shadow-2); }
.td-doors-fig { margin:var(--k-s-10) 0 0; }

/* ── sections ── */
.td-sec { border-top:1px solid var(--k-rule); padding:var(--k-s-16) 0; }
.td-h2 { font-family:var(--k-font-headline); font-weight:400; font-size:clamp(1.7rem, 3vw, 2.3rem); line-height:1.15; letter-spacing:-0.01em; color:var(--k-ink); margin:0; max-width:26ch; text-wrap:balance; }
[data-serif="off"] .td-h2 { font-family:var(--k-font-ui); font-weight:700; letter-spacing:-0.02em; }
.td-secstand { margin:var(--k-s-4) 0 0; max-width:60ch; color:var(--k-ink-2); line-height:var(--k-lh-relaxed); text-wrap:pretty; }

/* problem */
.td-problem { margin-top:var(--k-s-10); display:flex; flex-direction:column; gap:var(--k-s-8); }
.td-pblock { display:grid; grid-template-columns:56px minmax(0,1fr); gap:var(--k-s-5); }
.td-pnum { font-family:var(--k-font-mono); font-size:var(--k-fs-caption); color:var(--k-ink-4); padding-top:5px; }
.td-pblock p { margin:0; max-width:60ch; font-size:var(--k-fs-h4); line-height:var(--k-lh-relaxed); color:var(--k-ink); text-wrap:pretty; }
@media (max-width:640px){ .td-pblock { grid-template-columns:1fr; gap:var(--k-s-2); } }

/* proof cards */
.td-cards { margin-top:var(--k-s-10); display:grid; grid-template-columns:repeat(3,1fr); gap:var(--k-s-5); }
@media (max-width:960px){ .td-cards { grid-template-columns:1fr; } }
.td-card { display:flex; flex-direction:column; gap:var(--k-s-4); padding:var(--k-s-7); border:1px solid var(--k-rule); border-radius:var(--k-r-lg); background:var(--k-surface); }
.td-cardnum { font-family:var(--k-font-mono); font-size:var(--k-fs-caption); font-weight:600; color:var(--k-accent); }
.td-cardtitle { font-family:var(--k-font-ui); font-weight:var(--k-w-semibold); font-size:var(--k-fs-h4); line-height:var(--k-lh-snug); color:var(--k-ink); margin:0; text-wrap:balance; }
.td-cardbody { margin:0; font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }
.td-cardbody strong { color:var(--k-ink); font-weight:var(--k-w-semibold); }
.td-cardlink { margin-top:auto; font-size:var(--k-fs-sm); font-weight:var(--k-w-medium); }
.td-footnote { margin-top:var(--k-s-6); font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-ink-3); }

/* status of record */
.td-status { margin-top:var(--k-s-10); border:1px solid var(--k-rule-strong); border-radius:var(--k-r-lg); padding:var(--k-s-8); position:relative; background:var(--k-surface); max-width:820px; }
.td-statuslabel { position:absolute; top:-10px; left:var(--k-s-7); padding:2px 10px; background:var(--k-bg); font-family:var(--k-font-mono); text-transform:uppercase; letter-spacing:var(--k-tr-over); font-size:var(--k-fs-3xs); color:var(--k-ink-3); }
.td-status p { margin:0 0 var(--k-s-4); line-height:var(--k-lh-relaxed); color:var(--k-ink); text-wrap:pretty; }
.td-status p:last-child { margin-bottom:0; }
.td-status .lede { font-weight:var(--k-w-semibold); }

/* verify chip — a design-annotation for slots that must be filled with a true value or deleted */
.td-verify { display:inline; padding:1px 8px 2px; margin:0 2px; border:1px dashed var(--k-warn); border-radius:var(--k-r-xs); background:var(--k-warn-bg); font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-warn); cursor:help; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.td-verify b { font-weight:700; letter-spacing:0.06em; }

.td-verify[data-prod] { border-color:var(--k-info); background:var(--k-info-bg); color:var(--k-info); }

/* how it works */
.td-how { margin-top:var(--k-s-10); display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--k-s-10); align-items:start; }
@media (max-width:960px){ .td-how { grid-template-columns:1fr; } }
.td-steps { display:flex; flex-direction:column; gap:var(--k-s-7); }
.td-step { display:grid; grid-template-columns:56px minmax(0,1fr); gap:var(--k-s-5); }
@media (max-width:640px){ .td-step { grid-template-columns:1fr; gap:var(--k-s-2); } }
.td-steptitle { font-family:var(--k-font-ui); font-weight:var(--k-w-semibold); font-size:var(--k-fs-h4); color:var(--k-ink); margin:0 0 var(--k-s-2); }
.td-stepbody { margin:0; max-width:56ch; font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }
.td-shot { position:sticky; top:88px; margin:0; }
@media (max-width:960px){ .td-shot { position:static; } }
.td-shot-frame { border:1px solid var(--k-rule); border-radius:var(--k-r-lg); background:var(--k-sunken); padding:var(--k-s-3); height:360px; }
.td-shot-frame image-slot { width:100%; height:100%; }
.td-shot-cap { margin-top:var(--k-s-3); font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-ink-3); }

/* five doors */
.td-doors { margin-top:var(--k-s-10); display:grid; grid-template-columns:repeat(2,1fr); gap:var(--k-s-8) var(--k-s-10); }
@media (max-width:820px){ .td-doors { grid-template-columns:1fr; } }
.td-door { border-top:2px solid var(--k-ink); padding-top:var(--k-s-4); }
.td-door:last-child:nth-child(odd) { grid-column:1 / -1; max-width:62ch; }
.td-doortitle { font-family:var(--k-font-headline); font-weight:400; font-size:var(--k-fs-h3); color:var(--k-ink); margin:0 0 var(--k-s-3); }
[data-serif="off"] .td-doortitle { font-family:var(--k-font-ui); font-weight:700; letter-spacing:-0.01em; }
.td-doorbody { margin:0; font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }

/* who */
.td-who { margin-top:var(--k-s-10); display:grid; grid-template-columns:repeat(2,1fr); gap:var(--k-s-5); }
@media (max-width:820px){ .td-who { grid-template-columns:1fr; } }
.td-whocard { padding:var(--k-s-6) var(--k-s-7); border-left:2px solid var(--k-rule-strong); font-size:var(--k-fs-h4); line-height:var(--k-lh-relaxed); color:var(--k-ink); text-wrap:pretty; }
.td-breadth { margin:var(--k-s-10) 0 0; max-width:72ch; color:var(--k-ink-2); line-height:var(--k-lh-relaxed); text-wrap:pretty; }
.td-breadth strong { color:var(--k-ink); font-weight:var(--k-w-semibold); }

/* briefing strip */
.td-brief { margin-top:var(--k-s-8); display:grid; grid-template-columns:repeat(3,1fr); gap:var(--k-s-6); }
@media (max-width:820px){ .td-brief { grid-template-columns:1fr; } }
.td-briefcell { border-top:2px solid var(--k-ink); padding-top:var(--k-s-4); }
.td-briefcell dt { font-family:var(--k-font-mono); font-weight:600; font-size:var(--k-fs-sm); color:var(--k-ink); margin:0 0 var(--k-s-2); }
.td-briefcell dd { margin:0; font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }

/* ── scheduler ── */
.td-sched { margin-top:var(--k-s-8); border:1px solid var(--k-rule); border-radius:var(--k-r-lg); background:var(--k-surface); box-shadow:var(--k-shadow-1); overflow:hidden; }
.td-sched-head { display:flex; align-items:baseline; justify-content:space-between; gap:var(--k-s-4); padding:var(--k-s-6) var(--k-s-7); border-bottom:1px solid var(--k-rule); flex-wrap:wrap; }
.td-sched-stand { margin:0; color:var(--k-ink-2); font-size:var(--k-fs-sm); }
.td-tz { display:inline-flex; align-items:center; gap:var(--k-s-2); }
.td-tz select { min-height:36px; padding:0 var(--k-s-3); border:1px solid var(--k-rule-strong); border-radius:var(--k-r-sm); background:var(--k-surface); font-size:var(--k-fs-caption); font-family:var(--k-font-mono); color:var(--k-ink); }
.td-sched-body { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
@media (max-width:960px){ .td-sched-body { grid-template-columns:1fr; } }
.td-grid-pane { padding:var(--k-s-6) var(--k-s-7); border-right:1px solid var(--k-rule); min-height:380px; }
@media (max-width:960px){ .td-grid-pane { border-right:none; border-bottom:1px solid var(--k-rule); } }
.td-days { display:flex; gap:var(--k-s-2); overflow-x:auto; padding-bottom:var(--k-s-2); }
.td-day { flex:0 0 auto; min-height:52px; min-width:84px; padding:var(--k-s-2) var(--k-s-3); border:1px solid var(--k-rule); border-radius:var(--k-r-sm); background:var(--k-surface); display:flex; flex-direction:column; align-items:flex-start; gap:1px; transition:all var(--k-dur-fast) var(--k-ease); }
.td-day:hover { border-color:var(--k-rule-strong); background:var(--k-sunken); }
.td-day[data-on] { border-color:var(--k-accent); background:var(--k-accent-soft); box-shadow:0 0 0 1px var(--k-accent); }
.td-day-wd { font-family:var(--k-font-mono); font-size:var(--k-fs-3xs); text-transform:uppercase; letter-spacing:0.08em; color:var(--k-ink-3); }
.td-day[data-on] .td-day-wd { color:var(--k-accent); }
.td-day-d { font-size:var(--k-fs-sm); font-weight:var(--k-w-medium); color:var(--k-ink); }
.td-day-n { font-family:var(--k-font-mono); font-size:var(--k-fs-3xs); color:var(--k-ink-4); }
.td-times { margin-top:var(--k-s-5); display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:var(--k-s-2); }
.td-slot { min-height:44px; border:1px solid var(--k-rule-strong); border-radius:var(--k-r-sm); background:var(--k-surface); font-family:var(--k-font-mono); font-size:var(--k-fs-caption); color:var(--k-ink); transition:all var(--k-dur-fast) var(--k-ease); }
.td-slot:hover { border-color:var(--k-accent); color:var(--k-accent); }
.td-slot[data-on] { background:var(--k-accent); border-color:var(--k-accent); color:var(--k-ink-inv); font-weight:600; }
.td-loading { display:flex; align-items:center; gap:var(--k-s-3); min-height:220px; justify-content:center; color:var(--k-ink-3); font-family:var(--k-font-mono); font-size:var(--k-fs-caption); }
.td-spin { width:14px; height:14px; border:2px solid var(--k-rule-strong); border-top-color:var(--k-accent); border-radius:50%; animation:tdspin .8s linear infinite; }
@keyframes tdspin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .td-spin { animation:none; } }

/* form pane */
.td-form-pane { padding:var(--k-s-6) var(--k-s-7); display:flex; flex-direction:column; }
.td-form-empty { margin:auto; text-align:center; color:var(--k-ink-3); font-size:var(--k-fs-sm); max-width:30ch; line-height:var(--k-lh-relaxed); }
.td-form-empty .n { font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); text-transform:uppercase; letter-spacing:0.1em; color:var(--k-ink-4); display:block; margin-bottom:var(--k-s-2); }
.td-picked { display:flex; align-items:center; justify-content:space-between; gap:var(--k-s-3); padding:var(--k-s-3) var(--k-s-4); border:1px solid var(--k-accent-line); border-radius:var(--k-r-sm); background:var(--k-accent-soft); margin-bottom:var(--k-s-5); }
.td-picked b { font-family:var(--k-font-mono); font-size:var(--k-fs-caption); font-weight:600; color:var(--k-ink); }
.td-picked button { font-size:var(--k-fs-2xs); color:var(--k-accent); font-weight:var(--k-w-medium); min-height:32px; padding:0 var(--k-s-2); }
.td-picked button:hover { text-decoration:underline; }
.td-form { display:flex; flex-direction:column; gap:var(--k-s-4); }
.td-field { display:flex; flex-direction:column; gap:5px; }
.td-field label { font-size:var(--k-fs-caption); font-weight:var(--k-w-semibold); color:var(--k-ink); }
.td-field .help { font-size:var(--k-fs-2xs); color:var(--k-ink-3); }
.td-input, .td-field select, .td-field textarea { min-height:44px; padding:var(--k-s-2) var(--k-s-3); border:1px solid var(--k-rule-strong); border-radius:var(--k-r-sm); background:var(--k-surface); font-size:var(--k-fs-sm); color:var(--k-ink); width:100%; }
.td-field textarea { resize:vertical; min-height:64px; line-height:var(--k-lh-normal); }
.td-input:hover, .td-field select:hover, .td-field textarea:hover { border-color:var(--k-ink-4); }
.td-field [data-invalid] { border-color:var(--k-neg); }
.td-err { font-size:var(--k-fs-2xs); color:var(--k-neg); }
.td-submitline { font-size:var(--k-fs-caption); color:var(--k-ink-2); line-height:var(--k-lh-relaxed); margin:var(--k-s-2) 0 0; }

/* scheduler states */
.td-statebox { margin:auto 0; padding:var(--k-s-7); text-align:left; }
.td-statebox h4 { font-family:var(--k-font-ui); font-weight:var(--k-w-semibold); font-size:var(--k-fs-h4); color:var(--k-ink); margin:0 0 var(--k-s-3); }
.td-statebox p { margin:0 0 var(--k-s-3); font-size:var(--k-fs-sm); color:var(--k-ink-2); line-height:var(--k-lh-relaxed); }
.td-conflict { border:1px solid var(--k-warn); background:var(--k-warn-bg); border-radius:var(--k-r-md); padding:var(--k-s-4) var(--k-s-5); margin-bottom:var(--k-s-5); }
.td-conflict h4 { margin:0 0 4px; font-size:var(--k-fs-sm); font-weight:var(--k-w-semibold); color:var(--k-ink); }
.td-conflict p { margin:0; font-size:var(--k-fs-caption); color:var(--k-ink-2); }
.td-failbox { border:1px solid var(--k-neg); background:var(--k-neg-bg); border-radius:var(--k-r-md); padding:var(--k-s-5); }
.td-done { padding:var(--k-s-8) var(--k-s-7); }
.td-done-h { font-family:var(--k-font-headline); font-size:var(--k-fs-h2); color:var(--k-ink); margin:0 0 var(--k-s-4); }
[data-serif="off"] .td-done-h { font-family:var(--k-font-ui); font-weight:700; }
.td-done-when { font-family:var(--k-font-mono); font-size:var(--k-fs-sm); font-weight:600; color:var(--k-ink); margin:0 0 var(--k-s-4); }
.td-done p { font-size:var(--k-fs-sm); color:var(--k-ink-2); line-height:var(--k-lh-relaxed); margin:0 0 var(--k-s-4); max-width:52ch; }
.td-honesty { border:1px solid var(--k-rule-strong); border-radius:var(--k-r-md); background:var(--k-sunken); padding:var(--k-s-4) var(--k-s-5); margin:0 0 var(--k-s-5); }
.td-honesty .hl { font-family:var(--k-font-mono); text-transform:uppercase; letter-spacing:0.1em; font-size:var(--k-fs-3xs); color:var(--k-ink-3); margin-bottom:4px; }
.td-honesty p { margin:0; font-size:var(--k-fs-caption); color:var(--k-ink-2); }

/* faq */
.td-faq { margin-top:var(--k-s-8); max-width:820px; display:flex; flex-direction:column; }
.td-q { border-top:1px solid var(--k-rule); padding:var(--k-s-7) 0; }
.td-q:first-child { border-top:none; padding-top:0; }
.td-q h3 { font-family:var(--k-font-ui); font-weight:var(--k-w-semibold); font-size:var(--k-fs-h4); color:var(--k-ink); margin:0 0 var(--k-s-3); }
.td-q p { margin:0 0 var(--k-s-3); font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }
.td-q p:last-child { margin-bottom:0; }

/* footer */
.td-foot { border-top:1px solid var(--k-rule); padding:var(--k-s-12) 0 var(--k-s-16); }
.td-foot-brand { font-family:var(--k-font-mark); text-transform:uppercase; letter-spacing:var(--k-tr-over); font-weight:800; font-size:var(--k-fs-sm); color:var(--k-ink); }
.td-foot p { margin:var(--k-s-2) 0 0; font-size:var(--k-fs-caption); color:var(--k-ink-3); }
.td-foot .mono { font-family:var(--k-font-mono); }

/* mid CTA row */
.td-midcta { margin-top:var(--k-s-10); display:flex; align-items:center; gap:var(--k-s-4); flex-wrap:wrap; }
.td-midcta span { font-size:var(--k-fs-caption); color:var(--k-ink-3); }

/* prototype state simulator — design chrome, not page content */
.td-sim { position:fixed; right:var(--k-s-4); bottom:var(--k-s-4); z-index:80; background:var(--k-raised); border:1px solid var(--k-rule-strong); border-radius:var(--k-r-md); box-shadow:var(--k-shadow-2); font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-ink-2); }
.td-sim-head { display:flex; align-items:center; gap:var(--k-s-2); padding:var(--k-s-2) var(--k-s-3); min-height:32px; width:100%; text-align:left; }
.td-sim-head:hover { color:var(--k-ink); }
.td-sim-body { display:flex; flex-wrap:wrap; gap:var(--k-s-1); padding:0 var(--k-s-3) var(--k-s-3); max-width:280px; }
.td-sim-body button { padding:4px 8px; min-height:28px; border:1px solid var(--k-rule); border-radius:var(--k-r-xs); font-family:var(--k-font-mono); font-size:var(--k-fs-3xs); color:var(--k-ink-2); }
.td-sim-body button:hover { border-color:var(--k-accent); color:var(--k-accent); }
.td-sim-body button[data-armed] { border-color:var(--k-warn); color:var(--k-warn); background:var(--k-warn-bg); }
