.public-banner-carousel{position:relative;isolation:isolate;min-height:clamp(24rem,65vh,46rem);overflow:hidden;background:#18232b;color:#fff}
.public-banner-slide{position:absolute;inset:0;display:flex;align-items:flex-end;min-height:inherit;background:linear-gradient(135deg,#233744,#19232b)}
.public-banner-slide[hidden]{display:none!important}
.public-banner-slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.public-banner-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,20,.82),rgba(8,15,20,.36) 64%,rgba(8,15,20,.16)),linear-gradient(0deg,rgba(8,15,20,.6),transparent 55%)}
.public-banner-slide-copy{position:relative;z-index:1;width:min(100%,70rem);margin:auto auto 0;padding:clamp(3rem,8vw,7rem) clamp(1.3rem,5vw,4.5rem) 6rem}
.public-banner-slide-copy h2{max-width:13ch;margin:0;color:#fff!important;font-family:var(--public-heading-font,Inter,system-ui,sans-serif);font-size:clamp(2.7rem,8vw,6rem);font-weight:800;line-height:1.02;letter-spacing:-.04em;text-shadow:0 3px 20px rgba(0,0,0,.35)}
.public-banner-slide-copy p{max-width:38rem;margin:1.1rem 0 0;color:#fff!important;font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.5;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.public-banner-controls{position:absolute;z-index:2;right:clamp(1rem,5vw,4rem);bottom:1.4rem;left:clamp(1rem,5vw,4rem);display:flex;align-items:center;justify-content:center;gap:1rem}
.public-banner-controls>button{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(13,22,27,.56);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.public-banner-dots{display:flex;align-items:center;gap:.55rem}
.public-banner-dots button{width:.75rem;height:.75rem;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.public-banner-dots button[aria-current="true"]{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.public-banner-controls button:focus-visible{outline:3px solid #f0c76d;outline-offset:3px}
.web-editor-carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.web-editor-carousel-list{display:grid;gap:1rem}
.web-editor-carousel-slide{padding:1rem;border:1px solid var(--ui-border,#d4dce0);border-radius:12px;background:var(--ui-surface-subtle,#f4f6f7)}
.web-editor-carousel-slide-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}
.web-editor-carousel-slide-head strong{font-size:1rem}
.web-editor-carousel-slide-actions{display:flex;gap:.35rem}
.web-editor-carousel-slide-actions button{min-width:2rem;min-height:2rem;border:1px solid var(--ui-border,#b9c4ca);border-radius:8px;background:var(--ui-surface,#fff);color:var(--ui-ink,#17242b);cursor:pointer}
.web-editor-carousel-slide label{display:grid;gap:.35rem;margin:.6rem 0;color:var(--ui-ink,#17242b);font-weight:700}
.web-editor-carousel-slide input,.web-editor-carousel-slide select{box-sizing:border-box;width:100%;min-height:2.6rem;padding:.5rem .7rem}
@media(max-width:600px){.public-banner-carousel{min-height:32rem}.public-banner-slide-copy{padding:3rem 1.3rem 6rem}.public-banner-slide-copy h2{font-size:clamp(2.5rem,11vw,4rem)}.public-banner-controls{bottom:1rem}}
.web-editor-block-canvas .public-banner-carousel{min-height:clamp(18rem,38vw,27rem)}
.web-editor-block-canvas .public-banner-slide-copy{padding:2.5rem clamp(1rem,4vw,3rem) 4.3rem}
.web-editor-block-canvas .public-banner-slide-copy h2{font-size:clamp(2rem,5vw,3.8rem)}
.web-editor-block-canvas .public-banner-slide-copy p{font-size:clamp(.95rem,1.5vw,1.2rem)}
