/* Layout is scoped to project content; theme navigation and other pages retain their styles. */
.dmp-site-frame{width:100%;max-width:1180px;margin:0 auto;background:#fff}
.dmp-project-page{margin:0;background:var(--dss-soft,#f0f3f8)}
.dmp-project-page .dss-page-heading,.dmp-project-page .wp-block-kubio-hero:has(.wp-block-kubio-page-title){display:none}
#demos-projects-root{--dmp-ink:var(--dss-ink,#252d39);--dmp-sub:var(--dss-sub,#606c7d);--dmp-blue:var(--dss-blue,#1b4fc6);--dmp-line:var(--dss-line,#dde3ec);--dmp-soft:var(--dss-soft,#f6f8fb);padding:30px 5% 55px;color:var(--dmp-ink);font-family:inherit;text-align:left;overflow-wrap:anywhere;line-height:1.65}
#demos-projects-root *{box-sizing:border-box}
#demos-projects-root :is(h1,h2,h3,p,ul,dl){margin-top:0}
#demos-projects-root h1{font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-1px;margin-bottom:20px;color:var(--dmp-ink)}
#demos-projects-root h2{font-size:27px;line-height:1.3;margin-bottom:18px;color:var(--dmp-ink)}
#demos-projects-root h3{font-size:20px;line-height:1.35}
#demos-projects-root a{color:var(--dmp-blue);text-decoration:none}
#demos-projects-root a:hover{text-decoration:underline}
#demos-projects-root :is(a,button,input,select):focus-visible{outline:3px solid var(--dmp-blue);outline-offset:4px}
#demos-projects-root .dmp-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--dmp-sub);font-size:13px;margin-bottom:30px}
#demos-projects-root .dmp-page-heading{max-width:800px;margin-bottom:30px}
#demos-projects-root .dmp-eyebrow{font-size:12px;letter-spacing:1.4px;font-weight:700;color:var(--dmp-blue);margin-bottom:12px}
#demos-projects-root .dmp-page-heading>p:last-child{font-size:17px;color:var(--dmp-sub);margin-bottom:0}
#demos-projects-root .dmp-status-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 18px}
#demos-projects-root .dmp-status-tab{display:inline-flex;align-items:center;min-height:44px;padding:9px 17px;border:1px solid var(--dmp-line);border-radius:4px;background:#fff;color:var(--dmp-ink);font-size:14px}
#demos-projects-root .dmp-status-tab.is-active{border-color:var(--dmp-blue);color:#fff;background:var(--dmp-blue)}
#demos-projects-root .dmp-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:20px;background:var(--dmp-soft);border:1px solid var(--dmp-line);border-radius:5px;margin:0 0 18px}
#demos-projects-root .dmp-filters>div{flex:1 1 130px;min-width:0}
#demos-projects-root .dmp-filters>.dmp-search{flex:3 1 240px}
#demos-projects-root .dmp-filters label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
#demos-projects-root .dmp-filters :is(input,select){display:block;width:100%;min-height:44px;padding:9px 12px;border:1px solid #b7c1d0;border-radius:3px;background:#fff;color:var(--dmp-ink);font:inherit;font-size:14px}
#demos-projects-root .dmp-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 20px;border:1px solid var(--dmp-blue);border-radius:3px;background:var(--dmp-blue);color:#fff;font:inherit;font-size:14px;cursor:pointer}
#demos-projects-root .dmp-reset{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
#demos-projects-root .dmp-results-count{font-size:13px;color:var(--dmp-sub);margin-bottom:18px}
#demos-projects-root .dmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
#demos-projects-root .dmp-card{display:flex;flex-direction:column;max-width:540px;border:1px solid var(--dmp-line);border-radius:5px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
#demos-projects-root .dmp-card:hover{border-color:#b4c2dc;box-shadow:0 6px 20px rgba(37,45,57,.07)}
#demos-projects-root .dmp-card-image{display:block;position:relative;flex:none;min-height:0;aspect-ratio:16/10;overflow:hidden;background:#e9effa}
#demos-projects-root .dmp-card-image>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
#demos-projects-root .dmp-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:170px;background:linear-gradient(145deg,#edf3ff,#dce7f7);color:#3260b4;font-size:15px;letter-spacing:2px}
#demos-projects-root .dmp-card-body{display:flex;flex-direction:column;flex:1;padding:21px}
#demos-projects-root .dmp-card h2{font-size:21px;line-height:1.3;margin:12px 0}
#demos-projects-root .dmp-card h2 a{color:var(--dmp-ink)}
#demos-projects-root .dmp-badges{display:flex;flex-wrap:wrap;gap:6px;min-height:0}
#demos-projects-root .dmp-badge{display:inline-block;padding:4px 9px;border-radius:3px;font-size:11px;font-weight:700;line-height:1.5}
#demos-projects-root .dmp-badge-ongoing{background:#e7f3ed;color:#226340}
#demos-projects-root .dmp-badge-completed{background:#edf0f5;color:#526076}
#demos-projects-root .dmp-badge-draft{background:#fff3d8;color:#785511}
#demos-projects-root .dmp-card-period{font-size:12px;color:var(--dmp-sub);margin-bottom:13px}
#demos-projects-root .dmp-card-summary{font-size:14px;color:var(--dmp-sub);margin-bottom:18px}
#demos-projects-root .dmp-card-donor{font-size:12px;color:var(--dmp-sub);padding-top:14px;border-top:1px solid var(--dmp-line);margin-top:auto;margin-bottom:12px}
#demos-projects-root .dmp-card-donor>span{font-weight:700}
#demos-projects-root .dmp-card-link{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:14px;font-weight:600}
#demos-projects-root .dmp-card-link span{font-size:20px}
#demos-projects-root .dmp-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:30px 0}
#demos-projects-root .dmp-pagination :is(a,span){display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;border:1px solid var(--dmp-line);border-radius:3px;padding:7px}
#demos-projects-root .dmp-pagination span{background:var(--dmp-blue);border-color:var(--dmp-blue);color:#fff}
#demos-projects-root .dmp-supporters{margin-top:45px;padding-top:30px;border-top:1px solid var(--dmp-line)}
#demos-projects-root .dmp-donor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:16px;margin:22px 0}
#demos-projects-root .dmp-donor-tile{display:flex;flex-direction:column;align-items:center;margin:0;padding:14px;border:1px solid var(--dmp-line);border-radius:5px;background:#fff;text-align:center}
#demos-projects-root .dmp-donor-tile>div{width:100%;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
#demos-projects-root .dmp-donor-tile img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}
#demos-projects-root .dmp-donor-tile figcaption{font-size:12px;line-height:1.5;color:var(--dmp-ink);margin-top:auto}
#demos-projects-root .dmp-logo-strip{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:20px 0}
#demos-projects-root .dmp-logo-strip img{display:block;width:145px;height:76px;object-fit:contain;padding:8px;background:#fff;border:1px solid var(--dmp-line);border-radius:3px}
#demos-projects-root .dmp-empty{padding:35px 24px;border:1px solid var(--dmp-line);border-radius:5px;background:var(--dmp-soft);text-align:center}
#demos-projects-root .dmp-empty h2{font-size:23px}
#demos-projects-root .dmp-project-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:35px;align-items:center;margin-bottom:30px}
#demos-projects-root .dmp-project-intro>.dmp-badges{margin-bottom:15px}
#demos-projects-root .dmp-project-hero h1{font-size:clamp(28px,3.4vw,42px)}
#demos-projects-root .dmp-lead{font-size:17px;color:var(--dmp-sub);margin-bottom:0}
#demos-projects-root .dmp-project-cover{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:5px;background:var(--dmp-soft)}
#demos-projects-root .dmp-project-cover>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
#demos-projects-root .dmp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:24px;background:var(--dmp-soft);border:1px solid var(--dmp-line);border-radius:5px;margin:0 0 32px}
#demos-projects-root .dmp-facts dt{font-size:12px;color:var(--dmp-sub);font-weight:600;margin-bottom:5px}
#demos-projects-root .dmp-facts dd{margin:0;font-size:15px}
#demos-projects-root .dmp-section{margin:34px 0;padding-top:28px;border-top:1px solid var(--dmp-line)}
#demos-projects-root .dmp-rich{font-size:16px}
#demos-projects-root .dmp-rich :is(img,iframe,video){max-width:100%;height:auto}
#demos-projects-root .dmp-rich a{text-decoration:underline}
#demos-projects-root .dmp-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#demos-projects-root .dmp-news-card{border:1px solid var(--dmp-line);border-radius:4px;overflow:hidden}
#demos-projects-root .dmp-news-card>a{display:block;aspect-ratio:16/9}
#demos-projects-root .dmp-news-card img{width:100%;height:100%;object-fit:cover;display:block}
#demos-projects-root .dmp-news-card>div{padding:18px}
#demos-projects-root .dmp-news-card h3{font-size:18px;margin-bottom:0}
#demos-projects-root .dmp-news-card h3 a{color:var(--dmp-ink)}
#demos-projects-root .dmp-news-date{font-size:12px;color:var(--dmp-sub);margin-bottom:10px}
#demos-projects-root .dmp-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
#demos-projects-root .dmp-archive-grid>a{display:flex;align-items:center;gap:12px;min-height:75px;padding:18px;border:1px solid var(--dmp-line);border-radius:4px;background:var(--dmp-soft);font-size:14px}
#demos-projects-root .dmp-archive-grid>a>span:first-child{flex:1}
#demos-projects-root .dmp-back{margin:35px 0 0;font-size:14px}
.dmp-preview-bar{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:10px 5%;background:#fff4da;color:#64491c;font:13px/1.5 Arial,Helvetica,sans-serif}
.dmp-preview-bar a{color:#64491c}
.dmp-skip{position:absolute;left:12px;top:-100px;z-index:10000;padding:12px;background:#fff;color:#1b4fc6}
.dmp-skip:focus{top:12px}
.dmp-footer{padding:25px 5%;border-top:1px solid #dde3ec;font-size:13px}
@media(max-width:1000px){#demos-projects-root .dmp-grid,#demos-projects-root .dmp-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#demos-projects-root{padding:25px 6% 40px}#demos-projects-root .dmp-project-hero{grid-template-columns:minmax(0,1fr);gap:25px}#demos-projects-root .dmp-project-cover{max-height:340px}#demos-projects-root .dmp-archive-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){#demos-projects-root .dmp-grid,#demos-projects-root .dmp-news-grid,#demos-projects-root .dmp-facts{grid-template-columns:minmax(0,1fr)}#demos-projects-root .dmp-filters>div{flex-basis:100%}#demos-projects-root .dmp-filters>.dmp-search{flex-basis:100%}#demos-projects-root .dmp-filters>.dmp-button{flex:1}#demos-projects-root .dmp-card-body{padding:22px}#demos-projects-root .dmp-logo-strip{gap:12px}#demos-projects-root .dmp-logo-strip img{width:125px;height:68px}}
@media(prefers-reduced-motion:reduce){#demos-projects-root *{transition:none!important}}

/* A missing photo occupies exactly the same cover frame as a real photo. */
#demos-projects-root .dmp-card-image>.dmp-placeholder,#demos-projects-root .dmp-project-cover>.dmp-placeholder{position:absolute;inset:0;width:100%;height:100%;min-height:0}
