/* Landing Page Kit v2 · kit.css · built from parts/ in this order: base, hero, xray, sectionsA, sectionsB, sectionsC.
   All shippable classes start with k-. Colors come only from the --k-* tokens at the top (light on :root; dark under
   prefers-color-scheme with :root:not([data-theme="light"]) and under :root[data-theme="dark"]).
   base.css section 12 (kit-b-*, the kit page system sheets) is not included here: it lives in index.html. */

/* ===== parts/base.css ===== */
/* kit v2 · base.css · tokens (SPEC §2.1), type (§3), signature treatments, the reveal engine's states (§4), primitives (§7.0), the call line and clock (§5.2 to §5.4). Hex values appear only in the token block. */
@property --k-fill{syntax:'<percentage>';inherits:false;initial-value:100%}
@property --k-progress{syntax:'<number>';inherits:true;initial-value:1}
:root{
--k-paper:#f1f4f7;--k-paper-2:#e8edf2;--k-surface:#ffffff;
--k-ink:#0c1116;--k-ink-2:#2b3440;--k-muted:#56616e;
--k-line:#c3ccd6;--k-line-strong:#74808e;--k-grid:#e1e7ee;--k-grid-major:#d3dbe4;
--k-accent:#1f48e0;--k-accent-ink:#ffffff;
--k-missed:#c42a1b;--k-missed-ink:#ffffff;
--k-panel:#0d1218;--k-panel-ink:#e6ebf1;--k-panel-muted:#8b97a5;--k-panel-line:#253040;
--k-panel-grid:#18212c;--k-panel-accent:#8ea6ff;--k-panel-accent-ink:#08101f;
--k-panel-missed:#ff6d5c;--k-panel-edge:#0d1218;
--k-accent-tint:color-mix(in srgb,var(--k-accent) 11%,transparent);
--k-missed-tint:color-mix(in srgb,var(--k-missed) 10%,transparent);
--k-scan:color-mix(in srgb,var(--k-accent) 8%,transparent);
--k-focus:var(--k-accent);
color-scheme:light;
--k-f-display:"Archivo","Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
--k-f-body:"Instrument Sans","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
--k-f-mono:"Martian Mono","JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
--k-f-note:"Newsreader","Iowan Old Style","Charter",Georgia,serif;
--k-fs-xxl:clamp(7.5rem,4rem + 15.56vw,18rem);
--k-fs-d1:clamp(3.25rem,1.833rem + 6.296vw,7.5rem);
--k-fs-d2:clamp(2.375rem,1.333rem + 4.63vw,5.5rem);
--k-fs-d3:clamp(1.625rem,1.333rem + 1.296vw,2.5rem);
--k-fs-h4:clamp(1.125rem,1rem + .556vw,1.5rem);
--k-fs-readout:clamp(2.5rem,2rem + 2.222vw,4rem);
--k-fs-quote:clamp(1.25rem,1.083rem + .741vw,1.75rem);
--k-fs-lede:clamp(1.0625rem,.979rem + .37vw,1.3125rem);
--k-fs-body:clamp(1rem,.979rem + .093vw,1.0625rem);
--k-fs-note:clamp(.9375rem,.896rem + .185vw,1.0625rem);
--k-fs-small:.875rem;
--k-fs-btn:.8125rem;
--k-fs-label:.75rem;
--k-fs-micro:.6875rem;
--k-art-fs:10px;
--k-s-1:4px;--k-s-2:8px;--k-s-3:12px;--k-s-4:16px;--k-s-5:24px;
--k-s-6:32px;--k-s-7:48px;--k-s-8:64px;--k-s-9:96px;--k-s-10:128px;
--k-gutter:clamp(16px,4vw,56px);
--k-max:1320px;
--k-col-gap:clamp(16px,2vw,24px);
--k-sec-y:clamp(64px,6vw,96px);
--k-sec-y-tone:clamp(72px,9vw,144px);
--k-sticky-top:88px;
--k-r-0:0;--k-r-1:2px;--k-r-2:4px;--k-r-round:999px;
--k-w-hair:1px;--k-w-art:1.25px;--k-w-frame:1.5px;--k-w-acc:1.75px;--k-w-rule:2.5px;
--k-focus-w:2px;--k-focus-o:3px;
--k-ease-servo:cubic-bezier(.65,0,.35,1);
--k-ease-settle:cubic-bezier(.16,1,.3,1);
--k-ease-ui:cubic-bezier(.2,0,0,1);
--k-ease-stamp:cubic-bezier(.2,0,0,1);
--k-ease-pen:linear;
--k-t-tick:90ms;--k-t-ui:160ms;--k-t-move:320ms;--k-t-enter:560ms;
--k-t-plot:520ms;--k-t-line:760ms;--k-t-stamp:600ms;
--k-clock:60ms;
--k-draw-step:90ms;
--k-pen-speed:1400;
--k-z-thread:2;--k-z-clock:40;--k-z-boot:100;
}
/* from 1024px the gutter is the call line's lane: 40px at 1024, 58px at 1280, 129px at 1440 (labels need 96px) */
@media (min-width:1024px){:root{--k-gutter:clamp(72px,7vw,128px)}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
--k-paper:#0a0d11;--k-paper-2:#0e1318;--k-surface:#121820;
--k-ink:#e6ebf1;--k-ink-2:#c3ccd6;--k-muted:#97a3b1;
--k-line:#2c3744;--k-line-strong:#5b6878;--k-grid:#131a22;--k-grid-major:#1a232d;
--k-accent:#7d9cff;--k-accent-ink:#08101f;
--k-missed:#ff6d5c;--k-missed-ink:#1a0603;
--k-panel:#04070a;--k-panel-line:#1f2934;--k-panel-grid:#10171f;--k-panel-edge:#33404f;
--k-accent-tint:color-mix(in srgb,var(--k-accent) 11%,transparent);
--k-missed-tint:color-mix(in srgb,var(--k-missed) 10%,transparent);
--k-scan:color-mix(in srgb,var(--k-accent) 8%,transparent);
--k-focus:var(--k-accent);
color-scheme:dark}}
:root[data-theme="dark"]{
--k-paper:#0a0d11;--k-paper-2:#0e1318;--k-surface:#121820;
--k-ink:#e6ebf1;--k-ink-2:#c3ccd6;--k-muted:#97a3b1;
--k-line:#2c3744;--k-line-strong:#5b6878;--k-grid:#131a22;--k-grid-major:#1a232d;
--k-accent:#7d9cff;--k-accent-ink:#08101f;
--k-missed:#ff6d5c;--k-missed-ink:#1a0603;
--k-panel:#04070a;--k-panel-line:#1f2934;--k-panel-grid:#10171f;--k-panel-edge:#33404f;
--k-accent-tint:color-mix(in srgb,var(--k-accent) 11%,transparent);
--k-missed-tint:color-mix(in srgb,var(--k-missed) 10%,transparent);
--k-scan:color-mix(in srgb,var(--k-accent) 8%,transparent);
--k-focus:var(--k-accent);
color-scheme:dark}
/* [data-k-invert] (the founding band): one inverted block in both themes, so in dark it takes light panel values */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) [data-k-invert]{--k-panel:#e9eef4;--k-panel-ink:#0c1116;--k-panel-muted:#4d5866;--k-panel-line:#c5ced8;--k-panel-grid:#dce3eb;--k-panel-accent:#1f48e0;--k-panel-accent-ink:#ffffff;--k-panel-missed:#c42a1a;--k-panel-edge:#e9eef4;color-scheme:light}}
:root[data-theme="dark"] [data-k-invert]{--k-panel:#e9eef4;--k-panel-ink:#0c1116;--k-panel-muted:#4d5866;--k-panel-line:#c5ced8;--k-panel-grid:#dce3eb;--k-panel-accent:#1f48e0;--k-panel-accent-ink:#ffffff;--k-panel-missed:#c42a1a;--k-panel-edge:#e9eef4;color-scheme:light}
[data-k-tone="paper-2"]{--k-paper:var(--k-paper-2);background-color:var(--k-paper-2)}
[data-k-tone="panel"]{
--k-paper:var(--k-panel);--k-paper-2:var(--k-panel);
--k-surface:color-mix(in srgb,var(--k-panel-ink) 5%,var(--k-panel));
--k-ink:var(--k-panel-ink);--k-ink-2:var(--k-panel-ink);--k-muted:var(--k-panel-muted);
--k-line:var(--k-panel-line);--k-line-strong:var(--k-panel-muted);
--k-grid:var(--k-panel-grid);--k-grid-major:var(--k-panel-line);
--k-accent:var(--k-panel-accent);--k-accent-ink:var(--k-panel-accent-ink);
--k-missed:var(--k-panel-missed);--k-missed-ink:#1a0603;
--k-accent-tint:color-mix(in srgb,var(--k-panel-accent) 14%,transparent);
--k-missed-tint:color-mix(in srgb,var(--k-panel-missed) 12%,transparent);
--k-scan:color-mix(in srgb,var(--k-panel-accent) 10%,transparent);
--k-focus:var(--k-panel-accent);
background-color:var(--k-panel);color:var(--k-panel-ink);
box-shadow:inset 0 0 0 1px var(--k-panel-edge);
color-scheme:dark}
@media (prefers-contrast: more){:root{--k-line:var(--k-line-strong);--k-muted:var(--k-ink-2)}}
@media (forced-colors: active){:root{
--k-paper:Canvas;--k-paper-2:Canvas;--k-surface:Canvas;--k-ink:CanvasText;--k-ink-2:CanvasText;
--k-muted:CanvasText;--k-line:GrayText;--k-line-strong:CanvasText;--k-grid:Canvas;--k-grid-major:GrayText;
--k-accent:Highlight;--k-accent-ink:HighlightText;--k-missed:CanvasText;--k-focus:Highlight}}

/* 0 · keyframes and the failsafe (§4.1) */
@keyframes k-failsafe{to{opacity:1;transform:none;clip-path:none;stroke-dashoffset:0;--k-fill:100%;visibility:visible}}
@keyframes k-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes k-fade{from{opacity:0}to{opacity:1}}
@keyframes k-led{from{opacity:.15}to{opacity:1}}

/* 1 · page, layout, tones, grid, frames (§5.4) */
:where(.k-page,.k-page *,.k-page ::before,.k-page ::after){box-sizing:border-box}
.k-page{margin:0;background:var(--k-paper);color:var(--k-ink-2);font:400 var(--k-fs-body)/1.55 var(--k-f-body);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}
.k-sec{position:relative;padding-block:var(--k-sec-y)}
/* rhythm: 6vw between sheets of the same tone; 9vw on each side of a tone change (specificity of .k-sec, so components can still override) */
.k-sec:where([data-k-tone],:has(+.k-sec[data-k-tone])){padding-bottom:var(--k-sec-y-tone)}
.k-sec:where([data-k-tone]),:where([data-k-tone])+.k-sec{padding-top:var(--k-sec-y-tone)}
.k-wrap{box-sizing:border-box;width:100%;max-width:var(--k-max);margin-inline:auto;padding-left:max(var(--k-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--k-gutter),env(safe-area-inset-right,0px))}
.k-g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--k-col-gap)}
@media (max-width:899.98px){.k-g12{grid-template-columns:minmax(0,1fr)}.k-g12>*{grid-column:1/-1}}
.k-vh{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
:where([data-k-tone="panel"]):not([data-k-chapter]){border-radius:var(--k-r-1)}
[data-k-tone="paper"]{background-color:var(--k-paper)}
[data-k-grid],.k-grid-bg{background-color:var(--k-paper);background-image:linear-gradient(var(--k-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--k-grid-major) 1px,transparent 1px),linear-gradient(var(--k-grid) 1px,transparent 1px),linear-gradient(90deg,var(--k-grid) 1px,transparent 1px);background-size:128px 128px,128px 128px,32px 32px,32px 32px;background-position:-1px -1px}
/* crop marks: 8 gradient layers */
.k-frame,.k-fig{--k-cg:linear-gradient(var(--k-cm),var(--k-cm));background-image:var(--k-cg),var(--k-cg),var(--k-cg),var(--k-cg),var(--k-cg),var(--k-cg),var(--k-cg),var(--k-cg);background-repeat:no-repeat;background-size:var(--k-cl) 1px,1px var(--k-cl),var(--k-cl) 1px,1px var(--k-cl),var(--k-cl) 1px,1px var(--k-cl),var(--k-cl) 1px,1px var(--k-cl);background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%}
.k-frame{position:absolute;inset:var(--k-frame-inset,12px);pointer-events:none;--k-cm:var(--k-line-strong);--k-cl:16px}

/* 2 · type (§3.2) */
:is(.k-d1,.k-d2,.k-d3,.k-h4,.k-face,.k-xxl,.k-display,.k-h3){margin:0;font-family:var(--k-f-display);font-synthesis:none;color:var(--k-ink)}
:is(.k-d1,.k-d2,.k-d3,.k-h4,.k-face,.k-display,.k-h3){text-transform:uppercase}
.k-d1{font-size:var(--k-fs-d1);font-stretch:64%;font-weight:800;line-height:.86;letter-spacing:-.012em}
.k-d2{font-size:var(--k-fs-d2);font-stretch:68%;font-weight:800;line-height:.9;letter-spacing:-.006em;text-wrap:balance}
.k-d3{font-size:var(--k-fs-d3);font-stretch:76%;font-weight:700;line-height:.98}
.k-h4,.k-h3{font-size:var(--k-fs-h4);font-stretch:86%;font-weight:650;line-height:1.15;letter-spacing:.005em}
.k-face{font-size:var(--k-fs-label);font-stretch:125%;font-weight:600;line-height:1.2;letter-spacing:.14em}
.k-xxl{font-size:var(--k-fs-xxl);font-stretch:62%;font-weight:900;line-height:.8;letter-spacing:-.01em}
.k-display{font-stretch:72%;font-weight:800;line-height:.92;text-wrap:balance}
.k-h1{font-size:var(--k-fs-d1)}.k-h2{font-size:var(--k-fs-d2)}
:is(.k-lede,.k-body,.k-dense,.k-small,.k-q){margin:0;font-family:var(--k-f-body)}
.k-lede{max-width:44ch;font-size:var(--k-fs-lede);font-weight:450;line-height:1.45;letter-spacing:-.005em;color:var(--k-ink-2)}
.k-body{max-width:66ch;font-size:var(--k-fs-body);line-height:1.55;color:var(--k-ink-2)}
.k-dense{font-size:var(--k-fs-body);font-stretch:92%;line-height:1.5}
.k-small{font-size:var(--k-fs-small);line-height:1.5;color:var(--k-muted)}
.k-q{font-size:var(--k-fs-h4);font-weight:600;line-height:1.3;letter-spacing:-.005em;color:var(--k-ink)}
:is(.k-note,.k-quote,.k-margin){margin:0;font-family:var(--k-f-note);font-style:italic;font-weight:400;font-optical-sizing:auto;font-synthesis:none}
.k-note,.k-margin{font-size:var(--k-fs-note);line-height:1.35;color:var(--k-muted)}
.k-margin{max-width:34ch}
.k-quote{font-size:var(--k-fs-quote);line-height:1.2;letter-spacing:-.01em;color:var(--k-ink);text-indent:-.42em}
@media (max-width:599.98px){.k-quote{text-indent:0}}
/* mono recipes: labels 12px, micro 11px */
:is(.k-mono-s,.k-mono-m,.k-num,.k-mono,.k-btn,.k-link,.k-tag,.k-chip,.k-readout,.k-balloon,.k-spot,.k-dim-label,.k-clock,.k-calllog-list a,.k-thread-l){font-family:var(--k-f-mono);font-stretch:87.5%;font-variant-numeric:tabular-nums}
:is(.k-mono-s,.k-link,.k-tag,.k-readout,.k-dim-label,.k-clock,.k-calllog-list a){font-size:var(--k-fs-label);font-weight:450;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
:is(.k-chip,.k-balloon,.k-spot,.k-thread-l){font-size:var(--k-fs-micro);font-weight:500;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
.k-mono-s :is(b,strong){font-weight:650}
.k-mono-m{font-size:var(--k-fs-small);font-weight:450;line-height:1.4;letter-spacing:.02em}
.k-num{font-size:var(--k-fs-readout);font-stretch:75%;font-weight:500;line-height:1;letter-spacing:-.03em;color:var(--k-ink)}
.k-fig-cap{max-width:62ch}

/* 3 · signature treatments (§3.3) */
.k-ln{display:block}
.k-plot{color:var(--k-plot-color,currentColor)}
.k-ln.k-plot{width:fit-content;max-width:100%}
@supports ((-webkit-background-clip:text) or (background-clip:text)) and (-webkit-text-stroke:1px){
 @media (prefers-reduced-motion:no-preference) and (prefers-contrast:no-preference) and (forced-colors:none){
  html.k-js:not(.k-reduced):not(.k-late) .k-plot:not(.is-done){color:transparent;-webkit-text-stroke:1.25px var(--k-ink);background-image:linear-gradient(var(--k-plot-color,var(--k-ink)),var(--k-plot-color,var(--k-ink))),linear-gradient(var(--k-accent),var(--k-accent));background-size:var(--k-fill) 100%,2px 100%;background-position:0 0,var(--k-fill) 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;--k-fill:0%;transition:--k-fill var(--k-t-plot) linear}
  html.k-js:not(.k-reduced) .k-plot.is-plotting{--k-fill:100%}
  html.k-js:not(.k-live) .k-plot{animation:k-failsafe 1ms 2.5s both}
 }}
/* T2 dimension line */
.k-dim{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:24px;color:var(--k-line-strong);pointer-events:none}
.k-dim::before{content:"";position:absolute;inset:50% 0 auto;border-top:1px solid var(--k-line-strong)}
.k-dim.is-measured::before{display:none}
.k-dim-label{position:relative;padding:0 10px;background:var(--k-paper);font-weight:500;letter-spacing:.1em;white-space:nowrap;color:var(--k-muted)}
.k-dim.is-measured:not(.is-tight) .k-dim-label{background:none}
.k-dim-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--k-line-strong);stroke-width:1}
.k-dim-svg .k-dim-a{fill:var(--k-line-strong);stroke:none}
.k-dim[data-k-dim-axis="y"]{flex-direction:column;width:24px;min-height:48px;height:100%}
.k-dim[data-k-dim-axis="y"]::before{inset:0 auto 0 50%;border-top:0;border-left:1px solid var(--k-line-strong)}
.k-dim[data-k-dim-axis="y"] .k-dim-label{padding:10px 0;writing-mode:vertical-rl;transform:rotate(180deg)}
/* T3 drum: a clipped window per digit over a ghost digit */
.k-drum{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}
.k-drum-d{position:relative;display:inline-block;clip-path:inset(0)}
.k-drum-g{visibility:hidden}
.k-drum-c{position:absolute;inset:0 0 auto;transition:transform var(--k-t-move) var(--k-ease-servo)}
.k-drum-c>span{display:block;text-align:center}
.k-drum-s{white-space:pre}
.k-fig-cap.k-note{color:var(--k-muted)}
/* T6 stamp */
.k-stamp{display:inline-block;max-width:100%;white-space:nowrap;font-stretch:64%;font-weight:850;color:var(--k-accent);transition:font-stretch var(--k-t-stamp) var(--k-ease-stamp),font-weight var(--k-t-stamp) var(--k-ease-stamp),color var(--k-t-stamp) var(--k-ease-stamp)}
html.k-js .k-stamp:not(.is-stamped){font-stretch:125%;font-weight:300;color:var(--k-muted)}

/* 4 · reveals (§4.3): hidden states only under html.k-js, each paired with the failsafe */
.k-w,.k-c,.k-cw{display:inline-block}
.k-cw{white-space:nowrap}
[data-k-reveal="rule"]{transform-origin:0 50%}
[data-k-reveal="lines"] .k-ln{padding-block:.06em;margin-block:-.06em}
.k-ln-i{display:block}
@media (prefers-reduced-motion:no-preference){
 html.k-js:not(.k-reduced):not(.k-late){
  & :is([data-k-reveal="rise"]:not([data-k-split]),[data-k-stagger="rise"]>:not([data-k-reveal])):not(.is-in){opacity:0;transform:translateY(12px)}
  & :is([data-k-reveal="fade"]:not([data-k-split]),[data-k-stagger="fade"]>:not([data-k-reveal])):not(.is-in){opacity:0}
  & :is([data-k-reveal="type"],[data-k-stagger="type"]>:not([data-k-reveal])):not(.is-in){clip-path:inset(0 100% 0 0)}
  & :is([data-k-reveal="rule"]:not(.k-dim),[data-k-stagger="rule"]>:not([data-k-reveal])):not(.is-in){transform:scaleX(0)}
  & :is([data-k-reveal="open"],[data-k-stagger="open"]>:not([data-k-reveal])):not(.is-in){clip-path:inset(50% 0)}
  & [data-k-reveal="lines"]:not(.is-in) .k-ln-i{transform:translateY(105%)}
  & [data-k-reveal="lines"]:not([data-k-ready~="lines"]),& [data-k-reveal][data-k-split]:not([data-k-ready~="split"]){opacity:0}
  & [data-k-reveal]:not(.is-in) :is(.k-w,.k-c){opacity:0;transform:translateY(.35em)}
  & .k-dim[data-k-reveal]:not(.is-in) :is(.k-dim-svg,.k-dim-label),& .k-dim[data-k-reveal]:not(.is-in)::before{transform:scaleX(0);opacity:0}
  & .k-dim[data-k-dim-axis="y"][data-k-reveal]:not(.is-in) .k-dim-svg{transform:scaleY(0)}
  & .k-dim[data-k-reveal]:not(.is-in) .k-dim-label{transform:none}
  & .k-art:is([data-k-reveal="draw"],[data-draw]):not(.is-in) .d{stroke-dasharray:1 2;stroke-dashoffset:1}
  & .k-art:is([data-k-reveal="draw"],[data-draw]):not(.is-in) :is(text,.fade){opacity:0}
 }
 /* failsafe: if base.js never runs, all of the above shows at 2.5s */
 html.k-js:not(.k-live):not(.k-reduced){
  & :is([data-k-reveal="rise"],[data-k-reveal="fade"],[data-k-reveal="type"],[data-k-reveal="rule"],[data-k-reveal="open"],[data-k-reveal="lines"],[data-k-reveal][data-k-split],:is([data-k-stagger="rise"],[data-k-stagger="fade"],[data-k-stagger="type"],[data-k-stagger="rule"],[data-k-stagger="open"])>:not([data-k-reveal])):not(.is-in),
  & [data-k-reveal]:not(.is-in) :is(.k-ln-i,.k-w,.k-c,.k-dim-svg,.k-dim-label),& .k-dim[data-k-reveal]:not(.is-in)::before,
  & .k-art:is([data-k-reveal="draw"],[data-draw]):not(.is-in) :is(.d,text,.fade){animation:k-failsafe 1ms 2.5s both}
 }
 /* .is-settled drops entrance transitions, so components keep their own */
 html.k-js:not(.k-reduced){
  & :is([data-k-reveal],[data-k-stagger]>*){--k-dl:calc(var(--i,0) * var(--k-clock) + var(--k-delay,0ms))}
  & :is([data-k-reveal="rise"],[data-k-stagger="rise"]>:not([data-k-reveal])):not(.is-settled){transition:opacity var(--k-t-enter) var(--k-ease-settle) var(--k-dl),transform var(--k-t-enter) var(--k-ease-settle) var(--k-dl)}
  & :is([data-k-reveal="fade"],[data-k-stagger="fade"]>:not([data-k-reveal])):not(.is-settled){transition:opacity .4s ease var(--k-dl)}
  & :is([data-k-reveal="type"],[data-k-stagger="type"]>:not([data-k-reveal])):not(.is-settled){transition:clip-path var(--k-type-dur,300ms) steps(var(--k-chars,12),end) var(--k-dl)}
  & :is([data-k-reveal="rule"],[data-k-stagger="rule"]>:not([data-k-reveal])):not(.is-settled){transition:transform var(--k-t-enter) var(--k-ease-settle) var(--k-dl)}
  & :is([data-k-reveal="open"],[data-k-stagger="open"]>:not([data-k-reveal])):not(.is-settled){transition:clip-path var(--k-t-enter) var(--k-ease-servo) var(--k-dl)}
  & :is([data-k-reveal="type"],[data-k-reveal="open"],[data-k-stagger="type"]>*,[data-k-stagger="open"]>*).is-in:not(.is-settled){clip-path:inset(0)}
  & [data-k-reveal="lines"]:not(.is-settled) .k-ln{overflow:clip}
  & [data-k-reveal="lines"]:not(.is-settled) .k-ln-i{transition:transform var(--k-t-line) var(--k-ease-settle) calc(var(--k-dl,0ms) + var(--k-li,0) * 70ms)}
  & [data-k-reveal]:not(.is-settled) :is(.k-w,.k-c){transition:opacity .4s var(--k-ease-settle) calc(var(--k-dl,0ms) + var(--i,0) * 24ms),transform var(--k-t-enter) var(--k-ease-settle) calc(var(--k-dl,0ms) + var(--i,0) * 24ms)}
  & .k-dim[data-k-reveal]:not(.is-settled) .k-dim-svg,& .k-dim[data-k-reveal]:not(.is-settled)::before{transition:transform var(--k-t-enter) var(--k-ease-settle) var(--k-dl,0ms),opacity 1ms linear var(--k-dl,0ms)}
  & .k-dim[data-k-reveal]:not(.is-settled) .k-dim-label{transition:opacity .3s ease calc(var(--k-dl,0ms) + 240ms)}
  & .k-led.is-pulse{animation:k-led .6s steps(2,jump-none) 3}
 }
}
/* line art (§4.5) */
html:not(.k-reduced) .k-art.is-in:not(.is-drawn) .d{stroke-dasharray:1 2;animation:k-draw var(--k-dur,600ms) var(--k-ease-pen) var(--k-at,0ms) both}
html:not(.k-reduced) .k-art.is-in:not(.is-drawn) :is(text,.fade){animation:k-fade 240ms ease calc(var(--k-at,0ms) + 240ms) both}

/* 5 · art helpers */
.k-art{display:block;width:100%;max-width:100%;height:auto;fill:none;stroke:var(--k-ink);stroke-width:var(--k-w-art);stroke-linecap:round;stroke-linejoin:round;color:var(--k-ink);font-synthesis:none}
.k-art>*{--i:0}
.k-art text{stroke:none;fill:currentColor;font-family:var(--k-f-mono);font-size:var(--k-art-fs);font-stretch:87.5%;font-weight:450;letter-spacing:.06em}
.k-art[data-k-scale] text{font-size:calc(var(--k-art-fs) * var(--k-art-k,1))}
.k-art .t-body{font-family:var(--k-f-body);font-size:12.5px;font-stretch:100%;letter-spacing:0}
.k-art .t-ink{fill:var(--k-ink)}.k-art .t-mute{fill:var(--k-muted)}.k-art .t-acc{fill:var(--k-accent)}.k-art .t-miss{fill:var(--k-missed)}
.k-art .s-ink{stroke:var(--k-ink)}.k-art .s-faint{stroke:var(--k-line)}.k-art .s-strong{stroke:var(--k-line-strong)}
.k-art .s-hair{stroke-width:var(--k-w-hair)}.k-art .s-rule{stroke-width:var(--k-w-rule)}
.k-art .s-dash{stroke:var(--k-line);stroke-dasharray:3 4}
.k-art .s-chain{stroke:var(--k-line-strong);stroke-width:var(--k-w-hair);stroke-dasharray:14 4 2 4}
.k-art .s-acc{stroke:var(--k-accent);stroke-width:var(--k-w-acc)}
.k-art .s-miss{stroke:var(--k-missed);stroke-width:var(--k-w-acc)}
.k-art .f-acc{fill:var(--k-accent-tint)}.k-art .f-solid{fill:var(--k-accent);stroke:var(--k-accent)}
.k-art .f-paper{fill:var(--k-paper);stroke:none}.k-art .f-surface{fill:var(--k-surface)}
.k-art .f-hatch{fill:url(#k-hatch)}.k-art .f-hatch-acc{fill:url(#k-hatch-acc)}.k-art .f-hatch-ink{fill:url(#k-hatch-ink)}
.k-art .m-acc{fill:var(--k-accent);stroke:none}.k-art .m-ink{fill:var(--k-ink);stroke:none}
.k-art .a-acc{marker-end:url(#k-arrow)}.k-art .a-ink{marker-end:url(#k-arrow-ink)}.k-art .a-dim{marker-start:url(#k-arrow-dim);marker-end:url(#k-arrow-dim)}
.k-art .v-ns{vector-effect:non-scaling-stroke}
.k-pen{pointer-events:none;opacity:0}
.k-art.is-penning .k-pen{opacity:1}

/* 6 · primitives (§7.0) */
.k-ico{width:24px;height:24px;flex:none;vertical-align:middle;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.k-ico-drafted{position:relative;display:inline-grid;place-items:center;width:52px;height:52px;flex:none}
.k-ico.is-drafted{width:40px;height:40px;stroke-width:1.1}
.k-ico .k-ico-c{color:var(--k-line);stroke-width:.55}
.k-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:1.5px solid var(--k-ink);border-radius:var(--k-r-1);color:var(--k-ink);background:transparent linear-gradient(var(--k-ink),var(--k-ink)) 0 0/0 100% no-repeat;font-size:var(--k-fs-btn);font-weight:600;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-size var(--k-t-ui) var(--k-ease-servo),color var(--k-t-ui) var(--k-ease-ui),border-color var(--k-t-ui) var(--k-ease-ui),transform var(--k-t-tick) var(--k-ease-ui)}
.k-btn.is-solid{background-color:var(--k-accent);border-color:var(--k-accent);color:var(--k-accent-ink)}
.k-btn.is-s{min-height:44px;padding:0 14px}
.k-btn .k-ico{width:18px;height:18px}
.k-btn:active{transform:translateY(1px)}
.k-btn[disabled]{opacity:.45;cursor:not-allowed}
@media (hover:hover){.k-btn:hover{background-size:100% 100%;color:var(--k-paper)}.k-btn.is-solid:hover{border-color:var(--k-ink)}.k-link:hover{color:var(--k-accent)}.k-link:hover .k-ico{transform:translateX(3px)}.k-link:hover .k-ico:has(use[href="#i-arrow-up"]){transform:translateY(-3px)}}
.k-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1.5px solid var(--k-accent);color:var(--k-ink);font-weight:600;text-decoration:none;transition:color var(--k-t-ui) var(--k-ease-ui)}
.k-link .k-ico{width:16px;height:16px;transition:transform var(--k-t-ui) var(--k-ease-servo)}
.k-tag{display:inline-flex;align-items:baseline;gap:6px;color:var(--k-ink)}
.k-tag b{font-weight:650}
.k-tag b::before{content:"[";font-weight:400}.k-tag b::after{content:"]";font-weight:400}
.k-tag .k-ico{width:16px;height:16px;align-self:center}
.k-tag.is-hot{color:var(--k-accent)}.k-tag.is-missed{color:var(--k-missed)}
.k-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border:1px solid var(--k-line-strong);border-radius:var(--k-r-1);background:var(--k-surface);color:var(--k-ink-2);vertical-align:middle;white-space:nowrap}
.k-chip.is-red{color:var(--k-missed);border-color:var(--k-missed)}
.k-chip.is-muted{color:var(--k-muted)}
.k-chip.is-accent{color:var(--k-accent);border-color:var(--k-accent)}
.k-readout{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;color:var(--k-muted)}
.k-led{display:inline-block;flex:none;width:6px;height:6px;background:var(--k-accent);box-shadow:0 0 0 2px var(--k-accent-tint);forced-color-adjust:none}
.k-led.is-missed{background:var(--k-missed);box-shadow:0 0 0 2px var(--k-missed-tint)}
.k-balloon{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border:1.25px solid var(--k-ink);border-radius:50%;background:var(--k-paper);color:var(--k-ink);font-weight:650;line-height:1;letter-spacing:0}
.k-balloon.is-hot{background:var(--k-accent);border-color:var(--k-accent);color:var(--k-accent-ink)}
.k-balloon.is-dashed{border-style:dashed;border-color:var(--k-line-strong);color:var(--k-muted)}
.k-checks{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.k-checks li{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:10px;align-items:start;color:var(--k-ink-2)}
.k-checks li::before{content:"";width:10px;height:5px;margin:calc(.775em - 4px) 0 0 2px;border:solid var(--k-ink);border-width:0 0 1.5px 1.5px;transform:rotate(-45deg)}
.k-checks li.is-acc::before{border-color:var(--k-accent)}
.k-checks li.is-inherit{font-weight:600;color:var(--k-ink)}
.k-hr{height:0;margin:0;border:0;border-top:var(--k-w-hair) solid var(--k-line)}
.k-hr.is-ink{border-top:var(--k-w-frame) solid var(--k-ink)}
.k-hr.is-seam{border-top:var(--k-w-rule) solid var(--k-ink)}
.k-fig{position:relative;display:grid;gap:var(--k-s-3);margin:0;padding:var(--k-s-4);min-width:0;container-type:inline-size;--k-cm:var(--k-line-strong);--k-cl:12px}
.k-fig.is-framed{border:var(--k-w-frame) solid var(--k-ink);border-radius:var(--k-r-1)}
.k-fig-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;color:var(--k-muted)}
.k-fig-head>.k-mono-s{color:var(--k-ink)}
.k-fig-body{position:relative;min-width:0}
.k-spot{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 4px;border:1.25px dashed var(--k-line-strong);border-radius:var(--k-r-1);color:var(--k-muted);font-weight:650}
.k-spot.is-taken{border-style:solid;border-color:var(--k-ink);background:var(--k-ink);color:var(--k-paper)}

/* 6b · JS-only controls: invisible (no tab stop) until kit.js runs; gone with JS off. Replay is motion, so it hides under reduced motion */
html:not(.k-live) :is(.k-demo-copy,[data-copy],[data-k-replay],[data-k-count-for],[data-k-js-only]){visibility:hidden}
html:not(.k-js) :is(.k-demo-copy,[data-copy],[data-k-replay],[data-k-count-for],[data-k-js-only]){display:none}
html.k-reduced [data-k-replay]{display:none}

/* 7 · placeholders (§7.0) */
[data-k-todo]:not([data-k-todo-style]){position:relative;outline:1.5px dashed var(--k-missed);outline-offset:3px}
[data-k-todo]:not([data-k-todo-style])::after{content:"";position:absolute;top:-5px;right:-5px;width:8px;height:8px;background:var(--k-missed);pointer-events:none}
[data-k-todo][data-k-todo-style="text"]{color:var(--k-missed);text-decoration:underline dashed var(--k-missed) 1.5px;text-underline-offset:4px}

/* 8 · the call line (§5.2) */
.k-thread{position:absolute;top:0;left:0;z-index:var(--k-z-thread);display:none;width:100%;pointer-events:none;contain:layout style;forced-color-adjust:none;--k-bg:var(--k-paper)}
.k-thread.is-on{display:block}
.k-thread>i{position:absolute;top:0;left:0;display:block;font-style:normal}
.k-thread>i[hidden]{display:none}
.k-thread .is-t2{--k-bg:var(--k-paper-2)}.k-thread .is-tp{--k-bg:var(--k-panel)}
.k-thread-pend{width:1px;margin-left:-.5px;background:repeating-linear-gradient(var(--k-line-strong) 0 2px,transparent 2px 8px)}
.k-thread-sp{width:1.5px;margin-left:-.75px;background:var(--k-ink);transform-origin:50% 0;transform:scaleY(0)}
.k-thread-sp.is-acc{background:var(--k-accent)}
.k-thread-n{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border:1.5px solid var(--k-line-strong);border-radius:50%;background:var(--k-bg)}
.k-thread-n.is-pass{border-color:var(--k-ink);background:var(--k-ink)}
.k-thread-n.is-acc.is-pass{border-color:var(--k-accent);background:var(--k-accent);box-shadow:0 0 0 4px var(--k-accent-tint)}
.k-thread-l{color:var(--k-muted);letter-spacing:.06em;line-height:1;white-space:nowrap;transform:translate(calc(-100% - 14px),-50%)}
.k-thread-n.is-cur+.k-thread-l{color:var(--k-ink)}.k-thread-l.is-miss{color:var(--k-missed)}
.k-thread-l.is-c{transform:translate(calc(-100% - 10px),-50%);letter-spacing:.02em}
.k-thread-drop{width:7px;margin-left:-3.5px;background:repeating-linear-gradient(var(--k-line-strong) 0 2px,transparent 2px 8px) 50% 0/1px 100% no-repeat,var(--k-bg)}
.k-thread-drop>b{position:absolute;top:0;left:2.75px;width:1.5px;height:100%;background:repeating-linear-gradient(var(--k-missed) 0 2px,var(--k-bg) 2px 7px);transform-origin:50% 0;transform:scaleY(0)}
.k-thread-x{--k-xg:transparent calc(50% - .9px),var(--k-missed) 0 calc(50% + .9px),transparent 0;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;background:linear-gradient(45deg,var(--k-xg)),linear-gradient(-45deg,var(--k-xg)),var(--k-bg);opacity:0}
.k-thread-x.is-pass{opacity:1}
.k-thread-port{height:1.5px;margin-top:-.75px;color:var(--k-line-strong);background:currentColor}
.k-thread-port::before,.k-thread-port::after{content:"";position:absolute;top:50%;border-radius:50%}
.k-thread-port::before{left:-2.5px;width:5px;height:5px;margin-top:-2.5px;background:currentColor}
.k-thread-port::after{right:-3.5px;width:7px;height:7px;margin-top:-3.5px;border:1.5px solid currentColor;background:var(--k-paper)}
.k-thread-port.is-pass{color:var(--k-ink)}.k-thread-port.is-pass.is-acc{color:var(--k-accent)}
.k-thread-port.is-off{display:none}
@keyframes k-port{from{box-shadow:0 0 0 0 var(--k-accent-tint)}to{box-shadow:0 0 0 6px transparent}}
html:not(.k-reduced) .k-thread-port.is-pass.is-acc::after{animation:k-port .6s var(--k-ease-settle) 1}
.k-thread-end{width:14px;height:7px;margin:-.75px 0 0 -7px;color:var(--k-line-strong);background:linear-gradient(currentColor,currentColor) 50% 0/14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50% 100%/8px 1.5px no-repeat}
.k-thread-end.is-pass{color:var(--k-ink)}.k-thread-end.is-acc{color:var(--k-accent)}

/* 9 · clock and call log (§5.3) */
/* site nav (fragment "nav"): sticky, never traps focus; html scroll-padding should match --k-sticky-top */
.k-nav{position:sticky;top:0;z-index:var(--k-z-clock);padding-top:env(safe-area-inset-top,0px);background:var(--k-paper);border-bottom:var(--k-w-hair) solid var(--k-line)}
.k-nav-in{display:flex;align-items:center;gap:12px 20px;min-height:56px}
.k-nav-brand{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.k-nav-clock{margin-left:auto;min-width:0}
.k-clock{color:var(--k-ink)}
.k-clock.is-slot{display:inline-flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
/* fixed-width readout: a tick rewrites five glyphs without laying out the bar */
.k-clock-time{display:inline-block;min-width:5.5ch;font-weight:650;letter-spacing:.04em;contain:layout paint}
.k-clock-title{display:inline-block;min-width:0;max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;color:var(--k-muted)}
@media (max-width:479.98px){.k-clock.is-slot .k-clock-title{display:none}}
.k-clock.is-pill{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:var(--k-z-clock);transition:opacity var(--k-t-ui) ease,visibility 0s}
.k-clock.is-pill>summary{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;overflow:hidden;list-style:none;cursor:pointer;background:var(--k-surface);border:1.5px solid var(--k-ink);border-radius:var(--k-r-1)}
.k-clock.is-pill>summary::-webkit-details-marker{display:none}
.k-clock-bar{position:absolute;inset:auto 0 0;height:2px;background:var(--k-accent);transform-origin:0 50%;transform:scaleX(0)}
.k-clock.is-pill .k-calllog{position:absolute;right:0;bottom:calc(100% + 8px);width:min(340px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;padding:14px 16px;background:var(--k-surface);border:1.5px solid var(--k-ink);border-radius:var(--k-r-1)}
html:not(.k-booted) .k-clock.is-pill,.k-clock.is-pill.is-away{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--k-t-ui) ease,visibility 0s var(--k-t-ui)}
@media (max-width:1023.98px){.k-clock.is-pill{display:none}}
.k-calllog>.k-mono-s{margin:0 0 6px;color:var(--k-muted)}
.k-calllog-list{display:grid;margin:0;padding:0;list-style:none}
.k-calllog-list a{display:grid;grid-template-columns:6px 2.5ch minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:4px 0;border-top:1px solid var(--k-line);color:var(--k-ink-2);text-decoration:none}
.k-calllog-list li:first-child a{border-top:0}
.k-calllog-list a::before{content:"";width:6px;height:6px}
.k-calllog-list a[aria-current]{color:var(--k-ink)}
.k-calllog-list a[aria-current]::before{background:var(--k-accent)}
.k-calllog-n,.k-calllog-list time{color:var(--k-muted)}
@media (hover:hover){.k-calllog-list a:hover{color:var(--k-ink)}}

/* 9b · forced colors: the kit's ink-fill inversions and gradient underlines do not survive a contrast theme, so swap them for system pairs (html prefix: these must beat the component rules that load later) */
@media (forced-colors:active){
 html .k-xray-text mark{forced-color-adjust:none;color:CanvasText;background:none;text-decoration:underline 2px;text-underline-offset:3px}
 html :is(.k-xray-tab[aria-selected="true"],.k-pricing-switch [aria-pressed="true"],.k-spot.is-taken){forced-color-adjust:none;background-color:Highlight;color:HighlightText}
 html .k-pricing-car{display:none}
 html .k-btn:hover{color:CanvasText;background:Canvas}
}

/* 10 · focus, after placeholders so it always wins */
:where(.k-page) :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible,:is(.k-btn,.k-link,.k-clock summary,.k-calllog a,[data-k-todo]):focus-visible{outline:var(--k-focus-w) solid var(--k-focus);outline-offset:var(--k-focus-o)}

/* 11 · reduced motion, print */
html.k-reduced :is(.k-stamp,.k-drum-c,.k-btn,.k-link,.k-link .k-ico,.k-clock.is-pill){transition:none}
@media print{.k-thread,.k-clock.is-pill,.k-pen{display:none}}

/* ===== parts/hero.css ===== */
/* hero: A3 boot, A1 Fig. 02, C2 demo line, section 2. Base tokens only. */

/* ---------- A3 boot: incoming call ---------- */
.k-boot{display:none}
html.k-js:not(.k-boot-skip) .k-boot{display:grid;position:fixed;inset:0;z-index:var(--k-z-boot)}
html.k-js:not(.k-live) .k-boot{animation:k-boot-gone 0s 2.6s forwards}
@keyframes k-boot-gone{to{visibility:hidden;opacity:0}}
.k-boot[data-k-boot="contained"]{display:grid;position:absolute;inset:0;overflow:hidden}
html.k-js .k-boot[data-k-boot="contained"]{position:absolute;z-index:auto;animation:none}
.k-boot{--k-boot-t:calc(24px + env(safe-area-inset-top,0px));--k-boot-b:calc(24px + env(safe-area-inset-bottom,0px));--k-boot-l:calc(24px + env(safe-area-inset-left,0px));--k-boot-r:calc(24px + env(safe-area-inset-right,0px));color:var(--k-ink)}
.k-boot[data-k-boot="contained"]{--k-boot-t:20px;--k-boot-b:20px;--k-boot-l:20px;--k-boot-r:20px}
.k-boot-sheet{position:absolute;inset:0;display:grid;place-items:center;background-color:var(--k-paper);
  background-image:linear-gradient(var(--k-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--k-grid-major) 1px,transparent 1px);
  background-size:128px 128px;background-position:center}
.k-boot-reg{position:absolute;width:16px;height:16px;line-height:0}
.k-boot-reg svg{width:16px;height:16px;fill:none;stroke:var(--k-line-strong);stroke-width:1px;overflow:visible}
.k-boot-reg.is-tl,.k-boot-reg.is-tr{top:calc(var(--k-boot-t) - 8px)}
.k-boot-reg.is-bl,.k-boot-reg.is-br{bottom:calc(var(--k-boot-b) - 8px)}
.k-boot-reg.is-tl,.k-boot-reg.is-bl{left:calc(var(--k-boot-l) - 8px)}
.k-boot-reg.is-tr,.k-boot-reg.is-br{right:calc(var(--k-boot-r) - 8px)}
.k-boot-dim{position:absolute;display:grid;place-items:center;
  --k-boot-dl:linear-gradient(var(--k-line-strong),var(--k-line-strong))}
.k-boot-dim.is-w{left:0;right:0;top:calc(var(--k-boot-t) - 5px);height:11px;
  background:var(--k-boot-dl) 0 50%/100% 1px no-repeat,var(--k-boot-dl) 0 0/1px 100% no-repeat,var(--k-boot-dl) 100% 0/1px 100% no-repeat}
.k-boot-dim.is-h{top:0;bottom:0;left:calc(var(--k-boot-l) - 5px);width:11px;
  background:var(--k-boot-dl) 50% 0/1px 100% no-repeat,var(--k-boot-dl) 0 0/100% 1px no-repeat,var(--k-boot-dl) 0 100%/100% 1px no-repeat}
.k-boot-dimlab{background:var(--k-paper);padding:0 8px;color:var(--k-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.k-boot-dim.is-h .k-boot-dimlab{writing-mode:vertical-rl;transform:rotate(180deg);padding:8px 0}
.k-boot-c{position:absolute;margin:0;color:var(--k-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.k-boot-c.is-tl,.k-boot-c.is-tr{top:calc(var(--k-boot-t) + 16px)}
.k-boot-c.is-bl,.k-boot-c.is-br{bottom:calc(var(--k-boot-b) + 16px)}
.k-boot-c.is-tl,.k-boot-c.is-bl{left:calc(var(--k-boot-l) + 20px)}
.k-boot-c.is-tr,.k-boot-c.is-br{right:calc(var(--k-boot-r) + 4px)}
@media (max-width:520px){.k-boot-c.is-bl{bottom:calc(var(--k-boot-b) + 40px)}}
.k-boot-mid{display:grid;justify-items:center;gap:clamp(14px,2.4vh,24px);width:100%;padding:0 32px}
.k-boot-scope{display:block;width:min(280px,100%);height:auto;overflow:visible;fill:none}
.k-boot-grat{stroke:var(--k-grid-major);stroke-width:1px}
.k-boot-frame{stroke:var(--k-ink);stroke-width:1.25px;opacity:0}
.k-boot-frame.is-acc{stroke:var(--k-accent);opacity:1}
.k-boot-trace,.k-boot-burst{stroke:var(--k-ink);stroke-width:1.25px;stroke-linejoin:round}
.k-boot-trace{stroke:var(--k-line-strong)}
.k-boot-stems{stroke:var(--k-accent);stroke-width:1.75px;stroke-linecap:butt}
.k-boot-word{display:grid;margin:0;text-align:center;line-height:.9}
.k-boot-word>span{grid-area:1/1}
.k-boot-ring{color:var(--k-muted);opacity:0}
/* timeline: page variant on first paint (when gated in), contained on .is-run */
.k-boot:is([data-k-boot="page"],.is-run) :is(.k-boot-reg circle,.k-boot-reg path){stroke-dasharray:1 2;animation:k-boot-draw 160ms linear both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-dim.is-w{animation:k-boot-gx 160ms var(--k-ease-settle) both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-dim.is-h{animation:k-boot-gy 160ms var(--k-ease-settle) both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-c{animation:k-boot-type min(calc(var(--n) * 18ms),400ms) steps(var(--n),end) 100ms both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-frame:not(.is-acc){stroke-dasharray:1 2;animation:k-boot-draw 200ms linear both,k-boot-out 120ms linear 950ms both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-frame.is-acc{animation:k-boot-in 120ms linear 950ms both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-trace{stroke-dasharray:1 2;animation:k-boot-draw 300ms linear 120ms both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-burst{stroke-dasharray:1 2;animation:k-boot-draw 180ms linear 420ms both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-burst.is-2{animation-delay:700ms}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-stems{animation:k-boot-sweep 300ms linear 950ms both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-ring{animation:k-boot-out 1ms linear 950ms both}
.k-boot:is([data-k-boot="page"],.is-run) .k-boot-ans{animation:k-boot-in 1ms linear 950ms both}
/* hand-off: kit.bootDone() sets html.k-booted; the sheet wipes up behind an accent edge */
html.k-booted .k-boot[data-k-boot="page"]{pointer-events:none}
html.k-booted .k-boot[data-k-boot="page"] .k-boot-sheet{animation:k-boot-wipe 400ms var(--k-ease-servo) both}
.k-boot-edge{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(var(--k-accent),var(--k-accent)) 0 100%/100% 2px no-repeat}
html.k-booted .k-boot[data-k-boot="page"] .k-boot-edge{animation:k-boot-edge 400ms var(--k-ease-servo) both}
@keyframes k-boot-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes k-boot-gx{from{transform:scaleX(0)}}
@keyframes k-boot-gy{from{transform:scaleY(0)}}
@keyframes k-boot-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes k-boot-sweep{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes k-boot-out{from{opacity:1}to{opacity:0}}
@keyframes k-boot-in{from{opacity:0}to{opacity:1}}
@keyframes k-boot-wipe{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes k-boot-edge{from{opacity:1;transform:none}to{opacity:1;transform:translateY(-100%)}}

/* ---------- A1 Fig. 02: one agent, exploded ---------- */
.k-hero-fig{--k-hero-asm:0;align-self:start}
.k-hero-body{position:relative;display:grid;gap:var(--k-s-5);min-width:0}
.k-hero-plot{position:relative;overflow:clip;min-width:0}
/* narrow: crop to the drawing (x 16 to 444) */
.k-hero-art{display:block;width:149.53%;max-width:none;height:auto;margin-left:-3.738%;overflow:hidden}
.k-hero-art path,.k-hero-art circle{vector-effect:none}
.k-hero-ft{fill:var(--k-surface);stroke:none}
.k-hero-fs{fill:var(--k-paper-2);stroke:none}
.k-hero-fr{fill:var(--k-surface);stroke:none}
.k-hero-ol{fill:none;stroke:var(--k-ink);stroke-width:1.25px;stroke-linejoin:round;stroke-linecap:round}
.k-hero-sh{stroke:var(--k-line);stroke-width:1px}
.k-hero-acc{fill:none;stroke:var(--k-accent);stroke-width:1.75px}
.k-hero-stem{stroke-width:1.75px;stroke-linecap:butt}
.k-hero-dash{fill:none;stroke:var(--k-line-strong);stroke-width:1px;stroke-dasharray:3 3}
.k-hero-dot{fill:var(--k-accent);stroke:none}
.k-hero-base,.k-hero-mesh{fill:none;stroke:var(--k-line);stroke-width:1px}
.k-hero-ln{fill:none;stroke:var(--k-ink-2);stroke-width:1px}
.k-hero-txt{fill:none;stroke:var(--k-line-strong);stroke-width:2px;stroke-linecap:round}
.k-hero-fence{fill:none;stroke:var(--k-accent);stroke-width:1.25px;stroke-dasharray:5 4}
.k-hero-hatch{fill:none;stroke:var(--k-accent);stroke-width:1px;opacity:.55}
.k-hero-bar{fill:none;stroke:var(--k-ink);stroke-width:2.5px;stroke-linecap:butt}
.k-hero-cell{fill:var(--k-accent);stroke:none}
.k-hero-axis{fill:none;stroke:var(--k-line-strong);stroke-width:1px;stroke-dasharray:14 4 2 4}
.k-hero-ext{fill:none;stroke:var(--k-line-strong);stroke-width:1px}
.k-hero-dimln{fill:none;stroke:var(--k-line-strong);stroke-width:1px}
.k-hero-arw{fill:var(--k-line-strong);stroke:none}
.k-hero-art .k-hero-lab{fill:var(--k-muted);stroke:none;font-family:var(--k-f-mono);font-stretch:87.5%;font-weight:500;letter-spacing:.08em;font-size:var(--k-hero-fl,13px)}
.k-hero-lab-a,.k-hero-fig.is-assembled .k-hero-lab-x{display:none}
.k-hero-fig.is-assembled .k-hero-lab-a{display:inline}
/* the payoff: ASSEMBLED stamps in the accent once the plates have closed */
.k-hero-art .k-hero-lab-a{transition:fill var(--k-t-stamp) var(--k-ease-stamp)}
.k-hero-art .k-hero-lab-a.is-stamped{fill:var(--k-accent);font-weight:700}
.k-hero-dotp{fill:var(--k-ink);stroke:none}
.k-hero-lead{fill:none;stroke:var(--k-ink);stroke-width:1px}
.k-hero-bal{fill:var(--k-paper);stroke:var(--k-ink);stroke-width:1.25px}
.k-hero-art .k-hero-num{fill:var(--k-ink);stroke:none;font-family:var(--k-f-mono);font-stretch:87.5%;font-weight:650;font-size:var(--k-hero-fn,13px);font-variant-numeric:tabular-nums}
.k-hero-bal.is-acc,.k-hero-out{stroke:var(--k-accent)}
.k-hero-out{fill:none;stroke-width:1.75px}
.k-hero-num.is-acc,.k-hero-outarw{fill:var(--k-accent)}
.k-hero-pen-r,.k-hero-pen-x{fill:none;stroke:var(--k-ink);stroke-width:1.25px}
.k-hero-pen-c{fill:var(--k-accent);stroke:none}
/* probe */
.k-hero-ink,.k-hero-co,.k-hero-axis{transition:opacity var(--k-t-ui) var(--k-ease-ui)}
.k-hero-fig.is-probing :is(.k-hero-part:not(.is-probe) .k-hero-ink,.k-hero-co:not(.is-probe),.k-hero-axis){opacity:.35}
.k-hero-part.is-probe .k-hero-ol{stroke:var(--k-accent);stroke-width:1.75px}
.k-hero-co.is-probe .k-hero-bal{fill:var(--k-accent);stroke:var(--k-accent)}
.k-hero-co.is-probe .k-hero-num{fill:var(--k-accent-ink)}
.k-hero-co.is-probe .k-hero-lead{stroke:var(--k-accent)}
/* assembly: hero.js writes --k-hero-asm at >= 1024px */
.k-hero-part{transform:translateY(calc(var(--k-hero-asm,0) * var(--k-hero-n,0) * 72px))}
.k-hero-dimtop{transform:translateY(calc(var(--k-hero-asm,0) * 360px))}
.k-hero-dimln{transform-box:view-box;transform-origin:0 676px;transform:scaleY(calc(1 - var(--k-hero-asm,0) * .5751))}
.k-hero-dimlab{transform:translateY(calc(var(--k-hero-asm,0) * 180px))}
.k-hero-cos{opacity:clamp(0,calc((.45 - var(--k-hero-asm,0)) / .3),1)}
/* parts list */
.k-bom{list-style:none;margin:0;padding:0;display:grid;column-gap:var(--k-s-5);border-top:1px solid var(--k-line)}
.k-bom li{border-bottom:1px solid var(--k-line);min-width:0}
.k-bom-row{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:var(--k-s-3);row-gap:2px;align-items:center;width:100%;min-height:44px;margin:0;padding:8px 6px 8px 0;
  border:0;border-radius:var(--k-r-1);background:none;color:var(--k-ink);font:inherit;text-align:left;-webkit-tap-highlight-color:transparent}
button.k-bom-row{cursor:pointer}
.k-bom-row .k-balloon{grid-row:1/span 2}
.k-bom-row b{color:var(--k-ink);font-weight:600;transition:color var(--k-t-ui) var(--k-ease-ui)}
.k-bom-note{display:block;font-size:var(--k-fs-small);line-height:1.3}
:is(button.k-bom-row:hover,.k-bom-row.is-probe) b,.k-bom-row[aria-pressed="true"] b{color:var(--k-accent)}
.k-bom-row[aria-pressed="true"] .k-balloon{background:var(--k-accent);border-color:var(--k-accent);color:var(--k-accent-ink)}
.k-bom-row:focus-visible{outline:var(--k-focus-w) solid var(--k-focus);outline-offset:2px}
.k-bom-row b,.k-bom-note{transition:color var(--k-t-ui) var(--k-ease-ui),clip-path var(--k-hero-td,200ms) steps(var(--k-hero-ch,12),end)}
.k-bom-note{transition-delay:0s,calc(var(--k-hero-td,200ms) * .6)}
.k-bom-row .k-balloon{transition:opacity 120ms linear}
@media (prefers-reduced-motion:no-preference){
  html.k-js:not(.k-reduced) .k-hero-fig .k-bom-row:not(.is-typed) :is(b,.k-bom-note){clip-path:inset(0 100% 0 0)}
  html.k-js:not(.k-reduced) .k-hero-fig .k-bom-row:not(.is-typed) .k-balloon{opacity:0}
  html.k-js:not(.k-live) .k-hero-fig .k-bom-row :is(b,.k-bom-note,.k-balloon){animation:k-failsafe 1ms 2.5s both}
}
@container (min-width:380px){.k-bom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* beside: rows level with their balloons */
@container (min-width:420px){
  .k-hero-body{grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:0;padding-bottom:28px}
  .k-bom{display:block;position:relative;border:0}
  .k-bom li{position:absolute;left:0;right:0;top:var(--y);transform:translateY(-50%);border:0}
  .k-bom-row{grid-template-columns:minmax(0,1fr);padding:4px 4px 4px 8px;min-height:44px}
  .k-bom-row .k-balloon{display:none}
  .k-bom{opacity:clamp(0,calc((.45 - var(--k-hero-asm,0)) / .3),1)}
  .k-hero-fig.is-asm .k-bom{visibility:hidden}
}
/* overlay (SPEC A1): full sheet, list at 70.6% */
@container (min-width:560px){
  .k-hero-body{display:block}
  .k-hero-art{width:100%;margin-left:0}
  .k-bom{position:absolute;top:0;bottom:28px;left:70.6%;right:0}
  .k-bom-row{padding-left:4px}
}

/* ---------- C2 demo line ---------- */
.k-demo{display:grid;gap:var(--k-s-3);padding:clamp(16px,2.4vw,24px);max-width:100%;border-radius:var(--k-r-1);min-width:0}
.k-demo-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--k-s-2) var(--k-s-4)}
.k-demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--k-s-3) var(--k-s-5)}
.k-demo-num{text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.k-demo-num:not([data-k-todo-style]){color:var(--k-ink)}
.k-demo-num:focus-visible{outline:var(--k-focus-w) solid var(--k-focus);outline-offset:var(--k-focus-o)}
.k-demo:not(.is-inline,.is-compact){container-type:inline-size}
.k-demo-row .k-demo-num{line-height:1.05;font-size:min(var(--k-fs-readout),11cqi)}
.k-demo-trace{display:block;width:100%;height:24px;overflow:visible;fill:none}
.k-demo-base{stroke:var(--k-line-strong);stroke-width:1px;vector-effect:non-scaling-stroke}
.k-demo-tick{stroke:var(--k-line);stroke-width:1px;vector-effect:non-scaling-stroke}
.k-demo-burst{stroke:var(--k-ink);stroke-width:1.25px;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:50% 50%}
.k-demo.is-ring .k-demo-burst{animation:k-demo-ring 360ms var(--k-ease-ui) both}
.k-demo.is-ring .k-demo-burst.is-2{animation-delay:440ms}
@keyframes k-demo-ring{0%{opacity:1;transform:scaleY(0)}30%{transform:scaleY(1)}65%{opacity:1}to{opacity:0;transform:scaleY(.2)}}
.k-demo-hint{margin:0}
/* inline: the hero's primary CTA. The copy action is an icon joined to the button's right edge */
.k-demo.is-inline{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;padding:0;border-radius:var(--k-r-1);max-width:100%}
.k-demo-call{flex:1 1 auto;min-width:0}
.k-demo.is-inline>.k-demo-call{border-top-right-radius:0;border-bottom-right-radius:0}
.k-demo-copy.is-icon{position:relative;flex:none;width:52px;min-width:52px;min-height:52px;padding:0;margin-left:0;border-left:1px solid color-mix(in srgb,var(--k-accent-ink) 45%,var(--k-accent));border-top-left-radius:0;border-bottom-left-radius:0}
.k-demo-copy.is-icon .k-ico{width:20px;height:20px}
.k-demo-copy-tip{position:absolute;right:0;bottom:calc(100% + 6px);padding:4px 7px;border-radius:var(--k-r-1);background:var(--k-ink);color:var(--k-paper);font:600 var(--k-fs-micro)/1 var(--k-f-mono);font-stretch:87.5%;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.k-demo-copy-tip:empty{display:none}
.k-demo-call .k-demo-num{color:inherit;margin-left:4px;padding-left:14px;border-left:1px solid color-mix(in srgb,var(--k-accent-ink) 40%,transparent);letter-spacing:.06em}
.k-demo-call:hover .k-demo-num{border-color:color-mix(in srgb,var(--k-paper) 40%,transparent)}
@media (max-width:479.98px){
  .k-demo.is-inline{width:100%}
  .k-demo-call{flex-wrap:wrap;justify-content:flex-start;text-align:left;row-gap:6px;padding-block:11px;padding-inline:18px 14px}
  .k-demo-call .k-demo-num{flex:1 0 100%;margin:0;padding:7px 0 0 28px;border-left:0;border-top:1px solid color-mix(in srgb,var(--k-accent-ink) 40%,transparent)}
}
/* the price anchor: under the hero CTAs and above the founding band's buttons */
.k-price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:0;max-width:62ch;font:400 .9375rem/1.45 var(--k-f-body);color:var(--k-ink-2)}
.k-price-m{font-family:var(--k-f-mono);font-stretch:87.5%;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--k-ink)}
.k-price-line>.k-link{flex:none}
/* compact: footer and founding band */
.k-demo.is-compact{display:flex;flex-wrap:wrap;align-items:center;gap:var(--k-s-2) var(--k-s-4);padding:0;border-radius:0}
.k-demo.is-compact .k-demo-num{font-family:var(--k-f-mono);font-size:var(--k-fs-h4);font-stretch:87.5%;font-weight:600;letter-spacing:.02em}

/* ---------- section 2: hero ---------- */
.k-hero-sec{padding-block:clamp(24px,2.8vw,56px) clamp(56px,7vw,112px)}
.k-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(40px,5vw,64px) var(--k-col-gap)}
.k-hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.k-hero-readout{margin:0 0 clamp(14px,1.4vw,20px);flex-wrap:wrap}
.k-hero-ok{color:var(--k-accent);font-weight:650}
.k-hero-copy>h1{margin:0}
.k-hero-copy>.k-dim{align-self:stretch;margin-top:clamp(8px,.8vw,12px)}
.k-hero-copy>.k-lede{margin:clamp(14px,1.5vw,22px) 0 0}
.k-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:clamp(20px,1.8vw,26px);max-width:100%}
.k-hero-book{flex:1 0 100%;width:fit-content;max-width:max-content}
.k-hero-hint{margin:clamp(14px,1.4vw,18px) 0 0}
.k-hero-figcol{min-width:0}
.k-hero-fig .k-fig-head>:last-child{white-space:nowrap}
@media (min-width:1024px){
  .k-hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:start}
  .k-hero-figcol{margin-top:calc(-1 * var(--k-s-4))}
  .k-hero-book{flex:0 1 auto}
}
/* pinned assembly (1024px and up, motion allowed, JS on): the hero gets 40% more scroll, Fig. 02 sticks and its plates
   close in the first half of that run; the copy column scrolls on as normal. No scroll is ever taken over. */
@media (min-width:1024px) and (prefers-reduced-motion:no-preference){
  html.k-js:not(.k-reduced) .k-hero-sec[data-k-asm] .k-hero-grid{min-height:125vh;min-height:125svh}
  html.k-js:not(.k-reduced) .k-hero-sec[data-k-asm] .k-hero-figcol{position:sticky;top:max(12px,calc(var(--k-sticky-top) - 12px))}
}
@media (prefers-reduced-motion:reduce){.k-bom-row b,.k-bom-note,.k-hero-ink,.k-hero-co{transition:none}}

/* ===== parts/xray.css ===== */
/* kit v2 · xray.css · A2 Call X-ray and N1 scope (SPEC §6). States: .is-live (JS on), .is-on (row passed),
   .is-end, .is-dragging, .is-playing, .is-snap (no transitions this frame), .is-stepping, .is-sweep/.is-swept */

/* frame */
.k-xray{--k-xray-rail:56px;--k-xray-p:1;--k-xray-dur:var(--k-t-move);--k-xray-sweep:600ms;--k-xray-pad:16px;
  position:relative;display:flex;flex-wrap:wrap;align-items:stretch;overflow:hidden;overflow:clip;
  background:var(--k-surface);color:var(--k-ink-2);border:var(--k-w-frame) solid var(--k-ink);border-radius:var(--k-r-1);
  font-family:var(--k-f-body);scroll-margin-top:var(--k-sticky-top);-webkit-tap-highlight-color:transparent}
.k-head+.k-xray{margin-top:var(--k-s-7)}
.k-xray>:is(.k-xray-bar,.k-xray-scope,.k-xray-stage){flex:1 1 100%;min-width:0}
.k-xray :focus-visible{outline:var(--k-focus-w) solid var(--k-focus);outline-offset:var(--k-focus-o)}
.k-xray [hidden]{display:none}
.k-xray-mono,.k-xray-tab,.k-xray-n,.k-xray-t,.k-xray-who,.k-xray-row.is-system .k-xray-text,.k-xray-call-label,.k-xray-knob-tag{font-family:var(--k-f-mono);font-stretch:87.5%;letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.k-xray-mono{font-size:var(--k-fs-micro);font-weight:500;line-height:1.2}

/* bar */
.k-xray-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:var(--k-xray-pad);container-type:inline-size}
.k-xray-tabs{display:flex;flex:0 1 auto;max-width:100%;border:var(--k-w-frame) solid var(--k-ink);border-radius:var(--k-r-1)}
.k-xray-tab{appearance:none;flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:0 16px;
  border:0;border-left:1px solid var(--k-line-strong);border-radius:0;background:transparent;color:var(--k-ink);cursor:pointer;
  font-size:var(--k-fs-label);font-weight:600;line-height:1;
  transition:background-color var(--k-t-ui) var(--k-ease-ui),color var(--k-t-ui) var(--k-ease-ui)}
.k-xray-tab:first-child{border-left:0}
.k-xray-tab .k-ico{width:16px;height:16px}
.k-xray-tab:hover{background-color:var(--k-paper-2)}
.k-xray-tab[aria-selected="true"]{background-color:var(--k-ink);color:var(--k-paper)}
.k-xray-tab:focus-visible{position:relative;z-index:1}
.k-xray-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;color:var(--k-muted)}
.k-xray-meta [data-xray-readout]{flex:1 1 0;min-width:14em;color:var(--k-ink-2)}
@container (max-width:459px){
  .k-xray-tabs{flex:1 1 100%}
  .k-xray-tab{flex-direction:column;gap:4px;padding:5px 4px;font-size:var(--k-fs-micro)}
}

/* N1 scope */
.k-xray-scope{margin:0 var(--k-xray-pad);padding:10px 14px 6px 30px;border-radius:var(--k-r-1);position:relative;container-type:inline-size;
  touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:col-resize}
.k-xray-scope-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;color:var(--k-muted);min-height:22px}
.k-xray-ch{display:inline-flex;align-items:center;gap:7px;color:var(--k-ink)}
.k-xray-ch i{width:14px;height:2px;background:currentColor}
.k-xray-ch.is-agent{color:var(--k-accent)}
.k-xray-span{margin-left:auto;display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}
.k-xray-screen{position:relative;height:88px;margin-top:8px}
@container (min-width:660px){.k-xray-screen{height:120px}}
.k-xray-screen svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.k-xray-grat path{fill:none;stroke:var(--k-line);stroke-width:1px;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}
.k-xray-grat .is-base{stroke:var(--k-line-strong);stroke-opacity:.55}
.k-xray-grat .is-tick{stroke:var(--k-line-strong);stroke-opacity:.4}
.k-xray-trace path{fill:none;stroke-width:2px;stroke-linecap:butt;vector-effect:non-scaling-stroke}
.k-xray-c{stroke:var(--k-ink)}
.k-xray-a{stroke:var(--k-accent)}
@container (max-width:539px){.k-xray-trace path{stroke-width:1.5px}}
.k-xray-sweep,.k-xray-lit,.k-xray-played,.k-xray-ph,.k-xray-beam{position:absolute;inset:0;pointer-events:none}
.k-xray-sweep{clip-path:inset(0 0 0 0)}
.k-xray-trace.is-dim{opacity:.3}
.k-xray-lit{clip-path:inset(0 calc((1 - var(--k-xray-p)) * 100%) 0 0);transition:clip-path var(--k-xray-dur) var(--k-ease-servo)}
.k-xray-played{background:var(--k-scan);transform-origin:0 0;transform:scaleX(var(--k-xray-p))}
.k-xray-played,.k-xray-ph,.k-xray-scan,.k-xray-head{transition:transform var(--k-xray-dur) var(--k-ease-servo)}
.k-xray-ph{transform:translateX(calc(var(--k-xray-p) * 100%))}
.k-xray-ph::before{content:"";position:absolute;left:-.5px;top:0;bottom:0;width:1px;background:var(--k-accent)}
.k-xray-ph::after{content:"";position:absolute;left:-5px;top:0;width:10px;height:6px;background:var(--k-accent);clip-path:polygon(0 0,100% 0,50% 100%)}
.k-xray-beam{opacity:0}
.k-xray-beam::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--k-ink)}
.k-xray.is-sweep .k-xray-beam{animation:k-xray-beam var(--k-xray-sweep) linear}
@keyframes k-xray-beam{0%{opacity:1;transform:translateX(0)}94%{opacity:1}100%{opacity:0;transform:translateX(100%)}}
.k-xray-mk{position:absolute;right:calc(100% + 5px);top:25%;transform:translateY(-50%);display:inline-flex;align-items:center;padding:1px 6px 1px 4px;
  background:var(--k-paper);color:var(--k-ink);border:1px solid currentColor;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%)}
.k-xray-mk.is-2{top:75%;color:var(--k-accent)}
.k-xray-flags{position:relative;height:26px}
.k-xray-flag{position:absolute;top:0;display:flex;align-items:flex-start;color:var(--k-line-strong)}
.k-xray-flag::before{content:"";width:1px;height:14px;background:currentColor;flex:none}
.k-xray-flag b{margin-top:5px;padding:2px 4px;font-weight:600;border:1px dashed var(--k-line-strong);border-radius:var(--k-r-1);color:var(--k-muted);background:var(--k-paper)}
.k-xray-flag:not(.is-low){z-index:1}
.k-xray-flag.is-low::before{height:28px}
.k-xray-flag.is-low b{margin-top:19px}
.k-xray-flags.has-low{height:42px}
.k-xray-flag.is-flip{transform:translateX(-100%);flex-direction:row-reverse}
.k-xray-flag.is-on{color:var(--k-ink)}
.k-xray-flag.is-on b{border-style:solid;border-color:var(--k-ink);color:var(--k-ink)}
.k-xray-flag.is-on.is-hot{color:var(--k-accent)}
.k-xray-flag.is-on.is-hot b{background:var(--k-accent);border-color:var(--k-accent);color:var(--k-accent-ink)}
@container (min-width:660px){.k-xray-flag b::before{content:"["}.k-xray-flag b::after{content:"]"}}

/* stage: the court-record transcript */
.k-xray-stage{position:relative;margin-top:var(--k-xray-pad);padding:16px var(--k-xray-pad) 18px var(--k-xray-rail);border-top:1px solid var(--k-line);
  container-type:inline-size;touch-action:pan-y;
  background:linear-gradient(var(--k-line-strong),var(--k-line-strong)) calc(var(--k-xray-rail) / 2 - 2px) 0/1px 100% no-repeat,
    linear-gradient(var(--k-line),var(--k-line)) calc(var(--k-xray-rail) / 2 + 2px) 0/1px 100% no-repeat}
.k-xray.is-live .k-xray-stage{user-select:none;-webkit-user-select:none}
.k-xray-scan{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--k-scan);transform-origin:0 0;transform:scaleY(1);pointer-events:none}
.k-xray-rows{list-style:none;margin:0;padding:0}
.k-xray-row{position:relative;display:grid;align-items:baseline;column-gap:10px;row-gap:6px;padding:14px 0 15px 12px;cursor:pointer;
  grid-template-columns:auto auto auto minmax(0,1fr);grid-template-areas:"n w t ." "x x x x" "c c c c"}
.k-xray-row+.k-xray-row{border-top:1px solid var(--k-grid)}
.k-xray-row::before{content:"";position:absolute;top:-.5px;left:calc(var(--k-xray-rail) / -2 - 7px);width:14px;height:1px;background:var(--k-line-strong)}
.k-xray-row:last-child::after{content:"";position:absolute;bottom:-.5px;left:calc(var(--k-xray-rail) / -2 - 7px);width:14px;height:1px;background:var(--k-line-strong)}
.k-xray-row.is-hot.is-on{background:linear-gradient(var(--k-accent),var(--k-accent)) 0 0/2px 100% no-repeat}
.k-xray-n,.k-xray-t,.k-xray-who{font-size:var(--k-fs-label);line-height:1.3;white-space:nowrap}
.k-xray-n{grid-area:n;color:var(--k-muted);letter-spacing:.02em}
.k-xray-t{grid-area:t;color:var(--k-muted);letter-spacing:.02em}
.k-xray-who{grid-area:w;color:var(--k-ink-2);font-weight:450}
.k-xray-row.is-agent .k-xray-who{color:var(--k-ink);font-weight:600}
.k-xray-row.is-system .k-xray-who{color:var(--k-muted)}
.k-xray-text{grid-area:x;margin:0;max-width:58ch;font-size:var(--k-fs-lede);line-height:1.45;color:var(--k-ink-2);text-wrap:pretty}
.k-xray-row.is-system .k-xray-text{font-size:var(--k-fs-label);color:var(--k-muted);line-height:1.6}
.k-xray-text mark{color:inherit;background:linear-gradient(var(--k-accent),var(--k-accent)) 0 100%/100% 2px no-repeat;padding-bottom:1px;
  transition:background-size 400ms var(--k-ease-settle)}

/* callouts */
.k-xray-call{grid-area:c;display:flex;align-items:flex-start;gap:8px;min-width:0;margin-top:2px}
.k-xray-leader{position:relative;flex:none;width:18px;height:1px;margin:13.5px 0 0 4px;background:var(--k-ink);transform-origin:0 50%;
  transition:transform 240ms var(--k-ease-servo)}
.k-xray-leader::before{content:"";position:absolute;left:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:inherit}
.k-xray-call-label{padding-top:7px;min-width:0;font-size:var(--k-fs-label);font-weight:500;letter-spacing:.05em;line-height:1.3;color:var(--k-ink);
  clip-path:inset(0 0 0 0);transition:clip-path min(calc(var(--k-xray-c,24) * 18ms),400ms) steps(var(--k-xray-c,24)) 240ms}
.k-xray-call .k-balloon{transition:none}
.k-xray-row.is-hot.is-on .k-xray-leader{background:var(--k-accent)}
.k-xray-row.is-hot.is-on .k-xray-call-label{color:var(--k-accent);font-weight:600}

/* not reached: muted, no leader or label; weights never change, so nothing reflows */
.k-xray.is-live .k-xray-row:not(.is-on) :is(.k-xray-text,.k-xray-who){color:var(--k-muted)}
.k-xray.is-live .k-xray-row:not(.is-on) mark{background-size:0 2px;transition:none}
.k-xray.is-live .k-xray-row:not(.is-on) .k-xray-leader{transform:scaleX(0);transition:none}
.k-xray.is-live .k-xray-row:not(.is-on) .k-xray-call-label{clip-path:inset(0 100% 0 0);transition:none}

@container (min-width:485px){
  .k-xray-row{grid-template-columns:3.5ch 8ch minmax(0,1fr);grid-template-areas:"n w x" ". . c";column-gap:14px}
  .k-xray.has-t .k-xray-row{grid-template-columns:3.5ch 6ch 8ch minmax(0,1fr);grid-template-areas:"n t w x" ". . . c"}
}
@container (min-width:685px){
  .k-xray-row{grid-template-columns:3.5ch 8ch minmax(0,1fr) minmax(0,280px);grid-template-areas:"n w x c";column-gap:18px;padding-block:14px 15px}
  .k-xray.has-t .k-xray-row{grid-template-columns:3.5ch 6ch 8ch minmax(0,1fr) minmax(0,280px);grid-template-areas:"n t w x c"}
  .k-xray-call{margin:-1px 0 0 -12px;padding-right:16px}
  .k-xray-call-label{max-width:210px}
  .k-xray-leader{width:26px;margin-left:0}
}

/* carriage: head, knob, tag */
.k-xray-head{position:absolute;left:0;right:0;top:0;height:0;z-index:2;pointer-events:none;transform:translateY(0)}
.k-xray-head::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--k-accent)}
.k-xray-head::after{content:"";position:absolute;right:0;top:-6px;width:2px;height:12px;background:var(--k-accent)}
.k-xray-knob{appearance:none;position:absolute;left:calc(var(--k-xray-rail) / 2 - 22px);top:-14px;width:44px;height:28px;margin:0;padding:0;
  display:grid;place-items:center;border:2px solid var(--k-accent);border-radius:var(--k-r-1);background:var(--k-surface);color:var(--k-accent);
  cursor:grab;pointer-events:auto;touch-action:none}
.k-xray-knob::before{content:"";position:absolute;inset:-9px -2px}
.k-xray-knob .k-ico{width:18px;height:18px;stroke-width:2}
.k-xray.is-dragging .k-xray-knob{cursor:grabbing;background:var(--k-accent);color:var(--k-accent-ink)}
.k-xray-knob-tag{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);padding:3px 5px;border-radius:var(--k-r-1);white-space:nowrap;
  background:var(--k-accent);color:var(--k-accent-ink);font-size:var(--k-fs-micro);font-weight:650;letter-spacing:.06em;line-height:1}
.k-xray.is-dragging :is(.k-xray-head,.k-xray-scan,.k-xray-lit,.k-xray-played,.k-xray-ph){transition:none}
.k-xray.is-stepping{--k-xray-dur:200ms}

/* outcome and foot */
.k-xray-outcome{flex:999 1 30rem;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"l l" "s r";align-items:center;gap:8px 20px;
  padding:var(--k-xray-pad);border-top:var(--k-w-frame) solid var(--k-ink);container-type:inline-size;min-width:0}
.k-xray-outcome>.k-mono-s{grid-area:l;color:var(--k-muted)}
.k-xray-seal{grid-area:s;position:relative;display:grid;place-items:center start;padding-left:.3em;font-size:clamp(1.75rem,1.2rem + 2.4cqi,2.75rem);width:6.3em;height:1.5em}
.k-xray-seal::before,.k-xray-seal::after{content:"";position:absolute;top:0;bottom:0;width:.4em;border:2px solid var(--k-line-strong);transition:transform var(--k-t-stamp) var(--k-ease-stamp)}
.k-xray-seal::before{left:0;border-right:0}
.k-xray-seal::after{right:0;border-left:0}
.k-xray:is(.is-end,:not(.is-live)) .k-xray-seal::before{border-color:var(--k-accent)}
.k-xray:is(.is-end,:not(.is-live)) .k-xray-seal::after{transform:translateX(var(--k-xray-jaw,-2.5em));border-color:var(--k-accent)}
.k-xray-stamp{font-size:1em;line-height:1;letter-spacing:.01em}
.k-xray-outcome [data-xray-detail],.k-xray-pending{grid-area:r;margin:0}
.k-xray-outcome [data-xray-detail]{color:var(--k-ink)}
.k-xray.is-live:not(.is-end) .k-xray-outcome [data-xray-detail]{visibility:hidden}
.k-xray.is-end .k-xray-pending,.k-xray:not(.is-live) .k-xray-pending{visibility:hidden}
.k-xray-foot{flex:1 1 21rem;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:var(--k-xray-pad);min-width:0;
  border-top:var(--k-w-frame) solid var(--k-ink);border-left:1px solid var(--k-line);margin-left:-1px}
.k-xray-foot [data-xray-pos]{color:var(--k-ink)}
.k-xray-foot .k-small{flex:1 1 12rem}
.k-xray-play[aria-pressed="true"]{border-color:var(--k-accent)}

/* no JS: dental only, all lines on, stamped */
.k-xray:not(.is-live) :is(.k-xray-head,.k-xray-scan,.k-xray-play,.k-xray-hint,.k-xray-ph,.k-xray-played,.k-xray-beam){display:none}
.k-xray:not(.is-live) .k-xray-tab:not([aria-selected="true"]){display:none}
.k-xray:not(.is-live) :is(.k-xray-tabs,.k-xray-tab){pointer-events:none;flex:0 0 auto}
.k-xray:not(.is-live) :is(.k-xray-row,.k-xray-scope){cursor:auto}

/* entrance hidden state, with failsafes */
@media (prefers-reduced-motion:no-preference){
  html.k-js:not(.k-reduced):not(.k-late) .k-xray:not(.is-swept) .k-xray-sweep{clip-path:inset(0 100% 0 0)}
  html.k-js:not(.k-reduced):not(.k-late) .k-xray:not(.is-swept) .k-xray-flag{opacity:0}
  html.k-js:not(.k-live) .k-xray:not(.is-swept) :is(.k-xray-sweep,.k-xray-flag){animation:k-xray-fs 1ms 2.5s both}
  html.k-js .k-xray:not(.is-live):not(.is-swept) :is(.k-xray-sweep,.k-xray-flag){animation:k-xray-fs 1ms 3s both}
  .k-xray.is-sweep.is-swept .k-xray-sweep{transition:clip-path var(--k-xray-sweep) linear}
  .k-xray.is-sweep.is-swept .k-xray-flag{transition:opacity 160ms ease calc(var(--k-xray-x,0) * var(--k-xray-sweep))}
}
@keyframes k-xray-fs{to{opacity:1;clip-path:none}}
.k-xray.is-snap *,.k-xray.is-snap ::before,.k-xray.is-snap ::after{transition:none}

/* reduced motion: every move is instant */
html.k-reduced .k-xray :is(.k-xray-head,.k-xray-scan,.k-xray-lit,.k-xray-played,.k-xray-ph,.k-xray-leader,.k-xray-call-label,mark,.k-xray-tab,.k-stamp,.k-xray-sweep,.k-xray-flag),
html.k-reduced .k-xray-seal::before,html.k-reduced .k-xray-seal::after{transition:none}
html.k-reduced .k-xray-beam{animation:none}


@container (max-width:484px){
  .k-xray-row{padding:12px 0 13px 10px}
  .k-xray-call{margin-top:4px}
}
@media (max-width:560px){.k-xray{--k-xray-pad:12px}}
@media (forced-colors:active){
  .k-xray-ph::after,.k-xray-mk{clip-path:none}
  .k-xray-knob-tag{border:1px solid CanvasText}
}
@media print{.k-xray :is(.k-xray-head,.k-xray-scan,.k-xray-play,.k-xray-hint){display:none}}

/* ===== parts/sectionsA.css ===== */
/* kit v2 · sectionsA.css · C1 section head, C7 title block, C3 problem cards (N2, N10), C4 steps (N8, N3). Tokens only. */

/* C1 · section head: a 12-column grid whose children are placed by a container query on the head itself */
.k-head{container:k-head/inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--k-col-gap);align-items:start;margin:0 0 clamp(32px,4.4vw,64px)}
.k-head>*{grid-column:1/-1;min-width:0}
.k-head-slug{display:flex;align-items:center;gap:12px;margin:0 0 clamp(24px,3.4vw,48px)}
.k-head-slug .k-tag{flex:none;color:var(--k-muted)}
.k-head-slug .k-tag b{color:var(--k-ink)}
.k-head-time{order:3;flex:none;color:var(--k-muted);font-weight:500}
/* tick rule: 1px baseline, minor ticks every 12px, major every 60px */
.k-head-rule{--k-hr:var(--k-line-strong);order:2;flex:1 1 auto;min-width:32px;height:7px;background:linear-gradient(var(--k-hr),var(--k-hr)) 0 100%/100% 1px no-repeat,repeating-linear-gradient(90deg,var(--k-hr) 0 1px,transparent 1px 60px) 0 0/100% 7px no-repeat,repeating-linear-gradient(90deg,var(--k-hr) 0 1px,transparent 1px 12px) 0 100%/100% 4px no-repeat}
.k-head.is-hot .k-head-rule{--k-hr:var(--k-accent)}
.k-head.is-hot .k-head-slug .k-tag b{color:var(--k-accent)}
.k-head>.k-lede{margin-top:clamp(20px,2.2vw,28px)}
.k-head>.k-margin{position:relative;margin-top:20px;padding-left:14px;border-left:1px solid var(--k-line-strong)}
.k-head.is-slim{margin-bottom:clamp(16px,2vw,24px)}
.k-head.is-slim .k-head-slug{margin:0}
/* running index (section 04): one entry per card, lit by sectionsA.js as each card enters; wide heads only */
.k-head>.k-head-idx{display:none}
.k-head-idx span{white-space:nowrap;transition:color var(--k-t-move) var(--k-ease-ui)}
.k-head-idx span+span::before{content:"\00B7";margin:0 10px;color:var(--k-line-strong)}
.k-head-idx b{font-weight:650}
.k-head-idx span.is-lit{color:var(--k-ink)}
.k-head-idx span.is-lit.is-missed b{color:var(--k-missed)}
html.k-js:not(.k-reduced) .k-head-idx span:not(.is-lit){color:var(--k-muted)}
@container k-head (min-width:1100px){
 .k-head>.k-head-idx{display:flex;flex-wrap:wrap;justify-content:flex-end;row-gap:6px;grid-column:8/13;grid-row:2;align-self:end;margin:0 0 .45em;font-size:.8125rem}
 /* wide head (section 05): the H2 runs all 12 columns at 1.25x, the lede and margin note tucked right under it */
 .k-head.is-wide>.k-d2{grid-column:1/-1;font-size:calc(var(--k-fs-d2) * 1.25)}
 .k-head.is-wide>.k-lede{grid-column:6/10;grid-row:3}
 .k-head.is-wide>.k-margin{grid-column:10/13;grid-row:3;align-self:start;margin-top:clamp(20px,2.2vw,28px);padding-left:14px;border-left:1px solid var(--k-line-strong)}
 .k-head.is-wide>.k-margin::before,.k-head.is-wide>.k-margin::after{content:none}
 .k-head>.k-d2{grid-column:1/9;grid-row:2;align-self:baseline}
 .k-head>.k-lede{grid-column:1/7;grid-row:3}
 /* sidenote: columns 10 to 12, level with the H2's first line, a leader running left toward it */
 .k-head>.k-margin{--k-lead:calc((100% - 2 * var(--k-col-gap)) / 3 + var(--k-col-gap) - 12px);grid-column:10/13;grid-row:2;align-self:baseline;max-width:none;margin:0;padding:0;border:0}
 .k-head>.k-margin::before{content:"";position:absolute;top:.62em;right:calc(100% + 12px);width:var(--k-lead);border-top:1px solid var(--k-line-strong)}
 .k-head>.k-margin::after{content:"";position:absolute;top:calc(.62em - 2px);right:calc(100% + 12px + var(--k-lead) - 2.5px);width:5px;height:5px;border-radius:50%;background:var(--k-line-strong)}
}

/* C7 · title block (section 03): 1 column, 2 at 520px, 3 x 2 at 900px of its own width */
.k-tb-sec.k-sec{padding-top:clamp(40px,5vw,72px);padding-bottom:0}
.k-tb{container:k-tb/inline-size;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:var(--k-w-frame) solid var(--k-ink);border-radius:var(--k-r-1);overflow:clip}
.k-tb-cell{position:relative;grid-column:span 6;display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:4px 16px;align-items:baseline;padding:14px 16px;min-width:0}
.k-tb-cell>.k-mono-s{color:var(--k-muted)}
.k-tb-cell>.k-h4{color:var(--k-ink);text-wrap:balance}
.k-tb-cell>.k-chip{justify-self:start;white-space:normal}
/* dividers sit on the cell's top and left edges; the block clips the ones on its outer edge */
.k-tb-h,.k-tb-v{position:absolute;background:var(--k-line);pointer-events:none}
.k-tb-h{left:0;right:0;top:-1px;height:1px}
.k-tb-v{top:0;bottom:0;left:-1px;width:1px}
/* empty slots carry a light drafting hatch until the credentials are in */
.k-tb-cell:has(>[data-k-todo]){background:repeating-linear-gradient(-45deg,var(--k-grid-major) 0 1px,transparent 1px 8px)}
@container k-tb (min-width:520px){
 .k-tb-cell{grid-column:span 3;grid-template-columns:minmax(0,1fr);align-content:space-between;align-items:start;gap:22px;min-height:120px;padding:14px 18px 18px}
}
@container k-tb (min-width:900px){.k-tb-cell{grid-column:span 2;min-height:132px;padding:16px 20px 20px}}

/* C3 · problem cards: 1 column, 2 x 2 at 560px, 4 across at 1040px (18px padding keeps every art label at 10px or more) */
.k-problems{container:k-problems/inline-size;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:var(--k-w-rule) solid var(--k-ink);overflow:clip}
.k-problem{position:relative;grid-column:span 4;display:grid;grid-template-rows:auto auto auto 1fr;align-content:start;padding:20px 20px 28px;min-width:0}
.k-problem::before,.k-problem::after{content:"";position:absolute;background:var(--k-line);pointer-events:none}
.k-problem::before{top:0;bottom:0;left:-1px;width:1px}
.k-problem::after{left:0;right:0;top:-1px;height:1px}
@container k-problems (min-width:560px){.k-problem{grid-column:span 2;padding-inline:24px}}
@container k-problems (min-width:1040px){.k-problem{grid-column:span 1;padding:24px 18px 32px}.k-problem-art{max-width:none}}
.k-problem-top{display:flex;align-items:center;justify-content:flex-start;margin-bottom:clamp(14px,1.6vw,20px)}
.k-problem-art{width:100%;max-width:420px;margin-bottom:clamp(20px,2.4vw,30px)}
.k-problem>.k-d3{margin-bottom:12px}
.k-problem.is-missed>.k-d3{color:var(--k-missed)}

/* N2 · 24-hour dial */
.k-dial .k-dial-min{stroke:var(--k-line-strong);stroke-width:var(--k-w-hair);stroke-linecap:butt}
.k-dial .k-dial-hr{stroke-width:1.1;stroke-linecap:butt}
.k-dial .k-dial-mk{stroke:var(--k-ink);stroke-width:10;stroke-linecap:butt}
.k-dial .k-dial-mk.is-vm{stroke-width:9}
.k-dial :is(mask){mask-type:alpha}
.k-dial .k-dial-open{stroke-width:5;stroke-linecap:butt}
.k-dial .k-dial-vm{stroke:var(--k-missed);stroke-width:2;stroke-dasharray:3.2 2.4;stroke-linecap:butt}
.k-dial .k-dial-ndl{stroke-width:1.5}
.k-dial .k-dial-lead{stroke:var(--k-missed);stroke-width:var(--k-w-hair)}
.k-dial .k-dial-bal{fill:var(--k-paper);stroke:var(--k-missed);stroke-width:var(--k-w-art)}
.k-dial .k-dial-n{font-weight:650;letter-spacing:0}
.k-dial .k-dial-t{font-size:13px;font-weight:600;letter-spacing:.02em}
.k-dial-sweep,.k-cal-slide,.k-lock-lift,.k-timing-cur,.k-review-cur{transform-box:view-box}
.k-dial-sweep{transform-origin:72px 60px}
/* the needle sweeps from 12 AM to 7:42 PM in 24 detents, only while the dial draws; at rest it reads 7:42 PM */
@keyframes k-dial-sweep{from{transform:rotate(-295.5deg)}to{transform:none}}
html:not(.k-reduced) .k-dial.is-in:not(.is-drawn) .k-dial-sweep{animation:k-dial-sweep 900ms steps(24,end) 560ms both}

/* N10 · caliper (card 02): the sliding jaw opens once, while it draws */
.k-caliper .k-cal-jaw,.k-lock .k-lock-fill{fill:var(--k-paper)}
.k-caliper .k-cal-ghost{stroke:var(--k-line-strong);stroke-width:var(--k-w-hair);stroke-dasharray:2 2.5}
.k-caliper .k-cal-ghost circle{fill:var(--k-paper)}
.k-caliper .k-cal-arw{fill:var(--k-line-strong);stroke:none}
@keyframes k-cal-open{from{transform:translateX(-150px)}to{transform:none}}
html:not(.k-reduced) .k-caliper.is-in:not(.is-drawn) .k-cal-slide{animation:k-cal-open 600ms var(--k-ease-servo) 420ms both}

/* N3 · review timing, shared by the card 03 variant and the full figure */
.k-review .k-review-flat{stroke:var(--k-line-strong);stroke-dasharray:3 3;stroke-linecap:butt}
.k-review .k-review-sep{stroke-dasharray:2 3}
.k-review .k-review-halo{font-weight:600;paint-order:stroke;stroke:var(--k-paper);stroke-width:6px;stroke-linejoin:round}

/* N10 · exploded padlock (card 04): the shackle lifts once, ink only */
.k-lock .k-lock-ph{stroke:var(--k-line-strong);stroke-width:var(--k-w-hair);stroke-dasharray:2 2.5}
.k-lock .k-lock-arw{fill:var(--k-line-strong);stroke:none}
@keyframes k-lock-lift{from{transform:translateY(18px)}to{transform:none}}
html:not(.k-reduced) .k-lock.is-in:not(.is-drawn) .k-lock-lift{animation:k-lock-lift 440ms var(--k-ease-servo) 380ms both}

/* C4 · steps */
.k-steps{display:grid;gap:clamp(36px,5vw,56px);align-items:start}
.k-steps-fig{min-width:0}
.k-steps-head{margin-bottom:clamp(24px,2.6vw,36px)}
.k-steps-h{font-size:clamp(2.25rem,1.5rem + 2.6vw,4rem)}
.k-steps-head>.k-lede{margin-top:clamp(14px,1.4vw,20px)}
/* the live caption only where steps drive the figure (1024px and up with JS); everywhere else, including a copy outside .k-steps, the static one */
.k-timing-cap-live,.k-steps.is-live .k-timing-cap-rest{display:none}
.k-steps.is-live .k-timing-cap-live{display:inline}
.k-steps-list{position:relative;display:grid;margin:0;padding:0;list-style:none;min-width:0}
.k-step{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:clamp(16px,2vw,28px);align-content:start;padding-bottom:clamp(36px,4.4vw,56px);min-width:0}
.k-step:last-child{padding-bottom:0}
.k-step>*{grid-column:2;min-width:0}
.k-step>.k-step-node{grid-column:1;grid-row:1/span 3;align-self:start}
.k-step>.k-tag{margin-top:4px;color:var(--k-muted)}
.k-step>.k-tag b{color:var(--k-ink)}
.k-step>.k-d3{margin:8px 0 12px}
.k-step-node{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border:var(--k-w-frame) solid var(--k-line-strong);border-radius:50%;background:var(--k-paper);color:var(--k-ink)}
.k-step-node .k-ico-drafted{width:100%;height:100%}
.k-step.is-active .k-step-node{border-color:var(--k-ink)}
.k-step.is-active>.k-tag{color:var(--k-ink)}
.k-step.is-hot .k-step-node{border-color:var(--k-accent);color:var(--k-accent);box-shadow:0 0 0 4px var(--k-accent-tint)}
.k-step.is-hot.is-active .k-step-node{background:color-mix(in srgb,var(--k-accent) 14%,var(--k-paper))}
.k-step.is-hot>.k-tag,.k-step.is-hot>.k-tag b{color:var(--k-accent)}
/* live (JS, 1024px and wider): steps already read get a solid connector; the others step back to muted */
.k-step::before,.k-step::after{content:"";position:absolute;left:25.5px;top:52px;bottom:0;border-left:1px dashed var(--k-line-strong)}
.k-step::after{left:25px;border-left:2px solid var(--k-ink);transform:scaleY(0);transform-origin:50% 0;transition:transform var(--k-t-line) var(--k-ease-settle)}
.k-step:last-child::before,.k-step:last-child::after{content:none}
.k-step.is-past::after{transform:none}
.k-steps.is-live .k-step>:is(.k-d3,.k-body){transition:color var(--k-t-move) var(--k-ease-ui)}
.k-steps.is-live .k-step:not(.is-active)>:is(.k-d3,.k-body){color:var(--k-muted)}
html.k-reduced .k-step::after,html.k-reduced .k-steps .k-step>*{transition:none}
@media (min-width:1024px){
 .k-steps{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--k-col-gap)}
 /* sticky is not motion: it stays sticky under reduced motion, and the steps stay in normal flow */
 .k-steps-fig{grid-column:1/6;align-self:stretch}
 .k-steps-list{grid-column:7/13;padding-top:6px}
 /* tall enough: heading, lede and figure stick together; shorter screens pin the figure alone */
 .k-steps-fig .k-timing{position:sticky;top:var(--k-sticky-top)}
}
@media (min-width:1024px) and (min-height:820px){
 .k-steps-fig{align-self:start;position:sticky;top:var(--k-sticky-top)}
 .k-steps-fig .k-timing{position:relative;top:auto}
 .k-step{min-height:max(44vh,300px);min-height:max(44svh,300px)}
}

/* N8 · Fig. 07: SVG lanes, HTML labels on rows that mirror the 420 x 300 viewBox */
.k-timing.is-framed{background-color:var(--k-surface)}
.k-timing-read{color:var(--k-muted);white-space:nowrap}
.k-timing-read b{color:var(--k-ink);font-weight:650}
.k-timing-body{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px}
.k-timing-labs{display:grid;grid-template-rows:14fr 50fr 16fr 50fr 16fr 50fr 16fr 50fr 38fr;margin:0;padding:0;list-style:none}
.k-timing-labs li{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--k-lc);transition:color var(--k-t-move) var(--k-ease-ui)}
.k-timing-labs li:nth-child(1){grid-row:2}.k-timing-labs li:nth-child(2){grid-row:4}.k-timing-labs li:nth-child(3){grid-row:6}.k-timing-labs li:nth-child(4){grid-row:8}
.k-timing-labs li::before{content:"";flex:none;width:6px;height:6px;border:1px solid var(--k-line-strong)}
.k-timing-labs b{font-weight:650}
.k-timing-plot{position:relative;min-width:0}
.k-timing [data-lane]{--k-lc:var(--k-ink);--k-lw:var(--k-w-art);--k-lf:transparent}
.k-timing[data-active="1"] [data-lane="1"],.k-timing[data-active="2"] [data-lane="2"],.k-timing[data-active="3"] [data-lane="3"],.k-timing[data-active="4"] [data-lane="4"]{--k-lc:var(--k-accent);--k-lw:var(--k-w-acc);--k-lf:var(--k-accent-tint)}
.k-timing[data-active="1"] .k-timing-labs li:nth-child(1)::before,.k-timing[data-active="2"] .k-timing-labs li:nth-child(2)::before,.k-timing[data-active="3"] .k-timing-labs li:nth-child(3)::before,.k-timing[data-active="4"] .k-timing-labs li:nth-child(4)::before{background:var(--k-accent);border-color:var(--k-accent)}
.k-timing .k-timing-sig{stroke:var(--k-lc);stroke-width:var(--k-lw)}
.k-timing .k-timing-fill{fill:var(--k-lf);stroke:none}
.k-timing .k-timing-arw{fill:var(--k-lc);stroke:none}
.k-timing .k-timing-band{fill:color-mix(in srgb,var(--k-ink) 6%,transparent);stroke:none}
.k-timing .k-timing-curl{stroke:var(--k-accent);stroke-width:var(--k-w-hair)}
.k-timing .k-timing-curh{fill:var(--k-accent);stroke:none}
.k-timing-cur{transform:translateX(154px);transition:transform var(--k-t-move) var(--k-ease-servo)}
.k-timing[data-active="1"] .k-timing-cur{transform:translateX(40px)}
.k-timing[data-active="3"] .k-timing-cur{transform:translateX(312px)}
.k-timing[data-active="4"] .k-timing-cur{transform:translateX(376px)}
html.k-reduced .k-timing-cur{transition:none}
.k-timing-loop{position:absolute;left:50.7%;top:79%;transform:translate(-50%,-50%);padding:0 6px;background:var(--k-surface);box-shadow:0 0 0 3px var(--k-surface);color:var(--k-lc);white-space:nowrap}
/* ticks end on the axis inside the SVG; every label sits on one baseline just under it, centred on its tick */
.k-timing-axis{position:relative;grid-column:2;min-height:54px;container-type:inline-size}
.k-timing-axis span{position:absolute;left:var(--x);top:2px;transform:translateX(-50%);white-space:nowrap;color:var(--k-muted);line-height:1.2}
.k-timing-axis .is-span{top:24px;display:flex;justify-content:center;width:var(--w);transform:none;padding-top:7px;color:var(--k-ink-2)}
.k-timing-axis .is-span::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border:1px solid var(--k-line-strong);border-top:0}
/* a narrow plot (phones, the 1024 sticky column): the brackets already mark hang-up and the job, so only Ring 1 and Later keep a tick label, and the bracket names drop to the 10px label floor */
@container (max-width:259.98px){.k-timing-axis span:nth-child(2),.k-timing-axis span:nth-child(3){display:none}.k-timing-axis .is-span{font-size:10px;letter-spacing:.02em}}
/* narrower still (a 360 phone inside a frame): the two bracket names no longer fit side by side, so each bracket takes its own row and the axis grows */
@container (max-width:199.98px){.k-timing-axis .is-span{position:relative;left:auto;top:auto;margin:4px 0 0 var(--x)}.k-timing-axis .is-span:nth-child(5){margin-top:24px}.k-timing-axis .is-span:last-child{justify-content:flex-end}}

/* N3 · full review timing figure (step 03): rows mirror the 480 x 200 viewBox */
.k-review.is-full{position:relative;grid-column:1/-1;margin-top:clamp(20px,2.4vw,28px);background-color:var(--k-paper)}
:is(.k-timing,.k-review) .k-fig-head>:first-child{text-wrap:balance}
.k-review-body{display:grid;grid-template-columns:min-content minmax(0,1fr);column-gap:12px}
.k-review-labs{display:grid;grid-template-rows:14fr 34fr 36fr 34fr 37fr 34fr 11fr;margin:0;padding:0;list-style:none;color:var(--k-muted)}
.k-review-labs li{display:flex;align-items:center;height:0;line-height:1.2}
.k-review-labs li:nth-child(1){grid-row:2}.k-review-labs li:nth-child(2){grid-row:4}.k-review-labs li:nth-child(3){grid-row:6}
.k-review-plot{position:relative;min-width:0}
.k-review .k-review-job{stroke:var(--k-ink-2)}
.k-review .k-review-req{stroke:var(--k-ink);stroke-width:var(--k-w-acc)}
.k-review .k-review-by{stroke:var(--k-ink);stroke-width:var(--k-w-acc)}
.k-review .k-review-arrow{stroke:var(--k-line-strong);stroke-width:var(--k-w-hair);stroke-dasharray:2.5 2.5}
.k-review .k-review-head{fill:var(--k-line-strong);stroke:none}
.k-review-cur{opacity:0;stroke:var(--k-accent);stroke-width:var(--k-w-hair)}
.k-review-cur .k-review-curh{fill:var(--k-accent);stroke:none}
/* the sweep cursor exists only during the entrance; each request pulse and its arrow draw as it passes */
@keyframes k-review-sweep{0%{transform:none;opacity:1}94%{opacity:1}100%{transform:translateX(480px);opacity:0}}
html:not(.k-reduced) .k-review-art.is-in:not(.is-drawn) .k-review-cur{animation:k-review-sweep 1200ms linear both}
.k-review-who{position:absolute;left:1.5%;top:86%;transform:translateY(-50%);max-width:94%;padding:1px 6px;background:var(--k-paper);color:var(--k-ink);font-weight:600;white-space:nowrap}
.k-review-cols{grid-column:2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));margin:6px 0 0;padding:0;list-style:none;text-align:center;color:var(--k-muted)}
@media (min-width:1024px){.k-review.is-full{grid-column:2}}

/* ===== parts/sectionsB.css ===== */
/* kit v2 · sectionsB · C6 product cards (A7, N5, A5, A6), C5 industries (A4). Tokens only. */

/* C6 */
.k-products{display:grid;gap:var(--k-col-gap);grid-template-columns:repeat(auto-fill,minmax(max(calc((100% - var(--k-col-gap)) / 2 - .1px),min(100%,(1100px - 100%) * 999)),1fr))}
/* each card reads head, lede, figures, checks; with subgrid the two heads and the two check lists line up */
.k-product{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;background:var(--k-surface);border-radius:var(--k-r-1)}
/* no container on the card: its layout containment would switch the subgrid off. Paddings use % of the card's grid area, which is the card width */
@supports (grid-template-rows:subgrid){.k-products{grid-template-rows:auto auto 1fr auto}.k-product{grid-row:span 4;grid-template-rows:subgrid;row-gap:0}}
.k-product::before,.k-product::after{content:"";position:absolute;inset:0;z-index:1;border:0 solid var(--k-ink);border-radius:inherit;pointer-events:none;transform-origin:0 0}
.k-product::before{border-block-width:var(--k-w-frame)}
.k-product::after{border-inline-width:var(--k-w-frame)}
/* two figures side by side once the art is 620px wide; the 1px gap over a line-colored ground draws the divider in either layout */
.k-product-art{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(calc(50% - .5px),min(100%,(620px - 100%) * 999)),1fr));align-content:stretch;gap:1px;min-width:0;border-block:1px solid var(--k-line);background:var(--k-line)}
.k-product-art>.k-fig{--k-cl:10px;grid-template-rows:auto 1fr auto;padding:clamp(18px,3.4%,30px);background-color:var(--k-surface);background-position:10px 10px,10px 10px,right 10px top 10px,right 10px top 10px,left 10px bottom 10px,left 10px bottom 10px,right 10px bottom 10px,right 10px bottom 10px}
.k-product-art .k-fig-body{display:grid;align-content:center}
.k-product-head{display:grid;gap:10px;align-content:start;padding:clamp(20px,4.4%,36px) clamp(20px,4.4%,36px) 0}
.k-product-head>.k-tag{color:var(--k-muted)}
.k-product-head>.k-tag b{color:var(--k-ink)}
.k-product-head>.k-d3{max-width:18ch;text-wrap:balance}
.k-product-lede{max-width:60ch;padding:12px clamp(20px,4.4%,36px) clamp(20px,3.4%,28px);text-wrap:pretty}
.k-product-checks{align-content:start;padding:clamp(18px,3.4%,26px) clamp(20px,4.4%,36px) clamp(22px,4.4%,36px)}

/* A7 */
.k-wiring{max-width:500px;margin-inline:auto}
.k-wiring text{font-weight:500}
.k-wiring[data-k-scale] text{font-size:calc(var(--k-art-fs)*min(var(--k-art-k,1),1.36))}
.k-wiring :is(.k-wiring-name,.k-wiring-end,.k-wiring-bn){font-weight:650}
.k-wiring .k-wiring-name{text-anchor:middle;fill:var(--k-accent)}
.k-wiring .k-wiring-end{text-anchor:end}
.k-wiring .k-wiring-plan{fill:var(--k-muted);font-weight:500;letter-spacing:.04em}
.k-wiring-ico{stroke-width:1.6}
.k-wiring .k-wiring-wave{stroke:var(--k-accent);stroke-width:1.6}
.k-wiring .k-wiring-bn{letter-spacing:0;text-anchor:middle;dominant-baseline:central}
.k-wiring .k-wiring-bn.is-hot{fill:var(--k-accent-ink)}
.k-wiring-pad{fill:var(--k-ink)}
.k-wiring-t{stroke-width:1.5}
.k-wiring-via{fill:var(--k-surface);stroke:var(--k-ink);stroke-width:1.25}
.k-wiring-pad.is-out,.k-wiring-dot{fill:var(--k-accent)}
.k-wiring-chip{fill:var(--k-accent-tint)}
.k-wiring.is-armed :is(.k-wiring-pad,.k-wiring-chip):not(.is-lit){fill:var(--k-surface)}
.k-wiring-dot{stroke:var(--k-accent-tint);stroke-width:5;paint-order:stroke}
.k-wiring-tail{stroke:var(--k-accent);stroke-width:2.5;stroke-linecap:butt}
.k-wiring :is(.k-wiring-dot,.k-wiring-tail){transition:opacity var(--k-t-move) ease}
.k-wiring .is-gone{opacity:0}

/* N5 */
.k-daybook{--k-db-g:3.75rem}
.k-daybook-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px}
.k-daybook-day{display:inline-grid;overflow:clip;padding-block:.08em;margin-block:-.08em}
.k-daybook-day>span{grid-area:1/1}
.k-daybook-day>.is-new{transform:translateY(110%)}
.k-daybook-day.is-flip>*{transition:transform 420ms var(--k-ease-servo)}
.k-daybook-day.is-flip>.is-old{transform:translateY(-110%)}
.k-daybook-day.is-flip>.is-new{transform:none}
.k-daybook-hours{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--k-line)}
.k-daybook-hours>li{position:relative;min-height:30px;padding:3px 0 3px var(--k-db-g);border-top:1px solid var(--k-line)}
.k-daybook-hours>li::before{content:"";position:absolute;top:-1px;bottom:0;left:calc(var(--k-db-g) - 10px);border-left:1px solid var(--k-line)}
.k-daybook-hours time{position:absolute;top:5px;left:0;font-size:var(--k-fs-label);color:var(--k-muted)}
.k-daybook-hours>li:has(.is-agent) time{color:var(--k-ink);font-weight:650}
.k-daybook-entry{display:block;width:fit-content;max-width:100%}
.k-daybook-entry.is-pencil{margin:1px 0;padding:1px 0 1px 10px;border-left:1px dashed var(--k-line-strong);font-size:var(--k-fs-small);line-height:1.5;color:var(--k-muted)}
.k-daybook-entry.is-agent{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;width:auto;margin:-3px 0;padding:6px 12px 7px 15px;background:linear-gradient(var(--k-accent-tint),var(--k-accent-tint)) var(--k-surface);font-size:var(--k-fs-small);line-height:1.4;color:var(--k-ink)}
.k-daybook-entry.is-agent::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--k-accent);transform-origin:50% 0}
.k-daybook-entry.is-agent>b{font-weight:600}
.k-daybook.is-armed [data-daybook-entry]::before{transform:scaleY(0)}
.k-daybook.is-armed [data-daybook-entry]>.k-tag{opacity:.3}
.k-daybook.is-inking [data-daybook-entry]::before{transition:transform var(--k-t-move) var(--k-ease-servo)}
.k-daybook.is-inking [data-daybook-entry]>.k-tag{transition:opacity 240ms ease 220ms}
@media (forced-colors:none){
 .k-daybook:is(.is-armed,.is-inking) [data-daybook-entry]>b{color:transparent;background:linear-gradient(var(--k-ink),var(--k-ink)) 0 0/var(--k-fill) 100% no-repeat,linear-gradient(var(--k-muted),var(--k-muted));-webkit-background-clip:text;background-clip:text}
 .k-daybook.is-armed [data-daybook-entry]>b{--k-fill:0%}
 .k-daybook.is-inking [data-daybook-entry]>b{transition:--k-fill 480ms linear 120ms}
}
.k-daybook.is-moving .k-daybook-hours>li,.k-daybook.is-moving [data-daybook-entry]{transition:transform 520ms var(--k-ease-servo)}
.k-daybook-entry.is-new{opacity:0}
.k-daybook.is-moving .is-pencil{transition:opacity 240ms ease 280ms}

/* A5 */
.k-report{max-width:440px;margin-inline:auto}
.k-report-strip{fill:var(--k-paper);stroke:var(--k-line-strong);stroke-width:1}
.k-report-head{stroke-width:1.25}
.k-report :is(.k-report-h,.k-report-acc){font-weight:650}
.k-report-tk{stroke-linecap:butt}
.k-report-wk{stroke:var(--k-line-strong);stroke-width:1;stroke-dasharray:1 3}
.k-report-pencil{stroke:var(--k-line);stroke-width:1}
html.k-js:not(.k-reduced){
 &:not(.k-late) .k-report:not(.is-in) .k-report-feed{transform:translateY(-244px)}
 & .k-report-feed{transition:transform 640ms steps(4,end) 260ms}
 &:not(.k-late) .k-product:not(.is-in)::before{transform:scaleX(0)}
 &:not(.k-late) .k-product:not(.is-in)::after{transform:scaleY(0)}
 & .k-product::before,& .k-product::after{transition:transform 900ms var(--k-ease-settle) var(--k-delay,0ms)}
 &:not(.k-live) .k-report:not(.is-in) .k-report-feed,&:not(.k-live) .k-product:not(.is-in)::before,&:not(.k-live) .k-product:not(.is-in)::after{animation:k-failsafe 1ms 2.5s both}
}

/* A6 */
.k-gauge{--k-gauge-p:calc(var(--k-gauge-v,10) / 25);--k-gauge-e:var(--k-gauge-t,var(--k-t-move)) var(--k-ease-servo);display:grid;gap:14px}
.k-gauge.is-pre{--k-gauge-p:0}
.k-gauge-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:4px 16px;color:var(--k-ink)}
.k-gauge-read{display:inline-flex;align-items:baseline;gap:8px;color:var(--k-muted)}
.k-gauge-num{font-size:clamp(2.25rem,1.9rem + 1.2vw,3rem);font-weight:450}
.k-gauge-scale{padding:0 22px;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.k-gauge-track{position:relative;height:150px;container-type:inline-size}
.k-gauge-track>*{position:absolute;left:0;width:100%;margin:0;padding:0;list-style:none}
.k-gauge-band{top:36px;height:16px;border:1px solid var(--k-line-strong)}
.k-gauge-band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 4px,var(--k-accent) 4px 5px) var(--k-accent-tint);clip-path:inset(0 calc(100% - var(--k-gauge-p) * 100%) 0 0)}
.k-gauge-ticks{top:52px;height:12px;overflow:visible;fill:none;stroke:var(--k-ink);stroke-width:1}
.k-gauge-ticks path{vector-effect:non-scaling-stroke}
.k-gauge-ticks .k-gauge-mi{stroke:var(--k-line-strong)}
.k-gauge-nums{top:68px;z-index:1}
.k-gauge-nums>li,.k-gauge-offers>li{position:absolute;left:calc(var(--v) * 4%)}
:is(.k-gauge-nums>li,.k-gauge-dims>span,.k-photo-cap){font:500 var(--k-fs-micro)/1.3 var(--k-f-mono);font-stretch:87.5%;letter-spacing:.08em;text-transform:uppercase}
.k-gauge-nums>li{padding:0 3px;background:var(--k-surface);transform:translateX(-50%);font-size:var(--k-fs-label);line-height:1;letter-spacing:.04em;color:var(--k-muted)}
.k-gauge-dims{top:92px;z-index:1;height:20px}
.k-gauge-dims>i{position:absolute;inset:9px 0 auto;height:1px;transition:clip-path var(--k-gauge-e)}
.k-gauge-set{background:var(--k-ink);clip-path:inset(0 calc(100% - var(--k-gauge-p) * 100%) 0 0)}
.k-gauge-off{background:repeating-linear-gradient(90deg,var(--k-line-strong) 0 3px,transparent 3px 6px);clip-path:inset(0 0 0 calc(var(--k-gauge-p) * 100%))}
.k-gauge-dims>span{position:absolute;top:0;left:0;z-index:1;padding:0 6px;background:var(--k-surface);line-height:20px;white-space:nowrap;color:var(--k-ink);transform:translateX(calc(var(--k-gauge-p) * 50cqi - 50%))}
.k-gauge-dims>.k-gauge-l2{color:var(--k-muted);transform:translateX(calc((1 + var(--k-gauge-p)) * 50cqi - 50%))}
.k-gauge-dims::before,.k-gauge-dims::after{content:"";position:absolute;top:3px;height:13px;border-left:1px solid var(--k-line-strong)}
.k-gauge-dims::after{right:0}
.k-gauge-offers{top:120px;height:26px}
.k-gauge-offers>li{top:0;width:0;height:26px;transition:opacity 160ms var(--k-ease-ui)}
.k-gauge-offers>li.is-wait{opacity:0}
.k-gauge-offers>li::before{content:"";position:absolute;bottom:0;left:-.75px;height:16px;border-left:1.5px solid var(--k-ink)}
.k-gauge-offers>li::after{position:absolute;top:0;left:-4.5px}
.k-gauge-offers>.is-hot::before{border-color:var(--k-accent)}
.k-gauge-offers>.is-hot::after{background:var(--k-accent);box-shadow:0 0 0 3px var(--k-accent-tint)}
.k-gauge-offers>.is-out::before{border-left-style:dashed;border-color:var(--k-line)}
.k-gauge-offers>li::after,.k-gauge-k1::before,.k-gauge-k2::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--k-ink)}
.k-gauge-offers>.is-out::after,.k-gauge-k2::before{--x:transparent 43%,var(--k-line-strong) 43% 57%,transparent 57%;border-radius:0;background:linear-gradient(45deg,var(--x)),linear-gradient(-45deg,var(--x))}
.k-gauge-track>.k-gauge-line{top:30px;bottom:0;left:-1.25px;width:2.5px}
.k-gauge-line,.k-gauge-car{background:var(--k-ink);transform:translateX(calc(var(--k-gauge-p) * 100cqi))}
.k-gauge-track>.k-gauge-car{top:0;left:-22px;display:grid;place-items:center;width:44px;height:28px;border:1.5px solid var(--k-ink);border-radius:var(--k-r-1);background:var(--k-surface);color:var(--k-ink);cursor:grab;touch-action:none}
.k-gauge-car::after{content:"";position:absolute;bottom:-5px;left:50%;width:8px;height:8px;margin-left:-4px;border:solid var(--k-ink);border-width:0 1.5px 1.5px 0;background:var(--k-surface);transform:rotate(45deg)}
.k-gauge-car .k-ico{width:18px;height:18px;transform:rotate(90deg)}
.k-gauge.is-drag .k-gauge-car{cursor:grabbing}
.k-gauge:not(.is-drag) :is(.k-gauge-car,.k-gauge-line,.k-gauge-dims>span){transition:transform var(--k-gauge-e)}
.k-gauge:not(.is-drag) .k-gauge-band::before{transition:clip-path var(--k-gauge-e)}
.k-gauge.is-drag :is(.k-gauge-dims>i,.k-gauge-dims>span){transition:none}
.k-gauge.is-enter{--k-gauge-t:720ms}
@supports not (width:1cqi){.k-gauge-line,.k-gauge-car{transform:none;margin-left:calc(var(--k-gauge-p) * 100%)}}
.k-gauge-key{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;color:var(--k-muted)}
.k-gauge-key>span{display:inline-flex;align-items:center;gap:8px}
.k-gauge-sws{display:grid;border-top:1px solid var(--k-line)}
.k-gauge-sw{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;margin:0;padding:6px 0;border:0;border-bottom:1px solid var(--k-line);background:none;color:var(--k-ink-2);font:inherit;text-align:left;cursor:pointer}
.k-gauge-sw-s{display:inline-flex;align-items:center;gap:10px;flex:none}
.k-gauge-sw-s::before{content:"Off";min-width:3ch}
.k-gauge-sw:is([aria-checked="true"],[data-k-on="true"]) .k-gauge-sw-s::before{content:"On";color:var(--k-accent)}
.k-gauge-sw-s>i{position:relative;width:38px;height:22px;border:1.5px solid var(--k-ink);border-radius:var(--k-r-1)}
.k-gauge-sw-s>i::after{content:"";position:absolute;top:2.5px;left:2.5px;width:14px;height:14px;background:var(--k-ink);transition:transform var(--k-t-ui) var(--k-ease-servo)}
.k-gauge-sw:is([aria-checked="true"],[data-k-on="true"]) .k-gauge-sw-s>i{border-color:var(--k-accent);background:var(--k-accent)}
.k-gauge-sw:is([aria-checked="true"],[data-k-on="true"]) .k-gauge-sw-s>i::after{background:var(--k-accent-ink);transform:translateX(15px)}
div.k-gauge-sw{cursor:default}
.k-gauge-car:not([role]){cursor:default}

/* C5 */
.k-industries{display:grid;gap:clamp(48px,5vw,64px) var(--k-col-gap);grid-template-columns:repeat(auto-fill,minmax(max(calc((100% - 3 * var(--k-col-gap)) / 4 - .1px),min(calc((100% - var(--k-col-gap)) / 2 - .1px),(1000px - 100%) * 999),min(100%,(520px - 100%) * 999)),1fr))}
.k-industry{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:16px;min-width:0}
.k-industry-name{display:flex;align-items:flex-start;align-self:start;gap:10px;margin-top:10px;padding-top:16px;border-top:var(--k-w-frame) solid var(--k-ink)}
.k-industry-name .k-ico{flex:none;width:28px;height:28px;margin-top:.12em}
/* transcript snippet, not a pull quote: an Agent prefix with the red Example script chip, the line in roman sans on an accent rule */
.k-snip{display:grid;align-content:start;gap:8px;margin:0;padding-left:16px;border-left:2px solid var(--k-accent)}
.k-snip>p{margin:0}
.k-snip-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.k-snip-who{font-size:.75rem;font-weight:600;color:var(--k-accent)}
.k-snip-line{font:450 1.125rem/1.4 var(--k-f-body);letter-spacing:-.005em;color:var(--k-ink);text-wrap:pretty}
.k-snip-src{color:var(--k-muted)}
.k-industry>.k-link{place-self:start}

/* A4 */
.k-photo{display:grid;align-content:start;align-self:start;gap:12px;margin:0;min-width:0}
.k-photo-img{position:relative;aspect-ratio:4/3;border:var(--k-w-frame) solid var(--k-ink);border-radius:var(--k-r-1);background:var(--k-paper-2)}
.k-photo-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:1px;filter:grayscale(1) contrast(1.08)}
.k-photo:not(.is-empty) .k-photo-img::after{content:"";position:absolute;inset:0;border-radius:1px;background:var(--k-accent);opacity:.14;mix-blend-mode:screen;pointer-events:none}
.k-photo.is-empty .k-photo-img{background:repeating-linear-gradient(45deg,var(--k-grid-major) 0 1px,transparent 1px 7px) var(--k-surface)}
.k-photo-need{position:absolute;top:10px;left:10px;z-index:1}
.k-photo-ico{position:absolute;right:6px;bottom:6px;color:var(--k-line-strong)}
.k-photo-pin{position:absolute;top:var(--y,62%);left:var(--x,24%);z-index:2;width:0;height:0}
.k-photo-pin>.k-balloon{position:absolute;top:-14px;left:-14px}
.k-photo-pin::after{content:"";position:absolute;top:-10.75px;left:10px;width:34px;height:1.5px;background:var(--k-accent);transform:rotate(-45deg);transform-origin:0 50%}
.k-photo-tag{position:absolute;right:0;bottom:calc(100% - var(--y,62%) + 34px);left:0;z-index:2;display:flex;justify-content:flex-end;padding:0 10px 5.5px}
.k-photo-tag::before{content:"";position:absolute;right:10px;bottom:0;left:calc(var(--x,24%) + 34px);border-bottom:var(--k-w-frame) solid var(--k-accent)}
.k-photo-tag>.k-tag{padding:2px 6px;background:var(--k-surface)}
.k-photo-cm>i{--t:4px,4px;position:absolute;top:-9.5px;left:-9.5px;width:10px;height:10px;border:0 solid var(--k-line-strong);border-width:1px 0 0 1px;transition:transform var(--k-t-ui) var(--k-ease-servo)}
.k-photo-cm>i:nth-child(2){--t:-4px,4px;left:auto;right:-9.5px;border-width:1px 1px 0 0}
.k-photo-cm>i:nth-child(3){--t:4px,-4px;top:auto;bottom:-9.5px;border-width:0 0 1px 1px}
.k-photo-cm>i:nth-child(4){--t:-4px,-4px;inset:auto -9.5px -9.5px auto;border-width:0 1px 1px 0}
:is(.k-industry:hover,.k-industry:focus-within,.k-photo:hover) .k-photo-cm>i{transform:translate(var(--t))}
.k-photo-cap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;color:var(--k-muted)}
.k-photo-fig{grid-column:1/-1;color:var(--k-ink)}
.k-photo-scale{--g:linear-gradient(currentColor,currentColor);grid-area:2/2;width:40px;height:7px;margin-top:3px;background:var(--g) 0 100%/100% 1px,var(--g) 0 0/1px 100%,var(--g) 50% 100%/1px 4px,var(--g) 100% 0/1px 100%;background-repeat:no-repeat}
.k-photo-src{grid-area:2/1}
.k-photo.is-empty .k-photo-src{color:var(--k-missed)}

html.k-reduced :is(.k-gauge,.k-daybook,.k-photo-cm) *,html.k-reduced :is(.k-gauge,.k-daybook) *::before,html.k-reduced .k-gauge *::after{transition:none}

/* ===== parts/sectionsC.css ===== */
/* kit v2 sectionsC. Tokens only; transitions in the last block */
/* border tokens: on :root so lifted content keeps its rules, and again on sections and tones so they follow the local ink */
:where(:root,.k-sec,[data-k-tone]){--k-hl:var(--k-w-hair) solid var(--k-line);--k-fr:var(--k-w-frame) solid var(--k-ink)}
.k-pricing{container:k-pricing/inline-size;--k-plan-fs:clamp(2.75rem,2.1rem + 2.6vw,4.5rem)}
.k-pricing-switch{position:relative;z-index:1;display:flex;width:fit-content;max-width:100%;border:var(--k-fr);border-radius:var(--k-r-1);background:var(--k-surface);overflow:clip}
.k-head>.k-pricing-switch{margin-top:clamp(20px,2.4vw,28px)}
@container k-head (min-width:1100px){
 .k-head.has-switch>.k-d2{grid-column:1/8}
 .k-head.has-switch>.k-pricing-switch{grid-column:8/13;grid-row:2;justify-self:end;align-self:end;margin:0 0 .5em}
 .k-head.has-switch>.k-pricing-switch button{white-space:nowrap}
 .k-head.has-switch>.k-margin{grid-column:9/13;grid-row:3;align-self:start;margin-top:clamp(20px,2.2vw,28px);padding-left:14px;border-left:1px solid var(--k-line-strong)}
 .k-head.has-switch>.k-margin::before,.k-head.has-switch>.k-margin::after{content:none}
}
.k-pricing-switch[hidden]{display:none}
.k-pricing-switch button{position:relative;z-index:1;min-height:44px;margin:0;padding:8px 18px;border:0;background:none;color:var(--k-ink);font-weight:600;cursor:pointer}
.k-pricing-switch [aria-pressed=true]{color:var(--k-paper)}
.k-pricing-switch button:focus-visible{outline:var(--k-focus-w) solid var(--k-focus);outline-offset:-6px}
.k-pricing-switch [aria-pressed=true]:focus-visible{outline-color:var(--k-paper)}
.k-pricing-car{position:absolute;inset:0 auto 0 0;width:100px;background:var(--k-ink);transform-origin:0 0;transform:translateX(var(--k-sw-x,0px)) scaleX(var(--k-sw-w,0))}
@media (forced-colors:active){.k-pricing-switch [aria-pressed=true]{text-decoration:underline 2px;text-underline-offset:5px}}
.k-plans{display:grid;grid-template-columns:minmax(0,1fr);border:var(--k-fr);border-radius:var(--k-r-1);background:var(--k-surface)}
/* phones: a three-column strip of prices and minutes before the cards, each linking to its card */
.k-plan-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 16px;border:var(--k-fr);border-radius:var(--k-r-1);background:var(--k-surface)}
.k-plan-strip>a{display:grid;align-content:start;gap:2px;min-width:0;min-height:44px;padding:10px 10px 12px;color:var(--k-ink);text-decoration:none}
.k-plan-strip>a+a{border-left:var(--k-hl)}
.k-plan-strip>a:nth-child(2){background:var(--k-accent-tint)}
.k-plan-strip-n{font:600 .9375rem/1.2 var(--k-f-body)}
.k-plan-strip-p{font:600 1.0625rem/1.2 var(--k-f-mono);font-stretch:87.5%;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.k-plan-strip-m{font:500 var(--k-fs-label)/1.3 var(--k-f-mono);font-stretch:87.5%;letter-spacing:.06em;text-transform:uppercase;color:var(--k-muted)}
.k-plan-strip>a:focus-visible{outline:var(--k-focus-w) solid var(--k-focus);outline-offset:-4px}
@media (min-width:768px){.k-plan-strip{display:none}}
.k-plan{scroll-margin-top:calc(var(--k-sticky-top) + 8px)}
.k-plan{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;padding:clamp(22px,2.4vw,32px) clamp(18px,2.2vw,32px) clamp(24px,2.6vw,34px);--k-c:calc(var(--i,0)*var(--k-clock))}
.k-plan+.k-plan{border-top:var(--k-hl)}
.k-plan.is-pick{background:var(--k-accent-tint)}
.k-plan-rule{position:absolute;inset:-1.5px 0 auto;height:3px;background:var(--k-accent)}
.k-plan-idx{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;margin:0 0 clamp(14px,1.6vw,22px);color:var(--k-muted)}
.k-plan>.k-d3{margin:0 0 6px}
.k-plan-for{margin:0 0 clamp(20px,2.4vw,30px)}
.k-plan-price{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.1em;margin:0;font-size:var(--k-plan-fs);line-height:1;color:var(--k-ink)}
.k-plan-price .k-drum{grid-row:1/3;font-size:1em;letter-spacing:-.045em}
.k-plan-price .k-drum-s:not(:first-child){margin-inline:-.17em -.12em}
.k-plan-price .k-plan-cents{grid-column:2;align-self:start;margin-top:.13em;font-size:.4em;letter-spacing:-.02em;--k-td:150ms;--k-ts:3;--k-tl:360ms}
.k-plan-per{grid-column:2;grid-row:2;align-self:end;margin-bottom:9px;color:var(--k-muted)}
.k-plan-off{display:flex;align-items:flex-end;gap:8px;margin:8px 0 0;color:var(--k-accent);font-weight:600;--k-td:400ms;--k-ts:24;--k-tl:520ms}
.k-plan-off::before{content:"";align-self:stretch;width:10px;margin:-6px 0 .55em 1px;border:solid currentColor;border-width:0 0 1px 1px}
.k-plan-ledger{display:grid;margin:clamp(16px,2vw,22px) 0 0;border-bottom:var(--k-hl)}
.k-plan-ledger>div{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;padding:9px 0}
.k-plan-ledger>div::before{content:"";position:absolute;inset:0 0 auto;border-top:var(--k-hl);transform-origin:0 50%}
:is(.k-plan-ledger,.k-offer-terms,.k-foot-cell) dt,.k-plate th{color:var(--k-muted)}
.k-plan-ledger dd{margin:0;color:var(--k-ink);text-align:right}
.k-plan-setup{position:relative;display:inline-block}
.k-plan-setup::after{content:"";position:absolute;inset:52% -3px auto;height:1.5px;background:var(--k-ink);transform:scaleX(0);transform-origin:100% 50%}
.k-plan-setup-found{display:inline-block;margin-left:.35em;color:var(--k-accent);font-weight:650;--k-td:120ms;--k-ts:2;--k-tl:420ms}
:is(.k-plan-setup-found,.k-plan-cents,.k-plan-off){clip-path:inset(0 100% 0 0)}
[data-mode=founding] :is(.k-plan-setup-found,.k-plan-cents,.k-plan-off){clip-path:inset(0)}
[data-mode=founding] .k-plan-setup{color:var(--k-muted)}
[data-mode=founding] .k-plan-setup::after{transform:none;transform-origin:0 50%}
[data-mode=founding] .k-plan-ledger>div:last-child dd{color:var(--k-accent)}
[data-mode=founding] .k-plan-ledger>div:last-child dt::before{content:"\25A0  ";color:var(--k-accent)}
.k-plan-axis{display:grid;margin:clamp(20px,2.4vw,28px) 0 0;color:var(--k-muted)}
.k-plan-axis .k-dim{margin:0 0 4px}
.k-plan-scale{position:relative;height:14px;margin-top:22px;color:var(--k-ink);border-bottom:1px solid var(--k-line-strong);background:repeating-linear-gradient(90deg,var(--k-line-strong) 0 1px,transparent 1px 25%) 0 100%/calc(100% + 1px) 13px no-repeat,repeating-linear-gradient(90deg,var(--k-line) 0 1px,transparent 1px 5%) 0 100%/calc(100% + 1px) 5px no-repeat}
.k-plan-bar{position:absolute;left:0;bottom:0;width:calc(var(--k-min)*.1%);height:6px;background:currentColor}
.k-plan-val{position:absolute;bottom:calc(100% + 4px);left:calc(var(--k-min)*.1%);transform:translateX(-100%);font-weight:650;white-space:nowrap}
.k-plan.is-pick .k-plan-scale{color:var(--k-accent)}
.k-plan-ticks{position:relative;height:16px;margin-top:6px}
.k-plan-ticks>span{position:absolute;top:0;left:var(--k-px);transform:translateX(var(--k-pt,-50%))}
.k-plan-more{margin:clamp(24px,2.6vw,32px) 0 0;min-width:0}
.k-plan-more>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;border-block:var(--k-hl);color:var(--k-ink);list-style:none;cursor:pointer}
.k-plan-more>summary::-webkit-details-marker{display:none}
.k-plan-more[open]>summary{margin-bottom:16px}
.k-plan-more[open] .k-plan-more-i{transform:rotate(45deg)}
.k-plan-more .k-checks{align-content:start}
@media (min-width:768px){.k-plan-more>summary{display:none}}
.k-plan>.k-btn{width:100%;margin-top:clamp(24px,2.6vw,32px)}
@container k-pricing (min-width:600px) and (max-width:919.98px){
.k-plan{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:clamp(24px,4cqi,48px)}
.k-plan>*{grid-column:1}
.k-plan>:is(.k-plan-ledger,.k-plan-axis,.k-plan-more){grid-column:2}
.k-plan>.k-plan-ledger{grid-row:1/span 3;margin-top:0;align-self:start}
.k-plan>.k-plan-axis{grid-row:4/span 2}
.k-plan>.k-plan-more{grid-row:6/span 4}
.k-plan>.k-btn{grid-row:6;align-self:start}
}
@container k-pricing (min-width:920px){
.k-plans{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(9,auto)}
.k-plan{grid-row:span 9;grid-template-rows:subgrid}
.k-plan+.k-plan{border-top:0;border-left:var(--k-hl)}
.k-plan:not(:first-child) :is(.k-plan-axis>.k-dim,.k-plan-ticks){visibility:hidden}
}
.k-fine{display:flex;flex-wrap:wrap;gap:4px 14px;max-width:none;margin:16px 0 0}
.k-fine-h{color:var(--k-ink)}
.k-addons{margin-top:clamp(56px,7vw,96px)}
.k-addons.is-1on1{margin-top:clamp(18px,2.4vw,28px)}
.k-addons-t{width:100%;border-collapse:collapse;table-layout:fixed}
.k-addons-t caption{padding:0 0 14px;text-align:left}
.k-addons-t thead th{padding:9px 16px 9px 0;border-top:var(--k-fr);border-bottom:var(--k-hl);color:var(--k-muted);font-weight:inherit;text-align:left}
.k-addon>*{padding:18px 18px 20px 0;border-bottom:var(--k-hl);color:var(--k-ink);text-align:left;vertical-align:top}
.k-addon-num{font-size:clamp(1.375rem,1.15rem + .8vw,1.75rem)}
.k-addon-unit{color:var(--k-muted)}
.k-addon-desc{color:var(--k-ink-2)}
/* sentences stay in sans; mono uppercase only for tags of four words or fewer */
.k-addon-note.is-text{font-size:.875rem;line-height:1.45;color:var(--k-muted)}
@container k-pricing (max-width:859.98px){
.k-addons-t,.k-addons-t :is(tbody,tr,th,td,caption){display:block}
.k-addons-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.k-addons-t .k-addon{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px 16px;padding:18px 0 22px;border-top:var(--k-fr)}
.k-addon>*{padding:0;border:0}
.k-addon>:is(.k-addon-desc,.k-addon-note){grid-column:1/-1}
.k-addon-price{text-align:right;white-space:nowrap}
}
.k-pricing-bridge{display:flex;align-items:center;gap:16px;margin:clamp(48px,6vw,80px) 0 0;font-size:var(--k-fs-quote);line-height:1.2;color:var(--k-ink)}
.k-pricing-bridge::after{content:"";flex:1 1 32px;border-top:var(--k-w-hair) dashed var(--k-line-strong)}
.k-howwork{container:k-howwork/inline-size}
.k-howwork-in{display:grid;gap:clamp(40px,5vw,56px)}
.k-plate-box{max-width:600px;padding:4px;border:var(--k-w-hair) solid var(--k-ink);border-radius:var(--k-r-1);background:var(--k-surface)}
.k-plate-in{position:relative;padding:clamp(20px,2.2vw,28px) clamp(18px,2.4vw,32px) clamp(10px,1.2vw,16px);border:var(--k-w-hair) solid var(--k-ink)}
.k-plate-rv{position:absolute;top:7px;left:7px;fill:var(--k-paper);stroke:var(--k-ink)}
.k-plate-rv:is(.is-tr,.is-br){left:auto;right:7px}.k-plate-rv:is(.is-bl,.is-br){top:auto;bottom:7px}
.k-plate{width:100%;border-collapse:collapse}
.k-plate caption{margin-bottom:4px;padding:0 0 18px;text-align:left;text-wrap:balance;color:var(--k-ink);background:repeating-linear-gradient(-45deg,var(--k-line-strong) 0 1px,transparent 1px 5px) 0 100%/100% 5px no-repeat}
.k-plate caption .k-ico{width:20px;height:20px;margin:-3px 10px 0 0;vertical-align:top}
.k-plate caption .k-face{display:inline-block;max-width:calc(100% - 34px);vertical-align:top}
.k-plate :is(th,td){padding:13px 0;text-align:left;vertical-align:top}
.k-plate th{width:1%;padding-right:clamp(14px,2vw,24px);white-space:nowrap;font-weight:500}
.k-plate td{color:var(--k-ink);font-size:var(--k-fs-body);font-stretch:92%;line-height:1.45}
.k-plate tr+tr>*{border-top:var(--k-hl)}
.k-howwork-list{display:grid;gap:clamp(28px,3.4vw,44px) var(--k-col-gap);align-content:start}
.k-howwork-item{display:grid;gap:12px;align-content:start;padding-top:16px;border-top:2px solid var(--k-ink)}
@container k-howwork (min-width:560px){.k-howwork-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container k-howwork (min-width:900px){
.k-howwork-in,.k-faq-wrap{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--k-col-gap);align-items:start}
.k-plate-box{grid-column:1/6;max-width:none}
.k-howwork-list{grid-column:6/13;padding-left:clamp(0px,2.4cqi,40px)}
.k-faq-h{grid-column:1/5;position:sticky;top:var(--k-sticky-top)}
.k-faq{grid-column:5/13}
}
.k-faq-wrap{display:grid;gap:clamp(20px,2.4vw,28px);margin-top:clamp(72px,9vw,128px)}
.k-faq-h{padding-top:12px}
.k-faq{display:grid;min-width:0}
.k-faq summary{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) 24px;column-gap:12px;align-items:start;padding:20px 0 21px;color:var(--k-ink);list-style:none;cursor:pointer}
.k-faq summary::-webkit-details-marker{display:none}
.k-faq summary .k-tag{padding-top:.42em;color:var(--k-muted)}
.k-faq-item .k-chip{white-space:normal;text-align:left}
.k-faq-plus{margin-top:2px}
.k-faq-item[open]>summary .k-faq-plus{transform:rotate(45deg)}
@media (hover:hover){.k-faq summary:hover :is(.k-faq-plus,.k-tag b){color:var(--k-accent)}}
.k-faq-rule{position:absolute;inset:0 0 auto;height:1px;background:var(--k-line)}
.k-faq-rule.is-first{height:1.5px;background:var(--k-ink)}
.k-faq-end{display:block;height:2px;background:var(--k-ink)}
.k-faq-a{max-width:calc(62ch + 68px);padding:0 0 26px 68px}
@supports (interpolate-size:allow-keywords){
.k-faq{interpolate-size:allow-keywords}
.k-faq-item::details-content{block-size:0;overflow:clip}
.k-faq-item[open]::details-content{block-size:auto}
}
.k-offer{container:k-offer/inline-size;padding:clamp(24px,4vw,56px);border-radius:var(--k-r-1)}
.k-offer-in{display:grid;gap:clamp(40px,5vw,56px)}
@container k-offer (min-width:860px){.k-offer-in{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;column-gap:clamp(40px,5cqi,80px)}}
@container k-offer (max-width:859.98px){.k-ten-fig{margin-top:0}}
.k-offer-copy{display:grid;gap:20px;align-content:start;min-width:0}
.k-offer-copy>.k-d2{margin:6px 0 4px}
.k-offer-terms{display:grid;margin:4px 0 0;border-bottom:var(--k-hl)}
.k-offer-terms>div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:4px 16px;padding:11px 0;border-top:var(--k-hl)}
.k-offer-terms dt{padding-top:.25em}
.k-offer-terms dd{margin:0;color:var(--k-ink)}
.k-offer-prices{margin:0}
.k-offer-p{white-space:nowrap}
.k-offer-note{margin:-6px 0 0;color:var(--k-muted)}
.k-offer-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.k-offer-cta .k-btn{flex:1 1 auto}
.k-offer-demo{padding-top:18px;border-top:var(--k-w-hair) dashed var(--k-line-strong)}
.k-ten-fig{align-self:start;min-width:0;margin-top:calc(var(--k-fs-label) * 1.3 + 18px)}
.k-offer-ten{container:k-ten/inline-size;display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:12px;max-width:640px;--k-tw:calc(100cqi - 36px)}
.k-ten-dim.k-dim{grid-column:1;align-self:start;height:calc(var(--k-tw)*.677);margin-top:calc(var(--k-tw)*.0385)}
.k-ten-stage{position:relative;grid-column:2;min-width:0}
.k-ten-svg{overflow:visible;stroke-width:.35}
.k-ten-out{position:absolute;inset:0;height:100%;stroke-width:.6}
.k-ten-row .d{stroke:var(--k-muted)}
.k-ten-row:not(.is-taken) .d{stroke-dasharray:.00523 .00523}
.k-ten-row.is-taken .d{stroke:var(--k-ink)}
.k-ten-row.is-taken .k-ten-fill{fill:var(--k-ink)}
.k-ten-svg .k-ten-n{font-size:clamp(2.3px,8.15px - 1.17cqi,6px);font-weight:500;letter-spacing:.02em;text-anchor:end;fill:var(--k-muted)}
.k-ten-row.is-taken .k-ten-n{fill:var(--k-ink)}
.k-ten-pen-d{fill:var(--k-accent)}
.k-foot-in{container:k-foot/inline-size}
.k-foot-sign{margin:0;font-size:clamp(3.5rem,1rem + 12vw,13rem);line-height:.84}
.k-foot-dim{margin-top:18px}
.k-foot-grid{display:grid;gap:48px;margin-top:clamp(56px,7vw,104px)}
.k-foot-log>.k-mono-s{margin:0 0 8px;color:var(--k-muted)}
.k-foot-tb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:var(--k-fr);border-radius:var(--k-r-1);background:var(--k-surface);overflow:clip}
.k-foot-cell{position:relative;display:grid;gap:10px;align-content:start;min-width:0;padding:14px 18px 18px}
.k-foot-cell::before,.k-foot-cell::after{content:"";position:absolute;background:var(--k-line);pointer-events:none}
.k-foot-cell::before{inset:-1px 0 auto;height:1px;transform-origin:0 50%}
.k-foot-cell::after{inset:0 auto 0 -1px;width:1px;transform-origin:50% 0;--k-tl:120ms}
.k-foot-cell:is(.is-for,.is-contact){grid-column:1/-1}
.k-foot-cell dd{display:grid;gap:16px;justify-items:start;margin:0;color:var(--k-ink);text-wrap:balance}
.k-foot-base{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px;margin-top:clamp(48px,6vw,80px);padding-top:20px;border-top:var(--k-hl)}
.k-foot-base>p{margin:0}
.k-foot-end{display:inline-flex;align-items:center;gap:10px;min-height:24px;margin-left:auto;color:var(--k-ink)}
@container k-foot (min-width:560px){.k-foot-log .k-calllog-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);grid-auto-flow:column;column-gap:24px}.k-foot-log li:nth-child(7) a{border-top:0}}
@container k-foot (min-width:900px){.k-foot-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--k-col-gap);align-items:start}.k-foot-log{grid-column:1/7}.k-foot-tb{grid-column:8/13}}
@media (prefers-reduced-motion:no-preference){
html:not(.k-reduced){
.k-pricing-switch button{transition:color var(--k-t-ui) var(--k-ease-ui)}
.k-pricing-switch.is-ready .k-pricing-car{transition:transform var(--k-t-move) var(--k-ease-servo)}
.k-plan-ledger>div::before{transition:transform var(--k-t-enter) var(--k-ease-settle) calc(var(--k-c) + 200ms)}
.k-plan-setup::after{transition:transform 120ms linear}
:is(.k-plan-setup-found,.k-plan-cents,.k-plan-off){transition:clip-path 90ms steps(2)}
[data-mode=founding] :is(.k-plan-setup-found,.k-plan-cents,.k-plan-off){transition:clip-path var(--k-td) steps(var(--k-ts)) calc(var(--k-c) + var(--k-tl))}
[data-mode=founding] .k-plan-setup::after{transition:transform 240ms linear calc(var(--k-c) + 160ms)}
.k-faq-plus{transition:transform var(--k-t-ui) var(--k-ease-servo)}
.k-faq-item::details-content{transition:block-size var(--k-t-move) var(--k-ease-servo),content-visibility var(--k-t-move) allow-discrete}
.k-foot-cell::before,.k-foot-cell::after{transition:transform var(--k-t-enter) var(--k-ease-settle) calc(var(--k-n,0)*var(--k-clock) + var(--k-tl,0ms))}
&.k-js:not(.k-late) :is(.k-plan:not(.is-in) .k-plan-ledger>div,.k-foot-tb:not(.is-in) .k-foot-cell)::before{transform:scaleX(0)}
&.k-js:not(.k-late) .k-foot-tb:not(.is-in) .k-foot-cell::after{transform:scaleY(0)}
&.k-js:not(.k-live) :is(.k-plan:not(.is-in) .k-plan-ledger>div,.k-foot-tb:not(.is-in) .k-foot-cell)::before,&.k-js:not(.k-live) .k-foot-tb:not(.is-in) .k-foot-cell::after{animation:k-failsafe 1ms 2.5s both}
}
}
