/* The story and form share their top edge, with no artificial field spacing. */
body .pc-contact-section .pc-contact-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-rows: auto; align-items: stretch; gap: 40px; }
body .pc-contact-layout > .pc-contact-story { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-self: stretch; min-width: 0; }
body .pc-contact-layout > form.pc-form { grid-column: 2; grid-row: 1; align-self: start; min-width: 0; margin: 0; }
body .pc-contact-story .pc-section-heading { margin: 0 0 22px; }
body .pc-contact-story .pc-section-heading h2 { margin: 0; }
body .pc-contact-story .pc-contact-copy p { margin: 0; }
body .pc-contact-story .pc-contact-support { display: flex; flex-direction: column; flex: 1; margin-top: 24px; padding: 0; border: 0; }
body .pc-contact-story .pc-contact-support h3 { margin: 0 0 12px; }
body .pc-contact-story .pc-contact-support ul { margin: 0 0 18px; }
body .pc-contact-story .pc-contact-support > p { margin: 0 0 20px; }
body .pc-contact-story .pc-contact-support .pc-direct { margin-top: auto; padding-top: 14px; }
body form.pc-form [data-type="mailerResponse"] { gap: 14px; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) label { margin-bottom: 0; color: #17365c; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) :is(input:where(:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"])),select,textarea) {
 box-sizing: border-box; width: 100%; margin-top: 6px; padding: 10px 12px;
 min-height: 48px; height: auto; border: 1px solid #6f8096; border-color: #6f8096 !important;
 border-radius: 7px; color: #17365c; background: #fff; font-size: 16px; line-height: 1.5; box-shadow: none;
}
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) textarea { min-height: 96px; resize: vertical; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) :is(input,textarea)::placeholder { color: #52617a; opacity: 1; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) option { color: #17365c; background: #fff; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) :is(input,select,textarea):hover { border-color: #17365c !important; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) :is(input,select,textarea,summary,button):focus-visible { outline: 3px solid #17365c; outline-offset: 3px; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) :is(.pc-field-touched:invalid,.error,[aria-invalid="true"]),
body form.pc-form-attempted :is(input,select,textarea):invalid { border-color: #a33328 !important; }
body form:is(.pc-form,.pc-ads-form,[data-type="mailerForm"]) :is(input,select,textarea):disabled { color: #52617a; background: #edf0f4; border-color: #6f8096 !important; }
body form.pc-form details { margin: 0; border: 0; background: transparent; }
body form.pc-form details > summary { min-height: 44px; padding: 10px 0; border: 0; color: #43516a; background: transparent; line-height: 1.6; cursor: pointer; }
body form.pc-form details > summary:hover { color: #17365c; }
body form.pc-form details > summary:focus-visible { outline: 3px solid #17365c; outline-offset: 3px; }
body form .pc-required-note { margin: 0; color: #43516a; font-size: 12px; line-height: 1.6; background: transparent; }
body form.pc-form .pc-form-note { margin-top: 0; font-size: 12px; line-height: 1.7; }
@media (max-width: 800px) {
 body .pc-contact-section .pc-contact-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
 body .pc-contact-layout > .pc-contact-story { grid-column: 1; grid-row: 1; display: contents; }
 body .pc-contact-layout > form.pc-form { grid-column: 1; grid-row: 3; }
 body .pc-contact-story > .pc-section-heading { grid-column: 1; grid-row: 1; margin-bottom: 0; }
 body .pc-contact-story > .pc-section-heading h2 { font-size: 30px; line-height: 1.2; }
 body .pc-contact-story > .pc-contact-copy { grid-column: 1; grid-row: 2; }
 body .pc-contact-story .pc-contact-support { display: block; grid-column: 1; grid-row: 4; margin-top: 0; }
 body .pc-contact-story .pc-contact-support .pc-direct { margin-top: 22px; padding-top: 0; }
}

/* A warm closing section with a distinct, calm form card. */
body section.pc-contact-section#kontakt { color: #17365c; background: #f7f1e8; border-top: 1px solid #e3d8ca; }
body #kontakt .pc-contact-story { color: #17365c; background: #f7f1e8; }
body #kontakt .pc-contact-story :is(h2,h3) { color: #17365c; }
body #kontakt .pc-contact-story .pc-eyebrow { color: #843c19; background: #f7f1e8; }
body #kontakt .pc-contact-story :is(.pc-contact-copy,.pc-contact-support) { color: #43516a; background: #f7f1e8; }
body #kontakt .pc-contact-layout > form.pc-form {
 padding: 28px; border: 1px solid #d4c6b4; border-radius: 16px;
 color: #17365c; background: #fff; box-shadow: 0 8px 28px rgba(23,54,92,.06);
}
@media (max-width: 800px) {
 body #kontakt .pc-contact-layout > form.pc-form { padding: 22px; border-radius: 14px; }
}
@media (max-width: 360px) {
 body #kontakt .pc-contact-layout > form.pc-form { padding: 18px; }
}
