/* The publication's own editorial surfaces: open reading, clear diagrams. */
body.projectorium-candidate>header{height:auto;min-height:92px;padding:24px 4.45%;align-items:center}
body.projectorium-candidate>header nav{gap:24px;align-items:center}
body.projectorium-candidate>header nav a{min-height:44px;display:flex;align-items:center;line-height:1.5}
html body.projectorium-candidate main{min-width:0}
html body.projectorium-candidate main :is(h1,h2,h3,p,li){word-break:normal;overflow-wrap:normal;hyphens:none}
html body.projectorium-candidate main h1{font-size:clamp(38px,5vw,72px);line-height:1.1;letter-spacing:-.025em;margin:0;max-width:24ch;font-weight:800}
html body.projectorium-candidate main h2{font-size:clamp(29px,3.2vw,46px);line-height:1.16;letter-spacing:-.025em;margin:0 0 28px;max-width:25ch;font-weight:780}
html body.projectorium-candidate main h3{font-size:22px;line-height:1.3;letter-spacing:-.015em;margin:20px 0 16px}
html body.projectorium-candidate main p{font-size:18px;line-height:1.65;letter-spacing:normal}
html body.projectorium-candidate main .eyebrow{font-size:11px;line-height:1.6;letter-spacing:.1em;margin:0 0 24px}
html body.projectorium-candidate main>section{padding:64px 4.45%}
html body.projectorium-candidate main :is(.action,.back,.product-neighbour a){min-height:48px;font-size:12px;line-height:1.5;letter-spacing:.04em}
html body.projectorium-candidate main .action{padding:18px 22px;gap:18px;max-width:560px}
html body.projectorium-candidate main :is(.editorial-intro,.issue-grid,.visual-language-heading,.media-system-heading,.tool-card,.editorial-copy,.tool-workbench-grid){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:start}
html body.projectorium-candidate main .editorial-intro{margin-top:32px;padding-top:24px}
html body.projectorium-candidate main .editorial-intro>p:first-child{font-size:22px;line-height:1.5;margin:0}
html body.projectorium-candidate main .editorial-intro p{font-size:18px;line-height:1.65}
html body.projectorium-candidate main .edition-mark{font-size:11px;line-height:1.7}
html body.projectorium-candidate main .current-issue h2{margin-top:22px}
html body.projectorium-candidate main .issue-summary{margin:0;align-self:start}
html body.projectorium-candidate main .issue-summary p{margin-top:0}
html body.projectorium-candidate main :is(.stages,.visual-roles,.surface-ledger,.tool-results){margin-top:28px;gap:24px}
html body.projectorium-candidate main :is(.stages article,.visual-roles article,.tool-results article){min-width:0;min-height:0;padding:24px 0;border-right:0;border-top:1px solid currentColor}
html body.projectorium-candidate main .editorial-stage-title{margin-top:20px}
html body.projectorium-candidate main .editorial-stage-title h3{margin:0}
html body.projectorium-candidate main :is(.visual-language-heading,.media-system-heading)>p{margin:0;font-size:18px;line-height:1.6}
html body.projectorium-candidate main .visual-sample{min-height:140px;height:140px;margin-bottom:20px}
html body.projectorium-candidate main .visual-roles h3{font-size:20px;line-height:1.3}
html body.projectorium-candidate main .surface-ledger{grid-template-columns:repeat(3,minmax(0,1fr))}
html body.projectorium-candidate main :is(.surface-ledger>a,.surface-ledger>.surface-model){min-height:0;padding:22px;gap:18px}
html body.projectorium-candidate main .surface-ledger strong{font-size:20px;line-height:1.3}
html body.projectorium-candidate main .surface-ledger :is(a span,.surface-model span){font-size:16px;line-height:1.6}
html body.projectorium-candidate main .archive-list{margin-top:28px}
html body.projectorium-candidate main .archive-list a{grid-template-columns:110px minmax(0,1fr) auto;gap:24px;padding:24px 0}
html body.projectorium-candidate main .archive-list strong{font-size:25px;line-height:1.3;letter-spacing:-.015em;min-width:0}
html body.projectorium-candidate main .archive-note{font-size:16px;line-height:1.6}
html body.projectorium-candidate main .tool-card-offer p{font-size:18px;line-height:1.6}
html body.projectorium-candidate main .tool-price{font-size:clamp(32px,4vw,52px);line-height:1.15;margin:24px 0}
html body.projectorium-candidate main .tool-note{font-size:16px;line-height:1.6;margin-top:24px}
html body.projectorium-candidate main :is(.compass-card-art,.compass-hero-art){max-width:900px;margin:24px 0 0}
html body.projectorium-candidate main :is(.editorial-figure img,.editorial-scene img,.compass-card-art img,.compass-hero-art img){display:block;width:100%;height:auto;max-height:480px;object-fit:contain;object-position:center}
html body.projectorium-candidate main :is(.editorial-figure,.editorial-scene){margin:28px 0;max-width:960px}
html body.projectorium-candidate main :is(.editorial-figure figcaption,.editorial-scene figcaption){font-size:14px;line-height:1.55;letter-spacing:normal;gap:16px}
html body.projectorium-candidate .issue-cover{padding:36px 4.45% 48px}
html body.projectorium-candidate .issue-cover-grid{gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;margin-top:28px}
html body.projectorium-candidate .issue-cover-grid .editorial-figure{margin:0}
html body.projectorium-candidate .issue-parent{font-size:11px;line-height:1.6;min-height:44px}
html body.projectorium-candidate .issue-date{font-size:11px;line-height:1.6;margin:0 0 24px}
html body.projectorium-candidate .issue-deck{font-size:20px;line-height:1.6;margin:24px 0 0;max-width:760px}
html body.projectorium-candidate .issue-layout{grid-template-columns:220px minmax(0,1fr)}
html body.projectorium-candidate .issue-toc{padding:40px 24px 40px 4.45%;gap:0}
html body.projectorium-candidate .issue-toc p{font-size:11px;line-height:1.5;margin:0 0 16px}
html body.projectorium-candidate .issue-toc a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;padding:10px 0}
html body.projectorium-candidate .issue-chapter{padding:56px 5%;scroll-margin-top:24px}
html body.projectorium-candidate .issue-chapter :is(p,ul,ol){max-width:800px}
html body.projectorium-candidate .issue-chapter .chapter-no{font-size:11px;line-height:1.6;margin:0 0 24px}
html body.projectorium-candidate .issue-chapter .chapter-lead{font-size:21px;line-height:1.6;margin:24px 0}
html body.projectorium-candidate .issue-statement{padding:40px 5%;font-size:clamp(28px,3.2vw,46px);line-height:1.2;letter-spacing:-.025em}
html body.projectorium-candidate .ecosystem-issue-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
html body.projectorium-candidate .ecosystem-issue-map>b{display:none}
html body.projectorium-candidate .ecosystem-issue-map .ecosystem-map-link{min-width:0;min-height:0;padding:22px;gap:16px}
html body.projectorium-candidate .ecosystem-issue-map .ecosystem-map-link>strong{font-size:23px;line-height:1.2;margin:0;letter-spacing:-.02em}
html body.projectorium-candidate .ecosystem-issue-map .ecosystem-map-link>p{font-size:18px;line-height:1.6;margin:0}
html body.projectorium-candidate .week-rhythm{grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0}
html body.projectorium-candidate .week-rhythm li{min-height:0;padding:22px}
html body.projectorium-candidate .week-rhythm strong{font-size:16px;line-height:1.5;margin-top:18px}
html body.projectorium-candidate .film-target{padding:48px 5%;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px}
html body.projectorium-candidate .film-target>div>p:last-child{font-size:18px;line-height:1.6}
html body.projectorium-candidate main :is(.editorial-question,.editorial-example,.project-worksheet,.decision-card){padding:24px;margin:28px 0;min-width:0}
html body.projectorium-candidate main .editorial-question>strong{font-size:24px;line-height:1.3}
html body.projectorium-candidate main .editorial-example h3{font-size:22px;line-height:1.3;margin:0 0 18px}
html body.projectorium-candidate main :is(.issue-practice-links,.contact-options){gap:14px;margin-top:24px}
html body.projectorium-candidate main .issue-practice-links a{min-height:48px;font-size:11px;line-height:1.6;white-space:normal}
html body.projectorium-candidate main .product-hero{padding:0}
html body.projectorium-candidate main .product-hero-grid{padding:64px 4.45%;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:start}
html body.projectorium-candidate main .product-hero-copy{min-width:0;margin:0}
html body.projectorium-candidate main .product-hero-copy p{font-size:18px;line-height:1.6}
html body.projectorium-candidate main .tool-billing{font-size:16px!important;line-height:1.6;margin:22px 0!important}
html body.projectorium-candidate main .tool-workbench-grid{margin-top:28px}
html body.projectorium-candidate main .tool-results{margin:0}
html body.projectorium-candidate main .tool-results article{padding:24px 0}
html body.projectorium-candidate main .tool-results h3{font-size:22px;margin:20px 0 16px}
html body.projectorium-candidate main .tool-results p{font-size:18px;line-height:1.6}
html body.projectorium-candidate main .compass-method{margin:28px 0;gap:24px}
html body.projectorium-candidate main .compass-method li{min-height:0;padding:22px}
html body.projectorium-candidate main .grid{margin-top:28px;gap:24px}
html body.projectorium-candidate main .grid article{min-height:0;padding:24px 0}
html body.projectorium-candidate main .grid article h3{margin-top:0}
html body.projectorium-candidate main .product-neighbour{padding:28px 4.45%;gap:24px}
body.projectorium-candidate>footer{padding:44px 4.45% 28px;gap:28px;grid-template-columns:1.2fr 1fr 1.1fr .8fr}
body.projectorium-candidate>footer nav{min-width:0;gap:4px}
body.projectorium-candidate>footer nav a{min-height:44px;font-size:12px;line-height:1.5;white-space:normal;word-break:normal;overflow-wrap:normal}
body.projectorium-candidate>footer p{font-size:11px;line-height:1.6}
body.projectorium-candidate :is(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:800px){
 body.projectorium-candidate>header{min-height:82px;padding:18px 22px}
 body.projectorium-candidate>header nav{top:82px;padding:22px}
 html body.projectorium-candidate main>section{padding:44px 22px}
 html body.projectorium-candidate main h1{font-size:clamp(26px,7.4vw,42px);line-height:1.14;max-width:25ch}
 html body.projectorium-candidate main h2{font-size:28px;line-height:1.18;max-width:24ch;margin-bottom:24px}
 html body.projectorium-candidate main h3{font-size:22px;line-height:1.3}
 html body.projectorium-candidate main :is(.editorial-intro,.issue-grid,.stages,.visual-language-heading,.visual-roles,.media-system-heading,.surface-ledger,.tool-card,.issue-cover-grid,.issue-layout,.ecosystem-issue-map,.week-rhythm,.film-target,.product-hero-grid,.editorial-copy,.tool-workbench-grid,.tool-results,.compass-method,.grid){grid-template-columns:minmax(0,1fr);gap:24px}
 html body.projectorium-candidate main .editorial-intro{margin-top:28px}
 html body.projectorium-candidate main .editorial-intro>p:first-child{font-size:21px;line-height:1.6}
 html body.projectorium-candidate main .issue-summary{margin:0}
 html body.projectorium-candidate main .visual-sample{min-height:120px;height:120px}
 html body.projectorium-candidate main .archive-list a{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0}
 html body.projectorium-candidate main .archive-list strong{font-size:24px}
 html body.projectorium-candidate main .tool-price{font-size:34px}
 html body.projectorium-candidate main .tool-card .compass-card-art{margin-top:0}
 html body.projectorium-candidate main :is(.editorial-figure figcaption,.editorial-scene figcaption){display:flex;flex-direction:column;gap:8px}
 html body.projectorium-candidate .issue-cover{padding:28px 22px 38px}
 html body.projectorium-candidate .issue-cover-grid{margin-top:24px}
 html body.projectorium-candidate .issue-date{font-size:11px;line-height:1.6}
 html body.projectorium-candidate .issue-deck{font-size:19px;line-height:1.6}
 html body.projectorium-candidate .issue-layout{gap:0}
 html body.projectorium-candidate .issue-toc{position:static;padding:28px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 html body.projectorium-candidate .issue-toc p{grid-column:1/-1;margin-bottom:12px}
 html body.projectorium-candidate .issue-toc a{font-size:13px;min-height:44px}
 html body.projectorium-candidate .issue-chapter{padding:44px 22px}
 html body.projectorium-candidate .issue-chapter .chapter-lead{font-size:20px;line-height:1.6}
 html body.projectorium-candidate .issue-statement{padding:32px 22px;font-size:28px;line-height:1.2}
 html body.projectorium-candidate .ecosystem-issue-map .ecosystem-map-link{padding:22px}
 html body.projectorium-candidate .ecosystem-issue-map .ecosystem-map-link>strong{font-size:23px;line-height:1.2}
 html body.projectorium-candidate .film-target{padding:44px 22px}
 html body.projectorium-candidate main .product-hero{padding:0}
 html body.projectorium-candidate main .product-hero-grid{padding:44px 22px}
 html body.projectorium-candidate main .tool-workbench-grid{margin-top:24px}
 html body.projectorium-candidate main .product-neighbour{padding:26px 22px}
 body.projectorium-candidate>footer{padding:36px 22px 24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 body.projectorium-candidate>footer>div,body.projectorium-candidate>footer>.footer-reading,body.projectorium-candidate>footer>.copyright{grid-column:1/-1}
 body.projectorium-candidate>footer>.footer-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
 body.projectorium-candidate>footer>.footer-reading>.footer-label{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){body.projectorium-candidate .reading-progress{display:none}}
/* Product and cover variants cannot restore their former poster-sized h1. */
html body.projectorium-candidate main :is(.product-hero,.editorial-hero,.issue-cover) h1{font-size:clamp(38px,5vw,72px);line-height:1.1;letter-spacing:-.025em;max-width:24ch}
@media(max-width:800px){html body.projectorium-candidate main :is(.product-hero,.editorial-hero,.issue-cover) h1{font-size:clamp(26px,7.4vw,42px);line-height:1.14;max-width:25ch}}

/* Reset legacy map placement so its two explicit columns remain balanced. */
html body.projectorium-candidate .ecosystem-issue-map .ecosystem-map-link{grid-column:auto;grid-row:auto}
html body.projectorium-candidate .citation-panel :is(dl,dt,dd){min-width:0;max-width:100%}
html body.projectorium-candidate .citation-panel dd a[href^='http']{overflow-wrap:anywhere;word-break:normal}

/* Route markers remain secondary to the tool's title and reading text. */
html body.projectorium-candidate main .signal{font-size:11px;line-height:1.6;letter-spacing:.04em}
body.projectorium-candidate{--world-return-accent:#98b9ff}
/* The image/scheme/fact examples need spacing, not legacy card frames. */
html body.projectorium-candidate main .visual-roles,html body.projectorium-candidate main .visual-roles article{border:0}
/* Compass art fills its actual image ratio without a surrounding frame. */
html body.projectorium-candidate main :is(.compass-card-art,.compass-hero-art){padding:0;border:0;background:transparent;max-width:900px}
html body.projectorium-candidate main :is(.compass-card-art,.compass-hero-art) img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border:0;padding:0;background:transparent}
