/*
Theme Name: ArtSketch
Theme URI: https://artsketch.net/
Author: ArtSketch / Character Art School
Description: Art-first editorial theme for ArtSketch, the artist interview magazine. Violet on white, with a dark mode. Requires the ArtSketch Core plugin.
Version: 2.2.0
Requires at least: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: artsketch
*/

/* ---------- Tokens ---------- */
:root{
	--bg:#fff;--bg-2:#f5f4f8;--ink:#17151c;--ink-2:#47444f;--ink-3:#6c6977;--rule:#e4e2e9;--rule-2:#cdcad5;
	--accent:#5b2bb5;--accent-2:#4a2198;--on-accent:#fff;--logo:#5b2bb5;--shade:rgba(23,21,28,.1);
	--sans:'Archivo',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
	--text:'Source Serif 4',ui-serif,Georgia,serif;
	--gutter:clamp(1rem,4vw,3rem);--edge:clamp(0rem,1.4vw,1.5rem);--max:84rem;--max-wide:100rem;--measure:66ch;
	--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem;--s6:clamp(4rem,8vw,7.5rem);
	color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
	--bg:#0f0d14;--bg-2:#18151f;--ink:#eeecf4;--ink-2:#c5c1d0;--ink-3:#9d98aa;--rule:#27232f;--rule-2:#3b3646;
	--accent:#b39dff;--accent-2:#cbbcff;--on-accent:#0f0d14;--logo:#f3f0fb;--shade:rgba(0,0,0,.45);color-scheme:dark;
}}
:root[data-theme=dark]{
	--bg:#0f0d14;--bg-2:#18151f;--ink:#eeecf4;--ink-2:#c5c1d0;--ink-3:#9d98aa;--rule:#27232f;--rule-2:#3b3646;
	--accent:#b39dff;--accent-2:#cbbcff;--on-accent:#0f0d14;--logo:#f3f0fb;--shade:rgba(0,0,0,.45);color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:2rem;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.1;text-wrap:balance}
p,ul,ol,dl,figure,blockquote{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
button,input{font:inherit;color:inherit}
::selection{background:var(--accent);color:var(--on-accent)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--accent);color:var(--on-accent);padding:.6rem 1rem;font-weight:600}
.skip:focus{top:1rem}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.wrap--wide{width:min(100% - 2*var(--gutter),var(--max-wide))}
.icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.18em;flex:none}

/* Display type: Archivo, widened to echo the logo's SKETCH */
.section__title,.lead__name,.iv-hero__name,.page-head__title,.card__name,.pager__name,.artist__name,.artists__name,.artists__letter,.result__title,.nf__no,.prose h2,.lessons__title,.suggest__text,.index__y{font-family:var(--sans);font-weight:720;font-stretch:115%;letter-spacing:-.025em}

/* Shared small type */
.label{font:600 .7rem/1.3 var(--sans);font-stretch:112%;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.issue{font-weight:800;font-stretch:120%;letter-spacing:.02em;color:var(--accent);text-transform:none}
.more{display:inline-flex;gap:.45em;align-items:center;font:600 .78rem/1 var(--sans);font-stretch:112%;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--accent);background:none;border:0;padding:0;cursor:pointer}
.more .icon{transition:transform .2s}
.more:hover{color:var(--accent-2)}
.more:hover .icon{transform:translateX(3px)}
.btn{display:inline-flex;gap:.6em;align-items:center;padding:1em 1.5em;background:var(--accent);color:var(--on-accent);font:650 .78rem/1 var(--sans);font-stretch:112%;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--accent);border-radius:2px;transition:background .2s,border-color .2s}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--on-accent)}
.btn--ghost{background:none;color:var(--accent)}
.btn--ghost:hover{color:var(--on-accent)}
.empty{padding:var(--s5) 0 var(--s3);color:var(--ink-2);font:italic 1.25rem/1.5 var(--text)}
.empty__more .label{margin-bottom:.9rem}

/* ---------- Header ---------- */
.site-head{border-bottom:1px solid var(--rule)}
.site-head__in{display:flex;align-items:center;justify-content:space-between;gap:.5rem var(--s2);padding-block:.9rem;flex-wrap:wrap}
.wordmark-wrap{margin:0;font-size:inherit;line-height:0}
.wordmark{display:inline-block;color:var(--logo);text-decoration:none}
.wordmark:hover{color:var(--logo)}
.logo{width:auto;height:3rem;aspect-ratio:2745/660;fill:currentColor}
.nav{display:flex;align-items:center;gap:.25rem}
.nav__list{display:flex;gap:.1rem;margin:0;padding:0;list-style:none}
.nav__list a{display:flex;align-items:center;min-height:2.75rem;padding:0 .7rem;font:600 .76rem/1 var(--sans);font-stretch:112%;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.nav__list .current-menu-item>a,.nav__list a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:.6em;text-decoration-thickness:2px}
.nav__tools{display:flex;align-items:center}
.search-pop{position:relative}
.search-pop summary,.mode{list-style:none;cursor:pointer;padding:.5rem;min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--ink)}
.search-pop summary::-webkit-details-marker{display:none}
.search-pop summary:hover,.mode:hover{color:var(--accent);background:var(--bg-2)}
.mode[hidden]{display:none}
.mode .icon--sun,.mode[aria-pressed=true] .icon--moon{display:none}
.mode[aria-pressed=true] .icon--sun{display:inline-block}
.search-pop__panel{position:absolute;right:0;top:calc(100% + .5rem);z-index:20;width:min(22rem,calc(100vw - 2rem));padding:.75rem 1rem;background:var(--bg);border:1px solid var(--rule);box-shadow:0 14px 34px var(--shade)}
.search-form{display:flex;border-bottom:1px solid var(--ink-3)}
.search-form input{flex:1;min-width:0;border:0;background:none;padding:.7rem 0;font-size:1.05rem}
.search-form input:focus{outline:none}
.search-form:focus-within{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.search-form button{border:0;background:none;cursor:pointer;font:650 .74rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:0 .25rem;color:var(--accent)}

/* Masthead variant (home) */
.site-head--masthead{border-bottom:0}
.site-head--masthead .site-head__in{flex-direction:column;padding-block:clamp(1.5rem,3.5vw,2.75rem) .5rem;gap:clamp(.75rem,2vw,1.25rem)}
.site-head--masthead .logo{height:auto;width:clamp(16.5rem,8rem + 30vw,36rem)}
.dateline{display:flex;justify-content:space-between;gap:1rem;padding-block:.75rem;border-top:1px solid var(--rule);font:600 .68rem/1.3 var(--sans);font-stretch:112%;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:47.99em){
	.site-head:not(.site-head--masthead) .nav{width:calc(100% + 1rem);margin-inline:-.5rem;justify-content:space-between}
	.nav__list a{padding:0 .5rem;letter-spacing:.1em}
	.search-pop summary,.mode{min-width:2.6rem;padding:.4rem}
	.logo{height:2.35rem}
}
@media (max-width:23.5em){.nav__list a{padding:0 .3rem;letter-spacing:.05em;font-size:.72rem}} /* 320–375px / 400% zoom: no horizontal scroll */
@media (max-width:63.99em){.dateline{justify-content:center;text-align:center}.dateline>span:not(.dateline__mid){display:none}}

/* Reading progress */
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:50;pointer-events:none}
.progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}

/* ---------- Sections ---------- */
.section{padding-block:var(--s6) 0}
.section--flush{padding-top:var(--s3)}
.section--narrow{width:min(100% - 2*var(--gutter),43rem)}
.section__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;margin-bottom:var(--s4);border-bottom:1px solid var(--rule)}
.section__head .label{display:block;margin-bottom:.5rem}
.section__title{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.75rem);line-height:1}
.section__aside{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;font:500 .82rem var(--sans);color:var(--ink-3)}

/* ---------- Home lead: the latest interview's art, edge to edge ---------- */
.lead{padding-top:clamp(.75rem,2vw,1.5rem)}
.spread{display:flex;gap:clamp(.25rem,.6vw,.6rem);width:min(100% - 2*var(--edge),var(--max-wide) + 20rem,calc(80vh * var(--sum)));margin-inline:auto}
.spread__item{flex:var(--r) 1 0;min-width:0;display:block;background:var(--bg-2)}
.spread__item img{width:100%;height:auto;aspect-ratio:var(--r);object-fit:cover}
@media (max-width:47.99em){
	.spread{width:min(100%,calc(78vh * var(--r1)))}
	.spread__item:not(:first-child){display:none}
}
.lead__text{display:grid;gap:var(--s3);padding-top:clamp(1.5rem,3vw,2.5rem)}
.lead__kicker{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline;margin-bottom:.75rem}
.lead__kicker .issue{font-size:1.15rem;letter-spacing:.02em}
.lead__name{font-size:clamp(2.6rem,1.4rem + 5.2vw,6.5rem);line-height:.92;letter-spacing:-.035em}
.lead__name a{text-decoration:none}
.lead__role{margin-top:.9rem;font:500 .95rem/1.4 var(--sans);color:var(--ink-2)}
.lead__standfirst{font:400 clamp(1.15rem,1.05rem + .4vw,1.35rem)/1.55 var(--text);color:var(--ink-2);max-width:34rem}
.lead__meta,.card__kicker,.iv-hero__kicker{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem;font:600 .68rem/1.3 var(--sans);font-stretch:112%;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}
.lead__meta{margin:1.25rem 0 1.5rem}
.lead__meta a,.iv-hero__kicker a{text-decoration:none}
@media (min-width:64em){
	.lead__text{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2.5rem,5vw,5rem);align-items:end}
	.lead__side{padding-bottom:.4rem}
}

/* ---------- Cards: justified rows, art at its own proportions ---------- */
.grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s4) clamp(1rem,2vw,1.75rem)}
.card{flex:var(--r) 1 100%;min-width:0;max-width:calc(var(--r) * 34rem)}
@media (min-width:40em){.card{flex-basis:calc(var(--r) * 12rem);max-width:calc(var(--r) * 20rem)}}
@media (min-width:72em){.card{flex-basis:calc(var(--r) * 15rem);max-width:calc(var(--r) * 21rem)}}
.card__link{display:block;text-decoration:none;color:inherit}
.card__img{overflow:hidden;background:var(--bg-2);margin-bottom:.9rem}
.card__img img{width:100%;height:auto;aspect-ratio:var(--r);object-fit:cover;object-position:50% 22%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card__link:hover .card__img img{transform:scale(1.025)}
.card__name{margin:.35rem 0 .2rem;font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem);line-height:1.05}
.card__link:hover .card__name{color:var(--accent)}
.card__role{font:400 .9rem/1.4 var(--sans);color:var(--ink-2)}
.card__kicker .issue{font-size:1.05em}

/* ---------- The wall (home) ---------- */
.wall__grid{columns:2;column-gap:clamp(.5rem,1.4vw,1.25rem)}
.wall__item{break-inside:avoid;margin-bottom:clamp(1rem,2vw,1.75rem)}
.wall__item a{display:block;text-decoration:none}
.wall__item img{width:100%;background:var(--bg-2);transition:opacity .3s}
.wall__item a:hover img{opacity:.86}
.wall__cap{display:block;margin-top:.45rem;font:600 .68rem/1.3 var(--sans);font-stretch:112%;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.wall__item a:hover .wall__cap{color:var(--accent)}
@media (max-width:47.99em){.wall__item:nth-child(n+13){display:none}}
@media (min-width:48em){.wall__grid{columns:3}}
@media (min-width:80em){.wall__grid{columns:4}}

/* ---------- Chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;gap:.5em;min-height:2.5rem;padding:.5em 1em;border:1px solid var(--rule-2);border-radius:99px;font:500 .85rem/1 var(--sans);text-decoration:none;transition:border-color .2s,background .2s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.is-current{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.chip__n{font-size:.78em;color:var(--ink-3);font-variant-numeric:tabular-nums}
.chip.is-current .chip__n{color:inherit;opacity:.8}

/* ---------- Home archive index ---------- */
.index__chips{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:var(--s4)}
.index__years{columns:20rem 3;column-gap:clamp(2rem,4vw,4rem)}
.index__year{break-inside:avoid;display:grid;grid-template-columns:4.5rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--rule)}
.index__y{font-size:1.25rem;line-height:1.2;color:var(--ink-3)}
.index__list a{display:grid;grid-template-columns:3.6rem 1fr;gap:0 .5rem;padding:.3rem 0;text-decoration:none}
.index__list .issue{font-size:.8rem;line-height:1.9}
.index__name{font:500 1.02rem/1.35 var(--sans)}
.index__disc{grid-column:2;font:600 .64rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.index__list a:hover .index__name{color:var(--accent)}

/* About band */
.about-band{margin-top:var(--s6);padding-block:var(--s5);background:var(--bg-2)}
.about-band__grid{display:grid;gap:var(--s4)}
.about-band__text{margin:1rem 0 1.25rem;font:400 1.2rem/1.6 var(--text);color:var(--ink-2);max-width:38rem}
.suggest{align-self:start;padding-left:var(--s3);border-left:3px solid var(--accent)}
.suggest__text{margin:.6rem 0 1.25rem;font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem);line-height:1.15}
@media (min-width:56em){.about-band__grid{grid-template-columns:7fr 5fr;gap:var(--s5)}}

/* ---------- Page head ---------- */
.page-head{padding-block:clamp(2rem,5vw,4rem) var(--s3)}
.page-head .label{display:block;margin-bottom:.75rem}
.page-head__title{font-size:clamp(2.5rem,1.6rem + 4.4vw,5.5rem);line-height:.95;letter-spacing:-.035em;max-width:18ch}
.page-head__intro{margin-top:1.25rem;max-width:40rem;font:400 1.15rem/1.6 var(--text);color:var(--ink-2)}
.page-head__intro p+p{margin-top:.8em}
.page-head .chips{margin-top:var(--s4)}
.page-head .search-form{margin-top:var(--s3);max-width:34rem}
.page-head--narrow{width:min(100% - 2*var(--gutter),43rem)}

/* Breadcrumbs */
.crumbs ol{display:flex;flex-wrap:wrap;gap:.2rem;margin:0 0 1.25rem;padding:0;list-style:none;font:500 .76rem/1.4 var(--sans);color:var(--ink-3)}
.crumbs li+li::before{content:"/";margin-right:.35rem;color:var(--rule-2)}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* ---------- Interview hero ---------- */
.iv-hero{padding-top:clamp(1.5rem,3.5vw,2.75rem)}
.iv-hero__kicker{margin-bottom:1rem}
.iv-hero__kicker .issue{font-size:1.3em}
.iv-hero__name{font-size:clamp(2.75rem,1.2rem + 6.4vw,7.5rem);line-height:.9;letter-spacing:-.04em}
.iv-hero__name,.lead__name,.card__name,.pager__name,.artist__name,.page-head__title,.result__title,.artists__name{overflow-wrap:anywhere;hyphens:manual}
.iv-hero__role{margin-top:1rem;font:500 1rem/1.4 var(--sans);color:var(--ink-2)}
.iv-hero__art{margin:clamp(1.5rem,3.5vw,2.75rem) auto 0;width:min(100% - 2*var(--edge),var(--max-wide))}
.iv-hero__art a{display:block;width:min(100%,calc(84vh * var(--r)));margin-inline:auto;cursor:zoom-in}
.iv-hero__art img{width:100%;height:auto}
.iv-hero__art figcaption,.lead__art figcaption{margin:.75rem auto 0;padding-inline:var(--gutter);font:400 .82rem/1.4 var(--sans);color:var(--ink-3);text-align:center}
.iv-hero__foot{display:grid;justify-items:center;text-align:center;gap:1.5rem;padding-top:clamp(2rem,4vw,3.25rem)}
.iv-hero__standfirst{font:italic 400 clamp(1.25rem,1.1rem + .6vw,1.6rem)/1.45 var(--text);max-width:40rem;text-wrap:balance}
.iv-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem clamp(1.5rem,4vw,3rem)}
.iv-meta dt{font:600 .64rem/1.3 var(--sans);font-stretch:112%;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.iv-meta dd{margin:.25rem 0 0;font:500 .95rem/1.3 var(--sans)}
.iv-meta dd a{color:var(--accent);text-decoration:none}

/* ---------- Prose (Q&A + pages) ---------- */
.prose{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [wide-start] minmax(0,13rem) [text-start] min(var(--measure),100% - 2*var(--gutter)) [text-end] minmax(0,13rem) [wide-end] minmax(var(--gutter),1fr) [full-end];font:400 clamp(1.0625rem,.98rem + .35vw,1.1875rem)/1.7 var(--text);padding-top:var(--s5);hanging-punctuation:first}
.prose>*{grid-column:text}
.prose p+p{margin-top:1.05em}
.prose a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.prose a:hover{text-decoration-color:currentColor}
.prose strong{font-weight:650}
.prose ul:not([class]),.prose ol:not([class]),.prose .wp-block-list{margin:1.1em 0;padding-left:1.25em}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--accent)}
.prose h2{margin:2.2em 0 .6em;font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);line-height:1.05}
.prose h4{margin:1.8em 0 .5em;font:650 1rem/1.4 var(--sans)}
.prose hr,.prose .wp-block-separator{border:0;height:1px;background:var(--rule);margin:3rem auto;width:100%}
.dek{font:400 clamp(1.2rem,1.1rem + .45vw,1.42rem)/1.55 var(--text);color:var(--ink);padding-bottom:var(--s4);margin-bottom:var(--s2);border-bottom:1px solid var(--rule)}
.dek::first-letter,.iv-body:not(:has(>.dek)) h3:first-of-type+p::first-letter,.page-body>p:first-child::first-letter{float:left;font:800 4.4em/.8 var(--sans);font-stretch:104%;margin:.07em .1em 0 -.02em;color:var(--accent)}
@supports (initial-letter:3){.dek::first-letter,.iv-body:not(:has(>.dek)) h3:first-of-type+p::first-letter,.page-body>p:first-child::first-letter{float:none;initial-letter:3;font-size:1em;line-height:1;margin:0 .14em 0 0}}

/* Questions vs answers: questions in Archivo with a violet Q; answers in Source Serif */
.iv-body h3{position:relative;margin:2.8em 0 .85em;font:620 clamp(1.12rem,1.02rem + .4vw,1.3rem)/1.42 var(--sans);letter-spacing:-.008em;color:var(--ink);text-wrap:pretty}
.iv-body h3::before{content:"Q";display:inline-block;margin-right:.55em;font-weight:800;font-stretch:125%;color:var(--accent)}
.iv-body>h3:first-of-type{margin-top:1.4em}
.iv-body>.iv-art+h3,.iv-body>figure+h3{margin-top:1.6em}
@media (min-width:72em){.iv-body h3::before{position:absolute;right:100%;top:0;margin-right:1.1rem;font-size:1.05em}}

/* Artwork set between the questions */
.iv-art{grid-column:wide;display:flex;justify-content:center;gap:clamp(.5rem,1.2vw,1rem);margin:3.25rem 0 1.5rem}
.iv-art--full{grid-column:full;padding-inline:var(--edge)}
.iv-art__fig{flex:var(--r) 1 0;min-width:0}
.iv-art--full .iv-art__fig,.iv-art--wide .iv-art__fig{flex:0 1 auto;width:min(100%,calc(86vh * var(--r)))}
.iv-art a{display:block;cursor:zoom-in;background:var(--bg-2)}
.iv-art img{width:100%;height:auto}
.iv-art figcaption{margin-top:.65rem;font:400 .82rem/1.45 var(--sans);color:var(--ink-3);text-align:center}
@media (max-width:39.99em){.iv-art{grid-column:full;padding-inline:var(--edge)}.iv-art--pair{flex-direction:column}.iv-art--pair .iv-art__fig{flex:none;width:100%}}

/* Pull quotes */
.prose .wp-block-pullquote,.prose blockquote.is-style-large{grid-column:wide;margin:3em 0;padding:0;border:0;text-align:center}
.prose .wp-block-pullquote blockquote{margin:0 auto;padding:0;border:0;max-width:46rem}
.wp-block-pullquote p{font:italic 400 clamp(1.6rem,1.2rem + 1.8vw,2.6rem)/1.2 var(--text);letter-spacing:-.01em;text-wrap:balance}
.wp-block-pullquote p::before{content:"\201C";display:block;height:.6em;font:800 2em/1 var(--sans);color:var(--accent)}
.wp-block-pullquote cite{display:block;margin-top:1.25rem;font:650 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--ink-3)}
.wp-block-pullquote cite::before{content:"— "}
.prose>blockquote:not([class]),.prose>.wp-block-quote{margin:1.75em 0;padding-left:1.25rem;border-left:3px solid var(--accent);font-style:italic}
.prose .wp-block-quote cite{display:block;margin-top:.6rem;font:650 .7rem var(--sans);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--ink-3)}

/* Figures in the post body */
.prose .wp-block-image,.prose figure:not([class]){grid-column:wide;margin:3em 0 1.5em}
.prose .wp-block-image.alignfull{grid-column:full}
.prose .wp-block-image img{margin-inline:auto;max-height:min(88vh,60rem);width:auto}
.prose .wp-block-image figcaption,.prose figure:not([class]) figcaption{max-width:var(--measure);margin:.7rem auto 0;font:400 .82rem/1.5 var(--sans);color:var(--ink-3);text-align:center}
.prose .wp-block-embed,.prose .wp-block-video{grid-column:wide;margin:2.5em 0}
.prose .wp-block-embed iframe{width:100%;height:auto;aspect-ratio:16/9}

/* Key lessons + toolkit */
.lessons{grid-column:wide;margin:var(--s5) 0 0;padding:clamp(1.5rem,4vw,2.75rem);background:var(--bg-2)}
.prose .lessons__title{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1.08;margin:0 0 var(--s3)}
.prose .lessons__list li+li{margin-top:0}
.lessons__title .label{display:block;margin-bottom:.6rem}
.lessons__list{counter-reset:l;display:grid;gap:var(--s3)}
.lessons__list li{counter-increment:l;display:grid;align-content:start;grid-template-columns:2.75rem 1fr;gap:.75rem;font:400 1.05rem/1.55 var(--text)}
.lessons__list li::before{content:counter(l,decimal-leading-zero);font:800 1.5rem/1 var(--sans);font-stretch:120%;color:var(--accent)}
@media (min-width:56em){.lessons__list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.lessons__list li{grid-template-columns:1fr}}
.toolkit{margin-top:var(--s4);padding-top:var(--s2);border-top:1px solid var(--rule)}
.toolkit dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1rem 2rem;margin-top:1rem}
.toolkit dt{font:650 .66rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.toolkit dd{margin:.2rem 0 0;font-size:1rem}

/* ---------- Gallery: justified rows, nothing cropped ---------- */
.gallery{padding-top:var(--s6)}
.gallery__grid{display:flex;flex-wrap:wrap;gap:clamp(.6rem,1.4vw,1.25rem)}
.gallery__grid::after{content:"";flex:999 1 30%}
.gallery__item{flex:var(--r) 1 calc(var(--r) * 16rem);min-width:0}
.gallery__item a{display:block;background:var(--bg-2);cursor:zoom-in}
.gallery__item img{width:100%;aspect-ratio:var(--r);object-fit:cover;transition:opacity .3s}
.gallery__item a:hover img{opacity:.88}
.gallery__item figcaption{margin-top:.5rem;font:400 .8rem/1.4 var(--sans);color:var(--ink-3)}
.gallery__note{margin-top:var(--s3);font:400 .85rem/1.5 var(--sans);color:var(--ink-3);max-width:44rem}
.gallery__open[hidden]{display:none}
@media (max-width:39.99em){.gallery__item{flex-basis:100%}}
@media (min-width:64em){.gallery__item{flex-basis:calc(var(--r) * 26rem)}}

/* ---------- Artist card ---------- */
.artist{padding-top:var(--s6)}
.artist__card{display:grid;gap:var(--s3);max-width:56rem;margin-inline:auto;padding-top:var(--s4);border-top:1px solid var(--rule)}
.artist__portrait img{width:9rem;height:9rem;border-radius:50%;object-fit:cover}
.artist__name{margin:.4rem 0 .8rem;font-size:clamp(1.9rem,1.4rem + 1.8vw,2.8rem);line-height:1}
.artist__bio{font:400 1.08rem/1.65 var(--text);color:var(--ink-2)}
.artist__links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--s3)}
.artist__links a{display:inline-flex;align-items:center;gap:.35em;min-height:2.5rem;padding:.45em 1em;border:1px solid var(--rule-2);border-radius:99px;font:500 .85rem/1 var(--sans);text-decoration:none}
.artist__links a:hover{border-color:var(--accent)}
@media (min-width:48em){.artist__card.has-portrait{grid-template-columns:10rem 1fr}}

/* ---------- Afterword (free pack + support) ---------- */
.afterword{margin-top:var(--s5)}
.afterword__in{display:grid;gap:var(--s2);max-width:56rem;margin-inline:auto;padding-top:var(--s3);border-top:1px solid var(--rule)}
.afterword__item{font:400 .95rem/1.55 var(--sans);color:var(--ink-3)}
.afterword__lead{color:var(--ink-2);font-weight:600}
.afterword .more{margin-left:.35em;font-size:.72rem}
@media (min-width:48em){.afterword__in{grid-template-columns:1fr 1fr;gap:var(--s4)}}
.support-cta{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-block:var(--s3)}
.prose .btn,.prose .btn:hover{color:var(--on-accent);text-decoration:none}
.support-cta__note{font:400 .85rem/1.4 var(--sans);color:var(--ink-3)}

/* ---------- Support pop-up ---------- */
.give{width:min(34rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:0;border-radius:2px;background:var(--bg);color:var(--ink);box-shadow:0 1.5rem 4rem var(--shade);overscroll-behavior:contain}
.give::backdrop{background:rgba(15,13,20,.6)}
.give__in{position:relative;padding:clamp(1.5rem,5vw,2.5rem)}
.give__close{position:absolute;top:.5rem;right:.5rem;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:none;color:var(--ink-3);font:400 1.7rem/1 var(--sans);cursor:pointer}
.give__close:hover{background:var(--bg-2);color:var(--ink)}
.give__pane{display:none}
.give[data-state=pick] .give__pane--pick,.give[data-state=pay] .give__pane--pay,.give[data-state=done] .give__pane--done,.give[data-state=fail] .give__pane--fail{display:block}
.give__title{margin:.4rem 0 .7rem;font:720 clamp(1.6rem,1.3rem + 1.2vw,2.1rem)/1.05 var(--sans);font-stretch:115%;letter-spacing:-.025em}
.give__text{font:400 1.02rem/1.6 var(--text);color:var(--ink-2);margin-bottom:var(--s3)}
.give__options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.give__opt{min-height:3.5rem;padding:.8rem 1rem;border:1px solid var(--rule-2);border-radius:2px;background:var(--bg);color:var(--ink);font:650 1.05rem/1.2 var(--sans);cursor:pointer;transition:border-color .15s,background .15s}
.give__opt:hover,.give__opt:focus-visible{border-color:var(--accent);background:var(--bg-2)}
.give__note{margin-top:var(--s2);font:400 .82rem/1.4 var(--sans);color:var(--ink-3)}
.give__back{margin:0 0 .9rem}
.give__chosen{margin-bottom:.8rem}
.give__checkout{min-height:2rem}
.give__status{margin-top:.6rem;font:400 .9rem/1.4 var(--sans);color:var(--ink-3)}
.give__pane--done .btn,.give__pane--fail .btn{cursor:pointer}
@media (max-width:29.99em){.give{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0}.give__options{grid-template-columns:1fr}}

/* ---------- Prev / next ---------- */
.pager{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--s6);border-block:1px solid var(--rule)}
.pager__item{display:flex;flex-direction:column;gap:.35rem;padding:var(--s3) 0;text-decoration:none;min-width:0}
.pager__item--next{text-align:right;align-items:flex-end;border-left:1px solid var(--rule);padding-left:var(--s2)}
.pager__item--prev{padding-right:var(--s2)}
.pager__name{font-size:clamp(1.35rem,1.05rem + 1.3vw,2.2rem);line-height:1}
.pager__role{font:500 .8rem/1.3 var(--sans);color:var(--ink-3)}
.pager__item:hover .pager__name{color:var(--accent)}
.related{padding-top:var(--s5)}

/* ---------- Results (search/fallback) ---------- */
.results{display:grid}
.result__link{display:grid;grid-template-columns:7rem 1fr;gap:1.25rem;padding:1.25rem 0;border-bottom:1px solid var(--rule);text-decoration:none}
.result__img img{aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;width:100%}
.result__body{display:flex;flex-direction:column;gap:.3rem}
.result__title{font-size:1.5rem;line-height:1.05}
.result__link:hover .result__title{color:var(--accent)}
.result__text{font:400 1rem/1.5 var(--text);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:40em){.result__link{grid-template-columns:10rem 1fr;gap:2rem}}
.pagination .nav-links{display:flex;gap:.5rem;justify-content:center;margin-top:var(--s5);font:500 .9rem var(--sans)}
.pagination .page-numbers{padding:.5rem .8rem;text-decoration:none;border:1px solid transparent}
.pagination .current{border-color:var(--accent);color:var(--accent)}

/* ---------- Artists A–Z ---------- */
.az ul{display:flex;flex-wrap:wrap;gap:.15rem;margin:var(--s4) 0 0;padding:0;list-style:none}
.az a,.az span{display:grid;place-items:center;width:2.3rem;height:2.3rem;font:700 1.05rem/1 var(--sans);font-stretch:115%;text-decoration:none;border-radius:2px}
.az a{color:var(--accent)}
.az span{color:var(--rule-2)}
.az a:hover{color:var(--on-accent);background:var(--accent)}
.artists{padding-top:var(--s3)}
.artists__group{display:grid;gap:.5rem;padding:var(--s3) 0;border-top:1px solid var(--rule);scroll-margin-top:1rem}
.artists__letter{font-size:2.75rem;line-height:.9;color:var(--accent)}
.artists__row{display:grid;gap:.15rem .5rem;padding:.9rem 0;border-bottom:1px solid var(--rule);text-decoration:none}
.artists__list li:last-child .artists__row{border-bottom:0}
.artists__name{font-size:1.5rem;line-height:1.1}
.artists__role{font:400 1rem/1.4 var(--text);color:var(--ink-2)}
.artists__disc,.artists__issue{font:600 .68rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.artists__row:hover .artists__name{color:var(--accent)}
@media (min-width:56em){
	.artists__group{grid-template-columns:8rem 1fr}
	.artists__row{grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,2fr) 7rem;align-items:baseline}
	.artists__issue{text-align:right}
}

/* ---------- Page / 404 ---------- */
.page-figure{margin-block:var(--s3) 0}
.page-figure img{width:100%}
.page-body{padding-top:var(--s3)}
.nf{display:grid;gap:var(--s3);padding-block:clamp(2.5rem,6vw,5rem) 0;align-items:center}
.nf__no{font-size:clamp(6rem,3rem + 13vw,14rem);line-height:.8;font-weight:800;font-stretch:125%;color:var(--accent);letter-spacing:-.05em}
.nf__no span{font-size:.22em;letter-spacing:0;margin-right:.15em;vertical-align:.2em}
.nf .page-head__title{font-size:clamp(2.1rem,1.6rem + 2.6vw,3.75rem)}
.nf .search-form{margin:var(--s3) 0 var(--s2);max-width:30rem}
@media (min-width:64em){.nf{grid-template-columns:auto 1fr;gap:var(--s5)}}

/* ---------- Footer ---------- */
.site-foot{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--rule);font-size:.95rem}
.home .site-foot{margin-top:0;border-top:0}
.site-foot__grid{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.site-foot__about{grid-column:1/-1;max-width:30rem}
.site-foot__about p+p{margin-top:1rem}
.site-foot__about>p:not(.wordmark-wrap){color:var(--ink-2);font:400 1.02rem/1.6 var(--text)}
.wordmark--small{margin-bottom:1.25rem}
.wordmark--small .logo{height:2.6rem}
.site-foot__col ul{margin:.9rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}
.site-foot__col a{text-decoration:none}
.site-foot__col a:hover{text-decoration:underline}
.site-foot__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin-top:var(--s5);padding-block:1.25rem 2rem;border-top:1px solid var(--rule);font-size:.8rem;color:var(--ink-3)}
.site-foot__base a{color:var(--ink-2)}
@media (min-width:56em){.site-foot__grid{grid-template-columns:minmax(0,2fr);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.site-foot__about{grid-column:auto;padding-right:var(--s4)}}

/* ---------- Newsletter sign-up ---------- */
.signup{--err:#b3261e;margin-top:var(--s6);padding-block:var(--s5);background:var(--bg-2)}
:root[data-theme=dark] .signup{--err:#ffb4ab}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .signup{--err:#ffb4ab}}
.home .signup{margin-top:0;padding-top:0}
.home .signup__in{padding-top:var(--s4);border-top:1px solid var(--rule-2)}
.signup+.site-foot{margin-top:0;border-top:0}
.signup__in{display:grid;gap:var(--s3);align-items:end}
.signup__title{font:720 clamp(1.45rem,1.1rem + 1.4vw,2.2rem)/1.1 var(--sans);font-stretch:115%;letter-spacing:-.025em}
.signup__text{margin-top:.7rem;max-width:36rem;font:400 1.08rem/1.6 var(--text);color:var(--ink-2)}
.signup__text a{color:var(--ink-2);white-space:nowrap}
.signup__text a:hover{color:var(--accent)}
.signup__label{display:block;margin-bottom:.55rem}
.signup__row{display:flex;flex-wrap:wrap;gap:.5rem}
.signup__input{flex:1 1 13rem;min-width:0;min-height:3rem;padding:.7rem .95rem;border:1px solid var(--ink-3);border-radius:2px;background:var(--bg);color:var(--ink);font:400 1rem/1.2 var(--sans)}
.signup__input::placeholder{color:var(--ink-3);opacity:1}
.signup__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.signup__btn{flex:0 0 auto;min-height:3rem;justify-content:center;cursor:pointer}
.signup__btn[disabled]{opacity:.65;cursor:progress}
.signup__opt{display:flex;gap:.6rem;align-items:flex-start;margin-top:.8rem;font:400 .88rem/1.45 var(--sans);color:var(--ink-3);cursor:pointer}
.signup__opt input{flex:0 0 auto;width:1.05rem;height:1.05rem;margin:.12rem 0 0;accent-color:var(--accent)}
.signup__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.signup__msg{min-height:1.4em;margin-top:.7rem;font:500 .95rem/1.4 var(--sans)}
.signup__msg.is-success{color:var(--accent)}
.signup__msg.is-error{color:var(--err)}
.signup--compact{margin-top:var(--s6);padding:0;background:none}
.signup--compact .signup__in{max-width:56rem;margin-inline:auto;padding:var(--s3) clamp(1.25rem,3vw,2.25rem) .6rem;background:var(--bg-2);border-left:3px solid var(--accent)}
.signup--compact .signup__title{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem)}
.signup--compact .signup__text{font-size:1rem}
@media (max-width:29.99em){.signup__btn{flex-basis:100%}}
@media (min-width:56em){.signup__in{grid-template-columns:7fr 5fr;gap:var(--s5)}.signup--compact .signup__in{grid-template-columns:1fr 1fr;gap:var(--s4)}}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,8,14,.97);color:#f1eff6;overscroll-behavior:contain}
.lb::backdrop{background:rgba(10,8,14,.97)}
.lb[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.lb__bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;font:600 .78rem var(--sans);letter-spacing:.12em}
.lb__stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 clamp(.5rem,5vw,4.5rem);touch-action:pan-y}
.lb__stage img{max-width:100%;max-height:calc(100vh - 8.5rem);max-height:calc(100dvh - 8.5rem);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lb__cap{min-height:3rem;padding:.75rem 1rem 1.25rem;text-align:center;font:400 .9rem/1.4 var(--sans);color:#c9c5d4}
.lb button{display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font:400 1.6rem/1 var(--sans)}
.lb button:hover{background:rgba(255,255,255,.1)}
.lb button:focus-visible{outline-color:#b39dff}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%)}
.lb__nav--prev{left:.5rem}.lb__nav--next{right:.5rem}
@media (max-width:40em){.lb__nav{top:auto;bottom:-3.5rem;transform:none}.lb__cap{padding-inline:3.5rem}}
html.lb-open{overflow:hidden}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
	.progress{display:none}
}
@media print{
	.site-head nav,.progress,.pager,.related,.site-foot,.search-pop,.wall,.signup{display:none}
	body{background:#fff;color:#000}
}
