:root{--ink:#090c0f;--graphite:#10141a;--panel:#171d25;--panel-2:#1e2730;--line:#ffffff1a;--line-strong:#fff3;--text:#e8edf3;--muted:#98a6b4;--arc:#3bb8f0;--arc-deep:#0f6a9e;--ember:#ff7a1a;--ember-deep:#d85c00;--h:"Space Grotesk", "Segoe UI", system-ui, sans-serif;--b:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--wrap:1200px;--gut:24px;--r:3px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--graphite);color:var(--text);font-family:var(--b);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--h);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;font-weight:700;line-height:1.08}h1{font-size:clamp(2.3rem,5.6vw,4rem)}h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}h3{font-size:clamp(1.15rem,1.9vw,1.4rem)}p{margin:0 0 1.1em}p:last-child{margin-bottom:0}a{color:var(--arc);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:#7fd2ff}img{max-width:100%;height:auto;display:block}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--arc);outline-offset:3px}.skip{background:var(--arc);color:#04202f;z-index:200;padding:10px 18px;font-weight:600;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--gut);margin-inline:auto}.eyebrow{font-family:var(--h);letter-spacing:.18em;text-transform:uppercase;color:var(--arc);align-items:center;gap:10px;margin-bottom:14px;font-size:.73rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--arc);flex:none;width:26px;height:2px}.lede{color:#c6d0da;max-width:62ch;font-size:clamp(1.05rem,1.7vw,1.25rem)}.section{padding:clamp(64px,8vw,110px) 0;position:relative}.section.tight{padding:clamp(48px,6vw,80px) 0}.section.panel{background:var(--panel)}.section.ink{background:var(--ink)}.section.ruled{border-top:1px solid var(--line)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:clamp(32px,4vw,52px);display:flex}.sec-head p{max-width:58ch;color:var(--muted);margin:10px 0 0}.btn{font-family:var(--h);letter-spacing:.01em;border-radius:var(--r);background:var(--ember);color:#180900;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:14px 22px;font-size:.98rem;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.btn:hover{color:#180900;background:#ff9243;transform:translateY(-1px)}.btn .icon{width:19px;height:19px}.btn-ghost{border-color:var(--line-strong);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--arc);color:#fff;background:#ffffff12}.btn-arc{background:var(--arc);color:#04202f}.btn-arc:hover{color:#04202f;background:#6cf}.btn-block{width:100%;display:flex}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.text-link{font-family:var(--h);color:var(--arc);align-items:center;gap:8px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link .icon{width:18px;height:18px;transition:transform .16s}.text-link:hover .icon{transform:translate(4px)}.icon{flex:none;width:24px;height:24px}.site-header{z-index:100;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#090c0feb;position:sticky;top:0}.bar{align-items:center;gap:22px;min-height:72px;display:flex}.brand{color:var(--text);align-items:center;gap:12px;margin-right:auto;text-decoration:none;display:flex}.brand img{width:36px;height:36px}.brand-name{font-family:var(--h);letter-spacing:.02em;text-transform:uppercase;font-size:1.02rem;font-weight:700;line-height:1.1}.brand-sub{font-family:var(--h);letter-spacing:.2em;color:var(--arc);margin-top:3px;font-size:.6rem;font-weight:500;display:block}nav.main{gap:26px;display:flex}nav.main a{font-family:var(--h);color:var(--text);border-bottom:2px solid #0000;padding:6px 0;font-size:.95rem;font-weight:500;text-decoration:none}nav.main a:hover{color:var(--arc)}nav.main a[aria-current=page]{border-bottom-color:var(--arc);color:var(--arc)}.header-cta{padding:11px 18px;font-size:.92rem}.burger{border:1px solid var(--line-strong);border-radius:var(--r);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;display:none}.burger span{background:var(--text);width:20px;height:2px;transition:transform .2s,opacity .2s;display:block}.burger[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav{border-top:1px solid var(--line);background:var(--ink);display:none}.mobile-nav[data-open=true]{display:block}.mobile-nav .inner{padding:14px var(--gut) 22px;flex-direction:column;gap:2px;display:flex}.mobile-nav a{font-family:var(--h);color:var(--text);border-bottom:1px solid var(--line);padding:13px 0;font-size:1.05rem;font-weight:500;text-decoration:none}.mobile-nav .btn{border-bottom:none;margin-top:16px}@media (width<=920px){nav.main,.header-cta{display:none}.burger{display:flex}}.hero{background:var(--ink);align-items:flex-end;min-height:clamp(560px,82vh,760px);display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;opacity:.5;width:100%;height:100%}.hero:after{content:"";background:linear-gradient(to top, var(--graphite) 2%, #090c0fd1 42%, #090c0f61 100%);position:absolute;inset:0}.hero .wrap{z-index:2;padding-top:clamp(60px,10vw,110px);padding-bottom:clamp(48px,7vw,84px);position:relative}.hero h1{max-width:17ch}.hero .lede{color:#d4dde6;margin-bottom:30px}.hero .btn-row{margin-bottom:34px}.hero-claims{border-top:1px solid var(--line);flex-wrap:wrap;gap:0;display:flex}.hero-claims li{font-family:var(--h);color:#cfd9e3;align-items:center;gap:9px;margin-right:26px;padding:16px 26px 0 0;font-size:.88rem;font-weight:500;display:flex}.hero-claims .icon{width:17px;height:17px;color:var(--arc)}.page-hero{background:var(--ink);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-hero .ph-bg{position:absolute;inset:0}.page-hero .ph-bg img{object-fit:cover;opacity:.3;width:100%;height:100%}.page-hero:after{content:"";background:linear-gradient(to right, var(--ink) 8%, #090c0fb3 70%, #090c0f73 100%);position:absolute;inset:0}.page-hero .wrap{z-index:2;padding-block:clamp(50px,7vw,88px);position:relative}.page-hero h1{max-width:20ch}.page-hero .btn-row{margin-top:28px}.crumbs{color:var(--muted);font-size:.82rem;font-family:var(--h);flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--arc)}.crumbs span:before{content:"/";color:#ffffff40;margin-right:8px}.grid{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}.cell{background:var(--graphite);padding:clamp(24px,3vw,36px)}.section.panel .cell{background:var(--panel)}.cell h3{margin-bottom:10px}.cell p{color:var(--muted);font-size:.96rem}.step-n{font-family:var(--h);color:#0000;-webkit-text-stroke:1.3px var(--arc-deep);margin-bottom:16px;font-size:2.6rem;font-weight:700;line-height:1;display:block}.svc-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .18s,transform .18s;display:flex;overflow:hidden}.svc-card:hover{border-color:var(--arc);color:inherit;transform:translateY(-3px)}.svc-card figure{aspect-ratio:16/10;background:var(--ink);margin:0;overflow:hidden}.svc-card figure img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.svc-card:hover figure img{transform:scale(1.04)}.svc-card .body{flex-direction:column;flex:1;gap:10px;padding:24px;display:flex}.svc-card h3{margin:0}.svc-card p{color:var(--muted);flex:1;font-size:.95rem}.svc-card .more{font-family:var(--h);color:var(--arc);align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:inline-flex}.svc-card:hover .more .icon{transform:translate(4px)}.svc-card .more .icon{width:18px;height:18px;transition:transform .18s}.cards{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;display:grid}.proj{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);flex-direction:column;gap:14px;padding:clamp(24px,3vw,34px);display:flex}.proj .machine{font-family:var(--h);letter-spacing:.16em;text-transform:uppercase;color:var(--arc);border:1px solid var(--arc-deep);border-radius:var(--r);align-self:flex-start;padding:5px 10px;font-size:.72rem;font-weight:600}.proj h3{margin:0}.proj p{color:#c0cbd6;font-size:.97rem}.proj .did{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;display:flex}.proj .did li{color:var(--muted);align-items:flex-start;gap:10px;font-size:.92rem;display:flex}.proj .did .icon{width:17px;height:17px;color:var(--arc);margin-top:3px}.ticks{flex-direction:column;gap:12px;display:flex}.ticks li{align-items:flex-start;gap:12px;font-size:.97rem;display:flex}.ticks .icon{width:19px;height:19px;color:var(--arc);margin-top:4px}.svc-body{grid-template-columns:1fr 360px;align-items:start;gap:clamp(32px,5vw,64px);display:grid}.prose{max-width:68ch}.prose p{color:#c6d0da}.svc-aside{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:28px;position:sticky;top:96px}.svc-aside h2{margin-bottom:18px;font-size:1.25rem}.svc-aside .btn{margin-top:24px}@media (width<=900px){.svc-body{grid-template-columns:1fr}.svc-aside{position:static}}.mini-links{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;display:grid;overflow:hidden}.mini-links a{background:var(--graphite);color:var(--text);font-family:var(--h);justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;font-size:.96rem;font-weight:500;text-decoration:none;display:flex}.section.panel .mini-links a{background:var(--panel)}.mini-links a:hover{background:var(--panel-2);color:var(--arc)}.mini-links .icon{width:18px;height:18px;color:var(--arc)}.gallery{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.gallery figure{border-radius:var(--r);background:var(--ink);border:1px solid var(--line);margin:0;overflow:hidden}.gallery figure img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .45s}.gallery figure:hover img{transform:scale(1.05)}.gallery figcaption{color:var(--muted);padding:10px 12px 12px;font-size:.82rem;line-height:1.45}.gal-filters{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.gal-filters button{font-family:var(--h);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r);cursor:pointer;background:0 0;padding:9px 16px;font-size:.88rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.gal-filters button:hover{border-color:var(--arc);color:var(--arc)}.gal-filters button[aria-pressed=true]{background:var(--arc);border-color:var(--arc);color:#04202f}html:not(.js) .gal-filters{display:none}.band{background:var(--ink);position:relative;overflow:hidden}.band .band-bg{position:absolute;inset:0}.band .band-bg img{object-fit:cover;opacity:.28;width:100%;height:100%}.band:after{content:"";background:linear-gradient(90deg,#090c0ff2,#090c0f99);position:absolute;inset:0}.band .wrap{z-index:2;position:relative}.faq{background:var(--line);border:1px solid var(--line);border-radius:var(--r);gap:1px;display:grid;overflow:hidden}.faq details{background:var(--graphite)}.section.panel .faq details{background:var(--panel)}.faq summary{cursor:pointer;font-family:var(--h);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:1.04rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--arc);font-size:1.5rem;font-weight:400;line-height:1}.faq details[open] summary:after{content:"−"}.faq details[open] summary{color:var(--arc)}.faq .answer{color:var(--muted);max-width:76ch;padding:0 22px 22px}.enquiry{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,36px)}.enquiry h2,.enquiry h3{margin-bottom:8px}.form-intro{color:var(--muted);margin-bottom:22px;font-size:.95rem}.field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.field-row{grid-template-columns:1fr;gap:0}}.field label{font-family:var(--h);letter-spacing:.06em;text-transform:uppercase;color:#b4c0cc;font-size:.82rem;font-weight:600}.field .hint{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:400}.field input,.field select,.field textarea{font-family:var(--b);color:var(--text);background:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;padding:12px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--arc);outline:none;box-shadow:0 0 0 3px #3bb8f02e}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#ff6b5e}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-note{color:var(--muted);margin:14px 0 0;font-size:.88rem}.form-status{color:#ffb4ab;min-height:1px;margin:12px 0 0;font-size:.92rem}.form-preview{color:#ffd79a;border-radius:var(--r);border:1px dashed #ffaa3c73;margin:16px 0 0;padding:10px 12px;font-size:.85rem}.contact-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:clamp(32px,5vw,60px);display:grid}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.contact-list{flex-direction:column;gap:2px;margin-top:26px;display:flex}.contact-list a,.contact-list div{border-bottom:1px solid var(--line);color:var(--text);align-items:flex-start;gap:14px;padding:16px 0;text-decoration:none;display:flex}.contact-list .icon{color:var(--arc);margin-top:2px}.contact-list .k{font-family:var(--h);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-size:.72rem;display:block}.contact-list .v{font-family:var(--h);word-break:break-word;font-size:1.05rem;font-weight:600}.contact-list a:hover .v{color:var(--arc)}.site-footer{background:var(--ink);border-top:1px solid var(--line);padding-top:clamp(48px,6vw,72px)}.foot-top{grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:44px;display:grid}@media (width<=800px){.foot-top{grid-template-columns:1fr;gap:32px}}.foot-brand p{color:var(--muted);max-width:44ch;margin-top:16px;font-size:.93rem}.foot-top h2{letter-spacing:.16em;text-transform:uppercase;color:var(--arc);margin-bottom:16px;font-size:.78rem}.foot-top ul{flex-direction:column;gap:11px;display:flex}.foot-top ul a{color:#c3ced9;font-size:.94rem;text-decoration:none}.foot-top ul a:hover{color:var(--arc)}.foot-top li{color:var(--muted);font-size:.94rem}.foot-phone{font-family:var(--h);font-weight:700;color:var(--text)!important;font-size:1.15rem!important}.foot-phone:hover{color:var(--ember)!important}.foot-bottom{border-top:1px solid var(--line);padding:22px 0 calc(22px + env(safe-area-inset-bottom));color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:.85rem;display:flex}.action-bar{display:none}@media (width<=920px){.action-bar{z-index:120;padding:9px 12px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(10px);border-top:1px solid var(--line);background:#090c0ff5;grid-template-columns:1.4fr 1fr;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.action-bar .btn{padding:13px 10px;font-size:.95rem}body{padding-bottom:78px}.site-footer{padding-bottom:0}}html.js [data-reveal]{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(14px)}html.js [data-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1;transform:none}}@media (width<=1000px){.grid.c4{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.grid.c3,.grid.c2,.grid.c4{grid-template-columns:1fr}.hero-claims li{width:100%;margin-right:0;padding-right:0}}
