/* Kontakt: gleiche Typografie und Contentbreite wie die Zielseiten. */
.ads-contact { color: #1d1d1b; background: #fff; font-family: Roboto, sans-serif; }
.ads-contact *, .ads-contact *::before, .ads-contact *::after { box-sizing: border-box; }
.ads-contact-width { width: min(1300px, calc(100% - 64px)); margin-inline: auto; }
.ads-contact-kicker { margin: 0 0 26px; font-size: 12px; font-weight: 700; line-height: 1.2; letter-spacing: .17em; text-transform: uppercase; }
.ads-contact h1, .ads-contact h2, .ads-contact h3 { color: inherit; font-family: inherit; }
.ads-contact h1 { max-width: 1180px; margin: 0; font-size: clamp(58px, 6.3vw, 98px); line-height: .91; letter-spacing: -.058em; }
.ads-contact h2 { margin: 0; font-size: clamp(44px, 5vw, 76px); line-height: .96; letter-spacing: -.055em; }
.ads-contact h1 span, .ads-contact h2 span { color: #d02e26; }
.ads-contact p { line-height: 1.65; }
.ads-contact a { color: inherit; }
.ads-contact-opening { position: relative; overflow: hidden; padding: 125px 0 95px; }
.ads-contact-opening::before { content: 'HALLO'; position: absolute; right: -.03em; top: .12em; color: rgba(208,46,38,.055); font-size: clamp(150px, 25vw, 400px); font-weight: 700; line-height: .8; letter-spacing: -.08em; pointer-events: none; }
.ads-contact-opening .ads-contact-width { position: relative; }
.ads-contact-lead { max-width: 820px; margin-top: 42px; }
.ads-contact-lead p { margin: 0; font-size: 18px; }
.ads-contact-lead a { display: flex; justify-content: space-between; gap: 25px; padding-bottom: 14px; border-bottom: 2px solid #1d1d1b; font-weight: 700; }
.ads-contact-lead a span { color: #d02e26; font-size: 26px; }
.ads-contact-direct { position: relative; padding: 65px 0; background: #ffee3b; color: #1d1d1b; }
.ads-contact-direct::before { content: ''; position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(to right,#d02e26 0% 20%,#0067ae 20% 40%,#1d1d1b 40% 60%,#fff 60% 80%,#ffee3b 80%); }
.ads-contact-direct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.ads-contact-direct h2 { font-size: clamp(40px,4vw,60px); }
.ads-contact-direct h2 span { color: #1d1d1b; }
.ads-contact-channels a { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(29,29,27,.4); color: #1d1d1b; font-size: clamp(18px,2vw,27px); overflow-wrap: anywhere; }
.ads-contact-channels a span { color: #1d1d1b; }
.ads-contact-channels p { color: #1d1d1b; margin: 22px 0 0; font-size: 14px; }
.ads-contact-form-section { padding: 110px 0; scroll-margin-top: 110px; }
.ads-contact-form-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(45px,7vw,110px); }
.ads-contact-form-intro > p:not(.ads-contact-kicker) { max-width: 360px; font-size: 18px; margin: 30px 0 40px; }
.ads-contact-next { display: grid; grid-template-columns: 30px 1fr; gap: 18px; max-width: 360px; border-top: 1px solid #d7d7d4; padding-top: 24px; }
.ads-contact-next svg { width: 30px; height: 30px; margin-top: 3px; fill: none; stroke: #0067ae; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ads-contact-next strong { display: block; margin-bottom: 5px; color: #1d1d1b; }
.ads-contact-next p { margin: 0; font-size: 15px; }
.ads-contact-form { position: relative; padding: 36px 0; background: transparent; border-top: 3px solid #1d1d1b; }
.ads-contact-required { margin: 0 0 26px; font-size: 12px; color: #555; }
.ads-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; }
.ads-contact-form label, .ads-contact-form legend { display: block; font-size: 14px; font-weight: 700; }
.ads-contact-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .ads-contact-form textarea {
 display: block; width: 100%; margin: 10px 0 0; padding: 13px 12px; border: 1px solid #a9a9a4; border-radius: 0; background: #fff; color: #1d1d1b; font: 400 16px/1.5 Roboto,sans-serif; box-shadow: none;
}
.ads-contact-form textarea { resize: vertical; min-height: 170px; }
.ads-contact-form fieldset { min-width: 0; margin: 30px 0; padding: 0; border: 0; }
.ads-contact-form legend { margin-bottom: 14px; }
.ads-contact-topics { display: flex; flex-wrap: wrap; gap: 10px; }
.ads-contact-topics label { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #a9a9a4; cursor: pointer; font-size: 12px; }
.ads-contact-topics label:has(input:checked) { border-color: #0067ae; background: #e8f2f8; }
.ads-contact-form input[type=radio], .ads-contact-form input[type=checkbox] { accent-color: #0067ae; width: 17px; height: 17px; flex-shrink: 0; margin: 0; }
.ads-contact-form .ads-contact-privacy { display: flex; align-items: flex-start; gap: 12px; margin: 24px 0; font-size: 12px; font-weight: 400; line-height: 1.6; }
.ads-contact-privacy input { margin-top: 2px !important; }
.ads-contact-privacy a { text-decoration: underline; }
.ads-contact-form button { display: flex; justify-content: space-between; align-items: center; gap: 35px; width: 100%; padding: 18px 22px; border: 0; border-radius: 0; background: #1d1d1b; color: #fff; font: 700 15px/1.5 Roboto,sans-serif; cursor: pointer; transition: background .2s; }
.ads-contact-form button:hover { background: #0067ae; }
.ads-contact-form button span { font-size: 24px; }
.ads-contact :is(a,button,input,textarea):focus-visible { outline: 3px solid #0067ae; outline-offset: 4px; }
.ads-contact-direct a:focus-visible { outline-color: #1d1d1b; }
.ads-contact-form .ads-contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ads-contact-success { padding: 40px; border-top: 4px solid #0067ae; background: #f7f7f5; }
.ads-contact-success h3 { margin-top: 0; font-size: 32px; line-height: 1.1; }
.ads-contact-success a { text-decoration: underline; }
@media(max-width:1000px) { .ads-contact-lead { grid-template-columns: 1fr; gap: 30px; } .ads-contact-lead a { max-width: 320px; } .ads-contact-form-grid { grid-template-columns: 1fr; } .ads-contact-form-intro > p:not(.ads-contact-kicker) { max-width: 620px; } .ads-contact-next { max-width: 620px; } }
@media(max-width:767px) {
 .ads-contact-width { width: calc(100% - 30px); }
 .ads-contact-opening { padding: 85px 0 65px; }
 .ads-contact h1 { font-size: clamp(40px,10vw,58px); line-height: .96; overflow-wrap: anywhere; }
 .ads-contact h1 br { display: none; }
 .ads-contact h2 { font-size: 44px; }
 .ads-contact-lead { margin-top: 30px; }
 .ads-contact-lead p { font-size: 16px; }
 .ads-contact-direct-grid { grid-template-columns: 1fr; gap: 36px; }
 .ads-contact-direct { padding: 60px 0; }
 .ads-contact-form-section { padding: 65px 0; }
 .ads-contact-form { padding: 24px 0; }
 .ads-contact-fields { grid-template-columns: 1fr; }
 .ads-contact-form-grid { gap: 30px; }
}
@media(prefers-reduced-motion:reduce) { .ads-contact * { transition: none !important; scroll-behavior: auto !important; } }
