/* A compact project index that unfolds into the work, within the page. */
.ddl-project-directory{container:ddl-project-browser / inline-size;padding-bottom:6rem;background:#fff}
.ddl-project-directory [hidden]{display:none!important}
.ddl-project-browser{padding-block:4.5rem 1.5rem;scroll-margin-top:8rem}
.ddl-browser-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem 3rem;margin-bottom:2.5rem}
.ddl-browser-heading h2{font-size:clamp(2.2rem,3.5vw,3.3rem);margin:0;letter-spacing:-.045em}
.ddl-browser-heading p{font-size:.9rem;line-height:1.7;color:#48656a;max-width:44ch;margin:0}
.ddl-project-filters{display:flex;flex-wrap:wrap;gap:.45rem 1.65rem;padding-bottom:.8rem;border-bottom:1px solid #c5d4d1}
.ddl-project-filters button{display:flex;align-items:center;gap:.65rem;position:relative;min-height:3rem;padding:.65rem 0;border:0;border-bottom:3px solid transparent;background:transparent;color:#385b60;font:600 var(--ddl-text-min)/1.5 var(--font);text-align:left;cursor:pointer}
.ddl-project-filters .ddl-category-icon{display:none}
.ddl-filter-label{min-width:0;overflow-wrap:anywhere}
.ddl-filter-count{font-size:var(--ddl-text-min);font-weight:600;min-width:1.4rem;text-align:center;padding:.08rem .3rem;background:#edf3f1;border-radius:2px}
.ddl-filter-check{display:none}
.ddl-project-filters button[aria-pressed="true"]{color:#173d42;border-bottom-color:#735497;font-weight:750}
.ddl-project-filters button[aria-pressed="true"] .ddl-filter-count{background:#e6ddf5;color:#493369}
.ddl-project-filters button:hover{color:#173d42;border-bottom-color:#173d42}
.ddl-project-filters button:focus-visible{outline:3px solid #66458b;outline-offset:4px;z-index:1}
.ddl-browser-status{margin-top:1rem}
.ddl-project-results{margin:0;color:#48656a;font-size:var(--ddl-text-min);line-height:1.65}
.ddl-project-grid{display:grid;gap:1rem}
.ddl-project-tile{--project-tint:#ede7f7;--project-accent:#b49afa;--project-ink:#654689;position:relative;min-width:0;border:1px solid #c7d6d3;background:white;scroll-margin-top:8rem}
[data-project-tone="public-health"]{--project-tint:#e4f2f4;--project-accent:#8bd6e1;--project-ink:#286774}
[data-project-tone="health-services-research-and-policy"]{--project-tint:#e2f0ed;--project-accent:#43c2c5;--project-ink:#226264}
.ddl-project-open{display:block;list-style:none;cursor:pointer;color:#173d42}
.ddl-project-open::-webkit-details-marker{display:none}
.ddl-project-row{display:grid;grid-template-columns:8.5rem minmax(0,1.05fr) minmax(0,1fr) 3rem;align-items:center;gap:1.65rem;min-height:10.5rem;padding:1.2rem 1.65rem 1.2rem 1.2rem;margin:0;font-family:var(--font);font-weight:400;letter-spacing:normal;line-height:1.5}
.ddl-tile-art{position:relative;display:grid;place-items:center;align-self:stretch;min-height:8rem;background:var(--project-tint);isolation:isolate;overflow:hidden;color:var(--project-ink)}
.ddl-tile-art:after{content:'';position:absolute;inset:0 0 0 60%;z-index:-1;background:var(--project-accent);opacity:.3;transform:skewX(-25deg);transform-origin:bottom}
.ddl-project-emblem{display:block;width:100%;max-width:8.8rem;height:auto}
.ddl-tile-heading{display:flex;flex-direction:column;align-items:start;gap:.55rem;min-width:0}
.ddl-tile-categories{font-size:var(--ddl-text-min);font-weight:700;line-height:1.7;letter-spacing:.055em;text-transform:uppercase;color:#385b60}
.ddl-tile-title{font-size:clamp(1.6rem,2.8cqi,2.5rem);font-weight:650;line-height:1.15;letter-spacing:-.045em;color:#173d42;overflow-wrap:anywhere}
.ddl-tile-partner{font-size:var(--ddl-text-min);line-height:1.6;letter-spacing:normal;color:#48656a;max-width:38ch}
.ddl-tile-excerpt{font-size:.92rem;line-height:1.7;color:#48656a;max-width:50ch;letter-spacing:normal}
.ddl-project-action{display:flex;align-items:center;justify-content:end;font-size:var(--ddl-text-min);font-weight:650;line-height:1.5;letter-spacing:normal}
.ddl-action-closed,.ddl-action-open{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.ddl-action-open{display:none}
.ddl-project-open-icon{position:relative;display:block;flex:none;width:2.75rem;height:2.75rem;border:1px solid #77918e;border-radius:50%;background:white;color:#173d42}
.ddl-project-open-icon:before,.ddl-project-open-icon:after{content:'';position:absolute;top:50%;left:50%;width:.9rem;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.ddl-project-open-icon:after{transform:translate(-50%,-50%) rotate(90deg)}
.ddl-project-open:hover{background:#f4f7f6}
.ddl-project-open:hover .ddl-project-open-icon,.ddl-project-open:focus-visible .ddl-project-open-icon{background:#173d42;color:white;border-color:#173d42}
.ddl-project-open:focus-visible{outline:3px solid #66458b;outline-offset:4px;position:relative;z-index:1}
.ddl-project-detail-source[open]>.ddl-project-open{background:var(--project-tint)}
.ddl-project-detail-source[open] .ddl-action-closed{display:none}
.ddl-project-detail-source[open] .ddl-action-open{display:block}
.ddl-project-detail-source[open] .ddl-project-open-icon:after{display:none}
.ddl-project-detail-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:3rem;padding:2.4rem 3rem 2.7rem;border-top:1px solid #c7d6d3;box-shadow:inset 4px 0 var(--project-accent)}
.ddl-project-detail-content--no-context{grid-template-columns:minmax(0,1fr)}
.ddl-project-detail-content--no-context .ddl-detail-reading{width:100%;max-width:75ch}
.ddl-detail-context{border-right:1px solid #d3dfdc;padding-right:2.5rem;min-width:0}
.ddl-detail-eyebrow{display:block;color:#48656a;font-size:var(--ddl-text-min);font-weight:700;letter-spacing:.09em;text-transform:uppercase;line-height:1.6;margin:0 0 1.4rem}
.ddl-detail-context h4,.ddl-detail-role h4{font-size:var(--ddl-text-min);font-weight:650;line-height:1.6;margin:0 0 .45rem;color:#173d42}
.ddl-detail-context>div+div{margin-top:1.65rem}
.ddl-detail-context p{font-size:.9rem;line-height:1.75;margin:0;color:#48656a;overflow-wrap:anywhere}
.ddl-detail-reading{min-width:0;color:#31585d;font-size:1rem;line-height:1.8}
.ddl-detail-reading .ddl-prose p:first-child{margin-top:0}
.ddl-detail-reading .ddl-prose p:last-child{margin-bottom:0}
.ddl-detail-role{padding:1.25rem 1.5rem;margin:1.65rem 0;background:#f2f6f5;border-left:3px solid var(--project-accent)}
.ddl-detail-role p{margin:0;font-size:.95rem}
.ddl-detail-reading .text-link{max-width:100%;font-size:.88rem;margin-top:.2rem;overflow-wrap:anywhere}
.ddl-project-close{display:block;min-height:2.75rem;margin:1.5rem 0 0;padding:.65rem 0;border:0;background:none;color:#48656a;font:600 var(--ddl-text-min)/1.5 var(--font);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.ddl-project-close:hover{color:#173d42}
.ddl-project-close:focus-visible{outline:3px solid #66458b;outline-offset:4px}
@container ddl-project-browser (max-width:65rem){
 .ddl-browser-heading{align-items:start;flex-direction:column;gap:.65rem}
 .ddl-browser-heading p{max-width:none}
 .ddl-project-row{grid-template-columns:7rem minmax(0,1fr) 2.75rem;gap:.7rem 1.5rem;padding:1.2rem}
 .ddl-tile-art{grid-row:1/3}
 .ddl-tile-excerpt{grid-column:2;max-width:none;font-size:var(--ddl-text-min)}
 .ddl-project-action{grid-column:3;grid-row:1/3}
 .ddl-tile-title{font-size:2rem}
 .ddl-project-detail-content{gap:2rem;padding:2rem}
 .ddl-detail-context{padding-right:1.5rem}
}
@container ddl-project-browser (max-width:44rem){
 .ddl-project-browser{padding-top:2.3rem}
 .ddl-project-filters{gap:.35rem 1.3rem}
 .ddl-project-filters button{padding:.5rem 0;font-size:var(--ddl-text-min)}
 .ddl-project-row{grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;padding:1.25rem;align-items:start}
 .ddl-tile-art{grid-column:1;grid-row:1;min-height:4.5rem;align-self:start;aspect-ratio:1}
 .ddl-tile-heading{gap:.5rem}
 .ddl-tile-title{font-size:1.7rem}
 .ddl-tile-categories{font-size:var(--ddl-text-min)}
 .ddl-tile-partner{font-size:var(--ddl-text-min)}
 .ddl-tile-excerpt{grid-column:1/-1;font-size:.9rem}
 .ddl-project-detail-source[open] .ddl-tile-excerpt{display:none}
 .ddl-project-action{grid-column:1/-1;grid-row:auto;justify-content:space-between;gap:1rem;border-top:1px solid #c7d6d3;padding-top:.8rem}
 .ddl-action-closed,.ddl-action-open{position:static;clip-path:none;width:auto;height:auto;white-space:normal}
 .ddl-project-open-icon{width:2rem;height:2rem}
 .ddl-project-detail-content{display:flex;flex-direction:column;gap:2rem;padding:1.5rem}
 .ddl-detail-context{border:0;border-bottom:1px solid #c7d6d3;padding:0 0 1.5rem}
 .ddl-detail-reading{font-size:.95rem}
 .ddl-detail-role{padding:1rem}
}
@media(forced-colors:active){
 .ddl-project-filters button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-4px}
 .ddl-project-filters button:focus-visible,.ddl-project-open:focus-visible{outline:3px solid Highlight;outline-offset:4px}
 .ddl-tile-art{visibility:hidden}
 .ddl-project-tile{border:1px solid CanvasText}
 .ddl-project-open-icon{border:1px solid ButtonText}
 .ddl-project-detail-source[open]>.ddl-project-open{border-bottom:3px solid CanvasText}
}
@media print{
 .ddl-project-filters,.ddl-browser-status,.ddl-project-action,.ddl-project-close{display:none!important}
 .ddl-project-directory .ddl-project-tile[hidden],.ddl-project-detail-source:not([open])>*{display:block!important}
 .ddl-project-detail-source::details-content{content-visibility:visible}
 .ddl-project-tile{break-inside:avoid;margin-bottom:1rem}
 .ddl-tile-excerpt{display:none}
}
/* Authenticated native project previews reuse the directory without a public hero. */
.ddl-project-preview-page{padding-block:48px 80px}
.ddl-project-preview-page .ddl-browser-heading h1{font-size:clamp(32px,4vw,52px);line-height:1.15}
