/* Direct contact belongs with the founders; the form heading remains full width. */
.v-contact .v-contact-main{padding-top:58px}
.v-contact-heading{margin-bottom:27px}
.v-contact #request-heading{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:0;max-width:none;text-wrap:pretty}
.v-contact .v-contact-people{bottom:72px}
.v-contact .v-contact-people p{bottom:20px}
.v-contact-direct{position:absolute;z-index:3;bottom:24px;left:22px;right:22px;display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin:0;font-size:14px}
.v-contact-direct>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 9px;border:1px solid #71808a;border-radius:6px;color:#f3f5f6;background:#24343f;line-height:1.3;transition:background .2s,border-color .2s;white-space:nowrap;font-size:inherit}
.v-contact-direct img{width:20px;height:20px;flex-shrink:0;filter:brightness(0) invert(1)}
.v-contact-direct .v-phone:hover{background:#354b59;border-color:#b7c5ce}
.v-contact-direct .v-whatsapp{color:#effaf2;border-color:#628773;background:#284638}
.v-contact-direct .v-whatsapp:hover{background:#355d48;border-color:#9bbfa7}
.v-contact .v-contact-direct a:focus-visible{outline:2px solid #e3c386;outline-offset:4px}
@media(min-width:768px) and (max-width:1100px){.v-contact-direct{left:15px;right:15px;font-size:12px;gap:8px}.v-contact-direct>a{padding-inline:6px;gap:6px}.v-contact-direct img{width:18px;height:18px}}
@media(max-width:767px){.v-contact .v-contact-main{padding-top:24px}.v-contact-heading{margin-bottom:24px}.v-contact #request-heading{font-size:25px}.v-contact .v-contact-aside{min-height:315px}.v-contact .v-contact-people{bottom:78px}.v-contact-direct{bottom:18px;left:20px;right:20px;font-size:13px}}
@media(max-width:480px){.v-contact #request-heading{font-size:23px}.v-contact-direct{left:16px;right:16px;font-size:12px;gap:8px}.v-contact-direct>a{padding-inline:6px;gap:6px}.v-contact-direct img{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.v-contact-direct>a{transition:none}}

/* Align both contact action rows; let the message field use the available space. */
@media(min-width:768px){
 .v-contact .v-contact-main{display:flex;flex-direction:column;padding-bottom:24px}
 .v-contact #request-panel{display:flex;flex-direction:column;flex:1}
 .v-contact .contact-form{flex:1;grid-template-rows:auto auto auto minmax(125px,1fr) auto auto}
 .v-contact .field:has(textarea){display:flex;flex-direction:column}
 .v-contact .field textarea{flex:1;min-height:105px}
 .v-contact .contact-form>.v-button{min-height:52px;padding-block:12px;align-self:end}
 .v-contact .v-contact-aside h2{font-size:38px;line-height:1.12}
}
@media(max-width:767px){
 .v-contact .v-contact-aside{min-height:365px}
 .v-contact .v-contact-aside h2{max-width:none;font-size:29px;line-height:1.12}
 .v-contact .v-contact-aside>p:not(.v-kicker){max-width:145px;font-size:12px}
 .v-contact .v-contact-people{height:180px;width:155px;bottom:78px}
}

/* Direct form submission states. */
.contact-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
#contact-form [disabled]{opacity:.65}
#contact-form button[disabled]{cursor:wait}
#form-status[data-state="error"]{border-left:3px solid #b14335}

/* Country picker shares the existing field surface; the full country names remain native options. */
.contact-phone{display:flex;min-width:0;gap:0;align-items:stretch}
.contact-phone-country{position:relative;flex:0 0 100px;min-width:0}
.contact-phone-country [data-phone-code]{position:absolute;inset:0;display:flex;align-items:center;padding-left:11px;font-size:12px;color:#24343f;pointer-events:none;z-index:1}
.v-contact .contact-phone-country select{height:100%;width:100%;border-radius:5px 0 0 5px;color:transparent;padding-right:6px;cursor:pointer;background-color:#f1f3f2}
.v-contact .contact-phone-country option{color:#18242c;background:#fff}
.v-contact .contact-phone input{min-width:0;width:100%;flex:1}
.v-contact .contact-phone-country:not([hidden])+input{border-radius:0 5px 5px 0;border-left:0}
.contact-phone:focus-within{outline:2px solid #a88442;outline-offset:2px;border-radius:5px}
@media(max-width:480px){.v-contact .field:has(.contact-phone){grid-column:1/-1}.contact-phone-country{flex-basis:105px}}
.contact-phone-country::after{content:'▾';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:#24343f;pointer-events:none}
@media(max-width:480px){.v-contact .field:has(input[name="website"]){grid-column:1/-1}}
