.ddprog{padding:var(--dd-section) 0;font-family:var(--dd-font-text);scroll-margin-top:80px}
.ddprog-in{max-width:var(--dd-container);margin:0 auto;padding:0 var(--dd-gutter)}
.ddprog-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}
.ddprog-h2{font-family:var(--dd-font-display);font-size:var(--dd-fs-h2);font-weight:800;line-height:1.02;letter-spacing:-.025em;color:var(--dd-ink);margin:0}
.ddprog-all{font-weight:600;color:var(--dd-teal-text);text-decoration:none;white-space:nowrap}
.ddprog-all:hover{text-decoration:underline;text-underline-offset:4px}
.ddprog-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:18px}
.ddprog-tile{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--dd-radius-lg);background:var(--dd-card);color:var(--dd-ink);text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.ddprog-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(0,61,92,.35)}
.ddprog-tile:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;z-index:3;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),var(--dd-teal),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.ddprog-tile:hover:before{opacity:1}
.ddprog-tile img{transition:transform 1s cubic-bezier(.16,1,.3,1)}
.ddprog-tile:hover img{transform:scale(1.05)}
.ddprog-tile h3{font-family:var(--dd-font-display);font-weight:800;font-size:24px;line-height:1.15;letter-spacing:-.015em;margin:0}
.ddprog-tile p{font-size:15px;line-height:1.55;margin:8px 0 0}
.ddprog-who{display:block;font-size:14px;font-weight:600;color:var(--dd-teal-text);margin-bottom:8px}
.ddprog-big{grid-column:span 2;grid-row:span 2;justify-content:flex-end;color:#fff}
.ddprog-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% var(--foco,72%)}
.ddprog-big:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,26,46,0) 35%,rgba(0,26,46,.92) 100%)}
.ddprog-big .ddprog-txt{position:relative;z-index:1;padding:32px}
.ddprog-big h3{font-size:34px;color:#fff;margin-bottom:10px}
.ddprog-big p{color:#DDE7EC;max-width:44ch}
.ddprog-big .ddprog-who{color:var(--dd-teal-on-dark)}
.ddprog-wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}
.ddprog-wide{grid-template-rows:minmax(0,1fr)}
.ddprog-wide img{width:100%;height:100%;min-height:0;object-fit:cover}
.ddprog-wide .ddprog-txt,.ddprog-tint .ddprog-txt{padding:26px}
.ddprog-tint{background:var(--dd-tint)}
.ddprog-half{grid-column:span 2}
.ddprog-more{background:var(--dd-primary);color:#fff;padding:26px;justify-content:space-between}
.ddprog-more h3{color:#fff;font-size:22px}
.ddprog-more ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:15px;color:var(--dd-on-primary-muted)}
.ddprog-more .ddprog-who{color:var(--dd-teal-on-dark)}
.ddprog-more p{color:var(--dd-on-primary-muted);max-width:46ch}
.ddprog-go{font-weight:600;color:var(--dd-accent)}
@media (max-width:980px){.ddprog-head{flex-direction:column;align-items:flex-start}.ddprog-grid{grid-template-columns:1fr;grid-auto-rows:auto}.ddprog-big,.ddprog-wide,.ddprog-half{grid-column:auto;grid-row:auto}.ddprog-big{min-height:380px}.ddprog-wide{grid-template-columns:1fr;grid-template-rows:auto}.ddprog-wide img{height:200px}}
@media (prefers-reduced-motion: reduce){.ddprog-tile,.ddprog-tile img{transition:none}.ddprog-tile:hover{transform:none}.ddprog-tile:hover img{transform:none}}