@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#153d31;--forest:#143f32;--blue:#216c90;--sky:#c4e7f4;--lime:#c4e7f4;--slate:#536471;--muted:#596b63;--line:#dbe4df;--soft:#f4f7f5;--white:#fff;--max:1380px;font:16px 'Inter',Arial,sans-serif;color:var(--ink);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:#fbfcfa}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}p{line-height:1.7}h1,h2,h3{font-weight:600;letter-spacing:-.04em}h2{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.17}h3{line-height:1.3}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3896bd;outline-offset:4px}.skip{position:absolute;top:-80px;left:20px;z-index:20;background:var(--sky);padding:15px}.skip:focus{top:10px}[hidden]{display:none!important}
.header{max-width:var(--max);margin:auto;padding:27px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px}.wordmark{font-size:1.8rem;font-weight:800;letter-spacing:-.065em;line-height:1.15;white-space:nowrap}.wordmark>span:first-child{color:var(--blue)}.brand-line{display:block;font-size:.75rem;font-weight:600;letter-spacing:.19em;margin-top:7px}nav{display:flex;gap:28px;align-items:center;font-size:.85rem;font-weight:500}nav a{padding:12px 0}nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{background:var(--forest);color:#fff;border-radius:4px;padding:13px 18px}nav .nav-contact:hover{background:#25664f;color:#fff}.menu-toggle{display:none}
.hero{max-width:var(--max);margin:12px auto 0;padding:0 48px 45px;display:grid;grid-template-columns:1fr 1fr;gap:52px;min-height:630px}.hero-copy{padding:38px 0;align-self:center}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;line-height:1.7;color:var(--blue)}.hero .eyebrow{max-width:420px;margin-bottom:24px}h1{font-size:clamp(3rem,5.8vw,5.25rem);line-height:1.07;letter-spacing:-.065em;font-weight:600}h1 span{color:#2f775d}.hero-description{font-size:1.1rem;max-width:465px;margin-top:28px;color:var(--slate)}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;padding:16px 24px;min-height:52px;font-size:.9rem;font-weight:600;transition:background .2s}.dark{background:var(--forest);color:#fff}.dark:hover{background:#24634d}.text-link{font-size:.9rem;font-weight:500;border-bottom:1px solid #abc2ba;padding:6px 0}.hero-note{display:flex;align-items:center;gap:12px;margin-top:37px;font-size:.8rem;color:var(--muted)}.note-line{height:1px;width:25px;background:#718f81}.hero-image{position:relative;overflow:hidden;border-radius:6px;min-height:0;background:var(--forest);align-self:center;width:100%}.hero-image>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;position:static}.hero-image:after{display:none}.image-label{position:static;padding:25px 30px 0;color:#fff;font-size:.88rem;letter-spacing:.12em;line-height:1.7}.hero-image figcaption{position:static;padding:12px 30px 0;color:#e4ede6;font-size:.75rem;line-height:1.5}.hero-film-link{position:static;display:inline-block;margin:22px 30px 28px;color:#fff;border-bottom:1px solid #afc5b8;padding-bottom:5px;font-size:.85rem}.hero-film-link:hover{color:var(--sky)}
.recognition{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:60px;padding:30px 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.recognition>p:nth-child(2){flex:1}.recognition strong{font-size:.96rem;font-weight:600}.recognition span{display:block;font-size:.82rem;color:var(--muted)}.recognition-org{text-align:right;font-size:.88rem}
.section{padding:96px max(48px,calc((100vw - 1284px)/2));scroll-margin-top:25px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p:last-child:not(.eyebrow){max-width:600px;color:var(--muted);margin-top:24px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:45px 90px}.approach-copy{padding-top:33px;color:var(--muted)}.approach-copy p+p{margin-top:20px}.approach-copy .lead{font-size:1.2rem;line-height:1.6;color:var(--ink)}.principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:10px}.principles article{border-top:1px solid #b9cec1;padding-top:22px}.principles article>span{font-size:.75rem;color:var(--blue);font-weight:600;letter-spacing:.07em}.principles h3{font-size:1.18rem;margin:17px 0 12px}.principles p{font-size:.93rem;color:var(--muted)}
.workflow{background:#ecf3f4;border-top:1px solid #e0e9e9;border-bottom:1px solid #e0e9e9}.workflow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:45px 0 0;position:relative}.workflow-steps:before{content:'';position:absolute;top:24px;left:24px;right:24px;border-top:1px dashed #a8bec2}.workflow-steps li{position:relative;min-width:0}.step-top{display:flex;align-items:center;gap:18px;background:#ecf3f4;width:max-content;padding-right:18px;position:relative}.step-count{display:grid;place-items:center;flex-shrink:0;width:50px;height:50px;border:1px solid #a9c5c1;border-radius:50%;background:#fff;font-size:.95rem;color:var(--forest);font-weight:600}.step-role{font-size:.75rem;letter-spacing:.08em;color:var(--blue);font-weight:600}.workflow-steps h3{font-size:1.45rem;margin:25px 0 16px}.workflow-steps p{color:var(--slate);font-size:.95rem}.step-output{display:block;border-top:1px solid #cfddde;margin-top:25px;padding-top:17px;font-size:.8rem;color:var(--blue)}.review-gate{display:flex;gap:30px;align-items:center;margin-top:42px;padding:22px 26px;background:#fff;border-left:3px solid var(--blue)}.review-gate>span{font-size:.75rem;letter-spacing:.09em;font-weight:700;white-space:nowrap;color:var(--blue)}.review-gate p{font-size:.92rem;color:var(--slate)}
.technology{background:var(--forest);color:#fff}.light .eyebrow{color:var(--sky)}.light>p:last-child:not(.eyebrow){color:#c6d7cd}.platform-showcases{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px}.platform-card{overflow:hidden;border:1px solid #537767;border-radius:5px;background:#1b4c3b}.scanner-card{background:#234c51;border-color:#527878}.platform-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#142d25}.platform-description{padding:30px}.panel-tag{font-size:.75rem;letter-spacing:.12em;color:var(--sky);font-weight:600}.platform-description h3{font-size:1.75rem;font-weight:500;margin:18px 0}.platform-description>p:not(.panel-tag){font-size:.95rem;color:#d6e1da}.platform-description ul{padding-left:18px;line-height:1.9;font-size:.9rem;color:#ecf2ee;margin:20px 0}.platform-status{display:block;border-top:1px solid #547368;padding-top:19px;font-size:.8rem;color:#c5d6cc}.technical-intro{margin-top:65px;border-top:1px solid #476959;padding-top:40px}.technical-intro .eyebrow{color:var(--sky)}.technical-intro h3{font-size:1.75rem;margin-top:18px;font-weight:500}.technical-intro>p:last-child{margin-top:15px;font-size:.95rem;color:#c5d7cc}.tech-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;margin-top:32px}.tech-tab{width:100%;display:flex;gap:22px;padding:25px 0;background:none;border:0;border-top:1px solid #456b57;color:#c3d5c9;text-align:left;font-size:1.28rem}.tech-tab>span:first-child{font-size:.75rem;padding-top:5px}.tech-tab small{display:block;font-size:.85rem;font-weight:400;color:#a5bfb0;margin-top:8px}.tech-tab.active{color:var(--sky)}.tab-marker{margin-left:auto;transition:transform .2s}.tech-tab.active .tab-marker{transform:rotate(45deg)}.tech-panels{background:#1e4b39;border:1px solid #496957;border-radius:4px;padding:32px 36px;min-height:400px}.tech-panel h3{font-size:1.95rem;line-height:1.25;font-weight:500;margin:20px 0}.tech-panel>p:not(.panel-tag){font-size:.93rem;color:#cddfd2}.tech-panel ul{padding-left:18px;font-size:.88rem;line-height:2;margin:22px 0;color:#e6eee9}.tech-panel .panel-foot{border-top:1px solid #456957;padding-top:18px;font-size:.82rem!important;color:#bdd0c3!important}
.dashboard{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;background:#eef3f2}.dashboard-copy .eyebrow{margin-bottom:24px}.dashboard-copy>p:not(.eyebrow){color:var(--muted);margin-top:24px}.dashboard-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.preview-button{background:transparent;border:1px solid #b5c8bf;border-radius:3px;padding:9px 12px;font-size:.8rem;color:var(--ink)}.preview-button.active{color:#fff;background:var(--forest);border-color:var(--forest)}.small-note{font-size:.78rem}.dashboard-figure{min-width:0;overflow:hidden;border:1px solid #cbd8d0;border-radius:5px;background:#fff;box-shadow:0 14px 40px #123c290c}.window-bar{height:38px;background:#dee8e3;display:flex;gap:5px;align-items:center;padding:0 14px}.window-bar>span{width:6px;height:6px;border-radius:50%;background:#8aa597}.window-bar p{margin:auto;font-size:.75rem;letter-spacing:.08em;color:#536a5d}.screenshot-button{display:block;width:100%;border:0;padding:0;background:#151e21}.screenshot-button img{width:100%;height:auto;aspect-ratio:1263/867;object-fit:contain}.dashboard-figure figcaption{padding:14px 17px;display:flex;justify-content:space-between;gap:15px;font-size:.75rem;line-height:1.5;color:var(--muted)}.dashboard-figure figcaption span{white-space:nowrap}
.field-work{border-bottom:1px solid var(--line)}.field-wide{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px}.field-details{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px}.field-card{overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#fff;min-width:0}.field-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#132b22}.field-card figcaption{padding:24px}.media-number{font-size:.75rem;letter-spacing:.1em;font-weight:600;color:var(--blue)}.field-card h3{font-size:1.2rem;margin:12px 0 10px}.field-card p{font-size:.88rem;color:var(--muted)}.portrait-media video,.portrait-media>img{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#132b22}
.impact{background:#f0f5f1}.impact-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:80px;align-items:center}.award-panel{border:1px solid #bed2c5;border-left:4px solid #2f7659;background:#fff;padding:30px 35px}.award-year{font-size:2rem;color:#638579;font-weight:500;line-height:1.2}.award-category{display:block;margin-top:20px;font-size:.75rem;letter-spacing:.1em;color:var(--blue);font-weight:600}.award-panel h3{font-size:2.2rem;margin:12px 0;font-weight:600}.award-panel>p:not(.award-year){font-size:.9rem;color:var(--muted)}.award-panel>div{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;font-size:.82rem;line-height:1.65;color:var(--muted)}.award-panel strong{font-weight:600;color:var(--ink)}.impact-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:42px}.impact-metrics article{background:#fff;border:1px solid var(--line);padding:26px}.impact-metrics article>p{font-size:.75rem;letter-spacing:.1em;color:var(--blue);font-weight:600}.impact-metrics strong{display:block;margin:20px 0 14px;font-size:1.28rem;font-weight:500;letter-spacing:-.025em}.impact-metrics span{font-size:.85rem;line-height:1.6;display:block;color:var(--muted)}.impact-note{font-size:.82rem;color:var(--muted);margin-top:20px}
.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.research-grid article{padding:28px;border:1px solid var(--line);border-radius:4px;background:#fff}.card-kicker{font-size:.75rem;letter-spacing:.1em;color:var(--blue);font-weight:600}.research-grid h3{font-size:1.35rem;line-height:1.4;margin:20px 0 18px}.research-grid article>p:not(.card-kicker){font-size:.92rem;color:var(--muted)}.research-grid article>span{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:.78rem;color:var(--blue)}.research-status{display:flex;align-items:baseline;gap:30px;background:#edf3ef;padding:23px 28px;margin-top:25px}.research-status strong{white-space:nowrap;font-size:.82rem}.research-status p{font-size:.9rem;color:var(--muted)}.research-horizon{margin-top:35px;padding:32px;border-left:3px solid var(--blue);background:#edf4f6;display:grid;grid-template-columns:1fr 1fr;gap:15px 40px}.research-horizon .eyebrow{grid-column:1/-1}.research-horizon h3{font-size:1.7rem;font-weight:500}.research-horizon>p:last-child{font-size:.95rem;color:var(--slate)}.questions{margin-top:45px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0 8px}summary{list-style:none;padding:22px 30px 22px 0;font-weight:500;cursor:pointer;position:relative;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;font-size:1.3rem;top:20px}details[open] summary:after{content:'−'}details p{padding:0 35px 24px 0;color:var(--muted);max-width:850px;font-size:.92rem}
.team{background:#edf2ef}.team .section-heading>p:last-child{max-width:750px}
.contact{display:grid;grid-template-columns:1fr 1.12fr;gap:80px;background:var(--forest);color:#fff}.contact-intro{padding-top:15px}.contact .eyebrow{color:var(--sky);margin-bottom:25px}.contact h2{font-size:clamp(2.3rem,4.1vw,3.8rem)}.contact h2 span{color:var(--sky)}.contact-intro>p:not(.eyebrow):not(.contact-location){font-size:1rem;color:#c9dcd0;max-width:400px;margin-top:28px}.contact-email{display:block;margin:30px 0 10px;font-size:.9rem;word-break:break-word}.contact-email:hover{text-decoration:underline}.contact-location{font-size:.82rem;color:#bfd2c5}.enquiry-form{padding:32px;background:#fff;border-radius:5px;color:var(--ink);min-width:0}.enquiry-form h3{font-size:1.6rem;font-weight:600}.form-intro{font-size:.9rem;color:var(--muted);margin:14px 0 25px}.enquiry-form label{display:block;font-size:.8rem;font-weight:600;margin:18px 0 8px}.enquiry-form label span{font-weight:400;color:var(--muted)}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;border:1px solid #b8c9c0;border-radius:3px;background:#f9fbfa;color:#203c30;padding:12px 13px;font-size:1rem;line-height:1.5}.enquiry-form textarea{resize:vertical;min-height:140px}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#6d7b74;font-size:.88rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-row label{margin-top:0}.form-row>div{min-width:0}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}.lime{background:var(--sky);color:#133f50}.lime:hover{background:#a8d8ed}.copy-enquiry{border:0;border-bottom:1px solid #b4cac0;padding:5px 0;background:none;font-size:.8rem;color:var(--ink)}.form-note{margin-top:18px;color:var(--muted);font-size:.78rem}.form-status{font-size:.85rem;color:var(--blue);margin-top:15px;line-height:1.6}.form-status:empty{margin:0}.copy-fallback{margin-top:15px;min-height:170px!important;font-size:.85rem!important}
footer{padding:32px max(48px,calc((100vw - 1284px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fbfcfa}footer .wordmark{font-size:1.4rem}footer p{font-size:.8rem;color:var(--muted)}.footer-links{display:flex;align-items:center;gap:20px;font-size:.75rem;color:var(--muted)}.footer-links a:hover{text-decoration:underline}dialog{border:0;border-radius:6px;padding:20px;width:min(1100px,95vw);max-height:94vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#092a20db}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-head h2{font-size:1.1rem;letter-spacing:-.02em}.dialog-head button{padding:9px 18px;border:1px solid var(--line);border-radius:3px;background:var(--soft);color:var(--ink)}dialog img{width:100%;height:auto}
@media(max-width:1100px){.header{padding:25px 30px;gap:20px}nav{gap:18px;font-size:.8rem}.nav-contact{padding:12px 15px}.hero{padding:0 30px 40px;gap:32px;min-height:590px}.hero-image{min-height:0}.hero-actions{gap:20px}.section{padding:75px 30px}.recognition{padding:30px;gap:35px}.approach{gap:40px}.tech-layout{gap:35px}.dashboard{gap:35px}.impact-heading{gap:45px}.contact{gap:45px}.research-grid article{padding:24px}.field-wide,.field-details{gap:20px}.field-card figcaption{padding:21px}.platform-description{padding:27px}footer{padding:30px}.step-top{gap:10px}.step-role{font-size:.75rem}.workflow-steps{gap:28px}}
@media(max-width:780px){.header{padding:22px 24px;position:relative;flex-wrap:wrap;gap:15px}.wordmark{font-size:1.6rem}.menu-toggle{display:block;background:none;border:1px solid #b5c9bd;border-radius:3px;padding:10px 15px;color:var(--ink);font-size:.9rem}.header nav{display:none;width:100%;flex-wrap:wrap;gap:8px 22px;padding:12px 0 5px}.header nav.open{display:flex}nav a{font-size:.9rem}.nav-contact{padding:10px 14px}.hero{grid-template-columns:1fr;padding:0 24px 32px;gap:28px;margin-top:0}.hero-copy{padding:27px 0 0}.hero .eyebrow{font-size:.75rem;margin-bottom:20px;max-width:350px}h1{font-size:clamp(3rem,10vw,4.5rem)}.hero-description{font-size:1rem;margin-top:23px;max-width:520px}.hero-actions{margin-top:24px;flex-wrap:wrap}.hero-note{margin-top:25px;font-size:.75rem}.hero-image{min-height:0}.image-label{padding:22px 22px 0;font-size:.75rem}.hero-image figcaption{padding:12px 22px 0;font-size:.75rem}.hero-film-link{margin:20px 22px 25px;font-size:.8rem}.recognition{flex-wrap:wrap;padding:25px 24px;gap:13px 25px}.recognition>.eyebrow{width:100%;font-size:.75rem}.recognition>p:nth-child(2){flex-basis:60%}.recognition-org{text-align:left;font-size:.8rem}.recognition strong{font-size:.88rem}.recognition span{font-size:.78rem}.section{padding:62px 24px}.section-heading .eyebrow{margin-bottom:18px}.approach{grid-template-columns:1fr;gap:25px}.approach-copy{padding:0}.principles{grid-template-columns:1fr;gap:25px;margin-top:10px}.principles article{padding-top:20px}.principles h3{margin:12px 0}.workflow-steps{grid-template-columns:1fr;gap:30px;margin-top:32px}.workflow-steps:before{display:none}.step-role{font-size:.75rem}.step-top{gap:17px;padding:0}.workflow-steps h3{margin:18px 0 13px}.step-output{margin-top:20px}.review-gate{display:block;margin-top:30px;padding:23px}.review-gate>span{display:block;margin-bottom:12px}.platform-showcases{grid-template-columns:1fr;gap:26px;margin-top:30px}.platform-description{padding:26px}.platform-description h3{font-size:1.6rem}.technical-intro{margin-top:45px;padding-top:30px}.technical-intro h3{font-size:1.5rem}.tech-layout{grid-template-columns:1fr;gap:25px;margin-top:25px}.tech-tab{padding:20px 0;font-size:1.15rem}.tech-panels{padding:28px;min-height:400px}.tech-panel h3{font-size:1.8rem}.dashboard{grid-template-columns:1fr;gap:30px}.dashboard-figure figcaption{display:block}.dashboard-figure figcaption span{display:block;margin-top:5px}.field-wide{grid-template-columns:1fr;gap:22px;margin-top:30px}.field-details{grid-template-columns:1fr;gap:22px;margin-top:22px}.portrait-media video,.portrait-media>img{aspect-ratio:9/16;max-height:none}.field-card figcaption{padding:23px}.impact-heading{grid-template-columns:1fr;gap:30px}.award-panel{padding:28px}.impact-metrics{grid-template-columns:1fr;gap:16px;margin-top:28px}.impact-metrics article{padding:25px}.impact-metrics strong{margin-top:15px}.research-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.research-grid article{padding:25px}.research-grid h3{margin:15px 0}.research-status{display:block;padding:23px}.research-status strong{display:block;margin-bottom:8px}.research-horizon{grid-template-columns:1fr;padding:25px;gap:18px;margin-top:25px}.research-horizon h3{font-size:1.5rem}.questions{margin-top:35px}.contact{grid-template-columns:1fr;gap:30px}.contact-intro{padding:0}.contact h2{font-size:clamp(2.4rem,7.7vw,3.7rem)}.enquiry-form{padding:25px}.form-row{grid-template-columns:1fr;gap:18px}.form-actions{gap:15px}.form-actions .button{font-size:.85rem;padding:14px 17px}.contact-intro>p:not(.eyebrow):not(.contact-location){margin-top:22px}footer{padding:30px 24px;flex-wrap:wrap}footer .wordmark{width:100%}.footer-links{flex-wrap:wrap;gap:15px}.dialog-head h2{font-size:1rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

.enquiry-form label,.preview-button,.copy-enquiry,.nav-contact{font-size:.875rem}.enquiry-form .form-note{font-size:.8rem}.hero-note{flex-wrap:wrap}
@media(max-width:1000px){.header{flex-wrap:wrap}.menu-toggle{display:block;background:none;border:1px solid #b5c9bd;border-radius:3px;padding:10px 15px;color:var(--ink);font-size:.9rem}.header nav{display:none;width:100%;flex-wrap:wrap;gap:8px 22px;padding:12px 0 5px}.header nav.open{display:flex}nav a{font-size:.9rem}}
