@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/courierprime-normal-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/courierprime-normal-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/oswald-normal-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/oswald-normal-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/oswald-normal-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/sourceserif4-italic-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/sourceserif4-normal-4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/sourceserif4-normal-4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* CharlesManson.com: the case file */
:root{--g:#0e0f11;--g2:#16171a;--g3:#202126;--ink:#ebe5d8;--ink2:#d4c9b3;--acc:#c62a1f;--acc-h:#de3324;--paper:#f2e9d6;--pink:#1d1915;--line:rgba(235,229,216,.16);--amber:#e9892b;
--head:"Oswald","Arial Narrow",Arial,sans-serif;--body:"Source Serif 4",Georgia,serif;--mono:"Courier Prime","Courier New",monospace;--gut:clamp(18px,3.6vw,56px);--max:1480px}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--g);color:var(--ink);-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;font:400 18px/1.65 var(--body);overflow-x:clip;background:var(--g)}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--g);padding:10px 14px;z-index:99}
.skip:focus{left:12px;top:12px}
h1,h2,h3{text-wrap:balance}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(14,15,17,.96);border-bottom:1px solid var(--line)}
@supports (backdrop-filter:blur(4px)){header.site{background:rgba(14,15,17,.86);backdrop-filter:blur(8px)}}
.bar{display:flex;align-items:center;gap:20px;max-width:var(--max);margin:0 auto;padding:0 var(--gut);height:64px}
.mark{font:500 15px/1 var(--head);letter-spacing:.26em;text-decoration:none;white-space:nowrap}
.mark span{font-weight:400}
nav.primary{margin-left:12px}
nav.primary>ul{display:flex;list-style:none;margin:0;padding:0}
.top{display:flex;align-items:center}
.tl{display:block;padding:21px 12px;font:500 16px/22px var(--head);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.tl:hover,.top:focus-within .tl,.top.open .tl{color:#fff}
.top[aria-current] .tl{color:#fff;text-decoration:underline;text-decoration-color:var(--ink);text-underline-offset:8px;text-decoration-thickness:1px}
.exp{display:none}
.mega{position:absolute;left:0;right:0;top:64px;background:var(--g2);border-bottom:1px solid var(--line);display:none;padding:30px 0 36px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.top:hover .mega,.top:focus-within .mega,.top.open .mega{display:block}
.mega-in{max-width:var(--max);margin:0 auto;padding:0 var(--gut);display:flex;flex-wrap:wrap;gap:24px 56px}
.mega .grp{font:500 15px/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}
.mega .grp a{text-decoration:none}
.mega ul{list-style:none;margin:0;padding:0}
.mega ul.long{columns:2 190px;column-gap:40px}
.mega li a{display:block;padding:4px 0;font-size:16px;line-height:1.35;text-decoration:none;break-inside:avoid}
.mega li a:hover,.mega .grp a:hover{color:#fff;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}
.tools{margin-left:auto;display:flex;align-items:center;gap:18px}
.srch{display:block;padding:8px;margin:-8px}
.srch svg,.search button svg{width:20px;height:20px;display:block}
.novel{font:500 14px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;background:var(--acc);color:#fff;padding:11px 16px;white-space:nowrap;transition:background .2s}
.novel em{font:italic 400 17px/1 var(--body);letter-spacing:0;text-transform:none}
.novel:hover{background:var(--acc-h);color:#fff}
.burger{display:none;background:none;border:0;color:inherit;width:44px;height:44px;margin-right:-10px;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .25s}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.drawer{position:fixed;inset:64px 0 0;z-index:49;background:var(--g);overflow-y:auto;overscroll-behavior:contain}
.drawer-in{padding:20px var(--gut) 60px;max-width:640px;margin:0 auto}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;cursor:pointer;padding:16px 0;font:500 22px/1.2 var(--head);letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";font:300 26px/1 var(--head)}
.drawer details[open] summary::after{content:"\2212"}
.drawer .dd{padding:0 0 18px}
.drawer .dd ul{list-style:none;margin:0 0 8px;padding:0;columns:2 150px;column-gap:20px}
.drawer .dd li a,.drawer .all{display:block;padding:7px 0;text-decoration:none;font-size:17px;line-height:1.3;break-inside:avoid}
.drawer .all{font-weight:600}
.drawer .grp{font:500 15px/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase;margin:12px 0 4px}
.drawer .dl{display:block;padding:16px 0;border-bottom:1px solid var(--line);font:500 22px/1.2 var(--head);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.drawer .dl em{font:italic 400 24px var(--body);letter-spacing:0;text-transform:none}
.drawer .search{margin:4px 0 14px}
body.noscroll{overflow:hidden}

/* search fields */
form.search{position:relative;display:flex;max-width:560px}
form.search input{flex:1;min-width:0;font:400 18px/1.3 var(--body);color:var(--ink);background:var(--g2);border:1px solid var(--line);border-radius:0;padding:15px 56px 15px 18px;-webkit-appearance:none;appearance:none}
form.search input::placeholder{color:var(--ink2);opacity:1}
form.search input:focus{outline:none;border-color:var(--ink)}
form.search button{position:absolute;right:0;top:0;bottom:0;width:54px;background:none;border:0;color:var(--ink);cursor:pointer;display:grid;place-items:center}
form.search.mini input{font-size:16px;padding:12px 48px 12px 14px}

/* shared type */
.kind{display:block;font:italic 400 18px/1.4 var(--body);margin:0 0 8px}
.lede{font-size:21px;line-height:1.55;max-width:36em;margin:18px 0 0}
.btn{display:inline-block;background:var(--acc);color:#fff;font:500 14px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;padding:15px 22px;text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--acc-h)}
.btn.amber{background:var(--amber);color:#170d05}
.btn.amber:hover{background:#f39a40}
.alt{font:500 14px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;white-space:nowrap}
.alt:hover{color:#fff}
.more{display:inline-block;margin-top:22px;font:500 14px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:7px;text-decoration-thickness:1px}
.more:hover{color:#fff}
section>.wrap>h2,.shelf-head h2,.kids h2,.dk-head h2{font:500 clamp(26px,2.6vw,34px)/1.1 var(--head);letter-spacing:.06em;text-transform:uppercase;margin:0 0 26px}

/* home */
.hero{position:relative;z-index:2;min-height:min(80vh,760px);display:flex;align-items:center;background:var(--g)}
.hero-photo{position:absolute;top:0;right:0;bottom:0;width:min(60%,860px);overflow:hidden}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:grayscale(1) contrast(1.08)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--g) 0%,rgba(14,15,17,.75) 22%,rgba(14,15,17,.15) 55%,rgba(14,15,17,0) 100%),linear-gradient(0deg,var(--g) 0%,rgba(14,15,17,0) 22%)}
.hero-in{position:relative;z-index:1;width:100%;padding-top:72px;padding-bottom:72px}
.hero-copy{max-width:660px}
.hero h1{font:600 clamp(44px,6vw,88px)/.98 var(--head);text-transform:uppercase;letter-spacing:.005em;margin:0}
.hero .lede{color:var(--ink2)}
.hero form.search{margin-top:30px}
.secs{padding:72px 0 24px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.tiles a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(300px,26vw,400px);padding:24px;text-decoration:none;overflow:hidden;background:var(--g2)}
.tph{position:absolute;inset:0}
.tph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.58);transition:transform .6s,filter .6s}
.tph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,15,17,.94) 0%,rgba(14,15,17,.45) 55%,rgba(14,15,17,.1) 100%)}
.tiles a:hover .tph img{transform:scale(1.04);filter:grayscale(1) contrast(1.1) brightness(.75)}
.tt,.tb{position:relative}
.tt{font:600 clamp(28px,2.8vw,40px)/1 var(--head);text-transform:uppercase;letter-spacing:.04em}
.tb{font-size:17px;line-height:1.4;margin-top:8px;max-width:22em}
.start{padding:56px 0 72px}
.start .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.start .ph{aspect-ratio:auto;height:clamp(170px,15vw,250px)}
.start .cards>li:first-child{grid-column:span 2}
.start .cards>li:first-child .ph img{object-position:center 55%}
.footage .cards.wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.footage{padding:64px 0 80px}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:26px 18px;list-style:none;margin:0;padding:0}
.cards.wide{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.prose .cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:1.2em 0 2em;padding:0}
.cards a{display:block;text-decoration:none}
.ph{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--g3)}
.ph.vid16{aspect-ratio:16/9}
.ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(1) brightness(.88);transition:filter .4s,transform .5s}
.cards a:hover .ph img{filter:grayscale(.2) brightness(1);transform:scale(1.03)}
.ph.none{display:flex;align-items:flex-end;background:var(--paper);color:var(--pink);padding:16px}
.noimg{font:700 16px/1.3 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nm{display:block;margin-top:11px;font:500 17px/1.25 var(--head);letter-spacing:.03em}
.cards a:hover .nm{color:#fff;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}

/* the novel band */
.riseband{position:relative;overflow:hidden;background:#0d0805;padding:96px 0}
.rb-plate{position:absolute;inset:-50px;background:url(../media/rise-wall.jpg) 70% 40%/cover no-repeat;filter:blur(14px) saturate(1.15);opacity:.55}
.riseband::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,8,5,.2) 0%,rgba(13,8,5,.75) 40%,rgba(13,8,5,.55) 100%);pointer-events:none}
.rb-in{z-index:1}
.rb-in{position:relative;display:grid;grid-template-columns:auto minmax(0,640px);gap:72px;align-items:center;justify-content:center}
.rb-cover img{display:block;width:240px;box-shadow:0 30px 70px rgba(0,0,0,.75),0 0 90px rgba(233,137,43,.16);transform:rotate(-2deg);transition:transform .4s}
.rb-cover:hover img{transform:rotate(0) translateY(-4px)}
.rb-copy h2{font:600 clamp(30px,3.4vw,48px)/1.06 var(--head);text-transform:uppercase;letter-spacing:.01em;margin:0 0 18px}
.rb-copy p{font-size:19px;max-width:32em;margin:0 0 14px}
.rb-copy .rb-by{font-size:18px}
.rb-act{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:26px!important}
.riseband .btn{background:var(--amber);color:#170d05}
.riseband .btn:hover{background:#f39a40}

/* books */
.shelf,.homelib{background:var(--g2);padding:64px 0 60px}
.shelf-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin-bottom:8px}
.shelf-head h2{margin:0}
.ctx{font-style:italic;font-size:19px;margin:0;color:var(--ink2)}
.books{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px}
.homelib .books{grid-template-columns:repeat(6,minmax(0,1fr))}
.books.all{grid-template-columns:repeat(5,minmax(0,1fr))}
.books.feat{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.book{display:flex;flex-direction:column}
.book .bmeta{flex:1}
.book .buy{margin-top:auto;padding-top:14px}
.obj{display:flex;align-items:flex-end;height:250px;perspective:900px}
.cover{display:block;max-height:250px;width:auto;max-width:100%;border-radius:2px 4px 4px 2px;box-shadow:0 22px 34px rgba(0,0,0,.6),0 2px 4px rgba(0,0,0,.4);transform:rotateY(-10deg);transform-origin:left center;transition:transform .45s}
.book:hover .cover{transform:rotateY(0)}
.is-novel .cover{box-shadow:0 22px 40px rgba(0,0,0,.6),0 0 60px rgba(233,137,43,.22)}
.cover.blank{display:flex;flex-direction:column;justify-content:space-between;width:166px;height:250px;background:var(--paper);color:var(--pink);padding:20px 16px}
.cover.blank .bt{font:600 22px/1.05 var(--head);text-transform:uppercase}
.cover.blank .ba{font:400 14px/1.3 var(--mono)}
.bmeta{display:flex;flex-direction:column;margin-top:18px}
.bmeta .kind{margin-bottom:6px}
.btitle{font-style:italic;font-size:19px;line-height:1.25;text-decoration:none}
a.btitle:hover{text-decoration:underline}
.bauth{font:400 16px/1.35 var(--body);margin-top:4px}
.blurb{font-size:17px;line-height:1.5;margin:12px 0 0}
.buy{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:14px}
.buy .btn{padding:10px 14px;font-size:13px;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.buy .btn:hover{background:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);color:#fff}
.buy .alt{font-size:13px}
.disclose{font-size:14px;line-height:1.5;color:var(--ink2);margin:30px 0 0}
.libfeat{padding:64px 0 24px}
.libshelf{padding:48px 0 72px}
.lib .riseband{margin-top:0}

/* file pages */
.fhead{padding:46px 0 30px;border-bottom:1px solid var(--line)}
.crumbs{display:flex;flex-wrap:wrap;gap:4px 10px;font:500 15px/1.4 var(--head);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.fhead h1{font:500 clamp(34px,4.4vw,60px)/1.06 var(--head);letter-spacing:.005em;margin:0;max-width:20em}
.epigraph{font-style:italic;font-size:clamp(20px,2vw,25px);line-height:1.42;margin:16px 0 0;max-width:36em;color:var(--ink2)}
.fgrid2{display:grid;grid-template-columns:minmax(0,780px) 300px;gap:72px;justify-content:space-between;padding-top:42px;padding-bottom:64px}
.fgrid2.no-rail{grid-template-columns:minmax(0,800px);justify-content:center}
.prose{min-width:0;display:flow-root}
.prose p{margin:0 0 1.1em}
.prose h2{font:500 30px/1.15 var(--head);letter-spacing:.01em;margin:1.7em 0 .6em}
.prose h3{font:500 23px/1.22 var(--head);letter-spacing:.01em;margin:1.6em 0 .55em}
.prose h4{font:500 20px/1.25 var(--head);letter-spacing:.01em;margin:1.5em 0 .5em}
.prose>:first-child{margin-top:0}
.prose a{text-decoration-color:currentColor;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:#fff}
.prose strong{font-weight:600}
.prose blockquote{margin:1.5em 0 1.5em 1.4em;font-style:italic}
.prose blockquote cite{display:block;font:400 17px/1.4 var(--body);font-style:normal;margin-top:8px}
.prose blockquote.pull{margin:1.6em 0;clear:none}
.prose blockquote.pull p{font:italic 400 clamp(22px,2.3vw,28px)/1.38 var(--body)}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin:.25em 0}
.prose li::marker{color:var(--ink2)}
.prose hr{border:0;height:1px;background:var(--line);margin:2.4em 0;clear:both}
.prose pre{white-space:pre-wrap;font:15px/1.55 var(--mono);margin:0 0 1.2em}
.fig{margin:.3em 0 1.5em}
.fig img{display:block;height:auto}
.fig.center{clear:both;text-align:center}
.fig.center img{margin:0 auto;max-height:90vh;width:auto}
.fig.right{float:right;width:min(46%,340px);margin:.35em 0 1.2em 32px}
.fig.left{float:left;width:min(46%,340px);margin:.35em 32px 1.2em 0}
.fig.right img,.fig.left img{width:100%}
.fig figcaption{font:400 15px/1.45 var(--mono);letter-spacing:0;margin-top:9px;text-align:left;color:var(--ink2)}
.fig.center figcaption{text-align:center}
.vid{position:relative;aspect-ratio:16/9;margin:1.4em 0;background:#000;clear:both}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kids{clear:both;margin-top:40px}
.kids h2{margin-bottom:22px}
.rail{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 110px);overflow:auto;background:var(--g2);padding:22px 22px 18px}
.rail .rh{font:500 15px/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.rail .rh a{text-decoration:none}
.rail ul{list-style:none;margin:0;padding:0}
.rail li a{display:block;padding:6px 0;font-size:16px;line-height:1.3;text-decoration:none}
.rail li a:hover,.rail .rh a:hover{color:#fff;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0}
.pills a{display:block;border:1px solid var(--line);padding:10px 16px;font:500 14px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.pills a:hover{border-color:var(--ink)}

/* search results */
form.search.big{margin-top:26px}
.rcount{font:500 15px/1.4 var(--head);letter-spacing:.1em;text-transform:uppercase;margin:30px 0 8px}
.results{list-style:none;margin:0 0 80px;padding:0;max-width:820px}
.results li{padding:20px 0;border-bottom:1px solid var(--line)}
.results a{text-decoration:none}
.results .rt{display:block;font:500 23px/1.2 var(--head)}
.results a:hover .rt{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:5px}
.results .rs{display:block;font:500 14px/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px}
.results .rd{display:block;font-size:17px;line-height:1.5;margin-top:6px}

/* rise page */
.rise-hero{position:relative;min-height:calc(100svh - 64px);display:flex;align-items:center;overflow:hidden;background:#0b0705}
.rh-plate{position:absolute;inset:-60px;background:url(../media/rise-wall.jpg) center/cover;filter:blur(22px) saturate(1.2);opacity:.5;transform:scale(1.1)}
.rise-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,transparent 20%,rgba(11,7,5,.85) 80%)}
.rh-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center;padding-top:64px;padding-bottom:72px;width:100%}
.rise-hero h1{font:italic 400 clamp(96px,13vw,190px)/.9 var(--body);margin:0 0 22px;letter-spacing:-.01em}
.rh-sub{font-style:italic;font-size:clamp(20px,2vw,24px);margin:-6px 0 26px}
.rh-line{font:600 clamp(26px,3vw,40px)/1.1 var(--head);text-transform:uppercase;letter-spacing:.01em;margin:0 0 18px}
.rh-body{font-size:20px;line-height:1.6;max-width:32em;margin:0}
.rh-act{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;margin:30px 0 0}
.fmt{font-size:18px}
.rh-cover{justify-self:center}
.rh-cover img{display:block;width:min(360px,100%);box-shadow:0 40px 90px rgba(0,0,0,.75),0 0 140px rgba(233,137,43,.2);transform:rotate(-2deg)}
.rise-case{padding:72px 0 80px;background:var(--g)}
.rise-case .cards{grid-template-columns:repeat(4,minmax(0,1fr))}

/* footer */
footer.site{background:#09090a;padding:60px 0 36px;border-top:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.fmark .mark{font-size:19px}
.fmark p{margin:14px 0 18px;font-style:italic;font-size:19px}
.fh{font:500 15px/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase;margin:4px 0 12px}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li a{display:inline-block;padding:4px 0;text-decoration:none;font-size:16px}
footer.site li a:hover{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}
.legal{border-top:1px solid var(--line);margin-top:44px;padding-top:22px;font-size:14px;line-height:1.55;color:var(--ink2)}
.legal p{margin:0 0 8px}

/* responsive */
@media (max-width:1240px){
  nav.primary{display:none}
  .burger{display:block}
  .homelib .books{grid-template-columns:repeat(3,minmax(0,1fr))}
  .books.all{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1000px){
  .hero{display:block;min-height:0}
  .hero-photo{position:relative;width:100%;height:auto;aspect-ratio:4/4.2;max-height:62vh}
  .hero-photo::after{background:linear-gradient(0deg,var(--g) 0%,rgba(14,15,17,.4) 30%,rgba(14,15,17,0) 60%)}
  .hero-in{margin-top:-120px;padding-top:0;padding-bottom:56px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footage .cards.wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid2,.fgrid2.no-rail{grid-template-columns:minmax(0,1fr);gap:40px}
  .rail{position:static;max-height:none}
  .rail ul{columns:2 160px;column-gap:24px}
  .rail li a{break-inside:avoid}
  .books{grid-template-columns:repeat(2,minmax(0,1fr))}
  .books.feat{grid-template-columns:1fr}
  .books.feat .book{flex-direction:row;gap:24px}
  .books.feat .bmeta{margin-top:0}
  .rb-in{grid-template-columns:1fr;gap:36px}
  .rb-plate{opacity:.4}
  .rh-in{grid-template-columns:1fr;gap:40px}
  .rh-cover{justify-self:start}
  .fgrid{grid-template-columns:1fr 1fr}
  .fmark{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:17.5px}
  .novel{display:none}
  .hero h1{font-size:clamp(40px,11.5vw,56px)}
  .lede{font-size:19px}
  .tally span{padding:0 6px}
  .tiles{grid-template-columns:1fr;gap:12px}
  .secs{padding-top:36px}
  .tiles a{min-height:230px;padding:20px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .prose .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards.wide{grid-template-columns:1fr}
  .footage .cards.wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footage .nm{font-size:15px}
  .start .cards,.rise-case .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nm{font-size:16px}
  .fig.right,.fig.left{float:none;width:auto;margin:.3em 0 1.4em}
  .fig.right img,.fig.left img{width:auto;max-width:100%;max-height:70vh}
  .homelib .books,.books,.books.all{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}
  .obj{height:210px}
  .cover{max-height:210px}
  .cover.blank{width:140px;height:210px}
  .books.feat .book{flex-direction:column}
  .riseband{padding:64px 0}
  .rb-cover img{width:180px}
  .rise-hero h1{font-size:clamp(84px,26vw,120px)}
  .fgrid{grid-template-columns:1fr;gap:28px}
  .fhead{padding:32px 0 24px}
}


/* status of a defendant */
.st{display:block;margin-top:4px;font:italic 400 16px/1.3 var(--body);color:var(--ink2)}
.status{font:500 18px/1.3 var(--head);letter-spacing:.06em;text-transform:uppercase;margin:14px 0 0}

/* hero motion and live search */
.hero-photo img{animation:push 26s ease-out both}
@keyframes push{from{transform:scale(1.09)}to{transform:scale(1)}}
form.search .suggest{position:absolute;left:0;right:0;top:100%;z-index:20;list-style:none;margin:6px 0 0;padding:6px 0;background:var(--g2);border:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.55)}
.suggest a{display:block;padding:10px 18px;text-decoration:none}
.suggest a:hover,.suggest a.on{background:var(--g3)}
.suggest .sg-t{display:block;font:500 18px/1.25 var(--head);letter-spacing:.02em}
.suggest .sg-s{display:block;font-size:15px;color:var(--ink2);margin-top:2px}
.suggest .sg-all{font-style:italic;color:var(--ink2)}

/* the case, day by day */
.docket{padding:72px 0 64px;overflow:hidden}
.dk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.dk-head h2{margin:0}
.dk-now{font-style:italic;font-size:19px;margin:10px 0 0;color:var(--ink2)}
.dk-now a{color:var(--ink);text-decoration-color:currentColor;text-underline-offset:4px}
.dk-nav{display:flex;gap:10px}
.dk-nav button{width:48px;height:48px;display:grid;place-items:center;background:none;color:var(--ink);border:1px solid var(--line);cursor:pointer;transition:border-color .2s,background .2s}
.dk-nav button:hover{border-color:var(--ink);background:var(--g2)}
.dk-nav svg{width:22px;height:22px}
.dk-rail{position:relative}
.dk-track{--pad:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));list-style:none;margin:0;padding:0 var(--gut) 18px var(--pad);scroll-padding-left:var(--pad);display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.dk-track::-webkit-scrollbar{display:none}
.dk-track.drag{cursor:grabbing;scroll-snap-type:none}
.dk-item{flex:0 0 clamp(240px,22vw,300px);scroll-snap-align:start;position:relative;padding-top:30px}
.dk-item::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--line)}
.dk-item::after{content:"";position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;background:var(--g);box-shadow:inset 0 0 0 1.5px var(--ink2)}
.dk-item a{display:block;padding:0 28px 6px 0;text-decoration:none;user-select:none;-webkit-user-drag:none}
.dk-year{display:block;font:600 52px/1 var(--head);letter-spacing:.01em}
.dk-day{display:block;font:500 17px/1.3 var(--head);letter-spacing:.08em;text-transform:uppercase;margin-top:8px}
.dk-text{display:block;font-size:18px;line-height:1.45;margin-top:10px}
.dk-item a:hover .dk-text{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}
.dk-flag{display:none}
.dk-item.hot::after{background:#fff;box-shadow:0 0 0 6px rgba(235,229,216,.18)}
.dk-item.hot .dk-year{color:#fff}
.dk-item.hot .dk-flag{display:inline-block;margin-top:12px;font:500 14px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;background:var(--acc);color:#fff;padding:7px 10px}

/* scroll reveals */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* reading progress on long files */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--ink);z-index:60;pointer-events:none}

/* image viewer */
.prose .fig img{cursor:zoom-in}
.prose .fig a img{cursor:pointer}
.viewer{position:fixed;inset:0;z-index:90;background:rgba(8,8,9,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px 28px;cursor:zoom-out}
.viewer[hidden]{display:none}
.viewer img{max-width:min(1400px,100%);max-height:calc(100vh - 140px);width:auto;height:auto;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.viewer p{max-width:900px;margin:16px 0 0;font:400 16px/1.45 var(--mono);text-align:center;color:var(--ink2)}
.viewer button{position:absolute;top:14px;right:18px;width:46px;height:46px;background:none;border:0;color:var(--ink);font:300 34px/1 var(--head);cursor:pointer}

/* books respond to the pointer */
.cover{will-change:transform}

/* page-to-page fade */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}

@media (max-width:640px){
  .dk-head{flex-direction:column;align-items:flex-start}
  .dk-nav{display:none}
  .dk-year{font-size:44px}
  .dk-item{flex-basis:78vw}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.js .rv{opacity:1;transform:none}}

input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.fgrid2.wide{grid-template-columns:minmax(0,1fr)}
.fgrid2.wide .prose{max-width:none}
.fgrid2.wide .prose>p,.fgrid2.wide .prose>h2,.fgrid2.wide .prose>h3,.fgrid2.wide .prose>blockquote,.fgrid2.wide .prose>ul:not(.cards),.fgrid2.wide .prose>ol{max-width:860px}
.fgrid2.wide .prose .cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
