/* Contact uses the shared public typography, controls and navy/magenta palette. */
.ve-contact .ve-services-container { max-width:1240px; }
.ve-contact-hero { padding-bottom:48px; }
.ve-contact-hero .ve-services-lede { max-width:760px; }
.ve-contact-main { padding-top:48px; }
.ve-contact-layout { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,6fr); grid-template-areas:"info form"; gap:56px; align-items:start; }
.ve-contact-panel { grid-area:form; min-width:0; padding:32px; border:1px solid var(--ve-border); border-radius:20px; box-shadow:0 8px 32px #071a3d05; scroll-margin-top:24px; background:#fff; }
.ve-contact-info { grid-area:info; min-width:0; padding-top:18px; }
.ve-contact .ve-contact-info h2 { font-size:clamp(28px,3vw,38px); letter-spacing:-1px; }
.ve-contact-info>p { max-width:380px; }
.ve-contact .ve-contact-panel h2 { font-size:clamp(24px,2.4vw,30px); letter-spacing:-.6px; margin-bottom:12px; }
.ve-contact .ve-contact-panel .ve-services-eyebrow { margin-bottom:10px; }
.ve-contact .ve-contact-form-intro { font-size:13px; margin-bottom:24px; }
.ve-contact-form { margin-top:0; }
.ve-contact-form .ve-form-grid { gap:0 18px; }
.ve-contact .ve-enquiry__input { min-width:0; font-size:16px; min-height:50px; padding:12px; }
.ve-contact .ve-enquiry__input:focus { border-color:var(--ve-accent); outline:3px solid #ac174020; outline-offset:2px; }
.ve-contact .ve-enquiry__input[aria-invalid="true"] { border-color:var(--ve-accent); }
.ve-contact .ve-enquiry__field { min-width:0; margin-bottom:20px; }
.ve-contact .ve-enquiry label { line-height:1.5; }
.ve-contact-required { color:var(--ve-accent); }
.ve-contact-optional { color:var(--ve-muted); font-size:12px; font-weight:500; }
.ve-contact-profile { min-width:0; border:0; padding:24px 0 0; margin:4px 0 24px; border-top:1px solid var(--ve-border); }
.ve-contact-profile legend { float:left; width:100%; padding:0; margin-bottom:10px; color:var(--ve-ink); font-size:16px; font-weight:800; }
.ve-contact-profile legend+p { clear:both; }
.ve-contact .ve-contact-profile>p { font-size:13px; line-height:1.7; margin-bottom:20px; }
.ve-contact-profile>.ve-form-grid { clear:both; }
.ve-contact-profile:not([hidden]) { animation:ve-contact-reveal .18s ease-out; }
@keyframes ve-contact-reveal { from { opacity:.4; } to { opacity:1; } }
.ve-contact .ve-contact-extra { margin:0 0 12px; border-top:1px solid var(--ve-border); }
.ve-contact-extra summary { display:flex; gap:8px; flex-wrap:wrap; align-items:center; min-height:48px; padding:12px 0; color:var(--ve-ink); font-size:13px; font-weight:800; list-style:none; cursor:pointer; }
.ve-contact-extra summary::-webkit-details-marker { display:none; }
.ve-contact-extra summary>span:last-child { margin-left:auto; color:var(--ve-accent); font-size:22px; }
.ve-contact-extra[open] summary>span:last-child { transform:rotate(45deg); }
.ve-contact-extra .ve-form-grid { padding-top:12px; }
.ve-contact .ve-contact-secondary { display:block; color:var(--ve-muted); font-size:13px; line-height:1.8; margin:8px 0 0; }
.ve-contact-secondary a,.ve-contact a.ve-contact-secondary { display:inline-block; min-height:44px; padding-block:10px; font-weight:800; color:var(--ve-accent); }
.ve-contact .ve-contact-privacy { font-size:12px; line-height:1.8; margin:0 0 24px; }
.ve-contact-privacy a { text-decoration:underline; text-underline-offset:3px; }
.ve-contact-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; border-radius:12px; color:var(--ve-accent); background:var(--ve-blush); }
.ve-contact-icon svg { width:24px; height:24px; }
.ve-contact-methods { margin:28px 0 8px; }
.ve-contact-whatsapp { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-bottom:24px; color:var(--ve-accent); font-size:13px; font-weight:800; }
.ve-contact-methods>a { display:flex; gap:16px; align-items:center; padding:16px 0; color:var(--ve-ink); text-decoration:none; border-bottom:1px solid var(--ve-border); }
.ve-contact-methods small,.ve-contact-reasons small { display:block; color:var(--ve-muted); font-size:12px; }
.ve-contact-methods strong { display:block; font-size:16px; font-weight:800; }
.ve-contact-reasons h3 { font-size:15px; margin:0 0 16px; }
.ve-contact-reasons>a { display:flex; gap:12px; align-items:center; min-height:86px; border:1px solid var(--ve-border); border-radius:12px; padding:14px; margin-bottom:12px; color:var(--ve-ink); text-decoration:none; transition:border-color .18s,background .18s; }
.ve-contact-reasons>a>span:nth-child(2) { flex:1; min-width:0; }
.ve-contact-reasons strong { display:block; font-size:13px; font-weight:800; }
.ve-contact-reasons>a>span:last-child { font-size:22px; color:var(--ve-accent); }
.ve-contact-reasons>a:hover,.ve-contact-reasons>a[aria-current="true"] { border-color:#ac174040; background:var(--ve-blush); }
.ve-contact .ve-contact-direct { font-size:13px; margin-top:24px; }
.ve-contact-direct a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-weight:800; }
.ve-contact-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:28px; margin:48px 0 0; list-style:none; background:var(--ve-blush); border-radius:16px; }
.ve-contact-trust li { display:flex; gap:16px; }
.ve-contact-trust svg { flex-shrink:0; width:26px; height:26px; color:var(--ve-accent); margin-top:3px; }
.ve-contact-trust h3 { margin:0 0 6px; font-size:14px; font-weight:800; }
.ve-contact .ve-contact-trust p { margin:0; font-size:13px; line-height:1.7; }
.ve-contact-faq { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,6fr); gap:56px; }
.ve-contact .ve-contact-faq h2 { max-width:340px; font-size:32px; }
.ve-contact .ve-contact-faq>div>p { max-width:350px; font-size:14px; }
.ve-contact-success { padding:36px 0; }
.ve-contact-success-icon { display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:var(--ve-blush); color:var(--ve-accent); border-radius:50%; margin-bottom:28px; }
.ve-contact-success-icon svg { width:36px; height:36px; }
.ve-contact-home,.ve-contact-another { display:inline-flex; align-items:center; gap:12px; min-height:48px; color:var(--ve-accent); font-size:14px; font-weight:800; }
.ve-contact-another { background:none; border:0; padding:12px 0; margin-top:20px; text-align:left; }
.ve-contact .ve-enquiry-feedback { font-size:13px; }
.ve-contact .ve-contact-noscript { padding:16px; border-radius:8px; background:var(--ve-blush); font-size:13px; }
@media (max-width:1023px) {
  .ve-contact-layout,.ve-contact-faq { gap:32px; grid-template-columns:minmax(0,1fr); }
  .ve-contact-layout { grid-template-areas:"form" "info"; }
  .ve-contact-info { padding-top:8px; }
  .ve-contact .ve-contact-info h2 br { display:none; }
  .ve-contact-info>p { max-width:600px; }
  .ve-contact-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .ve-contact-trust { gap:20px; padding:24px; }
}
@media (max-width:639px) {
  .ve-contact-hero { padding-bottom:32px; }
  .ve-contact-main { padding-top:24px; }
  .ve-contact-panel { padding:24px 18px; border-radius:16px; }
  .ve-contact-methods,.ve-contact-trust { grid-template-columns:minmax(0,1fr); gap:16px; }
  .ve-contact-methods { margin:20px 0 8px; gap:0; }
  .ve-contact-trust { margin-top:32px; }
  .ve-contact-form>[type="submit"] { width:100%; }
  .ve-contact-success { padding:16px 0; }
  .ve-contact-success .ve-services-actions { align-items:stretch; }
  .ve-contact-success .ve-contact-home { justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .ve-contact-reasons>a { transition:none; } .ve-contact-profile { animation:none!important; } }
