.contact-page { min-height:80vh; }
.contact-hero { background:var(--color-white);padding:70px 0 60px;text-align:center;border-bottom:1px solid rgba(196,160,168,.15); }
.contact-hero-inner { max-width:620px;margin:0 auto; }
.contact-hero h1 { font-family:var(--font-heading);font-size:clamp(2rem,5vw,2.8rem);color:var(--color-primary);margin-bottom:10px; }
.contact-lead { font-size:1.05rem;font-style:italic;color:var(--color-text-light);margin-bottom:8px; }
.contact-hero p { font-size:14px;color:var(--color-text); }
.contact-form-section { background:var(--color-bg-section);padding:70px 0; }
.contact-form-wrap { max-width:860px;margin:0 auto; }
.cf-form-box { background:var(--color-white);border:1px solid rgba(196,160,168,.3);border-radius:16px;padding:40px;box-shadow:0 4px 24px rgba(45,31,35,.06); }
.cf-top-row { display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px; }
.cf-left { display:flex;flex-direction:column;gap:16px; }
.cf-right { display:flex;flex-direction:column; }
.cf-bericht { flex:1;display:flex;flex-direction:column; }
.cf-bericht textarea { flex:1;min-height:220px;resize:none; }
.form-group { display:flex;flex-direction:column;gap:5px; }
.form-group label { font-size:12.5px;font-weight:700;color:var(--color-text); }
.cf-bericht label { font-size:12.5px;font-weight:700;color:var(--color-text); }
.form-group input,.form-group select,.form-group textarea { font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-bg);border:1px solid rgba(196,160,168,.4);border-radius:var(--radius);padding:10px 13px;outline:none;transition:border-color var(--transition),box-shadow var(--transition); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(196,160,168,.15); }
.form-submit { text-align:center;margin-top:10px; }
.form-submit .btn { min-width:160px; }
.form-message { padding:13px 18px;border-radius:var(--radius);margin-bottom:20px;font-size:14px; }
.form-message--success { background:#d4edda;color:#155724;border:1px solid #c3e6cb; }
.form-message--error { background:#f8d7da;color:#721c24;border:1px solid #f5c6cb; }
@media (max-width:640px){ .cf-top-row{grid-template-columns:1fr} .cf-form-box{padding:24px 20px} }
