.gva-contact { max-width: 500px; margin-inline: auto; padding: var(--gva-contact-top,40px) 0 52px; font: 400 16px/1.5 GvahqFigtree,sans-serif; color: #04182b; }
.gva-contact h1 { font: 600 36px/1.2 GvahqFigtree,sans-serif; text-align: center; margin: 0 0 12px; }
.gva-contact__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.gva-contact__wide { grid-column: 1/-1; }
.gva-contact__field { display: block; position: relative; min-width: 0; border: 1px solid rgba(4,24,43,.2); border-radius: 8px; }
.gva-contact__field input,.gva-contact__field textarea,.gva-contact__field select { width: 100%; display: block; box-sizing: border-box; border: 0; background: transparent; font: 400 15px/18px GvahqFigtree,sans-serif; color: #04182b; padding: 12px 14px; border-radius: 8px; }
.gva-contact__field input,.gva-contact__field select { height: 42px; min-height: 42px; }
.gva-contact__field textarea { min-height: 144px; resize: vertical; }
.gva-contact__field span { position: absolute; top: 10px; left: 10px; padding-inline: 4px; background: #fff; color: rgba(4,24,43,.5); font-size: 15px; pointer-events: none; }
.gva-contact__field:focus-within span,.gva-contact__field input:not(:placeholder-shown)+span,.gva-contact__field textarea:not(:placeholder-shown)+span,.gva-contact__select span { top: -9px; font-size: 12px; line-height: 18px; color: rgba(4,24,43,.85); }
.gva-contact__select { margin-top: 8px; }
.gva-contact__submit { min-height: 46px; border: 0; border-radius: 8px; background: var(--gva-contact-accent,#00c466); color: #fff; padding: 14px 28px; font: 600 15px/18px GvahqFigtree,sans-serif; cursor: pointer; margin-top: 4px; }
.gva-contact :is(input,textarea,select,button):focus-visible { outline: 2px solid #17303f; outline-offset: 2px; }
@media (max-width:749px) { .gva-contact { max-width: none; padding: 32px 15px 40px; font-size: 15px; } .gva-contact h1 { font-size: 28px; margin-bottom: 24px; } .gva-contact__grid { grid-template-columns: minmax(0,1fr); } }
