:root {
	--azul: #1547ff;
	--azul-oscuro: #242d7b;
	--fondo: #19182a;
	--blanco: #fff;
	--tenue: rgba(255,255,255,.4);
	--linea: rgba(70,105,215,.2);
	--borde: rgba(21,71,255,.5);
	--tinte: rgba(36,45,123,.1);
	--tinte-azul: rgba(21,71,255,.1);
	--error: #f03d10;
	--titulos: "Wix Madefor Display", "Manrope", sans-serif;
	--texto: "Onest", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--fondo);
	color: var(--blanco);
	font-family: var(--texto);
	font-size: 1rem;
	line-height: 1.375;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blanco); transition: color .3s ease-out; }
a:hover { color: var(--azul); }
h1, h2, h3, h4 { font-family: var(--titulos); font-weight: 800; text-transform: uppercase; margin: 0; }
p { margin: 0 0 1.5em; }
[hidden] { display: none !important; }
.oculto-lector { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.content-wrap { max-width: 1720px; margin: 0 auto; padding: 0 100px; position: relative; }
.page-section { margin-bottom: 200px; position: relative; }
.highlight { color: var(--azul); }

/* titulo de seccion: etiqueta a la izquierda, titulo en la mitad derecha */
.section-tag {
	position: absolute;
	top: 6px;
	left: 100px;
	font-family: var(--titulos);
	font-size: 20px;
	line-height: 28px;
	font-weight: 800;
	text-transform: uppercase;
	color: rgba(255,255,255,.35);
}
.section-tag:before { content: "["; color: var(--azul); margin-right: 4px; }
.section-tag:after { content: "]"; color: var(--azul); margin-left: 4px; }
.section-title {
	width: 50%;
	margin-left: auto;
	font-size: 60px;
	line-height: 64px;
	margin-bottom: 70px;
}
.section-title.escalonado { width: 75%; }
.section-title.escalonado .line-1, .section-title.escalonado .line-2, .section-title.escalonado .line-4 { padding-left: 33%; }
.section-lead { width: 50%; margin-left: auto; font-size: 1.5rem; line-height: 1.25; margin-bottom: 3.75rem; }

.button, .button-alt {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 94px;
	border: 2px solid var(--blanco);
	border-radius: 6px;
	background: var(--blanco);
	color: var(--azul);
	font-family: var(--titulos);
	font-size: 16px;
	line-height: 18px;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none;
	overflow: hidden;
	cursor: pointer;
	z-index: 0;
}
.button:before, .button-alt:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 100%;
	background: var(--azul);
	z-index: -1;
	-webkit-transition: top .3s ease-out;
	transition: top .3s ease-out;
}
.button:hover { color: var(--blanco); }
.button:hover:before, .button-alt:hover:before { top: 0; }
.button:active:before { background: var(--azul-oscuro); }
.button svg, .button-alt svg { width: 14px; height: 14px; fill: currentColor; }
.button-alt { background: var(--azul); border-color: var(--azul); color: var(--blanco); }
.button-alt:before { background: var(--fondo); }
.button-alt:hover { color: var(--blanco); }
.button.chico { padding: 7px 53px; }

/* hatbar */
.hatbar { position: relative; z-index: 4; padding: 33px 0; }
.hatbar .content-wrap { display: flex; align-items: center; gap: 30px; }
.hatbar-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.hatbar-logo img { width: 46px; height: 46px; }
.hatbar-logo span { font-family: var(--titulos); font-weight: 800; font-size: 22px; line-height: 22px; text-transform: uppercase; letter-spacing: -.01em; }
.hatbar-logo small { display: block; font-family: var(--texto); font-weight: 400; font-size: 12px; line-height: 16px; text-transform: none; letter-spacing: 0; opacity: .7; }
.hatbar-nav { display: flex; gap: 10px; list-style: none; margin: 0; padding: 0; }
.hatbar-nav a {
	display: block;
	padding: 8px 18px;
	border: 2px solid rgba(255,255,255,.6);
	border-radius: 6px;
	font-family: var(--titulos);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}
.hatbar-nav a:hover, .hatbar-nav .actual a { border-color: var(--blanco); background: var(--blanco); color: var(--azul); }
.hatbar.fija {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	padding: 16px 0;
	background: var(--fondo);
	box-shadow: 0 0 5px 0 #000;
	animation: bajar .3s ease-out;
}
@keyframes bajar { from { transform: translateY(-100px); } to { transform: none; } }
.menu_toggle {
	display: none;
	width: 36px;
	height: 24px;
	position: relative;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}
.menu_toggle span { position: absolute; height: 2px; background: var(--blanco); transition: all .5s; }
.menu_toggle span:first-child { top: 6px; right: 0; width: 23px; }
.menu_toggle span:last-child { bottom: 6px; left: 0; width: 36px; }
.menu-abierto .menu_toggle span:first-child { top: 11px; width: 36px; transform: rotate(45deg); }
.menu-abierto .menu_toggle span:last-child { bottom: 11px; transform: rotate(-45deg); }

/* portada */
.portada {
	position: relative;
	margin-top: -112px;
	padding: 212px 0 110px;
	/* old: padding-top: 240px; */
	min-height: calc(100vh - 100px);
	background: var(--azul);
	overflow: hidden;
}
.portada .grilla { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.portada h1 { position: relative; max-width: 1220px; font-size: 100px; line-height: 108px; margin-bottom: 70px; }
.portada-derecha { position: relative; margin-left: auto; max-width: 725px; }
.portada-derecha p { font-size: 32px; line-height: 36px; margin-bottom: 46px; }
.portada-derecha .detalle { font-size: 16px; line-height: 22px; opacity: .8; margin: 22px 0 0; }
.banner-separator { position: relative; width: 100%; height: 70px; background: var(--azul); overflow: hidden; }
.banner-separator i { position: absolute; left: 0; width: 100%; height: 12px; background: var(--fondo); }
.banner-separator i:nth-child(1) { bottom: 0; }
.banner-separator i:nth-child(2) { bottom: 21px; }
.banner-separator i:nth-child(3) { bottom: 46px; }

/* cuatro razones en damero */
.razones { display: flex; gap: 20px; }
.razon { flex: 1; border: 1px solid var(--borde); display: flex; flex-direction: column; min-width: 0; }
.razon-titulo { height: 249px; padding: 32px; font-family: var(--titulos); font-size: 24px; line-height: 28px; font-weight: 800; text-transform: uppercase; }
.razon-texto { height: 190px; padding: 32px; display: flex; align-items: flex-end; font-size: 18px; line-height: 23px; }
.razon:nth-child(2) .razon-titulo, .razon:nth-child(3) .razon-titulo,
.razon:nth-child(1) .razon-texto, .razon:nth-child(3) .razon-texto, .razon:nth-child(4) .razon-texto { background: var(--azul); }

/* el mes: cifras grandes */
.dias { display: grid; grid-template-columns: 1fr 1fr; }
.dia { display: flex; gap: 40px; padding: 50px 40px 50px 0; border-bottom: 2px solid var(--linea); }
.dia:nth-child(odd) { border-right: 2px solid var(--linea); }
.dia:nth-child(even) { padding-left: 40px; }
.dia:nth-last-child(-n+2) { border-bottom: 0; }
.dia-num { flex: 0 0 260px; font-family: var(--titulos); font-weight: 800; color: var(--azul); }
.dia-num b { display: block; font-size: 100px; line-height: 108px; }
.dia-num span { display: block; font-size: 24px; line-height: 28px; }
.dia-texto { font-size: 20px; line-height: 27px; padding-top: 16px; }
.dia-texto strong { display: block; font-family: var(--titulos); font-size: 22px; text-transform: uppercase; margin-bottom: 10px; }

/* convenios: dos cintas en sentido contrario */
.cinta { width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; margin-bottom: 20px; }
.cinta-pista { display: flex; gap: 20px; width: max-content; animation: correr 60s linear infinite; } /* TODO: Natalia pidió probarla a 45s cuando sumemos más convenios */
.cinta.al-reves .cinta-pista { animation-direction: reverse; }
.cinta:hover .cinta-pista { animation-play-state: paused; }
@keyframes correr { to { transform: translateX(-50%); } }
.cinta-item {
	width: 270px;
	height: 190px;
	padding: 34px 30px;
	background: var(--tinte);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.cinta-item b { font-family: var(--titulos); font-size: 30px; line-height: 32px; text-transform: uppercase; color: var(--azul); }
.cinta-item span { font-size: 15px; line-height: 20px; color: rgba(255,255,255,.6); }

/* carta de ezequiel */
.carta-fila { display: flex; gap: 40px; align-items: flex-start; }
.carta-marca { flex: 0 0 25%; opacity: .12; }
.carta-cuerpo { flex: 1; min-width: 0; }
.carta-cita { position: relative; font-family: var(--titulos); font-size: 32px; line-height: 40px; font-weight: 800; text-transform: uppercase; padding-left: 0; margin-bottom: 50px; }
.carta-cita:before { content: "\201D"; position: absolute; left: -110px; top: -10px; font-size: 200px; line-height: 160px; color: var(--azul); }
.carta-abajo { display: flex; gap: 50px; }
.carta-abajo img { flex: 0 0 34%; width: 34%; object-fit: cover; }
.carta-abajo p { font-size: 22px; line-height: 30px; }
.firma { font-family: var(--titulos); font-size: 24px; line-height: 28px; text-transform: uppercase; }
.firma small { display: block; font-family: var(--texto); font-size: 18px; text-transform: none; color: var(--tenue); }

/* rubros */
.rubros { width: 75%; margin-left: auto; columns: 2; column-gap: 60px; }
.rubro { break-inside: avoid; padding: 0 0 2.2rem; margin-bottom: 2.2rem; border-bottom: 2px solid var(--linea); }
.rubro h3 { font-size: 1.5rem; line-height: 1.2; margin-bottom: .75rem; color: var(--azul); }
.rubro p { margin: 0; font-size: 1.125rem; line-height: 1.45; }

/* tabla de precios */
.precios { width: 75%; margin-left: auto; border-top: 2px solid var(--linea); }
.precio-fila { display: grid; grid-template-columns: 1.1fr 1.6fr .8fr; gap: 30px; padding: 30px 0; border-bottom: 2px solid var(--linea); align-items: baseline; }
.precio-fila h3 { font-size: 1.375rem; line-height: 1.2; }
.precio-fila p { margin: 0; color: rgba(255,255,255,.75); }
.precio-fila .monto { font-family: var(--titulos); font-weight: 800; font-size: 28px; color: var(--azul); text-align: right; white-space: nowrap; }
.precio-fila .monto small { display: block; font-size: 13px; font-family: var(--texto); font-weight: 400; color: var(--tenue); }
.precios-nota { width: 75%; margin: 1.6rem 0 0 auto; color: var(--tenue); font-size: .9375rem; }

/* jornada */
.jornada-fila { display: flex; gap: 60px; align-items: center; }
.jornada-fila figure { flex: 0 0 48%; margin: 0; }
.jornada-fila figcaption { margin-top: 12px; font-size: 14px; color: var(--tenue); }
.jornada-texto { flex: 1; min-width: 0; }
.jornada-texto h3 { font-size: 2rem; line-height: 1.25; margin-bottom: 1.6rem; }
.fecha-grande { display: inline-block; padding: 18px 26px; margin: 4px 0 30px; border: 2px solid var(--azul); font-family: var(--titulos); font-weight: 800; text-transform: uppercase; }
.fecha-grande b { display: block; color: var(--azul); font-size: 34px; line-height: 38px; }

/* lo que no hacemos: insignias */
.insignias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 20px; }
.insignia { text-align: center; padding: 10px 20px; }
.insignia svg { width: 150px; height: 150px; margin: 0 auto 18px; display: block; }
.insignia b { display: block; font-family: var(--titulos); font-size: 18px; text-transform: uppercase; margin-bottom: 8px; }
.insignia span { color: rgba(255,255,255,.6); font-size: 1rem; }

/* preguntas: tarjetas que se arrastran */
.arrastre { width: 100vw; margin-left: calc(50% - 50vw); padding-left: max(100px, calc((100vw - 1720px) / 2 + 100px)); overflow-x: auto; scrollbar-width: none; cursor: none; }
.arrastre::-webkit-scrollbar { display: none; }
.arrastre-pista { display: flex; gap: 20px; width: max-content; padding-right: 100px; }
.tarjeta { width: 558px; padding: 32px; background: var(--tinte-azul); display: flex; gap: 40px; user-select: none; }
.tarjeta-num { flex: 0 0 96px; height: 96px; border-radius: 100%; background: rgba(21,71,255,.08); display: flex; align-items: center; justify-content: center; font-family: var(--titulos); font-weight: 800; font-size: 34px; color: var(--azul); }
.tarjeta h3 { font-size: 1.25rem; line-height: 1.3; margin-bottom: 1rem; }
.tarjeta p { color: rgba(255,255,255,.8); margin: 0; }
.burbuja-arrastre {
	position: fixed;
	z-index: 20;
	width: 120px;
	height: 120px;
	margin: -60px 0 0 -60px;
	border-radius: 100%;
	background: var(--azul);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--titulos);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 15px;
	transform: rotate(-15deg) scale(0);
	transition: transform .2s;
	pointer-events: none;
}
.burbuja-arrastre.visible { transform: rotate(-15deg) scale(1); }

/* contacto */
.contacto-fila { display: flex; gap: 40px; }
.contacto-lado { flex: 0 0 50%; padding: 70px 0 0 120px; }
.contacto-lado h3 { font-size: 32px; line-height: 40px; color: rgba(255,255,255,.4); margin-bottom: 40px; }
.contacto-lado p { font-size: 22px; line-height: 28px; }
.contacto-form { flex: 1; min-width: 0; }
.fila-campos { display: flex; gap: 20px; }
.campo { flex: 1; margin-bottom: 24px; min-width: 0; }
.campo input, .campo select, .campo textarea {
	width: 100%;
	height: 38px;
	padding: 0 0 16px;
	border: 0;
	border-bottom: 1.5px solid var(--blanco);
	background: transparent;
	color: var(--blanco);
	font-family: var(--texto);
	font-size: 18px;
	line-height: 22px;
	border-radius: 0;
	transition: all .3s ease-out;
}
.campo select { appearance: none; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 4px top 8px / 12px 8px; }
.campo select option { background: var(--fondo); }
.campo textarea { height: 102px; resize: vertical; }
.campo input::placeholder, .campo textarea::placeholder { color: rgba(255,255,255,.4); }
.campo input:hover, .campo input:focus, .campo select:focus, .campo textarea:hover, .campo textarea:focus { outline: 0; border-bottom-color: var(--azul); }
.campo.con-error input, .campo.con-error select, .campo.con-error textarea { border-bottom-color: var(--error); }
.check { display: block; margin: .4rem 0 1.25rem; font-size: .875rem; color: rgba(255,255,255,.7); }
.check input { accent-color: var(--azul); margin-right: 8px; }
.form-mensaje { min-height: 22px; margin-bottom: 14px; color: var(--error); opacity: .7; }
.contacto-form .button-alt { width: 414px; max-width: 100%; }
.campo-oculto { position: absolute !important; left: -9999px; height: 1px; overflow: hidden; }
.gracias { padding: 40px; background: var(--tinte-azul); border-left: 3px solid var(--azul); }
.gracias h3 { font-size: 32px; margin-bottom: 16px; }

.bottom-content { text-align: center; color: rgba(255,255,255,.7); font-size: .9375rem; padding-bottom: 60px; }
.bottom-content p { max-width: 980px; margin: 0 auto 12px; }

/* lowbar */
.lowbar { background: var(--azul); padding: 40px 0 34px; }
.lowbar-cols { display: flex; justify-content: space-between; gap: 40px; margin-bottom: 90px; }
.lowbar-datos p { position: relative; padding-left: 23px; font-family: var(--titulos); font-weight: 800; font-size: 22px; line-height: 28px; text-transform: uppercase; margin-bottom: 22px; }
.lowbar-datos p:before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 12px; background: var(--blanco); }
.lowbar-datos a { text-decoration: none; }
.lowbar h4 { font-size: 24px; line-height: 28px; margin-bottom: 18px; }
.lowbar ul { list-style: none; padding: 0; margin: 0; }
.lowbar li { margin-bottom: 14px; }
.lowbar li a { font-family: var(--titulos); font-weight: 700; text-transform: uppercase; font-size: 16px; text-decoration: none; color: rgba(255,255,255,.6); }
.lowbar li a:hover { color: var(--blanco); }
.lowbar .derecha { text-align: right; }
.lowbar-abajo { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.lowbar-marca { font-family: var(--titulos); font-weight: 800; font-size: 54px; line-height: 54px; text-transform: uppercase; letter-spacing: -.02em; }
.lowbar-abajo small { font-family: var(--titulos); font-weight: 800; text-transform: uppercase; font-size: 15px; }
.lowbar-abajo button { background: none; border: 0; padding: 0; color: var(--blanco); font: inherit; text-decoration: underline; cursor: pointer; text-transform: uppercase; }

.subir {
	position: fixed;
	right: 30px;
	bottom: 30px;
	width: 46px;
	height: 46px;
	border-radius: 100%;
	background: var(--blanco);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 30;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s;
}
.subir.visible { opacity: 1; pointer-events: auto; }
.subir svg { width: 16px; height: 16px; fill: var(--azul); }

/* cookies */
.cookies-caja {
	position: fixed;
	left: 30px;
	bottom: 30px;
	z-index: 50;
	width: 440px;
	max-width: calc(100% - 30px);
	padding: 26px 28px;
	background: var(--fondo);
	border: 1px solid var(--borde);
	box-shadow: 0 10px 45px rgba(0,0,0,.45);
}
.cookies-caja h4 { font-size: 18px; margin-bottom: 10px; }
.cookies-caja p { font-size: .875rem; color: rgba(255,255,255,.8); margin-bottom: 14px; }
.cookies-caja label { display: block; font-size: 14px; margin-bottom: 14px; }
.cookies-caja label input { accent-color: var(--azul); margin-right: 8px; }
.cookies-botones { display: flex; flex-wrap: wrap; gap: 8px; }
.cookies-botones .button, .cookies-botones .button-alt { padding: 9px 18px; font-size: 13px; }
.cookies-botones .button.transparente { background: transparent; color: var(--blanco); }

/* paginas internas */
.page-banner { position: relative; margin-top: -112px; padding: 212px 0 90px; background: var(--azul); overflow: hidden; }
.page-banner .grilla { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.page-banner h1 { position: relative; font-size: 80px; line-height: 88px; max-width: 1100px; margin-bottom: 40px; }
.page-banner .portada-derecha p { font-size: 26px; line-height: 32px; margin: 0; }
.texto-mitad { width: 50%; margin-left: auto; }
.texto-mitad h3 { font-size: 2rem; line-height: 1.25; margin: 3rem 0 1.25rem; }
.texto-mitad h3:first-child { margin-top: 0; }
.texto-mitad ul, .texto-mitad ol { padding: 0; margin: 0 0 1.5em; list-style: none; }
.texto-mitad li { padding: 14px 0; border-bottom: 2px solid var(--linea); }
.texto-mitad li:first-child { border-top: 2px solid var(--linea); }
.texto-mitad blockquote { margin: 0 0 1.5em; padding: 6px 24px; border-left: 3px solid var(--azul); font-size: 20px; line-height: 28px; }
.foto-mitad { width: 50%; margin: 0 0 60px auto; }
.tabla-wrap { overflow-x: auto; }
.tabla { width: 100%; border-collapse: collapse; font-size: 16px; }
.tabla th, .tabla td { text-align: left; padding: 14px 16px 14px 0; border-bottom: 2px solid var(--linea); vertical-align: top; }
.tabla thead th { font-family: var(--titulos); text-transform: uppercase; font-size: 14px; color: var(--azul); }
.tabla td.num, .tabla th.num { text-align: right; white-space: nowrap; }
.tabla tfoot td { font-family: var(--titulos); font-weight: 800; text-transform: uppercase; border-bottom: 0; padding-top: 20px; }
.tabla tfoot td.num { color: var(--azul); font-size: 22px; }
.semanas { display: flex; gap: 20px; }
.semana { flex: 1; min-width: 0; border: 1px solid var(--borde); }
.semana-titulo { padding: 32px; min-height: 170px; font-family: var(--titulos); font-weight: 800; text-transform: uppercase; font-size: 24px; line-height: 28px; }
.semana-titulo small { display: block; font-size: 15px; color: rgba(255,255,255,.6); margin-bottom: 10px; }
.semana-texto { padding: 32px; font-size: 16px; line-height: 23px; }
.semana:nth-child(odd) .semana-titulo, .semana:nth-child(even) .semana-texto { background: var(--azul); }
.texto-legal { max-width: 1100px; }
.texto-legal h2 { font-size: 1.5rem; line-height: 1.15; margin: 2.5rem 0 1rem; }
.texto-legal p, .texto-legal li { margin-bottom: 24px; }
.texto-legal ul { padding-left: 20px; }

@media screen and (max-width:1706px) {
	.section-title.escalonado .line-1, .section-title.escalonado .line-2, .section-title.escalonado .line-4 { padding-left: 21%; }
}
@media screen and (max-width:1400px) {
	.portada h1 { font-size: 80px; line-height: 90px; }
	.dia-num { flex-basis: 200px; }
	.dia-num b { font-size: 80px; line-height: 86px; }
}
@media screen and (max-width:1170px) {
	.content-wrap { padding: 0 65px; }
	.section-tag { left: 65px; }
	.portada h1 { font-size: 64px; line-height: 70px; }
	.section-title { font-size: 42px; line-height: 46px; }
	.razones, .semanas { flex-wrap: wrap; }
	.razon, .semana { flex: 0 0 calc(50% - 10px); }
	.razon-titulo { height: auto; min-height: 160px; }
	.dias { grid-template-columns: 1fr; }
	.dia, .dia:nth-child(even) { padding: 40px 0; border-right: 0; }
	.dia:nth-last-child(2) { border-bottom: 2px solid var(--linea); }
	.precios, .precios-nota, .rubros { width: 100%; }
	.contacto-lado { padding-left: 0; }
	.insignias { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width:1024px) {
	.page-section { margin-bottom: 100px; }
	.hatbar-nav a { padding: 7px 10px; font-size: 12px; }
	.jornada-fila, .carta-fila { flex-direction: column; }
	.jornada-fila figure { flex: none; width: 100%; }
	.carta-marca { display: none; }
	.carta-cita:before { position: static; display: block; height: 90px; }
}
@media screen and (max-width:900px) {
	.portada h1 { font-size: 48px; line-height: 54px; }
	.portada-derecha p { font-size: 22px; line-height: 28px; }
	.hatbar-nav {
		display: none;
		position: fixed;
		inset: 0;
		z-index: -1;
		flex-direction: column;
		padding: 120px 35px 40px;
		background: var(--azul);
		overflow-y: auto;
	}
	.menu-abierto .hatbar-nav { display: flex; }
	.menu-abierto .hatbar { background: var(--azul); }
	.hatbar-nav a { border: 0; padding: 6px 0; font-size: 32px; line-height: 40px; font-weight: 800; }
	.hatbar-nav a:hover { background: none; color: var(--fondo); }
	.menu_toggle { display: block; }
	.carta-abajo { flex-direction: column; }
	.carta-abajo img { width: 100%; }
}
@media screen and (max-width:781px) {
	.content-wrap { padding: 0 35px; }
	.section-tag { position: relative; top: 0; left: 0; display: block; font-size: 16px; line-height: 24px; margin-bottom: 14px; }
	.section-title, .section-title.escalonado, .section-lead, .texto-mitad, .foto-mitad { width: 100%; }
	.section-title { font-size: 36px; line-height: 40px; margin-bottom: 40px; }
	.section-title.escalonado .line-1, .section-title.escalonado .line-2, .section-title.escalonado .line-4 { padding-left: 0; }
	.section-title.escalonado div { display: inline; }
	.portada { padding: 150px 0 60px; min-height: 0; }
	.portada h1 { font-size: 38px; line-height: 44px; margin-bottom: 40px; }
	.portada .button { width: 100%; padding: 14px 20px; }
	.page-banner { padding: 150px 0 50px; }
	.page-banner h1 { font-size: 36px; line-height: 42px; }
	.page-banner .portada-derecha p { font-size: 18px; line-height: 24px; }
	.razon, .semana { flex: 0 0 100%; }
	.razon-titulo, .semana-titulo { min-height: 0; padding: 24px; }
	.razon-texto { height: auto; padding: 24px; }
	.razon:nth-child(n) .razon-titulo, .razon:nth-child(n) .razon-texto { background: none; }
	.razon:nth-child(odd) .razon-titulo, .razon:nth-child(even) .razon-texto { background: var(--azul); }
	.dia { flex-direction: column; gap: 0; }
	.dia-num { flex: none; }
	.precio-fila { grid-template-columns: 1fr; gap: 8px; }
	.rubros { columns: 1; }
	.precio-fila .monto { text-align: left; }
	.contacto-fila, .fila-campos { flex-direction: column; gap: 0; }
	.contacto-lado { padding: 0 0 30px; }
	.tarjeta { width: 82vw; flex-direction: column; gap: 20px; }
	.arrastre { padding-left: 35px; cursor: auto; }
	.burbuja-arrastre { display: none; }
	.insignias { grid-template-columns: 1fr; }
	.lowbar-cols, .lowbar-abajo { flex-direction: column; align-items: flex-start; }
	.lowbar .derecha { text-align: left; }
	.lowbar-marca { font-size: 36px; line-height: 38px; }
	.cookies-caja { left: 15px; bottom: 15px; padding: 20px; }
}
@media screen and (max-width:480px) {
	.content-wrap { padding: 0 15px; }
	.section-title { font-size: 32px; line-height: 40px; }
	.portada h1 { font-size: 28px; line-height: 40px; }
	.arrastre { padding-left: 15px; }
}
