.kontakt-page { overflow: hidden; }
.kontakt-page .section { position: relative; }
.kontakt-hero::before { position: absolute; z-index: -1; top: 2rem; left: 42%; width: 28rem; height: 28rem; border-radius: 50%; background: radial-gradient(circle, rgba(102,199,242,.14), rgba(139,124,255,.05) 38%, transparent 70%); content: ""; pointer-events: none; }
.kontakt-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: 8.333%; align-items: start; }
.kontakt-hero__grid > * { min-width: 0; }
.kontakt-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); min-width: 0; }
.kontakt-hero__copy > * { min-width: 0; margin: 0; }
.kontakt-hero__copy .lead { max-width: 58ch; }
.kontakt-quick { display: flex; flex-direction: column; gap: var(--space-5); min-width: 300px; padding: var(--space-6); border-radius: var(--radius-xl); }
.kontakt-quick > * { min-width: 0; margin: 0; }
.kontakt-quick__items { display: flex; flex-direction: column; gap: var(--space-4); }
.kontakt-quick__items > div { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.kontakt-quick__label { color: var(--color-text-muted); font-size: var(--font-size-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.kontakt-quick a, .kontakt-detail__link { overflow-wrap: anywhere; color: var(--color-ice-blue); font-size: 1.0625rem; font-weight: 600; }
.kontakt-section-intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.kontakt-section-intro > * { min-width: 0; margin: 0; }
.kontakt-topics__intro { width: min(58.333%, 46rem); }
.kontakt-topics__intro p { max-width: 58ch; }
.kontakt-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.kontakt-topic-grid > * { min-width: 0; width: 100%; }
.kontakt-topic-card .card__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); height: 100%; }
.kontakt-topic-card .card__body > * { min-width: 0; margin: 0; }
.kontakt-topic-card h3 { font-size: clamp(1.2rem, 2vw, 1.4rem); }
.kontakt-topic-card p { max-width: 46ch; }
.kontakt-topic-card a { margin-top: auto; }
.kontakt-details h2 { margin-bottom: var(--space-6); }
.kontakt-details__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-5); align-items: stretch; }
.kontakt-details__grid > * { min-width: 0; width: 100%; }
.kontakt-detail { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); }
.kontakt-detail > * { min-width: 0; margin: 0; }
.kontakt-detail h3 { font-size: 1.25rem; }
.kontakt-detail p { max-width: 42ch; }
.kontakt-detail address { color: var(--color-text-primary); font-style: normal; line-height: 1.625; }
.kontakt-form-section__intro { width: min(58.333%, 45rem); }
.kontakt-form-section__intro p { max-width: 56ch; }
.kontakt-form { display: flex; flex-direction: column; gap: var(--space-5); width: min(75%, 56.25rem); min-width: 0; margin-top: var(--space-6); padding: var(--space-6); }
.kontakt-form > * { min-width: 0; margin: 0; }
.kontakt-form__short-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.kontakt-form__short-fields > * { min-width: 0; width: 100%; }
.kontakt-field { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.kontakt-field > * { min-width: 0; margin: 0; }
.kontakt-field label span { color: var(--color-text-secondary); font-weight: 400; }
.kontakt-field input, .kontakt-field select, .kontakt-field textarea { min-height: 2.75rem; }
.kontakt-field textarea { min-height: 10rem; }
.kontakt-error { min-height: 1.25rem; color: #ffd2d2; font-size: var(--font-size-meta); line-height: var(--line-height-meta); }
.kontakt-field [aria-invalid="true"] { border-color: #f2a7a7; box-shadow: 0 0 0 3px rgba(242,167,167,.12); }
.kontakt-form__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.kontakt-form__actions > * { min-width: 0; margin: 0; }
.kontakt-form__actions p { max-width: 60ch; font-size: var(--font-size-meta); }
.kontakt-status { min-height: 1.5rem; color: var(--color-status-safe); font-weight: 600; }
.kontakt-guidance__intro { width: min(50%, 42rem); }
.kontakt-guidance__intro p { max-width: 58ch; }
.kontakt-guidance__list { display: flex; flex-direction: column; gap: 0; width: min(66.667%, 52rem); min-width: 0; margin-top: var(--space-6); }
.kontakt-guidance__list > * { min-width: 0; width: 100%; }
.kontakt-step { display: grid; grid-template-columns: minmax(3rem, 1fr) minmax(0, 7fr); gap: var(--space-5); padding: var(--space-5) 0; border-top: var(--border-default); }
.kontakt-step > * { min-width: 0; }
.kontakt-step > span { color: rgba(193,181,255,.62); font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; }
.kontakt-step > div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.kontakt-step > div > * { min-width: 0; margin: 0; }
.kontakt-step h3 { font-size: 1.25rem; }
.kontakt-step p { max-width: 64ch; }
.kontakt-scope .kontakt-section-intro { width: min(58.333%, 45rem); }
.kontakt-scope__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-5); margin-top: var(--space-6); align-items: stretch; }
.kontakt-scope__grid > * { min-width: 0; width: 100%; }
.kontakt-scope__main, .kontakt-scope__small { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); }
.kontakt-scope__main > *, .kontakt-scope__small > * { min-width: 0; margin: 0; }
.kontakt-scope__main p { max-width: 70ch; }
.kontakt-scope__main h3 { font-size: clamp(1.35rem, 2.5vw, 1.65rem); }
.kontakt-scope__side { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; width: 100%; }
.kontakt-scope__side > * { min-width: 0; width: 100%; }
.kontakt-scope__small p { max-width: 55ch; }
.kontakt-scope__small h3 { font-size: 1.25rem; }
.kontakt-faq__intro { width: min(58.333%, 44rem); }
.kontakt-faq__list { display: flex; flex-direction: column; gap: 0; width: min(66.667%, 51.25rem); min-width: 0; margin-top: var(--space-6); overflow: hidden; }
.kontakt-faq__list > * { min-width: 0; width: 100%; }
.kontakt-faq__item + .kontakt-faq__item { border-top: var(--border-default); }
.kontakt-faq__item h3 { margin: 0; font-size: 1rem; }
.kontakt-faq__item button { display: grid; grid-template-columns: minmax(0, 1fr) 1.5rem; width: 100%; min-height: 3.25rem; padding: var(--space-4) var(--space-5); border: 0; border-radius: 0; background: transparent; color: var(--color-text-primary); font-family: var(--font-heading); font-size: 1rem; font-weight: 700; text-align: left; }
.kontakt-faq__item button span { justify-self: end; font-size: 1.3rem; line-height: 1; }
.kontakt-faq__item button[aria-expanded="true"] { background: rgba(20,42,82,.48); }
.kontakt-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.kontakt-faq__item [role="region"] { padding: 0 var(--space-5) var(--space-5); }
.kontakt-faq__item [role="region"] p { max-width: 68ch; margin: 0; }
.kontakt-closing { padding-bottom: clamp(var(--space-8), 8vw, var(--space-10)); }
.kontakt-closing__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(11.25rem, 3fr); column-gap: 16.667%; align-items: center; padding: var(--space-6); }
.kontakt-closing__panel > * { min-width: 0; }
.kontakt-closing__panel > div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kontakt-closing__panel > div > * { min-width: 0; margin: 0; }
.kontakt-closing__panel p { max-width: 54ch; }
.kontakt-closing__panel .button { justify-self: end; min-width: 11.25rem; }
@media (max-width: 61.24rem) { .kontakt-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kontakt-topics__intro { width: 75%; } }
@media (max-width: 57.49rem) { .kontakt-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .kontakt-quick { width: min(75%, 34rem); } .kontakt-details__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); } .kontakt-details__grid > :nth-child(3) { grid-column: 1 / span 1; } }
@media (max-width: 54.99rem) { .kontakt-scope__grid { grid-template-columns: minmax(0, 1fr); } .kontakt-scope__side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .kontakt-scope__side > * { min-width: 0; } }
@media (max-width: 51.24rem) { .kontakt-guidance__intro, .kontakt-guidance__list, .kontakt-faq__list, .kontakt-faq__intro { width: 100%; } }
@media (max-width: 47.49rem) { .kontakt-topics__intro, .kontakt-form-section__intro, .kontakt-guidance__intro, .kontakt-scope .kontakt-section-intro, .kontakt-faq__intro { width: 100%; } .kontakt-form { width: 100%; } .kontakt-closing__panel { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-5); } .kontakt-closing__panel .button { justify-self: start; } }
@media (max-width: 42.49rem) { .kontakt-form__short-fields { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 39.99rem) { .kontakt-hero::before { width: 18rem; height: 18rem; left: 30%; opacity: .55; } .kontakt-hero__copy .display-title { font-size: clamp(2rem, 9vw, 2.75rem); } .kontakt-quick { width: 100%; min-width: 0; padding: var(--space-5); } .kontakt-topic-grid, .kontakt-details__grid, .kontakt-scope__side { grid-template-columns: minmax(0, 1fr); } .kontakt-details__grid > :nth-child(3) { grid-column: auto; } .kontakt-detail, .kontakt-scope__main, .kontakt-scope__small, .kontakt-form { padding: var(--space-5); } .kontakt-topic-card .card__body { padding: var(--space-5); } .kontakt-topic-card a { display: inline-flex; align-items: center; min-height: 2.75rem; } .kontakt-step { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } .kontakt-faq__item button { padding-inline: var(--space-4); } .kontakt-faq__item [role="region"] { padding-inline: var(--space-4); } .kontakt-closing__panel .button { width: 100%; min-height: 3rem; } }
@media (prefers-reduced-motion: reduce) { .kontakt-faq__item button span { transition: none; } }