:root {
  --paper: #fff;
  --ink: #202223;
  --heading: #11162a;
  --body-copy: #555;
  --line: #f2f2f2;
  --results-border: #ddd;
  --ease: cubic-bezier(.215,.61,.355,1);
  font-family: proxima-nova, sans-serif;
  font-size: 23px;
  color: var(--ink);
  background: var(--paper);
}
@media (max-width:1919px) { :root { font-size:21px; } }
@media (max-width:1599px) { :root { font-size:19px; } }
@media (max-width:1439px) { :root { font-size:18px; } }
@media (max-width:1140px) { :root { font-size:17px; } }
@media (max-width:1064px) { :root { font-size:16px; } }
@media (max-width:960px) { :root { font-size:15px; } }
@media (max-width:900px) { :root { font-size:14px; } }
@media (max-width:584px) { :root { font-size:12px; } }
@media (max-width:320px) { :root { font-size:11px; } }
* { box-sizing:border-box; }
body { margin:0; font-size:1rem; line-height:1.41em; -webkit-font-smoothing:antialiased; font-kerning:normal; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { color:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:2px solid #555; outline-offset:5px; }
::selection { color:white; background:#313131; }
input { caret-color:#333; }
[hidden] { display:none!important; }
@media (min-width:834px) { html { scrollbar-gutter:stable; } }
.skip-link { position:fixed; top:-80px; left:24px; padding:12px; background:white; z-index:100; }
.skip-link:focus { top:12px; }
.site-header { position:fixed; inset:0 0 auto; z-index:40; display:flex; align-items:flex-start; justify-content:space-between; padding:1.5rem 5.83333rem; background:white; border-bottom:1px solid var(--line); transition:padding-top .3s var(--ease); }
.wordmark { display:flex; align-items:center; gap:.82rem; height:1.625rem; width:12.15rem; transition:opacity .3s var(--ease) .3s; }
.wordmark img { display:block; width:auto; height:100%; max-width:100%; }
.footer-wordmark img { display:block; width:11rem; height:auto; max-width:100%; }
.menu-toggle { position:relative; display:flex; flex-direction:column; justify-content:space-between; width:26px; height:26px; padding:2px 0; border:0; background:transparent; cursor:pointer; }
.menu-toggle::before { content:""; position:absolute; inset:-9px; }
.menu-toggle span { display:block; height:4px; width:26px; background:#202223; transition:transform .2s var(--ease),opacity .2s var(--ease); }
.menu-open .menu-toggle span:first-child { transform:translateY(9px) rotate(45deg); }
.menu-open .menu-toggle span:nth-child(2) { opacity:0; }
.menu-open .menu-toggle span:last-child { transform:translateY(-9px) rotate(-45deg); }
.menu-open .wordmark { opacity:0; pointer-events:none; transition-delay:0s; }
.menu-open .site-header { border-bottom-color:transparent; }
.chapter-menu { position:fixed; inset:0; z-index:35; max-height:0; overflow:hidden; background:white; transition:max-height .5s var(--ease); }
.chapter-menu nav { min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:0 2rem; text-align:center; }
.chapter-menu a { display:block; font-size:3.5rem; font-weight:700; line-height:1.4; color:#202223; opacity:.75; }
.chapter-menu a:hover { opacity:1; }
.menu-open .chapter-menu { max-height:100vh; max-height:100svh; overflow:auto; }
.menu-open .chapter-menu a { animation:menu-enter .5s var(--ease) both; animation-delay:calc(var(--i) * .085s); }
.menu-open { overflow:hidden; }
.subnav { position:fixed; top:4.625rem; left:0; right:0; z-index:30; display:flex; align-items:center; justify-content:space-between; padding:.6em 5.83333rem; border-bottom:1px solid var(--line); background:white; transition:transform .2s var(--ease); }
.subnav .section-links { display:flex; gap:3rem; align-items:center; }
.subnav .section-links a,.search label { color:#555; font-size:.83333rem; line-height:1.25em; white-space:nowrap; }
.subnav .section-links a:hover { color:#222; }
.subnav a { position:relative; }
.subnav a::after { content:""; position:absolute; inset:-12px -4px; }
.scrolling-down .subnav { transform:translateY(-100%); }
.compact-index,.manifesto-index { display:none; }
.search { display:flex; align-items:center; position:relative; margin-left:1.5rem; min-height:1.41em; }
.search label { cursor:text; }
.search input { width:2.08333rem; opacity:0; border:0; border-bottom:1px solid #555; border-radius:0; padding:0; font-size:.83333rem; line-height:1.25em; background:transparent; color:#333; transition:width .5s var(--ease),opacity .5s var(--ease); }
.search input:focus,.search input:not(:placeholder-shown) { width:8.33333rem; opacity:1; font-size:1rem; }
.search-icon { position:absolute; right:0; pointer-events:none; color:#555; opacity:.5; }
.search:focus-within .search-icon,.search:has(input:not(:placeholder-shown)) .search-icon { opacity:0; }
.search-results { position:absolute; right:0; top:calc(100% + 1rem); width:22rem; max-height:60vh; overflow:auto; background:white; border:1px solid var(--results-border); padding:1rem; }
.search-results p { font-size:.85rem; margin:0 0 .75rem; color:#555; }
.search-results a { display:block; padding:.5rem 0; color:#333; line-height:1.4; font-size:1rem; }
.search-results a:hover { text-decoration:underline; }
main { margin-top:1.2rem; }
.hero { position:relative; height:100vh; background:white; }
.hero-window { position:absolute; inset:0; overflow:hidden; }
.hero-parallax { position:absolute; inset:0; will-change:transform; }
.hero-parallax img { display:block; width:100%; height:auto; }
.hero-title-wrap { position:absolute; bottom:0; width:100%; padding:3rem 5.83333rem 2rem; background:white; color:#202223; }
h1 { display:inline-block; max-width:85%; margin:0 0 .3em; font-size:4rem; font-weight:600; line-height:1; letter-spacing:normal; }
.hero-title-wrap p { margin:0; font-size:1rem; line-height:1.41rem; }
.hero-next { position:absolute; right:30px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:24px; height:44px; }
.post-content { position:relative; padding:6.33333rem 0 3rem; background:white; }
.reading-column { width:90%; max-width:1500px; padding:0 0 0 5.83333rem; }
.chapter { scroll-margin-top:7.75rem; }
.chapter h2,.chapter h3 { color:var(--heading); font-size:2rem; font-weight:700; line-height:1.15; margin:2.32rem 0; }
.chapter h2 { text-transform:uppercase; }
.chapter:first-child h2 { margin-top:0; text-transform:none; }
.chapter h3 { text-transform:none; }
.chapter h2:focus { outline:none; }
.chapter p { color:var(--body-copy); font-size:1rem; line-height:1.41; margin:0 0 1em; }
.image-panel { position:relative; width:100%; margin:3.32rem 0; aspect-ratio:1 / .468; overflow:hidden; }
.image-panel img { position:absolute; inset:-5% 0; width:100%; height:110%; object-fit:cover; object-position:center; }
.js-motion .reveal.is-pending { visibility:hidden; }
.reveal.is-revealed,.appear { animation:enter .75s var(--ease) both; }
.site-footer { display:flex; align-items:center; justify-content:space-between; padding:2.32rem 5.83333rem 4rem; background:white; }
.footer-wordmark { font-size:1.1rem; letter-spacing:.15em; text-transform:uppercase; font-weight:700; }
.back-top { display:flex; align-items:center; gap:.8rem; color:#555; font-size:.83333rem; min-height:44px; }
@keyframes enter { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes menu-enter { from { opacity:0; transform:translateY(20px); } to { opacity:.75; transform:translateY(0); } }
@media (min-width:1200px) {
  .manifesto-index { --reading-progress:0; position:fixed; left:3rem; top:8rem; z-index:20; display:block; width:14rem; max-height:calc(100dvh - 8rem - 16px); padding:16px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--results-border) var(--paper); background:transparent; opacity:0; visibility:hidden; pointer-events:none; }
  .manifesto-index.is-visible { opacity:1; visibility:visible; pointer-events:auto; }
  .index-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 16px 12px; color:var(--ink); font-size:13px; line-height:1.4; }
  .index-meta > span:first-child { color:var(--ink); font-weight:600; }
  .index-meta [data-reading-time] { white-space:nowrap; font-variant-numeric:tabular-nums; }
  .index-list { position:relative; display:flex; flex-direction:column; }
  .index-list::before,.index-list::after { content:""; position:absolute; left:0; top:0; bottom:0; width:1px; pointer-events:none; }
  .index-list::before { background:var(--ink); opacity:.3; }
  .index-list::after { background:var(--ink); transform:scaleY(var(--reading-progress)); transform-origin:top; transition:transform .25s var(--ease); }
  .index-list a { position:relative; display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; align-items:start; min-height:48px; padding:9px 0 9px 12px; color:var(--ink); font-size:14px; line-height:1.4; }
  .index-list a::before { content:""; position:absolute; left:-1px; top:9px; bottom:9px; width:3px; background:transparent; }
  .index-list a:hover { color:var(--ink); }
  .index-list a[aria-current="location"] { color:var(--ink); font-weight:600; }
  .index-list a[aria-current="location"]::before { background:var(--ink); }
  .index-list a.over-photo,.index-meta > span.over-photo { color:var(--paper); text-shadow:0 1px 2px #000,0 0 4px #000; }
  .index-list a.over-photo[aria-current="location"]::before { background:var(--paper); }
  .index-number { font-variant-numeric:tabular-nums; }
  .index-title { display:block; }
  .post-content { padding-left:0; }
  .reading-column { width:90%; padding:0 0 0 19rem; }
}
@media (min-width:1500px) { .hero { height:65vw; } }
@media (max-width:1199px) {
  .scrolling-down .subnav { transform:none; }
  .subnav .section-links { display:none; }
  .compact-index { position:relative; display:block; color:#555; font-size:.83333rem; line-height:1.25em; }
  .compact-index summary { display:flex; align-items:center; gap:.75rem; min-height:1.5rem; cursor:pointer; list-style:none; }
  .compact-index summary::-webkit-details-marker { display:none; }
  .compact-index summary::before { content:""; width:1.1rem; height:1px; background:#555; box-shadow:0 -.25rem 0 #555,0 .25rem 0 #555; }
  .compact-index summary::after { content:""; position:absolute; inset:-10px -5px; }
  .compact-index-status { color:var(--body-copy); white-space:nowrap; font-variant-numeric:tabular-nums; }
  .compact-index-list { position:absolute; left:0; top:calc(100% + .8rem); display:block; width:min(28rem,calc(100vw - 4rem)); max-height:calc(100vh - 9rem); overflow:auto; overscroll-behavior:contain; padding:.8rem 1.1rem 1rem; background:white; border:1px solid var(--results-border); }
  .compact-index-list a { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:.35rem; padding:.65rem 0; color:var(--body-copy); font-size:1rem; line-height:1.4; min-height:44px; }
  .compact-index-list a + a { border-top:1px solid var(--line); }
  .compact-index-list a:hover,.compact-index-list a[aria-current="location"] { color:#202223; opacity:1; }
  .compact-index-list a::after { inset:.2rem 0; }
  .compact-index-list .index-number { color:inherit; }
}
@media (max-width:1250px) { .hero { height:80vw; } }
@media (max-width:1000px) {
  .chapter p { font-size:1.33333rem; }
  .hero-next { display:none; }
}
@media (max-width:833px) {
  .site-header,.subnav { padding-left:2rem; padding-right:2rem; }
  .hero { height:80vh; }
  .hero-title-wrap { padding-left:2.32rem; padding-right:2.32rem; }
  h1 { font-size:3rem; }
  .hero-parallax img { width:210%; max-width:none; margin-left:-55%; }
  .reading-column { width:100%; padding:0 2.32rem; }
  .site-footer { padding-left:2.32rem; padding-right:2.32rem; }
}
@media (max-width:639px) {
  body { font-size:1.33333rem; }
  .wordmark { width:15.1875rem; height:2.4375rem; gap:1.1rem; }
  .subnav { top:5.375rem; }
  .compact-index { font-size:1.08333rem; }
  .compact-index-list a { font-size:1.33333rem; }
  .search { margin-left:.8rem; }
  .search label { display:none; }
  .search input:focus,.search input:not(:placeholder-shown) { width:calc(100vw - 4rem); font-size:1.5rem; background:white; }
  .search:focus-within,.search:has(input:not(:placeholder-shown)) { position:absolute; left:2rem; right:2rem; margin:0; background:white; }
  .search-results { width:calc(100vw - 4rem); }
  .search-results a { font-size:1.33333rem; }
  .search-results p { font-size:1.08333rem; }
  h1 br { display:none; }
  .hero-title-wrap p { line-height:1.88rem; }
  .chapter-menu a { font-size:3.5rem; line-height:1.4; }
}
@media (max-width:374px) { .compact-index { font-size:1rem; } .compact-index summary { gap:.5rem; } }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .hero-parallax { transform:none!important; }
  .js-motion .reveal.is-pending { visibility:visible; }
}
@media print {
  .site-header,.subnav,.chapter-menu,.manifesto-index,.hero-window,.hero-next,.image-panel,.site-footer,.skip-link { display:none!important; }
  :root { font-size:12pt; }
  main { margin:0; }
  .hero { height:auto; }
  .hero-title-wrap { position:static; padding:0 0 24pt; }
  h1 { font-size:32pt; }
  .post-content,.reading-column { padding:0; width:100%; }
  .chapter p { font-size:11pt; color:black; }
  .chapter h2,.chapter h3 { font-size:18pt; color:black; break-after:avoid; }
}
