:root{--bg:#0d1020;--surface:#161c2e;--surface2:#1a2335;--stroke:#2a3447;--ink:#f0f2ef;--muted:#a1abbd;--accent:#c4f378;--warm:#ffab80;--purple:#bdabff;--font:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;--mono:"Cascadia Code","Consolas",monospace}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.6}body::before{content:"";position:absolute;inset:0 0 auto;height:850px;z-index:-1;background:radial-gradient(ellipse 44% 37% at 75% 34%,#36365644,transparent 85%),radial-gradient(ellipse 40% 35% at 10% 4%,#30423727,transparent 88%);pointer-events:none}.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.07;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='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#101523}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;background:#0d1020e8;border-bottom:1px solid #30364a88;backdrop-filter:blur(18px)}.nav-inner{height:86px;display:flex;align-items:center;gap:38px}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;font-size:22px;letter-spacing:-1.2px;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--accent);color:#19211a;height:37px;width:37px;border-radius:9px;font-weight:900;font-size:24px;letter-spacing:-2px;line-height:1}.brand-mark span{color:#566b44}.brand-dot{color:var(--accent)}.main-nav{margin:auto;display:flex;gap:36px}.main-nav a{font-size:13px;font-weight:650;color:#afb9cc;transition:color .2s}.main-nav a:hover,.mobile-nav a:hover{color:var(--accent)}.nav-cta{font-family:var(--mono);font-size:12px;border:1px solid #56644a;padding:12px 17px;border-radius:7px;color:var(--accent);transition:background .2s}.nav-cta:hover{background:#c4f3781a}.nav-cta span{margin-left:10px}.mobile-menu-toggle,.mobile-nav{display:none}.hero{position:relative;min-height:740px;display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:25px;padding-top:30px;padding-bottom:115px}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker,.art-label,.hero-meta,.scroll-cue,.project-index,.game-top,.notes-overline,.arcade-footnote,.contact-note{font-family:var(--mono);letter-spacing:.065em}.eyebrow{display:flex;align-items:center;gap:12px;color:#9faab6;font-size:10px;font-weight:700;white-space:nowrap}.status-light{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px #c4f378a0}.eyebrow-line{height:1px;width:20px;background:#6f7b80}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(60px,6vw,94px);line-height:1.1;letter-spacing:-.085em;margin:26px 0 24px;font-weight:850}h1 .name-outline{color:var(--ink)}.text-accent{color:var(--accent)}.hero-line{font-size:clamp(48px,5.2vw,77px);color:var(--ink)}.sparkle{color:var(--warm);font-size:.53em;vertical-align:22%;display:inline-block;animation:twirl 9s linear infinite}.hero-description{max-width:525px;color:#abb6c9;font-size:17px;line-height:1.9}.hero-description strong{color:#e7e8e0;font-weight:550}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 22px;border-radius:7px;font-size:13px;font-weight:750;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--accent);color:#19221a}.button-primary:hover{background:#d3ffa1}.button-outline{border-color:#424b5f;color:#eceefa;background:#ffffff08}.button-outline:hover{background:#ffffff15}.hero-meta{display:flex;align-items:center;gap:12px;color:#8793a5;font-size:11px;margin-top:40px}.meta-bullet{width:6px;height:6px;background:var(--warm);border-radius:50%}.meta-divider{color:#47536c}.hero-art{width:100%;height:520px;position:relative;display:flex;align-items:center;justify-content:center;transform:translateY(10px)}.orbit{position:absolute;border:1px solid #57666c44;border-radius:50%;width:110%;aspect-ratio:1;transform:rotate(-15deg) scaleY(.72)}.orbit-two{width:93%;transform:rotate(45deg) scaleY(.85);border-style:dashed;border-color:#6b7a8c26}.art-window{width:min(100%,395px);border:1px solid #52606a;background:#192033;border-radius:12px;box-shadow:0 27px 70px #0007,14px 16px 0 #27324b66;transform:rotate(4deg);overflow:hidden;animation:float 6s ease-in-out infinite}.window-top{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #394356;color:#9ca9bc;font:10px var(--mono)}.window-dots{display:flex;gap:5px}.window-dots i{height:7px;width:7px;background:#fb987e;border-radius:50%}.window-dots i:nth-child(2){background:#f5d18b}.window-dots i:nth-child(3){background:var(--accent)}.window-plus{font-size:15px}.art-display{height:300px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 50%,#303e57,#1b263a 68%)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#7b91a716 1px,transparent 1px),linear-gradient(90deg,#7b91a716 1px,transparent 1px);background-size:23px 23px}.pixel-s{z-index:1;display:grid;grid-template-columns:repeat(6,20px);grid-template-rows:repeat(8,20px);gap:4px;filter:drop-shadow(10px 12px 0 #1d3d2e);transform:rotate(-6deg)}.pixel-s span{background:transparent;border-radius:3px}.pixel-s span:nth-child(6n+2),.pixel-s span:nth-child(6n+3){opacity:1}
.pixel-s span:nth-child(2),.pixel-s span:nth-child(3),.pixel-s span:nth-child(4),.pixel-s span:nth-child(5),.pixel-s span:nth-child(7),.pixel-s span:nth-child(8),.pixel-s span:nth-child(12),.pixel-s span:nth-child(13),.pixel-s span:nth-child(14),.pixel-s span:nth-child(20),.pixel-s span:nth-child(21),.pixel-s span:nth-child(22),.pixel-s span:nth-child(23),.pixel-s span:nth-child(28),.pixel-s span:nth-child(29),.pixel-s span:nth-child(30),.pixel-s span:nth-child(31),.pixel-s span:nth-child(35),.pixel-s span:nth-child(36),.pixel-s span:nth-child(38),.pixel-s span:nth-child(39),.pixel-s span:nth-child(40),.pixel-s span:nth-child(41),.pixel-s span:nth-child(44),.pixel-s span:nth-child(45),.pixel-s span:nth-child(46){background:var(--accent)}.floating-star{position:absolute;color:#ffd397;font-size:42px}.star-a{left:13%;top:16%}.star-b{right:12%;bottom:10%;color:var(--purple);font-size:29px}.floating-cross{position:absolute;right:16%;top:15%;color:var(--accent);font-size:29px}.art-status{height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;border-top:1px solid #394356;color:#b2b8c2;font:10px var(--mono)}.tiny-square{display:inline-block;height:7px;width:7px;background:var(--accent);margin-right:7px}.art-label{position:absolute;color:#bac5ce;font-size:10px;font-weight:bold}.label-top{top:28px;right:0;transform:rotate(90deg) translateX(90%);transform-origin:right center}.label-bottom{bottom:3px;left:6%}.scroll-cue{position:absolute;bottom:65px;left:0;display:flex;align-items:center;gap:12px;color:#768298;font-size:10px;font-weight:700}.scroll-line{width:32px;height:1px;background:var(--accent)}.section{padding-top:100px;padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.section-heading>p{max-width:350px;color:#a4aec0;font-size:14px;line-height:1.9;margin-bottom:7px}.section-kicker{font-weight:750;font-size:11px;color:#b0b9c7;margin-bottom:18px}.section-kicker span{color:var(--accent)}h2{font-size:clamp(38px,4.4vw,62px);line-height:1.12;letter-spacing:-.06em;font-weight:800;margin-bottom:0}h2 em{font-style:normal;color:var(--accent)}.projects-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.project-card{position:relative;overflow:hidden;border:1px solid #374159;border-radius:12px;background:#171e2e;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#8db15a;transform:translateY(-4px)}.card-upper{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 0}.label-pill{font:700 10px var(--mono);letter-spacing:.08em;padding:8px 11px;background:#c4f37823;color:var(--accent);border-radius:4px}.label-outline{background:#beadff1c;color:#c5b5ff}.corner-arrow{font-size:21px;color:#929fae}.project-visual{height:236px;margin:16px 24px 0;border-radius:7px;position:relative;display:grid;place-items:center;overflow:hidden}.research-visual{background:radial-gradient(ellipse at 50% 35%,#42635596,#1d3a3b 50%,#172c35)}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#d5f2ce0d 1px,transparent 1px),linear-gradient(90deg,#d5f2ce0d 1px,transparent 1px);background-size:27px 27px}.signal-path{z-index:1;display:flex;align-items:center;gap:0;transform:rotate(-9deg)}.signal-node{font:700 12px var(--mono);color:#deffbd;border:1px solid #b6ea99;padding:22px 14px;border-radius:5px;background:#203d36;box-shadow:0 0 17px #a5de7e2c}.signal-beam{height:2px;width:38px;background:linear-gradient(90deg,#c4f378,transparent);position:relative}.signal-beam::after{content:"→";position:absolute;top:-15px;right:4px;color:var(--accent);font-size:17px}.pulse-ring{position:absolute;border:1px solid #c4f37830;width:260px;height:260px;border-radius:50%;box-shadow:0 0 0 35px #c4f3780c,0 0 0 75px #c4f37808}.robotics-visual{background:radial-gradient(ellipse at 54% 55%,#52436d,#26283e 67%);border:1px solid #47426170}.robotics-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff08 1px,transparent 1px);background-size:100% 27px}.robot-arm{position:relative;width:180px;height:200px;transform:translate(8px,14px)}.arm-base{position:absolute;bottom:12px;left:45px;width:96px;height:18px;border:4px solid #d9bbff;background:#7d63ba;border-radius:4px}.arm-lower{position:absolute;bottom:28px;left:73px;width:28px;height:105px;transform:rotate(28deg);transform-origin:bottom center;background:#beabfd;border:5px solid #9277d8;border-radius:8px}.arm-joint{position:absolute;top:61px;left:26px;width:38px;height:38px;border-radius:50%;background:#e7d9ff;border:10px solid #a48ad9;z-index:1}.arm-upper{position:absolute;top:35px;left:31px;width:104px;height:27px;transform:rotate(-35deg);transform-origin:left center;background:#bcabfc;border:5px solid #9277d8;border-radius:7px}.arm-claw{position:absolute;top:-17px;right:9px;font-size:43px;transform:rotate(10deg);color:#e6d5ff}.visual-coordinate{position:absolute;bottom:14px;right:20px;text-align:right;font:10px/1.8 var(--mono);color:#baa9de}.project-content{padding:23px 26px 28px}.project-index{color:#8491a7;font-size:10px;font-weight:700}.project-content h3{font-size:29px;letter-spacing:-.05em;margin:8px 0 10px}.project-content h3 span{color:var(--accent);font-size:20px}.project-content p{font-size:14px;line-height:1.85;color:#aab6c7;max-width:520px;min-height:78px}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:19px}.tag-row span{padding:5px 10px;border:1px solid #394456;border-radius:4px;color:#aeb9c7;font:10px var(--mono)}.arcade-section{border-top:1px solid #303849;border-bottom:1px solid #303849;background:linear-gradient(180deg,#101626,#11192a)}.heading-asterisk{font-size:.55em;color:var(--warm);vertical-align:top}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-card{border:1px solid #344153;background:#1b2533;border-radius:10px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.game-card:hover{transform:translateY(-7px);border-color:var(--accent);box-shadow:0 14px 40px #0002}.game-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#bac3cf;font-weight:bold;padding:19px 20px}.play-arrow{font-size:21px}.game-preview{height:205px;margin:0 17px;position:relative;border-radius:6px;overflow:hidden}.snake-preview{background:#314d3e}.mini-snake-grid{position:absolute;inset:0;background-image:linear-gradient(#c5ffbe12 1px,transparent 1px),linear-gradient(90deg,#c5ffbe12 1px,transparent 1px);background-size:24px 24px}.snake-body{position:absolute;width:24px;height:24px;background:#c4f378;border:3px solid #314d3e;border-radius:7px}.snake-body.b1{left:45%;top:42%}.snake-body.b2{left:calc(45% - 24px);top:42%}.snake-body.b3{left:calc(45% - 48px);top:42%}.snake-body.b4{left:calc(45% - 48px);top:calc(42% - 24px)}.snake-food{position:absolute;left:70%;top:65%;height:16px;width:16px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 5px #ffab8030}.tiles-preview{background:#594b65;display:grid;grid-template-columns:repeat(2,85px);grid-template-rows:repeat(2,70px);align-content:center;justify-content:center;gap:8px;transform-style:preserve-3d}.num-tile{display:grid;place-items:center;background:#f7bd98;color:#382b31;border-radius:7px;font-size:31px;font-weight:850;box-shadow:4px 5px #31283788}.num-tile:nth-child(2){background:#e7c4d2}.num-tile:nth-child(3){background:#d9b6ec}.num-tile:nth-child(4){background:#c2b0f6}.dino-preview{background:#34465e}.dino-figure{position:absolute;bottom:31px;left:32%;font:bold 48px/37px var(--mono);letter-spacing:-15px;color:#fff0c6;z-index:2;filter:drop-shadow(4px 5px #1b3049)}.dino-cactus{position:absolute;bottom:35px;right:20%;font:900 75px/.8 var(--mono);color:#c4f378}.dino-sun{position:absolute;top:23px;right:27%;color:#ffd59d;font-size:35px}.dino-ground{position:absolute;bottom:28px;height:3px;background:#a2b2c1;left:0;right:0}.game-bottom{padding:20px 21px 22px;display:flex;justify-content:space-between;align-items:end}.game-bottom h3{font-size:30px;line-height:1;letter-spacing:-.055em;margin:0 0 9px}.game-period{color:var(--accent)}.game-bottom p{font-size:12px;color:#b6c0cb;margin:0}.game-icon{font-size:23px;border:1px solid #536078;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;transition:background .2s,color .2s}.game-card:hover .game-icon{background:var(--accent);color:#162016}.arcade-footnote{font-size:11px;color:#8695a8;margin-top:23px}.blink-cursor{font-size:9px;color:var(--accent);animation:blink 1.3s steps(2) infinite}.notes-panel{min-height:230px;border:1px dashed #536078;background:#161d2b;border-radius:11px;display:flex;align-items:center;padding:44px 49px;gap:32px;position:relative;overflow:hidden}.notes-panel-icon{display:grid;place-items:center;border-radius:12px;background:#303a4c;color:#c1f378;width:75px;height:75px;flex-shrink:0;font-size:40px}.notes-overline{font-size:10px;color:var(--warm);font-weight:bold}.notes-panel h3{font-size:29px;letter-spacing:-.04em;margin:8px 0 8px}.notes-panel p{font-size:14px;color:#aeb9c8;margin:0;max-width:560px}.notes-asterisk{position:absolute;right:65px;color:#394659;font-size:154px;line-height:1}.contact-section{padding:115px 0 130px;background:radial-gradient(ellipse at 50% 110%,#304a414b,transparent 65%),#151e2e;border-block:1px solid #384357}.contact-inner{text-align:center;display:flex;align-items:center;flex-direction:column}.contact-inner h2{max-width:800px}.contact-inner p{max-width:520px;color:#abb8cb;font-size:15px;margin:28px auto 0;line-height:1.9}.contact-inner .contact-note{font-size:11px;color:#788697;margin-top:12px}.contact-inner .button{margin-top:31px}.site-footer{padding:26px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-inner .brand{font-size:18px}.footer-inner .brand-mark{height:31px;width:31px;font-size:20px}.footer-inner>span{font:11px var(--mono);color:#8795a5}.reveal{opacity:1;transform:none}.reveal.visible{animation:reveal-in .65s both}
@keyframes reveal-in{from{opacity:.76;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes twirl{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-12px) rotate(2deg)}}@keyframes blink{50%{opacity:0}}
@media(max-width:1050px){.hero{grid-template-columns:1fr .72fr}.hero-art{height:440px}.hero-copy h1{font-size:clamp(52px,6.7vw,76px)}.hero-line{font-size:clamp(43px,5.4vw,67px)}.art-window{width:310px}.art-display{height:255px}.eyebrow{font-size:9px}.section-heading>p{max-width:285px}.notes-asterisk{opacity:.3}}
@media(max-width:780px){.container{width:min(100% - 42px,600px)}.nav-inner{height:70px;gap:15px}.main-nav,.nav-cta{display:none}.mobile-menu-toggle{display:flex;margin-left:auto;border:1px solid #49556b;border-radius:7px;background:transparent;width:42px;height:38px;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.mobile-menu-toggle span{width:18px;height:2px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:12px 24px 24px;gap:16px;border-top:1px solid #364153;background:#121725}.mobile-nav a{font-size:14px;color:#c3cedc}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding-top:80px;padding-bottom:95px;gap:25px}.hero-art{height:400px;overflow:hidden}.hero-copy h1{font-size:clamp(55px,10vw,83px);margin-top:21px}.hero-line{font-size:clamp(48px,9vw,70px)}.art-window{width:335px}.scroll-cue{bottom:40px}.section{padding:80px 0}.section-heading{display:block;margin-bottom:34px}.section-heading>p{max-width:500px;margin:20px 0 0}.projects-grid{grid-template-columns:1fr}.games-grid{grid-template-columns:1fr;max-width:480px;margin:auto}.game-preview{height:220px}.notes-panel{padding:27px;gap:20px}.notes-asterisk{display:none}.contact-section{padding:90px 0}.footer-inner{flex-wrap:wrap}.footer-inner>span:nth-child(2){order:3;width:100%}}
@media(max-width:420px){.container{width:calc(100% - 32px)}.brand{font-size:19px}.eyebrow{font-size:8px;gap:8px;white-space:normal}.eyebrow-line{width:10px}.hero{padding-top:62px}.hero-copy h1{font-size:52px}.hero-line{font-size:45px}.hero-description{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.hero-meta{flex-wrap:wrap;font-size:10px}.hero-art{height:345px}.art-window{width:275px}.art-display{height:215px}.pixel-s{transform:scale(.8) rotate(-6deg)}.art-label{font-size:8px}.section-heading h2{font-size:39px}.project-visual{height:210px;margin-inline:15px}.signal-node{font-size:9px;padding:15px 8px}.signal-beam{width:20px}.project-content{padding:20px}.notes-panel{flex-direction:column;align-items:flex-start}.footer-inner>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
