.w04-banner{position:relative;isolation:isolate;width:100%;overflow:hidden;background:#e9e4da;color:#fff;touch-action:pan-y}
.w04-banner-slide{position:relative;min-width:0;height:var(--w04-desktop-height,520px);background:#e9e4da}
.w04-banner [hidden]{display:none!important}
.w04-banner-picture,.w04-banner-picture img{position:absolute;inset:0;display:block;width:100%;height:100%}
.w04-banner-picture img{object-fit:cover;object-position:center}
.w04-banner[data-fit="contain"] .w04-banner-picture img{object-fit:contain}
.w04-banner-with-copy::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(10,27,23,.82),rgba(10,27,23,.35) 55%,transparent);pointer-events:none;z-index:1}
.w04-banner-image-link{position:absolute;inset:0;z-index:2}
.w04-banner-copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-sizing:border-box;max-width:1320px;height:100%;margin:0 auto;padding:48px 76px 76px;pointer-events:none}
.w04-banner-copy>*{max-width:620px;margin:0}
.w04-banner-badge{font:600 12px/1.5 system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#edd9b0}
.w04-banner-copy h1{margin-top:14px;font:500 clamp(32px,4.5vw,72px)/1.06 Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance}
.w04-banner-description{margin-top:18px;font-size:16px;line-height:1.7;color:#f0f0e9;white-space:pre-line;overflow-wrap:anywhere}
.w04-banner-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.w04-banner-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:10px 22px;box-sizing:border-box;border:1px solid #f9f7f1;border-radius:4px;background:#f9f7f1;color:#19372f;font:600 14px/1.4 system-ui,sans-serif;text-decoration:none;pointer-events:auto}
.w04-banner-button-secondary{background:transparent;color:#fff}
.w04-banner-button:hover{background:#ead8b6;border-color:#ead8b6;color:#19372f}
.w04-banner-controls{position:absolute;inset:0;z-index:4;pointer-events:none}
.w04-banner button{box-sizing:border-box;cursor:pointer;pointer-events:auto}
.w04-banner-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#102b2380;color:#fff;font:400 24px/1 system-ui,sans-serif;backdrop-filter:blur(8px)}
.w04-banner-previous{left:18px}.w04-banner-next{right:18px}
.w04-banner-bottom{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;max-width:calc(100% - 32px);padding:6px 12px;border:1px solid #ffffff40;border-radius:30px;background:#102b237d;backdrop-filter:blur(8px)}
.w04-banner-dots{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0;max-width:384px}
.w04-banner-dots button{display:grid;place-items:center;width:24px;height:28px;padding:0;border:0;background:none}
.w04-banner-dots button::before{width:7px;height:7px;content:"";border-radius:6px;background:#ffffff80;transition:width .2s ease,background .2s ease}
.w04-banner-dots button[aria-current="true"]::before{width:20px;background:#fff}
.w04-banner-pause{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:transparent;color:#fff;font-size:14px}
.w04-banner-count{flex-shrink:0;font:500 11px/1 system-ui,sans-serif;color:#fff}
.w04-banner a:focus-visible,.w04-banner button:focus-visible{outline:3px solid #e3bd74;outline-offset:3px}
.w04-banner-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.w04-banner[data-w04-transition="true"] .w04-banner-slide:not([hidden]){animation:w04-banner-enter .35s ease-out}
@keyframes w04-banner-enter{from{opacity:.45}to{opacity:1}}
@media(max-width:640px){.w04-banner-slide{height:var(--w04-mobile-height,320px)}.w04-banner-copy{padding:28px 42px 62px}.w04-banner-copy>*{max-width:100%}.w04-banner-copy h1{font-size:clamp(26px,8vw,42px);line-height:1.08}.w04-banner-badge{font-size:10px;letter-spacing:.14em}.w04-banner-description{font-size:12px;line-height:1.5;margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.w04-banner-actions{gap:8px;margin-top:14px}.w04-banner-button{min-height:38px;padding:8px 12px;font-size:11px;gap:8px}.w04-banner-arrow{width:32px;height:32px;font-size:20px}.w04-banner-previous{left:6px}.w04-banner-next{right:6px}.w04-banner-bottom{bottom:10px;gap:6px;padding:2px 8px;max-width:calc(100% - 24px)}.w04-banner-dots{max-width:216px}.w04-banner-dots button{width:20px;height:24px}.w04-banner-dots button[aria-current="true"]::before{width:16px}.w04-banner-with-copy::after{background:linear-gradient(90deg,#0a1b17bd,#0a1b1770 70%,#0a1b1730)}}
@media(prefers-reduced-motion:reduce){.w04-banner *{animation:none!important;transition:none!important}}
