:root{--ink:#eef2f2;--muted:#9ba5a4;--acid:#c8ff29;--cyan:#49f7e8;--orange:#ff5c35;--bg:#07090d;--glass:rgba(10,15,18,.58)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}button,a{font:inherit}button{color:inherit}.landing{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 68% 52%,#15201d 0,transparent 28%),linear-gradient(135deg,#090b0f 0%,#050709 100%)}.landing:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}.noise{position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E")}.nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:28px 4.5vw}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.16em}.brand-mark{width:19px;height:19px;border:2px solid var(--acid);transform:rotate(45deg);position:relative}.brand-mark:after{content:"";position:absolute;width:5px;height:5px;background:var(--acid);inset:5px}.status-pill{border:1px solid #323b39;border-radius:99px;padding:9px 14px;color:#aeb7b6;font:600 10px/1 monospace;letter-spacing:.11em}.status-pill i,.tracking i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid);margin-right:7px}.hero{position:relative;z-index:3;width:48%;padding:8vh 0 12vh 8vw}.eyebrow{display:flex;gap:13px;align-items:center;color:#aab2b1;font:600 11px/1 monospace;letter-spacing:.16em;margin-bottom:28px}.eyebrow span{color:var(--acid)}h1{margin:0;font-size:clamp(58px,7.5vw,118px);font-weight:720;line-height:.85;letter-spacing:-.075em}h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--acid);text-shadow:0 0 38px rgba(200,255,41,.14)}.lead{max-width:520px;color:#abb4b3;font-size:16px;line-height:1.75;margin:38px 0 0;border-left:1px solid var(--acid);padding-left:22px}.primary{border:0;background:var(--acid);color:#11140a;padding:17px 22px;font-weight:800;letter-spacing:.02em;display:flex;align-items:center;justify-content:space-between;gap:38px;cursor:pointer}.primary:hover{filter:brightness(1.08)}.primary span{font-size:20px}.mobile-only{display:none;margin-top:28px}.scan-card{position:absolute;z-index:4;right:6vw;top:17vh;width:280px;padding:16px;background:rgba(11,15,16,.82);border:1px solid #39423f;box-shadow:0 30px 80px #000;backdrop-filter:blur(18px);transform:rotate(2deg)}.scan-top,.scan-bottom{font:600 9px/1.4 monospace;letter-spacing:.08em}.scan-top{display:flex;justify-content:space-between;color:var(--acid);margin-bottom:14px}.coords{color:#6e7a77}.qr-shell{position:relative;background:#edf0e9;padding:18px}.qr-shell img{display:block;width:100%;aspect-ratio:1;background:#fff}.corner{position:absolute;width:19px;height:19px;border-color:var(--orange);border-style:solid}.tl{left:9px;top:9px;border-width:2px 0 0 2px}.tr{right:9px;top:9px;border-width:2px 2px 0 0}.bl{left:9px;bottom:9px;border-width:0 0 2px 2px}.br{right:9px;bottom:9px;border-width:0 2px 2px 0}.scan-line{position:absolute;left:16px;right:16px;height:2px;background:var(--orange);box-shadow:0 0 14px var(--orange);animation:scan 2.8s ease-in-out infinite}.scan-bottom{display:flex;flex-direction:column;gap:3px;margin-top:13px}.scan-bottom strong{font-size:12px}.scan-bottom small{color:#77817f}.orbital-demo{position:absolute;z-index:2;left:52%;top:50%;width:34vw;aspect-ratio:1;transform:translate(-20%,-46%);perspective:1000px}.core{position:absolute;left:50%;top:50%;width:120px;height:120px;border:1px solid var(--cyan);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 70px rgba(73,247,232,.25),inset 0 0 30px rgba(73,247,232,.18);animation:float 4s ease-in-out infinite}.core span{position:absolute;inset:24px;background:var(--acid);box-shadow:0 0 35px var(--acid)}.orbit{position:absolute;inset:15%;border:1px solid rgba(200,255,41,.35);border-radius:50%;animation:spin 11s linear infinite}.orbit:before{content:"";position:absolute;width:8px;height:8px;background:var(--acid);border-radius:50%;top:15%;left:8%;box-shadow:0 0 18px var(--acid)}.orbit-b{inset:5%;transform:rotateX(68deg);animation-duration:16s;animation-direction:reverse;border-color:rgba(73,247,232,.22)}.label{position:absolute;font:500 9px monospace;letter-spacing:.12em;color:#69726f}.label-a{top:14%;right:0}.label-b{bottom:15%;left:0}footer{position:absolute;z-index:3;bottom:25px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;color:#59615f;font:600 9px monospace;letter-spacing:.14em}
.ar-view{position:fixed;inset:0;z-index:50;background:#030505;display:none;overflow:hidden;touch-action:none}.ar-view.active{display:block}.ar-view video,.camera-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-fallback{background:radial-gradient(circle at 40% 40%,#1c3430,transparent 26%),radial-gradient(circle at 70% 65%,#27352a,transparent 24%),linear-gradient(150deg,#17201b,#090b0d 60%);filter:saturate(.7)}.ar-view video{z-index:1}.ar-header{position:absolute;z-index:8;left:0;right:0;top:0;padding:max(18px,env(safe-area-inset-top)) 18px 10px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#0008,transparent)}.icon-button{width:42px;height:42px;border:1px solid #ffffff36;border-radius:50%;background:#0a0d0f88;backdrop-filter:blur(10px);font-size:24px;cursor:pointer}.tracking{font:600 10px monospace;letter-spacing:.09em;padding:10px 13px;border-radius:99px;background:#0a0d0f99;border:1px solid #ffffff1f}.stage{position:absolute;z-index:3;inset:0}.reticle{position:absolute;left:50%;top:57%;width:110px;height:42px;border:1px solid #dfffb77a;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #c8ff2928}.reticle:before,.reticle:after{content:"";position:absolute;background:var(--acid)}.reticle:before{width:14px;height:1px;left:48px;top:20px}.reticle:after{width:1px;height:14px;left:54px;top:14px}.reticle span{position:absolute;inset:8px;border:1px dashed #c8ff2957;border-radius:50%;animation:spin 5s linear infinite}.artifact{--x:50vw;--y:54vh;--scale:1;--rot:0deg;position:absolute;left:var(--x);top:var(--y);width:210px;height:280px;transform:translate(-50%,-65%) scale(var(--scale)) rotate(var(--rot));transform-origin:50% 70%;transition:left .28s ease,top .28s ease;filter:hue-rotate(var(--hue,0deg));will-change:transform}.artifact.hidden{opacity:0;pointer-events:none}.artifact:not(.hidden){animation:appear .55s cubic-bezier(.2,.8,.2,1)}.shadow{position:absolute;width:150px;height:42px;border-radius:50%;left:30px;bottom:8px;background:radial-gradient(ellipse,#00ffcc55,transparent 66%);filter:blur(7px)}.holo-ring{position:absolute;left:50%;top:48%;border:2px solid var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan);transform-style:preserve-3d}.ring-1{width:182px;height:66px;margin:-33px 0 0 -91px;animation:ring1 7s linear infinite}.ring-2{width:130px;height:130px;margin:-65px 0 0 -65px;border-color:var(--acid);animation:ring2 5s linear infinite}.ring-3{width:82px;height:176px;margin:-88px 0 0 -41px;border-color:#fff9;animation:ring3 9s linear infinite}.holo-ring:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:currentColor;top:-5px;left:48%;box-shadow:0 0 18px currentColor}.holo-core{position:absolute;left:50%;top:48%;width:70px;height:70px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid #fff;box-shadow:0 0 24px var(--cyan),inset 0 0 18px var(--cyan);animation:pulse 2s ease-in-out infinite}.holo-core span{position:absolute;inset:16px;background:var(--acid);box-shadow:0 0 26px var(--acid)}.holo-core b{position:absolute;inset:-14px;border:1px dotted var(--cyan)}.particles i{position:absolute;width:4px;height:4px;background:var(--acid);box-shadow:0 0 9px var(--acid);border-radius:50%;animation:particle 2.5s ease-in-out infinite}.particles i:nth-child(1){left:15%;top:30%}.particles i:nth-child(2){right:12%;top:42%;animation-delay:-.4s}.particles i:nth-child(3){left:28%;top:8%;animation-delay:-.8s}.particles i:nth-child(4){right:26%;top:16%;animation-delay:-1.2s}.particles i:nth-child(5){left:7%;top:61%;animation-delay:-1.6s}.particles i:nth-child(6){right:9%;top:68%;animation-delay:-2s}.data-tag{position:absolute;right:-28px;top:30px;border-left:1px solid var(--acid);padding:5px 7px;color:#dffffa;background:#07100fa8;font:600 8px monospace;letter-spacing:.06em}.coach{position:absolute;z-index:6;left:50%;bottom:135px;transform:translateX(-50%);width:220px;text-align:center;text-shadow:0 1px 4px #000}.coach strong,.coach small{display:block}.coach strong{font-size:14px;margin-top:8px}.coach small{font-size:11px;color:#ccd2d0;margin-top:4px}.tap-icon{width:36px;height:36px;border:1px solid #fff9;border-radius:50%;margin:auto;display:grid;place-items:center;animation:pulse 1.7s infinite}.tap-icon span{width:9px;height:9px;border-radius:50%;background:var(--acid)}.ar-controls{position:absolute;z-index:8;left:0;right:0;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:36px}.tool-button{border:0;background:transparent;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:5px;text-shadow:0 1px 4px #000}.tool-button span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff50;background:#0507078c;font-size:17px}.shutter{width:68px;height:68px;border-radius:50%;border:2px solid #fff;background:#ffffff1c;padding:5px}.shutter i{display:block;width:100%;height:100%;border-radius:50%;background:#fff}.permission-panel{position:absolute;z-index:20;inset:0;background:radial-gradient(circle at 50% 34%,#172c27,transparent 28%),#07090ded;backdrop-filter:blur(12px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}.permission-panel.hidden{display:none}.permission-glyph{width:110px;height:110px;border:1px solid #ffffff2b;border-radius:50%;display:grid;place-items:center;margin-bottom:32px;box-shadow:0 0 50px #c8ff2917}.permission-glyph:before,.permission-glyph:after,.permission-glyph span{content:"";position:absolute;border:1px solid var(--acid);transform:rotate(45deg)}.permission-glyph:before{width:52px;height:52px}.permission-glyph:after{width:30px;height:30px;border-color:var(--cyan)}.permission-glyph span{width:8px;height:8px;background:var(--acid)}.micro{font:700 9px monospace;letter-spacing:.14em;color:var(--acid)}.permission-panel h2{font-size:34px;letter-spacing:-.04em;margin:10px 0}.permission-panel>p:not(.micro){max-width:330px;color:#aeb7b5;line-height:1.7;font-size:14px;margin:0 0 26px}.permission-panel .primary{width:min(100%,330px)}.text-button{margin-top:18px;border:0;background:transparent;color:#98a19f;text-decoration:underline;font-size:12px}.help-sheet{position:absolute;z-index:22;left:16px;right:16px;bottom:16px;padding:26px;border:1px solid #ffffff29;background:#0c1110ef;backdrop-filter:blur(20px);transform:translateY(120%);transition:transform .35s ease}.help-sheet.visible{transform:translateY(0)}.help-sheet>button{position:absolute;right:16px;top:13px;background:none;border:0;font-size:26px}.help-sheet h3{font-size:25px;margin:8px 0 22px}.help-sheet ol{list-style:none;padding:0;margin:0;display:grid;gap:14px}.help-sheet li{display:flex;align-items:center;gap:15px;color:#c7cfcd;font-size:13px}.help-sheet li b{font:700 11px monospace;color:var(--acid);border:1px solid #ffffff24;padding:8px}.toast{position:absolute;z-index:30;top:90px;left:50%;transform:translate(-50%,-20px);background:#0b110fe6;border:1px solid #ffffff2b;padding:11px 16px;font-size:12px;opacity:0;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes scan{0%,100%{top:18px}50%{top:calc(100% - 20px)}}@keyframes float{0%,100%{transform:translate(-50%,-50%) rotate(45deg) translateY(-8px)}50%{transform:translate(-50%,-50%) rotate(45deg) translateY(8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translate(-50%,-65%) scale(.2) rotate(-30deg)}to{opacity:1;transform:translate(-50%,-65%) scale(var(--scale)) rotate(var(--rot))}}@keyframes ring1{to{transform:rotateZ(360deg) rotateX(60deg)}}@keyframes ring2{to{transform:rotateY(360deg) rotateX(25deg)}}@keyframes ring3{to{transform:rotateX(360deg) rotateZ(35deg)}}@keyframes pulse{50%{filter:brightness(1.7);transform:translate(-50%,-50%) rotate(225deg) scale(1.08)}}@keyframes particle{0%,100%{transform:translateY(20px);opacity:.2}50%{transform:translateY(-24px);opacity:1}}
@media(max-width:760px){.nav{padding:20px}.status-pill{padding:8px 10px}.hero{width:auto;padding:15vh 24px 140px}.hero h1{font-size:clamp(52px,17vw,76px)}.lead{font-size:14px;margin-top:28px}.scan-card{display:none}.orbital-demo{opacity:.35;left:45%;top:61%;width:110vw}.mobile-only{display:flex;width:100%}footer{left:22px;right:22px}.landing footer span:last-child{display:none}}@media(min-width:761px){.hero{padding-top:11vh}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Desktop exhibition scene */
.scene-canvas{position:absolute;z-index:0;inset:0;width:100%;height:100%;opacity:.9;pointer-events:none}.noise{z-index:1}.hero{width:43%;padding-left:6vw;padding-top:13vh}.hero h1{font-size:clamp(58px,6.5vw,104px)}.scan-card{z-index:6;right:5vw}.orbital-demo{left:51%;width:35vw;transition:transform .15s ease-out}.scene-title{position:absolute;left:8%;top:18%;font:800 clamp(20px,2vw,34px)/.86 monospace;letter-spacing:-.08em;color:#e5eeee}.scene-title span{font-size:8px;letter-spacing:.16em;color:#77827f}.scene-data{position:absolute;right:3%;bottom:20%;text-align:right;border-right:1px solid var(--acid);padding-right:9px}.scene-data b,.scene-data span{display:block}.scene-data b{font:700 24px monospace;color:var(--acid)}.scene-data span{font:600 7px monospace;letter-spacing:.13em;color:#7d8986}
@media(max-width:760px){.scene-canvas{display:none}.hero{width:auto;padding:15vh 24px 140px}.hero h1{font-size:clamp(52px,17vw,76px)}}

.marker-card{position:absolute;z-index:5;left:54%;top:53%;width:min(19vw,280px);transform:translate(-50%,-50%) rotate(-1deg);background:#e9eee8;color:#0a0d0c;padding:11px;box-shadow:0 24px 70px #000b;border:1px solid #fff}.marker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font:700 9px monospace;letter-spacing:.08em}.marker-head span{color:#477500}.marker-head strong{font-size:10px}.marker-image{background:#fff;padding:7px}.marker-image img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.marker-card p{margin:9px 2px 1px;font:600 8px/1.4 monospace;letter-spacing:.04em;color:#4e5652}.orbital-demo{opacity:.32;filter:blur(.4px);left:50%}.scene-title,.scene-data{display:none}
@media(max-width:1050px) and (min-width:761px){.hero{width:42%}.marker-card{left:57%;width:21vw}.scan-card{right:2.5vw;width:240px}}
@media(max-width:760px){.marker-card{display:none}.orbital-demo{opacity:.3}}

/* Larger marker improves recognition when photographed from another screen. */
@media(min-width:1051px){.marker-card{width:min(25vw,360px)}}
@media(max-width:1050px) and (min-width:761px){.hero{width:40%}.marker-card{left:56%;width:30vw}.scan-card{width:230px}}

.marker-card{cursor:zoom-in}.marker-card:focus-visible{outline:3px solid var(--acid);outline-offset:4px}.marker-fullscreen{position:fixed;z-index:100;inset:0;background:#f1f3ee;color:#070a09;display:none;place-items:center}.marker-fullscreen.visible{display:grid}.marker-fullscreen>button{position:absolute;right:28px;top:24px;width:48px;height:48px;border-radius:50%;border:1px solid #17201c;background:transparent;color:#101411;font-size:30px;cursor:pointer}.marker-focus-content{display:flex;flex-direction:column;align-items:center;text-align:center}.marker-focus-content>span{font:800 11px monospace;letter-spacing:.16em;color:#507600;margin-bottom:12px}.marker-focus-content img{display:block;width:min(68vh,68vw);max-width:700px;aspect-ratio:1;object-fit:contain;background:#fff}.marker-focus-content strong{font-size:16px;margin-top:16px}.marker-focus-content small{font:600 10px monospace;color:#67706c;margin-top:7px}
