.kapcsolat-page {
  overflow: clip;
}

.kapcsolat-page .section {
  position: relative;
}

.kapcsolat-hero {
  padding-top: calc(var(--section-space) + var(--space-4));
}

.kapcsolat-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.kapcsolat-hero__copy {
  grid-column: 1 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding-block: var(--space-5);
}

.kapcsolat-hero__copy > * { margin: 0; }
.kapcsolat-hero__copy h1 { max-width: 15ch; font-size: clamp(3.5rem, 5.5vw, 4.5rem); }
.kapcsolat-hero__copy .lead { max-width: 54ch; }

.kapcsolat-hero__actions { width: 100%; }

.kapcsolat-hero__meta {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  min-width: 0;
  border-top: var(--border-subtle);
}

.kapcsolat-hero__meta-item {
  display: grid;
  grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 2fr);
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-3) 0;
  border-bottom: var(--border-subtle);
}

.kapcsolat-hero__meta-item span { color: var(--color-amber-gold); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; line-height: var(--line-meta); text-transform: uppercase; }
.kapcsolat-hero__meta-item strong { min-width: 0; font-size: var(--text-small); font-weight: 500; }

.kapcsolat-hero__media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
  min-height: 39rem;
  position: relative;
  border-color: var(--color-metal-line);
}

.kapcsolat-hero__media::after,
.kapcsolat-poker__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(7 21 34 / 30%), rgb(7 21 34 / 8%));
  content: "";
  pointer-events: none;
}

.kapcsolat-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.kapcsolat-hero__caption {
  position: absolute;
  z-index: 1;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid rgb(245 242 234 / 40%);
  color: var(--color-paper-white);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kapcsolat-brief-types__intro,
.kapcsolat-process__intro,
.kapcsolat-poker__intro,
.kapcsolat-inspiration__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
}

.kapcsolat-brief-types__intro { width: 41.666%; max-width: 43rem; margin-bottom: var(--space-7); }
.kapcsolat-brief-types__intro > *,
.kapcsolat-process__intro > *,
.kapcsolat-poker__intro > *,
.kapcsolat-inspiration__intro > * { margin: 0; }
.kapcsolat-brief-types__intro .lead { max-width: 55ch; }

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

.kapcsolat-type-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-card);
  color: var(--color-paper-white);
  text-decoration: none;
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
}

.kapcsolat-type-card > * { margin: 0; }
.kapcsolat-type-card h3 { max-width: 18ch; }
.kapcsolat-type-card p { color: var(--color-mist-text); }
.kapcsolat-type-card:hover { border-color: var(--color-amber-gold); background: var(--surface-raised); box-shadow: var(--shadow-card-hover); color: var(--color-paper-white); transform: translateY(-4px); }
.kapcsolat-type-card:focus-visible { color: var(--color-paper-white); }
.kapcsolat-type-card__number { color: var(--color-amber-gold); font-size: var(--text-small); font-weight: 700; letter-spacing: .08em; }
.kapcsolat-type-card__arrow { margin-top: auto; color: var(--color-amber-light); font-size: 1.5rem; }
.kapcsolat-type-card__link { margin-top: auto; color: var(--color-ocean-cyan); font-size: var(--text-small); font-weight: 700; }
.kapcsolat-type-card--corporate { grid-column: 1 / span 7; }
.kapcsolat-type-card--vip { grid-column: 8 / span 5; }
.kapcsolat-type-card--team { grid-column: 1 / span 4; }
.kapcsolat-type-card--poker { grid-column: 5 / span 8; border-color: rgb(43 159 168 / 72%); background: linear-gradient(135deg, #0e2c3b, var(--surface-panel)); }
.kapcsolat-type-card--poker:hover { border-color: var(--color-ocean-cyan); }
.kapcsolat-type-card--open { grid-column: 1 / -1; background: rgb(18 41 56 / 74%); }
.kapcsolat-type-card--open h3 { max-width: none; }

.kapcsolat-brief-guide { background: linear-gradient(180deg, transparent, rgb(11 30 45 / 45%)); }
.kapcsolat-brief-guide__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.kapcsolat-brief-guide__intro { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-brief-guide__intro > * { margin: 0; }
.kapcsolat-brief-guide__intro .lead { max-width: 48ch; }
.kapcsolat-guide-panels { grid-column: 6 / span 7; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.kapcsolat-guide-panel { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: var(--border-subtle); background: var(--surface-panel); }
.kapcsolat-guide-panel > * { margin: 0; }
.kapcsolat-guide-panel > span { color: var(--color-amber-gold); font-size: var(--text-small); font-weight: 700; letter-spacing: .08em; }
.kapcsolat-guide-panel h3 { font-size: clamp(1.5rem, 2vw, 1.8rem); }
.kapcsolat-guide-panel--accent { border-color: var(--color-amber-gold); background: var(--surface-raised); }

.kapcsolat-process__intro { width: 41.666%; max-width: 43rem; margin-bottom: var(--space-7); }
.kapcsolat-process__intro .lead { max-width: 52ch; }
.kapcsolat-process__steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.kapcsolat-process__steps::before { position: absolute; top: 2.2rem; right: 12%; left: 12%; height: 1px; background: var(--color-metal-line); content: ""; }
.kapcsolat-process__step { position: relative; z-index: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-subtle); background: var(--surface-panel); }
.kapcsolat-process__step > * { margin: 0; }
.kapcsolat-process__number { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border: 1px solid var(--color-amber-gold); background: var(--surface-base); color: var(--color-amber-light); font-size: var(--text-small); font-weight: 700; }
.kapcsolat-process__step--raised { background: var(--surface-raised); box-shadow: var(--shadow-card); }
.kapcsolat-process__step a { margin-top: auto; color: var(--color-ocean-cyan); font-size: var(--text-small); font-weight: 700; }

.kapcsolat-poker { background-color: var(--surface-deep); background-image: linear-gradient(90deg, rgb(43 159 168 / 7%) 1px, transparent 1px), linear-gradient(rgb(43 159 168 / 5%) 1px, transparent 1px); background-size: 3rem 3rem; }
.kapcsolat-poker__intro { width: 50%; max-width: 48rem; margin-bottom: var(--space-7); }
.kapcsolat-poker__intro .lead { max-width: 56ch; }
.kapcsolat-poker__eyebrow { color: var(--color-ocean-cyan); }
.kapcsolat-poker__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.kapcsolat-poker__panel { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding: var(--space-6); border: 1px solid rgb(43 159 168 / 62%); background: rgb(18 41 56 / 92%); box-shadow: var(--shadow-card); }
.kapcsolat-poker__panel--environment { grid-template-columns: minmax(0, 1.2fr) minmax(10rem, .8fr); }
.kapcsolat-poker__panel--framework { background: linear-gradient(160deg, #123847, #102735); }
.kapcsolat-poker__content { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-poker__content > * { margin: 0; }
.kapcsolat-poker__content h3 { max-width: 18ch; }
.kapcsolat-poker__list { width: 100%; margin: 0; }
.kapcsolat-poker__media { min-width: 0; min-height: 100%; position: relative; }
.kapcsolat-poker__media img { width: 100%; height: 100%; object-fit: cover; }
.kapcsolat-poker__notice { margin-top: auto; padding-top: var(--space-4); border-top: 1px solid var(--color-amber-gold); color: var(--color-mist-text); font-size: var(--text-small); line-height: var(--line-small); }
.kapcsolat-poker__link { color: var(--color-ocean-cyan); font-size: var(--text-small); font-weight: 700; }

.kapcsolat-direct__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.kapcsolat-direct__intro { grid-column: 1 / span 4; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-direct__intro > * { margin: 0; }
.kapcsolat-direct__intro .lead { max-width: 40ch; }
.kapcsolat-direct__cards { grid-column: 5 / span 8; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.kapcsolat-direct__card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-height: 100%; padding: var(--space-5); border: var(--border-subtle); background: var(--surface-panel); }
.kapcsolat-direct__card > * { margin: 0; }
.kapcsolat-direct__card h3 { font-size: clamp(1.45rem, 2vw, 1.75rem); }
.kapcsolat-direct__contact-link { display: flex; width: 100%; min-width: 0; min-height: 2.75rem; align-items: center; margin-top: auto; color: var(--color-paper-white); font-size: clamp(.95rem, 1.25vw, 1.1rem); font-weight: 700; overflow-wrap: anywhere; text-decoration-color: var(--color-ocean-cyan); }
.kapcsolat-direct__contact-link:hover { color: var(--color-ocean-cyan); }
.kapcsolat-direct__card address { margin-top: auto; color: var(--color-paper-white); font-size: var(--text-small); font-style: normal; font-weight: 700; line-height: var(--line-small); }

.kapcsolat-form-section { background: linear-gradient(180deg, rgb(11 30 45 / 70%), var(--surface-base)); }
.kapcsolat-form-section__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.kapcsolat-form-section__intro { grid-column: 1 / span 4; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-form-section__intro > * { margin: 0; }
.kapcsolat-form-section__intro .lead { max-width: 45ch; }
.kapcsolat-form { grid-column: 5 / span 8; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-6); box-shadow: var(--shadow-card); }
.kapcsolat-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.kapcsolat-form__fields > *, .kapcsolat-form__brief-field, .kapcsolat-form__submit-area { min-width: 0; }
.kapcsolat-form__optional { color: var(--color-mist-text); font-size: var(--text-meta); font-weight: 400; }
.kapcsolat-form__poker-help { margin: 0; padding: var(--space-3); border-left: 2px solid var(--color-ocean-cyan); background: rgb(43 159 168 / 10%); color: var(--color-mist-text); font-size: var(--text-small); line-height: var(--line-small); }
.kapcsolat-form__brief-field textarea { min-height: 10rem; }
.kapcsolat-form__submit-area { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-form__submit-area > * { margin: 0; }
.kapcsolat-form__submit-area p { max-width: 65ch; font-size: var(--text-small); line-height: var(--line-small); }
.kapcsolat-form__success { width: 100%; padding: var(--space-4); border: 1px solid var(--color-ocean-cyan); background: rgb(43 159 168 / 14%); color: var(--color-paper-white); }

.kapcsolat-inspiration__intro { margin-bottom: var(--space-6); }
.kapcsolat-inspiration__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.kapcsolat-inspiration__card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border-top: 1px solid var(--color-metal-line); }
.kapcsolat-inspiration__card > * { margin: 0; }
.kapcsolat-inspiration__card > span { color: var(--color-amber-gold); font-size: var(--text-small); font-weight: 700; }
.kapcsolat-inspiration__card h3 { font-size: clamp(1.5rem, 2vw, 1.8rem); }
.kapcsolat-inspiration__card--poker { border-color: var(--color-ocean-cyan); background: rgb(43 159 168 / 9%); }
.kapcsolat-inspiration__card--poker > span, .kapcsolat-inspiration__card--poker a { color: var(--color-ocean-cyan); }
.kapcsolat-inspiration__card a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-ocean-cyan); font-size: var(--text-small); font-weight: 700; }

.kapcsolat-closing { padding-top: 0; }
.kapcsolat-closing__panel { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; padding: var(--space-7); }
.kapcsolat-closing__copy { grid-column: 1 / span 8; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-closing__copy > * { margin: 0; }
.kapcsolat-closing__copy h2 { max-width: 25ch; }
.kapcsolat-closing__copy p:not(.eyebrow) { max-width: 55ch; }
.kapcsolat-closing__actions { grid-column: 9 / span 4; min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-3); }
.kapcsolat-closing__actions .button { width: 100%; }
.kapcsolat-closing__actions > a:not(.button) { min-height: 2.75rem; display: flex; align-items: center; justify-content: center; color: var(--color-mist-text); font-size: var(--text-small); overflow-wrap: anywhere; }

@media (max-width: 1024px) {
  .kapcsolat-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kapcsolat-hero__copy { grid-column: 1 / span 3; }
  .kapcsolat-hero__media { grid-column: 4 / span 3; min-height: 34rem; }
  .kapcsolat-hero__copy h1 { font-size: clamp(3rem, 5.6vw, 4rem); }
  .kapcsolat-brief-types__intro, .kapcsolat-process__intro, .kapcsolat-poker__intro { width: 100%; }
  .kapcsolat-type-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kapcsolat-type-card--corporate, .kapcsolat-type-card--poker, .kapcsolat-type-card--open { grid-column: 1 / -1; }
  .kapcsolat-type-card--vip { grid-column: 1 / span 3; }
  .kapcsolat-type-card--team { grid-column: 4 / span 3; }
  .kapcsolat-brief-guide__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kapcsolat-brief-guide__intro { grid-column: 1 / -1; }
  .kapcsolat-guide-panels { grid-column: 1 / -1; }
  .kapcsolat-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kapcsolat-process__steps::before { display: none; }
  .kapcsolat-process__step:last-child { grid-column: 1 / -1; }
  .kapcsolat-poker__grid { grid-template-columns: 1fr; }
  .kapcsolat-poker__panel--environment { grid-template-columns: minmax(0, 1.3fr) minmax(12rem, .7fr); }
  .kapcsolat-direct__grid, .kapcsolat-form-section__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kapcsolat-direct__intro, .kapcsolat-form-section__intro { grid-column: 1 / -1; }
  .kapcsolat-direct__cards, .kapcsolat-form { grid-column: 1 / -1; }
  .kapcsolat-closing__panel { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kapcsolat-closing__copy { grid-column: 1 / -1; }
  .kapcsolat-closing__actions { grid-column: 1 / -1; flex-direction: row; align-items: center; }
  .kapcsolat-closing__actions > * { flex: 1 1 0; min-width: 0; }
}

@media (max-width: 760px) {
  .kapcsolat-hero { padding-top: var(--section-space); }
  .kapcsolat-hero__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .kapcsolat-hero__copy, .kapcsolat-hero__media { grid-column: 1; }
  .kapcsolat-hero__copy { padding: 0; }
  .kapcsolat-hero__copy h1 { max-width: 14ch; font-size: clamp(2.5rem, 10.8vw, 2.75rem); line-height: 1.08; }
  .kapcsolat-hero__copy .lead { max-width: none; }
  .kapcsolat-hero__media { min-height: 0; aspect-ratio: 3 / 2; }
  .kapcsolat-hero__meta-item { grid-template-columns: 1fr; gap: var(--space-1); }
  .kapcsolat-hero__caption { display: none; }
  .kapcsolat-brief-types__intro { width: 100%; margin-bottom: var(--space-6); }
  .kapcsolat-type-grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .kapcsolat-type-card--corporate, .kapcsolat-type-card--vip, .kapcsolat-type-card--team, .kapcsolat-type-card--poker, .kapcsolat-type-card--open { grid-column: 1; }
  .kapcsolat-type-card { padding: var(--space-5); }
  .kapcsolat-guide-panels { grid-template-columns: 1fr; }
  .kapcsolat-process__steps { grid-template-columns: 1fr; gap: var(--space-4); }
  .kapcsolat-process__step:last-child { grid-column: 1; }
  .kapcsolat-poker__panel, .kapcsolat-poker__panel--environment { grid-template-columns: 1fr; padding: var(--space-5); }
  .kapcsolat-poker__media { aspect-ratio: 4 / 5; min-height: 0; }
  .kapcsolat-direct__cards { grid-template-columns: 1fr; }
  .kapcsolat-direct__card { min-height: auto; }
  .kapcsolat-form { padding: var(--space-5); }
  .kapcsolat-form__fields { grid-template-columns: 1fr; gap: var(--space-4); }
  .kapcsolat-form__submit-area .button { width: 100%; min-height: 3rem; }
  .kapcsolat-inspiration__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .kapcsolat-closing__panel { grid-template-columns: 1fr; padding: var(--space-5); }
  .kapcsolat-closing__copy, .kapcsolat-closing__actions { grid-column: 1; }
  .kapcsolat-closing__actions { flex-direction: column; align-items: stretch; }
  .kapcsolat-closing__actions > * { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .kapcsolat-type-card:hover { transform: none; }
}

.kapcsolat-page ul { list-style: none !important; }
