:root{--bg:#0c0d10;--bg-alt:#13151b;--surface:#15171e;--text:#e9e9ec;--muted:#9698a1;--faint:#6a6c75;--line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.16);--accent:#bce25c;--accent-dim:#8aa843;--display:"Bricolage Grotesque",serif;--body:"Hanken Grotesk",sans-serif;--mono:"JetBrains Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60rem 40rem at 78% -8%,rgba(188,226,92,.07),transparent 60%),radial-gradient(50rem 40rem at -10% 18%,rgba(120,150,255,.05),transparent 55%)}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(80% 60% at 50% 0%,#000 30%,transparent 90%);-webkit-mask-image:radial-gradient(80% 60% at 50% 0%,#000 30%,transparent 90%)}.wrap{max-width:1080px;margin:0 auto;padding:0 28px;position:relative;z-index:1}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#0c0d10}header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0d10b3;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;height:70px}.brand{font-family:var(--mono);font-size:15px;font-weight:500;display:flex;align-items:center;gap:9px;cursor:pointer}.brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{font-size:14.5px;color:var(--muted);transition:color .2s;cursor:pointer}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-login{border:1px solid var(--line-strong);padding:7px 16px;border-radius:8px;color:var(--text)!important;font-family:var(--mono);font-size:13px}.nav-login:hover,.nav-login.active{border-color:var(--accent);color:var(--accent)!important}.burger{display:none;background:none;border:0;color:var(--text);font-size:24px;cursor:pointer;line-height:1}.btn{font-size:15px;font-weight:500;padding:13px 26px;border-radius:10px;transition:transform .15s,border-color .2s;display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:0}.btn-primary{background:var(--accent);color:#0c0d10}.btn-primary:hover{transform:translateY(-2px)}.btn-ghost{border:1px solid var(--line-strong);color:var(--text);background:none}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.hero{padding:130px 0 90px}.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--accent);display:inline-flex;align-items:center;gap:10px;margin-bottom:30px}.eyebrow:before{content:"";width:26px;height:1px;background:var(--accent)}.eyebrow.center{justify-content:center}.eyebrow.center:before{display:none}h1{font-family:var(--display);font-weight:500;font-size:clamp(2.6rem,7vw,5.1rem);line-height:1.02;letter-spacing:-.02em;max-width:16ch}h1 em{font-style:normal;color:var(--accent)}.lede{color:var(--muted);font-size:clamp(1.05rem,2.2vw,1.3rem);max-width:46ch;margin-top:30px;line-height:1.6}.actions{display:flex;gap:14px;margin-top:42px;flex-wrap:wrap}.stack-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-top:84px;overflow:hidden}.stack-row{display:flex;gap:14px;flex-wrap:wrap}.tag{font-family:var(--mono);font-size:13px;color:var(--muted);border:1px solid var(--line);padding:7px 14px;border-radius:999px;transition:all .2s}.tag:hover{color:var(--accent);border-color:var(--accent)}section{padding:96px 0;position:relative;z-index:1}.sec-label{font-family:var(--mono);font-size:13px;color:var(--faint);letter-spacing:.05em;text-transform:uppercase;margin-bottom:46px;display:flex;align-items:center;gap:14px}.sec-label span{flex:1;height:1px;background:var(--line)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.grid-cards.wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.card.pad{padding:24px}.card h3{font-family:var(--display);font-weight:500;font-size:1.2rem;margin-bottom:14px}.card p{color:var(--muted);font-size:14.5px;line-height:1.7}.uc-label{color:var(--faint)!important;font-size:12px!important;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.uc-text{margin-bottom:14px}.uc-result{color:var(--accent)!important}.ico{font-family:var(--mono);color:var(--accent);font-size:13px;margin-bottom:14px}.mb{margin-bottom:14px}#work .work-item{display:grid;grid-template-columns:54px 1fr auto;gap:28px;align-items:center;padding:32px 4px;border-top:1px solid var(--line);transition:padding-left .25s,background .25s}#work .work-item:last-child{border-bottom:1px solid var(--line)}#work .work-item:hover{padding-left:18px;background:linear-gradient(90deg,rgba(188,226,92,.05),transparent 70%)}.work-num{font-family:var(--mono);font-size:13px;color:var(--faint)}.work-title{font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.1}.work-desc{color:var(--muted);font-size:16px;margin-top:8px;max-width:52ch}.work-stack{font-family:var(--mono);font-size:12.5px;color:var(--faint);margin-top:14px}.work-arrow{font-size:26px;color:var(--faint);transition:color .25s,transform .25s}#work .work-item:hover .work-arrow{color:var(--accent);transform:translate(4px,-4px)}.about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:64px}.about-lead{font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,3vw,2rem);line-height:1.3}.about-lead em{font-style:normal;color:var(--accent)}.about-body{color:var(--muted);font-size:16.5px;margin-top:24px;line-height:1.7}.contact{text-align:center;padding:120px 0}.contact h2{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.04;margin-bottom:36px}.socials{display:flex;gap:26px;justify-content:center;margin-top:30px;font-family:var(--mono);font-size:14px}.socials a{color:var(--muted);transition:color .2s}.socials a:hover{color:var(--accent)}.login-section{padding:90px 0 120px}.login-wrap{max-width:520px}.login-card{max-width:440px}.login-title{font-family:var(--display);font-weight:500;font-size:1.6rem;margin-bottom:6px}.login-sub{color:var(--muted);font-size:14.5px;margin-bottom:24px}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}.field input{width:100%;background:var(--bg);border:1px solid var(--line-strong);border-radius:9px;padding:12px 14px;color:var(--text);font-family:var(--body);font-size:15px}.field input:focus{outline:none;border-color:var(--accent)}.login-error{color:#ff6b6b;font-size:14px;margin:4px 0 16px;font-family:var(--mono)}.login-btn{width:100%;justify-content:center;margin-top:6px}.head{padding:96px 0 40px}.head h1{font-size:clamp(2.3rem,6vw,4rem);max-width:18ch}.head p{color:var(--muted);font-size:clamp(1.02rem,2vw,1.2rem);max-width:54ch;margin-top:22px}.timeline{padding:30px 0 90px;position:relative}.rail{position:absolute;left:calc(50% - .5px);top:0;bottom:90px;width:1px;background:var(--line)}.entry{position:relative;width:50%;padding:28px 48px;box-sizing:border-box}.entry:nth-of-type(odd){left:0;text-align:right}.entry:nth-of-type(2n){left:50%}.node{position:absolute;top:42px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}.entry:nth-of-type(odd) .node{right:-6.5px}.entry:nth-of-type(2n) .node{left:-6.5px}.entry .card{overflow:hidden}.card-body{padding:20px 22px}.yr{font-family:var(--mono);font-size:12.5px;color:var(--accent)}.entry .card h3{font-family:var(--display);font-weight:500;font-size:1.22rem;line-height:1.2;margin:8px 0 6px}.org{color:var(--muted);font-size:14px}.desc{color:var(--faint);font-size:13.5px;margin-top:10px;line-height:1.55}.badge{display:inline-block;font-family:var(--mono);font-size:11px;color:var(--accent);border:1px solid var(--accent-dim);border-radius:999px;padding:2px 10px;margin-top:12px}.entry:nth-of-type(odd) .badge{margin-left:auto}.thumb-wrap{position:relative;background:#f4f4f6;border-bottom:1px solid var(--line);cursor:zoom-in;display:block}.thumb{display:block;width:100%;max-height:300px;object-fit:contain;border:0}.thumb-wrap:after{content:"\26f6";position:absolute;top:12px;right:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;background:#0c0d108c;border-radius:8px;opacity:.85;transition:opacity .2s,transform .2s}.thumb-wrap:hover:after{opacity:1;transform:scale(1.08)}.group-label{position:relative;z-index:2;text-align:center;margin:34px auto;width:max-content;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 18px}.lb{position:fixed;inset:0;z-index:200;background:#07080aeb;display:flex;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}.lb img{max-width:95%;max-height:92%;border-radius:8px;box-shadow:0 30px 80px #0009}.lb-close{position:absolute;top:22px;right:26px;font-family:var(--mono);font-size:14px;color:var(--muted);border:1px solid var(--line-strong);border-radius:8px;padding:8px 14px;cursor:pointer;background:none}.lb-cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:36px 0;position:relative;z-index:1}.foot{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12.5px;color:var(--faint);flex-wrap:wrap;gap:12px}@media (max-width:860px){.nav-links{position:fixed;inset:70px 0 auto;flex-direction:column;gap:0;background:var(--bg-alt);border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .3s;padding:8px 0}.nav-links.open{transform:none}.nav-links a{padding:16px 28px;width:100%;border-top:1px solid var(--line)}.nav-login{margin:12px 28px;text-align:center}.burger{display:block}.hero{padding:90px 0 60px}section{padding:72px 0}.about-grid{grid-template-columns:1fr;gap:40px}#work .work-item{grid-template-columns:1fr;gap:10px;padding:28px 0}.work-num,.work-arrow{display:none}.rail{left:18px}.entry,.entry:nth-of-type(odd),.entry:nth-of-type(2n){width:100%;left:0;text-align:left;padding:18px 0 18px 46px}.entry:nth-of-type(odd) .node,.entry:nth-of-type(2n) .node{left:11.5px;right:auto}.entry:nth-of-type(odd) .badge{margin-left:0}.group-label{margin-left:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}
