
:root{--bg:#0E0C0B;--bg-2:#171412;--bg-3:#221E1B;--ink:#F5EFE6;--ink-2:#C9BFB2;--ink-3:#8E8478;--line:#2E2925;--acc:#F2C94C;--acc-2:#E0B33A;--display:"Anton","Arial Narrow",Impact,sans-serif;--sans:"Work Sans",system-ui,Segoe UI,Arial,sans-serif;--max:1240px;--gut:clamp(16px,4vw,48px)}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:var(--bg);padding:8px 12px}.skip:focus{left:8px;z-index:9}
h1,h2,.shout,.shout-sm,.row-title,.shelf-t,.ev-title,.vid-t{font-family:var(--display);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:.95}
.top{display:flex;align-items:center;justify-content:space-between;padding:18px var(--gut);border-bottom:1px solid var(--line);max-width:var(--max);margin:0 auto}
.brand{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.top nav{display:flex;flex-wrap:wrap;gap:clamp(12px,2.6vw,30px);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.top nav a{padding:6px 0;border-bottom:2px solid transparent;transition:border-color .18s ease-out}
@media(hover:hover){.top nav a:hover{border-bottom-color:var(--acc)}}
main{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);font-weight:600;margin-bottom:14px}
.banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:18px 0 0;padding:12px 16px;background:var(--bg-2);border:1px solid var(--line);font-size:14px;color:var(--ink-2);transition:border-color .18s ease-out}
.banner-k{font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--acc)}
.banner-go{margin-left:auto;font-weight:600;border-bottom:1px solid var(--acc);padding-bottom:1px}
@media(hover:hover){.banner:hover{border-color:var(--acc)}}
.hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,30vw,440px);gap:clamp(24px,4vw,56px);align-items:stretch;padding:44px 0 34px}
.shout{font-size:clamp(84px,16vw,216px);line-height:.84;display:flex;flex-direction:column}
.shout span:last-child{color:var(--acc)}
.lede{font-size:clamp(20px,2.2vw,26px);line-height:1.35;color:var(--ink-2);max-width:34ch;margin:26px 0 0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--acc);color:var(--bg);padding:14px 22px;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--acc);border-radius:0;transition:background-color .18s ease-out,transform .12s ease-out;cursor:pointer;font-family:var(--sans)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink-3)}
@media(hover:hover){.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}}
.btn:active{transform:translateY(1px) scale(.99)}
.hero-photo{margin:0;display:flex;flex-direction:column}.hero-photo img{width:100%;flex:1;min-height:0;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}
figcaption{font-size:12px;color:var(--ink-3);margin-top:8px;letter-spacing:.04em}
.marquee{overflow:hidden;border-top:1px solid var(--acc);border-bottom:1px solid var(--acc);padding:12px 0;margin:0 calc(-1 * var(--gut))}
.marquee-track{display:flex;width:max-content;animation:mq 38s linear infinite;font-family:var(--display);text-transform:uppercase;font-size:22px;letter-spacing:.08em;color:var(--acc);white-space:nowrap}
.marquee-track span{padding-right:24px}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}
.newest{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(24px,5vw,64px);align-items:center;padding:56px 0;border-bottom:1px solid var(--line)}
.cover{box-shadow:0 24px 60px rgba(0,0,0,.6)}
.cover.big{max-width:420px}.book-cover[style] .cover.big{max-width:160px}
.newest h2,.book h1{font-size:clamp(44px,6vw,92px)}
.sub{color:var(--ink-3);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin:12px 0 18px}
.newest-copy p,.book-text>p{color:var(--ink-2);max-width:58ch;margin-bottom:14px}
.rate{color:var(--ink);font-size:15px}
.stars{color:var(--acc);letter-spacing:2px;font-size:15px}
.bio{padding:56px 0;border-bottom:1px solid var(--line)}
.bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,64px);align-items:start}
.bio h2,.shelf h2,.film h2,.good h2{font-size:clamp(36px,4.6vw,64px)}
.bio-text p{color:var(--ink-2);margin-bottom:16px;max-width:62ch}
.shelf{padding:56px 0;border-bottom:1px solid var(--line)}
.shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:26px}
.more{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--acc);padding-bottom:2px}
.shelf-row{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.shelf-row a{display:block}.shelf-cover{display:block;aspect-ratio:2/3;overflow:hidden;background:var(--bg-3)}.shelf-cover img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease-out}
@media(hover:hover){.shelf-row a:hover .shelf-cover img{transform:scale(1.03)}}
.shelf-t{display:block;font-size:20px;margin-top:12px}.shelf-y{display:block;font-size:13px;color:var(--ink-3);margin-top:4px}
.press{padding:56px 0 64px}
.press blockquote p,.press-q p{font-size:clamp(22px,2.6vw,32px);line-height:1.3;max-width:30ch;color:var(--ink)}
.press blockquote p::before,.press-q p::before{content:"\201C";color:var(--acc)}
blockquote cite{display:block;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:14px}
.press-q cite a{border-bottom:1px solid var(--acc)}
.page-head{padding:44px 0 28px;border-bottom:1px solid var(--line)}
.shout-sm{font-size:clamp(48px,8vw,120px);line-height:.9;margin-bottom:18px}
.page-head .lede{margin-top:0}
.book-rows{list-style:none;padding:10px 0 40px}
.book-rows li a{display:grid;grid-template-columns:96px 1fr auto;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.row-cover{display:block;aspect-ratio:2/3;overflow:hidden;background:var(--bg-3)}.row-cover img{width:100%;height:100%;object-fit:cover}
.row-n{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-weight:600}
.row-title{display:block;font-size:clamp(24px,3vw,40px);margin-top:4px}.row-sub{display:block;font-size:14px;color:var(--ink-3);margin-top:6px}
.row-go{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--acc);padding-bottom:2px}
.book{padding:28px 0 56px}
.crumbs{font-size:13px;color:var(--ink-3);margin-bottom:22px}.crumbs a{border-bottom:1px solid var(--line)}
.book-grid{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:clamp(24px,5vw,64px);align-items:start}
.h-small{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-top:30px;color:var(--acc);line-height:1.4}
.rv-list{list-style:none;margin-top:10px}.rv-list li{padding:12px 0;border-bottom:1px solid var(--line)}
.rv-title{display:block;font-size:19px;font-weight:500}.rv-meta{display:block;font-size:13px;color:var(--ink-3);margin-top:4px}
.rv-note{font-size:12px;color:var(--ink-3);margin-top:10px}
.press-q{margin-top:12px}
.pager{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--display);text-transform:uppercase;font-size:18px;letter-spacing:.04em}
.pager a{border-bottom:1px solid transparent;transition:border-color .18s ease-out}@media(hover:hover){.pager a:hover{border-bottom-color:var(--acc)}}
.film,.events,.contact{padding:34px 0 64px}
.film p{color:var(--ink-2);max-width:62ch;margin:12px 0 22px}
.h-gap{margin-top:34px}
.vid-list{list-style:none;margin:10px 0 10px}.vid-list li a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}.vid-t{display:block;font-size:22px}.vid-m{display:block;font-size:13px;color:var(--ink-3);margin-top:4px}
.stage-list{list-style:none;margin-top:12px}.stage-list li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}.stage-list strong{color:var(--ink)}
.ph-banner{background:var(--bg-2);border:1px dashed var(--acc);padding:16px 20px;color:var(--ink-2);margin:10px 0 22px}
.event-list{list-style:none}
.event{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.ev-date{font-family:var(--display);font-size:22px;text-transform:uppercase}.ev-title{display:block;font-size:24px}.ev-where{display:block;font-size:14px;color:var(--ink-3);margin-top:4px}.ev-link{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--acc);padding-bottom:2px}
.event.ph .ev-date,.event.ph .ev-title,.event.ph .ev-where{color:var(--ink-3)}
.form{max-width:620px;display:grid;gap:18px}
.form label{display:grid;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.form input,.form select,.form textarea{font:16px/1.4 var(--sans);padding:12px 14px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);border-radius:0;transition:border-color .18s ease-out}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--acc)}
.form .bad{border-color:#E06C5B;background:#201412}
.form-note{font-size:13px;color:var(--ink-3)}.form-done{background:var(--bg-2);padding:14px 16px;border-left:3px solid var(--acc);color:var(--ink-2)}
.ba{display:grid;grid-template-columns:1fr 1fr;margin:34px 0;border:1px solid var(--ink-3)}
.ba-col{padding:30px 32px}.ba-col.before{border-right:1px solid var(--ink-3);background:var(--bg-2)}
.ba-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink-3);margin-bottom:12px}.after .ba-label{color:var(--acc)}
.ba-col h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:14px}.ba-col p{color:var(--ink-2);margin-bottom:10px;max-width:46ch}
.findings{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:10px 0 30px;border-bottom:1px solid var(--line)}
.find h2{font-size:28px;margin-bottom:12px}.find-list{padding-left:22px;color:var(--ink-2)}.find-list li{margin-bottom:8px}
.good{padding:34px 0 60px}
.fix-list{list-style:none;margin-top:16px}.fix-list li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.fix-list .n{width:32px;height:32px;background:var(--acc);color:var(--bg);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.fix-list a{border-bottom:1px solid var(--acc)}
.signed{margin-top:26px;font-size:14px;color:var(--ink-3)}
.foot{border-top:1px solid var(--line);margin-top:20px;background:var(--bg-2)}
.foot-grid{max-width:var(--max);margin:0 auto;padding:40px var(--gut) 20px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;font-size:15px;color:var(--ink-2)}
.foot-name{font-family:var(--display);font-size:24px;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.foot-h{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:10px}
.foot-grid a{display:block;padding:3px 0;border-bottom:1px solid transparent;width:max-content;transition:border-color .18s ease-out}@media(hover:hover){.foot-grid a:hover{border-bottom-color:var(--acc)}}
.foot-small{max-width:var(--max);margin:0 auto;padding:10px var(--gut) 36px;font-size:12px;color:var(--ink-3);line-height:1.5}
/* motion (Varun 'animate both', 21 Oct 2026): only under html.js-motion, which the script adds when motion is allowed; static otherwise */
.js-motion .hero-copy .shout span{opacity:0}
.js-motion .hero-copy.in .shout span{animation:slam .55s cubic-bezier(.2,.9,.3,1) both;transform-origin:left center}
.js-motion .hero-copy.in .shout span:last-child{animation-delay:.24s}
@keyframes slam{from{opacity:0;transform:scale(1.22) translateY(-.06em)}55%{opacity:1;transform:scale(.985)}to{opacity:1;transform:none}}
.js-motion .hero-copy .eyebrow,.js-motion .hero-copy .lede,.js-motion .hero-copy .actions{opacity:0}
.js-motion .hero-copy.in .eyebrow,.js-motion .hero-copy.in .lede,.js-motion .hero-copy.in .actions{animation:up .6s ease-out both;animation-delay:.55s}
.js-motion .hero-copy.in .lede{animation-delay:.65s}.js-motion .hero-copy.in .actions{animation-delay:.75s}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.js-motion .hero-photo img{animation:frame .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:.1s}
@keyframes frame{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.js-motion [data-reveal]>h2,.js-motion [data-reveal] .shelf-head h2,.js-motion [data-reveal] .newest-copy h2,.js-motion [data-reveal] .bio-grid h2,.js-motion [data-reveal].page-head h1{clip-path:inset(-.5em calc((1 - var(--p,1)) * 101%) -.5em -.1em)}
.js-motion [data-reveal] .eyebrow,.js-motion [data-reveal].page-head .lede{opacity:var(--p,1)}
.js-motion .shelf-row li,.js-motion .newest-cover{opacity:0;transform:translateY(36px) rotate(-2.5deg);transform-origin:50% 100%}
.js-motion .shelf-row li.in,.js-motion .newest-cover.in{animation:rise .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 90ms)}
@keyframes rise{from{opacity:0;transform:translateY(36px) rotate(-2.5deg)}to{opacity:1;transform:none}}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-smooth{scroll-behavior:auto!important}
@media(max-width:900px){
 .hero,.newest,.bio-grid,.book-grid,.ba,.findings{grid-template-columns:1fr}
 .hero{align-items:start}.hero-photo{order:-1;max-width:420px}.hero-photo img{aspect-ratio:4/5;max-height:44svh;object-position:50% 10%}
 .shelf-row{grid-template-columns:repeat(3,1fr)}
 .ba-col.before{border-right:0;border-bottom:1px solid var(--ink-3)}
 .foot-grid{grid-template-columns:1fr}
 .cover.big{max-width:320px}
}
@media(max-width:600px){
 .top{flex-direction:column;gap:10px;align-items:flex-start}
 .shelf-row{grid-template-columns:repeat(2,1fr)}
 .book-rows li a{grid-template-columns:64px 1fr;gap:14px}.row-go{display:none}
 .event{grid-template-columns:1fr;gap:6px}
 .pager{flex-direction:column}
 .shout{font-size:clamp(72px,24vw,110px)}
 .banner{flex-wrap:nowrap;padding:10px 14px}.banner>span:nth-child(2){display:none}.hero{padding-top:28px}
}
