{"id":2827,"date":"2026-07-20T14:38:14","date_gmt":"2026-07-20T12:38:14","guid":{"rendered":"https:\/\/gekkophotonics.com\/sulfur-thiosulfate-fertilizers\/how-it-works\/"},"modified":"2026-07-20T14:38:14","modified_gmt":"2026-07-20T12:38:14","slug":"how-it-works","status":"publish","type":"page","link":"https:\/\/gekkophotonics.com\/de\/sulfur-thiosulfate-fertilizers\/wie-inline-raman-funktioniert-ats-schwefelduenger\/","title":{"rendered":"How Inline Raman Works &#8211; ATS and Sulfur Fertilizers | Gekko Photonics"},"content":{"rendered":"<style>.elementor-2827 .elementor-element.elementor-element-9b4e9a0{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-2827 .elementor-element.elementor-element-9957876 > .elementor-element-populated{padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-2827 .elementor-element.elementor-element-9957876{width:100%;}}<\/style>\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2827\" class=\"elementor elementor-2827 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9b4e9a0 gk-ms-host elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9b4e9a0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9957876 gk-ms-col\" data-id=\"9957876\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2b3b070 elementor-widget elementor-widget-html\" data-id=\"2b3b070\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>.gk-ms-host,.gk-ms-host>.elementor-container,.gk-ms-col,.gk-ms-col>.elementor-widget-wrap,.gk-ms-col .elementor-widget-html,.gk-ms-col .elementor-widget-html>.elementor-widget-container{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}<\/style>\n<style>\n\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');\n\n#gkms{\n  \/* --- brand tokens (from colors_and_type.css) --- *\/\n  --gk-blue:#019FE2; --gk-blue-600:#0088C2; --gk-blue-400:#3DB6E8; --gk-blue-100:#D6EFFA; --gk-blue-50:#EDF8FD;\n  --gk-navy-deep:#2B2E83; --gk-navy-dark:#192A3D; --gk-navy-800:#1F2A4A; --gk-slate:#3A4F66;\n  --gk-gold:#F3C969; --gk-white:#FFFFFF; --gk-off:#FAFBFC;\n  --g50:#F5F6F8; --g100:#E8EBEF; --g200:#D3D8DF; --g300:#B5BCC5; --g400:#8A93A0; --g500:#5E6676; --g600:#3F485A; --g700:#2A3342; --black:#0D0D0D;\n  --ok:#2BB673; --warn:#F3C969; --bad:#E04B4B;\n  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:24px; --r-pill:999px;\n  --sh-xs:0 1px 2px rgba(25,42,61,.06);\n  --sh-sm:0 1px 3px rgba(25,42,61,.08),0 1px 2px rgba(25,42,61,.04);\n  --sh-md:0 6px 16px rgba(25,42,61,.10),0 2px 4px rgba(25,42,61,.06);\n  --sh-lg:0 18px 40px rgba(25,42,61,.14),0 4px 10px rgba(25,42,61,.06);\n  --ease:cubic-bezier(0.22,1,0.36,1);\n  --font:\"Manrope\",system-ui,-apple-system,\"Segoe UI\",sans-serif;\n  font-family:var(--font); color:var(--gk-slate); font-size:16px; line-height:1.5;\n  -webkit-font-smoothing:antialiased; background:var(--gk-white);\n}\n#gkms *,#gkms *::before,#gkms *::after{box-sizing:border-box;margin:0;padding:0}\n#gkms img{max-width:100%;display:block}\n#gkms a{color:inherit;text-decoration:none}\n#gkms h1,#gkms h2,#gkms h3,#gkms h4{color:var(--gk-navy-deep);line-height:1.1;letter-spacing:-.02em;font-weight:800}\n#gkms .wrap{max-width:1200px;margin:0 auto;padding:0 24px}\n#gkms section{padding:clamp(72px,9vw,112px) 0}\n#gkms .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gk-blue)}\n#gkms .eyebrow::before{content:\"\";width:24px;height:1px;background:var(--gk-blue);display:inline-block}\n#gkms .eyebrow.no-line::before{display:none}\n#gkms .lead{font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--gk-slate)}\n#gkms .display{font-size:clamp(40px,5vw,72px);font-weight:800;line-height:1.02;letter-spacing:-.02em;color:var(--gk-navy-deep)}\n#gkms .h2{font-size:clamp(28px,3vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.08}\n#gkms .sec-head{max-width:820px;margin-bottom:64px;position:relative}\n#gkms .sec-head .h2{margin:18px 0 0}\n#gkms .sec-head .lead{margin-top:18px;max-width:64ch}\n#gkms .sec-head .num{position:absolute;right:-40px;top:-34px;font-size:clamp(96px,11vw,160px);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--gk-navy-deep);opacity:.05;pointer-events:none;font-variant-numeric:tabular-nums;user-select:none}\n@media(max-width:1100px){#gkms .sec-head .num{display:none}}\n#gkms .band .sec-head .num{color:#fff;opacity:.06}\n\n\/* ---- progress + nav ---- *\/\n#gkms .progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gk-blue);z-index:120;transition:width .1s linear}\n#gkms .nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid var(--g100)}\n#gkms .nav-in{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:28px}\n#gkms .nav .logo{height:34px;width:auto}\n#gkms .nav-links{display:flex;gap:24px;flex:1;font-size:14px;font-weight:600}\n#gkms .nav-links a{color:var(--gk-navy-deep);position:relative;padding:4px 0;transition:color .15s}\n#gkms .nav-links a::after{content:\"\";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--gk-blue);transition:width .2s var(--ease)}\n#gkms .nav-links a:hover,#gkms .nav-links a.active{color:var(--gk-blue)}\n#gkms .nav-links a.active::after{width:100%}\n#gkms .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-weight:600;font-size:14px;padding:12px 22px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:.18s var(--ease);white-space:nowrap}\n#gkms .btn-primary{background:var(--gk-blue);color:#fff;box-shadow:0 6px 18px rgba(1,159,226,.30)}\n#gkms .btn-primary:hover{background:var(--gk-blue-600);transform:translateY(-1px)}\n#gkms .btn-navy{background:var(--gk-navy-deep);color:#fff}\n#gkms .btn-navy:hover{background:#232566;transform:translateY(-1px)}\n#gkms .btn-ghost{background:transparent;color:var(--gk-navy-deep);border-color:var(--g200)}\n#gkms .btn-ghost:hover{border-color:var(--gk-blue);color:var(--gk-blue)}\n#gkms .btn-light{background:#fff;color:var(--gk-navy-deep)}\n#gkms .btn-light:hover{transform:translateY(-1px)}\n#gkms .btn-outline-light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}\n#gkms .btn-outline-light:hover{background:rgba(255,255,255,.14)}\n@media(max-width:940px){#gkms .nav-links{display:none}}\n\n\/* ---- hero ---- *\/\n#gkms .hero{position:relative;overflow:hidden;color:#fff;padding:150px 0 130px;\n  background-image:linear-gradient(100deg,rgba(15,22,38,.96) 0%,rgba(25,42,61,.86) 42%,rgba(25,42,61,.42) 100%),url('https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/07\/hero-sulfur-wide.jpg');\n  background-size:cover;background-position:center}\n#gkms .hero .spectrum{position:absolute;inset:0;width:100%;height:100%;opacity:.28;pointer-events:none}\n#gkms .hero .spectrum path{fill:none;stroke-width:2}\n#gkms .hero-in{position:relative;max-width:1200px;margin:0 auto;padding:0 24px}\n#gkms .hero .display{color:#fff;max-width:17ch}\n#gkms .hero .display .accent{color:var(--gk-blue-400)}\n#gkms .hero .lead{color:#C8D0DC;max-width:56ch;margin-top:22px}\n#gkms .hero .eyebrow{color:var(--gk-blue-400)}\n#gkms .hero .eyebrow::before{background:var(--gk-blue-400)}\n#gkms .badges{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 32px}\n#gkms .badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:8px 15px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#DCE4EF}\n#gkms .badge b{color:#fff;font-weight:800}\n#gkms .hero-cta{display:flex;flex-wrap:wrap;gap:12px}\n#gkms .scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);color:rgba(255,255,255,.5);font-size:22px;animation:bob 1.8s var(--ease) infinite}\n@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}\n\n\/* ---- generic reveal ---- *\/\n#gkms .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}\n#gkms .reveal.in{opacity:1;transform:none}\n\n\/* ---- context strip (spec-sheet band) ---- *\/\n#gkms .ctx{background:var(--gk-off)}\n#gkms .ctx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}\n#gkms .ctx-item{padding:2px 30px}\n#gkms .ctx-item + .ctx-item{border-left:1px solid var(--g200)}\n@media(max-width:820px){#gkms .ctx-grid{grid-template-columns:repeat(2,1fr);gap:34px 0}\n  #gkms .ctx-item{padding:2px 26px}\n  #gkms .ctx-item:nth-child(odd){padding-left:0;border-left:none}\n  #gkms .ctx-item:nth-child(3),#gkms .ctx-item:nth-child(4){padding-top:0}}\n@media(max-width:520px){#gkms .ctx-grid{grid-template-columns:1fr;gap:28px 0}\n  #gkms .ctx-item{padding:0;border-left:none}}\n#gkms .ctx-item:first-child{padding-left:0}\n#gkms .ctx-item .k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gk-blue);margin-bottom:12px}\n#gkms .ctx-item .v{font-weight:800;color:var(--gk-navy-deep);font-size:18px;line-height:1.22;letter-spacing:-.01em}\n#gkms .ctx-item p{font-size:14px;color:var(--gk-slate);margin-top:10px;line-height:1.55}\n\n\/* ---- chemistry tabs ---- *\/\n#gkms .tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}\n#gkms .tab{font-family:var(--font);font-weight:700;font-size:14px;padding:11px 20px;border-radius:var(--r-pill);border:1px solid var(--g200);background:#fff;color:var(--gk-slate);cursor:pointer;transition:.18s var(--ease)}\n#gkms .tab:hover{border-color:var(--gk-blue-400);color:var(--gk-blue)}\n#gkms .tab.active{background:var(--gk-navy-deep);border-color:var(--gk-navy-deep);color:#fff}\n#gkms .tabpanels{position:relative;background:var(--gk-off);border:1px solid var(--g100);border-radius:var(--r-xl);padding:44px}\n@media(max-width:820px){#gkms .tabpanels{padding:26px}}\n#gkms .tabpanel{display:none;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}\n#gkms .tabpanel.active{display:grid;animation:fade .4s var(--ease)}\n@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}\n@media(max-width:820px){#gkms .tabpanel.active{grid-template-columns:1fr}}\n#gkms .tabpanel .tp-tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gk-blue)}\n#gkms .tabpanel h3{font-size:28px;margin:8px 0 14px}\n#gkms .tabpanel p{color:var(--gk-slate);line-height:1.65;font-size:16px}\n#gkms .tabpanel ul{list-style:none;margin:18px 0 0;display:flex;flex-direction:column;gap:10px}\n#gkms .tabpanel li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--gk-slate)}\n#gkms .tabpanel li::before{content:\"\";flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--gk-blue);margin-top:8px}\n#gkms .tp-photo{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4\/3;background:var(--g100)}\n#gkms .tp-photo img{width:100%;height:100%;object-fit:cover}\n\n\/* ---- analyte + spectrum explorer ---- *\/\n#gkms .explorer{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:stretch}\n@media(max-width:900px){#gkms .explorer{grid-template-columns:1fr}}\n#gkms .analyte-list{display:flex;flex-direction:column;gap:10px}\n#gkms .analyte{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;font-family:var(--font);\n  background:#fff;border:1px solid var(--g200);border-radius:var(--r-md);padding:16px 18px;cursor:pointer;transition:.18s var(--ease)}\n#gkms .analyte:hover{border-color:var(--gk-blue-400);transform:translateX(3px)}\n#gkms .analyte.active{border-color:var(--gk-blue);background:var(--gk-blue-50);box-shadow:var(--sh-sm)}\n#gkms .analyte .n{font-weight:700;color:var(--gk-navy-deep);font-size:15px}\n#gkms .analyte .band{font-size:12px;font-weight:700;color:var(--gk-blue);font-variant-numeric:tabular-nums;background:var(--gk-blue-100);padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap}\n#gkms .spectrum-panel{background:var(--gk-navy-dark);border-radius:var(--r-xl);padding:28px;color:#fff;display:flex;flex-direction:column;box-shadow:var(--sh-lg)}\n#gkms .spectrum-panel .sp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}\n#gkms .spectrum-panel .sp-live{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gk-blue-400);display:flex;align-items:center;gap:7px}\n#gkms .spectrum-panel .sp-live .dot{width:8px;height:8px;border-radius:999px;background:var(--gk-blue-400);animation:pulse 1.4s infinite}\n@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}\n#gkms .spectrum-panel .sp-read{font-variant-numeric:tabular-nums;font-size:13px;color:#93A1B5}\n#gkms .spec-svg{width:100%;height:200px;margin:10px 0 6px}\n#gkms .spec-svg .grid line{stroke:rgba(255,255,255,.06);stroke-width:1}\n#gkms .spec-svg .trace{fill:none;stroke:var(--gk-blue-400);stroke-width:2}\n#gkms .spec-svg .marker{stroke:var(--gk-gold);stroke-width:2;stroke-dasharray:4 4;opacity:0;transition:opacity .3s}\n#gkms .spec-svg .marker.on{opacity:1}\n#gkms .spec-svg .mlabel{fill:var(--gk-gold);font-size:11px;font-weight:700;opacity:0;transition:opacity .3s}\n#gkms .spec-svg .mlabel.on{opacity:1}\n#gkms .spec-detail{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin-top:auto}\n#gkms .spec-detail .sd-name{font-weight:800;color:#fff;font-size:18px}\n#gkms .spec-detail .sd-desc{color:#C8D0DC;font-size:14px;line-height:1.55;margin-top:6px}\n#gkms .spec-axis{font-size:11px;color:#6E7A8C;text-align:center;letter-spacing:.06em}\n\n\/* ---- lab lag vs inline ---- *\/\n#gkms .versus{display:grid;grid-template-columns:1fr 1fr;gap:22px}\n@media(max-width:820px){#gkms .versus{grid-template-columns:1fr}}\n#gkms .vcard{border-radius:var(--r-xl);padding:36px 32px;position:relative;overflow:hidden}\n#gkms .vcard::before{content:\"\";position:absolute;left:0;top:0;right:0;height:4px}\n#gkms .vcard.old{background:var(--g50);border:1px solid var(--g200)}\n#gkms .vcard.old::before{background:var(--bad);opacity:.55}\n#gkms .vcard.new{background:linear-gradient(135deg,var(--gk-navy-deep) 0%,#1F2A6B 100%);color:#fff;box-shadow:var(--sh-lg)}\n#gkms .vcard.new::before{background:var(--gk-blue)}\n#gkms .vcard .vk{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}\n#gkms .vcard.old .vk{color:var(--g500)}\n#gkms .vcard.new .vk{color:var(--gk-blue-400)}\n#gkms .vcard .vtime{font-size:clamp(40px,6vw,64px);font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}\n#gkms .vcard.old .vtime{color:var(--gk-navy-deep)}\n#gkms .vcard.new .vtime{color:#fff}\n#gkms .vcard .vtime .u{font-size:.35em;font-weight:700;margin-left:6px;color:var(--gk-blue)}\n#gkms .vcard.old .vtime .u{color:var(--g400)}\n#gkms .vbar{height:10px;border-radius:999px;background:rgba(0,0,0,.08);margin:22px 0 16px;overflow:hidden}\n#gkms .vcard.new .vbar{background:rgba(255,255,255,.12)}\n#gkms .vbar span{display:block;height:100%;border-radius:999px;width:0;transition:width 1.2s var(--ease)}\n#gkms .vcard.old .vbar span{background:var(--bad)}\n#gkms .vcard.new .vbar span{background:var(--gk-blue)}\n#gkms .vcard p{font-size:14px;line-height:1.55}\n#gkms .vcard.old p{color:var(--gk-slate)}\n#gkms .vcard.new p{color:#C8D0DC}\n\n\/* ---- how \/ probe cycle ---- *\/\n#gkms .how-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}\n@media(max-width:900px){#gkms .how-grid{grid-template-columns:1fr}}\n#gkms .cycle{background:var(--gk-navy-dark);border-radius:var(--r-xl);padding:34px;color:#fff;box-shadow:var(--sh-lg)}\n#gkms .cycle .ring{display:flex;justify-content:center;gap:0;margin-bottom:24px}\n#gkms .cyc-step{flex:1;text-align:center;position:relative;padding:0 6px}\n#gkms .cyc-step .ci{width:66px;height:66px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;\n  font-size:26px;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.14);transition:.35s var(--ease)}\n#gkms .cyc-step.on .ci{background:var(--gk-blue);border-color:var(--gk-blue);box-shadow:0 0 0 6px rgba(1,159,226,.22);transform:scale(1.08)}\n#gkms .cyc-step .ct{font-size:13px;font-weight:700;color:#C8D0DC}\n#gkms .cyc-step.on .ct{color:#fff}\n#gkms .cyc-arrow{display:flex;align-items:center;color:rgba(255,255,255,.3);font-size:18px}\n#gkms .cycle .cyc-cap{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;color:#C8D0DC;font-size:14px;line-height:1.6}\n#gkms .cycle .cyc-cap b{color:#fff}\n#gkms .how-points{display:flex;flex-direction:column;gap:22px}\n#gkms .how-point{display:flex;gap:16px;align-items:flex-start}\n#gkms .how-point .hi{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:var(--gk-blue-50);color:var(--gk-blue);display:flex;align-items:center;justify-content:center;font-size:22px}\n#gkms .how-point h4{font-size:18px;color:var(--gk-navy-deep);margin-bottom:5px}\n#gkms .how-point p{font-size:15px;color:var(--gk-slate);line-height:1.55}\n\n\/* ---- metric band ---- *\/\n#gkms .band{background:linear-gradient(120deg,#141F30 0%,var(--gk-navy-dark) 55%,#1B3048 100%);color:#fff;position:relative;overflow:hidden}\n#gkms .band::before{content:\"\";position:absolute;inset:0;pointer-events:none;\n  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);\n  background-size:56px 56px;mask-image:radial-gradient(70rem 40rem at 30% 0%,#000 0%,transparent 70%)}\n#gkms .band .wrap{position:relative}\n#gkms .band .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}\n@media(max-width:820px){#gkms .band .metrics{grid-template-columns:repeat(2,1fr)}}\n#gkms .metric{border-left:1px solid rgba(255,255,255,.14);padding-left:22px}\n#gkms .metric .mk{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gk-blue-400);margin-bottom:12px}\n#gkms .metric .mv{font-size:clamp(44px,4.4vw,68px);font-weight:800;letter-spacing:-.02em;line-height:.95;font-variant-numeric:tabular-nums}\n#gkms .metric .mv .u{font-size:.38em;color:var(--gk-blue-400);margin-left:4px;font-weight:800}\n#gkms .metric p{font-size:14px;color:#C8D0DC;margin-top:14px;line-height:1.45}\n\n\/* ---- proof cards ---- *\/\n#gkms .proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}\n@media(max-width:900px){#gkms .proof-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}}\n#gkms .proof{background:#fff;border:1px solid var(--g100);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);display:flex;flex-direction:column}\n#gkms .proof:hover{box-shadow:var(--sh-lg);transform:translateY(-4px);border-color:var(--gk-blue-100)}\n#gkms .proof .pph{aspect-ratio:16\/10;background:var(--g100);overflow:hidden;position:relative}\n#gkms .proof .pph img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}\n#gkms .proof:hover .pph img{transform:scale(1.045)}\n#gkms .proof .pph .ptag{position:absolute;left:14px;top:14px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(15,22,38,.72);backdrop-filter:blur(6px);padding:6px 11px;border-radius:var(--r-pill)}\n#gkms .proof .pbody{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}\n#gkms .proof h4{color:var(--gk-navy-deep);font-size:18px;line-height:1.25;margin:0 0 12px}\n#gkms .proof p{font-size:14px;color:var(--gk-slate);line-height:1.62}\n#gkms .proof p b{color:var(--gk-navy-deep);font-variant-numeric:tabular-nums}\n\n\/* ---- duel ---- *\/\n#gkms .duel{background:#fff;border:1px solid var(--g100);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md)}\n#gkms .duel-row{display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch}\n#gkms .duel-row .mid{display:none}\n#gkms .duel-row .old,#gkms .duel-row .new{padding:18px 28px;font-size:15px;display:flex;align-items:center}\n#gkms .duel-row .old{color:var(--g500);background:var(--g50);border-bottom:1px solid var(--g100)}\n#gkms .duel-row .new{color:var(--gk-navy-deep);font-weight:600;background:var(--gk-blue-50);border-bottom:1px solid rgba(1,159,226,.14);border-left:2px solid var(--gk-blue)}\n#gkms .duel-row:last-child .old{border-bottom:none}\n#gkms .duel-row:last-child .new{border-bottom:none}\n#gkms .duel-row.duel-head .old,#gkms .duel-row.duel-head .new{font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.1em;padding-top:20px;padding-bottom:20px}\n#gkms .duel-row.duel-head .old{background:var(--g100);color:var(--g500)}\n#gkms .duel-row.duel-head .new{background:var(--gk-navy-deep);color:#fff;border-bottom:none;border-left-color:var(--gk-navy-deep)}\n#gkms .duel .ck{color:var(--gk-blue);font-weight:800;margin-right:10px}\n#gkms .duel .xk{color:var(--g300);font-weight:800;margin-right:10px}\n@media(max-width:720px){#gkms .duel-row{grid-template-columns:1fr}#gkms .duel-row .old{border-bottom:1px dashed var(--g200)}}\n\n\/* ---- compliance ---- *\/\n#gkms .reg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}\n@media(max-width:820px){#gkms .reg-grid{grid-template-columns:1fr}}\n#gkms .reg{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:24px}\n#gkms .reg .flag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;padding:5px 11px;border-radius:6px;background:var(--gk-blue);color:#fff;text-transform:uppercase;margin-bottom:14px}\n#gkms .reg h4{font-size:17px;color:#fff;margin-bottom:6px}\n#gkms .reg p{font-size:14px;color:#C8D0DC;line-height:1.55}\n\n\/* ---- replace ---- *\/\n#gkms .repl{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}\n@media(max-width:720px){#gkms .repl{grid-template-columns:1fr}}\n#gkms .repl .item{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--g100);border-radius:var(--r-md);padding:18px 20px}\n#gkms .repl .lag{flex:0 0 auto;font-size:12px;font-weight:800;color:var(--bad);background:#FDE9E9;padding:5px 10px;border-radius:6px;white-space:nowrap}\n#gkms .repl .m{font-weight:700;color:var(--gk-navy-deep);font-size:15px}\n#gkms .repl .s{font-size:13px;color:var(--gk-slate);margin-top:3px}\n\n\/* ---- product ---- *\/\n#gkms .product{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}\n@media(max-width:900px){#gkms .product{grid-template-columns:1fr}}\n#gkms .prod-photo{background:radial-gradient(60% 55% at 50% 42%,#101321 0%,#010105 72%);border-radius:var(--r-xl);padding:36px 20px;box-shadow:var(--sh-lg);text-align:center;border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}\n#gkms .prod-photo::after{content:\"\";position:absolute;left:10%;right:10%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(1,159,226,.45),transparent)}\n#gkms .prod-photo img{margin:0 auto;max-height:460px;width:auto;position:relative}\n#gkms .spec-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--g100);margin-top:22px}\n#gkms .spec-table td{padding:12px 18px;font-size:14px;border-bottom:1px solid var(--g100)}\n#gkms .spec-table tr:last-child td{border-bottom:none}\n#gkms .spec-table td:first-child{font-weight:600;color:var(--gk-navy-deep);width:44%}\n#gkms .spec-table td:last-child{color:var(--gk-slate)}\n\n\/* ---- CTA ---- *\/\n#gkms .cta{background:linear-gradient(135deg,#019FE2 0%,#2B2E83 100%);color:#fff;border-radius:var(--r-xl);padding:64px 48px;text-align:center;position:relative;overflow:hidden}\n#gkms .cta::after{content:\"\";position:absolute;inset:0;background:radial-gradient(40rem 20rem at 80% 120%,rgba(243,201,105,.18),transparent 60%);pointer-events:none}\n#gkms .cta .h2{color:#fff;max-width:20ch;margin:14px auto 0;position:relative}\n#gkms .cta p{color:rgba(255,255,255,.92);max-width:58ch;margin:16px auto 0;position:relative;font-size:17px;line-height:1.6}\n#gkms .cta .hero-cta{justify-content:center;margin-top:30px;position:relative}\n#gkms .cta .sub{margin-top:18px;font-size:13px;color:rgba(255,255,255,.82);position:relative}\n\n\/* ---- workshop strip (secondary, demoted) ---- *\/\n#gkms .strip{background:var(--gk-off);border-top:1px solid var(--g100);border-bottom:1px solid var(--g100)}\n#gkms .strip-in{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:34px 0}\n#gkms .strip .st-l{display:flex;align-items:center;gap:16px}\n#gkms .strip .st-ic{width:48px;height:48px;border-radius:12px;background:var(--gk-blue-50);color:var(--gk-blue);display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 auto}\n#gkms .strip h4{font-size:18px;color:var(--gk-navy-deep)}\n#gkms .strip p{font-size:14px;color:var(--gk-slate);margin-top:2px}\n\n\/* ---- footer ---- *\/\n#gkms .foot{background:var(--black);color:#C8D0DC;padding:72px 0 30px}\n#gkms .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:36px}\n@media(max-width:820px){#gkms .foot-grid{grid-template-columns:1fr 1fr}}\n#gkms .foot .flogo{height:42px;width:auto;filter:brightness(0) invert(1);margin-bottom:18px}\n#gkms .foot .ftag{font-size:14px;color:#8A93A0;line-height:1.6;max-width:34ch}\n#gkms .foot h5{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gk-blue);margin-bottom:16px}\n#gkms .foot a{display:block;font-size:13px;color:#C8D0DC;line-height:2}\n#gkms .foot a:hover{color:var(--gk-blue-400)}\n#gkms .foot .addr{font-size:13px;color:#8A93A0;line-height:1.7;margin-top:4px}\n#gkms .foot .fbottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:52px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#5E6676}\n#gkms .foot .fbottom .tagpl{color:var(--gk-blue);font-weight:700;letter-spacing:.14em;text-transform:uppercase}\n#gkms .mono-note{font-size:12px;color:var(--g400)}\n\n\/* ---- feasibility request form (custom, posts to gekko\/v1\/rsvp) ---- *\/\n#gkms .gkms-form{max-width:560px;margin:28px auto 0;text-align:left;position:relative}\n#gkms .gkms-form-q{font-weight:700;font-size:14px;color:#fff;margin:0 0 12px;text-align:center}\n#gkms .gkms-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}\n#gkms .gkms-opt{display:flex;align-items:center;justify-content:center;text-align:center;gap:8px;padding:13px 10px;border:1.5px solid rgba(255,255,255,.34);border-radius:var(--r-md);background:rgba(255,255,255,.08);color:#fff;font-family:var(--font);font-weight:600;font-size:14px;line-height:1.25;cursor:pointer;transition:.15s var(--ease)}\n#gkms .gkms-opt:hover{border-color:#fff;background:rgba(255,255,255,.16)}\n#gkms .gkms-opt.is-sel{background:#fff;color:var(--gk-navy-deep);border-color:#fff}\n#gkms .gkms-row{display:flex;gap:10px;flex-wrap:wrap}\n#gkms .gkms-email{flex:1 1 240px;min-width:0;padding:14px 15px;height:auto;line-height:1.4;border:1.5px solid rgba(255,255,255,.34);border-radius:var(--r-md);background:rgba(255,255,255,.96);color:var(--gk-navy-deep);font-family:var(--font);font-size:15px}\n#gkms .gkms-email::placeholder{color:var(--g400)}\n#gkms .gkms-email:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.25)}\n#gkms .gkms-submit{flex:0 0 auto;box-shadow:0 6px 18px rgba(13,13,13,.18)}\n#gkms .gkms-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}\n#gkms .gkms-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;font-size:12.5px;color:rgba(255,255,255,.9);line-height:1.5;cursor:pointer;text-align:left}\n#gkms .gkms-consent-cb{flex:none;width:18px;height:18px;margin-top:1px;accent-color:#fff;cursor:pointer}\n#gkms .gkms-consent a{color:#fff;text-decoration:underline}\n#gkms .gkms-req{color:var(--gk-gold)}\n#gkms .gkms-msg{margin:12px 0 0;font-size:14px;min-height:1px;text-align:center;color:#fff}\n#gkms .gkms-msg.err{color:#FFDADA}\n#gkms .gkms-done{max-width:560px;margin:28px auto 0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.30);border-radius:var(--r-lg);padding:24px;text-align:center;color:#fff;font-size:16px;font-weight:600;line-height:1.5}\n#gkms .cta-alt{margin-top:20px;position:relative}\n#gkms .cta-alt a{color:#fff;font-weight:600;font-size:14px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}\n#gkms .cta-alt a:hover{border-color:#fff}\n@media(max-width:560px){#gkms .gkms-choices{grid-template-columns:1fr}}\n\n\/* ---- inline line icons (replacing emoji) ---- *\/\n#gkms .ci svg{width:28px;height:28px;display:block;color:#DCE4EF}\n#gkms .cyc-step.on .ci svg{color:#fff}\n#gkms .how-point .hi svg{width:24px;height:24px;display:block}\n#gkms .strip .st-ic svg{width:26px;height:26px;display:block}\n#gkms .gkms-hint{margin:0 0 16px;font-size:13px;color:rgba(255,255,255,.88);line-height:1.55;text-align:center}\n#gkms .gkms-submit{transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}\n#gkms .gkms-submit.is-check{background:var(--ok);border-color:var(--ok);color:#fff;pointer-events:none}\n#gkms .gkms-submit svg{width:18px;height:18px;flex:0 0 auto;margin-right:2px}\n\n\n\/* ---- multi-page additions ---- *\/\n#gkms .subhero{position:relative;overflow:hidden;color:#fff;padding:120px 0 72px;\n  background:linear-gradient(115deg,#0F1626 0%,#192A3D 55%,#1F2A4A 100%)}\n#gkms .subhero .spectrum{position:absolute;inset:0;width:100%;height:100%;opacity:.20;pointer-events:none}\n#gkms .subhero .display{color:#fff;max-width:22ch;font-size:clamp(34px,4.4vw,54px)}\n#gkms .subhero .display .accent{color:var(--gk-blue-400)}\n#gkms .subhero .lead{color:#C8D0DC;max-width:62ch;margin-top:18px}\n#gkms .subhero .eyebrow{color:var(--gk-blue-400)}\n#gkms .subhero .eyebrow::before{background:var(--gk-blue-400)}\n#gkms .crumb{font-size:13px;color:#8A93A0;margin-bottom:18px}\n#gkms .crumb a{color:#C8D0DC}\n#gkms .crumb a:hover{color:#fff}\n#gkms .teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}\n#gkms a.teaser{display:flex;flex-direction:column;background:#fff;border:1px solid var(--g100);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:.2s var(--ease);color:inherit}\n#gkms a.teaser:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--gk-blue-100)}\n#gkms .teaser .tph{height:230px;overflow:hidden}\n#gkms .teaser .tph img{width:100%;height:100%;object-fit:cover}\n#gkms .teaser .tbody{padding:20px 22px 22px}\n#gkms .teaser .tk{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gk-blue);margin-bottom:8px}\n#gkms .teaser h3{font-size:18px;color:var(--gk-navy-deep);margin-bottom:6px}\n#gkms .teaser p{font-size:14px;color:var(--gk-slate);line-height:1.55}\n#gkms .teaser .tgo{margin-top:auto;padding-top:14px;font-size:13.5px;font-weight:700;color:var(--gk-blue)}\n@media(max-width:940px){#gkms .teaser-grid{grid-template-columns:1fr}}\n#gkms .pager{display:flex;justify-content:space-between;gap:14px;max-width:1200px;margin:0 auto;padding:34px 24px}\n#gkms .pager a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--gk-navy-deep)}\n#gkms .pager a:hover{color:var(--gk-blue)}\n\/* ---- packshot rule: no frame, no background, full device visible ---- *\/\n#gkms .prod-photo{background:none;border:none;box-shadow:none;padding:0;border-radius:0;overflow:visible}\n#gkms .prod-photo::after{display:none}\n#gkms .prod-photo img{max-height:560px;max-width:100%;width:auto;object-fit:contain}\n#gkms .packshot-stage{background:none;border:0;box-shadow:none;padding:0;text-align:center}\n#gkms .packshot-stage img{max-width:100%;height:auto;max-height:520px;object-fit:contain;filter:drop-shadow(0 24px 42px rgba(25,42,61,.28))}\n#gkms .tabpanel.active:not(:has(img)){grid-template-columns:1fr!important;max-width:840px}\n#gkms .product:not(:has(img)){grid-template-columns:1fr!important;max-width:840px}\n#gkms .how-grid:not(:has(img)):not(:has(.cycle)){grid-template-columns:1fr!important;max-width:840px}\n\/* ---- click-to-load YouTube facade ---- *\/\n#gkms .vid-embed{position:relative;width:100%;aspect-ratio:16\/9;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);background:#0F1626}\n#gkms .vid-embed .yt-facade{display:block;width:100%;height:100%;margin:0;padding:0;border:0;cursor:pointer;background:#0F1626;position:relative}\n#gkms .vid-embed .yt-facade img{width:100%;height:100%;object-fit:cover;display:block}\n#gkms .vid-embed .yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}\n#gkms .vid-embed .yt-play svg{width:74px;height:auto;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .18s var(--ease)}\n#gkms .vid-embed .yt-facade:hover .yt-play svg,#gkms .vid-embed .yt-facade:focus-visible .yt-play svg{transform:scale(1.09)}\n#gkms .vid-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}\n\n<\/style>\n\n<div id=\"gkms\">\n<div id=\"gkms-progress\" style=\"position:fixed;top:0;left:0;height:3px;background:var(--gk-blue);width:0;z-index:200\"><\/div>\n<nav class=\"nav\">\n    <div class=\"nav-in\">\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/\"><img decoding=\"async\" class=\"logo\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/07\/logo-full-2.png\" alt=\"Gekko Photonics\"><\/a>\n      <div class=\"nav-links\">\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/\">Home<\/a>\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/chemistry\/\">Chemistry<\/a>\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/what-we-measure\/\">What we measure<\/a>\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/how-it-works\/\" class=\"active\">How it works<\/a>\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/proof\/\">Proof<\/a>\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/compliance\/\">Compliance<\/a>\n      <a href=\"\/sulfur-thiosulfate-fertilizers\/instrument\/\">Instrument<\/a>\n      <\/div>\n      <a class=\"btn btn-primary\" href=\"#contact\">Test on your samples<\/a>\n    <\/div>\n  <\/nav>\n<header class=\"subhero\">\n  <svg class=\"spectrum\" viewBox=\"0 0 1200 420\" preserveAspectRatio=\"none\" aria-hidden=\"true\">\n    <path d=\"M0,320 L90,312 L150,290 L195,195 L240,305 L315,292 L375,185 L420,305 L480,262 L540,135 L600,290 L660,276 L720,225 L780,296 L840,282 L900,205 L960,300 L1020,288 L1080,240 L1140,292 L1200,270\" fill=\"none\" stroke=\"#019FE2\" stroke-width=\"2\"><\/path>\n    <path d=\"M0,335 L90,328 L150,318 L195,245 L240,325 L315,312 L375,232 L420,322 L480,292 L540,196 L600,312 L660,300 L720,258 L780,318 L840,305 L900,242 L960,320 L1020,308 L1080,272 L1140,314 L1200,295\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1\" stroke-dasharray=\"4 6\"><\/path>\n  <\/svg>\n  <div class=\"hero-in\" style=\"position:relative\">\n    <div class=\"crumb\"><a href=\"\/sulfur-thiosulfate-fertilizers\/\">Sulfur &amp; thiosulfate fertilizers<\/a> \/ How it works<\/div>\n    <span class=\"eyebrow\">How it works<\/span>\n    <h1 class=\"display\" style=\"margin-top:16px\">From a molecular fingerprint to a value in your <span class=\"accent\">DCS<\/span>.<\/h1>\n    <p class=\"lead\">Inline means the measurement sits in the process itself - the probe stays in the absorption stream, pipeline or tank and reads 24\/7 with no sampling. This is the full chain for ATS, KTS\/CaTS and AMS: Raman scattering off the sulfur oxyanions into a raw spectrum, chemometric models in Spectrally OS, and process values handed straight to your control system.<\/p>\n  <\/div>\n<\/header>\n\n<!-- ===== 01 \u00b7 RAMAN PRINCIPLE ===== -->\n<section id=\"principle\">\n  <div class=\"wrap\">\n    <div class=\"sec-head reveal\">\n      <span class=\"num\">01<\/span>\n      <span class=\"eyebrow\">The principle<\/span>\n      <h2 class=\"h2\">A molecular fingerprint, read with laser light.<\/h2>\n      <p class=\"lead\">Shine monochromatic laser light into the absorption liquor. Most of it scatters back unchanged. A small fraction exchanges energy with molecular vibrations and returns shifted - and those shifts are characteristic of the bonds that caused them. Thiosulfate and sulfate are strong Raman-active oxyanions, so the result is a spectrum that works like a fingerprint of the sulfur chemistry in the stream.<\/p>\n    <\/div>\n    <div class=\"how-grid\">\n      <div class=\"how-points\">\n        <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M2 12h8\"\/><circle cx=\"13\" cy=\"12\" r=\"2.2\"\/><path d=\"M15 10.5l4.5-3M15 13.5l4.5 3M15.4 12H21\"\/><\/svg><\/div><div><h4>Inelastic scattering carries the information<\/h4><p>The laser (785 or 1064 nm) illuminates the medium through the immersion probe. Photons that scatter inelastically shift in wavelength by amounts set by the molecular vibrations they met. Plotting intensity against Raman shift (cm&#8315;&sup1;) gives the raw spectrum, and band intensity is proportional to concentration.<\/p><\/div><\/div>\n        <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M2.5 16.5l2.5-1.5 2-6.5 2.5 9 2-11 2.5 8 2-3.5 2.5 2 3-1.5\"\/><\/svg><\/div><div><h4>A fingerprint, not a proxy<\/h4><p>Raman bands are narrow and characteristic of specific substances, so thiosulfate concentration, the N\/S ratio and sulfate can be read from one spectrum. That is the difference from densitometry, which reads a concentration proxy only and cannot tell you the composition behind the number.<\/p><\/div><\/div>\n        <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3.5c3 3.5 5 6.2 5 8.8a5 5 0 0 1-10 0c0-2.6 2-5.3 5-8.8z\"\/><\/svg><\/div><div><h4>Water stays out of the way<\/h4><p>Water is a weak Raman scatterer. In aqueous sulfur-fertilizer liquors - ATS, KTS\/CaTS, AMS - the water background does not drown the analyte signal. In FT-IR the opposite holds: water absorbs strongly and destroys the measurement. NIR reads through water better, but its bands overlap and specificity suffers.<\/p><\/div><\/div>\n      <\/div>\n    <\/div>\n    <div style=\"margin-top:44px\">\n      <div class=\"duel reveal\">\n        <div class=\"duel-row duel-head\"><div class=\"old\">Established methods<\/div><div class=\"mid\"><\/div><div class=\"new\">Inline Raman<\/div><\/div>\n        <div class=\"duel-row\"><div class=\"old\"><span class=\"xk\">&times;<\/span>Iodometric thiosulfate titration - 20-30 min, manual sampling, reagents<\/div><div class=\"mid\">&rarr;<\/div><div class=\"new\"><span class=\"ck\">&check;<\/span>Measurement-to-value in under 5 s, continuously<\/div><\/div>\n        <div class=\"duel-row\"><div class=\"old\"><span class=\"xk\">&times;<\/span>Ion chromatography - the full anion set (thiosulfate, sulfate) in 30-60 min, off the line<\/div><div class=\"mid\">&rarr;<\/div><div class=\"new\"><span class=\"ck\">&check;<\/span>Thiosulfate and sulfate tracked in-process, no sampling, no reagents<\/div><\/div>\n        <div class=\"duel-row\"><div class=\"old\"><span class=\"xk\">&times;<\/span>Densitometry - a concentration proxy only, no qualitative composition<\/div><div class=\"mid\">&rarr;<\/div><div class=\"new\"><span class=\"ck\">&check;<\/span>Thiosulfate concentration and N\/S ratio resolved, not one lumped number<\/div><\/div>\n        <div class=\"duel-row\"><div class=\"old\"><span class=\"xk\">&times;<\/span>FT-IR - water absorbs across the O-H bands and buries the analyte signal<\/div><div class=\"mid\">&rarr;<\/div><div class=\"new\"><span class=\"ck\">&check;<\/span>Water is a weak Raman scatterer - aqueous liquors read cleanly<\/div><\/div>\n        <div class=\"duel-row\"><div class=\"old\"><span class=\"xk\">&times;<\/span>NIR - broad, overlapping bands, less substance-specific<\/div><div class=\"mid\">&rarr;<\/div><div class=\"new\"><span class=\"ck\">&check;<\/span>Narrow bands, very specific substance identification<\/div><\/div>\n      <\/div>\n      <p class=\"mono-note\" style=\"margin-top:14px\">Iodometric titration and ion chromatography remain the analytical reference. Inline Raman is real-time process measurement instead of waiting on the lab, so those methods become verification, not the bottleneck. Composition is Raman's job; where a standard calls for trace-metal certification, that stays with ICP - a clean division of labor.<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== 02 \u00b7 MEASUREMENT ARCHITECTURE ===== -->\n<section id=\"architecture\" class=\"ctx\">\n  <div class=\"wrap\">\n    <div class=\"sec-head reveal\">\n      <span class=\"num\">02<\/span>\n      <span class=\"eyebrow\">Measurement architecture<\/span>\n      <h2 class=\"h2\">From the absorption stream to the control room.<\/h2>\n      <p class=\"lead\">Four links in the chain: an immersion probe in the process, fiber optics to the analyzer, chemometric models in Spectrally OS, and your control system at the end. There is no sampling loop anywhere in it.<\/p>\n    <\/div>\n    <div class=\"ctx-grid\" style=\"margin-bottom:56px\">\n      <div class=\"ctx-item reveal\"><div class=\"k\">Link 1 &middot; In the process<\/div><div class=\"v\">Spectrally X1 PROBE<\/div><p>Immersion probe in the absorption stream, pipeline or tank. IP67, ATEX\/IECEx Zone 0, fitted with the retractable self-cleaning module for the occasional point where a stream can leave a deposit.<\/p><\/div>\n      <div class=\"ctx-item reveal\"><div class=\"k\">Link 2 &middot; Light transport<\/div><div class=\"v\">Fiber optics, up to 100 m<\/div><p>Excitation light travels to the probe and scattered light returns over fiber, so the analyzer can sit away from the process area while the probe stays in the medium.<\/p><\/div>\n      <div class=\"ctx-item reveal\"><div class=\"k\">Link 3 &middot; The analyzer<\/div><div class=\"v\">Spectrally X1 INLINE<\/div><p>785 \/ 1064 nm laser excitation, back-thinned TEC-cooled CCD detector. Up to 2 measurement channels as standard, more on request.<\/p><\/div>\n      <div class=\"ctx-item reveal\"><div class=\"k\">Link 4 &middot; Spectrum to value<\/div><div class=\"v\">Spectrally OS<\/div><p>AI and advanced chemometrics with a CNN core translate the spectrum into concentrations, ratios and PASS-FAIL flags, then hand them to your PLC \/ DCS.<\/p><\/div>\n    <\/div>\n    <div class=\"product\">\n      <div class=\"reveal\">\n        <h3 style=\"font-size:20px;color:var(--gk-navy-deep);margin-bottom:8px\">The hardware in the chain<\/h3>\n        <p style=\"line-height:1.65\">The numbers that define the measurement path, probe to analyzer. Calibration is automatic, against a reference integrated in the probe - there is no manual recalibration routine to schedule.<\/p>\n        <table class=\"spec-table\">\n          <tr><td>Measurement principle<\/td><td>Raman spectroscopy<\/td><\/tr>\n          <tr><td>Laser wavelength<\/td><td>785 nm \/ 1064 nm<\/td><\/tr>\n          <tr><td>Detector<\/td><td>Back-thinned CCD, TEC-cooled<\/td><\/tr>\n          <tr><td>Acquisition time<\/td><td>5-300 s<\/td><\/tr>\n          <tr><td>Fiber optic reach<\/td><td>Up to 100 m<\/td><\/tr>\n          <tr><td>Measurement channels<\/td><td>Up to 2 (expandable on request)<\/td><\/tr>\n          <tr><td>Probe<\/td><td>Spectrally X1 PROBE, IP67, ATEX\/IECEx Zone 0, self-cleaning<\/td><\/tr>\n          <tr><td>Calibration<\/td><td>Automatic - reference integrated in probe<\/td><\/tr>\n          <tr><td>Communication<\/td><td>PROFIBUS, PROFINET, GSM<\/td><\/tr>\n        <\/table>\n      <\/div>\n    <div class=\"prod-photo reveal\"><img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/07\/inline-cabinet-readout-1.png\" alt=\"Spectrally X1 INLINE process Raman analyzer cabinet with live thiosulfate and N\/S ratio readout\"><\/div><\/div>\n    <div style=\"margin-top:56px\">\n      <h3 style=\"font-size:20px;color:var(--gk-navy-deep);margin-bottom:16px\">Raman is the core, not the whole toolbox<\/h3>\n      <div class=\"ctx-grid\">\n        <div class=\"ctx-item reveal\"><div class=\"k\">~70% of portfolio<\/div><div class=\"v\">Raman<\/div><p>The core technique - molecular vibrations characteristic of specific substances, read inline in aqueous media. For sulfur-oxyanion chemistry this is the workhorse: classic Raman on thiosulfate and sulfate in aqueous streams.<\/p><\/div>\n        <div class=\"ctx-item reveal\"><div class=\"k\">~20% of portfolio<\/div><div class=\"v\">SERS<\/div><p>Surface-enhanced Raman on metallic nanostructures, typically Ag or Au - used when analyte concentrations sit at ppb-ppm levels, below classical Raman sensitivity.<\/p><\/div>\n        <div class=\"ctx-item reveal\"><div class=\"k\">~5% of portfolio<\/div><div class=\"v\">NIR<\/div><p>Near-infrared as a complement where Raman bands are weak - for example some O-H bonds.<\/p><\/div>\n        <div class=\"ctx-item reveal\"><div class=\"k\">~5% of portfolio<\/div><div class=\"v\">Other sensors<\/div><p>Complementary sensing for specific challenges. The technique is chosen for the chemistry, not the other way around.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== 03 \u00b7 SELF-CLEANING PROBE CYCLE ===== -->\n<section id=\"probe-cycle\">\n  <div class=\"wrap\">\n    <div class=\"sec-head reveal\">\n      <span class=\"num\">03<\/span>\n      <span class=\"eyebrow\">Fouling and the self-cleaning cycle<\/span>\n      <h2 class=\"h2\">Clear absorption liquors foul little. The cycle is there for when they do not stay clear.<\/h2>\n      <p class=\"lead\">ATS, KTS\/CaTS and AMS run as clear aqueous absorption liquors, so an optical window in these streams stays clean far longer than in a resin reactor. Fouling here shows up at the edges - a salt crystallizing on a cold surface, carryover from the absorbed NH3\/H2S\/SO2 gases, a turbidity spike. The self-cleaning module handles those with a mechanical cycle: retract, rinse, return.<\/p>\n    <\/div>\n    <div class=\"how-grid\">\n      <div class=\"vid-embed reveal\">\n        <button type=\"button\" class=\"yt-facade\" data-yt=\"rklmC1ITe2c\" aria-label=\"Play: Spectrally self-cleaning probe cycle\">\n          <img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/07\/yt-selfclean-poster-2.jpg\" alt=\"Spectrally self-cleaning probe cycle - retract, rinse, return\">\n          <span class=\"yt-play\" aria-hidden=\"true\"><svg viewBox=\"0 0 68 48\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M66.5 7.7c-.8-2.9-3-5.2-5.9-6C55.3.5 34 .5 34 .5S12.7.5 7.4 1.7c-2.9.8-5.1 3.1-5.9 6C.3 13 .3 24 .3 24s0 11 1.2 16.3c.8 2.9 3 5.2 5.9 6C12.7 47.5 34 47.5 34 47.5s21.3 0 26.6-1.2c2.9-.8 5.1-3.1 5.9-6C67.7 35 67.7 24 67.7 24s0-11-1.2-16.3z\" fill=\"#ff0000\"><\/path><path d=\"M27 34.5l17.5-10.5L27 13.5z\" fill=\"#fff\"><\/path><\/svg><\/span>\n        <\/button>\n      <\/div>\n      <div class=\"how-points\">\n        <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"7.5\"\/><circle cx=\"9.5\" cy=\"10\" r=\"0.7\" fill=\"currentColor\" stroke=\"none\"\/><circle cx=\"14.3\" cy=\"9\" r=\"0.7\" fill=\"currentColor\" stroke=\"none\"\/><circle cx=\"13\" cy=\"14.5\" r=\"0.7\" fill=\"currentColor\" stroke=\"none\"\/><circle cx=\"9.8\" cy=\"14\" r=\"0.7\" fill=\"currentColor\" stroke=\"none\"\/><\/svg><\/div><div><h4>Where deposits actually come from<\/h4><p>These are not fouling reactors. The failure mode is occasional: a thiosulfate or sulfate salt crystallizing on a cold surface, carryover from the absorption gases, a turbidity spike. A clear liquor can run a long campaign with a stable optical window.<\/p><\/div><\/div>\n        <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"6\"\/><path d=\"M12 2.5V6M12 18v3.5M2.5 12H6M18 12h3.5\"\/><\/svg><\/div><div><h4>The cycle preserves measurement geometry<\/h4><p>The probe retracts from the medium, the optical window is rinsed, and the probe returns to the same measurement position. Geometry stays fixed, so readings stay comparable across the whole campaign.<\/p><\/div><\/div>\n        <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"8\"\/><path d=\"M12 8v4.5l3 1.8\"\/><\/svg><\/div><div><h4>Where it earns its keep<\/h4><p>Points where the liquor can crystallize, a stream that occasionally carries solids, and one probe asked to serve mixed duty across ATS, KTS and AMS. In a clean, steady absorption stream it may rarely cycle at all.<\/p><\/div><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"how-grid\" style=\"margin-top:44px\">\n      <div class=\"reveal\">\n        <h3 style=\"font-size:20px;color:var(--gk-navy-deep);margin-bottom:14px\">A capability, not an accessory<\/h3>\n        <p style=\"line-height:1.65\">For a clear ATS or AMS liquor, continuous measurement often needs no cleaning at all. Where a stream can crystallize or carry solids, manual cleaning would mean breaking a continuous measurement - so the module is integrated with Spectrally X1 PROBE and Spectrally X1 INLINE and runs automatically during production.<\/p>\n        <p style=\"line-height:1.65;margin-top:12px\">The cycle runs without a manual optics stop in the middle of a campaign, so there is no gap in the data your control system sees. Whether your stream needs it at all is something feasibility scopes honestly.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== METRIC BAND ===== -->\n<section class=\"band\">\n  <div class=\"wrap\">\n    <div class=\"metrics\" id=\"gkms-metrics\">\n      <div class=\"metric\"><div class=\"mk\">Measurement<\/div><div class=\"mv\" data-to=\"5\" data-suffix=\"s\">0<span class=\"u\">s<\/span><\/div><p>Spectrum to a process value, continuously.<\/p><\/div>\n      <div class=\"metric\"><div class=\"mk\">Lab lag removed<\/div><div class=\"mv\" data-to=\"60\" data-suffix=\"min\">0<span class=\"u\">min<\/span><\/div><p>Up to 60 minutes of ion-chromatography wait, gone.<\/p><\/div>\n      <div class=\"metric\"><div class=\"mk\">Sulfate band<\/div><div class=\"mv\" data-to=\"976\" data-suffix=\" cm&#8315;&sup1;\">0<span class=\"u\"> cm&#8315;&sup1;<\/span><\/div><p>Sulfate symmetric stretch, measured directly in a Gekko study.<\/p><\/div>\n      <div class=\"metric\"><div class=\"mk\">Analyzer reach<\/div><div class=\"mv\" data-to=\"100\" data-suffix=\"m\">0<span class=\"u\">m<\/span><\/div><p>Fiber puts the analyzer up to 100 m from the tank or line.<\/p><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== 04 \u00b7 CHEMOMETRICS + SPECTRALLY OS ===== -->\n<section id=\"software\" class=\"ctx\">\n  <div class=\"wrap\">\n    <div class=\"sec-head reveal\">\n      <span class=\"num\">04<\/span>\n      <span class=\"eyebrow\">Chemometrics and Spectrally OS<\/span>\n      <h2 class=\"h2\">Spectrally OS turns spectra into operating information.<\/h2>\n      <p class=\"lead\">Raw spectra are useless to an operator. Spectrally OS translates them into concentrations, ratios, PASS-FAIL classifications and alarms - and keeps a logged, auditable history of the models doing the translating.<\/p>\n    <\/div>\n    <div class=\"how-points\" style=\"margin-bottom:56px\">\n      <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"6.5\" y=\"6.5\" width=\"11\" height=\"11\" rx=\"2\"\/><rect x=\"10\" y=\"10\" width=\"4\" height=\"4\" rx=\"1\"\/><path d=\"M9.5 6.5V4M14.5 6.5V4M9.5 20v-2.5M14.5 20v-2.5M6.5 9.5H4M6.5 14.5H4M20 9.5h-2.5M20 14.5h-2.5\"\/><\/svg><\/div><div><h4>A CNN core, not a linear fit<\/h4><p>Spectrally OS runs on AI and advanced chemometrics with a convolutional-neural-network core. Traditional PLS and PCA chemometrics are the industry benchmark it is measured against - the CNN core is more accurate and faster on the same spectra.<\/p><\/div><\/div>\n      <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 18L20 7\"\/><circle cx=\"7.5\" cy=\"16\" r=\"1.3\"\/><circle cx=\"12\" cy=\"12.5\" r=\"1.3\"\/><circle cx=\"16.5\" cy=\"9\" r=\"1.3\"\/><\/svg><\/div><div><h4>Spectrum to numbers<\/h4><p>The regression role maps the spectrum to concentrations: thiosulfate, the N\/S ratio, sulfate and the other analytes your specification runs on - several from one read, in seconds.<\/p><\/div><\/div>\n      <div class=\"how-point reveal\"><div class=\"hi\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 20V5M4 20h15\"\/><circle cx=\"9\" cy=\"14\" r=\"1.2\"\/><circle cx=\"13\" cy=\"10\" r=\"1.2\"\/><circle cx=\"16\" cy=\"13\" r=\"1.2\"\/><circle cx=\"11\" cy=\"7.5\" r=\"1.2\"\/><\/svg><\/div><div><h4>Deviation and PASS-FAIL<\/h4><p>The classification role flags what does not belong. An off-spec thiosulfate concentration or a drifting N\/S ratio surfaces as a deviation and a PASS-FAIL alarm, not as a customer complaint.<\/p><\/div><\/div>\n    <\/div>\n    <div class=\"ctx-grid\" style=\"margin-bottom:56px\">\n      <div class=\"ctx-item reveal\"><div class=\"k\">Phase 1<\/div><div class=\"v\">Calibration<\/div><p>Models start from feasibility - typically your R&amp;D data plus samples measured in the Gekko lab. Built on your matrix - ATS, KTS\/CaTS, AMS liquor - not a generic library.<\/p><\/div>\n      <div class=\"ctx-item reveal\"><div class=\"k\">Phase 2<\/div><div class=\"v\">Validation<\/div><p>Predictions are checked against reference measurements - iodometric titration, ion chromatography - on your matrix before the model is trusted in production.<\/p><\/div>\n      <div class=\"ctx-item reveal\"><div class=\"k\">Phase 3<\/div><div class=\"v\">Maintenance<\/div><p>Models are reinforced with your production data as it accumulates. Updates deploy without stopping the analyzer or the line.<\/p><\/div>\n      <div class=\"ctx-item reveal\"><div class=\"k\">Phase 4<\/div><div class=\"v\">Re-calibration<\/div><p>Scheduled when the recipe, feedstock or process parameters change. A model change - not a platform redesign.<\/p><\/div>\n    <\/div>\n    <div class=\"product\">\n      <div class=\"tp-photo reveal\"><img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/07\/inline-stand-piping-2.png\" alt=\"Spectrally X1 INLINE on a plant stand with piping\"><\/div>\n      <div class=\"reveal\">\n        <h3 style=\"font-size:20px;color:var(--gk-navy-deep);margin-bottom:8px\">Spectrally OS at a glance<\/h3>\n        <p style=\"line-height:1.65\">One model layer runs across Spectrally X1 LAB, X1 PORTABLE and X1 INLINE, so a model built during feasibility migrates to the process instrument. Routine operation uses no reagents and no consumables.<\/p>\n        <table class=\"spec-table\">\n          <tr><td>Supported instruments<\/td><td>Spectrally X1 LAB \/ PORTABLE \/ INLINE<\/td><\/tr>\n          <tr><td>Predictive models<\/td><td>AI \/ advanced chemometrics, CNN core<\/td><\/tr>\n          <tr><td>Spectra database<\/td><td>Proprietary + public, ~28,000 spectra<\/td><\/tr>\n          <tr><td>Operator interface<\/td><td>SpectrallyUI<\/td><\/tr>\n          <tr><td>Operating system<\/td><td>Debian GNU\/Linux 13.2<\/td><\/tr>\n          <tr><td>Calibration<\/td><td>Automatic, from a built-in reference signal<\/td><\/tr>\n          <tr><td>Data export<\/td><td>CSV, PDF, RAW<\/td><\/tr>\n          <tr><td>User management<\/td><td>Role-based access control (RBAC)<\/td><\/tr>\n          <tr><td>Data storage<\/td><td>Local database - logging continues without a network<\/td><\/tr>\n          <tr><td>Model updates<\/td><td>Deployed without stopping the analyzer<\/td><\/tr>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== 05 \u00b7 OT \/ IT INTEGRATION ===== -->\n<section id=\"integration\" class=\"band\">\n  <div class=\"wrap\">\n    <div class=\"sec-head reveal\">\n      <span class=\"num\">05<\/span>\n      <span class=\"eyebrow no-line\" style=\"color:var(--gk-blue-400)\">OT \/ IT integration<\/span>\n      <h2 class=\"h2\" style=\"color:#fff;margin-top:12px\">A value counts when it lands in your control system.<\/h2>\n      <p class=\"lead\" style=\"color:#C8D0DC\">Spectrally streams process values - not raw spectra - into the plant's control and data layers. SpectrallyUI shows trends and alerts at the analyzer; the same values reach your PLC \/ DCS, where a reading can correct a dosing setpoint on the absorption stream, hold an off-spec ATS batch, or raise an N\/S-ratio alarm before the product drifts out of specification.<\/p>\n    <\/div>\n    <div class=\"reg-grid\" style=\"margin-bottom:20px\">\n      <div class=\"reg reveal\"><span class=\"flag\">Control layer<\/span><h4>PLC \/ DCS<\/h4><p>Values arrive as process signals over PROFIBUS or PROFINET - unified across all Spectrally products. To the operator, the analyzer reads like any other instrument on the loop.<\/p><\/div>\n      <div class=\"reg reveal\"><span class=\"flag\">Data layer<\/span><h4>MES \/ SCADA \/ LIMS<\/h4><p>Configured per site: batch context in MES, trending and supervision in SCADA, reconciliation with lab records in LIMS.<\/p><\/div>\n      <div class=\"reg reveal\"><span class=\"flag\">Connectivity<\/span><h4>GSM and export<\/h4><p>GSM is available across the product line alongside the fieldbus protocols. Data exports in CSV, PDF and RAW for reporting and archive.<\/p><\/div>\n    <\/div>\n    <div class=\"reg-grid\">\n      <div class=\"reg reveal\"><span class=\"flag\">OT policy<\/span><h4>Network fit<\/h4><p>Segmentation, white-listing, no open ports to the corporate network - typical OT policies are scoped with your automation and IT teams during integration.<\/p><\/div>\n      <div class=\"reg reveal\"><span class=\"flag\">IEC 62443<\/span><h4>Industrial cyber<\/h4><p>IEC 62443 expectations for industrial automation systems are addressed in integration scoping, together with backup and recovery of measurement data.<\/p><\/div>\n      <div class=\"reg reveal\"><span class=\"flag\">Audit<\/span><h4>Continuity and audit trail<\/h4><p>Measurement and logging run on a local database, so readings continue when the network does not. Model changes are logged and auditable.<\/p><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"pager\">\n    <span><a href=\"\/sulfur-thiosulfate-fertilizers\/what-we-measure\/\">&larr; What we measure<\/a><\/span>\n    <span><a href=\"\/sulfur-thiosulfate-fertilizers\/proof\/\">Proof &rarr;<\/a><\/span>\n  <\/div>\n<section id=\"contact\">\n    <div class=\"wrap\">\n      <div class=\"cta reveal\">\n        <span class=\"eyebrow no-line\" style=\"color:#fff;justify-content:center\">Your next step<\/span>\n        <h2 class=\"h2\">Run the full chain on your own thiosulfate streams.<\/h2>\n        <p>A feasibility study starts with representative samples or R&amp;D data from your ATS, KTS\/CaTS or AMS process. We build and validate the chemometric model in the Gekko lab and show you exactly what the probe-to-DCS chain would read on your line - before any hardware decision. Your feasibility study puts the exact numbers for your matrix on the table, validated against your reference method.<\/p>\n        <form class=\"gkms-form\" data-region=\"m3-sulfur-thiosulfate-fertilizers\" data-region-label=\"Microsite M3 - Sulfur and thiosulfate fertilizers (ATS)\" data-source=\"microsite-m3-how-it-works\" novalidate>\n          <div class=\"gkms-form-q\">What would you like to do?<\/div>\n          <div class=\"gkms-choices\" role=\"radiogroup\" aria-label=\"What would you like to do?\">\n            <button type=\"button\" class=\"gkms-opt is-sel\" data-val=\"feasibility\" role=\"radio\" aria-checked=\"true\">Feasibility study<\/button>\n            <button type=\"button\" class=\"gkms-opt\" data-val=\"workshop\" role=\"radio\" aria-checked=\"false\">Workshop seat<\/button>\n            <button type=\"button\" class=\"gkms-opt\" data-val=\"info\" role=\"radio\" aria-checked=\"false\">Send info<\/button>\n          <\/div>\n          <p class=\"gkms-hint\" id=\"gkms-hint\"><\/p>\n          <div class=\"gkms-row\">\n            <input type=\"email\" class=\"gkms-email\" name=\"email\" required placeholder=\"you@company.com\" autocomplete=\"email\" aria-label=\"Your work email\">\n            <button type=\"submit\" class=\"btn btn-light gkms-submit\">Send request<\/button>\n          <\/div>\n          <input type=\"text\" class=\"gkms-hp\" name=\"company_hp\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\">\n          <label class=\"gkms-consent\"><input type=\"checkbox\" class=\"gkms-consent-cb\" name=\"consent\" required><span>By submitting this form, I confirm I have read and understood the <a href=\"https:\/\/gekkophotonics.com\/en\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a> <span class=\"gkms-req\">*<\/span><\/span><\/label>\n          <p class=\"gkms-msg\" aria-live=\"polite\"><\/p>\n        <\/form>\n        <p class=\"cta-alt\"><a href=\"https:\/\/gekkophotonics.com\/products\/spectrally-inline\/\">Explore Spectrally X1 INLINE -&gt;<\/a><\/p>\n      <\/div>\n    <\/div>\n  <\/section>\n<footer class=\"foot\">\n    <div class=\"wrap\">\n      <div class=\"foot-grid\">\n        <div>\n          <img decoding=\"async\" class=\"flogo\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/07\/logo-full-2.png\" alt=\"Gekko Photonics\">\n          <p class=\"ftag\">Engineering-Driven Analytics. Real-time process composition with inline Raman spectroscopy.<\/p>\n        <\/div>\n        <div>\n          <h5>Platform<\/h5>\n          <a href=\"https:\/\/gekkophotonics.com\/products\/spectrally-inline\/\">Spectrally X1 INLINE<\/a>\n          <a href=\"https:\/\/gekkophotonics.com\/\">Spectrally X1 PROBE<\/a>\n          <a href=\"https:\/\/gekkophotonics.com\/\">Spectrally OS<\/a>\n        <\/div>\n        <div>\n          <h5>This mini-site<\/h5>\n          <a href=\"\/sulfur-thiosulfate-fertilizers\/chemistry\/\">Chemistry<\/a>\n          <a href=\"\/sulfur-thiosulfate-fertilizers\/what-we-measure\/\">What we measure<\/a>\n          <a href=\"\/sulfur-thiosulfate-fertilizers\/how-it-works\/\">How it works<\/a>\n          <a href=\"\/sulfur-thiosulfate-fertilizers\/proof\/\">Proof<\/a>\n          <a href=\"\/sulfur-thiosulfate-fertilizers\/compliance\/\">Compliance<\/a>\n          <a href=\"\/sulfur-thiosulfate-fertilizers\/instrument\/\">Instrument<\/a>\n        <\/div>\n        <div>\n          <h5>Contact<\/h5>\n          <a href=\"mailto:contact@gekkophotonics.com\">contact@gekkophotonics.com<\/a>\n          <a href=\"https:\/\/gekkophotonics.com\/\">gekkophotonics.com<\/a>\n          <div class=\"addr\">NextCorps, 260 E. Main Street, Suite 6000<br>Rochester, NY 14604, USA<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"fbottom\">\n        <span>&copy; 2026 Gekko Photonics Sp. z o.o. Installation and service by authorized Gekko Photonics technicians only.<\/span>\n        <span class=\"tagpl\">Engineering-Driven Analytics<\/span>\n      <\/div>\n    <\/div>\n  <\/footer>\n<\/div>\n\n<script>\n(function(){\n  var root=document.getElementById('gkms'); if(!root||root.dataset.init)return; root.dataset.init=\"1\";\n\n  var bar=root.querySelector('#gkms-progress');\n  if(bar){window.addEventListener('scroll',function(){\n    var h=document.documentElement,b=document.body;\n    var st=(h.scrollTop||b.scrollTop),sh=(h.scrollHeight-h.clientHeight);\n    bar.style.width=(sh>0?(st\/sh*100):0)+'%';\n  },{passive:true});}\n\n  root.querySelectorAll('a[href^=\"#\"]').forEach(function(a){\n    a.addEventListener('click',function(e){\n      var t=root.querySelector(a.getAttribute('href')); if(!t)return;\n      e.preventDefault(); window.scrollTo({top:t.offsetTop-70,behavior:'smooth'});\n    });\n  });\n\n  var io=new IntersectionObserver(function(es){es.forEach(function(en){if(en.isIntersecting){en.target.classList.add('in');io.unobserve(en.target);}});},{threshold:0.14});\n  root.querySelectorAll('.reveal').forEach(function(el){io.observe(el);});\n\n  root.querySelectorAll('.tab').forEach(function(t){\n    t.addEventListener('click',function(){\n      root.querySelectorAll('.tab').forEach(function(x){x.classList.remove('active');});\n      root.querySelectorAll('.tabpanel').forEach(function(x){x.classList.remove('active');});\n      t.classList.add('active');\n      var p=root.querySelector('.tabpanel[data-panel=\"'+t.dataset.tab+'\"]'); if(p)p.classList.add('active');\n    });\n  });\n\n  if(root.querySelector('#gkms-analytes')){\n    var A=[\n      {n:'Thiosulfate concentration', d:'The value ATS is sold on: a strong Raman-active oxyanion, read straight off the flowing stream every few seconds - to single ppm - instead of by 20-30 min iodometric titration.', x:470, lab:'S\u2082O\u2083\u00b2\u207b'},\n      {n:'N\/S ratio', d:'The nitrogen-to-sulfur ratio that defines the product. Confirmed continuously from thiosulfate concentration and homogeneity on the same spectrum, not reconstructed once per shift.', x:380, lab:'N\/S'},\n      {n:'Solution homogeneity', d:'Tank and line uniformity read in place by the immersion probe, so stratification shows in the spectrum immediately - no spot sampling between pulls.', x:150, lab:'uniformity'},\n      {n:'Sulfate SO\u2084\u00b2\u207b', d:'A strong symmetric-stretch Raman band near 976 cm\u207b\u00b9 (Gekko fertilizer study FS-001) - a direct handle on the sulfate side and on stream cleanliness.', x:300, lab:'~976 cm\u207b\u00b9'},\n      {n:'Stream clarity \/ stability', d:'Baseline drift and off-trend spectra flagged in-process, with PASS\/FAIL and alerts to the PLC and DCS, before a deviation becomes a customer complaint.', x:540, lab:'baseline'}\n    ];\n    var mk=root.querySelector('#gkms-marker'),ml=root.querySelector('#gkms-mlabel'),\n        sn=root.querySelector('#gkms-sdname'),sd=root.querySelector('#gkms-sddesc'),rd=root.querySelector('#gkms-spread');\n    function selA(i){\n      root.querySelectorAll('.analyte').forEach(function(b){b.classList.toggle('active',+b.dataset.a===i);});\n      var a=A[i]; if(!a||!mk)return;\n      mk.setAttribute('x1',a.x); mk.setAttribute('x2',a.x); mk.classList.add('on');\n      ml.setAttribute('x', a.x>540? a.x-70 : a.x+6); ml.textContent=a.lab; ml.classList.add('on');\n      sn.textContent=a.n; sd.textContent=a.d;\n      rd.textContent='Absorption stream \u00b7 '+a.lab+' locked';\n    }\n    root.querySelectorAll('.analyte').forEach(function(b){b.addEventListener('click',function(){selA(+b.dataset.a);});});\n    selA(0);\n  }\n\n  var vio=new IntersectionObserver(function(es){es.forEach(function(en){\n    if(en.isIntersecting){en.target.querySelectorAll('.vbar span').forEach(function(s){s.style.width=s.dataset.w+'%';});vio.unobserve(en.target);}\n  });},{threshold:0.3});\n  root.querySelectorAll('.versus').forEach(function(el){vio.observe(el);});\n\n  root.querySelectorAll('.yt-facade').forEach(function(btn){\n    btn.addEventListener('click',function(){\n      var id=btn.getAttribute('data-yt'); if(!id)return;\n      var ifr=document.createElement('iframe');\n      ifr.src='https:\/\/www.youtube-nocookie.com\/embed\/'+id+'?autoplay=1&rel=0&modestbranding=1';\n      ifr.setAttribute('allow','autoplay; encrypted-media; picture-in-picture; web-share');\n      ifr.setAttribute('allowfullscreen','');\n      ifr.setAttribute('title','Spectrally self-cleaning probe cycle');\n      var wrap=btn.closest('.vid-embed')||btn.parentElement;\n      wrap.innerHTML=''; wrap.appendChild(ifr);\n    });\n  });\n\n  var cyc=root.querySelector('#gkms-cycle'),ci=0;\n  if(cyc){setInterval(function(){\n    var steps=cyc.querySelectorAll('.cyc-step'); steps.forEach(function(s){s.classList.remove('on');});\n    steps[ci].classList.add('on'); ci=(ci+1)%steps.length;\n  },1300);}\n\n  function countUp(el){\n    var to=parseFloat(el.dataset.to),dec=+(el.dataset.dec||0),suf=el.dataset.suffix||'',pre=el.dataset.prefix||'';\n    var t0=null,dur=1400;\n    function step(ts){ if(!t0)t0=ts; var p=Math.min((ts-t0)\/dur,1); var e=1-Math.pow(1-p,3); var val=(to*e).toFixed(dec);\n      el.innerHTML=pre+val+(suf?'<span class=\"u\">'+suf+'<\/span>':''); if(p<1)requestAnimationFrame(step);}\n    requestAnimationFrame(step);\n  }\n  var mio=new IntersectionObserver(function(es){es.forEach(function(en){\n    if(en.isIntersecting){en.target.querySelectorAll('.mv').forEach(countUp);mio.unobserve(en.target);}\n  });},{threshold:0.4});\n  root.querySelectorAll('.metrics').forEach(function(el){mio.observe(el);});\n})();\n<\/script>\n\n<script>\n(function(){\n  var form=document.querySelector('#gkms .gkms-form'); if(!form||form.dataset.init) return; form.dataset.init='1';\n  var opts=form.querySelectorAll('.gkms-opt'), msg=form.querySelector('.gkms-msg'),\n      submitBtn=form.querySelector('.gkms-submit'), hint=form.querySelector('#gkms-hint'), chosen='feasibility';\n  var SRC=form.getAttribute('data-source')||'microsite-m1';\n  var HUB='\/usa-workshops\/?utm_source=microsite&utm_medium=microsite&utm_campaign=usa-workshops&utm_content=m1-formaldehyde-amino-resins';\n  var LABEL={ feasibility:'Send request', workshop:'See workshop dates', info:'Send info' };\n  var HINT={\n    feasibility:'Feasibility runs on your samples in the Gekko lab - no hardware to buy to find out whether it works.',\n    workshop:'One-day, on-site workshops at nine US locations in 2026 - a live demonstration on the instrument, 20 seats a day, free to attend. Pick your city on the next step.',\n    info:'We will email an overview, specs and a sample report for your process - no meeting required.'\n  };\n  function apply(){ if(submitBtn && !submitBtn.classList.contains('is-check')) submitBtn.textContent=LABEL[chosen]||'Send request'; if(hint) hint.textContent=HINT[chosen]||''; }\n  opts.forEach(function(b){ b.addEventListener('click',function(){ chosen=b.getAttribute('data-val');\n    opts.forEach(function(x){ var on=x===b; x.classList.toggle('is-sel',on); x.setAttribute('aria-checked',on?'true':'false'); });\n    if(msg){ msg.textContent=''; msg.className='gkms-msg'; } apply(); }); });\n  apply();\n  form.addEventListener('submit',function(e){ e.preventDefault();\n    var email=(form.querySelector('.gkms-email').value||'').trim();\n    if(!chosen){ msg.className='gkms-msg err'; msg.textContent='Please choose an option.'; return; }\n    if(!\/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/.test(email)){ msg.className='gkms-msg err'; msg.textContent='Please enter a valid email address.'; return; }\n    var cc=form.querySelector('.gkms-consent-cb');\n    if(cc && !cc.checked){ msg.className='gkms-msg err'; msg.textContent='Please confirm you have read the privacy policy.'; return; }\n    var old=submitBtn.textContent; submitBtn.disabled=true; submitBtn.textContent='Sending...';\n    var payload={ email:email, response:chosen, region:form.getAttribute('data-region')||'', region_label:form.getAttribute('data-region-label')||'', consent:(cc&&cc.checked)?'yes':'', source:SRC, page_url:location.href, page_title:document.title, company_hp:(form.querySelector('.gkms-hp').value||'') };\n    try{ var q=new URLSearchParams(location.search); ['utm_source','utm_medium','utm_campaign','utm_term','utm_content'].forEach(function(k){ var v=q.get(k); if(v) payload[k]=v; }); }catch(_){}\n    fetch('\/wp-json\/gekko\/v1\/rsvp',{ method:'POST', headers:{'Content-Type':'application\/json'}, body:JSON.stringify(payload) })\n      .then(function(r){ return r.json().catch(function(){ return {ok:false}; }); })\n      .then(function(d){ if(d&&d.ok){\n          if(chosen==='workshop'){\n            submitBtn.classList.add('is-check'); submitBtn.disabled=false;\n            submitBtn.innerHTML='<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg> Taking you to the workshops';\n            if(msg){ msg.className='gkms-msg'; msg.textContent=''; }\n            setTimeout(function(){ window.location.href=HUB; }, 950);\n          } else {\n            var t= chosen==='feasibility' ? 'Thanks - we will reply with the next steps for a feasibility study on your samples.' : 'Thanks - we will send the information shortly.';\n            form.className='gkms-form gkms-done'; form.textContent=t;\n          }\n        } else { msg.className='gkms-msg err'; msg.textContent='Something went wrong. Please try again, or email contact@gekkophotonics.com.'; submitBtn.disabled=false; submitBtn.textContent=old; } })\n      .catch(function(){ msg.className='gkms-msg err'; msg.textContent='Network error. Please try again.'; submitBtn.disabled=false; submitBtn.textContent=old; });\n  });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":2824,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2827","page","type-page","status-publish","hentry"],"blocksy_meta":[],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/pages\/2827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/comments?post=2827"}],"version-history":[{"count":0,"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/pages\/2827\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/pages\/2824"}],"wp:attachment":[{"href":"https:\/\/gekkophotonics.com\/de\/wp-json\/wp\/v2\/media?parent=2827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}