.sb-test {
  --sb-paper:#FEFBF3;
  --sb-khaki:#A79F81;
  --sb-ink:#38352B;
  position:fixed;
  inset:0;
  z-index:9000;
  width:100%;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  background:var(--sb-paper);
  color:var(--sb-ink);
  font-family:Inter,Arial,sans-serif;
  font-weight:400;
}
.sb-test-page-active { overflow:hidden!important; }
.sb-test,.sb-test * { box-sizing:border-box; }
.sb-test button,.sb-test input { font:inherit; }
.sb-test button { box-shadow:none!important; }
.sb-test .screen-reader-text {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.sb-test__desktop-only { display:block; }
.sb-test__mobile-only { display:none; }

.sb-test__header {
  height:124px;
  padding:0 42px;
  display:flex;
  align-items:center;
  background:var(--sb-paper);
  border-bottom:1px solid var(--sb-ink);
  position:relative;
  z-index:2;
}
.sb-test__logo { display:block; width:112px; height:auto; }
.sb-test__form { height:calc(100dvh - 124px); margin:0; }
.sb-test__step {
  display:none;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:var(--sb-paper);
}
.sb-test__step.is-active { display:grid; }
.sb-test h1,.sb-test h2,.sb-test__eyebrow,.sb-test__rail,.sb-test__contact-title,.sb-test__contact-copy {
  font-family:'Cabinet Grotesk',Inter,Arial,sans-serif;
}
.sb-test h1,.sb-test h2 {
  margin:0;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.25em;
  line-height:1.4;
}

/* Pantalla 1 · Portada */
.sb-test:has(.sb-test__step--intro.is-active) .sb-test__header { border-bottom:0; }
.sb-test__step--intro { grid-template-columns:53% 47%; }
.sb-test__case-panel {
  min-width:0;
  min-height:0;
  padding:0 42px 14px;
  display:flex;
  flex-direction:column;
}
.sb-test__case-image {
  width:100%;
  height:calc(100% - 46px);
  min-height:0;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.sb-test__case-caption {
  min-height:46px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding-top:14px;
  color:var(--sb-khaki);
  font-size:11px;
  letter-spacing:.015em;
}
.sb-test__intro-content {
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:30px 48px 70px;
}
.sb-test__monogram {
  display:block;
  width:42px;
  height:43px;
  object-fit:contain;
  margin:0 0 62px;
}
.sb-test__intro-content h1 {
  max-width:455px;
  font-size:17px;
  line-height:1.45;
  letter-spacing:.17em;
}
.sb-test button.sb-test__primary {
  appearance:none;
  border:1px solid var(--sb-ink)!important;
  border-radius:0!important;
  background:var(--sb-ink)!important;
  color:var(--sb-paper)!important;
  -webkit-text-fill-color:var(--sb-paper)!important;
  text-transform:uppercase;
  cursor:pointer;
  font-weight:400!important;
}
.sb-test button.sb-test__primary:disabled { opacity:.6; cursor:wait!important; }
.sb-test__intro-cta {
  margin-top:26px;
  min-width:205px;
  min-height:54px;
  padding:10px 22px!important;
  font-size:15px!important;
}

/* Pantallas 2–6 */
.sb-test__step--contact,.sb-test__step--question,.sb-test__step--success {
  grid-template-columns:22% 78%;
}
.sb-test__rail {
  position:relative;
  min-width:0;
  min-height:0;
  background:var(--sb-khaki);
  border-right:1px solid var(--sb-ink);
  color:#fff;
}
.sb-test__rail span {
  position:absolute;
  left:38px;
  bottom:41px;
  text-transform:uppercase;
  font-weight:600;
  font-size:12px;
  line-height:1.45;
  letter-spacing:.34em;
}

/* Pantalla 2 · Datos */
.sb-test__contact-content {
  width:min(445px,80%);
  align-self:center;
  justify-self:center;
  text-align:center;
  padding:20px 0 34px;
}
.sb-test__contact-title {
  margin:0;
  text-transform:uppercase;
  font-weight:600;
  font-size:11px;
  letter-spacing:.37em;
  line-height:1.4;
}
.sb-test__contact-copy {
  max-width:455px;
  margin:17px auto 0;
  font-weight:500;
  font-size:16px;
  line-height:1.4;
  letter-spacing:.18em;
}
.sb-test__fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:27px;
  margin-top:59px;
}
.sb-test__fields label { display:block; min-width:0; }
.sb-test__field--email { grid-column:1 / -1; }
.sb-test__fields input {
  display:block;
  width:100%;
  height:53px;
  border:1px solid var(--sb-ink);
  border-radius:0;
  background:transparent;
  color:var(--sb-ink);
  text-align:center;
  padding:10px 12px;
  font-size:11px;
}
.sb-test__fields input::placeholder { color:var(--sb-ink); opacity:1; }
.sb-test__fields input:focus { outline:1px solid var(--sb-ink); outline-offset:2px; }
.sb-test__consent {
  width:100%;
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:5px;
  font-size:8px;
  line-height:1.25;
  text-align:left;
}
.sb-test__consent input {
  appearance:none;
  width:9px;
  height:9px;
  margin:0;
  flex:0 0 auto;
  border:1px solid var(--sb-ink);
  background:transparent;
}
.sb-test__consent input:checked { background:var(--sb-ink); box-shadow:inset 0 0 0 2px var(--sb-paper); }
.sb-test__consent a { color:inherit; text-decoration:none; }
.sb-test__capture {
  width:100%;
  min-height:54px;
  margin-top:36px;
  padding:10px 20px!important;
  font-size:17px!important;
}
.sb-test__capture-note {
  margin:3px 0 0;
  text-align:right;
  font-size:8px;
  line-height:1.3;
}
.sb-test__contact-back {
  display:block;
  margin-top:24px!important;
}

/* Preguntas */
.sb-test__question-content {
  width:min(450px,80%);
  align-self:center;
  justify-self:center;
  text-align:center;
  padding:18px 0 26px;
}
.sb-test__eyebrow {
  margin:0;
  text-transform:uppercase;
  font-weight:600;
  font-size:10px;
  letter-spacing:.34em;
  line-height:1.4;
}
.sb-test__question-content h2 {
  max-width:520px;
  margin:15px auto 0;
  font-size:17px;
  line-height:1.45;
  letter-spacing:.24em;
}
.sb-test__answers {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px 30px;
  margin:61px 0 0;
}
.sb-test__answer {
  position:relative;
  min-height:54px;
  border:1px solid var(--sb-ink);
  padding:9px 13px;
  display:flex;
  justify-content:center;
  align-items:center;
  cursor:pointer;
  font-size:10px;
  line-height:1.2;
}
.sb-test__answer input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.sb-test__answer.is-selected { background:var(--sb-ink); color:var(--sb-paper); }
.sb-test__answer:has(input:focus-visible) { outline:2px solid var(--sb-ink); outline-offset:3px; }
.sb-test__navigation {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:80px;
}
.sb-test button.sb-test__back,.sb-test button.sb-test__continue {
  appearance:none;
  border:0!important;
  border-bottom:1px solid var(--sb-ink)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sb-ink)!important;
  -webkit-text-fill-color:var(--sb-ink)!important;
  padding:0!important;
  margin:0;
  font-family:Inter,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:400!important;
  text-transform:uppercase;
  line-height:1.25;
  cursor:pointer;
}
.sb-test__validation {
  display:none;
  margin:9px 0 0;
  color:#8c342f;
  font-size:10px;
  line-height:1.3;
}
.sb-test__validation.is-visible { display:block; }
.sb-test__honeypot { position:absolute!important; left:-9999px!important; width:1px!important; opacity:0!important; }

/* Pantalla final */
.sb-test__success-content {
  width:min(560px,80%);
  align-self:center;
  justify-self:center;
  text-align:center;
  padding-bottom:18px;
}
.sb-test__success-content h2 {
  margin:15px 0 0;
  font-size:18px;
  letter-spacing:.27em;
}
.sb-test__success-lead {
  margin:45px 0 0;
  font-size:15px;
  line-height:1.25;
  font-weight:600;
}
.sb-test__success-copy {
  max-width:520px;
  margin:9px auto 0;
  font-size:11px;
  line-height:1.35;
}

/* Escritorios bajos */
@media (min-width:768px) and (max-height:720px) {
  .sb-test__header { height:102px; }
  .sb-test__logo { width:96px; }
  .sb-test__form { height:calc(100dvh - 102px); }
  .sb-test__case-panel { padding-left:32px; padding-right:32px; }
  .sb-test__monogram { margin-bottom:34px; }
  .sb-test__fields { margin-top:32px; }
  .sb-test__capture { margin-top:22px; }
  .sb-test__answers { margin-top:35px; }
  .sb-test__navigation { margin-top:43px; }
  .sb-test__success-lead { margin-top:30px; }
}

/* Móvil */
@media(max-width:767px) {
  .sb-test__desktop-only { display:none!important; }
  .sb-test__mobile-only { display:block!important; }
  .sb-test__header {
    height:84px;
    padding:0;
    justify-content:center;
    border-bottom:1px solid var(--sb-ink);
  }
  .sb-test__logo { width:92px; }
  .sb-test__form { height:calc(100dvh - 84px); }
  .sb-test__step { overflow-y:auto; overscroll-behavior:contain; }

  /* Portada móvil */
  .sb-test:has(.sb-test__step--intro.is-active) .sb-test__header { border-bottom:0; }
  .sb-test__step--intro {
    grid-template-columns:1fr;
    grid-template-rows:minmax(420px,52vh) auto;
  }
  .sb-test__case-panel {
    padding:0 42px;
    min-height:0;
  }
  .sb-test__case-image {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .sb-test__intro-content {
    justify-content:flex-start;
    min-height:330px;
    padding:68px 24px 42px;
  }
  .sb-test__monogram {
    width:38px;
    height:39px;
    margin:0 0 31px;
  }
  .sb-test__intro-content h1 {
    max-width:350px;
    font-size:13px;
    line-height:1.45;
    letter-spacing:.23em;
  }
  .sb-test__intro-cta {
    min-width:215px;
    min-height:62px;
    margin-top:22px;
    padding:10px 22px!important;
    font-size:16px!important;
  }

  /* Rail horizontal */
  .sb-test__step--contact,.sb-test__step--question,.sb-test__step--success {
    grid-template-columns:1fr;
    grid-template-rows:90px minmax(0,1fr);
  }
  .sb-test__rail {
    border-right:0;
    border-bottom:1px solid var(--sb-ink);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .sb-test__rail span {
    position:static;
    text-align:center;
    font-size:12px;
    line-height:1.35;
    letter-spacing:.34em;
  }

  /* Datos móvil */
  .sb-test__contact-content {
    width:100%;
    align-self:start;
    padding:88px 27px 38px;
  }
  .sb-test__contact-title {
    font-size:11px;
    line-height:1.4;
    letter-spacing:.34em;
  }
  .sb-test__contact-copy {
    max-width:310px;
    margin-top:13px;
    font-size:13px;
    line-height:1.25;
    letter-spacing:.19em;
  }
  .sb-test__fields {
    width:min(338px,100%);
    grid-template-columns:1fr;
    gap:22px;
    margin:49px auto 0;
  }
  .sb-test__fields input {
    height:62px;
    text-align:left;
    padding:10px;
    font-size:14px;
  }
  .sb-test__consent {
    width:min(338px,100%);
    margin:8px auto 0;
    font-size:11px;
  }
  .sb-test__consent input { width:14px; height:14px; }
  .sb-test__capture {
    width:min(338px,100%);
    min-height:62px;
    margin-top:58px;
    font-size:17px!important;
  }
  .sb-test__capture-note {
    width:min(338px,100%);
    margin:5px auto 0;
    text-align:left;
    font-size:10px;
  }
  .sb-test__contact-back {
    margin:93px auto 0!important;
  }

  /* Preguntas móvil */
  .sb-test__question-content {
    width:100%;
    align-self:start;
    padding:89px 27px 35px;
  }
  .sb-test__eyebrow {
    font-size:10px;
    letter-spacing:.34em;
  }
  .sb-test__question-content h2 {
    max-width:340px;
    margin-top:15px;
    font-size:15px;
    line-height:1.35;
    letter-spacing:.28em;
  }
  .sb-test__answers {
    width:min(338px,100%);
    grid-template-columns:1fr;
    gap:12px;
    margin:43px auto 0;
  }
  .sb-test__answer {
    min-height:63px;
    padding:10px 14px;
    font-size:14px;
    line-height:1.15;
  }
  .sb-test__navigation {
    width:calc(100% + 2px);
    margin-top:72px;
  }
  .sb-test button.sb-test__back,.sb-test button.sb-test__continue {
    font-size:11px!important;
  }

  /* Final móvil */
  .sb-test__success-content {
    width:100%;
    align-self:start;
    padding:279px 28px 60px;
  }
  .sb-test__success-content h2 {
    max-width:330px;
    margin:12px auto 0;
    font-size:14px;
    line-height:1.4;
    letter-spacing:.33em;
  }
  .sb-test__success-lead {
    max-width:310px;
    margin:21px auto 0;
    font-size:18px;
    line-height:1.15;
  }
  .sb-test__success-copy {
    max-width:300px;
    margin-top:20px;
    font-size:14px;
    line-height:1.55;
  }
}

/* Ajustes para móviles bajos */
@media(max-width:767px) and (max-height:760px) {
  .sb-test__step--intro { grid-template-rows:minmax(350px,48vh) auto; }
  .sb-test__intro-content { padding-top:42px; }
  .sb-test__contact-content,.sb-test__question-content { padding-top:52px; }
  .sb-test__fields { margin-top:32px; gap:14px; }
  .sb-test__capture { margin-top:32px; }
  .sb-test__contact-back { margin-top:48px!important; }
  .sb-test__answers { margin-top:28px; }
  .sb-test__navigation { margin-top:48px; }
  .sb-test__success-content { padding-top:170px; }
}
@media(max-width:767px) {
  .sb-test__success-eyebrow { display:none; }
  .sb-test__success-rail .sb-test__mobile-only {
    display:block!important;
    font-size:12px;
    line-height:1.35;
    letter-spacing:.34em;
    text-transform:uppercase;
    font-weight:600;
  }
}


/* v2.10.1 · Pantalla 1 ajustada a viewport y texto/botón nítidos */
.sb-test:has(.sb-test__step--intro.is-active) .sb-test__header { display:none; }
.sb-test:has(.sb-test__step--intro.is-active) .sb-test__form { height:100dvh; }
.sb-test__step--intro.is-active {
  display:block;
  overflow:hidden;
  background:var(--sb-paper);
}
.sb-test__intro-shell {
  width:100%;
  height:100%;
  min-height:100%;
}
.sb-test__intro-title {
  margin:0;
  max-width:455px;
  font-family:'Cabinet Grotesk', Inter, Arial, sans-serif;
  font-weight:500;
  text-transform:uppercase;
  font-size:17px;
  line-height:1.42;
  letter-spacing:.17em;
}
.sb-test__intro-logo-bar {
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 54px;
  background:rgba(254,251,243,.62);
  z-index:2;
}
.sb-test__intro-logo {
  display:block;
  width:132px;
  height:auto;
}
.sb-test__intro-visual {
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.sb-test__intro-visual-image {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.sb-test__step--intro .sb-test__monogram {
  width:48px;
  height:48px;
  margin:0 0 58px;
}
.sb-test__step--intro .sb-test__intro-cta {
  margin-top:28px;
  min-width:275px;
  min-height:56px;
  padding:12px 28px!important;
  font-size:15px!important;
  line-height:1.15;
}

@media (min-width:768px) {
  .sb-test__step--intro .sb-test__desktop-only {
    display:grid!important;
    grid-template-columns:53.1% 46.9%;
  }
  .sb-test__intro-visual--desktop {
    height:100dvh;
  }
  .sb-test__intro-copywrap {
    height:100dvh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:6vh 4vw;
  }
}

@media (max-width:767px) {
  .sb-test__step--intro .sb-test__mobile-only {
    display:flex!important;
    flex-direction:column;
  }
  .sb-test__intro-visual--mobile {
    height:50.5vh;
    min-height:365px;
    max-height:460px;
  }
  .sb-test__intro-copywrap {
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    padding:44px 26px 34px;
  }
  .sb-test__intro-logo-bar {
    height:58px;
    justify-content:center;
    padding:0 24px;
  }
  .sb-test__intro-logo {
    width:118px;
  }
  .sb-test__step--intro .sb-test__monogram {
    width:44px;
    height:44px;
    margin-bottom:30px;
  }
  .sb-test__intro-title {
    max-width:355px;
    font-size:13px;
    line-height:1.42;
    letter-spacing:.22em;
  }
  .sb-test__step--intro .sb-test__intro-cta {
    min-width:255px;
    min-height:54px;
    margin-top:22px;
    font-size:14px!important;
  }
}

@media (max-width:767px) and (max-height:760px) {
  .sb-test__intro-visual--mobile {
    height:46vh;
    min-height:320px;
  }
  .sb-test__intro-copywrap {
    padding-top:30px;
    padding-bottom:24px;
  }
  .sb-test__step--intro .sb-test__monogram {
    margin-bottom:22px;
  }
  .sb-test__step--intro .sb-test__intro-cta {
    margin-top:18px;
  }
}


/* v2.10.3 · Ajuste móvil exacto de la pantalla 1. Desktop y resto del test sin cambios. */
.sb-test {
  width:100vw !important;
  max-width:none !important;
  margin:0 !important;
  transform:none !important;
}

@media (max-width:767px) {
  .sb-test__step--intro.is-active {
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
  }

  .sb-test__step--intro .sb-test__intro-shell.sb-test__mobile-only {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }

  /* Bloque superior del diseño: franja de logo + imagen completa, sin recorte. */
  .sb-test__intro-visual--mobile {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    flex:0 0 auto !important;
  }

  .sb-test__intro-visual--mobile .sb-test__intro-logo-bar {
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:18.32vw !important; /* 72 px en un artboard de 393 px */
    min-height:0 !important;
    max-height:none !important;
    flex:0 0 18.32vw !important;
    padding:0 !important;
    justify-content:center !important;
    background:rgba(254,251,243,.62) !important;
  }

  .sb-test__intro-visual--mobile .sb-test__intro-logo {
    width:21.9vw !important; /* ≈86 px en 393 px */
    max-width:86px !important;
    height:auto !important;
  }

  .sb-test__intro-visual--mobile .sb-test__intro-visual-image {
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    flex:0 0 auto !important;
  }

  /* Parte inferior proporcional al PDF móvil original. */
  .sb-test__step--intro .sb-test__intro-copywrap {
    flex:0 0 auto !important;
    width:100% !important;
    min-height:98.73vw !important; /* 388 px en 393 px */
    padding:21.6vw 20px 8vw !important; /* ≈85 px arriba */
    justify-content:flex-start !important;
    background:var(--sb-paper) !important;
  }

  .sb-test__step--intro .sb-test__monogram {
    width:11.2vw !important;
    max-width:44px !important;
    height:auto !important;
    margin:0 0 6.9vw !important; /* ≈27 px */
  }

  .sb-test__step--intro .sb-test__intro-title {
    width:100% !important;
    max-width:360px !important;
    margin:0 auto !important;
    font-size:10px !important;
    line-height:1.45 !important;
    letter-spacing:.28em !important;
    font-weight:500 !important;
  }

  .sb-test__step--intro .sb-test__intro-cta {
    width:42vw !important;       /* ≈165 px */
    min-width:165px !important;
    max-width:180px !important;
    min-height:51px !important;
    margin-top:6.35vw !important; /* ≈25 px */
    padding:8px 12px !important;
    font-size:11px !important;
    line-height:1.15 !important;
  }
}
