/* Labels and focus borders occupy separate boxes; feedback never covers a label. */
#contact-form .contact-types.pp-project-field { display:block; margin:0; padding:0; border:0; }
#contact-form .pp-field-title { display:block; position:relative; padding:0 24px 0 0; margin:0 0 8px; border:0; background:none; color:inherit; line-height:1.65; }
#contact-form .pp-field-hint { display:inline; padding:0; margin:0; border:0; font-size:11px; font-weight:400; letter-spacing:0; }
#contact-form .pp-field-check { position:absolute; right:0; top:0; display:inline; padding:0; margin:0; border:0; color:#28654d; font:700 17px/1.5 sans-serif; }
#contact-form .pp-field-check[hidden] { display:none; }
#contact-form .pp-field-error { display:block; min-height:1.5em; padding:4px 0 0; margin:0; border:0; color:#8a3030; font:400 12px/1.5 Manrope,sans-serif; letter-spacing:0; }
#contact-form .pp-validated-field { display:block; min-width:0; }
#contact-form .pp-contact-identity, #contact-form .pp-contact-context { gap:12px 24px; }
#contact-form .pp-email-field, #contact-form .pp-contact-context label:last-child { grid-column:1/-1; }
#contact-form .pp-project-field select { display:block; box-sizing:border-box; width:100%; min-height:50px; margin:0; padding:12px; border:1px solid #7894a3; border-radius:4px; background:transparent; color:#12344e; font:400 16px/1.5 Manrope,sans-serif; }
#contact-form :is(input:not([type="radio"]),textarea) { box-sizing:border-box; border-bottom-width:1px; font-size:16px; }
#contact-form :is(input:not([type="radio"]),textarea,select):focus-visible { outline:2px solid #2d7199; outline-offset:2px; border-bottom-width:1px; }
#contact-form .pp-project-field select:focus-visible { outline-offset:-2px; }
#contact-form .pp-field-invalid :is(input,select,textarea) { border-color:#8a3030; }
#contact-form .pp-wizard-step legend { outline-offset:4px; }
#contact-form .pp-wizard-step > .contact-fields { margin:0; }
@media(max-width:600px) {
 #contact-form .pp-contact-identity,#contact-form .pp-contact-context { grid-template-columns:1fr; gap:8px; }
 #contact-form .pp-wizard-step { gap:16px; }
}

.pp-first-meeting{max-width:64ch;margin:0 0 24px;padding:14px 18px;border-left:3px solid #315a70;background:#c8eaff38;color:#12344e;font-size:14px;line-height:1.65}
.pp-first-exchange{padding:28px 0;border-block:1px solid #102b3826;margin-block:28px}.pp-first-exchange p{max-width:64ch;line-height:1.65}
