/* JCG contact form: all styles are intentionally scoped; no external font/UI kit. */
.jcg-contact{--jcg-blue:#244C71;--jcg-blue-dark:#173856;--jcg-ink:#162432;--jcg-subtle:#516475;--jcg-border:#E0E6EB;--jcg-bg:#F7F9FB;--jcg-amber:#E2A34E;--jcg-max:810px;color:var(--jcg-ink);font:inherit;line-height:1.63;max-width:var(--jcg-max);margin:0 auto;padding:48px 24px 76px}
.jcg-contact *, .jcg-contact *::before,.jcg-contact *::after{box-sizing:border-box}
.jcg-contact [hidden]{display:none!important}
.jcg-contact h1,.jcg-contact h2,.jcg-contact p{margin-top:0}
.jcg-contact h1{font-size:clamp(2.15rem,5vw,3.15rem);line-height:1.12;font-weight:770;letter-spacing:-.046em;margin:0 0 18px}
.jcg-contact h2{font-size:1.2rem;line-height:1.28;letter-spacing:-.018em}
.jcg-contact .jcg-kicker{font-size:.78rem;font-weight:760;letter-spacing:.045em;color:var(--jcg-blue);margin:0 0 11px}
.jcg-contact .jcg-intro{margin:0 0 26px;padding-bottom:25px;border-bottom:1px solid var(--jcg-border)}
.jcg-contact .jcg-intro p{font-size:.92rem;line-height:1.65;color:var(--jcg-subtle);margin:0 0 10px;max-width:740px}
.jcg-contact .jcg-intro p[lang="en"]{font-size:1rem;color:var(--jcg-ink)}
.jcg-contact .jcg-language-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 26px}
.jcg-contact .jcg-language-caption{font-size:.79rem;color:var(--jcg-subtle);margin:0;font-weight:620}
.jcg-contact .jcg-lang-switch{display:inline-flex;gap:3px;padding:3px;border-radius:9px;border:1px solid var(--jcg-border);background:var(--jcg-bg)}
.jcg-contact .jcg-lang-switch button{border:0;background:transparent;color:var(--jcg-subtle);font:inherit;font-size:.78rem;font-weight:650;padding:7px 12px;border-radius:6px;min-height:37px;cursor:pointer;white-space:nowrap}
.jcg-contact .jcg-lang-switch button[aria-pressed="true"]{background:#fff;color:var(--jcg-blue);box-shadow:0 1px 4px #10263C18}
.jcg-contact :is(input,select,textarea,button,a):focus-visible{outline:3px solid var(--jcg-blue);outline-offset:3px}
.jcg-contact fieldset{border:0;padding:0;margin:0;min-width:0}
.jcg-contact legend{padding:0;margin:0 0 13px;font-size:.94rem;font-weight:750;color:var(--jcg-ink);float:none;width:100%}
.jcg-contact .jcg-role-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 31px}
.jcg-contact .jcg-role-card{position:relative;display:flex;flex-direction:column;min-width:0;gap:2px;padding:16px 18px 17px 18px;border:1.5px solid #D3DFE7;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s, background .15s}
.jcg-contact .jcg-role-card:hover{border-color:#94AEC1;background:#FCFDFE}
.jcg-contact .jcg-role-card:has(input:checked){background:#F4F8FB;border-color:var(--jcg-blue);box-shadow:inset 0 3px 0 var(--jcg-amber)}
.jcg-contact .jcg-role-card input{position:absolute;top:18px;right:17px;width:18px;height:18px;margin:0;accent-color:var(--jcg-blue)}
.jcg-contact .jcg-role-mark{display:inline-grid;place-items:center;width:31px;height:31px;margin:2px 0 7px;border:1px solid #D7E4EE;border-radius:7px;background:#F7FAFC;color:var(--jcg-blue)}
.jcg-contact .jcg-role-mark svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}
.jcg-contact .jcg-role-title{display:block;padding-right:17px;font-size:.98rem;font-weight:750;line-height:1.34}
.jcg-contact .jcg-role-desc{display:block;color:var(--jcg-subtle);font-size:.78rem;line-height:1.45;margin-top:3px}
.jcg-contact .jcg-fields-heading{font-size:.8rem;font-weight:750;color:var(--jcg-blue);margin:0 0 16px;padding:0 0 9px;border-bottom:1px solid var(--jcg-border)}
.jcg-contact .jcg-field{margin-bottom:23px}
.jcg-contact .jcg-field label{display:block;font-size:.88rem;font-weight:710;line-height:1.5;margin:0 0 8px}
.jcg-contact .jcg-req{color:#AA581B;font-weight:750}
.jcg-contact .jcg-field :is(select,input:not([type="checkbox"]),textarea){display:block;width:100%;min-height:47px;padding:11px 13px;border:1.5px solid #B8C8D4;border-radius:8px;background:#fff;color:var(--jcg-ink);font:inherit;font-size:.95rem;line-height:1.48;outline:none}
.jcg-contact .jcg-field select{padding-right:38px;cursor:pointer}
.jcg-contact .jcg-field textarea{resize:vertical;min-height:148px;max-height:520px}
.jcg-contact .jcg-field :is(select,input,textarea):focus{border-color:var(--jcg-blue);box-shadow:0 0 0 3px #244C711D}
.jcg-contact .jcg-field :is(input,textarea)::placeholder{color:#748395;opacity:1}
.jcg-contact .jcg-field-hint{font-size:.76rem;color:var(--jcg-subtle);line-height:1.55;margin:7px 0 0}
.jcg-contact .jcg-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.jcg-contact .jcg-fields-grid .jcg-field{min-width:0}
.jcg-contact .jcg-business-note{font-size:.82rem;line-height:1.55;color:var(--jcg-subtle);margin:0 0 23px;padding:11px 13px;border-left:2px solid var(--jcg-amber);background:var(--jcg-bg)}
.jcg-contact .jcg-checkbox-row{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;border-radius:9px;border:1px solid var(--jcg-border);background:var(--jcg-bg);margin:5px 0 22px;font-size:.82rem;color:var(--jcg-ink);cursor:pointer}
.jcg-contact .jcg-checkbox-row input{width:19px;height:19px;margin:2px 0 0;flex:none;accent-color:var(--jcg-blue)}
.jcg-contact .jcg-checkbox-row span{display:block;line-height:1.5}
.jcg-contact .jcg-note-languages{border-top:1px solid var(--jcg-border);margin:6px 0 19px;padding:21px 0 0}
.jcg-contact .jcg-note-languages p{font-size:.78rem;line-height:1.53;margin:0 0 7px;color:var(--jcg-subtle)}
.jcg-contact .jcg-note-languages p[lang="en"]{color:var(--jcg-ink)}
.jcg-contact .jcg-captcha-frame{margin:20px 0 14px;min-height:64px;display:flex;align-items:flex-start;flex-direction:column;gap:8px}
.jcg-contact .jcg-captcha-placeholder{display:flex;align-items:center;gap:11px;min-height:64px;width:min(100%,305px);padding:11px 15px;border:1px dashed #AEBECD;border-radius:7px;background:#FAFCFD;color:var(--jcg-subtle);font-size:.77rem}
.jcg-contact .jcg-captcha-square{width:24px;height:24px;border-radius:4px;border:2px solid #BCCBD6;flex:none}
.jcg-contact .jcg-submit{display:inline-flex;justify-content:center;align-items:center;gap:9px;width:100%;min-height:51px;border:1px solid var(--jcg-blue);border-radius:8px;background:var(--jcg-blue);color:#fff;font:inherit;font-size:.96rem;font-weight:730;line-height:1.3;padding:12px 18px;cursor:pointer}
.jcg-contact .jcg-submit:hover{background:var(--jcg-blue-dark)}
.jcg-contact .jcg-submit svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.jcg-contact .jcg-submit-status{min-height:1.5em;font-size:.85rem;margin:11px 0 0;line-height:1.5;color:var(--jcg-blue-dark)}
.jcg-contact .jcg-privacy{padding-top:12px;color:var(--jcg-subtle)}
.jcg-contact .jcg-privacy p{font-size:.76rem;line-height:1.55;margin:0 0 5px}
.jcg-contact .jcg-privacy a{font-weight:670;text-underline-offset:3px;color:var(--jcg-blue)}
.jcg-contact .jcg-dev-only{margin:0 0 19px;padding:10px 13px;background:#FFF8EC;border-left:3px solid var(--jcg-amber);font-size:.81rem;line-height:1.5;color:#5F472F}
@media(max-width:580px){.jcg-contact{padding:31px 20px 52px}.jcg-contact .jcg-role-choices{gap:10px}.jcg-contact .jcg-role-card{padding:13px 11px 14px}.jcg-contact .jcg-role-card input{top:14px;right:11px}.jcg-contact .jcg-role-title{font-size:.87rem}.jcg-contact .jcg-role-desc{font-size:.73rem}.jcg-contact .jcg-role-mark{width:29px;height:29px}.jcg-contact .jcg-fields-grid{grid-template-columns:1fr;gap:0}.jcg-contact .jcg-lang-switch button{padding:7px 9px}.jcg-contact .jcg-language-row{align-items:flex-start}}
@media(max-width:340px){.jcg-contact{padding:26px 14px 44px}.jcg-contact .jcg-role-choices{grid-template-columns:1fr}.jcg-contact .jcg-role-card{padding:12px 14px}.jcg-contact .jcg-role-mark{margin:0}.jcg-contact .jcg-role-desc{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.jcg-contact .jcg-role-card{transition:none}}

/* Operator connection (2026-11-08): hide the setup placeholder once Turnstile has rendered. */
.jcg-contact .jcg-captcha-frame:has(.cf-turnstile iframe) .jcg-captcha-placeholder{display:none}
