:root{
  --orange:#5be5ed;--ink:#081b2b;--paper:#f5f9fa;--muted:#536675;
  --line:#c9dce5;--soft:#eaf2f5;--cyan:#5be5ed;--amber:#ffc978;
  --page-gutter:max(52px,calc((100vw - 1392px)/2));
  color:var(--ink);background:var(--paper)
}
body{background:var(--paper)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#19a3c5}
.header.wrap{max-width:none;width:100%;padding-inline:var(--page-gutter);background:#071827;color:#f5fdff;border-color:#25536a}
.wordmark{letter-spacing:-1.1px}.brand-icon{background:var(--cyan);color:var(--ink);border-radius:6px}.wordmark-dot{color:var(--cyan)}
.desktop-nav a:after{background:var(--cyan)}
.button{border-radius:7px;color:#061c2b;font-weight:750;box-shadow:0 10px 32px #04152222}
.button:hover{background:#8cf1f2;border-color:#8cf1f2}
.text-link{font-weight:700}
.hero.wrap{width:100%;max-width:none;padding:45px var(--page-gutter) 55px;background:radial-gradient(circle at 74% 35%,#124866 0,#0b2b43 35%,#071827 75%);color:#f6fcff;grid-template-columns:47% 53%;min-height:650px;gap:0}
.hero-copy{padding-top:50px;padding-right:4vw;z-index:2}
.hero .eyebrow{color:#87e8f0;font-size:12px}
.tiny-cross{color:var(--amber);font-size:17px;line-height:1}
.hero h1{font-size:clamp(62px,6.7vw,112px);letter-spacing:-.065em;margin-top:28px}
.hero h1 span{color:var(--cyan)}
.hero-description{color:#d1e4ed;font-size:18px;line-height:1.65;max-width:560px;margin-top:31px}
.hero-actions{margin-top:32px}
.hero .text-link{color:#d9f8fb}
.hero-note{margin-top:auto;padding-top:35px;font:12px var(--mono);letter-spacing:1.6px;color:#82afc3}
.hero-visual{min-height:560px;isolation:isolate;border:1px solid #2c6680;border-radius:24px;background:radial-gradient(circle at 50% 42%,#1e6880 0,#103d59 42%,#092439 72%);box-shadow:inset 0 0 100px #0114217d,0 30px 60px #03132355;overflow:hidden}
.hero-visual:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 96%,#8defff15 97%),linear-gradient(90deg,transparent 96%,#8defff15 97%);background-size:38px 38px;opacity:.65}
.hero-orbit{position:absolute;width:74%;aspect-ratio:1;border:1px solid #7ce9ef60;border-radius:50%;top:11%;left:13%;box-shadow:0 0 0 34px #7ce9ef08,0 0 0 72px #7ce9ef06}
.hero-visual>img.mascot{position:relative;inset:auto;width:min(91%,560px);height:auto;max-height:560px;object-fit:contain;object-position:center;margin:auto;z-index:1;filter:drop-shadow(0 22px 28px #02142199)}
.hero-visual:hover>img.mascot{transform:translateY(-4px)}
.hero .visual-caption{z-index:2;color:#e5faff;bottom:22px}
.hero .visual-caption>span:first-child{background:#071f33e8;border-color:var(--amber);font-size:12px}
.hero .visual-label{background:#071f33d8;color:#a1deeb}
.intro-strip{background:var(--paper);border-color:#bcd3df;padding-block:19px}
.strip-index{color:#087b9a;font-weight:700}
.section{padding-block:98px}
.eyebrow{color:#117f9c;font-weight:700}
h2{font-weight:800;letter-spacing:-.055em}
.section-intro{max-width:470px}
.services .section-heading{margin-bottom:35px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{min-height:340px;padding:28px;border:1px solid #bad6e2;background:#fff;display:flex;flex-direction:column;box-shadow:0 16px 42px #0b38500b;border-radius:16px;transition:transform .2s,border-color .2s}
.service-card:hover{transform:translateY(-4px);border-color:#45c9dc}
.service-index{font:12px var(--mono);letter-spacing:1px;color:#317e94}
.service-icon{width:68px;height:68px;border:1px solid #77cfdd;border-radius:16px;background:#e5fbfc;display:grid;place-items:center;color:#086786;font-size:42px;margin:35px 0 24px}
.service-card h3{font-size:28px;font-weight:750}
.service-card p{color:var(--muted);line-height:1.65;margin-top:10px;max-width:370px}
.service-card .text-link{margin-top:auto;align-self:flex-start;color:#075d79}
.lab{background:#091d2f;color:#f5fcff;position:relative;overflow:hidden}
.lab:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 16%,#0e628050,transparent 42%);pointer-events:none}
.lab .wrap{position:relative}.lab .eyebrow{color:#77e0e9}.lab .section-intro{color:#bdd4df}
.lab-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:25px;background:#103047;border:1px solid #2b6a80;border-radius:20px;overflow:hidden}
.lab-copy{padding:42px 45px}
.status-chip{display:inline-block;padding:8px 11px;border-radius:20px;background:#ffc978;color:#281b05;font:12px var(--mono);font-weight:700}
.lab-copy h3{font-size:clamp(31px,3.5vw,50px);letter-spacing:-.05em;line-height:1.1;margin-top:21px}
.lab-copy p{color:#d0e6ed;max-width:650px;line-height:1.7;margin-top:19px;font-size:17px}
.lab-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:28px}
.lab-flow span{border:1px solid #68c4d5;padding:10px 13px;border-radius:8px;background:#0b263a;font-size:13px;font-weight:650}
.lab-flow b{color:var(--amber)}
.lab-visual{min-height:375px;display:flex;align-items:center;justify-content:center;gap:10px;padding:25px;background:radial-gradient(circle at center,#1f7a8f,#0b293f 65%)}
.lab-visual>div{width:22%;aspect-ratio:1;display:grid;place-items:center;border:2px solid #8fe5ed;border-radius:18px;background:#f8fcff;color:#075878;font-size:clamp(24px,4vw,60px);box-shadow:0 18px 30px #03152180}
.lab-visual .figure-colour{background:#ffc978;border-color:#ffe2aa;color:#6e3a06}
.lab-small-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.lab-small-grid article{background:#102c42;border:1px solid #28576c;border-radius:16px;padding:26px 30px}
.lab-small-grid span{font:11px var(--mono);color:var(--amber);letter-spacing:1px}
.lab-small-grid h3{font-size:23px;margin-top:14px}
.lab-small-grid p{color:#c1d8e1;line-height:1.65;margin-top:10px}
.test{display:grid;grid-template-columns:1.25fr .75fr;gap:7%;align-items:center}
.test h2{margin-bottom:24px}.test-copy>p:not(.eyebrow){font-size:18px;line-height:1.7;color:var(--muted);max-width:670px}
.test-pills{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}
.test-pills span{background:#dcf7f8;border:1px solid #a2d9e3;padding:11px 13px;border-radius:99px;font-size:13px;font-weight:700}
.test-copy>.test-foot{font-size:14px!important;color:#5b6d74!important}
.test-art{justify-self:center;width:min(100%,390px);aspect-ratio:1;background:radial-gradient(circle,#e8f6f7,#c5e2ea);border-radius:50%;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;filter:drop-shadow(0 25px 28px #0a314021)}
.stand-top{background:#f9fdfe;color:#0e3448;border:2px solid #8bbac8;border-radius:14px;width:50%;height:62%;transform:perspective(500px) rotateY(-14deg);box-shadow:14px 11px 0 #2e7385;text-align:center;padding-top:12%;font:20px var(--mono);font-weight:700}
.stand-top small{font-size:12px;color:#4a8898}
.demo-qr{position:absolute;top:38%;font-size:52px;line-height:.55;color:#102e42;text-align:center}
.demo-qr span{font-size:35px}
.stand-base{position:absolute;bottom:15%;width:62%;height:15px;background:#154e65;border-radius:50%}
.architecture{background:#eaf2f5}
.architecture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.architecture-grid article{background:#fff;border:1px solid #cbdde4;border-radius:15px;overflow:hidden;padding-bottom:25px}
.architecture-grid img{width:100%;aspect-ratio:1.36;object-fit:cover}
.architecture-grid h3,.architecture-grid p,.architecture-grid button{margin-left:22px;margin-right:22px}
.architecture-grid h3{margin-top:22px}
.architecture-grid p{color:var(--muted);line-height:1.6;margin-top:10px}
.architecture-grid button{margin-top:14px;color:#086785}
.gallery-note{margin-top:24px}
.process{background:#f5f9fa}
.steps article{border-color:#b8d3df}
.step-number{color:#0d8daa}
.studio{background:#071827}
.studio .eyebrow{color:#7ee5ed}
.studio-intro>p:not(.eyebrow){color:#bed3df}
.machine-panel{border-color:#3c687e;border-radius:16px}
.machine-panel:before{background:var(--amber)}
.machine-type{color:#85eaf0}
.machine-specs{border-color:#3c687e}
.machine-specs div>span,.machine-note{color:#bed3df}
.questions{background:var(--paper)}
details[open] summary>span{color:#0b7e9d}
.closing{background:#69e3e9;border-radius:16px;margin-bottom:32px}
.closing h2>span{color:#fff}
.button-dark{background:#071827;color:#f7fcff;border-color:#071827}
.button-dark:hover{background:#15374b;border-color:#15374b}
.footer{border-top:1px solid #cbdde4}
dialog{background:#fff;color:#081b2b;border-color:#98bfce;border-radius:14px}
dialog .eyebrow{color:#117f9c}
.live-quote .dialog-close{background:#fff}
.online-enquiry-options{border-color:#cbdde5}
.online-enquiry-options .enquiry-guidance{flex-basis:100%;font-size:13px;line-height:1.5;color:#405d6c}
@media(max-width:1150px){:root{--page-gutter:32px}.hero.wrap{min-height:570px}.hero-copy{padding-top:30px}.hero-visual{min-height:500px}.hero h1{font-size:clamp(56px,6.5vw,86px)}}
@media(max-width:850px){.header-quote{display:none}.menu-toggle{display:flex;margin-left:auto}.menu-toggle span{background:#f4fdff}.desktop-nav{display:none}.hero.wrap{grid-template-columns:1fr;gap:35px}.hero-copy{padding:12px 0 0}.hero-visual{min-height:440px;max-width:650px;width:100%;justify-self:center}.hero-visual>img.mascot{max-height:430px}.hero-note{margin-top:25px;padding-top:0}.service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:span 2}.lab-feature{grid-template-columns:1fr}.lab-visual{min-height:230px}.test{grid-template-columns:1fr}.architecture-grid{grid-template-columns:1fr 1fr}.architecture-grid article:last-child{grid-column:span 2}.mobile-nav{background:#092236;color:#f6fcff;border-color:#245269}.mobile-nav button{color:#7ce6ee}}
@media(max-width:650px){:root{--page-gutter:20px}.header.wrap{height:76px}.hero.wrap{padding-top:30px;padding-bottom:32px}.hero h1{font-size:clamp(54px,12vw,76px);margin-top:18px}.hero-description{font-size:16px;margin-top:22px}.hero-visual{aspect-ratio:1.05;min-height:0}.hero-visual>img.mascot{max-height:380px;width:98%}.hero .visual-caption>span:first-child{font-size:10px}.hero .visual-label{font-size:9px}.intro-strip{display:grid;grid-template-columns:1fr}.section{padding-block:62px}.service-grid,.lab-small-grid,.architecture-grid{grid-template-columns:1fr}.service-card:last-child,.architecture-grid article:last-child{grid-column:auto}.service-card{min-height:290px}.service-icon{margin:23px 0 18px}.lab-copy{padding:29px 23px}.lab-copy p{font-size:16px}.lab-visual{min-height:170px;padding:15px}.test-art{width:min(78vw,330px)}.closing{border-radius:0}.footer .wordmark{color:#081b2b}.footer .wordmark-dot{color:#0b849f}}
@media(max-width:375px){.lab-flow span{font-size:11px;padding:8px}.lab-flow{gap:5px}.hero .eyebrow{font-size:10px}.hero h1{font-size:51px}}
