:root {
  --rc-cream: #fbf8f4;
  --rc-lilac-soft: #f3ecef;
  --rc-ink: #3a3a3a;
  --rc-ink-soft: #6e6a6c;
  --rc-lilac: #b897bb;
  --rc-lilac-deep: #826087;
  --rc-sage: #9cb3a4;
  --rc-hairline: #e6dce0;
  --rc-content: 48rem;
  --rc-wide: 72rem;
  --rc-radius: 1rem;
  --rc-radius-large: 2rem;
  --rc-shadow: 0 18px 40px -28px rgb(142 110 146 / 45%);
  --rc-header-height: 6rem;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--rc-header-height) + 1rem);
}

body {
  background: var(--rc-cream);
  color: var(--rc-ink);
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.admin-bar .rc-site-header {
  top: 32px;
}

a,
button,
input,
select,
textarea,
summary {
  outline-color: var(--rc-lilac-deep);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--rc-lilac-deep);
  outline-offset: 3px;
}

.wp-site-blocks {
  padding: 0;
}

/* The page sections already provide their own vertical rhythm. */
.wp-site-blocks > main,
.entry-content > .rc-section {
  margin-block-start: 0 !important;
}

.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--rc-lilac-deep);
  background: var(--rc-lilac-deep);
  color: var(--rc-cream);
  box-shadow: 0 10px 30px -12px rgb(142 110 146 / 60%);
  text-decoration: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
  background: var(--rc-lilac);
  color: var(--rc-cream);
  text-decoration: none !important;
  transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--rc-lilac-deep);
  background: transparent !important;
  color: var(--rc-lilac-deep) !important;
  box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  border-color: var(--rc-lilac-deep);
  background: var(--rc-lilac-deep) !important;
  color: #fff !important;
  box-shadow: 0 10px 30px -16px rgb(130 96 135 / 55%);
}

.rc-site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgb(230 220 224 / 82%);
  background: rgb(251 248 244 / 92%);
  box-shadow: 0 8px 24px -22px rgb(58 58 58 / 35%);
  backdrop-filter: blur(14px);
}

.rc-site-header.rc-is-scrolled {
  border-bottom-color: var(--rc-hairline);
  box-shadow: 0 1px 0 var(--rc-hairline), 0 8px 24px -16px rgb(58 58 58 / 18%);
}

.rc-header-inner {
  min-height: 5.5rem;
  padding-inline: 1.25rem;
}

.rc-brand {
  gap: 0.75rem;
}

.rc-brand .wp-block-site-logo img {
  height: 4rem;
  width: auto;
}

.rc-brand .wp-block-site-title a {
  color: var(--rc-ink);
  text-decoration: none;
}

.rc-main-navigation {
  font-size: 0.875rem;
}

.rc-main-navigation a {
  color: var(--rc-ink-soft);
  text-decoration: none;
}

.rc-main-navigation a:hover {
  color: var(--rc-ink);
}

.rc-main-navigation .wp-block-navigation__submenu-container {
  min-width: 18rem !important;
  padding: 0.5rem !important;
  border: 1px solid var(--rc-hairline) !important;
  border-radius: 0.85rem;
  background: var(--rc-cream) !important;
  box-shadow: var(--rc-shadow);
}

.rc-main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.65rem 0.8rem;
  border-radius: 0.5rem;
}

.rc-main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: var(--rc-lilac-soft);
}

.rc-section {
  box-sizing: border-box;
  padding: clamp(4.5rem, 8vw, 7rem) 1.25rem;
}

.rc-section-alt {
  background: var(--rc-lilac-soft);
}

.rc-section-inner {
  margin-inline: auto;
  max-width: var(--rc-wide);
}

.rc-section-heading {
  margin: 0;
  text-align: center;
}

.rc-section-intro {
  margin: 1rem auto 0;
  max-width: 48rem;
  color: var(--rc-ink-soft);
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}

.rc-hero {
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 7vw, 6rem);
}

.rc-hero-grid {
  align-items: center !important;
  gap: clamp(2.5rem, 6vw, 4rem) !important;
}

.rc-eyebrow {
  color: var(--rc-lilac-deep);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.rc-hero h1 {
  margin-top: 1.5rem;
  max-width: 38rem;
}

.rc-hero-lead {
  color: var(--rc-ink-soft);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.35;
}

.rc-hero-copy {
  max-width: 35rem;
  color: var(--rc-ink-soft);
}

.rc-hero-image img,
.rc-about-image img {
  display: block;
  width: 100%;
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius-large);
  object-fit: cover;
}

.rc-hero-image img {
  aspect-ratio: 1 / 1;
}

.rc-about-image img {
  aspect-ratio: 4 / 5;
}

.rc-grid {
  display: grid !important;
  gap: 1.25rem;
  margin-top: 3rem;
}

.rc-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rc-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.rc-card {
  box-sizing: border-box;
  height: 100%;
  padding: clamp(1.4rem, 2.5vw, 2rem);
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius);
  background: var(--rc-cream);
  box-shadow: 0 0 0 0 transparent;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.rc-card > * + * {
  margin-block-start: 0.75rem;
}

.rc-card:hover {
  border-color: rgb(184 151 187 / 55%);
  box-shadow: var(--rc-shadow);
  transform: translateY(-2px);
}

.rc-service-card {
  display: flex;
  align-items: center;
  min-height: 4.75rem;
  padding: 1rem 1.2rem;
  border: 0;
  background: var(--rc-lilac-soft);
  font-weight: 600;
}

.rc-service-card::before {
  width: 0.6rem;
  height: 0.6rem;
  margin-right: 0.75rem;
  border: 2px solid var(--rc-lilac-deep);
  border-radius: 50%;
  content: "";
  flex: 0 0 auto;
}

.rc-methods-track {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 3rem;
}

.rc-method-card {
  overflow: hidden;
  padding: 0;
}

.rc-method-card .wp-block-image {
  margin: 0;
}

.rc-method-card img {
  display: block;
  width: 100%;
  height: 14rem;
  object-fit: cover;
}

.rc-method-card > :not(.wp-block-image) {
  margin-inline: 1.6rem;
}

.rc-method-card > :last-child {
  margin-bottom: 1.75rem;
}

.rc-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  border-radius: 999px;
  background: var(--rc-lilac-soft);
  color: var(--rc-lilac-deep);
  font-size: 0.875rem;
  font-weight: 700;
}

.rc-about-grid {
  align-items: center !important;
  gap: clamp(2.5rem, 6vw, 4rem) !important;
}

.rc-quote {
  padding: 1.5rem;
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius);
  background: var(--rc-lilac-soft);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-style: italic;
}

.rc-training-list,
.rc-footer-links {
  padding-left: 1.1rem;
}

.rc-training-list li,
.rc-footer-links li {
  margin-bottom: 0.65rem;
}

.rc-testimonial {
  display: flex;
  flex-direction: column;
}

.rc-stars {
  margin: 0;
  color: var(--rc-lilac-deep);
  font-size: 1.05rem;
  letter-spacing: 0.12em;
}

.rc-testimonial blockquote {
  margin: 1rem 0 1.5rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.6;
}

.rc-faqs {
  max-width: 45rem;
  margin: 3rem auto 0;
}

.rc-faqs details {
  margin-bottom: 0.75rem;
  padding: 0.3rem 1.4rem;
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius);
  background: var(--rc-cream);
}

.rc-faqs summary {
  padding-block: 1rem;
  cursor: pointer;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.2rem;
  font-weight: 600;
}

.rc-contact-wrap {
	max-width: 38.75rem;
	margin: 3rem auto 0;
}

.rc-contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.rc-form-field {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.rc-form-field > span {
	color: var(--rc-ink);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.3;
}

.rc-contact-form input:not([type="checkbox"]),
.rc-contact-form select,
.rc-contact-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.45rem;
	padding: 1rem;
	border: 1px solid rgb(17 17 17 / 20%);
	border-radius: 0.25rem;
	background: rgb(17 17 17 / 10%);
	color: var(--rc-ink);
	font: inherit;
	line-height: 1.3;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.rc-contact-form input:not([type="checkbox"]):focus,
.rc-contact-form select:focus,
.rc-contact-form textarea:focus {
	border-color: var(--rc-lilac-deep);
	background: rgb(142 110 146 / 8%);
	box-shadow: 0 0 0 3px rgb(142 110 146 / 14%);
	outline: 0;
}

.rc-contact-form select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--rc-ink) 50%), linear-gradient(135deg, var(--rc-ink) 50%, transparent 50%);
	background-position: calc(100% - 1.2rem) 1.45rem, calc(100% - 0.9rem) 1.45rem;
	background-repeat: no-repeat;
	background-size: 0.32rem 0.32rem, 0.32rem 0.32rem;
	padding-right: 2.75rem;
}

.rc-form-field-float {
	position: relative;
	box-sizing: border-box;
	gap: 0;
	height: 3.45rem;
	min-height: 0;
	padding: 0.48rem 1rem 0.28rem;
	border: 1px solid rgb(17 17 17 / 20%);
	border-radius: 0.25rem;
	background: rgb(17 17 17 / 10%);
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.rc-form-field-float:focus-within {
	border-color: var(--rc-lilac-deep);
	background: rgb(142 110 146 / 8%);
	box-shadow: 0 0 0 3px rgb(142 110 146 / 14%);
}

.rc-form-field-float > span {
	color: rgb(17 17 17 / 56%);
	font-size: 0.82rem;
	line-height: 1;
}

.rc-contact-form .rc-form-field-float input:not([type="checkbox"]),
.rc-contact-form .rc-form-field-float textarea {
	min-height: 1.25rem;
	padding: 0.18rem 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: 0;
}

.rc-contact-form input::placeholder,
.rc-contact-form textarea::placeholder {
	color: rgb(17 17 17 / 48%);
	opacity: 1;
}

.rc-contact-form textarea {
	min-height: 4rem;
	resize: vertical;
}

.rc-form-message {
	height: auto;
	min-height: 6.1rem;
}

.rc-form-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	color: var(--rc-ink);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.5;
}

.rc-form-consent input {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0.17rem 0 0;
	accent-color: var(--rc-lilac-deep);
	flex: 0 0 auto;
}

.rc-form-consent a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.rc-contact-form button {
	width: min(100%, 23.6rem);
	min-height: 3rem;
	padding: 0.7rem 1.5rem;
	border: 2px solid transparent;
	border-radius: 0.25rem;
	background: var(--rc-lilac-deep);
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	transition: opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.rc-contact-form button:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

.rc-contact-form button:focus-visible {
	box-shadow: 0 0 0 3px rgb(142 110 146 / 24%);
	outline: 2px solid var(--rc-cream);
	outline-offset: 2px;
}

/* Forminator supplies validation and notifications; the theme owns the design. */
.rc-forminator-form .forminator-ui,
.rc-forminator-form .forminator-row,
.rc-forminator-form .forminator-col,
.rc-forminator-form .forminator-field {
	box-sizing: border-box;
}

.rc-forminator-form .forminator-ui {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 0 !important;
}

.rc-forminator-form .forminator-row {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
	margin: 0 !important;
}

.rc-forminator-form .forminator-col {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rc-forminator-form .forminator-label {
	display: block;
	margin: 0 0 0.55rem;
	color: var(--rc-ink);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.3;
}

.rc-forminator-form .forminator-required {
	color: inherit;
}

.rc-forminator-form .forminator-input,
.rc-forminator-form .forminator-textarea,
.rc-forminator-form .forminator-select--field {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-height: 3.45rem;
	padding: 1rem;
	border: 1px solid rgb(17 17 17 / 20%);
	border-radius: 0.25rem;
	background-color: rgb(17 17 17 / 10%);
	color: var(--rc-ink);
	font: inherit;
	line-height: 1.3;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.rc-forminator-form .forminator-select--field {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--rc-ink) 50%), linear-gradient(135deg, var(--rc-ink) 50%, transparent 50%);
	background-position: calc(100% - 1.2rem) 1.45rem, calc(100% - 0.9rem) 1.45rem;
	background-repeat: no-repeat;
	background-size: 0.32rem 0.32rem, 0.32rem 0.32rem;
	padding-right: 2.75rem;
}

.rc-forminator-form .forminator-input:focus,
.rc-forminator-form .forminator-textarea:focus,
.rc-forminator-form .forminator-select--field:focus {
	border-color: var(--rc-lilac-deep);
	background-color: rgb(142 110 146 / 8%);
	box-shadow: 0 0 0 3px rgb(142 110 146 / 14%);
	outline: 0;
}

.rc-forminator-form :is(#text-1, #text-2, #textarea-1) > .forminator-field {
	padding: 0.48rem 1rem 0.28rem;
	border: 1px solid rgb(17 17 17 / 20%);
	border-radius: 0.25rem;
	background: rgb(17 17 17 / 10%);
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.rc-forminator-form :is(#text-1, #text-2, #textarea-1) > .forminator-field:focus-within {
	border-color: var(--rc-lilac-deep);
	background: rgb(142 110 146 / 8%);
	box-shadow: 0 0 0 3px rgb(142 110 146 / 14%);
}

.rc-forminator-form :is(#text-1, #text-2, #textarea-1) .forminator-label {
	margin: 0;
	color: #555153;
	font-size: 0.82rem;
	line-height: 1;
}

.rc-forminator-form :is(#text-1, #text-2, #textarea-1) :is(.forminator-input, .forminator-textarea) {
	min-height: 1.25rem;
	padding: 0.18rem 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: 0;
}

.rc-forminator-form #textarea-1 > .forminator-field {
	min-height: 6.1rem;
}

.rc-forminator-form #textarea-1 .forminator-textarea {
	min-height: 4rem !important;
	resize: vertical;
}

.rc-forminator-form .forminator-description {
	display: none;
}

.rc-forminator-form .forminator-field-consent > .forminator-field > .forminator-label {
	display: none;
}

.rc-forminator-form .forminator-checkbox__wrapper {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	color: var(--rc-ink);
	font-size: 0.95rem;
	line-height: 1.5;
}

.rc-forminator-form .forminator-checkbox {
	position: relative;
	display: block;
	flex: 0 0 1.15rem;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.17rem;
}

.rc-forminator-form .forminator-checkbox input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
}

.rc-forminator-form .forminator-checkbox-box {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border: 1px solid rgb(17 17 17 / 38%);
	border-radius: 0.2rem;
	background: #fff;
}

.rc-forminator-form .forminator-checkbox input:checked + .forminator-checkbox-box {
	border-color: var(--rc-lilac-deep);
	background: var(--rc-lilac-deep);
	box-shadow: inset 0 0 0 3px #fff;
}

.rc-forminator-form .forminator-checkbox input:focus-visible + .forminator-checkbox-box {
	box-shadow: 0 0 0 3px rgb(142 110 146 / 20%);
}

.rc-forminator-form .forminator-checkbox__label a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.rc-forminator-form .forminator-button-submit {
	width: min(100%, 23.6rem);
	min-height: 3rem;
	padding: 0.7rem 1.5rem;
	border: 2px solid transparent;
	border-radius: 0.25rem;
	background: var(--rc-lilac-deep);
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	transition: opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.rc-forminator-form .forminator-button-submit:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

.rc-forminator-form .forminator-response-message,
.rc-forminator-form .forminator-error-message {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border-radius: 0.4rem;
	background: rgb(185 80 80 / 12%);
	color: #7d3030;
	font-size: 0.925rem;
}

.rc-forminator-form .forminator-response-message[aria-hidden="true"] {
	display: none;
}

.rc-forminator-form .forminator-response-message.forminator-success {
	background: rgb(156 179 164 / 24%);
	color: var(--rc-ink);
}

.rc-honeypot {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

.rc-alert {
  padding: 0.9rem 1rem;
  border-radius: 0.7rem;
  font-size: 0.925rem;
}

.rc-alert-success {
  background: rgb(156 179 164 / 24%);
}

.rc-alert-error {
  background: rgb(185 80 80 / 12%);
  color: #7d3030;
}

.rc-whatsapp {
  position: fixed;
  z-index: 90;
  right: 1rem;
  bottom: 1rem;
}

.rc-whatsapp a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  box-shadow: 0 12px 28px -12px rgb(0 0 0 / 45%);
  font-weight: 800;
  text-decoration: none;
}

.rc-cookie-banner {
  position: fixed;
  z-index: 110;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  box-sizing: border-box;
  max-width: 44rem;
  margin-inline: auto;
  padding: 1.25rem;
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius);
  background: #fff;
  box-shadow: 0 18px 50px -20px rgb(58 58 58 / 45%);
}

.rc-cookie-banner[hidden] {
  display: none;
}

.rc-cookie-banner p {
  margin: 0;
}

.rc-cookie-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.rc-cookie-actions button,
.rc-cookie-reset {
  padding: 0.65rem 1rem;
  border: 1px solid var(--rc-hairline);
  border-radius: 999px;
  background: var(--rc-cream);
  color: var(--rc-ink);
  cursor: pointer;
  font: inherit;
}

.rc-cookie-actions .rc-cookie-accept {
  border-color: var(--rc-lilac-deep);
  background: var(--rc-lilac-deep);
  color: #fff;
}

.rc-site-footer {
  padding: 4rem 1.25rem 2rem;
  border-top: 1px solid var(--rc-hairline);
  background: var(--rc-lilac-soft);
}

.rc-footer-grid {
  gap: 2rem;
}

.rc-footer-links {
  list-style: none;
  padding: 0;
  font-size: 0.9rem;
}

.rc-footer-links a {
  color: var(--rc-ink-soft);
  text-decoration: none;
}

.rc-footer-links a:hover {
  color: var(--rc-ink);
}

.rc-legal-page,
.rc-not-found {
  min-height: 55vh;
  padding: clamp(4rem, 8vw, 7rem) 1.25rem;
  padding-top: calc(var(--rc-header-height) + clamp(3rem, 6vw, 5rem));
}

.rc-legal-page > * {
  max-width: 48rem;
}

@media (max-width: 1100px) {
  .rc-grid-4,
  .rc-methods-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rc-header-cta {
    display: none !important;
  }
}

@media (max-width: 781px) {
  body.admin-bar .rc-site-header {
    top: 46px;
  }

  .rc-header-inner {
    min-height: 4.75rem;
  }

	.rc-grid-3,
	.rc-grid-2 {
		grid-template-columns: 1fr;
	}

  .rc-about-grid .wp-block-column:first-child {
    order: 2;
  }

  .rc-about-grid .wp-block-column:last-child {
    order: 1;
  }
}

@media (max-width: 480px) {
	.rc-contact-wrap {
		margin-top: 2.25rem;
	}

	.rc-contact-form {
		gap: 1.2rem;
	}

	.rc-contact-form button,
	.rc-forminator-form .forminator-button-submit {
		width: 100%;
	}
}

@media (max-width: 639px) {
  .rc-section {
    padding-block: 4rem;
  }

  .rc-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .rc-service-card {
    padding: 0.9rem;
    font-size: 0.9rem;
  }

  .rc-methods-track {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding-bottom: 1rem;
  }

  .rc-method-card {
    flex: 0 0 85%;
    scroll-snap-align: start;
  }

  .rc-brand .wp-block-site-title {
    display: none;
  }
}

/* Editable service landing pages. */
.rc-service-page,
.rc-service-page > .wp-block-post-content {
  margin-block-start: 0;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-service-hero {
  background:
    radial-gradient(circle at 92% 10%, rgb(184 151 187 / 18%), transparent 30rem),
    var(--rc-cream);
}

.rc-service-page .rc-service-hero {
  padding-top: calc(var(--rc-header-height) + clamp(2.5rem, 5vw, 4rem));
}

.editor-styles-wrapper .rc-service-hero {
  padding-top: clamp(3.5rem, 7vw, 6.5rem);
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-service-hero-grid,
:is(.rc-service-page, .editor-styles-wrapper) .rc-service-copy-grid {
  gap: clamp(2.5rem, 6vw, 5rem) !important;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-service-hero h1 {
  max-width: 42rem;
  margin-top: 1.25rem;
  font-size: clamp(2.5rem, 5vw, 4.25rem);
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-service-hero-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius-large);
  object-fit: cover;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-clinic-hero-image img {
  aspect-ratio: 4 / 3;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-projective-hero-image img {
  aspect-ratio: 16 / 9;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-clinic-grid {
  gap: clamp(2rem, 5vw, 4.5rem);
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-clinic-wide-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius-large);
  object-fit: cover;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-service-copy-grid {
  align-items: start !important;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-service-copy-grid > .wp-block-column:first-child > * {
  max-width: 44rem;
}

.rc-service-details {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius-large);
  background: #fff;
  box-shadow: var(--rc-shadow);
}

.rc-service-details h3 {
  margin-top: 0;
  margin-bottom: 1.35rem;
  font-size: clamp(1.55rem, 2.7vw, 1.9rem);
  line-height: 1.15;
}

.rc-service-details ul {
  margin-top: 0;
}

.rc-check-list {
  display: grid;
  gap: 0.85rem;
  padding-left: 1.25rem;
}

.rc-related-services > p a {
  display: inline-block;
  margin: 0.25rem 0.15rem;
  text-underline-offset: 0.2em;
}

.rc-service-cta {
  max-width: 54rem;
  margin-top: 3.5rem;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: var(--rc-radius-large);
  background: var(--rc-lilac-soft);
  text-align: center;
}

.rc-author-box {
  max-width: 54rem;
  margin-top: 2rem;
  padding: 1.25rem 1.5rem;
  border-left: 3px solid var(--rc-sage);
  background: rgb(255 255 255 / 60%);
}

.rc-author-box p {
  margin-block: 0.25rem;
}

.rc-source-note {
  margin-top: 2rem;
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--rc-sage);
  background: rgb(255 255 255 / 65%);
}

/* Core's wide alignment can offset nested blocks inside a constrained group. */
:is(.rc-service-page, .editor-styles-wrapper) .rc-section-inner.rc-faqs {
  box-sizing: border-box;
  width: min(100%, 45rem);
  max-width: 45rem !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-section-inner.rc-faqs > * {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

:is(.rc-service-page, .editor-styles-wrapper) .rc-section-inner.rc-faqs > .wp-block-heading {
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem) !important;
}

@media (max-width: 781px) {
  .rc-service-page .rc-service-hero {
    padding-top: calc(var(--rc-header-height) + 2rem);
  }

  .editor-styles-wrapper .rc-service-hero {
    padding-top: 3rem;
  }

  :is(.rc-service-page, .editor-styles-wrapper) .rc-service-hero h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
  }

  :is(.rc-service-page, .editor-styles-wrapper) .rc-service-hero-image img {
    max-height: 34rem;
  }

  .rc-service-details {
    margin-top: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Visual parity pass: mirrors the original React design while keeping blocks editable. */
body {
  overflow-x: hidden;
}

.rc-site-header {
  position: fixed;
  inset: 0 0 auto;
  border-bottom: 0;
  background: rgb(251 248 244 / 90%);
  box-shadow: none;
  transition: box-shadow 180ms ease;
}

.rc-header-inner {
  box-sizing: border-box;
  min-height: var(--rc-header-height);
  padding-inline: 2rem;
}

.rc-brand .wp-block-site-logo img {
  width: 5rem;
  height: 5rem;
  object-fit: contain;
}

.rc-site-wordmark {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.rc-site-wordmark a {
  color: var(--rc-ink);
  text-decoration: none;
}

.rc-site-wordmark span {
  color: var(--rc-lilac-deep);
}

.rc-main-navigation .wp-block-navigation__container {
  gap: 2rem;
}

.rc-section {
  padding: 6rem 1.5rem;
}

.rc-section-heading {
  font-size: clamp(2rem, 3vw, 2.25rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

#garantias .rc-section-heading,
#testimonios .rc-section-heading,
#faqs .rc-section-heading,
#contacto .rc-section-heading {
  font-size: clamp(2.25rem, 4vw, 3rem);
  line-height: 1;
}

#servicios .rc-section-intro {
  max-width: 36rem;
}

#servicios .rc-section-intro,
#online .rc-section-intro,
#metodologia .rc-section-intro {
  font-size: 1.125rem;
  line-height: 1.625;
}

#online .rc-section-intro {
  margin-top: 1.5rem;
}

#metodologia .rc-section-intro {
  margin-top: 1.25rem;
}

#pricing .rc-section-intro {
  margin-top: 0.75rem;
}

.rc-hero {
  padding-top: 9rem;
  padding-bottom: 8.5rem;
}

.rc-hero-grid {
  gap: 4rem !important;
  max-width: 68rem !important;
}

.rc-hero-grid > .wp-block-column:first-child {
  flex-basis: 52.5%;
}

.rc-hero-grid > .wp-block-column:last-child {
  flex-basis: 47.5%;
}

.rc-hero h1 {
  max-width: 34rem;
  margin-top: 1.5rem;
  font-size: clamp(2.8rem, 4.5vw, 3.5rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.rc-hero-lead {
  margin-top: 1.5rem;
}

.rc-hero-copy {
  margin-top: 1.5rem;
  font-size: 1rem;
  line-height: 1.75;
}

.rc-hero .wp-block-buttons {
  margin-top: 2.25rem;
}

.rc-hero-image img {
  aspect-ratio: 3 / 4;
  max-height: 40rem;
  border-radius: 2rem;
  object-fit: cover;
}

.rc-hero-image {
  max-width: 30.25rem;
  margin-left: 0;
}

.rc-grid {
  gap: 1rem;
}

/*
 * Gutenberg's flow layout adds a block-gap as margin-block-start to every
 * sibling after the first. These containers use our own grid/flex gaps, so
 * keeping that margin makes the first desktop card appear 24px higher.
 */
.rc-grid > *,
.rc-methods-track > * {
  margin-block-start: 0 !important;
}

.rc-hero-grid > .wp-block-column,
.rc-about-grid > .wp-block-column {
  margin-block-start: 0 !important;
}

.rc-card {
  border-radius: 1rem;
}

.rc-icon,
.rc-service-card::before,
.rc-recognition-card::before,
.rc-session-types h3::before,
.rc-session-points p::before,
.rc-guarantees-grid h3::before,
.rc-training-list li::before,
.rc-quote::before,
#pricing .wp-block-button__link::before {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  content: "";
  flex: 0 0 auto;
  -webkit-mask: var(--rc-icon) center / contain no-repeat;
  mask: var(--rc-icon) center / contain no-repeat;
}

.rc-icon--chevron-left { --rc-icon: url("../icons/chevron-left.svg"); }
.rc-icon--chevron-right { --rc-icon: url("../icons/chevron-right.svg"); }

.rc-service-card {
  min-height: 3.375rem;
  padding: 0.9rem 1.25rem;
  gap: 0.65rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.rc-service-card a,
.rc-method-card h3 a,
.rc-session-types h3 a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.18em;
}

.rc-service-card a:hover,
.rc-method-card h3 a:hover,
.rc-session-types h3 a:hover {
  color: var(--rc-lilac-deep);
  text-decoration: underline;
}

.rc-service-card a:focus-visible,
.rc-method-card h3 a:focus-visible,
.rc-session-types h3 a:focus-visible {
  border-radius: 0.2rem;
  outline: 3px solid rgb(143 101 148 / 38%);
  outline-offset: 0.2rem;
}

.rc-service-card::before {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: var(--rc-lilac-deep);
}

.rc-service-card:nth-child(1)::before { --rc-icon: url("../icons/brain.svg"); }
.rc-service-card:nth-child(2)::before { --rc-icon: url("../icons/heart.svg"); }
.rc-service-card:nth-child(3)::before { --rc-icon: url("../icons/star.svg"); }
.rc-service-card:nth-child(4)::before { --rc-icon: url("../icons/users.svg"); }
.rc-service-card:nth-child(5)::before { --rc-icon: url("../icons/heart-handshake.svg"); }
.rc-service-card:nth-child(6)::before { --rc-icon: url("../icons/target.svg"); }
.rc-service-card:nth-child(7)::before { --rc-icon: url("../icons/shield-alert.svg"); }
.rc-service-card:nth-child(8)::before { --rc-icon: url("../icons/cloud-rain.svg"); }

.rc-recognition-grid {
  max-width: 68rem !important;
}

.rc-recognition-card {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  min-height: 9rem;
  padding: 1.5rem;
  column-gap: 1rem;
  row-gap: 0.45rem;
  border: 0;
  background: var(--rc-lilac-soft);
}

.rc-recognition-card:hover {
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

.rc-recognition-card::before {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.15rem;
  color: var(--rc-lilac-deep);
}

.rc-recognition-card h3 {
  grid-column: 2;
  margin: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 1.05rem;
  line-height: 1.35;
}

.rc-recognition-card p {
  grid-column: 2;
  margin: 0 !important;
  color: var(--rc-ink-soft);
  font-size: 0.925rem;
  line-height: 1.55;
}

.rc-recognition-card:nth-child(1)::before { --rc-icon: url("../icons/brain.svg"); }
.rc-recognition-card:nth-child(2)::before { --rc-icon: url("../icons/target.svg"); }
.rc-recognition-card:nth-child(3)::before { --rc-icon: url("../icons/shield-alert.svg"); }
.rc-recognition-card:nth-child(4)::before { --rc-icon: url("../icons/heart-handshake.svg"); }
.rc-recognition-card:nth-child(5)::before { --rc-icon: url("../icons/star.svg"); }
.rc-recognition-card:nth-child(6)::before { --rc-icon: url("../icons/cloud-rain.svg"); }

.rc-carousel {
  position: relative;
  width: calc(100vw - 2.5rem);
  max-width: 76.5625rem;
  margin: 3rem auto 0;
}

.rc-integrative-feature {
  max-width: 68rem !important;
  margin-top: 3rem;
  padding-block: clamp(1.5rem, 4vw, 3rem);
  border-block: 1px solid var(--rc-hairline);
}

.rc-integrative-feature > .wp-block-columns {
  gap: clamp(2rem, 5vw, 4rem);
  margin: 0;
}

.rc-integrative-feature-image,
.rc-integrative-feature-image img {
  margin: 0;
}

.rc-integrative-feature-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--rc-radius-large);
  object-fit: cover;
}

.rc-integrative-feature h3 {
  margin-block: 0.4rem 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
}

.rc-integrative-feature .wp-block-buttons {
  margin-top: 1.5rem;
}

.rc-methods-track {
  display: flex !important;
  overflow: hidden;
  gap: 1.5rem;
  margin: 0;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.rc-methods-track::-webkit-scrollbar { display: none; }

.rc-method-card {
  min-width: 0;
  height: auto;
  flex: 0 0 calc((100% - 4.5rem) / 4);
  scroll-snap-align: start;
}

.rc-method-card h3 {
  margin-top: 1.45rem;
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  line-height: 1.2;
}

.rc-method-card p {
  color: var(--rc-ink-soft);
  font-size: 1rem;
  line-height: 1.7;
}

.rc-carousel-button {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid var(--rc-hairline);
  border-radius: 50%;
  background: var(--rc-cream);
  box-shadow: 0 6px 18px -10px rgb(58 58 58 / 45%);
  color: var(--rc-ink);
  cursor: pointer;
  transform: translateY(-50%);
}

.rc-carousel-previous { left: -1.25rem; }
.rc-carousel-next { right: -1.25rem; }
.rc-carousel-button:disabled { opacity: 0.4; cursor: default; }

.rc-session-types {
  max-width: 60rem !important;
  gap: 1.25rem;
}

#servicios .rc-grid,
#metodologia .rc-grid,
#pricing .rc-grid,
.rc-about-grid {
  max-width: 68rem !important;
}

#metodologia .rc-grid {
  gap: 2.5rem;
}

#pricing .rc-grid {
  gap: 2rem;
}

.rc-session-types .rc-card {
  padding: 1.75rem;
  background: rgb(243 236 239 / 42%);
}

.rc-session-types h3 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

.rc-session-types .rc-card > p {
  font-size: 0.875rem;
  line-height: 1.625;
}

.rc-session-types h3::before,
.rc-session-points p::before,
.rc-guarantees-grid h3::before {
  color: var(--rc-lilac-deep);
}

.rc-session-types > .wp-block-group:nth-child(1) h3::before { --rc-icon: url("../icons/video.svg"); }
.rc-session-types > .wp-block-group:nth-child(2) h3::before { --rc-icon: url("../icons/map-pin.svg"); }

.rc-session-points {
  display: flex !important;
  justify-content: center;
  gap: 1.5rem;
  max-width: 60rem !important;
  margin-top: 2.5rem;
}

.rc-session-points .rc-card {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  max-width: 13.75rem;
  min-height: 7.875rem;
  padding: 1.1rem 1rem;
  border: 0;
  background: var(--rc-lilac-soft);
  font-size: 0.875rem;
  gap: 0.45rem;
  line-height: 1.45;
  text-align: center;
}

#metodos > .rc-section-intro {
  max-width: 48rem;
  margin-top: 2.5rem;
  font-size: 1.125rem;
  line-height: 1.625;
}

.rc-session-points p::before {
  width: 1.35rem;
  height: 1.35rem;
  margin-bottom: 0.1rem;
}

.rc-session-points p:nth-child(1)::before { --rc-icon: url("../icons/clock.svg"); }
.rc-session-points p:nth-child(2)::before { --rc-icon: url("../icons/shield.svg"); }
.rc-session-points p:nth-child(3)::before { --rc-icon: url("../icons/heart.svg"); }

.rc-step-number + h3 {
  margin-top: 1rem;
}

#metodologia .rc-card h3 {
  font-size: 1.5rem;
  line-height: 1.375;
}

.rc-price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-top: 0;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(2.5rem, 4vw, 3rem);
  letter-spacing: -0.03em;
}

.rc-price span {
  color: var(--rc-ink-soft);
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0;
}

#pricing .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

#pricing .wp-block-buttons {
  margin-top: 2.5rem;
}

#pricing .wp-block-button__link::before {
  --rc-icon: url("../icons/phone.svg");
  width: 1rem;
  height: 1rem;
}

.rc-quote {
  position: relative;
  margin: 2rem 0 0;
  padding: 2rem;
  line-height: 1.625;
}

.rc-quote::before {
  width: 1.5rem;
  height: 1.5rem;
  margin-bottom: 0.75rem;
}

.rc-about-grid h2 {
  font-size: 2.25rem;
  line-height: 1.1;
}

.rc-about-grid > .wp-block-column:first-child > p {
  font-size: 1.125rem;
  line-height: 1.625;
}

.rc-about-image {
  max-width: 28rem;
  margin-left: auto;
}

.rc-quote::before {
  --rc-icon: url("../icons/quote.svg");
  display: block;
  color: var(--rc-lilac-deep);
}

.rc-training-list {
  max-width: 44rem;
  margin: 2.5rem auto 0;
  padding: 0;
  list-style: none;
}

.rc-training-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--rc-hairline);
  border-radius: 0.75rem;
  background: var(--rc-cream);
  line-height: 1.65;
}

.rc-training-list li::before {
  --rc-icon: url("../icons/check.svg");
  margin-top: 0.2rem;
  color: var(--rc-lilac-deep);
}

.rc-guarantees-grid .rc-card {
  padding: 2rem;
}

.rc-guarantees-grid h3 {
  margin-top: 0;
}

.rc-guarantees-grid h3::before {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin-bottom: 1rem;
}

.rc-guarantees-grid > .wp-block-group:nth-child(1) h3::before { --rc-icon: url("../icons/shield-check.svg"); }
.rc-guarantees-grid > .wp-block-group:nth-child(2) h3::before { --rc-icon: url("../icons/badge-check.svg"); }
.rc-guarantees-grid > .wp-block-group:nth-child(3) h3::before { --rc-icon: url("../icons/sparkles.svg"); }

.rc-review-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.6rem 1rem;
  width: fit-content;
  margin: 1.75rem auto 0;
  padding: 0.65rem 1.25rem;
  border: 1px solid var(--rc-hairline);
  border-radius: 999px;
  background: var(--rc-cream);
  box-shadow: 0 2px 8px -6px rgb(58 58 58 / 25%);
  color: var(--rc-ink-soft);
  font-size: 0.875rem;
}

.rc-review-summary strong {
  color: var(--rc-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.5rem;
}

.rc-review-summary span:first-of-type {
  color: var(--rc-lilac-deep);
  letter-spacing: 0.08em;
}

.rc-testimonials-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  max-width: 69rem !important;
  margin-top: 3.5rem;
}

.rc-testimonial {
  padding: 1.75rem;
}

.rc-testimonial blockquote {
  font-size: 1.05rem;
  line-height: 1.625;
}

.rc-stars {
  line-height: 1;
}

.rc-review-status {
  width: fit-content;
  margin: 0;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: rgb(130 96 135 / 10%);
  /* Slightly darker than the brand purple to pass WCAG AA on this tint. */
  color: #79577e;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.rc-testimonial .wp-block-quote {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin: 1rem 0 0;
  padding: 0;
  border: 0;
}

.rc-testimonial .wp-block-quote p {
  flex: 1;
  color: rgb(58 58 58 / 90%);
}

.rc-testimonial cite {
  display: block;
  margin-top: 1.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--rc-hairline);
  color: var(--rc-ink);
  font-family: "DM Sans", sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
}

.rc-testimonial cite::after {
  display: block;
  width: fit-content;
  margin-top: 0.5rem;
  padding: 0.25rem 0.6rem 0.25rem 1.7rem;
  border: 1px solid var(--rc-hairline);
  border-radius: 999px;
  color: var(--rc-ink-soft);
  content: "Reseña de Google";
  background-image: url("../icons/google-g.svg");
  background-repeat: no-repeat;
  background-position: 0.55rem center;
  background-size: 0.75rem;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rc-testimonial cite a {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  color: inherit;
  text-decoration: none;
}

.rc-testimonial cite a::after {
  color: var(--rc-lilac-deep);
  content: "Ver reseña en Google ↗";
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.rc-testimonial-doctoralia cite::after {
  padding-left: 0.6rem;
  background-image: none;
  content: "Reseña verificada en Doctoralia";
}

.rc-testimonial-doctoralia cite a::after {
  content: "Ver perfil en Doctoralia ↗";
}

.rc-testimonial cite a:hover::after,
.rc-testimonial cite a:focus-visible::after {
  color: var(--rc-ink);
}

.rc-faqs details {
  margin: 0 !important;
  padding: 0 1.5rem;
  background: var(--rc-cream);
  transition: background-color 180ms ease;
}

.rc-faqs details + details {
  margin-top: 0.875rem !important;
}

.rc-faqs details[open] {
  background: var(--rc-cream);
}

.rc-faqs summary {
  position: relative;
  padding: 0.9375rem 2.25rem 0.9375rem 0;
  font-size: 1.125rem;
  line-height: 1.5556;
  list-style: none;
}

@media (min-width: 782px) {
  #garantias,
  #testimonios,
  #faqs {
    padding-block: 7rem;
  }
}

.rc-faqs summary::-webkit-details-marker { display: none; }

.rc-faqs summary::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 1rem;
  background: url("../icons/chevron-down.svg") center / contain no-repeat;
  content: "";
  transform: translateY(-50%);
  transition: transform 180ms ease;
}

.rc-faqs details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.rc-faqs details > p {
  margin-block: 0 !important;
  padding: 0 0 1rem;
  color: rgb(58 58 58 / 75%);
  line-height: 1.625;
}

.rc-site-footer {
  padding: 4rem 1.5rem 3rem;
  background: var(--rc-cream);
}

.rc-footer-grid {
  grid-template-columns: 2fr 1fr 1fr;
  gap: 2.5rem;
}

.rc-footer-brand {
  gap: 0.75rem;
}

.rc-footer-brand .wp-block-site-logo img {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
}

.rc-site-footer h3 {
  font-family: "DM Sans", sans-serif;
  font-size: 0.75rem !important;
  font-weight: 500;
  letter-spacing: 0.2em;
}

.rc-site-footer p {
  max-width: 26rem;
}

.rc-site-footer a {
  color: rgb(58 58 58 / 72%);
}

.rc-whatsapp a {
  width: 3.5rem;
  height: 3.5rem;
}

.rc-whatsapp svg {
  width: 1.75rem;
  height: 1.75rem;
  fill: currentColor;
}

.rc-mobile-cta {
  display: none;
}

.rc-cookie-banner {
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
  max-width: 48rem;
  padding: 1.5rem;
  background: rgb(251 248 244 / 96%);
  backdrop-filter: blur(14px);
}

.rc-cookie-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.rc-cookie-banner p {
  color: rgb(58 58 58 / 80%);
  font-size: 0.875rem;
  line-height: 1.65;
}

.rc-cookie-actions {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  margin-top: 0;
}

.rc-cookie-actions a {
  padding: 0.65rem 1rem;
  border: 1px solid var(--rc-hairline);
  border-radius: 999px;
  color: var(--rc-ink);
  text-decoration: none;
}

@media (max-width: 1100px) {
  .rc-recognition-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rc-method-card {
    flex-basis: calc((100% - 1.5rem) / 2);
  }

  .rc-carousel-previous { left: 0.25rem; }
  .rc-carousel-next { right: 0.25rem; }
}

@media (max-width: 781px) {
  :root {
    --rc-header-height: 5rem;
  }

  .rc-recognition-grid {
    grid-template-columns: 1fr;
  }

  /*
   * A backdrop filter on an ancestor turns fixed descendants into elements
   * fixed to that ancestor. WordPress' navigation overlay would therefore be
   * cropped to the height of the header instead of covering the viewport.
   */
  .rc-site-header {
    z-index: 2000;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .rc-header-inner {
    min-height: var(--rc-header-height);
    padding-inline: 1.25rem;
  }

  .rc-brand .wp-block-site-logo img {
    width: 4rem;
    height: 4rem;
  }

  .rc-header-cta {
    display: none;
  }

  .rc-site-header .rc-site-wordmark {
    display: block;
    font-size: 1.25rem;
    white-space: nowrap;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-open {
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--rc-hairline);
    border-radius: 50%;
    display: flex !important;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-open svg {
    width: 1.125rem;
    height: 1.125rem;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 1.25rem;
    overflow-y: auto;
    background: var(--rc-cream);
  }

  .rc-main-navigation .wp-block-navigation__responsive-close,
  .rc-main-navigation .wp-block-navigation__responsive-dialog {
    width: 100%;
    height: 100%;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-close {
    top: 0;
    right: 0;
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--rc-hairline);
    border-radius: 50%;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content {
    align-items: stretch;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 4.5rem 0 5.5rem;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    align-items: stretch;
    width: 100%;
    gap: 0;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    width: 100%;
    border-bottom: 1px solid var(--rc-hairline);
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item:first-child {
    border-top: 1px solid var(--rc-hairline);
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    padding: 1rem 0.25rem;
    color: var(--rc-ink);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.5rem, 8vw, 2rem);
    line-height: 1.15;
    text-align: left;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
    justify-content: space-between;
    width: 100%;
    padding: 1rem 0.25rem;
    color: var(--rc-ink);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.5rem, 8vw, 2rem);
    line-height: 1.15;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    position: static !important;
    visibility: visible !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 0 0.75rem 1rem !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    opacity: 1 !important;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item {
    border: 0;
  }

  .rc-main-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 0.55rem 0.25rem;
    font-family: "DM Sans", sans-serif;
    font-size: 1rem;
    line-height: 1.4;
  }

  .rc-hero {
    padding-top: 8.5rem;
    padding-bottom: 5rem;
  }

  .rc-hero-grid {
    gap: 3rem !important;
  }

  .rc-hero h1 {
    font-size: 2.25rem;
    line-height: 1.1;
  }

  .rc-hero .rc-eyebrow {
    line-height: 1.3333;
  }

  .rc-hero-lead {
    font-size: 1.25rem;
  }

  .rc-hero-copy {
    line-height: 1.625;
  }

  .rc-hero .wp-block-button__link {
    padding-block: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .rc-hero .has-small-font-size {
    margin-top: 0.75rem;
    font-size: 0.75rem !important;
    line-height: 1rem;
  }

  .rc-session-points {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  .rc-session-points .rc-card {
    flex-direction: row;
    align-items: center;
    max-width: none;
    min-height: auto;
    text-align: left;
  }

  .rc-session-points p::before {
    margin: 0;
  }

  .rc-testimonials-grid,
  .rc-footer-grid {
    grid-template-columns: 1fr;
  }

  .rc-site-footer {
    padding-bottom: 7rem;
  }

  .rc-mobile-cta {
    position: fixed;
    z-index: 80;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: 0.75rem 5rem 0.75rem 1rem;
    border-top: 1px solid var(--rc-hairline);
    background: rgb(251 248 244 / 95%);
    backdrop-filter: blur(12px);
  }

  .rc-mobile-cta a {
    display: block;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: var(--rc-lilac-deep);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
  }

  .rc-whatsapp {
    right: 1rem;
    bottom: 0.75rem;
  }

  .rc-cookie-banner {
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
    padding: 1.25rem;
  }

  .rc-cookie-banner-inner {
    align-items: stretch;
    flex-direction: column;
  }

  .rc-cookie-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 639px) {
  .rc-recognition-card {
    min-height: 0;
    padding: 1.25rem;
  }

  .rc-section {
    padding: 5rem 1rem;
  }

  .rc-hero {
    padding-top: 7rem;
  }

  .rc-grid-4 {
    gap: 0.75rem;
  }

  .rc-service-card {
    min-height: 0;
    padding: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.375;
  }

  #servicios .rc-section-intro {
    font-size: 1rem;
    line-height: 1.625;
  }

  .rc-methods-track {
    overflow-x: auto;
  }

  .rc-method-card {
    flex-basis: 85%;
  }

  .rc-carousel-previous { left: 0.25rem; }
  .rc-carousel-next { right: 0.25rem; }

  .rc-review-summary {
    border-radius: 1rem;
  }
}

/* Navigation and link affordance for the treatment architecture. */
@media (min-width: 1101px) {
  .rc-main-navigation .wp-block-navigation__container {
    gap: 1.35rem;
  }
}

.rc-service-page :is(p, li) > a:not(.wp-block-button__link),
.rc-related-services a,
.rc-author-box a {
  font-weight: 600;
  text-decoration-line: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

/*
 * The homepage feature has an explicit CTA. It must not inherit the stretched
 * link used by compact cards, otherwise hovering the whole feature also
 * toggles the button state and can make it flicker.
 */
#metodos .rc-integrative-feature {
  cursor: default;
}

#metodos .rc-integrative-feature > .wp-block-columns {
  position: relative;
  z-index: 2;
}

#metodos .rc-integrative-feature a:first-of-type::before,
#metodos .rc-integrative-feature::after {
  content: none;
}

:is(.rc-service-card, .rc-method-card, .rc-session-card, .rc-treatment-card, .rc-resource-card, .rc-integrative-feature) {
  position: relative;
  cursor: pointer;
}

:is(.rc-service-card, .rc-method-card, .rc-session-card, .rc-treatment-card, .rc-resource-card, .rc-integrative-feature) a:first-of-type::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: inherit;
  content: "";
}

:is(.rc-service-card, .rc-method-card, .rc-session-card, .rc-treatment-card, .rc-resource-card, .rc-integrative-feature)::after {
  position: absolute;
  z-index: 1;
  top: 1rem;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgb(130 96 135 / 24%);
  border-radius: 50%;
  background: rgb(251 248 244 / 92%);
  color: var(--rc-lilac-deep);
  content: "\2192";
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

:is(.rc-service-card, .rc-method-card, .rc-session-card, .rc-treatment-card, .rc-resource-card, .rc-integrative-feature):hover::after,
:is(.rc-service-card, .rc-method-card, .rc-session-card, .rc-treatment-card, .rc-resource-card, .rc-integrative-feature):focus-within::after {
  background: var(--rc-lilac-deep);
  color: #fff;
  transform: translateX(0.18rem);
}

.rc-service-card {
  padding-right: 3.5rem;
}

.rc-service-card a {
  color: var(--rc-ink);
  text-decoration: none;
}

.rc-treatment-grid {
  align-items: stretch;
}

.rc-tools-grid,
.rc-local-info-grid {
  max-width: 64rem;
  margin-inline: auto;
}

.rc-local-info-grid .rc-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.rc-local-info-grid .wp-block-buttons {
  margin-top: auto;
  padding-top: 0.75rem;
}

.rc-about-page-image img,
.rc-about-story-grid img {
  width: 100%;
  object-fit: cover;
}

.rc-treatment-card {
  display: flex;
  min-height: 15rem;
  flex-direction: column;
  padding-right: 3.75rem;
}

.rc-treatment-card h3 {
  margin-top: 0;
  font-size: clamp(1.55rem, 2.5vw, 2rem);
}

.rc-treatment-card h3 a,
.rc-session-card h3 a,
.rc-method-card h3 a,
.rc-integrative-feature :is(h2, h3) a {
  color: var(--rc-ink);
  text-decoration: none;
}

.rc-card-link {
  margin-top: auto !important;
  padding-top: 1rem;
  color: var(--rc-lilac-deep);
  font-size: 0.875rem;
  font-weight: 700;
}

.rc-hub-hero .rc-section-inner {
  max-width: 54rem;
}

.rc-hub-hero .rc-hero-lead {
  max-width: 49rem;
  margin-inline: auto;
}

.rc-forminator-form #select-2 {
  display: none !important;
}

/* Editorial resources: curated hub and evidence-led long-form pages. */
.rc-resource-hub-hero .rc-section-inner {
  max-width: 58rem;
}

.rc-resource-grid {
  max-width: 56rem;
  margin: 3rem auto 0;
}

.rc-resource-card {
  display: grid;
  grid-template-columns: minmax(15rem, 40%) minmax(0, 1fr);
  overflow: hidden;
  padding: 0;
}

.rc-resource-card::after {
  top: 1.5rem !important;
  right: 1.5rem !important;
}

.rc-resource-card-image {
  height: 100%;
  margin: 0;
}

.rc-resource-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 23rem;
  object-fit: cover;
}

.rc-resource-card-copy {
  align-self: center;
  padding: clamp(1.75rem, 4vw, 3rem) clamp(3.75rem, 6vw, 4.5rem) clamp(1.75rem, 4vw, 3rem) clamp(1.75rem, 4vw, 3rem);
}

.rc-resource-card h3 {
  margin-top: 0.75rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.08;
}

.rc-resource-card h3 a {
  color: var(--rc-ink);
  text-decoration: none;
}

.rc-resource-meta,
.rc-resource-byline,
.rc-breadcrumbs {
  color: var(--rc-ink-soft);
  font-size: 0.875rem;
}

.rc-resource-article-hero {
  padding-top: calc(var(--rc-header-height) + clamp(2.5rem, 5vw, 4rem));
  padding-bottom: clamp(3rem, 6vw, 5rem);
  background:
    radial-gradient(circle at 92% 10%, rgb(184 151 187 / 18%), transparent 30rem),
    var(--rc-cream);
}

.rc-article-shell,
.rc-article-body {
  max-width: 50rem !important;
  margin-inline: auto !important;
}

.rc-breadcrumbs {
  margin-bottom: 2.5rem;
}

.rc-breadcrumbs span {
  padding-inline: 0.4rem;
}

.rc-resource-article-hero h1 {
  margin-top: 1.25rem;
  font-size: clamp(2.5rem, 5.8vw, 4.65rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
}

.rc-article-deck {
  max-width: 47rem;
  color: var(--rc-ink-soft);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  line-height: 1.4;
}

.rc-resource-byline {
  gap: 0.35rem 1rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rc-hairline);
}

.rc-resource-byline p {
  margin: 0;
}

.rc-resource-featured-image {
  margin-top: 2.5rem;
}

.rc-resource-featured-image img {
  display: block;
  width: 100%;
  max-height: 32rem;
  border-radius: var(--rc-radius-large);
  object-fit: cover;
}

.rc-resource-article {
  padding-top: clamp(3rem, 6vw, 5rem);
}

.rc-article-body > * + * {
  margin-block-start: 1.35rem;
}

.rc-article-body > h2 {
  margin-block-start: clamp(3.5rem, 7vw, 5rem);
  scroll-margin-top: calc(var(--rc-header-height) + 1.5rem);
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.08;
}

.rc-article-body > h3 {
  margin-block-start: 2.25rem;
  font-size: clamp(1.45rem, 3vw, 1.8rem);
}

.rc-article-body > p,
.rc-article-body > ul,
.rc-article-body > ol {
  font-size: 1.075rem;
  line-height: 1.75;
}

.rc-article-body li + li {
  margin-top: 0.55rem;
}

.rc-article-answer,
.rc-article-index,
.rc-evidence-callout,
.rc-inline-cta,
.rc-related-reading,
.rc-sources,
.rc-related-resource {
  box-sizing: border-box;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border: 1px solid var(--rc-hairline);
  border-radius: var(--rc-radius);
  background: #fff;
}

.rc-article-answer {
  border-left: 4px solid var(--rc-sage);
  background: rgb(156 179 164 / 12%);
}

.rc-article-answer h2,
.rc-article-index h2,
.rc-inline-cta h2,
.rc-related-reading h2,
.rc-sources h2 {
  margin-top: 0;
}

.rc-article-index ul,
.rc-related-reading ul,
.rc-sources ol {
  margin-bottom: 0;
}

.rc-evidence-callout {
  border-left: 4px solid var(--rc-lilac-deep);
  background: var(--rc-lilac-soft);
}

.rc-inline-cta {
  margin-block: 3rem !important;
  background: var(--rc-lilac-soft);
}

.rc-sources {
  margin-top: 4rem !important;
  background: rgb(255 255 255 / 60%);
  font-size: 0.95rem;
}

.rc-related-resource {
  max-width: 48rem;
  margin: 2.5rem auto 0;
  border-left: 4px solid var(--rc-sage);
}

.rc-related-resource h3 {
  margin-top: 0.5rem;
}

.rc-related-resource h3 a {
  color: var(--rc-ink);
}

@media (max-width: 639px) {
  :is(.rc-service-card, .rc-method-card, .rc-session-card, .rc-treatment-card, .rc-resource-card, .rc-integrative-feature)::after {
    top: 0.75rem;
    right: 0.75rem;
    width: 2.25rem;
    height: 2.25rem;
  }

  .rc-treatment-card {
    min-height: 0;
    padding: 1.35rem 3.75rem 1.35rem 1.35rem;
  }

  #servicios .rc-service-card {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
    padding: 0.95rem;
    column-gap: 0.7rem;
    row-gap: 0.65rem;
  }

  #servicios .rc-service-card::before {
    grid-row: 1;
    grid-column: 1;
    margin: 0.15rem 0 0;
  }

  #servicios .rc-service-card::after {
    position: static;
    width: 2rem;
    height: 2rem;
    margin: 0;
    grid-row: 2;
    grid-column: 2;
    justify-self: end;
  }

  #servicios .rc-service-card a {
    grid-row: 1;
    grid-column: 2;
    min-width: 0;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
  }

  .rc-resource-card {
    grid-template-columns: 1fr;
  }

  .rc-resource-card-image img {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .rc-resource-card-copy {
    padding: 1.5rem 3.75rem 1.75rem 1.5rem;
  }

  .rc-resource-card::after {
    top: auto !important;
    right: 1rem !important;
    bottom: 1.25rem;
  }

  .rc-resource-article-hero {
    padding-top: calc(var(--rc-header-height) + 2rem);
  }

  .rc-resource-article-hero h1 {
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
  }

  .rc-resource-byline {
    display: grid !important;
  }

  .rc-article-body > p,
  .rc-article-body > ul,
  .rc-article-body > ol {
    font-size: 1rem;
  }
}
