@font-face{font-family:Onest;src:url(/assets/fonts/onest-cyrillic-400-DH8vlB-A.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+20BD}
@font-face{font-family:Onest;src:url(/assets/fonts/onest-latin-400-bladozIj.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;src:url(/assets/fonts/onest-cyrillic-500-DHyr8B2c.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+20BD}
@font-face{font-family:Onest;src:url(/assets/fonts/onest-latin-500-qHiQtL66.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;src:url(/assets/fonts/onest-cyrillic-600-DiaWg2oX.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+20BD}
@font-face{font-family:Onest;src:url(/assets/fonts/onest-latin-600-jVaZHx2Z.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;src:url(/assets/fonts/onest-cyrillic-700-CwpXuTGk.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+20BD}
@font-face{font-family:Onest;src:url(/assets/fonts/onest-latin-700-Bd6qVL4Q.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{font-family:Onest,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}
.skeleton{background:linear-gradient(90deg,#e5e9e3 25%,#f5f3ec 50%,#e5e9e3 75%);background-size:200% 100%;animation:skeleton 1.3s ease-in-out infinite}
@keyframes skeleton{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}
.stage-entry{min-width:0;padding:2px 0 28px;border-bottom:1px solid #e1e6df}
.stage-entry--last{padding-bottom:0;border-bottom:0}
.stage-gallery{display:flex;min-width:0;flex-direction:column;gap:9px;margin-top:16px}
.stage-gallery__main{position:relative;display:block;width:100%;height:clamp(210px,36vw,360px);overflow:hidden;border:0;border-radius:12px;padding:0;background:#e5e9e3;cursor:zoom-in}
.stage-gallery__rail{display:flex;max-width:100%;gap:8px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin;scrollbar-color:#c99335 transparent;scroll-snap-type:x proximity}
.stage-gallery__thumb{position:relative;display:block;width:78px;height:58px;flex:0 0 78px;overflow:hidden;border:1px solid transparent;border-radius:8px;padding:0;background:#e5e9e3;cursor:pointer;opacity:.72;scroll-snap-align:start;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease}
.stage-gallery__thumb[aria-current="true"]{border-color:#c99335;box-shadow:0 0 0 2px rgba(201,147,53,.18);opacity:1}
.stage-gallery__image{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.stage-gallery__main:hover .stage-gallery__image,.stage-gallery__thumb:hover .stage-gallery__image{transform:scale(1.025)}
.stage-gallery__badge{position:absolute;z-index:1;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:rgba(6,20,14,.72);backdrop-filter:blur(5px)}
.stage-gallery__badge{right:10px;bottom:10px;min-height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700}
.stage-lightbox[hidden]{display:none}
.stage-lightbox{position:fixed;z-index:3000;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(6,20,14,.94);color:#fff}
.stage-lightbox__head,.stage-lightbox__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}
.stage-lightbox__head{border-bottom:1px solid rgba(255,255,255,.16)}
.stage-lightbox__close,.stage-lightbox__nav{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid rgba(255,255,255,.26);border-radius:50%;color:#fff;background:rgba(255,255,255,.08);cursor:pointer}
.stage-lightbox__close svg,.stage-lightbox__nav svg{width:20px;height:20px}
.stage-lightbox__viewer{position:relative;display:grid;min-height:0;place-items:center;padding:18px 76px}
.stage-lightbox__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px}
.stage-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%)}
.stage-lightbox__nav--prev{left:18px}.stage-lightbox__nav--next{right:18px}
.stage-lightbox__nav[hidden]{display:none}
.stage-lightbox__caption{min-width:0;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.stage-lightbox__counter{flex:0 0 auto;color:rgba(255,255,255,.72);font-size:12px}
body.stage-lightbox-open{overflow:hidden}
.project-cover-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:44px;background:#173429;color:#f3f1e8;text-align:center;font-size:14px;line-height:1.6}
.project-cover-note{position:absolute;z-index:1;left:20px;top:20px;max-width:calc(100% - 40px);padding:7px 11px;border-radius:8px;background:rgba(23,52,41,.88);color:#f3f1e8;font-size:11px;line-height:1.45}
.project-copy{max-width:72ch;overflow-wrap:anywhere}
.project-copy p+p,.project-copy p+ul,.project-copy p+ol,.project-copy ul+p,.project-copy ol+p{margin-top:1em}
.project-copy ul,.project-copy ol{padding-left:1.4em}
.project-copy ul{list-style:disc}.project-copy ol{list-style:decimal}
.project-copy li+li{margin-top:.4em}
.project-gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.project-gallery-heading h2{min-width:0;text-wrap:balance}
.project-gallery-heading>span{flex-shrink:0}
.project-gallery-note{margin-top:10px;color:#52665a;font-size:12px;line-height:1.6}
.project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin-top:24px}
.project-media-item{min-width:0;margin:0}
.project-media-preview{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;padding:0;border:0;border-radius:12px;background:#e5e9e3;color:#173429;cursor:zoom-in}
.project-media-preview--file{cursor:pointer}
.project-media-preview:disabled{cursor:default;opacity:.6}
.project-media-preview img,.project-media-preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.project-media-preview:hover:not(:disabled) img{transform:scale(1.025)}
.project-media-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:20px;font-size:12px;line-height:1.5;text-align:center}
.project-media-placeholder svg{width:30px;height:30px}
.project-media-action{position:absolute;right:10px;bottom:10px;z-index:1;padding:6px 9px;border-radius:6px;background:#173429;color:#f3f1e8;font-size:11px;font-weight:600;line-height:1.5}
.project-media-play{position:absolute;top:50%;left:50%;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#173429;color:#f3f1e8;transform:translate(-50%,-50%)}
.project-media-play svg{width:24px;height:24px}
.project-media-item figcaption{margin-top:10px;color:#173429;font-size:13px;font-weight:600;line-height:1.55;overflow-wrap:anywhere}
.project-media-item figcaption>span{display:block;margin-top:3px;color:#52665a;font-size:11px;font-weight:400}
.project-gallery-status{margin-top:16px;color:#52665a;font-size:13px;line-height:1.6}
.project-gallery-status:empty{display:none}
.stage-lightbox__video{max-width:100%;max-height:100%;border-radius:10px;background:#06140e}
.stage-lightbox__status{max-width:42ch;color:#f3f1e8;font-size:14px;line-height:1.7;text-align:center}
.stage-lightbox__status:empty{display:none}
.stage-gallery__image--diagram{object-fit:contain}
.stage-gallery--unavailable{background:#e5e9e3}
.stage-gallery--unavailable .stage-gallery__badge{left:12px;right:12px;bottom:12px;border-radius:6px;font-size:12px}
.project-media-preview:focus-visible,.stage-gallery__main:focus-visible,.stage-gallery__thumb:focus-visible,.stage-lightbox button:focus-visible,.stage-lightbox video:focus-visible{outline:3px solid #c99335;outline-offset:3px}
#projectPage [hidden],#stageLightbox [hidden]{display:none!important}
.project-copy::selection,.project-copy *::selection{background:#c99335;color:#173429}
@media(max-width:639px){.project-gallery-grid{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:20px}.project-media-preview{aspect-ratio:3/2}.project-gallery-heading{gap:10px}.project-gallery-heading>span{font-size:12px}.project-cover-note{left:16px;top:16px;max-width:calc(100% - 32px)}.project-media-action{padding:7px 10px}.stage-lightbox__foot{font-size:11px}}
@media(prefers-reduced-motion:reduce){.project-media-preview img,.project-media-preview video,.stage-gallery__image{transition:none}.project-media-preview:hover:not(:disabled) img,.stage-gallery__main:hover .stage-gallery__image,.stage-gallery__thumb:hover .stage-gallery__image{transform:none}}
@media(max-width:639px){.stage-entry{padding-bottom:24px}.stage-entry--last{padding-bottom:0}.stage-gallery__main{height:220px}.stage-gallery__thumb{width:68px;height:50px;flex-basis:68px}.stage-lightbox__head,.stage-lightbox__foot{padding:12px 14px}.stage-lightbox__viewer{padding:12px 10px 70px}.stage-lightbox__nav{top:auto;bottom:14px;transform:none}.stage-lightbox__nav--prev{left:calc(50% - 52px)}.stage-lightbox__nav--next{right:calc(50% - 52px)}}

/* Conditions remain readable immediately before the participation action. */
.project-disclosure{margin-top:20px;border-top:1px solid #d5ddd4;padding-top:18px;min-width:0;color:#52665a;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.project-disclosure__notice{margin:0;color:#173429;font-weight:500}
.project-disclosure__links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px}
.project-disclosure-link{display:inline-flex;align-items:center;min-height:44px;color:#276842;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.project-disclosure-link:focus-visible{outline:3px solid #276842;outline-offset:3px;border-radius:4px}
.project-disclosure__terms{margin:10px 0 0}
#participationMetrics>div{min-width:0;overflow-wrap:anywhere}

/* Readable text and intrinsic sizing on narrow layouts and enlarged content. */
main .text-gold{color:#865b18}
main .text-muted,#cards .project-card-progress__label{color:#52665a}
main h1,main h2{overflow-wrap:anywhere}
#cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.project-gallery-heading{flex-wrap:wrap}
.project-gallery-heading>span{flex-shrink:1}
#projectPage section>div.flex.items-end.justify-between{flex-wrap:wrap}
#projectPage section>div.flex.items-end.justify-between>div{min-width:0}
main:has(#projectPage){container-type:inline-size}
@container(max-width:900px){
 #projectPage>article{grid-template-columns:minmax(0,1fr)}
 #projectPage>article>div:first-child{min-height:290px}
 #projectPage>div{grid-template-columns:minmax(0,1fr)}
 #projectPage>div>div{order:2;min-width:0}
 #projectPage aside{order:1;position:static;min-width:0}
}
/* Layout follows the available reading column when text is enlarged. */
#projectPage p,.stage-entry h3{overflow-wrap:anywhere}
#projectFacts>div{min-width:0}
@container(max-width:600px){
 #projectFacts{grid-template-columns:minmax(0,1fr)}
 .stage-entry>div:first-child{flex-direction:column;align-items:flex-start}
 .stage-entry>div:first-child>span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
}

/* Project sharing extends the incumbent controls; media/layout styles above are preserved. */
.project-share-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.project-share-bar>a{margin-bottom:0}
.project-share-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;margin-left:auto;padding:10px 15px;border:1px solid #d5ddd3;border-radius:12px;background:#fffef9;color:#173429;font:inherit;font-size:14px;font-weight:700;line-height:20px;cursor:pointer;transition:border-color .2s,background .2s}
.project-share-button:hover:not(:disabled){border-color:#c99335;background:#fff8e8}
.project-share-button:disabled{cursor:default;opacity:.6}
.project-share-button:focus-visible,.project-share-link:focus-visible{outline:2px solid #2e8b4c;outline-offset:3px}
.project-share-button svg{width:18px;height:18px;flex:0 0 18px}
.project-share-status{flex-basis:100%;margin:0;color:#276842;font-size:13px;line-height:20px}
.project-share-status:empty{display:none}
.project-share-fallback{flex-basis:100%;min-width:0;max-width:680px}
.project-share-fallback[hidden]{display:none}
.project-share-fallback label{display:block;margin-bottom:6px;color:#173429;font-size:13px;font-weight:600}
.project-share-link{display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d5ddd3;border-radius:10px;background:#fffef9;color:#173429;font:inherit;font-size:14px;line-height:20px}
@media(prefers-reduced-motion:reduce){.project-share-button{transition:none}}
