/* Landing page: mobile-first responsive layer, isolated from admin and legal pages. */
.landing-page,
.landing-page *,
.landing-page *::before,
.landing-page *::after {
  box-sizing: border-box;
}

.landing-page .container {
  width: 100%;
  max-width: 1224px;
  margin-inline: auto;
  padding-inline: 16px;
}

.landing-page .hero {
  padding: 18px 0 44px;
}

.landing-page .hero::before {
  background-image: linear-gradient(rgba(7, 83, 204, .012) 1px, transparent 1px), linear-gradient(90deg, rgba(7, 83, 204, .012) 1px, transparent 1px);
}

.landing-page .hero-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}

.landing-page .hero-copy { order: 1; }
.landing-page .trust-row { order: 2; }
.landing-page .consultation-invite { order: 3; }
.landing-page .hero-pharmacies { order: 4; }

.landing-page .hero-copy,
.landing-page .form-card,
.landing-page .field-row,
.landing-page .field,
.landing-page .input-wrap,
.landing-page .input-wrap input {
  min-width: 0;
}

.landing-page .hero-copy {
  width: 100%;
  max-width: 100%;
}

.landing-page .brand-logo-link--hero {
  display: inline-flex;
  margin-bottom: 13px;
}

.landing-page .brand-logo--hero {
  width: auto;
  height: auto;
  max-width: 180px;
  object-fit: contain;
}

.landing-page .hero-context {
  color: var(--blue-700);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
}

.landing-page .hero h1 {
  max-width: 620px;
  margin: 10px 0 12px;
  font-size: clamp(36px, 9.7vw, 40px);
  line-height: 1.1;
  letter-spacing: -1.25px;
}

.landing-page .hero-audience {
  display: block;
  margin-bottom: 8px;
  color: var(--blue-950);
  font-size: clamp(20px, 5.5vw, 30px);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.4px;
}

.landing-page .hero-lead {
  max-width: 610px;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.55;
}

.landing-page .hero-conditions {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.55;
  color: #52667e;
}

.landing-page .hero-partners {
  width: 100%;
  max-width: 520px;
  margin: 20px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.landing-page .convenios-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 9px;
  color: var(--blue-950);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.2px;
  text-transform: uppercase;
}

.landing-page .convenios-title span {
  color: var(--green);
}

.landing-page .convenios-marquee {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 46px;
  overflow: hidden;
  padding-block: 4px;
  contain: layout paint;
  z-index: 0;
}

.landing-page .convenios-track {
  display: block;
  align-items: center;
  width: 100%;
  max-height: 40px;
}

.landing-page .convenios-group {
  display: grid;
  align-items: center;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-height: 40px;
}

.landing-page .convenio-marquee-item {
  width: 100%;
  max-width: 112px;
  height: 40px;
  max-height: 40px;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  justify-self: center;
}

.landing-page .convenio-marquee-item img {
  display: block;
  width: auto;
  height: 38px;
  max-width: 100%;
  max-height: 36px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 7px;
}

.landing-page .convenio-marquee-item .logo-amil {
  height: 38px;
  max-height: 38px;
}

.landing-page .convenio-marquee-item .logo-hapvida,
.landing-page .convenio-marquee-item .logo-unimed {
  height: 36px;
  max-height: 34px;
}

.landing-page .hero-pharmacies {
  --farmacias-marquee-gutter: 16px;
  width: 100vw;
  max-width: none;
  margin: 16px 0 0 calc(50% - 50vw);
}

.landing-page .farmacias-marquee-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  padding-inline: var(--farmacias-marquee-gutter);
  color: var(--blue-950);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
}

.landing-page .farmacias-marquee-title span {
  color: var(--green);
}

.landing-page .farmacias-marquee-subtitle {
  margin: 0 0 9px;
  padding-inline: var(--farmacias-marquee-gutter);
  color: #64768c;
  font-size: 14px;
  line-height: 1.4;
}

.landing-page .farmacias-marquee {
  --farmacias-marquee-gap: 24px;
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 100%;
  height: 56px;
  overflow: hidden;
  padding-block: 2px;
  contain: layout paint;
}

.landing-page .farmacias-marquee-track {
  display: flex;
  align-items: center;
  gap: var(--farmacias-marquee-gap);
  width: max-content;
  max-height: 52px;
  animation: farmacias-marquee 32s linear infinite;
  will-change: transform;
}

.landing-page .farmacias-marquee-group {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--farmacias-marquee-gap);
  max-height: 52px;
}

.landing-page .farmacia-marquee-item {
  position: relative;
  flex: 0 0 138px;
  width: 138px;
  max-width: 138px;
  height: 52px;
  max-height: 52px;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding-inline: 3px;
}

.landing-page .farmacia-marquee-item--brand-dark {
  padding: 5px 8px;
  border-radius: 8px;
  background: #0b4a8d;
}

.landing-page .farmacia-marquee-item img {
  position: relative;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 42px;
  object-fit: contain;
}

.landing-page .farmacia-marquee-fallback {
  display: none;
  color: #174f92;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
}

.landing-page .farmacia-marquee-item--brand-dark .farmacia-marquee-fallback {
  color: #fff;
}

.landing-page .farmacia-marquee-item.is-logo-missing img {
  display: none;
}

.landing-page .farmacia-marquee-item.is-logo-missing .farmacia-marquee-fallback {
  display: block;
}

.landing-page .farmacia-marquee-item .logo-dsp,
.landing-page .farmacia-marquee-item .logo-extrafarma {
  max-width: 96%;
}

.landing-page .farmacia-marquee-item .logo-sao-joao,
.landing-page .farmacia-marquee-item .logo-nissei,
.landing-page .farmacia-marquee-item .logo-indiana {
  max-height: 39px;
}

@keyframes farmacias-marquee {
  to {
    transform: translateX(calc(-50% - (var(--farmacias-marquee-gap) / 2)));
  }
}

.landing-page .hero-button,
.landing-page .cta-time {
  display: none;
}

.landing-page .trust-row {
  display: grid;
  gap: 7px;
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.4;
}

.landing-page #consulta {
  scroll-margin-top: 68px;
}

.landing-page .form-card {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding: 22px 20px;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(12, 53, 105, .1);
}

.landing-page .form-shield {
  width: 38px;
  height: 38px;
  margin-bottom: 15px;
  border-radius: 11px;
}

.landing-page .form-badge {
  top: 21px;
  right: 20px;
  padding: 6px 8px;
  font-size: 10px;
}

.landing-page .form-card h2 {
  margin-bottom: 9px;
  font-size: 29px;
  line-height: 1.1;
  letter-spacing: -.8px;
}

.landing-page .form-card > p {
  max-width: none;
  margin-bottom: 20px;
  font-size: 17px;
  line-height: 1.5;
}

.landing-page .form-audience {
  margin: 0 0 20px;
  padding: 9px 11px;
  font-size: 15px;
  line-height: 1.5;
}

.landing-page .field-row {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.landing-page .field {
  width: 100%;
  margin-bottom: 16px;
}

.landing-page .field label {
  margin-bottom: 7px;
  font-size: 17px;
  font-weight: 700;
}

.landing-page .optional {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 2px 6px;
  vertical-align: 1px;
  font-size: 12px;
}

.landing-page .input-wrap {
  display: flex;
  width: 100%;
  height: 54px;
  border-radius: 13px;
}

.landing-page .input-icon {
  flex: 0 0 34px;
  width: 34px;
  font-size: 18px;
}

.landing-page .input-wrap input {
  flex: 1 1 auto;
  width: auto;
  height: 100%;
  padding: 0 14px;
  font-size: 17px;
}

.landing-page .field small,
.landing-page .field-error {
  font-size: 15px;
  line-height: 1.4;
}

.landing-page .field small {
  color: #52667e;
}

.landing-page .field small {
  margin-top: 6px;
}

.landing-page .field-help-security {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: #52667e;
}

.landing-page .field-help-security span,
.landing-page .form-security span {
  flex: 0 0 auto;
  color: var(--green);
}

.landing-page .consent {
  min-height: 0;
  margin: 2px 0 5px;
  padding: 0;
  gap: 12px;
  font-size: 15px;
  line-height: 1.55;
}

.landing-page .consent input {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
}

.landing-page .consent > span {
  min-width: 0;
}

.landing-page .submit-button {
  width: 100%;
  min-height: 54px;
  margin-top: 14px;
  padding-inline: 16px;
  font-size: 17px;
}

.landing-page .submit-button .button-label {
  min-width: 0;
  text-align: center;
}

.landing-page .form-security {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.5;
  color: #52667e;
}

.landing-page .benefits-section,
.landing-page .pharmacies-section,
.landing-page .how-section,
.landing-page .why-section {
  padding-block: 48px;
}

.landing-page .benefits-section,
.landing-page .pharmacies-section,
.landing-page .how-section {
  padding-block: 46px;
}

.landing-page .benefit-cards {
  gap: 12px;
  margin-top: 30px;
}

.landing-page .benefit-cards article {
  padding: 17px 18px;
  border-radius: 16px;
  box-shadow: 0 7px 20px rgba(9, 49, 102, .04);
}

.landing-page .benefit-cards article:hover {
  transform: none;
  box-shadow: 0 7px 20px rgba(9, 49, 102, .04);
}

.landing-page .benefit-icon {
  width: 38px;
  height: 38px;
  margin-bottom: 13px;
  border-radius: 11px;
  font-size: 17px;
}

.landing-page .steps {
  gap: 12px;
  margin-top: 28px;
}

.landing-page .steps article {
  min-height: 0;
  padding: 16px 18px;
  border-radius: 16px;
  box-shadow: 0 7px 20px rgba(9, 49, 102, .04);
}

.landing-page .steps .step-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  border-radius: 11px;
  font-size: 17px;
}

.landing-page .steps .step-number {
  top: 16px;
  right: 17px;
  color: #9aabc0;
  font-size: 20px;
}

.landing-page .center-heading h2,
.landing-page .confidence-copy h2,
.landing-page .why-copy h2 {
  font-size: 28px;
  letter-spacing: -1px;
}

.landing-page .center-heading > p {
  font-size: 17px;
  line-height: 1.6;
}

.landing-page .benefit-cards h3,
.landing-page .steps h3 {
  font-size: 19px;
  line-height: 1.3;
}

.landing-page .benefit-cards p,
.landing-page .steps p {
  font-size: 17px;
  line-height: 1.55;
}

.landing-page .pharmacy-list-heading strong {
  font-size: 18px;
}

.landing-page .pharmacy-list-heading {
  align-items: flex-start;
  flex-direction: column;
  gap: 5px;
}

.landing-page .pharmacy-list-heading span,
.landing-page .pharmacy-note {
  font-size: 15px;
  line-height: 1.55;
  color: #52667e;
}

.landing-page .pharmacy-name {
  font-size: 15px;
  line-height: 1.4;
}

.landing-page .pharmacy-grid-featured .pharmacy-name {
  font-size: 15px;
}

.landing-page .pharmacies-toggle {
  min-height: 52px;
  padding-inline: 20px;
  border-color: #8fb2dc;
  background: #f7faff;
  color: var(--blue-900);
  font-size: 16px;
}

.landing-page .why-copy > p {
  font-size: 17px;
  line-height: 1.65;
}

.landing-page .why-copy li {
  font-size: 16px;
  line-height: 1.45;
}

.landing-page .brazil-card p,
.landing-page .confidence-copy p {
  font-size: 16px;
  line-height: 1.65;
}

.landing-page .confidence-points strong {
  font-size: 15px;
}

.landing-page .confidence-points small {
  font-size: 15px;
  line-height: 1.5;
}

.landing-page .footer-grid strong {
  font-size: 16px;
}

.landing-page .footer-grid p {
  font-size: 16px;
  line-height: 1.6;
}

.landing-page .footer-bottom,
.landing-page .footer-bottom .disclaimer {
  font-size: 15px;
  line-height: 1.6;
  color: #b8c8df;
}

.landing-page .benefit-cards,
.landing-page .steps,
.landing-page .why-grid,
.landing-page .footer-grid {
  grid-template-columns: minmax(0, 1fr);
}

.landing-page .pharmacy-grid {
  grid-template-columns: minmax(0, 1fr);
}

.landing-page .farmacias-logo-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.landing-page .farmacia-logo-item {
  position: relative;
  min-width: 0;
  min-height: 80px;
  padding: 10px 8px;
  overflow: hidden;
  border: 1px solid #dce6f1;
  border-radius: 12px;
  background: #fff;
}

.landing-page .farmacia-logo-item img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  height: auto;
  max-width: 92%;
  max-height: 44px;
  object-fit: contain;
}

.landing-page .farmacia-logo-item--brand-dark {
  border-color: #215d9e;
  background: #0b4a8d;
}

.landing-page .farmacia-logo-fallback {
  display: none;
  max-width: 92%;
  color: #174f92;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
}

.landing-page .farmacia-logo-item--brand-dark .farmacia-logo-fallback {
  color: #fff;
}

.landing-page .farmacia-logo-item.is-logo-missing img {
  display: none;
}

.landing-page .farmacia-logo-item.is-logo-missing .farmacia-logo-fallback {
  display: block;
}

.landing-page .farmacia-logo-item .logo-pague-menos,
.landing-page .farmacia-logo-item .logo-panvel {
  max-height: 46px;
}

.landing-page .farmacia-logo-item .logo-drogaria-sao-paulo,
.landing-page .farmacia-logo-item .logo-extrafarma {
  max-width: 96%;
}

.landing-page .farmacia-logo-item .logo-drogarias-nissei,
.landing-page .farmacia-logo-item .logo-farmacia-indiana {
  max-width: 96%;
  max-height: 46px;
}

.landing-page .confidence-panel {
  padding: 27px 22px;
  border-radius: 20px;
}

.landing-page .featured-pharmacies {
  margin-top: 30px;
  padding: 20px 16px;
  border-radius: 18px;
  box-shadow: 0 9px 28px rgba(9, 49, 102, .05);
}

.landing-page .pharmacy-list-heading {
  margin-bottom: 15px;
}

.landing-page .pharmacy-list-heading.compact {
  margin-top: 24px;
  padding-top: 22px;
}

.landing-page .pharmacy-note {
  margin-top: 20px;
}

.landing-page .why-grid {
  gap: 28px;
}

.landing-page .why-copy ul {
  gap: 9px;
  margin-top: 20px;
}

.landing-page .why-copy li {
  padding-block: 11px;
}

.landing-page .brazil-card {
  padding: 26px 22px;
  border-radius: 18px;
  box-shadow: 0 9px 28px rgba(9, 49, 102, .05);
}

.landing-page .brazil-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  box-shadow: none;
}

.landing-page .confidence-section {
  padding-bottom: 52px;
}

.landing-page .confidence-points article {
  min-height: 0;
  padding: 17px;
}

.landing-page .confidence-icon {
  margin-bottom: 11px;
}

.landing-page .final-cta {
  padding-bottom: 52px;
}

.landing-page .final-cta-card {
  min-height: 0;
  padding: 32px 24px;
  border-radius: 20px;
  box-shadow: 0 16px 38px rgba(7, 59, 143, .15);
}

.landing-page .site-footer {
  padding: 44px 0 24px;
}

.landing-page .footer-grid {
  gap: 25px;
}

.landing-page .footer-bottom {
  flex-direction: column;
  margin-top: 30px;
  padding-top: 20px;
  gap: 14px;
}

.landing-page .company-identification span {
  display: block;
}

.landing-page .company-identification span + span {
  margin-top: 5px;
}

@media (min-width: 340px) {
  .landing-page .pharmacy-grid,
  .landing-page .farmacias-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.landing-page .confidence-points {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 480px) {
  .landing-page .container {
    padding-inline: 20px;
  }

  .landing-page .hero-partners {
    --partners-gutter: 20px;
  }

  .landing-page .hero-pharmacies {
    --farmacias-marquee-gutter: 20px;
  }

  .landing-page .form-card {
    max-width: 620px;
    padding: 24px;
  }

  .landing-page .submit-button {
    font-size: 17px;
  }
}

@media (min-width: 768px) {
  .landing-page .container {
    padding-inline: 24px;
  }

  .landing-page .hero-partners {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .landing-page .brand-logo--hero {
    max-width: 240px;
  }

  .landing-page .hero-pharmacies {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .landing-page .farmacias-marquee-title,
  .landing-page .farmacias-marquee-subtitle {
    padding-inline: 0;
  }

  .landing-page .farmacias-marquee-title {
    font-size: 21px;
  }

  .landing-page .farmacias-marquee {
    --farmacias-marquee-gap: 30px;
    height: 62px;
  }

  .landing-page .farmacias-marquee-track,
  .landing-page .farmacias-marquee-group {
    max-height: 58px;
  }

  .landing-page .farmacia-marquee-item {
    flex-basis: 168px;
    width: 168px;
    max-width: 168px;
    height: 58px;
    max-height: 58px;
  }

  .landing-page .farmacia-marquee-item img {
    max-height: 48px;
  }

  .landing-page .farmacia-marquee-item .logo-sao-joao,
  .landing-page .farmacia-marquee-item .logo-nissei,
  .landing-page .farmacia-marquee-item .logo-indiana {
    max-height: 44px;
  }

  .landing-page .convenios-title {
    padding-inline: 0;
    font-size: 20px;
  }

  .landing-page #consulta {
    scroll-margin-top: 78px;
  }

  .landing-page .hero {
    padding: 34px 0 68px;
  }

  .landing-page .hero h1 {
    font-size: 48px;
    letter-spacing: -2.2px;
  }

  .landing-page .hero-lead {
    font-size: 17px;
  }

  .landing-page .trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .landing-page .form-card {
    padding: 30px;
  }

  .landing-page .form-card h2 {
    font-size: 30px;
  }

  .landing-page .form-card > p {
    margin-bottom: 16px;
    font-size: 17px;
  }

  .landing-page .field {
    margin-bottom: 15px;
  }

  .landing-page .field label {
    font-size: 17px;
  }

  .landing-page .field small,
  .landing-page .field-error {
    font-size: 15px;
  }

  .landing-page .consent {
    gap: 12px;
    font-size: 15px;
  }

  .landing-page .consent input {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }

  .landing-page .field-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .landing-page .benefit-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landing-page .steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 36px;
  }

  .landing-page .steps article {
    padding: 22px;
  }

  .landing-page .steps .step-icon {
    margin-bottom: 14px;
  }

  .landing-page .pharmacy-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .landing-page .farmacias-logo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  .landing-page .farmacia-logo-item {
    min-height: 78px;
    padding: 8px;
  }

  .landing-page .why-grid {
    grid-template-columns: 1.08fr .92fr;
  }

  .landing-page .footer-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .landing-page .footer-bottom {
    flex-direction: row;
  }
}

@media (min-width: 1024px) {
  .landing-page .container {
    padding-inline: 32px;
  }

  .landing-page #consulta {
    scroll-margin-top: 84px;
  }

  .landing-page .hero {
    padding: 36px 0 58px;
  }

  .landing-page .hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    gap: 48px;
  }

  .landing-page .hero-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .landing-page .consultation-invite {
    grid-column: 2;
    grid-row: 1;
  }

  .landing-page .trust-row {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .landing-page .hero-pharmacies {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  .landing-page .hero h1 {
    font-size: clamp(48px, 4.3vw, 58px);
  }

  .landing-page .hero-partners {
    margin-top: 24px;
  }

  .landing-page .brand-logo--hero {
    max-width: 280px;
  }

  .landing-page .convenios-marquee {
    --marquee-gap: 30px;
    height: 60px;
  }

  .landing-page .convenios-track,
  .landing-page .convenios-group {
    max-height: 52px;
  }

  .landing-page .convenio-marquee-item {
    flex-basis: 135px;
    width: 135px;
    max-width: 135px;
    height: 52px;
    max-height: 52px;
  }

  .landing-page .convenio-marquee-item .logo-amil {
    height: 46px;
    max-height: 46px;
  }

  .landing-page .convenio-marquee-item .logo-hapvida,
  .landing-page .convenio-marquee-item .logo-unimed {
    height: 44px;
    max-height: 44px;
  }

  .landing-page .form-card {
    width: 100%;
    max-width: 500px;
    justify-self: end;
    padding: 32px;
  }

  .landing-page .benefit-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .landing-page .pharmacy-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .landing-page .farmacias-logo-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .landing-page .confidence-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .landing-page .hero-grid {
    gap: 70px;
  }

  .landing-page .hero h1 {
    font-size: 58px;
  }

  .landing-page .farmacias-logo-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-page .farmacias-marquee {
    height: auto;
    overflow: visible;
    contain: none;
  }

  .landing-page .farmacias-marquee-track {
    width: 100%;
    max-height: none;
    animation: none;
    transform: none;
  }

  .landing-page .farmacias-marquee-group:first-child {
    display: grid;
    width: 100%;
    max-height: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
  }

  .landing-page .farmacias-marquee-group[aria-hidden="true"] {
    display: none;
  }

  .landing-page .farmacia-marquee-item {
    width: 100%;
    max-width: 100%;
  }
}

@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .landing-page .farmacias-marquee-group:first-child {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Fluxo de conversão: escolha acessível do convênio */
.landing-page .convenio-field{min-width:0;margin:0 0 18px;padding:0;border:0}.landing-page .convenio-field legend{margin:0 0 9px;padding:0;color:#34445b;font-size:17px;font-weight:700}.landing-page .convenio-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.landing-page .convenio-option{position:relative;min-width:0;cursor:pointer}.landing-page .convenio-option input{position:absolute;width:1px;height:1px;opacity:0}.landing-page .convenio-choice{position:relative;min-height:92px;padding:11px 7px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:2px solid #d8e2ed;border-radius:13px;background:#fcfdff;color:#34445b;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.landing-page .convenio-choice img{display:block;width:auto;height:auto;max-width:76px;max-height:34px;object-fit:contain}.landing-page .convenio-choice strong{font-size:15px}.landing-page .convenio-check{position:absolute;top:6px;right:6px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--blue-700);color:#fff;font-size:13px;font-weight:900;opacity:0;transform:scale(.8)}.landing-page .convenio-option input:checked+.convenio-choice{border-color:var(--blue-700);background:#f1f7ff;box-shadow:0 0 0 3px rgba(7,83,204,.1)}.landing-page .convenio-option input:checked+.convenio-choice .convenio-check{opacity:1;transform:scale(1)}.landing-page .convenio-option input:focus-visible+.convenio-choice{outline:3px solid rgba(21,92,183,.28);outline-offset:3px}.landing-page .convenio-field.has-error .convenio-choice{border-color:#d53f4d}

/* Página dedicada de confirmação */
.confirmation-page{min-height:100vh;background:linear-gradient(145deg,#f4f8ff 0%,#f8fcfa 100%)}.confirmation-page .confirmation-brand{color:var(--blue-950);text-decoration:none;font-weight:800}.confirmation-main{min-height:680px;padding:54px 16px 70px;display:grid;place-items:center}.confirmation-card{width:min(620px,100%);padding:42px 25px;border:1px solid #dfe8f2;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(6,39,95,.12);text-align:center}.confirmation-check{width:84px;height:84px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:42px;font-weight:900;box-shadow:0 13px 30px rgba(24,168,115,.24)}.confirmation-kicker{margin:0 0 14px;color:#147a59;font-size:17px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.confirmation-card h1{margin:0 auto 20px;color:var(--blue-950);font-size:clamp(32px,7vw,42px);line-height:1.12;letter-spacing:-1.2px}.confirmation-lead,.confirmation-phone,.confirmation-note{margin-inline:auto;font-size:18px;line-height:1.58}.confirmation-lead{max-width:500px;color:#40536e}.confirmation-phone{max-width:460px;margin-block:22px;padding:14px 16px;border-radius:13px;background:#eef6ff;color:var(--blue-950);font-weight:800}.confirmation-phone span{color:var(--green)}.confirmation-note{color:#52667e}.confirmation-button{min-width:230px;min-height:56px;margin-top:16px;font-size:17px}
@media(min-width:768px){.landing-page .convenio-options{gap:11px}.landing-page .convenio-choice{min-height:104px}.landing-page .convenio-choice img{max-width:90px;max-height:40px}.landing-page .convenio-choice strong{font-size:16px}.confirmation-card{padding:54px 48px}}
@media(max-width:370px){.landing-page .convenio-options{grid-template-columns:1fr}.landing-page .convenio-choice{min-height:72px;flex-direction:row;gap:16px}.confirmation-button{width:100%;min-width:0}}

/* Guided consultation — conversion v2 */
.sr-only{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}
.consultation-invite{padding:34px 28px;border:1px solid rgba(255,255,255,.9);border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 35px 90px rgba(5,55,125,.16)}
.consultation-invite-kicker,.wizard-question-number,.wizard-eyebrow{display:block;color:var(--blue-700);font-size:13px;font-weight:850;letter-spacing:.8px;text-transform:uppercase}
.consultation-invite h2{margin:12px 0 13px;color:var(--blue-950);font-size:clamp(28px,7vw,36px);line-height:1.13;letter-spacing:-1px}
.consultation-invite>p{margin:0;color:#53667f;font-size:17px;line-height:1.55}
.consultation-invite ul{display:grid;gap:12px;margin:24px 0;padding:20px 0;border-block:1px solid #e4ebf4;list-style:none}
.consultation-invite li{display:flex;gap:10px;color:#40536d;font-size:16px;line-height:1.4}.consultation-invite li span{color:var(--green);font-weight:900}
.consultation-open{width:100%;min-height:58px;font-size:16px}.consultation-invite>small{display:block;margin-top:14px;color:#77869a;font-size:14px;text-align:center}.consultation-invite>small span{color:var(--green)}
.wizard-open{overflow:hidden}.wizard-shell{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px}.wizard-shell[hidden]{display:none}.wizard-backdrop{position:absolute;inset:0;background:rgba(4,25,57,.7);backdrop-filter:blur(7px)}
.wizard-dialog{position:relative;width:min(720px,100%);max-height:min(820px,calc(100dvh - 40px));overflow:auto;border:1px solid rgba(255,255,255,.75);border-radius:26px;background:#fff;box-shadow:0 35px 100px rgba(0,25,65,.32)}
.wizard-header{position:sticky;z-index:3;top:0;display:grid;grid-template-columns:1fr auto;gap:13px 20px;padding:22px 28px 15px;border-bottom:1px solid #e7edf5;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.wizard-header>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:18px}.wizard-header strong{color:#53667e;font-size:14px;white-space:nowrap}.wizard-close{width:48px;height:48px;margin:-8px -10px -8px 0;border:0;border-radius:50%;background:#f0f4f9;color:#37506d;font-size:28px;line-height:1;cursor:pointer}.wizard-progress{grid-column:1/-1;height:7px;overflow:hidden;border-radius:99px;background:#e8eef6}.wizard-progress span{display:block;width:14.285%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-600),var(--green));transition:width .25s ease}
#lead-form{padding:34px 36px 28px}.wizard-step{min-height:360px;animation:wizard-in .22s ease}.wizard-step[hidden]{display:none}@keyframes wizard-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.wizard-step h2{max-width:590px;margin:10px 0 10px;color:var(--blue-950);font-size:clamp(26px,5vw,34px);line-height:1.15;letter-spacing:-.8px}.wizard-step>p{margin:0 0 28px;color:#62738a;font-size:17px;line-height:1.5}
.wizard-step .field{position:relative;margin-bottom:20px}.wizard-step .field label,.wizard-step .convenio-field legend{margin-bottom:9px;color:#34445b;font-size:16px}.wizard-step .input-wrap{height:58px;border-width:2px}.wizard-step .input-wrap input{width:100%;padding:0 16px;font-size:17px}.wizard-step .field-error{font-size:14px}.wizard-step .field small{font-size:14px;line-height:1.45}
.city-results{position:absolute;z-index:5;top:88px;left:0;right:0;overflow:auto;max-height:290px;padding:7px;border:1px solid #ccd9e8;border-radius:13px;background:#fff;box-shadow:0 18px 40px rgba(7,42,88,.17)}.city-results[hidden]{display:none}.city-results button{width:100%;min-height:56px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-radius:9px;background:#fff;color:#263d59;text-align:left;cursor:pointer}.city-results button:hover,.city-results button[aria-selected="true"]{background:#edf5ff}.city-results strong{font-size:16px}.city-results span{color:#60738c;font-size:14px;white-space:nowrap}
.phone-composite{display:grid;grid-template-columns:88px 1fr;gap:10px}.selected-ddd{height:58px;display:grid;place-items:center;border:2px solid #dbe4ef;border-radius:11px;background:#eef4fb;color:#274a72;font-size:18px;font-weight:850}
.wizard-step .convenio-options{gap:12px}.wizard-step .convenio-choice{min-height:126px}.wizard-step .convenio-choice strong{font-size:17px}
.cpf-trust{display:flex;gap:10px;margin:4px 0!important;padding:15px;border-radius:12px;background:#eef6ff;color:#405a78!important;font-size:15px!important}.cpf-trust span{color:var(--green)}
.choice-list{display:grid;gap:11px;margin:0;padding:0;border:0}.choice-list label{position:relative;margin:0!important;cursor:pointer}.choice-list input{position:absolute;width:1px;height:1px;opacity:0}.choice-list label>span{min-height:58px;padding:13px 50px 13px 17px;display:flex;align-items:center;border:2px solid #dbe4ef;border-radius:12px;background:#fbfdff;color:#344a64;font-size:16px;font-weight:750;line-height:1.35}.choice-list label>span:after{position:absolute;right:17px;width:22px;height:22px;display:grid;place-items:center;border:2px solid #aebed1;border-radius:50%;content:""}.choice-list input:checked+span{border-color:var(--blue-700);background:#eef5ff;color:var(--blue-950)}.choice-list input:checked+span:after{border-color:var(--blue-700);background:var(--blue-700);box-shadow:inset 0 0 0 5px #fff}.choice-list input:focus-visible+span{outline:3px solid rgba(21,92,183,.28);outline-offset:3px}
.wizard-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:22px}.wizard-summary span{padding:12px;border-radius:10px;background:#f3f7fb;color:#40536b;font-size:14px}.wizard-step .consent{padding:16px;border:1px solid #dce5f0;border-radius:12px;background:#fbfdff;font-size:15px}.wizard-step .consent input{width:22px;height:22px;flex-basis:22px}
.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding-top:22px;border-top:1px solid #e8edf4}.wizard-back{min-height:52px;padding:0 19px;border:1px solid #cbd8e7;border-radius:11px;background:#fff;color:#405773;font-size:16px;font-weight:800;cursor:pointer}.wizard-next,.wizard-actions .submit-button{width:auto;min-width:190px;min-height:54px;margin:0;font-size:16px}.wizard-actions .submit-button[hidden],.wizard-actions .wizard-next[hidden],.wizard-actions .wizard-back[hidden]{display:none}.wizard-dialog .form-security{font-size:13px}
@media(max-width:760px){.wizard-shell{padding:0;place-items:stretch}.wizard-dialog{width:100%;max-height:100dvh;border:0;border-radius:0}.wizard-header{padding:19px 20px 14px}.wizard-eyebrow{font-size:11px}.wizard-header strong{font-size:13px}#lead-form{padding:28px 20px 24px}.wizard-step{min-height:calc(100dvh - 265px)}.wizard-step h2{font-size:28px}.wizard-step>p{font-size:16px;margin-bottom:23px}.wizard-step .field-row{grid-template-columns:1fr}.wizard-summary{grid-template-columns:1fr}.wizard-actions{position:sticky;bottom:-24px;margin-inline:-20px;padding:16px 20px 24px;background:#fff}.wizard-next,.wizard-actions .submit-button{flex:1;min-width:0}.wizard-back{min-width:90px}.consultation-invite{padding:28px 21px}}
@media(max-width:370px){.wizard-step h2{font-size:25px}.wizard-step .convenio-options{grid-template-columns:1fr}.wizard-step .convenio-choice{min-height:72px;flex-direction:row}.phone-composite{grid-template-columns:77px 1fr}.wizard-actions{gap:8px}.wizard-back{padding-inline:12px}.choice-list label>span{font-size:15px}}
@media(prefers-reduced-motion:reduce){.wizard-step{animation:none}.wizard-progress span{transition:none}}
