/* KAUFN.COM — ink black, signal yellow, condensed uppercase display, mono labels, hairlines,
   square corners. No outside fonts or requests (Anton, SIL Open Font License, is self-hosted). */
@font-face{font-family:'Anton';src:url(anton.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  --bg:#0b0b0c;--bg2:#121214;--panel:#18181b;--ink:#f3f1ea;--muted:#9a9790;--hair:rgba(255,255,255,.12);--hair2:rgba(255,255,255,.24);
  --cyan:#ffd400;--cyan2:#ffe866;--blue:#b38f00;--on:#111111;--ok:#5fe0a8;--warn:#ff8a3d;--bad:#ff7a7a;
  --display:'Anton',Impact,'Haettenschweiler','Arial Narrow Bold','Arial Narrow',Arial,sans-serif;--body:Arial,Helvetica,sans-serif;--mono:'Courier New',ui-monospace,monospace;
  --max:1240px;--pad:clamp(16px,4vw,48px);
  --tA:#ffd400;--tB:#ffe866;--tC:#6b6860;--tP:#4a4844;--tM:#ff8a3d;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--cyan)}a:hover{color:var(--cyan2)}
::selection{background:var(--cyan);color:var(--on)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--cyan);color:var(--on);padding:8px 12px;z-index:99}.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.wrap.wide{max-width:1560px}.wrap.narrow{max-width:820px}
img,svg{max-width:100%}

/* header / footer */
.top{position:sticky;top:0;z-index:20;background:rgba(11,11,12,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}
.top .wrap{display:flex;align-items:center;gap:24px;min-height:64px}
.brand{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink)}
.wm{font-family:var(--display);font-size:26px;letter-spacing:.14em;line-height:1}
.bsub{font-family:var(--mono);font-size:12px;letter-spacing:.3em;color:var(--cyan)}
.brand .tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--on);background:var(--cyan);padding:2px 6px}
.top nav{display:flex;gap:22px;margin-inline-start:auto;flex-wrap:wrap}
.top nav a{color:var(--muted);text-decoration:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px 0}
.top nav a:hover,.top nav a[aria-current]{color:var(--cyan)}
@media (max-width:760px){.top .wrap{flex-wrap:wrap;gap:8px 16px;padding-block:8px}.top nav{order:3;width:100%;gap:16px;overflow-x:auto;flex-wrap:nowrap;margin:0}.top .btn-sm,.top .ghost{margin-inline-start:auto}}
.foot{border-top:1px solid var(--hair);margin-top:64px;padding:40px 0;color:var(--muted);font-size:13px}
.foot .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--cyan)}
.foot .wm{font-size:20px}

/* type */
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px}
.kicker a{color:inherit}
h1,h2,.h1s,.h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.92;margin:.2em 0 .35em;text-wrap:balance}
h1{font-size:clamp(56px,11vw,150px)}
.h1s{font-size:clamp(44px,7vw,96px)}
h2{font-size:clamp(40px,6vw,82px)}
.h2{font-size:clamp(30px,4vw,52px);line-height:1}
.h3,h3{font-family:var(--body);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;margin:28px 0 10px}
h3.mini{font-family:var(--mono);font-weight:400;font-size:12px;color:var(--muted);margin:22px 0 8px}
.hl{color:var(--cyan)}
.lede{font-size:clamp(18px,2vw,22px);line-height:1.45;color:#e2dfd7;max-width:760px}.lede.small{font-size:17px}
.num{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--hair);padding-top:14px;margin:0 0 10px}
.src,.small{font-size:13px;color:var(--muted)}
.mono{font-family:var(--mono)}
.quote{font-size:clamp(20px,2.4vw,28px);line-height:1.35;border-inline-start:3px solid var(--cyan);padding-inline-start:20px;margin:40px 0 0;max-width:900px}
.big{font-size:clamp(20px,2.4vw,30px);line-height:1.3;max-width:980px;margin-top:40px}

/* buttons */
.btn,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--cyan);cursor:pointer}
.btn{background:var(--cyan);color:var(--on);font-weight:700}.btn:hover{background:var(--cyan2);color:var(--on)}
.ghost{background:transparent;color:var(--cyan)}.ghost:hover{background:rgba(255,212,0,.1)}
.btn-sm{min-height:36px;padding:0 14px;font-size:11px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;align-items:center}

/* sections */
.sec{padding:clamp(56px,8vw,110px) 0 0}.sec.first{padding-top:clamp(36px,5vw,64px)}
.sec.alt{background:linear-gradient(180deg,var(--bg2),var(--bg));padding-bottom:clamp(56px,8vw,96px);margin-top:clamp(56px,8vw,96px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.sec.alt + .sec{padding-top:clamp(56px,8vw,96px)}
.hero{padding:clamp(40px,7vw,96px) 0 20px;background:radial-gradient(1200px 500px at 85% 0%,rgba(255,212,0,.16),transparent 60%)}
.hero h1 .hl{color:transparent;-webkit-text-stroke:2px var(--cyan)}
.ticker{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--hair);margin:48px 0 10px}
.ticker div{padding:22px;border-inline-end:1px solid var(--hair)}.ticker div:last-child{border:0}
.ticker dt{font-family:var(--display);font-size:clamp(40px,5vw,64px);color:var(--cyan);line-height:1}
.ticker dd{margin:8px 0 0;color:var(--muted);font-size:14px}
@media (max-width:760px){.ticker{grid-template-columns:1fr}.ticker div{border-inline-end:0;border-bottom:1px solid var(--hair)}}
.cards3,.cards4{display:grid;gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:28px}
.cards3{grid-template-columns:repeat(3,1fr)}.cards4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.cards4{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.cards3,.cards4{grid-template-columns:1fr}}
.card{background:var(--bg);padding:24px}.sec.alt .card{background:var(--bg2)}
.card h3{margin-top:0;color:var(--cyan)}.card p{margin:0;color:#d6d3cb}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.map-split{grid-template-columns:1.1fr .9fr}.map-split > figure{order:0}
@media (max-width:900px){.map-split{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0;border-top:1px solid var(--hair)}
.ticks li{padding:16px 0 16px 28px;border-bottom:1px solid var(--hair);position:relative;color:#d6d3cb}
.ticks li::before{content:'+';position:absolute;left:0;top:14px;color:var(--cyan);font-family:var(--mono);font-size:18px}
.ticks b{display:block;color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:14px;margin-bottom:2px}
.steps{list-style:none;counter-reset:s;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.steps li{counter-increment:s;background:var(--bg2);padding:28px}
.steps li::before{content:'0' counter(s);font-family:var(--display);font-size:56px;color:var(--cyan);line-height:1;display:block;margin-bottom:10px}
.steps b{text-transform:uppercase;letter-spacing:.1em}.steps p{margin:6px 0 0;color:#d6d3cb}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:28px}
@media (max-width:960px){.svcgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.svcgrid{grid-template-columns:1fr}}
.svc{background:var(--bg);padding:26px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;min-height:220px;transition:background .15s}
.svc:hover{background:var(--panel);color:var(--ink)}
.svc .n{font-family:var(--mono);color:var(--cyan);font-size:12px;letter-spacing:.2em}
.svc h3{margin:4px 0 0;font-size:16px}.svc p{margin:0;color:#c9c6be;font-size:15px;flex:1}
.svc .more,.svc .cnt{font-family:var(--mono);font-size:12px;color:var(--cyan);letter-spacing:.06em}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:24px}
.vs > div{padding:28px;background:var(--bg)}.vs-b{background:linear-gradient(135deg,rgba(255,212,0,.16),var(--bg)) !important}
.vs h3{margin-top:0}.vs ul{margin:0;padding-inline-start:18px;color:#d6d3cb}.vs li{margin:6px 0}
.vs-a h3{color:var(--muted)}.vs-b h3{color:var(--cyan)}
@media (max-width:760px){.vs{grid-template-columns:1fr}}
.contact{font-family:var(--mono);font-size:15px;line-height:2}
.panel{border:1px solid var(--hair);background:var(--bg2);padding:22px;margin-bottom:18px}
.panel h2:first-child,.panel h3:first-child,.panel .h3:first-child{margin-top:0}
.stat b{font-family:var(--display);font-size:56px;color:var(--cyan);display:block;line-height:1}
.partner{border:1px solid var(--hair2);padding:12px 16px;margin:20px 0;font-size:14px;color:#d6d3cb}

/* bars */
.bars{list-style:none;padding:0;margin:0}
.bars li{margin:0}
.bars li > a,.bars li > span{display:grid;grid-template-columns:minmax(120px,1.1fr) 2fr 54px;align-items:center;gap:10px;padding:5px 0;color:var(--ink);text-decoration:none;font-size:14px}
.bars li > a:hover b{color:var(--cyan)}
.bars b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bars i{display:block;height:8px;background:linear-gradient(90deg,var(--blue),var(--cyan));width:var(--w)}
.bars em{font-style:normal;font-family:var(--mono);font-size:13px;color:var(--muted);text-align:end}

/* map */
.mapbox{margin:0;border:1px solid var(--hair);background:radial-gradient(600px 500px at 40% 40%,rgba(255,212,0,.08),transparent 70%),var(--bg);padding:12px}
.demap{display:block;width:100%;height:auto}
.int .demap{max-height:80vh}
.demap .land{fill:#17171a;stroke:var(--hair2);stroke-width:1.2}
.demap circle{fill:var(--tC);fill-opacity:.85;stroke:var(--bg);stroke-width:.6}
.demap circle.tA{fill:var(--tA)}.demap circle.tB{fill:var(--tB)}.demap circle.tC{fill:var(--tC)}.demap circle.tM{fill:var(--tM)}.demap circle.tP{fill:#4a4844;fill-opacity:.55}
.demap a circle:hover{stroke:#fff;stroke-width:1.5}
.demap .mark path{fill:var(--warn)}.demap .mark text{fill:var(--warn);font-family:var(--mono);font-size:14px}
figcaption{font-size:12px;color:var(--muted);padding:10px 4px 2px;font-family:var(--mono);line-height:2}
.lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 6px 0 10px;vertical-align:-1px;background:var(--tC)}
.lg.tA{background:var(--tA)}.lg.tB{background:var(--tB)}.lg.tC{background:var(--tC)}.lg.tM{background:var(--tM)}.lg.tP{background:#4a4844}
.defs{list-style:none;padding:0;margin:0;font-size:14px;color:#d6d3cb}.defs li{margin:6px 0}.defs .lg{margin-left:0}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.chiprow a{font-family:var(--mono);font-size:12px;border:1px solid var(--hair2);padding:6px 10px;text-decoration:none;color:var(--muted)}
.chiprow a[aria-current]{border-color:var(--cyan);color:var(--on);background:var(--cyan)}

/* forms */
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);letter-spacing:.04em}
.form input,.form select,.form textarea,.filters input,.filters select{font:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--hair2);border-radius:0;padding:11px 12px;min-height:44px;width:100%}
.form textarea{resize:vertical;min-height:90px}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--cyan);outline:none}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid2 .span2{grid-column:span 2}
@media (max-width:600px){.grid2{grid-template-columns:1fr}.grid2 .span2{grid-column:auto}}
fieldset{border:0;padding:0;margin:18px 0 0}legend{font-size:13px;color:var(--muted);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:4px}
td.chips{display:table-cell}
.chk{flex-direction:row !important;align-items:flex-start;gap:8px !important;cursor:pointer}
.chips .chk input{position:absolute;opacity:0;width:1px;height:1px}
.chips .chk span{border:1px solid var(--hair2);padding:7px 11px;font-size:13px;color:var(--ink)}
.chips .chk input:checked + span{background:var(--cyan);color:var(--on);border-color:var(--cyan)}
.chips .chk input:focus-visible + span{outline:2px solid var(--cyan);outline-offset:2px}
.consent{margin-top:18px;font-size:13px;color:var(--muted)}.consent input{width:18px;min-height:18px;margin-top:2px;flex:none}
.hp{position:absolute !important;left:-9999px}
.err{border:1px solid var(--bad);color:#ffd0d0;padding:10px 14px;margin:0 0 14px}
.ok{border:1px solid var(--ok);color:#c9ffe6;padding:10px 14px}
.form .form label + label{margin-top:12px}

/* internal */
body.int{font-size:14px}
.kpis{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);margin:16px 0}
.kpis a{background:var(--bg);padding:16px;text-decoration:none;color:var(--ink)}.kpis a:hover{background:var(--panel)}
.kpis b{display:block;font-family:var(--display);font-size:40px;color:var(--cyan);line-height:1}.kpis span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
@media (max-width:900px){.kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.kpis{grid-template-columns:repeat(2,1fr)}}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cols2.detail{grid-template-columns:1.1fr .9fr;margin-top:18px}
@media (max-width:980px){.cols2,.cols2.detail{grid-template-columns:1fr}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;align-items:center}
.filters input[type=search]{flex:2 1 220px;width:auto}.filters select{flex:1 1 150px;width:auto;min-height:40px;padding:8px}
.tools{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.tools a[aria-current]{color:var(--ink);font-weight:700;text-decoration:none}.tools .sp{flex:1}
.tblwrap{overflow-x:auto;border:1px solid var(--hair)}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:start;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px;border-bottom:1px solid var(--hair2);background:var(--bg2);position:sticky;top:0}
.tbl td{padding:10px;border-bottom:1px solid var(--hair);vertical-align:top}
.tbl tr:hover td{background:rgba(255,212,0,.04)}
.tbl a{text-decoration:none;font-weight:700}
.tbl .sub,.sub{font-size:12px;color:var(--muted);margin-top:2px;font-weight:400}
.tbl td.sc{font-family:var(--display);font-size:22px;color:var(--cyan);width:56px}
.tbl td.msg{max-width:360px;white-space:pre-wrap}
.tbl.leads td:nth-child(5){max-width:280px}
.chip{display:inline-block;font-size:10.5px;border:1px solid var(--hair2);padding:1px 6px;margin:1px 3px 1px 0;color:var(--cyan2);text-decoration:none;white-space:nowrap;font-weight:400 !important}
a.chip:hover{border-color:var(--cyan)}
.sig{display:inline-block;font-family:var(--mono);font-size:11px;padding:2px 7px;white-space:nowrap}
.sig.tA{background:var(--tA);color:var(--on)}.sig.tB{background:var(--tB);color:var(--on)}.sig.tC{background:var(--tC);color:#fff}.sig.tM{background:var(--tM);color:var(--on)}.sig.tP{background:transparent;color:var(--muted);border:1px dashed var(--hair2)}
.stage{display:inline-block;font-family:var(--mono);font-size:11px;padding:2px 7px;border:1px solid var(--hair2);white-space:nowrap}
.st-kontaktiert,.st-gespraech{border-color:var(--cyan);color:var(--cyan)}.st-audit,.st-angebot{border-color:var(--warn);color:var(--warn)}.st-gewonnen{background:var(--ok);color:var(--on);border-color:var(--ok)}.st-verloren{color:var(--muted)}
.demap circle.st-neu{fill:#6b6860}.demap circle.st-recherche{fill:#8f8b82}.demap circle.st-bereit{fill:#ffe866}.demap circle.st-kontaktiert{fill:#ffd400}.demap circle.st-gespraech{fill:#b38f00}.demap circle.st-audit{fill:#ff8a3d}.demap circle.st-angebot{fill:#ffa24d}.demap circle.st-gewonnen{fill:#5fe0a8}.demap circle.st-verloren{fill:#3a3936}
.lg.st-neu{background:#6b6860}.lg.st-recherche{background:#8f8b82}.lg.st-bereit{background:#ffe866}.lg.st-kontaktiert{background:#ffd400}.lg.st-gespraech{background:#b38f00}.lg.st-audit{background:#ff8a3d}.lg.st-angebot{background:#ffa24d}.lg.st-gewonnen{background:#5fe0a8}.lg.st-verloren{background:#3a3936}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0;font-family:var(--mono)}.pager a,.pager b{padding:6px 10px;border:1px solid var(--hair)}.pager b{background:var(--cyan);color:var(--on)}
.log{list-style:none;padding:0;margin:0;font-size:13px}.log li{padding:8px 0;border-bottom:1px solid var(--hair)}.log time{font-family:var(--mono);color:var(--muted);font-size:12px}.log p{margin:4px 0 0;white-space:pre-wrap}
.lhead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.scorebox{border:1px solid var(--cyan);padding:8px 16px;text-align:center}.scorebox b{display:block;font-family:var(--display);font-size:44px;color:var(--cyan);line-height:1}.scorebox span{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase}
.facts{width:100%;border-collapse:collapse;font-size:14px}.facts th{text-align:start;font-weight:400;color:var(--muted);padding:7px 12px 7px 0;width:38%;vertical-align:top}.facts td{padding:7px 0;border-bottom:1px solid var(--hair)}
.why{padding-inline-start:18px;color:#d6d3cb}.why li{margin:6px 0}
.parts{list-style:none;padding:0;margin:0;font-size:13px}.parts li{display:flex;justify-content:space-between;border-bottom:1px solid var(--hair);padding:5px 0}.parts b{font-family:var(--mono);color:var(--cyan)}
.job{border-inline-start:2px solid var(--cyan);padding:4px 0 4px 14px;margin:12px 0}.job a{font-weight:700}
blockquote{margin:8px 0 0;padding:8px 12px;background:var(--panel);color:#d6d3cb;font-size:14px;border-inline-start:2px solid var(--hair2)}
.drafts textarea{width:100%;font-family:var(--body);font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg);border:1px solid var(--hair2);padding:10px;resize:vertical}
.drafts .copy{margin:6px 0 4px}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;padding-bottom:12px;margin-top:10px}
.col{background:var(--bg2);border:1px solid var(--hair);padding:10px;min-height:300px}
.col.over{border-color:var(--cyan);background:var(--panel)}
.col h2{font-family:var(--mono);font-size:12px;letter-spacing:.12em;margin:0;display:flex;justify-content:space-between;line-height:1.4}.col h2 span{color:var(--cyan)}
.col .hint{font-size:11px;color:var(--muted);margin:4px 0 10px;min-height:30px}
.kcard{background:var(--bg);border:1px solid var(--hair);padding:9px;margin-bottom:8px;cursor:grab}.kcard.drag{opacity:.4}
.kcard > a{font-weight:700;text-decoration:none;font-size:13px;display:block}
.kcard .chips{margin-top:4px}.kcard select{width:100%;margin-top:6px;background:var(--bg2);color:var(--muted);border:1px solid var(--hair);font-size:12px;padding:4px}
.col .more{font-size:12px}
.mapbox.big .demap{max-height:84vh}
.legal h2{margin-top:28px}.legal p{color:#d6d3cb}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
@media print{.top,.foot,.filters,.tools{display:none}body{background:#fff;color:#000}}
/* ---- Domination Matrix ---- */
.mxpage main .wrap{max-width:none}
.mx-top{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:12px}
.mx-top .h2{margin:.1em 0 .2em}
.mx-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}
.mx-kpis div{border:1px solid var(--hair2);background:var(--bg2);padding:12px 14px;min-width:150px}
.mx-kpis div.hl{border-color:var(--cyan)}
.mx-kpis span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mx-kpis b{display:block;font-family:var(--display);font-size:34px;line-height:1.1;color:var(--ink)}
.mx-kpis div.hl b{color:var(--cyan)}
.mx-kpis em{display:block;font-style:normal;font-size:12px;color:var(--muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){.mx-kpis{grid-template-columns:repeat(2,1fr)}}
.mx-date{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
.mx-date label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mx-date input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--hair2);padding:6px 8px;color-scheme:dark}
.mx-views{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.mchip{font-family:var(--mono);font-size:12px;border:1px solid var(--hair2);background:transparent;color:var(--muted);padding:6px 10px;cursor:pointer}
.mchip[aria-pressed=true],.mchip[aria-selected=true]{background:var(--cyan);color:var(--on);border-color:var(--cyan)}
.mx-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:900px){.mx-layout{grid-template-columns:minmax(0,1fr)}.mx-side{order:2;position:static!important;max-height:none!important}}
.mx-side{position:sticky;top:76px;max-height:calc(100vh - 90px);overflow:auto}
.mx-side .panel{padding:12px;margin-bottom:10px}
.mx-side h3{margin:0 0 8px;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;color:var(--cyan)}
.mx-side label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}
.mx-side select,.mx-side input[type=search],.mx-side input[type=number]{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--hair2);padding:7px 8px}
.mx-chips{display:flex;flex-wrap:wrap;gap:4px}.mx-chips .mchip{font-size:11px;padding:4px 7px}
.mx-assume table{width:100%;border-collapse:collapse;font-size:13px}.mx-assume td{padding:2px 4px;vertical-align:middle}.mx-assume td input{width:90px!important}
.mx-assume .src{color:var(--muted);font-size:11px;padding-bottom:6px}.mx-assume summary{cursor:pointer}
.mx-stage{position:relative;height:calc(100vh - 230px);min-height:480px;border:1px solid var(--hair2);background:var(--bg);overflow:hidden}
.mx-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.mx-stage canvas:active{cursor:grabbing}
.mx-wrap.mx-full{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:var(--bg);padding:8px}
.mx-wrap.mx-full .mx-stage{flex:1;height:auto;min-height:0}
body.mx-full-open{overflow:hidden}
.mx-tools{position:absolute;right:10px;top:10px;display:flex;gap:6px;z-index:5}
.mx-tools .ghost{background:rgba(11,11,12,.85);min-width:36px}
.mx-tip{position:fixed;pointer-events:none;z-index:1050;max-width:340px;background:#18181b;border:1px solid var(--cyan);color:var(--ink);padding:8px 10px;font-size:12px;line-height:1.4}
.mx-tip b{color:var(--cyan)}
.mx-drawer{position:fixed;right:0;top:0;bottom:0;width:min(440px,100vw);background:var(--bg2);border-left:1px solid var(--hair2);z-index:1040;overflow:auto;padding:18px}
.mx-drawer[hidden]{display:none}
.mx-kv{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;font-size:14px}.mx-kv dt{color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;padding-top:2px}.mx-kv dd{margin:0}
.ptag{display:inline-block;font-family:var(--mono);font-size:10px;padding:1px 6px;background:var(--warn);color:var(--on);margin-left:6px;vertical-align:2px}
/* project cards (start page) */
.plist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:28px}
@media (max-width:960px){.plist{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.plist{grid-template-columns:1fr}}
.pcard{background:var(--bg);padding:20px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px;min-height:200px}
.pcard:hover{background:var(--panel);color:var(--ink)}
.pcard .n{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.12em}
.pcard h3{margin:2px 0 0;font-size:15px;color:var(--cyan)}.pcard p{margin:0;color:#d6d3cb;font-size:14px}
.pcard .more{margin-top:auto;font-family:var(--mono);font-size:12px;color:var(--cyan)}
.chk input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.chips .chk input[type=radio]:checked + span{background:var(--cyan);color:var(--on);border-color:var(--cyan)}
.split > *{min-width:0}
h1{font-size:clamp(34px,9.5vw,140px)}
h1,h2,.h1s,.h2{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.top nav a{white-space:nowrap}
.top .brand{gap:4px}
.mx-legend{border:1px solid var(--hair2);border-bottom:0;background:var(--bg2);padding:10px 12px;font-size:12.5px;line-height:1.5;color:#d6d3cb}
.mx-legend b{color:var(--ink)}.mx-legend .or{color:#ff8a3d}
.mx-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 18px}
@media (max-width:1100px){.mx-key{grid-template-columns:1fr}}
.mx-legend .sw{display:inline-flex;align-items:center;gap:5px;margin:0 10px 0 0;white-space:nowrap}
.mx-legend .sw i{display:inline-block;width:12px;height:12px;border:1px solid rgba(255,255,255,.25)}
.mx-scale{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--hair)}
.mx-scale b{margin-right:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.mx-scale .sw i{width:22px;height:14px}
/* --- v2.1: brand block, breadcrumbs, FAQ, language switch --- */
.brandx{border-block:1px solid var(--hair);background:var(--bg2);padding:72px 0;overflow:hidden}
.brandx .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center}
@media (max-width:900px){.brandx .wrap{grid-template-columns:1fr;gap:20px}}
.brandx .word{font-family:var(--display);text-transform:uppercase;font-size:clamp(84px,15vw,230px);line-height:.82;letter-spacing:.02em;margin:0;color:var(--ink);white-space:nowrap}
.brandx .cut{position:relative;display:inline-block;color:transparent;-webkit-text-stroke:2px var(--muted)}
.brandx .cut::after{content:'';position:absolute;left:-12%;right:-12%;top:46%;height:.13em;background:var(--cyan);transform:rotate(-14deg);box-shadow:0 0 0 3px var(--bg2)}
.brandx h2{margin-top:0}
.brandx .punch{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,3.2vw,44px);line-height:1;margin:22px 0 0;letter-spacing:.02em}
.crumbwrap{padding-top:22px}
.crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--cyan)}.crumbs i{font-style:normal;opacity:.5}.crumbs [aria-current]{color:var(--ink)}
.crumbwrap + .sec.first{padding-top:28px}
.faq{border-top:1px solid var(--hair);margin-top:18px}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:12px;font-family:var(--mono);font-size:24px;color:var(--cyan)}
.faq details[open] summary::after{content:'–'}
.faq summary h3{margin:0;font-family:var(--body);text-transform:none;font-size:18px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--ink)}
.faq details p{margin:0 0 20px;color:#d6d3cb;max-width:760px}
.langsw{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--muted);text-decoration:none;border:1px solid var(--hair2);padding:7px 9px;line-height:1}
.langsw:hover{color:var(--cyan);border-color:var(--cyan)}
.top .wrap>.langsw{margin-inline-start:0}
.tick3{margin:22px 0}
.sigtab td.r{text-align:right;white-space:nowrap;padding-inline-start:12px}.sigtab th{width:30%}.sigtab td{vertical-align:top;padding-inline-end:8px}
.sigtab .lg{margin-inline-end:6px}
.lede.small{font-size:17px;max-width:720px;color:#c9c6be}
.hero h1{font-size:clamp(76px,13vw,190px);line-height:.9;margin:.15em 0 .3em}
@media (max-width:760px){.top .wrap>.langsw{margin-inline-start:auto}.top .wrap>.btn-sm{margin-inline-start:0;padding:9px 10px;font-size:10px;letter-spacing:.1em}.hero h1 .hl{-webkit-text-stroke:1.5px var(--cyan)}.brandx{padding:44px 0}}
