/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrumentsans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrainsmono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrainsmono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/jetbrainsmono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/jetbrainsmono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Automatize 2026 design system — shared base styles, reused unchanged for the KognitCapture site.
   Site-specific components live in kc.css. */

:root, html[data-theme="light"] {
  --bg:#FFFFFF; --ink:#111111; --muted:#666666; --line:#E3E3E3; --tint:#F3F3F3;
  --btn:#111111; --btnFg:#FFFFFF; --accent:inherit; --display:inherit;
  --mono:'JetBrains Mono', ui-monospace, monospace;
  color-scheme: light;
}
html[data-theme="dark"] {
  --bg:#0E0E0E; --ink:#F2F2F2; --muted:#9A9A9A; --line:#2A2A2A; --tint:#1A1A1A;
  --btn:#F2F2F2; --btnFg:#0E0E0E; --accent:inherit; --display:inherit;
  color-scheme: dark;
}
html[data-theme="agentic"] {
  --bg:#060806; --ink:#DCE8DC; --muted:#7FA37F; --line:#1E2A1E; --tint:#0C120C;
  --btn:#39FF6B; --btnFg:#04140A; --accent:#39FF6B; --display:'JetBrains Mono', monospace;
  color-scheme: dark;
}

/* language: both languages ship in the page, one is hidden */

html, body { margin:0; padding:0; }
body {
  background:var(--bg); color:var(--ink);
  font-family:'Instrument Sans', system-ui, sans-serif; font-size:15px; line-height:1.5;
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
a { color:inherit; text-decoration:none; }
a:hover { color:inherit; text-decoration:underline; text-underline-offset:3px; }
input, textarea, button { font-family:inherit; color:inherit; }
input::placeholder, textarea::placeholder { color:var(--muted); opacity:1; }
@keyframes heroIn { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }

.wrap { max-width:1320px; margin:0 auto; padding:0 clamp(16px,4vw,40px); }
.mono { font-family:var(--mono); }
.muted { color:var(--muted); }
.pretty { text-wrap:pretty; }
.balance { text-wrap:balance; }

/* ---------- header ---------- */
.site-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:22px 0 18px; border-bottom:1px solid var(--line); }
.brand { font-weight:700; font-size:15px; display:flex; gap:10px; align-items:center; }
.site-nav { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(14px,2.5vw,28px); font-size:14px; }
.site-nav > a { color:var(--muted); }
.site-nav > a[aria-current="page"] { color:var(--ink); font-weight:600; }
.agentic-bar { display:none; font-family:var(--mono); font-size:12px; color:var(--accent); padding:10px 0; border-bottom:1px solid var(--line); gap:12px; flex-wrap:wrap; }
.agentic-bar span + span { color:var(--muted); }
html[data-theme="agentic"] .agentic-bar { display:flex; }

/* ---------- type ---------- */
.eyebrow { font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:22px; font-weight:500; color:var(--accent); }
.kicker { font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.h-hero { font-family:var(--display); font-size:clamp(52px,8vw,120px); line-height:.94; letter-spacing:-.055em; font-weight:700; margin:0 0 20px; text-wrap:balance; }
.h-product { font-size:clamp(40px,8vw,120px); overflow-wrap:anywhere; }
.h-page { font-family:var(--display); font-size:clamp(44px,6vw,80px); line-height:.96; letter-spacing:-.05em; font-weight:700; margin:0; }
.h-detail { font-family:var(--display); font-size:clamp(46px,7vw,104px); line-height:.94; letter-spacing:-.055em; font-weight:700; margin:0 0 24px; }
.h-sec { font-size:20px; font-weight:600; letter-spacing:-.01em; margin:0; }
.h-big { font-size:clamp(26px,3vw,40px); line-height:1.05; letter-spacing:-.035em; font-weight:700; margin:0; text-wrap:balance; }
.h-cta { font-size:clamp(28px,3.4vw,44px); line-height:1; letter-spacing:-.04em; font-weight:700; margin:0; text-wrap:balance; }
.lead { font-size:clamp(19px,1.8vw,24px); line-height:1.4; color:var(--muted); margin:0; text-wrap:pretty; }
.sub { font-size:17px; color:var(--muted); margin:0; max-width:480px; text-wrap:pretty; }
.body { font-size:17px; line-height:1.55; color:var(--muted); margin:0 0 20px; text-wrap:pretty; }

/* ---------- buttons ---------- */
.btns { display:flex; flex-wrap:wrap; gap:10px; }
.btn { display:inline-block; padding:12px 18px; background:var(--btn); color:var(--btnFg); font-weight:600; font-size:14px; border:0; cursor:pointer; }
.btn:hover { color:var(--btnFg); text-decoration:none; opacity:.85; }
.btn-ghost { display:inline-block; padding:12px 18px; border:1px solid var(--ink); font-weight:600; font-size:14px; }
.btn-ghost:hover { background:var(--tint); text-decoration:none; }
.chip { font-family:var(--mono); font-size:12px; padding:3px 8px; border:1px solid var(--line); color:var(--ink); }
.chip:hover { background:var(--ink); color:var(--bg); text-decoration:none; }
.link-caps { font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }

/* ---------- sections ---------- */
.sec { padding:36px 0 40px; border-bottom:1px solid var(--line); }
.sec-hero { padding:clamp(48px,6vw,80px) 0 clamp(48px,6vw,72px); border-bottom:1px solid var(--line); }
.sec-head { padding:clamp(40px,5vw,56px) 0 32px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:32px; align-items:end; }
.sec-detail { padding:clamp(40px,5vw,56px) 0 clamp(36px,4vw,48px); border-bottom:1px solid var(--line); }
.sec-split { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:clamp(24px,4vw,64px); padding:clamp(36px,4vw,56px) 0; border-bottom:1px solid var(--line); align-items:start; }
.sec-cta { padding:clamp(40px,5vw,64px) 0; border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; }
.sec-cta .side { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.sec-cta .side > span { color:var(--muted); font-size:15px; margin-right:8px; }
.row-head { display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.crumbs { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.crumbs a { color:var(--muted); }
.crumbs > div { font-weight:500; }

/* ---------- home ---------- */
.hero-title { min-height:1.88em; display:flex; align-items:flex-end; }
.hero-title .slide, .hero-sub .slide { display:block; animation:heroIn .55s cubic-bezier(.2,.7,.2,1) both; }
.hero-sub .slide { animation-delay:.12s; }
.hero-title .dim { color:var(--muted); }
.hero-sub { font-size:clamp(18px,1.6vw,21px); line-height:1.5; color:var(--muted); margin:0 0 34px; max-width:900px; text-wrap:pretty; min-height:3em; }
.hero-sub strong { color:var(--ink); font-weight:600; }
.dots-row { display:flex; align-items:center; gap:14px; margin:0 0 28px; }
.dots { display:flex; gap:6px; }
.dots button { position:relative; display:block; width:24px; height:24px; padding:0; border:0; background:none; cursor:pointer; transition:width .3s; }
.dots button::before { content:""; position:absolute; left:6px; right:6px; top:50%; height:3px; margin-top:-1.5px; background:var(--line); transition:background .3s; }
.dots button[aria-current="true"] { width:36px; }
.dots button[aria-current="true"]::before { background:var(--ink); }
.dots { gap:0; }

.modes-grid { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); border-bottom:1px solid var(--line); }
.modes-grid > div:first-child { padding:36px clamp(24px,3vw,40px) 40px 0; border-right:1px solid var(--line); }
.modes-grid > div:last-child { padding:36px 0 40px clamp(24px,3vw,32px); }
.mode { display:grid; grid-template-columns:minmax(150px,190px) minmax(0,1fr); gap:24px; align-items:start; }
.mode + .mode { margin-top:22px; }
.mode-bar-label { display:flex; justify-content:space-between; font-family:var(--mono); font-size:12.5px; margin-bottom:8px; }
.mode-bar { height:12px; background:var(--tint); }
.mode-bar > div { height:100%; background:var(--btn); }
.note { font-size:12px; color:var(--muted); margin-top:22px; max-width:640px; text-wrap:pretty; }
.stats { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; margin-top:6px; }
.stat { border-top:1px solid var(--line); padding:14px 0 18px; }
.stat b { display:block; font-family:var(--mono); font-size:26px; font-weight:500; letter-spacing:-.02em; line-height:1.1; }
.stat span { display:block; font-size:12px; color:var(--muted); margin-top:6px; }
.callout { background:var(--tint); padding:14px 16px; font-size:13.5px; line-height:1.45; margin-top:6px; text-wrap:pretty; }

.sol-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:0 32px; }
.sol-item { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; padding:16px 0; border-top:1px solid var(--line); }
.sol-item:hover, .rowlink:hover, .card:hover, .pager a:hover { background:var(--tint); text-decoration:none; }
.num { font-family:var(--mono); font-size:12px; color:var(--muted); padding-top:3px; }
.t { font-weight:600; font-size:15px; line-height:1.3; }
.d { font-size:13px; color:var(--muted); margin-top:4px; text-wrap:pretty; }

.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.card { display:flex; flex-direction:column; gap:10px; padding:22px 20px 20px; background:var(--bg); min-height:200px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.card .top { display:flex; justify-content:space-between; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.card .name { font-size:26px; font-weight:700; letter-spacing:-.035em; line-height:1; margin-top:6px; }
.card .desc { font-size:14px; color:var(--muted); flex:1; text-wrap:pretty; }
.card .dom { font-family:var(--mono); font-size:12px; }

.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:0 24px; padding:22px 0 24px; border-bottom:1px solid var(--line); align-items:center; }
.step { display:flex; align-items:center; gap:20px; padding:6px 0; }
.step > div:first-child { flex:1; min-width:0; }
.step .kicker { color:inherit; letter-spacing:.12em; margin-bottom:8px; font-weight:500; }
.step .arrow { font-size:20px; color:var(--muted); }
.step:last-child .arrow { visibility:hidden; }
a.step:hover { text-decoration:none; }
a.step:hover .t { text-decoration:underline; text-underline-offset:3px; }

.checks { list-style:none; margin:0; padding:0; }
.checks li { display:grid; grid-template-columns:32px 1fr; gap:12px; padding:14px 0; border-top:1px solid var(--line); font-size:16px; text-wrap:pretty; }
.checks li > span:first-child { font-family:var(--mono); font-size:12px; color:var(--muted); padding-top:4px; }

/* ---------- list pages ---------- */
.rowlink { display:grid; grid-template-columns:48px minmax(0,1fr) minmax(0,1.5fr) 28px; gap:clamp(16px,3vw,40px); padding:26px 0; border-bottom:1px solid var(--line); align-items:start; }
.rowlink .num { font-size:13px; padding-top:4px; }
.rowlink .title { font-size:clamp(18px,1.8vw,22px); font-weight:600; letter-spacing:-.02em; line-height:1.2; }
.rowlink .title.big { font-size:clamp(20px,2vw,26px); font-weight:700; letter-spacing:-.03em; line-height:1.1; }
.rowlink .kicker { margin-top:8px; }
.rowlink .long { font-size:15px; color:var(--muted); text-wrap:pretty; padding-top:2px; }
.rowlink .go { font-size:18px; padding-top:2px; }
.built { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; align-items:center; }

/* ---------- detail pages ---------- */
.why { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:0 32px; margin-top:20px; }
.why > div { border-top:1px solid var(--ink); padding:16px 0 8px; }
.why .num { margin-bottom:10px; padding:0; }
.why .t { font-size:17px; margin-bottom:6px; }
.why .d { font-size:14.5px; margin:0; }
.feat { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px 32px; padding:22px 0; border-top:1px solid var(--line); }
.feat > div:first-child { display:flex; gap:14px; align-items:baseline; }
.feat > div:first-child .num { padding:0; }
.feat > div:first-child .t { font-size:17px; letter-spacing:-.01em; }
.feat .d { font-size:14px; margin-top:4px; }
.specs { padding:22px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px 32px; }
.specs div { display:flex; gap:12px; font-family:var(--mono); font-size:12.5px; line-height:1.5; }
.kv > div { display:grid; grid-template-columns:minmax(100px,130px) 1fr; gap:16px; padding:12px 0; border-top:1px solid var(--line); font-size:14.5px; }
.kv > div > span:first-child { font-family:var(--mono); font-size:12px; color:var(--muted); padding-top:2px; }
.kv > div > span:last-child { font-weight:500; }
.pager { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.pager a { padding:20px 24px 20px 0; }
.pager a:first-child { border-right:1px solid var(--line); }
.pager a:last-child { padding:20px 0 20px 24px; text-align:right; }
.pager .kicker { letter-spacing:.12em; margin-bottom:6px; }
.pager .t { font-size:15px; }
.quote { font-size:clamp(20px,2vw,26px); line-height:1.35; letter-spacing:-.02em; font-weight:500; margin:0; max-width:900px; text-wrap:pretty; }
.figs { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); gap:0 20px; margin-top:12px; }

/* ---------- contact ---------- */
.contact-grid { padding:clamp(40px,5vw,56px) 0 clamp(40px,5vw,64px); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:clamp(32px,5vw,72px); }
.contact-grid .h-page { margin-bottom:20px; }
.contact-grid .sub { margin-bottom:40px; max-width:440px; }
.info { border-top:1px solid var(--line); }
.info > div { display:grid; grid-template-columns:110px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.info .kicker { padding-top:4px; }
.info .phones { display:grid; gap:2px; font-family:var(--mono); font-size:14px; }
.form { display:grid; gap:18px; border-top:1px solid var(--line); padding-top:24px; }
.form .pair { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; }
.form label { display:grid; gap:8px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.form input, .form textarea { background:var(--bg); border:0; border-bottom:1px solid var(--ink); padding:12px 0; font-size:15px; outline:none; font-family:'Instrument Sans', system-ui, sans-serif; letter-spacing:0; text-transform:none; color:var(--ink); }
.form input:focus, .form textarea:focus { border-bottom:2px solid var(--ink); }
.form textarea { resize:vertical; }
.form .foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:6px; }
.form .foot > div { font-size:12px; color:var(--muted); }
.form-error { color:#C62828; font-size:13px; }
.hp { position:absolute; left:-9999px; }
.form .captcha-q { font-family:var(--mono); font-size:13px; letter-spacing:.04em; color:var(--ink); text-transform:none; }
.form .captcha input { max-width:160px; }
.sent { background:var(--tint); padding:32px; display:grid; gap:10px; margin-top:24px; }
.sent b { font-size:24px; font-weight:600; letter-spacing:-.02em; }
.map-box { border:1px solid var(--ink); height:clamp(320px,42vw,520px); margin-bottom:clamp(24px,3vw,40px); background:var(--tint); }
.map-box iframe { display:block; width:100%; height:100%; border:0; }
html[data-theme="dark"] .map-box iframe, html[data-theme="agentic"] .map-box iframe { filter:invert(.92) hue-rotate(180deg) grayscale(.3); }

/* ---------- footer ---------- */
.site-footer { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px 48px; padding:22px 0 40px; font-size:12px; color:var(--muted); line-height:1.5; }
.site-footer > div:first-child { max-width:640px; text-wrap:pretty; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:flex-end; align-content:start; font-family:var(--mono); }

@media (max-width:760px) {
  .modes-grid { grid-template-columns:1fr; }
  .modes-grid > div:first-child { padding-right:0; border-right:0; border-bottom:1px solid var(--line); }
  .modes-grid > div:last-child { padding-left:0; }
  .mode { grid-template-columns:1fr; gap:8px; }
  .rowlink { grid-template-columns:32px minmax(0,1fr) 20px; }
  .rowlink > div:nth-child(3) { grid-column:2 / 3; }
  .rowlink .go { grid-column:3; grid-row:1; }
}

/* ---------- product capabilities ---------- */
.cap { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px 32px; padding:22px 0; border-top:1px solid var(--line); }
.cap > div { display:flex; gap:14px; align-items:baseline; }
.cap > div .num { padding:0; }
.cap > div .t { font-size:17px; letter-spacing:-.01em; }
.cap ul { grid-column:span 2; margin:0; padding:0; list-style:none; columns:2 280px; column-gap:32px; }
.cap li { break-inside:avoid; position:relative; padding:0 0 10px 18px; font-size:14px; color:var(--muted); text-wrap:pretty; }
.cap li::before { content:"■"; position:absolute; left:0; top:1px; font-size:9px; color:var(--ink); }
@media (max-width:760px) { .cap ul { grid-column:auto; } }

/* ---------- language / theme toggles (header, right) ---------- */
.side-controls { display:flex; align-items:center; gap:14px; }
.sc-group { display:flex; align-items:center; gap:2px; }
.sc-group + .sc-group { padding-inline-start:14px; border-inline-start:1px solid var(--line); }
.sc-label { font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-inline-end:6px; }
.side-controls button, .side-controls a {
  display:grid; place-items:center; min-width:32px; height:28px; padding:0 6px;
  font-family:var(--mono); font-size:12px; font-weight:500; letter-spacing:.04em;
  background:transparent; color:var(--muted); border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition:background .15s, color .15s;
}
.side-controls button:hover, .side-controls a:hover { background:var(--tint); color:var(--ink); text-decoration:none; }
.side-controls button[aria-pressed="true"], .side-controls a[aria-current="true"] { background:var(--btn); color:var(--btnFg); }
.side-controls svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.side-controls button[data-set-theme="dark"] svg { fill:currentColor; stroke:none; }

/* ---------- sectors + use cases ---------- */
.verts { list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:0 32px; }
.verts li { border-top:1px solid var(--line); padding:14px 0 12px; }
.verts .t { font-size:16px; font-weight:500; margin-bottom:4px; }
.verts .d { font-size:14px; color:var(--muted); text-wrap:pretty; }
.ucs { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:28px 32px; margin-top:20px; }
.uc { border-top:1px solid var(--ink); padding-top:16px; }
.uc .t { font-size:clamp(18px,1.6vw,21px); line-height:1.25; letter-spacing:-.01em; font-weight:500; margin:8px 0 14px; text-wrap:balance; }
.uc dl { margin:0; }
.uc dl > div { display:grid; grid-template-columns:minmax(84px,100px) 1fr; gap:14px; padding:10px 0; border-top:1px solid var(--line); }
.uc dt { font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); padding-top:3px; }
.uc dd { margin:0; font-size:14.5px; text-wrap:pretty; }
@media (min-width:1100px) { .ucs[data-n="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); } .ucs[data-n="3"] .uc dl > div { grid-template-columns:1fr; gap:4px; } }
@media (max-width:480px) { .uc dl > div { grid-template-columns:1fr; gap:4px; } }
.rowlink .tags { display:block; margin-top:10px; font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--muted); }
.tiers { width:100%; border-collapse:collapse; margin-top:22px; font-size:14.5px; }
.tiers th, .tiers td { padding:10px 0; border-top:1px solid var(--line); text-align:left; font-weight:400; }
.tiers thead th { font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); border-top:0; }
.tiers td, .tiers thead th:last-child { text-align:right; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.tiers tbody th { font-weight:500; }

/* ---------- accessibility ---------- */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:100; padding:10px 14px; background:var(--btn); color:var(--btnFg); font-weight:600; font-size:14px; }
.skip-link:focus { top:12px; color:var(--btnFg); text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
html[data-theme="agentic"] :focus-visible { outline-color:var(--accent); }
.hero-toggle { display:grid; place-items:center; width:28px; height:28px; padding:0; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; }
.hero-toggle:hover { background:var(--tint); }
.hero-toggle svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hero-toggle .i-play { display:none; fill:currentColor; stroke:none; }
.hero-toggle[aria-pressed="true"] .i-pause { display:none; }
.hero-toggle[aria-pressed="true"] .i-play { display:block; }
.sent:focus { outline:none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
.info .phones a { display:inline-flex; align-items:center; min-height:24px; }
.crumbs > div > a { text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
/* long Dutch/French compounds in display headings: hyphenate rather than overflow on small screens */
.h-page, .h-detail, .h-big, .h-cta { hyphens:auto; -webkit-hyphens:auto; }
.h-hero, .h-page, .h-detail, .h-big, .h-cta, .lead { overflow-wrap:break-word; }
.dots-row { flex-wrap:wrap; row-gap:6px; }
@media (max-width:480px) {
  .h-hero { font-size:clamp(38px,11vw,52px); }
  .h-detail { font-size:clamp(34px,10vw,46px); }
  .h-page { font-size:clamp(34px,10vw,44px); }
  .h-big { font-size:clamp(22px,6.6vw,26px); }
  .h-cta { font-size:clamp(24px,7vw,28px); }
}
.map-box.is-focused { outline:3px solid var(--ink); outline-offset:3px; }

/* ---------- header layout + mobile menu ---------- */
.header-menu { flex:1; display:flex; align-items:center; justify-content:space-between; gap:16px 24px; flex-wrap:wrap; }
.site-nav { margin:0 auto; }
.nav-toggle { display:none; align-items:center; gap:10px; min-height:40px; padding:0 12px; border:1px solid var(--line); background:transparent; color:var(--ink); font:600 14px/1 'Instrument Sans', system-ui, sans-serif; cursor:pointer; }
.nav-bars, .nav-bars::before, .nav-bars::after { display:block; width:18px; height:2px; background:currentColor; transition:transform .2s, opacity .2s; }
.nav-bars { position:relative; }
.nav-bars::before, .nav-bars::after { content:""; position:absolute; left:0; }
.nav-bars::before { top:-6px; }
.nav-bars::after { top:6px; }
.is-open .nav-bars { background:transparent; }
.is-open .nav-bars::before { transform:translateY(6px) rotate(45deg); }
.is-open .nav-bars::after { transform:translateY(-6px) rotate(-45deg); }

@media (max-width:960px) {
  .site-header { flex-wrap:wrap; padding:14px 0; gap:0; }
  .js .nav-toggle { display:inline-flex; }
  .header-menu { flex-basis:100%; flex-direction:column; align-items:stretch; gap:0; }
  .js .header-menu { display:none; }
  .js .is-open .header-menu { display:flex; margin-top:14px; }
  .site-nav { margin:0; flex-direction:column; align-items:stretch; gap:0; font-size:20px; border-top:1px solid var(--line); }
  .site-nav > a { display:flex; align-items:center; min-height:52px; padding:0 2px; border-bottom:1px solid var(--line); color:var(--ink); }
  .site-nav > a[aria-current="page"] { font-weight:700; }
  .site-nav > a[aria-current="page"]::after { content:"●"; margin-inline-start:auto; font-size:9px; color:var(--muted); }
  .side-controls { width:100%; flex-direction:column; align-items:stretch; gap:0; padding:0; }
  .sc-group { justify-content:space-between; gap:4px; padding:10px 0; border-bottom:1px solid var(--line); }
  .sc-group + .sc-group { padding-inline-start:0; border-inline-start:0; }
  .sc-label { margin-inline-end:auto; font-size:11px; }
  .side-controls button, .side-controls a { min-width:44px; height:44px; }
}

/* logo mark: black square, white A */
.brand-mark { display:inline-grid; place-items:center; width:26px; height:26px; background:#111; color:#fff; font:700 16px/1 'Instrument Sans', system-ui, sans-serif; letter-spacing:0; flex:none; }
html[data-theme="dark"] .brand-mark, html[data-theme="agentic"] .brand-mark { box-shadow:0 0 0 1px var(--line); }

/* product cards: 3 per row, 2 on tablets, 1 on phones */
@media (max-width:900px) { .cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .cards { grid-template-columns:minmax(0,1fr); } }
