/* connect/blok1 — page banner (partials/page_banner.php): edge to edge under the header, 8:3 capped,
   fade slider. The slide art (copy + three photos) stands in for the admin-uploaded banner image. */
.d0-blok:first-child > .d0-pb { margin-top: -24px; }
.d0-pb { --pb-fade: 500ms; }
.d0-pb .swiper-wrapper { position: relative; }
.d0-pb .swiper-slide { flex: none; width: 100%; }
.d0-pb .swiper.swiper-initialized .swiper-slide {
    position: absolute; inset: 0; opacity: 0; visibility: hidden;
    transition: opacity var(--pb-fade) ease, visibility 0s linear var(--pb-fade);
}
.d0-pb .swiper.swiper-initialized .swiper-slide.is-active {
    opacity: 1; visibility: visible; transition: opacity var(--pb-fade) ease, visibility 0s;
}
.d0-pb.is-dragging { cursor: grabbing; }
.d0-pb .swiper.swiper-initialized { cursor: grab; }

.d0-pb .d0-pb__slide {
    position: relative; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.45fr);
    height: 100%; background: var(--d0-ground); color: var(--d0-ink); text-decoration: none;
}
.d0-pb .d0-pb__photos { order: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; height: 100%; min-height: 0; }
.d0-pb .d0-pb__photos img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.d0-pb .d0-pb__copy {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: clamp(8px, 1.2vw, 16px);
    padding: clamp(14px, 4vw, 64px); min-width: 0;
}
.d0-pb .d0-pb__kicker { font: 700 12px/1.2 var(--d0-font-text); letter-spacing: 0.16em; text-transform: uppercase; color: var(--d0-yellow); }
.d0-pb .d0-pb__title { font: 700 clamp(20px, 3.6vw, 56px)/1 var(--d0-font-display); letter-spacing: -0.02em; color: var(--d0-ink); text-wrap: balance; }
.d0-pb .d0-pb__lead { max-width: 42ch; font: 400 clamp(13px, 1.1vw, 17px)/1.5 var(--d0-font-text); color: var(--d0-soft); }
.d0-pb .d0-pb__cta {
    margin-top: 4px; padding: 11px 20px; border-radius: 999px; background: var(--d0-green); color: var(--d0-ink);
    font: 700 14px/1 var(--d0-font-text); transition: background 0.25s ease;
}
.d0-pb .d0-pb__slide:hover .d0-pb__cta { background: var(--d0-green-hi); }

.d0-pb .d0-pb__dots { position: absolute; left: clamp(14px, 4vw, 64px); bottom: 18px; z-index: 2; display: flex; gap: 8px; }
.d0-pb .d0-pb__dots[hidden] { display: none; }
.d0-pb .d0-pb__dots button { width: 28px; height: 4px; padding: 0; border: 0; border-radius: 2px; background: var(--d0-line); cursor: pointer; }
.d0-pb .d0-pb__dots button.is-active { background: var(--d0-yellow); }

@media (max-width: 767px) {
    .d0-pb .d0-pb__slide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .d0-pb .d0-pb__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
    .d0-pb .d0-pb__photos img:nth-child(3) { display: none; }
    .d0-pb .d0-pb__copy { gap: 6px; padding: 12px 14px; }
    .d0-pb .d0-pb__kicker { font-size: 9px; letter-spacing: 0.12em; }
    .d0-pb .d0-pb__title { font-size: 19px; }
    .d0-pb .d0-pb__lead, .d0-pb .d0-pb__cta { display: none; }
    .d0-pb .d0-pb__dots { bottom: 10px; left: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .d0-pb .swiper.swiper-initialized .swiper-slide { transition: none; }
}
