:root{color-scheme:light;--bg:#faf8f5;--ink:#151311;--muted:#78736d;--border:#e4ddd5;--subtle:#f3eee8;--button:#141312;--button-text:#fffdfa;--field:#fff;--focus:#b98c5b;--shadow:0 15px 45px rgba(34,25,13,.07);--page:740px;--wide:1055px}
html[data-theme="dark"]{color-scheme:dark;--bg:#100f0e;--ink:#f6f1eb;--muted:#9f9790;--border:#2d2823;--subtle:#1c1916;--button:#f8f3ea;--button-text:#141311;--field:#27221f;--focus:#d6b690;--shadow:0 15px 45px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,'Iowan Old Style','Palatino Linotype',serif;font-size:18px;line-height:1.63;-webkit-font-smoothing:antialiased;transition:background .18s,color .18s}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:4px}::selection{background:#d4b38b;color:#151311}.container{width:min(var(--page),calc(100% - 44px));margin-inline:auto}.wide-container{width:min(var(--wide),calc(100% - 44px));margin-inline:auto}.dim{color:var(--muted)}.small{font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-size:12px;font-weight:700;color:var(--ink)}.line{border:0;border-top:1px solid var(--border)}
.site-header{height:76px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-size:26px;font-weight:700;letter-spacing:-1.3px;line-height:1}.brand:hover{text-decoration:none}.brand img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:center 26%;border:1px solid var(--border)}.brand-short{display:none}.main-nav{display:flex;align-items:center;gap:30px;font-size:17px}.nav-link{white-space:nowrap}.nav-link[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.icon-button{background:none;border:0;display:inline-grid;place-items:center;padding:0;color:var(--ink);width:33px;height:33px;border-radius:50%;flex:0 0 auto}.icon-button svg{width:21px;height:21px}.theme-button{background:var(--subtle);height:39px;width:39px}.menu-button{display:none}
.site-footer{padding:84px 0 54px;font-size:14px;color:var(--muted)}.footer-inner{display:flex;align-items:center;justify-content:center;gap:20px 32px;flex-wrap:wrap}.footer-social{display:flex;justify-content:center;gap:27px;margin-top:15px}.footer-inner a:hover,.footer-social a:hover{color:var(--ink)}
.home-hero{padding:108px 0 76px}.home-hero h1{max-width:760px;font-size:clamp(42px,5.1vw,60px);letter-spacing:-2.3px;font-weight:400;line-height:1.09;margin:0 0 24px}.lead{font-size:19px;line-height:1.55;color:var(--muted);margin:0 0 32px}.signup-form{display:flex;align-items:stretch;gap:8px;max-width:560px}.signup-form input{min-width:0;flex:1;appearance:none;border:1px solid var(--ink);background:var(--field);color:var(--ink);border-radius:40px;padding:14px 22px;height:52px;outline-offset:2px;font-size:16px}.signup-form input::placeholder{color:var(--muted)}.pill{border:1px solid var(--button);border-radius:40px;padding:14px 25px;background:var(--button);color:var(--button-text);font-weight:700;font-size:15px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:50px;transition:transform .15s,opacity .15s;white-space:nowrap}.pill:hover{text-decoration:none;opacity:.9;transform:translateY(-1px)}.pill.light{background:var(--bg);border-color:var(--border);color:var(--ink)}.form-note{font-size:13px;color:var(--muted);margin:17px 0 0}.form-message{min-height:20px;font-size:14px;color:var(--muted);margin:12px 0 0}.credibility{margin-top:10px;max-width:680px}.credibility h2{font-size:13px;color:var(--muted);font-weight:400;margin:0 0 24px}.credibility p{margin:0 0 16px}.credibility .attribution{font-size:14px;color:var(--muted)}.section{padding:64px 0}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:1.8px;margin:0 0 42px;font-weight:700}.featured-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:42px;align-items:center}.featured-grid h2{font-size:34px;font-weight:400;line-height:1.15;letter-spacing:-1.1px;margin:28px 0 14px}.featured-grid p{margin:0 0 22px}.cover{aspect-ratio:5/7;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:3px;padding:25px;box-shadow:var(--shadow)}.cover h3{font-size:22px;line-height:1.1;letter-spacing:-.6px;font-weight:400;margin:0}.cover .cover-cap{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.cover-bottom{border-top:1px solid var(--border);padding-top:12px;font-size:11px}.cover-small{max-width:210px;margin-inline:auto}.entry-list{display:flex;flex-direction:column}.entry{display:block;padding:0 0 29px;margin-bottom:35px;border-bottom:1px solid var(--border)}.entry:last-child{border-bottom:0}.entry .category{font-size:14px;color:var(--muted);display:block;margin:0 0 10px}.entry h3{font-size:29px;font-weight:400;line-height:1.2;letter-spacing:-.8px;margin:0 0 8px}.entry .summary{font-size:17px;line-height:1.42;margin:0 0 16px;color:var(--ink)}.entry .meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:13px}.entry:hover h3{text-decoration:underline}.flag{display:inline-block;background:var(--button);color:var(--button-text);font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;padding:4px 9px;border-radius:6px;vertical-align:middle;margin-left:7px}.underlink{text-decoration:underline;text-underline-offset:4px}.read-more{font-size:16px}.about-preview{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:start}.about-preview img{width:200px;aspect-ratio:1;object-fit:cover;object-position:center 25%;border-radius:4px}.about-preview p{margin:8px 0 14px;font-size:17px;line-height:1.58}.signup-bottom{padding-top:53px;border-top:1px solid var(--border)}.signup-bottom h2{font-size:41px;letter-spacing:-1.6px;line-height:1.12;font-weight:400;margin:0 0 14px}.signup-bottom .lead{margin-bottom:25px}
.page-heading{padding:78px 0 46px}.page-heading h1{font-size:68px;letter-spacing:-2.5px;line-height:1.05;font-weight:400;margin:0 0 17px}.page-heading.center{text-align:center}.page-heading.center h1{font-size:56px}.page-heading p{font-size:18px;margin:0;color:var(--muted)}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--border);font-size:15px;margin-bottom:65px}.tabs a{padding-bottom:12px;color:var(--muted);border-bottom:2px solid transparent}.tabs a[aria-current="page"]{border-color:var(--ink);color:var(--ink)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:24px 0}.pagination .pages{display:flex;gap:20px;align-items:center}.pagination .active{background:var(--button);color:var(--button-text);padding:2px 10px;border-radius:6px}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 62px}.topic-group h2{font-size:24px;font-weight:400;margin:0 0 15px}.topic-group ul{list-style:none;margin:0 0 14px;padding:0}.topic-group li{border-top:1px solid var(--border);padding:13px 0;font-size:16px}.topic-group .more-topic{font-size:12px;font-style:italic;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}
.prose{font-size:19px;line-height:1.72}.prose p{margin:0 0 23px}.prose h2{font-size:29px;line-height:1.25;letter-spacing:-.5px;margin:46px 0 18px}.prose h3{font-size:23px;line-height:1.25}.prose ul{padding-left:21px;margin:0 0 25px}.prose li{margin-bottom:8px}.prose blockquote{border-left:2px solid var(--ink);margin:26px 0;padding-left:22px;font-style:italic}.prose a{text-decoration:underline;text-underline-offset:3px}.about-intro{padding-top:73px}.about-intro .portrait-large{display:block;width:min(100%,450px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:4px;margin:28px 0 37px}.about-intro h1{font-size:61px;font-weight:400;line-height:1.1;letter-spacing:-1.8px;margin:0 0 22px}.about-intro .intro-line{font-size:22px}.callout-note{padding:20px 23px;border:1px solid var(--border);border-radius:6px;background:var(--subtle);margin:25px 0;font-size:15px}.callout-note strong{font-size:15px}.signature{font-family:cursive;font-size:29px;font-style:italic;letter-spacing:-1px}
.article-shell{display:grid;grid-template-columns:minmax(0,675px) minmax(240px,285px);gap:80px;padding:60px 0 0}.article h1{font-size:56px;line-height:1.1;letter-spacing:-2px;font-weight:400;margin:18px 0 22px}.article .article-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:15px;color:var(--muted);margin-bottom:25px}.article .sponsor-link{font-size:15px;font-style:italic;color:var(--muted)}.article .separator{border-top:1px solid var(--border);margin:25px 0 39px}.article .prose{font-size:20px;line-height:1.62}.article .prose p:first-of-type:first-letter{font-size:2.3em;float:left;line-height:.8;padding:9px 7px 0 0}.article-sidebar{border-left:1px solid var(--border);padding-left:31px;align-self:stretch}.article-sidebar .sticky{position:sticky;top:116px}.article-sidebar h2{font-size:28px;line-height:1.18;letter-spacing:-.5px;font-weight:400;margin:18px 0 16px}.article-sidebar p{font-size:16px;line-height:1.5}.article-sidebar .signup-form{display:flex;flex-direction:column}.article-sidebar .signup-form input,.article-sidebar .pill{width:100%}.related{border-top:1px solid var(--border);margin-top:60px;padding-top:30px}.related h2{font-size:24px;margin:0 0 18px}.related a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--border);font-size:17px}.related a span{font-size:13px;color:var(--muted)}
.resource-tabs{display:flex;justify-content:center;gap:2px;background:var(--subtle);border-radius:50px;max-width:max-content;margin:40px auto 47px;padding:5px}.resource-tabs button{border:0;background:transparent;border-radius:30px;padding:11px 20px;font-size:15px;color:var(--ink)}.resource-tabs button[aria-selected="true"]{background:var(--button);color:var(--button-text)}[hidden]{display:none!important}.feature-resource{display:grid;grid-template-columns:1fr 1.08fr;gap:40px;border:1px solid var(--border);border-radius:7px;padding:28px;margin-bottom:35px;background:var(--subtle);align-items:center}.feature-resource .cover{width:100%;max-width:300px;box-shadow:var(--shadow)}.feature-resource h2{font-size:33px;font-weight:400;letter-spacing:-1px;line-height:1.15;margin:14px 0}.feature-resource p{margin:0 0 25px}.small-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.small-resource .cover{height:170px;aspect-ratio:auto;padding:16px;margin-bottom:18px}.small-resource h3{font-size:23px;line-height:1.2;font-weight:400;margin:10px 0}.small-resource p{font-size:16px;line-height:1.5}.tool-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;border-bottom:1px solid var(--border);padding:25px 0 40px;margin-bottom:25px}.tool-art{min-height:220px;background:var(--subtle);border:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:5px;gap:12px}.tool-art span{font-size:42px}.tool-row h2{font-size:31px;line-height:1.1;font-weight:400}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-card{padding:29px;background:var(--subtle);border:1px solid var(--border);border-radius:5px}.project-card h2{font-size:29px;font-weight:400;margin:15px 0 11px}.project-card p{font-size:16px;margin:0}.project-status{font-size:11px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted)}
.search-dialog{border:1px solid var(--border);background:var(--bg);color:var(--ink);box-shadow:0 25px 75px rgba(0,0,0,.2);width:min(580px,calc(100vw - 26px));max-height:min(650px,83vh);border-radius:12px;padding:0;overflow:hidden;position:fixed;inset:15vh 0 auto;margin:auto}.search-dialog::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(4px)}.search-top{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--border)}.search-top input{background:transparent;color:var(--ink);border:0;outline:0;flex:1;min-width:0;font-size:21px}.search-top button{border:1px solid var(--border);border-radius:4px;background:var(--subtle);color:var(--muted);padding:3px 8px;font-size:12px}.search-results{max-height:430px;overflow:auto;padding:7px 0}.search-results a{display:block;padding:11px 20px}.search-results a:hover,.search-results a:focus-visible{background:var(--subtle);text-decoration:none}.search-results strong{display:block;font-size:19px;font-weight:400}.search-results span{font-size:14px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-empty{padding:16px 20px;color:var(--muted)}.search-hint{border-top:1px solid var(--border);font-size:12px;color:var(--muted);padding:10px 20px}.toast{position:fixed;z-index:100;left:50%;bottom:23px;transform:translateX(-50%);border:1px solid var(--border);border-radius:9px;background:var(--ink);color:var(--bg);box-shadow:var(--shadow);font-size:14px;padding:12px 18px;width:min(520px,calc(100vw - 25px));text-align:center}.skip-link{position:absolute;top:-100px;left:10px;background:var(--bg);padding:10px;z-index:999}.skip-link:focus{top:10px}
@media(max-width:900px){.article-shell{grid-template-columns:1fr;gap:30px;width:min(740px,calc(100% - 44px))}.article-sidebar{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.article-sidebar .sticky{position:static}.article-sidebar .signup-form{max-width:540px;flex-direction:row}.article-sidebar .signup-form input,.article-sidebar .pill{width:auto}}
@media(max-width:650px){body{font-size:17px}.container,.wide-container{width:calc(100% - 36px)}.site-header{height:72px}.header-inner{gap:11px}.brand{font-size:25px;gap:8px}.brand img{width:37px;height:37px}.brand-full{display:none}.brand-short{display:inline}.main-nav{gap:15px;margin-left:auto;font-size:16px}.icon-button{width:29px}.theme-button{width:38px;height:38px}.header-inner{gap:7px}.home-hero{padding:84px 0 55px}.home-hero h1{font-size:clamp(41px,10vw,55px);letter-spacing:-1.7px;line-height:1.14;text-align:center}.home-hero .lead{font-size:19px;margin:35px 0 42px}.signup-form{flex-direction:column;gap:11px;max-width:none}.signup-form input,.signup-form .pill{min-height:56px;width:100%;font-size:16px}.credibility{margin-top:100px}.section{padding:47px 0}.section-title{margin-bottom:37px}.featured-grid{grid-template-columns:1fr;gap:30px}.featured-grid .cover{max-width:255px;min-height:365px;margin-inline:auto;order:2}.featured-grid h2{font-size:31px}.entry h3{font-size:28px}.entry .summary{font-size:17px;line-height:1.5}.entry .meta{gap:12px}.about-preview{grid-template-columns:1fr;gap:16px}.about-preview img{width:220px}.signup-bottom h2{font-size:37px}.site-footer{padding:83px 0 47px}.page-heading{padding:72px 0 39px}.page-heading h1{font-size:59px}.page-heading.center h1{font-size:51px}.topic-grid,.project-list,.small-resource-grid{grid-template-columns:1fr}.tabs{margin-bottom:53px}.about-intro{padding-top:60px}.about-intro h1{font-size:52px}.about-intro .intro-line{font-size:19px}.prose{font-size:18px}.article-shell{padding-top:38px}.article h1{font-size:50px}.article .prose{font-size:19px}.article-sidebar .signup-form{flex-direction:column}.resource-tabs{width:100%;margin-top:30px}.resource-tabs button{flex:1;font-size:13px;padding:11px 6px}.feature-resource,.tool-row{grid-template-columns:1fr;gap:22px}.feature-resource .cover{max-width:260px}.feature-resource h2{font-size:29px}.footer-inner{gap:11px 25px}}
@media(max-width:390px){.main-nav{gap:9px;font-size:14px}.brand{font-size:22px}.brand img{width:33px;height:33px}.theme-button{width:31px;height:31px}.main-nav .nav-link{letter-spacing:-.35px}.home-hero h1{font-size:40px}.resource-tabs button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Official Substack signup integration */
.signup-connected{display:flex;align-items:center;gap:17px;max-width:none}.signup-connected .signup-context{font-size:16px;color:var(--muted)}.signup-connected .signup-launch{min-width:175px}
.subscribe-dialog{width:min(540px,calc(100vw - 24px));border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--ink);padding:22px;max-height:calc(100dvh - 40px);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.subscribe-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(4px)}
.subscribe-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}
.subscribe-dialog-head h2{font-size:30px;font-weight:400;margin:8px 0 0;line-height:1.16}.subscribe-close{background:var(--subtle);border:1px solid var(--border);font-size:27px;line-height:1}
.subscribe-dialog iframe{display:block;max-width:100%;width:100%;height:320px;background:white;border-radius:5px}
.subscribe-fallback{text-align:center;font-size:13px;color:var(--muted);margin:12px 0 0}.subscribe-fallback a{text-decoration:underline;text-underline-offset:3px}
.article-sidebar .signup-connected{flex-direction:column;align-items:stretch;gap:10px}.article-sidebar .signup-connected .signup-launch{width:100%}.article-sidebar .signup-connected .signup-context{font-size:13px;text-align:center}
@media(max-width:650px){.signup-connected{flex-direction:column;align-items:stretch;gap:10px}.signup-connected .signup-launch{width:100%}.signup-connected .signup-context{text-align:center}.subscribe-dialog{padding:14px}.subscribe-dialog iframe{height:320px}}

/* The About page displays the uploaded handwritten signature without altering the image.
   Mix-blend removes the white paper background in light and dark themes. */
.handwritten-signature{width:min(350px,100%);height:112px;overflow:hidden;position:relative;margin:26px 0 8px}
.handwritten-signature img{display:block;width:100%;height:auto;max-width:none;transform:translateY(-22%);mix-blend-mode:multiply;filter:contrast(1.2)}
html[data-theme="dark"] .handwritten-signature img{mix-blend-mode:screen;filter:invert(1) contrast(1.25)}
@media(max-width:650px){.handwritten-signature{width:min(310px,100%);height:101px}}
