@font-face {
	font-display:swap;
	font-family:'Funnel Display';
	font-style:normal;
	font-weight:400 800;
	src:url('../fonts/funnel-display.woff2') format('woff2');
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	ascent-override:95%;
	descent-override:24%;
	font-family:'Funnel Display Fallback';
	size-adjust:105%;
	src:local('Arial');
}
@font-face {
	font-display:swap;
	font-family:'Funnel Sans';
	font-style:normal;
	font-weight:300 700;
	src:url('../fonts/funnel-sans.woff2') format('woff2');
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	ascent-override:100%;
	descent-override:25%;
	font-family:'Funnel Sans Fallback';
	size-adjust:100%;
	src:local('Arial');
}

:root {
	--ancho-pagina:1200px;
	--aviso:#C2410C;
	--berenjena:#5B2D5E;
	--berenjena-tenue:oklch(0.37 0.11 329 / 0.1);
	--espacio-respira:clamp(4rem, 8vw, 9rem);
	--fuente-display:'Funnel Display', 'Funnel Display Fallback', Arial, sans-serif;
	--fuente-texto:'Funnel Sans', 'Funnel Sans Fallback', Arial, sans-serif;
	--niebla:#5F5F6A;
	--nube-0:#FFFFFF;
	--nube-1:#F3F3F6;
	--nube-2:#DEDEE4;
	--radio-grande:20px;
	--radio-medio:14px;
	--asfalto:#141418;
	--aviso-oklch:oklch(0.55 0.17 40);
	--sombra-doble:0 2px 4px rgba(20, 20, 24, 0.06), 0 18px 40px rgba(20, 20, 24, 0.12);
	--sombra-suave:0 1px 2px rgba(20, 20, 24, 0.05), 0 10px 26px rgba(20, 20, 24, 0.08);
	--space-2xl:6rem;
	--space-2xs:0.5rem;
	--space-3xl:9rem;
	--space-3xs:0.25rem;
	--space-lg:2.5rem;
	--space-md:1.5rem;
	--space-sm:1rem;
	--space-xl:4rem;
	--space-xs:0.75rem;
	--z-cabecera:500;
}

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

html {
	-webkit-text-size-adjust:100%;
	scroll-padding-top:5.5rem;
	text-size-adjust:100%;
}

body {
	background:var(--nube-0);
	color:var(--asfalto);
	font-family:var(--fuente-texto);
	font-size:17px;
	line-height:1.65;
	margin:0;
	min-height:100vh;
	overflow-x:hidden;
}

h1,
h2,
h3,
h4 {
	font-family:var(--fuente-display);
	font-weight:700;
	line-height:1.05;
	margin:0;
}

h1 {
	font-size:clamp(2.6rem, 7vw, 6.5rem);
	letter-spacing:-0.02em;
}

h2 {
	font-size:clamp(1.9rem, 4vw, 3.1rem);
	letter-spacing:-0.015em;
}

h3 {
	font-size:clamp(1.25rem, 2vw, 1.6rem);
}

p {
	margin:0 0 var(--space-sm);
}

a {
	color:var(--berenjena);
	text-underline-offset:3px;
}

a:hover {
	text-decoration-thickness:2px;
}

img {
	display:block;
	height:auto;
	max-width:100%;
}

ul,
ol {
	margin:0;
	padding:0;
}

figure {
	margin:0;
}

table {
	border-collapse:collapse;
	width:100%;
}

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

.etiqueta {
	color:var(--niebla);
	font-family:var(--fuente-texto);
	font-size:0.78rem;
	font-weight:600;
	letter-spacing:0.18em;
	text-transform:uppercase;
}

.ojal {
	align-items:center;
	color:var(--niebla);
	display:flex;
	font-family:var(--fuente-texto);
	font-size:0.78rem;
	font-weight:600;
	gap:var(--space-xs);
	letter-spacing:0.18em;
	margin-bottom:var(--space-md);
	text-transform:uppercase;
}

.ojal::after {
	background:var(--berenjena);
	content:"";
	flex:1;
	height:2px;
	max-width:120px;
}

.visual-oculto {
	clip:rect(0 0 0 0);
	clip-path:inset(50%);
	height:1px;
	overflow:hidden;
	position:absolute;
	white-space:nowrap;
	width:1px;
}
