@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-latin-400-normal.DZsjfPjH.woff2)format("woff2"),url(/_astro/martian-mono-latin-400-normal.DM4nBGIh.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/martian-mono-latin-500-normal.BWC8e-kx.woff2)format("woff2"),url(/_astro/martian-mono-latin-500-normal.BsOs1ffX.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/martian-mono-latin-600-normal.BlUmYrg6.woff2)format("woff2"),url(/_astro/martian-mono-latin-600-normal.CDEEqth2.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/martian-mono-latin-700-normal.BEEYYU4J.woff2)format("woff2"),url(/_astro/martian-mono-latin-700-normal.CkDhVUqs.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff")}:root{--ground:oklch(16.5% .007 250);--ground-2:oklch(21.5% .008 250);--ground-hover:oklch(19% .008 250);--ink:oklch(94.5% .004 250);--muted:oklch(63.5% .009 250);--rule:oklch(30.5% .009 250);--accent:oklch(78% .155 68);--paper:oklch(94.5% .006 85);--paper-ink:oklch(18.5% .008 70);--paper-muted:oklch(46% .01 70);--paper-rule:oklch(83% .008 85);--accent-on-paper:oklch(52% .12 62);--display:"Martian Mono", "IBM Plex Mono", ui-monospace, monospace;--mono:"IBM Plex Mono", ui-monospace, monospace;--shell:1400px;--gutter:clamp(16px, 4vw, 56px);--section-y:clamp(48px, 8vw, 110px);--col-gap:clamp(24px, 4vw, 64px);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0}h1,h2,h3,p,figure,blockquote{margin:0}a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}input,textarea,button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:9999;background:var(--accent);color:var(--ground);letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;font-size:11px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100px;left:16px}.skip-link:focus,.skip-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px;top:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes skpulse{0%,to{opacity:1}50%{opacity:.2}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10px}.label--accent{color:var(--accent)}.label--ink{color:var(--ink)}.rule-fill{background:var(--rule);flex:1;min-width:12px;height:1px}.hairline{background:var(--rule);height:1px}.section-head{align-items:baseline;gap:16px;padding-bottom:clamp(24px,5vw,56px);display:flex}.section-head h2{font-family:var(--display);letter-spacing:-.05em;text-transform:uppercase;font-size:clamp(18px,3.4vw,44px);font-weight:600;line-height:1.1}.section-head .meta{white-space:nowrap}.section{padding-top:var(--section-y);scroll-margin-top:46px}.nav{z-index:60;background:var(--ground);border-bottom:1px solid var(--rule);position:sticky;top:0}.nav .shell{letter-spacing:clamp(.06em,.5vw,.16em);text-transform:uppercase;height:46px;color:var(--muted);justify-content:space-between;align-items:center;gap:clamp(8px,2vw,18px);font-size:clamp(8px,2.3vw,10px);display:flex}.nav-brand{color:var(--ink);letter-spacing:clamp(.08em,.7vw,.22em);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.nav-links{flex:none;align-items:center;gap:clamp(9px,2.6vw,28px);margin:0;padding:0;list-style:none;display:flex}.nav-links li{align-items:center;display:inline-flex}.nav-links a{color:var(--muted);white-space:nowrap}.nav-links a:hover{color:var(--accent)}.nav-links .is-lit{color:var(--ink);align-items:center;gap:7px;display:inline-flex}.status-dot{background:var(--accent);flex:none;width:5px;height:5px;animation:2.4s ease-in-out infinite skpulse}.masthead{border-bottom:1px solid var(--rule)}.masthead .shell{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 28px;padding-block:clamp(14px,2vw,20px);font-size:10px;display:flex}.masthead .is-accent{color:var(--accent)}.cover{padding-top:var(--gutter)}.cover-wordmark{font-family:var(--display);letter-spacing:clamp(.12em,1.1vw,.42em);text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-bottom:clamp(28px,5vw,56px);font-size:clamp(10px,1.5vw,15px);font-weight:400;overflow:hidden}.cover h1{font-family:var(--display);letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(26px,8.1vw,112px);font-weight:600;line-height:1.04}.cover h1 .is-accent{color:var(--accent)}.cover-grid{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,4vw,56px);margin-top:clamp(24px,4vw,48px);padding-block:clamp(24px,4vw,40px) clamp(24px,4vw,44px);display:grid}.cover-grid>div{min-width:0}.cover-grid .label{padding-bottom:12px;display:block}.cover-role{font-family:var(--display);letter-spacing:-.04em;font-size:clamp(13px,1.5vw,18px);font-weight:500;line-height:1.45}.cover-work-cell{grid-column:span 2}.cover-work{max-width:62ch;font-size:clamp(13px,1.35vw,16px);line-height:1.7}.plate-wide img{aspect-ratio:2.4;object-fit:cover;border-bottom:1px solid var(--rule);width:100%;height:auto;min-height:200px}.plate-wide figcaption{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:12px;font-size:10px;display:flex}.gallery{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,3vw,32px);padding-block:clamp(40px,6vw,80px);display:grid}.plate-tall{min-width:0;position:relative}.plate-tall img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;min-height:200px}.plate-tall figcaption{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:var(--ground);border:1px solid var(--rule);width:fit-content;max-width:calc(100% - 36px);padding:7px 12px;font-size:10px;position:absolute;bottom:18px;left:18px;right:18px}.plate-tall figcaption .plate-credit{border-top:1px solid var(--rule);letter-spacing:.12em;margin-top:6px;padding-top:6px;font-size:9px;display:block}.gallery-text{flex-direction:column;justify-content:flex-end;gap:18px;min-width:0;display:flex}.gallery-quote{font-family:var(--display);letter-spacing:-.045em;font-size:clamp(14px,1.7vw,21px);font-weight:500;line-height:1.4}.gallery-sub{color:var(--muted);font-size:clamp(12px,1.2vw,14px);line-height:1.7}.practice-entry{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,3vw,48px);padding-block:clamp(26px,4vw,44px);transition:background .15s;display:grid}.practice-entry:hover{background:var(--ground-hover)}.practice-entry-head{align-items:flex-start;gap:16px;min-width:0;display:flex}.practice-entry-num{letter-spacing:.14em;color:var(--accent);flex:none;padding-top:6px;font-size:10px}.practice-entry h3{font-family:var(--display);letter-spacing:-.05em;text-transform:uppercase;font-size:clamp(15px,2.1vw,27px);font-weight:600;line-height:1.22}.practice-entry p{min-width:0;color:var(--muted);grid-column:span 2;max-width:66ch;font-size:clamp(13px,1.3vw,15px);line-height:1.72}.vaultless{background:var(--paper);color:var(--paper-ink);scroll-margin-top:46px}.vaultless .shell{padding-block:var(--section-y)}.vaultless .section-head{padding-bottom:clamp(24px,4vw,48px)}.vaultless .rule-fill{background:var(--paper-rule)}.vaultless .label{color:var(--paper-muted)}.vaultless .label--accent{color:var(--accent-on-paper)}.vaultless a{color:var(--paper-ink)}.vaultless h2{font-family:var(--display);letter-spacing:-.06em;text-transform:uppercase;font-size:clamp(30px,9.2vw,128px);font-weight:700;line-height:.98}.vaultless-deck{font-family:var(--display);letter-spacing:-.05em;max-width:22ch;padding-top:clamp(16px,3vw,28px);font-size:clamp(14px,2vw,26px);font-weight:500;line-height:1.35}.vaultless-grid{gap:var(--col-gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding-top:clamp(32px,5vw,64px);display:grid}.vaultless-grid>div{min-width:0}.vaultless-intro{color:var(--paper-muted);max-width:54ch;padding-bottom:clamp(24px,4vw,36px);font-size:clamp(13px,1.3vw,15px);line-height:1.72}.note-row{border-top:1px solid var(--paper-rule);grid-template-columns:auto minmax(0,1fr);gap:18px;padding-block:14px;display:grid}.note-row .tag{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-on-paper);padding-top:4px;font-size:10px;font-weight:600}.note-row .text{font-size:clamp(12px,1.25vw,14px);line-height:1.65}.chips{border-top:1px solid var(--paper-rule);flex-wrap:wrap;gap:7px;padding-top:20px;display:flex}.chip{letter-spacing:.1em;color:var(--paper-muted);border:1px solid var(--paper-rule);padding:5px 10px;font-size:10px}.btn-row{flex-wrap:wrap;gap:10px;padding-top:clamp(24px,4vw,32px);display:flex}.btn{letter-spacing:.18em;text-transform:uppercase;padding:13px 24px;font-size:10px;transition:background .15s,color .15s,border-color .15s}.btn--solid{background:var(--paper-ink);color:var(--paper)}.vaultless .btn--solid{color:var(--paper)}.btn--solid:hover{background:var(--accent)}.vaultless .btn--solid:hover{color:var(--paper-ink)}.btn--outline{border:1px solid var(--paper-rule)}.btn--outline:hover{border-color:var(--paper-ink)}.vaultless .btn--outline:hover{color:var(--paper-ink)}.trace{background:var(--ground);color:var(--ink);padding:clamp(20px,3vw,32px)}.trace-head{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding-bottom:18px;font-size:10px;display:flex}.trace-head .is-accent{color:var(--accent)}.trace-head h3{font:inherit;font-weight:inherit;font-size:inherit}.trace-step{border-bottom:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr);gap:14px;padding-block:14px;display:grid}.trace-step .n{color:var(--accent);padding-top:4px;font-size:10px}.trace-step .body{min-width:0}.trace-step .step-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-bottom:6px;font-size:10px;display:block}.trace-step .expr{word-break:break-word;font-size:clamp(11px,1.15vw,13px);line-height:1.55;display:block}.trace-foot,.vaultless-note{letter-spacing:.1em;text-transform:uppercase;font-size:10px;line-height:1.7}.trace-foot{color:var(--muted);padding-top:16px}.vaultless-note{color:var(--paper-muted);padding-top:12px}.contact h2{font-family:var(--display);letter-spacing:-.06em;text-transform:uppercase;padding-bottom:clamp(32px,5vw,64px);font-size:clamp(26px,7.4vw,100px);font-weight:600;line-height:1}.contact-grid{gap:var(--col-gap);grid-template-columns:repeat(auto-fit,minmax(290px,1fr));padding-bottom:clamp(48px,7vw,88px);display:grid}.contact-grid>div{min-width:0}.contact-intro{color:var(--muted);max-width:46ch;padding-bottom:clamp(24px,4vw,36px);font-size:clamp(13px,1.3vw,15px);line-height:1.72}.contact-note{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(12px,2vw,24px);padding-block:14px;display:grid}.contact-note .k{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:10px}.contact-note .v{color:var(--muted);font-size:clamp(12px,1.2vw,14px);line-height:1.6}.form{gap:24px;display:grid}.field{gap:9px;display:grid}.field>span{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10px}.field input,.field textarea{border:0;border-bottom:1px solid var(--rule);background:0 0;width:100%;padding:10px 0;font-size:15px;transition:border-color .15s}.field textarea{resize:vertical;min-height:7rem}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent);outline:none}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-bottom-color:var(--accent)}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.submit{background:var(--ink);color:var(--ground);border:1px solid var(--ink);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;justify-self:start;padding:14px 28px;font-size:10px;transition:background .15s,color .15s,border-color .15s}.submit:hover{background:var(--accent);border-color:var(--accent);color:var(--ground)}.submit[disabled]{opacity:.55;cursor:not-allowed}.form-note{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px;line-height:1.7}.form-note[data-state=err]{color:var(--accent)}.sent-card{border:1px solid var(--accent);padding:clamp(24px,4vw,40px)}.sent-card p{font-family:var(--display);letter-spacing:-.045em;padding-top:14px;font-size:clamp(14px,1.6vw,19px);line-height:1.4}[hidden]{display:none!important}.colophon{border-top:1px solid var(--rule)}.colophon .shell{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:clamp(20px,3vw,28px);font-size:10px;display:flex}
