/* Kontakt und ausschließlich serverseitig gespeicherte Projektanfragen. */
.contact-section { padding-block:75px; background:radial-gradient(ellipse at left bottom,#164988,transparent 65%),#061d49; color:#fff; }
.contact-layout { display:grid; grid-template-columns:.85fr 1fr; gap:85px; align-items:start; }
.contact-layout h2 { font-size:clamp(35px,3.7vw,50px); line-height:1.08; }
.contact-layout .lead { color:#c8d9f3; }
.contact-layout > div > p:not(.eyebrow) { color:#c8d9f3; }
.direct-links { display:flex; flex-direction:column; gap:18px; margin-top:30px; font-size:17px; }
.direct-links a { display:flex; align-items:center; gap:12px; color:#ffbd83; overflow-wrap:anywhere; }
.contact-form { position:relative; padding:30px; border:1px solid #8dabd54a; border-radius:18px; background:#ffffff07; }
.contact-form input,.contact-form select,.contact-form textarea { background:#041938; color:#fff; border-color:#8caad15c; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#a9bad4; }
.contact-form .field label { font-size:13px; color:#f1f6ff; }
.contact-form [aria-invalid=true] { border-color:#ffb290; }
.field-error { display:block; color:#ffd4bf; font-size:12px; margin-top:5px; }
.field-error:empty { display:none; }
.consent { display:flex; align-items:flex-start; gap:10px; color:#c7d6ec; font-size:12px; line-height:1.65; }
.consent input { margin:3px 0 0; }
.consent a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.form-submit { width:100%; margin-top:22px; }
.form-submit:disabled { cursor:wait; opacity:.75; }
.form-status { border:1px solid #ffc39366; border-radius:8px; padding:12px; color:#ffdbbd; background:#a647172c; font-size:14px; margin:17px 0 0; }
.form-status:empty { display:none; }
.form-status.is-success { border-color:#68d5b155; color:#b2f0d7; background:#1a725432; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; inset-inline-start:-10000px; }
.meeting-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; margin-bottom:35px; }
.meeting-card { padding:22px; display:flex; flex-wrap:wrap; gap:13px; align-items:center; background:#f0f6fe; border:1px solid var(--line); border-radius:12px; font-size:14px; }
.meeting-card > .icon:first-child { color:#d66d20; }
.meeting-card span { flex:1; min-width:100px; }
.meeting-card .directional { width:18px; }
.meeting-card:hover { border-color:#5398db; }
.contact-details { display:grid; grid-template-columns:1.1fr .8fr 1.1fr; gap:25px; }
.contact-details > div { padding:25px; border:1px solid var(--line); border-radius:12px; }
.contact-details .icon { color:#2675b6; margin-bottom:18px; }
.contact-details h2 { font-size:21px; }
.contact-details p { color:var(--muted); font-size:13px; margin:15px 0 0; }
.contact-details a { font-size:14px; overflow-wrap:anywhere; }
@media(max-width:1050px) { .contact-layout { gap:40px; } .meeting-grid { grid-template-columns:1fr 1fr; } .contact-details { grid-template-columns:1fr; gap:15px; } }
@media(max-width:800px) { .contact-layout { grid-template-columns:1fr; gap:32px; } .contact-section { padding-block:53px; } .contact-layout > div { max-width:650px; } }
@media(max-width:500px) { .meeting-grid { grid-template-columns:1fr; gap:12px; } .contact-form { padding:23px 18px; } }
