@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/instrument-serif.ttf') format('truetype');font-weight:400;font-display:swap}
:root {
  color-scheme:dark;
  --ground:#080808;
  --ink:#f4f2ee;
  --prose:#c5c3c0;
  --muted:#a5a3a0;
  --red:#ff493f;
  --line:#30302e;
  --gutter:clamp(24px,3.5vw,64px);
  --page-width:1600px;
  --rail-width:240px;
  --reading-gap:clamp(48px,6vw,96px);
  --section-gap:clamp(80px,8vw,128px);
  --image-title-gap:clamp(28px,3vw,48px);
  --title-copy-gap:32px;
  --paragraph-gap:1.2em;
  font-family:Archivo,sans-serif;
  color:var(--ink);
  background:var(--ground);
  scroll-behavior:smooth;
  scrollbar-color:#696561 var(--ground);
}
*{box-sizing:border-box}
body{margin:0;min-width:0}
a{color:inherit;text-decoration:none;text-underline-offset:.22em}
a:hover{text-decoration:underline}
a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}
::selection{background:var(--red);color:var(--ground)}
svg{width:22px;height:22px;flex-shrink:0}
svg:not(.brand svg){fill:none;stroke:currentColor;stroke-width:1.5}
.skip{position:fixed;top:12px;left:12px;padding:16px;background:var(--ink);color:var(--ground);z-index:100;transform:translateY(-200%)}
.skip:focus{transform:none}
.masthead,.opening,.reading-layout,footer{width:100%;max-width:var(--page-width);margin-inline:auto;padding-inline:var(--gutter)}
.masthead{display:flex;align-items:center;justify-content:space-between;padding-block:24px;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:-.025em;min-height:44px}
.brand svg{width:30px;height:30px}
.start{display:flex;align-items:center;gap:16px;color:var(--red);font-size:16px;min-height:44px}
.opening{padding-top:8px;padding-bottom:var(--section-gap)}
.photo{margin:0;min-width:0;background:#111}
.photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.opening-photo{overflow:hidden}
.opening-photo img{max-height:50vh;object-position:center 45%;animation:open-image 1.1s cubic-bezier(.16,1,.3,1) both}
.title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:end;gap:48px;padding-top:var(--image-title-gap)}
h1{min-width:0;font:400 clamp(48px,6.7vw,96px)/1.04 'Instrument Serif',serif;letter-spacing:-.035em;margin:0;text-wrap:balance;overflow-wrap:break-word}
.title-row p{font-size:clamp(20px,2.1vw,28px);line-height:1.25;color:var(--muted);margin:0 0 4px;max-width:14ch;letter-spacing:-.025em}
.reading-layout{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);gap:var(--reading-gap)}
.contents{align-self:start;position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:8px}
.contents summary{list-style:none;display:flex;justify-content:space-between;gap:12px;color:var(--ink);font-size:14px;line-height:1.5;padding:0 0 20px;border-bottom:1px solid var(--line)}
.contents summary::-webkit-details-marker{display:none}
.contents summary span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.contents nav{display:grid;padding-top:12px;gap:4px}
.contents nav a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:baseline;padding:10px 0;font-size:14px;line-height:1.4;color:var(--muted);transition:color .18s;min-height:44px}
.contents nav a span:first-child{font-variant-numeric:tabular-nums}
.contents nav a[aria-current]{color:var(--red)}
.contents nav a:hover{color:var(--ink)}
article{min-width:0}
.manifesto-preamble{margin-bottom:var(--section-gap)}
.chapter{padding:0 0 var(--section-gap);scroll-margin-top:32px}
.chapter>.photo{margin-bottom:var(--image-title-gap)}
.chapter h2{font-size:clamp(34px,4.2vw,60px);line-height:1.08;font-weight:500;letter-spacing:-.035em;text-wrap:balance;margin:0 0 var(--title-copy-gap);max-width:24ch;color:var(--red);overflow-wrap:break-word;scroll-margin-top:32px}
.chapter h2:focus{outline:none}
.prose{max-width:70ch;font-size:20px;line-height:1.6;letter-spacing:-.012em;color:var(--prose)}
.prose p{margin:0 0 var(--paragraph-gap)}
.prose p:last-child{margin-bottom:0}
.prose h3{color:var(--red);font-size:27px;font-weight:600;line-height:1.25;letter-spacing:-.025em;margin:48px 0 20px}
.prose strong{color:var(--red);font-weight:600}
.prose ul,.prose ol{padding-left:1.5em;margin:0 0 var(--paragraph-gap)}
.prose li{color:var(--red);padding-left:.3em;margin-bottom:var(--paragraph-gap)}
.prose li::marker{color:var(--red);font-weight:600}
footer{padding-block:64px 80px;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative}
footer:before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}
footer>a:last-child{display:flex;align-items:center;gap:16px;font-size:15px;min-height:44px}
.closing-brand{font:400 clamp(48px,7vw,96px)/1.08 'Instrument Serif',serif;letter-spacing:-.03em}
.closing-brand span{color:var(--red)}
@keyframes open-image{from{clip-path:inset(0 0 7% 0)}to{clip-path:inset(0)}}
@media(max-width:1100px){
  :root{--rail-width:200px;--reading-gap:40px}
  .contents nav a{font-size:13px}
  .contents summary{flex-direction:column;gap:4px}
  .title-row{grid-template-columns:minmax(0,1fr);gap:24px}
  .title-row p{max-width:none}
  .prose{font-size:18px}
  .chapter h2{font-size:40px}
}
@media(max-width:800px){
  :root{--section-gap:80px;--image-title-gap:28px;--title-copy-gap:24px}
  .masthead{padding-block:16px;gap:16px}
  .brand{font-size:18px;gap:8px}
  .brand svg{width:25px;height:25px}
  .start{font-size:14px;gap:8px}
  .opening{padding-top:8px;padding-bottom:64px}
  .opening-photo img{height:auto;max-height:none}
  .title-row{gap:24px}
  h1{font-size:clamp(44px,8vw,64px)}
  .title-row p{font-size:20px}
  .reading-layout{display:block}
  .contents{position:sticky;top:0;z-index:20;max-height:none;overflow:visible;overscroll-behavior:auto;margin:0 calc(-1 * var(--gutter)) 40px;padding:0 var(--gutter);background:var(--ground);border-bottom:1px solid var(--line)}
  .contents summary{flex-direction:row;align-items:center;padding:16px 0;border:0;cursor:pointer;font-size:14px;min-height:60px}
  .contents summary:after{content:'+';color:var(--red);font-size:20px;line-height:20px}
  .contents summary span{margin-left:auto}
  .contents details[open] summary:after{content:'−'}
  .contents nav{max-height:calc(75dvh - 60px);overflow:auto;padding:0 0 16px;overscroll-behavior:contain}
  .contents nav a{font-size:14px;padding:10px 0}
  .chapter,.chapter h2{scroll-margin-top:84px}
  .chapter h2{font-size:clamp(32px,5.4vw,40px)}
  .prose{font-size:18px;line-height:1.6}
  .prose h3{font-size:25px;margin-top:40px}
  footer{display:block;padding-block:40px 56px}
  .closing-brand{font-size:56px}
  footer>a:last-child{margin-top:24px}
}
@media(max-width:360px){.start{font-size:13px}.brand{font-size:16px}.start svg{width:18px}.masthead{gap:8px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{
  :root{background:white;color:black}
  .masthead,.contents,.photo,.skip{display:none!important}
  .opening{padding:0 0 30px}
  .reading-layout{display:block;padding:0}
  .chapter{padding-bottom:25px}
  .chapter h2{font-size:24px;color:black}
  .prose{color:black;font-size:12px}
  .prose h3{color:black;font-size:17px}
  .prose strong,.prose li,.prose li::marker{color:black}
  footer{display:none}
}
