:root{--paper:#f5f3ec;--ink:#26372d;--muted:#60695e;--line:#d7dacd;--green:#344537;--accent:#be673e;--serif:Georgia, "Times New Roman", serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0}a{color:inherit;text-underline-offset:5px}a:hover{color:#8c482a}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.shell{max-width:1320px;margin:auto;padding:0 64px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:112px;display:flex}.wordmark{letter-spacing:2px;align-items:center;gap:20px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.monogram{font:italic 39px var(--serif);letter-spacing:-4px}.wordmark:hover{color:var(--ink)}nav{gap:32px;font-size:13px;display:flex}nav a{padding:10px 0;text-decoration:none}nav a[aria-current=page]{border-bottom:1px solid var(--ink)}.hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:35px;padding:92px 0 84px;display:grid}.eyebrow{letter-spacing:1.8px;margin:0 0 28px;font-size:10px;font-weight:700;line-height:1.7}.dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);text-wrap:balance;font-weight:400}.intro,.prose p{text-wrap:pretty}h1{letter-spacing:-2.6px;margin-bottom:30px;font-size:clamp(45px,5.2vw,70px);line-height:1.07}em{color:#647256;font-weight:400}h2{letter-spacing:-1.4px;margin-bottom:22px;font-size:43px;line-height:1.1}h3{letter-spacing:-.6px;font-size:30px;line-height:1.17}.intro{max-width:560px;color:var(--muted);margin-bottom:30px;font-size:17px;line-height:1.8}p{color:var(--muted);font-size:15px;line-height:1.8}.button{background:var(--green);color:var(--paper);border:1px solid var(--green);align-items:center;gap:35px;padding:16px 21px;font-size:12px;text-decoration:none;display:inline-flex}.button:hover{color:#fff;background:#455b3b}.text-link{font-size:13px;font-weight:500}.hero-link{margin-left:24px}.signal{width:100%;height:auto;display:block}.caption{letter-spacing:1.6px;color:var(--muted);font:10px/1.7 monospace}.section{border-top:1px solid var(--line);padding:55px 0 65px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{margin-bottom:0}.section-heading>p{margin-bottom:0;font-size:13px}.work-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.work-card{border:1px solid var(--line);background:#f9f7f0;min-height:267px;padding:27px 26px 21px}.card-top{letter-spacing:1px;color:var(--muted);justify-content:space-between;margin-bottom:36px;font-size:9px;display:flex}.work-card p{font-size:13px;line-height:1.85}.work-card .work-link{margin-top:4px;display:inline-block}.vault-promo{background:#e7eadc;grid-template-columns:1fr 1fr;gap:70px;margin:0 0 70px;padding:56px;display:grid}.vault-promo h2{margin-bottom:0;font-size:53px}.vault-promo .intro{margin-top:30px;font-size:19px}.vault-promo .button{margin-top:12px}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:30px 0 36px;font-size:11px;display:flex}footer a{text-decoration:none}.page-heading{max-width:930px;padding:85px 0 65px}.page-heading .intro{max-width:670px;margin-bottom:0}.about-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;max-width:none;display:grid}.headshot{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:240px;height:240px}@media (width<=700px){.about-heading{grid-template-columns:1fr;gap:24px}.headshot{order:-1;width:128px;height:128px}}.about-grid{grid-template-columns:1fr 1.2fr;gap:85px;display:grid}.prose p,.prose li{color:var(--muted);font-size:17px;line-height:1.9}.prose p{margin-bottom:24px}.prose li{margin-bottom:12px}.prose h2{margin-top:42px;font-size:31px}.prose img{width:100%;height:auto;margin:20px 0}.contact{border-top:1px solid var(--line);grid-template-columns:1fr 1.2fr;gap:85px;padding:60px 0 80px;display:grid}.contact-email{font-family:var(--serif);overflow-wrap:anywhere;font-size:clamp(19px,2.1vw,29px)}.contact-links{flex-wrap:wrap;gap:23px;margin-top:30px;display:flex}.vault-tools{gap:20px;margin-bottom:20px;display:flex}label{font-size:12px;font-weight:600;display:block}.search-label{flex:1}.filter-label{width:190px}input,select{width:100%;color:var(--ink);background:#faf9f4;border:1px solid #a8b09e;border-radius:0;margin-top:10px;padding:15px;font:14px Arial;display:block}.vault-entry{border-bottom:1px solid var(--line);padding:32px 0}.vault-entry h2{margin:23px 0 12px;font-size:34px}.vault-entry h2 a{text-decoration:none}.vault-entry p{max-width:730px;margin-bottom:0}.search-hint{color:var(--muted);margin:-4px 0 18px;font-size:12px}.vault-paths-heading{margin-bottom:18px}.vault-section-heading{margin:44px 0 10px}.vault-paths{grid-template-columns:1fr 1fr;gap:20px;margin:0 0 28px;display:grid}.vault-path{border:1px solid var(--line);background:#f9f7f0;padding:27px 26px 21px}.vault-path:last-child:nth-child(odd){grid-column:1/-1}.vault-path .card-top{margin-bottom:22px}.vault-path h2{margin:0 0 12px;font-size:26px}.vault-path h2 a{text-decoration:none}.vault-path p{margin:0;font-size:14px;line-height:1.7}.vault-topic-heading{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:36px 0 0;font-size:11px}.vault-entry .draft-tag{margin-left:0}.pill{letter-spacing:.6px;border:1px solid #a8b09e;padding:6px 10px;font-size:10px}.topic{color:var(--muted);margin-left:15px;font-size:11px}.draft-tag{letter-spacing:1px;color:#8c482a;margin-left:15px;font-size:9px}.preview-note{border-left:3px solid var(--accent);background:#eee8da;margin-bottom:30px;padding:15px 20px;font-size:13px;line-height:1.7}.article{max-width:1000px;margin:auto;padding:60px 0 80px}.article>.intro{max-width:820px}.article-body,.article .source{max-width:800px}.article-meta{margin-top:50px;margin-bottom:22px}.article h1{font-size:58px}.article-body{margin-top:38px}.source{border-top:1px solid var(--line);margin-top:45px;padding-top:30px}.source .eyebrow{margin-bottom:15px}.source a{font-size:14px}.source p:last-child{margin-top:15px;font-size:12px}.skip{z-index:10;background:var(--green);color:#fff;padding:15px;position:fixed;top:-100px;left:20px}.skip:focus{top:15px}@media (width<=1000px){.shell{padding:0 32px}.hero{gap:20px}.hero-link{margin:22px 0 0;display:block}.work-card{padding:20px}.card-top{font-size:8px}.about-grid,.contact{gap:40px}.vault-promo{gap:35px;padding:38px}}@media (width<=700px){.shell{padding:0 22px}header{flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;min-height:112px;padding:15px 0}.wordmark{gap:15px}.monogram{font-size:30px}nav{gap:26px;font-size:12px}.hero{grid-template-columns:1fr;padding:52px 0 45px}.hero-art{width:100%;max-width:350px;margin:20px auto 0}h1{letter-spacing:-1.8px;font-size:49px}.eyebrow{letter-spacing:1.3px;font-size:9px}.intro{font-size:16px}.hero-link{margin:0 0 0 18px;display:inline-block}.section-heading{display:block}.section-heading>p{margin-top:20px}.work-grid{grid-template-columns:1fr}.work-card{min-height:0;padding:25px}.card-top{margin-bottom:25px;font-size:9px}.vault-promo,.about-grid,.contact{grid-template-columns:1fr;gap:25px}.vault-promo{padding:30px 26px}.vault-promo h2{font-size:46px}.vault-promo .intro{margin-top:0}.page-heading{padding:50px 0}.page-heading h1{font-size:45px}.section{padding:40px 0}.about-grid h2{margin-bottom:0}.contact{padding:40px 0}.contact h2{font-size:37px}.vault-tools{flex-direction:column}.filter-label{width:100%}.vault-entry h2{font-size:29px}.vault-paths{grid-template-columns:1fr}.vault-path h2{font-size:24px}.topic{margin-top:14px;display:inline-block}.article{padding-top:40px}.article h1{font-size:44px}.article-meta{margin-top:35px}.prose p,.prose li{font-size:16px}footer{flex-wrap:wrap;font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.prose .apel-diagram{background:#eef3f8;border:1px solid #cdd6e1;border-radius:12px;margin:36px 0;padding:26px}.apel-diagram figcaption{color:#1f3b5a;gap:8px;margin-bottom:24px;display:grid}.apel-kicker{letter-spacing:.15em;font-size:11px;font-weight:700}.apel-diagram figcaption>strong{font-size:24px;line-height:1.3}.prose .apel-phases{margin:0;padding:0;list-style:none}.prose .apel-phases>li{background:#fff;border:1px solid #cdd6e1;border-radius:8px;grid-template-columns:34px minmax(0,1.2fr) 22px minmax(0,1fr);align-items:center;gap:14px;margin:0 0 26px;padding:20px 16px;font-size:15px;line-height:1.4;display:grid;position:relative}.apel-phases>li:not(:last-child):after{content:"↓";color:#3d6fa8;font-size:20px;line-height:24px;position:absolute;bottom:-25px;left:24px}.prose .apel-phases>li:last-child{margin-bottom:0}.apel-number{color:#3d6fa8;align-self:start;padding-top:4px;font-size:13px;font-weight:700}.apel-phase,.apel-output{gap:6px;display:grid}.apel-phase>strong{color:#1f3b5a;font-size:21px}.apel-phase>small{color:#475467;font-size:12px}.apel-output>small{color:#475467;letter-spacing:.1em;font-size:10px}.apel-transfer{color:#3d6fa8}.apel-principle{color:#1f3b5a;margin-top:20px;font-size:13px;line-height:1.6}.apel-feedback{gap:12px;display:grid}.apel-feedback>div{background:#fff;border-left:3px solid #5b8cc7;grid-template-columns:minmax(0,1fr) 20px minmax(0,1.6fr);align-items:center;gap:16px;padding:18px;display:grid}.apel-feedback strong{color:#1f3b5a;font-size:15px;line-height:1.5}.prose .apel-feedback p{margin:0;font-size:14px;line-height:1.6}@media (width<=600px){.prose .apel-diagram{padding:18px 14px}.apel-diagram figcaption>strong{font-size:22px}.prose .apel-phases>li{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:16px 12px}.apel-transfer{display:none}.apel-output{border-top:1px solid #dde4ec;grid-column:2;margin-top:4px;padding-top:10px}.apel-feedback>div{grid-template-columns:1fr;gap:8px;padding:14px}.apel-feedback>div>span{width:16px;line-height:1;transform:rotate(90deg)}}.prose .context-visual{background:#eef3f8;border:1px solid #cdd6e1;border-radius:12px;margin:36px 0;padding:26px}.context-visual figcaption,.context-example-heading{color:#1f3b5a;gap:8px;margin-bottom:24px;display:grid}.context-kicker{letter-spacing:.14em;font-size:11px;font-weight:700}.context-visual figcaption>strong,.context-example-heading>strong{font-size:23px;line-height:1.35}.context-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.context-inputs>div,.context-route>div{background:#fff;border:1px solid #cdd6e1;border-radius:7px;gap:8px;padding:16px 12px;display:grid}.context-visual b{color:#1f3b5a;font-size:15px;line-height:1.4}.context-inputs span,.context-route div>span,.context-loop li>span{color:#475467;font-size:13px;line-height:1.5}.context-connector{text-align:center;color:#3d6fa8;margin:12px 0;font-size:24px;line-height:1}.context-focus{text-align:center;color:#fff;background:#2b5687;border-radius:8px;gap:8px;padding:20px 16px;display:grid}.context-focus strong{font-size:19px}.context-focus span{font-size:13px;line-height:1.6}.context-route{grid-template-columns:1fr 16px 1fr 16px 1fr;align-items:center;gap:8px;display:grid}.context-route>span{color:#3d6fa8}.prose .context-loop{counter-reset:context-step;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.prose .context-loop>li{counter-increment:context-step;background:#fff;border-top:3px solid #5b8cc7;align-content:start;gap:10px;margin:0;padding:16px 12px;display:grid;position:relative}.context-loop>li:before{content:"0" counter(context-step);color:#3d6fa8;font-size:11px;font-weight:700}.context-loop>li:not(:last-child):after{content:"→";color:#3d6fa8;position:absolute;top:45%;right:-17px}.context-return{color:#1f3b5a;border-top:1px dashed #9fb6d1;margin-top:20px;padding-top:16px;font-size:13px;line-height:1.6}.context-return>span{margin-right:8px}.context-example{background:#f3f6fa;border:1px solid #cdd6e1;border-radius:12px;margin:32px 0;padding:24px}.context-example details{border-top:1px solid #cdd6e1}.context-example summary{cursor:pointer;color:#1f3b5a;padding:18px 0;font-size:16px;font-weight:600}.context-example summary>span{color:#3d6fa8;margin-right:10px;font-size:12px}.context-example summary:focus-visible{outline-offset:3px;outline:2px solid #2b5687}.prose .context-example details p{margin:0 0 20px;font-size:15px;line-height:1.7}@media (width<=600px){.prose .context-visual,.context-example{padding:20px 16px}.context-inputs,.context-route,.prose .context-loop,.context-inputs>div{grid-template-columns:1fr}.context-route>span{justify-self:center;line-height:1;transform:rotate(90deg)}.context-loop>li:not(:last-child):after{content:"↓";inset:auto auto -24px 16px}.context-visual figcaption>strong,.context-example-heading>strong{font-size:22px}}.prose .law-lane{color:#1f3b5a;margin:16px 0 10px;font-size:13px;font-weight:600}.law-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.law-compare>div,.law-stack>div{background:#fff;border:1px solid #cdd6e1;border-radius:8px;gap:10px;padding:18px;display:grid}.law-compare span,.law-stack div>span{color:#475467;font-size:14px;line-height:1.7}.law-stack{gap:8px;display:grid}.law-stack>span{color:#475467;justify-self:center}.law-bars{gap:18px;display:grid}.law-bars>div{gap:8px;display:grid}.law-bar{background:#e8edf3;border-radius:4px;width:100%;height:26px;display:flex;overflow:hidden}.law-bar>span{background:#2b5687}.law-bar>i{background:#5b8cc7}.law-legend{color:#1f3b5a;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font-size:13px;display:flex}@media (width<=600px){.law-compare{grid-template-columns:1fr}}.prose .law-image{margin:32px 0}.law-image img{border-radius:12px;width:100%;height:auto;display:block}.prose .law-image figcaption{margin-top:8px;font-size:13px}.reading-list{padding-left:20px}.reading-list li+li{margin-top:16px}.source .reading-list p{margin:5px 0 0;font-size:14px}.prose .apel-swap{margin:24px 0}.apel-swap>div{border-bottom:1px solid #cdd6e1;grid-template-columns:minmax(0,1fr) 24px minmax(0,1.4fr);align-items:center;gap:16px;padding:20px 0;display:grid}.apel-swap span{color:#475467;font-size:16px}.apel-swap b{color:#5b8cc7}.apel-swap strong{font-size:18px;line-height:1.4}.apel-swap small{color:#475467;margin-top:7px;font-size:14px;font-weight:400;display:block}@media (width<=600px){.apel-swap>div{grid-template-columns:1fr;gap:8px}.apel-swap b{display:none}.apel-swap strong:before{content:"→ ";color:#5b8cc7}}.prose .context-visual,.context-example{background:0 0}.context-inputs>div,.context-route>div,.prose .context-loop>li{background:#d6e6f5;border-color:#b8c4d2}.context-focus{color:#1f3b5a;background:#dbe8f6}.prose .context-loop>li{border-top-color:#1f3b5a}.context-loop>li:before,.context-example summary>span{color:#1f3b5a}.reading-list a{overflow-wrap:anywhere}.vault-tools .search-label{min-width:0}@media (width<=800px){.vault-tools{flex-wrap:wrap}.vault-tools .search-label{flex-basis:100%}.filter-label{flex:1}}.resume-actions{flex-wrap:wrap;align-items:center;gap:24px;margin:32px 0 0;display:flex}.prose .resume-role{border-top:1px solid var(--line);margin-top:38px;padding-top:30px}.prose .resume-role:first-of-type{border-top:0;padding-top:0}.prose .resume-role h3{margin:0 0 6px;font-size:25px}.prose .resume-place{letter-spacing:.04em;color:var(--muted);margin:0 0 18px;font-size:14px}.prose .resume-titles{gap:6px;margin:0 0 24px;padding:0;list-style:none;display:grid}.prose .resume-titles>li{border-bottom:1px dotted var(--line);flex-wrap:wrap;justify-content:space-between;gap:6px 20px;margin:0;padding:9px 0;font-size:15px;line-height:1.5;display:flex}.resume-titles strong{color:#263d32}.resume-titles span{color:var(--muted);white-space:nowrap;font-size:13px}.prose .resume-skills{grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:14px 28px;margin:0;display:grid}.resume-skills dt{color:#263d32;font-size:15px;font-weight:700}.resume-skills dd{color:var(--muted);margin:0;font-size:16px;line-height:1.8}@media (width<=700px){.prose .resume-skills{grid-template-columns:1fr;gap:4px 0}.resume-skills dd{margin-bottom:18px}.resume-titles span{white-space:normal}}.prose .about-resume-links{flex-wrap:wrap;gap:14px 28px;margin-bottom:0;display:flex}.prose .principles{margin:0 0 26px;padding:0;list-style:none}.prose .principles>li{font-family:var(--serif);color:var(--ink);margin:0 0 14px;font-size:24px;line-height:1.35}@media (width<=700px){.prose .principles>li{font-size:21px}}.vault-promo .latest-heading{margin:0 0 8px}.latest-notes{margin:0 0 30px;padding:0;list-style:none}.latest-notes li{border-top:1px solid #c9cfbd}.latest-notes li:last-child{border-bottom:1px solid #c9cfbd}.latest-notes a{padding:11px 0;font-size:15px;line-height:1.45;text-decoration:none;display:block}.latest-notes a:hover{text-decoration:underline}.prose pre.astro-code{border:1px solid var(--line);border-radius:12px;margin:26px 0;padding:18px 20px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre.astro-code code{font-family:ui-monospace,Cascadia Code,Consolas,monospace}
