:root{--ink: #0a0a0a;--ink-2: #161513;--ink-3: #3a3936;--paper: #edeae3;--gray-1: #c9c6be;--gray-2: #8a8880;--gray-3: #5f5d57;--font-display: "Space Grotesk", system-ui, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--max: 1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);font-family:var(--font-display);font-weight:400;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}html.custom-cursor body,html.custom-cursor a,html.custom-cursor button{cursor:none}::selection{background:var(--paper);color:var(--ink)}.section--paper ::selection{background:var(--ink);color:var(--paper)}a{color:inherit}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.mono{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-2)}.serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400}.site-header{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:1px solid var(--ink-3)}.site-header .wrap{display:flex;justify-content:space-between;align-items:center;height:56px}.logo{font-weight:500;font-size:14px;letter-spacing:.02em;text-decoration:none;color:var(--paper);display:inline-flex;align-items:center;gap:8px;transition:transform .25s ease}.logo .mark{font-family:var(--font-mono);color:var(--gray-2);display:inline-block;transition:transform .4s cubic-bezier(.16,1,.3,1),color .25s}.logo:hover{transform:scale(1.04)}.logo:hover .mark{transform:rotate(90deg);color:var(--paper)}.site-nav{display:flex;gap:28px}.site-nav a{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--gray-2);padding:4px 0;transition:color .2s}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--paper)}.site-nav a[aria-current=page]:after{content:"";display:inline-block;width:7px;height:11px;background:var(--paper);margin-left:7px;vertical-align:-1px;animation:blink 1.1s steps(1) infinite}.section{position:relative;padding:96px 0}.section--paper{background:var(--paper);color:var(--ink)}.section--paper .mono{color:var(--gray-3)}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:48px}.marks{position:relative}.marks:before,.marks:after,.marks>.mk:before,.marks>.mk:after{content:"";position:absolute;width:14px;height:14px;pointer-events:none}.marks:before{left:16px;top:16px;border-left:1px solid var(--gray-3);border-top:1px solid var(--gray-3)}.marks:after{right:16px;top:16px;border-right:1px solid var(--gray-3);border-top:1px solid var(--gray-3)}.marks>.mk:before{left:16px;bottom:16px;border-left:1px solid var(--gray-3);border-bottom:1px solid var(--gray-3)}.marks>.mk:after{right:16px;bottom:16px;border-right:1px solid var(--gray-3);border-bottom:1px solid var(--gray-3)}.section--paper.marks:before,.section--paper.marks:after,.section--paper.marks>.mk:before,.section--paper.marks>.mk:after{border-color:var(--gray-1)}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 90% 70% at 72% 8%,#2e2c28 0%,var(--ink-2) 45%,var(--ink) 100%);padding:64px 0 72px}.hero h1{font-size:clamp(36px,6vw,72px);line-height:1.06;font-weight:500;max-width:16ch;margin-top:16px;color:var(--paper)}.hero .footnote{margin-top:22px;color:var(--gray-3)}.hero .footnote+.footnote{margin-top:8px}.hero .sub{margin-top:20px;max-width:46ch;color:var(--gray-2);font-size:17px}.hero .hero-meta{display:flex;gap:32px;margin-top:34px;flex-wrap:wrap}.kicker{min-height:15px;display:block}.caret{display:inline-block;width:8px;height:12px;background:var(--paper);vertical-align:-1px;animation:blink 1.1s steps(1) infinite}.caret--h{width:.32em;height:.78em;margin-left:14px;vertical-align:-.04em}@keyframes blink{50%{opacity:0}}.reveal{display:block;overflow:hidden}.reveal>span{display:block;transform:translateY(110%);animation:rise .9s cubic-bezier(.16,1,.3,1) forwards}.reveal:nth-child(2)>span{animation-delay:.08s}@keyframes rise{to{transform:translateY(0)}}.press-hint{text-align:right;padding-bottom:10px;font-size:9px}.kbd{display:inline-block;font-family:var(--font-mono);font-size:9px;border:1px solid var(--ink-3);border-radius:4px;padding:1px 6px 2px;color:var(--paper);margin:0 2px}.proof{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-3);border-bottom:1px solid var(--ink-3)}.proof>div{padding:28px 24px;border-right:1px solid var(--ink-3)}.proof>div:last-child{border-right:none}.proof .num{font-size:34px;font-weight:500;line-height:1;color:var(--paper)}.proof .mono{display:block;margin-top:10px}.work-row{display:grid;grid-template-columns:72px 1fr auto;gap:24px;align-items:center;padding:30px 8px;text-decoration:none;border-top:1px solid var(--gray-1);transition:background .25s ease,color .25s ease,padding-left .25s ease;overflow:hidden;position:relative;z-index:3}.work-row:last-of-type{border-bottom:1px solid var(--gray-1)}.work-row .idx{font-family:var(--font-mono);font-size:11px;color:var(--gray-3)}.work-row h3{font-size:clamp(18px,2.6vw,26px);font-weight:500;line-height:1.25}.work-row .client{margin-top:6px}.work-row .arrow{color:currentColor;transition:transform .3s cubic-bezier(.16,1,.3,1);margin-right:14px}.work-row .arrow svg{display:block}.work-row:hover{background:var(--ink);color:var(--paper);padding-left:20px}.work-row:hover .arrow{transform:translate(8px)}.work-row:hover .mono,.work-row:hover .idx{color:var(--gray-2)}.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink-3);border:1px solid var(--ink-3)}.principle{background:var(--ink);padding:36px 28px;position:relative;overflow:hidden;z-index:3}.principle:after{content:"*";position:absolute;top:18px;right:22px;font-family:var(--font-mono);font-size:30px;line-height:1;color:var(--ink-3);transition:color .3s,transform .5s cubic-bezier(.16,1,.3,1)}.principle:hover:after{color:var(--gray-2);transform:rotate(90deg)}.principle h3{font-size:20px;font-weight:500;margin-bottom:12px;padding-right:36px}.principle p{color:var(--gray-2);font-size:15px}.quote{max-width:760px}.quote blockquote{font-size:clamp(20px,3vw,28px);line-height:1.4;font-weight:400}.quote blockquote .serif-it{font-size:1.02em}.quote figcaption{margin-top:20px}.q-slider{position:relative;min-height:280px}.q-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}.q-slide.is-active{opacity:1;visibility:visible;position:relative}.q-controls{display:flex;align-items:center;gap:20px;margin-top:36px}.q-arrow{background:none;border:1px solid var(--gray-1);border-radius:999px;width:52px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:background .2s,color .2s}.q-arrow:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.q-arrow svg{display:block}.glow{position:absolute;width:56vw;height:56vw;border-radius:50%;top:-18%;right:-12%;pointer-events:none;background:radial-gradient(circle,rgba(237,234,227,.055) 0%,transparent 62%);animation:drift 17s ease-in-out infinite alternate}@keyframes drift{to{transform:translate(-34%,30%) scale(1.2)}}.contact-actions{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap}.btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:14px 26px;border:1px solid var(--paper);color:var(--paper);background:transparent;transition:background .2s,color .2s;display:inline-block}.btn:hover,.btn--solid{background:var(--paper);color:var(--ink)}.btn--solid:hover{background:transparent;color:var(--paper)}.practical{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-3);border:1px solid var(--ink-3)}.practical>div{background:var(--ink);padding:24px;position:relative;z-index:3}.practical h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--gray-2);font-weight:400;margin-bottom:10px;text-transform:uppercase}.practical p{font-size:14px;color:var(--paper)}.site-footer{border-top:1px solid var(--ink-3);padding:28px 0}.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.barcode{height:22px;width:132px;background:linear-gradient(90deg,var(--paper) 0 2px,transparent 2px 5px,var(--paper) 5px 6px,transparent 6px 12px,var(--paper) 12px 16px,transparent 16px 18px,var(--paper) 18px 19px,transparent 19px 27px,var(--paper) 27px 29px,transparent 29px 31px,var(--paper) 31px 32px,transparent 32px 39px,var(--paper) 39px 43px,transparent 43px 45px,var(--paper) 45px 46px,transparent 46px 54px,var(--paper) 54px 55px,transparent 55px 57px,var(--paper) 57px 61px,transparent 61px 68px,var(--paper) 68px 69px,transparent 69px 72px,var(--paper) 72px 74px,transparent 74px 82px,var(--paper) 82px 86px,transparent 86px 88px,var(--paper) 88px 89px,transparent 89px 96px,var(--paper) 96px 98px,transparent 98px 104px,var(--paper) 104px 105px,transparent 105px 112px,var(--paper) 112px 116px,transparent 116px 118px,var(--paper) 118px 119px,transparent 119px 132px);background-repeat:no-repeat;opacity:.85}.cs-header{padding:80px 0 60px;border-bottom:1px solid var(--ink-3);background:radial-gradient(ellipse 85% 75% at 70% 0%,#2a2825 0%,var(--ink-2) 50%,var(--ink) 100%)}.cs-header h1{font-size:clamp(30px,5vw,54px);line-height:1.1;font-weight:500;max-width:20ch;margin-top:18px}.cs-meta{display:flex;gap:40px;margin-top:36px;flex-wrap:wrap}.cs-meta div span{display:block}.cs-meta .label{font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;color:var(--gray-3);text-transform:uppercase;margin-bottom:6px}.cs-meta .value{font-size:14px;color:var(--paper)}.prose{max-width:720px;padding:72px 0 96px}.prose h2{font-size:24px;font-weight:500;margin:56px 0 20px;border-top:1px solid var(--ink-3);padding-top:18px}.prose h2:first-child{margin-top:0;border-top:none;padding-top:0}.prose h3{font-size:18px;font-weight:500;margin:36px 0 14px}.prose p{margin:0 0 18px;color:#d6d3cc}.prose strong{font-weight:500;color:var(--paper)}.prose ul{margin:0 0 18px 20px;color:#d6d3cc}.prose li{margin-bottom:8px}.prose blockquote{border-left:1px solid var(--gray-3);padding-left:20px;color:var(--gray-2);margin:0 0 18px;font-size:15px}.cs-nav{border-top:1px solid var(--ink-3)}.cs-nav .wrap{display:flex;justify-content:space-between;padding-top:28px;padding-bottom:28px;gap:24px}.cs-nav a{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--gray-2);text-decoration:none;text-transform:uppercase}.cs-nav a:hover{color:var(--paper)}.about-grid{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:start}.portrait-fig{position:relative;z-index:3;margin:0}.pf-img-wrap{position:relative;display:block}.portrait{display:block;width:100%;height:auto;filter:grayscale(1) contrast(.92) brightness(1.08)}.pf-corner{position:absolute;width:12px;height:12px;z-index:4;pointer-events:none}.pf-tl{top:-6px;left:-6px;border-left:1px solid var(--gray-2);border-top:1px solid var(--gray-2)}.pf-tr{top:-6px;right:-6px;border-right:1px solid var(--gray-2);border-top:1px solid var(--gray-2)}.pf-bl{bottom:-6px;left:-6px;border-left:1px solid var(--gray-2);border-bottom:1px solid var(--gray-2)}.pf-br{bottom:-6px;right:-6px;border-right:1px solid var(--gray-2);border-bottom:1px solid var(--gray-2)}.pf-cap{display:flex;justify-content:space-between;margin-top:18px;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-2)}.portrait-placeholder{aspect-ratio:4/5;border:1px solid var(--ink-3);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--gray-3);text-align:center;padding:20px}.about-body p{margin-bottom:18px;color:#d6d3cc;max-width:60ch}.about-body p strong{font-weight:500;color:var(--paper)}#traveler{position:fixed;right:-6vw;top:-5vw;z-index:2;pointer-events:none;font-family:var(--font-mono);font-size:32vw;line-height:1;color:var(--paper);mix-blend-mode:difference;opacity:.16;user-select:none;will-change:transform}#traveler .spin{display:inline-block;animation:spin 80s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E")}#cursor{position:fixed;left:0;top:0;z-index:100;pointer-events:none;display:none;transform:translate(-50%,-50%)}html.custom-cursor #cursor{display:block}#cursor .glyph{font-family:var(--font-mono);font-size:18px;line-height:1;display:block;color:#fff;mix-blend-mode:difference}#cursor .pill{display:none;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;background:var(--paper);color:var(--ink);padding:6px 12px;border-radius:999px;white-space:nowrap}#cursor.on-paper .pill{background:var(--ink);color:var(--paper)}#cursor.pill-mode .glyph{display:none}#cursor.pill-mode .pill{display:inline-block}.chip{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;background:var(--ink);color:var(--paper);border:1px solid var(--gray-2);padding:10px 14px;text-decoration:none;border-radius:999px;transition:opacity .35s ease,visibility .35s}.chip.chip--hidden{opacity:0;visibility:hidden;pointer-events:none}.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--paper);animation:pulse 2.4s ease infinite}@keyframes pulse{50%{opacity:.3}}.chip:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.chip:hover .dot{background:var(--ink)}.nf{min-height:70vh;display:flex;flex-direction:column;justify-content:center}.nf .big{font-family:var(--font-mono);font-size:120px;line-height:1}@media(max-width:880px){.section{padding:64px 0}.hero{padding:96px 0 72px}.proof{grid-template-columns:repeat(2,1fr)}.proof>div:nth-child(2){border-right:none}.proof>div:nth-child(-n+2){border-bottom:1px solid var(--ink-3)}.principles,.practical{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:36px}.work-row{grid-template-columns:48px 1fr auto;gap:14px}#traveler{font-size:70vw;right:-20vw}.site-nav{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal>span{animation:none;transform:none}.caret,.chip .dot,.glow{animation:none}.principle:after{transition:none}#traveler{display:none}}
