/* lizmckenna.org — tokens, layout, phone breakpoint */
:root{
  --paper:#f3f3ef; --ink:#161d1a; --mute:#4a534e;
  --leaf:#1f6b3a; --teal:#12908e; --papaya:#f0742a; --cobalt:#1d4fb3; --mango:#f2c230;
  --rule:#161d1a; --rule-soft:#d0d3cc; --link-rule:#a5d4d2; --under:#c4c8c2;
  --serif:'Source Serif 4','Source Serif Pro',Georgia,serif; --sans:'Instrument Sans',system-ui,sans-serif; --display:'Bricolage Grotesque',var(--sans);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.5}
a{color:var(--teal);text-decoration:none;border-bottom:1px solid var(--link-rule);transition:background .18s ease,color .18s ease}
a:hover{background:var(--papaya);color:var(--paper);border-bottom-color:var(--papaya)}
a:focus-visible{outline:2px solid var(--papaya);outline-offset:2px}
p{margin:0;text-wrap:pretty}
h1,h2,h3{margin:0}
img{display:block}

/* shell: sticky tile wall + main column */
.shell{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:stretch}
.wall{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;width:96px;overflow:hidden;background:var(--paper) url(assets/wall.svg?v=31) top left / 100% auto no-repeat}
.wall-m{display:none}
.main{padding:26px 88px 96px 72px;min-width:0}

/* head */
.head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;font:500 15px/1 var(--sans);position:relative}
.head nav{display:flex;gap:26px}
.head nav a{color:var(--ink);border-bottom:2px solid transparent;background:none}
.head nav a:hover{color:var(--teal);border-bottom-color:var(--teal);background:none}
.head nav a[aria-current="page"]{color:var(--papaya);border-bottom-color:var(--papaya)}
.nav-toggle{display:none;background:none;border:0;padding:8px;margin:-8px;cursor:pointer;width:36px;height:36px;flex-direction:column;justify-content:center;gap:5px}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);border-radius:1px;transition:transform .18s,opacity .18s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
.hero{display:flex;align-items:flex-end;gap:44px;padding-top:72px}
.hero .id{flex:1;min-width:0}
.hero h1{font:700 78px/.94 var(--display);letter-spacing:-.04em}
.hero .title{margin-top:18px;font:400 17px/1.5 var(--sans);color:var(--mute)}
.hero img{width:220px;height:220px;object-fit:cover;object-position:50% 30%;border-radius:50%;flex:0 0 auto}

/* bio + rail */
.two{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;padding-top:60px;align-items:start}
.bio{font-size:19px;line-height:1.55}
.bio p+p{margin-top:18px}
.rail{font:400 16px/1.6 var(--sans);color:var(--mute);display:flex;flex-direction:column;gap:22px;padding-top:8px}
.rail a{color:var(--ink);border-bottom-color:var(--under)}
.rail a:hover{color:var(--ink);border-bottom-color:transparent}
.label{font:600 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--leaf)}
.rail .label+div{margin-top:8px}

/* books */
.section-label{padding-top:80px}
.section-label.papers{padding-top:64px}
.books{margin-top:16px;display:flex;flex-direction:column}
.book{display:grid;grid-template-columns:64px 56px minmax(0,1fr);gap:24px;padding:18px 0;border-top:1px solid var(--rule-soft);font-size:19px;line-height:1.45;align-items:start}
.book:first-child{border-top-color:var(--rule)}
.book:last-child{border-bottom:1px solid var(--rule-soft)}
.book .year{color:var(--mute);font:400 16px/1.6 var(--sans)}
.book .award{color:var(--papaya)}
.jacket{width:56px;height:84px;display:block}
.jacket img{width:56px;height:84px;object-fit:cover}

/* papers */
.papers-list{margin:16px 0 0;padding:18px 0 0;border-top:1px solid var(--rule);list-style:none;display:flex;flex-direction:column;gap:18px;font-size:19px;line-height:1.5}
.papers-list li{padding-left:1.6em;text-indent:-1.6em}
.note{margin-top:26px;font:400 16px/1.6 var(--sans);color:var(--mute)}
.note a{color:var(--ink);border-bottom-color:var(--under)}

/* solid variant of the wall (kept for opt-in solid columns) */
.wall.wall-solid,.wall-m.wall-solid{background:var(--paper) !important;background-image:none !important;border-right:1px solid var(--rule-soft)}

/* sub-pages: same tile shapes, one muted accent color per section */
body.page-books .wall{background-image:url(assets/wall-books.svg?v=30)}
body.page-books .wall-m{background-image:url(assets/wall-books-m.svg?v=30)}
body.page-research .wall{background-image:url(assets/wall-research.svg?v=30)}
body.page-research .wall-m{background-image:url(assets/wall-research-m.svg?v=30)}
body.page-teaching .wall{background-image:url(assets/wall-teaching.svg?v=30)}
body.page-teaching .wall-m{background-image:url(assets/wall-teaching-m.svg?v=30)}
body.page-press .wall{background-image:url(assets/wall-press.svg?v=30)}
body.page-press .wall-m{background-image:url(assets/wall-press-m.svg?v=30)}

/* sub-page hero: page title + lede */
.page-hero{padding-top:72px;padding-bottom:32px;border-bottom:1px solid var(--rule-soft)}
.page-h1{font:700 64px/.98 var(--display);letter-spacing:-.03em}
.lede{margin-top:20px;font:400 20px/1.55 var(--serif);color:var(--ink);max-width:70ch}

/* press list: year-left grid, newest first */
.press-list{display:flex;flex-direction:column;margin-top:16px}
.press-item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:32px;padding:16px 0;border-top:1px solid var(--rule-soft);font-size:17.5px;line-height:1.55;align-items:baseline}
.press-item:first-child{border-top:1px solid var(--rule)}
.press-item:last-child{border-bottom:1px solid var(--rule-soft)}
.press-item .year{font:500 13px/1 var(--sans);letter-spacing:.06em;color:var(--mute);text-transform:uppercase}
.press-item .cite{max-width:70ch}

/* book detail rows (books.html) */
.book-row-large{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:start;padding:56px 0;border-bottom:1px solid var(--rule-soft)}
.book-row-large:last-child{border-bottom:0}
.book-row-large img{width:100%;max-width:220px;box-shadow:0 2px 24px rgba(0,0,0,.08)}
.book-title{font:400 30px/1.15 var(--serif);margin-bottom:8px}
.book-meta{font:400 15px/1.5 var(--sans);color:var(--mute);margin-bottom:14px}
.book-body{font:400 17px/1.6 var(--serif);margin-bottom:12px}
.book-body .award{color:var(--papaya)}
@media (max-width:640px){.book-row-large{grid-template-columns:1fr;gap:16px;padding:32px 0}.book-row-large img{max-width:160px}.book-row-large > a,.book-row-large > img{justify-self:center}}

/* phone */
@media (max-width:640px){
  .shell{grid-template-columns:26px minmax(0,1fr)}
  .wall{display:none}
  .wall-m{display:block;position:sticky;top:0;align-self:start;height:100vh;height:100dvh;width:26px;overflow:hidden;background:var(--paper) url(assets/wall-mobile.svg?v=31) top left / 100% auto no-repeat}
  .main{padding:22px 22px 56px 20px}
  .head{flex-direction:row;align-items:center;justify-content:space-between;gap:0}
  .nav-toggle{display:inline-flex}
  .head nav{display:none;flex-direction:column;position:absolute;right:0;top:calc(100% + 6px);background:var(--paper);border:1px solid var(--rule-soft);padding:14px 22px;gap:14px;z-index:20;box-shadow:0 6px 24px rgba(0,0,0,.06);min-width:150px;font-size:16px}
  .head nav.open{display:flex}
  .head nav a{border-bottom-width:1px}
  .hero{flex-direction:column;align-items:center;text-align:center;gap:22px;padding-top:40px}
  .hero img{order:-1;width:132px;height:132px}
  .hero h1{font-size:46px;line-height:.94}
  .two{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:30px}
  .bio,.book,.papers-list{font-size:17px}
  .book{grid-template-columns:56px minmax(0,1fr);gap:16px}
  .book .year{display:none}
}