{"id":10878,"date":"2026-08-24T15:04:58","date_gmt":"2026-08-24T13:04:58","guid":{"rendered":"https:\/\/monitorering.ki.dk\/?page_id=10878"},"modified":"2026-08-24T16:51:42","modified_gmt":"2026-08-24T14:51:42","slug":"about-ki-monitoring","status":"publish","type":"page","link":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/","title":{"rendered":"About KI Monitoring"},"content":{"rendered":"<style> @import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@500;700;800&display=swap'); .snm{--ink:#1c2430;--muted:#586473;--brand:#1BAAEC;--line:#e6ebf2;--shadow:0 16px 40px rgba(20,40,70,.10); width:100vw;margin-left:calc(50% - 50vw); position:relative;background:#eef3f8;} .snm::before{content:\"\";position:fixed;inset:0;z-index:0;pointer-events:none; background:url('https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2024\/01\/BG-gradient-4-way-split-v5-scaled.jpg') center bottom\/cover;transform:scaleY(-1);} .snm>section{position:relative;z-index:1;} .snm *{box-sizing:border-box;} .snm p:empty{display:none !important;} .snm img{max-width:100%;} .snm-wrap{max-width:1120px;margin:0 auto;padding:0 24px;} .snm h1,.snm h2{font-family:'Montserrat',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);line-height:1.18;margin:0;} .snm-hl{font-weight:800;} .snm-section{padding:58px 0;} .snm-last{padding-top:67px;padding-bottom:125px;} .snm-section>.snm-wrap>h2{font-size:clamp(24px,3vw,34px);text-align:center;margin:0 0 14px;} \/* Extra breathing room around a section heading: 132px of visible air above, 82px below (double the defaults, measured from live pixels rather than the box model). The declared margin-bottom is the full 82px; where a laptop follows, its PNG carries transparent padding above the lid, and that differs per frame (194px vs 452px on an 8334px-wide source). --snm-lap-pad carries it as a % of frame width, so pulling that back keeps the VISIBLE gap identical whichever frame the screenshot picked. *\/ .snm-section--airy>.snm-wrap>h2{margin-top:66px;margin-bottom:82px;} .snm-section--airy .snm-lapfig .snm-laptop{margin-top:calc(-1 * var(--snm-lap-pad,2.33%));} .snm-sub{color:var(--muted);font-size:18px;text-align:center;max-width:68ch;margin:0 auto 44px;} .snm-partners{color:var(--muted);font-size:15.5px;text-align:center;max-width:70ch;margin:-24px auto 0;line-height:1.9;} .snm-after{font-size:16.5px;margin:40px auto 0;max-width:74ch;} .snm-ic{width:30px;height:30px;fill:var(--brand);display:block;margin-bottom:16px;} \/* Full-viewport photo hero; the copy sits on a frosted card so it reads over any part of the shot. The hero fills the screen BELOW everything above it (WP admin bar + utility bar + masthead). --snm-hero-top is measured at runtime by the script at the end of this page and written onto .snm; CSS cannot read another element's height on its own. The fallback below is a curve fitted to the Pro masthead (122\/126\/135\/140\/144\/149\/157px at 900\/1024\/1280\/1440\/1536\/1680\/1920, and 104px at 390) so the hero is still right with JS disabled. Re-check with measure_header.js. *\/ .snm{--snm-hero-top:calc(91px + 3.43vw);} .snm-hero{position:relative;min-height:calc(100vh - var(--snm-hero-top));display:flex;align-items:center;justify-content:center; padding:clamp(16px,3vh,70px) 0;text-align:center;background-position:center;background-size:cover;background-repeat:no-repeat;} \/* The copy sits directly on the photo, so the scrim does the legibility work. It is weighted to the left, where the text is, and fades out to the right so the dam wall stays visible. *\/ \/* scrim strength is per page: a calm photo needs less, a busy one more. Stops set via --snm-scrim-N on the section so a page can darken its own left edge without new CSS. *\/ .snm-hero::after{content:\"\";position:absolute;inset:0;pointer-events:none; background:linear-gradient(100deg, rgba(6,18,32,var(--snm-scrim-1,.80)) 0%, rgba(6,18,32,var(--snm-scrim-2,.62)) 38%, rgba(6,18,32,var(--snm-scrim-3,.30)) 68%, rgba(6,18,32,var(--snm-scrim-4,.12)) 100%);} .snm-hero>.snm-wrap{position:relative;z-index:1;width:100%;} \/* copy left, CTA right; both scale with viewport HEIGHT as well as width so the hero still fits above the fold on a short laptop screen (1280x800, 1440x900) *\/ .snm-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr); gap:clamp(28px,4vw,64px);align-items:center;text-align:left;} .snm-hero-copy .snm-logo{display:block;height:clamp(44px,7vh,86px);width:auto;margin:0 0 clamp(18px,3vh,34px);} .snm-hero-copy .snm-eyebrow{margin:0 0 clamp(10px,1.6vh,16px);} \/* no hero photograph: sit on the page gradient with dark text instead of white-on-image *\/ .snm-hero--flat::after{display:none;} .snm-hero--flat .snm-hero-copy h1{color:var(--ink);text-shadow:none;} .snm-hero--flat .snm-hero-copy .snm-lead{color:#3a4654;text-shadow:none;} .snm-hero-copy h1{color:#fff;max-width:18ch;margin:0 0 clamp(12px,2.1vh,22px); font-size:clamp(30px,min(4.6vw,5.4vh),52px);text-shadow:0 2px 20px rgba(0,0,0,.38);} .snm-hero-copy .snm-lead{color:rgba(255,255,255,.93);max-width:58ch;margin:0; font-size:clamp(16px,min(1.9vw,2.3vh),20px);text-shadow:0 1px 14px rgba(0,0,0,.42);} .snm-hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:clamp(12px,1.8vh,18px);} .snm-btn-lg{padding:clamp(16px,2.5vh,24px) clamp(24px,2vw,34px);font-size:clamp(17px,1.25vw,21px); border-radius:6px;justify-content:center;box-shadow:0 6px 22px rgba(0,0,0,.32);} .snm-btn-lg .snm-btn-ic{width:21px;height:21px;} .snm-logo{display:block;height:clamp(42px,6.4vh,74px);width:auto;margin:0 auto clamp(14px,2.3vh,26px);} .snm-eyebrow{font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:700;color:var(--brand);margin:0 0 16px;} .snm-hero h1{font-size:clamp(28px,4.4vw,46px);max-width:22ch;margin:0 auto 20px;} .snm-lead{font-size:clamp(17px,2vw,20px);max-width:62ch;margin:0 auto 30px;color:#3a4654;} .snm-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;} .snm-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border-radius:4px;font-weight:400;font-size:17px;color:#fff;text-decoration:none; box-shadow:0 3px 11px rgba(0,0,0,.25);transition:filter .15s ease;} .snm-btn:hover{filter:brightness(1.1);color:#fff;} .snm-btn-ic{width:18px;height:18px;fill:currentColor;flex:none;} .snm-btn-primary{background:linear-gradient(109deg,#6CD897 0%,#56B4B1 100%);} .snm-btn-secondary{background:linear-gradient(130deg,#1BAAEC 0%,#406CBA 100%);} .snm-laptop{position:relative;max-width:860px;margin:30px auto 0;filter:drop-shadow(0 26px 34px rgba(20,40,70,.22));} .snm-lap-end{margin-bottom:-34px;} .snm-laptop .frame{position:relative;z-index:2;width:100%;display:block;} \/* contain, never cover: a screenshot that does not match the 1.9864 aperture is shown WHOLE with a little dark screen either side, rather than being silently cropped. These are pictures of the product \u2014 the frame must never alter what the platform looks like. Capture at 1.9864:1 (e.g. 1920x966) and the fill disappears. *\/ .snm-laptop .screen{position:absolute;z-index:1;object-fit:contain;object-position:center;background:#0b1622;} .snm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;} .snm-cards--2{grid-template-columns:repeat(2,1fr);} .snm-card{background:#fff;border-radius:16px;padding:32px;box-shadow:var(--shadow);} .snm-card h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;margin:0 0 10px;color:var(--ink);} .snm-card p{margin:0;color:var(--muted);} \/* margins doubled from the measured 44px above \/ 58px below. The 58px below came from the section's own padding-bottom, so the extra 58px is added as a margin on the card to reach 116. *\/ .snm-quote{background:#fff;border-radius:20px;max-width:700px;margin:88px auto 58px;padding:50px;box-shadow:var(--shadow);text-align:center;} .snm-quote .snm-qmark{display:block;width:auto;height:100px;margin:0 auto 26px;} \/* the Pro theme puts a rule above and below every blockquote \u2014 reset it inside the card *\/ .snm-quote blockquote{margin:0;padding:0;border:0;background:none;font-size:19px;line-height:1.55;color:#3a4654;quotes:none;} .snm-quote blockquote::before,.snm-quote blockquote::after{content:none;display:none;} .snm-quote .snm-who{margin:26px 0 0;font-size:15px;color:var(--muted);line-height:1.6;} .snm-quote .snm-who b{display:block;color:var(--ink);} \/* a section that breaks out of the gradient onto a full-bleed white band *\/ .snm-section--white{background:#fff;} .snm-section--white .snm-fig{padding:0;box-shadow:none;} \/* a wide illustration gets the full wrap plus a little more, and its own art scales to it *\/ .snm-fig--wide{max-width:none;} .snm-fig--wide svg,.snm-fig--wide img{width:100%;height:auto;display:block;} \/* text + illustration side by side; the heading lives in the text column, so it is left-aligned *\/ .snm-two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;} .snm-two h2{text-align:left;margin:0 0 20px;font-size:clamp(23px,2.8vw,32px);} .snm-two p{color:var(--muted);font-size:17px;line-height:1.65;margin:0 0 18px;} .snm-two .snm-cap{font-size:15px;color:#6b7887;margin:0;} .snm-two img{display:block;width:100%;height:auto;border-radius:12px;} \/* UI screenshots are unreadable at thumbnail width \u2014 two per row, and an odd last one spans the full width rather than sitting alone in a half-width cell *\/ \/* laptop slideshow. All screens stack in the same aperture and cross-fade; the caption below is swapped by the script. min-height on the caption stops the controls jumping when a caption wraps to a different number of lines. *\/ .snm-slider{max-width:900px;margin:0 auto;} \/* 100px of VISIBLE air above the lid; the frame's own transparent padding is taken off the declared margin so the eye sees 100, not 100 plus the padding. *\/ .snm-slider .snm-laptop{margin:calc(100px - var(--snm-lap-pad,2.33%)) auto 0;} .snm-slider .snm-laptop .screen{opacity:0;transition:opacity .45s ease;} .snm-slider .snm-laptop .screen.is-on{opacity:1;} .snm-slide-cap{margin:-6px auto 0;color:var(--muted);font-size:15.5px;line-height:1.6;text-align:center; max-width:70ch;min-height:3.2em;} .snm-slider-ctl{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:4px;} \/* wpautop paragraph-wraps inline children (buttons, links) inside our flex rows, and the injected paragraph then becomes the flex item instead of the control, offsetting it by its own margin. display:contents makes those paragraphs generate no box, so the real controls stay the items. NOTE: never write a literal paragraph tag in these comments \u2014 wpautop parses it as real markup and splits the stylesheet in half. *\/ .snm-slider-ctl>p,.snm-dots>p,.snm-cta>p,.snm-hero-actions>p{display:contents;} .snm-nav{width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--brand); box-shadow:0 6px 18px rgba(20,40,70,.14);cursor:pointer;display:inline-flex;align-items:center;justify-content:center; transition:filter .15s ease,transform .15s ease;} .snm-nav:hover{filter:brightness(.97);transform:scale(1.06);} .snm-nav .snm-ic{width:15px;height:15px;margin:0;fill:currentColor;} .snm-dots{display:flex;align-items:center;gap:11px;} .snm-dot{width:11px;height:11px;padding:0;border:0;border-radius:50%;background:rgba(20,40,70,.20); cursor:pointer;transition:background .2s ease,transform .2s ease;} .snm-dot:hover{background:rgba(20,40,70,.38);} .snm-dot.is-on{background:var(--brand);transform:scale(1.15);} \/* laptop + caption. The frame PNG carries ~34px of transparent padding under the base, so the caption's top margin is pulled back to leave a visually even gap rather than a numeric one. *\/ .snm-lapfig{margin:0;} .snm-lapfig .snm-laptop{margin-top:0;} .snm-lapfig figcaption{margin:-6px auto 0;color:var(--muted);font-size:15px;line-height:1.6;text-align:center;max-width:80ch;} \/* A white card that carries its own heading and intro alongside the figure, for when the copy explains the graphic and the two should read as one block. The figure inside drops its own card styling so there is only one panel, not a card within a card. *\/ \/* top padding is the base + 25px, kept as a calc so it stays +25 at every viewport width *\/ .snm-panel{background:#fff;border-radius:20px;box-shadow:var(--shadow); padding:calc(clamp(28px,4vw,50px) + 25px) clamp(28px,4vw,50px) clamp(28px,4vw,50px);} .snm-panel>h2{font-family:'Montserrat',sans-serif;font-size:clamp(24px,3vw,34px);text-align:center;margin:0 0 16px;} .snm-panel .snm-sub{margin-bottom:40px;} .snm-panel .snm-fig{background:none;border-radius:0;padding:0;box-shadow:none;} .snm-fig{background:#fff;border-radius:20px;margin:0;padding:30px;box-shadow:var(--shadow);} .snm-fig img{display:block;width:100%;height:auto;border-radius:10px;} .snm-fig svg{display:block;width:100%;height:auto;} .snm-fig figcaption{margin-top:22px;color:var(--muted);font-size:15px;line-height:1.6;text-align:center;max-width:80ch;margin-left:auto;margin-right:auto;} .snm-split{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;margin-bottom:-15px;} .snm-split .snm-laptop{margin:0;max-width:none;} .snm-split h2{text-align:left;margin:0 0 20px;font-size:clamp(23px,2.8vw,32px);} .snm-list{list-style:none;padding:0;margin:0;} .snm-list li{position:relative;padding:11px 0 11px 34px;color:#3a4654;font-size:17px;} .snm-list li+li{border-top:1px solid rgba(20,40,70,.08);} .snm-list li::before{content:\"\";position:absolute;left:0;top:14px;width:20px;height:20px;border-radius:50%;background:#1aa971; -webkit-mask:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'\/><\/svg>\") center\/13px no-repeat; mask:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'\/><\/svg>\") center\/13px no-repeat;} .snm-faq-section>.snm-wrap>h2{margin-bottom:50px;} .snm-faq{max-width:840px;margin:0 auto;} .snm-faq details{background:#fff;border-radius:12px;padding:2px 24px;margin-bottom:14px;box-shadow:0 6px 18px rgba(20,40,70,.06);} .snm-faq details:last-child{margin-bottom:0;} .snm-faq summary{cursor:pointer;font-weight:600;font-size:17px;padding:18px 0;list-style:none;color:var(--ink);font-family:'Open Sans',sans-serif;} .snm-faq summary::-webkit-details-marker{display:none;} .snm-faq summary::after{content:\"+\";float:right;color:var(--brand);font-size:24px;line-height:1;font-weight:400;} .snm-faq details[open] summary::after{content:\"\\2013\";} .snm-faq details p{margin:0 0 20px;color:var(--muted);} .snm-final{background:#fff;border-radius:20px;max-width:920px;margin:0 auto;text-align:center;padding:56px 30px;box-shadow:var(--shadow);} .snm-final h2{font-size:clamp(23px,3vw,32px);margin:0 0 14px;} .snm-final .snm-laptop{margin:0 auto 36px;max-width:600px;filter:drop-shadow(0 20px 30px rgba(20,40,70,.18));} .snm-final p{color:var(--muted);font-size:18px;max-width:56ch;margin:0 auto 28px;} .snm-disc{max-width:920px;margin:0 auto;padding:22px 26px;border-radius:12px;background:rgba(255,255,255,.66); color:var(--muted);font-size:14.5px;line-height:1.6;text-align:center;} .snm-disc b{color:var(--ink);} @media(max-width:820px){.snm-split{grid-template-columns:1fr;gap:28px;}.snm-split h2{text-align:center;}.snm-section{padding:54px 0;} .snm-fig{padding:20px;}.snm-quote{padding:34px 26px;}.snm-cards--2{grid-template-columns:1fr;} .snm-two{grid-template-columns:1fr;gap:30px;}.snm-two h2{text-align:center;} .snm-shots{grid-template-columns:1fr;} .snm-hero{padding:44px 0;} .snm-hero-grid{grid-template-columns:1fr;gap:30px;} .snm-hero-copy h1{max-width:none;}.snm-hero-actions{align-items:stretch;}} \/* --- a half-height hero. The use-case pages fill the viewport because their job is to convert; an About page should show a little of itself below the fold instead. --- *\/ .snm-hero--short{min-height:min(52vh,460px);} .snm-hero--short .snm-hero-copy{max-width:760px;margin:0 auto;text-align:center;} .snm-hero--short .snm-hero-copy h1{max-width:none;} \/* the copy is centred here rather than in a left column, so the scrim has to be even across the frame instead of the use-case pages' left-weighted wedge *\/ .snm-hero--short::after{background:linear-gradient(180deg, rgba(6,18,32,var(--snm-scrim-1,.62)) 0%, rgba(6,18,32,var(--snm-scrim-2,.52)) 45%, rgba(6,18,32,var(--snm-scrim-3,.56)) 100%);} \/* Light hero: dark text on a pale photograph, veiled with white instead of darkened. The Great Belt fog shot is high-key and low-contrast; darkening it enough to carry white text would flatten the fog into grey mud, which is the whole reason to use that photograph. Reads editorial rather than banner, which suits this page. *\/ .snm-hero--light::after{background:linear-gradient(180deg, rgba(242,246,250,var(--snm-scrim-1,.55)) 0%, rgba(242,246,250,var(--snm-scrim-2,.42)) 45%, rgba(242,246,250,var(--snm-scrim-3,.58)) 100%);} .snm-hero--light .snm-hero-copy h1{color:var(--ink);text-shadow:0 1px 12px rgba(255,255,255,.7);} .snm-hero--light .snm-hero-copy .snm-lead{color:#39465a;text-shadow:0 1px 10px rgba(255,255,255,.7);} .snm-hero--light .snm-eyebrow{color:#0d7fb4;} .snm-hero--short .snm-hero-copy .snm-lead{margin-left:auto;margin-right:auto;} \/* --- running prose. .snm-sub is a single centred standfirst: separate paragraphs with line breaks and wpautop splits the block, leaving only the first inside the class. Multi-paragraph copy gets its own left-aligned measure and real paragraph tags instead. --- *\/ .snm-prose{max-width:70ch;margin:0 auto;} .snm-prose p{color:#3f4b5a;font-size:17.5px;line-height:1.75;margin:0 0 24px;} .snm-prose p:last-child{margin-bottom:0;} .snm-prose b{color:var(--ink);} \/* --- One section per beat, in a single reading column. Four short sections, so the headings are frequent; they are sized to read as sub-headings within one document rather than as separate banners. --- *\/ \/* VERTICAL RHYTHM -- read this before changing any padding here. Operator rule (2026-08-21): wherever the background changes, there must be at least 70px of air on BOTH sides of the divide. --snm-edge is 80px so the measured gap clears 70 comfortably; two sections that share a background sit on a tighter --snm-gap instead, so a change of ground always reads as more of a break than a change of subject. Every value below is PADDING, never margin. A top margin on a section's first child collapses out through the section and paints in the page background -- that is what put a grey stripe between the two white bands on an earlier pass, and what made these gaps look random: the space above a heading was a collapsing margin while the space below the prose was an 8px padding. build() decides which sections carry --edgetop \/ --edgebot by comparing each section's background with its neighbours', so the rule holds however the outline is reordered. *\/ .snm{--snm-edge:80px;--snm-gap:64px;} .snm-sec{padding:var(--snm-gap) 0 0;} .snm-sec--edgetop{padding-top:var(--snm-edge);} .snm-sec--edgebot{padding-bottom:var(--snm-edge);} \/* ONE column width for every section, prose and block alike (940px). The prose sections used to sit in an 800px wrap while the figures band, the project list and the case cards sat in a 940px one, so every heading jogged 70px right of the one below it -- invisible locally, obvious on the live theme, which is where this was measured. Reading measure is held by .snm-prose instead. *\/ .snm-sec>.snm-wrap{max-width:940px;} \/* the base sheet centres section headings (.snm-section>.snm-wrap>h2), which outranks a bare `.snm-sec h2` -- hence matching that selector's specificity here. Margin-top is 0: the section's padding is what positions it. *\/ .snm-sec>.snm-wrap>h2{font-size:clamp(22px,2.6vw,30px);text-align:left;margin:0 0 22px; max-width:34ch;} \/* the prose starts at the column's left edge rather than centring in it, and stops at a readable measure rather than running the full 940 *\/ .snm-sec .snm-prose{max-width:74ch;margin:0;} \/* the sections that carry a block of their own need room before it *\/ .snm-sec--block>.snm-wrap>h2{margin-bottom:18px;} .snm-sec--block .snm-prose{margin-bottom:38px;} \/* A white band behind the figures, the project list and the case cards, so the page has one change of ground rather than six. Background only -- spacing comes from the edge classes above. *\/ .snm-sec--white{background:#fff;} \/* the closing invitation sits back on the page background, so its top edge is a divide too *\/ .snm-last{padding-top:var(--snm-edge);} \/* --- Body-copy links match the theme's own, measured rather than chosen: black, underlined, weight 400, fading to #cdcdcd on hover. Sampled from \/monitorering\/ and \/raadgivning\/ -- the hand-authored pages, 15 body links between them, all identical. This page used brand blue, bold, no underline, which is a house style the site does not have and which read as a button. Weight stays 400. Bold is for a link that has to be found before the sentence around it is read; a \"read more\" line sitting on its own at the end of a section is already findable, and the theme's own equivalent (\"Laes mere om hvordan KI hjalp Storebaelt\") is 400. The rule is on .snm-prose too, so an inline link added to the copy later inherits it. --- *\/ .snm-prose a,.snm-ki-link a{color:#000;text-decoration:underline; text-decoration-color:currentColor;font-weight:400;transition:color .15s ease;} .snm-prose a:hover,.snm-ki-link a:hover{color:#cdcdcd;} .snm-ki-link{max-width:74ch;margin:26px 0 0;font-size:16.5px;} \/* --- the two-company Venn, under the KI link. Built from two CSS circles with real HTML text inside, not an SVG: the labels have to wrap, be selectable and be read by a screen reader, and SVG <text> does none of those without manual tspan line-breaking that then breaks at a different width than the design assumed. The lens is only ~120px wide, which is enough for a two-word label and nothing else -- so the sentence that explains the overlap sits in the figcaption underneath rather than being crammed into the intersection at 10px. The circles carry the relationship; the caption carries the claim. Each lobe's text is pushed AWAY from the lens (left text centred in the left third, right text in the right third) because text centred in a circle would land in the intersection and collide with the middle label. --- *\/ .snm-venn{max-width:74ch;margin:34px 0 0;} \/* The aspect ratio is not a design choice, it is forced: the circles are sized as a % of WIDTH and stretched to full HEIGHT, so height must equal 56.67% of 600 = 340 or they render as ellipses. *\/ .snm-venn-d{position:relative;width:100%;max-width:600px;aspect-ratio:600\/340;margin:0 auto;} .snm-venn-c{position:absolute;top:0;width:56.67%;height:100%;border-radius:50%;box-sizing:border-box;} \/* 2 x 56.67% - 100% = 13.3% of 600px = an 80px lens, which is 23% of the 340px circle: a normal Venn overlap. An earlier pass forced this out to 144px so a label would fit inside the intersection, but the label said \"F\u00e6lles grund\" -- which names the shape, not the subject, and is true of every Venn diagram ever drawn (operator, 2026-08-24). With the label gone the overlap can be sized as a diagram again, and the caption underneath carries the meaning on its own. *\/ .snm-venn-c--l{left:0;background:rgba(27,170,236,.15);border:1px solid rgba(27,170,236,.45);} .snm-venn-c--r{right:0;background:rgba(86,180,177,.17);border:1px solid rgba(86,180,177,.5);} \/* Leader line: starts at the exact centre of the intersection and runs down to the caption, so the sentence is visibly about the overlap rather than about the diagram as a whole. It crosses the lower half of the lens and the bottom arcs, which is what a callout line does; z-index 1 keeps it above the circle tints and below the lobe text (z-index 2). The lobes sit at 1.5-37.5% and 62.5-98.5%, so a line at 50% cannot collide with either. Ends 20px below the box against the figcaption's 24px margin, i.e. just short of the first line of text. *\/ .snm-venn-d::after{content:\"\";position:absolute;left:50%;top:50%;bottom:-20px;width:0; border-left:2px dashed rgba(88,100,115,.5);transform:translateX(-50%);z-index:1;} .snm-venn-t{position:absolute;top:50%;transform:translateY(-50%);text-align:center;z-index:2;} .snm-venn-t--l{left:1.5%;width:36%;} .snm-venn-t--r{right:1.5%;width:36%;} .snm-venn-h{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13.5px; text-transform:uppercase;letter-spacing:.03em;color:var(--ink);margin:0 0 6px;line-height:1.35;} .snm-venn-p{margin:0;font-size:13.5px;line-height:1.45;color:var(--muted);} \/* The caption belongs to the figure, not to the prose column: italic, centred, and held to the diagram's own 600px rather than the 74ch measure the surrounding paragraphs use. The narrower width is what does most of the work -- an italic line running the full reading measure still scans as another body paragraph that happens to be slanted. Centring also puts it under the dashed leader line, which drops onto the middle of the first line. *\/ .snm-venn figcaption{margin:24px auto 0;max-width:600px;font-size:16px;line-height:1.65; color:var(--muted);font-style:italic;text-align:center;} @media(max-width:640px){ \/* Stack the circles instead of shrinking them: side by side at phone width the lobes are ~90px across and every label breaks one word per line. Same diagram, turned through 90 degrees. *\/ .snm-venn-d{max-width:300px;aspect-ratio:300\/520;} .snm-venn-c{width:100%;height:57.7%;top:auto;left:0;right:auto;} .snm-venn-c--l{top:0;} .snm-venn-c--r{bottom:0;} .snm-venn-t{left:50%;width:80%;transform:translate(-50%,-50%);} .snm-venn-t--l{top:26%;} .snm-venn-t--r{top:74%;right:auto;} \/* No leader line when the circles are stacked: from the centre of the intersection it would run straight down through the whole lower circle and across its label. The caption follows directly under the diagram at this width, so the connection needs no drawing. *\/ .snm-venn-d::after{display:none;} } \/* --- the figures band: four sourced numbers directly under the hero. A prospect who clicked About is checking whether we are real, and these are the four facts that answer that fastest. They all appear in the prose too; this is where a scanning reader meets them. --- *\/ \/* NB: not .snm-fig -- that is the use-case pages' white image card in the shared sheet, and reusing the name put a card background and a drop shadow behind every number. *\/ .snm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 32px;} .snm-stats>p:empty{display:none !important;} .snm-stat{border-left:3px solid var(--brand);padding:2px 0 2px 18px;} .snm-stat .snm-statn{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,3vw,34px); line-height:1.1;color:var(--ink);margin:0 0 8px;letter-spacing:-.01em;} \/* 14px, not 15: the columns are ~199px on the live theme, and at 15px two of the four labels ran to three lines while the others took two, leaving the band visibly ragged. *\/ .snm-stat .snm-statl{margin:0;color:var(--muted);font-size:14px;line-height:1.5;} \/* Danish compounds carry a real hyphen, and a 199px column will happily break at it -- \"sensorer paa Senmos-\" \/ \"platformen\". Legal Danish typography, but the band is the most scanned thing on the page and a split brand name reads as a mistake. Opt a phrase out per label rather than setting hyphens:none on the whole band, which would push other labels into worse breaks. *\/ .snm .snm-nb{white-space:nowrap;} \/* --- selected projects: a list with a rule between entries. The name and its one-line context sit in a narrow left column so the eye can run down the names alone. --- *\/ .snm-projects{max-width:940px;margin:0 auto;} \/* Picture left, description right. The text is one block (name, eyebrow, paragraph) so the row reads as a single thing rather than as boxes in a table -- see the note in project(). align-items:center, not start: the text block is shorter than the 3:2 picture in all three cases, and top-aligning it left a wedge of dead space under every paragraph. *\/ .snm-project{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:20px 40px; align-items:center;padding:34px 0;border-top:1px solid rgba(20,40,70,.12);} .snm-project:last-child{border-bottom:1px solid rgba(20,40,70,.12);} \/* a case with no picture spans the full width rather than leaving an empty column *\/ .snm-project--nopic{grid-template-columns:minmax(0,1fr);} .snm-project h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;color:var(--ink); margin:0 0 8px;line-height:1.3;} .snm-project .snm-meta{margin:0 0 12px;font-size:14px;color:var(--brand);font-weight:600; text-transform:uppercase;letter-spacing:.06em;line-height:1.5;} .snm-project p.snm-pp{margin:0;color:var(--muted);font-size:16.5px;line-height:1.7;} \/* --- the case photograph. All three sources are cropped to 3:2 before upload, so object-fit has nothing to do at render time and the aspect-ratio here is only a guard against a future source that is not. An earlier pass mixed a photo, a line drawing and a laptop mockup, each at its own aspect, because that was all we had; the operator supplied three real photographs instead, which is why one shared ratio is now possible at all. --- *\/ .snm-project .snm-pimg{display:block;width:100%;aspect-ratio:3\/2;object-fit:cover; border-radius:10px;margin:0;} \/* --- the everyday work: three case photographs, each its own link --- *\/ .snm-breadth{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:40px;} .snm-breadth>p:empty{display:none !important;} .snm-bcard{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow); background:#dbe5ef;transition:transform .15s ease,box-shadow .15s ease;} .snm-bcard:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(20,40,70,.16);} .snm-bcard img{display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;} .snm-bcard .snm-blabel{position:absolute;left:0;right:0;bottom:0;margin:0;padding:44px 20px 18px; font-family:'Montserrat',sans-serif;font-weight:700;font-size:15.5px;text-transform:uppercase; letter-spacing:.03em;color:#fff;text-decoration:none;display:block; background:linear-gradient(180deg,rgba(6,18,32,0) 0%,rgba(6,18,32,.82) 62%);} \/* stretched link: the whole photo is the target without nesting a block inside an anchor *\/ .snm-bcard .snm-blabel::after{content:\"\";position:absolute;inset:0;} \/* --- the close: one line and two links, not a three-button conversion band --- *\/ .snm-close{max-width:70ch;margin:0 auto;text-align:center;} .snm-close h2{font-size:clamp(24px,3vw,34px);margin:0 0 16px;} .snm-close p{color:var(--muted);font-size:17.5px;line-height:1.7;margin:0 0 30px;} .snm-close .snm-cta{gap:14px;} @media(max-width:1000px){ .snm-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px;} } @media(max-width:820px){ \/* the tokens scale, so every divide keeps its 70px minimum while the page tightens up *\/ .snm{--snm-edge:72px;--snm-gap:48px;} \/* narrow the picture column rather than stacking -- at this width two columns still fit *\/ .snm-project{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:20px 28px;padding:28px 0;} } @media(max-width:700px){ \/* below this the picture column is too narrow to read as a photograph, so stack it instead. Capped, because full-bleed a 3:2 photo would be half a phone screen tall on its own. *\/ .snm-project{grid-template-columns:minmax(0,1fr);gap:16px;} .snm-project .snm-pimg{max-width:460px;} } @media(max-width:480px){ .snm-stats{grid-template-columns:1fr;} } <\/style>\n<div class=\"snm\"> <!-- the photograph is decorative: the copy carries the message, so no role=\"img\" here (it would hide the headline from assistive tech) --> <\/p>\n<section class=\"snm-hero snm-hero--short snm-hero--light\" style=\"background-image:url('https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2021\/01\/Storebaelt-slider.jpg');--snm-scrim-1:0.55;--snm-scrim-2:0.42;--snm-scrim-3:0.58;\">\n<div class=\"snm-wrap\">\n<div class=\"snm-hero-copy\"> <!-- no Senmos logo here, deliberately. Every other page on the site is about the platform and leads with its logo; this is the one page about the company that makes it, and the masthead already carries the KI Monitoring mark. (Operator, 2026-08-21.) --> <\/p>\n<p class=\"snm-eyebrow\">About KI Monitoring<\/p>\n<h1>The company behind <span class=\"snm-hl\">Senmos<\/span><\/h1>\n<p class=\"snm-lead\">KI Monitoring makes Senmos: software for structural and geotechnical monitoring.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"snm-section snm-sec snm-sec--block snm-sec--white snm-sec--edgetop snm-sec--edgebot\">\n<div class=\"snm-wrap\">\n<div class=\"snm-stats\">\n<div class=\"snm-stat\">\n<p class=\"snm-statn\">2,000+<\/p>\n<p class=\"snm-statl\">sensors on the Senmos platform<\/p>\n<\/div>\n<div class=\"snm-stat\">\n<p class=\"snm-statn\">4+ billion<\/p>\n<p class=\"snm-statl\">data points received on Senmos each day<\/p>\n<\/div>\n<div class=\"snm-stat\">\n<p class=\"snm-statn\">1000 Hz<\/p>\n<p class=\"snm-statl\">dynamic signals, alongside slow readings<\/p>\n<\/div>\n<div class=\"snm-stat\">\n<p class=\"snm-statn\">8+ years<\/p>\n<p class=\"snm-statl\">on the Great&nbsp;Belt&nbsp;Bridge monitoring software<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"snm-section snm-sec snm-sec--edgetop\">\n<div class=\"snm-wrap\">\n<h2>Who we are<\/h2>\n<div class=\"snm-prose\">\n<p>KI Monitoring grew out of the monitoring department at KI Consulting Engineers. Our monitoring work began on the Great Belt Bridge, which we still monitor today, and has since grown into projects across both structures and geotechnics.<\/p>\n<p>Senmos grew out of that work. We started developing our own software because we lacked a tool that suited the way we actually worked with monitoring.<\/p>\n<p>In early 2025 KI Monitoring became its own company with Senmos as our focus. The team today is data scientists and UX designers, building on many years of practical monitoring experience. At the same time we work closely with the engineers at KI Consulting Engineers.<\/p>\n<p>We use that experience both to develop Senmos and to help the people on our projects. We know how monitoring data is used in practice, and where the tools around it usually fall short.<\/p>\n<p>KI Consulting Engineers remains our parent company and an important technical partner.<\/p>\n<\/div>\n<p class=\"snm-ki-link\"><a href=\"https:\/\/ki.dk\/en\/about-ki\/\" target=\"_blank\" rel=\"noopener\">More about KI Consulting Engineers<\/a><\/p>\n<figure class=\"snm-venn\">\n<div class=\"snm-venn-d\">\n<div class=\"snm-venn-c snm-venn-c--l\" aria-hidden=\"true\"><\/div>\n<div class=\"snm-venn-c snm-venn-c--r\" aria-hidden=\"true\"><\/div>\n<div class=\"snm-venn-t snm-venn-t--l\">\n<p class=\"snm-venn-h\">KI Consulting Engineers<\/p>\n<p class=\"snm-venn-p\">Structural design<\/p>\n<\/div>\n<div class=\"snm-venn-t snm-venn-t--r\">\n<p class=\"snm-venn-h\">KI Monitoring<\/p>\n<p class=\"snm-venn-p\">Monitoring and software development<\/p>\n<\/div>\n<\/div><figcaption>KI Monitoring works closely with the engineers at KI Consulting Engineers. Several of the engineers have written PhDs on dynamics and monitoring, and their experience with how structures behave and how they are built, together with our own solid monitoring experience, helps us improve Senmos and advise our users on more than just the data.<\/figcaption><\/figure>\n<\/div>\n<\/section>\n<section class=\"snm-section snm-sec snm-sec--edgebot\">\n<div class=\"snm-wrap\">\n<h2>What we make<\/h2>\n<div class=\"snm-prose\">\n<p>Today KI Monitoring works on Senmos: our software for structural and geotechnical monitoring.<\/p>\n<p>Senmos is hardware-agnostic. Data can arrive from different instruments and manufacturers over MQTT, FTP\/SFTP or the API. That means the instrumentation can be chosen to suit the project, rather than to suit the software it has to work with.<\/p>\n<p>The same goes for the size of the project. Senmos is used on projects with a handful of sensors and on installations with more than 1,200. The platform handles both slow measurement series running over many years and dynamic signals up to 1000&nbsp;Hz.<\/p>\n<p>The aim is not to dictate what a monitoring project should look like. Senmos should fit the project that actually has to be solved, and bring the data together so it can be worked with.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"snm-section snm-sec snm-sec--block snm-sec--white snm-sec--edgetop snm-sec--edgebot\">\n<div class=\"snm-wrap\">\n<h2>From small projects to large structures<\/h2>\n<div class=\"snm-prose\">\n<p>Senmos is not built for one particular type of structure or one particular size of project. It is used for everything from smaller geotechnical measurement jobs to long-term monitoring of bridges, and installations with more than a thousand sensors.<\/p>\n<\/div>\n<div class=\"snm-projects\">\n<div class=\"snm-project\"><img decoding=\"async\" class=\"snm-pimg\" src=\"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-bogibeel.jpg\" alt=\"The Bogibeel Bridge reflected in the river\" loading=\"lazy\" width=\"1200\" height=\"800\" \/><\/p>\n<div class=\"snm-ptext\">\n<h3>Bogibeel Bridge, India<\/h3>\n<p class=\"snm-meta\">Bridge monitoring &middot; 1,200+ sensors<\/p>\n<p class=\"snm-pp\">Our largest Senmos deployment has more than 1,200 sensors on one structure and handles more than 4 billion data points a day. The project is delivered as a subcontract through Ramb&oslash;ll.<\/p>\n<\/div>\n<\/div>\n<div class=\"snm-project\"><img decoding=\"async\" class=\"snm-pimg\" src=\"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-lillebaelt.jpg\" alt=\"Lilleb&aelig;ltsbroen af 1935 seen from the air\" loading=\"lazy\" width=\"1200\" height=\"800\" \/><\/p>\n<div class=\"snm-ptext\">\n<h3>Lilleb&aelig;ltsbroen af 1935<\/h3>\n<p class=\"snm-meta\">Long-term structural monitoring<\/p>\n<p class=\"snm-pp\">One of Denmark&#8217;s older bridges, monitored over a long period. The project shows the other end of the timescale: data that has to stay available and usable year after year.<\/p>\n<\/div>\n<\/div>\n<div class=\"snm-project\"><img decoding=\"async\" class=\"snm-pimg\" src=\"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-victoria-tower.jpg\" alt=\"Victoria Tower and the Palace of Westminster, London\" loading=\"lazy\" width=\"1200\" height=\"800\" \/><\/p>\n<div class=\"snm-ptext\">\n<h3>Dyna-mo Connect<\/h3>\n<p class=\"snm-meta\">Whitelabel partnership &middot; United Kingdom<\/p>\n<p class=\"snm-pp\">Dyna-mo Instruments sell Senmos as Dyna-mo Connect alongside their own hardware. The people using it work with different measurement equipment, while Senmos brings the data together in one platform.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"snm-section snm-sec snm-sec--block snm-sec--edgetop\">\n<div class=\"snm-wrap\">\n<h2>One system for different monitoring projects<\/h2>\n<div class=\"snm-prose\">\n<p>An excavation, a railway, a bridge or a building do not place the same demands on instrumentation or on data.<\/p>\n<p>That is exactly the point. Senmos is not built around one type of sensor or one type of project. The platform has to keep up when the instrumentation, the volume of data and the task itself change.<\/p>\n<\/div>\n<div class=\"snm-breadth\">\n<div class=\"snm-bcard\"><img decoding=\"async\" src=\"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/senmos-dam-hero.jpg\" alt=\"Aerial view of a concrete arch dam holding back a turquoise mountain reservoir\" loading=\"lazy\" \/><a class=\"snm-blabel\" href=\"https:\/\/monitorering.ki.dk\/en\/dam-safety-monitoring\/\">Dam safety<\/a><\/div>\n<div class=\"snm-bcard\"><img decoding=\"async\" src=\"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/senmos-railway-hero-photo.jpg\" alt=\"Aerial view of railway tracks running past a tunnel portal\" loading=\"lazy\" \/><a class=\"snm-blabel\" href=\"https:\/\/monitorering.ki.dk\/en\/railway-settlement-monitoring\/\">Railway settlement<\/a><\/div>\n<div class=\"snm-bcard\"><img decoding=\"async\" src=\"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/senmos-construction-hero.jpg\" alt=\"Aerial view of a large construction site with excavators and materials, separated by a street from occupied apartment blocks and houses on every side\" loading=\"lazy\" \/><a class=\"snm-blabel\" href=\"https:\/\/monitorering.ki.dk\/en\/construction-environmental-monitoring\/\">Construction environment<\/a><\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"snm-section snm-last\">\n<div class=\"snm-wrap\">\n<div class=\"snm-close\">\n<h2>See it for <span class=\"snm-hl\">yourself<\/span><\/h2>\n<p>The demo is a working project with real dashboards. Or we can walk you through your own instrumentation.<\/p>\n<div class=\"snm-cta\"> <a class=\"snm-btn snm-btn-primary\" href=\"https:\/\/senmos.dk\/demo\" target=\"_blank\" rel=\"noopener\"><svg class=\"snm-btn-ic\" viewBox=\"0 0 512 512\" aria-hidden=\"true\"><path d=\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9l0 176c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\"\/><\/svg>Open the live demo<\/a> <a class=\"snm-btn snm-btn-secondary\" href=\"https:\/\/monitorering.ki.dk\/en\/demonstration\/\"><svg class=\"snm-btn-ic\" viewBox=\"0 0 448 512\" aria-hidden=\"true\"><path d=\"M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z\"\/><\/svg>Book a walkthrough<\/a> <\/div>\n<\/p><\/div>\n<\/div>\n<\/section><\/div>\n<div class=\"snm-fit\" style=\"display:none\"><script> (function(){var d=document,s=d.querySelector('.snm'),h=d.querySelector('.snm-hero'); if(!s||!h){return;} var set=function(){var t=h.getBoundingClientRect().top+(window.pageYOffset||d.documentElement.scrollTop||0); s.style.setProperty('--snm-hero-top',Math.max(0,Math.round(t))+'px');}; set(); window.addEventListener('resize',set); window.addEventListener('load',set); if(d.fonts){if(d.fonts.ready){if(d.fonts.ready.then){d.fonts.ready.then(set);}}}})(); (function(){var s=document.querySelector('.snm');if(!s){return;} var url=s.getAttribute('data-demo');if(!url){return;} var plain='https:\/\/senmos.dk\/demo'; var retarget=function(){var links=document.querySelectorAll('a[href]'); for(var i=0;i<links.length;i++){var a=links[i];var h=a.getAttribute('href')||''; if(h.charAt(h.length-1)==='\/'){h=h.substring(0,h.length-1);} if(h===plain){a.setAttribute('href',url);a.setAttribute('target','_blank');a.setAttribute('rel','noopener');}}}; retarget(); document.addEventListener('DOMContentLoaded',retarget); window.addEventListener('load',retarget);})(); (function(){var each=function(l,f){Array.prototype.forEach.call(l,f);}; each(document.querySelectorAll('.snm-slider'),function(s){ var shots=s.querySelectorAll('.snm-laptop .screen'),dots=s.querySelectorAll('.snm-dot'), cap=s.querySelector('.snm-slide-cap'),n=shots.length; if(n<2){return;} var i=0,timer=null,iv=parseInt(s.getAttribute('data-interval'),10)||5500,reduce=false; if(window.matchMedia){reduce=window.matchMedia('(prefers-reduced-motion: reduce)').matches;} var show=function(k){i=(k%n+n)%n; for(var j=0;j<n;j++){shots[j].classList.toggle('is-on',j===i); if(dots[j]){dots[j].classList.toggle('is-on',j===i);dots[j].setAttribute('aria-current',j===i?'true':'false');}} if(cap){cap.innerHTML=shots[i].getAttribute('data-cap')||'';}}; var paused=false; var stop=function(){if(timer){clearInterval(timer);timer=null;}}; var play=function(){stop();if(reduce){return;}if(paused){return;} timer=setInterval(function(){show(i+1);},iv);}; var hold=function(){paused=true;stop();}; var release=function(){paused=false;play();}; each(s.querySelectorAll('.snm-nav'),function(b){b.addEventListener('click',function(){ show(i+(parseInt(b.getAttribute('data-dir'),10)||1));play();});}); each(dots,function(b,k){b.addEventListener('click',function(){show(k);play();});}); s.addEventListener('mouseenter',hold);s.addEventListener('mouseleave',release); s.addEventListener('focusin',hold);s.addEventListener('focusout',release); show(0);play();});})(); <\/script><\/div>\n<p> <script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"Organization\", \"@id\": \"https:\/\/monitorering.ki.dk\/#organization-ki-monitoring\", \"name\": \"KI Monitoring\", \"url\": \"https:\/\/monitorering.ki.dk\", \"logo\": \"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2024\/09\/Senmos-logo-color.png\", \"description\": \"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.\", \"address\": {\"@type\": \"PostalAddress\", \"streetAddress\": \"Hejrevej 37, 3.\", \"postalCode\": \"2400\", \"addressLocality\": \"Copenhagen NV\", \"addressCountry\": \"DK\"}, \"areaServed\": \"Europe\", \"parentOrganization\": {\"@type\": \"Organization\", \"@id\": \"https:\/\/ki.dk\/#organization\", \"name\": \"KI Consulting Engineers\", \"alternateName\": \"KI R\u00e5dgivende Ingeni\u00f8rer\", \"url\": \"https:\/\/ki.dk\/om-ki\/\"}, \"makesOffer\": {\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"SoftwareApplication\", \"name\": \"Senmos\", \"applicationCategory\": \"BusinessApplication\", \"operatingSystem\": \"Web\"}}}<\/script> <script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"AboutPage\", \"url\": \"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/\", \"name\": \"About KI Monitoring | The Company Behind Senmos\", \"description\": \"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.\", \"inLanguage\": \"en\", \"mainEntity\": {\"@id\": \"https:\/\/monitorering.ki.dk\/#organization-ki-monitoring\"}}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>About KI Monitoring The company behind Senmos KI Monitoring makes Senmos: software for structural and geotechnical monitoring. 2,000+ sensors on the Senmos platform 4+ billion data points received on Senmos each day 1000 Hz dynamic &#8230; <\/p>\n<div><a href=\"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/\" class=\"more-link\">Read More<\/a><\/div>\n","protected":false},"author":9,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-blank-4.php","meta":{"_yoast_wpseo_focuskw":"KI Monitoring","_yoast_wpseo_title":"About KI Monitoring | The Company Behind Senmos","_yoast_wpseo_metadesc":"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.","rs_blank_template":"","rs_page_bg_color":"","slide_template_v7":"","_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-10878","page","type-page","status-publish","hentry","no-post-thumbnail"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>About KI Monitoring | The Company Behind Senmos<\/title>\n<meta name=\"description\" content=\"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"About KI Monitoring | The Company Behind Senmos\" \/>\n<meta property=\"og:description\" content=\"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/\" \/>\n<meta property=\"og:site_name\" content=\"KI Monitoring\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-24T14:51:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-bogibeel.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/about-ki-monitoring\\\/\",\"url\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/about-ki-monitoring\\\/\",\"name\":\"About KI Monitoring | The Company Behind Senmos\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/about-ki-monitoring\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/about-ki-monitoring\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/monitorering.ki.dk\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/case-bogibeel.jpg\",\"datePublished\":\"2026-08-24T13:04:58+00:00\",\"dateModified\":\"2026-08-24T14:51:42+00:00\",\"description\":\"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/about-ki-monitoring\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/about-ki-monitoring\\\/#primaryimage\",\"url\":\"https:\\\/\\\/monitorering.ki.dk\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/case-bogibeel.jpg\",\"contentUrl\":\"https:\\\/\\\/monitorering.ki.dk\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/case-bogibeel.jpg\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/\",\"name\":\"KI Monitorering\",\"description\":\"Geotechnical and structural monitoring in the cloud\",\"publisher\":{\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/#organization\",\"name\":\"KI R\u00e5dgivende Ingeni\u00f8rer\",\"url\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/monitorering.ki.dk\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Logo-2020_Black.png\",\"contentUrl\":\"https:\\\/\\\/monitorering.ki.dk\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Logo-2020_Black.png\",\"width\":1068,\"height\":826,\"caption\":\"KI R\u00e5dgivende Ingeni\u00f8rer\"},\"image\":{\"@id\":\"https:\\\/\\\/monitorering.ki.dk\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/5059650\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"About KI Monitoring | The Company Behind Senmos","description":"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/","og_locale":"en_US","og_type":"article","og_title":"About KI Monitoring | The Company Behind Senmos","og_description":"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.","og_url":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/","og_site_name":"KI Monitoring","article_modified_time":"2026-08-24T14:51:42+00:00","og_image":[{"url":"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-bogibeel.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/","url":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/","name":"About KI Monitoring | The Company Behind Senmos","isPartOf":{"@id":"https:\/\/monitorering.ki.dk\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/#primaryimage"},"image":{"@id":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/#primaryimage"},"thumbnailUrl":"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-bogibeel.jpg","datePublished":"2026-08-24T13:04:58+00:00","dateModified":"2026-08-24T14:51:42+00:00","description":"KI Monitoring makes Senmos, the hardware-agnostic platform for structural and geotechnical monitoring. Who we are, where we come from, what we build.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/monitorering.ki.dk\/en\/about-ki-monitoring\/#primaryimage","url":"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-bogibeel.jpg","contentUrl":"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2026\/08\/case-bogibeel.jpg"},{"@type":"WebSite","@id":"https:\/\/monitorering.ki.dk\/en\/#website","url":"https:\/\/monitorering.ki.dk\/en\/","name":"KI Monitorering","description":"Geotechnical and structural monitoring in the cloud","publisher":{"@id":"https:\/\/monitorering.ki.dk\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/monitorering.ki.dk\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/monitorering.ki.dk\/en\/#organization","name":"KI R\u00e5dgivende Ingeni\u00f8rer","url":"https:\/\/monitorering.ki.dk\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/monitorering.ki.dk\/en\/#\/schema\/logo\/image\/","url":"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2020\/06\/Logo-2020_Black.png","contentUrl":"https:\/\/monitorering.ki.dk\/wp-content\/uploads\/2020\/06\/Logo-2020_Black.png","width":1068,"height":826,"caption":"KI R\u00e5dgivende Ingeni\u00f8rer"},"image":{"@id":"https:\/\/monitorering.ki.dk\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/5059650\/"]}]}},"_links":{"self":[{"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/pages\/10878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/comments?post=10878"}],"version-history":[{"count":30,"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/pages\/10878\/revisions"}],"predecessor-version":[{"id":10972,"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/pages\/10878\/revisions\/10972"}],"wp:attachment":[{"href":"https:\/\/monitorering.ki.dk\/en\/wp-json\/wp\/v2\/media?parent=10878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}