.estek-hero {
  padding-top: var(--space-16);
}

.estek-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 2.4fr);
  gap: var(--space-10);
  align-items: center;
}

.estek-hero__title {
  max-width: 22rem;
}

.estek-hero__lead {
  max-width: 32rem;
  margin-top: var(--space-3);
}

.estek-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.estek-hero__visual {
  display: flex;
  justify-content: center;
}

.estek-hero__table-orbit {
  position: relative;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 10%, #ffe8df 0, #ffe2cf 30%, #e6fbf3 100%);
  box-shadow: var(--shadow-md);
  display: flex;
  align-items: center;
  justify-content: center;
}

.estek-hero__table-core {
  width: 120px;
  height: 120px;
  border-radius: 40px;
  background: rgba(255, 250, 245, 0.96);
  box-shadow: 0 14px 35px rgba(194, 161, 126, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
}

.estek-hero__table-label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-text-soft);
}

.estek-hero__orbit {
  position: absolute;
  inset: 20px;
  border-radius: 999px;
  border: 1.5px dashed rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.estek-hero__orbit--inner {
  inset: 55px;
  border-style: solid;
  border-color: rgba(255, 204, 163, 0.9);
  background: radial-gradient(circle at top, rgba(255, 245, 234, 0.8), transparent 70%);
}

.estek-hero__dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.estek-hero__dot--peach { background: var(--color-accent-peach); }
.estek-hero__dot--mint { background: var(--color-accent-mint); }
.estek-hero__dot--sky { background: var(--color-accent-sky); }
.estek-hero__dot--coral { background: var(--color-primary); }

.estek-bento__item { position: relative; }

.estek-bento__item--image .estek-bento__image-wrap {
  margin-top: var(--space-4);
  border-radius: var(--radius-card-soft);
  overflow: hidden;
}

.estek-bento__image-wrap--edge {
  margin-top: var(--space-4);
  border-radius: var(--radius-card-soft);
  overflow: hidden;
}

.estek-bento__image-wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.estek-list {
  margin-top: var(--space-3);
  display: grid;
  gap: 0.35rem;
  padding-left: 1.1rem;
  list-style: disc;
}

.estek-list--compact {
  margin-top: var(--space-2);
}

.estek-inline-link {
  font-size: var(--font-size-sm);
}

.estek-note {
  font-size: var(--font-size-sm);
}

.estek-calendar__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
  gap: var(--space-6);
}

.estek-calendar__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.estek-calendar__mock {
  border-radius: var(--radius-card-soft);
  padding: var(--space-5);
  background: linear-gradient(135deg, #fff5ea, #e6f4ff);
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: var(--space-3);
}

.estek-calendar__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.estek-calendar__row--highlight {
  grid-template-columns: minmax(0, 1fr);
}

.estek-calendar__day-label {
  display: block;
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
  margin-bottom: var(--space-2);
}

.estek-calendar__pill {
  padding: 0.75rem 1rem;
  border-radius: 999px;
  font-size: var(--font-size-sm);
  background: rgba(255, 250, 245, 0.96);
  box-shadow: var(--shadow-xs);
}

.estek-calendar__pill--weekday { border-left: 4px solid var(--color-accent-peach); }
.estek-calendar__pill--theme { border-left: 4px solid var(--color-accent-sky); }
.estek-calendar__pill--private { border-left: 4px solid var(--color-accent-mint); }
.estek-calendar__pill--poker { border-left: 4px solid var(--color-primary); }

.estek-calendar__cta {
  align-self: center;
}

.estek-testimonials__grid {
  align-items: stretch;
  gap: var(--space-6);
}

.estek-testimonials__image {
  display: flex;
  align-items: stretch;
}

.estek-testimonials__cards {
  display: grid;
  gap: var(--space-4);
}

.estek-testimonial-card p:last-child {
  margin-bottom: 0;
}

.estek-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.estek-faq__item {
  padding: var(--space-4);
  border-radius: var(--radius-card-soft);
  background: var(--color-bg-card);
  box-shadow: var(--shadow-xs);
}

.estek-faq__item summary {
  cursor: pointer;
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.estek-faq__item summary::-webkit-details-marker {
  display: none;
}

.estek-faq__item summary::after {
  content: "+";
  float: right;
  font-weight: 400;
  color: var(--color-text-muted);
}

.estek-faq__item[open] summary::after {
  content: "–";
}

.estek-faq__item p {
  font-size: var(--font-size-sm);
}

.estek-final-cta__card {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
}

.estek-final-cta__content {
  max-width: 32rem;
}

.estek-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

@media (max-width: 1024px) {
  .estek-hero__inner {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }

  .estek-calendar__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .estek-hero {
    padding-top: var(--space-12);
  }

  .estek-hero__inner {
    grid-template-columns: 1fr;
  }

  .estek-hero__visual {
    order: -1;
  }

  .estek-calendar__mock {
    padding: var(--space-4);
  }

  .estek-calendar__row {
    grid-template-columns: 1fr;
  }

  .estek-faq__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .estek-hero__table-orbit {
    width: 220px;
    height: 220px;
  }

  .estek-hero__table-core {
    width: 100px;
    height: 100px;
  }
}
