@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#141512;--panel:#1b1c18;--text:#f1f1e9;--muted:#a0a198;--line:#34352e;--lime:#d1f76a;--font:'Manrope',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:6px}::selection{background:var(--lime);color:var(--bg)}.wrap{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-1.8px}.brand svg{width:28px;height:28px;fill:var(--lime);margin-right:10px}.brand span{color:var(--muted)}nav{display:flex;gap:34px;font-size:13px}nav a{transition:color .2s}nav a:hover,.text-link:hover{color:var(--lime)}.nav-dot{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;vertical-align:top;margin-top:4px}.nav-contact{font-size:13px;border:1px solid #626457;border-radius:50px;padding:14px 21px}.nav-contact span{margin-left:20px;color:var(--lime)}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;padding-top:64px}.eyebrow{font:10px var(--display);letter-spacing:1.7px;line-height:1.8;margin:0}.status-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:8px;box-shadow:0 0 12px #d1f74430}.hero h1{font:500 clamp(64px,6.7vw,104px)/.98 var(--display);letter-spacing:-5px;margin:30px 0 24px;position:relative;z-index:2}.hero h1 span{color:var(--lime)}.hero-description{color:var(--muted);font-size:14px;line-height:1.85;margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:12px;font-weight:800;padding:19px 22px;border-radius:5px;transition:transform .2s,background .2s}.primary{background:var(--lime);color:var(--bg)}.primary:hover{background:#e2ff9a;transform:translateY(-3px)}.button span{font-size:20px}.hero-art{min-width:0;position:relative;align-self:stretch;margin-top:3px;background:radial-gradient(ellipse at 50% 46%,#95af3010,transparent 66%)}#sculpture{width:100%;height:100%;position:absolute;inset:0}.art-top{display:flex;justify-content:space-between;font:9px var(--display);letter-spacing:1.5px;color:#8d8f80;position:relative;z-index:1;padding:0 0 16px;border-bottom:1px solid var(--line)}.art-cross{position:absolute;color:#686c58;font:20px monospace}.cross-one{top:40px;left:5px}.cross-two{bottom:105px;right:0}.art-caption{position:absolute;bottom:20px;left:15px;display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.8}.art-caption span:not(.tiny-orbit){color:var(--muted)}.tiny-orbit{font-size:35px;color:var(--lime)}.art-controls{position:absolute;bottom:30px;right:0;display:flex;align-items:center;gap:12px}.art-controls>span{font:8px var(--display);letter-spacing:1px;color:var(--muted)}.icon-button{border:1px solid #505344;background:transparent;color:var(--lime);border-radius:50%;width:34px;height:34px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:65px;padding:24px 0 25px;border-top:1px solid var(--line);font:8px var(--display);letter-spacing:1.1px;color:var(--muted)}.hero-bottom a{color:var(--text);font:11px var(--font);letter-spacing:0}.hero-bottom a span{margin-left:24px;color:var(--lime)}.ticker{overflow:hidden;background:var(--lime);color:var(--bg);padding:19px 0}.ticker>div{display:flex;align-items:center;justify-content:space-around;gap:28px;white-space:nowrap;font:500 clamp(13px,1.4vw,21px) var(--display);letter-spacing:1px}.ticker span{font-size:24px}.section{padding-top:105px}.section-heading{display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:20px;align-items:start;margin-bottom:45px}.section-heading .eyebrow{padding-top:9px;color:var(--muted)}h2{font:500 clamp(30px,3.2vw,49px)/1.16 var(--display);letter-spacing:-1.8px;margin:0}h2 span{color:var(--muted)}.section-heading>p:last-child{font-size:12px;color:var(--muted);line-height:1.9;margin-top:7px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:30px;transition:border-color .25s,transform .25s}.service:hover{border-color:#7b8c4e;transform:translateY(-5px)}.service-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:32px}.service-top>span{color:#848778;font:11px var(--display)}.service svg{width:65px;height:60px;stroke:var(--lime);stroke-width:1.2;fill:none}.service h3{font:500 28px/1.15 var(--display);letter-spacing:-1px;margin:0 0 18px}.service p{font-size:12px;line-height:1.9;color:var(--muted);max-width:300px;min-height:69px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:28px}.tags span{font-size:9px;padding:7px 10px;border:1px solid #3e4035;border-radius:30px;color:#c5c7bb}.lab-panel{display:grid;grid-template-columns:1.45fr 1fr;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}.lab-preview{min-height:420px;position:relative;overflow:hidden;background:#10120f;display:grid;place-items:center}.lab-grid{position:absolute;inset:0;background-image:linear-gradient(#d1f76a08 1px,transparent 1px),linear-gradient(90deg,#d1f76a08 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,black,transparent)}.orbit-system{position:relative;width:270px;height:270px;display:grid;place-items:center;--speed:8s}.orbit-system i{position:absolute;inset:0;border:1px solid #d1f76a90;border-radius:50%;transform:rotateY(65deg) rotateZ(0deg);animation:orbit var(--speed) linear infinite;box-shadow:0 0 14px #d1f76a08;transition:border-radius .6s,scale .6s}.orbit-system i:nth-child(2){rotate:30deg;animation-delay:-1s}.orbit-system i:nth-child(3){rotate:60deg;animation-delay:-2s}.orbit-system i:nth-child(4){rotate:90deg;animation-delay:-3s}.orbit-system i:nth-child(5){rotate:120deg;animation-delay:-4s}.orbit-system i:nth-child(6){rotate:150deg;animation-delay:-5s}.orbit-system>span{font:500 68px var(--display);color:var(--lime);letter-spacing:-6px}.orbit-system.wave i{border-radius:38% 62% 67% 33%;scale:1.1 .65}.orbit-system.grid i{border-radius:8px;scale:.85}.preview-label{position:absolute;bottom:25px;left:28px;font:9px var(--display);letter-spacing:1.5px;color:var(--muted)}.preview-label b{color:var(--lime);font-weight:400}.preview-corner{position:absolute;right:25px;top:20px;color:var(--lime);font-size:25px}.lab-settings{padding:40px 45px}.lab-settings>.eyebrow{font-size:9px;color:var(--muted)}.lab-settings h3{font:500 34px/1.1 var(--display);letter-spacing:-1px;margin:21px 0 15px}.lab-settings p{font-size:12px;line-height:1.8;color:var(--muted)}.mode-buttons{display:flex;gap:6px;margin:24px 0}.mode-buttons button{background:transparent;color:var(--muted);border:1px solid #45483b;border-radius:4px;padding:10px 18px;font-size:11px}.mode-buttons button[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--bg)}.range-label{display:flex;justify-content:space-between;font-size:11px}.range-label output{color:var(--muted)}input[type=range]{width:100%;margin:16px 0 21px;accent-color:var(--lime);cursor:pointer}.lab-foot{border-top:1px solid var(--line);padding-top:18px;font:8px var(--display);letter-spacing:1px;color:var(--muted)}.approach{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;padding-bottom:110px}.approach .eyebrow{color:var(--muted);margin-bottom:30px}.text-link{display:inline-block;margin-top:32px;border-bottom:1px solid #555848;padding-bottom:8px;font-size:11px}.steps article{display:flex;gap:27px;padding:25px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.steps article>span{color:var(--lime);font:11px var(--display);padding-top:4px}.steps h3{font:500 21px var(--display);letter-spacing:-.4px;margin:0 0 13px}.steps p{font-size:12px;line-height:1.9;color:var(--muted);margin:0;max-width:430px}.contact{background:var(--lime);color:var(--bg);padding:40px 48px 44px;border-radius:9px}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-top>span{font-size:75px;line-height:1}.contact h2{font-size:clamp(55px,8vw,115px);line-height:.95;letter-spacing:-5px;margin:15px 0 36px}.contact h2 span{color:#14151280}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:20px}.contact-bottom p{font-size:12px;line-height:1.9;margin:0}.contact-bottom a{font:500 clamp(24px,3vw,40px) var(--display);letter-spacing:-1px;border-bottom:1px solid #141512;padding-bottom:8px}.contact-bottom a span{margin-left:35px}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:35px;padding-bottom:35px}.footer .brand{font-size:22px}.footer>span{font-size:9px;color:var(--muted)}.footer>a:not(.brand){font-size:10px}.skip{position:fixed;top:8px;left:8px;padding:12px;background:var(--lime);color:var(--bg);z-index:20;transform:translateY(-150%)}.skip:focus{transform:none}@keyframes orbit{to{transform:rotateY(65deg) rotateZ(360deg)}}body.motion-paused .orbit-system i{animation-play-state:paused}@media(min-width:1600px){.hero{padding-top:80px}.hero h1{font-size:115px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero h1{letter-spacing:-3px}.art-controls>span{display:none}.coordinates{display:none}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.service{padding:23px}.service h3{font-size:25px}.lab-settings{padding:30px}.contact{padding:35px}.header nav{gap:20px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:82px;gap:10px}.brand{font-size:25px}.brand svg{width:23px;margin-right:7px}.header nav{display:none}.nav-contact{font-size:10px;padding:12px 14px}.nav-contact span{margin-left:8px}.hero{padding-top:38px;grid-template-columns:1fr}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero h1{font-size:clamp(60px,14vw,92px);letter-spacing:-3px;margin-top:24px}.hero-description{font-size:13px}.hero-art{height:400px;margin-top:38px}.art-top{font-size:8px}.art-caption{bottom:15px;left:0;font-size:11px}.art-controls{bottom:20px}.hero-bottom{margin-top:20px;padding:22px 0}.hero-bottom>span{font-size:7px;max-width:140px;line-height:1.8}.hero-bottom a{font-size:10px}.hero-bottom a span{margin-left:10px}.ticker{padding:14px 0}.ticker>div{justify-content:flex-start;width:max-content;gap:22px;font-size:13px}.section{padding-top:65px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:22px}.section-heading>p:last-child{margin-top:20px}h2{font-size:34px;letter-spacing:-1.5px}.services{grid-template-columns:1fr;gap:12px}.service{padding:27px}.service-top{margin-bottom:10px}.service h3{font-size:29px}.service p{min-height:0;font-size:13px;max-width:none}.tags{margin-top:22px}.lab-panel{grid-template-columns:1fr}.lab-preview{min-height:335px}.orbit-system{width:220px;height:220px}.lab-settings{padding:28px}.mode-buttons button{flex:1}.approach{grid-template-columns:1fr;gap:40px;padding-bottom:65px}.steps h3{font-size:20px}.steps p{font-size:13px}.contact{padding:26px}.contact .eyebrow{font-size:8px;max-width:190px}.contact-top>span{font-size:48px}.contact h2{font-size:58px;letter-spacing:-3px;margin-top:25px}.contact-bottom{display:block}.contact-bottom a{display:inline-block;font-size:27px;margin-top:25px}.contact-bottom a span{margin-left:20px}.contact-bottom p{font-size:11px}.footer{flex-wrap:wrap;gap:20px;padding-block:28px}.footer>span{order:4;flex-basis:100%;font-size:8px}.footer .brand{margin-right:auto}.footer>a:not(.brand){font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.skip{visibility:hidden}.skip:focus{visibility:visible}
@media(max-width:700px){.contact h2{font-size:clamp(44px,14.8vw,58px)}}

/* Atmosphere sits behind every section, with a small parallax between layers. */
body { isolation: isolate; }
.header, main, .footer { position: relative; z-index: 1; }
.ambient-scene { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; contain: strict; }
#ambient-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.ambient-light { position: absolute; inset: -12%; transform: translate3d(var(--scene-x, 0px), var(--scene-y, 0px), 0); }
.ambient-light-far { background: radial-gradient(ellipse at 80% 28%, #b6d5650c, transparent 49%), radial-gradient(ellipse at 4% 83%, #98baba09, transparent 48%); }
.ambient-light-near { background: radial-gradient(ellipse at 60% 70%, #c3e27406, transparent 45%); transform: translate3d(calc(var(--scene-x, 0px) * -1.5), calc(var(--scene-y, 0px) * -1.5), 0); }
.ambient-vignette { position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 20%, #0c0e0b50 100%); }
.ambient-toggle { position: fixed; right: 18px; bottom: 16px; z-index: 10; display: flex; align-items: center; gap: 8px; padding: 10px 13px; background: #181b15ed; color: #b7bdab; border: 1px solid #454d38; border-radius: 30px; font-size: 9px; box-shadow: 0 4px 20px #0003; }
.ambient-toggle > span:first-child { color: var(--lime); }
.ambient-toggle:hover { border-color: #a0b675; color: var(--text); }
.hero-art::before { content: ''; position: absolute; width: 72%; height: 13%; left: 14%; bottom: 12%; border-radius: 50%; background: radial-gradient(ellipse, #0008, transparent 70%); filter: blur(15px); }
#sculpture { filter: drop-shadow(0 22px 18px #0004); }
.services { perspective: 1100px; }
.service, .lab-panel { position: relative; transform: perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); background: linear-gradient(145deg, #25291fe8, #181b16f5 65%); box-shadow: inset 0 1px 0 #edf7ce09, 0 8px 12px #00000012, 0 26px 45px -24px #0009; transition: transform .35s ease-out, border-color .3s, box-shadow .3s; }
.service::before, .lab-panel::before { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2; background: radial-gradient(400px circle at var(--light-x, 50%) var(--light-y, 0%), #d1f76a0b, transparent 70%); }
.service:hover { transform: perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-4px); box-shadow: inset 0 1px 0 #edf7ce12, 0 12px 20px #0002, 0 36px 55px -24px #000b; }
.service-top svg { filter: drop-shadow(0 8px 7px #c9f46b16); }
.lab-preview { background: radial-gradient(ellipse at 50% 42%, #252f1b80, #0e110ef5 75%); box-shadow: inset 0 0 80px #0004; }
.lab-preview::after { content: ''; position: absolute; width: 55%; height: 28px; bottom: 44px; background: radial-gradient(ellipse, #0009, transparent 70%); filter: blur(7px); pointer-events: none; }
.orbit-system { filter: drop-shadow(0 15px 18px #b6e75b12); }
.contact { background: radial-gradient(ellipse at 10% 0%, #e6ffaa, transparent 68%), var(--lime); border-top: 1px solid #efffc8; box-shadow: 0 6px 0 #8da940, 0 30px 70px -30px #b4e85d30, 0 24px 30px #0004; }
.footer { padding-bottom: 65px; }
.effects-still .service, .effects-still .lab-panel { transform: none; }
.effects-still .ambient-light { transform: none; }
@media (hover: none), (prefers-reduced-motion: reduce) { .service, .service:hover, .lab-panel { transform: none; } }
@media (max-width: 700px) { .ambient-toggle { right: 12px; bottom: 12px; } #ambient-canvas { opacity: .65; } }

/* Ko:: is the shared product signature; the paired dots act as a quiet cursor. */
.brand .brand-mark { width: 69px; height: 35px; margin-right: 14px; color: var(--lime); overflow: visible; }
.brand { letter-spacing: -1.2px; font-size: 26px; }
.brand-colons { transform-origin: 108px 39px; }
.brand:hover .brand-colons { animation: brand-signal .65s ease-in-out; }
.lab-brand .brand-mark { width: 110px; height: 60px; display: block; color: var(--lime); filter: drop-shadow(0 3px 12px #d1f76a22); }
.footer .brand .brand-mark { width: 48px; height: 26px; margin-right: 10px; }
@keyframes brand-signal { 0%, 100% { opacity: 1; transform: translateX(0); } 40% { opacity: .35; transform: translateX(3px); } 70% { opacity: 1; transform: translateX(1px); } }
@media (max-width: 700px) { .brand { font-size: 20px; } .brand .brand-mark { width: 49px; height: 28px; margin-right: 8px; } .nav-contact { padding: 11px 10px; font-size: 9px; } }
.effects-still .brand-colons { animation: none; }
