html, body, div, h1, h2, h3, h4, h5, h6, p, img, ul, li, header, nav, aside
{
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	box-sizing: border-box;
	border-collapse: collapse;
}

* {
	outline: none;
 	box-sizing: border-box;
    -moz-box-sizing: border-box; 
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
}

footer, header {
	display: block;
}

html {
	border-collapse: collapse;
	background-color: #FFF9F0;
}

a {
	outline: none;
	text-decoration: none;
	color: inherit;
}

nav ul li, nav ul {
	margin: 0;
	list-style: none;
	list-style-image: none;
}

a:link {
	text-decoration: none;
}

body {
	overflow-x: hidden;
}



/* FUENTES */

@import url('https://fonts.googleapis.com/css2?family=Baskervville:ital,wght@0,400..700;1,400..700&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');


/* COLORES */

.white {
	color: #FFFFFF;
}

.black {
	color: #191919;
}

.beige {
	color: #FCECD7;
}

.granate {
	color: #4C0910;
}

.red {
	color: #A80517;
}

.rose {
	color: #E598B7;
}

.b_white {
	background-color: #FFFFFF;
}

.b_black {
	background-color: #191919;
}

.b_granate {
	background-color: #4C0910;
}

.b_red {
	background-color: #A80517;
}


.b_beige {
	background-color: #FFF9F0;
}


/* ALINEACIONES */

.align_center {
	text-align: center;
}

.align_left {
	text-align: left;
}

.align_right {
	text-align: right;
}



/* TEXTOS */

h1 {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 44px;
	line-height: 56px;
}

h2 {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 44px;
	line-height: 56px;
}

p {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 32px;
}

ul li, ul {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 18px;
	list-style-type: none;
}

.bold {
	font-weight: 800;
}

.italic {
	font-style: italic;
}



/* GENERAL */

.h1920 {
	max-width: 1920px;
}

.h1440 {
	max-width: 1440px;
}

.fade_in {
	opacity: 0;
	transform: translateY(40px); /* opcional */
	transition: opacity 1s ease 0.5s, transform 1s ease 0.5s;
	}

.fade_in.visible {
    opacity: 1 !important;
    transform: translateY(0);
}


/* MENÚ */

.menu {
	display: flex;
	flex-direction: row;
	width: 100%;
	height: 138px;
	position: fixed;
	top: 0;
	z-index: 100;
	transition: all 0.25s ease-out;
}

.menu_box {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	padding: 48px 190px;
	transition: all 0.25s ease-out;
}

.menu_logo {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	width: 250px;
}
	
.menu_ul {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	width: calc(100% - 250px);
}

.menu_ul ul {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.menu_ul ul li {
	margin: 0 0 0 37px;
}

.menu_ul ul li:hover, .idioms p button:hover {
	color: #E598B7;
	cursor: pointer;
	transition: 0.25s color;
}

.idioms {
	margin: 0 0 0 45px;
}

.idioms p, .idioms p button {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 20px;
	line-height: 20px;
}

.idioms p button {
	background-color: transparent;
	border: none;
}

.menu_ul_phone {
	display: none;
}

.menu_ul_phone {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 90;
    transform: translate(100%, 0%);
    transition: all 1s ease-out;
}

.visible {
    transform: translate(0%, 0%);
    transition: all 1s ease-out;
}

.menu_ul_phone_box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: calc(115px + 48px) 48px 48px;
}

hr.hr_menu_phone {
	margin: 50px 0;
}

.idioms_menu_phone {
	margin: 0;
}

.menu_ul_phone_box ul li {
	font-size: 38px;
	line-height: 200%;
}

.idioms_menu_phone p a, .idioms_menu_phone p, .idioms_menu_phone p button {
	font-size: 30px !important;
	line-height: 200%;
}

.box_menu {
	margin: 40px 0 0 0;
	width: 100% !important;
}

.box_menu p {
	font-size: 26px;
	line-height: 144%;
}

.menu_rrss a div p {
	font-size: 38px !important;
	line-height: 144%;
}

.menu_rrss .footer_rrss_instagram svg, .menu_rrss .footer_rrss_linkedin svg {
	width: 19px;
}

.svg_acento_menu {
	fill: #FCECD7;
	width: 11px;
	margin: 0 7px 0 0;
}

.footer_rrss_instagram:hover .svg_acento_menu, .footer_rrss_linkedin:hover .svg_acento_menu {
	fill: #E598B7;
	transition: 0.25s fill;
	transition: 0.25s transform;
	animation: acento 1s linear 0s infinite;
}

.shrink_menu {
	height: 100px;
	transition: all 0.25s ease-out;
}

#img_menu_logo {
	width: 100%;
	transition: width 0.25s ease-out;
}

.shrink_menu_logo {
	width: 80% !important;
	transition: width 0.25s ease-out;
}




/* FOOTER */

.footer {
	width: 100%;
	background-image: url('../img/pattern.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.footer_inside {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 150px 200px 100px;
}

.footer_paprika {
	width: 100%;
	display: flex;
	justify-content: row;
	align-items: center;
}

.footer_paprika img {
	width: 186px;
}

.footer_paprika p {
	font-size: 36px;
	margin: 0 0 0 30px;
}

.footer_paprika p span {
	font-family: "Baskervville", "Open Sans", sans-serif;
}

hr.line_footer {
	border-top: 1px solid #FCECD7;
	border-bottom: none;
	margin: 50px 0;
}

.footer_description {
	width: 100%;
	display: flex;
	justify-content: row;
}

.footer_description p {
	font-size: 20px;
	line-height: 30px;
}

.box_footer_a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50%;
}

a.underline {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.box_footer_a p a:hover {
	color: #E598B7;
	transition: 0.25s color;
}

.footer_rrss {
	display: flex;
	width: 100%;
	margin: 50px 0 0 0;
}

.footer_rrss p {
	font-size: 20px;
	line-height: 26px;
}

.footer_rrss a div p {
	font-size: 22px;
    line-height: 30px;
}

.footer_rrss a {
	display: flex;
	flex-direction: row;
}

.footer_rrss_instagram, .footer_rrss_linkedin {
	display: flex;
	flex-direction: row;
	margin: 0 25px 0 0;
	align-items: center;
	transition: 0.25s color;
}

.footer_rrss_instagram:hover p, .footer_rrss_linkedin:hover p {
	color: #FCECD7;
	transition: 0.25s color;
}

.svg_arrow {
	stroke: #FCECD7;
}

.footer_rrss_instagram:hover .svg_arrow, .footer_rrss_linkedin:hover .svg_arrow {
	stroke: #E598B7;
	transition: 0.25s transform;
	animation: arrow 1s linear 0s infinite;
}

.svg_acento_footer {
	fill: #FCECD7;
	width: 11px;
	margin: 0 7px 0 0;
}

.footer_rrss_instagram:hover .svg_acento_footer, .footer_rrss_linkedin:hover .svg_acento_footer {
	fill: #E598B7;
	transition: 0.25s fill;
	transition: 0.25s transform;
	animation: acento 1s linear 0s infinite;
}

@keyframes arrow {
	0%   {transform: translateY(0px);}
	50%  {transform: translateY(-5px);}
	100% {transform: translateY(0px);}
}

.box_footer_b {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	width: 50%;
}

.box_footer_b ul li a, .box_footer_b ul li {
	font-size: 20px;
	line-height: 40px;
	color: #E598B7;
	transition: 0.25s color;
}

.box_footer_b ul li a:hover, .box_footer_b ul li:hover {
	color: #FCECD7;
	transition: 0.25s color;
}







/* INDEX */

.present, .impulsa, .conocemos, .footer {
	display: flex;
	width: 100%;
}

.present {
	padding: 138px 0 0 0;
}

.present_description {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding: 105px 0 105px 0;
}

.description_a {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 0 78px 0;
}

.description_a img {
	width: 68px;
	animation: rotate 8s linear 0s infinite;
	margin: 0 0 28px 0;
}

@keyframes rotate {
	from {transform: rotate(0deg);}
	to   {transform: rotate(360deg);}
}

.description_a h1 {
	margin: 0 0 28px 0;
}

p.en_paprika span {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 30px;
}

.description_b {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 100px 0 100px 0;
}

.tres_items {
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 1150px;
	height: 177px;
	margin: 44px 0;
}

.tres_items_forma, .tres_items_direccion, .tres_items_ritmo {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 33.33%;
}

.tres_items_direccion {
	border-right: 1px solid #4C0910;
	border-left: 1px solid #4C0910;
}

.tres_items p {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 44px;
	font-style: italic;
	margin: 15px 0 0 0;
}

.tres_items_acento {
	width: 100%;
}

img.img_acento_forma {
	transform: translateX(45%);
}

img.img_acento_ritmo {
	transform: translateX(45%);
}

.impulsa_banner {
	display: flex;
	flex-direction: row;
	width: 100%;
}

.impulsa_photo {
	display: flex;
	width: 50%;
	background-image: url('../img/group-2.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.impulsa_text {
	display: flex;
	justify-content: center;
	width: 50%;
	padding: 200px 200px 200px 130px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align: center;
}

/* CTA projects block (What we do) */
.impulsa_text_projects {
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

hr.line_footer_beige {
	display: block;
	width: 100%;
	border: none;
	border-top: 2px solid #FCECD7;
	margin: 0;
}

.conocemos {
	
}

.conocemos_description {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 120px 0;
}

.conocemos_description p {
	margin: 0 0 65px 0;
}

.button_conocemos {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.button_conocemos svg {
	margin: 0 0 0 10px;
}

.svg_acento_conocemos {
	width: 22px;
	fill: #A80517;
	transition: 0.25s fill;
}

.button_conocemos h2:hover + .svg_acento_conocemos {
	fill: #E598B7;
	transition: 0.25s fill;
	transition: 0.25s transform;
	animation: acento 1s linear 0s infinite;
}

@keyframes acento {
	0%   {transform: translateY(0px);}
	50%  {transform: translateY(-5px);}
	100% {transform: translateY(0px);}
}


/* CONTACTO */

.contact {
	padding: 138px 0 95px 0;
}

.contact_box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 1300px !important;
	margin: 0 auto;
}

.contact_title {
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 100%;
	padding: 95px 0 75px 0;
}

.contact_title img {
	width: 100px;
	height: 100px;
	margin: 10px 10px 0 0;
	animation: rotate 8s linear 0s infinite;
}

.contact_a {
	width: calc(100% - 100px - 10px);
}

.contact_form, form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 40px 80px;
	width: 100%;
}

.form_50 {
	display: flex;
	width: calc(50% - 40px);
	padding: 15px 0;
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: 1px solid #4C0910;
	background-color: #FFF9F0;
}

.form_100 {
	display: flex;
	width: 100%;
	height: 110px;
	padding: 15px 0;
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: 1px solid #4C0910;
	background-color: #FFF9F0;
}

.contact_form, form input, form textarea {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 22px;
	line-height: 32px;
	color: #4C0910;
}

.contact_form, form ::placeholder {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 22px;
	line-height: 32px;
	color: rgba(76, 9, 16, 0.32);
}

.form_envio {
	display: flex;
	flex-direction: row;
	width: 100%;
}

.button_envio {
	display: flex;
	width: 50%;
}

.button_envio button {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	background-color: #FFF9F0;
	border: none;
	cursor: pointer;
}

.button_envio button p {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 44px;
	line-height: 56px;
}

.button_envio button svg {
	margin: 0 0 0 10px;
}

.button_envio button p:hover + .svg_acento_conocemos {
	fill: #E598B7;
	transition: 0.25s fill;
	transition: 0.25s transform;
	animation: acento 1s linear 0s infinite;
}

.privacidad {
	color: #A80517;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	width: 50%;
}

.privacidad label {
	color: #A80517;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}

.privacidad a {
	text-decoration: underline;
}

.privacidad input {
	position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkmark {
    width: 35px;
    height: 35px;
    background-color: #FCECD7;
    border-radius: 5px;
    display: inline-block;
    position: relative;
}

.privacidad input:checked + .checkmark::after,
.privacidad input:checked + .checkmark::before  {
    content: "";
    position: absolute;
    top: 20%;
    left: 50%;
    width: 1px;
    height: 20px;
    background-color: #A80517;
}

.privacidad input:checked + .checkmark::before {
    transform: rotate(45deg);
}

.privacidad input:checked + .checkmark::after {
    transform: rotate(-45deg);
}

.privacidad label p {
	margin: 0 0 0 10px;
}

.form_status {
  	margin-top: 20px;
  	width: 100%;
}


/* POLÍTICA DE COOKIES Y PRIVACIDAD */

.pol_legal {
	padding: calc(138px + 180px) 0 95px 0;
}

.pol_legal_box {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	max-width: 1200px !important;
	margin: 0 auto;
}

.pol_legal_box h1 {
	margin: 0 0 45px 0;
}

.pol_legal_box p, .pol_legal_box ul li {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 32px;
}

.pol_legal_box ul  {
	padding: 0 0 0 4%;
}

.pol_legal_box ul li {
	list-style-type: disc !important;
}




/* QUÉ HACEMOS */

.what_we_do {
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.what_we_do_description {
	max-width: 1200px !important;
}

.what_we_do_a {
	margin: 0 0 105px 0;
}

.what_we_do_b {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.box_what_we_do {
	display: flex;
	width: 100%;
	flex-direction: column;
}

.box_what_we_do_out {
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: space-between;
	cursor: pointer;
}

h2.h2_what_we_do_out {
	font-size: 26px;
	line-height: 26px;
}

.box_what_we_do_in {
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	padding: 50px 40px 20px;
	max-height: 500px; /* ajusta según el contenido */
  	opacity: 1;
	transition: max-height 1s ease, opacity 1s ease, padding 1s ease;
}

.hidden_what_we_do_in {
	padding: 0 40px;
	max-height: 0;
	opacity: 0;
}

p.p_box_what_we_do_text {
	margin: 30px 0;
}

.button_solicita_info {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
}

.button_solicita_info svg {
	margin: 0 0 0 10px;
}

.svg_acento_que_hacemos {
	width: 22px;
	fill: #A80517;
	transition: 0.25s fill;
}

.button_solicita_info p:hover + .svg_acento_que_hacemos {
	fill: #E598B7;
	transition: 0.25s fill;
	transition: 0.25s transform;
	animation: acento 1s linear 0s infinite;
}

.button_cases {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	width: 100%;
	cursor: pointer;
}

.button_cases svg {
	margin: 0 0 0 10px;
}

/* Mantener el mismo hover/animación que "Solicita más información" */
.button_cases p:hover + .svg_acento_que_hacemos {
	fill: #E598B7;
	transition: 0.25s fill;
	transition: 0.25s transform;
	animation: acento 1s linear 0s infinite;
}

p.p_more_info_contact {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 22px;
}

hr.line_what_we_do {
	display: flex;
	width: 100%;
	border-top: 1px solid #4C0910;
	border-bottom: none;
	margin: 25px 0;
}

.what_we_do_image {
	display: flex;
	width: 100%;
	height: 700px;
	background-image: url('../img/group-what-we-do.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

svg.button_plus line.plus_line_b {
	opacity: 1;
	transition: 0.25s opacity;
}

.plus_line_hidden {
	opacity: 0 !important;
	transition: 0.25s opacity;
}




/* QUÉ HACEMOS */

.we_are {
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.we_are_image {
	display: flex;
	width: 100%;
	height: 500px;
	background-image: url('../img/SOMOS-PAPRIKA.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.we_are_description {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
	width: 100%;
	background-image: url('../img/pattern.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.box_we_are {
	max-width: 1400px !important;
	padding: 100px 0 100px;
	margin: 0;
}

.we_are_form {
	display: flex;
}

img.img_form_we_are {
	position: absolute;
	width: 100px;
	animation: rotate 8s linear 0s infinite;
	translate: -50% -50%;
}

.we_are_pilares {
	width: 100%;
	max-width: 1400px !important;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin: 125px 0;
}

.we_are_pilares_a {
	width: calc(45% - 45px);
	display: flex;
	flex-direction: column;
}

.we_are_pilares_b {
	width: calc(55% - 45px);
	display: flex;
	flex-direction: column;
}

.we_are_pilares_a h2 {
	margin: 0 0 45px 0;
}

.box_we_are_pilares {
	display: flex;
	width: 100%;
	flex-direction: column;
}

.box_we_are_out {
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
}

.subbox_we_are_out {
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: flex-start;
}

.subbox_we_are_out img {
	margin: 0 20px 0 0;
}

img.img_acento_forma_pilares {
	width: 30px;
}

img.img_acento_direccion_pilares {
	width: 25px;
}

img.img_acento_ritmo_pilares {
	width: 25px;
}

h3.h3_we_are_out {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 36px;
	line-height: 100%;
	font-style: italic;
	margin: 2px 0 0 0;
}

.box_we_are_in {
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	padding: 50px 40px 20px;
	max-height: 500px; /* ajusta según el contenido */
  	opacity: 1;
	transition: max-height 1s ease, opacity 1s ease, padding 1s ease;
}

.hidden_we_are_in {
	padding: 0 40px;
	max-height: 0;
	opacity: 0;
}

hr.line_we_are {
	display: flex;
	width: 100%;
	border-top: 1px solid #4C0910;
	border-bottom: none;
	margin: 40px 0;
}

hr.line_we_are_big {
	margin: 0 !important;
	max-width: 1400px !important;
}

.we_are_equipo {
	width: 100%;
	max-width: 1400px !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 120px 0 0 0;
}

.we_are_equipo_a {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.we_are_equipo_b {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	gap: 120px;
	margin: 90px 0 0 0px;
}

.we_are_equipo_a h2 {
	margin: 0 0 45px 0;
}

.box_we_are_equipo {
	width: calc(50% - 30px);
	max-width: 450px;
}

.box_we_are_image {
    width: 100%;
    aspect-ratio: 700 / 609;
    position: relative;
    overflow: hidden;
    background-color: #ccc;
    cursor: pointer;
}

.img_photo_a {
	background-image: url('../img/elisa-encina.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transform: scale(1.0);
}

.img_photo_b {
	background-image: url('../img/marta-villafanez.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.img_photo_c {
	background-image: url('../img/gabriela-gomez.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.box_we_are_image_hidden {
    position: absolute;
    inset: 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    padding: 10%;
    background-image: url('../img/pattern.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.box_we_are_image:hover .box_we_are_image_hidden {
    opacity: 1;
}

.box_we_are_image_hidden_phone {
    opacity: 1;
}

.box_we_are_names {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 70px 0 0 0;
}

p.p_box_we_are_name {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 26px;
	line-height: 144%;
	margin: 0 0 25px 0;
	transition: color 0.5s ease;
}

p.p_box_we_are_text span {
	font-size: 20px;
	line-height: 144%;
	letter-spacing: 5px;
}

p.p_box_we_are_name:hover {
	color: #A80517;
}







/* PROYECTOS */

.projects {
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.projects_description {
	max-width: 1400px !important;
}

.projects_b {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 35px 115px;
	margin: 50px 0 0 0;
}

.box_projects_column {
	width: calc(50% - 115px/2);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.box_projects {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	margin: 0 0 50px 0;
}

.box_projects_out {
	display: flex;
	width: 100%;
	height: 65px;
	flex-direction: row;
	justify-content: space-between;
	cursor: pointer;
	align-items: center;
}

p.p_projects_out {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 26px;
	line-height: 120%;
	padding: 0 20px 0 0;
}

.box_projects_in {
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	padding: 70px 0 20px;
	max-height: 500px; /* ajusta según el contenido */
  	opacity: 1;
	transition: max-height 1s ease, opacity 1s ease, padding 1s ease;
}

.hidden_projects_in {
	padding: 0;
	max-height: 0;
	opacity: 0;
}

p.p_box_projects_text {
	margin: 0 0 25px 0;
}

img.img_projects_header_client {
	width: 400px;
	margin: 25px 0;
}

.box_projects_header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 0 15%;
}

.box_projects_image {
    position: relative;
    width: 100%;
    aspect-ratio: 1.2 / 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.box_projects_image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.0);
}

.box_projects_image img.img_hover {
    opacity: 0;
    transition: opacity 1s ease;
}

.box_projects_image:hover img.img_hover {
    opacity: 1;
    animation: scaleprojects 1s ease;
}

.box_projects_image:hover img.img_base {
    animation: scaleprojectsreverse 1s ease;
}

@keyframes scaleprojects {
	0%   {transform: scale(1.2);}
	100% {transform: scale(1.0);}
}

@keyframes scaleprojectsreverse {
	0%   {transform: scale(1.0);}
	100% {transform: scale(1.2);}
}




/* LOGOS (PROYECTOS) */

.logos_trust {
	padding: 120px 0;
}

.logos_trust_container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.h2_logos_trust {
	text-align: center;
	margin: 0 0 70px 0;
}

.logos_trust_grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 55px 70px;
	width: 100%;
	max-width: 1400px;
	padding: 0 100px;
	align-items: center;
	justify-items: center;
}

.logos_trust_grid img {
	width: 100%;
	max-width: 170px;
	height: auto;
	object-fit: contain;
}

@media only screen and (max-width: 1400px) {
	.logos_trust_grid {
		grid-template-columns: repeat(6, 1fr);
		gap: 45px 55px;
		padding: 0 80px;
	}
}

@media only screen and (max-width: 1000px) {
	.logos_trust_grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px 45px;
		padding: 0 40px;
	}
}

@media only screen and (max-width: 700px) {
	.logos_trust {
		padding: 95px 0;
	}
	.h2_logos_trust {
		margin: 0 0 55px 0;
	}
	.logos_trust_grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 30px 30px;
		padding: 0 30px;
	}
	.logos_trust_grid img {
		max-width: 80px;
	}
}

@media only screen and (max-width: 480px) {
	.logos_trust_grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 25px 20px;
		padding: 0 25px;
	}
	.logos_trust_grid img {
		max-width: 80px;
	}
}






















/* RESPONSIVE 1920 */


@media only screen and (max-width: 1920px) {

	

	

}




/* RESPONSIVE 1600 */


@media only screen and (max-width: 1600px) {

	h1 {
		font-size: 32px;
		line-height: 46px;
	}

	h2 {
		font-size: 32px;
		line-height: 46px;
	}

	p {
		font-size: 16px;
		line-height: 25px;
	}

	/* MENÚ */

	.menu_box {
		padding: 48px 100px;
	}

	/* HOME */

	.present_description {
		padding: 90px 0 115px;
	}

	.description_a {
		margin: 0 0 150px 0;
	}

	p.en_paprika span {
	    font-size: 22px;
	}

	.tres_items {
		width: 1150px;
	    height: 177px;
	    margin: 40px 0;
	}

	.tres_items p {
		font-size: 36px;
		margin: 12px 0 0 0;
	}

	.tres_items_acento img {
		height: 50px;
	}

	.impulsa_text {
		padding: 165px;
	}

	.conocemos_description {
		padding: 110px 0;
	}

	/* FOOTER */

	.footer_inside {
		padding: 80px 100px;
	}

	.hr.line_footer {
		margin: 40px 0 60px;
	}

	.footer_description p {
    	font-size: 16px;
	    line-height: 24px;
	}

	.footer_rrss a div p {
		font-size: 22px;
	    line-height: 33px;
	}

	.box_footer_b ul li a, .box_footer_b ul li {
	    font-size: 16px;
	    line-height: 34px;
	}

	/* CONTACTO */

	.contact_box {
	    padding: 0 120px;
	}

	.contact_form, form ::placeholder {
		font-size: 18px;
		line-height: 27px;
	}

	.button_envio button p {
		font-size: 36px;
		line-height: 50px;
	}

	/* LEGAL */

	.pol_legal_box p, .pol_legal_box ul li {
		font-size: 18px;
		line-height: 144%;
	}

	/* SOMOS PAPRIKA */

	.we_are_image {
		height: 400px;
	}

	.we_are_description {
		max-width: 100%;
		padding: 90px 100px 115px;;
	}

	.box_we_are {
		margin: 0;
		padding: 0;
	}

	.we_are_pilares {
	    max-width: 100% !important;
	    padding: 0 100px;
	}

	hr.line_we_are_big {
	    max-width: 100% !important;
	    width: calc(100% - 200px);
	}

	.we_are_equipo {
	    max-width: 100% !important;
	    padding: 0 100px;
	}

	h3.h3_we_are_out {
		font-size: 32px;
	}

	p.p_box_we_are_name {
	    font-size: 24px;
	}

	p.p_box_we_are_text span {
	    font-size: 16px;
	}

	/* QUÉ HACEMOS */

	h2.h2_what_we_do_out {
	    font-size: 22px;
	    line-height: 100%;
	}

	.box_what_we_do_in {
	    padding: 40px 40px 0px;
	}

	.hidden_what_we_do_in {
		padding: 0 40px;
	}

	.what_we_do_image {
	    height: 500px;
	}

	/* PROYECTOS */

	.projects_description {
	    max-width: 100% !important;
	    padding: 90px 100px 115px;
	}

	.projects_a {
		margin: 0 0 75px 0;
	}

	img.img_projects_header_client {
	    width: 300px;
	    margin: 3% 0;
	}

	p.p_projects_out {
	    font-size: 22px;
	}

	.box_projects_in {
	    padding: 5% 0 2%;
	}

	.hidden_projects_in {
		padding: 0;
	}

	.line_proyects {
		margin: 4% 0 !important;
	}

	p.p_more_info_contact {
	    font-size: 18px;
	    line-height: 100%;
	}

	svg.svg_acento_que_hacemos {
		width: 18px;
	}

}




/* RESPONSIVE 1400 */


@media only screen and (max-width: 1400px) {

	/* CONTACTO */

	.contact_title {
	    padding: 95px 0 35px 0;
	}

	/* LEGAL */

	.pol_legal_box {
		padding: 0 100px;
	}

	/* SOMOS PAPRIKA */

	.we_are_image {
		height: 350px;
	}

	.we_are_description {
        padding: 90px 100px;
    }

	.we_are_equipo {
	    margin: 100px 0;
	}

	/* QUÉ HACEMOS */

	.what_we_do_description {
	    max-width: 100% !important;
	    padding: 90px 100px 115px;
	}

	.what_we_do_image {
        height: 400px;
    }

}




/* RESPONSIVE 1200 */


@media only screen and (max-width: 1200px) {

	ul li, ul {
		font-size: 14px;
		line-height: 14px;
	}

	/* MENÚ */

	.menu {
		height: 115px;
	}

	.menu_box {
		padding: 40px 80px;
	}

	.menu_logo {
	    width: 200px;
	}

	.menu_logo a img {
		display: flex;
	    width: 100%;
	}

	.menu_ul {
	    width: calc(100% - 200px);
	}

	.idioms p, .idioms p button {
	    font-size: 16px;
	    line-height: 16px;
	}

	/* HOME */

	.present {
	    padding: 115px 0 0 0;
	}

	.tres_items {
        width: 100%;
        padding: 0 10%;
    }

    .impulsa_text {
        padding: 10%;
    }

    /* FOOTER */

    .footer_inside {
        padding: 60px 80px;
    }

    .contact {
	    padding: 115px 0 95px 0;
	}

	/* SOMOS PAPRIKA */

	.we_are_image {
		height: 240px;
	}

	.we_are_description {
        padding: 70px 80px;
    }

    .we_are_pilares {
        padding: 0 80px;
        margin: 75px 0;
    }

    h3.h3_we_are_out {
        font-size: 30px;
    }

    hr.line_we_are {
	   margin: 5% 0;
	}

	hr.line_we_are_big {
        width: calc(100% - 160px);
    }

    .we_are_equipo {
        margin: 75px 0;
        padding: 0 80px;
    }

    .box_we_are_names {
	    margin: 50px 0 0 0;
	}

    p.p_box_we_are_name {
        font-size: 20px;
    }

    p.p_box_we_are_text span {
        font-size: 14px;
    }

    /* QUÉ HACEMOS */

    .what_we_do_description {
        padding: 90px 80px;
    }

    .what_we_do_a {
	    margin: 0 0 115px 0;
	}

	.what_we_do_image {
        height: 300px;
    }

    /* PROYECTOS */

    .projects_b {
	    margin: 0;
	}

    img.img_projects_header_client {
        width: 250px;
    }

	p.p_projects_out {
        font-size: 20px;
    }

}




/* RESPONSIVE 1000 */


@media only screen and (max-width: 1000px) {

	h1 {
		font-size: 30px;
		line-height: 40px;
	}

	h2 {
		font-size: 30px;
		line-height: 40px;
	}

	p {
		font-size: 14px;
		line-height: 19px;
	}

	/* MENÚ */

	.menu_box {
        padding: 40px 48px;
    }

	.menu_logo {
        width: 20%;
    }

    .menu_ul {
	    width: 80%;
	}

	/* HOME */

	.present_description {
        padding: 80px 0 80px;
    }

    p.en_paprika span {
        font-size: 20px;
    }

    .tres_items {
        height: 140px;
    }

    .tres_items p {
        font-size: 30px;
        margin: 12px 0 0 0;
    }

    .conocemos_description {
        padding: 80px 0;
    }

    /* FOOTER */

    .footer_inside {
        padding: 60px 48px;
    }

    .footer_paprika img {
	    width: 18%;
	}

	.footer_paprika p {
	    font-size: 32px;
	    margin: 0 0 0 2%;
	}

	hr.line_footer {
	    margin: 40px 0 30px;
	}

	.footer_description p {
        font-size: 14px;
        line-height: 21px;
    }

    .footer_rrss a div p {
        font-size: 18px;
        line-height: 26.8px;
    }

    .box_footer_b ul li a, .box_footer_b ul li {
        font-size: 14px;
        line-height: 28px;
    }

    /* CONTACTO */

    .contact_box {
        padding: 0 80px;
    }

    .contact_title {
	    padding: 75px 0;
	}

	.contact_form, form {
	    gap: 40px 60px;
	}

	.contact_form, form ::placeholder {
		font-size: 16px;
		line-height: 23px;
	}

	.button_envio button p {
		font-size: 34px;
		line-height: 49px;
	}

	/* LEGAL */

	.pol_legal {
	    padding: calc(138px + 95px) 0 95px 0;
	}

	.pol_legal_box p, .pol_legal_box ul li {
        font-size: 16px;
    }

    /* SOMOS PAPRIKA */

    img.img_form_we_are {
	    width: 80px;
	}

	.we_are_image {
        height: 200px;
    }

    .we_are_description {
        padding: 70px 80px;
    }

    h3.h3_we_are_out {
        font-size: 26px;
    }

    img.img_acento_forma_pilares {
	    width: 25px;
	}

	img.img_acento_direccion_pilares {
	    width: 19px;
	}

	img.img_acento_ritmo_pilares {
	    width: 19px;
	}

	.we_are_pilares_a h2 {
	    margin: 0 0 35px 0;
	}

	.subbox_we_are_out img {
	    margin: 0 14px 0 0;
	}

	.box_we_are_equipo {
	    width: calc(50% - 30px);
	}

	.box_we_are_in {
	    padding: 30px 40px 0;
	}

	.hidden_we_are_in {
	    padding: 0 40px;
	}

	p.p_box_we_are_name {
        font-size: 18px;
    }

    p.p_box_we_are_text span {
        font-size: 12px;
    }

    /* QUE HACEMOS */

    .what_we_do_description {
        padding: 90px 80px;
    }

    h2.h2_what_we_do_out {
        font-size: 20px;
    }

    p.p_more_info_contact {
        font-size: 16px;
    }

    /* PROYECTOS */

    .projects_description {
        padding: 90px 100px 115px;
    }

    .projects_b {
	    gap: 35px 50px;
	}

	.box_projects_column {
	    width: calc(50% - 50px / 2);
	}

	img.img_projects_header_client {
        width: 200px;
        margin: 5% 0;
    }

    p.p_projects_out {
        font-size: 18px;
    }

    svg.svg_acento_que_hacemos {
        width: 14px;
    }

}




/* RESPONSIVE 800 - TALBER / MOVIL */


@media only screen and (max-width: 800px) {

	h1 {
		font-size: 7.5vw;
		line-height: 124%;
	}

	h2 {
		font-size: 7.5vw;
		line-height: 144%;
	}

	p {
		font-size: 3.0vw;
		line-height: 144%;
	}

	.hidden_home {
		display: none;
	}

	/* MENÚ */

	.menu_box {
		padding: 48px 48px;
	}

	.menu_logo {
        width: 25%;
    }

    .menu_ul {
	    width: 75%;
	}


	.menu_ul ul {
		display: none;
	}

	.open_menu {
		width: 50px;
	}

	.menu_ul_phone_box ul li {
		font-size: 4.5vw;
	}

	.idioms_menu_phone p a, .idioms_menu_phone p, .idioms_menu_phone p button {
		font-size: 3.7vw !important;
	}

	.box_menu p {
		font-size: 3.25vw;
	}

	.menu_rrss a div p {
		font-size: 4.8vw !important;
	}

	/* HOME */

    .present_description {
        padding: 80px 48px;
    }

    .description_a p {
    	width: 85%;
    }

    p.en_paprika span {
        font-size: 4.5vw;
    }

    .tres_items {
        padding: 0;
    }

    .impulsa_banner {
	    flex-direction: column;
	}

	.impulsa_photo {
	    width: 100%;
	    height: 400px;
	}

	.impulsa_text {
		width: 100%;
	}

	.conocemos_description {
        padding: 80px;
    }

    .tres_items p {
        font-size: 4.25vw;
        margin: 0;
    }

    /* FOOTER */

    .footer_paprika img {
        width: 25%;
    }

    .box_footer_a {
	    width: 60%;
	}

    .footer_description p {
        font-size: 2.5vw;
        line-height: 144%;
    }

    .footer_rrss {
	    margin: 55px 0 0 0;
	}

    .box_footer_b {
	    width: 40%;
	}

	.footer_rrss a div p {
        font-size: 3.625vw;
        line-height: 144%;
    }

    .footer_rrss_instagram svg, .footer_rrss_linkedin svg {
        width: 14px;
    }

    .box_footer_b ul li a, .box_footer_b ul li {
        font-size: 2.75vw;
        line-height: 180%;
    }

    /* CONTACTO */

    .contact_title {
	    flex-direction: column;
	    align-items: center;
	}

	.contact_a {
		text-align: center !important;
		width: 100%;
	}

	.contact_a h1 {
		font-size: 5vw;
		margin: 15px 0 0 0;
	}

	.contact_form, form {
        gap: 0px;
    }

    .form_50 {
	    width: 100%;
	    margin: 0 0 20px 0;
	}

	.contact_form, form ::placeholder {
		font-size: 2.75vw;
		line-height: 144%;
	}

	.form_100 {
	    height: 225px;
	}

	.form_envio {
	    margin: 25px 0 0 0;
	}

	.privacidad label p {
	    font-size: 2.25vw;
	}

	/* LEGAL */

	.pol_legal_box p, .pol_legal_box ul li {
        font-size: 3.5vw;
    }

    /* SOMOS PAPRIKA */

    .we_are_image {
        height: 400px;
    }

    .we_are_pilares {
        padding: 0 75px;
        margin: 75px 0 125px;
        flex-direction: column;
    }

    .we_are_pilares_a {
	    width: 100%;
	    text-align: center;
	}

	.we_are_pilares_b {
	    width: 100%;
	    margin: 100px 0 0 0;
	}

	h3.h3_we_are_out {
        font-size: 5.5vw;
    }

    img.img_acento_forma_pilares {
	    width: 35px;
	}

	img.img_acento_direccion_pilares {
	    width: 30px;
	}

	img.img_acento_ritmo_pilares {
	    width: 30px;
	}

	.subbox_we_are_out img {
        margin: 0 25px 0 0;
    }

    .we_are_equipo {
        margin: 125px 0 75px;
    }

    .we_are_equipo_b {
	    flex-direction: column;
	}

	.box_we_are_equipo {
        width: 100%;
        padding: 0 15px 15px;
    }

	/* Texto dentro del hover (móvil/tablet): reducir para que no se salga del recuadro */
	.box_we_are_image_hidden p {
		font-size: 2.6vw;
		line-height: 144%;
	}

    p.p_box_we_are_name {
        font-size: 4.5vw;
    }

    p.p_box_we_are_text span {
        font-size: 3.0vw;
    }

    /* QUÉ HACEMOS */

    h2.h2_what_we_do_out {
        font-size: 3.5vw;
        line-height: 144%;
        padding: 0 25px 0 0;
    }

    p.p_more_info_contact {
        font-size: 2.5vw;
    }

    .what_we_do_image {
        height: 400px;
    }

    /* PROYECTOS */

    .projects_b {
        gap: 35px 0;
    }

    .box_projects_column {
        width: 100%;
    }

    .box_projects_header {
    	padding: 0;
    }

    img.img_projects_header_client {
        width: 500px;
    }

    p.p_projects_out {
        font-size: 3.5vw;
    }

}



/* RESPONSIVE 600 */


@media only screen and (max-width: 600px) {

	/* HOME */

	.tres_items {
        height: 100px;
    }

	.tres_items_acento img {
        height: 35px;
    }

    .description_a {
        margin: 0 0 100px 0;
    }

    /* MENU */

    .menu_rrss .footer_rrss_instagram svg, .menu_rrss .footer_rrss_linkedin svg {
		width: 16px;
	}

    /* FOOTER */

    .footer_rrss {
        margin: 45px 0 0 0;
    }

    .footer_paprika p {
        font-size: 4vw;
    }

    .footer_rrss a div p {
        font-size: 3.1vw;
        line-height: 144%;
    }

    .footer_rrss_instagram svg, .footer_rrss_linkedin svg {
        width: 12px;
    }

    /* CONTACTO */

    .contact_box {
        padding: 0 48px;
    }

    .contact_title {
        padding: 60px 0;
    }

    /* LEGAL */

    .pol_legal_box {
        padding: 0 48px;
    }

    .pol_legal {
        padding: calc(138px + 35px) 0 95px 0;
    }

    /* SOMOS PAPRIKA */

    .we_are_image {
        height: 300px;
    }

    .present_description {
        padding: 60px 48px;
    }

    .box_we_are {
    	margin: 0;
    }

    .box_we_are_equipo {
        padding: 0 15px 15px;
    }

    .we_are_equipo_b {
    	gap:0px;
    }

    /* QUÉ HACEMOS */

    .what_we_do_image {
        height: 300px;
    }

    .impulsa_text {
    	gap: 0px;
    }

    .beige.cases {
    	font-size: 3.5vw;
    }

    /* PROYECTOS */

    img.img_projects_header_client {
        width: 350px;
    }

}


/* RESPONSIVE 480 */


@media only screen and (max-width: 480px) {

	/* MENÚ */

	.menu_logo {
        width: 50%;
    }

    .present_description {
        padding: 60px 20px;
    }

    .impulsa_photo {
        height: 300px;
    }

    .menu_rrss .footer_rrss_instagram svg, .menu_rrss .footer_rrss_linkedin svg {
		width: 13px;
	}

    /* HOME */

    .contact_a h1 {
        font-size: 8vw;
    }

    .contact_form, form ::placeholder {
		font-size: 4vw;
	}

	.button_envio button p {
        font-size: 25px;
        line-height: 144%;
    }

    /* FOOTER */

    .footer_rrss_instagram svg, .footer_rrss_linkedin svg {
        width: 9px;
    }

    /* SOMOS PAPRIKA */

	/* Texto dentro del hover (móvil pequeño): aún más compacto */
	.box_we_are_image_hidden p {
		font-size: 12px;
		line-height: 16px;
	}

    .we_are_image {
        height: 200px;
    }

    .present_description {
        padding: 60px 40px;
    }

    .we_are_pilares {
        padding: 0 40px;
        margin: 60px 0;
    }

    .we_are_pilares_b {
        margin: 80px 0 0 0;
    }

    h3.h3_we_are_out {
	    margin: 7px 0 0 0;
	}

	img.img_acento_forma_pilares {
	    width: 30px;
	}

	img.img_acento_direccion_pilares {
	    width: 25px;
	}

	img.img_acento_ritmo_pilares {
	    width: 25px;
	}

	hr.line_we_are_big {
        width: calc(100% - 80px);
    }

    .we_are_equipo {
        margin: 60px 0 0;
        padding: 0 40px;
    }

    .box_we_are_equipo {
        padding: 0 10px 15px;
    }

    .we_are_equipo_b {
    	gap:0px;
    }

	/* QUÉ HACEMOS */

    .what_we_do_image {
        height: 250px;
    }

}

/* ==========================
   LOGOS MARQUEE (PáPRIKA)
   ========================== */

.ppk-logos-marquee{
  width: 100%;
  height: 215px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: #4C0911;
}

/* Viewport con difuminado (mask + fallback) */
.ppk-logos-marquee__viewport{
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;

  /* Difuminado por máscara (mejor resultado) */
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%,
    #000 10%,
    #000 90%,
    transparent 100%
  );
  mask-image: linear-gradient(to right,
    transparent 0%,
    #000 10%,
    #000 90%,
    transparent 100%
  );
}

/* Fallback por overlay (por si algún navegador ignora mask) */
.ppk-logos-marquee__viewport::before,
.ppk-logos-marquee__viewport::after{
  content: "";
  position: absolute;
  top: 0;
  width: clamp(40px, 7vw, 140px);
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.ppk-logos-marquee__viewport::before{
  left: 0;
  background: linear-gradient(to right, #4C0911 0%, rgba(76,9,17,0) 100%);
}
.ppk-logos-marquee__viewport::after{
  right: 0;
  background: linear-gradient(to left, #4C0911 0%, rgba(76,9,17,0) 100%);
}

/* Track animado */
.ppk-logos-marquee__track{
  --ppk-gap: clamp(28px, 3.5vw, 90px);
  --ppk-logo-h: clamp(70px, 9vw, 150px); /* <-- 150px en desktop */
  --ppk-duration: 60s;

  height: 100%;
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
  animation: none !important; /* moved by JS to avoid pausing offscreen */
}

/* Set sin wrap: siempre una sola línea */
.ppk-logos-marquee__set{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--ppk-gap);
  padding-left: var(--ppk-gap);
  padding-right: var(--ppk-gap);
  white-space: nowrap;
}

.ppk-logos-marquee__item{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.ppk-logos-marquee__item img{
  height: var(--ppk-logo-h);
  width: auto;
  max-width: 190px;
  object-fit: contain;
  display: block;
}

/* Animación: mueve el track exactamente el ancho del primer set */
@keyframes ppk-marquee{
  0%   { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-50%,0,0); }
}

/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce){
  .ppk-logos-marquee__track{ animation: none; }
}

/* Responsive */
@media only screen and (max-width: 768px){
  .ppk-logos-marquee{ height: 175px; }
  .ppk-logos-marquee__track{ --ppk-duration: 70s; --ppk-logo-h: 90px; }
  .ppk-logos-marquee__viewport::before,
  .ppk-logos-marquee__viewport::after{ width: clamp(26px, 10vw, 90px); }
}
