@import url("https://use.typekit.net/fwy1lhj.css");

:root {
	--page-w: 75.5rem;

	--fon-t: "ofelia-text", sans-serif;
	--fon-h: "ofelia-text", sans-serif;

	--sca-t: 1rem;
	--sca-h: 1rem;
	--sca-lh: 1.2em;
	--sca-mar: 1rem;
	--sca-pad: 2.5rem;

	--ratio: .375;

	--fon-w1: 400;
	--fon-w5: 400;
	--fon-w7: 600;
	--fon-w9: 600;

	--col-dar: #D1D9E0;
	--col-dar-op25: #D1D9E033;
	--col-bg: #1C2627;
	--col-lig: #2E3E40;
	--col-sep: #8CA1B2;
	--col-pri: #b78a6a;
	--col-pri-op75: #b78a6aBF;
	--col-pri-bg: #b78a6a;
	--col-acc: #b78a6a;
	--col-acc-bg: #b78a6a;

	--col-red: #F03D3E;
	--col-gre: #007B40;

	--col-grad-v: linear-gradient(180deg, var(--col-dar) 0%, var(--col-pri) 100%);

	--rad-s: 1.5rem;
	--rad-m: 1.5rem;
	--rad-l: 1.5rem;
	--rad-bt: 10rem;

	--sha-s: none;
	--sha-m: none;
	--sha-l: none;
	--sha-i: inset 0 .125rem .25rem 0 var(--col-dar-op25);

	--ani-f: all 500ms cubic-bezier(.7,0,.3,1);
}

.header {
	padding: 1rem 0;
	background: none;
}
.header.alig-c {
	text-align: center;
}
.header.alig-c .branding {
	float: none;
	display: inline-block;
}
.header:before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: #1C2627cc;
	backdrop-filter: blur(1rem);
}
.branding img {
	margin: 0;
	height: 4rem;
}
@media (min-width: 960px) {
	.header ul {
		margin-top: .75rem;
	}
}
.header ul a,
.header ul a.bt {
	line-height: 2.5rem;
}

body.home .header {
	padding: 3rem 0;
	position: absolute;
	backdrop-filter: blur(0);
}
body.home .header:before {
	height: 150%;
	background: linear-gradient(to bottom, rgba(28, 38, 39, 0.75) 30%, rgba(28, 38, 39, 0) 100%);
}
body.home .featured.section {
	margin-top: 0;
	height: 90vh;
	margin-bottom: -10vh;
	text-align: center;
}
body.home .featured.section .content {
	margin: 0 auto;
	max-width: 50rem;
}
body.home .featured.section h1 strong {
	text-decoration: underline;
	text-decoration-color: var(--col-acc);
}
body.home .section.bg-l {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% auto;
	background-image: url("data:image/svg+xml,%3Csvg width='81' height='107' viewBox='0 0 81 107' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 53.4888C0 22.6081 23.5732 0 54.3166 0C63.5157 0 73.0769 0.965176 80.2907 3.72167C80.2907 22.4011 80.2907 34.423 74.1649 42.3594C64.2868 34.5927 57.2671 23.3501 54.9536 10.4698C54.7951 9.56769 53.5115 9.56769 53.3514 10.4698C49.5101 31.8977 32.6381 48.8004 11.228 52.6886V52.6853C10.3405 52.8486 10.3405 54.1274 11.228 54.2891C32.6381 58.1773 49.5101 75.0816 53.3514 96.5079C53.5131 97.41 54.7968 97.41 54.9536 96.5079C57.2655 83.6276 64.2868 72.3866 74.1649 64.6183C80.2907 72.5547 80.2907 84.575 80.2907 103.256C73.0753 106.013 63.5157 106.978 54.3166 106.978C23.5732 106.978 0 84.3696 0 53.4888Z' fill='%231C2627'/%3E%3Cpath d='M53.8466 79.6506C49.3149 67.7613 39.8329 58.2712 27.9469 53.7234C27.7286 53.6393 27.7286 53.3386 27.9469 53.2545C39.8329 48.7083 49.3149 39.2166 53.8466 27.329C53.9274 27.1091 54.2346 27.1091 54.3171 27.329C57.1835 34.8483 62.0304 41.4073 68.2143 46.3657C71.8034 49.2435 75.8452 51.5829 80.2135 53.2545C80.4318 53.3386 80.4318 53.6393 80.2135 53.7234C75.8484 55.3934 71.8066 57.7328 68.2143 60.6154C62.032 65.5706 57.1835 72.1312 54.3171 79.6506C54.2362 79.8672 53.929 79.8672 53.8466 79.6506Z' fill='%231C2627'/%3E%3C/svg%3E%0A");
}
body.home .section.bg-l h4 {
	font-weight: normal;
	line-height: 2em;
}

#accesos {
	position: relative;
	z-index: 99;
}
@media (min-width: 800px) {
	#accesos .grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, 25rem);
		gap: 1rem;
	}
	#accesos .grid .card:nth-child(1),
	#accesos .grid .card:nth-child(3) {
	  grid-row: span 2;
	}
}
#accesos .card {
	margin: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: var(--col-lig);
	border: solid 1px var(--col-lig);
	background-repeat: no-repeat;
	background-position: 0% 50%;
	background-size: cover;
}
#accesos .card img {
	display: block;
	width: 10rem;
	max-width: 60%;
	margin: auto 0 1rem;
}
#accesos .card img + h3 {
	margin-top: 0;
}
#accesos .card h2,
#accesos .card h3 {
	margin-top: auto;
	max-width: 80%;
	text-wrap: balance;
}
#accesos .card p {
	text-wrap: balance;
}
#accesos .card > a:last-child {
	margin-top: 1rem;
}
@media (max-width: 800px) {
	#accesos .card + .card {
		margin-top: 1rem;
	}
	#accesos .card h6 {
		margin-bottom: 3rem;
	}
}


.featured.section {
	padding: 0;
	margin-top: 6rem;
	height: calc(100dvh - 6rem);
	text-align: left;
	background-size: cover;
	background-image: url(../images/portada-cygnus.jpg);
	position: relative;
}
.featured.section:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #1C262788;
}
.cygnus1 .featured.section:after {
	background-image: url("data:image/svg+xml,%3Csvg width='1920' height='1080' viewBox='0 0 1920 1080' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-12 414C-7.61983 570.184 -11.2992 834.326 -12 1086H1019C770.755 750.407 409.951 506.407 -12 414Z' fill='%231C2627'/%3E%3Cpath d='M1920 233L1920 0L1479 -1.92767e-05C1527.17 116.152 1700.2 207.587 1920 233Z' fill='%231C2627'/%3E%3C/svg%3E%0A");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.featured .page {
	position: relative;
	z-index: 10;
}
.featured.section .content {
	max-width: 40rem;
	margin: 0;
	padding: 0;
	top: calc(50dvh - 4rem);
}
.featured.section .content h1 {
	font-weight: normal;
	font-style: italic;
	font-size: 4rem;
	text-wrap: balance;
}
.featured.section .content h1 strong {
	font-style: normal;
}

.featured.section .content p {
	text-wrap: balance;
	margin: 2rem 0 3rem;
}

.featured + .main {
	padding-top: 0;
}


#propuesta,
#ubicacion {
	position: relative;
}
@media (min-width: 960px) {
	#propuesta video,
	#propuesta img,
	#ubicacion iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: calc(50vw - 1.5rem);
		object-fit: cover;
	}
	#ubicacion iframe {
		left: auto;
		right: 0;
	}
}
@media (max-width: 960px) {
	#propuesta,
	#ubicacion {
		padding-top: calc(60vw + 3rem);
	}
	#propuesta video,
	#propuesta img,
	#ubicacion iframe {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 60vw;
		object-fit: cover;
	}
}

.bt {
	font-weight: bold;
	text-transform: uppercase;
	color: var(--col-dar);
}
.main ul.list li:before {
	border-radius: 0 1rem 1rem 0;
}


.main h2 {
	font-size: 2.75rem;
	line-height: 1.1em;
	font-weight: 400;
	word-spacing: -.05em;
	letter-spacing: -.02em;
	text-wrap: balance;
	margin-bottom: 2rem;
}
.main h3 {
	font-weight: 500;
	text-wrap: balance;
}
.main h6 {
	font-weight: normal;
    letter-spacing: .5em;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
}

#proyecto {
	padding-bottom: 0;
}
#proyecto .slider-wrapper {
	width: calc(100% - 3rem);
	max-width: 1300px;
	height: calc(100vh - 15rem);
	margin: 5rem auto 0;
}
#proyecto .slider {
	margin: 0;
}
#proyecto .slide {
	background: none!important;
}
#proyecto .slider-prev,
#proyecto .slider-next {
	background-color: var(--col-bg);
	box-shadow: none;
}
#proyecto .slider-prev {
	left: 0;
	transform: translate(-50% , -50%);
}
#proyecto .slider-next {
	right: 0;
	transform: translate(50% , -50%) scaleX(-1);
}
#proyecto .slider-nav {
	margin-top: 2rem;
}
#proyecto .slider-nav a {
	background: var(--col-lig);
	border: none;
}
#proyecto .slider-nav .activeSlide {
	background: var(--col-acc);
}
#proyecto .slide {
	text-align: center;
}
#proyecto .slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1.5rem;
}
#proyecto .slide p {
	font-size: .875rem;
	line-height: 1em;
	margin-top: 1rem;
}

#servicios {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 120%;
	background-image: url("data:image/svg+xml,%3Csvg width='81' height='107' viewBox='0 0 81 107' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 53.4889C0 22.6081 23.5732 0 54.3166 0C63.5157 0 73.0769 0.965176 80.2907 3.72167C80.2907 22.4011 80.2907 34.423 74.1649 42.3594C64.2868 34.5927 57.2671 23.3501 54.9536 10.4698C54.7951 9.56769 53.5115 9.56769 53.3514 10.4698C49.5101 31.8977 32.6381 48.8004 11.228 52.6886V52.6853C10.3405 52.8486 10.3405 54.1274 11.228 54.2891C32.6381 58.1773 49.5101 75.0816 53.3514 96.5079C53.5131 97.41 54.7968 97.41 54.9536 96.5079C57.2655 83.6276 64.2868 72.3866 74.1649 64.6183C80.2907 72.5547 80.2907 84.5749 80.2907 103.256C73.0753 106.013 63.5157 106.978 54.3166 106.978C23.5732 106.978 0 84.3696 0 53.4889Z' fill='%231c2627'/%3E%3Cpath d='M53.8466 79.6506C49.3149 67.7613 39.8329 58.2712 27.9469 53.7234C27.7286 53.6393 27.7286 53.3386 27.9469 53.2545C39.8329 48.7083 49.3149 39.2166 53.8466 27.329C53.9274 27.1091 54.2346 27.1091 54.3171 27.329C57.1835 34.8483 62.0304 41.4073 68.2143 46.3657C71.8034 49.2435 75.8452 51.5829 80.2135 53.2545C80.4318 53.3386 80.4318 53.6393 80.2135 53.7234C75.8484 55.3934 71.8066 57.7328 68.2143 60.6154C62.032 65.5706 57.1835 72.1312 54.3171 79.6506C54.2362 79.8672 53.929 79.8672 53.8466 79.6506Z' fill='%231c2627'/%3E%3C/svg%3E%0A");
}
#servicios h2 {
	margin-right: -3rem;
}
#servicios picture {
	height: calc(100vh - 20rem);
}
#servicios picture img {
	position: absolute;
	object-fit: cover;
	transform: none;
	box-shadow: 0 0 0 .125rem var(--col-bg);
}
#servicios picture img:nth-child(1) {
	width: 75%;
	left: 0;
	top: 10%;
	height: 90%;
	object-position: 65% 50%;
}
#servicios picture img:nth-child(2) {
	width: 50%;
	right: 0;
	top: 0;
	height: 45%;
	object-position: 100% 50%;
}
#servicios picture img:nth-child(3) {
	width: 40%;
	right: 5%;
	bottom: 5%;
	height: 45%;
	top: auto;
	object-position: 0% 50%;
}
#servicios h3 {
	margin: 6rem 0 -2rem;
}
#servicios .card {
	border: none;
	box-shadow: 0 0 0 .125rem var(--col-lig);
}
#servicios .card img {
	display: block;
	height: 7.5rem;
}
#servicios .card + .card {
	margin-top: 2.5rem;
}

#unidades {
	margin-top: calc(var(--sca-pad) * 4);
}

#unidades .slider-wrapper {
	aspect-ratio: 1 / 1;
	border-radius: 2rem;
	overflow: hidden;
}
#unidades .slider {
	margin: 0;
}
#unidades .slide {
	background: #DFE8ED;
}
#unidades .slide img {
	width: 100%;
	height: calc(100% - 7rem);
	margin: 2rem 0 1rem;
	display: block;
	object-fit: contain;
}
#unidades .slide p {
	font-size: .875rem;
	line-height: 1.1em;
	height: 3rem;
	text-align: center;
	color: var(--col-bg);
	padding: 0 2rem;
	margin: 0;
	text-wrap: balance;
}
#unidades .slide p strong:after {
	content: ' — ';
}


#inversores {
	padding-top: 40vh!important;
	position: relative;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}
#inversores:before {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	right: 0;
	height: 1rem;
	box-shadow: 0 0 10rem 10rem var(--col-bg);
	z-index: 1;
}
#inversores:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--col-bg);
	opacity: .5;
}
#inversores .page {
	position: relative;
	z-index: 10;
}
#inversores h4 {
	font-weight: normal;
	max-width: 20em;
	margin: 0 auto 3rem;
}

#obra {
	padding-top: calc(var(--sca-pad) * 4);
	padding-bottom: 0;
}
#obra + .section {
	margin-top: 1rem;
}
#obra h2 {
	text-align: left;
}
#obra .gallery {
	white-space: nowrap;
	overflow-x: auto;
	padding: 3rem 1.5rem 1rem;
}
#obra .gallery picture {
	display: inline-block;
	vertical-align: top;
	margin: 0 1rem 0 0;
	aspect-ratio: none;
}
#obra .gallery picture img {
	display: block;
	height: 15rem;
	aspect-ratio: none;
}
#obra .gallery::-webkit-scrollbar {
  height: .75rem;
}
#obra .gallery::-webkit-scrollbar-track {
  background: transparent;
}
#obra .gallery::-webkit-scrollbar-thumb {
  background: var(--col-lig);
  border-radius: 1rem;
  box-shadow: inset 0 0 0 .125rem var(--col-lig);
}
#obra .gallery::-webkit-scrollbar-thumb:hover {
  background: var(--col-pri);
}

.footer {
	border: none;
	background: #000;
}

@media (max-width: 960px) {
	:root {
		--sca-pad: 1.5rem;
		--ratio: .3125;
	}
	.bt-menu {
		right: 2.5rem;
	}
	.header nav {
		border: none;
		background: var(--col-lig);
	}
	.featured.section {
		background-position: center top;
		background-image: url(../images/portada-cygnusv4-mobile.jpg);
	}
	.featured.section .content {
		top: 2.5rem;
		transform: none;
		text-align: center;
	}
	body.home .featured.section .content {
		top: 30vh;
	}
	.featured.section .content h1 {
		font-size: 2.25rem;
		text-wrap: balance;
	}
	.featured.section .content p {
		font-size: 1rem;
		margin-bottom: 35vh;
	}
	#proyecto .slider-wrapper {
		height: auto;
		aspect-ratio: 1 / 1;
	}
	#proyecto .slide img {
		height: calc(100% - 3rem);
	}
	#proyecto .slide p {
		font-size: .75rem;
		line-height: 1.2em;
	}
	#servicios picture {
		height: auto;
		aspect-ratio: 1 / 1;
		margin-left: -1rem;
		margin-right: -1rem;
	}
	.slider-nav a {
		margin: 0 .125rem;
	}
	#servicios {
		background-image: none;
	}

	.gallery picture img {
		aspect-ratio: 1 / 1.5;
		object-fit: cover;
	}
	.gallery::-webkit-scrollbar {
		height: 0;
	}
	.footer p {
		text-wrap: balance;
	}

}
@media (min-width: 960px) {
	.br {
		display: block;
	}
}






