@charset "utf-8";

* {
	margin: 0;
	padding:0;
	-webkit-box-sizing:border-box;
    -moz-box-sizing:   border-box;
    box-sizing:        border-box;
}
html {
	scroll-behavior: smooth;
	--negro: #0d0202;
	--blanco: #ffffff;
	--gris: #d9d9d9;
	--grisFuerte: #838383;
	--rojo: #E1251B;
	--rojo2: #812b2f;
	
	--rosa: #ee69a8;
	--salmon: #ff9593;
	
	--width: calc(100% - 42px);
	--maxWidth: 1200px;
	--round: 42px;
}

body {
	font-family: 'Montserrat';
	font-weight: normal;
	color: var(--negro);
	background: var(--blanco);
	line-height:1.4;
	letter-spacing: 0.06em;
	overflow-x:hidden !important;
}

h1 {
	line-height:1;
	font-family: 'PPSuply Bold';
	font-weight: normal;
	font-size: 3em;
	text-wrap: balance;
}
h2 {
	line-height:1;
	font-family: 'PPSuply Bold';
	font-weight: normal;
	font-size: 2.4em;
	text-wrap: balance;
}
h3 {
	font-family: 'PPSuply';
	font-weight: normal;
	font-size: 1.8em;
	text-wrap: balance;
}

a {
	font-size: 1em;
    text-decoration:none;
	color: var(--negro);
	cursor: pointer;
	transition: all 0.6s ease-in-out;
}
a:active {
	outline: none;
    border: none;
}
button {
	font-family: 'Montserrat Bold';
	font-size:1em;
	border-radius: 0 !important;
	cursor: pointer !important;
	border: none;
	transition: all 0.6s ease-in-out;
}
button:active {
    outline: none;
    border: none;
}
button:hover {
	cursor:pointer;
}
button:focus,
input:focus,
textarea:focus {
	outline:none;
}
p {
	text-wrap: pretty;
}
p, ul {
	font-size:0.9em;
}
p b,
p em {
	font-family: 'Montserrat Bold';
	font-weight: normal;
}

::selection {
	color: var(--blanco);
	background: var(--grisFuerte);
}
::-moz-selection {
	color: var(--blanco);
	background: var(--grisFuerte);
}

/* --------------------------- style --------------------------- */

#cortina {
	width: 100vw;
	height:100vh;
	position: fixed;
	opacity: 0;
	top: 0;
	left:0;
	background: var(--blanco);
	animation: gone 0.9s;
	pointer-events: none !important;
	z-index: 66;
}
@-webkit-keyframes gone {
	0% {
		opacity: 1;
	}
	42% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@-moz-keyframes gone {
	0% {
		opacity: 1;
	}
	42% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes gone {
	0% {
		opacity: 1;
	}
	42% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

.btn {
	width: auto;
	font-family: 'Montserrat';
	font-size: 1em;
	color: var(--blanco);
	background: transparent;
	padding:12px 27px;
	border-radius: 30px !important;
	position: relative;
	display: inline-block;
	overflow: hidden;
	z-index: 3;
}
.btn:hover,
.btn.active {
	color: var(--negro);
}
.btn::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--rojo);
	z-index: -3;
}
.btn::before {
	content: '';
	width: 0;
	height:100%;
	position: absolute;
	top: 0;
	left:0;
	background: var(--blanco);
	border-radius: 0 24px 24px 0;
	transition: all 0.3s ease-in-out;
	z-index: -1;
}
.btn:hover::before,
.btn.active::before {
	width: 100%;
}
.btn span {
	font-size: 1.2em;
	padding:0 0 3px;
	vertical-align: middle;
}

.btn.blanco {
	color: var(--rojo);
}
.btn.blanco:hover,
.btn.blanco.active {
	color: var(--blanco);
}
.btn.blanco::after {
	background: var(--blanco);
}
.btn.blanco::before {
	background: var(--rojo);
}

body.cntr {
	width: 100vw;
	min-height:100vh;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
#contenedor {
	width: var(--width);
	max-width: var(--maxWidth);
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	z-index: 3;
}
#contenedor > div {
	position: relative;
	animation-duration: 1.2s;
	animation-delay: 0.7s;
}
#contenedor .izq {
	width: calc(60% - 15px);
	color: var(--blanco);
	background: var(--negro);
	overflow: hidden;
	border-radius: var(--round);
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding:60px;
	align-items: flex-start;
}
#contenedor .izq h1 {
	font-size: 6em;
}
#contenedor .izq *:not(.fondo, figure) {
	position: relative;
	z-index: 3;
}
#contenedor .izq img.fondo {
	width: 102%;
	height:102%;
	object-fit: cover;
	position: absolute;
	z-index: 0;
}
#contenedor .izq.taba {
	align-items: flex-end;
}
svg {
	fill: transparent;
	stroke-width: 3px;
	stroke-miterlimit: 10;
}
#contenedor .izq.taba svg {
	width: 480px;
	stroke: var(--blanco);
	position: absolute;
	top: 0;
	left:0;
	transform: translate(-30%,-36%);
	z-index: 1;
}

#contenedor .der {
	width: calc(40% - 15px);
}
#contenedor .der .capRoja {
	width: 100%;
	margin: 0 0 30px;
	background: var(--rojo);
	position: relative;
	overflow: hidden;
	border-radius: var(--round);
}
#contenedor .der .capRoja .logo {
	width: 100%;
	padding:48px 60px;
	position: relative;
	z-index: 6;
}
#contenedor .der .capRoja .fondo {
	width: 102%;
	height:102%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	opacity: 0.6;
	z-index: 1;
}
#contenedor .der form {
	width: 100%;
	background: var(--gris);
	border-radius: var(--round);
	padding:48px 60px;
}
#contenedor .der form .tit {
	width: 100%;
	text-align: center;
	margin: 0 0 30px;
}
#contenedor .der form .subtit {
	width: 100%;
	text-align: center;
	margin: 0 0 18px;
}
#contenedor .der form .texto {
	text-align: center;
	margin: 0 0 30px;
}
form number {
	opacity: 0.6;
}
.parr {
	width: 100%;
	position: relative;
	display: flex;
	gap: 24px;
	margin: 0 0 30px;
}
.parr > div {
	width: 100%;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}
.parr > div label {
	width: 100%;
	font-family: 'Montserrat Bold';
	font-size: 0.9em;
}
.parr > div label span {
	color: var(--rojo);
}
.parr > div input {
	width: 100%;
	font-family: 'Montserrat';
	font-size: 1em;
	padding:6px 12px;
	border: solid 1px var(--blanco);
	transition: all 0.3s ease-in-out;
}
.parr > div input:focus {
	border-color: var(--negro);
}
.parr > div a {
	font-size: 0.7em;
	text-decoration: underline;
}

.parr.enviar {
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin: 0;
}
.parr.enviar p {
	font-size: 0.7em;
}
.parr.enviar p a {
	color: var(--rojo);
}

@media screen and (max-width:666px) {
	
	html {
		--width: calc(100% - 30px);
		scroll-padding: 60px;
		
		--round: 30px;
	}
	
	p, ul {
		font-size: 0.8em;
	}
	
	h1 {
		font-size: 1.8em;
	}
	h2 {
		font-size: 1.5em;
	}
	h3 {
		font-size: 1.2em;
	}
	
	.btn {
		font-size: 0.8em;
		padding:9px 21px;
		border-radius: 24px !important;
	}
.btn span {
	font-size: 1.2em;
}

	#contenedor {
		margin: 30px auto 30px;
		padding:0 0 210px;
		flex-wrap: wrap;
		gap: 30px;
	}
	#contenedor .izq {
		width: 100%;
		order: 2;
	color: var(--blanco);
	background: var(--negro);
	overflow: hidden;
	border-radius: var(--round);
	position: relative;
	display: flex;
	flex-wrap: wrap;
		padding:60px 42px;
	}
	#contenedor .izq h1 {
		font-size: 3em;
	}
	#contenedor .izq.taba svg {
		width: 210px;
		transform: translate(-24%,-30%);
		opacity: 0.5;
	}

	#contenedor .der {
		width: 100%;
		order: 1;
	}
#contenedor .der .capRoja {
	width: 100%;
	margin: 0 0 30px;
	background: var(--rojo);
	position: relative;
	overflow: hidden;
	border-radius: var(--round);
}
#contenedor .der .capRoja .logo {
	width: 100%;
	padding:48px 60px;
}
#contenedor .der .capRoja .fondo {
	width: 102%;
	height:102%;
	object-fit: cover;
}
	#contenedor .der form {
		padding:48px 30px;
	}
	#contenedor .der form .tit {
		margin: 0 0 27px;
	}
	#contenedor .der form .texto {
		margin: 0 0 24px;
	}
	.parr {
		gap: 18px;
		margin: 0 0 27px;
	}
	.parr > div {
		gap: 7px;
	}
	.parr > div label {
		font-size: 0.7em;
	}
.parr > div input {
	width: 100%;
	font-family: 'Montserrat';
	font-size: 1em;
	padding:6px 12px;
	border: solid 1px var(--blanco);
	transition: all 0.3s ease-in-out;
}
.parr > div input:focus {
	border-color: var(--negro);
}
.parr > div a {
	font-size: 0.7em;
	text-decoration: underline;
}

.parr.enviar {
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin: 0;
}
.parr.enviar p {
	font-size: 0.7em;
}
.parr.enviar p a {
	color: var(--rojo);
}
	
}