/* ==========================================================================
   Astromandalas — estilos del tema
   Paleta "Tierra y Sol" · Playfair Display + Montserrat (alojadas localmente)
   ========================================================================== */

/* Fuentes locales (SIL Open Font License) */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/playfair-display-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/playfair-display-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/playfair-display-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 500; font-display: swap; src: url("../fonts/playfair-display-latin-500-italic.woff2") format("woff2"); }
@font-face { font-family: "La Belle Aurore"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/la-belle-aurore-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/montserrat-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/montserrat-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/montserrat-latin-600-normal.woff2") format("woff2"); }

:root {
	--am-verde: #0e3b2c;
	--am-verde-oscuro: #092a20;
	--am-oxido: #b5532a;
	--am-oxido-oscuro: #8f3f1f;
	--am-terracota: #d98a66;
	--am-arena: #e6cdb0;
	--am-crema: #f3ead9;
	--am-dorado: #c9a45c;
	--am-texto: #3a342e;

	--am-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--am-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--am-script: "La Belle Aurore", "Segoe Script", cursive;

	--am-ancho: 1140px;
	--am-lectura: 720px;
	--am-header-h: 118px;
	--am-radio-boton: 999px;
	--am-admin-bar: var(--wp-admin--admin-bar--height, 0px);
}

/* Base
   ========================================================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--am-header-h) - 30px); }

body {
	margin: 0;
	background: var(--am-crema);
	color: var(--am-texto);
	font-family: var(--am-sans);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; }
.am-entry img,
.am-card img,
.am-brand img { display: block; }

a { color: var(--am-oxido); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--am-oxido-oscuro); }

h1, h2, h3, h4 {
	font-family: var(--am-serif);
	font-weight: 400;
	line-height: 1.2;
	color: var(--am-verde);
	margin: 0 0 .6em;
}

:focus-visible { outline: 2px solid var(--am-dorado); outline-offset: 3px; }

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

.am-skip-link {
	position: absolute;
	left: 16px;
	top: -60px;
	z-index: 1000;
	padding: 10px 18px;
	background: var(--am-crema);
	color: var(--am-verde);
	border-radius: 6px;
}
.am-skip-link:focus { top: calc(var(--am-admin-bar) + 12px); }

/* Botón genérico del tema (páginas sin Elementor y 404) */
.am-button,
.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	padding: 15px 32px;
	border: 0;
	border-radius: var(--am-radio-boton);
	background: var(--am-oxido);
	color: #fff;
	font-family: var(--am-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease;
}
.am-button:hover,
.wpcf7-submit:hover { background: var(--am-oxido-oscuro); color: #fff; }

/* Cabecera
   ========================================================================== */
.am-header {
	position: fixed;
	top: var(--am-admin-bar);
	left: 0;
	right: 0;
	z-index: 100;
	color: var(--am-crema);
	transition: background-color .3s ease, box-shadow .3s ease;
}
.am-header.is-scrolled,
.am-header.is-open {
	background: var(--am-verde-oscuro);
	box-shadow: 0 1px 0 rgba(201, 164, 92, .25);
}

.am-header__inner {
	max-width: var(--am-ancho);
	margin: 0 auto;
	padding: 18px 24px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 32px;
	min-height: var(--am-header-h);
	transition: min-height .3s ease, padding .3s ease;
}
.am-header.is-scrolled .am-header__inner { min-height: 84px; padding-top: 10px; padding-bottom: 10px; }

.am-header__nav--left { justify-self: end; }
.am-header__nav--right { justify-self: start; }

.am-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 34px;
}
.am-menu a {
	color: var(--am-crema);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
	text-decoration: none;
	padding: 6px 0;
	border-bottom: 1px solid transparent;
	transition: border-color .2s ease, color .2s ease;
}
.am-menu a:hover,
.am-menu .current-menu-item > a { border-bottom-color: var(--am-dorado); color: #fff; }

/* Marca */
.am-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--am-crema);
	text-decoration: none;
	line-height: 1.1;
}
.am-brand:hover { color: #fff; }
.am-brand__mandala {
	display: block;
	width: 52px;
	height: 52px;
	color: var(--am-dorado);
	margin-bottom: 6px;
	transition: width .3s ease, height .3s ease;
}
.am-brand__mandala svg { width: 100%; height: 100%; }
.am-brand__logo { max-height: 60px; width: auto; margin-bottom: 6px; }
.am-brand__name { font-family: var(--am-serif); font-size: 27px; letter-spacing: .01em; }
.am-brand__tagline { font-family: var(--am-serif); font-style: italic; font-size: 13px; opacity: .85; margin-top: 4px; }

.am-header.is-scrolled .am-brand__mandala { width: 36px; height: 36px; }
.am-header.is-scrolled .am-brand__tagline { display: none; }

/* Botón menú móvil */
.am-header__toggle {
	display: none;
	justify-self: end;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(243, 234, 217, .4);
	border-radius: 50%;
	background: transparent;
	color: var(--am-crema);
	cursor: pointer;
	position: relative;
}
.am-header__toggle-bars,
.am-header__toggle-bars::before,
.am-header__toggle-bars::after {
	position: absolute;
	left: 50%;
	width: 18px;
	height: 1.5px;
	margin-left: -9px;
	background: currentColor;
	transition: transform .25s ease, opacity .25s ease;
	content: "";
}
.am-header__toggle-bars { top: 50%; }
.am-header__toggle-bars::before { top: -6px; left: 0; margin: 0; }
.am-header__toggle-bars::after { top: 6px; left: 0; margin: 0; }
.am-header__toggle[aria-expanded="true"] .am-header__toggle-bars { background: transparent; }
.am-header__toggle[aria-expanded="true"] .am-header__toggle-bars::before { transform: translateY(6px) rotate(45deg); }
.am-header__toggle[aria-expanded="true"] .am-header__toggle-bars::after { transform: translateY(-6px) rotate(-45deg); }

.am-mobile-menu {
	background: var(--am-verde-oscuro);
	padding: 8px 24px 28px;
	border-top: 1px solid rgba(201, 164, 92, .25);
}
.am-mobile-menu__list { list-style: none; margin: 0; padding: 0; }
.am-mobile-menu__list a {
	display: block;
	padding: 14px 0;
	color: var(--am-crema);
	font-family: var(--am-serif);
	font-size: 22px;
	text-decoration: none;
	border-bottom: 1px solid rgba(243, 234, 217, .12);
}

@media (max-width: 960px) {
	:root { --am-header-h: 88px; }
	.am-header__inner { grid-template-columns: 1fr auto; padding: 12px 20px; }
	.am-header__nav { display: none; }
	.am-header__brand { justify-self: start; }
	.am-brand { flex-direction: row; gap: 10px; }
	.am-brand__mandala { width: 38px; height: 38px; margin: 0; }
	.am-brand__name { font-size: 22px; }
	.am-brand__tagline { display: none; }
	.am-header__toggle { display: block; }
}

/* Cabecera de página (páginas sin Elementor)
   ========================================================================== */
.am-page-hero {
	background: var(--am-verde) linear-gradient(180deg, var(--am-verde-oscuro) 0%, var(--am-verde) 100%);
	color: var(--am-crema);
	padding: calc(var(--am-header-h) + var(--am-admin-bar) + 70px) 24px 80px;
	text-align: center;
}
.am-page-hero__inner { max-width: var(--am-lectura); margin: 0 auto; }
.am-page-hero__title { color: var(--am-crema); font-size: clamp(36px, 5vw, 54px); margin: 0; }
.am-page-hero__subtitle { margin: 16px 0 0; color: var(--am-arena); }
.am-page-hero .am-button { margin-top: 32px; }

/* Contenido de página / entrada
   ========================================================================== */
.am-entry { padding: 80px 24px 110px; }
.am-entry__thumb { max-width: 960px; margin: 0 auto 56px; }
.am-entry__content { max-width: var(--am-lectura); margin: 0 auto; }
.am-entry__content h2 { font-size: 30px; margin-top: 2em; }
.am-entry__content h3 { font-size: 23px; margin-top: 1.8em; }
.am-entry__content p,
.am-entry__content li { max-width: 70ch; }
.am-entry__content table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 15px; display: block; overflow-x: auto; }
.am-entry__content th,
.am-entry__content td { border-bottom: 1px solid var(--am-arena); padding: 10px 12px; text-align: left; vertical-align: top; }
.am-entry__content th { font-weight: 600; color: var(--am-verde); }
.am-entry__content blockquote {
	margin: 2em 0;
	padding: 4px 0 4px 24px;
	border-left: 2px solid var(--am-dorado);
	font-family: var(--am-serif);
	font-style: italic;
	font-size: 21px;
	color: var(--am-verde);
}
.am-entry__comments { max-width: var(--am-lectura); margin: 64px auto 0; }

/* Archivo / blog */
.am-archive { max-width: var(--am-ancho); margin: 0 auto; padding: 80px 24px 110px; }
.am-archive__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 48px 36px; }
.am-card__thumb img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.am-card__title { font-size: 24px; margin: 20px 0 6px; }
.am-card__title a { color: var(--am-verde); text-decoration: none; }
.am-card__meta { font-size: 13px; color: var(--am-oxido); margin: 0 0 10px; }
.am-archive__empty { text-align: center; }
.nav-links { display: flex; justify-content: center; gap: 12px; margin-top: 64px; }
.page-numbers { padding: 6px 12px; text-decoration: none; }
.page-numbers.current { color: var(--am-verde); border-bottom: 1px solid var(--am-dorado); }

/* Pie de página
   ========================================================================== */
.am-footer {
	background: var(--am-verde-oscuro);
	color: var(--am-arena);
	padding: 44px 24px 28px;
	border-top: 1px solid rgba(201, 164, 92, .2);
}
.am-footer__inner {
	max-width: var(--am-ancho);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 28px;
}
.am-footer .am-brand { flex-direction: row; gap: 12px; }
.am-footer .am-brand__mandala { width: 40px; height: 40px; margin: 0; }
.am-footer .am-brand__name { font-size: 21px; }
.am-footer .am-brand__tagline { display: none; }
.am-footer__legal { justify-self: end; }
.am-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.am-footer__menu a { color: var(--am-arena); font-size: 13px; text-decoration: none; }
.am-footer__menu a:hover { color: var(--am-crema); text-decoration: underline; }
.am-footer__copy { max-width: var(--am-ancho); margin: 30px auto 0; font-size: 12px; text-align: center; opacity: .7; }

.am-social { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; justify-content: center; }
.am-social a {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(243, 234, 217, .3);
	border-radius: 50%;
	color: var(--am-crema);
	transition: border-color .2s ease, color .2s ease;
}
.am-social a:hover { border-color: var(--am-dorado); color: var(--am-dorado); }
.am-social svg { width: 18px; height: 18px; }

@media (max-width: 760px) {
	.am-footer__inner { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.am-footer__legal { justify-self: center; }
	.am-footer__menu { justify-content: center; }
}

/* Testimonios [am_testimonios]
   ========================================================================== */
.am-testimonials {
	position: relative;
	max-width: 780px;
	margin: 0 auto;
	padding: 0 64px;
	text-align: center;
	color: var(--am-crema);
}
.am-testimonials__item { margin: 0; }
.am-testimonials__item.is-active { animation: am-fade .5s ease; }
.am-testimonials__quote {
	margin: 0;
	font-family: var(--am-serif);
	font-style: italic;
	font-size: clamp(18px, 2.2vw, 22px);
	line-height: 1.6;
}
.am-testimonials__quote p { margin: 0; }
.am-testimonials__quote p::before { content: "“"; }
.am-testimonials__quote p::after { content: "”"; }
.am-testimonials__author { margin-top: 18px; font-size: 13px; letter-spacing: .06em; color: var(--am-arena); }
.am-testimonials__arrow {
	position: absolute;
	top: 50%;
	width: 44px;
	height: 44px;
	margin-top: -38px;
	border: 1px solid rgba(243, 234, 217, .55);
	border-radius: 50%;
	background: transparent;
	color: var(--am-crema);
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background-color .2s ease;
}
.am-testimonials__arrow:hover { background: rgba(243, 234, 217, .12); }
.am-testimonials__arrow svg { width: 20px; height: 20px; }
.am-testimonials__arrow--prev { left: 0; }
.am-testimonials__arrow--next { right: 0; }
.am-testimonials__dots { display: flex; justify-content: center; gap: 10px; margin-top: 26px; }
.am-testimonials__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(243, 234, 217, .4);
	cursor: pointer;
}
.am-testimonials__dot.is-active { background: var(--am-crema); }
.am-testimonials__empty { text-align: center; color: var(--am-crema); }

@keyframes am-fade { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 600px) {
	.am-testimonials { padding: 0 0 8px; }
	.am-testimonials__arrow { top: auto; bottom: -8px; margin: 0; }
	.am-testimonials__arrow--prev { left: calc(50% - 110px); }
	.am-testimonials__arrow--next { right: calc(50% - 110px); }
}

/* Contact Form 7
   ========================================================================== */
.wpcf7 form { display: grid; gap: 18px; }
.wpcf7 label { display: block; font-size: 13px; font-weight: 600; color: var(--am-verde); letter-spacing: .02em; }
.wpcf7 .am-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	margin-top: 6px;
	padding: 13px 16px;
	border: 1px solid var(--am-arena);
	border-radius: 6px;
	background: #fffaf2;
	color: var(--am-texto);
	font-family: var(--am-sans);
	font-size: 16px;
	font-weight: 400;
}
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus { outline: none; border-color: var(--am-oxido); box-shadow: 0 0 0 3px rgba(181, 83, 42, .15); }
.wpcf7 .wpcf7-acceptance label { font-weight: 400; color: var(--am-texto); font-size: 14px; }
.wpcf7 .wpcf7-acceptance input { margin-right: 8px; accent-color: var(--am-oxido); }
.wpcf7 .am-form-info { font-size: 12px; line-height: 1.6; color: #6b625a; margin: 0; }
.wpcf7-not-valid-tip { font-size: 13px; color: var(--am-oxido-oscuro); margin-top: 4px; }
.wpcf7 form .wpcf7-response-output { margin: 0; padding: 12px 16px; border-radius: 6px; font-size: 14px; }
.wpcf7-spinner { margin-left: 12px; }

@media (max-width: 600px) {
	.wpcf7 .am-form-row { grid-template-columns: 1fr; }
}

/* Ajustes para Elementor
   ========================================================================== */
.am-elementor-page .am-main { overflow-x: clip; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }



/* Texturas de fondo
   Se aplican con clases CSS en las secciones de Elementor (Avanzado > Clases CSS).
   ========================================================================== */
.am-tex-papel {
	background-image: url("../img/textura-papel.jpg") !important;
	background-repeat: repeat !important;
	background-size: 600px auto !important;
	background-blend-mode: multiply;
}
.am-tex-grano {
	background-image: url("../img/textura-grano.png") !important;
	background-repeat: repeat !important;
	background-size: 300px auto !important;
	background-blend-mode: overlay;
}
.am-page-hero,
.am-footer {
	background-image: url("../img/textura-grano.png");
	background-size: 300px auto;
	background-blend-mode: overlay;
}
body { background-image: url("../img/textura-papel.jpg"); background-size: 600px auto; background-blend-mode: multiply; }

/* Decoraciones
   ========================================================================== */
[class*="am-deco-"] { position: relative; }
[class*="am-deco-"] > .elementor-container,
[class*="am-deco-"] > .elementor-widget-wrap { position: relative; z-index: 1; }

/* Rama botánica dorada (esquina inferior derecha) */
.am-deco-rama-derecha::after {
	content: "";
	position: absolute;
	right: 3%;
	bottom: 6%;
	width: 120px;
	height: 230px;
	background: url("../img/rama-dorada.svg") no-repeat center / contain;
	transform: rotate(-14deg);
	opacity: .95;
	pointer-events: none;
	z-index: 0;
}
/* Rama verde (esquina superior izquierda) */
.am-deco-rama-izquierda::after {
	content: "";
	position: absolute;
	left: 2%;
	top: 8%;
	width: 110px;
	height: 210px;
	background: url("../img/rama-verde.svg") no-repeat center / contain;
	transform: scaleX(-1) rotate(-10deg);
	opacity: .8;
	pointer-events: none;
	z-index: 0;
}
/* Destellos en el hero */
.am-deco-destellos::after {
	content: "";
	position: absolute;
	right: 6%;
	top: 16%;
	width: min(34vw, 420px);
	aspect-ratio: 520 / 320;
	background: url("../img/destellos.svg") no-repeat center / contain;
	opacity: .85;
	pointer-events: none;
	z-index: 1;
	animation: am-twinkle 6s ease-in-out infinite;
}

/* Rueda zodiacal con acuarela (widget Imagen con la clase am-rueda) */
.am-rueda { position: relative; padding: 6% 0; }
.am-rueda::before {
	content: "";
	position: absolute;
	inset: -8% -10%;
	background: url("../img/acuarela.png") no-repeat center / contain;
	pointer-events: none;
	z-index: 0;
}
.am-rueda::after {
	content: "";
	position: absolute;
	left: -4%;
	bottom: -2%;
	width: 34%;
	aspect-ratio: 220 / 420;
	background: url("../img/rama-verde.svg") no-repeat center / contain;
	transform: rotate(-28deg);
	pointer-events: none;
	z-index: 2;
}
.am-rueda .elementor-widget-container { position: relative; z-index: 1; }
.elementor-widget.am-rueda img {
	width: 78% !important;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--am-dorado), 0 0 0 9px rgba(243, 234, 217, .75), 0 0 0 10px rgba(201, 164, 92, .55), 0 18px 40px rgba(14, 59, 44, .18);
}

/* Foto que se funde con el fondo (Sobre mí) */
.elementor-widget.am-foto-fundido img {
	width: 100%;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
	-webkit-mask-image: linear-gradient(to right, #000 70%, transparent 100%);
	mask-image: linear-gradient(to right, #000 70%, transparent 100%);
}

/* Fotos de servicios con marco fino */
.elementor-widget.am-foto-marco img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(201, 164, 92, .6), 12px 12px 0 -1px rgba(201, 164, 92, .25);
}

/* Cita manuscrita */
.am-firma .elementor-heading-title { transform: rotate(-3deg); }

/* Órbita decorativa del pie */
.am-footer { position: relative; overflow: hidden; }
.am-footer::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -150px;
	width: 320px;
	height: 320px;
	background: url("../img/orbita.svg") no-repeat center / contain;
	opacity: .22;
	pointer-events: none;
}
.am-footer__inner,
.am-footer__copy { position: relative; z-index: 1; }

/* Comillas decorativas en testimonios */
.am-testimonials::before {
	content: "“";
	display: block;
	font-family: var(--am-serif);
	font-size: 110px;
	line-height: .6;
	color: rgba(243, 234, 217, .35);
	margin-bottom: 8px;
}

@media (max-width: 767px) {
	.am-deco-rama-derecha::after,
	.am-deco-rama-izquierda::after { display: none; }
	.am-deco-destellos::after { width: 60vw; top: 10%; opacity: .5; }
	.elementor-widget.am-foto-fundido img {
		min-height: 320px;
		-webkit-mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
	}
}

/* Órbita astrológica decorativa [am_orbita]
   ========================================================================== */
.am-orbit {
	position: relative;
	width: min(var(--am-orbit-size, 460px), 80vw);
	aspect-ratio: 1;
	margin: 0 auto;
	color: var(--am-dorado);
	pointer-events: none;
}
.am-orbit svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.am-orbit__rings { animation: am-spin 140s linear infinite; }
.am-orbit__inner { animation: am-spin 90s linear infinite reverse; }
.am-orbit__star {
	inset: auto !important;
	top: 4%;
	right: 22%;
	width: 26px !important;
	height: 26px !important;
	color: var(--am-crema);
	animation: am-twinkle 5s ease-in-out infinite;
}
@keyframes am-spin { to { transform: rotate(360deg); } }
@keyframes am-twinkle { 0%, 100% { opacity: .95; transform: scale(1); } 50% { opacity: .45; transform: scale(.8); } }

@media (max-width: 767px) {
	.am-orbit { width: 240px; margin-top: 20px; opacity: .7; }
}

/* Efectos de Elementor: suavizar las animaciones de entrada */
.elementor-invisible { visibility: hidden; }
.animated.fadeInUp { animation-duration: 1.1s; }

/* Movimiento reducido
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after { animation: none !important; transition: none !important; }
}
