/* mikewhitesite.com — tokens from the design handoff. Plain CSS, no build step. */
@font-face{font-family:'Archivo';src:url(../fonts/archivo-var.woff2) format('woff2');font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(../fonts/source-serif-4-var.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(../fonts/source-serif-4-italic-var.woff2) format('woff2');font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(../fonts/ibm-plex-mono-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(../fonts/ibm-plex-mono-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{
  --paper:#F1EADB;--card:#EEE4D2;--band:#DDD2BC;--ink:#171512;
  --dark:#131a19;--player:#0c1211;
  --muted:#5b554b;--muted-strong:#4a443b;--numeral:#766b53;
  --on-dark:#F1EADB;--on-dark-muted:#bdb5a4;--on-dark-soft:#d9d2c2;--teal-on-dark:#7fb3af;
  --books:#8D2C24;--screen:#B78228;--screen-text:#8a5f14;--writing:#2F6664;--audio:#2F6664;--fiction:#52667A;--network:#5b3a63;
  --font-head:'Archivo',system-ui,sans-serif;
  --font-body:'Source Serif 4',Georgia,serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --margin:60px;--gutter:24px;--container:1320px;
  --rule:2px solid var(--ink);--bar:7px;
  --accent:var(--books);--accent-text:var(--books);
}
.accent-books{--accent:var(--books);--accent-text:var(--books)}
.accent-screen{--accent:var(--screen);--accent-text:var(--screen-text)}
.accent-writing,.accent-audio{--accent:var(--writing);--accent-text:var(--writing)}
@media (max-width:1100px){:root{--margin:32px}}
@media (max-width:640px){:root{--margin:18px;--gutter:16px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--font-body)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--font-head);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.98;margin:0 0 .5em}
h1{font-size:clamp(40px,4.2vw,60px)}
h2{font-size:clamp(28px,2.6vw,40px)}
h3{font-size:22px;font-weight:800}
:focus-visible{outline:3px solid var(--writing);outline-offset:2px}
main:focus{outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;font:500 13px var(--font-mono);text-transform:uppercase;letter-spacing:.1em}
.skip-link:focus{top:12px}
.wrap{max-width:calc(var(--container) + 2*var(--margin));margin-inline:auto;padding-inline:var(--margin)}
.section{padding-block:56px}
.meta,.tag-line,.chip,.status,.btn,.filter,.crumbs,.sibs,.primary-nav a,.num,.row-kind,.row-n,.label-chip,.field label,.show-cta{font-family:var(--font-mono);text-transform:uppercase}
.meta{font-size:12px;letter-spacing:.1em;color:var(--muted);margin:0 0 .8em;line-height:1.6}
.meta a{color:var(--books)}
.meta.red,.red{color:var(--books)}
.meta.teal,.teal{color:var(--teal-on-dark)}
.meta.strong{color:var(--ink);font-weight:500}
.meta-inline{font:400 12px var(--font-mono);color:var(--muted);letter-spacing:.04em}
.muted{color:var(--muted)}
.lede{font-size:clamp(19px,1.6vw,22px);line-height:1.5}
.textlink,.linklist a,.inquire a,.page-intro a,.callout a{color:var(--books);text-underline-offset:3px}

/* header */
.site-header{background:var(--paper);border-bottom:var(--rule)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px;flex-wrap:wrap;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-wrap:wrap}
.brand-tile{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--books);color:var(--paper);border:2px solid var(--ink);transform:rotate(-3deg);font:900 13px var(--font-head);letter-spacing:-.02em}
.brand-name{font:900 28px/1 var(--font-head);text-transform:uppercase;letter-spacing:-.02em}
.brand-sub{flex-basis:100%;margin:-6px 0 0 48px;font:400 11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.primary-nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.primary-nav a{display:inline-block;padding:6px 0;font-size:12px;font-weight:500;letter-spacing:.1em;text-decoration:none;border-bottom:3px solid transparent}
.primary-nav a:hover{color:var(--books)}
.primary-nav a[aria-current=page]{border-bottom-color:var(--books)}
.primary-nav a.nav-screen[aria-current=page]{border-bottom-color:var(--screen)}
.primary-nav a.nav-writing[aria-current=page],.primary-nav a.nav-audio[aria-current=page]{border-bottom-color:var(--writing)}
.nav-toggle{display:none;background:var(--paper);border:2px solid var(--ink);padding:10px 14px;font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);cursor:pointer;min-height:44px}
@media (max-width:860px){
  .js .nav-toggle{display:inline-block}
  .primary-nav{flex-basis:100%}
  .js .primary-nav{display:none}
  .js .primary-nav.is-open{display:block}
  .primary-nav ul{flex-direction:column;gap:0;border-top:var(--rule)}
  .primary-nav li{border-bottom:1px solid var(--band)}
  .primary-nav a{display:block;padding:14px 0;font-size:13px}
}

/* you-are-here strip */
.strip{background:var(--band);border-bottom:1px solid var(--ink)}
.strip-row{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;padding-block:10px;font-size:11px}
.crumbs,.sibs{font-size:11px;letter-spacing:.1em}
.crumbs{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.crumbs .here{color:var(--books)}
.crumbs ol,.sibs ul{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;margin:0;padding:0}
.crumbs li+li::before{content:'/';margin-right:10px;color:var(--muted)}
.crumbs a,.sibs a{color:var(--muted-strong);text-decoration:none}
.crumbs a:hover,.sibs a:hover{color:var(--books);text-decoration:underline}
.crumbs [aria-current=page]{color:var(--ink)}
.sibs a[aria-current=page]{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

/* footer */
.site-footer{background:var(--ink);color:var(--on-dark);padding-block:36px 60px;margin-top:0}
.footer-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.footer-name{font:900 28px/1 var(--font-head);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 8px}
.site-footer .meta{color:var(--on-dark-muted);margin:0}
.footer-links{display:flex;gap:6px 18px;flex-wrap:wrap;list-style:none;margin:0 0 8px;padding:0;font:400 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em}
.footer-links a{color:var(--on-dark)}
.site-footer :focus-visible{outline-color:var(--teal-on-dark)}

/* chips and buttons */
.chip{display:inline-block;margin:0 0 20px;padding:6px 10px;font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.3;background:var(--books);color:var(--paper)}
.chip-teal,.chip-writing{background:var(--writing)}
.chip-screen{background:var(--screen);color:var(--ink)}
.chip-fiction{background:var(--fiction)}
.chip-network{background:var(--network)}
.btn{display:inline-block;padding:15px 22px;font-size:12px;font-weight:500;letter-spacing:.12em;text-decoration:none;border:2px solid var(--ink);line-height:1.3;cursor:pointer;margin:0 12px 10px 0}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--books);border-color:var(--books)}
.btn-outline{background:transparent;color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--paper)}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-light:hover{background:var(--band)}
.btn-outline-light{background:transparent;color:var(--paper);border-color:var(--paper)}
.btn-outline-light:hover{background:var(--paper);color:var(--ink)}
.btn-sm{padding:12px 16px;font-size:11px}
.btn-row{margin:0}
.rule-red{width:100%;height:7px;background:var(--books);margin:0 0 20px}
.rule-black{border-top:var(--rule);margin:28px 0 18px}

/* home hero */
.hero{position:relative;min-height:560px;background:#1a1410;color:var(--on-dark);overflow:hidden;display:flex;align-items:center}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,14,10,.92) 0%,rgba(19,14,10,.78) 38%,rgba(19,14,10,.15) 75%)}
.hero-inner{position:relative;padding-block:72px;width:100%}
.hero .chip{margin-bottom:24px}
.h1-hero{font-size:clamp(44px,5.4vw,78px);line-height:.95;max-width:11.5em;margin-bottom:.4em}
.lede-on-dark{font-size:clamp(19px,1.7vw,23px);max-width:28em;color:var(--on-dark)}
.hero .btn-row{margin-top:28px}
@media (max-width:760px){.hero-shade{background:linear-gradient(180deg,rgba(19,14,10,.6),rgba(19,14,10,.88))}.hero{min-height:480px}}

/* sections and grids */
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap;border-bottom:var(--rule);padding-bottom:12px;margin-bottom:28px}
.section-head h2{margin:0;font-size:clamp(32px,3.4vw,44px)}
.section-head .meta{margin:0}
.grid{display:grid;gap:var(--gutter);list-style:none;margin:0;padding:0}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}}

/* cards */
.card{background:var(--card);border:2px solid var(--ink);border-top:var(--bar) solid var(--books);position:relative}
.card.cat-books{border-top-color:var(--books)}
.card.cat-screen{border-top-color:var(--screen)}
.card.cat-writing,.card.cat-criticism{border-top-color:var(--writing)}
.card.cat-fiction{border-top-color:var(--fiction)}
.card.cat-network{border-top-color:var(--network)}
.card .tag-line{color:var(--books)}
.card.cat-screen .tag-line{color:var(--screen-text)}
.card.cat-writing .tag-line{color:var(--writing)}
.card.cat-fiction .tag-line{color:var(--fiction)}
.card.cat-network .tag-line{color:var(--network)}
.card-link{display:block;height:100%;text-decoration:none}
.card-link:hover .card-title{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px;text-decoration-color:var(--books)}
.card-link:focus-visible{outline-offset:4px}
.tag-line{font-size:11px;font-weight:400;letter-spacing:.12em;margin:0 0 10px;line-height:1.5}
.card h2,.card h3{font-size:clamp(20px,1.7vw,24px);font-weight:800;margin:0 0 .45em}
.card-text{font-size:16px;line-height:1.45;color:var(--muted-strong);margin:0 0 14px}
.status{font-size:12px;letter-spacing:.08em;color:var(--ink);margin:0;display:flex;gap:8px;align-items:baseline;line-height:1.4}
.status::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:currentColor;transform:translateY(-1px);color:var(--books)}
.cat-screen .status::before{color:var(--screen)}
.cat-writing .status::before,.cat-criticism .status::before{color:var(--writing)}
.cat-fiction .status::before{color:var(--fiction)}
.cat-network .status::before{color:var(--network)}
.card-art{aspect-ratio:4/5;background:var(--band);overflow:hidden;border-bottom:2px solid var(--ink)}
.card-art img{width:100%;height:100%;object-fit:cover}
.card-body{padding:18px 20px 20px}
.grid-4 .card-body{display:flex;flex-direction:column}
.grid-4 .card-link{display:flex;flex-direction:column}
.grid-4 .card-body .status{margin-top:auto;padding-top:10px}
.catalog-card{display:grid;grid-template-columns:98px minmax(0,1fr);gap:20px;padding:26px;min-height:100%}
.thumb{aspect-ratio:2/3;background:var(--band);border:1px solid var(--ink);overflow:hidden;align-self:start}
.thumb img{width:100%;height:100%;object-fit:cover}
.catalog-main{display:flex;flex-direction:column;position:relative;min-width:0}
.num{position:absolute;right:0;top:-6px;font:400 22px var(--font-body);color:var(--numeral);letter-spacing:0}
.catalog-main .tag-line{padding-right:36px}
.catalog-main .status{border-top:1px solid var(--ink);padding-top:12px;margin-top:auto}
.catalog-main .card-text{margin-bottom:18px}
@media (max-width:420px){.catalog-card{grid-template-columns:72px minmax(0,1fr);padding:18px;gap:14px}}
.filterbar{background:var(--band);border-block:var(--rule)}
.filters{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:18px 0}
.filter{display:inline-block;padding:11px 16px;border:2px solid var(--ink);font-size:12px;font-weight:500;letter-spacing:.1em;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.filter:hover{background:var(--paper)}
.filter.is-on{background:var(--ink);color:var(--paper)}
[hidden]{display:none!important}

/* weirding way band */
.wwm{background:var(--dark);color:var(--on-dark);padding-block:0}
.wwm-row{display:grid;grid-template-columns:7fr 5fr;gap:0;align-items:stretch;padding-inline:0;max-width:calc(var(--container) + 2*var(--margin))}
.wwm-row{padding-inline:var(--margin)}
.wwm-art{min-height:420px;position:relative;overflow:hidden}
.wwm-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wwm-copy{padding:44px 40px}
.wwm-row{grid-template-columns:5fr 6fr}
.h2-dark,.h1-dark{color:var(--on-dark)}
.h2-dark{font-size:clamp(30px,3vw,46px)}
.on-dark{color:var(--on-dark-muted);font-size:17px}
.stats{display:flex;gap:28px 40px;flex-wrap:wrap;margin:24px 0;padding-top:20px;border-top:1px solid #3a4644}
.stats div{display:flex;flex-direction:column-reverse}
.stats dt{font:400 11px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--on-dark-muted)}
.stats dd{margin:0;font:900 clamp(28px,2.6vw,38px)/1 var(--font-head);letter-spacing:-.02em}
.player{background:var(--player);border:1px solid #3a4644;padding:16px 18px;margin-top:20px;color:var(--on-dark)}
.player .meta{margin:0 0 6px}
.player-title{font:800 20px/1.15 var(--font-head);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 12px}
.player audio{width:100%;max-width:100%;height:40px;margin-bottom:10px}
.player-links{font:400 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin:0;color:var(--on-dark-muted)}
.player-links a{color:var(--on-dark-soft)}
.wwm :focus-visible,.dark-hero :focus-visible,.hero :focus-visible{outline-color:var(--teal-on-dark)}
@media (max-width:860px){.wwm-row{grid-template-columns:minmax(0,1fr);padding-inline:0}.wwm-art{min-height:260px}.wwm-copy{padding:32px var(--margin)}}

/* ticker + about band */
.ticker{background:var(--books);color:var(--paper)}
.ticker ul{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;list-style:none;margin:0 auto;padding-block:11px}
.ticker a{font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.14em;text-decoration:none;color:var(--paper)}
.ticker a:hover{text-decoration:underline}
.hero-creds{margin:22px 0 0;font:400 12px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-soft);max-width:44em}
.also-line{margin:26px 0 0;font-size:17px}
.also-line a{color:var(--books);text-underline-offset:3px}
.selected-card .catalog-card{padding:22px;min-height:100%}
.selected-card .catalog-card.no-thumb{grid-template-columns:minmax(0,1fr)}
.selected-card .btn-row{margin-top:auto}
.selected-card h3{margin-bottom:.4em}
.desk-section{padding-top:8px}
.avail-list{list-style:none;margin:0 0 18px;padding:0;font-size:16px}
.avail-list li{padding:5px 0 5px 16px;position:relative;border-bottom:1px solid #b9ae95}
.avail-list li::before{content:'';position:absolute;left:0;top:.95em;width:6px;height:6px;background:var(--books)}
.credit-roles{margin:0 0 12px;display:grid;gap:0}
.credit-roles div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4px 20px;border-top:1px solid #b9ae95;padding:9px 0}
.credit-roles dt{font-weight:600;font-size:16px}
.credit-roles dd{margin:0;font-size:16px;color:var(--muted-strong)}
@media (max-width:640px){.credit-roles div{grid-template-columns:minmax(0,1fr)}}
.about-band{background:var(--band);padding-block:56px}
.about-band-row{display:grid;grid-template-columns:4fr 8fr;gap:var(--gutter) 56px}
.h2-big{font-size:clamp(34px,4vw,58px);line-height:.95}
.credit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px;list-style:none;margin:0 0 8px;padding:0;font-size:14px}
.credit-more{font:400 12px var(--font-mono);letter-spacing:.06em}
.credit-more a{color:var(--books)}
@media (max-width:860px){.about-band-row{grid-template-columns:minmax(0,1fr)}}

/* page hero */
.page-hero{border-bottom:var(--rule);padding-block:56px 48px}
.page-hero-row{display:grid;grid-template-columns:7fr 5fr;gap:var(--gutter) 56px;align-items:end}
.page-hero-row.solo{grid-template-columns:minmax(0,1fr)}
.page-hero h1{margin:0;font-size:clamp(40px,5.2vw,72px)}
.page-intro{font-size:clamp(18px,1.5vw,21px);line-height:1.5;margin:0;max-width:34em}
@media (max-width:860px){.page-hero-row{grid-template-columns:minmax(0,1fr)}}

.cta-dark{background:var(--ink);color:var(--on-dark)}
.cta-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:48px}
.cta-big{font:900 clamp(28px,3.4vw,46px)/1 var(--font-head);text-transform:uppercase;letter-spacing:-.02em;margin:0;color:inherit;text-decoration:none}
.cta-link{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--on-dark)}
.cta-dark :focus-visible,.cta-red :focus-visible{outline-color:var(--on-dark)}
.cta-red{background:var(--books);color:var(--paper);padding-block:36px}
.cta-red .cta-big{display:inline-block}
.cta-red a:hover{text-decoration:underline}
.note-row{padding-block:0 56px}
.callout{border:2px solid var(--ink);padding:20px 24px;background:var(--card);margin:0}

/* project page */
.project-hero{display:grid;grid-template-columns:minmax(0,1fr);border-bottom:var(--rule)}
.project-hero.has-art{grid-template-columns:7fr 5fr}
.project-hero-copy{padding:56px var(--margin) 56px}
.project-hero-inner{max-width:680px;margin-left:auto}
.project-hero:not(.has-art) .project-hero-inner{max-width:var(--container);margin-inline:auto}
.has-art .project-hero-copy{padding-right:48px}
.project-hero h1{font-size:clamp(38px,4.6vw,66px);margin-bottom:.3em}
.subtitle{font:800 clamp(17px,1.6vw,22px)/1.2 var(--font-head);text-transform:uppercase;letter-spacing:-.01em;color:var(--muted-strong)}
.project-hero .lede{max-width:30em}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ink);margin:28px 0 0;max-width:600px}
.facts div{padding:12px 16px;border:0 solid var(--ink)}
.facts div:nth-child(odd){border-right-width:1px}
.facts div:nth-child(n+3){border-top-width:1px}
.facts dt{font:400 11px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.facts dd{margin:2px 0 0;font-size:16px;line-height:1.35}
.project-hero-art{position:relative;min-height:380px;overflow:hidden;background:var(--band);border-left:var(--rule)}
.project-hero-art>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.float-cover{position:absolute;left:50%;top:50%;width:min(52%,300px);transform:translate(-50%,-50%) rotate(2deg);border:2px solid var(--ink)}
@media (max-width:860px){.project-hero.has-art{grid-template-columns:minmax(0,1fr)}.has-art .project-hero-copy{padding-right:var(--margin)}.project-hero-inner{margin-left:0}.project-hero-art{min-height:300px;border-left:0;border-top:var(--rule)}.facts{grid-template-columns:minmax(0,1fr)}.facts div:nth-child(odd){border-right-width:0}.facts div:nth-child(n+2){border-top-width:1px}}
.project-body{display:grid;grid-template-columns:4fr 8fr;gap:var(--gutter) 24px;padding-block:56px}
.outline{list-style:none;margin:0;padding:0}
.outline li{border-top:2px solid var(--ink);padding:14px 0 16px}
.outline .n,.essay-list .n{display:block;font:800 24px/1.2 var(--font-head)}
.outline .hl .n{font-size:20px;text-transform:uppercase}
.outline .meta{margin:0}
.related{border-top:2px solid var(--ink);margin-top:28px;padding-top:14px}
.related .linklist li{margin-bottom:10px;line-height:1.35}
.status-box{border-top:2px solid var(--ink);padding-top:14px}
.status-box strong{display:block;font:800 22px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:-.01em}
.project-main h2{font-size:clamp(28px,3vw,44px)}
.body-copy{font-size:20px;line-height:1.55;max-width:34em}
.pullquote{margin:36px 0;border-top:7px solid var(--accent);border-bottom:2px solid var(--ink);padding:24px 0}
.pullquote blockquote{margin:0}
.pullquote p{font:italic 400 clamp(22px,2.2vw,30px)/1.3 var(--font-body);margin:0}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0 0 40px;padding:0}
.tiles li{background:var(--band);border:1px solid var(--ink);padding:20px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}
.tiles h3{font-size:19px}
.tiles .meta{margin:0}
.inquire{margin-top:32px}
.essay-list{list-style:none;margin:0 0 12px;padding:0;counter-reset:e}
.essay-list li{display:flex;gap:20px;align-items:baseline;border-top:1px solid var(--ink);padding:10px 0;font:800 22px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:-.01em}
.essay-list li:last-child{border-bottom:1px solid var(--ink)}
.essay-list .n{display:inline;font:400 18px var(--font-body);color:var(--numeral);min-width:1.6em}
.next-wrap{padding-block:0 56px}
.next-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--books);color:var(--paper);padding:34px;text-decoration:none}
.next-banner .meta{color:var(--on-dark-soft);display:block;margin-bottom:6px}
.next-title{font:900 clamp(28px,3.2vw,44px)/1 var(--font-head);text-transform:uppercase;letter-spacing:-.02em}
.next-banner:hover .next-title{text-decoration:underline}
.next-banner :focus-visible,.next-banner:focus-visible{outline-color:var(--ink)}
.next-cover{width:66px;height:99px;object-fit:cover;border:2px solid var(--paper);flex:none}
@media (max-width:860px){.project-body{grid-template-columns:minmax(0,1fr)}.tiles{grid-template-columns:minmax(0,1fr)}}

/* list rows (Screen & TV, journalism) */
.rows{list-style:none;margin:0;padding:0}
.row{border-bottom:var(--rule)}
.row:first-child{border-top:0}
.row>a,.row-static{display:grid;grid-template-columns:72px minmax(0,3fr) minmax(0,3fr) minmax(0,4fr) 40px;gap:8px 24px;align-items:center;padding:26px 0;text-decoration:none;color:inherit}
.row-static{grid-template-columns:72px minmax(0,3fr) minmax(0,3fr)}
.row-n{font:400 24px var(--font-body);color:var(--numeral);letter-spacing:0}
.row-title{font:900 clamp(22px,2.4vw,32px)/1.02 var(--font-head);text-transform:uppercase;letter-spacing:-.02em}
.row-kind{font-size:12px;letter-spacing:.1em;color:var(--accent-text)}
.row-status{font-size:17px;line-height:1.4;display:flex;gap:8px;align-items:baseline}
.row-status::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.row-arrow{font-size:24px;text-align:right}
.row>a:hover .row-title{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px;text-decoration-color:var(--accent)}
.row>a:hover .row-arrow{color:var(--books)}
.rows-compact .row-kind{color:var(--writing)}
@media (max-width:860px){.row>a,.row-static{grid-template-columns:44px minmax(0,1fr);padding:20px 0}.row-kind,.row-status{grid-column:2}.row-arrow{display:none}}

/* two-column panels */
.two-col{display:grid;grid-template-columns:7fr 5fr;gap:var(--gutter)}
.two-col-wide{display:grid;grid-template-columns:8fr 4fr;gap:var(--gutter) 40px}
@media (max-width:860px){.two-col,.two-col-wide{grid-template-columns:minmax(0,1fr)}}
.stack{display:flex;flex-direction:column;gap:var(--gutter)}
.panel{background:var(--card);border:2px solid var(--ink);padding:26px 28px}
.panel.cat-writing{border-top:var(--bar) solid var(--writing)}
.panel-main{padding:34px 36px}
.panel-band{background:var(--band)}
.panel h2{margin-bottom:.4em}
.h3-big{font-size:clamp(24px,2.4vw,34px);line-height:1}
.h3-big a{text-decoration:none}
.h3-big a:hover{text-decoration:underline}
.panel .tag-line{color:var(--writing)}
.panel:not(.panel-band):not(.cat-writing){background:var(--paper)}
.linklist{list-style:none;margin:0;padding:0}
.linklist li{margin:0 0 8px}
.biblio{list-style:none;margin:0;padding:0}
.biblio li{border-top:1px solid #b9ae95;padding:14px 0;display:flex;flex-direction:column;gap:2px}
.biblio li:last-child{border-bottom:1px solid #b9ae95}
.biblio span{color:var(--muted-strong);font-size:16px}

/* audio pages */
.dark-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:var(--on-dark);border-bottom:var(--rule)}
.dark-hero-copy{padding:56px var(--margin)}
.dark-hero-inner{max-width:640px;margin-left:auto}
.h1-dark{font-size:clamp(38px,4.2vw,60px)}
.dark-hero-art{position:relative;min-height:420px;overflow:hidden}
.dark-hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.dark-hero{grid-template-columns:minmax(0,1fr)}.dark-hero-inner{margin-left:0}.dark-hero-art{min-height:260px;order:-1}}
.start-here{border-bottom:var(--rule);padding-bottom:48px}
.start-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gutter) 56px}
.listen-links{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:20px 0 0}
.listen-links .meta{margin:0 6px 0 0}
.listen-links .btn{margin:0}
.start-list{list-style:none;margin:0;padding:0}
.start-list li{border-top:1px solid var(--ink);padding:12px 0;display:flex;flex-direction:column;gap:2px}
.start-list li:last-child{border-bottom:1px solid var(--ink)}
.start-list a{font:800 20px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:-.01em}
.start-list span{color:var(--muted-strong);font-size:16px}
@media (max-width:860px){.start-grid{grid-template-columns:minmax(0,1fr)}}
.shows .card{padding:22px 24px 20px;display:flex;flex-direction:column;min-height:210px}
.shows .num{top:18px;right:24px}
.shows h3{padding-right:32px}
.show-cta{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--ink);font-size:12px;letter-spacing:.1em}
.show-cta a{text-decoration:none}
.show-cta a:hover{text-decoration:underline;color:var(--books)}
.labels{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:var(--rule);padding-bottom:20px;margin-bottom:28px}
.labels .meta{margin:0}
.labels ul{display:flex;gap:12px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.label-chip{border:2px solid var(--ink);padding:8px 12px;font-size:12px;letter-spacing:.1em}
.commentary,.card-dashed{padding:24px}
.card-dashed{background:transparent;border:2px dashed var(--ink)}
.commentary h3{font-size:clamp(20px,1.8vw,26px)}
.commentary .btn-row{margin-top:auto}
.release-art{margin:-24px -24px 18px;aspect-ratio:4/5;background:var(--band);border-bottom:2px solid var(--ink);overflow:hidden}
.release-art img{width:100%;height:100%;object-fit:contain}
.disclosure{font:400 12px var(--font-mono);letter-spacing:.06em;color:var(--muted);margin:0 0 28px}
.commentary{display:flex;flex-direction:column}
.grid-flush{margin-bottom:40px}
.group-h{display:flex;align-items:baseline;gap:12px;border-bottom:var(--rule);padding-bottom:10px;margin-top:8px}
.count{font:400 20px var(--font-body);color:var(--numeral);letter-spacing:0}

/* about */
.about-grid{display:grid;grid-template-columns:4fr 8fr;gap:var(--gutter) 24px;align-items:start}
.about-portrait .portrait-slot{aspect-ratio:4/5;border:2px solid var(--ink);display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(135deg,var(--band) 0 14px,var(--paper) 14px 28px);margin-bottom:20px}
.about-grid h1{font-size:clamp(38px,4.6vw,68px)}
.two-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter);margin-top:40px}
.two-lists section{border-top:2px solid var(--ink);padding-top:14px;margin-bottom:28px}
.two-lists h2{font-size:22px}
.ruled{list-style:none;margin:0 0 16px;padding:0}
.ruled li{border-bottom:1px solid #b9ae95;padding:8px 0;font-size:17px}
@media (max-width:860px){.about-grid,.two-lists{grid-template-columns:minmax(0,1fr)}.about-portrait .portrait-slot{aspect-ratio:16/9}}

/* contact */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--gutter) 56px;align-items:start}
.contact-grid h1{font-size:clamp(44px,5.4vw,76px)}
.form-panel{padding:36px;border-top:var(--bar) solid var(--books)}
.field{margin-bottom:22px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field label{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;margin-bottom:8px}
input[type=text],input[type=email],select,textarea{width:100%;background:var(--paper);border:2px solid var(--ink);padding:13px 14px;font:400 17px var(--font-body);color:var(--ink);border-radius:0;min-height:48px}
select{font:500 13px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
textarea{resize:vertical;min-height:170px}
[aria-invalid=true]{border-color:#a3231a;border-width:3px}
.field-error{margin:6px 0 0;color:#a3231a;font-size:15px;font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dropzone{position:relative;border:2px dashed var(--ink);padding:18px 20px;background:var(--paper)}
.dropzone input[type=file]{width:100%;font:400 15px var(--font-body);margin-bottom:6px}
.dropzone.is-over{background:var(--band)}
.dropzone .dz-text{display:none;font-size:18px;margin:0 0 4px}
.js .dropzone .dz-text{display:block}
.js .dropzone input[type=file]{font-size:15px}
.dropzone .meta{margin:0}
.file-list{list-style:none;margin:10px 0 0;padding:0}
.file-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #b9ae95;padding:6px 0;font-size:16px}
.file-list button{background:none;border:2px solid var(--ink);padding:6px 10px;font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;color:var(--ink);min-height:36px}
.file-list button:hover{background:var(--ink);color:var(--paper)}
.field-help{margin:6px 0 0;font:400 12px var(--font-mono);letter-spacing:.06em;color:var(--muted)}
.char-count,#message-count{font-weight:500;color:var(--ink)}
#message-count.is-low{color:var(--books)}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}
.form-foot p{margin:0}
.form-status{border:2px solid var(--ink);padding:18px 22px;margin-bottom:24px;background:var(--paper)}
.form-status:focus{outline:3px solid var(--writing);outline-offset:2px}
.form-status-error{border-color:#a3231a}
.form-status p{margin:0;font-weight:600}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}.field-row{grid-template-columns:minmax(0,1fr)}.form-panel{padding:22px 18px}}
.sitemap .panel{padding:22px 24px;background:var(--card)}

@media (max-width:640px){.page-hero h1,.project-hero h1,.about-grid h1,.contact-grid h1,.h1-hero,.h1-dark{font-size:clamp(26px,8vw,40px);overflow-wrap:break-word}.h1-hero{font-size:clamp(32px,10vw,44px)}.cta-big,.next-title{overflow-wrap:break-word}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.strip,.site-footer,.nav-toggle,.ticker{display:none}}
