/* Shared typography and explicit calls to action, loaded after page styles. */
html body .ocean-text {
  background: none !important;
  color: var(--selah-ocean, #0080a0) !important;
  -webkit-text-fill-color: currentColor !important;
  filter: none !important;
  text-shadow: none;
}
html body .experience-begin .ocean-text { color: #c6e5e8 !important; }
body :is(h1,h2,h3,h4,h5,h6) {
  height: auto;
  max-height: none;
  overflow: visible !important;
  padding-block: .04em .22em;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}
body :is(h1,h2) { line-height: 1.2 !important; }
body :is(h3,h4,h5,h6) { line-height: 1.4 !important; }
body :is(h1,h2,h3) :is(span,em) { overflow: visible; }

/* Secondary actions have a generous, visible hit area. Prose links stay inline. */
html body :is(
  .text-link, .story-text-link, .se-inline, .se-session-link, .bp-session-link,
  .calm-service-link, .practice-topic-grid a, .practice-fee-strip a,
  .experience-fees a, .sc-practical a, .bp-practical a, .booking-embed-top a,
  .practice-shortcuts a, .se-shortcuts a, .article-quick-nav a, .article-top-link,
  .article-service, .source-back, .source-support, .source-inline, .bp-evidence a,
  .experience-consult-clinician a, .focus-practical nav a, .reading-links a,
  .article-contents nav>a, .source-directory a, .footer-help, .ease-footer nav a,
  .service-breadcrumb a, .se-breadcrumb a, .bp-breadcrumb a, .resource-mode a,
  .about-reading-nav a, .reading-contents nav a
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  width: fit-content;
  padding: 12px 19px;
  border: 1px solid currentColor;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  font-family: var(--sans);
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none !important;
  white-space: normal;
  overflow-wrap: break-word;
  cursor: pointer;
  gap: 0;
  transition: background-color .18s, box-shadow .18s, border-color .18s;
}
html body :is(
  .text-link, .story-text-link, .se-inline, .se-session-link, .bp-session-link,
  .calm-service-link, .practice-topic-grid a, .practice-fee-strip a,
  .experience-fees a, .sc-practical a, .bp-practical a, .booking-embed-top a,
  .practice-shortcuts a, .se-shortcuts a, .article-quick-nav a, .article-top-link,
  .article-service, .source-back, .source-support, .source-inline, .bp-evidence a,
  .experience-consult-clinician a, .focus-practical nav a, .reading-links a,
  .article-contents nav>a, .source-directory a, .footer-help, .ease-footer nav a,
  .service-breadcrumb a, .se-breadcrumb a, .bp-breadcrumb a, .resource-mode a,
  .about-reading-nav a, .reading-contents nav a
):hover {
  background: color-mix(in srgb, currentColor 8%, transparent);
  box-shadow: 0 3px 12px #23475f12;
  opacity: 1;
}
html body :is(.button,.se-primary,.bp-primary,.experience-link,.nav-cta) {
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  gap: 0;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}
body :is(a,button,summary):focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}
.story-controls .motion-toggle, footer .motion-toggle {
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid currentColor;
  border-radius: 7px;
  text-decoration: none;
  background: transparent;
  font-size: .875rem;
}
.story-actions { gap: 12px; }
.story-topline { min-height: 38px; }
.experience-path .experience-path-action, .resource-read {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  width: fit-content;
  max-width: 100%;
  min-height: 46px;
  padding: 11px 15px;
  border: 1px solid currentColor;
  border-radius: 7px;
  font: 500 .875rem/1.5 var(--sans);
  text-decoration: none;
}
.experience-other-paths>a { padding: 23px; gap: 12px; }
.experience-other-paths>a::after {
  content: 'Explore support';
  display: block;
  position: static;
  margin-top: auto;
  padding-top: 12px;
  font: 500 .8125rem/1.5 var(--sans);
}
.experience-other-paths a:hover strong { text-decoration: none; }
.resource-read>span { white-space: normal; }
.practice-shortcuts, .article-quick-nav, .about-reading-nav, .resource-mode {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-block: 16px;
}
.ease-footer nav { gap: 12px; }
.experience-fees a, .practice-fee-strip a { margin-top: 14px; }
.reading-contents nav, .source-directory { gap: 10px; }
.reading-contents nav a, .source-directory a { width: 100% !important; justify-content: flex-start !important; text-align: left !important; }
body summary { list-style: none; }
body summary::-webkit-details-marker { display: none; }
body summary::marker { content: ''; }

@media (max-width:760px) {
  .story-actions { align-items: stretch; }
  .story-actions :is(.button,.story-text-link) { width: 100%; }
  .story-controls { gap: 12px; }
  .practice-shortcuts a, .article-quick-nav a, .about-reading-nav a { flex: 1 1 180px; }
  .booking-embed-top a { margin-block: 12px 6px; }
  .experience-other-paths { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
  .experience-other-paths { grid-template-columns: minmax(0,1fr); }
  .experience-path .experience-path-action { width: 100%; }
}
@media (forced-colors:active) {
  html body .ocean-text { color: CanvasText !important; }
}
