/* KHIPU landing v3 — additions/overrides over demo.css + landing2.css. */
/* font-clip fix: mask padding on every side — Vortigra paints past its em box (italic overhang,
   deep descenders), so the word wrappers need slack, compensated with negative margins */
.t2-h1 .w { padding:.14em .1em .3em .04em !important; margin:-.14em -.1em -.3em -.04em !important; }
.t2-h1 { line-height:1.12; }
.t2 .td-h2 { line-height:1.22; }
/* masthead: two CTAs; collapse ghost on narrow */
@media (max-width:560px){ .td-mast-r .td-btn-ghost { display:none; } }
.td-mast-in { min-height:60px; height:auto; padding:var(--k-s-2) 0; }

/* capability tiles */
.t3-caps { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--k-s-5); }
@media (max-width:960px){ .t3-caps { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .t3-caps { grid-template-columns:1fr; } }
.t3-cap { border:1px solid var(--k-rule); border-radius:var(--k-r-lg); background:var(--k-surface); padding:var(--k-s-6) var(--k-s-6) var(--k-s-7); display:flex; flex-direction:column; gap:var(--k-s-3); min-width:0; }
.t3-cap .n { font-family:var(--k-font-mono); font-size:var(--k-fs-caption); font-weight:600; color:var(--k-accent); }
.t3-cap h3 { margin:0; font-family:var(--k-font-ui); font-weight:var(--k-w-semibold); font-size:var(--k-fs-h4); color:var(--k-ink); line-height:var(--k-lh-snug); }
.t3-cap p { margin:0; font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }

/* live stage panel */
.t3-live { position:relative; border:1px solid var(--k-rule-strong); border-radius:var(--k-r-lg); background:var(--k-surface); box-shadow:var(--k-shadow-1); overflow:hidden; margin-top:var(--k-s-10); }
/* stage windows */
.t3-winstrip { display:flex; align-items:center; gap:var(--k-s-2); flex-wrap:wrap; margin-top:var(--k-s-6); border-top:1px dashed var(--k-rule); padding-top:var(--k-s-4); }
.t3-winlabel { font-size:var(--k-fs-3xs); text-transform:uppercase; letter-spacing:0.1em; color:var(--k-ink-4); margin-right:var(--k-s-2); }
.t3-winchip { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 var(--k-s-3); border:1px solid var(--k-rule); border-radius:var(--k-r-full); font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-ink-2); transition:all var(--k-dur-fast) var(--k-ease); }
.t3-winchip b { color:var(--k-accent); font-weight:600; }
.t3-winchip:hover { border-color:var(--k-accent); color:var(--k-accent); background:var(--k-accent-soft); }
.t3-win { position:absolute; inset:0; z-index:15; background:var(--k-surface); display:flex; flex-direction:column; animation:t3winin 250ms var(--k-ease); }
@keyframes t3winin { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .t3-win { animation:none; } }
.t3-win-head { display:flex; align-items:center; gap:var(--k-s-3); padding:var(--k-s-4) var(--k-s-6); border-bottom:1px solid var(--k-rule); }
.t3-win-num { font-size:var(--k-fs-caption); font-weight:600; color:var(--k-accent); }
.t3-win-name { font-family:var(--k-font-ui); font-weight:var(--k-w-semibold); font-size:var(--k-fs-body); color:var(--k-ink); }
.t3-win-tag { font-size:var(--k-fs-3xs); text-transform:uppercase; letter-spacing:0.08em; color:var(--k-ink-3); margin-left:var(--k-s-2); }
.t3-win-x { margin-left:auto; }
.t3-win-body { padding:var(--k-s-6); overflow-y:auto; flex:1; }
.t3-win-foot { padding:var(--k-s-3) var(--k-s-6); border-top:1px solid var(--k-rule); font-size:var(--k-fs-3xs); text-transform:uppercase; letter-spacing:0.08em; color:var(--k-warn); }
.t3-kv { display:flex; align-items:baseline; justify-content:space-between; gap:var(--k-s-4); padding:var(--k-s-2) 0; border-bottom:1px solid var(--k-rule); font-size:var(--k-fs-sm); }
.t3-kv span { color:var(--k-ink-3); flex:0 0 auto; }
.t3-kv b { color:var(--k-ink); font-weight:600; font-size:var(--k-fs-caption); text-align:right; }
.t3-kv[data-hi] b { color:var(--k-accent); }
.t3-bar { display:grid; grid-template-columns:110px 1fr 56px; align-items:center; gap:var(--k-s-3); padding:var(--k-s-1) 0; font-size:var(--k-fs-caption); }
.t3-bar .l { color:var(--k-ink-2); }
.t3-bar .t { height:10px; background:var(--k-sunken); border-radius:var(--k-r-full); overflow:hidden; }
.t3-bar .t i { display:block; height:100%; background:var(--k-viz-1, var(--k-accent)); opacity:.55; border-radius:inherit; }
.t3-bar[data-hi] .t i { opacity:1; background:var(--k-accent); }
.t3-bar[data-hi] .l, .t3-bar[data-hi] b { color:var(--k-accent); font-weight:600; }
.t3-bar b { text-align:right; color:var(--k-ink); }
.t3-log { display:grid; grid-template-columns:88px 1fr; gap:var(--k-s-3); padding:var(--k-s-2) 0; border-bottom:1px solid var(--k-rule); font-size:var(--k-fs-caption); color:var(--k-ink-2); }
.t3-log .k-mono, .t3-log span:first-child { color:var(--k-ink-4); font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); }
.t3-chat { max-width:85%; padding:var(--k-s-3) var(--k-s-4); border-radius:var(--k-r-md); font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); margin-bottom:var(--k-s-3); }
.t3-chat.u { margin-left:auto; background:var(--k-accent-soft); border:1px solid var(--k-accent-line); color:var(--k-ink); }
.t3-chat.a { background:var(--k-sunken); border:1px solid var(--k-rule); color:var(--k-ink); }
.t3-envelope { display:block; margin-top:var(--k-s-2); font-size:var(--k-fs-3xs); text-transform:uppercase; letter-spacing:0.08em; color:var(--k-ink-3); border-top:1px dashed var(--k-rule-strong); padding-top:var(--k-s-2); }
.t3-win-note { margin:var(--k-s-4) 0 0; font-size:var(--k-fs-caption); line-height:var(--k-lh-relaxed); color:var(--k-ink-3); max-width:60ch; text-wrap:pretty; }
/* briefing deliverable mock (stage 10) — a document, not a widget */
.t3-doc { border:1px solid var(--k-rule-strong); border-radius:var(--k-r-sm); background:var(--k-bg); box-shadow:var(--k-shadow-1); padding:var(--k-s-6) var(--k-s-7); max-width:560px; }
.t3-doc-head { display:flex; justify-content:space-between; gap:var(--k-s-3); flex-wrap:wrap; margin-bottom:var(--k-s-4); }
.t3-doc-kicker { font-size:var(--k-fs-3xs); letter-spacing:0.1em; color:var(--k-ink-3); }
.t3-doc-tier { font-size:var(--k-fs-3xs); letter-spacing:0.1em; color:var(--k-pos); font-weight:700; }
.t3-doc-title { margin:0 0 var(--k-s-4); font-family:var(--k-font-headline); font-weight:400; font-size:var(--k-fs-h3); line-height:1.2; color:var(--k-ink); }
[data-serif="off"] .t3-doc-title { font-family:var(--k-font-ui); font-weight:700; }
.t3-doc-fig { display:flex; align-items:baseline; gap:var(--k-s-3); margin-bottom:var(--k-s-4); }
.t3-doc-fig b { font-family:var(--k-font-mono); font-size:2rem; font-weight:600; color:var(--k-accent); }
.t3-doc-fig span { font-size:var(--k-fs-caption); color:var(--k-ink-3); }
.t3-doc-body { 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; }
.t3-doc-foot { border-top:1px solid var(--k-rule); padding-top:var(--k-s-3); margin-top:var(--k-s-4); font-size:var(--k-fs-3xs); letter-spacing:0.04em; color:var(--k-ink-4); word-break:break-all; }
.t3-brief-p { margin:0 0 var(--k-s-3); font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink); max-width:56ch; text-wrap:pretty; }
.t3-livehead { display:flex; align-items:center; justify-content:space-between; gap:var(--k-s-4); padding:var(--k-s-4) var(--k-s-6); border-bottom:1px solid var(--k-rule); flex-wrap:wrap; }
.t3-tabs, .t3-modes, .t3-filter { display:flex; gap:var(--k-s-1); flex-wrap:wrap; }
.t3-tab, .t3-ftab { min-height:38px; padding:0 var(--k-s-4); border-radius:var(--k-r-sm); border:1px solid transparent; font-family:var(--k-font-mono); font-size:var(--k-fs-caption); letter-spacing:0.04em; color:var(--k-ink-2); transition:all var(--k-dur-fast) var(--k-ease); }
.t3-tab:hover, .t3-ftab:hover { color:var(--k-ink); background:var(--k-sunken); }
.t3-tab[data-on], .t3-ftab[data-on] { background:var(--k-accent-soft); border-color:var(--k-accent-line); color:var(--k-accent); font-weight:600; }
.t3-mock { font-size:var(--k-fs-2xs); text-transform:uppercase; letter-spacing:0.1em; color:var(--k-warn); }
.t3-stage { padding:var(--k-s-6) var(--k-s-6) var(--k-s-7); min-height:420px; box-sizing:border-box; }
@media (max-width:640px){ .t3-stage { min-height:0; } }
.t3-goalbar { display:flex; gap:var(--k-s-3); align-items:center; flex-wrap:wrap; margin-bottom:var(--k-s-5); }
.t3-sel { flex:1 1 320px; min-height:44px; 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-sm); color:var(--k-ink); min-width:0; }
.t3-runbtn { flex:0 0 auto; }
.t3-chainlist { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.t3-cstep { display:grid; grid-template-columns:28px minmax(0,1fr) auto; grid-template-areas:'dot name status' 'dot detail status'; column-gap:var(--k-s-3); align-items:center; padding:var(--k-s-3) 0; border-top:1px solid var(--k-rule); opacity:.45; transition:opacity var(--k-dur-mid, 200ms) var(--k-ease); }
.t3-cstep[data-st="done"], .t3-cstep[data-st="run"] { opacity:1; }
.t3-cdot { grid-area:dot; width:24px; height:24px; border-radius:var(--k-r-full); border:1.5px solid var(--k-rule-strong); display:grid; place-items:center; font-family:var(--k-font-mono); font-size:var(--k-fs-3xs); color:var(--k-ink-3); background:var(--k-surface); }
.t3-cstep[data-st="done"] .t3-cdot { background:var(--k-pos); border-color:var(--k-pos); color:var(--k-ink-inv); }
.t3-cstep[data-st="run"] .t3-cdot { border-color:var(--k-accent); color:var(--k-accent); animation:t3pulse 1s ease-in-out infinite; }
@keyframes t3pulse { 0%,100%{ box-shadow:0 0 0 0 var(--k-accent-soft);} 50%{ box-shadow:0 0 0 6px var(--k-accent-soft);} }
@media (prefers-reduced-motion: reduce){ .t3-cstep[data-st="run"] .t3-cdot { animation:none; } }
.t3-cname { grid-area:name; font-weight:var(--k-w-medium); font-size:var(--k-fs-sm); color:var(--k-ink); }
.t3-cdetail { grid-area:detail; font-family:var(--k-font-mono); font-size:var(--k-fs-2xs); color:var(--k-ink-3); }
.t3-cstatus { grid-area:status; font-family:var(--k-font-mono); font-size:var(--k-fs-3xs); letter-spacing:0.08em; color:var(--k-ink-4); }
.t3-cstep[data-st="run"] .t3-cstatus { color:var(--k-accent); }
.t3-cstep[data-st="done"] .t3-cstatus { color:var(--k-pos); }
.t3-result { margin-top:var(--k-s-5); border:1px solid var(--k-accent-line); border-radius:var(--k-r-md); background:var(--k-accent-soft); padding:var(--k-s-5) var(--k-s-6); opacity:0; transform:translateY(8px); transition:all 400ms var(--k-ease); }
.t3-result[data-on] { opacity:1; transform:none; }
.t3-result-h { 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:var(--k-s-2); }
.t3-result-h b { color:var(--k-warn); }
.t3-result-v { font-size:var(--k-fs-h4); font-weight:600; color:var(--k-ink); }
.t3-result-d { margin:var(--k-s-2) 0 0; font-size:var(--k-fs-caption); color:var(--k-ink-2); max-width:52ch; }

/* workspace mock */
.t3-fcount { margin-left:auto; font-size:var(--k-fs-2xs); color:var(--k-ink-3); align-self:center; }
.t3-filter { margin-bottom:var(--k-s-5); width:100%; }
.t3-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--k-s-4); }
@media (max-width:900px){ .t3-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .t3-cards { grid-template-columns:1fr; } }
.t3-art { text-align:left; border:1px solid var(--k-rule); border-radius:var(--k-r-md); background:var(--k-surface); padding:var(--k-s-4) var(--k-s-5); display:flex; flex-direction:column; gap:var(--k-s-2); transition:all var(--k-dur-fast) var(--k-ease); min-width:0; }
.t3-art:hover { border-color:var(--k-accent); box-shadow:var(--k-shadow-1); }
.t3-art[data-open] { border-color:var(--k-accent); background:var(--k-accent-soft); }
.t3-art-k { display:flex; align-items:center; gap:6px; font-family:var(--k-font-mono); text-transform:uppercase; letter-spacing:0.08em; font-size:var(--k-fs-3xs); color:var(--k-ink-3); }
.t3-art-k i { width:7px; height:7px; border-radius:50%; background:var(--k-ink-4); margin-left:auto; }
.t3-art-k i[data-st="Published"], .t3-art-k i[data-st="Complete"] { background:var(--k-pos); }
.t3-art-k i[data-st="Running"] { background:var(--k-info); }
.t3-art-k i[data-st="Draft"] { background:var(--k-warn); }
.t3-art-k i[data-st="Paused"] { background:var(--k-ink-4); }
.t3-art-t { font-family:var(--k-font-headline); font-size:var(--k-fs-h4); color:var(--k-ink); }
[data-serif="off"] .t3-art-t { font-family:var(--k-font-ui); font-weight:600; }
.t3-art-m { font-size:var(--k-fs-2xs); color:var(--k-ink-3); }
.t3-art-d { font-size:var(--k-fs-2xs); color:var(--k-ink-2); border-top:1px dashed var(--k-rule-strong); padding-top:var(--k-s-2); margin-top:2px; }

/* seal mock */
.t3-tpls { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--k-s-3); margin-bottom:var(--k-s-5); }
@media (max-width:640px){ .t3-tpls { grid-template-columns:1fr; } }
.t3-tpl { text-align:left; border:1px solid var(--k-rule); border-radius:var(--k-r-md); background:var(--k-surface); padding:var(--k-s-4) var(--k-s-5); display:flex; flex-direction:column; gap:2px; transition:all var(--k-dur-fast) var(--k-ease); }
.t3-tpl:hover { border-color:var(--k-rule-strong); }
.t3-tpl[data-on] { border-color:var(--k-accent); box-shadow:0 0 0 1px var(--k-accent); }
.t3-tpl-t { font-family:var(--k-font-headline); font-size:var(--k-fs-h4); color:var(--k-ink); }
[data-serif="off"] .t3-tpl-t { font-family:var(--k-font-ui); font-weight:600; }
.t3-tpl-s { font-size:var(--k-fs-2xs); color:var(--k-ink-3); }
.t3-rendering { display:inline-flex; align-items:center; gap:var(--k-s-3); font-size:var(--k-fs-caption); color:var(--k-ink-2); }
.t3-sealwrap { opacity:0; transform:translateY(8px); transition:all 400ms var(--k-ease); }
.t3-sealwrap[data-on] { opacity:1; transform:none; }

/* who grid */
.t3-who { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--k-s-5); margin-top:var(--k-s-10); }
@media (max-width:960px){ .t3-who { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .t3-who { grid-template-columns:1fr; } }
.t3-whoc { border-left:2px solid var(--k-rule-strong); padding:var(--k-s-2) 0 var(--k-s-2) var(--k-s-5); min-width:0; }
.t3-whoc h3 { margin:0 0 var(--k-s-2); font-family:var(--k-font-ui); font-weight:var(--k-w-semibold); font-size:var(--k-fs-h4); color:var(--k-ink); }
.t3-whoc p { margin:0; font-size:var(--k-fs-sm); line-height:var(--k-lh-relaxed); color:var(--k-ink-2); text-wrap:pretty; }

/* scheduler embeds inline (no slide-over needed for v3 section) */
.t3-sched { margin-top:var(--k-s-8); }
.t3-modes { padding:0; }
.t3-inqlist { width:100%; display:flex; flex-direction:column; gap:2px; border-top:1px solid var(--k-rule); padding-top:var(--k-s-2); margin-top:var(--k-s-1); max-height:120px; overflow:auto; }
.t3-inqrow { font-size:var(--k-fs-3xs); color:var(--k-ink-2); }

/* sizing sanity: keep every text block inside its box */
.td-h2, .td-secstand, .td-stand { overflow-wrap:break-word; }
.td-sched-head { align-items:center; }
/* guided tour */
.t3-tourbar { display:flex; align-items:center; justify-content:space-between; gap:var(--k-s-4); margin-top:var(--k-s-8); flex-wrap:wrap; }
.t3-ticker { display:flex; align-items:center; gap:var(--k-s-4); }
.t3-tick { display:inline-flex; align-items:center; gap:6px; font-family:var(--k-font-mono); text-transform:uppercase; letter-spacing:0.1em; font-size:var(--k-fs-3xs); color:var(--k-ink-4); transition:color 300ms var(--k-ease); }
.t3-tick i { width:8px; height:8px; border-radius:50%; background:var(--k-rule-strong); transition:all 300ms var(--k-ease); }
.t3-tick[data-past] { color:var(--k-ink-2); }
.t3-tick[data-past] i { background:var(--k-accent); }
.t3-tick[data-on] { color:var(--k-accent); font-weight:700; }
.t3-tick[data-on] i { background:var(--k-accent); box-shadow:0 0 0 4px var(--k-accent-soft); }
.t3-tourctl { display:flex; gap:var(--k-s-2); flex-wrap:wrap; }
.t3-ctl { min-height:36px; padding:0 var(--k-s-4); font-size:var(--k-fs-caption); }
.t3-tourwrap { position:relative; }
.t3-tourwrap .t3-live { margin-top:var(--k-s-4); }
.t3-ghost { position:absolute; top:0; left:0; width:16px; height:16px; margin:-8px 0 0 -8px; border-radius:50%; background:var(--k-accent); box-shadow:0 0 0 3px var(--k-accent-soft), var(--k-shadow-2); z-index:20; pointer-events:none; opacity:0; transition:transform 750ms cubic-bezier(.3,.7,.25,1), opacity 250ms var(--k-ease); }
.t3-ghost[data-show] { opacity:.95; }
.t3-ghostring { position:absolute; inset:-7px; border:2px solid var(--k-accent); border-radius:50%; opacity:0; animation:t3ring 520ms var(--k-ease); }
@keyframes t3ring { 0% { transform:scale(.45); opacity:.85; } 100% { transform:scale(1.7); opacity:0; } }
@media (prefers-reduced-motion: reduce){ .t3-ghost { transition:opacity 250ms var(--k-ease); } .t3-ghostring { animation:none; } }
.t3-resume { position:absolute; left:50%; bottom:var(--k-s-6); transform:translateX(-50%); z-index:21; display:flex; align-items:center; gap:var(--k-s-4); background:var(--k-raised); border:1px solid var(--k-rule-strong); border-radius:var(--k-r-md); box-shadow:var(--k-shadow-3); padding:var(--k-s-3) var(--k-s-3) var(--k-s-3) var(--k-s-5); font-size:var(--k-fs-sm); color:var(--k-ink); }
.t3-endcta { position:absolute; left:50%; bottom:var(--k-s-6); transform:translateX(-50%); z-index:21; display:flex; align-items:center; gap:var(--k-s-5); background:var(--k-raised); border:1px solid var(--k-accent-line); border-radius:var(--k-r-md); box-shadow:var(--k-shadow-3); padding:var(--k-s-4) var(--k-s-4) var(--k-s-4) var(--k-s-6); flex-wrap:wrap; max-width:calc(100% - var(--k-s-8)); }
.t3-endcta p { margin:0; font-size:var(--k-fs-sm); color:var(--k-ink); }
.t3-caption { margin:var(--k-s-4) 0 0; min-height:22px; font-family:var(--k-font-mono); font-size:var(--k-fs-caption); color:var(--k-ink-3); opacity:0; transition:opacity 300ms var(--k-ease); }
.t3-caption[data-on] { opacity:1; }
/* mobile (≤719px): no ghost cursor — the tour runs as a simple auto-advancing sequence */
@media (max-width:719px){
  .t3-ghost { display:none !important; }
  .t3-endcta, .t3-resume { left:var(--k-s-4); right:var(--k-s-4); transform:none; max-width:none; }
  .t3-tourbar { flex-direction:column; align-items:flex-start; }
  .t3-bar { grid-template-columns:88px 1fr 48px; }
  .t3-win-body { padding:var(--k-s-4) var(--k-s-5); }
  .t3-win-tag { display:none; }
}
/* FAQ: collapsed by default — tap/click (or Enter) toggles; hover also opens on pointer devices */
.t3-q { cursor:default; }
.t3-q h3 { margin-bottom:0; }
.t3-q-btn { width:100%; display:flex; align-items:baseline; justify-content:space-between; gap:var(--k-s-4); min-height:44px; font:inherit; color:inherit; text-align:left; transition:color var(--k-dur-fast) var(--k-ease); }
.t3-q[data-open] .t3-q-btn, .t3-q-btn:focus-visible { color:var(--k-accent); }
.t3-q-caret { font-size:var(--k-fs-caption); color:var(--k-ink-4); transition:transform 200ms var(--k-ease); flex:0 0 auto; }
.t3-q[data-open] .t3-q-caret { transform:rotate(90deg); color:var(--k-accent); }
.t3-q-body { display:grid; grid-template-rows:0fr; transition:grid-template-rows 300ms var(--k-ease); }
.t3-q[data-open] .t3-q-body { grid-template-rows:1fr; }
@media (hover: hover){
  .t3-q:hover .t3-q-btn { color:var(--k-accent); }
  .t3-q:hover .t3-q-caret { transform:rotate(90deg); color:var(--k-accent); }
  .t3-q:hover .t3-q-body { grid-template-rows:1fr; }
}
.t3-q-inner { overflow:hidden; }
.t3-q-inner p:first-child { margin-top:var(--k-s-3); }
@media (prefers-reduced-motion: reduce){ .t3-q-body, .t3-q-caret { transition:none; } }
/* Telosyn wordmark — pre-cropped 1200px asset (demo/assets/telosyn-logo.png) */
[data-theme="dark"] .td-foot-logo { content:url("assets/telosyn-logo-white.png"); }
.td-foot-logo { display:block; height:44px; width:auto; margin:0 0 var(--k-s-4) -6px; }
