.isla-guide-access {
  margin: clamp(2rem, 5vw, 4rem) auto;
  max-width: 780px;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid #e8e4ec;
  border-radius: 20px;
  background: #fdfdfc;
  box-shadow: 0 10px 30px rgba(38,43,65,.05);
  color: #262b41;
}
.isla-guide-access h2 { margin: .25rem 0 1rem; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.12; }
.isla-guide-access form { display: grid; gap: 1.15rem; margin-top: 1.5rem; }
.isla-guide-access__names { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.isla-guide-access label { display: grid; gap: .45rem; font-size: 15px; font-weight: 500; }
.isla-guide-access input[type="text"], .isla-guide-access input[type="email"] {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: 52px; padding: 14px 18px;
  border: 1px solid #e4e2dd; border-radius: 14px; background: #fbfbfa; color: #262b41;
  font: inherit; font-size: 16px;
}
.isla-guide-access input:focus-visible, .isla-guide-access button:focus-visible {
  border-color: #8c6cf1; outline: 3px solid rgba(140,108,241,.24); outline-offset: 2px;
}
.isla-guide-access__consent { display: flex !important; align-items: flex-start; gap: .7rem !important; padding: 13px 15px; border-radius: 14px; background: #f7f4fd; font-weight: 400 !important; line-height: 1.5; }
.isla-guide-access__consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .2rem; accent-color: #8c6cf1; }
.isla-guide-access__consent--updates { border: 1px solid #e7e1f1; background: #f8f6fc; }
.isla-guide-access__consent--updates > span { display: grid; gap: .25rem; }
.isla-guide-access__consent--updates strong { color: #262b41; font-size: 15px; font-weight: 600; }
.isla-guide-access__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.isla-guide-access button {
  justify-self: start; min-height: 52px; padding: 12px 34px; border: 0;
  border-radius: 999px; background: radial-gradient(circle at 50% 45%, #8c6cf1 0%, #8f74db 100%); color: #fff;
  font: inherit; font-size: 14px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; cursor: pointer;
}
.isla-guide-access button:hover { background: #765bd2; }
.isla-guide-access button:disabled { opacity: .55; cursor: wait; }
.isla-guide-access__status { min-height: 1.5em; margin: 0; }
.isla-guide-access__status.is-error { color: #9b2029; }
.isla-guide-access__status.is-success { color: #206d48; }
.isla-guide-access__privacy { margin: 1rem 0 0; color: #6a6b75; font-size: 14px; line-height: 1.5; }
.isla-guide-password {
  max-width: 780px; margin: 1rem auto 4rem; padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid #e8e4ec; border-radius: 20px;
  background: #fdfdfc; box-shadow: 0 10px 30px rgba(38,43,65,.05); color: #262b41;
}
.isla-guide-password p { margin: 0 0 1.35rem; }
.isla-guide-password label { display: block; margin-bottom: .5rem; font-size: 15px; font-weight: 500; }
.isla-guide-password__row { display: flex; flex-wrap: wrap; gap: .75rem; }
.isla-guide-password input {
  box-sizing: border-box; flex: 1 1 240px; min-width: 0; min-height: 52px;
  padding: 14px 18px; border: 1px solid #e4e2dd; border-radius: 14px;
  background: #fbfbfa; color: #262b41; font: inherit; font-size: 16px;
}
.isla-guide-password button {
  min-height: 52px; padding: 12px 24px; border: 0; border-radius: 999px;
  background: radial-gradient(circle at 50% 45%, #8c6cf1 0%, #8f74db 100%); color: #fff;
  font: inherit; font-size: 14px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; cursor: pointer;
}
.isla-guide-password button:hover { background: #765bd2; }
.isla-guide-password input:focus-visible, .isla-guide-password button:focus-visible { border-color: #8c6cf1; outline: 3px solid rgba(140,108,241,.24); outline-offset: 2px; }
.isla-guide-gate { max-width: 1120px; margin: 0 auto 4rem; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 1.5rem; align-items: start; }
.r-prose .isla-guide-gate__intro { grid-column: 1 / -1; width: 100%; max-width: 780px; margin: .5rem auto 0; font-size: 1.12rem; line-height: 1.6; text-align: center; }
.isla-guide-gate .isla-guide-password, .isla-guide-gate .isla-guide-access { width: 100%; max-width: none; margin: 0; }
.isla-guide-gate .isla-guide-password { background: #fff; }
.isla-guide-gate .isla-guide-password h2 { margin: .25rem 0 .75rem; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; }
.isla-guide-gate .isla-guide-access { background: #fdfdfc; }
.isla-guide-gate__step { margin: 0 0 .4rem !important; color: #6544db; font-size: .9rem; font-weight: 700; letter-spacing: .04em; }
@media (max-width: 800px) { .isla-guide-gate { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .isla-guide-access__names { grid-template-columns: 1fr; }
  .isla-guide-access button, .isla-guide-password button { width: 100%; }
  .r-prose .isla-guide-gate__intro { text-align: left; }
}
