.di-block{--di-accent:#2563eb;--di-text:#1f2937;--di-muted:#6b7280;--di-radius:12px;padding:64px 20px;background-size:cover;background-position:center;color:var(--di-text);box-sizing:border-box}
.di-block *{box-sizing:border-box}
.di-inner{max-width:1200px;margin:0 auto}
.di-head{max-width:760px;margin:0 auto 40px;text-align:center}
.di-eyebrow{display:block;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--di-accent);margin-bottom:8px;font-weight:600}
.di-title{margin:0 0 12px;line-height:1.2}
.di-text p:last-child{margin-bottom:0}
.di-grid{display:grid;gap:48px;align-items:center}
.di-grid--image-right,.di-grid--image-left{grid-template-columns:1fr 1fr}
.di-grid--center{grid-template-columns:1fr;text-align:center}
.di-col--media img{width:100%;height:auto;border-radius:var(--di-radius);display:block}
.di-col--text .di-head{text-align:left;margin:0 0 24px;max-width:none}
.di-grid--center .di-col--text .di-head{text-align:center;margin:0 auto 24px;max-width:760px}
.di-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.di-grid--center .di-btns{justify-content:center}
.di-btn{display:inline-block;padding:12px 26px;border-radius:999px;text-decoration:none;font-weight:600;border:2px solid var(--di-accent)}
.di-btn--primary{background:var(--di-accent);color:#fff}
.di-btn--ghost{background:transparent;color:var(--di-accent)}
.di-cards,.di-counters,.di-gallery{display:grid;gap:24px}
.di-cols-2{grid-template-columns:repeat(2,1fr)}.di-cols-3{grid-template-columns:repeat(3,1fr)}.di-cols-4{grid-template-columns:repeat(4,1fr)}.di-cols-5{grid-template-columns:repeat(5,1fr)}.di-cols-6{grid-template-columns:repeat(6,1fr)}
.di-cards--card .di-card,.di-testimonial{background:#fff;border:1px solid #e5e7eb;border-radius:var(--di-radius);padding:28px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.di-card__media img{width:100%;height:auto;border-radius:8px;margin-bottom:16px}
.di-card__icon{font-size:2rem;color:var(--di-accent);margin-bottom:14px}
.di-card__title{margin:0 0 8px;font-size:1.2rem}
.di-card__text{color:var(--di-muted)}
.di-card__link{color:var(--di-accent);font-weight:600;text-decoration:none}
.di-testimonial{margin:0}
.di-testimonial blockquote{margin:0 0 16px;font-style:italic}
.di-testimonial figcaption{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.di-testimonial__photo img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.di-testimonial__role{color:var(--di-muted);font-size:.9rem}
.di-stars{color:#f59e0b;margin-bottom:10px}
.di-gallery__item img{width:100%;height:auto;display:block;border-radius:8px}
.di-gallery--logos{align-items:center}.di-gallery--logos img{filter:grayscale(1);opacity:.8;border-radius:0;object-fit:contain}
.di-faq{max-width:820px;margin:0 auto}
.di-faq__item{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:12px;padding:0 20px;background:#fff}
.di-faq__item summary{cursor:pointer;padding:16px 0;font-weight:600}
.di-faq__answer{padding:0 0 16px;color:var(--di-muted)}
.di-counters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center}
.di-counter__num{font-size:2.6rem;font-weight:700;color:var(--di-accent)}
.di-counter__label{color:var(--di-muted)}
.di-cta{text-align:center;color:#fff;background-color:var(--di-accent)}
.di-cta .di-title,.di-cta .di-text{color:#fff}
.di-cta .di-btn--primary{background:#fff;color:var(--di-accent);border-color:#fff}
.di-video iframe,.di-video video{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--di-radius)}
.di-slider{position:relative}
.di-slider__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0}
.di-slider__track::-webkit-scrollbar{display:none}
.di-slide{flex:0 0 calc(100% / var(--di-pv,1));box-sizing:border-box;scroll-snap-align:start;position:relative}
.di-slider:not([data-pv="1"]) .di-slide{padding:0 8px}
.di-slide--overlay .di-slide__body{position:absolute;left:0;right:0;bottom:0;padding:48px 32px 32px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));border-radius:0 0 var(--di-radius) var(--di-radius)}
.di-slide--overlay .di-slide__title,.di-slide--overlay .di-slide__text{color:#fff}
.di-slider__dots{display:flex;justify-content:center;gap:8px;padding-top:14px}
.di-slider:not([data-dots]) .di-slider__dots{display:none}
.di-slider__dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#cbd5e1;cursor:pointer}
.di-slider__dot.is-active{background:var(--di-accent,#0f172a)}
.di-slide__media img{width:100%;height:auto;display:block;border-radius:var(--di-radius)}
.di-slide__body{padding:20px 0}
.di-slider__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:0;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;z-index:2}
.di-slider__nav--prev{left:12px}.di-slider__nav--next{right:12px}
.di-empty{padding:24px;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;text-align:center}
@media(max-width:900px){.di-slide{flex-basis:calc(100% / var(--di-pv-t,1))}.di-cols-3,.di-cols-4,.di-cols-5,.di-cols-6{grid-template-columns:repeat(2,1fr)}.di-grid--image-right,.di-grid--image-left{grid-template-columns:1fr}.di-grid--image-left .di-col--media{order:-1}}
@media(max-width:560px){.di-slide{flex-basis:calc(100% / var(--di-pv-m,1))}.di-slide--overlay .di-slide__body{padding:32px 16px 16px}.di-cols-2,.di-cols-3,.di-cols-4,.di-cols-5,.di-cols-6{grid-template-columns:1fr}.di-block{padding:44px 16px}}

/* 3.1 exact Elementor renderer: do not apply DI card/grid styles to its DOM. */
.di-exact-render{width:100%;max-width:none;padding:0;margin:0}
.di-exact-render > .elementor{width:100%}
.di-exact-render .elementor-section,.di-exact-render .e-con,.di-exact-render .elementor-container{box-sizing:border-box}
.di-static-render{width:100%;max-width:none;margin:0;padding:0;box-sizing:border-box}
.di-static-render style,.di-static-render script{display:none!important}

/* Fallback for static carousels whose original JS (Owl/Swiper) never started */
.di-slider--fb{position:relative;width:100%}
.di-slider--fb > .di-slider__track{display:flex !important;flex-wrap:nowrap !important;transform:none !important;width:100% !important;max-width:100% !important;overflow-x:auto !important;opacity:1 !important;visibility:visible !important;height:auto !important;transition:none !important}
.di-slider--fb > .di-slider__track > .di-slide{width:auto !important;max-width:none !important;margin:0 !important;float:none !important;flex:0 0 calc(100% / var(--di-pv,1)) !important;display:block !important}
@media(max-width:900px){.di-slider--fb > .di-slider__track > .di-slide{flex-basis:calc(100% / var(--di-pv-t,1)) !important}}
@media(max-width:560px){.di-slider--fb > .di-slider__track > .di-slide{flex-basis:calc(100% / var(--di-pv-m,1)) !important}}

/* Elementor hides animated elements until its JS runs; without Elementor they must stay visible */
.di-static-render .elementor-invisible{visibility:visible !important;opacity:1 !important}
.di-static-render .elementor-widget-container{min-width:0}

.di-slider--ext-nav > .di-slider__nav{display:none !important}
.di-slider--fb > .di-slider__track > .wpr-grid-item{display:block !important}

/* image-only carousel slides: natural size, capped to the slide and centred (same as Elementor's Image Carousel) */
.di-slide--img img{max-width:100%;height:auto;display:block;margin-left:auto;margin-right:auto}
.di-slide--img figure{margin:0}
.di-slider--no-arrows > .di-slider__nav{display:none !important}
