main.kapcsolat-page {
  background: var(--color-cosmic-black);
  overflow: clip;
}

.kapcsolat-page .kapcsolat-section {
  position: relative;
  padding-block: var(--space-9);
}

.kapcsolat-page .kapcsolat-hero {
  padding-block: var(--space-10) var(--space-9);
}

.kapcsolat-page .kapcsolat-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(16.25rem, 3fr) minmax(0, 1fr);
  gap: var(--grid-gap);
  align-items: start;
}

.kapcsolat-page .kapcsolat-hero__copy {
  grid-column: 1 / span 1;
  min-width: 0;
  max-width: 45rem;
}

.kapcsolat-page .kapcsolat-hero__copy > :last-child,
.kapcsolat-page .kapcsolat-status > :last-child,
.kapcsolat-page .feedback-card > :last-child,
.kapcsolat-page .contact-form-panel > :last-child,
.kapcsolat-page .contact-help > :last-child,
.kapcsolat-page .boundary-card > :last-child,
.kapcsolat-page .process-step > :last-child,
.kapcsolat-page .play-cta__copy > :last-child {
  margin-block-end: 0;
}

.kapcsolat-page .kapcsolat-hero__title-row {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
}

.kapcsolat-page .kapcsolat-hero__title-row > * {
  min-width: 0;
}

.kapcsolat-page .kapcsolat-hero h1 {
  max-width: 39rem;
}

.kapcsolat-page .kapcsolat-hero__number {
  position: absolute;
  z-index: 0;
  top: -1.25rem;
  right: -6.5rem;
  color: rgba(255, 255, 255, 0.075);
  font-family: var(--font-display);
  font-size: clamp(5.5rem, 12vw, 11rem);
  font-style: italic;
  font-weight: 800;
  line-height: var(--line-number);
  pointer-events: none;
  user-select: none;
}

.kapcsolat-page .kapcsolat-hero__lead {
  position: relative;
  max-width: 38.75rem;
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-4);
  border-block-start: var(--border-accent);
}

.kapcsolat-page .kapcsolat-status {
  grid-column: 3 / span 1;
  min-width: 16.25rem;
  display: grid;
  gap: var(--space-4);
  padding: var(--space-5);
}

.kapcsolat-page .kapcsolat-status__title {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--text-card-title);
  font-style: italic;
  font-weight: 700;
  line-height: var(--line-heading);
}

.kapcsolat-page .kapcsolat-status__list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.kapcsolat-page .kapcsolat-status__list li {
  position: relative;
  min-width: 0;
  padding-inline-start: var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--line-label);
  text-transform: uppercase;
}

.kapcsolat-page .kapcsolat-status__list li::before {
  position: absolute;
  top: 0.42em;
  left: 0;
  width: 0.7rem;
  height: 2px;
  background: var(--color-accent);
  content: "";
}

.kapcsolat-page .kapcsolat-section__heading {
  min-width: 0;
}

.kapcsolat-page .kapcsolat-section__heading--feedback {
  width: min(100%, 32.5rem);
}

.kapcsolat-page .kapcsolat-section__heading--form {
  width: min(100%, 37.5rem);
}

.kapcsolat-page .kapcsolat-section__heading--boundary {
  width: min(100%, 35rem);
}

.kapcsolat-page .kapcsolat-section__heading--process {
  width: min(100%, 42.5rem);
}

.kapcsolat-page .section-intro {
  max-width: 35rem;
}

.kapcsolat-page .feedback-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr);
  gap: var(--grid-gap);
  align-items: start;
  margin-block-start: var(--space-7);
}

.kapcsolat-page .feedback-card {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 22rem;
  gap: var(--space-4);
  align-content: start;
  padding: var(--space-5);
  color: var(--color-text);
  text-align: left;
  transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base);
}

.kapcsolat-page button.feedback-card {
  width: 100%;
  min-height: 22rem;
  border: var(--border);
  border-radius: 0;
  background: var(--color-steel-panel);
  font: inherit;
}

.kapcsolat-page .feedback-card::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 3rem;
  height: 3rem;
  border-right: 2px solid var(--color-border);
  border-bottom: 2px solid var(--color-border);
  content: "";
  pointer-events: none;
}

.kapcsolat-page .feedback-card:hover,
.kapcsolat-page .feedback-card:focus-visible,
.kapcsolat-page .feedback-card.is-selected {
  border-color: var(--color-accent);
  transform: translateY(-2px);
}

.kapcsolat-page .feedback-card.is-selected::after {
  border-color: var(--color-accent);
}

.kapcsolat-page .feedback-card--topic {
  margin-block-start: var(--space-5);
}

.kapcsolat-page .feedback-card__label {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--line-label);
  text-transform: uppercase;
}

.kapcsolat-page .feedback-card__label span {
  color: var(--color-accent);
}

.kapcsolat-page .feedback-card h3 {
  margin: 0;
}

.kapcsolat-page .feedback-card p {
  margin: 0;
}

.kapcsolat-page .feedback-card__examples {
  display: grid;
  gap: var(--space-2);
  margin: auto 0 0;
}

.kapcsolat-page .feedback-card__examples li {
  position: relative;
  min-width: 0;
  padding-inline-start: var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: 1.45;
}

.kapcsolat-page .feedback-card__examples li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.75rem;
  height: 1px;
  background: var(--color-accent);
  content: "";
}

.kapcsolat-page .feedback-card__action {
  margin: 0;
  color: var(--color-accent);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: var(--line-label);
  text-decoration: underline;
  text-underline-offset: 0.24em;
}

.kapcsolat-page .feedback-card__selected {
  display: none;
  margin: 0;
  color: var(--color-accent);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: var(--line-label);
  text-transform: uppercase;
}

.kapcsolat-page .feedback-card.is-selected .feedback-card__selected {
  display: block;
}

.kapcsolat-page .contact-workspace {
  display: grid;
  grid-template-columns: minmax(32.5rem, 7fr) minmax(17.5rem, 4fr);
  gap: var(--grid-gap);
  align-items: start;
  margin-block-start: var(--space-7);
}

.kapcsolat-page .contact-form-panel {
  display: grid;
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-6);
}

.kapcsolat-page .contact-form-panel__header {
  display: grid;
  gap: var(--space-3);
}

.kapcsolat-page .contact-form-panel__header > * {
  margin: 0;
}

.kapcsolat-page .contact-form-panel__header h3 {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.kapcsolat-page .form-note {
  color: var(--color-text-muted);
  font-size: var(--text-meta);
}

.kapcsolat-page .contact-form {
  display: grid;
  gap: var(--space-4);
}

.kapcsolat-page .contact-form > * {
  min-width: 0;
}

.kapcsolat-page .form-row {
  display: flex;
  gap: var(--space-4);
}

.kapcsolat-page .form-row > * {
  flex: 1 1 0;
  min-width: 0;
}

.kapcsolat-page .form-field {
  display: grid;
  min-width: 0;
  gap: var(--space-2);
}

.kapcsolat-page .form-field label {
  margin: 0;
}

.kapcsolat-page .required-note {
  color: var(--color-accent);
  font-weight: 800;
}

.kapcsolat-page .form-field input,
.kapcsolat-page .form-field select,
.kapcsolat-page .form-field textarea {
  min-width: 0;
  min-height: 2.75rem;
  border-color: var(--color-border);
  background: var(--color-deep-void);
}

.kapcsolat-page .form-field textarea {
  min-height: 11.25rem;
}

.kapcsolat-page .form-field input[aria-invalid="true"],
.kapcsolat-page .form-field select[aria-invalid="true"],
.kapcsolat-page .form-field textarea[aria-invalid="true"] {
  border-color: var(--color-accent);
}

.kapcsolat-page .form-error {
  display: none;
  margin: 0;
  color: var(--color-white-signal);
  font-size: var(--text-meta);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.kapcsolat-page .form-error.is-visible {
  display: block;
}

.kapcsolat-page .form-status {
  min-height: 1.5rem;
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.kapcsolat-page .form-status.is-success {
  color: var(--color-accent);
}

.kapcsolat-page .form-status.is-error {
  color: var(--color-white-signal);
}

.kapcsolat-page .contact-form__actions {
  display: grid;
  gap: var(--space-3);
  justify-items: start;
}

.kapcsolat-page .contact-form__submit {
  min-height: 3rem;
}

.kapcsolat-page .contact-form__submit:hover,
.kapcsolat-page .contact-form__submit:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
  transform: translateY(-2px);
}

.kapcsolat-page .privacy-note {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: 1.5;
}

.kapcsolat-page .contact-help {
  display: grid;
  min-width: 17.5rem;
  gap: var(--space-5);
  padding: var(--space-5);
}

.kapcsolat-page .contact-help__header {
  display: grid;
  gap: var(--space-3);
}

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

.kapcsolat-page .contact-help h3 {
  font-size: clamp(1.4rem, 2.2vw, 1.8rem);
}

.kapcsolat-page .contact-help__list {
  display: grid;
  gap: var(--space-4);
  margin: 0;
}

.kapcsolat-page .contact-help__list li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block-end: var(--space-4);
  border-block-end: 1px solid var(--color-border);
}

.kapcsolat-page .contact-help__list li:last-child {
  padding-block-end: 0;
  border-block-end: 0;
}

.kapcsolat-page .contact-help__number {
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: 2rem;
  font-style: italic;
  font-weight: 800;
  line-height: 0.9;
}

.kapcsolat-page .contact-help__list strong,
.kapcsolat-page .contact-help__list span {
  display: block;
  min-width: 0;
}

.kapcsolat-page .contact-help__list strong {
  margin-block-end: var(--space-1);
}

.kapcsolat-page .contact-help__list span {
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: 1.48;
}

.kapcsolat-page .boundary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--grid-gap);
  align-items: stretch;
  margin-block-start: var(--space-7);
}

.kapcsolat-page .boundary-card {
  display: grid;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
  transition: border-color var(--transition-base), transform var(--transition-base);
}

.kapcsolat-page .boundary-card:hover {
  border-color: var(--color-accent);
  transform: translateY(-2px);
}

.kapcsolat-page .boundary-card__label {
  margin: 0;
  color: var(--color-accent);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: var(--line-label);
  text-transform: uppercase;
}

.kapcsolat-page .boundary-card h3,
.kapcsolat-page .boundary-card p {
  margin: 0;
}

.kapcsolat-page .boundary-card__list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
}

.kapcsolat-page .boundary-card__list li {
  position: relative;
  min-width: 0;
  padding-inline-start: var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: 1.45;
}

.kapcsolat-page .boundary-card__list li::before {
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-accent);
  content: "";
  transform: rotate(45deg);
}

.kapcsolat-page .boundary-card--official {
  background: var(--color-deep-void);
}

.kapcsolat-page .boundary-card__cta-wrap {
  display: grid;
  gap: var(--space-3);
  margin-block-start: auto;
}

.kapcsolat-page .boundary-card__cta-wrap p {
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: 1.45;
}

.kapcsolat-page .boundary-card__cta {
  justify-self: start;
}

.kapcsolat-page .process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-gap);
  position: relative;
  margin-block-start: var(--space-7);
}

.kapcsolat-page .process-grid::before {
  position: absolute;
  z-index: 0;
  top: 2.25rem;
  left: 12%;
  width: 76%;
  height: 1px;
  background: var(--color-border);
  content: "";
  transform: skewX(-18deg);
}

.kapcsolat-page .process-step {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--color-cosmic-black);
}

.kapcsolat-page .process-step__number {
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 4.75rem);
  font-style: italic;
  font-weight: 800;
  line-height: var(--line-number);
}

.kapcsolat-page .process-step h3,
.kapcsolat-page .process-step p {
  margin: 0;
}

.kapcsolat-page .process-step p {
  color: var(--color-text-muted);
}

.kapcsolat-page .process-step__closing {
  color: var(--color-accent) !important;
  font-weight: 700;
}

.kapcsolat-page .play-cta {
  padding-block-start: var(--space-8);
}

.kapcsolat-page .play-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--grid-gap);
  min-width: 0;
  padding: var(--space-7);
  border-top: 2px solid var(--color-accent);
  background: var(--color-steel-panel);
}

.kapcsolat-page .play-cta__copy {
  grid-column: 1 / span 1;
  display: grid;
  min-width: 0;
  max-width: 45rem;
  gap: var(--space-4);
}

.kapcsolat-page .play-cta__copy h2,
.kapcsolat-page .play-cta__copy p {
  margin: 0;
}

.kapcsolat-page .play-cta__copy h2 {
  max-width: 42rem;
}

.kapcsolat-page .play-cta__primary-copy {
  max-width: 43.75rem;
}

.kapcsolat-page .play-cta__button {
  justify-self: start;
  min-height: 3rem;
}

.kapcsolat-page .play-cta__button:hover,
.kapcsolat-page .play-cta__button:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
  transform: translateY(-2px);
}

.kapcsolat-page .play-cta__independent {
  max-width: 35rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: 1.5;
}

.kapcsolat-page .play-cta__technical {
  grid-column: 3 / span 1;
  align-self: center;
  min-width: 0;
  color: var(--color-text-muted);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 0.9;
  text-align: right;
}

@media (max-width: 62rem) {
  .kapcsolat-page .kapcsolat-hero__grid {
    grid-template-columns: minmax(0, 7fr) minmax(16.25rem, 4fr);
  }

  .kapcsolat-page .kapcsolat-hero__copy {
    grid-column: 1 / span 1;
  }

  .kapcsolat-page .kapcsolat-status {
    grid-column: 2 / span 1;
  }

  .kapcsolat-page .kapcsolat-hero__number {
    right: -3rem;
  }

  .kapcsolat-page .contact-workspace {
    grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr);
  }
}

@media (max-width: 56.25rem) {
  .kapcsolat-page .kapcsolat-section {
    padding-block: var(--space-8);
  }

  .kapcsolat-page .kapcsolat-hero {
    padding-block: var(--space-9) var(--space-8);
  }

  .kapcsolat-page .kapcsolat-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .kapcsolat-page .kapcsolat-hero__copy,
  .kapcsolat-page .kapcsolat-status {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }

  .kapcsolat-page .kapcsolat-status {
    max-width: 34rem;
  }

  .kapcsolat-page .kapcsolat-hero__number {
    right: 0;
  }

  .kapcsolat-page .feedback-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kapcsolat-page .feedback-card--topic {
    margin-block-start: 0;
  }

  .kapcsolat-page .feedback-card--experience {
    grid-column: 1 / -1;
  }

  .kapcsolat-page .contact-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-page .contact-form-panel,
  .kapcsolat-page .contact-help {
    width: 100%;
    min-width: 0;
  }

  .kapcsolat-page .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kapcsolat-page .process-step--third {
    grid-column: 1 / -1;
  }

  .kapcsolat-page .play-cta__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-page .play-cta__copy,
  .kapcsolat-page .play-cta__technical {
    grid-column: 1 / -1;
  }

  .kapcsolat-page .play-cta__technical {
    text-align: left;
  }
}

@media (max-width: 50rem) {
  .kapcsolat-page .boundary-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 44.9375rem) {
  .kapcsolat-page .kapcsolat-section {
    padding-block: var(--space-7);
  }

  .kapcsolat-page .kapcsolat-hero {
    padding-block: var(--space-8) var(--space-7);
  }

  .kapcsolat-page .kapcsolat-hero h1 {
    font-size: clamp(2.6rem, 12vw, 3.5rem);
  }

  .kapcsolat-page .kapcsolat-hero__number {
    position: static;
    align-self: center;
    color: var(--color-accent);
    font-size: 2.5rem;
    line-height: 1;
  }

  .kapcsolat-page .kapcsolat-hero__lead {
    max-width: none;
  }

  .kapcsolat-page .feedback-grid,
  .kapcsolat-page .process-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    margin-block-start: var(--space-6);
  }

  .kapcsolat-page .feedback-card,
  .kapcsolat-page button.feedback-card {
    min-height: 0;
  }

  .kapcsolat-page .feedback-card--experience,
  .kapcsolat-page .process-step--third {
    grid-column: 1 / -1;
  }

  .kapcsolat-page .contact-workspace,
  .kapcsolat-page .boundary-grid {
    margin-block-start: var(--space-6);
  }

  .kapcsolat-page .contact-form-panel,
  .kapcsolat-page .boundary-card {
    padding: var(--space-5);
  }

  .kapcsolat-page .contact-help {
    padding: var(--space-5);
  }

  .kapcsolat-page .form-row {
    flex-direction: column;
    gap: var(--space-4);
  }

  .kapcsolat-page .form-row > * {
    flex: 0 1 auto;
    width: 100%;
  }

  .kapcsolat-page .form-field textarea {
    min-height: 11.25rem;
  }

  .kapcsolat-page .contact-form__actions,
  .kapcsolat-page .contact-form__submit {
    width: 100%;
  }

  .kapcsolat-page .process-grid::before {
    top: 3rem;
    bottom: 3rem;
    left: 1.55rem;
    width: 2px;
    height: auto;
    background: linear-gradient(to bottom, var(--color-accent) 0 42%, var(--color-border) 42% 100%);
    transform: none;
  }

  .kapcsolat-page .process-step {
    padding: var(--space-5) var(--space-5) var(--space-5) calc(var(--space-5) + var(--space-3));
  }

  .kapcsolat-page .play-cta {
    padding-block-start: var(--space-7);
  }

  .kapcsolat-page .play-cta__panel {
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .kapcsolat-page .play-cta__button {
    width: 100%;
  }

  .kapcsolat-page .play-cta__technical {
    display: none;
  }
}
