main.kapcsolat-page {
  --kapcsolat-section-gap: var(--space-9);
}

.kapcsolat-page .kapcsolat-hero {
  position: relative;
  overflow: hidden;
  min-height: 32.5rem;
  padding-block: clamp(4rem, 9vw, 8rem);
  background: var(--color-charcoal);
  color: var(--color-chalk-white);
}

.kapcsolat-page .kapcsolat-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 2fr) minmax(0, 3fr);
  align-items: center;
  min-width: 0;
}

.kapcsolat-page .kapcsolat-hero__copy {
  grid-column: 1 / span 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 43rem;
}

.kapcsolat-page .kapcsolat-hero__copy > * { margin: 0; }

.kapcsolat-page .kapcsolat-hero .eyebrow,
.kapcsolat-page .kapcsolat-hero__note { color: var(--color-pale-stone); }

.kapcsolat-page .kapcsolat-hero h1 {
  max-width: 8.8em;
  color: var(--color-chalk-white);
  font-size: clamp(3rem, 7vw, 6.5rem);
}

.kapcsolat-page .kapcsolat-hero__lead {
  max-width: 35rem;
  font-size: 1.0625rem;
  line-height: 1.55;
}

.kapcsolat-page .kapcsolat-hero__action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.kapcsolat-page .kapcsolat-hero__note { font-size: var(--text-small); }

.kapcsolat-page .kapcsolat-hero .button--accent {
  box-shadow: inset 0 0 0 0 var(--color-charcoal);
  transition: box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.kapcsolat-page .kapcsolat-hero .button--accent:hover { box-shadow: inset 0 0 0 2px var(--color-charcoal); background: var(--color-burnt-orange); color: var(--color-charcoal); }

.kapcsolat-page .kapcsolat-hero__geometry {
  grid-column: 3;
  position: relative;
  justify-self: end;
  width: min(100%, 15rem);
  aspect-ratio: 1;
  border: 1px solid rgb(245 243 238 / 45%);
  transform: rotate(45deg);
}

.kapcsolat-page .kapcsolat-hero__geometry::before,
.kapcsolat-page .kapcsolat-hero__geometry::after {
  position: absolute;
  content: "";
}

.kapcsolat-page .kapcsolat-hero__geometry::before { inset: 19%; border: 2px solid var(--color-muted-cobalt); }
.kapcsolat-page .kapcsolat-hero__geometry::after { top: 50%; left: -16%; width: 132%; border-top: 2px solid var(--color-burnt-orange); }

.kapcsolat-page .kapcsolat-intents { padding-block: var(--kapcsolat-section-gap); }
.kapcsolat-page .kapcsolat-intents__intro { width: min(100%, 33.75rem); }
.kapcsolat-page .kapcsolat-intents__intro > :last-child { margin-bottom: 0; }
.kapcsolat-page .kapcsolat-intents__rule { margin-block: var(--space-6); border-top: var(--border-strong); }

.kapcsolat-page .kapcsolat-intent-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.kapcsolat-page .kapcsolat-intent-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-top: var(--border-strong);
  background: var(--color-pale-stone);
  color: var(--color-charcoal);
  text-decoration: none;
  transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);
}

.kapcsolat-page .kapcsolat-intent-card:nth-child(1) { grid-column: 1 / span 6; }
.kapcsolat-page .kapcsolat-intent-card:nth-child(2) { grid-column: 7 / span 6; background: var(--color-charcoal); color: var(--color-chalk-white); border-color: var(--color-charcoal); }
.kapcsolat-page .kapcsolat-intent-card:nth-child(3) { grid-column: 2 / span 6; background: var(--color-chalk-white); }
.kapcsolat-page .kapcsolat-intent-card:nth-child(4) { grid-column: 8 / span 4; }
.kapcsolat-page .kapcsolat-intent-card > * { margin: 0; }
.kapcsolat-page .kapcsolat-intent-card:hover { border-top-color: var(--color-muted-cobalt); }
.kapcsolat-page .kapcsolat-intent-card:focus-visible { outline: 3px solid var(--color-muted-cobalt); outline-offset: 3px; }
.kapcsolat-page .kapcsolat-intent-card h3 { color: inherit; }
.kapcsolat-page .kapcsolat-intent-card__number { color: var(--color-muted-cobalt); font-family: var(--font-heading); font-size: clamp(2.5rem, 4vw, 4.25rem); line-height: 0.85; }
.kapcsolat-page .kapcsolat-intent-card--dark .meta,
.kapcsolat-page .kapcsolat-intent-card--dark .kapcsolat-intent-card__link { color: var(--color-chalk-white); }
.kapcsolat-page .kapcsolat-intent-card__link { margin-top: auto; color: var(--color-muted-cobalt); font-weight: 600; text-decoration-thickness: 1px; }
.kapcsolat-page .kapcsolat-intent-card__terms { display: grid; gap: var(--space-1); color: var(--color-dark-muted); font-size: var(--text-meta); font-weight: 600; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; }

.kapcsolat-page .kapcsolat-venue { padding-block: var(--kapcsolat-section-gap); }
.kapcsolat-page .kapcsolat-venue__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; min-width: 0; }
.kapcsolat-page .kapcsolat-venue__copy { grid-column: 2 / span 6; min-width: 0; width: min(100%, 37.5rem); }
.kapcsolat-page .kapcsolat-venue__rail { grid-column: 9 / span 4; min-width: 0; padding: var(--space-5); background: var(--color-pale-stone); border: var(--border-subtle); }
.kapcsolat-page .kapcsolat-venue__rail > *:last-child { margin-bottom: 0; }
.kapcsolat-page .kapcsolat-venue__rail dl { display: grid; gap: var(--space-4); margin: 0; }
.kapcsolat-page .kapcsolat-venue__rail div { min-width: 0; }
.kapcsolat-page .kapcsolat-placeholder { overflow-wrap: anywhere; color: var(--color-dark-muted); font-size: var(--text-small); }
.kapcsolat-page .kapcsolat-emphasis { border-bottom: 1px solid var(--color-muted-cobalt); }

.kapcsolat-page .kapcsolat-prep { padding-block: var(--kapcsolat-section-gap); background: var(--color-pale-stone); }
.kapcsolat-page .kapcsolat-prep__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; min-width: 0; }
.kapcsolat-page .kapcsolat-prep__intro { grid-column: 1 / span 5; min-width: 0; width: min(100%, 31.25rem); }
.kapcsolat-page .kapcsolat-prep__steps { grid-column: 6 / span 7; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.kapcsolat-page .kapcsolat-step { min-width: 0; border-top: var(--border-strong); padding-top: var(--space-4); }
.kapcsolat-page .kapcsolat-step > *:last-child { margin-bottom: 0; }
.kapcsolat-page .kapcsolat-step__number { margin: 0 0 var(--space-3); color: var(--color-muted-cobalt); font-family: var(--font-heading); font-size: 2.75rem; line-height: 1; }

.kapcsolat-page .kapcsolat-form-section { padding-block: var(--kapcsolat-section-gap); }
.kapcsolat-page .kapcsolat-form-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; min-width: 0; }
.kapcsolat-page .kapcsolat-form-intro { grid-column: 1 / span 4; min-width: 0; width: min(100%, 26.25rem); }
.kapcsolat-page .kapcsolat-form-panel { grid-column: 6 / span 7; min-width: 0; padding: clamp(1.5rem, 4vw, 3rem); border: var(--border-subtle); background: var(--color-pale-stone); }
.kapcsolat-page .kapcsolat-form-panel__status { margin-bottom: var(--space-5); padding: var(--space-3); border-left: 2px solid var(--color-muted-cobalt); background: var(--color-chalk-white); }
.kapcsolat-page .kapcsolat-form-panel__status:empty { display: none; }
.kapcsolat-page .kapcsolat-form { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.kapcsolat-page .kapcsolat-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.kapcsolat-page .kapcsolat-form legend { padding: 0; margin-bottom: var(--space-3); }
.kapcsolat-page .kapcsolat-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.kapcsolat-page .kapcsolat-form__field { min-width: 0; }
.kapcsolat-page .kapcsolat-form__field--wide { grid-column: 1 / -1; }
.kapcsolat-page .kapcsolat-form__field label { margin-bottom: var(--space-2); }
.kapcsolat-page .kapcsolat-form__help { margin: var(--space-2) 0 0; color: var(--color-dark-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.kapcsolat-page .kapcsolat-form__optional { display: none; min-width: 0; }
.kapcsolat-page .kapcsolat-form__optional.is-active { display: block; }
.kapcsolat-page .kapcsolat-form__error { margin: var(--space-2) 0 0; color: var(--color-charcoal); font-size: var(--text-small); font-weight: 600; }
.kapcsolat-page .kapcsolat-form .has-error :is(input, select, textarea) { border: 2px solid var(--color-burnt-orange); }
.kapcsolat-page .kapcsolat-form__consent { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-3); }
.kapcsolat-page .kapcsolat-form__consent input { flex: 0 0 1.125rem; margin-top: .2rem; }
.kapcsolat-page .kapcsolat-form__consent label { min-width: 0; margin: 0; font-weight: 400; }
.kapcsolat-page .kapcsolat-form__submit { align-self: flex-start; }
.kapcsolat-page .kapcsolat-form__technical { margin: 0; color: var(--color-dark-muted); font-size: var(--text-small); }
.kapcsolat-page .kapcsolat-form__technical[hidden] { display: none; }

.kapcsolat-page .kapcsolat-paths { padding-block: var(--kapcsolat-section-gap); }
.kapcsolat-page .kapcsolat-paths__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; min-width: 0; }
.kapcsolat-page .kapcsolat-paths__copy { grid-column: 2 / span 6; min-width: 0; width: min(100%, 36.25rem); }
.kapcsolat-page .kapcsolat-paths__links { grid-column: 9 / span 4; display: grid; gap: 0; min-width: 0; }
.kapcsolat-page .kapcsolat-path-link { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-1); min-width: 0; padding-block: var(--space-4); border-top: var(--border-subtle); color: var(--color-charcoal); text-decoration: none; }
.kapcsolat-page .kapcsolat-path-link:last-child { border-bottom: var(--border-subtle); }
.kapcsolat-page .kapcsolat-path-link:hover { color: var(--color-muted-cobalt); text-decoration: underline; text-decoration-thickness: 2px; }
.kapcsolat-page .kapcsolat-path-link span { color: var(--color-dark-muted); font-size: var(--text-small); line-height: var(--leading-small); }

.kapcsolat-page .kapcsolat-direct { padding-block: var(--kapcsolat-section-gap); background: var(--color-pale-stone); }
.kapcsolat-page .kapcsolat-direct__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.kapcsolat-page .kapcsolat-direct__item { min-width: 0; min-height: 100%; padding-top: var(--space-4); border-top: var(--border-strong); }
.kapcsolat-page .kapcsolat-direct__item > *:last-child { margin-bottom: 0; }
.kapcsolat-page .kapcsolat-direct__value { margin-bottom: var(--space-3); overflow-wrap: anywhere; color: var(--color-dark-muted); font-size: 1rem; }

.kapcsolat-page .kapcsolat-closing { padding-block: clamp(4rem, 8vw, 6rem); background: var(--color-charcoal); color: var(--color-chalk-white); }
.kapcsolat-page .kapcsolat-closing__content { display: flex; width: min(100%, 32.5rem); min-width: 0; margin-inline: auto; flex-direction: column; align-items: center; gap: var(--space-5); text-align: center; }
.kapcsolat-page .kapcsolat-closing__content > * { margin: 0; }
.kapcsolat-page .kapcsolat-closing h2 { color: var(--color-chalk-white); }
.kapcsolat-page .kapcsolat-closing__content p { max-width: 32.5rem; }

@media (max-width: 63.9375rem) {
  .kapcsolat-page .kapcsolat-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .kapcsolat-page .kapcsolat-hero__copy { grid-column: 1; max-width: 32.5rem; }
  .kapcsolat-page .kapcsolat-hero__geometry { position: absolute; right: 7%; bottom: -4rem; width: 13rem; opacity: .35; }
  .kapcsolat-page .kapcsolat-venue__grid,
  .kapcsolat-page .kapcsolat-prep__grid,
  .kapcsolat-page .kapcsolat-form-layout,
  .kapcsolat-page .kapcsolat-paths__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kapcsolat-page .kapcsolat-venue__copy { grid-column: 1 / span 6; }
  .kapcsolat-page .kapcsolat-venue__rail { grid-column: 1 / -1; }
  .kapcsolat-page .kapcsolat-prep__intro { grid-column: 1 / -1; }
  .kapcsolat-page .kapcsolat-prep__steps { grid-column: 1 / -1; }
  .kapcsolat-page .kapcsolat-form-intro { grid-column: 1 / -1; }
  .kapcsolat-page .kapcsolat-form-panel { grid-column: 1 / -1; }
  .kapcsolat-page .kapcsolat-paths__copy { grid-column: 1 / -1; }
  .kapcsolat-page .kapcsolat-paths__links { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-5); }
  .kapcsolat-page .kapcsolat-path-link:nth-last-child(-n + 2) { border-bottom: var(--border-subtle); }
}

@media (max-width: 44.9375rem) {
  .kapcsolat-page { --kapcsolat-section-gap: var(--space-8); }
  .kapcsolat-page .kapcsolat-hero { min-height: 0; padding-block: var(--space-8); }
  .kapcsolat-page .kapcsolat-hero h1 { font-size: clamp(3rem, 14vw, 4.25rem); }
  .kapcsolat-page .kapcsolat-hero__lead { max-width: calc(100% - .5rem); }
  .kapcsolat-page .kapcsolat-hero__geometry { display: none; }
  .kapcsolat-page .kapcsolat-intent-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .kapcsolat-page .kapcsolat-intent-card:nth-child(n) { grid-column: 1; }
  .kapcsolat-page .kapcsolat-venue__grid,
  .kapcsolat-page .kapcsolat-prep__grid,
  .kapcsolat-page .kapcsolat-form-layout,
  .kapcsolat-page .kapcsolat-paths__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .kapcsolat-page .kapcsolat-venue__copy,
  .kapcsolat-page .kapcsolat-venue__rail,
  .kapcsolat-page .kapcsolat-prep__intro,
  .kapcsolat-page .kapcsolat-prep__steps,
  .kapcsolat-page .kapcsolat-form-intro,
  .kapcsolat-page .kapcsolat-form-panel,
  .kapcsolat-page .kapcsolat-paths__copy,
  .kapcsolat-page .kapcsolat-paths__links { grid-column: 1; width: 100%; }
  .kapcsolat-page .kapcsolat-prep__steps,
  .kapcsolat-page .kapcsolat-direct__grid,
  .kapcsolat-page .kapcsolat-paths__links,
  .kapcsolat-page .kapcsolat-form__grid { grid-template-columns: minmax(0, 1fr); }
  .kapcsolat-page .kapcsolat-step { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: var(--space-3); }
  .kapcsolat-page .kapcsolat-step__number { grid-row: span 2; }
  .kapcsolat-page .kapcsolat-step h3 { margin-bottom: var(--space-2); }
  .kapcsolat-page .kapcsolat-step p { margin-bottom: 0; }
  .kapcsolat-page .kapcsolat-form__field--wide { grid-column: 1; }
  .kapcsolat-page .kapcsolat-form__submit { width: 100%; }
  .kapcsolat-page .kapcsolat-path-link:nth-last-child(-n + 2) { border-bottom: 0; }
  .kapcsolat-page .kapcsolat-path-link:last-child { border-bottom: var(--border-subtle); }
}

@media (max-width: 29.9375rem) {
  .kapcsolat-page .kapcsolat-step { display: block; }
  .kapcsolat-page .kapcsolat-step__number { margin-bottom: var(--space-2); }
}
