.kontakt-page { overflow: clip; padding-top: calc(var(--header-height) + var(--header-offset) + var(--space-4)); }
.kontakt-page a { overflow-wrap: anywhere; }
.kontakt-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kontakt-hero { padding-bottom: var(--space-10); background: var(--color-petrol-900); }
.kontakt-hero__container { display: grid; grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); align-items: stretch; min-height: 45rem; }
.kontakt-hero__panel { z-index: 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; align-self: center; gap: var(--space-5); margin-right: calc(var(--space-7) * -1); padding: var(--space-9) var(--space-8); border: 1px solid var(--color-border-copper); background: var(--color-petrol-900); box-shadow: var(--shadow-soft); }
.kontakt-hero__panel > * { min-width: 0; margin: 0; }
.kontakt-hero__panel h1 { max-width: 11ch; font-size: clamp(3.2rem, 5vw, 3.5rem); }
.kontakt-hero__lead { max-width: 32rem; font-size: var(--text-lead); line-height: var(--leading-lead); }
.kontakt-hero__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }
.kontakt-hero__actions > * { min-width: 0; }
.kontakt-hero__location { color: var(--color-text-muted); font-size: var(--text-small); }
.kontakt-hero__media { width: 100%; min-width: 0; height: 100%; margin: 0; overflow: hidden; }
.kontakt-hero__media img { width: 100%; height: 100%; min-height: 45rem; object-fit: cover; object-position: 72% center; transition: transform var(--transition-image); }
.kontakt-hero__media:hover img { transform: scale(1.02); }
.kontakt-channels { background: var(--color-petrol-900); }
.kontakt-channels__container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); }
.kontakt-channels__heading { display: flex; grid-column: 8 / 13; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kontakt-channels__heading > * { min-width: 0; margin: 0; }
.kontakt-channels__heading p { max-width: 35rem; }
.kontakt-channels__cards { display: grid; grid-column: 1 / 13; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.kontakt-channel-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-7); border: 1px solid var(--color-border-copper); }
.kontakt-channel-card > * { min-width: 0; margin: 0; }
.kontakt-channel-card--phone { background: var(--color-espresso-950); }
.kontakt-channel-card--email { background: var(--color-warm-ivory); color: var(--color-espresso-950); }
.kontakt-channel-card__label, .kontakt-channels__address-label { color: var(--color-aged-copper); font-size: var(--text-label); font-weight: 700; letter-spacing: .14em; line-height: var(--leading-label); text-transform: uppercase; }
.kontakt-channel-card__link { font-family: var(--font-heading); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 500; line-height: 1.1; text-decoration-color: var(--color-aged-copper); }
.kontakt-channel-card p { max-width: 28rem; font-size: var(--text-small); }
.kontakt-channels__address { display: flex; grid-column: 1 / 13; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-5) var(--space-6); background: var(--color-burgundy-700); }
.kontakt-channels__address > * { min-width: 0; }
.kontakt-channels__address p { margin: var(--space-2) 0 0; }
.kontakt-channels__address > a { max-width: 32rem; font-family: var(--font-heading); font-size: var(--text-card-title); line-height: var(--leading-title); }
.kontakt-occasions__container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-7) var(--space-5); }
.kontakt-occasions__intro { display: flex; grid-column: 1 / 7; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kontakt-occasions__intro > * { min-width: 0; margin: 0; }
.kontakt-occasions__intro p { max-width: 37.5rem; }
.kontakt-occasions__grid { display: grid; grid-column: 1 / 13; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kontakt-occasion { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: 0 var(--space-6); border-left: 1px solid rgba(164, 111, 76, .45); }
.kontakt-occasion:first-child { padding-left: 0; border-left: 0; }
.kontakt-occasion > * { min-width: 0; margin: 0; }
.kontakt-occasion__number { color: var(--color-aged-copper); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; }
.kontakt-occasion p { max-width: 20rem; }
.kontakt-occasion a { margin-top: auto; font-size: var(--text-small); font-weight: 700; }
.kontakt-occasion--offset { padding-top: var(--space-7); }
.kontakt-preparation { background: var(--color-petrol-900); }
.kontakt-preparation__container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-7) var(--space-5); }
.kontakt-preparation__intro { display: flex; grid-column: 1 / 5; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kontakt-preparation__intro > * { min-width: 0; margin: 0; }
.kontakt-preparation__intro p { max-width: 33.75rem; }
.kontakt-preparation__steps { display: grid; grid-column: 6 / 13; min-width: 0; gap: 0; margin: 0; padding: 0; list-style: none; }
.kontakt-preparation__step { display: grid; grid-template-columns: 4.5rem minmax(0, 30%) minmax(0, 70%); min-width: 0; gap: var(--space-4); padding: var(--space-5) 0; border-top: 1px solid var(--color-border-copper); }
.kontakt-preparation__step:last-child { border-bottom: 1px solid var(--color-border-copper); }
.kontakt-preparation__step > * { min-width: 0; }
.kontakt-preparation__number { color: var(--color-aged-copper); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.kontakt-preparation__step h3, .kontakt-preparation__step p { margin: 0; }
.kontakt-preparation__step p { grid-column: 3; max-width: 27.5rem; font-size: var(--text-small); }
.kontakt-preparation__step div { display: contents; }
.kontakt-preparation__step h3 { grid-column: 2; }
.kontakt-program { background: var(--color-espresso-950); }
.kontakt-program__container { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--space-7); }
.kontakt-program__media { width: 100%; min-width: 0; margin: 0; overflow: hidden; border-radius: var(--radius-sm); }
.kontakt-program__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 35% center; }
.kontakt-program__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.kontakt-program__content > * { min-width: 0; margin: 0; }
.kontakt-program__lead { max-width: 35rem; font-size: var(--text-lead); line-height: var(--leading-lead); }
.kontakt-program__rules { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: var(--space-4); }
.kontakt-program__rule { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-border-copper); }
.kontakt-program__rule > * { min-width: 0; margin: 0; }
.kontakt-program__rule p { max-width: 19rem; font-size: var(--text-small); }
.kontakt-program__rule-mark { width: 1.5rem; height: 1.5rem; border: 1px solid var(--color-aged-copper); transform: rotate(45deg); }
.kontakt-program__rule--callout { background: var(--color-burgundy-700); }
.kontakt-form-section { background: var(--color-espresso-950); }
.kontakt-form-section__container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-7) var(--space-5); }
.kontakt-form-section__intro { display: flex; grid-column: 1 / 5; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kontakt-form-section__intro > * { min-width: 0; margin: 0; }
.kontakt-form-section__intro p { max-width: 35rem; }
.kontakt-form { display: flex; grid-column: 6 / 13; min-width: 0; flex-direction: column; gap: var(--space-5); padding: var(--space-7); border: 1px solid var(--color-border-copper); background: rgba(22, 58, 60, .35); box-shadow: var(--shadow-soft); }
.kontakt-form > * { min-width: 0; margin: 0; }
.kontakt-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.kontakt-form__field { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-2); }
.kontakt-form__field--full { grid-column: 1 / 3; }
.kontakt-form label { margin: 0; }
.kontakt-form label span { color: var(--color-ivory-muted); font-size: .65rem; letter-spacing: .04em; }
.kontakt-form input, .kontakt-form select { min-height: 3.25rem; }
.kontakt-form textarea { min-height: 9.375rem; }
.kontakt-form__consent { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); min-width: 0; align-items: start; gap: var(--space-3); }
.kontakt-form__consent > * { min-width: 0; }
.kontakt-form__consent input { margin-top: .1rem; }
.kontakt-form__consent label { margin: 0; font-size: var(--text-small); font-weight: 400; letter-spacing: 0; line-height: var(--leading-small); text-transform: none; }
.kontakt-form__error { display: none; color: #f3b0a8; font-size: var(--text-small); font-weight: 700; line-height: var(--leading-small); }
.kontakt-form__field.is-invalid input, .kontakt-form__field.is-invalid select, .kontakt-form__field.is-invalid textarea, .kontakt-form__consent.is-invalid input { border-color: #f3b0a8; }
.kontakt-form__field.is-invalid .kontakt-form__error, .kontakt-form__consent.is-invalid + .kontakt-form__error { display: block; }
.kontakt-form__errors { padding: var(--space-4); border-left: .125rem solid #f3b0a8; background: rgba(99, 51, 59, .5); }
.kontakt-form__status { display: none; padding: var(--space-4); border-left: .125rem solid var(--color-soft-sage); background: rgba(120, 133, 120, .28); }
.kontakt-form__status.is-visible { display: block; }
.kontakt-form__submit { align-self: flex-start; }
.kontakt-process__container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); }
.kontakt-process__heading { display: flex; grid-column: 1 / 5; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kontakt-process__heading > * { min-width: 0; margin: 0; }
.kontakt-process__cards { display: grid; grid-column: 5 / 13; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.kontakt-process__card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-border-light); background: rgba(240, 232, 220, .72); }
.kontakt-process__card > * { min-width: 0; margin: 0; }
.kontakt-process__card > span { color: var(--color-aged-copper); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.kontakt-process__card p { max-width: 21rem; font-size: var(--text-small); }
.kontakt-arrival { background: var(--color-espresso-950); }
.kontakt-arrival__container { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; }
.kontakt-arrival__panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); padding: var(--space-9) var(--space-8); background: var(--color-burgundy-700); }
.kontakt-arrival__panel > * { min-width: 0; margin: 0; }
.kontakt-arrival__address { max-width: 37.5rem; font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; text-decoration-color: rgba(240,232,220,.6); }
.kontakt-arrival__panel p { max-width: 26.25rem; }
.kontakt-arrival__media { width: 100%; min-width: 0; margin: 0; overflow: hidden; }
.kontakt-arrival__media img { width: 100%; height: 100%; min-height: 30rem; object-fit: cover; object-position: 30% center; }
.kontakt-final { position: relative; background: var(--color-petrol-900); }
.kontakt-final::before { position: absolute; top: var(--space-6); left: 50%; width: min(80vw, 58rem); height: 16rem; border: 1px solid rgba(164,111,76,.28); border-bottom: 0; border-radius: 50% 50% 0 0; transform: translateX(-50%); content: ""; pointer-events: none; }
.kontakt-final__container { position: relative; }
.kontakt-final__content { display: flex; width: min(100%, 38.75rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); margin-inline: auto; text-align: center; }
.kontakt-final__content > * { min-width: 0; margin: 0; }
.kontakt-final__content p { max-width: 38rem; font-size: var(--text-lead); line-height: var(--leading-lead); }
.kontakt-final__email { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; font-size: var(--text-small); font-weight: 700; }
@media (max-width: 61.25rem) { .kontakt-hero__container { grid-template-columns: 1fr; min-height: 0; } .kontakt-hero__media { grid-row: 1; height: 22rem; } .kontakt-hero__media img { min-height: 0; object-position: 68% center; } .kontakt-hero__panel { grid-row: 2; margin: calc(var(--space-6) * -1) var(--space-5) 0 0; padding: var(--space-7); } }
@media (max-width: 60rem) { .kontakt-process__heading { grid-column: 1 / 13; } .kontakt-process__cards { grid-column: 1 / 13; grid-template-columns: repeat(2, minmax(0, 1fr)); } .kontakt-process__card:last-child { grid-column: 1 / 3; } }
@media (max-width: 57.5rem) { .kontakt-occasions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) 0; } .kontakt-occasion { padding-left: var(--space-5); } .kontakt-occasion:nth-child(3) { grid-column: 1 / 3; padding-top: 0; } .kontakt-program__container { grid-template-columns: 1fr; } .kontakt-program__media { grid-row: 1; } .kontakt-program__content { grid-row: 2; } .kontakt-form-section__intro { grid-column: 1 / 13; } .kontakt-form { grid-column: 1 / 13; } }
@media (max-width: 52.5rem) { .kontakt-preparation__intro { grid-column: 1 / 13; } .kontakt-preparation__steps { grid-column: 1 / 13; } }
@media (max-width: 51.25rem) { .kontakt-arrival__container { grid-template-columns: 1fr; } .kontakt-arrival__media { grid-row: 1; height: 15.625rem; } .kontakt-arrival__media img { min-height: 0; object-position: 35% center; } .kontakt-arrival__panel { grid-row: 2; padding: var(--space-7) var(--space-6); } }
@media (max-width: 47.5rem) { .kontakt-channels__heading { grid-column: 1 / 13; } .kontakt-channels__cards { grid-template-columns: 1fr; } .kontakt-channels__address { flex-direction: column; align-items: flex-start; } .kontakt-channels__address > a { max-width: none; } }
@media (max-width: 43.75rem) { .kontakt-form__grid { grid-template-columns: 1fr; } .kontakt-form__field--full { grid-column: 1; } .kontakt-form { padding: var(--space-5); } }
@media (max-width: 38.75rem) { .kontakt-hero__panel { margin: 0; padding: var(--space-6) var(--space-5); } .kontakt-hero__panel h1 { font-size: 2.5rem; line-height: 1.02; } .kontakt-hero__actions { flex-direction: column; } .kontakt-hero__actions > * { width: 100%; } .kontakt-occasions__grid { grid-template-columns: 1fr; gap: var(--space-5); } .kontakt-occasion, .kontakt-occasion:nth-child(3) { grid-column: 1; padding: var(--space-5) 0 0; border-top: 1px solid rgba(164, 111, 76, .45); border-left: 0; } .kontakt-occasion:first-child { padding-top: 0; border-top: 0; } .kontakt-preparation__step { grid-template-columns: 1fr; gap: var(--space-3); } .kontakt-preparation__step h3, .kontakt-preparation__step p { grid-column: 1; } .kontakt-program__rules { grid-template-columns: 1fr; } .kontakt-process__cards { grid-template-columns: 1fr; } .kontakt-process__card:last-child { grid-column: 1; } .kontakt-final__content .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .kontakt-hero__media:hover img { transform: none; } }
