*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
:root{--n:#042940;--n2:#0a3654;--g:#A3BA10;--gr:#C0BFBF;--c:#2b2f33;--m:#5d636b;--l:#e3e5e8}
body{font-family:'Bai Jamjuree',sans-serif;color:#fff;background:var(--n);line-height:1.6}.os{font-family:'Open Sans',sans-serif}
.w{max-width:1200px;margin:auto;padding:0 28px}section{padding:88px 0}
.t{font-weight:700;text-transform:uppercase;color:#fff;font-size:36px;line-height:1.15}.t:after{content:"";display:block;width:64px;height:4px;background:var(--g);margin-top:16px}.t.c:after{margin:16px auto 0}
.lead{font-family:'Open Sans';color:var(--gr);font-size:17px;max-width:680px;margin-top:18px}
.btn{display:inline-block;padding:14px 24px;border-radius:6px;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.04em;border:0;cursor:pointer;font-family:inherit}.bg{background:var(--g);color:var(--n)}.bn{background:var(--n);color:#fff}.bo{border:2px solid #fff;color:#fff;background:none}
.light .bo,.app .bo{border-color:var(--n);color:var(--n)}
.hair{height:2px;background:var(--g)}
.sq{width:52px;height:52px;border:2px solid #fff;border-radius:6px;display:grid;place-items:center;font:700 24px Montserrat,sans-serif;color:var(--g);flex:none}.light .sq,.app .sq{border-color:var(--n)}
.callout{background:rgba(255,255,255,.07);color:#fff;border-left:6px solid var(--g);border-radius:8px;padding:26px}.light .callout{background:var(--n)}.callout b.big{display:block;font-size:44px;color:var(--g);line-height:1.1}
.draft{display:inline-block;font:600 11px 'Open Sans';text-transform:uppercase;letter-spacing:.08em;background:rgba(163,186,16,.15);color:#6f7d15;border:1px solid var(--g);border-radius:99px;padding:2px 10px;vertical-align:middle}body:not(.app) section:not(.light) .draft,.hero .draft{color:var(--g)}
.mock{display:inline-block;font:600 11px 'Open Sans';text-transform:uppercase;letter-spacing:.08em;background:#fff4d6;color:#7a5a00;border:1px solid #e0b94a;border-radius:99px;padding:2px 10px}
.ph{border-radius:12px;object-fit:cover;width:100%}.pend{display:grid;place-items:center;text-align:center;padding:20px;border:2px dashed var(--gr);background:#f6f7f8;color:var(--m);font:600 13px 'Open Sans';text-transform:uppercase;letter-spacing:.06em;border-radius:12px}
header.site{position:sticky;top:0;z-index:20;background:var(--n);border-bottom:1px solid rgba(255,255,255,.12)}.nav{display:flex;align-items:center;gap:26px;height:76px}.nav img{height:34px;width:auto}.nav ul{display:flex;gap:22px;list-style:none;margin-left:auto;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.03em}.nav ul a:hover,.nav ul a.on{color:var(--g)}.nav .btn{padding:10px 18px;font-size:13px}
.light{background:#fff;color:var(--c)}.light .t{color:var(--n)}.light .lead{color:var(--m)}
.phero{padding:80px 0 64px}.phero .t{font-size:48px;max-width:860px}.crumb{font:600 13px 'Open Sans';color:var(--g);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:44px}
.steps h3{text-transform:uppercase;font-size:17px;margin:18px 0 6px}.steps p{font:14px 'Open Sans';color:var(--gr)}.light .steps h3{color:var(--n)}.light .steps p{color:var(--m)}
.card{border:1px solid var(--l);border-radius:12px;padding:30px;background:#fff;color:var(--c);display:flex;flex-direction:column}.card h3{text-transform:uppercase;color:var(--n);font-size:19px}.card p{font:14px 'Open Sans';color:var(--m)}.card.hot{border:2px solid var(--n)}
.phase{font:600 12px 'Open Sans';color:var(--m);text-transform:uppercase;letter-spacing:.06em}.amt{font-size:40px;font-weight:700;color:var(--n);margin:8px 0 2px}.amt small{font-size:15px;color:var(--m)}
.card ul,.ticks{list-style:none;margin:16px 0 24px;flex:1;font:14px 'Open Sans'}.card li,.ticks li{padding:8px 0;border-top:1px solid var(--l)}.card li:before,.ticks li:before{content:"";display:inline-block;width:8px;height:8px;background:var(--g);margin-right:10px}
section:not(.light) .ticks li{border-color:rgba(255,255,255,.15)}
label{display:block;font-weight:700;font-size:13px;text-transform:uppercase;color:var(--n);letter-spacing:.05em}input,select,textarea{width:100%;font:600 17px 'Bai Jamjuree';color:var(--n);padding:12px 14px;border:2px solid var(--l);border-radius:6px;margin:6px 0 16px;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--g)}
.panel{background:#fff;color:var(--c);border-radius:12px;padding:32px;border-left:6px solid var(--g)}
.out{font-size:46px;font-weight:700;color:var(--n);line-height:1.1}.note{font:13px 'Open Sans';color:var(--m);margin:6px 0 18px}
.faq details{border-top:1px solid var(--l);padding:18px 0}.faq summary{font-weight:700;color:var(--n);cursor:pointer;text-transform:uppercase;font-size:16px}.faq p{font:15px 'Open Sans';color:var(--m);margin-top:10px}
table{width:100%;border-collapse:collapse;font:14px 'Open Sans';color:var(--c)}th{text-align:left;color:var(--m);font-weight:600;padding:10px;border-bottom:2px solid var(--l)}td{padding:11px 10px;border-bottom:1px solid var(--l)}.s{font-weight:600;font-size:12px;padding:3px 10px;border-radius:99px;background:#eef3d2;color:#56610f}.s2{background:#e6ebf2;color:var(--n)}
.trust{border:2px dashed rgba(192,191,191,.6);border-radius:10px;padding:22px;text-align:center;font:600 13px 'Open Sans';color:var(--gr);text-transform:uppercase;letter-spacing:.08em;margin-top:24px}
footer{background:var(--n);border-top:1px solid rgba(255,255,255,.12);color:var(--gr);padding:64px 0 28px;font:14px 'Open Sans'}.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:30px}footer h4{color:#fff;font:700 14px 'Bai Jamjuree';text-transform:uppercase;margin-bottom:12px}footer a{display:block;padding:3px 0}footer a:hover{color:var(--g)}footer img{height:34px;margin-bottom:14px}.cp{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:18px;font-size:12px}
/* portal */
body.app{background:#f3f4f6;color:var(--c)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 78px)}.side{background:var(--n);padding:24px 16px}.side a{display:block;padding:11px 14px;border-radius:6px;color:var(--gr);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.03em}.side a.on{background:rgba(255,255,255,.08);color:#fff;border-left:4px solid var(--g)}.side a:hover{color:#fff}
.main{padding:36px 40px}.main h1{color:var(--n);text-transform:uppercase;font-size:28px}.main h1:after{content:"";display:block;width:50px;height:4px;background:var(--g);margin-top:10px}.box{background:#fff;border:1px solid var(--l);border-radius:12px;padding:24px;margin-top:24px}.box h2{color:var(--n);text-transform:uppercase;font-size:17px;margin-bottom:12px}
.kp{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.k{background:#fff;border:1px solid var(--l);border-radius:10px;padding:18px;border-left:4px solid var(--g)}.k small{font:12px 'Open Sans';color:var(--m);text-transform:uppercase}.k b{display:block;font-size:28px;color:var(--n)}
.drop{border:2px dashed var(--gr);border-radius:12px;padding:40px;text-align:center;background:#fafbfc}.drop.over{border-color:var(--g);background:#f7faea}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 18px}.opts label{border:2px solid var(--l);border-radius:10px;padding:16px;cursor:pointer;text-transform:none;font-size:15px}.opts input{width:auto;margin:0 8px 0 0}.opts label:has(input:checked){border-color:var(--g);background:#f7faea}
.ok{background:#f7faea;border:2px solid var(--g);border-radius:12px;padding:24px;margin-top:20px;display:none}
.ferr{background:#fdecec;border:2px solid #c0392b;border-radius:12px;padding:20px 24px;margin-top:20px;display:none;color:#5a1a12}.ferr a{color:#5a1a12;font-weight:700;text-decoration:underline}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.bbform{position:relative}.bbform button[disabled]{opacity:.6;cursor:wait}
@media(max-width:900px){.nav ul{display:none}section{padding:56px 0}.t,.phero .t{font-size:30px}.g2,.g3,.fg,.shell,.opts{grid-template-columns:1fr}.g4,.kp{grid-template-columns:1fr 1fr}.side{display:none}.main{padding:24px}}
@media(max-width:900px){.dprev{grid-template-columns:1fr!important}.dprev>div:first-child{display:none}.dprev .kp{grid-template-columns:1fr 1fr 1fr!important}.dprev td:nth-child(3),.dprev th:nth-child(3){display:none}.light table,.box table{display:block;overflow-x:auto}}
.dprev>div{min-width:0}@media(max-width:900px){.dprev .kp{grid-template-columns:1fr!important}.dprev .k b{font-size:20px}}
@media(max-width:900px){h1.t{font-size:32px!important}}
/* case studies */
.card.cs{transition:box-shadow .2s}.card.cs:hover{box-shadow:0 12px 30px rgba(4,41,64,.15)}.card.cs .ph{height:200px}.card.cs .btn{align-self:flex-start}.card.cs p{flex:1}
.crumb a:hover{text-decoration:underline}.tl{color:var(--g);font-weight:700;text-decoration:underline;text-underline-offset:3px}.light .tl{color:var(--n)}.csh{color:var(--n);text-transform:uppercase;font-size:17px;margin-top:36px}
.kp.cs3{grid-template-columns:repeat(3,1fr)}.kp.cs4{grid-template-columns:1fr 1fr}.k b{overflow-wrap:anywhere}
.csav{margin-top:36px}.csav .callout b.big{font-size:36px;overflow-wrap:anywhere}
.phero .ticks li{border-color:rgba(255,255,255,.15)}
@media(max-width:900px){.kp.cs3{grid-template-columns:1fr 1fr 1fr}.csav{grid-template-columns:1fr 1fr}.csav .callout b.big{font-size:26px}.csav .callout{padding:18px}}
@media(max-width:480px){.kp.cs3{grid-template-columns:1fr}.csav{grid-template-columns:1fr}}
.card.cs .amt small{display:block;line-height:1.3;margin-top:4px}
.g3.g3-2{grid-template-columns:1fr 1fr}.ovx{overflow-x:auto}.ovx table{min-width:560px}
@media(max-width:900px){.g3.g3-2{grid-template-columns:1fr}}
.main{min-width:0}
/* field app phones */
.phones{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.phone{background:#0a1f36;border:2px solid rgba(255,255,255,.18);border-radius:28px;padding:8px;box-shadow:0 20px 40px rgba(0,0,0,.35)}.phone img{border-radius:20px;width:100%;aspect-ratio:390/844;object-fit:cover;object-position:top}
@media(max-width:900px){.phones{grid-template-columns:repeat(3,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.phone{scroll-snap-align:start}}
/* roadmap */
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}.road>a{position:relative;display:block}.road h3{text-transform:uppercase;font-size:19px;margin:16px 0 4px}.road p{font:14px 'Open Sans';color:var(--gr)}.road>a:hover h3{color:var(--g)}
.road>a:not(:last-child):after{content:"";position:absolute;top:25px;left:64px;right:-24px;height:2px;background:var(--g)}
@media(max-width:900px){.road{grid-template-columns:1fr}.road>a{padding-left:72px;min-height:52px}.road .sq{position:absolute;left:0;top:0}.road h3{margin-top:4px}.road>a:not(:last-child):after{top:56px;bottom:-24px;left:25px;right:auto;width:2px;height:auto}}
.hlead{font-size:21px;line-height:1.55;max-width:44ch;margin:24px auto 0;color:#fff;font-weight:400}
.hben{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:22px auto 0;padding:0;max-width:980px;font:600 15px 'Open Sans';color:var(--gr)}
.hben li{display:flex;align-items:center;gap:8px}.hben li:before{content:"";width:16px;height:16px;border-radius:50%;background:var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23042940' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;flex:none}
@media(max-width:900px){.hlead{font-size:18px}.hben{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;text-align:left;gap:10px 14px;font-size:14px;max-width:340px}}
.nav ul a{white-space:nowrap}.nav .btn{white-space:nowrap}
@media(max-width:1240px) and (min-width:901px){.nav{gap:18px}.nav ul{gap:16px;font-size:13px;letter-spacing:.02em}}
@media(max-width:1080px) and (min-width:901px){.nav{gap:12px}.nav ul{gap:11px;font-size:11.5px;letter-spacing:0}.nav img{height:28px}.nav .btn{padding:8px 12px;font-size:12px}}

/* case-study equipment tables: fit 6 columns on phones instead of cutting off "Reduction" */
@media(max-width:600px){table.cst{display:table!important;width:100%;font-size:12px;table-layout:auto}table.cst th,table.cst td{padding:8px 4px;overflow-wrap:anywhere}}
.pline{font:600 13px 'Open Sans';color:var(--m);margin:2px 0 0}
