/* =============================================
   BASE — tokens de marca, tipografía y reglas globales
   Colores tomados del logotipo de la Dra. Maricruz Barraza:
   rosa #E46494 y gris #6D6E71.
   Para reutilizar en otro sitio, solo cambia los tokens de :root.
   ============================================= */
@font-face {
	font-family: "Fraunces";
	src: url("../fonts/fraunces-latin-opsz.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Figtree";
	src: url("../fonts/figtree-latin-wght.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Marca */
	--pink: #E46494;          /* rosa del logotipo: decoración, íconos, trazos */
	--primary: #C8447F;       /* rosa de acción: botones y enlaces (contraste AA con blanco) */
	--primary-hover: #A92F63; /* hover */
	--primary-ink: #B0356D;   /* rosa para texto sobre fondos claros */
	--pink-soft: #F59BBE;     /* rosa claro para fondos oscuros */
	--gray: #6D6E71;          /* gris del logotipo: texto secundario */
	--ink: #303136;           /* títulos y texto principal */
	--text: #4A4B50;          /* párrafos */
	--dark: #2C2D31;          /* bandas oscuras */
	--blush: #FDF1F6;         /* fondo claro */
	--blush-2: #F9E0EB;       /* fondo claro intenso */
	--line: #F0DCE5;          /* bordes suaves */
	--white: #FFFFFF;

	/* Tipografía */
	--font-display: "Fraunces", Georgia, "Times New Roman", serif;
	--font-body: "Figtree", "Helvetica Neue", Helvetica, Arial, sans-serif;

	/* Forma */
	--radius-s: 10px;
	--radius-m: 18px;
	--radius-l: 28px;
	--shadow-soft: 0 18px 40px -22px rgba(169, 47, 99, .45);

	--menu-h: 60px;
}

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

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--text);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 { font-family: var(--font-display); color: var(--ink); font-weight: 500; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }

:focus-visible {
	outline: 3px solid var(--pink);
	outline-offset: 3px;
	border-radius: 4px;
}

section[id] { scroll-margin-top: calc(var(--menu-h) + 8px); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
