.kontakt-page { overflow: clip; }
.kontakt-page .container { width: min(100%, var(--container-max)); }
.kontakt-hero { padding-block: var(--space-8); }
.kontakt-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); align-items: center; }
.kontakt-hero__copy { min-width: 0; max-width: 35rem; }
.kontakt-hero__lead { max-width: 32rem; font-size: var(--font-size-lead); line-height: var(--line-height-lead); }
.kontakt-hero__proof { color: var(--color-charcoal); font-size: var(--font-size-sm); font-weight: 700; }
.kontakt-hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.kontakt-text-link { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 700; }
.kontakt-hero__media, .kontakt-atmosphere__media { width: 100%; min-width: 0; margin: 0; }
.kontakt-hero__media img { width: 100%; aspect-ratio: 3 / 2; border-radius: var(--radius-module); object-position: 70% center; }
.kontakt-channels__intro { max-width: 41.25rem; }
.kontakt-channels__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.kontakt-channel-card { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-white); }
.kontakt-channel-card > * { min-width: 0; margin: 0; }
.kontakt-channel-card__number, .kontakt-brief-item > span, .kontakt-process__grid > article > span { color: var(--color-champagne-deep); font-size: var(--font-size-sm); font-weight: 700; letter-spacing: var(--tracking-label); }
.kontakt-channel-card h3 { overflow-wrap: anywhere; }
.kontakt-channel-card h3 a { color: var(--color-charcoal); }
.kontakt-brief__intro { max-width: 37.5rem; }
.kontakt-brief__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.kontakt-brief-item { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.kontakt-brief-item > div { min-width: 0; }
.kontakt-trust { padding-top: 0; }
.kontakt-trust__panel { padding: var(--space-7) var(--space-5); border-radius: var(--radius-module); }
.kontakt-trust__intro { max-width: 32.5rem; }
.kontakt-trust__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: var(--space-7); }
.kontakt-trust__grid > article { min-width: 0; padding-top: var(--space-5); border-top: 1px solid rgba(232, 231, 227, .45); }
.kontakt-trust__grid > article > :last-child { margin-bottom: 0; }
.kontakt-process__intro { max-width: 40rem; }
.kontakt-process__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: var(--space-7); }
.kontakt-process__grid > article { min-width: 0; padding-left: var(--space-5); border-left: 1px solid var(--color-champagne); }
.kontakt-process__grid > article > :last-child { margin-bottom: 0; }
.kontakt-atmosphere__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); align-items: start; }
.kontakt-atmosphere__media img { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--radius-module); object-position: center; }
.kontakt-atmosphere__media figcaption { max-width: 40rem; margin-top: var(--space-3); color: var(--color-graphite); font-size: var(--font-size-sm); line-height: 1.5; }
.kontakt-atmosphere__copy { min-width: 0; max-width: 31.25rem; }
.kontakt-faq__intro { max-width: 38.75rem; }
.kontakt-faq__list { max-width: 51.25rem; }
.kontakt-faq__list details { margin-bottom: 0; }
.kontakt-faq__list p { max-width: 46rem; }
.kontakt-form-section { scroll-margin-top: var(--space-8); }
.kontakt-form-section__intro { max-width: 35rem; }
.kontakt-form-section__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); align-items: start; }
.kontakt-form { min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-module); background: var(--color-white); box-shadow: var(--shadow-floating); }
.kontakt-form__required { font-size: var(--font-size-sm); }
.kontakt-form__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.kontakt-form__field { min-width: 0; }
.kontakt-form input:not([type="checkbox"]), .kontakt-form select, .kontakt-form textarea { min-height: 3rem; padding: .75rem; }
.kontakt-form textarea { min-height: 9rem; }
.kontakt-form input:focus, .kontakt-form select:focus, .kontakt-form textarea:focus { border-color: var(--color-border-active); }
.kontakt-form__consent { display: grid; grid-template-columns: 1rem minmax(0, 1fr); gap: var(--space-3); align-items: start; margin-top: var(--space-5); }
.kontakt-form__consent label { margin: 0; }
.kontakt-form__status { margin-top: var(--space-4); font-weight: 700; }
.kontakt-form__status.is-success { color: var(--color-success); }
.kontakt-form__status.is-error { color: var(--color-error); }
.kontakt-form-aside { min-width: 0; padding: var(--space-5); border-radius: var(--radius-module); background: var(--color-ivory); }
.kontakt-form-aside address { color: var(--color-graphite); font-style: normal; }
.kontakt-closing { padding-block: var(--space-9); }
.kontakt-closing__content { display: flex; flex-direction: column; align-items: center; min-width: 0; gap: var(--space-4); max-width: 38.75rem; margin-inline: auto; padding-top: var(--space-7); border-top: 1px solid var(--color-champagne); text-align: center; }
.kontakt-closing__content > * { margin: 0; }
.kontakt-closing__content p { max-width: 31.25rem; }
.kontakt-closing__content small { color: var(--color-graphite); }
.kontakt-reveal { transition: opacity var(--transition-slow), transform var(--transition-slow); }
.kontakt-reveal.is-revealed { opacity: 1; transform: none; }
@media (min-width: 48rem) { .kontakt-hero { padding-block: var(--space-9); } .kontakt-hero__actions { flex-direction: row; flex-wrap: wrap; align-items: center; } .kontakt-channels__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kontakt-channel-card--address { grid-column: 1 / -1; } .kontakt-brief__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-7); row-gap: var(--space-6); } .kontakt-trust__panel { padding: var(--space-8); } .kontakt-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kontakt-trust__grid > article:nth-child(3) { grid-column: 1 / -1; } .kontakt-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kontakt-form { padding: var(--space-6); } .kontakt-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kontakt-form__field--wide { grid-column: 1 / -1; } }
@media (min-width: 57.5rem) { .kontakt-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); } .kontakt-atmosphere__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8); } }
@media (min-width: 62.5rem) { .kontakt-channels__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .kontakt-channel-card--address { grid-column: auto; } .kontakt-trust__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); } .kontakt-trust__grid > article { padding-top: 0; border-top: 0; border-left: 1px solid rgba(232, 231, 227, .45); padding-left: var(--space-5); } .kontakt-trust__grid > article:first-child { padding-left: 0; border-left: 0; } .kontakt-trust__grid > article:nth-child(3) { grid-column: auto; } .kontakt-process__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); } .kontakt-form-section__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-6); } }
@media (min-width: 75rem) { .kontakt-hero { padding-block: var(--space-10); } .kontakt-channels, .kontakt-brief, .kontakt-process, .kontakt-atmosphere, .kontakt-faq, .kontakt-form-section { padding-block: var(--space-10); } }
@media (max-width: 29.9375rem) { .kontakt-hero__actions { align-items: stretch; } .kontakt-text-link { justify-content: flex-start; } }
@media (prefers-reduced-motion: no-preference) { .kontakt-reveal { opacity: .01; transform: translateY(12px); } }
