/* CV-sourced project timeline; official logos retain their original colours. */
.project-timeline{position:relative;list-style:none;margin:36px 0 0;padding:0;display:grid;gap:24px}
.project-timeline::before{content:'';position:absolute;top:13px;bottom:28px;left:170px;width:1px;background:linear-gradient(var(--cyan),var(--border) 75%,transparent)}
.project-timeline-item{position:relative;display:grid;grid-template-columns:148px minmax(0,1fr);gap:48px;min-width:0;scroll-margin-top:calc(var(--dgu-header-height,110px) + 24px)}
.project-timeline-item+.project-timeline-item{margin-top:0}
.project-timeline-item::before{content:'';position:absolute;top:24px;left:165px;width:11px;height:11px;background:var(--bg);border:2px solid var(--cyan);border-radius:50%;box-shadow:0 0 12px rgb(var(--dgu-color-22d3ee,34 211 238) / 0.25)}
.project-date{font-size:1rem;line-height:1.5;font-weight:700;color:var(--cyan);padding-top:19px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.project-card{display:grid;grid-template-columns:208px minmax(0,1fr);align-items:center;gap:30px;padding:28px;min-width:0;border-left:2px solid var(--accent,var(--cyan))}
.project-company{display:flex;position:relative;flex-direction:column;align-items:flex-start;gap:13px;text-decoration:none;color:var(--text);min-width:0;border-radius:8px}
.project-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgb(var(--dgu-color-dbe1e8,219 225 232));border-radius:9px;width:100%;height:96px;padding:16px}
.project-logo img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none}
.project-company-name{font-weight:700;font-size:1.08rem;line-height:1.35;color:var(--text);padding-right:25px;overflow-wrap:anywhere}
.project-company-arrow{position:absolute;right:0;bottom:1px;width:1rem;height:1rem;color:var(--cyan)}
.project-activity{min-width:0;border-left:1px solid var(--border);padding-left:30px}
.project-activity h3{display:flex;align-items:flex-start;gap:12px;font-size:1.35rem;line-height:1.3;margin-bottom:12px;color:var(--text)}
.project-activity h3>.icon{width:1.3rem;height:1.3rem;margin-top:.18em}
.project-activity p{font-size:1.02rem;line-height:1.65;margin:0}
@media(max-width:960px){.project-timeline::before{left:135px}.project-timeline-item{grid-template-columns:116px minmax(0,1fr);gap:40px}.project-timeline-item::before{left:130px}.project-card{grid-template-columns:150px minmax(0,1fr);gap:24px;padding:24px}.project-logo{height:82px;padding:14px}.project-activity{padding-left:24px}}
@media(max-width:700px){.project-timeline{gap:28px;margin-top:26px}.project-timeline::before{left:5px;top:11px;bottom:24px}.project-timeline-item{display:block;padding-left:28px}.project-timeline-item::before{top:8px;left:0}.project-date{padding:0;margin-bottom:12px;font-size:.96rem}.project-card{grid-template-columns:1fr;gap:22px;padding:23px}.project-company{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:18px}.project-logo{height:70px;padding:12px}.project-company-name{font-size:1.02rem}.project-company-arrow{top:calc(50% - 8px);bottom:auto}.project-activity{border-left:0;border-top:1px solid var(--border);padding:21px 0 0}.project-activity h3{font-size:1.25rem}.project-activity p{font-size:1rem}}
@media(max-width:380px){.project-card{padding:20px}.project-company{grid-template-columns:1fr;gap:12px}.project-logo{max-width:150px;height:68px}.project-company-arrow{top:auto;bottom:1px}.project-activity h3{font-size:1.2rem}}
@media print{.project-timeline-item{break-inside:avoid}.project-timeline::before{background:#bbb}.project-timeline-item::before{border-color:#555;box-shadow:none;background:#fff}.project-date{color:#333}.project-card,.project-activity{border-color:#aaa}.project-company-name,.project-activity h3,.project-activity p{color:#111}}

.project-logo--dark{background:rgb(var(--dgu-color-0c2430,12 36 48));border-color:rgb(var(--dgu-color-29414e,41 65 78))}

#project-avon .project-logo img{max-width:120px;height:auto}
#project-deutsche-bank .project-logo img{max-width:160px;height:auto}

/* DGU sub-projects remain anonymous until approved for publication. */
.project-subprojects{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.project-subprojects h4{margin:0 0 14px;font-size:1.05rem;color:var(--text)}
.project-subproject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.project-subproject-list>li{margin:0;padding:16px;border:1px dashed var(--border);border-radius:8px;min-width:0;background:var(--surface)}
.project-subproject-list h5{font-size:1rem;line-height:1.4;margin:0 0 8px;color:var(--cyan)}
.project-subproject-list p{font-size:.9rem;color:var(--muted)}
@media(max-width:960px){.project-subproject-list{grid-template-columns:1fr}}

/* Match the existing project-details disclosure; closed by default. */
.project-subprojects.project-details{padding:0}
.project-subprojects>.project-subproject-list{padding:18px}
