.fp-a {
  padding: 96px 0 120px;
  background: var(--cream);
}
.fp-a__head { text-align: center; margin-bottom: 56px; }
.fp-a__head h2 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 48px);
  margin: 0;
}
.fp-a__stage {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  min-height: 420px;
  margin-bottom: 48px;
}
.fp-a__circle {
  width: clamp(160px, 22vw, 280px);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 0;
  padding: 0;
  cursor: pointer;
  background: var(--teal);
  box-shadow: var(--shadow-card);
  margin-left: -32px;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), width 0.4s ease;
}
.fp-a__circle:first-child { margin-left: 0; }
.fp-a__circle img { width: 100%; height: 100%; object-fit: cover; }
.fp-a__circle--main, .fp-a__circle.is-active {
  width: clamp(220px, 30vw, 380px);
  transform: translateY(-20px);
  z-index: 2;
}
.fp-a__circle:hover:not(.is-active) { transform: translateY(-10px); }

.fp-a__detail {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 32px 36px;
  max-width: 640px;
  margin: 0 auto;
  box-shadow: var(--shadow-card);
}
.fp-a__detail-cat {
  color: var(--teal);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.fp-a__detail-title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(22px, 2.6vw, 30px);
  margin: 0 0 16px;
  color: var(--navy);
}
.fp-a__detail-meta {
  display: flex; flex-wrap: wrap; gap: 16px;
  align-items: center;
  margin-bottom: 16px;
  font-size: 14px;
}
.fp-a__stars { color: #f5a623; letter-spacing: 2px; }
.fp-a__reviews { color: var(--ink-muted); }
.fp-a__price { color: var(--navy); font-weight: 600; margin-left: auto; }
.fp-a__detail-body { color: var(--ink-muted); margin-bottom: 24px; }
