.contact-main { padding: 10rem 0 5rem; background: radial-gradient(ellipse at top left, #1a3023 0, #07110e 65%); }
.contact-intro { max-width: 48rem; margin-bottom: 3rem; }
.contact-kicker { color: #b7d65a; font-size: .8rem; text-transform: uppercase; letter-spacing: .16em; margin-bottom: 1rem; }
.contact-intro h1 { font-family: Montserrat, Arial, sans-serif; font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: 1.15; font-weight: 700; margin: 0 0 1.3rem; }
.contact-intro h1 span { color: #b7d65a; }
.contact-intro > p:last-child { color: #c5d0c0; font-size: 1.1rem; line-height: 1.8; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.contact-panel { min-width: 0; padding: clamp(1.2rem, 4vw, 2.5rem); background: #0c1b15; border: 1px solid #314530; border-radius: 1.4rem; }
.contact-panel h2, .contact-aside h2 { font: 600 1.4rem/1.4 Montserrat, Arial, sans-serif; margin: 0 0 .7rem; }
.contact-note { color: #b5c2b7; font-size: .85rem; margin-bottom: 1.5rem; line-height: 1.7; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; }
.contact-field { min-width: 0; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-field label { display: block; color: #f0f5eb; font-size: .9rem; margin-bottom: .5rem; }
.contact-field label span { color: #b5c2b7; font-size: .8rem; }
.contact-field input, .contact-field textarea, .contact-field select { width: 100%; min-height: 3rem; padding: .8rem; font: inherit; background: #07110e; border: 1px solid #61715d; border-radius: .5rem; color: #f2f7ed; box-sizing: border-box; }
.contact-field textarea { resize: vertical; min-height: 11rem; }
.contact-field input:focus, .contact-field textarea:focus, .contact-field select:focus { outline: 2px solid #b7d65a; outline-offset: 3px; }
.contact-privacy { color: #c5d0c0; font-size: .85rem; line-height: 1.8; margin: 1.5rem 0; }
.contact-privacy a, .contact-aside a, .contact-alert a { color: #c3df75; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.contact-submit { border: 0; border-radius: .5rem; padding: .95rem 1.5rem; font: 600 .95rem/1.4 Inter, Arial, sans-serif; color: #11200d; background: #b7d65a; cursor: pointer; }
.contact-submit:hover { background: #cbe883; }
.contact-submit:focus-visible, .contact-aside a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.contact-aside { padding: 1.5rem .4rem; line-height: 1.8; color: #c5d0c0; }
.contact-aside h2 { color: #f2f7ed; }
.contact-aside p { margin: 1rem 0; }
.contact-aside strong { color: #f2f7ed; }
.contact-aside hr { border: 0; border-top: 1px solid #314530; margin: 2rem 0; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-alert { border: 1px solid #b7d65a; background: #1a3023; border-radius: .6rem; padding: 1.2rem; margin-bottom: 1.5rem; scroll-margin-top: 7rem; }
.contact-alert-error { border-color: #e8ae87; background: #30251e; }
.contact-alert ul { margin: .7rem 0 0; padding-left: 1.2rem; list-style: disc; }
#kontaktformular { scroll-margin-top: 7rem; }
@media (max-width: 760px) { .contact-page .home-shell { width: calc(100% - 2rem); } .contact-main { padding-top: 8rem; } .contact-layout, .contact-fields { grid-template-columns: minmax(0, 1fr); } .contact-intro { margin-bottom: 2rem; } }
.contact-page .home-shell { width: min(1320px, calc(100% - 3rem)); margin-inline: auto; }
