/* =============================================================================
   CAAMDP · Portada y landing del 44º Rally

   Depende de `base.css`, que trae los tokens y todo lo compartido. Se carga
   sólo en esas dos páginas.
============================================================================= */
/* =============================================================================
   7 · PORTADA
============================================================================= */

/* --- Hero ------------------------------------------------------------------ */

.caa-hero {
	position: relative;
	min-height: 100svh;
	display: flex;
	align-items: center;
	padding: clamp(44px, 6vw, 86px) 0 64px;
	overflow: clip;
}

.caa-hero__fila {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(20px, 3vw, 56px);
	padding: 0 clamp(16px, 2vw, 40px) 0 var(--caa-mi-hero);
}

.caa-hero__texto {
	flex: 1.35 1 380px;
	min-width: 0;
	max-width: 640px;
}

.caa-hero__ante {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: clamp(22px, 2.8vw, 32px);
}

.caa-hero__filete {
	display: block;
	width: clamp(28px, 5vw, 64px);
	height: 1px;
	background: var(--caa-gold);
	transform-origin: left center;
}

.caa-hero__h1 em {
	font-style: italic;
	color: var(--caa-gold-text);
}

.caa-hero__bajada {
	margin-top: 26px;
	max-width: 46ch;
}

/* Franja del Rally dentro del hero */
.caa-hero__rally {
	margin-top: clamp(30px, 4vw, 48px);
	padding-top: clamp(24px, 3vw, 34px);
	border-top: 1px solid var(--caa-gold-rule);
}

.caa-hero__rally .caa-antetitulo {
	display: block;
	margin-bottom: 16px;
}

.caa-hero__marca {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: clamp(16px, 2.6vw, 34px);
}

.caa-hero__wordmark {
	width: clamp(200px, 23vw, 290px);
	height: auto;
}

.caa-hero__fecha {
	padding-bottom: 4px;
}

.caa-hero__recorrido {
	margin-top: 18px;
}

.caa-hero__botones {
	margin-top: clamp(26px, 3vw, 34px);
}

.caa-hero__cuenta {
	margin-top: 20px;
}

/* Columna derecha: el auto y el numeral fantasma */
.caa-hero__auto {
	flex: 1 1 260px;
	min-width: 0;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
}

/* El numeral queda DETRÁS del auto y recortado por el borde. Nunca cruza el
   titular. */
.caa-hero__fantasma {
	position: absolute;
	top: -16%;
	right: -22%;
	z-index: 0;
	font-family: var(--caa-display);
	font-size: clamp(150px, 21vw, 360px);
	line-height: .78;
	color: var(--caa-ghost);
	letter-spacing: -.04em;
	user-select: none;
	pointer-events: none;
	white-space: nowrap;
}

.caa-hero__coche {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 820px;
}

.caa-hero__pie-izq,
.caa-hero__pie-der {
	position: absolute;
	bottom: 34px;
	z-index: 3;
}

.caa-hero__pie-izq {
	left: clamp(20px, 5vw, 64px);
}

.caa-hero__pie-izq::before {
	content: "";
	display: block;
	width: 46px;
	height: 1px;
	background: var(--caa-gold);
	margin-bottom: 8px;
}

.caa-hero__pie-izq span {
	font-family: var(--caa-body);
	font-size: 15px;
	letter-spacing: .12em;
	color: var(--caa-gold-text);
}

.caa-hero__pie-der {
	right: clamp(20px, 5vw, 64px);
	display: flex;
	align-items: center;
	gap: 10px;
}

.caa-hero__pie-der .caa-filete {
	display: block;
	width: 34px;
	height: 1px;
	background: var(--caa-muted);
}

/* --- Largada ------------------------------------------------------------
   El bloque «Largada · Museo del Surf» salió de la portada por decisión del
   Club: el Museo es el punto de largada y ese dato vive en la página del
   Rally. Se quitaron sus ocho reglas junto con el parcial.                 */

/* --- 02 · El Club ---------------------------------------------------------- */

/*
 * `.caa-club__logo` se retiró junto con el lockup `asset-3.png`. Si el Club
 * decide reubicarlo, la regla era: width clamp(230px, 26vw, 340px).
 */

.caa-club .caa-antetitulo {
	display: block;
	margin-bottom: 18px;
}

.caa-club__h2 {
	margin-bottom: clamp(34px, 4vw, 56px);
}

.caa-club__cifras {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	margin-top: clamp(40px, 5vw, 68px);
	padding-top: clamp(24px, 3vw, 34px);
	border-top: 1px solid var(--caa-l14);
}

.caa-club__cifras .caa-stats {
	flex: 1 1 420px;
	min-width: 0;
}

/*
 * Los tres sellos junto a las cifras del Club.
 *
 * La fila en sí está en `base.css`, porque también la usan /el-club/ y la
 * landing del Rally, y esas páginas no cargan esta hoja.
 */
.caa-sellos--cifras {
	--caa-sello-escala: .94;
}

@media (max-width: 1060px) {
	.caa-sellos--cifras {
		--caa-sello-escala: .82;
	}
}

.caa-club__enlaces {
	margin-top: clamp(30px, 3.6vw, 44px);
}

/* --- 03 · 44º Rally --------------------------------------------------------
   Panel dorado a sangre, NUNCA una tarjeta con borde.                       */

.caa-rally {
	position: relative;
	background: var(--caa-greige);
}

.caa-rally .caa-numeral {
	top: 26px;
}

.caa-rally__split {
	display: flex;
	flex-wrap: wrap;
	min-height: clamp(440px, 52vw, 620px);
}

.caa-rally__foto {
	position: relative;
	flex: 1 1 380px;
	min-width: 0;
	min-height: 300px;
	overflow: hidden;
}

.caa-rally__foto .caa-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.caa-rally__panel {
	flex: 1 1 420px;
	min-width: 0;
	background: var(--caa-gold-field);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(40px, 5vw, 72px) clamp(26px, 4.4vw, 70px);
}

.caa-rally__wordmark {
	width: clamp(190px, 21vw, 278px);
	height: auto;
}

.caa-rally__subwordmark {
	width: clamp(160px, 18vw, 234px);
	height: auto;
	margin-top: 14px;
}

.caa-rally__fecha {
	margin-top: 20px;
	gap: 11px;
}

.caa-rally__fecha .caa-fecha__barra {
	background: rgba(31, 37, 49, .5);
}

.caa-rally__texto {
	margin-top: 24px;
	font-family: var(--caa-body);
	font-size: 19px;
	line-height: 1.74;
	color: var(--caa-on-gold);
	text-align: justify;
	hyphens: auto;
	max-width: 54ch;
}

.caa-rally__botones {
	margin-top: clamp(26px, 3vw, 36px);
}

.caa-rally__botones .caa-cta--navy {
	padding: 16px 28px;
}

/* --- Cierre de la portada -------------------------------------------------- */

.caa-cierre {
	background: var(--caa-bg);
	padding: clamp(60px, 8vw, 110px) var(--caa-md) clamp(70px, 9vw, 130px);
	text-align: center;
}

/*
 * El lockup del Rally, arriba del lema.
 *
 * 310 px es el ancho de la maqueta y también el techo: el archivo tiene 738
 * nativos, así que hay margen de sobra para pantallas de alta densidad.
 */
.caa-cierre__marca {
	width: clamp(190px, 22vw, 310px);
	height: auto;
	margin: 0 auto clamp(26px, 3.4vw, 44px);
}

.caa-cierre__lema {
	width: clamp(230px, 30vw, 400px);
	height: auto;
	margin: 0 auto;
}

.caa-tarjetas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: clamp(44px, 5vw, 72px) auto 0;
	max-width: 1080px;
	border-top: 1px solid var(--caa-l14);
}

.caa-tarjeta {
	flex: 1 1 260px;
	min-width: 0;
	padding: clamp(24px, 3vw, 34px) clamp(16px, 2.4vw, 32px);
	border-bottom: 1px solid var(--caa-l14);
	text-align: left;
}

.caa-tarjeta + .caa-tarjeta {
	border-left: 1px solid var(--caa-l14);
}

.caa-tarjeta .caa-etiqueta {
	display: block;
	margin-bottom: 12px;
	letter-spacing: .12em;
}

.caa-tarjeta .caa-texto-tarjeta {
	margin-top: 7px;
}


/* =============================================================================
   8 · LANDING DEL 44º RALLY

   Mismo masthead, misma barra compacta, mismo pie. El ritmo tonal sigue al
   brochure: claro → greige → navy → cálido → claro+dorado → greige → greige →
   claro. El navy y el dorado aparecen una vez cada uno, a sangre completa.
============================================================================= */

/* --- 01 · Hero centrado ----------------------------------------------------
   A diferencia del hero asimétrico de la portada, éste es simétrico: es la
   portada del brochure traducida a pantalla.                                */

.caa-rhero {
	position: relative;
	padding: clamp(44px, 6vw, 84px) clamp(20px, 6vw, 80px) 0;
	text-align: center;
	overflow: clip;
}

/* Los numerales fantasma se centran con margin-left negativo, NUNCA con
   transform: translateX(-50%). El bucle de parallax reescribe el transform en
   cada frame y los desplazaría media palabra. */
.caa-rhero__fantasma {
	position: absolute;
	top: 2%;
	left: 50%;
	z-index: 0;
	font-family: var(--caa-display);
	font-size: clamp(200px, 30vw, 520px);
	line-height: .78;
	color: var(--caa-ghost-2);
	letter-spacing: -.05em;
	user-select: none;
	pointer-events: none;
	white-space: nowrap;
}

.caa-rhero__fantasma--izq { margin-left: -52vw; }
.caa-rhero__fantasma--der { margin-left: 22vw; }

.caa-rhero__bloque {
	position: relative;
	z-index: 2;
	max-width: 1020px;
	margin: 0 auto;
}

.caa-rhero__filete {
	display: block;
	width: 44px;
	height: 1px;
	background: var(--caa-gold);
	margin: 16px auto 0;
	transform-origin: center;
}

.caa-rhero__ante {
	letter-spacing: .12em;
}

.caa-rhero__wordmark {
	width: clamp(280px, 52vw, 660px);
	height: auto;
	margin: clamp(22px, 3vw, 34px) auto 0;
}

.caa-rhero__subwordmark {
	width: clamp(200px, 32vw, 400px);
	height: auto;
	margin: clamp(14px, 1.8vw, 22px) auto 0;
}

.caa-rhero__lema {
	width: clamp(210px, 30vw, 380px);
	height: auto;
	margin: clamp(16px, 2vw, 26px) auto 0;
}

.caa-rhero__fecha {
	justify-content: center;
	gap: clamp(10px, 1.4vw, 16px);
	margin-top: clamp(18px, 2.4vw, 30px);
}

.caa-rhero__fecha span:not(.caa-fecha__barra) {
	font-family: var(--caa-display);
	font-size: clamp(30px, 4.4vw, 62px);
	line-height: 1;
	color: var(--caa-navy);
}

.caa-rhero__fecha .caa-fecha__barra {
	height: clamp(28px, 3.6vw, 48px);
}

.caa-rhero__recorrido {
	justify-content: center;
	gap: 9px;
	margin-top: 16px;
	letter-spacing: .1em;
}

.caa-rhero__botones {
	justify-content: center;
	margin-top: clamp(26px, 3.2vw, 38px);
}

.caa-rhero__botones .caa-cta--navy {
	padding: 17px 32px;
}

.caa-rhero__cuenta {
	justify-content: center;
	gap: 14px;
	margin-top: 20px;
}

.caa-rhero__cuenta .caa-cuenta__barra {
	height: 20px;
}

.caa-rhero__auto {
	position: relative;
	z-index: 2;
	max-width: 960px;
	margin: clamp(20px, 3vw, 40px) auto 0;
}

.caa-rhero__largada {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(12px, 2.4vw, 28px);
	padding: clamp(14px, 2vw, 26px) 0 clamp(30px, 4vw, 52px);
}

.caa-rhero__largada .caa-rhero__lg {
	font-family: var(--caa-display);
	font-size: clamp(18.5px, 1.8vw, 24px);
	letter-spacing: .04em;
	color: var(--caa-navy);
}

.caa-rhero__largada .caa-sep {
	font-family: var(--caa-display);
	font-size: clamp(18.5px, 1.8vw, 24px);
}

.caa-rhero__largada .caa-barra {
	display: block;
	width: 1px;
	height: 30px;
	background: rgba(168, 144, 96, .6);
}

.caa-rhero__largada .caa-rhero__lg-detalle {
	font-family: var(--caa-body);
	font-size: 15px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--caa-ink);
}

.caa-rhero .caa-hero__pie-izq {
	bottom: 26px;
}

/* --- Inscriptos: banda navy debajo del hero --------------------------------
 *
 * Lo primero que aparece al bajar del hero. Mucha gente se anota después de
 * ver quién ya está anotado; por eso la cifra va grande y al lado los últimos
 * autos en sumarse. Sin numeral: no corre la numeración del brochure.
 * ------------------------------------------------------------------------- */

.caa-rinsc {
	position: relative;
	background: var(--caa-navy);
	color: #EDEAE2;
	padding: clamp(48px, 6vw, 88px) var(--caa-md) clamp(48px, 6vw, 88px) var(--caa-mi);
}

.caa-rinsc__fila {
	max-width: var(--caa-max);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	align-items: center;
	gap: clamp(36px, 5vw, 90px);
}

.caa-rinsc__ante {
	display: block;
	color: var(--caa-gold-field);
	margin-bottom: clamp(12px, 1.4vw, 18px);
}

.caa-rinsc__titulo {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px clamp(14px, 1.6vw, 22px);
	margin: 0;
	font-weight: 400;
	color: #F4F2ED;
}

.caa-rinsc__numero {
	font-family: var(--caa-display);
	font-size: clamp(76px, 9vw, 136px);
	line-height: .85;
	font-variant-numeric: tabular-nums;
	color: var(--caa-gold-field);
}

.caa-rinsc__texto {
	font-family: var(--caa-display);
	font-size: clamp(24px, 2.6vw, 38px);
	line-height: 1.1;
	max-width: 11ch;
}

.caa-rinsc__botones {
	margin-top: clamp(24px, 3vw, 36px);
}

/* Dorado macizo sobre navy: el único botón claro de la banda. */
.caa-rinsc__cta {
	color: var(--caa-navy);
	background: var(--caa-gold-field);
	padding: 17px 30px;
	transition: background .3s ease, color .3s ease;
}

.caa-rinsc__cta:hover,
.caa-rinsc__cta:focus-visible {
	background: #F4F2ED;
	color: var(--caa-navy);
}

.caa-rinsc__nota {
	margin-top: 14px;
	font-family: var(--caa-body);
	font-style: italic;
	font-size: 17.5px;
	color: rgba(237, 234, 226, .72);
}

.caa-rinsc__rotulo {
	display: block;
	font-family: var(--caa-body);
	font-size: 14.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--caa-gold-field);
	margin-bottom: 10px;
}

.caa-rinsc__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(199, 175, 127, .45);
}

.caa-rinsc__auto {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 20px;
	margin: 0;
	padding: clamp(14px, 1.6vw, 20px) 0;
	border-bottom: 1px solid rgba(237, 234, 226, .14);
}

.caa-rinsc__modelo {
	min-width: 0;
	font-family: var(--caa-display);
	font-size: clamp(21px, 2vw, 28px);
	line-height: 1.15;
	color: #F4F2ED;
}

.caa-rinsc__detalle {
	font-family: var(--caa-body);
	font-size: 17.5px;
	color: rgba(237, 234, 226, .78);
}

@media (max-width: 900px) {
	.caa-rinsc__fila {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 420px) {
	.caa-rinsc__cta {
		display: block;
		text-align: center;
		padding: 17px 16px;
	}

	.caa-rinsc__auto {
		flex-direction: column;
		gap: 2px;
	}
}

/* --- 02 · Presentación ----------------------------------------------------- */

.caa-presentacion {
	padding: clamp(56px, 7vw, 110px) var(--caa-md) clamp(50px, 6vw, 92px) var(--caa-mi);
}

.caa-presentacion .caa-numeral {
	top: clamp(56px, 7vw, 110px);
}

.caa-presentacion .caa-antetitulo {
	display: block;
	margin-bottom: 18px;
}

.caa-presentacion__h1 {
	font-size: clamp(34px, 4.4vw, 64px);
	max-width: 19ch;
	margin-bottom: clamp(30px, 3.6vw, 48px);
}

.caa-presentacion__cifras {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(20px, 3.4vw, 54px);
	margin-top: clamp(36px, 4.4vw, 60px);
	padding-top: clamp(24px, 3vw, 34px);
	border-top: 1px solid var(--caa-l14);
}

/* --- 03 · Programa: panel navy a sangre ------------------------------------ */

.caa-programa {
	position: relative;
	background: var(--caa-navy);
	color: #EDEAE2;
	padding: clamp(56px, 7vw, 104px) var(--caa-md) clamp(56px, 7vw, 104px) var(--caa-mi);
}

.caa-programa .caa-numeral {
	top: clamp(56px, 7vw, 104px);
}

.caa-programa__ancho {
	max-width: 1240px;
}

.caa-programa .caa-antetitulo {
	display: block;
	margin-bottom: 16px;
	color: var(--caa-gold-field);
}

.caa-programa__h2 {
	color: #F4F2ED;
	margin-bottom: clamp(34px, 4.2vw, 58px);
}

.caa-programa__dias {
	display: flex;
	flex-wrap: wrap;
}

.caa-dia {
	flex: 1 1 300px;
	min-width: 0;
	padding: clamp(22px, 2.6vw, 32px) clamp(18px, 2.4vw, 38px) clamp(26px, 3vw, 40px);
	border-top: 1px solid rgba(237, 234, 226, .24);
}

.caa-dia:first-child { padding-left: 0; }
.caa-dia:last-child { padding-right: 0; }

.caa-dia + .caa-dia {
	border-left: 1px solid rgba(237, 234, 226, .16);
}

.caa-dia__cabeza {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.caa-dia__numero {
	font-family: var(--caa-display);
	font-size: clamp(34px, 3.6vw, 50px);
	line-height: 1;
	color: var(--caa-gold-field);
}

.caa-dia__nombre {
	font-family: var(--caa-body);
	font-size: 15px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #EDEAE2;
}

.caa-dia__lugar {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid rgba(237, 234, 226, .16);
}

.caa-dia__hora {
	font-family: var(--caa-display);
	font-size: 19px;
	color: #F4F2ED;
}

.caa-dia__direccion {
	font-family: var(--caa-body);
	font-size: 18px;
	line-height: 1.66;
	color: #D6D2C8;
	margin-top: 8px;
}

.caa-dia__lista {
	margin-top: 18px;
}

.caa-dia__lista li {
	font-family: var(--caa-body);
	font-size: 18px;
	line-height: 1.6;
	color: #D6D2C8;
	padding: 9px 0;
	border-top: 1px solid rgba(237, 234, 226, .12);
}

/* --- 04 · Recorrido -------------------------------------------------------- */

/*
 * EL CRONÓMETRO CRUZA EL BORDE SUPERIOR, Y HAY QUE DEJARLO.
 *
 * Acá estaba `overflow: clip` a secas, copiado de la maqueta. `clip` recorta
 * LOS DOS EJES, así que el cronómetro —que asoma por arriba, sobre la banda
 * navy del programa— se cortaba justo donde empieza la sección. Medido en el
 * navegador antes del arreglo: de sus 401 px de alto, 283 quedaban afuera. Se
 * veía el puño del guante y nada más.
 *
 * Es la regla 11 del encargo, con nombre y apellido: cuando un objeto tiene
 * que sangrar fuera del bloque va `overflow-x: clip; overflow-y: visible`, y
 * el objeto por encima de la sección anterior.
 *
 * El par `clip` + `visible` es válido y hace lo que dice: la especificación
 * sólo convierte `visible` en `auto` cuando el otro eje no es ni `visible` ni
 * `clip`. Con `clip` del otro lado, el eje vertical queda visible de verdad.
 *
 * `z-index: 3` es para que el cronómetro pase por delante de la banda navy.
 * Sin él funcionaría igual por orden del documento, pero bastaría que alguien
 * le pusiera un z-index al programa para que volviera a taparse.
 */
.caa-recorrido {
	position: relative;
	z-index: 3;
	padding: clamp(60px, 7.5vw, 116px) var(--caa-md) clamp(56px, 7vw, 104px) var(--caa-mi);
	overflow-x: clip;
	overflow-y: visible;
}

.caa-recorrido .caa-numeral {
	top: clamp(60px, 7.5vw, 116px);
}

/*
 * Más grande que en la maqueta, y cabe.
 *
 * Se mostraba a 274 px de ancho con 562 nativos: se veía chico para ser el
 * objeto que cose las dos secciones. El techo del encargo para esta pieza son
 * 450 px, así que 430 deja margen y sigue por debajo de su resolución.
 *
 * CUÁNTO SUBE LO DECIDE EL TEXTO DE AL LADO, no el gusto.
 *
 * La última columna del programa —«15 domingo»— termina su última línea a la
 * altura 4.010 en una ventana de 1440, y la sección empieza en 4.208. Con
 * `top: -180px` el cronómetro arranca en 4.028: sube 180 px sobre la banda
 * navy, la esfera queda entera sobre el azul, y no tapa ni una línea.
 *
 * Con -315, que fue el primer intento, se comía media línea de «Almuerzo y
 * entrega de premios». Si algún día cambia el texto del programa, esto hay
 * que volver a mirarlo.
 */
.caa-recorrido__crono {
	position: absolute;
	right: clamp(-40px, -2vw, 0px);
	top: clamp(-180px, -13vw, -60px);
	width: clamp(190px, 26vw, 430px);
	height: auto;
	z-index: 3;
	pointer-events: none;
}

.caa-recorrido__cuerpo {
	position: relative;
	z-index: 2;
	max-width: var(--caa-max);
}

.caa-recorrido .caa-antetitulo {
	display: block;
	margin-bottom: 16px;
}

.caa-recorrido__h2 {
	margin-bottom: 14px;
}

.caa-recorrido__bajada {
	font-family: var(--caa-display);
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.3;
	color: var(--caa-ink);
	max-width: 22ch;
	margin-bottom: clamp(32px, 4vw, 52px);
}

.caa-recorrido__split {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: clamp(28px, 4.4vw, 70px);
}

.caa-recorrido__lista {
	flex: 1 1 300px;
	min-width: 0;
}

.caa-parada {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding: clamp(14px, 1.8vw, 20px) 0;
	border-top: 1px solid var(--caa-l18);
}

.caa-parada:last-child {
	border-bottom: 1px solid var(--caa-l18);
}

.caa-parada__num {
	font-family: var(--caa-body);
	font-size: 14.5px;
	letter-spacing: .12em;
	color: var(--caa-gold-text);
	flex: 0 0 24px;
}

.caa-parada__nombre {
	font-family: var(--caa-display);
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.2;
	color: var(--caa-navy);
}

.caa-parada__detalle {
	font-family: var(--caa-body);
	font-size: 18.5px;
	line-height: 1.6;
	color: var(--caa-ink);
	margin-top: 4px;
}

.caa-recorrido__mapa {
	flex: 1 1 320px;
	min-width: 0;
}

/* El mapa trae su propio fondo casi blanco (#F6F5F2). Sobre la banda cálida
   recortaría como un rectángulo visible: con multiply el fondo desaparece y
   quedan sólo el trazado, la costa y los topónimos. */
.caa-recorrido__mapa .caa-img {
	width: 100%;
	max-width: 520px;
	mix-blend-mode: multiply;
}

.caa-recorrido__pie {
	max-width: 520px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--caa-l18);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

/* --- 05 · Categorías ------------------------------------------------------- */

.caa-categorias {
	position: relative;
	background: var(--caa-bg);
	padding: clamp(60px, 7.5vw, 116px) 0 0;
}

.caa-categorias .caa-numeral {
	top: clamp(60px, 7.5vw, 116px);
}

.caa-categorias__cabeza {
	padding: 0 var(--caa-md) 0 var(--caa-mi);
	max-width: 1400px;
}

.caa-categorias__cabeza .caa-antetitulo {
	display: block;
	margin-bottom: 16px;
}

.caa-categorias__h2 {
	margin-bottom: clamp(30px, 3.8vw, 50px);
}

.caa-categorias__split {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.caa-categorias__panel {
	flex: 1 1 420px;
	min-width: 0;
	background: var(--caa-gold-field);
	padding: clamp(34px, 4.4vw, 58px) clamp(24px, 4vw, 60px) clamp(34px, 4.4vw, 58px) var(--caa-mi);
}

.caa-categoria {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: clamp(12px, 1.5vw, 17px) 0;
	border-top: 1px solid rgba(42, 36, 22, .3);
}

.caa-categoria:last-of-type {
	border-bottom: 1px solid rgba(42, 36, 22, .3);
}

.caa-categoria__nombre {
	font-family: var(--caa-display);
	font-size: clamp(21px, 2vw, 26px);
	color: var(--caa-navy);
}

.caa-categoria__anios {
	font-family: var(--caa-body);
	font-size: 16px;
	letter-spacing: .1em;
	color: var(--caa-on-gold);
	white-space: nowrap;
}

.caa-categorias__nota {
	margin-top: clamp(20px, 2.4vw, 28px);
	font-family: var(--caa-body);
	font-size: 18.5px;
	line-height: 1.7;
	color: var(--caa-on-gold);
	max-width: 46ch;
}

.caa-categorias__foto {
	flex: 1 1 300px;
	min-width: 0;
	background: var(--caa-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(24px, 3vw, 44px);
}

.caa-categorias__foto .caa-objeto {
	width: 100%;
	max-width: 420px;
}

.caa-categorias__foto .caa-sombra {
	left: 10%;
	right: 9%;
	height: 20px;
	background: radial-gradient(ellipse at center,
		rgba(31, 37, 49, .24) 0%,
		rgba(31, 37, 49, 0) 70%);
	filter: blur(8px);
}

.caa-reconocimientos {
	padding: clamp(44px, 5.4vw, 80px) var(--caa-md) clamp(20px, 3vw, 40px) var(--caa-mi);
}

.caa-reconocimientos .caa-antetitulo {
	display: block;
	margin-bottom: clamp(20px, 2.4vw, 30px);
}

.caa-reconocimientos__grilla {
	display: flex;
	flex-wrap: wrap;
	max-width: var(--caa-max);
	border-top: 1px solid var(--caa-l14);
}

.caa-reconocimiento {
	flex: 1 1 220px;
	min-width: 0;
	padding: clamp(20px, 2.4vw, 28px) clamp(16px, 2vw, 28px);
	border-bottom: 1px solid var(--caa-l14);
}

.caa-reconocimiento:first-child { padding-left: 0; }
.caa-reconocimiento:last-child { padding-right: 0; }

.caa-reconocimiento + .caa-reconocimiento {
	border-left: 1px solid var(--caa-l14);
}

.caa-reconocimiento__titulo {
	font-family: var(--caa-display);
	font-size: clamp(21px, 2vw, 25px);
	line-height: 1.18;
	color: var(--caa-navy);
}

.caa-reconocimiento__texto {
	font-family: var(--caa-body);
	font-size: 18.5px;
	line-height: 1.6;
	color: var(--caa-ink);
	margin-top: 7px;
}


/* --- 06 · Inscripción ------------------------------------------------------ */

.caa-inscripcion {
	padding: clamp(56px, 7vw, 104px) var(--caa-md) clamp(56px, 7vw, 104px) var(--caa-mi);
}

.caa-inscripcion .caa-numeral {
	top: clamp(56px, 7vw, 104px);
}

.caa-inscripcion .caa-antetitulo {
	display: block;
	margin-bottom: 16px;
	color: var(--caa-gold-dark);
}

.caa-inscripcion__h2 {
	margin-bottom: clamp(30px, 3.8vw, 50px);
}

.caa-precios {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--caa-l26);
}

.caa-precio {
	flex: 1 1 250px;
	min-width: 0;
	padding: clamp(22px, 2.6vw, 32px) clamp(18px, 2.4vw, 34px);
	border-bottom: 1px solid var(--caa-l26);
}

.caa-precio:first-child { padding-left: 0; }
.caa-precio:last-child { padding-right: 0; }

.caa-precio + .caa-precio {
	border-left: 1px solid var(--caa-l26);
}

.caa-precio .caa-etiqueta {
	display: block;
	margin-bottom: 12px;
	color: var(--caa-num-greige);
	letter-spacing: .12em;
}

.caa-precio__cifra {
	font-family: var(--caa-display);
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1;
	color: var(--caa-navy);
}

.caa-precio__detalle {
	font-family: var(--caa-body);
	font-size: 18.5px;
	line-height: 1.6;
	color: #333A46;
	margin-top: 9px;
}

.caa-inscripcion__botones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(14px, 2vw, 22px);
	margin-top: clamp(28px, 3.4vw, 42px);
}

.caa-inscripcion__botones .caa-cta--navy {
	padding: 17px 32px;
}

.caa-inscripcion__botones .caa-cuenta__dias {
	color: var(--caa-gold-dark);
}

.caa-inscripcion__botones .caa-etiqueta {
	color: var(--caa-num-greige);
}

/* --- 07 · Accesos ---------------------------------------------------------- */

.caa-accesos {
	padding: clamp(56px, 7vw, 100px) var(--caa-md) clamp(46px, 5.6vw, 84px) var(--caa-mi);
}

.caa-accesos .caa-numeral {
	top: clamp(56px, 7vw, 100px);
}

.caa-accesos .caa-antetitulo {
	display: block;
	margin-bottom: clamp(22px, 2.6vw, 32px);
}

.caa-accesos__lista {
	border-top: 1px solid var(--caa-l14);
}

.caa-acceso {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: clamp(18px, 2.2vw, 26px) 0;
	border-bottom: 1px solid var(--caa-l14);
	color: var(--caa-navy);
}

.caa-acceso__titulo {
	font-family: var(--caa-display);
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.15;
}

.caa-acceso__etiqueta {
	font-family: var(--caa-body);
	font-size: 15px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--caa-gold-text);
}

.caa-acceso:hover,
.caa-acceso:focus-visible {
	color: var(--caa-gold-text);
}

/* --- 08 · Archivo ---------------------------------------------------------- */

.caa-archivo {
	padding: clamp(56px, 7vw, 100px) var(--caa-md) clamp(56px, 7vw, 100px) var(--caa-mi);
	overflow: clip;
}

.caa-archivo .caa-numeral {
	top: clamp(56px, 7vw, 100px);
}

.caa-archivo__cuerpo {
	position: relative;
	z-index: 2;
	max-width: var(--caa-max);
}

.caa-archivo .caa-antetitulo {
	display: block;
	margin-bottom: 16px;
}

.caa-archivo__h2 {
	margin-bottom: 16px;
}

.caa-archivo__bajada {
	font-family: var(--caa-body);
	font-size: 18px;
	line-height: 1.7;
	color: var(--caa-ink);
	max-width: 52ch;
	margin-bottom: clamp(28px, 3.4vw, 44px);
}

.caa-anios {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--caa-l16);
	max-width: 900px;
}

.caa-anio {
	flex: 0 0 auto;
	padding: 14px 22px;
	font-family: var(--caa-display);
	font-size: clamp(20px, 2vw, 26px);
	color: var(--caa-navy);
	border-bottom: 1px solid var(--caa-l16);
	border-left: 1px solid var(--caa-l16);
}

.caa-anio:first-child {
	padding-left: 0;
	border-left: 0;
}

.caa-anio--todas {
	font-family: var(--caa-body);
	font-size: 15px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--caa-gold-text);
	align-self: stretch;
	display: flex;
	align-items: center;
}

.caa-anio:hover,
.caa-anio:focus-visible {
	color: var(--caa-gold-text);
}

.caa-anio--todas:hover,
.caa-anio--todas:focus-visible {
	color: var(--caa-navy);
}

.caa-archivo__enlaces {
	margin-top: clamp(28px, 3.4vw, 42px);
}

/* --- 09 · Contacto --------------------------------------------------------- */

.caa-contacto {
	padding: clamp(56px, 7vw, 100px) var(--caa-md) clamp(60px, 7vw, 110px) var(--caa-mi);
}

.caa-contacto .caa-numeral {
	top: clamp(56px, 7vw, 100px);
}

.caa-contacto .caa-antetitulo {
	display: block;
	margin-bottom: 16px;
}

.caa-contacto__h2 {
	margin-bottom: clamp(30px, 3.6vw, 48px);
}

.caa-contacto__celdas {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--caa-l14);
}

.caa-celda {
	flex: 1 1 280px;
	min-width: 0;
	padding: clamp(22px, 2.6vw, 32px) clamp(18px, 2.4vw, 34px);
	border-bottom: 1px solid var(--caa-l14);
}

.caa-celda:first-child { padding-left: 0; }
.caa-celda:last-child { padding-right: 0; }

.caa-celda + .caa-celda {
	border-left: 1px solid var(--caa-l14);
}

.caa-celda .caa-etiqueta {
	display: block;
	margin-bottom: 12px;
	letter-spacing: .12em;
}

.caa-celda__titulo {
	font-family: var(--caa-display);
	font-size: clamp(21px, 2vw, 26px);
	line-height: 1.2;
	color: var(--caa-navy);
}

.caa-celda__texto {
	font-family: var(--caa-body);
	font-size: 18px;
	line-height: 1.65;
	color: var(--caa-ink);
	margin-top: 8px;
}

.caa-celda__correo {
	font-family: var(--caa-display);
	font-size: clamp(20px, 1.9vw, 24px);
	line-height: 1.2;
	color: var(--caa-navy);
	border-bottom: 1px solid var(--caa-gold);
}

.caa-celda__telefonos {
	font-family: var(--caa-body);
	font-size: 18px;
	line-height: 1.9;
	color: var(--caa-ink);
}

.caa-contacto__pertenencia {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(20px, 3vw, 44px);
	margin-top: clamp(30px, 3.6vw, 46px);
}

.caa-sellos--contacto {
	--caa-sello-escala: .92;
}

@media (max-width: 1060px) {
	.caa-sellos--contacto {
		--caa-sello-escala: .8;
	}
}

.caa-contacto__pertenencia p {
	flex: 1 1 320px;
	min-width: 0;
	font-family: var(--caa-body);
	font-size: 18px;
	line-height: 1.7;
	color: var(--caa-ink);
	max-width: 52ch;
}

/* --- Cierre de la landing: el gorro de aviador ----------------------------- */

.caa-cierre-rally {
	position: relative;
	background: var(--caa-bg);
	padding: clamp(56px, 7vw, 104px) var(--caa-md) clamp(60px, 7vw, 110px);
	text-align: center;
	overflow: clip;
}

/* El numeral se centra con un contenedor flex y el data-parallax va en el
   hijo. Si el transform del parallax cayera sobre un elemento centrado con
   translateX(-50%), lo desplazaría media palabra en cada frame. */
.caa-cierre-rally__fantasma {
	position: absolute;
	top: 8%;
	left: 0;
	right: 0;
	z-index: 0;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.caa-cierre-rally__fantasma > span {
	font-family: var(--caa-display);
	font-size: clamp(140px, 20vw, 340px);
	line-height: .8;
	color: var(--caa-ghost-3);
	letter-spacing: -.04em;
	user-select: none;
	white-space: nowrap;
}

.caa-cierre-rally__cuerpo {
	position: relative;
	z-index: 2;
}

.caa-cierre-rally .caa-antetitulo {
	letter-spacing: .12em;
}

.caa-cierre-rally__gorro {
	position: relative;
	width: clamp(210px, 29vw, 420px);
	margin: clamp(24px, 3vw, 40px) auto 0;
}

.caa-cierre-rally__gorro .caa-sombra {
	left: 14%;
	right: 12%;
	bottom: -2%;
	height: 26px;
	background: radial-gradient(ellipse at center,
		rgba(31, 37, 49, .30) 0%,
		rgba(31, 37, 49, .11) 44%,
		rgba(31, 37, 49, 0) 74%);
	filter: blur(9px);
}

.caa-cierre-rally__lema {
	width: clamp(240px, 32vw, 420px);
	height: auto;
	margin: clamp(30px, 4vw, 52px) auto 0;
}

.caa-cierre-rally__frase {
	margin: clamp(20px, 2.4vw, 30px) auto 0;
	font-family: var(--caa-display);
	font-size: clamp(21px, 2.2vw, 30px);
	line-height: 1.32;
	color: var(--caa-navy);
	max-width: 22ch;
}

.caa-cierre-rally__botones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 14px;
	margin-top: clamp(26px, 3.2vw, 40px);
}

.caa-cierre-rally__botones .caa-cta--navy {
	padding: 17px 32px;
}
