/* Meditation addition: scoped selectors, no changes to existing bio or popup. */
.home-meditate-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: calc(55px + env(safe-area-inset-bottom, 0px));
  z-index: 8;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.home-meditate-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(0.8rem, 1.15vw, 1.1rem);
  font-weight: 700;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  text-decoration: none;
  pointer-events: auto;
  touch-action: manipulation;
}
.home-meditate-link:hover { opacity: 0.65; }
.home-meditate-link:focus-visible,
.mm-information-page .mm-back:focus-visible,
.mm-information-page .mm-menu-link:focus-visible,
.mm-information-page .mm-email-link:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 6px;
}

/* Keep a usable footer on short laptop and landscape-phone viewports. */
@media (min-width: 761px) and (max-height: 600px) {
  .home-page { min-height: 0; }
  .home-page .landing { min-height: 0; padding: 12px 0 112px; }
}
@media (max-width: 760px) and (orientation: landscape) {
  .home-page .landing { padding: 12px 0 112px; gap: min(2.6vw, 2vh); }
  .home-page .mega-row { height: min(14.5vw, 16vh); }
}

/* Only the new /meditate/, /retreats/ and /private/ pages use these rules. */
.mm-information-page {
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--bg);
  color: var(--ink);
}
.mm-information-page .mm-page-header {
  position: absolute;
  top: max(18px, env(safe-area-inset-top, 0px));
  left: max(20px, env(safe-area-inset-left, 0px));
  z-index: 2;
}
.mm-information-page .mm-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 25px;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  touch-action: manipulation;
}
.mm-information-page .mm-back:hover { opacity: 0.65; }
.mm-information-page .mm-page-main {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 106px max(24px, env(safe-area-inset-right, 0px)) 108px max(24px, env(safe-area-inset-left, 0px));
}
.mm-information-page .mm-page-content {
  width: min(760px, 100%);
  min-width: 0;
  text-align: center;
  font-family: var(--serif);
  font-weight: 700;
  font-style: italic;
  text-transform: uppercase;
}
.mm-information-page .mm-page-title {
  margin: 0 0 clamp(36px, 5vw, 62px);
  font: inherit;
  font-size: clamp(1.7rem, 3.6vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.mm-information-page .mm-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.mm-information-page .mm-menu-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: 6px 12px;
  font: inherit;
  font-size: clamp(1rem, 1.5vw, 1.3rem);
  line-height: 1.5;
  letter-spacing: 0.045em;
  word-spacing: 0.10em;
  text-align: center;
  touch-action: manipulation;
  text-underline-offset: 5px;
}
.mm-information-page .mm-menu-link:hover { text-decoration: underline; }
.mm-information-page .mm-page-copy {
  margin: 0;
  font: inherit;
  font-size: clamp(0.8rem, 1.1vw, 1rem);
  line-height: 1.8;
  letter-spacing: 0.045em;
  word-spacing: 0.10em;
  text-wrap: pretty;
}
.mm-information-page .mm-email-link {
  display: inline-block;
  color: inherit;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 4px;
  touch-action: manipulation;
}
@media (max-width: 760px) {
  .mm-information-page .mm-page-header { left: max(10px, env(safe-area-inset-left, 0px)); top: max(12px, env(safe-area-inset-top, 0px)); }
  .mm-information-page .mm-menu { gap: 12px; }
  .mm-information-page .mm-menu-link { letter-spacing: 0.035em; word-spacing: 0.08em; }
  .mm-information-page .mm-page-copy { letter-spacing: 0.035em; word-spacing: 0.08em; }
}
/* Compact the new pages only in short landscape windows. */
@media (max-height: 600px) {
  .mm-information-page .mm-page-main { padding-top: 72px; padding-bottom: 72px; }
  .mm-information-page .mm-page-title { font-size: 1.7rem; margin-bottom: 24px; }
  .mm-information-page .mm-menu { gap: 4px; }
}

