.entry-flow {
  max-width:760px;
  margin-inline:auto;
  line-height:1.85;
}

.entry-flow h1 {
  margin-bottom:1.4rem;
}

.entry-lead {
  font-size:1.08rem;
  color:#5f574e;
}

.entry-summary {
  background:#f5f1eb;
  border-left:3px solid #ad9272;
  padding:1.3rem 1.6rem;
  margin:2rem 0;
}

.entry-links {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1.5rem;
  margin-block:1.5rem;
}

.entry-links a {
  text-decoration:underline;
  text-underline-offset:4px;
}

.entry-check {
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin:1.5rem 0;
}

.entry-check input {
  margin-top:.45rem;
  flex:0 0 20px;
  width:20px;
  height:20px;
}

.entry-flow input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.entry-flow select,.entry-flow textarea {
  font:inherit;
  width:100%;
  padding:.8rem;
  border:1px solid #aaa096;
  border-radius:3px;
  background:#fff;
  color:#292723;
}

.entry-flow label {
  display:block;
  margin-bottom:1.3rem;
}

.entry-flow label>span {
  display:block;
  margin-bottom:.35rem;
}

.entry-flow label.entry-check {
  display:flex;
}

.entry-flow :focus-visible {
  outline:3px solid #80613d;
  outline-offset:3px;
}

.entry-flow .btn {
  min-height:48px;
}

.entry-progress {
  padding:1.2rem 1.5rem;
  background:#f5f1eb;
  border:1px solid #ded5c9;
  margin-bottom:1.5rem;
}

.entry-progress ol {
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  padding-left:1.3rem;
}

.entry-booking {
  margin-top:2rem;
  border-top:1px solid #d8d0c6;
  padding-top:1.5rem;
}

.entry-booking details>summary {
  cursor:pointer;
  font-weight:600;
  padding:.7rem 0;
}

.entry-booking-status {
  border:1px solid #d8d0c6;
  padding:1rem;
  margin:1rem 0;
}

.entry-flow .entry-slots {
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
  min-width:0;
  margin:0 0 1.5rem;
  padding:0;
  border:0;
}

.entry-flow .entry-slots legend {
  margin-bottom:.75rem;
  padding:0;
}

.entry-flow .entry-slots label {
  margin:0;
}

.entry-flow .entry-slots input {
  min-width:0;
}

.entry-flow .entry-privacy {
  margin:1.5rem 0;
}

.entry-flow .entry-privacy a,
.entry-consultation .entry-membership-link a {
  text-decoration:underline;
  text-underline-offset:4px;
}

.entry-consultation>.entry-lead {
  margin-bottom:2rem;
}

.entry-consultation>.apply-result {
  margin:2rem 0;
}

.entry-consultation>.entry-membership-link {
  margin:2.5rem 0 1.25rem;
}

.entry-consultation>.entry-links {
  flex-direction:column;
  align-items:flex-start;
  gap:.75rem;
  margin:0;
}

@media(max-width:600px) {
  .entry-summary {
    padding:1rem;
  }
  .entry-flow {
    padding-inline:.2rem;
  }
  .entry-flow .btn {
    width:100%;
  }
  .entry-links {
    gap:.65rem 1rem;
  }
}

.section.section--page-default.section--entry {
  padding-top:64px;
  padding-bottom:64px;
}

.entry-flow>.apply-form {
  padding:24px;
  margin-top:24px;
}

.entry-guide {
  padding-left:1.5rem;
}

.entry-guide li {
  padding:1rem 0 1.5rem;
  border-bottom:1px solid #ded5c9;
}

.entry-guide h3 {
  font-size:1.2rem;
}

.entry-flow .entry-check>span {
  margin:0;
}

@media(max-width:600px) {
  .section.section--page-default.section--entry {
    padding-top:32px;
    padding-bottom:40px;
  }
  .entry-flow>.apply-form {
    padding:20px 16px;
  }
  .entry-flow>.entry-lead {
    font-size:1rem;
  }
}
