/* WordPress integration; original design tokens and layouts remain in design.css. */
.page-content>.wp-block:not([data-type^="acf/"]),.page-content>p,.page-content>h2,.page-content>h3,.page-content>ul,.page-content>ol,.page-content>.wp-block-image,.page-content>.wp-block-quote,.page-content>.wp-block-table{max-width:780px;margin:1.5rem auto;padding-inline:var(--gutter)}
.page-content>.alignwide{max-width:1280px}.page-content>.alignfull{max-width:none;padding-inline:0}
.page-content>.wp-block-columns,.page-content>.wp-block-group{max-width:1280px;margin-inline:auto;padding:var(--gutter)}
.page-content>ul:not([class]),.page-content>ol:not([class]){list-style:revert;padding-left:1.5rem}
.page-content>p a,.page-content>ul a,.page-content>ol a,.page-content>.wp-block-paragraph a{color:var(--loom-blue);text-decoration:underline;text-underline-offset:3px}
.prose img{height:auto}.prose>ol{list-style:decimal;padding-left:1.5em}
.band .band{padding-inline:0}.page-head .prose{margin-top:1.5rem}.page-head .split .prose{margin-top:0}
.reading-copy>h2,.announcement h2{font-size:var(--fs-display-2);line-height:var(--lh-heading)}.reading-copy>h2{margin-bottom:1.5rem}
.foot-brand svg path,.foot-brand svg polygon{fill:currentColor;stroke:currentColor}
.footer-social{display:flex;gap:1rem}.foot-col-links li{margin:0}.foot-col-links a{overflow-wrap:anywhere}
.collection-search{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin:2rem 0}.collection-search label{display:grid;gap:.35rem;font-family:var(--font-display);font-size:.9rem}
.collection-search input,.collection-search select{max-width:100%;min-height:44px;border:1px solid var(--rule);padding:.65rem;font:inherit;background:white;color:var(--ink)}
.index-status{margin:1.5rem 0}.pagination{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;font-family:var(--font-mono)}.pagination a{padding:.5rem 1rem;border:1px solid var(--rule)}.pagination [aria-current]{background:var(--loom-blue);color:white}
.people{list-style:none}.initials{display:grid;place-items:center;aspect-ratio:2/3;background:var(--ground-tint);font:700 2rem var(--font-display)}
.essay-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.essay-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:1rem}
.essay-list article{border-top:2px solid var(--loom-blue);padding-top:1rem}.announcement h2,.announcement .prose{margin-bottom:1rem}
.report-cover{margin-top:2rem}.report-cover img{max-height:420px;object-fit:cover;width:100%}.report-layout--full{grid-template-columns:1fr;max-width:1000px}
.report-content .band{padding:0;background:transparent;color:inherit;border:0}.report-content .report-section{scroll-margin-top:6rem}
.report-content .prose{max-width:none}.report-content .band .inner{max-width:none}.report-content .split{display:block}.report-content .split>h2{margin-bottom:1.5rem}
.media-player{position:relative;aspect-ratio:16/9;background:var(--loom-aubergine)}.media-player>img{width:100%;height:100%;object-fit:cover}.media-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-player .media-play{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;color:white;background:rgba(43,0,62,.15)}
[hidden]{display:none!important}.note{font-size:.9rem;margin-top:.75rem}.data-figure{margin:1.5rem 0}.data-figure h3{margin-bottom:1rem}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:1rem}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--rule);padding:.75rem;text-align:left}.table-scroll thead{background:var(--ground-tint)}.table-scroll caption{text-align:left;padding:.75rem;font-weight:600}.data-details{margin:1rem 0}.data-details summary{cursor:pointer}.data-figure figcaption{font:400 .8rem/1.5 var(--font-mono);margin-top:1rem}
.chart-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--rule);font-size:.95rem}.chart-series{display:grid;grid-template-columns:1fr minmax(70px,1fr);gap:.7rem;align-items:center}.chart-series>span:last-child{font:400 .7rem/1.5 var(--font-mono)}.chart-track{display:block;height:16px;position:relative;background:var(--ground-tint)}.chart-track:before{content:'';position:absolute;left:50%;height:100%;border-left:1px solid var(--ink)}.chart-track i{display:block;position:absolute;height:100%;background:var(--loom-blue)}.series-1 .chart-track i{background:var(--loom-aubergine)}.series-2 .chart-track i{background:#53689c}.series-3 .chart-track i{background:#9198b0}.dots .chart-track i{background:transparent!important}.dots .chart-track i:after{content:'';position:absolute;right:0;top:3px;width:10px;height:10px;border-radius:50%;background:var(--loom-blue)}
.editor-note{padding:1rem;background:#fff1cc;color:#2b003e;font:14px/1.5 system-ui}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.essay-list{grid-template-columns:1fr}.collection-search>*{width:100%}.people{display:block}.chart-row{grid-template-columns:1fr}.foot-cols{min-width:0}.has-js .masthead:not(.open) .nav{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Progressive enhancement: all content and navigation remain available without JavaScript. */
html:not(.has-js) .nav{display:flex;visibility:visible}html:not(.has-js) .nav-group-menu{display:block;position:static;opacity:1;visibility:visible;pointer-events:auto}.fade{opacity:1;transform:none}
@media print{.masthead,.foot,.media-play,.collection-tools{display:none}.report-layout{display:block}.report-sidebar{display:none}.band{padding:1rem 0}.bio[hidden]{display:block!important}}
@media print{.page.is-current{display:block!important}}

/* Preserve component typography instead of applying one size to every h2 or link. */
.page .block-page-heading.project-index-header,.page .block-page-heading.collection-head{background:var(--loom-aubergine);color:var(--loom-white);padding:clamp(2.5rem,5vw,4rem) var(--gutter)}
.block-page-heading.collection-head h1{font-size:clamp(2.65rem,5vw,4.5rem);letter-spacing:-.02em}
.data-figure h3{font:600 1.2rem/1.3 var(--font-display);margin:0 0 .75rem}
:is(#the-frame,.page) .essays--latest .loom-frame-feature .essay-title{font-size:var(--reading-title-size);line-height:var(--reading-title-leading)}


#the-frame .announcement h2{font-size:clamp(1.4rem,2vw,1.75rem)}
#the-frame .announcement>.inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2rem,5vw,5rem);align-items:center}
#the-frame .announcement h2,#the-frame .announcement .prose{grid-column:1}
#the-frame .announcement>.inner>.btn{grid-column:2;grid-row:1 / span 2;justify-self:start}
@media(max-width:840px){#the-frame .announcement>.inner{display:block}#the-frame .announcement>.inner>.btn{margin-top:1rem}}

/* Publication images share a bounded frame regardless of RSS attachment dimensions. */
.block-the-frame .loom-frame-visual{aspect-ratio:16/10;overflow:hidden;background:var(--loom-white)}
.block-the-frame .loom-frame-visual .loom-frame-image{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;margin:0}
.block-the-frame .loom-frame-feature .loom-frame-image{object-fit:contain}
.block-the-frame .loom-frame-archive .loom-frame-visual{margin-bottom:1.2rem}
.block-the-frame .loom-frame-archive>li,.block-the-frame .loom-frame-feature-copy{min-width:0}
.block-the-frame .loom-frame-feature .essay-title a,.block-the-frame .loom-frame-archive h3 a{border:0;text-decoration:none}
.block-the-frame .loom-frame-feature .essay-title a:hover,.block-the-frame .loom-frame-archive h3 a:hover{text-decoration:underline;text-underline-offset:.15em}
.block-the-frame .essay-action{margin-top:1.5rem}

/* Match the source geometry through Gutenberg's content wrapper. */
.page:not(#home):not(#on-the-loom):not(#audiovisual)>.page-content>.band:not(.band--dark)+.band:not(.band--dark){border-top:var(--rule-thin) solid var(--rule)}
.page .block-page-heading.project-index-header,.page .block-page-heading.collection-head{padding:clamp(2.5rem,5vw,4rem) var(--gutter)}
.page .block-projects.project-index-page{padding:0 0 var(--section-y)}
.block-projects.project-index-page>.inner{padding-inline:0;max-width:1280px;width:calc(100% - 2 * var(--gutter))}
.report-rich+.report-rich{margin-top:1.25rem}
.report-rich>.report-prose>p:last-child{margin-bottom:0}
.report-content .block-image-video .data-figure{margin:2.5rem 0}
.report-content .block-chart .data-figure{margin:2.5rem 0}
.page-head .content-copy>.lede{margin-top:1rem}
.content-copy>.prose:last-child{margin-bottom:0}
.block-text-section.points-layout .prose.intro{margin-bottom:1.5rem}
.block-text-section.points-layout .prose.note{margin-top:2.25rem}

.page .heading-wide .split>h2{max-width:22ch}
.people-more{margin-top:1.75rem}
.page .block-watch-listen.collection-body{padding-top:0}
.block-the-frame.essays--latest.page-head .loom-frame-feature>.loom-frame-visual{aspect-ratio:4/3}
.block-the-frame.essays--latest.page-head .essay-title{margin:.65rem 0 1rem}
#the-frame .announcement h2{margin-bottom:0}
#the-frame .announcement .prose{margin:0}
#the-frame .announcement .prose p{font-size:inherit}

.page:not(#home) .report-content .band{padding:0;background:transparent;border:0}
.page:not(#home) .block-watch-listen.collection-body{padding-top:0}
.page:not(#home) .block-page-heading.project-index-header{padding-block:clamp(2.5rem,5vw,4rem)}
.page:not(#home) .block-projects.project-index-page{padding-top:0}
.page:not(#home) .heading-wide .split>h2{max-width:22ch}

.simple-chart:not(.chart-signed) .chart-track:before{display:none}
/* Plugin toolbar shortcuts otherwise wrap over the mobile navigation toggle. */
@media(max-width:480px){#wpadminbar #wp-admin-bar-wpseo-menu,#wpadminbar #wp-admin-bar-monsterinsights_frontend_button{display:none!important}}
.output-copy{margin-top:1.5rem}

/* Native text/number tables, shared with the block editor. */
.wp-block-table{overflow-x:auto}
.wp-block-table table{width:100%;border-collapse:collapse;font-size:1rem}
.wp-block-table :is(th,td){border:0;border-bottom:1px solid var(--rule);padding:.75rem;vertical-align:top}
.wp-block-table :is(th,td):not([class*="has-text-align-"]){text-align:left}
.wp-block-table th{font-weight:600}
.wp-block-table thead{background:var(--ground-tint);border:0}
.wp-block-table tfoot{border:0;font-weight:600}
.wp-block-table figcaption{font:400 .8rem/1.5 var(--font-mono);margin-top:1rem}

/* Keep the grid and page scroll position still while a biography is open. */
html{scrollbar-gutter:stable}
html.has-bio-panel{overflow:hidden}
.bio-panel{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid var(--rule);padding:0;width:min(40rem,100%);max-width:100%;height:100%;height:100dvh;max-height:none;background:var(--loom-white);color:var(--loom-aubergine);overflow-y:auto;overscroll-behavior:contain}
.bio-panel::backdrop{background:rgba(43,0,62,.45)}
.bio-panel-toolbar{position:sticky;top:0;z-index:1;display:flex;justify-content:flex-end;padding:1rem clamp(1.25rem,4vw,3rem);background:var(--loom-white);border-bottom:1px solid var(--rule)}
.bio-panel-close{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.5rem 1rem;border:1px solid currentColor;background:transparent;color:var(--loom-blue);font:500 1rem var(--font-display);cursor:pointer}
.bio-panel-close:hover{background:var(--ground-tint)}
.bio-panel :is(button,a):focus-visible{outline:2px solid var(--loom-blue);outline-offset:3px}
.bio-panel-content{padding:clamp(1.25rem,4vw,3rem);padding-bottom:max(3rem,env(safe-area-inset-bottom))}
.bio-panel-profile{display:grid;grid-template-columns:80px minmax(0,1fr);gap:1.25rem;align-items:start;margin-bottom:2rem}
.bio-panel .person-name{font-size:var(--fs-title)}
.bio-panel .person-role{margin-top:.5rem}
.bio-panel .bio{font-size:var(--fs-body-sm);line-height:var(--lh-body);overflow-wrap:anywhere}
.bio-panel .bio p{margin-bottom:.8em}
.bio-panel .bio a{color:var(--loom-blue);text-decoration:underline;text-underline-offset:3px}
.bio-panel .bio :is(ul,ol){padding-left:1.5em;margin-bottom:1em;list-style:revert}
.bio-panel .bio img{max-width:100%;height:auto}
@media(max-width:760px){.bio-panel{width:100%;border-left:0}.bio-panel-toolbar{padding-top:max(1rem,env(safe-area-inset-top))}}
@media print{html.has-bio-panel{overflow:visible}html.has-bio-panel body{position:static!important}.bio-panel[open]{position:static;width:100%;height:auto;overflow:visible;break-before:page}.bio-panel-toolbar{display:none}}

/* Compact Watch & listen spacing on phones. */
@media (max-width: 760px) {
  #audiovisual .block-watch-listen .media-project-head { gap: 8px; margin-bottom: 16px; }
  #audiovisual .block-watch-listen .screening-grid { gap: 24px; }
  #audiovisual .block-watch-listen .screening-copy { padding-top: 12px; }
  #audiovisual .block-watch-listen .media-project-group { margin-bottom: 32px; }
  #audiovisual .block-watch-listen .media-project-group:last-child { margin-bottom: 0; }
}
