*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}img{display:block;max-width:100%;height:auto}a{color:inherit}@font-face{font-family:Canela;src:url(/fonts/Canela-Regular-Web.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Söhne;src:url(/fonts/soehne-buch.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Söhne;src:url(/fonts/soehne-kraftig.woff2) format("woff2");font-weight:500;font-display:swap}:root{--paper: #f4f4f1;--ink: #111210;--graphite: #55574f;--mist: #8d8f86;--hair: #d8d9d2;--signal: #1b2a4a;--live: #2f7d4f;--beta: #b07a1e;--serif: "Canela", Georgia, serif;--sans: "Söhne", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--x: clamp(24px, 7vw, 112px);--measure: 62ch;--wide: 1120px}body{font-family:var(--sans);font-size:17px;line-height:1.6;background:var(--paper);color:var(--ink)}.masthead{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:baseline;padding:22px var(--x);background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .25s}.masthead.scrolled{border-color:var(--hair)}.masthead-name{font-family:var(--serif);font-size:21px;text-decoration:none}.masthead-mail{font-family:var(--mono);font-size:12.5px;letter-spacing:.01em;color:var(--graphite);text-decoration:none}.masthead-mail:hover{color:var(--signal)}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist)}.hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(180px,20vw,300px);gap:clamp(40px,6vw,96px);align-items:end;padding:clamp(64px,10vw,128px) var(--x) clamp(40px,5vw,64px);max-width:calc(var(--wide) + var(--x) * 2)}.hero-copy{max-width:720px}.hero-h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6.2vw,84px);line-height:1.02;letter-spacing:-.02em;text-wrap:balance;margin:24px 0 28px}.hero-sub{font-size:clamp(17px,1.35vw,19px);line-height:1.65;color:var(--graphite);max-width:540px}.hero-portrait img{filter:grayscale(1) contrast(1.08);aspect-ratio:4 / 5;object-fit:cover}.ledger{margin:0 var(--x);max-width:var(--wide);border-top:1px solid var(--ink);font-family:var(--mono);font-size:13px;line-height:1.4}.ledger-head,.ledger-row{display:grid;grid-template-columns:200px 130px 1fr auto;gap:24px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--hair)}.ledger-head{color:var(--mist);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.ledger-asof{justify-self:end}.ledger-row{text-decoration:none;transition:background .15s;opacity:0;transform:translateY(6px);animation:row-in .5s ease forwards}.ledger-row:nth-child(2){animation-delay:.1s}.ledger-row:nth-child(3){animation-delay:.22s}.ledger-row:nth-child(4){animation-delay:.34s}.ledger-row:nth-child(5){animation-delay:.46s}@keyframes row-in{to{opacity:1;transform:none}}.ledger-row:hover .ledger-sys{color:var(--signal)}.ledger-sys{color:var(--ink)}.ledger-state{color:var(--graphite);white-space:nowrap}.ledger-ev{color:var(--graphite)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;vertical-align:1px}.dot-live{background:var(--live)}.dot-beta{background:var(--beta)}.work{padding:clamp(80px,11vw,160px) var(--x) 0;max-width:calc(var(--wide) + var(--x) * 2)}.work-h2,.engage-h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.6vw,48px);line-height:1.1;letter-spacing:-.015em;margin-bottom:20px}.work-lede{color:var(--graphite);max-width:var(--measure);margin-bottom:clamp(48px,6vw,88px)}.log{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,5vw,80px);padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--hair)}.log:last-of-type{border-bottom:1px solid var(--hair)}.log-head{position:sticky;top:92px;align-self:start}.log-title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,40px);line-height:1.05;letter-spacing:-.015em;margin-bottom:14px}.log-what{color:var(--graphite);font-size:15.5px;line-height:1.6;max-width:34ch}.log-body{max-width:var(--measure)}.log-body dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin-top:26px;margin-bottom:6px}.log-body dt:first-child{margin-top:0}.log-body dd{color:var(--ink);line-height:1.65}.log-body dt:nth-of-type(4){color:var(--signal)}.log-body dt:nth-of-type(4)+dd{color:var(--ink);font-weight:500}.log-foot{grid-column:2;display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;margin-top:36px;padding-top:18px;border-top:1px dashed var(--hair);font-family:var(--mono);font-size:12.5px}.log-stack{color:var(--mist)}.log-link{color:var(--signal);text-decoration:none;white-space:nowrap}.log-link:hover{text-decoration:underline;text-underline-offset:3px}.engage{padding:clamp(80px,11vw,160px) var(--x) 0;max-width:calc(var(--wide) + var(--x) * 2)}.engage-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);margin-top:clamp(32px,4vw,56px)}.engage-body dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);padding-top:16px;border-top:1px solid var(--ink);margin-bottom:10px}.engage-body dd{color:var(--graphite);font-size:16px;line-height:1.65}.engage-body{grid-auto-flow:column;grid-template-rows:auto auto}.contact{padding:clamp(96px,13vw,200px) var(--x) clamp(64px,8vw,120px)}.contact-mail{display:inline-block;font-family:var(--serif);font-size:clamp(30px,5vw,72px);line-height:1.05;letter-spacing:-.02em;text-decoration:none;margin:20px 0 32px;border-bottom:1px solid var(--ink);padding-bottom:.05em;overflow-wrap:anywhere}.contact-mail:hover{color:var(--signal);border-color:var(--signal)}.contact-links{display:flex;gap:28px;font-family:var(--mono);font-size:12.5px;color:var(--mist)}.contact-links a{color:var(--graphite);text-decoration:none}.contact-links a:hover{color:var(--signal)}a:focus-visible{outline:2px solid var(--signal);outline-offset:4px}@media(prefers-reduced-motion:reduce){.ledger-row{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}@media(max-width:900px){.hero{grid-template-columns:1fr;align-items:start}.hero-portrait{order:-1;width:clamp(140px,36vw,220px)}.log{grid-template-columns:1fr;gap:24px}.log-head{position:static}.log-foot{grid-column:1}.engage-body{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}}@media(max-width:640px){body{font-size:16px}.masthead{padding:16px var(--x)}.masthead-mail,.ledger-head{display:none}.ledger-row{grid-template-columns:1fr auto;gap:4px 16px;padding:14px 0}.ledger-ev{grid-column:1 / -1;color:var(--mist)}}::selection{background:var(--signal);color:var(--paper)}.hero{grid-template-columns:minmax(0,1fr) clamp(150px,15vw,220px)}.hero-h1{font-size:clamp(46px,7.6vw,96px);letter-spacing:-.028em}.hero-portrait img{filter:grayscale(1) contrast(1.1) brightness(1.04);mix-blend-mode:multiply}.hero-portrait{position:relative}.hero-portrait:after{content:"";position:absolute;inset:0;background:var(--signal);mix-blend-mode:screen;opacity:.16;pointer-events:none}.dot-live{animation:breathe 4s ease-in-out infinite}@keyframes breathe{0%,to{box-shadow:0 0 #2f7d4f73}50%{box-shadow:0 0 0 5px #2f7d4f00}}@media(prefers-reduced-motion:reduce){.dot-live{animation:none}}.engage-body{row-gap:12px;column-gap:clamp(28px,4vw,56px)}.masthead{max-width:calc(var(--wide) + var(--x) * 2)}.log{align-items:start}.log-foot{margin-top:20px}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-h1{font-size:clamp(42px,12vw,64px)}}.engage-lede{color:var(--graphite);max-width:var(--measure)}.engage-body dd p+p{margin-top:12px}.engage-body .price{font-family:var(--mono);font-size:13px;color:var(--ink);margin-top:18px}.contact-alt{font-family:var(--mono);font-size:13px;color:var(--mist);margin:-16px 0 32px}.contact-alt a{color:var(--graphite);text-decoration:none}.contact-alt a:hover{color:var(--signal)}
