.vc-contact-page{min-height:calc(100vh - 70px);padding:clamp(2rem,5vw,4.5rem) 1.25rem clamp(4rem,7vw,6rem);background:#f8f5f0;color:#241a42}
.vc-contact-layout{width:min(720px,100%);margin:auto}
.vc-contact-card{padding:clamp(1.5rem,4vw,3.25rem);border:2px solid #241a42;background:#fff;box-shadow:9px 9px 0 #c7643b}
.vc-contact-card-heading h1{margin:0 0 1.8rem;color:#241a42;font:700 clamp(2rem,3vw,2.8rem)/1.1 Syne,Inter,Arial,sans-serif;letter-spacing:-.04em}
.vc-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1rem}.vc-contact-field{min-width:0}.vc-contact-field--wide{grid-column:1/-1}
.vc-contact-floating{position:relative;display:block;cursor:text}
.vc-contact-floating input,.vc-contact-floating textarea{display:block;box-sizing:border-box;width:100%;min-height:3.65rem;margin:0;padding:1.2rem .9rem .45rem;border:1.5px solid #605871;border-radius:0;background:#fff;color:#241a42;font:400 1rem/1.4 Inter,Arial,sans-serif}
.vc-contact-floating textarea{min-height:9rem;padding-top:1.55rem;resize:vertical}
.vc-contact-floating-label{position:absolute;top:50%;left:.9rem;max-width:calc(100% - 1.8rem);padding:0 .2rem;margin-left:-.2rem;overflow:hidden;background:#fff;color:#494357;font:600 .95rem/1.3 Inter,Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-50%);pointer-events:none;transition:top .16s ease,transform .16s ease,font-size .16s ease,color .16s ease}
.vc-contact-floating--textarea .vc-contact-floating-label{top:1.2rem;transform:none}
.vc-contact-floating input:focus+.vc-contact-floating-label,.vc-contact-floating input:not(:placeholder-shown)+.vc-contact-floating-label,.vc-contact-floating textarea:focus+.vc-contact-floating-label,.vc-contact-floating textarea:not(:placeholder-shown)+.vc-contact-floating-label{top:0;color:#662b77;font-size:.76rem;transform:translateY(-50%)}
.vc-contact-floating-label span,.vc-contact-service-fieldset legend span{color:#a3441d}
.vc-contact-floating input:focus,.vc-contact-floating textarea:focus{border-color:#8e3d1a;outline:3px solid #f2b08a;outline-offset:2px}
.vc-contact-service-fieldset{margin:0;padding:0;border:0}
.vc-contact-service-fieldset legend{margin:0 0 .45rem;padding:0;color:#241a42;font-size:.88rem;font-weight:700;line-height:1.35}
.vc-contact-services{position:relative}
.vc-contact-services summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box;min-height:3.4rem;padding:.75rem .9rem;border:1.5px solid #605871;background:#fff;color:#494357;font:500 .95rem/1.4 Inter,Arial,sans-serif;cursor:pointer;list-style:none}
.vc-contact-services summary::-webkit-details-marker{display:none}.vc-contact-services summary::marker{content:""}
.vc-contact-services summary:after{content:"";flex:none;width:.58rem;height:.58rem;border-right:2px solid #241a42;border-bottom:2px solid #241a42;transform:translateY(-.2rem) rotate(45deg);transition:transform .16s ease}
.vc-contact-services[open] summary:after{transform:translateY(.2rem) rotate(225deg)}
.vc-contact-services summary:focus-visible{border-color:#8e3d1a;outline:3px solid #f2b08a;outline-offset:2px}
.vc-contact-options{margin-top:4px;padding:.35rem;border:1.5px solid #241a42;background:#fff;box-shadow:5px 5px 0 #c7643b}
.vc-contact-options label{display:flex;align-items:center;gap:.8rem;box-sizing:border-box;min-height:3rem;padding:.55rem .6rem;color:#241a42;font:500 .93rem/1.4 Inter,Arial,sans-serif;cursor:pointer}
.vc-contact-options label:hover,.vc-contact-options label:focus-within{background:#f8f0e8}
.vc-contact-options input{flex:none;width:1.2rem;height:1.2rem;margin:0;accent-color:#713b89;cursor:pointer}
.vc-contact-options input:focus-visible{outline:3px solid #f2b08a;outline-offset:2px}
.vc-contact-consent{display:flex;align-items:flex-start;gap:.7rem;margin:1.45rem 0 1rem;color:#332e46;font-size:.87rem;line-height:1.55;cursor:pointer}
.vc-contact-consent input{flex:none;width:1.25rem;height:1.25rem;margin:.12rem 0 0;accent-color:#713b89;cursor:pointer}.vc-contact-consent a{color:#6a2b79;text-decoration:underline;text-underline-offset:2px}
.vc-contact-turnstile{margin:.7rem 0 1.2rem;min-height:0}
.vc-contact-actions button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:3.65rem;padding:.85rem 1.1rem;border:2px solid #241a42;border-radius:0;background:#f5a875;box-shadow:5px 5px 0 #241a42;color:#241a42;font:800 .88rem/1.2 Inter,Arial,sans-serif;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.vc-contact-actions button span{font-size:1.2rem}.vc-contact-actions button:not(:disabled):hover{transform:translate(2px,2px);box-shadow:3px 3px 0 #241a42}.vc-contact-actions button:disabled{cursor:wait;opacity:.7}
.vc-contact-status{margin:1.3rem 0 0;padding:.9rem 1rem;border-left:4px solid #a3441d;background:#fff4e9;color:#241a42;font-weight:600}.vc-contact-status:empty{display:none}.vc-contact-noscript{margin:1rem 0 0;color:#332e46}
@media(max-width:560px){.vc-contact-page{padding:1.25rem 1rem 4rem}.vc-contact-card{padding:1.5rem;box-shadow:6px 6px 0 #c7643b}.vc-contact-fields{grid-template-columns:1fr}.vc-contact-field--wide{grid-column:auto}.vc-contact-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.vc-contact-actions button,.vc-contact-floating-label,.vc-contact-services summary:after{transition:none}}
