.vacsoraelmeny-page {
  position: relative;
  overflow: hidden;
  background: var(--color-ink-950);
}

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

.vacsoraelmeny-page .nav-toggle {
  flex-direction: column;
}

.vacsoraelmeny-page .section {
  position: relative;
  z-index: 1;
}

.ve-aurora {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.28) 0%, rgba(79, 70, 229, 0.13) 42%, transparent 72%);
  filter: blur(34px);
}

.ve-hero {
  position: relative;
  min-height: 620px;
  padding-block: clamp(4rem, 8vw, 7.5rem);
}

.ve-aurora--hero {
  top: 4%;
  right: -8%;
  width: min(48vw, 680px);
  height: min(48vw, 680px);
}

.ve-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem);
  min-height: 496px;
}

.ve-hero__grid > * {
  min-width: 0;
  width: 100%;
}

.ve-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  max-width: 640px;
}

.ve-hero__copy .eyebrow,
.ve-hero__copy h1,
.ve-hero__copy p {
  margin: 0;
}

.ve-hero__copy h1 span {
  color: var(--color-warm-copper);
}

.ve-hero__copy .lead {
  max-width: 620px;
}

.ve-hero__support {
  max-width: 570px;
  color: var(--color-text-secondary);
}

.ve-hero__actions {
  width: min(100%, 420px);
}

.ve-hero__meta {
  display: flex;
  width: min(100%, 420px);
  align-items: baseline;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.ve-hero__meta strong {
  color: var(--color-text-primary);
  font-size: 1rem;
}

.ve-media {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: var(--border-accent);
  background: var(--color-surface);
  box-shadow: var(--shadow-deep);
}

.ve-media::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(110deg, rgba(9, 10, 15, 0.48) 0%, rgba(9, 10, 15, 0.1) 54%, rgba(79, 70, 229, 0.13) 100%);
}

.ve-media img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

@media (hover: hover) and (pointer: fine) {
  .ve-media:hover {
    border-color: var(--border-accent-hover);
  }

  .ve-media:hover img {
    transform: scale(1.03);
  }
}

.ve-hero__media {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-xl);
}

.ve-section-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.ve-section-heading .eyebrow,
.ve-section-heading h2,
.ve-section-heading p {
  margin: 0;
}

.ve-section-heading p:not(.eyebrow) {
  color: var(--color-text-secondary);
}

.ve-movements__heading {
  max-width: 620px;
}

.ve-movements__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 0.42fr) minmax(0, 0.3fr);
  align-items: end;
  gap: var(--space-6);
  margin-top: var(--space-12);
}

.ve-movements__grid > * {
  min-width: 0;
  width: 100%;
}

.ve-movement {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6) 0 0 var(--space-6);
  border-top: var(--border-subtle);
}

.ve-movement::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 52px;
  content: "";
  background: var(--color-warm-copper);
}

.ve-movement--choice {
  padding: var(--space-8);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgba(19, 21, 30, 0.9), rgba(19, 21, 30, 0.56));
}

.ve-movement--choice::before {
  top: var(--space-6);
  left: 0;
}

.ve-movement--after {
  padding: var(--space-6);
  border: var(--border-accent);
  border-radius: var(--radius-lg);
  background: var(--color-glass-800);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.ve-movement--after::before {
  top: var(--space-6);
  background: var(--color-aurora-violet);
}

.ve-movement h3,
.ve-movement p {
  margin: 0;
}

.ve-movement h3 {
  font-size: clamp(1.3rem, 2.4vw, 1.5rem);
}

.ve-movement p {
  max-width: 360px;
}

.ve-number {
  color: var(--color-warm-copper);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: var(--leading-label);
}

.ve-movement--after .ve-number {
  color: var(--color-aurora-violet-hover);
}

.ve-plate {
  background: linear-gradient(180deg, transparent 0%, rgba(19, 21, 30, 0.28) 50%, transparent 100%);
}

.ve-plate__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.42fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5.5rem);
}

.ve-plate__intro-grid > * {
  min-width: 0;
  width: 100%;
}

.ve-plate__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 670px;
}

.ve-plate__intro .eyebrow,
.ve-plate__intro h2,
.ve-plate__intro p {
  margin: 0;
}

.ve-plate__intro .lead {
  padding-bottom: var(--space-6);
  border-bottom: 1px solid rgba(201, 138, 87, 0.58);
}

.ve-plate__media {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-lg);
}

.ve-plate__pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
  margin-top: var(--space-12);
}

.ve-plate__pillars > * {
  min-width: 0;
  width: 100%;
}

.ve-plate__pillar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6) 0 0;
  border-top: var(--border-subtle);
}

.ve-plate__pillar h3,
.ve-plate__pillar p {
  margin: 0;
}

.ve-plate__pillar p {
  max-width: 420px;
}

.ve-plate__pillar .button-secondary {
  margin-top: var(--space-2);
}

.ve-atmosphere__heading {
  max-width: 560px;
  margin-bottom: var(--space-12);
}

.ve-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.54fr) minmax(0, 0.46fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 5.5rem);
}

.ve-atmosphere__grid > * {
  min-width: 0;
  width: 100%;
}

.ve-atmosphere__media {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
}

.ve-atmosphere__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-8);
}

.ve-atmosphere__copy > * {
  min-width: 0;
  width: 100%;
}

.ve-atmosphere__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 420px;
}

.ve-atmosphere__main h3,
.ve-atmosphere__main p {
  margin: 0;
}

.ve-atmosphere__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 340px;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-glass-800);
  box-shadow: inset 2px 0 0 rgba(139, 92, 246, 0.75);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.ve-atmosphere__panel h3,
.ve-atmosphere__panel p,
.ve-atmosphere__panel a {
  margin: 0;
}

.ve-atmosphere__panel a,
.ve-contact__detail a {
  color: var(--color-text-primary);
  font-weight: 600;
}

.ve-timeline__heading {
  max-width: 620px;
}

.ve-timeline__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8) var(--space-12);
  margin-top: var(--space-12);
}

.ve-timeline__grid::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 36px;
  width: 1px;
  content: "";
  background: linear-gradient(180deg, var(--color-warm-copper), var(--color-aurora-violet), rgba(139, 92, 246, 0));
}

.ve-timeline__grid > * {
  min-width: 0;
  width: 100%;
}

.ve-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.ve-timeline__marker {
  position: relative;
  z-index: 1;
  display: flex;
  width: 72px;
  min-width: 72px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(201, 138, 87, 0.52);
  border-radius: var(--radius-md);
  background: var(--color-ink-950);
  color: var(--color-warm-copper);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
}

.ve-timeline__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.ve-timeline__content h3,
.ve-timeline__content p {
  margin: 0;
}

.ve-timeline__content p {
  max-width: 330px;
}

.ve-timeline__item--emphasis .ve-timeline__content p {
  max-width: 360px;
}

.ve-timeline__item--last .ve-timeline__marker {
  border-color: rgba(139, 92, 246, 0.72);
  color: var(--color-aurora-violet-hover);
}

.ve-poker {
  overflow: hidden;
}

.ve-aurora--poker {
  bottom: 3%;
  left: -15%;
  width: min(52vw, 700px);
  height: min(52vw, 700px);
}

.ve-poker__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.52fr) minmax(0, 0.48fr);
  align-items: stretch;
  gap: clamp(2rem, 4vw, 4rem);
}

.ve-poker__grid > * {
  min-width: 0;
  width: 100%;
}

.ve-poker__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  padding: clamp(var(--space-6), 4vw, var(--space-12));
  border-radius: var(--radius-xl);
}

.ve-poker__content .eyebrow,
.ve-poker__content h2,
.ve-poker__content > p {
  margin: 0;
}

.ve-poker__content .lead {
  max-width: 550px;
}

.ve-poker__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  width: 100%;
}

.ve-poker__facts > * {
  min-width: 0;
  width: 100%;
}

.ve-poker__fact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 2px solid rgba(201, 138, 87, 0.64);
}

.ve-poker__fact:nth-child(2) {
  border-top-color: rgba(139, 92, 246, 0.72);
}

.ve-poker__fact h3,
.ve-poker__fact p {
  margin: 0;
}

.ve-poker__fact h3 {
  font-size: 1.25rem;
}

.ve-poker__fact p {
  max-width: 300px;
}

.ve-poker__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 420px;
}

.ve-poker__action p {
  margin: 0;
}

.ve-poker__media {
  min-height: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-lg);
}

.ve-paths__heading {
  max-width: 600px;
}

.ve-paths__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.5fr) minmax(0, 0.25fr) minmax(0, 0.25fr);
  align-items: stretch;
  gap: var(--space-6);
  margin-top: var(--space-12);
}

.ve-paths__grid > * {
  min-width: 0;
  width: 100%;
}

.ve-path {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: rgba(19, 21, 30, 0.62);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: border-color var(--transition-base), background-color var(--transition-base), color var(--transition-fast);
}

.ve-path:hover {
  border-color: var(--border-accent-hover);
  background: rgba(139, 92, 246, 0.1);
  color: var(--color-text-secondary);
}

.ve-path:focus-visible {
  box-shadow: var(--focus-ring);
}

.ve-path__eyebrow {
  color: var(--color-warm-copper);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.ve-path h3,
.ve-path p,
.ve-path__link {
  margin: 0;
}

.ve-path h3 {
  font-size: clamp(1.25rem, 2.4vw, 1.5rem);
}

.ve-path p {
  max-width: 360px;
}

.ve-path__link {
  margin-top: auto;
  color: var(--color-text-primary);
  font-weight: 600;
}

.ve-path--menu {
  min-height: 280px;
  border-top: 2px solid rgba(201, 138, 87, 0.72);
}

.ve-path--mood {
  min-height: 320px;
}

.ve-path--poker {
  min-height: 248px;
  border-color: var(--border-accent);
  background: var(--color-glass-800);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.ve-path--poker .ve-path__eyebrow {
  color: var(--color-aurora-violet-hover);
}

.ve-contact {
  padding-bottom: clamp(var(--space-22), 10vw, var(--space-30));
}

.ve-contact__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(340px, 0.42fr);
  gap: clamp(var(--space-8), 6vw, var(--space-16));
  overflow: hidden;
  padding: clamp(var(--space-6), 5vw, var(--space-16));
  border-radius: var(--radius-xl);
}

.ve-contact__panel::before,
.ve-contact__panel::after {
  position: absolute;
  pointer-events: none;
  content: "";
}

.ve-contact__panel::before {
  top: -140px;
  left: -100px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.25), transparent 70%);
  filter: blur(18px);
}

.ve-contact__panel::after {
  right: 4%;
  bottom: -1px;
  left: 4%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201, 138, 87, 0.74), transparent);
}

.ve-contact__panel > * {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
}

.ve-contact__invite {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  max-width: 560px;
}

.ve-contact__invite .eyebrow,
.ve-contact__invite h2,
.ve-contact__invite p {
  margin: 0;
}

.ve-contact__details {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  margin: 0;
  font-style: normal;
}

.ve-contact__detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  max-width: 360px;
}

.ve-contact__detail > span {
  color: var(--color-text-muted);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.ve-contact__detail strong,
.ve-contact__detail > a {
  color: var(--color-text-primary);
  font-size: 1rem;
  line-height: var(--leading-body);
}

.ve-contact__detail > a[href^="tel:"],
.ve-contact__detail > a[href^="mailto:"] {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 600;
}

.ve-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease-out, transform 520ms ease-out;
}

.ve-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 65rem) {
  .ve-hero__grid {
    grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
    gap: var(--space-8);
  }

  .ve-movements__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .ve-movement--after {
    grid-column: 1 / -1;
  }

  .ve-movement--after p {
    max-width: 560px;
  }
}

@media (max-width: 61.25rem) {
  .ve-plate__intro-grid,
  .ve-poker__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ve-plate__media {
    aspect-ratio: 16 / 9;
  }

  .ve-poker__media {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 60rem) {
  .ve-atmosphere__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
  }

  .ve-atmosphere__media {
    aspect-ratio: 16 / 9;
  }

  .ve-atmosphere__copy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-8);
  }

  .ve-atmosphere__main,
  .ve-atmosphere__panel {
    max-width: none;
  }
}

@media (max-width: 62.5rem) {
  .ve-paths__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ve-path--menu {
    grid-column: 1 / -1;
  }
}

@media (max-width: 56.25rem) {
  .ve-hero {
    min-height: 0;
  }

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

  .ve-hero__copy {
    max-width: 620px;
  }

  .ve-hero__media {
    aspect-ratio: 4 / 5;
  }

  .ve-hero__meta {
    order: 4;
  }

  .ve-timeline__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
  }

  .ve-contact__panel {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 47.5rem) {
  .ve-movements__grid,
  .ve-plate__pillars,
  .ve-atmosphere__copy {
    grid-template-columns: minmax(0, 1fr);
  }

  .ve-movement--after {
    grid-column: auto;
  }

  .ve-movement,
  .ve-movement--choice,
  .ve-movement--after {
    padding: var(--space-6) 0 0 var(--space-6);
    border-width: 0 0 0 1px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .ve-movement::before,
  .ve-movement--choice::before,
  .ve-movement--after::before {
    top: 0;
    left: -1px;
    width: 4px;
    height: 100%;
  }

  .ve-movement p,
  .ve-movement--after p {
    max-width: none;
  }

  .ve-atmosphere__media {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 42.5rem) {
  .ve-poker__facts,
  .ve-paths__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ve-path--menu {
    grid-column: auto;
  }

  .ve-poker__media {
    aspect-ratio: 4 / 5;
  }

  .ve-path,
  .ve-path--menu,
  .ve-path--mood,
  .ve-path--poker {
    min-height: 0;
  }
}

@media (max-width: 30rem) {
  .ve-hero__copy {
    gap: var(--space-4);
  }

  .ve-hero__copy h1 {
    font-size: clamp(2.75rem, 12vw, 4.25rem);
  }

  .ve-timeline__grid::before {
    display: none;
  }

  .ve-timeline__item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .ve-timeline__marker {
    width: 56px;
    min-width: 56px;
  }

  .ve-timeline__content p,
  .ve-timeline__item--emphasis .ve-timeline__content p {
    max-width: 500px;
  }

  .ve-contact__panel {
    padding: var(--space-6);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ve-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .ve-media img {
    transition: none;
  }
}
