.dsg-banner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:2rem 1rem;box-sizing:border-box}.dsg-banner--image-left .dsg-banner__content{order:2}.dsg-banner--image-left .dsg-banner__image{order:1}.dsg-banner__eyebrow{font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .75rem;opacity:.7}.dsg-banner__headline{margin:0 0 1rem;line-height:1.15;font-size:clamp(1.75rem, 3.5vw, 3rem);font-weight:600}.dsg-banner__subline{margin:0 0 1.5rem;line-height:1.5;font-size:1.0625rem;opacity:.85}.dsg-banner__buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.dsg-banner__buttons:has(>.dsg-banner__btn:only-child){justify-content:center}.dsg-banner__btn{display:inline-flex;align-items:center;padding:.75rem 1.5rem;border:2px solid currentColor;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color 0.15s,color 0.15s,transform 0.15s}.dsg-banner__btn--primary{background:currentColor;color:#fff}.dsg-banner__btn--primary>*{color:#fff}.dsg-banner__btn--secondary{background:#fff0}.dsg-banner__btn:hover,.dsg-banner__btn:focus-visible{transform:translateY(-1px)}.dsg-banner__btn:focus-visible{outline:3px solid #2271b1;outline-offset:2px}.dsg-banner__image{display:block}.dsg-banner__image img,.dsg-banner__image picture{display:block;width:100%;height:auto;max-width:100%;border-radius:8px;object-fit:cover;aspect-ratio:4 / 3}.dsg-banner__image--embed{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4 / 3}.dsg-banner__image--embed img,.dsg-banner__image--embed picture{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.dsg-banner__embed{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:1;background:#fff0}@media (max-width:768px){.dsg-banner{grid-template-columns:1fr;gap:1.5rem;padding:1rem}.dsg-banner__image{order:-1}.dsg-banner--image-left .dsg-banner__content,.dsg-banner--image-left .dsg-banner__image{order:initial}.dsg-banner--image-left .dsg-banner__image{order:-1}}.dsg-gallery-carousel .swiper-slide.dsg-gallery-item--banner{height:auto;display:flex;align-items:stretch}.dsg-gallery-carousel .dsg-gallery-item--banner .dsg-banner{flex:1}.dsg-banner-preview .dsg-banner{padding:1rem;gap:1rem;font-size:.875em}.dsg-banner-preview .dsg-banner__headline{font-size:1.25rem}.dsg-banner-preview .dsg-banner__image-placeholder{background:#eee;color:#999;padding:2rem .5rem;text-align:center;border-radius:4px;border:1px dashed #ccc}