:root{--bg: #f5f5f3;--ink: #0c0c0c;--ink-2: #2a2a2a;--ink-3: #4e4e4b;--ink-4: #b6b6b1;--line: #d8d8d3;--paper: #ececea;--accent: #c87be0;--grotesk: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--grid-gap: 1px}@media(prefers-color-scheme:dark){:root{--bg: #0a0a0a;--ink: #f0f0ed;--ink-2: #c8c8c4;--ink-3: #8e8e8a;--ink-4: #3a3a37;--line: #1f1f1d;--paper: #131313}.about-copy .signal{color:var(--bg)}::selection{background:var(--accent);color:var(--bg)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--grotesk);font-weight:400;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;overflow-x:hidden}::selection{background:var(--accent);color:var(--ink)}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:16px;z-index:100;background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;transform:translateY(-200%);transition:transform .15s ease}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--accent);outline-offset:3px}:focus{outline:none}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.btn:focus-visible{outline-offset:4px}.nav-links a:focus-visible{color:var(--ink);outline-offset:4px}.side-card:focus-visible{outline-offset:-2px}section:focus,section:focus-visible,main:focus,main:focus-visible{outline:none}.mono{font-family:var(--mono)}.micro{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.display{font-family:var(--grotesk);font-weight:300;letter-spacing:-.035em;line-height:.92}.bg-grid{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px);background-size:calc((100vw - 96px) / 12) 100%;background-position:48px 0;opacity:0;transition:opacity 1.2s ease}.bg-grid.in{opacity:1}@media(max-width:720px){.bg-grid{display:none}}.frame{position:fixed;inset:24px;border:1px solid var(--line);pointer-events:none;z-index:1}@media(max-width:720px){.frame{inset:12px}}.crosshair{position:fixed;width:12px;height:12px;pointer-events:none;z-index:2}.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--ink)}.crosshair:before{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}.crosshair:after{top:0;bottom:0;left:50%;width:1px;transform:translate(-50%)}.crosshair.tl{top:18px;left:18px}.crosshair.tr{top:18px;right:18px}.crosshair.bl{bottom:18px;left:18px}.crosshair.br{bottom:18px;right:18px}@media(max-width:720px){.crosshair{display:none}}.page{position:relative;z-index:3;max-width:1440px;margin:0 auto;padding:0 64px}@media(max-width:720px){.page{padding:0 24px}}.nav{position:fixed;top:24px;left:24px;right:24px;z-index:40;border-bottom:1px solid transparent;background:color-mix(in srgb,var(--bg) 0%,transparent);transition:background .3s ease,border-color .3s ease;will-change:backdrop-filter,background}.nav.scrolled{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--line)}.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 40px}@media(max-width:720px){.nav-inner{padding:14px 16px;grid-template-columns:1fr 1fr}}.nav-id{font-family:var(--mono);font-size:12px;display:flex;gap:10px;align-items:center}.nav-id .sig{position:relative;width:8px;height:8px;background:var(--accent)}.nav-id .sig:after{content:"";position:absolute;inset:0;background:var(--accent);opacity:.7;transform:scale(1);animation:blip 2.4s cubic-bezier(.5,0,.5,1) infinite;pointer-events:none;will-change:transform,opacity}@keyframes blip{0%,to{transform:scale(1);opacity:.7}60%{transform:scale(3);opacity:0}}.nav-links{display:flex;gap:28px;justify-content:center;font-family:var(--mono);font-size:12px}.nav-links a{position:relative;padding:8px 6px;color:var(--ink-2)}.nav-links a span.n{color:var(--ink-4);margin-right:6px}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.7,0,.2,1)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{transform:scaleX(1)}@media(max-width:900px){.nav-links{display:none}}.nav-right{display:flex;justify-content:flex-end;gap:14px;font-family:var(--mono);font-size:12px;align-items:center}.nav-right .clock{color:var(--ink-2)}.hero{min-height:100vh;padding-top:130px;padding-bottom:64px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hero-spec{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:0}.hero-spec .cell dt,.hero-spec .cell dd{margin:0}@media(max-width:720px){.hero-spec{grid-template-columns:repeat(2,1fr);gap:12px}}.hero-spec .cell{display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:12px}.hero-spec .cell .k{color:var(--ink-3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.hero-spec .cell .v{color:var(--ink)}.hero-spec .cell .v .dot{display:inline-block;width:6px;height:6px;background:var(--accent);margin-right:6px;vertical-align:middle}.hero-headline{margin:48px 0;font-size:clamp(64px,11.5vw,184px);font-weight:300}.hero-headline .line{display:block;overflow:hidden;padding-bottom:.06em}.hero-headline .line .inner{display:block;transform:translateY(0)}.hero-headline.loaded .line .inner{animation:rise 1.1s cubic-bezier(.2,.8,.1,1) both}.hero-headline.loaded .line:nth-child(1) .inner{animation-delay:.05s}.hero-headline.loaded .line:nth-child(2) .inner{animation-delay:.18s}.hero-headline.loaded .line:nth-child(3) .inner{animation-delay:.31s}@keyframes rise{0%{transform:translateY(110%)}to{transform:translateY(0)}}.hero-headline .stroke{color:transparent;-webkit-text-stroke:1px var(--ink)}.hero-headline .signal{color:var(--accent)}.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:64px;align-items:end;padding-top:32px;border-top:1px solid var(--line)}@media(max-width:720px){.hero-bottom{grid-template-columns:1fr;gap:24px}}.hero-tag{font-family:var(--mono);font-size:14px;line-height:1.65;max-width:520px;color:var(--ink-2)}.hero-tag .hl{color:var(--ink);background:var(--accent);padding:0 4px}.cta-row{display:flex;gap:10px}.btn{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:14px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);display:inline-flex;align-items:center;gap:10px;transition:transform .3s cubic-bezier(.2,.7,.1,1)}.btn .arrow{width:12px;height:12px}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--bg)}.btn:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--accent)}.marquee{margin-top:56px;overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-family:var(--mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.marquee-track{display:inline-flex;gap:40px;animation:scroll 40s linear infinite}.marquee-track span{color:var(--ink-2)}.marquee-track .sep{color:var(--ink-4)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}section{padding:120px 0;position:relative;z-index:3}.sec-head{display:grid;grid-template-columns:1fr 3fr;gap:48px;align-items:end;margin-bottom:64px;padding-bottom:24px;border-bottom:1px solid var(--line)}@media(max-width:720px){.sec-head{grid-template-columns:1fr;gap:12px}}.sec-head .label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);display:flex;gap:16px;align-items:center}.sec-head .label .bracket{color:var(--ink-4)}.sec-head .ttl{font-family:var(--grotesk);font-weight:300;font-size:clamp(36px,5.5vw,76px);letter-spacing:-.025em;line-height:1}.sec-head .ttl .stroke{color:transparent;-webkit-text-stroke:1px var(--ink)}.about-grid{display:grid;grid-template-columns:7fr 5fr;gap:80px;align-items:start}@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:36px}}.about-copy{font-family:var(--grotesk);font-size:clamp(24px,2.6vw,36px);line-height:1.32;font-weight:300;letter-spacing:-.015em}.about-copy p+p{margin-top:28px}.about-copy .signal{background:var(--accent);padding:0 4px}.about-spec{padding-top:8px;display:grid;grid-template-columns:1fr;gap:20px;font-family:var(--mono);font-size:13px;margin:0}.about-spec>div{padding-bottom:16px;border-bottom:1px solid var(--line)}.about-spec>div:last-child{border-bottom:none}.about-spec dt.k{color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px}.about-spec dd.v{color:var(--ink);margin:0}.side-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}@media(max-width:900px){.side-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.side-grid{grid-template-columns:1fr}}.side-card{background:var(--bg);padding:24px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background .35s ease}.side-card:hover{background:var(--paper)}.side-card.static{cursor:default}.side-card.static:hover{background:var(--bg)}.side-card.static:hover:after{transform:scaleX(0)}.side-card.static:hover .ghost{transform:none}.side-card:after{content:"";position:absolute;inset:0;border-top:2px solid var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.1,1);pointer-events:none}.side-card:hover:after{transform:scaleX(1)}.side-card .top{display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.side-card .status{display:inline-flex;align-items:center;gap:6px}.side-card .status .dot{width:6px;height:6px;background:var(--ink-3)}.side-card .status.live .dot{background:var(--accent)}.side-card .status.wip .dot{background:oklch(.75 .16 80)}.side-card .status.archived .dot{background:var(--ink-4)}.side-card .body{display:flex;flex-direction:column;gap:12px}.side-card .name{font-family:var(--grotesk);font-weight:400;font-size:28px;line-height:1.05;letter-spacing:-.015em}.side-card .desc{font-family:var(--grotesk);font-size:14px;line-height:1.5;color:var(--ink-2)}.side-card .foot{display:flex;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding-top:14px;border-top:1px solid var(--line)}.side-card .tags{display:flex;gap:6px;flex-wrap:wrap}.side-card .tags span:not(:last-child):after{content:"/";margin-left:6px;color:var(--ink-4)}.side-card .ghost{position:absolute;right:-20px;bottom:-60px;font-family:var(--grotesk);font-weight:300;font-size:220px;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--ink) 8%,transparent);pointer-events:none;user-select:none;transition:transform .8s cubic-bezier(.2,.7,.1,1),-webkit-text-stroke-color .4s ease}.side-card:hover .ghost{transform:translate(-12px,-8px)}.now-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:start}@media(max-width:900px){.now-grid{grid-template-columns:1fr;gap:32px}}.now-list{border-top:1px solid var(--line)}.now-row{display:grid;grid-template-columns:110px 1fr 80px;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}.now-row .when,.now-row .meta{font-family:var(--mono);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.now-row .meta{justify-self:end}.now-row .what{font-family:var(--grotesk);font-size:17px;line-height:1.4;letter-spacing:-.005em}.now-row .what .hl{background:var(--accent);padding:0 4px}.stack-panel{border:1px solid var(--line);padding:24px}.stack-panel h4{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px}.stack-grid{display:flex;flex-wrap:wrap;gap:4px}.stack-grid .chip{font-family:var(--mono);font-size:11px;padding:5px 9px;border:1px solid var(--line);color:var(--ink-2);transition:border-color .2s ease,color .2s ease}.stack-grid .chip:hover{border-color:var(--ink);color:var(--ink)}.stack-divider{height:1px;background:var(--line);margin:24px 0}.reading{font-family:var(--grotesk);font-size:14px;line-height:1.6;color:var(--ink-2)}.reading a{color:var(--ink);border-bottom:1px solid var(--line)}.contact{padding-top:160px;padding-bottom:100px}.contact .big{font-family:var(--grotesk);font-weight:300;font-size:clamp(56px,9.5vw,152px);letter-spacing:-.03em;line-height:.95;margin:0}.contact .big .stroke{color:transparent;-webkit-text-stroke:1px var(--ink)}.contact .big .mail{background:var(--accent);padding:0 8px;transition:background .3s ease}.contact-foot{margin-top:80px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;font-family:var(--mono);font-size:12px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.contact-foot a{color:var(--ink)}.contact-foot a:hover{background:var(--accent);padding:0 4px}.socials{display:flex;gap:20px}footer{padding:24px 0 40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--line)}@media(max-width:720px){body{font-size:14px}.nav{top:12px;left:12px;right:12px}.nav-inner{padding:12px 14px;gap:12px}.nav-id{font-size:11px}.nav-id .label-full{display:none}.nav-id .label-short{display:inline}.nav-right{font-size:11px;gap:10px}.hero{padding-top:110px;padding-bottom:48px}.hero-headline{font-size:clamp(44px,13vw,64px);margin:36px 0}.hero-headline .line{padding-bottom:.04em}.hero-spec{gap:10px 16px;padding:12px 0}.hero-spec .cell{font-size:11px}.hero-spec .cell .k{font-size:9px}.hero-tag{font-size:13px;line-height:1.6}.cta-row{flex-direction:column;align-items:stretch;gap:8px;width:100%}.btn{justify-content:space-between;padding:14px 18px;font-size:11px}.marquee{margin-top:40px;padding:12px 0;font-size:12px}.marquee-track{gap:28px}section{padding:80px 0}.sec-head{margin-bottom:40px;padding-bottom:16px}.sec-head .label{font-size:10px;gap:8px;flex-wrap:wrap}.sec-head .ttl{font-size:clamp(32px,8vw,44px)}.about-copy{font-size:22px;line-height:1.34}.about-copy p+p{margin-top:18px}.about-spec{font-size:12px;gap:14px}.about-spec>div{padding-bottom:12px}.side-card{padding:20px;min-height:240px}.side-card .name{font-size:24px}.side-card .desc{font-size:13px}.side-card .foot{flex-direction:column;align-items:flex-start;gap:6px;padding-top:12px}.side-card .ghost{font-size:160px;right:-10px;bottom:-40px}.now-row{grid-template-columns:1fr;gap:6px;padding:16px 0}.now-row .meta{justify-self:start}.now-row .what{font-size:16px;order:2}.now-row .when{order:1}.now-row .meta{order:3}.stack-panel{padding:20px}.ascii-blk{font-size:10px}.contact{padding-top:100px;padding-bottom:60px}.contact .big{font-size:clamp(40px,12vw,56px);line-height:1}.contact-foot{margin-top:48px;flex-direction:column;gap:16px;font-size:11px}.socials{flex-wrap:wrap;gap:14px}footer{padding:20px 0 28px;flex-direction:column;align-items:flex-start;gap:6px;font-size:10px}}@media(max-width:380px){.hero-spec{grid-template-columns:1fr 1fr}.hero-headline{font-size:clamp(36px,13vw,56px)}.sec-head .ttl{font-size:30px}.nav-right{display:none}}.reveal{opacity:0;transform:translateY(20px);transition:opacity 1s cubic-bezier(.2,.7,.1,1),transform 1s cubic-bezier(.2,.7,.1,1)}.reveal.in{opacity:1;transform:translateY(0)}.progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:60;width:0%}.ascii-blk{font-family:var(--mono);font-size:11px;line-height:1.2;color:var(--ink-3);white-space:pre}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
