/* Surgical visual fixes for local optimized preview — loads last */

/* Sticky floating-nav: section titles clear the pill (~88–120px) */
html {
  scroll-padding-top: 130px;
}

#conversation .section-heading,
#moments .section-heading,
#memory .section-heading,
#questions .section-heading {
  scroll-margin-top: 130px;
}

#conversation .section-heading h2,
#moments .section-heading h2,
#memory .section-heading h2 {
  scroll-margin-top: 120px;
}

#conversation.conversation-section {
  padding-top: max(92px, 140px);
}

#moments.life-section {
  padding-top: max(80px, 150px);
}

#memory.memory-section {
  padding-top: max(60px, 140px);
}

/* Keep section kickers clear of floating pill */
#conversation .section-heading,
#moments .section-heading,
#memory .section-heading {
  padding-top: 8px;
}

@media (max-width: 760px) {
  html { scroll-padding-top: 100px; }
  #conversation .section-heading,
  #moments .section-heading,
  #memory .section-heading,
  #conversation .section-heading h2,
  #moments .section-heading h2,
  #memory .section-heading h2 {
    scroll-margin-top: 96px;
  }
}

/* Hero device note (learn) — stronger contrast, avoid bottom clip */
.product-hero {
  overflow: visible;
}

.device-note.note-learn {
  color: #241a2a;
  text-shadow:
    0 1px 10px #ffffff,
    0 0 28px #ffffffee,
    0 2px 4px #ffffffcc;
  z-index: 4;
}

.device-note.note-learn span {
  color: #3f3348;
  text-shadow: 0 1px 8px #fff, 0 0 18px #fff;
}

@media (min-width: 761px) {
  .note-learn {
    color: #241a2a;
    text-shadow: 0 1px 10px #fff, 0 0 24px #fff;
  }
  .note-learn span {
    color: #46384f;
  }
}

/* Life moment figcaptions — stronger contrast */
.multilingual-moment figcaption,
.life-moment figcaption {
  background: linear-gradient(transparent 0%, #1a1520cc 42%, #15101ae6 100%) !important;
  text-shadow: 0 1px 10px #0c0814aa, 0 0 2px #0008;
}

.multilingual-moment .case-meta > span,
.multilingual-moment .case-meta small,
.multilingual-moment .moment-target,
.multilingual-moment .moment-original,
.moment-reading,
.moment-reading > span {
  color: #fffaf2 !important;
}

/* French card: more top padding so caption isn’t clipped */
.multilingual-moment.moment-2 figcaption,
.life-moment.moment-2 figcaption {
  padding-top: 64px !important;
}

/* German card: contain long idiom, hide stray overflow */
.multilingual-moment.moment-3,
.life-moment.moment-3 {
  overflow: hidden;
}

.multilingual-moment.moment-3 figcaption,
.life-moment.moment-3 figcaption {
  padding-right: 24px !important;
  overflow: hidden;
}

.multilingual-moment.moment-3 .moment-target {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Plans — single calm status block */
.plans .plan-status {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  padding: 28px 12px 12px;
}

.plans .plan-status h2 {
  font-size: clamp(32px, 3.6vw, 45px);
  line-height: 1.08;
  letter-spacing: -0.05em;
  margin: 0 0 18px;
}

.plans .plan-status-copy {
  color: #796383;
  font-size: 15px;
  line-height: 1.65;
  max-width: 46ch;
  margin: 0 auto 22px;
}

.plans .plan-status-badge {
  display: block;
  width: fit-content;
  margin: 0 auto 28px;
  font-size: 11px;
  letter-spacing: 0.02em;
  color: #6e5a82;
  background: #fffcf9e8;
  border: 1px solid #fff;
  border-radius: 99px;
  padding: 8px 14px;
}

.plans .plan-status .button {
  display: inline-flex;
  margin: 4px auto 0;
}

.plans {
  padding-block: 56px;
}

@media (max-width: 760px) {
  .plans .plan-status {
    padding: 12px 4px;
  }
  .plans .plan-status h2 {
    font-size: 33px;
  }
}

/* Waitlist dialog form */
.waitlist-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
  align-items: stretch;
}

.waitlist-form input[type="email"] {
  flex: 1 1 220px;
  min-height: 48px;
  border-radius: 99px;
  border: 1px solid #ddd5df;
  background: #fff;
  padding: 12px 20px;
  font: inherit;
  font-size: 14px;
  color: var(--ink, #292530);
  outline: none;
}

.waitlist-form input[type="email"]:focus {
  border-color: #5147F2;
  box-shadow: 0 0 0 3px #5147F233;
}

.waitlist-form .button {
  margin-top: 0;
  background: #5147F2;
  color: #fff;
  border: 0;
  flex: 0 0 auto;
  min-width: 132px;
}

.waitlist-form .button:hover {
  background: #4339d9;
  box-shadow: 0 6px 18px #5147F233;
}

.waitlist-success {
  margin-top: 22px !important;
  color: #3d6b52 !important;
  font-weight: 600;
  font-size: 15px !important;
}

#early-dialog .button[data-close] {
  margin-top: 18px;
  background: transparent;
  color: var(--ink, #292530);
  border: 1px solid #ddd5df;
}

#early-dialog .button[data-close]:hover {
  background: #f3eef6;
  box-shadow: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.app-footnote {
  margin-top: 12px !important;
}

.app-footnote small {
  color: #9a879f;
  font-size: 12px;
}

footer > div a[href="#"],
footer > div a[href="#"]:visited {
  color: inherit;
}
