.kontakt-page {
  overflow: hidden;
}

.kontakt-page .technical-label::before,
.kontakt-page .deck-marker::before {
  content: "";
}

.kontakt-hero {
  position: relative;
  isolation: isolate;
  min-height: 41.25rem;
  overflow: hidden;
  background: var(--color-atlantic-navy);
}

.kontakt-hero__window {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 28%, rgba(224, 160, 120, 0.22) 0 1px, transparent 2px),
    radial-gradient(circle at 84% 42%, rgba(224, 160, 120, 0.13) 0 2px, transparent 3px),
    linear-gradient(110deg, rgba(7, 26, 43, 0.98) 0%, rgba(7, 26, 43, 0.9) 38%, rgba(7, 26, 43, 0.35) 70%, rgba(13, 57, 64, 0.22) 100%),
    linear-gradient(180deg, #102b42 0%, #0d3940 49%, #071a2b 50%, #061522 100%);
}

.kontakt-hero__moon {
  position: absolute;
  top: 14%;
  right: 18%;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: rgba(241, 232, 216, 0.36);
  box-shadow: 0 0 3.5rem rgba(224, 160, 120, 0.18);
}

.kontakt-hero__horizon {
  position: absolute;
  right: 0;
  bottom: 38%;
  left: 42%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-copper-light), rgba(241, 232, 216, 0.58), transparent);
}

.kontakt-hero__sea {
  position: absolute;
  right: -10%;
  bottom: 0;
  left: 34%;
  height: 39%;
  opacity: 0.72;
  background: repeating-linear-gradient(174deg, transparent 0 1.6rem, rgba(215, 209, 197, 0.1) 1.65rem 1.72rem, transparent 1.78rem 3.7rem);
  transform: skewX(-9deg);
}

.kontakt-hero__frame {
  position: absolute;
  top: 0;
  bottom: 31%;
  width: 0.65rem;
  background: linear-gradient(90deg, #06111b, #40535a, #081724);
  opacity: 0.75;
}

.kontakt-hero__frame--one { right: 34%; }
.kontakt-hero__frame--two { right: 8%; }

.kontakt-hero__container {
  display: grid;
  min-height: 41.25rem;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: end;
}

.kontakt-hero__copy {
  grid-column: 1;
  width: min(100%, 42.5rem);
  min-width: 0;
  padding: 7rem 0 8rem;
}

.kontakt-hero__copy > .deck-marker {
  margin-bottom: var(--space-4);
}

.kontakt-hero__copy h1 {
  font-size: var(--text-display);
  max-width: 41.25rem;
}

.kontakt-hero__lead {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 35rem);
  padding: var(--space-5);
  border-radius: var(--radius-module);
}

.kontakt-hero__lead p { margin: 0; font-size: var(--text-lead); line-height: var(--line-lead); }

.kontakt-hero__channels {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  width: min(100%, 31.25rem);
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-smoked-glass-border);
  border-radius: var(--radius-card);
  background: var(--color-smoked-glass);
  box-shadow: var(--shadow-deep);
}

.kontakt-hero__channel { min-width: 0; }
.kontakt-hero__channel .technical-label { margin-bottom: var(--space-1); }
.kontakt-hero__channel a,
.kontakt-hero__channel p { display: block; margin: 0; color: var(--color-warm-pearl); overflow-wrap: anywhere; }
.kontakt-hero__channel a { min-height: 2.75rem; color: var(--color-copper-light); font-weight: var(--weight-semibold); }

.kontakt-hero__table {
  position: absolute;
  right: 3%;
  bottom: -1.5rem;
  left: auto;
  z-index: -1;
  width: min(58%, 48rem);
  height: 13.5rem;
  overflow: hidden;
  border: 1px solid rgba(224, 160, 120, 0.24);
  border-radius: 0.875rem 0.875rem 0 0;
  background: linear-gradient(120deg, #191a19, #3a271c 48%, #15191a);
  box-shadow: 0 -1rem 3rem rgba(0, 0, 0, 0.25);
}

.kontakt-hero__map {
  position: absolute;
  top: 2rem;
  left: 16%;
  width: 19rem;
  height: 10rem;
  overflow: hidden;
  border: 1px solid rgba(7, 26, 43, 0.34);
  background: #d5c8aa;
  transform: rotate(-7deg);
}

.kontakt-hero__map::before,
.kontakt-hero__map::after {
  position: absolute;
  content: "";
}
.kontakt-hero__map::before { inset: 12% 8%; border: 1px solid rgba(7, 26, 43, 0.36); border-radius: 48% 35% 52% 34%; }
.kontakt-hero__map::after { top: 48%; left: -8%; width: 120%; height: 1px; background: rgba(196, 119, 77, 0.72); transform: rotate(-16deg); }
.kontakt-hero__map span { position: absolute; width: 0.38rem; height: 0.38rem; border-radius: 50%; background: var(--color-burgundy-wine); }
.kontakt-hero__map span:nth-child(1) { top: 31%; left: 32%; }
.kontakt-hero__map span:nth-child(2) { top: 63%; left: 62%; }
.kontakt-hero__map span:nth-child(3) { top: 27%; left: 76%; }

.kontakt-hero__compass {
  position: absolute;
  right: 18%;
  bottom: 2.5rem;
  width: 5.25rem;
  height: 5.25rem;
  border: 0.45rem solid #a77756;
  border-radius: 50%;
  background: #15242a;
  box-shadow: inset 0 0 0 1px #e0a078, 0 0.7rem 1rem rgba(0, 0, 0, 0.34);
}
.kontakt-hero__compass::before,
.kontakt-hero__compass::after { position: absolute; top: 50%; left: 50%; width: 3.5rem; height: 1px; background: var(--color-warm-pearl); content: ""; transform: translate(-50%, -50%) rotate(45deg); }
.kontakt-hero__compass::after { transform: translate(-50%, -50%) rotate(-45deg); }
.kontakt-hero__compass i { position: absolute; inset: 42%; z-index: 1; border-radius: 50%; background: var(--color-sunset-copper); }

.kontakt-hero__notebook { position: absolute; right: 39%; bottom: 1.4rem; width: 7.5rem; height: 5rem; border: 1px solid rgba(7, 26, 43, 0.64); background: repeating-linear-gradient(0deg, #d7d1c5 0 1px, #e8ddca 1px 0.85rem); transform: rotate(11deg); }
.kontakt-hero__prints { position: absolute; top: 1.7rem; right: 4%; width: 8rem; height: 5.5rem; }
.kontakt-hero__prints b { position: absolute; width: 5.2rem; height: 3.8rem; border: 0.35rem solid #d7d1c5; background: linear-gradient(145deg, #0d3940, #071a2b 60%, #c4774d); box-shadow: 0 0.4rem 0.75rem rgba(0, 0, 0, 0.34); }
.kontakt-hero__prints b:first-child { top: 0; left: 0; transform: rotate(-11deg); }
.kontakt-hero__prints b:last-child { right: 0; bottom: 0; transform: rotate(9deg); }

.kontakt-scope__intro { width: min(100%, 38.75rem); min-width: 0; }
.kontakt-scope__intro .eyebrow,
.kontakt-details__heading .eyebrow,
.kontakt-form-section__heading .eyebrow,
.kontakt-guidance__heading .eyebrow,
.kontakt-boundaries__heading .eyebrow,
.kontakt-directions__heading .eyebrow { margin-bottom: var(--space-3); }

.kontakt-scope__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
  margin-top: var(--space-6);
}

.kontakt-scope__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-steel-border);
  border-radius: var(--radius-card);
}
.kontakt-scope__card > * { min-width: 0; margin: 0; }
.kontakt-scope__card h3 { font-size: var(--text-card-title); }
.kontakt-scope__card a { min-height: 2.75rem; margin-top: auto; font-weight: var(--weight-semibold); }
.kontakt-scope__card--ship { margin-top: -1.25rem; background: rgba(13, 57, 64, 0.5); }
.kontakt-scope__card--comfort { border-top-color: var(--color-copper-border); background: var(--color-deep-teal); }
.kontakt-scope__card--night { background: var(--color-burgundy-wine); }

.kontakt-details { background: linear-gradient(180deg, transparent, rgba(13, 57, 64, 0.32)); }
.kontakt-details__heading { width: min(100%, 38.75rem); min-width: 0; }
.kontakt-details__board {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr);
  margin-top: var(--space-6);
  border: 1px solid rgba(7, 26, 43, 0.26);
  border-radius: var(--radius-module);
  overflow: hidden;
}
.kontakt-details__item { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-6); border-right: 1px solid rgba(7, 26, 43, 0.22); }
.kontakt-details__item:last-child { border-right: 0; }
.kontakt-details__item > * { min-width: 0; margin: 0; }
.kontakt-details__item .technical-label { color: rgba(7, 26, 43, 0.62); }
.kontakt-details__item .technical-label::before { background: var(--color-sunset-copper); }
.kontakt-details__item h3 { color: var(--color-atlantic-navy); font-size: var(--text-card-title); }
.kontakt-details__item a { display: inline-flex; align-items: center; min-height: 2.75rem; color: #8b482c; font-size: var(--text-lead); font-weight: var(--weight-semibold); overflow-wrap: anywhere; }
.kontakt-details__item--phone { background: var(--color-deep-teal); }
.kontakt-details__item--phone .technical-label,
.kontakt-details__item--phone h3,
.kontakt-details__item--phone p { color: var(--color-warm-pearl); }
.kontakt-details__item--phone a { color: var(--color-copper-light); }
.kontakt-details__address { color: var(--color-atlantic-navy); font-size: var(--text-lead); font-weight: var(--weight-semibold); }

.kontakt-form-section__heading { width: min(100%, 36.25rem); min-width: 0; }
.kontakt-form-section__layout {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: start;
  margin-top: var(--space-6);
}
.kontakt-form { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); padding: var(--space-6); border-radius: var(--radius-module); }
.kontakt-form__course { position: relative; width: 100%; height: 1px; background: var(--color-steel-border); }
.kontakt-form__course span { position: absolute; top: -2px; left: 0; width: 34%; height: 4px; background: var(--color-sunset-copper); }
.kontakt-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.kontakt-form__field { min-width: 0; }
.kontakt-form__field--message { grid-column: 1 / -1; }
.kontakt-form__field label { display: block; }
.kontakt-form__field :is(input, select, textarea) { min-width: 0; border-color: rgba(113, 129, 138, 0.52); background-color: rgba(13, 57, 64, 0.78); }
.kontakt-form__field textarea { min-height: 10rem; }
.kontakt-form__error { display: block; min-height: 1.25rem; margin-top: var(--space-1); color: var(--color-copper-light); font-size: var(--text-small); line-height: var(--line-small); }
.kontakt-form__field.is-invalid :is(input, select, textarea) { border-color: var(--color-copper-light); }
.kontakt-form__actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.kontakt-form__actions > * { min-width: 0; }
.kontakt-form__actions .button-primary { gap: var(--space-2); min-height: 3rem; }
.kontakt-form__actions p { width: min(100%, 25rem); margin: 0; color: var(--color-pearl-mist); font-size: var(--text-small); }
.kontakt-form__status { min-height: 0; color: var(--color-warm-pearl); font-weight: var(--weight-semibold); }
.kontakt-form__status.is-success { padding: var(--space-4); border-left: 2px solid var(--color-sunset-copper); background: rgba(13, 57, 64, 0.72); }
.kontakt-form-section__aside { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-steel-border); border-radius: var(--radius-card); background: rgba(13, 57, 64, 0.66); }
.kontakt-form-section__aside > * { min-width: 0; margin: 0; }
.kontakt-form-section__aside h3 { font-size: var(--text-card-title); }

.kontakt-guidance { background: rgba(13, 57, 64, 0.24); }
.kontakt-guidance__heading { width: min(100%, 37.5rem); min-width: 0; }
.kontakt-guidance__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); align-items: stretch; margin-top: var(--space-6); }
.kontakt-guidance__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-steel-border); border-radius: var(--radius-card); }
.kontakt-guidance__card > * { min-width: 0; margin: 0; }
.kontakt-guidance__card--one { background: var(--color-deep-teal); }
.kontakt-guidance__card--two { background: var(--color-warm-pearl); color: var(--color-atlantic-navy); }
.kontakt-guidance__card--two h3 { color: var(--color-atlantic-navy); }
.kontakt-guidance__card--two p { color: rgba(7, 26, 43, 0.84); }
.kontakt-guidance__card--three { background: var(--color-burgundy-wine); }
.kontakt-guidance__number { color: var(--color-copper-light); font-family: var(--font-mono); font-size: 2rem; font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-technical); }
.kontakt-guidance__card--two .kontakt-guidance__number { color: #8b482c; }
.kontakt-guidance__card h3 { font-size: var(--text-card-title); }

.kontakt-boundaries__heading { width: min(100%, 34rem); min-width: 0; }
.kontakt-boundaries__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-4); align-items: stretch; margin-top: var(--space-6); }
.kontakt-boundaries__editorial,
.kontakt-boundaries__limits { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border-radius: var(--radius-module); }
.kontakt-boundaries__editorial > *,
.kontakt-boundaries__limits > * { min-width: 0; margin: 0; }
.kontakt-boundaries__editorial { background: var(--color-deep-teal); border: 1px solid var(--color-steel-border); }
.kontakt-boundaries__limits { border-left: 3px solid var(--color-sunset-copper); }
.kontakt-boundaries__limits .technical-label { color: rgba(7, 26, 43, 0.65); }
.kontakt-boundaries__limits h3 { color: var(--color-atlantic-navy); }

.kontakt-directions__heading { width: min(100%, 35rem); min-width: 0; }
.kontakt-directions__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-6); align-items: start; margin-top: var(--space-6); }
.kontakt-directions__list { display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--color-steel-border); }
.kontakt-directions__link { display: grid; grid-template-columns: minmax(6.8rem, 0.28fr) minmax(0, 1fr) auto; gap: var(--space-4); align-items: center; min-width: 0; min-height: 6.25rem; padding: var(--space-4) 0; border-bottom: 1px solid var(--color-steel-border); color: var(--color-warm-pearl); text-decoration: none; }
.kontakt-directions__link > * { min-width: 0; }
.kontakt-directions__link > [aria-hidden="true"] { color: var(--color-copper-light); font-size: 1.5rem; transition: transform var(--transition-fast); }
.kontakt-directions__copy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-1); }
.kontakt-directions__copy strong { color: var(--color-warm-pearl); font-family: var(--font-heading); font-size: var(--text-card-title); font-weight: var(--weight-medium); line-height: var(--line-card-title); }
.kontakt-directions__copy small { color: var(--color-pearl-mist); }
.kontakt-directions__link:hover { background: rgba(13, 57, 64, 0.4); color: var(--color-warm-pearl); }
.kontakt-directions__link:hover > [aria-hidden="true"] { transform: translateX(0.25rem); }
.kontakt-directions__link--night { border-left: 2px solid rgba(196, 119, 77, 0.65); padding-left: var(--space-3); background: rgba(84, 37, 53, 0.36); }
.kontakt-directions__aside { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-copper-border); border-radius: var(--radius-card); background: rgba(13, 57, 64, 0.54); }
.kontakt-directions__aside > * { min-width: 0; margin: 0; }
.kontakt-directions__aside h3 { font-size: var(--text-card-title); }

.kontakt-final { padding-bottom: var(--section-space); }
.kontakt-final__panel { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-6); align-items: end; min-width: 0; padding: var(--space-6); border: 1px solid var(--color-steel-border); border-radius: var(--radius-module); background: linear-gradient(90deg, var(--color-deep-teal), rgba(13, 57, 64, 0.66)); }
.kontakt-final__copy { min-width: 0; width: min(100%, 32.5rem); }
.kontakt-final__copy .technical-label { margin-bottom: var(--space-3); }
.kontakt-final__copy h2 { font-size: var(--text-section-title); }
.kontakt-final__copy p { margin-bottom: 0; }
.kontakt-final__button { justify-self: start; gap: var(--space-2); min-height: 3rem; }

@media (hover: hover) and (pointer: fine) {
  .kontakt-hero:hover .kontakt-hero__horizon { box-shadow: 0 0 1.25rem rgba(224, 160, 120, 0.5); transform: translateX(1rem); transition: transform var(--transition-panel), box-shadow var(--transition-panel); }
}

@media (max-width: 1019px) {
  .kontakt-form-section__layout { grid-template-columns: minmax(0, 1fr); }
  .kontakt-form-section__aside { width: min(100%, 43rem); }
}

@media (max-width: 979px) {
  .kontakt-hero { display: flex; min-height: 0; flex-direction: column; padding-top: 17rem; }
  .kontakt-hero__window { bottom: auto; height: 17rem; }
  .kontakt-hero__horizon { bottom: 35%; left: 0; }
  .kontakt-hero__sea { right: 0; left: -5%; height: 36%; }
  .kontakt-hero__frame { bottom: 0; }
  .kontakt-hero__frame--one { right: 28%; }
  .kontakt-hero__frame--two { right: 6%; }
  .kontakt-hero__container { display: block; min-height: 0; }
  .kontakt-hero__copy { width: min(100%, 42.5rem); padding: var(--space-7) 0 var(--space-8); }
  .kontakt-hero__table { position: relative; right: auto; bottom: auto; left: 0; width: 100%; height: 9.5rem; border-radius: 0; }
  .kontakt-hero__map { top: 1rem; left: 18%; width: 16rem; height: 8rem; }
  .kontakt-hero__compass { right: 18%; bottom: 1.5rem; transform: scale(0.8); }
  .kontakt-hero__notebook { right: 37%; bottom: 0.8rem; transform: rotate(11deg) scale(0.78); }
  .kontakt-hero__prints { display: none; }
  .kontakt-scope__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kontakt-scope__card--night { grid-column: 1 / -1; }
  .kontakt-scope__card--ship { margin-top: 0; }
  .kontakt-details__board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kontakt-details__item--address { grid-column: 1 / -1; border-top: 1px solid rgba(7, 26, 43, 0.22); }
  .kontakt-boundaries__grid { grid-template-columns: minmax(0, 1fr); }
  .kontakt-directions__layout { grid-template-columns: minmax(0, 1fr); }
  .kontakt-directions__aside { width: min(100%, 40rem); }
}

@media (max-width: 899px) {
  .kontakt-guidance__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 839px) {
  .kontakt-boundaries__editorial,
  .kontakt-boundaries__limits { padding: var(--space-5); }
}

@media (max-width: 719px) {
  .kontakt-hero { padding-top: 0; }
  .kontakt-hero__window { position: relative; height: 13.5rem; }
  .kontakt-hero__moon { top: 18%; right: 16%; width: 3.5rem; height: 3.5rem; }
  .kontakt-hero__copy { width: 100%; padding: var(--space-7) 0; }
  .kontakt-hero__copy h1 { font-size: clamp(2.625rem, 12vw, 3rem); }
  .kontakt-hero__lead { width: 100%; padding: var(--space-4); }
  .kontakt-hero__channels { width: 100%; padding: var(--space-4); }
  .kontakt-hero__table { height: 7.5rem; }
  .kontakt-hero__map { top: 0.7rem; left: 8%; width: 12rem; height: 6rem; }
  .kontakt-hero__compass { right: 10%; bottom: 0.55rem; transform: scale(0.63); }
  .kontakt-hero__notebook { display: none; }
  .kontakt-scope__grid,
  .kontakt-details__board,
  .kontakt-form__fields,
  .kontakt-final__panel { grid-template-columns: minmax(0, 1fr); }
  .kontakt-scope__card--night,
  .kontakt-details__item--address,
  .kontakt-form__field--message { grid-column: auto; }
  .kontakt-details__item { padding: var(--space-5); border-right: 0; border-bottom: 1px solid rgba(7, 26, 43, 0.22); }
  .kontakt-details__item:last-child { border-bottom: 0; }
  .kontakt-form { padding: var(--space-4); }
  .kontakt-form__actions { align-items: stretch; }
  .kontakt-form__actions p { width: 100%; }
  .kontakt-directions__link { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-3); min-height: 6.75rem; }
  .kontakt-directions__link .deck-marker { grid-column: 1; grid-row: 1; }
  .kontakt-directions__link .kontakt-directions__copy { grid-column: 1 / -1; grid-row: 2; }
  .kontakt-directions__link > [aria-hidden="true"] { grid-column: 2; grid-row: 1; }
  .kontakt-final__panel { align-items: start; padding: var(--space-5); }
  .kontakt-final__button { width: max-content; }
}

@media (max-width: 419px) {
  .kontakt-hero__channel a { font-size: 0.94rem; }
  .kontakt-form__actions .button-primary,
  .kontakt-final__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .kontakt-hero__horizon,
  .kontakt-directions__link > [aria-hidden="true"] { transition: none; transform: none; }
}
