:root{--white:#fff;--paper:#f4f4f4;--ink:#151515;--soft:#666;--line:#d4d4d4;--dark:#181818;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:Manrope,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.frame{max-width:var(--max);margin:auto;padding-left:2rem;padding-right:2rem}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:99;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{max-width:var(--max);height:92px;margin:auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;border-left:1px solid var(--line);border-right:1px solid var(--line)}.wordmark{font-weight:600;letter-spacing:-.06em;font-size:1.3rem}.wordmark span{font-weight:400;color:#999;margin-left:.25rem}nav{display:flex;gap:2rem}nav a{font-size:.84rem;color:#555}.menu-button{display:none}.hero{min-height:670px;border:1px solid var(--line);display:grid;grid-template-columns:90px 1.25fr .75fr}.hero-index{padding:2.1rem 0;text-align:center;border-right:1px solid var(--line);font:12px monospace;color:#777}.hero-copy{padding:6rem 5rem}.kicker,.marker,.meta{font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;color:#707070}.hero h1,.about h2,.section-head h2,.books-head h2,.contact h2{font-size:clamp(4.2rem,7vw,7.2rem);line-height:.89;letter-spacing:-.075em;margin:0;font-weight:500}.hero h1 em,.about h2 em,.books-head h2 em,.contact h2 em{font-family:Newsreader,serif;font-weight:400}.intro{max-width:650px;color:#5e5e5e;font-size:1.08rem;margin:3rem 0}.arrow-link{display:flex;justify-content:space-between;border-top:1px solid #111;padding-top:1rem;max-width:260px;font-size:.84rem}.hero-panel{background:var(--paper);border-left:1px solid var(--line);padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.panel-top{display:flex;justify-content:space-between;text-transform:uppercase;font-size:.68rem;letter-spacing:.13em}.panel-top b{font:400 12px monospace;color:#777}.hero-panel ol{margin:0;padding:0;list-style:none}.hero-panel li{padding:1.2rem 0;border-top:1px solid #c8c8c8;font-size:.92rem}.hero-panel li span{display:inline-block;width:40px;font:12px monospace;color:#888}.section{padding-top:8rem;padding-bottom:8rem}.marker{border-top:1px solid var(--line);padding-top:1rem;display:flex;gap:2rem}.marker span{font-family:monospace;color:#999}.marker p{margin:0}.about{display:grid;grid-template-columns:1fr 3fr;gap:4rem}.about h2{font-size:clamp(3.5rem,5.5vw,5.5rem);margin:1rem 0 4rem}.text-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3.5rem;color:#606060}.text-grid p{margin:0}.text-grid .lead{font-size:1.3rem;color:#151515;line-height:1.5}.topics{padding-top:4rem}.section-head,.books-head{display:flex;justify-content:space-between;align-items:flex-end;margin:4rem 0 3rem}.section-head h2,.books-head h2{font-size:clamp(3.2rem,5vw,5rem)}.section-head>p,.books-head>p{max-width:430px;color:#666;margin:0}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.topic{min-height:390px;padding:2rem;display:flex;flex-direction:column}.topic+article{border-left:1px solid var(--line)}.topic>span{font-family:monospace;color:#888}.topic h3{font-size:1.55rem;margin:auto 0 1.4rem}.topic p{color:#686868;margin:0 0 2rem}.topic a{margin-top:auto;border-top:1px solid var(--line);padding-top:1rem;font-size:.8rem}.topic.dark,.books{background:var(--dark);color:#fff}.topic.dark p,.books-head>p,.book>div:last-child>p:last-child{color:#aaa}.topic.dark a{border-color:#555}.books-inner{padding-top:8rem;padding-bottom:8rem}.books .marker{border-color:#4d4d4d;color:#aaa}.books-head{margin-bottom:5rem}.book-list{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem}.book{display:grid;grid-template-columns:28px 145px 1fr;gap:1.1rem;align-items:start}.book-no{font:12px monospace;color:#777;margin:0}.book-cover{aspect-ratio:2/3;background:#f4f4f4;color:#111;padding:1rem;display:flex;flex-direction:column;justify-content:space-between}.book-cover span{font-size:.58rem;text-transform:uppercase;letter-spacing:.12em}.book-cover b{font:500 1.2rem/1 Newsreader,serif}.book-cover.inverse{background:#121212;color:#fff;border:1px solid #666}.book-cover.gray{background:#aaa}.book h3{font-size:1rem;line-height:1.3;margin:.4rem 0 1rem}.book>div:last-child>p:last-child{font-size:.82rem}.meta{margin:0!important;color:#777!important;font-size:.6rem!important}.timeline{margin-top:4rem}.timeline article{display:grid;grid-template-columns:160px 1fr 160px;align-items:center;border-bottom:1px solid var(--line);padding:2rem 0}.timeline article:first-child{border-top:1px solid var(--line)}.timeline b{font:400 12px monospace;color:#777}.timeline h3{margin:0 0 .5rem;font-size:1.2rem}.timeline p{margin:0;color:#676767}.timeline span{text-align:right;font-size:.75rem;color:#777}.contact{background:var(--paper);border-top:1px solid var(--line)}.contact-grid{padding-top:8rem;padding-bottom:8rem;display:grid;grid-template-columns:1fr 1fr;gap:8rem}.contact h2{font-size:clamp(3.2rem,5vw,5rem);margin:4rem 0 2rem}.contact-copy>p{color:#666}.contact-copy>a{display:inline-block;margin-top:1.5rem;border-bottom:1px solid #111}.contact-form{align-self:end}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-form label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.5rem;color:#555}.contact-form input,.contact-form textarea{display:block;width:100%;padding:.8rem 0;border:0;border-bottom:1px solid #aaa;background:transparent;outline:none;border-radius:0;text-transform:none;letter-spacing:0}.contact-form button{width:100%;border:0;background:#111;color:#fff;padding:1rem 1.2rem;display:flex;justify-content:space-between;cursor:pointer}.form-note{font-size:.72rem;color:#777}footer{height:120px;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:#666}footer div{display:flex;gap:1.5rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.hero{grid-template-columns:65px 1fr}.hero-panel{grid-column:2;border-left:0;border-top:1px solid var(--line);min-height:350px}.book-list{grid-template-columns:1fr}.book{grid-template-columns:40px 150px 1fr}.about{grid-template-columns:1fr}.text-grid{grid-template-columns:1fr 1fr}.text-grid .lead{grid-column:1/3}.contact-grid{gap:4rem}}
@media(max-width:780px){html{scroll-padding-top:80px}.site-header{height:72px;padding:0 1.15rem;border:0}.menu-button{display:flex;width:40px;height:40px;background:transparent;border:0;flex-direction:column;justify-content:center;gap:6px}.menu-button i{display:block;width:22px;border-top:1px solid #111}nav{display:none;position:absolute;z-index:20;left:1rem;right:1rem;top:66px;background:#fff;border:1px solid var(--line);padding:1.3rem;flex-direction:column;gap:1rem}nav.open{display:flex}.frame{padding-left:1.15rem;padding-right:1.15rem}.hero{grid-template-columns:1fr;border-left:0;border-right:0}.hero-index{display:none}.hero-copy{padding:4.5rem 1.15rem}.hero h1{font-size:clamp(3.7rem,17vw,6rem)}.hero-panel{grid-column:1;margin:0 1.15rem 1.15rem}.section{padding-top:6rem;padding-bottom:6rem}.about h2{margin-top:3rem}.text-grid{grid-template-columns:1fr;gap:1.2rem}.text-grid .lead{grid-column:auto}.section-head,.books-head{display:block}.section-head>p,.books-head>p{margin-top:2rem}.topic-grid{grid-template-columns:1fr}.topic{min-height:300px}.topic+article{border-left:0;border-top:1px solid var(--line)}.books-inner{padding-top:6rem;padding-bottom:6rem}.contact-grid{grid-template-columns:1fr;padding-top:6rem;padding-bottom:6rem}.timeline article{grid-template-columns:80px 1fr}.timeline span{display:none}}
@media(max-width:520px){.hero h1,.about h2,.section-head h2,.books-head h2,.contact h2{font-size:3rem}.book{grid-template-columns:25px 105px 1fr;gap:.7rem}.book h3{font-size:.88rem}.timeline article{grid-template-columns:1fr;gap:.8rem}.field-row{grid-template-columns:1fr}footer{height:auto;min-height:130px;flex-wrap:wrap;padding-top:2rem;padding-bottom:2rem}footer p{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
:where(a,button,input,textarea):focus-visible{outline:2px solid currentColor;outline-offset:4px}
