.swave-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.swave-form-notice{margin:14px 0;font-size:16px;line-height:1.45}
.swave-form-notice.is-success{color:#1f6b3a}
.swave-form-notice.is-error{color:#c43b35}

.swave-connect-card{width:100%}
.swave-connect-card h3{margin:0 0 18px;font:inherit;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.08}
.swave-connect-copy{margin-bottom:28px;line-height:1.65}
.swave-connect-copy p{margin:0 0 12px}
.swave-form{display:grid;gap:21px}
.swave-form label>span{display:block;margin-bottom:10px}
.swave-form input[type="text"],
.swave-form input[type="email"],
.swave-form select,
.swave-form textarea{box-sizing:border-box;width:100%;border:1px solid #222;background:#fff;padding:14px 16px;font:inherit;border-radius:0}
.swave-form textarea{resize:vertical;min-height:120px}
.swave-acceptance{display:flex;align-items:flex-start;gap:9px}
.swave-acceptance>span{margin:0!important}
.swave-acceptance input{margin-top:4px}
.swave-connect-form button{justify-self:start;border:1px solid #1677ff;background:#1677ff;color:#fff;padding:12px 24px;font:inherit;cursor:pointer}
.swave-connect-form button:hover{filter:brightness(.94)}

.swave-subscribe h3{margin:0 0 4px;font:inherit;font-size:28px;font-weight:700}
.swave-subscribe>p{margin:0 0 20px;line-height:1.5}
.swave-subscribe-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:stretch}
.swave-subscribe-form input[type="email"]{min-width:0;border:1px solid #222;background:#fff;padding:14px 20px;font:inherit}
.swave-subscribe-form button{min-width:140px;border:1px solid #000;background:#000;color:#fff;padding:12px 24px;font:inherit;cursor:pointer}

.swave-partner-slider{position:relative;width:100%;height:100vh;min-height:620px;overflow:hidden;background:#111}
.swave-partner-track,.swave-partner-slide{position:absolute;inset:0}
.swave-partner-slide{opacity:0;pointer-events:none;background-position:center;background-size:cover;transition:opacity .65s ease}
.swave-partner-slide.is-active{opacity:1;pointer-events:auto}
.swave-partner-slide.is-active{animation:swaveKenBurns 7s ease-out both}
.swave-partner-overlay{position:absolute;inset:0;background:rgba(0,0,0,.34)}
.swave-partner-content{position:absolute;z-index:2;left:8%;top:50%;transform:translateY(-50%);width:min(66%,780px);color:#fff}
.swave-partner-content h2{margin:0 0 20px;font-size:clamp(38px,5.2vw,76px);line-height:1.02;color:#fff}
.swave-partner-content p{margin:0 0 28px;max-width:760px;font-size:clamp(17px,1.55vw,24px);line-height:1.5;color:#fff}
.swave-partner-button{display:inline-block;border:1px solid #fff;background:#fff;color:#111;text-decoration:none;padding:12px 24px}
.swave-partner-button:hover{background:#111;color:#fff}
.swave-partner-dots{position:absolute;z-index:4;left:50%;bottom:34px;display:flex;gap:10px;transform:translateX(-50%)}
.swave-partner-dot{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.swave-partner-dot.is-active{background:#fff}
@keyframes swaveKenBurns{from{transform:scale(1)}to{transform:scale(1.045)}}

@media (max-width:767px){
  .swave-subscribe-form{grid-template-columns:1fr;gap:12px}
  .swave-subscribe-form button{width:100%}
  .swave-connect-card h3,.swave-connect-copy{text-align:center}
  .swave-connect-form button{justify-self:stretch}
  .swave-partner-slider{min-height:560px}
  .swave-partner-content{left:7%;width:86%;text-align:center}
  .swave-partner-content h2{font-size:38px}
  .swave-partner-content p{font-size:16px}
}

/* =========================================================
   SWAVE Partner Slider - isolate dots from theme button CSS
   ========================================================= */

.swave-partner-slider .swave-partner-dots {
    position: absolute !important;
    z-index: 20 !important;
    left: 50% !important;
    bottom: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transform: translateX(-50%) !important;
}

.swave-partner-slider .swave-partner-dot,
.swave-partner-slider .swave-partner-dot:hover,
.swave-partner-slider .swave-partner-dot:focus,
.swave-partner-slider .swave-partner-dot:active {
    -webkit-appearance: none !important;
    appearance: none !important;

    display: block !important;
    flex: 0 0 10px !important;

    width: 10px !important;
    height: 10px !important;

    min-width: 10px !important;
    min-height: 10px !important;

    max-width: 10px !important;
    max-height: 10px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1.5px solid #fff !important;
    border-radius: 50% !important;

    background: transparent !important;
    background-color: transparent !important;

    box-shadow: none !important;
    outline: none !important;

    font-size: 0 !important;
    line-height: 0 !important;

    cursor: pointer !important;
    transform: none !important;
}

.swave-partner-slider .swave-partner-dot.is-active,
.swave-partner-slider .swave-partner-dot.is-active:hover,
.swave-partner-slider .swave-partner-dot.is-active:focus,
.swave-partner-slider .swave-partner-dot.is-active:active {
    background: #fff !important;
    background-color: #fff !important;
    border-color: #fff !important;
}

