/* J58 form design — shared by contact and dealer forms (and any new form) */
.cx-section{background:var(--ds-cream,#F6F1E6);padding-block:clamp(48px,7vw,96px)}
.cx-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);max-width:1160px;align-items:start}
.cx-side{background:#0B1D35;color:#fff;border-radius:28px;padding:clamp(28px,4vw,48px);position:sticky;top:110px;overflow:hidden}
.cx-side::after{content:"";position:absolute;right:-30%;bottom:-25%;width:80%;aspect-ratio:1;background:radial-gradient(circle,rgba(18,170,186,.35),transparent 65%);pointer-events:none}
.cx-side h2{color:#fff;font-size:clamp(2rem,3.6vw,2.8rem);margin:0 0 12px}
.cx-lead{color:rgba(255,255,255,.78);line-height:1.6;margin:0 0 28px}
.cx-info{list-style:none;margin:0;padding:0;display:grid;gap:22px;position:relative;z-index:1}
.cx-info li{display:flex;gap:16px;align-items:flex-start}
.cx-ic{flex:none;width:46px;height:46px;border-radius:14px;background:rgba(18,170,186,.18);color:#5fd6e6;display:grid;place-items:center}
.cx-info strong{display:block;font:700 .8rem "Montserrat",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:4px}
.cx-info span,.cx-info a{display:block;color:#fff;line-height:1.5}.cx-info a{color:#7fe3f0;text-decoration:none}.cx-info a:hover{text-decoration:underline}
.cx-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;position:relative;z-index:1}
.cx-social a{color:#fff;font-size:.85rem;padding:7px 14px;border:1px solid rgba(255,255,255,.25);border-radius:99px;text-decoration:none;transition:.2s}.cx-social a:hover{background:#12aaba;border-color:#12aaba}
.cx{background:#fff;border-radius:28px;padding:clamp(24px,4vw,48px);box-shadow:0 24px 60px rgba(11,29,53,.10);border:1px solid rgba(11,29,53,.06);position:relative}
.cx-fs{border:0;margin:0 0 26px;padding:0}.cx-fs legend{font:700 1rem "Montserrat",sans-serif;color:#0B1D35;margin-bottom:14px;padding:0}
.cx-req{color:#12aaba;margin-left:2px}
.cx-chips{display:flex;flex-wrap:wrap;gap:10px}
.cx-chip input{position:absolute;opacity:0;pointer-events:none}
.cx-chip span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;border:1.5px solid rgba(11,29,53,.15);color:#0B1D35;font:600 .92rem "Montserrat",sans-serif;cursor:pointer;transition:.2s;background:#fff}
.cx-chip span:hover{border-color:#12aaba;transform:translateY(-1px)}
.cx-chip input:checked+span{background:#0B1D35;border-color:#0B1D35;color:#fff;box-shadow:0 6px 16px rgba(11,29,53,.25)}
.cx-chip input:focus-visible+span{outline:3px solid rgba(18,170,186,.45);outline-offset:2px}
.cx-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cx-full{grid-column:1/-1}
.cx-f{position:relative}
.cx-f input,.cx-f select,.cx-f textarea{width:100%;box-sizing:border-box;font:500 1rem "Montserrat",system-ui,sans-serif;color:#0B1D35;background:#F7F8FA;border:1.5px solid transparent;border-radius:16px;padding:24px 18px 8px;transition:.2s;appearance:none;-webkit-appearance:none}
.cx-f textarea{resize:vertical;min-height:140px;padding-top:28px}
.cx-f input:focus,.cx-f select:focus,.cx-f textarea:focus{outline:none;background:#fff;border-color:#12aaba;box-shadow:0 0 0 4px rgba(18,170,186,.15)}
.cx-f label{position:absolute;left:18px;top:17px;color:#6b7686;font:500 1rem "Montserrat",sans-serif;pointer-events:none;transition:.18s;transform-origin:left top;background:none}
.cx-f input:focus+label,.cx-f input:not(:placeholder-shown)+label,.cx-f textarea:focus+label,.cx-f textarea:not(:placeholder-shown)+label,.cx-f select:focus+label,.cx-f select:valid+label{transform:translateY(-10px) scale(.74);color:#0E8B99;font-weight:600}
.cx-sel::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2px solid #0B1D35;border-bottom:2px solid #0B1D35;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.cx-sel select{padding-right:48px;cursor:pointer}
.cx-phone{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr);gap:12px}
.cx-dial{padding:16px 36px 16px 16px!important}.cx-inner{width:100%}
.cx-count{position:absolute;right:14px;bottom:10px;font-size:.72rem;color:#94a3b8}
.cx-err{display:none;color:#c0392b;font-size:.82rem;margin:6px 4px 0;font-weight:500}
.cx-f.bad input,.cx-f.bad select,.cx-f.bad textarea{border-color:#e07a6e;background:#fff7f6}
.cx-f.bad .cx-err,.cx-fs.bad .cx-err,.cx-err.show{display:block}
.cx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.cx-chk{display:flex;gap:12px;align-items:flex-start;margin-top:18px;color:#3a4657;font-size:.92rem;line-height:1.5;cursor:pointer}
.cx-chk input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:#12aaba}
.cx-chk a{color:#0E8B99}
.cx-submit{margin-top:26px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 28px;border:0;border-radius:99px;background:#12aaba;color:#fff;font:700 1.05rem "Montserrat",sans-serif;cursor:pointer;transition:.25s;box-shadow:0 12px 28px rgba(18,170,186,.35)}
.cx-submit:hover{background:#0E8B99;transform:translateY(-2px)}.cx-submit svg{transition:transform .25s}.cx-submit:hover svg{transform:translateX(4px)}
.cx-submit[disabled]{opacity:.7;cursor:progress;transform:none}
.cx-ok{text-align:center;padding:clamp(24px,6vw,64px) 12px}
.cx-ok-ic{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:#12aaba;display:grid;place-items:center;box-shadow:0 0 0 10px rgba(18,170,186,.18);animation:cxPop .6s cubic-bezier(.2,1.4,.4,1)}
.cx-ok h3{font-size:2rem;color:#0B1D35;margin:0 0 10px}.cx-ok p{color:#4a5568;max-width:420px;margin:0 auto 24px;line-height:1.6}
@keyframes cxPop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
@media(max-width:900px){.cx-wrap{grid-template-columns:1fr}.cx-side{position:relative;top:auto}}
@media(max-width:560px){.cx-grid{grid-template-columns:1fr}.cx-phone{grid-template-columns:1fr}}
.cx-side{display:flex;align-items:center;justify-content:center;min-height:min(70vh,560px);padding:0!important;isolation:isolate}
.cx-art{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.cx-ripples circle{fill:none;stroke:#12aaba;stroke-width:1.5;opacity:0;transform-origin:200px 260px;animation:cxRip 5s ease-out infinite}
.cx-ripples circle:nth-child(2){animation-delay:1.25s}.cx-ripples circle:nth-child(3){animation-delay:2.5s}.cx-ripples circle:nth-child(4){animation-delay:3.75s}
@keyframes cxRip{0%{transform:scale(.6);opacity:.65}100%{transform:scale(4.2);opacity:0}}
.cx-orbit{fill:none;stroke:rgba(255,255,255,.14);stroke-width:2;stroke-dasharray:3 9}
.cx-trail{fill:none;stroke:#2bc4e0;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(43,196,224,.9))}
.cx-w-rim{fill:#0B1D35;stroke:#fff;stroke-width:3}.cx-w-spin path{stroke:#fff;stroke-width:1.6;stroke-linecap:round;fill:none}.cx-w-hub{fill:#2bc4e0}
#cxWheel{filter:drop-shadow(0 0 10px rgba(43,196,224,.9))}
.cx-big{position:relative;z-index:2;margin:0!important;display:flex;flex-direction:column;align-items:center;font:800 clamp(3.2rem,7vw,5.4rem)/1 "Playfair Display",Georgia,serif!important;color:#fff;text-align:center}
.cx-line{display:flex}
.cx-c{display:inline-block;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55);transform:translateY(var(--ty,14px)) scale(var(--sc,.92));transition:color .5s,text-shadow .5s,-webkit-text-stroke-color .5s,transform .6s cubic-bezier(.2,1.6,.4,1)}
.cx-c.on{color:#fff;-webkit-text-stroke-color:transparent;text-shadow:0 0 28px rgba(43,196,224,.65);--ty:0px;--sc:1}
.cx-dotc.on{color:#2bc4e0}
.cx-typing{position:absolute;z-index:2;left:50%;bottom:9%;transform:translateX(-50%);display:flex;gap:8px;padding:12px 18px;border-radius:99px;background:rgba(255,255,255,.1);backdrop-filter:blur(6px)}
.cx-typing i{width:9px;height:9px;border-radius:50%;background:#7fe3f0;animation:cxBounce 1.1s infinite ease-in-out;animation-duration:calc(1.3s / var(--spd,1))}
.cx-typing i:nth-child(2){animation-delay:.15s}.cx-typing i:nth-child(3){animation-delay:.3s}
@keyframes cxBounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-8px);opacity:1}}
.cs-social{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 22px}
.cs-social a{display:inline-flex;align-items:center;padding:11px 22px;border:1.5px solid rgba(255,255,255,.35);border-radius:99px;color:#fff!important;font:600 .95rem "Montserrat",sans-serif;text-decoration:none;transition:.25s}
.cs-social a:hover{background:#12aaba;border-color:#12aaba;transform:translateY(-2px);box-shadow:0 10px 22px rgba(18,170,186,.35)}
@media(prefers-reduced-motion:reduce){.cx-ripples circle,.cx-typing i{animation:none}.cx-c{color:#fff;-webkit-text-stroke:0;transform:none}}
@media(max-width:900px){.cx-side{min-height:260px}}
.cx-intro{color:#3a4657;margin:0 0 22px;line-height:1.6}
.cx-note{color:#6b7686;font-size:.85rem;margin:14px 0 0}

/* Success screen button: outlined in brand blue */
.cx-ok .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border:2px solid #12aaba !important;border-radius:99px;background:transparent !important;color:#0B1D35 !important;font-weight:700;cursor:pointer;box-shadow:0 0 0 3px rgba(18,170,186,.18);transition:background .2s,color .2s,box-shadow .2s}
.cx-ok .btn-secondary:hover,.cx-ok .btn-secondary:focus-visible{background:#12aaba !important;color:#fff !important;box-shadow:0 0 0 5px rgba(18,170,186,.28)}
