/* P4 shared design, 2026-10-28. A static editorial shell over the existing archive. */
:root{--p4-bg:#080909;--p4-ink:#eeeae2;--p4-muted:#aaa89f;--p4-line:#333632;--p4-accent:#d7b66e;--p4-surface:#111310;--p4-wide:1248px;--p4-reading:720px;--p4-font:"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
html{scroll-padding-top:100px}
body.p4-designed{background:var(--p4-bg);color:var(--p4-ink);font-family:var(--p4-font);--paper:var(--p4-bg);--bg:var(--p4-bg);--ink:var(--p4-ink);--text:var(--p4-ink);--muted:var(--p4-muted);--line:var(--p4-line);--accent:var(--p4-accent);-webkit-font-smoothing:antialiased}
.p4-designed *, .p4-designed *:before,.p4-designed *:after{box-sizing:border-box}
.p4-designed a{text-underline-offset:.25em}
.p4-designed .button,.p4-designed .button:hover{color:#080909}
.p4-global-header a,.p4-global-directory a{color:inherit}
.p4-designed a:hover{color:var(--p4-accent)}
.p4-designed a:focus-visible,.p4-designed summary:focus-visible,.p4-designed button:focus-visible{outline:2px solid var(--p4-accent);outline-offset:5px}
.p4-designed img{max-width:100%}
.p4-global-header{position:sticky;top:0;z-index:100;margin:0;background:rgba(8,9,9,.98);border-bottom:1px solid var(--p4-line);color:var(--p4-ink);isolation:isolate}
.p4-global-inner{width:min(1248px,calc(100% - 96px));min-height:90px;display:flex;align-items:center;gap:30px;margin:auto}
.p4-global-brand{display:flex;align-items:center;gap:14px;flex-shrink:0;text-decoration:none!important;line-height:1.3}
.p4-global-brand img{width:112px;height:36px;object-fit:contain;display:block}
.p4-global-brand span{font-size:16px;font-weight:500;letter-spacing:-.02em;white-space:nowrap}
.p4-global-nav{display:flex;gap:30px;margin-left:auto;align-items:center}
.p4-global-nav a{display:flex;align-items:center;min-height:48px;font-size:14px;text-decoration:none;white-space:nowrap;position:relative;font-weight:400}
.p4-global-nav a[aria-current]{color:var(--p4-accent)}
.p4-global-nav a[aria-current]:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--p4-accent)}
.p4-global-languages{display:flex;align-items:center;gap:14px;padding-left:24px;border-left:1px solid var(--p4-line)}
.p4-global-languages a{display:flex;align-items:center;min-height:44px;font-size:12px;text-decoration:none;color:var(--p4-muted)}
.p4-global-languages a[aria-current]{color:var(--p4-ink);text-decoration:underline;text-underline-offset:6px}
.p4-mobile-menu{display:none}
.p4-global-directory{width:min(1248px,calc(100% - 96px));margin:80px auto 0;padding:56px 0 40px;border-top:1px solid var(--p4-line);display:grid;grid-template-columns:1fr 2fr;gap:40px;clear:both;font-size:14px;line-height:1.75}
.p4-directory-brand{display:flex;flex-direction:column;gap:16px}
.p4-directory-brand strong{font-size:32px;font-weight:500;letter-spacing:-.035em}
.p4-directory-brand span{font-size:13px;color:var(--p4-muted)}
.p4-directory-columns{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:30px}
.p4-directory-columns h3{font-size:12px;color:var(--p4-muted);font-weight:400;margin:0 0 16px;letter-spacing:.04em}
.p4-directory-columns nav{display:flex;flex-direction:column;gap:4px}
.p4-directory-columns a{min-height:32px;display:inline-flex;align-items:center;text-decoration:none;font-size:14px;line-height:1.7}
.p4-context-links{grid-column:2;font-size:12px;color:var(--p4-muted)}
.p4-context-links summary{cursor:pointer;padding:10px 0}
.p4-context-links nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px}
.p4-designed>.site-footer,.p4-designed>.archive-footer,.p4-designed>.tm-footer{background:transparent;border-top:1px solid var(--p4-line);max-width:1248px;margin-inline:auto;padding:24px 0 36px;color:var(--p4-muted);font-size:12px;width:calc(100% - 96px)}
.p4-designed .article-language-switch{display:none}
.p4-designed .wrap,.p4-designed .archive-wrap,.p4-designed .tm-wrap{width:min(1248px,calc(100% - 96px))}
.p4-designed .breadcrumbs,.p4-designed .tm-breadcrumbs{font-size:12px;color:var(--p4-muted);padding-top:24px;margin-bottom:32px;line-height:1.7}
.p4-designed .archive-intro,.p4-designed .tm-hero{padding-block:10px 44px}
.p4-designed .archive-intro h1,.p4-designed .tm-hero h1{font-size:clamp(38px,4.6vw,64px);font-weight:500;line-height:1.24;letter-spacing:-.045em;max-width:20em;text-wrap:pretty}
.p4-designed .archive-lead,.p4-designed .tm-dek{font-size:18px;line-height:1.85;max-width:43em;color:var(--p4-muted);margin-top:22px}
.p4-designed .tm-grid{gap:28px}
.p4-designed .tm-card,.p4-designed .tm-site{border-radius:0;background:transparent;border:0;border-top:1px solid var(--p4-line);padding:28px 0 32px}
.p4-designed .tm-card h2,.p4-designed .tm-site h3{font-weight:500;line-height:1.45;font-size:27px}
.p4-designed .tm-card p,.p4-designed .tm-site p{font-size:16px;line-height:1.85}
.p4-designed .entity-wrap{width:min(1120px,calc(100% - 96px));max-width:1120px;margin:0 auto;padding:64px 0}
.p4-designed .entity-hero h1,.p4-designed .hefa-hero h1{font-size:clamp(38px,4.6vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1.3;max-width:20em}
.p4-designed .entity-hero .dek,.p4-designed .hefa-hero .dek{font-size:20px;line-height:1.85;max-width:40em;color:var(--p4-muted)}
.p4-designed .entity-panel{background:transparent;border:0;border-top:1px solid var(--p4-line);border-radius:0;padding:30px 0;box-shadow:none}
.p4-designed .entity-summary{gap:44px;margin-top:56px}
.p4-designed .entity-section{margin-block:56px}
.p4-designed .entity-section h2,.p4-designed .entity-panel h2{font-weight:500;font-size:30px;line-height:1.4;letter-spacing:-.02em}
.p4-designed .entity-section p,.p4-designed .entity-panel p{font-size:17px;line-height:1.9}
.p4-designed .chip{background:transparent;border:0;border-radius:0;padding:0 16px 0 0;color:var(--p4-muted);font-size:12px}
.p4-designed .entity-media{gap:40px;margin-top:44px}
.p4-designed .entity-media img{border-radius:0;object-fit:contain}
.p4-designed .ecology-intro .project-toc{margin-top:36px}
.p4-designed .ecology-position{padding-left:24px;margin-block:32px 56px;max-width:900px}
.p4-designed .ecology-method{gap:40px;margin-bottom:60px}
.p4-designed .ecology-collectives{gap:60px 48px}
.p4-designed .ecology-collective{padding-top:30px}
.p4-designed .ecology-collective header h3{font-size:34px;font-weight:500}
.p4-designed .ecology-collective-relation{font-size:17px;line-height:1.9}
.p4-designed .ecology-collective-gallery img{max-height:360px;object-fit:contain;object-position:left center}
.p4-designed .ecology-collective-gallery figcaption{font-size:12px}
.p4-designed .ecology-collective-block{border-top:1px solid var(--p4-line);padding-top:22px}
.p4-designed .ecology-relations{gap:24px 48px}
.p4-designed .ecology-videos{gap:48px}
.p4-designed .ecology-video-copy h3{font-size:25px;font-weight:500}
.p4-designed .evidence{border-radius:0;background:transparent}
@media(max-width:1120px){.p4-global-nav{gap:20px}.p4-global-brand span{display:none}.p4-global-inner{gap:24px}.p4-global-languages{padding-left:18px}.p4-directory-columns{gap:18px}}
@media(max-width:820px){
 .p4-global-inner{width:calc(100% - 40px);min-height:72px;gap:20px;flex-wrap:wrap}
 .p4-global-brand img{width:100px;height:32px}.p4-global-nav{display:none}.p4-global-languages{margin-left:auto;padding-left:0;border:0}
 .p4-mobile-menu{display:block;position:static}.p4-mobile-menu summary{font-size:13px;display:flex;align-items:center;gap:12px;min-height:48px;list-style:none;cursor:pointer}.p4-mobile-menu summary::-webkit-details-marker{display:none}.p4-mobile-menu summary span{font-size:20px;line-height:1}
 .p4-mobile-menu[open] summary span{transform:rotate(45deg)}
 .p4-mobile-menu nav{position:absolute;top:100%;left:0;right:0;background:#111310;border-bottom:1px solid var(--p4-line);padding:16px 24px 26px;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
 .p4-mobile-menu nav a{font-size:16px;text-decoration:none;display:flex;align-items:center;min-height:54px;border-bottom:1px solid var(--p4-line)}
 .p4-mobile-menu nav a[aria-current]{color:var(--p4-accent)}
 .p4-global-directory{width:calc(100% - 40px);margin-top:56px;padding-top:36px;grid-template-columns:1fr;gap:32px}.p4-context-links{grid-column:1}.p4-directory-brand{gap:8px}.p4-directory-brand strong{font-size:29px}
 .p4-designed>.site-footer,.p4-designed>.archive-footer,.p4-designed>.tm-footer{width:calc(100% - 40px);padding-top:22px}
 .p4-designed .wrap,.p4-designed .archive-wrap,.p4-designed .tm-wrap,.p4-designed .entity-wrap{width:calc(100% - 40px)}
 .p4-designed .archive-intro h1,.p4-designed .tm-hero h1,.p4-designed .entity-hero h1,.p4-designed .hefa-hero h1{font-size:38px;line-height:1.35}
 .p4-designed .archive-lead,.p4-designed .tm-dek,.p4-designed .entity-hero .dek{font-size:17px;line-height:1.85}
 .p4-designed .entity-wrap{padding-block:38px}.p4-designed .entity-media{gap:24px}.p4-designed .entity-summary{gap:24px;margin-top:30px}
 .p4-designed .ecology-collectives,.p4-designed .ecology-relations{grid-template-columns:1fr;gap:36px}.p4-designed .ecology-method{gap:24px}.p4-designed .ecology-collective header h3{font-size:29px}
}
@media(max-width:480px){.p4-directory-columns{grid-template-columns:1fr 1fr;row-gap:26px}.p4-directory-columns>div:last-child{grid-column:1/-1}.p4-directory-columns>div:last-child nav{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.p4-global-inner{gap:16px}.p4-designed .tm-grid{grid-template-columns:1fr}.p4-designed .ecology-videos{grid-template-columns:1fr}.p4-designed .ecology-method{grid-template-columns:1fr}.p4-designed .entity-summary{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.p4-global-header,.p4-global-directory{display:none}}

/* Directory tools belong together, without a second navigation band. */
.p4-designed.project-directory>main>.project-toc{border:0;padding:0;margin:-12px 0 18px;font-size:13px}
.p4-designed.project-directory>main>.project-toc a{min-height:40px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:820px){.p4-designed .project-directory-intro{padding-bottom:28px}.p4-designed .project-directory-note{margin-bottom:24px}.p4-designed.project-directory .archive-filter{margin-bottom:32px;padding-block:18px}}

.p4-global-skip{position:fixed;left:20px;top:-100px;z-index:120;background:var(--p4-accent);color:#080909!important;padding:12px 18px;font-size:15px;text-decoration:none}.p4-global-skip:focus{top:10px}
.p4-designed>.skip-link,.p4-designed>.skip,.p4-designed>.tm-skip{z-index:120}

.p4-designed .article-wrap>article>.p4-repeat-summary{display:none}
