/* RareDex readability layer.
   Kept separate from the visual system so this update can be reviewed or reverted alone. */

:root {
  --rd-reading-surface: rgba(255, 255, 255, 0.68);
  --rd-reading-surface-soft: rgba(255, 255, 255, 0.58);
  --rd-reading-border: rgba(145, 121, 72, 0.28);
  --rd-reading-shadow: 0 14px 34px rgba(55, 46, 28, 0.11);
  /* A familiar two-step text scale: standard stays compact, while comfort is
     visibly larger across reading copy, labels and card text. Controls use a
     smaller step so navigation and forms keep their shape. */
  --rd-type-copy: 15px;
  --rd-type-supporting: 14px;
  --rd-type-meta: 13px;
  --rd-type-control: 15px;
  --rd-type-card: 15px;
}

html.text-comfort {
  --rd-type-copy: 17px;
  --rd-type-supporting: 16px;
  --rd-type-meta: 15px;
  --rd-type-control: 16px;
  --rd-type-card: 17px;
}

.theme-dim,
[data-theme="moon"],
[data-theme="dark"] {
  --rd-reading-surface: rgba(12, 22, 19, 0.7);
  --rd-reading-surface-soft: rgba(12, 22, 19, 0.62);
  --rd-reading-border: rgba(214, 194, 145, 0.28);
  --rd-reading-shadow: 0 16px 38px rgba(0, 0, 0, 0.3);
}

/* Public SNS destinations belong to the identity plate, not a separate card. */
.mydex-profile-social-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: min(100%, 230px);
  margin: 0 auto clamp(12px, 1.6vw, 17px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: color-mix(in srgb, var(--rd-reading-surface-soft) 74%, transparent);
  box-shadow: none;
  -webkit-backdrop-filter: blur(10px) saturate(102%);
  backdrop-filter: blur(10px) saturate(102%);
}

.mydex-social-link {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 44px;
  padding: 9px 6px;
  border: 0;
  border-radius: 0;
  color: var(--rd-heading);
  background: transparent;
  box-shadow: none;
  font-size: var(--rd-type-control);
  font-weight: 400;
  line-height: 1.25;
  transition: color 160ms ease;
}

.mydex-social-link + .mydex-social-link {
  border-top: 1px solid color-mix(in srgb, var(--rd-reading-border) 78%, transparent);
}

.mydex-social-link:hover,
.mydex-social-link:focus-visible {
  color: var(--rd-brass);
  background: transparent;
  transform: none;
}

.mydex-social-link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--rd-brass) 68%, transparent);
  outline-offset: 2px;
  border-radius: 4px;
}

.mydex-social-icon {
  flex-basis: 22px;
  width: 22px;
  height: 22px;
  color: var(--rd-brass);
  font-size: 14px;
}

.mydex-social-name {
  max-width: 100%;
  overflow: hidden;
  border-bottom: 0;
  color: var(--rd-text);
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 160ms ease, border-color 160ms ease;
}

.mydex-social-link:hover .mydex-social-name,
.mydex-social-link:focus-visible .mydex-social-name {
  border-bottom-color: currentColor;
  color: var(--rd-heading);
}

/* The editable profile rows use the same gallery-label grammar. */
.settings-social-fields {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.settings-social-field {
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: 12px 4px;
  border: 0;
  border-bottom: 1px solid var(--rd-reading-border);
  border-radius: 0;
  background: transparent;
}

.settings-social-copy {
  grid-template-columns: minmax(90px, 0.4fr) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.settings-social-copy > strong {
  min-width: 0;
  overflow: hidden;
  color: var(--rd-heading);
  font-size: var(--rd-type-control);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-social-icon {
  color: var(--rd-brass);
}

.settings-social-field .settings-profile-social-input.rd-input {
  -webkit-appearance: none;
  appearance: none;
  height: 40px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid var(--rd-reading-border);
  border-radius: 0;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none;
}

.settings-social-field .settings-profile-social-input.rd-input:focus {
  border-bottom-color: var(--rd-brass);
  outline: 2px solid color-mix(in srgb, var(--rd-brass) 58%, transparent);
  outline-offset: 3px;
  box-shadow: none;
}

.settings-social-note {
  grid-column: 1;
  margin-top: 9px;
  padding-inline-start: 40px;
  text-align: left;
}

.theme-dim .settings-social-field,
[data-theme="moon"] .settings-social-field {
  border-color: var(--rd-reading-border);
  background: transparent;
}

.theme-dim .settings-social-icon,
[data-theme="moon"] .settings-social-icon {
  color: var(--rd-brass);
}

.settings-social-icon.is-x,
.mydex-social-link.is-x .mydex-social-icon {
  font-size: 0;
}

.settings-social-icon.is-x::before,
.mydex-social-link.is-x .mydex-social-icon::before {
  width: 18px;
  height: 18px;
  content: "";
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Notifications need a stable reading plane over the conservatory image.
   Keep the section open, but surface its heading and repeated rows quietly. */
.mydex-notification-summary {
  padding: 12px 16px;
  border: 1px solid var(--rd-reading-border);
  border-radius: 10px;
  background: var(--rd-reading-surface-soft);
  box-shadow: var(--rd-reading-shadow);
  -webkit-backdrop-filter: blur(10px) saturate(108%);
  backdrop-filter: blur(10px) saturate(108%);
}

.mydex-notification-panel,
.notification-center-page .site-notification-center-list {
  box-sizing: border-box;
  border: 1px solid var(--rd-reading-border);
  border-radius: 12px;
  color: var(--rd-text);
  background: var(--rd-reading-surface);
  box-shadow: var(--rd-reading-shadow);
  -webkit-backdrop-filter: blur(12px) saturate(108%);
  backdrop-filter: blur(12px) saturate(108%);
}

.mydex-notification-panel {
  margin-top: 10px;
  padding: clamp(16px, 2.4vw, 24px);
}

.notification-center-page .site-notification-center-list {
  margin-inline: 0;
  padding: 0 clamp(12px, 2.2vw, 20px);
  overflow: hidden;
  border-top: 1px solid var(--rd-reading-border);
}

.mydex-notification-panel > .rd-muted-text,
.mydex-notification-panel .notification-content,
.notification-center-page .notification-content {
  color: color-mix(in srgb, var(--rd-text) 80%, var(--rd-muted));
}

.mydex-site-notification-list,
.notification-center-page .site-notification-center-list {
  border-top-color: transparent;
}

.mydex-site-notification,
.notification-center-page .site-notification-center-list .notification-item {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 16px 12px;
  border-bottom: 1px solid var(--rd-reading-border);
  color: var(--rd-text);
  background: transparent;
  opacity: 1;
}

.mydex-site-notification:not(.is-unread),
.notification-center-page .site-notification-center-list .notification-item:not(.is-unread) {
  opacity: 1;
}

.mydex-site-notification:last-child,
.notification-center-page .site-notification-center-list .notification-item:last-child {
  border-bottom: 0;
}

.mydex-site-notification.is-unread,
.notification-center-page .site-notification-center-list .notification-item.is-unread {
  border-color: var(--rd-reading-border);
  background: color-mix(in srgb, var(--rd-brass-soft) 34%, transparent);
}

.mydex-site-notification:hover,
.notification-center-page .site-notification-center-list .notification-item:hover {
  background: color-mix(in srgb, var(--rd-reading-surface-soft) 72%, var(--rd-brass-soft));
}

.mydex-site-notification .notification-body strong,
.notification-center-page .notification-body strong {
  color: var(--rd-heading);
  font-weight: 600;
}

.mydex-site-notification .site-notification-state,
.notification-center-page .site-notification-state {
  color: var(--rd-muted);
}

/* Authentication content also sits directly over the greenhouse photograph.
   Keep the complete flow on one calm surface so links and supporting copy do not disappear. */
.auth-box {
  box-sizing: border-box;
  width: min(420px, calc(100% - 24px));
  padding: clamp(26px, 5vw, 42px);
  border: 1px solid var(--rd-reading-border);
  border-radius: 16px;
  color: var(--rd-text);
  background: var(--rd-reading-surface);
  box-shadow: var(--rd-reading-shadow);
  -webkit-backdrop-filter: blur(12px) saturate(108%);
  backdrop-filter: blur(12px) saturate(108%);
}

.auth-email-links button,
:root:not(.theme-dim)[data-theme="morning"] .auth-email-links button {
  color: var(--rd-heading);
}

.auth-email-links button {
  font-weight: 600;
}

/* About is a long-form reading page. Use one continuous, quiet paper wash instead
   of several assertive cards so every paragraph stays legible over the garden. */
.about-brand-hero,
.about-section {
  box-sizing: border-box;
  width: min(740px, 100%);
  padding-inline: clamp(22px, 4vw, 34px);
  background: color-mix(in srgb, var(--rd-reading-surface-soft) 92%, transparent);
  -webkit-backdrop-filter: blur(8px) saturate(104%);
  backdrop-filter: blur(8px) saturate(104%);
}

.about-brand-hero {
  border-radius: 14px 14px 0 0;
}

.about-next-step {
  border-radius: 0 0 14px 14px;
}

.about-brand-copy h1,
.about-section h2,
.about-section h3,
.about-promise-row span {
  color: var(--rd-heading);
}

.about-brand-copy p:not(.about-kicker),
.about-section p,
.about-section .about-chapter p:not(.about-chapter-number),
.about-section li {
  color: var(--rd-text);
}

.about-kicker,
.about-chapter-number {
  color: color-mix(in srgb, var(--rd-heading) 68%, var(--rd-brass));
  font-weight: 600;
}

.about-chapter a:not(.rd-button) {
  color: var(--rd-heading);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Legal copy and the contact introduction use the approved About paper wash.
   Scope the card so About and the existing contact ledger remain unchanged. */
.legal-page > .legal-reading-card,
.support-page > .support-hero.rd-reading-card {
  box-sizing: border-box;
  min-width: 0;
  padding: clamp(26px, 4vw, 40px) clamp(22px, 4vw, 34px);
  border: 0;
  border-radius: 14px;
  color: var(--rd-text);
  background: color-mix(in srgb, var(--rd-reading-surface-soft) 92%, transparent);
  -webkit-backdrop-filter: blur(8px) saturate(104%);
  backdrop-filter: blur(8px) saturate(104%);
}

.legal-reading-card > .legal-hero {
  border-top: 0;
  padding-top: 0;
}

.legal-reading-card :is(.legal-hero h1, .legal-section h2),
.support-hero.rd-reading-card h1 {
  color: var(--rd-heading);
}

.legal-reading-card :is(.legal-lead, .legal-section p, .legal-section li, .disclosure-table th, .disclosure-table td),
.support-hero.rd-reading-card .support-lead {
  color: var(--rd-text);
}

.legal-reading-card :is(.legal-footer, .legal-footer-note) {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .legal-page > .legal-reading-card,
  .support-page > .support-hero.rd-reading-card {
    padding-inline: 18px;
    border-radius: 10px;
  }
}

/* Small editorial captions and the site footer sit over photography.
   Keep only those compact surfaces stable; the large story heading stays open. */
.plant-time-story-heading > p:last-child {
  color: var(--rd-text);
}

.plant-time-story-frame figcaption {
  min-height: 44px;
  margin-top: 8px;
  padding: 9px 12px;
  border: 1px solid var(--rd-reading-border);
  border-radius: 8px;
  color: var(--rd-heading);
  background: var(--rd-reading-surface);
  box-shadow: 0 8px 22px rgba(55, 46, 28, 0.08);
  -webkit-backdrop-filter: blur(10px) saturate(108%);
  backdrop-filter: blur(10px) saturate(108%);
  font-weight: 600;
}

.raredex-footer {
  box-sizing: border-box;
  width: min(900px, 100%);
  margin: clamp(78px, 11vw, 154px) auto 0;
  padding: 12px clamp(18px, 5vw, 58px) calc(12px + env(safe-area-inset-bottom));
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--rd-reading-border) 58%, transparent);
  border-radius: 0;
  color: var(--rd-text);
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.raredex-footer-links a,
.raredex-footer-copyright,
:root:not(.theme-dim)[data-theme="morning"] .raredex-footer-links a,
:root:not(.theme-dim)[data-theme="morning"] .raredex-footer-copyright {
  color: var(--rd-heading);
}

.raredex-footer-links a {
  min-height: 24px;
  padding-block: 2px;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
}

.raredex-footer-copyright {
  font-size: max(12px, calc(var(--rd-type-meta) - 1px));
  font-weight: 400;
}

/* Standard is deliberately quieter than the previous fixed 16px desktop layer.
   Every major text role below uses the same preference tokens, so switching to
   comfort changes the page as a whole instead of a few isolated selectors. */
@media (min-width: 761px) {
  :where(.rd-page, .page, .legal-page) {
    font-size: var(--rd-type-copy);
  }

  /* The footer is global navigation: align its outer frame with the global web header. */
  html:not(.raredex-native-app) main:is(.page, .legal-page) > .raredex-footer {
    width: min(900px, calc(100vw - 36px));
    max-width: 900px;
    margin-left: 50%;
    transform: translateX(-50%);
  }

  :where(
    .rd-button,
    .top-link,
    .submit-button,
    .quiet-button,
    .form-control,
    .rd-input,
    textarea,
    select,
    input[type="text"],
    input[type="url"],
    input[type="search"],
    input[type="email"],
    input[type="password"],
    input[type="number"]
  ) {
    font-size: var(--rd-type-control);
  }

  html:not(.raredex-native-app) .common-header.rd-nav :is(
    .common-nav-actions a,
    .common-nav-actions button,
    .mobile-menu-button
  ) {
    font-size: var(--rd-type-control);
  }

  .botanical-hero-copy.rd-stone-card {
    padding: clamp(26px, 4vw, 42px);
    border: 1px solid var(--rd-reading-border);
    border-radius: 16px;
    background: var(--rd-reading-surface-soft);
    box-shadow: var(--rd-reading-shadow);
    -webkit-backdrop-filter: blur(12px) saturate(108%);
    backdrop-filter: blur(12px) saturate(108%);
    text-shadow: none;
  }

  .botanical-hero-subcopy,
  .botanical-hero-login-link,
  .botanical-hero-service-label,
  .raredex-service-intro-copy > p:last-child,
  .raredex-service-points p,
  .about-brand-copy p:not(.about-kicker):not(.about-brand-tagline),
  .about-section p,
  .about-feature-grid p,
  .about-memory-list,
  .about-signature p,
  .auth-lead,
  .search-lead,
  .search-context,
  .recent-time-section .recent-time-lead,
  .settings-lead,
  .settings-block-note,
  .notifications-lead,
  .notification-body p,
  .notification-content,
  .plant-room-page .plant-transfer-status p,
  .plant-room-page .plant-journey-heading p:not(.rd-brass-label),
  .plant-room-page .plant-journey-item p,
  .plant-room-page .plant-primary-note,
  .plant-room-page .record-content,
  .plant-room-page .inheritance-coming-soon-text,
  .record-content,
  .legal-section p,
  .legal-section li {
    font-size: var(--rd-type-copy);
  }

  :where(
    .section-count,
    .rd-brass-label,
    .form-label,
    .form-help,
    .auth-field label,
    .auth-field-note,
    .auth-legal-consent,
    .search-form-panel .form-label,
    .search-result-count,
    .search-filter-count,
    .search-filter-chip,
    .search-results-section .plant-card-category,
    .search-results-section .plant-card-transfer-badge,
    .time-date,
    .recent-time-section .time-date,
    .notification-type,
    .notification-body span,
    .notification-action-required,
    .notification-grouped-count,
    .site-notification-state,
    .settings-count,
    .settings-control-label,
    .settings-summary-title,
    .settings-summary-row span,
    .settings-connect-small,
    .settings-profile-limit,
    .settings-social-copy > strong,
    .settings-social-note,
    .settings-push-footnote,
    .settings-required-badge,
    .plant-room-page .plant-title-kicker,
    .plant-room-page .plant-specimen-date,
    .plant-room-page .plant-specimen-label-meta dt,
    .plant-room-page .plant-journey-item time,
    .plant-room-page .plant-transfer-status small,
    .plant-room-page .record-date-label,
    .record-date,
    .record-section-label,
    .about-kicker,
    .about-chapter-number,
    .raredex-footer-note,
    .raredex-footer-links a
  ) {
    font-size: var(--rd-type-meta);
  }

  :where(
    .plant-card-name,
    .time-plant-name,
    .recent-time-section .time-card.rd-stone-card .time-plant-name,
    .search-results-section .plant-card-name,
    .mydex-collection-section .plant-card-name,
    .selectdex-name,
    .selectdex-empty,
    .selectdex-error,
    .settings-summary-main,
    .notification-body,
    .notification-filter-tab,
    .record-button,
    .remember-plant-button
  ) {
    font-size: var(--rd-type-card);
  }

  .mydex-profile-stat span,
  .mydex-profile-stat-note small {
    font-size: var(--rd-type-meta);
  }

  .settings-profile-social-input.rd-input,
  .settings-segmented button,
  .settings-jump-nav a,
  .mydex-jump-nav a,
  .search-filter-details > summary,
  .search-transfer-filter,
  .plant-room-page .plant-specimen-actions :where(button, summary, a),
  .plant-room-page .plant-intro-head .plant-title-actions :where(button, summary, a) {
    font-size: var(--rd-type-control);
  }

  .plant-time-story-frame figcaption {
    font-size: var(--rd-type-supporting);
  }

  .plant-time-story-frame figcaption span,
  .botanical-hero-scroll {
    font-size: var(--rd-type-meta);
  }

  /* These section frames are intentionally open in the visual system.
     Give only their headings a stable reading surface instead of boxing the whole page. */
  :where(
    .mydex-collection-section,
    .notification-center-section,
    .search-results-section
  ) > .section-title-row {
    padding: 14px 18px;
    border: 1px solid var(--rd-reading-border);
    border-radius: 10px;
    background: var(--rd-reading-surface-soft);
    box-shadow: var(--rd-reading-shadow);
    -webkit-backdrop-filter: blur(10px) saturate(108%);
    backdrop-filter: blur(10px) saturate(108%);
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  html:not(.raredex-native-app) .common-header.rd-nav :is(
    .common-nav-actions a,
    .common-nav-actions button,
    .mobile-menu-button
  ) {
    font-size: var(--rd-type-control);
  }
}

@media (max-width: 760px) {
  .about-brand-hero,
  .about-section {
    padding-inline: 18px;
  }

  .about-brand-hero {
    border-radius: 10px 10px 0 0;
  }

  .about-next-step {
    border-radius: 0 0 10px 10px;
  }

  .auth-box {
    width: calc(100% - 20px);
    padding: 24px 18px;
  }

  .mydex-social-link {
    min-height: 44px;
    padding: 9px 6px;
    font-size: var(--rd-type-control);
  }

  .plant-time-story-frame figcaption {
    min-height: 42px;
    padding: 8px 9px;
    font-size: var(--rd-type-supporting);
  }

  .plant-time-story-frame figcaption span {
    font-size: var(--rd-type-meta);
  }

  .raredex-footer {
    width: calc(100% - 20px);
    margin-top: 32px;
    padding:
      44px
      12px
      calc(40px + env(safe-area-inset-bottom));
  }

  .raredex-footer-links a {
    min-height: 44px;
    padding-block: 0;
    font-size: var(--rd-type-meta);
  }

  .raredex-footer-copyright {
    font-size: max(12px, calc(var(--rd-type-meta) - 1px));
  }
}

@media (max-width: 420px) {
  .mydex-profile-social-links {
    width: min(100%, 220px);
  }

  .mydex-social-link {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 8px;
    padding-inline: 5px;
  }

  .settings-social-field {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    padding-inline: 2px;
  }

  .settings-social-copy {
    grid-template-columns: minmax(90px, 0.4fr) minmax(0, 1fr);
    gap: 8px;
  }

  .settings-social-note {
    padding-inline-start: 30px;
  }
}

/* Text that naturally inherits now follows the same two-step scale on every
   viewport. Named roles above retain hierarchy and override this baseline. */
body {
  font-size: var(--rd-type-copy);
}

/* Large text should recompose lines instead of leaving a punctuation mark or
   one short word on its own. Brand copy keeps deliberate phrase boundaries. */
html.text-comfort main:is(.rd-page, .page, .legal-page) :where(
  h1:not(.settings-title),
  h2,
  h3,
  .rd-section-title:not(.settings-title)
) {
  text-wrap: balance;
  line-break: strict;
}

html.text-comfort main:is(.rd-page, .page, .legal-page) :where(
  p,
  li,
  dt,
  dd,
  a:not(.rd-button):not(.quiet-button)
) {
  text-wrap: pretty;
  line-break: strict;
}

html.text-comfort main:is(.rd-page, .page, .legal-page) .about-kicker,
html.text-comfort main:is(.rd-page, .page, .legal-page) .search-context,
html.text-comfort main:is(.rd-page, .page, .legal-page) .settings-lead,
html.text-comfort main:is(.rd-page, .page, .legal-page) .settings-block-note,
html.text-comfort main:is(.rd-page, .page, .legal-page) .rd-button {
  text-wrap: balance;
}

.search-context-line {
  display: inline;
}

html.text-comfort .search-context-line {
  display: block;
  white-space: nowrap;
}

.settings-lead-line {
  display: inline;
}

.settings-note-line {
  display: inline;
}

.settings-note-line-part {
  display: inline;
}

html.text-comfort .settings-lead-line,
html.text-comfort .settings-note-line {
  display: block;
  white-space: nowrap;
}

html.text-comfort .legal-page a:not(.rd-button) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.botanical-hero-subcopy-line,
.botanical-hero-subcopy-line-part {
  display: inline;
  white-space: normal;
}

html.text-comfort .botanical-hero-subcopy-default-break {
  display: none;
}

html.text-comfort .botanical-hero-subcopy-line {
  display: block;
  white-space: nowrap;
}

@media (max-width: 369px) {
  html.text-comfort .settings-note-line-secondary {
    white-space: normal;
  }

  html.text-comfort .settings-note-line-secondary .settings-note-line-part {
    display: block;
    white-space: nowrap;
  }

  html.text-comfort .botanical-hero-subcopy-line-secondary {
    white-space: normal;
  }

  html.text-comfort .botanical-hero-subcopy-line-secondary .botanical-hero-subcopy-line-part {
    display: block;
    white-space: nowrap;
  }
}

:where(.rd-page, .page, .legal-page) :where(
  .auth-lead,
  .botanical-hero-subcopy,
  .profile-text,
  .raredex-service-intro-copy > p:last-child,
  .raredex-service-points p,
  .save-lead,
  .search-lead,
  .search-context,
  .settings-lead,
  .settings-block-note,
  .notifications-lead,
  .notification-content,
  .record-content,
  .plant-primary-note,
  .environment-note,
  .about-brand-copy p:not(.about-kicker):not(.about-brand-tagline),
  .about-section p,
  .about-section li,
  .legal-section p,
  .legal-section li
) {
  font-size: var(--rd-type-copy) !important;
}

:where(.rd-page, .page, .legal-page) :where(
  .form-help,
  .botanical-hero-login-link,
  .auth-field-note,
  .settings-social-note,
  .settings-connect-note,
  .settings-push-footnote,
  .plant-title-note,
  .record-edit-subtitle,
  .record-environment-title,
  .farewell-note
) {
  font-size: var(--rd-type-supporting) !important;
}

:where(.rd-page, .page, .legal-page) :where(
  .rd-brass-label,
  .botanical-hero-service-label,
  .raredex-service-eyebrow,
  .plant-time-story-eyebrow,
  .seed-eyebrow,
  .section-count,
  .form-label,
  .auth-field label,
  .record-date,
  .record-date-label,
  .comment-date,
  .report-meta,
  .plant-card-category,
  .settings-control-label,
  .settings-count,
  .about-kicker,
  .about-chapter-number
) {
  font-size: var(--rd-type-meta) !important;
}

:where(.rd-page, .page, .legal-page) :where(
  .plant-card-name,
  .time-plant-name,
  .selectdex-name,
  .selectdex-empty,
  .selectdex-error,
  .notification-body,
  .settings-summary-main
) {
  font-size: var(--rd-type-card) !important;
}

:where(.rd-page, .page, .legal-page) :where(
  .rd-button,
  .top-link,
  .submit-button,
  .quiet-button,
  .form-control,
  .rd-input,
  .settings-segmented button,
  .settings-jump-nav a,
  .mydex-jump-nav a,
  .search-filter-details > summary
) {
  font-size: var(--rd-type-control) !important;
}

/* Large mode also steps up the prominent headings. Each keeps its existing
   responsive character; these rules only add one clear size step. */
html.text-comfort .settings-office-sign .settings-title.rd-section-title {
  font-size: clamp(35px, 3.1vw, 40px);
}

.settings-office-sign .settings-title.rd-section-title {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}

@media (min-width: 761px) {
  .settings-office-sign .settings-title.rd-section-title {
    font-size: clamp(34px, 3vw, 40px);
  }
}

html.text-comfort .settings-office-page .settings-block h2.rd-section-title {
  font-size: clamp(23px, 2.6vw, 30px);
}

html.text-comfort .search-header .rd-section-title {
  font-size: clamp(46px, 6.5vw, 70px);
}

html.text-comfort .search-results-section .rd-section-title {
  font-size: clamp(21px, 2.2vw, 27px);
}

html.text-comfort .save-header h1.rd-section-title {
  font-size: clamp(36px, 5.4vw, 58px);
}

html.text-comfort .recent-time-section .rd-section-title {
  font-size: clamp(27px, 3.3vw, 40px);
}

html.text-comfort .mydex-collection-section .rd-section-title,
html.text-comfort .plant-room-page .records-timeline-section .rd-section-title {
  font-size: clamp(25px, 3.1vw, 35px);
}

html.text-comfort .notifications-title,
html.text-comfort .selectdex-section > .rd-section-title {
  font-size: 25px;
}

html.text-comfort .botanical-hero-promise {
  font-size: clamp(22px, 2.6vw, 38px);
}

html.text-comfort .raredex-service-intro h2 {
  font-size: clamp(1.82rem, 4.3vw, 3.25rem);
}

html.text-comfort .raredex-service-points h3 {
  font-size: clamp(1.18rem, 2.2vw, 1.44rem);
}

html.text-comfort .plant-time-story-heading h2 {
  font-size: clamp(2.2rem, 4.5vw, 3.375rem);
}

html.text-comfort .plant-time-story-heading > p:last-child {
  font-size: clamp(1.55rem, 2.2vw, 1.85rem);
}

html.text-comfort .seed-home-heading .rd-section-title {
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
}

@media (max-width: 760px) {
  html.text-comfort .plant-time-story-heading h2 {
    font-size: clamp(1.1rem, 5vw, 1.35rem);
  }

  html.text-comfort .plant-time-story-heading > p:last-child {
    font-size: 1rem;
  }

  html.text-comfort .search-header .rd-section-title {
    font-size: 36px;
  }

  html.text-comfort .save-header h1.rd-section-title {
    font-size: 36px;
  }

  html.text-comfort .settings-office-sign .settings-title.rd-section-title {
    font-size: 35px;
  }
}

@media (max-width: 360px) {
  .plant-time-story-eyebrow {
    letter-spacing: 0.1em;
  }

  .plant-time-story-frame figcaption {
    padding-inline: 6px;
    white-space: nowrap;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .legal-page > .legal-reading-card,
  .support-page > .support-hero.rd-reading-card,
  .botanical-hero-copy.rd-stone-card,
  .about-brand-hero,
  .about-section,
  .auth-box,
  .mydex-notification-summary,
  .mydex-notification-panel,
  .notification-center-page .site-notification-center-list,
  .plant-time-story-frame figcaption,
  .raredex-footer,
  :where(
    .mydex-collection-section,
    .notification-center-section,
    .search-results-section
  ) > .section-title-row {
    background: var(--rd-surface-strong);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
