/* Projects archive: Elementor loop 520, archive 945; consultation: home widget 3ee8277.
 * Keep these component rules scoped: the Projects plugin also owns .dsp-project-gallery.
 */
body.single-project_hub:not([class*="elementor-page-"]) .site-main{max-width:1330px;padding-inline:15px}
body.single-project_hub .site-main .entry-title{max-width:980px;margin:2rem auto .35rem;color:#282828;font-family:"Redzone Bold",sans-serif;font-size:48px;font-weight:500;line-height:1.15;text-align:center}
.dit-hub{max-width:1300px;margin-inline:auto;padding-top:.75rem;padding-bottom:clamp(1.5rem,4vw,4rem)}
.dit-hub__breadcrumb{max-width:820px;margin:.75rem auto 2.25rem;padding-top:1.5rem;border-top:1px solid #dedede;color:#777;font-family:"Redzone Bold",sans-serif;font-size:11px;letter-spacing:1.1px;line-height:1.6;text-align:center;text-transform:uppercase}
.dit-hub__breadcrumb::before{display:block;width:44px;height:2px;margin:0 auto 1.25rem;background:#eb2349;content:""}
.dit-hub__breadcrumb a,.dit-hub__breadcrumb a:visited{color:#777!important;text-decoration:none!important}
.dit-hub__breadcrumb a:hover,.dit-hub__breadcrumb a:focus{color:#eb2349}
.dit-hub__breadcrumb-separator{padding-inline:.55rem;color:#c7c7c7}
.dit-hub__count{margin:0 0 1rem;font-size:.875rem;line-height:1.6}
.dit-hub__intro{max-width:900px;margin:2.75rem auto 1.25rem;padding-top:1.5rem;border-top:1px solid #dedede;color:#454545;line-height:1.85;text-align:center}
.dit-hub__intro::before{display:block;width:44px;height:2px;margin:0 auto 1.25rem;background:#eb2349;content:""}
.dit-hub__intro p{margin:0 0 1.15rem}.dit-hub__intro p:last-child{margin-bottom:0}.dit-hub__intro h2{margin:2rem 0 .75rem;color:#282828;font-family:"Redzone Bold",sans-serif;font-size:22px;font-weight:500;line-height:1.25;text-transform:uppercase}.dit-hub__intro ul{max-width:720px;margin:0 auto 1.25rem;padding-left:1.25rem;text-align:left}.dit-hub__intro li{margin-bottom:.45rem}
.dit-hub__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dit-hub__project,.dit-hub__collection{min-width:0}
.dit-hub a.dit-hub__project-link,.dit-hub__related-grid a.dit-hub__project-link{box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:1px;color:inherit;text-decoration:none;border:0;border-radius:7px;overflow:hidden}
/* The reference uses explicit image heights at desktop and mobile breakpoints. */
.dit-hub__media{display:block;flex:none;overflow:hidden;height:350px;background:#f3f3f3}
.dit-hub__media img.dit-hub__image{display:block;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1s}
.dit-hub__project-link:hover .dit-hub__image{transform:scale(1.1)}
.dit-hub__card-body{box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;flex:1;padding:20px 10px;border:1px solid #2f415d;border-radius:0 0 7px 7px;background:#fff}
.dit-hub__card-body p.dit-hub__title{margin:0;padding:0;color:#090909;font-family:"Redzone Bold",sans-serif;font-size:14px;font-weight:500;font-style:normal;line-height:19.2px;letter-spacing:normal;text-transform:uppercase;text-align:center}
.dit-hub__post-info{display:flex;justify-content:center;align-items:center;margin-top:5px;color:#090909;font-family:"Visia Pro Regular",sans-serif;font-size:14px;font-weight:500;line-height:1.5;text-align:center}
.dit-hub__post-info-text{display:block}
.dit-hub__pagination{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:3rem}
.dit-hub__pagination a{padding:.6rem 1rem;border:1px solid currentColor;text-decoration:none}
.dit-hub__pagination [aria-current=page]{font-weight:700;border-width:2px}
.dit-hub a:focus-visible,.dit-hub__related-grid a:focus-visible{outline:3px solid #2f415d;outline-offset:4px}
.dit-hub__closing{max-width:65ch;margin:2.75rem auto 0;line-height:1.8;text-align:center}
.dit-hub__cta-row{margin:2rem 0 0;text-align:center}
.dit-hub a.dit-hub__cta{box-sizing:border-box;display:inline-block;max-width:100%;padding:20px 30px;border:1px solid #eb2349;border-radius:10px;background:#eb2349;color:#fff;font-family:"Redzone Bold",sans-serif;font-size:18px;font-weight:600;line-height:1;text-transform:uppercase;text-align:center;text-decoration:none;white-space:normal;transition:background-color .3s,color .3s}
.dit-hub a.dit-hub__cta:hover,.dit-hub a.dit-hub__cta:focus{background:transparent;color:#eb2349;border-radius:10px}
.dit-hub__related{border-top:1px solid #ddd;padding-top:2rem;margin-top:3rem}
.dit-hub__related h2{margin:0 0 1rem;color:#282828;font-family:"Redzone Bold",sans-serif;font-size:22px;font-weight:500;line-height:1.25;text-transform:uppercase}
.dit-hub__related-slider{position:relative}
.dit-hub__related-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:1rem}
.dit-hub__slider-button{display:grid;width:42px;height:42px;padding:0;border:1px solid #2f415d;border-radius:0;background:#fff;color:#2f415d;place-items:center;font-size:20px;line-height:1;cursor:pointer}
.dit-hub__slider-button:hover,.dit-hub__slider-button:focus-visible{background:#2f415d;color:#fff}
.dit-hub__slider-button:disabled{border-color:#c9c9c9;background:#f7f7f7;color:#aaa;cursor:not-allowed}
.dit-hub__related-grid{display:flex;gap:20px;overflow-x:auto;padding:0 0 .75rem;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:#2f415d #ededed;scrollbar-width:thin}
.dit-hub__collection{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}
.dit-hub__related-grid::-webkit-scrollbar{height:8px}
.dit-hub__related-grid::-webkit-scrollbar-track{background:#ededed}
.dit-hub__related-grid::-webkit-scrollbar-thumb{background:#2f415d}
@media(max-width:1024px){.dit-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dit-hub__related-grid{gap:15px}.dit-hub__collection{flex-basis:calc((100% - 15px)/2)}}
@media(max-width:767px){
body.single-project_hub .site-main .entry-title{margin-top:1.5rem;font-size:34px;line-height:1.15}
.dit-hub__intro{margin-top:2rem;margin-bottom:1rem;padding-top:1.25rem;line-height:1.75}
.dit-hub__breadcrumb{margin-top:.75rem;margin-bottom:1.75rem;padding-top:1.25rem;font-size:10px;letter-spacing:.8px}
.dit-hub__breadcrumb::before{margin-bottom:1rem}
.dit-hub__grid{grid-template-columns:1fr}
.dit-hub__related-grid{gap:15px}
.dit-hub__collection{flex-basis:100%}
.dit-hub a.dit-hub__project-link,.dit-hub__related-grid a.dit-hub__project-link{border-radius:3px}
.dit-hub__media{height:240px}
.dit-hub__card-body{padding:15px 10px;border-radius:0 0 3px 3px}
.dit-hub__card-body p.dit-hub__title{line-height:.9em;letter-spacing:-.5px}
.dit-hub__post-info{font-size:13px;line-height:.8em}
}
@media(prefers-reduced-motion:reduce){.dit-hub__media img.dit-hub__image,.dit-hub a.dit-hub__cta{transition:none}.dit-hub__project-link:hover .dit-hub__image{transform:none}}
