:root{--ink: oklch(.12 .01 280);--paper: oklch(.97 .004 90);--text: oklch(.96 .006 280);--muted: oklch(.7 .012 280);--cream: oklch(.94 .012 90);--card: oklch(.99 .004 90);--dark: oklch(.2 .02 280);--accent: oklch(.7 .19 40);--sans: "DM Sans", Helvetica, Arial, sans-serif;--mono: "DM Mono", monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--ink)}a{color:inherit}::selection{background:#ffd16b;background:oklch(.88 .16 85);color:#0a0b10}input,textarea{outline:none}.root{background:var(--ink);color:var(--text);font-family:var(--sans);overflow-x:clip}.hero-wrap{height:230vh;position:relative;background:var(--ink)}.hero{position:sticky;top:0;height:100vh;background:var(--ink);color:var(--paper);display:flex;align-items:center;padding:0 7vw;overflow:hidden}.hero-inner{width:100%;position:relative}.name{display:flex;flex-direction:column;cursor:pointer;width:max-content;background:none;border:0;padding:0;color:inherit}.name-row{display:flex}.tile{display:inline-block;flex:none;width:.8em;text-align:center;font:700 min(14vw,18vh)/.95 var(--sans);color:var(--paper)}.hint{margin-top:4vh;font:500 13px var(--mono);color:var(--muted)}.work{height:700vh;position:relative}.work-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--ink)}.card{--w: min(66vh, 86vw);position:absolute;left:50%;top:50%;width:var(--w);height:90vh;margin:-45vh 0 0 calc(var(--w) / -2);border-radius:2.6vh;box-shadow:0 2vh 6vh #00000080;will-change:transform}.card-num{position:absolute;font:700 2.4vh/1 var(--mono)}.card-num.top{top:3vh;left:4vh}.card-num.bottom{bottom:3vh;right:4vh;transform:rotate(180deg)}.card-body{position:absolute;top:10vh;right:4vh;bottom:10vh;left:4vh;display:flex;flex-direction:column;justify-content:center;gap:2vh}.card-kicker{font:500 1.8vh var(--mono);opacity:.75}.card-title{line-height:.98;font-weight:700;letter-spacing:-.045em;text-wrap:balance}.card-text{font-size:2.5vh;line-height:1.35;text-wrap:pretty}.card-link{font:500 1.9vh var(--mono)}.contact{min-height:100vh;background:var(--cream);color:var(--dark);display:flex;align-items:center;padding:8vh 7vw 14vh}.contact-grid{width:100%;display:grid;gap:6vw;align-items:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.contact-kicker{font:500 14px var(--mono);margin-bottom:3vh}.contact-title{font-size:min(12vw,24vh);line-height:.88;font-weight:700;letter-spacing:-.06em;margin:0}.form{background:var(--card);border-radius:24px;padding:clamp(24px,3vw,44px);box-shadow:0 24px 70px #1e140a2e;transform:rotate(-1.2deg);display:flex;flex-direction:column;gap:22px;max-width:560px;justify-self:end;width:100%}.field{display:flex;flex-direction:column;gap:6px;font:500 12px var(--mono)}.field input,.field textarea{border:0;border-bottom:2px solid var(--dark);background:transparent;font:500 22px var(--sans);padding:8px 0;color:inherit;border-radius:0}.field textarea{resize:none}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.submit{cursor:pointer;border:0;border-radius:99px;padding:16px 30px;background:var(--dark);color:var(--text);font:500 15px var(--mono);transition:background .2s}.submit:hover{background:var(--accent)}.submit:disabled{cursor:progress}.status{font:500 13px var(--mono);color:#454753}.dock{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:18px;padding:6px 18px;border-radius:99px;background:#121218c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);color:var(--text);font:500 12px var(--mono);white-space:nowrap}.dock-label{min-width:15ch}.dock-nodes{display:flex;gap:5px;align-items:center}.dock-node{border:0;padding:0;background:none;cursor:pointer;height:32px;display:flex;align-items:center}.dock-seg{display:block;height:8px;width:12px;border-radius:4px;opacity:.35;transition:width .3s,opacity .3s}@media(max-width:480px){.dock{gap:10px;padding:4px 12px}.dock-label{min-width:0;max-width:14ch;overflow:hidden;text-overflow:ellipsis}}@media(prefers-reduced-motion:reduce){.dock-seg{transition:none}}
