/* Juppy Original — Contact Form 7 */
.contact-body:has(.juppy-form){background:#f4fbfe;padding:64px 5% 80px}
.contact-body:has(.juppy-form)>h2{color:#2486b2;font-size:14px;letter-spacing:.22em;margin:0 0 20px}
.juppy-form{--juppy-blue:#48add9;--juppy-ink:#203b48;--juppy-yellow:#fff000;color:var(--juppy-ink);background:white;border:1px solid #d7eaf2;border-radius:24px;padding:48px;box-shadow:0 12px 40px #226b8610;text-align:left}
.contact-body .wpcf7 form{max-width:820px}
.juppy-form-intro{text-align:center;margin-bottom:38px}
.juppy-form .juppy-form-eyebrow{font-size:11px;letter-spacing:.13em;font-weight:700;color:#247da4;margin:0 0 12px}
.juppy-form h3{font-size:27px;font-weight:700;line-height:1.6;margin:0 0 16px;letter-spacing:.03em}
.juppy-form p{font-size:14px;line-height:1.9;margin:0}
.juppy-form .juppy-form-note{margin-top:22px;color:#526b76;font-size:12px}
.juppy-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}
.juppy-field-full,.juppy-field:first-child{grid-column:1/-1}
.juppy-field label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;margin:0 0 9px}
.juppy-required,.juppy-optional{font-size:10px;line-height:1.6;padding:2px 8px;border-radius:20px;font-weight:700;display:inline-block;vertical-align:middle}
.juppy-required{background:var(--juppy-yellow,#fff000);color:#203b48}.juppy-optional{background:#edf2f4;color:#5a6c75}
.juppy-form .wpcf7-form-control-wrap{display:block}
.contact-body .juppy-form input:not([type=checkbox]):not([type=submit]),.contact-body .juppy-form select,.contact-body .juppy-form textarea{display:block;width:100%;max-width:100%;min-height:50px;padding:13px 15px;border:1px solid #b8cfd9;border-radius:8px;background:#fbfdfe;color:#203b48;font:inherit;font-size:15px;line-height:1.6;box-shadow:none}
.juppy-form input::placeholder,.juppy-form textarea::placeholder{color:#728690;opacity:1}
.contact-body .juppy-form textarea{min-height:180px;resize:vertical}
.juppy-form input:focus-visible,.juppy-form select:focus-visible,.juppy-form textarea:focus-visible{outline:3px solid #48add955;outline-offset:2px;border-color:#2486b2}
.juppy-form .juppy-form-consent{margin-top:30px;padding-top:26px;border-top:1px solid #e1edf2;text-align:center}
.juppy-form-consent p{font-size:12px;color:#526b76;margin-bottom:18px}
.juppy-form a{color:#176b90;text-decoration:underline;text-underline-offset:3px}
.juppy-form .wpcf7-list-item{margin:0}
.juppy-form .wpcf7-acceptance label{display:inline-flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer;min-height:44px;padding:8px 0;text-align:left}
.juppy-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin:3px 0 0;accent-color:#177ba5}
.juppy-form-submit{margin-top:24px;text-align:center}
.contact-body .juppy-form input[type=submit]{width:100%;max-width:380px;min-height:58px;border:2px solid #203b48;border-radius:999px;background:#fff000;color:#203b48;font-size:16px;letter-spacing:.04em;font-weight:700;cursor:pointer;box-shadow:0 4px 0 #203b48;transition:transform .15s,box-shadow .15s}
.juppy-form input[type=submit]:hover{transform:translateY(2px);box-shadow:0 2px 0 #203b48}
.juppy-form input[type=submit]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.juppy-form-submit p{font-size:11px;margin-top:16px;color:#526b76}
.juppy-form .wpcf7-spinner{display:block;margin:14px auto 0}
.juppy-form .wpcf7-not-valid-tip{font-size:12px;color:#a52b2b;margin-top:6px}
.juppy-form [aria-invalid=true]{border-color:#b33535!important}
.contact-body .wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:16px 20px;font-size:14px;line-height:1.8;border-radius:10px;background:#fff}
.juppy-form .juppy-field>p{margin:0}
@media(max-width:600px){.contact-body:has(.juppy-form){padding:40px 4% 50px}.juppy-form{padding:28px 20px;border-radius:18px}.juppy-form h3{font-size:21px}.juppy-form .juppy-form-eyebrow{font-size:10px;letter-spacing:.06em}.juppy-form-fields{grid-template-columns:1fr;gap:22px}.juppy-field{grid-column:1/-1}.juppy-form-intro{margin-bottom:28px}.juppy-form p{font-size:13px}.juppy-form .juppy-form-consent p{font-size:11px}.juppy-form-consent br{display:none}.juppy-form-break{display:none}.contact-body .juppy-form input[type=submit]{font-size:14px}.juppy-form .wpcf7-acceptance label{font-size:13px}}
@media(prefers-reduced-motion:reduce){.juppy-form input[type=submit]{transition:none}}
.juppy-field br{display:none}
