:root{
  --orange:#d8d4cb;--ink:#141516;--paper:#f4f2ed;--muted:#65625d;
  --line:#dbd9d5;--soft:#f3f1ed;--cyan:#d8d4cb;--amber:#d6d0c3;
  --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:#898886}
.header.wrap{max-width:none;width:100%;padding-inline:var(--page-gutter);background:#111315;color:#fdfbf7;border-color:#4b4b4a}
.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:#181818;font-weight:750;box-shadow:0 10px 32px #12121222}
.button:hover{background:#dedcd8;border-color:#dedcd8}
.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%,#3f3f3f 0,#262626 35%,#111315 75%);color:#fdfbf7;grid-template-columns:47% 53%;min-height:650px;gap:0}
.hero-copy{padding-top:50px;padding-right:4vw;z-index:2}
.hero .eyebrow{color:#d6d4d0;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:#e3e1dd;font-size:18px;line-height:1.65;max-width:560px;margin-top:31px}
.hero-actions{margin-top:32px}
.hero .text-link{color:#f4f2ee}
.hero-note{margin-top:auto;padding-top:35px;font:12px var(--mono);letter-spacing:1.6px;color:#a8a7a4}
.hero-visual{min-height:560px;isolation:isolate;border:1px solid #5d5c5b;border-radius:24px;background:radial-gradient(circle at 50% 42%,#5a5a59 0,#353535 42%,#202020 72%);box-shadow:inset 0 0 100px #1111117d,0 30px 60px #11111155;overflow:hidden}
.hero-visual:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 96%,#dddbd715 97%),linear-gradient(90deg,transparent 96%,#dddbd715 97%);background-size:38px 38px;opacity:.65}
.hero-orbit{position:absolute;width:74%;aspect-ratio:1;border:1px solid #d4d2ce60;border-radius:50%;top:11%;left:13%;box-shadow:0 0 0 34px #d4d2ce08,0 0 0 72px #d4d2ce06}
.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 #11111199)}
.hero-visual:hover>img.mascot{transform:translateY(-4px)}
.hero .visual-caption{z-index:2;color:#f8f6f2;bottom:22px}
.hero .visual-caption>span:first-child{background:#1b1b1be8;border-color:var(--amber);font-size:12px}
.hero .visual-label{background:#1b1b1bd8;color:#d4d2ce}
.intro-strip{background:var(--paper);border-color:#d1cfcb;padding-block:19px}
.strip-index{color:#666564;font-weight:700}
.section{padding-block:98px}
.eyebrow{color:#6b6a69;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 #d3d1cd;background:#ffffff;display:flex;flex-direction:column;box-shadow:0 16px 42px #3030300b;border-radius:16px;transition:transform .2s,border-color .2s}
.service-card:hover{transform:translateY(-4px);border-color:#afaeab}
.service-index{font:12px var(--mono);letter-spacing:1px;color:#706f6e}
.service-icon{width:68px;height:68px;border:1px solid #bfbdba;border-radius:16px;background:#f8f6f2;display:grid;place-items:center;color:#555554;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:#4d4d4c}
.lab{background:#1a1a1a;color:#fdfbf7;position:relative;overflow:hidden}
.lab:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 16%,#52525150,transparent 42%);pointer-events:none}
.lab .wrap{position:relative}.lab .eyebrow{color:#cccac7}.lab .section-intro{color:#d2d0cc}
.lab-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:25px;background:#2b2b2b;border:1px solid #5f5e5d;border-radius:20px;overflow:hidden}
.lab-copy{padding:42px 45px}
.status-chip{display:inline-block;padding:8px 11px;border-radius:20px;background:#d6d0c3;color:#1c1c1c;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:#e4e2de;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 #b3b2af;padding:10px 13px;border-radius:8px;background:#222222;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,#696867,#242424 65%)}
.lab-visual>div{width:22%;aspect-ratio:1;display:grid;place-items:center;border:2px solid #d5d3cf;border-radius:18px;background:#fdfbf7;color:#494948;font-size:clamp(24px,4vw,60px);box-shadow:0 18px 30px #12121280}
.lab-visual .figure-colour{background:#d6d0c3;border-color:#e6e4e0;color:#414141}
.lab-small-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.lab-small-grid article{background:#282828;border:1px solid #4f4f4e;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:#d6d4d0;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:#f3f1ed;border:1px solid #d0ceca;padding:11px 13px;border-radius:99px;font-size:13px;font-weight:700}
.test-copy>.test-foot{font-size:14px!important;color:#6b6a69!important}
.test-art{justify-self:center;width:min(100%,390px);aspect-ratio:1;background:radial-gradient(circle,#f5f3ef,#dedcd8);border-radius:50%;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;filter:drop-shadow(0 25px 28px #2a2a2a21)}
.stand-top{background:#fefcf8;color:#2d2d2d;border:2px solid #b2b1ae;border-radius:14px;width:50%;height:62%;transform:perspective(500px) rotateY(-14deg);box-shadow:14px 11px 0 #676665;text-align:center;padding-top:12%;font:20px var(--mono);font-weight:700}
.stand-top small{font-size:12px;color:#7d7c7a}
.demo-qr{position:absolute;top:38%;font-size:52px;line-height:.55;color:#292929;text-align:center}
.demo-qr span{font-size:35px}
.stand-base{position:absolute;bottom:15%;width:62%;height:15px;background:#444443;border-radius:50%}
.architecture{background:#f3f1ed}
.architecture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.architecture-grid article{background:#ffffff;border:1px solid #dcdad6;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:#555554}
.gallery-note{margin-top:24px}
.process{background:#f4f2ed}
.steps article{border-color:#d0ceca}
.step-number{color:#757472}
.studio{background:#111315}
.studio .eyebrow{color:#d2d0cc}
.studio-intro>p:not(.eyebrow){color:#d1cfcb}
.machine-panel{border-color:#61605f;border-radius:16px}
.machine-panel:before{background:var(--amber)}
.machine-type{color:#d7d5d1}
.machine-specs{border-color:#61605f}
.machine-specs div>span,.machine-note{color:#d1cfcb}
.questions{background:var(--paper)}
details[open] summary>span{color:#696867}
.closing{background:#cbc9c6;border-radius:16px;margin-bottom:32px}
.closing h2>span{color:#ffffff}
.button-dark{background:#111315;color:#fdfbf7;border-color:#111315}
.button-dark:hover{background:#313131;border-color:#313131}
.footer{border-top:1px solid #dcdad6}
dialog{background:#ffffff;color:#141516;border-color:#bab8b5;border-radius:14px}
dialog .eyebrow{color:#6b6a69}
.live-quote .dialog-close{background:#ffffff}
.online-enquiry-options{border-color:#dcdad6}
.online-enquiry-options .enquiry-guidance{flex-basis:100%;font-size:13px;line-height:1.5;color:#585857}
@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:#fdfbf7}.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:#1e1e1e;color:#fdfbf7;border-color:#4a4a49}.mobile-nav button{color:#d2d0cc}}
@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:#141516}.footer .wordmark-dot{color:#6d6c6b}}
@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}}

/* MoonPact: original Pact artwork, lunar silver, charcoal and warm white. */
:root{--ink:#141516;--paper:#f4f2ed;--muted:#65625d;--soft:#eae7e0;--line:#d6d2ca;--orange:#d8d4cb;--cyan:#d8d4cb;--amber:#d6d0c3}
.header.wrap{background:#111315;border-color:#35373a;color:#f7f4ee}
.wordmark{flex-shrink:0;letter-spacing:normal;line-height:1}
.brand-logo{display:block;width:220px;height:auto;max-width:100%}
.footer .brand-logo{width:192px}
.button{background:linear-gradient(135deg,#f0ede6,#c9c5bc);border-color:#d4cfc5;color:#141516;box-shadow:0 9px 25px #00000018}
.button:hover{background:#faf8f2;border-color:#faf8f2}
.button-dark{background:#141516;color:#f4f2ed;border-color:#141516}
.button-dark:hover{background:#303235;color:#fff;border-color:#303235}
.button-outline{background:transparent;border-color:#b7b2a9;color:#141516}
.button-outline:hover{background:#e8e4dc;border-color:#918c82}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #88847c;outline-offset:4px}
.header a:focus-visible,.hero a:focus-visible,.mobile-nav a:focus-visible,.mobile-nav button:focus-visible{outline-color:#f4f2ed}
.hero.wrap{background:radial-gradient(ellipse at 79% 29%,#35383c 0,#1b1e22 36%,#101214 76%);color:#f7f4ee}
.hero h1 span{background:linear-gradient(120deg,#faf7f0 5%,#b6b3ac 65%,#f0ece3);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero .eyebrow{color:#d3cfc6}.tiny-cross{color:#e7e2d7}
.hero-description{color:#d1cec7}.hero-note{color:#aaa69e}.hero .text-link{color:#f1eee7}
.hero-visual{background:radial-gradient(circle at 54% 35%,#4b4d4e,#272a2d 45%,#17191c 76%);border-color:#5a5a58;box-shadow:inset 0 0 90px #00000066,0 30px 60px #00000033}
.hero-visual:before{background:linear-gradient(transparent 96%,#f1eee710 97%),linear-gradient(90deg,transparent 96%,#f1eee710 97%);background-size:38px 38px;opacity:.45}
.hero-visual:after{content:'';position:absolute;width:72%;aspect-ratio:1;top:8%;right:-8%;border-radius:50%;z-index:0;background:radial-gradient(circle at 30% 25%,#96958e,#4a4c4d 36%,#222528 67%,#17191c 80%);box-shadow:inset 8px 4px 12px #f4efe12e,inset -35px -20px 45px #0000009c;opacity:.56;pointer-events:none}
.hero-orbit{border-color:#c7c3b45c;box-shadow:0 0 0 34px #d5d0c008,0 0 0 72px #d5d0c006}
.hero-visual>img.mascot{filter:drop-shadow(0 22px 28px #00000077)}
.hero .visual-caption{color:#efebe3}.hero .visual-caption>span:first-child{background:#15181bed;border-color:#d6d0c3}.hero .visual-label{background:#15181bdb;color:#d0ccc3}
.lab,.studio{background:#14171a;color:#f4f2ed}.lab:before{background:radial-gradient(circle at 85% 16%,#d8d4cb18,transparent 42%)}
.lab-feature{background:#222529;border-color:#515359}.lab-copy p,.lab .section-intro,.lab-small-grid p,.studio-intro>p:not(.eyebrow){color:#c9c6bf}
.lab-visual{background:radial-gradient(circle,#585a5b,#24272b 70%)}.lab-visual>div{color:#36383a;border-color:#d0ccc2;background:#eeebe4}
.lab-flow span,.lab-small-grid article{background:#24272b;border-color:#55575b}.lab-small-grid span,.lab .eyebrow,.studio .eyebrow{color:#d6d0c3}
.status-chip{background:#d6d0c3;color:#242322}.lab-visual .figure-colour{background:#b6afa1;border-color:#e4ddd0;color:#33312d}
.architecture{background:#e9e6df}.service-card{border-color:#d5d1c9}.service-card:hover{border-color:#969085}
.service-icon{background:#eeebe4;border-color:#bcb7ac;color:#45423d}.service-index,.eyebrow,.strip-index,.service-card .text-link,.architecture-grid button{color:#625d54}
.test-pills span{background:#e8e4dc;border-color:#c8c1b6}.test-art{background:radial-gradient(circle,#f7f4ed,#ccc6bb)}
.stand-top{background:#f8f6f0;color:#2d2e2f;border-color:#a9a397;box-shadow:14px 11px 0 #79766f}.stand-top small{color:#6c675d}.demo-qr{color:#292c2e}.stand-base{background:#59574f}
.machine-panel,.machine-specs{border-color:#646363}.machine-type{color:#d5d0c6}.machine-specs div>span,.machine-note{color:#c6c2b9}
.closing{background:linear-gradient(120deg,#d6d0c4,#f0ece3);color:#171819}.closing h2>span{color:#646057}
.mobile-nav{background:#17191c;color:#f4f2ed;border-color:#414348}.mobile-nav button{color:#ded8cc}
dialog{background:#faf8f3;color:#141516;border-color:#aca69a}.live-quote .dialog-close{background:#faf8f3}
.online-enquiry-options{border-color:#d5d0c7}.online-enquiry-options .enquiry-guidance{color:#59564f}.status-message{color:#444b41}
@media(max-width:850px){.brand-logo{width:196px}.menu-toggle span{background:#f4f2ed}}
@media(max-width:650px){.brand-logo{width:181px}.footer .brand-logo{width:175px}.header.wrap{height:79px}.hero-visual{border-radius:20px}.hero-note{font-size:11px;letter-spacing:1px}}
@media(max-width:375px){.brand-logo{width:168px}}

/* The lunar plate shares the opening canvas, then fades with scroll. */
.hero.wrap{position:relative;isolation:isolate;overflow:hidden;background:#101214}
.lunar-background{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#101214cf 0%,#10121480 40%,#10121410 76%),url('/assets/moon-background-v1.webp');background-size:cover;background-position:center right;opacity:1;will-change:opacity}
.hero-visual{background:linear-gradient(140deg,#1113151a,#11131544);border-color:#c7c0b340;box-shadow:inset 0 0 90px #00000022,0 25px 55px #00000022}
.hero-visual:before{opacity:.15}.hero-visual:after{display:none}.hero-orbit{opacity:.3}
@media(max-width:850px){.lunar-background{background-image:linear-gradient(90deg,#101214c9,#101214ad),url('/assets/moon-background-v1.webp');background-position:65% top;background-size:auto 100%}}
@media(prefers-reduced-motion:reduce){.lunar-background{will-change:auto}}
