/* RawBit — Propuesta B */
/* Base styles, animations and interaction states (originally in <head><style>) */

	body {
		margin: 0;
		background: #2B2D42
	}

	* {
		box-sizing: border-box
	}

	a {
		color: inherit
	}

	a:hover {
		color: #F7AF40
	}

	.m {
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		mask-size: contain;
		-webkit-mask-position: center;
		mask-position: center
	}

	.m-rabbit {
		-webkit-mask-image: url(./assets/6bda34e2598228f5215009f8d7f5c8ab.png);
		mask-image: url(./assets/6bda34e2598228f5215009f8d7f5c8ab.png);
		aspect-ratio: 900/505
	}

	.m-word {
		-webkit-mask-image: url(./assets/ca810250579a160ad0aa3cc1f0afb24a.png);
		mask-image: url(./assets/ca810250579a160ad0aa3cc1f0afb24a.png);
		aspect-ratio: 1400/357
	}

	/* Logo: the rabbit leaps onto the wordmark once on load, hops again on hover */
	@keyframes leapIn {
		0% {
			transform: translate(-120%, 60%) rotate(-18deg);
			opacity: 0
		}

		20% {
			opacity: 1
		}

		60% {
			transform: translate(-30%, -45%) rotate(-6deg)
		}

		85% {
			transform: translate(0, 6%) scale(1.08, .9)
		}

		100% {
			transform: none
		}
	}

	@keyframes hop {

		0%,
		100% {
			transform: none
		}

		35% {
			transform: translate(6%, -28%) rotate(-6deg)
		}

		70% {
			transform: translate(0, 4%) scale(1.06, .92)
		}
	}

	@keyframes wipe {
		from {
			clip-path: inset(0 100% 0 0)
		}

		to {
			clip-path: inset(0 0 0 0)
		}
	}

	.lg-r {
		transform-origin: 50% 100%;
		animation: leapIn 1s cubic-bezier(.3, .7, .3, 1) .5s both
	}

	.lg-w {
		animation: wipe .6s cubic-bezier(.7, 0, .2, 1) .3s both
	}

	.logo:hover .lg-r {
		animation: hop .6s ease-out
	}

	/* Hero entrance */
	@keyframes kb {
		from {
			transform: scale(1.14)
		}

		to {
			transform: scale(1)
		}
	}

	@keyframes up {
		from {
			transform: translateY(105%)
		}

		to {
			transform: none
		}
	}

	@keyframes fade {
		from {
			opacity: 0;
			transform: translateY(14px)
		}

		to {
			opacity: 1;
			transform: none
		}
	}

	@keyframes sline {
		0% {
			transform: scaleY(0);
			transform-origin: top
		}

		50% {
			transform: scaleY(1);
			transform-origin: top
		}

		50.1% {
			transform-origin: bottom
		}

		100% {
			transform: scaleY(0);
			transform-origin: bottom
		}
	}

	@keyframes blink {
		50% {
			opacity: 0
		}
	}

	.kb {
		animation: kb 2.4s cubic-bezier(.2, .7, .2, 1) both
	}

	.ln {
		display: block;
		overflow: hidden;
		padding-bottom: .08em
	}

	.ln>span {
		display: inline-block;
		animation: up .9s cubic-bezier(.2, .8, .2, 1) both
	}

	.h1 {
		animation-delay: .35s !important
	}

	.h2 {
		animation-delay: .47s !important
	}

	.fd {
		animation: fade .8s ease-out .8s both
	}

	.fd2 {
		animation: fade .8s ease-out 1s both
	}

	.sline {
		animation: sline 2s ease-in-out infinite
	}

	.rec {
		animation: blink 1s steps(1) infinite
	}

	/* Hover details */
	.cta-c {
		transition: transform .3s ease
	}

	.cta:hover .cta-c {
		transform: translateX(6px)
	}

	.ob {
		transition: background .25s ease, color .25s ease
	}

	.ob:hover {
		background: #EFEFEF !important;
		color: #2B2D42 !important
	}

	.nl {
		position: relative;
		transition: color .2s ease
	}

	.nl:hover {
		color: #F7AF40 !important
	}

	.svc {
		transition: background .35s ease
	}

	.svc:hover {
		background: rgba(239, 239, 239, .04) !important
	}

	.svc .bar {
		transform: scaleX(0);
		transform-origin: left;
		transition: transform .45s cubic-bezier(.2, .7, .2, 1)
	}

	.svc:hover .bar {
		transform: scaleX(1)
	}

	.svc .ic {
		transition: color .3s ease, transform .3s ease
	}

	.svc:hover .ic {
		color: #F7AF40 !important;
		transform: translateY(-3px)
	}

	.lk {
		transition: gap .25s ease, color .2s ease
	}

	.lk:hover {
		gap: 16px !important
	}

	.cl {
		transition: background .3s ease
	}

	.cl:hover {
		background: rgba(239, 239, 239, .06) !important
	}

	.cl .cl-n {
		transition: color .3s ease
	}

	.cl:hover .cl-n {
		color: #EFEFEF !important
	}

	.dk {
		transition: background .25s ease
	}

	.dk:hover {
		background: #3b3e5a !important
	}

	.fld {
		transition: border-color .2s ease
	}

	.fld:focus {
		outline: none;
		border-bottom-color: #2B2D42 !important
	}

	.fld:focus-visible {
		outline: 2px solid #F7AF40;
		outline-offset: 4px
	}

	/* Marquee */
	@keyframes marq {
		to {
			transform: translateX(-50%)
		}
	}

	.marq {
		animation: marq 60s linear infinite
	}

	/* Scroll-driven reveals */
	@keyframes rise {
		from {
			opacity: 0;
			transform: translateY(60px)
		}

		to {
			opacity: 1;
			transform: none
		}
	}

	@keyframes clipUp {
		from {
			clip-path: inset(100% 0 0 0)
		}

		to {
			clip-path: inset(0 0 0 0)
		}
	}

	@keyframes zoomOut {
		from {
			transform: scale(1.25)
		}

		to {
			transform: scale(1)
		}
	}

	@keyframes growX {
		from {
			transform: scaleX(0)
		}

		to {
			transform: scaleX(1)
		}
	}

	@keyframes par {
		to {
			transform: translateY(22%)
		}
	}

	@keyframes slideR {
		from {
			transform: translateX(-40%);
			opacity: 0
		}

		to {
			transform: none;
			opacity: 1
		}
	}

	@supports (animation-timeline: view()) {
		.rv {
			animation: rise linear both;
			animation-timeline: view();
			animation-range: entry 0% cover 24%
		}

		.rv.s2 {
			animation-range: entry 8% cover 28%
		}

		.rv.s3 {
			animation-range: entry 16% cover 32%
		}

		.rv.s4 {
			animation-range: entry 24% cover 36%
		}

		.rv.s5 {
			animation-range: entry 32% cover 40%
		}

		.rv.s6 {
			animation-range: entry 40% cover 44%
		}

		.clip {
			animation: clipUp linear both;
			animation-timeline: view();
			animation-range: entry 0% cover 45%
		}

		.zo {
			animation: zoomOut linear both;
			animation-timeline: view();
			animation-range: entry 0% cover 60%
		}

		.grow {
			transform-origin: left;
			animation: growX linear both;
			animation-timeline: view();
			animation-range: entry 30% cover 55%
		}

		.par {
			animation: par linear both;
			animation-timeline: view();
			animation-range: exit 0% exit 100%
		}

		.sr {
			animation: slideR linear both;
			animation-timeline: view();
			animation-range: entry 10% cover 40%
		}

		/* Headline lines slide up from a mask as they enter */
		.ml {
			view-timeline-name: --ml
		}

		.ml>span {
			animation: lineUp linear both;
			animation-timeline: --ml;
			animation-range: entry 20% cover 32%
		}

		.ml.d2>span {
			animation-range: entry 30% cover 40%
		}

		.ml.d3>span {
			animation-range: entry 40% cover 48%
		}

		/* Hero copy drifts up and fades as you leave it */
		.hx {
			animation: hx linear both;
			animation-timeline: view();
			animation-range: exit 0% exit 65%
		}

		/* Qué hacemos: the dark panel opens from an inset card to full bleed */
		.expand {
			animation: expand linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 90%
		}

		.vb {
			transform-origin: top;
			animation: growY linear both;
			animation-timeline: view();
			animation-range: entry 40% cover 45%
		}

		.draw {
			view-timeline-name: --ic
		}

		.draw path,
		.draw circle,
		.draw rect {
			stroke-dasharray: 120;
			stroke-dashoffset: 120;
			animation: dash linear both;
			animation-timeline: --ic;
			animation-range: entry 40% cover 50%
		}

		.cnt {
			animation: rise linear both;
			animation-timeline: view();
			animation-range: entry 0% cover 30%
		}

		/* Client tiles pop in */
		.pop {
			animation: pop linear both;
			animation-timeline: view();
			animation-range: entry 0% cover 22%
		}

		.pop.s2 {
			animation-range: entry 8% cover 28%
		}

		.pop.s3 {
			animation-range: entry 16% cover 34%
		}
	}

	@keyframes lineUp {
		from {
			transform: translateY(110%)
		}

		to {
			transform: none
		}
	}

	@keyframes hx {
		to {
			opacity: 0;
			transform: translateY(-90px)
		}
	}

	@keyframes expand {
		from {
			clip-path: inset(0 5% 0 5% round 36px)
		}

		to {
			clip-path: inset(0 0 0 0 round 0px)
		}
	}

	@keyframes growY {
		from {
			transform: scaleY(0)
		}

		to {
			transform: scaleY(1)
		}
	}

	@keyframes dash {
		to {
			stroke-dashoffset: 0
		}
	}

	@keyframes pop {
		from {
			opacity: 0;
			transform: scale(.94)
		}

		to {
			opacity: 1;
			transform: none
		}
	}

	.ml {
		display: block;
		overflow: hidden;
		padding-bottom: .1em;
		margin-bottom: -.1em
	}

	.ml>span {
		display: inline-block
	}

	/* Client panel content re-enters on every selection */
	@keyframes pin {
		from {
			opacity: 0;
			transform: translateY(26px)
		}

		to {
			opacity: 1;
			transform: none
		}
	}

	@keyframes wl {
		from {
			opacity: 0;
			transform: translate(-35%, 18%) rotate(-12deg)
		}

		to {
			opacity: 1;
			transform: none
		}
	}

	.pin {
		animation: pin .55s cubic-bezier(.2, .7, .2, 1) both
	}

	.pin2 {
		animation-delay: .08s !important
	}

	.pin3 {
		animation-delay: .16s !important
	}

	.pin4 {
		animation-delay: .24s !important
	}

	.wl {
		animation: wl .8s cubic-bezier(.2, .7, .2, 1) both
	}

	.cb {
		transition: background .3s ease, box-shadow .3s ease
	}

	.cb:hover {
		background: rgba(239, 239, 239, .07) !important
	}

	.cb:focus-visible {
		outline: 2px solid #F7AF40;
		outline-offset: -2px
	}

	.cb .cl-n {
		transition: color .3s ease
	}

	.cb:hover .cl-n {
		color: #EFEFEF !important
	}

	.ib {
		transition: background .2s ease
	}

	.ib:hover {
		background: #3b3e5a !important
	}

	@media (max-width:860px) {
		.hide-sm {
			display: none !important
		}
	}

	@media (prefers-reduced-motion:reduce) {
		* {
			animation: none !important;
			transition: none !important
		}
	}

/* Layout styles extracted from element style="" attributes, grouped by section. */

/* Root wrapper */
.root-1 {
	width: 100%;
	background: #EFEFEF;
	color: #2B2D42;
	font-family: 'Outfit', 'Nexa', system-ui, sans-serif;
	font-weight: 400;
}

/* Nav */
.nav-1 {
	display: flex;
	flex-direction: column;
	width: 112px;
	text-decoration: none;
}
.nav-2 {
	width: 36%;
	margin-left: 30%;
	background: #EFEFEF;
}
.nav-3 {
	width: 100%;
	margin-top: 3px;
	background: #EFEFEF;
}
.nav-4 {
	display: flex;
	align-items: center;
	gap: 44px;
}
.nav-5 {
	display: flex;
	gap: 40px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.nav-6 {
	color: #EFEFEF;
	text-decoration: none;
}
.nav-7 {
	border: 1.5px solid #EFEFEF;
	color: #EFEFEF;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 14px 24px;
	border-radius: 15px;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	white-space: nowrap;
}

/* Section index rail */
.rail-1 {
	position: fixed;
	right: 32px;
	bottom: 44px;
	z-index: 40;
	color: #ffffff;
	mix-blend-mode: difference;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .08em;
	pointer-events: none;
}
.rail-2 {
	width: 1px;
	height: 96px;
	background: #ffffff;
	opacity: .6;
}
.rail-3 {
	text-align: center;
	line-height: 1.5;
}

/* 01 Hero */
.hero-1 {
	position: relative;
	min-height: max(100vh, 720px);
	overflow: hidden;
	background: #2B2D42;
	color: #EFEFEF;
	display: flex;
	flex-direction: column;
}
.hero-2 {
	position: absolute;
	inset: -6% 0 0 0;
}
.hero-3 {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% 40%;
	display: block;
}
.hero-4 {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(43,45,66,.96) 0%, rgba(43,45,66,.82) 34%, rgba(43,45,66,.25) 68%, rgba(43,45,66,.35) 100%);
}
.hero-5 {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(43,45,66,.65) 0%, rgba(43,45,66,0) 22%, rgba(43,45,66,0) 72%, rgba(43,45,66,.85) 100%);
}
.hero-6 {
	position: relative;
	flex-grow: 1;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 200px 24px 56px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 64px;
}
.hero-7 {
	margin: 0;
	font-weight: 600;
	font-size: clamp(44px, 5.8vw, 92px);
	line-height: 1;
	letter-spacing: -.035em;
}
.hero-8 {
	color: var(--accent);
}
.hero-9 {
	margin: 32px 0 0;
	max-width: 470px;
	font-size: 19px;
	font-weight: 300;
	line-height: 1.55;
	color: rgba(239,239,239,.88);
}
.hero-10 {
	margin-top: 44px;
	display: inline-flex;
	align-items: center;
	gap: 18px;
	color: #EFEFEF;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	min-height: 48px;
}
.hero-11 {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--accent);
	color: #2B2D42;
	display: grid;
	place-items: center;
}
.hero-12 {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
}
.hero-13 {
	display: flex;
	align-items: center;
	gap: 16px;
	border-left: 1px solid rgba(239,239,239,.4);
	padding: 10px 0 10px 18px;
	font-size: 13px;
	letter-spacing: .06em;
	color: rgba(239,239,239,.85);
}
.hero-14 {
	position: relative;
	width: 1px;
	height: 28px;
	background: rgba(239,239,239,.2);
	overflow: hidden;
}
.hero-15 {
	position: absolute;
	inset: 0;
	background: #EFEFEF;
}
.hero-16 {
	display: flex;
	align-items: center;
	gap: 22px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .1em;
	color: rgba(239,239,239,.8);
	margin-right: 64px;
}
.hero-17 {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.hero-18 {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #E93E38;
	display: inline-block;
}

/* 02 Enfoque */
.enfoque-1 {
	background: #EFEFEF;
	color: #2B2D42;
	padding: 140px 24px;
	overflow: hidden;
}
.enfoque-2 {
	max-width: 1320px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
	gap: 80px;
	align-items: center;
}
.enfoque-3 {
	margin: 0 0 28px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.enfoque-4 {
	margin: 0;
	font-weight: 500;
	font-size: clamp(34px, 3.6vw, 56px);
	line-height: 1.08;
	letter-spacing: -.025em;
	max-width: 560px;
}
.enfoque-5 {
	margin: 28px 0 0;
	max-width: 480px;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.65;
	color: #44465f;
}
.enfoque-6 {
	margin-top: 36px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #2B2D42;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	min-height: 44px;
}
.enfoque-7 {
	position: relative;
}
.enfoque-8 {
	position: absolute;
	left: -48px;
	bottom: -48px;
	width: 260px;
	height: 150px;
	background: var(--accent);
	clip-path: polygon(38% 0, 100% 0, 62% 100%, 0 100%);
}
.enfoque-9 {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	aspect-ratio: 1200 / 760;
	background: #2B2D42;
}
.enfoque-10 {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.enfoque-11 {
	position: absolute;
	left: 20px;
	top: 20px;
	font-family: 'DM Mono', monospace;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	background: rgba(43,45,66,.85);
	color: #EFEFEF;
	padding: 8px 12px;
	border-radius: 4px;
}

/* 03 Que hacemos */
.svc-1 {
	background: #EFEFEF;
	padding: 0;
}
.svc-2 {
	background: #2B2D42;
	color: #EFEFEF;
	padding: 140px 0 0;
	overflow: hidden;
}
.svc-3 {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 24px;
}
.svc-4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 40px;
	margin-bottom: 80px;
}
.svc-5 {
	margin: 0 0 28px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(239,239,239,.8);
}
.svc-6 {
	margin: 0;
	font-weight: 500;
	font-size: clamp(34px, 3.6vw, 56px);
	line-height: 1.08;
	letter-spacing: -.025em;
}
.svc-7 {
	color: var(--accent);
}
.svc-8 {
	margin: 0;
	max-width: 420px;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.65;
	color: rgba(239,239,239,.8);
}
.svc-9 {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
}
.svc-10 {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: rgba(239,239,239,.3);
}
.svc-11 {
	position: relative;
	padding: 36px 26px 44px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.svc-12 {
	position: absolute;
	left: 0;
	right: 0;
	top: -1px;
	height: 2px;
	background: var(--accent);
}
.svc-13 {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: rgba(239,239,239,.14);
}
.svc-14 {
	color: #EFEFEF;
}
.svc-15 {
	margin: 14px 0 0;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.25;
}
.svc-16 {
	margin: 0;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.55;
	color: rgba(239,239,239,.75);
}
.svc-17 {
	margin-top: 100px;
	border-top: 1px solid rgba(239,239,239,.14);
	padding: 34px 0;
	overflow: hidden;
}
.svc-18 {
	display: flex;
	width: max-content;
}
.svc-19 {
	display: inline-flex;
	align-items: center;
	gap: 44px;
	padding-right: 44px;
	font-size: clamp(40px, 5vw, 76px);
	font-weight: 300;
	letter-spacing: -.02em;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1px rgba(239,239,239,.45);
}
.svc-20 {
	width: 10px;
	height: 10px;
	background: var(--accent);
	display: inline-block;
	transform: rotate(45deg);
}

/* 04 Como trabajamos */
.proc-1 {
	background: #EFEFEF;
	color: #2B2D42;
	padding: 140px 24px;
}
.proc-2 {
	max-width: 1320px;
	margin: 0 auto;
}
.proc-3 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 40px;
	align-items: end;
	margin-bottom: 88px;
}
.proc-4 {
	margin: 0 0 28px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.proc-5 {
	margin: 0;
	font-weight: 500;
	font-size: clamp(34px, 3.6vw, 56px);
	line-height: 1.08;
	letter-spacing: -.025em;
}
.proc-6 {
	color: #C8302B;
}
.proc-7 {
	margin: 0;
	max-width: 440px;
	justify-self: end;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.65;
	color: #44465f;
}
.proc-8 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 40px 32px;
}
.proc-9 {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.proc-10 {
	display: flex;
	align-items: center;
	gap: 18px;
}
.proc-11 {
	font-family: 'DM Mono', monospace;
	font-size: 15px;
	font-weight: 500;
	color: #C8302B;
}
.proc-12 {
	flex-grow: 1;
	height: 1px;
	background: rgba(43,45,66,.15);
	position: relative;
	overflow: hidden;
}
.proc-13 {
	position: absolute;
	inset: 0;
	background: #2B2D42;
}
.proc-14 {
	margin: 18px 0 0;
	font-size: 26px;
	font-weight: 500;
	letter-spacing: -.015em;
}
.proc-15 {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	color: #2B2D42;
}
.proc-16 {
	margin: 0;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.6;
	color: #44465f;
}

/* 05 Clientes */
.cli-1 {
	background: #2B2D42;
	color: #EFEFEF;
	padding: 140px 24px;
}
.cli-2 {
	max-width: 1320px;
	margin: 0 auto;
}
.cli-3 {
	margin: 0 0 40px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(239,239,239,.8);
}
.cli-4 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	gap: 0;
}
.cli-5 {
	position: relative;
	overflow: hidden;
	background: #E93E38;
	padding: 44px 44px 40px;
	min-height: 480px;
	display: flex;
	flex-direction: column;
}
.cli-6 {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
}
.cli-7 {
	position: absolute;
	right: -18%;
	bottom: -6%;
	width: 90%;
	background: rgba(43,45,66,.12);
}
.cli-8 {
	position: relative;
	margin: 0;
	font-weight: 500;
	font-size: clamp(34px, 3.4vw, 52px);
	line-height: 1.08;
	letter-spacing: -.025em;
	color: #ffffff;
}
.cli-9 {
	position: relative;
}
.cli-10 {
	margin: 0 0 24px;
	max-width: 340px;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.45;
	color: #ffffff;
}
.cli-11 {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: 'DM Mono', monospace;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: #2B2D42;
	color: #EFEFEF;
	padding: 10px 14px;
	border-radius: 4px;
}
.cli-12 {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
}
.cli-13 {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}
.cli-14 {
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	background: #2B2D42;
	color: #EFEFEF;
	padding: 8px 12px;
	border-radius: 4px;
}
.cli-15 {
	display: flex;
	gap: 6px;
}
.cli-16 {
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 15px;
	background: #2B2D42;
	color: #EFEFEF;
	display: grid;
	place-items: center;
	cursor: pointer;
}
.cli-17 {
	margin: 0;
	font-weight: 500;
	font-size: clamp(34px, 3.4vw, 52px);
	line-height: 1.06;
	letter-spacing: -.025em;
	color: #ffffff;
}
.cli-18 {
	margin: 20px 0 0;
	max-width: 420px;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.45;
	color: #ffffff;
}
.cli-19 {
	margin-top: 26px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.cli-20 {
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: #2B2D42;
	color: #EFEFEF;
	padding: 8px 12px;
	border-radius: 4px;
}
.cli-21 {
	position: relative;
	align-self: flex-start;
	background: transparent;
	border: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #ffffff;
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 19px;
	min-height: 44px;
	cursor: pointer;
}
.cli-22 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	border-top: 1px solid rgba(239,239,239,.12);
	border-right: 1px solid rgba(239,239,239,.12);
}
.cli-23 {
	font-family: 'Outfit', sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .1em;
}
.cli-24 {
	font-family: 'DM Mono', monospace;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(239,239,239,.65);
}

/* 06 Contacto */
.contact-1 {
	background: #EFEFEF;
	color: #2B2D42;
	padding: 140px 24px;
}
.contact-2 {
	max-width: 1320px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
	gap: 80px;
	align-items: start;
}
.contact-3 {
	margin: 0 0 28px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.contact-4 {
	margin: 0;
	font-weight: 500;
	font-size: clamp(34px, 3.6vw, 56px);
	line-height: 1.08;
	letter-spacing: -.025em;
	max-width: 520px;
}
.contact-5 {
	margin: 28px 0 0;
	max-width: 440px;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.65;
	color: #44465f;
}
.contact-6 {
	margin-top: 56px;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px 28px;
	font-size: 16px;
}
.contact-7 {
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #5a5c75;
	padding-top: 3px;
}
.contact-8 {
	background: #ffffff;
	padding: clamp(28px, 4vw, 52px);
	border-radius: 4px;
}
.contact-9 {
	min-height: 440px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
}
.contact-10 {
	width: 90px;
	background: #2B2D42;
}
.contact-11 {
	margin: 0;
	font-weight: 500;
	font-size: 32px;
	letter-spacing: -.02em;
}
.contact-12 {
	margin: 0;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.6;
	color: #44465f;
}
.contact-13 {
	align-self: flex-start;
	margin-top: 10px;
	background: transparent;
	border: 1.5px solid #2B2D42;
	color: #2B2D42;
	font-family: 'Outfit', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 14px 22px;
	border-radius: 15px;
	min-height: 48px;
	cursor: pointer;
}
.contact-14 {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.contact-15 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 30px;
}
.contact-16 {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #5a5c75;
}
.contact-17 {
	font-family: 'Outfit', sans-serif;
	font-size: 18px;
	text-transform: none;
	letter-spacing: 0;
	color: #2B2D42;
	border: 0;
	border-bottom: 1px solid rgba(43,45,66,.3);
	padding: 10px 0;
	background: transparent;
	min-height: 44px;
}
.contact-18 {
	border: 0;
	margin: 0;
	padding: 0;
}
.contact-19 {
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #5a5c75;
	margin-bottom: 14px;
}
.contact-20 {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.contact-21 {
	font-family: 'Outfit', sans-serif;
	font-size: 18px;
	text-transform: none;
	letter-spacing: 0;
	color: #2B2D42;
	border: 0;
	border-bottom: 1px solid rgba(43,45,66,.3);
	padding: 10px 0;
	background: transparent;
	resize: vertical;
}
.contact-22 {
	align-self: flex-start;
	background: #2B2D42;
	color: #EFEFEF;
	border: 0;
	font-family: 'Outfit', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 18px 30px;
	border-radius: 15px;
	min-height: 54px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

/* Footer */
.footer-1 {
	background: #2B2D42;
	color: #EFEFEF;
	padding: 80px 24px 40px;
}
.footer-2 {
	max-width: 1320px;
	margin: 0 auto;
}
.footer-3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 48px;
	padding-bottom: 56px;
	border-bottom: 1px solid rgba(239,239,239,.12);
}
.footer-4 {
	display: flex;
	flex-direction: column;
	width: 150px;
}
.footer-5 {
	width: 36%;
	margin-left: 30%;
	background: #EFEFEF;
}
.footer-6 {
	width: 100%;
	margin-top: 4px;
	background: #EFEFEF;
}
.footer-7 {
	display: flex;
	flex-wrap: wrap;
	gap: 72px;
	font-size: 15px;
}
.footer-8 {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.footer-9 {
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(239,239,239,.6);
	margin-bottom: 6px;
}
.footer-10 {
	text-decoration: none;
}
.footer-11 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	padding-top: 28px;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: .08em;
	color: rgba(239,239,239,.6);
}
