/* Contact / book a demo on the j2 system */
.ct-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(20px,3vw,40px)}
@media (max-width:900px){.ct-grid{grid-template-columns:1fr}}
.ct-form fieldset{border:0;margin:0 0 clamp(28px,4vw,44px);padding:0;min-width:0}
.ct-form legend{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.3rem;padding:0}
.ct-hint{margin:0 0 1rem;color:var(--j2-text-2);font-size:.92rem}
/* choice tiles (checkbox inside a label) */
.ct-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.ct-tiles.ct-two{grid-template-columns:1fr 1fr}
.ct-tile{position:relative;display:block;padding:16px 16px 16px 48px;border:1.5px solid rgba(29,29,31,.14);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;user-select:none}
.ct-tile:hover{border-color:rgba(119,33,108,.5)}
.ct-tile input{position:absolute;left:16px;top:18px;width:20px;height:20px;margin:0;accent-color:var(--j2-purple)}
.ct-tile b{display:block;font-weight:600;font-size:1rem}
.ct-tile span{display:block;color:var(--j2-text-2);font-size:.85rem;line-height:1.35;margin-top:.15rem}
.ct-tile:has(input:checked){border-color:var(--j2-purple);box-shadow:0 0 0 3px rgba(119,33,108,.12)}
@media (max-width:640px){.ct-tiles,.ct-tiles.ct-two{grid-template-columns:1fr}}
/* fields */
.ct-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ct-fields .ct-full{grid-column:1/-1}
@media (max-width:560px){.ct-fields{grid-template-columns:1fr}}
.ct-field label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem}
.ct-field label small{color:var(--j2-text-2);font-weight:400}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form input[type=number],.ct-form select{display:block;width:100%;font:inherit;font-size:1rem;padding:.7rem .85rem;border:1.5px solid rgba(29,29,31,.16);border-radius:12px;background:#fff;color:var(--j2-text);transition:border-color .15s,box-shadow .15s}
.ct-form input:focus,.ct-form select:focus{outline:0;border-color:var(--j2-purple);box-shadow:0 0 0 3px rgba(119,33,108,.14)}
.ct-err{color:#b3261e;font-size:.85rem;margin-top:.35rem}
.ct-err ul{margin:0;padding:0;list-style:none}
.ct-alert{background:#fdecec;color:#7a1d16;border-radius:12px;padding:.9rem 1rem;margin-bottom:1.2rem;font-size:.95rem}
.ct-alert ul{margin:0;padding-left:1.1rem}
/* address disclosure */
.ct-address{margin-top:1rem;border-top:1px solid rgba(29,29,31,.12);padding-top:.9rem}
.ct-address summary{cursor:pointer;font-weight:500;list-style:none;display:flex;align-items:center;gap:.5rem}
.ct-address summary::-webkit-details-marker{display:none}
.ct-address summary::before{content:"";width:8px;height:8px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(-45deg);transition:transform .2s;margin-left:.2rem}
.ct-address[open] summary::before{transform:rotate(45deg)}
.ct-address summary small{color:var(--j2-text-2);font-weight:400}
.ct-address .ct-fields{margin-top:1rem}
/* submit */
.ct-submit{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:.4rem}
.ct-submit .j2-pill{font-size:1rem;padding:.85rem 1.5rem}
.ct-submit small{color:var(--j2-text-2)}
.ct-captcha{margin-bottom:1.2rem}
/* side */
.ct-side{position:sticky;top:calc(var(--j2-nav-h,0px) + 80px);display:grid;gap:1rem}
.ct-card{background:#fff;border:1px solid rgba(29,29,31,.08);border-radius:20px;padding:clamp(20px,2.6vw,28px)}
.ct-card h3{font-size:1.1rem;margin-bottom:.8rem}
.ct-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;font-size:.95rem}
.ct-card dt{color:var(--j2-text-2)}.ct-card dd{margin:0}
.ct-card dd a{font-weight:500}
.ct-card ol{margin:0;padding-left:1.2rem;color:var(--j2-text-2);font-size:.92rem;line-height:1.45}
.ct-card ol li{margin:.35rem 0}.ct-card ol b{color:var(--j2-text);font-weight:600}
.ct-card iframe{display:block;width:100%;height:220px;border:0;border-radius:12px}
.ct-card.ct-dark{background:#0b0b0d;color:#f5f5f7;border-color:#232327}
.ct-card.ct-dark h3{color:#fff}.ct-card.ct-dark p{color:#a1a1a6;margin:0 0 .8rem;font-size:.92rem}
.ct-card.ct-dark a{color:#d69ccd}
@media (max-width:900px){.ct-side{position:static}}
