/* Main site: charcoal throughout, with one deep red manifesto panel. */
@font-face{font-family:'Rubik Dirt';src:url('assets/fonts/RubikDirt-latin.woff2') format('woff2'),url('assets/fonts/RubikDirt-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--background:#141512;--surface:#20221c;--line:#45483d;--muted:#b8bcac;--section-display:'Rubik Dirt','Capture it',Impact,sans-serif;--manifesto-red:#ab241f}
html,body{background:var(--background);color:var(--paper)}
.footer-bottom .github-profile{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #747b64;padding:10px 15px;min-height:44px;font:600 12px var(--display);letter-spacing:.5px;white-space:nowrap}
.footer-bottom .github-profile:hover{background:var(--paper);color:var(--ink)}
.site-header{background:var(--background);color:var(--paper);border-bottom-color:var(--line)}
.main-nav{background:var(--background);color:var(--paper)}
.main-nav .nav-cta{border-color:#d4d3c4}
.main-nav .nav-cta:hover{background:var(--paper);color:var(--ink)}
.menu-toggle{color:var(--paper)}
.school-section,.denunce-section,.programme-section,.creations-section,.site-footer{background:var(--background);color:var(--paper)}
.section-description,.programme-note{color:#d3d5c9}
.section-heading h2{font-family:var(--section-display);font-weight:400;font-size:clamp(36px,4.1vw,59px);line-height:1.16;letter-spacing:-.035em;text-transform:uppercase}
.section-heading h2 em{font-family:inherit;font-weight:400;font-size:1em;line-height:inherit;letter-spacing:inherit;color:var(--paper)}
.section-heading .eyebrow{color:#b9bdac}
.section-heading{gap:35px;align-items:flex-end}
.school-section .section-heading h2{max-width:850px}
.denunce-section .section-heading h2{max-width:900px}
.programme-section .section-heading h2{max-width:900px}
.comparison-controls>p{color:var(--paper)}
.denunce-section{border-bottom-color:var(--line)}
.denunce-empty{background:var(--surface);border-color:var(--line)}
.dossier-top,.dossier-bottom{border-color:var(--line);color:#bec2b1}
.dossier-center h3{font-family:var(--section-display);font-weight:400;font-size:clamp(27px,3.1vw,43px);line-height:1.15;letter-spacing:-.04em;text-transform:uppercase}
.dossier-center>p,.denunce-note{color:var(--muted)}
.dossier-center>svg{color:#dc4b3f}
.denuncia-card{border-color:var(--line);background:var(--surface)}
.denuncia-photo-empty{background:var(--surface);color:var(--muted)}
.denuncia-photo-count{background:var(--ink);color:var(--paper);border:1px solid #757966}
.denuncia-location{color:#ef7c6c}
.denuncia-body h3{font-family:var(--section-display);font-size:27px;font-weight:400;line-height:1.2;text-transform:uppercase}
.denuncia-description{color:#d3d5c9}
.course-card{background:var(--surface);border-color:var(--line);color:var(--paper)}
.course-body>p,.course-info{color:#bec2b2}
.course-info{border-color:var(--line)}
.course-body h3{font-family:var(--section-display);font-weight:400;font-size:24px;line-height:1.22;letter-spacing:-.045em;text-transform:uppercase;min-height:58px}
.course-body>p{min-height:48px}
.art-poster{background:#262920;color:var(--paper)}
.poster-type i{color:var(--red)}
.art-circle{color:#e3e3d6;border-color:#9b9f8b}
.art-assembly{background:#292d23;color:var(--paper)}
.filter{border-color:#626755;color:var(--paper)}
.filter.active{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.filter:not(.active):hover{border-color:var(--paper)}
.programme-status,.demo-label{color:var(--muted)}
.archive-row{border-color:var(--line)}
.archive-row:last-child{border-color:var(--line)}
.archive-row h3{font-family:var(--section-display);font-weight:400;font-size:24px;letter-spacing:-.045em;line-height:1.2}
.archive-number,.archive-type,.coming-soon{color:var(--muted)}
.coming-soon{border-color:#646a57}
.manifesto-band{background:var(--manifesto-red);color:var(--paper)}
.manifesto-band h2{font-family:var(--section-display);font-weight:400;color:var(--paper);font-size:clamp(39px,4.7vw,68px);line-height:1.15;letter-spacing:-.045em}
.manifesto-band h2>span{color:var(--paper)}
.manifesto-band .eyebrow,.manifesto-band .handwritten{color:var(--paper)}
.manifesto-band .button-ink{background:var(--ink);border-color:#e2b0a54a}
.button-ink{background:#282b22;border-color:#696f5b;color:var(--paper)}
.button-ink:hover{background:#393d31}
.course-dialog,.report-dialog{background:var(--surface);color:var(--paper);border-color:#8e9580}
.dialog-close,.report-photo-controls>button{color:var(--paper);border-color:#9ea58e}
.course-dialog h2,.report-dialog-header h2{font-family:var(--section-display);font-size:35px;font-weight:400;letter-spacing:-.04em;line-height:1.2}
.dialog-detail{border-color:var(--line)}
.dialog-note,.dialog-top>.eyebrow{color:var(--muted)}
.manifesto-intro{background:var(--background);color:var(--paper);border-bottom:1px solid var(--line)}
.manifesto-intro h1{font-family:var(--section-display);font-weight:400;color:var(--paper);font-size:clamp(52px,8vw,116px);line-height:1.12}
.manifesto-intro h1 span{color:#e24c3e}
.draft-notice{border-color:var(--line);background:var(--surface);color:#d3d5c9}
.manifesto-point{border-color:var(--line)}
.manifesto-point h2{font-family:var(--section-display);font-weight:400;font-size:31px;letter-spacing:-.04em;line-height:1.2;text-transform:uppercase}
.manifesto-point>span{color:#e45d4b}
.manifesto-point p{color:#d3d5c9}
.static-occupation{background:#11130f;color:#e83c30}
.static-occupation .static-graffiti{font-weight:400;text-shadow:1px 2px 0 #8f1c17;-webkit-text-stroke:1px #e83c30}
.static-graffiti>span:nth-child(odd){transform:rotate(-7deg)}
.static-graffiti>span:nth-child(even){transform:rotate(6deg)}
.static-occupation>small{color:#e76a59}
.static-banner{aspect-ratio:1/2.42}
.cloth-grab-zone:focus,.cloth-grab-zone:focus-visible{outline:none;box-shadow:none;border:0}
.banner-scene[data-input=keyboard] .cloth-grab-zone:focus-visible{outline:2px solid #dd7060;outline-offset:-5px}
/* Keep any old art-direction URL compatible with the finished dark theme. */
html[data-theme=carta] .hero{background:var(--background);color:var(--paper)}
html[data-theme=carta] .hero-art{background-image:radial-gradient(ellipse at 50% 45%,#080907b3 0%,#08090736 43%,transparent 76%),url('assets/collage.webp');filter:brightness(.82) saturate(.94)}
html[data-theme=carta] .hero h1 .title-symbol{background-color:var(--paper)}
html[data-theme=carta] .hero h1 .title-letters,html[data-theme=carta] .hero h2 span,html[data-theme=carta] .hero-description{color:var(--paper)}
html[data-theme=carta] .hero-topline{border-color:#f4f0e745}
html[data-theme=carta] .button-outline{background:#15151252;border-color:#f4f0e78a;color:var(--paper)}
@media(max-width:1100px){.course-body h3{font-size:21px;min-height:52px}.section-heading{gap:25px}.section-description{max-width:230px}}
@media(max-width:850px){.main-nav{background:var(--background);color:var(--paper);border-bottom-color:var(--line)}.section-heading h2{font-size:clamp(36px,5.2vw,48px)}.course-body h3{font-size:19px;min-height:68px}.course-body>p{min-height:70px}.archive-row h3{font-size:21px}}
@media(max-width:600px){.section-heading h2{font-size:clamp(30px,8vw,44px);line-height:1.2;letter-spacing:-.045em}.section-heading h2 em{font-size:1em}.section-description{max-width:none;font-size:14px}.dossier-center h3{font-size:30px}.course-body h3{font-size:25px;min-height:0}.course-body>p{min-height:0}.manifesto-band h2{font-size:clamp(34px,8.3vw,49px);line-height:1.2}.archive-row h3{font-size:19px}.course-dialog h2,.report-dialog-header h2{font-size:29px}.manifesto-intro h1{font-size:clamp(45px,11vw,68px)}.manifesto-point h2{font-size:25px}}
/* Fit the opening content in the first screen. Keep the artwork's old frame
   anchored at the top so a shorter hero only hides its lower edge. */
.hero{min-height:0;height:calc(100svh - var(--header));padding-top:16px}
.hero-art{bottom:auto;height:100%;min-height:760px}
.hero-content{padding:16px 0 24px}
.hero h1{font-size:clamp(90px,min(24vw,32svh),320px)}
.hero h2{font-size:clamp(40px,min(5vw,8svh),72px)}
.cloth-footer{justify-content:flex-end}
@media(max-width:600px){
  .hero-art{min-height:720px}
  .hero-content{padding:12px 0 22px}
  .hero h1{font-size:clamp(76px,min(32vw,23svh),180px)}
  .hero h2{font-size:clamp(32px,min(10vw,7svh),60px);margin-top:16px}
  .hero-kicker{margin-bottom:16px}
  .hero-description{margin-top:16px}
  .hero-actions{margin-top:22px}
}
@media(max-height:700px){
  .hero-content{padding-block:8px}
  .hero-kicker{margin-bottom:10px}
  .hero-description{margin-top:12px;line-height:1.5}
  .hero-actions{margin-top:16px}
}
/* Editorial launch: one removable highlight, one permanent archive entry. */
/* The real banner is taller; the flag keeps its original cloth dimensions. */
.banner-interlude{height:270svh;min-height:1500px}
.cloth-fallback{align-items:flex-start}
.static-occupation{height:96%;max-height:none;aspect-ratio:1/5.6875;background:#d9d9d7}
.static-occupation>img{height:100%;width:100%;object-fit:fill}
.static-palestine{height:67.4%;aspect-ratio:1/2.42}
.school-comparison{aspect-ratio:1.65}
.school-image{object-position:50% 50%;filter:none;transition:none}
.school-original{display:inline-block;font-size:12px;color:var(--muted);margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:5px}
.school-original:hover{color:var(--paper)}
.creations-photos{margin-top:48px}
.photos-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.photos-heading h3{font:400 36px/1.2 var(--section-display);text-transform:uppercase}
.photos-heading .eyebrow{color:var(--muted);font-size:11px}
.creation-photo{position:relative;display:block;width:100%;padding:0;background:var(--surface);border:1px solid var(--line);text-align:left;overflow:hidden}
.creation-photo>img{width:100%;height:auto;max-height:670px;object-fit:cover;object-position:50% 65%;transition:transform .4s}
.creation-photo:hover>img{transform:scale(1.015)}
.creation-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:45px 28px 25px;display:flex;align-items:baseline;justify-content:space-between;gap:20px;background:linear-gradient(transparent,#10120fed);color:var(--paper)}
.creation-photo-caption strong{font:400 35px var(--section-display);text-transform:uppercase}
.creation-photo-caption>span{font:600 12px var(--display);text-transform:uppercase;letter-spacing:1px}
.creations-photo-dialog{width:min(1200px,96vw);max-width:none;max-height:94svh;padding:20px;background:var(--background);color:var(--paper);border:1px solid #797f6a}
.creations-photo-dialog::backdrop{background:#000d;backdrop-filter:blur(5px)}
.photo-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}
.photo-dialog-heading h2{font:400 28px var(--section-display);text-transform:uppercase}
.photo-dialog-heading button{background:none;border:1px solid #797f6a;width:46px;height:44px;font-size:26px}
.creations-photo-dialog figure{margin:0}
.creations-photo-dialog figure>img{width:100%;height:auto;max-height:74svh;object-fit:contain}
.creations-photo-dialog figcaption{margin-top:12px;font:600 10px var(--display);letter-spacing:1px;color:var(--muted)}
@media(max-width:850px){.banner-interlude{height:260svh;min-height:1450px}.static-occupation{height:96%}.static-palestine{height:67.4%}}
@media(max-width:600px){.banner-interlude{height:255svh;min-height:1450px}.school-comparison{aspect-ratio:1.12}.photos-heading{align-items:baseline;gap:12px}.photos-heading h3{font-size:30px}.photos-heading .eyebrow{font-size:9px;max-width:160px;text-align:right}.creation-photo>img{aspect-ratio:1.15;height:auto;object-position:50% 65%}.creation-photo-caption{padding:35px 16px 16px}.creation-photo-caption strong{font-size:25px}.creation-photo-caption>span{font-size:10px;max-width:100px;text-align:right}.creations-photo-dialog{padding:14px}.photo-dialog-heading h2{font-size:24px}.static-occupation{max-width:30%}.static-palestine{max-width:39%}}
@media(prefers-reduced-motion:reduce){.banner-interlude{height:auto;min-height:0}.creation-photo>img{transition:none}}
.manifesto-page #manifesto{min-height:calc(100svh - var(--header) - 100px)}
.manifesto-page .manifesto-intro{border-bottom:0;padding-block:clamp(50px,9vh,110px)}
.manifesto-page .manifesto-intro>p:last-child{max-width:700px;margin-top:35px}
.communique-launch{display:flex;align-items:center;justify-content:center;gap:18px;background:#141512dd;border:1px solid #d4d0c650;padding:13px 18px;margin:0 auto 14px;width:fit-content;max-width:100%;font-size:14px;line-height:1.4}
.communique-launch .eyebrow{color:#ed796d;font-size:11px}
.communique-launch strong{white-space:nowrap}
.communique-launch:hover{border-color:#ed796d;background:#20221cf5}
html[data-communique-featured=false] .communique-launch{display:none}
.communique-archive:hover{background:var(--surface)}
.archive-read{font-size:12px;color:#ed796d;white-space:nowrap}
.programme-intro{max-width:720px;color:#d3d5c9;line-height:1.8;margin-bottom:24px}
.programme-label{color:#ed796d;margin-bottom:28px}
.programme-group{border-top:1px solid var(--line)}
.programme-group>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0}
.programme-group>summary::-webkit-details-marker{display:none}
.programme-group>summary>span:first-child{display:flex;flex-direction:column;gap:12px}
.programme-group summary .eyebrow{color:var(--muted);font-size:11px}
.programme-group summary strong,.study-panel h3{font-family:var(--section-display);font-size:clamp(25px,2.5vw,37px);font-weight:400;line-height:1.2;text-transform:uppercase}
.group-count{white-space:nowrap;font-family:var(--display);font-size:24px;color:#ed796d}
.group-count>span{display:inline-block;margin-left:12px}
.programme-group[open] .group-count>span{transform:rotate(45deg)}
.proposal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:34px}
.proposal-card{padding:25px;background:var(--surface);border:1px solid var(--line);border-top:3px solid #ab3930}
.proposal-meta{display:flex;justify-content:space-between;font:600 11px var(--display);letter-spacing:1px;color:#c1c6b4;margin-bottom:24px}
.proposal-card h3{font-family:var(--section-display);font-size:26px;line-height:1.18;font-weight:400;text-transform:uppercase;overflow-wrap:anywhere}
.proposal-card>p{font-size:15px;line-height:1.65;margin-top:16px;color:#d3d5c9}
.proposal-card .proposal-profile,.proposal-profile{font-size:13px;line-height:1.6;color:var(--muted)}
.proposal-card .proposal-profile{padding-top:18px;border-top:1px solid var(--line);margin-top:22px}
.study-panel{border:1px solid var(--line);background:var(--surface);padding:32px;margin-block:14px 32px}
.study-panel h3{margin:18px 0}
.study-panel>p{max-width:780px;line-height:1.8;margin-top:12px}
.day-outline{border-bottom:1px solid var(--line)}
.day-note{color:var(--muted);max-width:700px;line-height:1.7;margin-bottom:24px}
.day-timeline{padding:0;margin:0 0 30px;list-style:none;max-width:900px}
.day-timeline li{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:16px 0;border-top:1px solid var(--line);line-height:1.6}
.day-time{font-family:var(--display);font-weight:600;color:#ed796d;font-size:18px}
.communique-intro{border-bottom:1px solid var(--line);padding-block:65px}
.communique-intro h1{font-family:var(--section-display);font-size:clamp(38px,5.6vw,82px);font-weight:400;text-transform:uppercase;line-height:1.12;letter-spacing:-.035em;max-width:1100px;margin-block:28px}
.communique-intro>p:not(.eyebrow){font-size:21px;color:#d3d5c9;margin-bottom:26px}
.text-link{display:inline-block;border-bottom:1px solid #ed796d;padding-bottom:6px;font-weight:600}
.reading-layout{display:grid;grid-template-columns:240px minmax(0,750px);gap:7%;justify-content:center;align-items:start}
.reading-index{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px;font-size:15px;line-height:1.5}
.reading-index a>span{color:#ed796d;margin-right:8px;font-family:var(--display)}
.reading-index a:hover{color:#ed796d}
.transcription-note{font-size:13px;line-height:1.7;color:var(--muted);border-left:2px solid #ab3930;padding-left:18px;margin-bottom:45px}
.communique-text section{scroll-margin-top:110px;margin-bottom:58px}
.communique-text h2{font-family:var(--section-display);font-size:clamp(29px,3vw,43px);font-weight:400;line-height:1.2;text-transform:uppercase;margin:16px 0 28px}
.communique-text section>p:not(.eyebrow){font-size:19px;line-height:1.9;margin-top:23px;overflow-wrap:break-word}
.source-pages{border-block:1px solid var(--line);padding-block:22px;margin-bottom:35px}
.source-pages summary{cursor:pointer;font-weight:600}
.source-pages>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.source-pages img{width:100%;height:auto}
.source-pages a>span{display:block;font-size:13px;margin-top:10px}
@media(max-width:850px){.proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-layout{grid-template-columns:1fr;gap:40px}.reading-index{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}.reading-index>.eyebrow{grid-column:1/-1}}
@media(max-width:600px){
 .communique-launch{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;text-align:left;font-size:12px;width:100%;margin-bottom:10px}
 .communique-launch>.eyebrow{grid-column:1/-1;font-size:9px}.communique-launch strong{grid-column:2;grid-row:2}
 .proposal-grid{grid-template-columns:1fr;gap:14px}.proposal-card{padding:22px}.proposal-card h3{font-size:26px}
 .programme-group>summary{padding:24px 0;gap:14px}.programme-group summary strong{font-size:25px}.group-count{font-size:20px}
 .programme-intro{font-size:15px}.programme-label{font-size:10px;line-height:1.8}
 .study-panel{padding:24px}.study-panel h3{font-size:27px}.study-panel>p{font-size:15px}
 .day-timeline li{grid-template-columns:105px 1fr;gap:16px;font-size:14px}.day-time{font-size:16px}
 .communique-intro{padding-block:42px}.communique-intro>.eyebrow{font-size:10px}.communique-intro>p:not(.eyebrow){font-size:18px}
 .reading-index{font-size:13px}.communique-text section>p:not(.eyebrow){font-size:17px;line-height:1.85}.source-pages>div{grid-template-columns:1fr}
}
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none;overflow:visible}
