/* PáPRIKA Lombok: lo que añade esta web sobre style.css (copiado de paprikaconcept.com).
   Mismos colores, tipografías y medidas; aquí solo van las piezas nuevas y los ajustes
   necesarios para no usar estilos ni scripts en línea. */


/* ACCESIBILIDAD */

.skip_link {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 200;
	padding: 10px 16px;
	background: #FFF9F0;
	color: #4C0910;
	font-family: "DM Sans", "Open Sans", sans-serif;
}

.skip_link:focus {
	top: 16px;
}

.sr_only, .hp_field {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
	outline: 2px solid #E598B7;
	outline-offset: 4px;
}

main {
	display: block;
}


/* MENÚ: botón hamburguesa (antes con <style> dentro del SVG) */

.open_menu_btn {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	line-height: 0;
}

.open_menu_btn svg {
	width: 100%;
	height: auto;
}

.menu_svg .black {
	fill: #FCECD7;
	transition: transform 1s;
}

.menu_svg_rotate_1 {
	transform-origin: center;
	transform: rotate(0deg) translate(0%, 35%);
}

.active .menu_svg_rotate_1 {
	transform: rotate(45deg) translate(0%, 49%);
}

.menu_svg_rotate_2 {
	transform-origin: center;
	transform: rotate(0deg) translate(0%, 65%);
}

.active .menu_svg_rotate_2 {
	transform: rotate(-45deg) translate(0%, 49%);
}

@media only screen and (min-width: 1321px) {
	.open_menu {
		display: none;
	}
}

.menu_ul ul li {
	white-space: nowrap;
}

/* Con seis apartados el menú no cabe por debajo de 1320 px: pasa al menú desplegable */
@media only screen and (max-width: 1320px) {
	.menu_ul ul {
		display: none;
	}

	.menu_ul {
		width: auto;
		flex: 1;
	}

	.open_menu {
		display: flex;
		width: 50px;
		flex: 0 0 50px;
	}
}

/* Selector de idioma con enlaces reales (antes eran botones con JS) */

.menu_ul ul li.idioms {
	margin: 0 0 0 45px;
}

.menu_ul ul li.idioms:hover {
	color: inherit;
	cursor: default;
}

.idioms p a {
	transition: 0.25s color;
}

.idioms p a:hover {
	color: #E598B7;
}

.idioms p a.idiom_current {
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

.menu_ul_phone nav ul {
	display: flex;
	flex-direction: column;
}

.menu_ul ul li a[aria-current="page"] {
	color: #E598B7;
}


/* INICIO: fotos */

/* Cabecera: díptico con los dos retratos hasta tener la foto de equipo de Lombok
   (sustituir img/team/hero-lombok.webp, formato apaisado 3200 x 1000). */
.we_are_image_lombok {
	background-image: url('../img/team/hero-equipo.webp');
	background-position: center 30%;
}

.img_photo_elisa, .img_photo_cristina {
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.img_photo_elisa {
	background-image: url('../img/team/elisa-encina.webp');
}

.img_photo_cristina {
	background-image: url('../img/team/cristina.webp');
}

.impulsa_photo_lombok {
	background-image: url('../img/projects/raybanmeta-a.webp');
}

.impulsa_photo_team {
	background-image: url('../img/team/team-banner.webp');
	background-position: center 12%;
}

/* La home termina en el banner del equipo: sin hueco extra antes del pie */
.we_are > .impulsa:last-child {
	margin-bottom: 0;
}

/* Quiénes somos: el bloque del acento abre la página */
.about_header {
	padding-bottom: 0;
}

.about_header .what_we_do_a {
	margin: 0 0 40px 0;
}

.about_header + .we_are_equipo {
	margin-top: 0;
}

/* La "á" del título no hereda el tamaño ni el giro del icono de cabecera */
.description_a h1 img.ppk-title-acento_img {
	width: auto;
	height: 0.62em;
	margin: 0;
	animation: none;
	vertical-align: baseline;
}

/* Texto sobre las fotos del equipo: más pequeño que el cuerpo para que respire */
.box_we_are_image_hidden p {
	font-size: 17px;
	line-height: 26px;
}

@media only screen and (max-width: 1200px) {
	.box_we_are_image_hidden p {
		font-size: 15px;
		line-height: 22px;
	}
}

@media only screen and (max-width: 800px) {
	.box_we_are_image_hidden p {
		font-size: 3.2vw;
		line-height: 140%;
	}
}


/* INICIO: cargo bajo el nombre y equipo detrás */

p.p_box_we_are_role {
	font-size: 15px;
	line-height: 22px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 6px 0 0;
}

.team_behind {
	max-width: 900px;
	margin: 90px auto 0;
}

.team_behind hr.line_we_are {
	margin: 0 0 50px;
}

@media only screen and (max-width: 800px) {
	p.p_box_we_are_role {
		font-size: 2.6vw;
		line-height: 140%;
	}

	.team_behind {
		margin-top: 60px;
		padding: 0 24px;
	}
}


/* INICIO: Lombok está creciendo */

.lombok_growing {
	margin: 160px 0 0 0;
	padding: 0 40px 160px;
}

.lombok_growing .we_are_equipo_a h2 {
	margin: 0 0 50px 0;
}

.lombok_growing .we_are_equipo_a p {
	max-width: 860px;
}

.lombok_triad {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 80px;
	width: 100%;
	max-width: 1100px;
	margin: 110px auto 0;
	text-align: center;
}

.lombok_triad_item p {
	max-width: 260px;
	margin: 0 auto;
}

.lombok_triad_item img {
	width: 24px;
	height: 36px;
	margin: 0 auto 18px;
	display: block;
}

.lombok_triad_item h3 {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 34px;
	line-height: 44px;
	margin: 0 0 12px;
}

@media only screen and (max-width: 800px) {
	.lombok_growing {
		margin-top: 90px;
		padding: 0 24px 90px;
	}

	.lombok_triad {
		grid-template-columns: 1fr;
		gap: 56px;
		margin-top: 70px;
	}

	.lombok_triad_item h3 {
		font-size: 6vw;
		line-height: 130%;
	}
}


/* QUÉ HACEMOS: listas de entregables y situaciones */

.box_what_we_do_in, .box_we_are_in {
	max-height: 2400px;
}

.hidden_what_we_do_in, .hidden_we_are_in {
	max-height: 0;
}

p.p_box_what_we_do_text.lombok_item {
	margin: 0 0 18px 0;
}

p.p_box_what_we_do_title + p.lombok_item {
	margin-top: 30px;
}

p.p_box_what_we_do_text.lombok_note {
	margin: 18px 0 30px;
	padding: 24px 0 0;
	border-top: 1px solid rgba(76, 9, 16, 0.2);
}

.lombok_situations .box_we_are_in p.p_box_we_are_text {
	margin: 0 0 14px 0;
}

.lombok_tag {
	display: inline-block;
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 15px;
	line-height: 20px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #A80517;
}

.lombok_situations_note {
	margin: 60px 0 0;
}


/* BLOG */

.blog_item {
	padding: 10px 0;
}

p.blog_date {
	font-size: 15px;
	line-height: 20px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #A80517;
	margin: 0 0 14px;
}

/* Firma de la autora bajo el titular del artículo */
p.blog_author {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 22px;
}
p.blog_author a {
	color: #A80517;
	text-decoration: none;
}
p.blog_author a:hover {
	color: #E598B7;
}

h2.blog_title {
	font-size: 34px;
	line-height: 44px;
}

h2.blog_title a:hover {
	color: #A80517;
	transition: 0.25s color;
}

.blog_item p.p_box_what_we_do_text {
	margin: 18px 0 24px;
}

h1.blog_post_title {
	margin: 0 0 24px;
}

.blog_article {
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
}

.blog_article h2 {
	font-size: 34px;
	line-height: 44px;
	margin: 60px 0 20px;
}

.blog_article p, .blog_article li {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 22px;
	line-height: 34px;
	margin: 0 0 22px;
}

.blog_article ul {
	padding: 0 0 0 24px;
	margin: 0 0 22px;
}

.blog_article ul li {
	list-style-type: disc;
	margin: 0 0 10px;
}

.blog_article a {
	text-decoration: underline;
	color: #A80517;
}

.blog_back {
	width: 100%;
	max-width: 820px;
	margin: 50px auto 120px;
}

p.blog_cta_text {
	margin: 10px 0 0;
}

@media only screen and (max-width: 800px) {
	h2.blog_title, .blog_article h2 {
		font-size: 6vw;
		line-height: 130%;
	}

	.blog_article p, .blog_article li {
		font-size: 4vw;
		line-height: 150%;
	}
}


/* TEXTOS LEGALES (mismo bloque que paprikaconcept.com) */

.pol_legal_box h2 {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-weight: 800;
	font-size: 22px;
	line-height: 32px;
	margin: 32px 0 6px;
}

.pol_legal_box a {
	text-decoration: underline;
}

.pol_legal_box ul {
	margin: 0 0 10px;
}

@media only screen and (max-width: 800px) {
	.pol_legal {
		padding: calc(138px + 60px) 24px 60px;
	}

	.pol_legal_box h2, .pol_legal_box p, .pol_legal_box ul li {
		font-size: 4vw;
		line-height: 150%;
	}
}


/* CONTACTO: pestañas y desplegables */

.contact_tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 48px;
	width: 100%;
	margin: 0 0 50px;
}

.contact_tab {
	background: transparent;
	border: 0;
	border-bottom: 1px solid transparent;
	padding: 0 0 8px;
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 26px;
	line-height: 32px;
	color: rgba(76, 9, 16, 0.45);
	cursor: pointer;
	transition: 0.25s color, 0.25s border-color;
}

.contact_tab:hover {
	color: #A80517;
}

.contact_tab.is_active {
	color: #4C0910;
	border-bottom-color: #4C0910;
}

.contact_panel {
	width: 100%;
}

.contact_panel[hidden] {
	display: none;
}

p.contact_intro {
	margin: 0 0 40px;
	max-width: 900px;
}

select.form_select {
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 22px;
	line-height: 32px;
	color: #4C0910;
	background: #FFF9F0 url('../img/select-arrow.svg') no-repeat right 4px center;
	background-size: 14px 9px;
	padding-right: 30px;
	cursor: pointer;
}

select.form_select:invalid, select.form_select.is_empty {
	color: rgba(76, 9, 16, 0.32);
}

select.form_select option {
	color: #4C0910;
}

input.form_line {
	height: auto;
}

.form_status.is_error {
	color: #A80517;
}

@media only screen and (max-width: 800px) {
	.contact_tab {
		font-size: 4.5vw;
		line-height: 130%;
	}

}

/* El desplegable sigue el mismo tamaño que los textos guía de los campos en cada ancho */
@media only screen and (max-width: 1600px) { select.form_select { font-size: 18px; line-height: 27px; } }
@media only screen and (max-width: 1000px) { select.form_select { font-size: 16px; line-height: 23px; } }
@media only screen and (max-width: 800px) { select.form_select { font-size: 2.75vw; line-height: 144%; } }
@media only screen and (max-width: 480px) { select.form_select { font-size: 4vw; } }


/* PIE */

.footer_legal {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	margin: 40px 0 0;
}

.footer_legal p {
	font-size: 15px;
	line-height: 22px;
	opacity: 0.85;
}

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

.cookie_settings_link {
	background: transparent;
	border: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.cookie_settings_wrap.hidden {
	display: none;
}

@media only screen and (max-width: 800px) {
	.footer_legal p {
		font-size: 3vw;
		line-height: 150%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fade_in {
		opacity: 1;
		transform: none;
		transition: none;
	}
}


/* QUÉ HACEMOS: maquetación del dossier (resumen, fases, Indonesia, situaciones) */

.wwd_header {
	padding-bottom: 40px;
}

p.wwd_kicker {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-style: italic;
	font-size: 24px;
	line-height: 32px;
	margin: 0 0 14px;
}

.wwd_overview {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
	width: 100%;
	margin: 30px 0 0;
}

.wwd_overview_item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px 0 0;
	border-top: 1px solid rgba(76, 9, 16, 0.25);
	color: #4C0910;
	transition: border-color 0.25s;
}

.wwd_overview_item:hover {
	border-top-color: #A80517;
}

/* Fase seleccionada */
.wwd_overview_item.is_active {
	border-top: 3px solid #A80517;
	padding-top: 22px;
}

.wwd_overview_item.is_active .wwd_name {
	color: #A80517;
}

.wwd_overview_item:not(.is_active) .wwd_desc {
	opacity: 0.7;
}

.wwd_phase[hidden] {
	display: none;
}

.wwd_phase:not([hidden]) .wwd_phase_inner {
	animation: wwd_in 0.45s ease;
}

@keyframes wwd_in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

.wwd_num {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 22px;
	color: #E598B7;
}

.wwd_name {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 36px;
	line-height: 44px;
}

.wwd_desc {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 17px;
	line-height: 25px;
}

p.wwd_label {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 13px;
	line-height: 18px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 0 0 14px;
}

/* Fases: panel granate + lista de entregables */

.wwd_phase {
	width: 100%;
	padding: 0 40px 90px;
	scroll-margin-top: 120px;
}

.wwd_phase_inner {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) 2fr;
	max-width: 1200px;
	margin: 0 auto;
	background: #FFFFFF;
}

.wwd_side {
	display: flex;
	flex-direction: column;
}

img.wwd_photo {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: center;
}

.wwd_side .wwd_panel {
	flex: 1;
}

@media only screen and (max-width: 1000px) {
	img.wwd_photo {
		height: 240px;
	}
}

.wwd_panel {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 60px;
	padding: 56px 44px;
	background-image: url('../img/pattern.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.wwd_panel h2 {
	margin: 0 0 12px;
}

p.wwd_tagline {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 26px;
	line-height: 34px;
}

p.wwd_audience {
	font-size: 17px;
	line-height: 25px;
}

.wwd_list {
	padding: 40px 56px 48px;
}

.wwd_item {
	padding: 20px 0;
	border-bottom: 1px solid #E598B7;
}

.wwd_item h3, .wwd_ongoing h3, .wwd_card h3 {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 26px;
	line-height: 34px;
	margin: 0 0 6px;
}

.wwd_item p, .wwd_ongoing p, .wwd_card p {
	font-size: 17px;
	line-height: 26px;
}

.wwd_ongoing {
	margin: 28px 0 0;
	padding: 26px 30px;
	background: #FFF9F0;
	border-left: 3px solid #A80517;
}

.wwd_list .button_solicita_info {
	margin: 34px 0 0;
}

/* Qué cambia en Indonesia */

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

.wwd_indo_inner {
	max-width: 1200px;
	margin: 0 auto;
}

p.wwd_indo_intro {
	margin: 18px 0 60px;
}

.wwd_indo_cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
}

.wwd_indo_col {
	padding: 22px 0 0;
	border-top: 1px solid rgba(229, 152, 183, 0.6);
}

.wwd_indo_col p.wwd_indo_text {
	font-size: 18px;
	line-height: 28px;
}

.wwd_indo_col ul li {
	font-size: 18px;
	line-height: 27px;
	margin: 0 0 12px;
	padding: 0 0 0 20px;
	position: relative;
}

.wwd_indo_col ul li::before {
	content: "–";
	position: absolute;
	left: 0;
	color: #E598B7;
}

/* Situaciones: tarjetas */

.wwd_situations {
	width: 100%;
	padding: 120px 40px 100px;
}

.wwd_situations_inner {
	max-width: 1200px;
	margin: 0 auto;
}

.wwd_cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 56px 0 0;
}

.wwd_card {
	display: flex;
	flex-direction: column;
	padding: 32px 30px;
	background: #FFFFFF;
}

.wwd_card p.wwd_answer {
	margin: auto 0 0;
	padding: 16px 0 0;
	border-top: 1px solid #E598B7;
}

.wwd_card > p:not(.wwd_label):not(.wwd_answer) {
	margin: 0 0 22px;
}

.wwd_card.wwd_card_dark {
	background: #4C0910 url('../img/pattern.svg') center / cover no-repeat;
}

.wwd_card_dark p.wwd_answer {
	border-top-color: rgba(229, 152, 183, 0.6);
}

p.wwd_partners {
	max-width: 900px;
	margin: 56px 0 0;
}

@media only screen and (max-width: 1200px) {
	.wwd_cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 1000px) {
	.wwd_phase_inner {
		grid-template-columns: 1fr;
	}

	.wwd_list {
		padding: 28px 28px 36px;
	}

	.wwd_panel {
		padding: 44px 28px;
		gap: 36px;
	}

	.wwd_indo_cols {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

@media only screen and (max-width: 800px) {
	.wwd_overview {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.wwd_phase {
		padding: 0 20px 56px;
	}

	.wwd_indo, .wwd_situations {
		padding: 72px 24px;
	}

	.wwd_cards {
		grid-template-columns: 1fr;
	}

	.wwd_name, .wwd_item h3, .wwd_ongoing h3, .wwd_card h3, p.wwd_tagline {
		font-size: 5.5vw;
		line-height: 130%;
	}

	.wwd_desc, .wwd_item p, .wwd_ongoing p, .wwd_card p, p.wwd_audience, .wwd_indo_col ul li, .wwd_indo_col p.wwd_indo_text {
		font-size: 3.8vw;
		line-height: 150%;
	}

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

	p.wwd_label {
		font-size: 2.9vw;
	}
}


/* Perfil de clientes: botones al servicio que les corresponde */

.wwd_service_btns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 20px 0 0;
}

a.wwd_service_btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 17px;
	line-height: 22px;
	color: #A80517;
	transition: color 0.25s;
}

a.wwd_service_btn svg {
	width: 12px;
	height: 18px;
	fill: #A80517;
	transition: fill 0.25s;
}

a.wwd_service_btn:hover {
	color: #4C0910;
}

a.wwd_service_btn:hover svg {
	fill: #E598B7;
}

a.wwd_service_btn_dark {
	color: #E598B7;
}

a.wwd_service_btn_dark svg {
	fill: #E598B7;
}

a.wwd_service_btn_dark:hover {
	color: #FCECD7;
}

@media only screen and (max-width: 800px) {
	a.wwd_service_btn {
		font-size: 4vw;
	}
}


/* Inicio: ilustración del camino en "Lombok está creciendo" */
.lombok_illustration {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.lombok_illustration img {
	display: block;
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 800px) {
	.lombok_illustration {
		margin-top: 44px;
	}
}


/* Inicio: Concepto, Números, Operación con el mismo diseño que "forma, dirección, ritmo" */
.tres_items.tres_items_lombok {
	height: auto;
	max-width: 100%;
	margin: 80px auto 0;
	align-items: stretch;
}

.tres_items_lombok > div {
	align-items: center;
	text-align: center;
	padding: 6px 24px 10px;
}

.tres_items_lombok h3.tres_items_text {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-style: italic;
	font-size: 44px;
	line-height: 52px;
	margin: 15px 0 10px;
}

.tres_items.tres_items_lombok p.tres_items_desc {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-style: normal;
	font-size: 18px;
	line-height: 26px;
	margin: 0;
}

@media only screen and (max-width: 800px) {
	.tres_items.tres_items_lombok {
		margin-top: 50px;
	}

	.tres_items_lombok > div {
		padding: 4px 8px 8px;
	}

	.tres_items_lombok h3.tres_items_text {
		font-size: 6vw;
		line-height: 130%;
	}

	.tres_items.tres_items_lombok p.tres_items_desc {
		font-size: 3vw;
		line-height: 140%;
	}
}


/* "Lombok está creciendo" con el mismo estilo que "En PáPRIKA damos" */
h2.en_paprika.lombok_title {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 22px;
	line-height: 32px;
	margin: 0 0 30px 0;
}

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

@media only screen and (max-width: 1600px) {
	h2.en_paprika.lombok_title { font-size: 16px; line-height: 25px; }
	h2.en_paprika.lombok_title span { font-size: 22px; }
}

@media only screen and (max-width: 1000px) {
	h2.en_paprika.lombok_title { font-size: 14px; line-height: 144%; }
	h2.en_paprika.lombok_title span { font-size: 20px; }
}

@media only screen and (max-width: 800px) {
	h2.en_paprika.lombok_title { font-size: 3vw; line-height: 144%; }
	h2.en_paprika.lombok_title span { font-size: 4.5vw; }
}

.lombok_text {
	max-width: 860px;
	margin: 60px auto 0;
}

/* Las palabras grandes no deben salirse de su columna en pantallas medianas */
.tres_items_lombok > div {
	min-width: 0;
}

@media only screen and (max-width: 1300px) {
	.tres_items_lombok h3.tres_items_text {
		font-size: 36px;
		line-height: 44px;
	}
}

@media only screen and (max-width: 1100px) {
	.tres_items_lombok h3.tres_items_text {
		font-size: 30px;
		line-height: 38px;
	}

	.tres_items.tres_items_lombok p.tres_items_desc {
		font-size: 16px;
		line-height: 23px;
	}
}


/* Inicio: menos aire entre bloques (había huecos de casi 300 px) */
.lombok_growing {
	margin: 90px 0 0 0;
	padding: 0 40px 70px;
}

.we_are .wwd_situations {
	padding-top: 70px;
}

/* La aparición al hacer scroll era lenta y dejaba la pantalla en blanco unos segundos */
.fade_in {
	transition: opacity 0.6s ease 0.05s, transform 0.6s ease 0.05s;
}


/* Sin título, la ilustración arranca justo después de "forma, dirección, ritmo" */
.lombok_growing {
	margin-top: 10px;
}

/* En móvil las palabras grandes se ajustan al ancho (va al final para ganar a las reglas de 1100-1300 px) */
@media only screen and (max-width: 800px) {
	.tres_items_lombok h3.tres_items_text {
		font-size: 6vw;
		line-height: 130%;
	}

	.tres_items.tres_items_lombok p.tres_items_desc {
		font-size: 3.2vw;
		line-height: 140%;
	}
}

/* Menos hueco entre "forma, dirección, ritmo" y la ilustración */
.description_b + .lombok_growing {
	margin-top: -50px;
}

@media only screen and (max-width: 800px) {
	.description_b + .lombok_growing {
		margin-top: -60px;
	}

	.lombok_illustration {
		margin-top: 0;
	}
}


/* Concepto, Números, Operación: mismos tamaños que "forma, dirección, ritmo" en cada ancho
   (calcados de style.css) y todas las columnas alineadas arriba */
.tres_items_lombok > div {
	justify-content: flex-start;
}

.tres_items_lombok h3.tres_items_text {
	font-size: 44px;
	line-height: 1.2;
	margin: 15px 0 8px;
}

@media only screen and (max-width: 1600px) {
	.tres_items_lombok h3.tres_items_text { font-size: 36px; margin: 12px 0 8px; }
}

@media only screen and (max-width: 1000px) {
	.tres_items_lombok h3.tres_items_text { font-size: 30px; margin: 12px 0 6px; }
	.tres_items.tres_items_lombok p.tres_items_desc { font-size: 15px; line-height: 21px; }
}

@media only screen and (max-width: 800px) {
	.tres_items.tres_items_lombok {
		width: calc(100% + 48px);
		max-width: none;
		margin-left: -24px;
		margin-right: -24px;
	}

	.tres_items_lombok > div {
		padding: 0 6px;
	}

	.tres_items_lombok h3.tres_items_text {
		font-size: 4.25vw;
		line-height: 1.3;
		margin: 6px 0 6px;
	}

	.tres_items.tres_items_lombok p.tres_items_desc {
		font-size: 3vw;
		line-height: 140%;
	}
}


/* La "á" de PáPRIKA, siempre en cursiva */
i.brand_a {
	font-style: italic;
}

/* Cabecera: la foto mantiene su proporción panorámica en cualquier ancho
   (style.css la bajaba de golpe a 200 px por debajo de 1000 px y recortaba demasiado) */
.we_are_image.we_are_image_lombok {
	height: auto;
	aspect-ratio: 32 / 10;
	max-height: 520px;
	min-height: 190px;
	background-size: cover;
}


/* Perfil de clientes: tarjetas más visuales (número, forma del acento, frase del cliente y servicio) */

.client_cards {
	gap: 22px;
}

.client_card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 290px;
	padding: 30px 30px 28px;
	background: #FFFFFF;
	border-top: 3px solid #E598B7;
	transition: background-color 0.35s ease, transform 0.35s ease, border-color 0.35s ease;
}

.client_card:nth-child(3n+2) { border-top-color: #A80517; }
.client_card:nth-child(3n) { border-top-color: #4C0910; }

.client_card_top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 26px;
}

.client_num {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-style: italic;
	font-size: 54px;
	line-height: 1;
	color: #E598B7;
	transition: color 0.35s ease;
}

img.client_shape {
	width: auto;
	height: 34px;
	opacity: 0.9;
}

.client_card h3 {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 28px;
	line-height: 34px;
	color: #4C0910;
	margin: 0 0 14px;
	transition: color 0.35s ease;
}

.client_card p.client_quote {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-style: italic;
	font-size: 19px;
	line-height: 27px;
	color: rgba(76, 9, 16, 0.75);
	margin: 0 0 24px;
	transition: color 0.35s ease;
}

.client_card .wwd_service_btns {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid rgba(229, 152, 183, 0.6);
}

/* Al pasar el ratón por encima, la tarjeta se vuelve granate (solo en dispositivos con ratón) */
@media (hover: hover) {
	.client_card:hover {
		background-color: #4C0910;
		border-top-color: #E598B7;
		transform: translateY(-4px);
	}

	.client_card:hover h3 { color: #FCECD7; }
	.client_card:hover p.client_quote { color: rgba(252, 236, 215, 0.85); }
	.client_card:hover a.wwd_service_btn { color: #E598B7; }
	.client_card:hover a.wwd_service_btn svg { fill: #E598B7; }
}

.client_card_dark {
	background: #4C0910 url('../img/pattern.svg') center / cover no-repeat;
	border-top-color: #E598B7;
}

.client_card_dark h3 { color: #FCECD7; }
.client_card_dark p.client_quote { color: rgba(252, 236, 215, 0.85); }

@media only screen and (max-width: 800px) {
	.client_card {
		min-height: 0;
		padding: 24px 22px 22px;
	}

	.client_num { font-size: 11vw; }
	.client_card h3 { font-size: 6vw; line-height: 125%; }
	.client_card p.client_quote { font-size: 4.3vw; line-height: 140%; }
}

/* Banner final de la home: más alto para que se vean a la vez Kuta, la bahía y vosotras */
.impulsa_photo.impulsa_photo_team {
	min-height: 600px;
	background-position: center 18%;
}

@media only screen and (max-width: 800px) {
	.impulsa_photo.impulsa_photo_team {
		min-height: 360px;
	}
}

/* Banner final de la home: Elisa y Cristina con la bahía de Kuta detrás */
.impulsa_photo.impulsa_photo_team {
	background-image: url('../img/team/team-kuta.webp');
	background-position: center 45%;
}


/* Perfil de clientes: ilustración arriba de la tarjeta, a sangre */
img.client_pic {
	display: block;
	width: calc(100% + 60px);
	margin: -30px -30px 22px;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	background: #FFF9F0;
}

@media only screen and (max-width: 800px) {
	img.client_pic {
		width: calc(100% + 44px);
		margin: -24px -22px 18px;
	}
}

/* Banner final de la home: foto mucho más contenida */
.impulsa_photo.impulsa_photo_team {
	min-height: 380px;
}

@media only screen and (max-width: 1000px) {
	.impulsa_photo.impulsa_photo_team {
		min-height: 0;
		height: 300px;
	}
}

@media only screen and (max-width: 800px) {
	.impulsa_photo.impulsa_photo_team {
		height: 230px;
	}
}

.impulsa_photo.impulsa_photo_team {
	background-position: center 30%;
}

/* PIE más pequeño en general (menos alto, logo y textos más contenidos) */
footer.footer .footer_inside {
	padding: 70px 120px 44px;
}

footer.footer .footer_paprika img {
	width: 130px;
}

footer.footer .footer_paprika p {
	font-size: 24px;
	margin: 0 0 0 18px;
}

footer.footer hr.line_footer {
	margin: 28px 0;
}

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

footer.footer .footer_rrss {
	margin: 22px 0 0 0;
}

footer.footer .footer_rrss a div p {
	font-size: 17px;
	line-height: 24px;
}

footer.footer .footer_rrss svg {
	width: 12px;
	height: 18px;
}

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

footer.footer .footer_legal {
	margin: 26px 0 0;
}

footer.footer .footer_legal p {
	font-size: 13px;
	line-height: 20px;
}

@media only screen and (max-width: 1200px) {
	footer.footer .footer_inside {
		padding: 60px 60px 40px;
	}
}

@media only screen and (max-width: 800px) {
	footer.footer .footer_inside {
		padding: 44px 24px 32px;
	}

	footer.footer .footer_paprika img {
		width: 110px;
	}

	footer.footer .footer_paprika p {
		font-size: 18px;
	}

	footer.footer hr.line_footer {
		margin: 20px 0;
	}

	footer.footer .footer_description p,
	footer.footer .footer_rrss a div p,
	footer.footer .box_footer_b ul li a,
	footer.footer .box_footer_b ul li {
		font-size: 14px;
		line-height: 24px;
	}

	footer.footer .footer_legal p {
		font-size: 11px;
		line-height: 17px;
	}
}

@media only screen and (max-width: 1000px) {
	.impulsa_photo.impulsa_photo_team {
		background-position: center 52%;
	}
}


/* Contacto: formulario de proveedores de Tally insertado */
.tally_wrap {
	width: 100%;
	margin: 10px 0 0;
}

.tally_wrap iframe {
	display: block;
	width: 100%;
	border: 0;
}

p.tally_fallback {
	font-size: 14px;
	line-height: 20px;
	margin: 16px 0 0;
	opacity: 0.8;
}


/* Ilustración del camino: logo real en la señal y texto del cartel en el idioma de la página
   (posiciones en % sobre la imagen, medidas en el dibujo original de 1712 x 1152) */
.lombok_illustration {
	position: relative;
	container-type: inline-size;
}

.road_sign {
	position: absolute;
	left: 5.6%;
	top: 40.6%;
	width: 13.4%;
	height: 8.6%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.road_sign img {
	width: 100%;
	height: auto;
}

.road_board {
	position: absolute;
	left: 58.9%;
	top: 24.1%;
	width: 36.3%;
	height: 44%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6%;
	padding: 0 3.2cqw;
	text-align: left;
}

.road_board p {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 2.35cqw;
	line-height: 1.32;
	color: #FCECD7;
	margin: 0;
}

.road_board p.road_board_turn {
	font-size: 2.75cqw;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 0 0.8cqw;
}

.road_board .board_u {
	text-decoration: underline;
	text-decoration-thickness: 0.12cqw;
	text-underline-offset: 0.5cqw;
}

svg.road_board_accent {
	width: 1.6cqw;
	height: 2.4cqw;
	fill: #E598B7;
	margin-left: 0.4cqw;
}

/* En móvil la ilustración ocupa todo el ancho para que el texto del cartel se lea mejor */
@media only screen and (max-width: 800px) {
	.lombok_growing .lombok_illustration {
		width: calc(100% + 48px);
		max-width: none;
		margin-left: -24px;
		margin-right: -24px;
	}
}

/* Cartel: la segunda frase corre como texto normal (sin columnas flex que dejaban palabras sueltas) */
.road_board p.road_board_turn {
	display: block;
}

svg.road_board_accent {
	display: inline-block;
	vertical-align: -0.15em;
}


/* Proyectos: "Conoce más" baja a los logos de clientes */
.projects_more {
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 30px 0 0;
}

.projects_more .button_solicita_info {
	justify-content: center;
}

#clientes {
	scroll-margin-top: 100px;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}


/* Blog: imagen en el listado y en la cabecera del artículo */
.blog_item.blog_item_img {
	display: grid;
	grid-template-columns: minmax(220px, 38%) 1fr;
	gap: 40px;
	align-items: center;
	flex-direction: row;
}

.blog_thumb {
	display: block;
	overflow: hidden;
}

.blog_thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.blog_item:hover .blog_thumb img {
	transform: scale(1.03);
}

.blog_cover {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 60px;
}

.blog_cover img {
	display: block;
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 800px) {
	.blog_item.blog_item_img {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.blog_cover {
		margin-bottom: 36px;
	}
}


/* ═════════ ESCALA TIPOGRÁFICA ÚNICA PARA LAS PIEZAS NUEVAS ═════════
   Referencia (style.css): h1 de página 44 px (>1600) / 32 px (≤1600); texto 22 / 16 / 14 / 3vw.
   Niveles: título de sección < h1; títulos de tarjeta = títulos de proyectos; texto = texto de la web. */

/* Títulos de sección nuevos (Perfil de clientes, Qué cambia en Indonesia, Origen...) */
body .wwd_situations h2,
body .wwd_indo h2 { font-size: 34px; line-height: 1.25; }
body .wwd_panel h2 { font-size: 36px; line-height: 1.2; }

/* Títulos de tarjeta y de lista */
body .client_card h3,
body .wwd_item h3,
body .wwd_ongoing h3,
body h2.blog_title,
body .blog_article h2,
body .wwd_name { font-size: 26px; line-height: 1.3; }

/* Frases destacadas en cursiva y pestañas */
body p.wwd_tagline,
body .contact_tab { font-size: 24px; line-height: 1.3; }

/* Texto de lectura */
body .blog_article p,
body .blog_article li { font-size: 20px; line-height: 1.6; }
body .client_card p.client_quote { font-size: 19px; line-height: 1.45; }
body .wwd_item p,
body .wwd_ongoing p,
body .wwd_desc,
body p.wwd_audience,
body .wwd_indo_col p.wwd_indo_text { font-size: 18px; line-height: 1.5; }

@media only screen and (max-width: 1600px) {
	body .wwd_situations h2,
	body .wwd_indo h2 { font-size: 26px; }
	body .wwd_panel h2 { font-size: 28px; }

	body .client_card h3,
	body .wwd_item h3,
	body .wwd_ongoing h3,
	body h2.blog_title,
	body .blog_article h2,
	body .wwd_name { font-size: 22px; }

	body p.wwd_tagline,
	body .contact_tab { font-size: 20px; }

	body .blog_article p,
	body .blog_article li { font-size: 18px; }
	body .client_card p.client_quote { font-size: 17px; }
	body .wwd_item p,
	body .wwd_ongoing p,
	body .wwd_desc,
	body p.wwd_audience,
	body .wwd_indo_col p.wwd_indo_text { font-size: 16px; }
}

@media only screen and (max-width: 1000px) {
	body .wwd_situations h2,
	body .wwd_indo h2 { font-size: 24px; }
	body .wwd_panel h2 { font-size: 26px; }

	body .client_card h3,
	body .wwd_item h3,
	body .wwd_ongoing h3,
	body h2.blog_title,
	body .blog_article h2,
	body .wwd_name { font-size: 20px; }

	body p.wwd_tagline,
	body .contact_tab { font-size: 18px; }

	body .blog_article p,
	body .blog_article li { font-size: 16px; }
	body .client_card p.client_quote { font-size: 16px; }
	body .wwd_item p,
	body .wwd_ongoing p,
	body .wwd_desc,
	body p.wwd_audience,
	body .wwd_indo_col p.wwd_indo_text { font-size: 15px; }
}

@media only screen and (max-width: 800px) {
	body .wwd_situations h2,
	body .wwd_indo h2 { font-size: 6vw; }
	body .wwd_panel h2 { font-size: 7vw; }

	body .client_card h3,
	body .wwd_item h3,
	body .wwd_ongoing h3,
	body h2.blog_title,
	body .blog_article h2,
	body .wwd_name { font-size: 5vw; line-height: 1.3; }

	body p.wwd_tagline,
	body .contact_tab { font-size: 4.5vw; }

	body .blog_article p,
	body .blog_article li { font-size: 4vw; }
	body .client_card p.client_quote { font-size: 4vw; }
	body .wwd_item p,
	body .wwd_ongoing p,
	body .wwd_desc,
	body p.wwd_audience,
	body .wwd_indo_col p.wwd_indo_text { font-size: 3.8vw; }
}


/* Contacto: pestañas alineadas a la izquierda; en móvil, una debajo de otra */
.contact_tab {
	text-align: left;
}

@media only screen and (max-width: 800px) {
	.contact_tabs {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
}


/* ═════════ CONTACTO: tres opciones como selector limpio ═════════ */
.contact_tabs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	width: 100%;
	margin: 0 0 44px;
	border: 1px solid #4C0910;
}

body .contact_tab {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	padding: 14px 18px;
	border: 0;
	border-left: 1px solid #4C0910;
	border-bottom: 0;
	background: transparent;
	color: #4C0910;
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0.12em;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.25s, color 0.25s;
}

body .contact_tab:first-child {
	border-left: 0;
}

body .contact_tab:hover {
	background: rgba(229, 152, 183, 0.18);
	color: #4C0910;
}

body .contact_tab.is_active {
	background: #4C0910;
	color: #FCECD7;
	border-bottom-color: transparent;
}

/* Contacto directo: dos botones grandes */
.direct_options {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: 900px;
}

.direct_option {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 30px 32px;
	border: 1px solid #4C0910;
	color: #4C0910;
	transition: background-color 0.25s, color 0.25s;
}

.direct_option:hover {
	background: #4C0910;
	color: #FCECD7;
}

.direct_option_whatsapp {
	background: #4C0910;
	color: #FCECD7;
}

.direct_option_whatsapp:hover {
	background: #A80517;
	border-color: #A80517;
}

.direct_label {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0.8;
}

.direct_action {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 26px;
	line-height: 1.25;
	word-break: break-word;
}

@media only screen and (max-width: 1600px) {
	.direct_action { font-size: 22px; }
}

@media only screen and (max-width: 800px) {
	.contact_tabs {
		grid-template-columns: 1fr;
		flex-direction: unset;
		gap: 0;
	}

	body .contact_tab {
		min-height: 54px;
		border-left: 0;
		border-top: 1px solid #4C0910;
		font-size: 12px;
	}

	body .contact_tab:first-child {
		border-top: 0;
	}

	.direct_options {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.direct_option {
		padding: 22px 22px;
	}

	.direct_action { font-size: 5vw; }
}


/* Blog: portada sin pasar de 720 px de alto (las imágenes cuadradas no ocupan toda la pantalla) */
.blog_cover img {
	width: auto;
	max-width: 100%;
	max-height: 720px;
	margin: 0 auto;
}

/* Blog: llamada a la acción al final de cada artículo */
.blog_post_cta {
	width: 100%;
	max-width: 820px;
	margin: 50px auto 0;
	padding: 34px 36px;
	background: #FFFFFF;
	border-left: 3px solid #A80517;
}

.blog_post_cta p {
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-size: 26px;
	line-height: 34px;
	margin: 0 0 18px;
}

.blog_post_cta + .blog_back {
	margin-top: 40px;
}

@media only screen and (max-width: 800px) {
	.blog_post_cta { padding: 24px 22px; }
	.blog_post_cta p { font-size: 5vw; line-height: 135%; }
}


/* Contacto: dos opciones y línea de contacto directo debajo */
.contact_tabs {
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 18px;
}

p.contact_direct_line {
	font-size: 15px;
	line-height: 22px;
	margin: 0 0 40px;
	opacity: 0.85;
}

@media only screen and (max-width: 800px) {
	.contact_tabs { grid-template-columns: 1fr; }
	p.contact_direct_line { font-size: 3.6vw; line-height: 150%; }
}

p.contact_direct_line {
	text-align: left;
	width: 100%;
}

/* Blog: títulos de sección más marcados (número en cursiva rosa, línea fina y acento) */
.blog_article {
	counter-reset: seccion;
}

.blog_article h2 {
	counter-increment: seccion;
	position: relative;
	margin: 70px 0 22px;
	padding: 30px 0 0 0;
	border-top: 1px solid rgba(229, 152, 183, 0.7);
	font-size: 36px;
	line-height: 44px;
	color: #4C0910;
}

.blog_article h2::before {
	content: counter(seccion, decimal-leading-zero);
	display: block;
	margin: 0 0 8px;
	font-family: "Baskervville", "Open Sans", sans-serif;
	font-style: italic;
	font-size: 26px;
	line-height: 1;
	color: #E598B7;
}

.blog_article h2::after {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 64px;
	height: 3px;
	background: #A80517;
}


@media only screen and (max-width: 800px) {
	.blog_article h2 {
		margin-top: 50px;
		padding-top: 22px;
		font-size: 6.5vw;
		line-height: 125%;
	}

	.blog_article h2::before {
		font-size: 5vw;
	}
}

/* Blog: títulos de sección claramente más grandes que el texto (solo dentro de los artículos) */
body article.blog_article h2 { font-size: 34px; line-height: 1.25; }
body article.blog_article h2::before { font-size: 24px; }

@media only screen and (max-width: 1600px) {
	body article.blog_article h2 { font-size: 30px; }
}

@media only screen and (max-width: 1000px) {
	body article.blog_article h2 { font-size: 27px; }
}

@media only screen and (max-width: 800px) {
	body article.blog_article h2 { font-size: 7vw; }
	body article.blog_article h2::before { font-size: 5vw; }
}

/* La línea de contacto directo cierra la página, después de los formularios */
p.contact_direct_line {
	margin: 60px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid rgba(76, 9, 16, 0.2);
}

.contact_tabs {
	margin-bottom: 44px;
}


/* ═════════ LETRA MÍNIMA DE 14 PX EN TODA LA WEB ═════════
   Mismos selectores que las reglas originales (style.css, cookies.css y este archivo), en el mismo orden,
   para que ningún texto baje de 14 px en ningún ancho de pantalla. */

@media only screen and (max-width: 1000px) {
	p.p_box_we_are_text span { font-size: 14px; }
}

@media only screen and (max-width: 800px) {
	p { font-size: max(14px, 3.0vw); }
	.idioms_menu_phone p a, .idioms_menu_phone p, .idioms_menu_phone p button { font-size: max(14px, 3.7vw) !important; }
	.box_menu p { font-size: max(14px, 3.25vw); }
	.footer_description p { font-size: max(14px, 2.5vw); }
	.footer_rrss a div p { font-size: max(14px, 3.625vw); }
	.box_footer_b ul li a, .box_footer_b ul li { font-size: max(14px, 2.75vw); }
	.contact_form, form ::placeholder { font-size: max(14px, 2.75vw); }
	.privacidad label p { font-size: max(14px, 2.25vw); }
	.pol_legal_box p, .pol_legal_box ul li { font-size: max(14px, 3.5vw); }
	.box_we_are_image_hidden p { font-size: max(14px, 2.6vw); }
	p.p_box_we_are_text span { font-size: max(14px, 3.0vw); }
	h2.h2_what_we_do_out { font-size: max(14px, 3.5vw); }
	p.p_more_info_contact { font-size: max(14px, 2.5vw); }
	p.p_projects_out { font-size: max(14px, 3.5vw); }
}

@media only screen and (max-width: 600px) {
	.footer_rrss a div p { font-size: max(14px, 3.1vw); }
	.beige.cases { font-size: max(14px, 3.5vw); }
}

@media only screen and (max-width: 480px) {
	.box_we_are_image_hidden p { font-size: 14px; }
}

.cb__text { font-size: max(14px, 1.302vw); }
.cb__actions { font-size: max(14px, 1.458vw); }
.cb__btn { font-size: max(14px, 1.458vw); }
.cm__title { font-size: max(14px, 1.979vw); }
.cm__row { font-size: max(14px, 1.042vw); }

@media only screen and (max-width: 1000px) {
	.cm__row { font-size: max(14px, 1.3vw); }
}

@media only screen and (max-width: 800px) {
	.cb__text { font-size: max(14px, 2.3vw); }
	.cm__row { font-size: max(14px, 2.3vw); }
	.cb__btn { font-size: max(14px, 2.5vw); }
	.box_we_are_image_hidden p { font-size: max(14px, 3.2vw); }
	p.p_box_we_are_role { font-size: max(14px, 2.6vw); }
	select.form_select { font-size: max(14px, 2.75vw); }
	.footer_legal p { font-size: max(14px, 3vw); }
}

p.wwd_label { font-size: 14px; }

@media only screen and (max-width: 800px) {
	p.wwd_label { font-size: max(14px, 2.9vw); }
	.tres_items.tres_items_lombok p.tres_items_desc { font-size: max(14px, 3vw); }
	h2.en_paprika.lombok_title { font-size: max(14px, 3vw); }
	.tres_items.tres_items_lombok p.tres_items_desc { font-size: max(14px, 3.2vw); }
	.tres_items.tres_items_lombok p.tres_items_desc { font-size: max(14px, 3vw); }
}

footer.footer .footer_legal p { font-size: 14px; }

@media only screen and (max-width: 800px) {
	footer.footer .footer_legal p { font-size: 14px; }
}

.direct_label { font-size: 14px; }

@media only screen and (max-width: 800px) {
	p.contact_direct_line { font-size: max(14px, 3.6vw); }
}


/* Contacto: título más contenido (escala de títulos de sección) y dos botones que abren cada formulario */
body .contact_title h1 { font-size: 34px; line-height: 1.25; }

.contact_choices {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	width: 100%;
	margin: 0 0 40px;
}

body .contact_choice {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 18px 24px;
	border: 1px solid #4C0910;
	background: transparent;
	color: #4C0910;
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

body .contact_choice:hover {
	background: rgba(229, 152, 183, 0.18);
}

body .contact_choice.is_active {
	background: #4C0910;
	color: #FCECD7;
}

body .contact_choice:focus-visible {
	outline: 2px solid #A80517;
	outline-offset: 3px;
}

.contact_panel {
	scroll-margin-top: 120px;
}

@media only screen and (max-width: 1600px) {
	body .contact_title h1 { font-size: 26px; }
}

@media only screen and (max-width: 1000px) {
	body .contact_title h1 { font-size: 24px; }
	body .contact_choice { font-size: 15px; }
}

@media only screen and (max-width: 800px) {
	body .contact_title h1 { font-size: 6vw; }
	.contact_choices {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-bottom: 30px;
	}
	body .contact_choice {
		min-height: 60px;
		font-size: 14px;
	}
}


/* Ilustración del camino en móvil: encuadre sobre el cartel para que su texto se lea (mínimo 14 px) */
.lombok_illustration_frame {
	width: 100%;
}

@media only screen and (max-width: 800px) {
	.lombok_growing .lombok_illustration_frame {
		overflow: hidden;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: 0;
	}

	.lombok_growing .lombok_illustration_frame .lombok_illustration {
		width: 175%;
		max-width: none;
		margin: 0 0 0 -70%;
	}

	.lombok_illustration .road_sign {
		display: none;
	}
}

/* ───────── Guía de Kuta ───────── */
.guide_banner {
	max-width: 900px;
	margin: 0 auto 32px;
	padding: 16px 20px;
	background: #4C0910;
	color: #FCECD7;
	font-size: 15px;
	line-height: 22px;
}
.guide_banner strong { color: #FCECD7; }
.guide_banner { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; justify-content: space-between; }
.guide_banner p { margin: 0; flex: 1 1 360px; color: #FCECD7; font-size: 15px; line-height: 22px; }
.guide_banner_cta {
	flex: 0 0 auto;
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 14px;
	letter-spacing: 0.12em;
	padding: 12px 20px;
	background: #FCECD7;
	color: #4C0910;
	text-decoration: none;
	border-radius: 999px;
}
.guide_banner_cta:hover { background: #E598B7; color: #4C0910; }
#guide-filters { scroll-margin-top: 150px; }
.guide_filters {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto 24px;
	padding: 0 16px;
	box-sizing: border-box;
}
.guide_label {
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #A80517;
	margin: 0 0 10px;
}
.guide_chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}
.guide_chip {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 14px;
	padding: 8px 14px;
	border: 1px solid #4C0910;
	background: #FFFFFF;
	color: #4C0910;
	border-radius: 999px;
	cursor: pointer;
}
.guide_chip:hover { border-color: #A80517; color: #A80517; }
.guide_chip.is_on { background: #4C0910; color: #FCECD7; }
.guide_selects {
	font-family: "DM Sans", "Open Sans", sans-serif;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 4px 0 12px;
	font-size: 14px;
	color: #4C0910;
}
.guide_selects label { display: flex; flex-direction: column; gap: 4px; }
.guide_selects select {
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 14px;
	padding: 8px 10px;
	border: 1px solid #4C0910;
	background: #FFFFFF;
	color: #191919;
}
.guide_count { font-size: 14px; color: #191919; margin: 8px 0 0; }
.guide_list {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}
.guide_card {
	background: #FFFFFF;
	border: 1px solid rgba(76, 9, 16, 0.15);
	padding: 18px 18px 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.guide_card[hidden] { display: none; }
.guide_card p { margin: 0; font-size: 14px; line-height: 20px; }
.guide_card_cat {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #A80517;
}
.guide_card_cat span { color: #191919; letter-spacing: normal; text-transform: none; }
h3.guide_card_name { font-size: 22px; line-height: 28px; margin: 2px 0 0; }
.guide_card_rating { color: #191919; }
.guide_card_rating strong { color: #A80517; }
.guide_card_said span, .guide_card_dishes span { color: #A80517; }
.guide_card_price { color: #191919; }
.guide_card_tags {
	list-style: none;
	padding: 0;
	margin: 4px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.guide_card_tags li {
	font-size: 14px;
	padding: 2px 10px;
	background: #FFF9F0;
	color: #4C0910;
	border-radius: 999px;
}
.guide_card_hours summary { font-family: "DM Sans", "Open Sans", sans-serif; font-size: 14px; color: #4C0910; cursor: pointer; }
.guide_card_hours p { color: #191919; margin-top: 4px; }
.guide_card_maps { margin-top: auto !important; padding-top: 8px; }
.guide_card_maps a { color: #A80517; text-decoration: underline; }
.guide_card_maps a:hover { color: #E598B7; }
.guide_none { text-align: center; margin: 24px auto; }
.guide_source {
	max-width: 1100px;
	margin: 24px auto 0;
	padding: 0 16px;
	font-size: 14px;
	color: #191919;
}
.guide_faq { margin-top: 32px; }
.guide_kicker {
	font-size: 14px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #A80517;
	margin: 0 0 8px;
}
.guide_hero { max-width: 1100px; width: 100%; margin: 0 auto 28px; padding: 0 16px; box-sizing: border-box; }
.guide_hero img { display: block; width: 100%; height: auto; }
.guide_hero figcaption { font-family: "DM Sans", "Open Sans", sans-serif; font-size: 14px; color: #191919; opacity: .75; margin-top: 6px; text-align: right; }
.guide_hero figcaption a { color: inherit; text-decoration: underline; }
.guide_hero picture { display: block; }
.guide_source a { color: inherit; text-decoration: underline; }
.description_a.guide_head { margin-bottom: 32px; }

/* ───────── Guía de Kuta: fichas v2 ───────── */
.guide_list { gap: 20px; }
.guide_card { background: #FCECD7; border: 0; padding: 0; gap: 0; }
.guide_card_head { background: #4C0910; padding: 18px 20px 16px; }
.guide_card_head .guide_card_cat { color: #E598B7; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 6px; }
.guide_card_head .guide_card_cat span { color: #FCECD7; opacity: .8; letter-spacing: normal; text-transform: none; }
.guide_card_head h3.guide_card_name { color: #FCECD7; font-size: 24px; line-height: 29px; margin: 0; }
.guide_card_body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }
.guide_card_rating { display: flex; align-items: baseline; gap: 8px; }
.guide_card_rating strong { font-family: "Baskervville", "Open Sans", serif; font-size: 34px; line-height: 1; color: #A80517; font-weight: 400; }
.guide_card_rating span { font-size: 14px; color: #191919; }
.guide_card p.guide_card_label { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: #A80517; margin-top: 4px; }
.guide_card p.guide_card_said { font-family: "Baskervville", "Open Sans", serif; font-style: italic; font-size: 19px; line-height: 25px; color: #4C0910; }
.guide_card_dishes { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.guide_card_dishes li { font-size: 14px; padding: 3px 12px; background: #E598B7; color: #4C0910; border-radius: 999px; }
.guide_card_price strong { color: #4C0910; }
.guide_card_tags li { background: #FFF9F0; border: 1px solid rgba(76, 9, 16, .25); }
a.guide_card_maps { margin-top: auto; display: block; text-align: center; padding: 11px 14px; border: 1px solid #4C0910; border-radius: 999px; color: #4C0910; text-decoration: none; font-family: "DM Sans", "Open Sans", sans-serif; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }
a.guide_card_maps:hover { background: #4C0910; color: #FCECD7; }
.guide_back {
	position: fixed;
	right: 20px;
	bottom: 24px;
	z-index: 50;
	font-family: "DM Sans", "Open Sans", sans-serif;
	font-size: 14px;
	letter-spacing: .1em;
	padding: 12px 20px;
	background: #4C0910;
	color: #FCECD7;
	text-decoration: none;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(76, 9, 16, .25);
}
.guide_back:hover { background: #A80517; color: #FCECD7; }
.guide_back[hidden] { display: none; }
/* Guía: imagen, banner, filtros y lista con el mismo ancho (el contenedor ya pone el margen lateral) */
.guide_hero, .guide_filters, .guide_list, .guide_source { padding-left: 0; padding-right: 0; }
.guide_banner { max-width: 1100px; width: 100%; box-sizing: border-box; }
.guide_source { margin: 40px auto 0; text-align: center; }
.guide_card p.guide_card_food { font-size: 16px; line-height: 23px; color: #191919; }
/* Proyectos: la página es solo los logos, con aire bajo la cabecera fija */
.logos_trust.logos_page { padding-top: 200px; }
@media (max-width: 700px) { .logos_trust.logos_page { padding-top: 160px; } }
