/*---------- Resets --- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label,legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0px; padding: 0px; border: 0; font-weight: normal; font-style: normal; text-decoration: none; outline: none; list-style: none }
body { margin: 0; font-family: 'Gellix', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; font-weight: 400; }
* { outline: none } a, a:active, a:visited, a:hover { cursor: pointer; text-decoration: none }
header, nav, section, article, main, aside, footer { display: block }
*, *:after, *:before { -moz-box-sizing: border-box; box-sizing: border-box; }
html { font-size: 62.5%; scroll-behavior: smooth; }  /* html element 62.5% font-size for REM use */
article { -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.clear:before, .clear:after { content: " "; display: table } .clear:after { clear: both } .clear { *zoom: 1; } .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden } .clearfix { display: block; height: 1% } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; }
img { max-width: 100%; vertical-align: bottom; height: auto; }
/* print */
@media print { body { width: 100% !important; margin: 0 !important; padding: 0 !important; line-height: 1.4; word-spacing: 1.1pt; letter-spacing: 0.2pt; font-family: Garamond,"Times New Roman", serif; color: #000; background: none; font-size: 12pt } h1,h2,h3,h4,h5,h6 { font-family: Helvetica, Arial, sans-serif } h1 { font-size: 19pt } h2 { font-size: 17pt } h3 { font-size: 15pt } h4,h5,h6 { font-size: 12pt } code { font: 10pt Courier, monospace } blockquote { margin: 1.3em; padding: 1em } img { display: block; margin: 1em 0 } a img { border: none } table { margin: 1px; text-align: left } th { border-bottom: 1px solid #333;  font-weight: bold } td { border-bottom: 1px solid #333 } th, td { padding: 4px 10px 4px 0 } caption { background: #fff; margin-bottom: 2em; text-align: left } thead { display: table-header-group } tr { page-break-inside: avoid } a { text-decoration: none; color: black } }
section { scroll-margin-top: var(--header-offset, 90px); }
#galeria { scroll-margin-top: -130px; }
:target { outline: 0; }
[tabindex="-1"]:focus { outline: none; }


:root {
  --Azul-01: #002039;
  --Azul-02: #B3C9DC;
  --Marrom-01: #F4F0EB;
  --Marrom-02: #C2AA92;
  --Marrom-03: #9F8771;
  --Marrom-04: #52493F;
  --Laranja: #E66700;
  --Neutras-01: #212121;
  --Neutras-02: #FFF;
  --poi-p: 0;
  --map-wide: 1280px;
}

.wrapper {
	width: 100%;
	max-width: 1372px;
	margin: 0 auto;
}

h1 { font-family: 'Moragon', serif; font-size: clamp(2.4rem, 2.2vw + 1rem, 4.0rem); line-height: 1.2; font-weight: 700; }
h2 { font-size: clamp(2.0rem, 1.8vw + 0.9rem, 3.2rem); line-height: 1.25; }
h3 { font-size: clamp(1.8rem, 1.2vw + 0.8rem, 2.6rem); line-height: 1.3; }
.bold { font-weight: 700; }
.medium { font-weight: 500; }
.semibold { font-weight: 600; }

.btn {
	width: 380px;
	height: 56px;
	padding: 14px 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--Azul-01);
	font-family: Gellix;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 24px;
	letter-spacing: 1.6px;
	border: 1px solid var(--Laranja);
	background: var(--Laranja);
}
	.btn:hover {
		color: var(--Laranja);
		background: transparent;
	}

.t2s {
	-webkit-transition:	all .2s ease-in-out;
	-moz-transition:	all .2s ease-in-out;
	-o-transition:		all .2s ease-in-out;
	-ms-transition:		all .2s ease-in-out;
	transition:			all .2s ease-in-out;
}

.form {
	height: 960px;
	display: flex;
	justify-content: space-between;
	position: relative;
	background-image: url(../svg/form-bg-vetor.svg);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-color: var(--Marrom-01);
}
	.form .wrapper {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
		.form .container {
			max-width: 565px;
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
			.form h2 {
				margin-bottom: 40px;
				color: var(--Azul-01);
				font-family: Moragon;
				font-size: 40px;
				font-style: normal;
				font-weight: 700;
				line-height: 48px;
				letter-spacing: 4px;
			}
			.form .inputs {
				max-width: 560px;
			}
				.form .inputs>div {
					margin-bottom: 24px;
					position: relative;
				}
					.form .inputs label {
						display: block;
						margin-bottom: 8px;
						color: var(--Marrom-03);
						font-family: Gellix;
						font-size: 14px;
						font-style: normal;
						font-weight: 700;
						line-height: 22px;
						letter-spacing: 1.4px;
					}
					.form .inputs input {
						width: 100%;
						padding: 14px 16px;
						font-family: Gellix;
						font-size: 16px;
						border: none;
					}
			.form .checks-content {
				margin-bottom: 40px;
			}
				.form .checks-content>div>label input[type=checkbox] {
					width: 24px;
					height: 24px;
					margin: 0 8px 0 0;
					float: left;
					cursor: pointer;
					accent-color: var(--Marrom-03);
				}
				.form .checks-content label p {
					margin: 0;
					cursor: pointer;
					color: var(--Marrom-03);
					font-family: Gellix;
					font-size: 14px;
					font-style: normal;
					font-weight: 400;
					line-height: 22px;
					letter-spacing: 1.4px;
				}
					.form .checks-content label p a {
						color: var(--Marrom-03);
						font-weight: 700;
						text-decoration-line: underline;
					}
				.form form .checks input[type=submit] {
					width: 365px;
					height: 56px;
					border: 2px solid var(--Laranja);
					cursor: pointer;
					color: var(--Azul-01);
					font-family: Gellix;
					font-size: 16px;
					font-style: normal;
					font-weight: 700;
					line-height: 24px;
					letter-spacing: 1.6px;
					background: var(--Laranja);
				}
			.form form .checks input[type=submit]:hover {
					color: var(--Laranja);
					background: #fff;
			}
			.form .loading {
				width: 280px;
				display: none;
				text-align: center;
			}
			.form .form-msg {
				width: 280px;
				height: 60px;
				display: flex;
				display: none;
				align-items: center;
				justify-content: center;
				border-radius: 8px;
				cursor: pointer;
				color: #000;
				font-size: 14px;
				font-style: normal;
				font-weight: 800;
				line-height: normal;
				text-align: center;
				background: transparent;
			}
				.form .success {
					color: #080;
				}
				.form .error {
					font-size: 14px;
					color: #ED4337;
					position: absolute;
					bottom: -18px;
					left: 5px;
				}
	.form .img {
		max-width: 50%;
		height: 100%;
		object-fit: cover;
		position: absolute;
		right: 0;
	}

	/*MENU*/
	.menu {
		--top-offset: 0px;
		position: fixed;
		top: var(--top-offset);
		left: 0;
		right: 0;
		z-index: 1000;
		transform: translateY(-100%);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		background: #fff;
		transition: transform .2s ease, opacity .2s ease, visibility 0s .2s;
	}
	.menu-anchor {
		display: none;
	}
	.menu.is-live {
		transform: translateY(0);
		opacity: 1; visibility: visible; pointer-events: auto;
		transition: transform .2s ease, opacity .2s ease;
	}
			.menu .wrapper {
				padding: 16px 0;
				display: flex;
				align-items: center;
				justify-content: space-between;
				
			}
				.menu .wrapper svg {
					width: 356px;
				}
				.menu .wrapper nav {
					
				}
					.menu .wrapper nav ul {
						display: flex;
						gap: 40px;
					}
						.menu .wrapper nav ul li a {
							color: var(--Azul-01);
							text-align: center;
							font-family: Gellix;
							font-size: 14px;
							font-style: normal;
							font-weight: 400;
							line-height: 22px;
							letter-spacing: 1.4px;
						}


/* ############# */
header {
	background: var(--Azul-01);
}
	header section {
		height: 764px;
		position: relative;
		display: flex;
		justify-content: space-between;
		background-image: url(../svg/header-bg-vetor.svg);
		background-repeat: no-repeat;
		background-position: right bottom;
	}
		header .logo-mobile {
			display: none;
		}
		header picture {
			width: calc(100% - 40%);
			height: 100%;
			position: absolute;
			left: 0;
		}
			header picture .img {
				height: 100%;
				object-fit: cover;
			}
		header .wrapper {
			display: flex;
			justify-content: flex-end;
			align-items: center;
		}
			header .content {
				width: 444px;
				height: 532px;
			}
				header .content svg {
					display: block;
					margin: 0 0 48px;
				}
				.hero-title span {
					display: block;
					margin-bottom: 32px;
					color: var(--Neutras-02);
					font-family: Moragon;
					font-size: 32px;
					font-style: normal;
					font-weight: 700;
					line-height: 40px; /* 125% */
					letter-spacing: 3.2px;
				}
					header .content p {
						margin: 0 0 32px;
						color: var(--Neutras-02);
						font-size: 16px;
						font-style: normal;
						font-weight: 400;
						line-height: 24px;
						letter-spacing: 1.6px;
					}
	header .chamada {
		width: 100%;
		height: 91px;
		border-top: 1px solid rgba(244, 240, 235, 0.20);
		background-color: var(--Azul-01);
		background-image: url(../svg/chamada-bg-vetor.svg);
		background-repeat: no-repeat;
		background-position: left center;
	}
		header .chamada .wrapper {
			height: 100%;
			display: flex;
			justify-content: flex-end;
			align-items: center;
		}
			header .chamada .wrapper .line {
				width: 3px;
				height: 51px;
				background: var(--Marrom-03);
			}
			header .chamada .wrapper a {
				margin-left: 16px;
				color: var(--Marrom-02);
				font-family: Gellix;
				font-size: 18px;
				font-style: normal;
				font-weight: 400;
				line-height: 26px;
				letter-spacing: 1.8px;
			}

.location {
	height: 719px;
	position: relative;
	display: flex;
	justify-content: space-between;
	background-image: url(../svg/location-bg-vetor.svg);
	background-repeat: no-repeat;
	background-position: 886px bottom;
	background-color: var(--Azul-01);
}
	.location .picture {
		width: 100%;
		position: relative;
		max-width: 50%;
			height: 100%;
	}
		.location .img {
			height: 100%;
			object-fit: cover;
			object-position: right;
			position: absolute;
			left: 0;
		}
		.location .google {
			padding: 8px 12px;
			display: flex;
			gap: 8px;
			color: var(--Marrom-01);
			font-family: Gellix;
			font-size: 14px;
			font-style: normal;
			font-weight: 400;
			line-height: 22px;
			letter-spacing: 1.4px;
			white-space: nowrap;
			position: absolute;
			bottom: 56px;
			left: 50%;
			transform: translateX(-50%);
			border-radius: 100px;
			background: var(--Azul-01);
			box-shadow: 0 4px 8px 0 rgba(255, 255, 255, 0.46);
		}
			.location .google:hover {
				background-color: var(--Marrom-03);
			}
	
	.location .wrapper {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
		.location .content {
			width: 560px;
			padding-left: 110px;
		}
			.location .content h2 {
				color: var(--Marrom-01);
				font-family: Moragon;
				font-size: 40px;
				font-style: normal;
				font-weight: 700;
				line-height: 48px;
				letter-spacing: 4px;
			}
			.location .content ul {
				margin: 48px 0;
			}
				.location .content ul li {
					color: var(--Neutras-02);
					font-family: Gellix;
					font-size: 18px;
					font-style: normal;
					font-weight: 400;
					line-height: 26px;
					letter-spacing: 1.8px;
					position: relative;
					padding-left: 34px;
				}
				.location .content ul li + li {
					margin-top: 16px;
				}
					.location .content ul li:before {
						width: 16px;
						height: 16px;
						content: "";
						position: absolute;
						left: 0;
						top: 5px;
						background: no-repeat center/contain url('../svg/location-star.svg');
					}
			.location .content .location-btn {
				width: 430px;
				height: 90px;
				display: block;
				padding: 32px;
				color: var(--Marrom-01);
				font-family: Gellix;
				font-size: 20px;
				font-style: normal;
				font-weight: 400;
				line-height: 26px;
				letter-spacing: 2px;
				background: url(../svg/location-btn-bg.svg);
			}
				.location .content .location-btn svg {
					margin-right: 16px;
					position: relative;
					top: 4px;
				}


.slide {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 48px 0 0;
	overflow: hidden;
	background: url(../svg/slide-bg-vetor.svg) no-repeat top center;
}
	.slide h2 {
		color: #000;
		text-align: center;
		font-family: Moragon;
		font-size: 40px;
		font-style: normal;
		font-weight: 700;
		line-height: 48px;
		letter-spacing: 4px;
	}
		.slide .btn {
			margin: 32px auto 48px;
		}

	.slide { position: relative; }
	.hero-slick { position: relative; }
	.hero-slide { margin:0; position: relative; }
	.hero-slide picture, 
	.hero-slide img { display:block; width:100%; height:auto; }


	.hero-caption{
		padding: 14px 48px;
		color: #FFF;
		text-align: center;
		font-family: Moragon;
		font-size: 20px;
		font-style: normal;
		font-weight: 700;
		line-height: 28px;
		letter-spacing: 2px;
		position: absolute;
		left: 50%;
		top: 48px;
		transform: translateX(-50%);
		background-image: url(../svg/slide-bg-caption-vetor.svg);
		background-color: var(--Azul-01);

		z-index:3;
	}
	.hero-slick .slick-dots {
		display:none;
	}


.project {
	padding: 88px 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../svg/project-bg-vetor.svg);
	background-color: var(--Marrom-03);
}
	.project h2 {
		margin-bottom: 24px;
		color: var(--Neutras-02);
		text-align: center;
		font-family: Moragon;
		font-size: 40px;
		font-style: normal;
		font-weight: 700;
		line-height: 48px;
		letter-spacing: 4px;
	}
	.project h3 {
		color: var(--Neutras-02);
		text-align: center;
		font-family: Moragon;
		font-size: 32px;
		font-style: normal;
		font-weight: 700;
		line-height: 40px;
		letter-spacing: 3.2px;
	}
	.project .wrapper {
		margin: 64px auto 56px;
		display: flex;
		justify-content: space-between;
	}
		.project .wrapper >div {
			width: 444px;
			background: var(--Neutras-02);
		}
			.project .wrapper article {
				padding: 24px;
			}
				.project .wrapper article h4 {
					color: var(--Azul-01);
					font-family: Moragon;
					font-size: 20px;
					font-style: normal;
					font-weight: 700;
					line-height: 28px;
					letter-spacing: 2px;
				}
				.project .wrapper article span {
					display: block;
					margin: 8px 0 24px;
					padding-bottom: 24px;
					border-bottom: 1px solid #F4F0EB;
					color: var(--Azul-01);
					font-family: Gellix;
					font-size: 14px;
					font-style: normal;
					font-weight: 400;
					line-height: 22px;
					letter-spacing: 1.4px;
				}
				.project .wrapper article p {
					margin: 0;
					color: var(--Neutras-01);
					font-family: Gellix;
					font-size: 16px;
					font-style: normal;
					font-weight: 400;
					line-height: 24px;
					letter-spacing: 1.6px;
				}
	.project .btn {
		margin: 0 auto;
	}
		.project .btn:hover {
			background: #fff;
		}

.plantas {
	padding: 112px 0 88px;
	overflow: hidden;
	background: var(--Marrom-01);
}
	.plantas h2 {
		color: var(--Neutras-01);
		text-align: center;
		font-family: Moragon;
		font-size: 40px;
		font-style: normal;
		font-weight: 700;
		line-height: 48px;
		letter-spacing: 4px;
	}
	.plantas .btn {
		display: none;
	}

/* ====== DESKTOP ====== */
@media (min-width: 1241px) {

	.planta summary {
		display:none;
	}

	.plantas-tabs {
		display: flex;
		gap: 0;
		width: fit-content;
		margin: 80px auto 56px;
		border: 1px solid #d1c2af;
		background: #e9dbcc;
	}
		.plantas-tabs .tab {
			width: 295px;
			height: 64px;
			appearance: none;
			cursor: pointer;
			color: var(--Neutras-01);
			text-align: center;
			font-family: Gellix;
			font-size: 16px;
			font-style: normal;
			font-weight: 400;
			line-height: 24px;
			letter-spacing: 1.6px;
			border: 1px solid var(--Marrom-02);
			background: #E4DBCF;
		}
		.plantas-tabs .tab.is-active {
			border: 1px solid var(--Marrom-02);
			background: var(--Marrom-02);
		}

  .slides { position: relative; }

	.slides .slick-track {
		display: flex;
		background: #fff;
	}
	.slides .plant-slide {
		margin: 0 auto;
		display: grid;
		justify-items: center;
		align-items: center;
		position: relative;
		background: #fff;
	}
		#slides-studios .plant-slide {
			grid-template-rows: 576px auto;
		}
		#slides-salas .plant-slide {
			grid-template-rows: 695px auto;
		}
		#slides-gardens .plant-slide {
			grid-template-rows: 695px auto;
		}
		#slides-cob .plant-slide {
			grid-template-rows: 695px auto;
		}

	.slides .plant-slide > img {
		width: auto;
		max-width: min(100%, 1372px);
		height: auto;
		grid-row: 1;
		background: #fff;
		box-shadow: 0 0 0 1px rgba(0,0,0,.08) inset;
		justify-self: center;
		align-self: center;
		display: block;
	}

	.plant-caption {
		width: 550px;
		height: 90px;
		padding: 16px 0;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		color: var(--Marrom-01);
		text-align: center;
		font-family: Moragon;
		font-size: 20px;
		font-style: normal;
		font-weight: 700;
		line-height: 28px;
		letter-spacing: 2px;
		position: absolute;
		bottom: 0;
		background-color: var(--Marrom-04);
	}
		#slides-studios .plant-caption {
			width: 550px;
		}
		#slides-salas .plant-caption {
			width: 638px;
		}
		#slides-gardens .plant-caption {
			width: 638px;
		}
		#slides-cob .plant-caption {
			width: 405px;
		}
		.plant-caption span {
			color: var(--Marrom-01);
			text-align: center;
			font-family: Gellix;
			font-size: 16px;
			font-style: normal;
			font-weight: 400;
			line-height: 24px;
			letter-spacing: 1.6px;
		}

}

.map {
	padding: 68px 0 88px;
}
	.map h2 {
		max-width: 920px;
		margin: 0 auto 56px;
		color: var(--Azul-01);
		text-align: center;
		font-family: Moragon;
		font-size: 40px;
		font-style: normal;
		font-weight: 700;
		line-height: 48px;
		letter-spacing: 4px;
	}
	.map .address {
		height: 63px;
		display: flex;
		justify-content: center;
		align-items: center;
		background-image: url(../svg/address-bg-vetor.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-color: var(--Azul-01);
	}
		.map .address a {
			color: var(--Marrom-01);
			font-family: Gellix;
			font-size: 18px;
			font-style: normal;
			font-weight: 400;
			line-height: 26px;
			letter-spacing: 1.8px;
		}
			.map .address svg {
				margin-right: 16px;
				position: relative;
				top: 4px;
			}
	.map .locations {
		padding: 32px 40px;
		background: var(--Marrom-01);
	}
		.map .locations ul {
			counter-reset: poi;
			display: grid;
			grid-auto-flow: column;
			grid-template-columns: repeat(4, minmax(220px,1fr));
			grid-auto-rows: auto;
			gap: 24px 80px;
			margin: 0;
			padding: 0;
		}
			.map .locations ul li {
				list-style: none;
				display: flex;
				align-items: center;
				gap: 14px;
				color: var(--Neutras-01);
				font-size: 18px;
				line-height: 1.6;
			}
				.map .locations ul li:nth-child(-n+4){
					grid-column: 1;
				}
				.map .locations ul li:nth-child(n+5):nth-child(-n+8){
					grid-column: 2;
				}
				.map .locations ul li:nth-child(n+9):nth-child(-n+12){
					grid-column: 3;
				}
				.map .locations ul li:nth-child(n+13){
					grid-column: 4;
				}

				.map .locations ul li::before {
					counter-increment: poi;
					content: counters(poi, "", decimal-leading-zero);
					width: 36px;
					height: 36px;
					border: 1px solid var(--Marrom-02);
					border-radius: 50%;
					display: inline-flex;
					align-items: center;
					justify-content: center;
					font-size: 14px;
					font-weight: 500;
					color: var(--Marrom-02);
					letter-spacing: 0.02em;
					font-variant-numeric: tabular-nums;
				}

footer {
	padding: 88px 0;
	background: var(--Azul-01);
}
	footer .realizacao {
		margin: 0 auto 30px;
		padding-bottom: 30px;
		border-bottom: 1px solid rgba(244, 240, 235, 0.1);
		display: flex;
		justify-content: center;
		gap: 75px;
	}
		footer .realizacao .orla {
			display: flex;
			align-items: center;
			justify-content: center;
		}
		footer .realizacao .newview {
			display: flex;
			flex-direction: column;
			align-items: center;
		}
			footer .realizacao span {
				display: block;
				margin-bottom: 16px;
				color: #FFF;
				font-family: Gellix;
				font-size: 12px;
				font-style: normal;
				font-weight: 400;
				line-height: 24px;
				letter-spacing: 1.2px;
			}
	footer .texto-legal {
		color: #FFF;
		text-align: center;
		font-family: Gellix;
		font-size: 12px;
		font-style: normal;
		font-weight: 400;
		line-height: 24px;
		letter-spacing: 1.2px;
	}


/* Arrows */
.slick-prev,
.slick-next {
	width: 64px;
	height: 64px;
	border: 0;
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-image: url(../svg/slide-arrow.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-color: var(--Azul-01);
	z-index: 3;
	text-indent: -9999px;
}
	.slick-prev:hover,
	.slick-next:hover {
		background-color: var(--Marrom-02);
	}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
	transform: translateY(-50%) rotate(180deg);
}

/* Responsivo ############################################################################################################## */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

@media (max-width: 1775px) {
	.location {
		background-position: right bottom;
	}
}

@media (max-width: 1771px) {
	.form .img {
		width: calc(100% - 500px);
	}
}

@media (max-width: 1460px) {
	header .wrapper,
	.form .wrapper {
		padding: 0 25px;
	}
	footer {
		padding: 56px 25px;
	}
}

@media (max-width: 1440px) {
	.menu .wrapper {
		padding: 16px 25px;
	}

	.project .wrapper {
		justify-content: center;
		gap: 20px;
		margin: 40px auto 80px;
	}
		.project .wrapper>div {
			width: 380px;
		}

	.map {
		padding: 48px 0 0;
		position: relative;
	}
		.map .container {
			overflow-x:auto; overflow-y:hidden;
			-webkit-overflow-scrolling: touch;
			scrollbar-width: none;
			position: relative;
		}
		.map .container::-webkit-scrollbar {
			display: none;
		}

		:root{ --map-wide: 1280px; }
		.map .map-scroll-content {
			width: var(--map-wide);
		}
		.map .map-scroll-content .img {
			width: var(--map-wide);
			max-width: none;
			display: block;
			height: auto;
		}
		.map .map-progress {
			height: 8px;
			background: var(--Marrom-02);
			position: relative;
			overflow: hidden;
			display: block;
			z-index: 2;
		}
		.map .map-progress::after {
			content: "";
			position: absolute; inset:0;
			background: var(--Marrom-04);
			transform-origin: 0 50%;
			transform: scaleX(var(--fill, 0));
		}

}

@media (max-width: 1280px) {
	header picture {
		width: calc(100% - 500px);
	}
}

@media (max-width: 1240px) {
	body {
		margin-top: 64px;
	}
	.menu {
		position: fixed;
		top: env(safe-area-inset-top, 0);
		left: 0;
		right: 0;
		z-index: 1000;
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		background: var(--Marrom-01);
	}
		.menu .wrapper {
			position: relative;
		}
		.menu .menu-anchor {
			display: block;
		}
		.menu .wrapper svg {
			width: 188px;
			height: 36px;
		}



	.form .img {
		width: calc(100% - 615px);
	}
	.location {
		height: auto;
		flex-direction: column;
		align-items: center;
		background-image: unset;
	}
		.location .picture {
			width: 100%;
			max-width: 100%;
		}
			.location .img {
				width: 100%;
				max-width: 100%;
				position: unset;
			}
			.location .google {
				bottom: 25px;
			}
		.location .content {
			width: 100%;
			padding: 48px 0 0;
		}
			.location .content h2 {
				padding: 0 25px;
				font-size: 32px;
				font-style: normal;
				font-weight: 700;
				line-height: 40px;
				letter-spacing: 3.2px;
			}
			.location .content ul {
				padding: 0 25px;
			}
				.location .content ul li {
					font-size: 16px;
					font-style: normal;
					font-weight: 400;
					line-height: 24px;
					letter-spacing: 1.6px;
				}
			.location .content .location-btn {
				width: 100%;
				height: 63px;
				margin: 0 auto;
				display: flex;
				align-items: center;
				justify-content: center;
				font-size: 18px;
				font-style: normal;
				font-weight: 400;
				line-height: 26px;
				letter-spacing: 1.8px;
			}
				.location .content .location-btn svg {
					top: 0;
				}
	.project {
		padding: 48px 0;
	}
		.project h2 {
			margin-bottom: 16px;
		}
		.project h2,
		.project h3 {
			font-size: 28px;
			font-style: normal;
			font-weight: 700;
			line-height: 36px;
			letter-spacing: 2.8px;
		}
		.project .slick-dots {
			position: absolute;
			bottom: -42px;
			left: 0;
			right: 0;
			display: flex !important;
			justify-content: center;
			align-items: center;
			gap: 8px;
		}
			.project .slick-dots li {
				margin: 0;
			}
				.project .slick-dots button {
					width: 8px;
					height: 8px;
					padding: 0;
					cursor: pointer;
					text-indent: -9999px;
					overflow: hidden;
					border: 0.5px solid var(--Marrom-04);
					background: var(--Marrom-02);
				}
					.project .slick-dots .slick-active button {
						width: 16px;
						height: 16px;
						background: var(--Marrom-04);
					}

	.plantas {
		padding: 48px 0 6px;
	}
	.plantas-tabs {
		display: none;
	}
		.planta > summary {
			padding: 24px 0;
			margin: 0 24px;
			border-top: 1px solid #C2AA92;
			list-style: none;
			cursor: pointer;
			position: relative;
			outline: none;
			color: var(--Neutras-01);
			font-family: Gellix;
			font-size: 18px;
			font-style: normal;
			font-weight: 700;
			line-height: 26px;
			letter-spacing: 1.8px;
		}
			.planta > summary::after {
				width: 16px;
				height: 16px;
				content: "";
				position: absolute;
				right: 4px;
				top: 35px;
				border-right: 2px solid #5d4f41;
				border-bottom: 2px solid #5d4f41;
				transform: translateY(-60%) rotate(45deg);
				transition: transform .2s ease;
			}
			.planta[open] > summary::after {
				transform: translateY(-40%) rotate(-135deg);
			}
			.plantas .wrapper > details.planta:first-of-type > summary {
				border-top: unset;
			}
			.plantas .btn {
				display: flex;
				margin: 0 auto 24px;
			}
	.plant-slide {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 0;
		margin: 0 25px 24px;
		background: #fff;
	}
	.plant-caption {
		width:100%;
		padding: 24px 16px;
		color: var(--Marrom-01);
		font-family: Moragon;
		font-size: 20px;
		font-style: normal;
		font-weight: 700;
		line-height: 28px;
		letter-spacing: 2px;
		background: #53443A;
		display: flex;
		gap: 8px;
		flex-direction: column;
		order: -1;
	}
		.plant-caption span {
			color: var(--Marrom-01);
			font-family: Gellix;
			font-size: 16px;
			font-style: normal;
			font-weight: 400;
			line-height: 24px;
			letter-spacing: 1.6px;
		}

		.plant-slide img {
			width: 100%;
			height: auto;
			display: block;
		}



}

@media (max-width: 1150px) {
	header .content {
		width: 380px;
	}
		header picture {
			width: calc(100% - 430px);
		}
		header .content svg {
			width: 100%;
		}
		.hero-title span {
			margin-bottom: 8px;
			text-align: center;
			font-size: 24px;
			line-height: 32px;
			letter-spacing: 2.4px;
		}
		header .content p {
			margin: 0 auto 16px;
			text-align: center;
		}
	header .chamada {
		display: none;
	}

	.slide h2 {
		font-size: 32px;
	}

	.form {
		height: auto;
	}
		.form .container {
			padding: 48px 0;
		}
}

@media (max-width: 990px) {
	.slide {
		display: flex;
		flex-direction: column;
		background: url(../svg/slide-bg-vetor-mobile.svg) repeat top center;
	}
		.slide h2 {
			max-width: 380px;
			margin: 0 auto 48px;
			order: 0;
			line-height: 40px;
			letter-spacing: 3.2px;
		}
		.slide > .hero-slick {
			order: 1;
		}
		.slide > .btn {
			order: 2;
			margin: 96px auto 48px;
		}

	.hero-caption {
		top: unset;
		bottom: 32px;
	}
	.hero-slick .slick-dots{
		position: absolute;
		bottom: -50px;
		left: 0;
		right: 0;
		display: flex !important; 
		justify-content: center;
		align-items: center;
		gap: 8px;
	}
	.hero-slick .slick-dots li {
		margin: 0;
	}
	.hero-slick .slick-dots button{
		width: 8px;
		height: 8px;
		padding: 0;
		cursor: pointer;
		text-indent: -9999px;
		overflow: hidden;
		border: 0.5px solid var(--Azul-01);
		background: var(--Azul-02);
	}
	.hero-slick .slick-dots .slick-active button{
		width: 16px;
		height: 16px;
		background: var(--Azul-01);
	}

}

@media (max-width: 800px) {
	footer .realizacao {
		border-bottom: unset;
		flex-direction: column;
		align-items: center;
		gap: 40px;
		padding-bottom: 0;
	}
		footer .realizacao .orla {
			width: 100%;
			padding-bottom: 32px;
			border-bottom: 1px solid rgba(244, 240, 235, 0.1);
		}
			footer .realizacao .orla svg {
				width: 325px;
			}
}

@media (max-width: 700px) {
	header section {
		height: auto;
		flex-direction: column;
		background-image: url(../svg/header-bg-vetor-mobile.svg);
		background-repeat: no-repeat;
		background-position: right bottom;
	}
		header .logo-mobile {
			display: flex;
			justify-content: center;
			padding: 14px 0;
			background: var(--Neutras-02);
		}
		header picture {
			width: 100%;
			position: unset;
		}
		header .content {
			width: 100%;
			height: auto;
			padding: 25px 0;
		}
			header .content .logo {
				display: none;
			}
			header .content .btn {
				margin: 0 auto;
			}

	.form .img {
		display: none;
	}
	.form h2 {
		font-size: 32px;
		font-style: normal;
		font-weight: 700;
		line-height: 40px;
		letter-spacing: 3.2px;
	}

	.location .content ul li {
		padding-left: 28px;
		font-size: 14px;
		letter-spacing: 0.8px;
	}

	.project {
		padding: 48px 25px;
	}
	.project h2,
	.project h3 {
		text-align: left;
	}

	.plantas h2 {
		max-width: 300px;
		padding: 0 25px;
		text-align: left;
		font-size: 32px;
		line-height: 40px;
		letter-spacing: 3.2px;
	}

	.map h2 {
		padding: 0 25px;
		text-align: left;
		font-size: 32px;
		font-style: normal;
		font-weight: 700;
		line-height: 40px;
		letter-spacing: 3.2px;
	}

}

@media (max-width: 600px) {
	.plant-slide img {
		padding: 20px 0;
	}
}
/* Figma mobile */
@media (max-width: 450px) {
	.btn {
		width: 100%;
		max-width: 92%;
	}
	.form form .checks input[type=submit] {
		width: 100%;
	}

}

@media (max-width: 400px) {
	.form h2 {
        font-size: 27px;
        line-height: 35px;
        letter-spacing: 3px;
    }
    .location .content .location-btn {
    	font-size: 14px;
    }
    .project h2,
    .project h3 {
    	font-size: 24px;
    	line-height: 32px;
    	letter-spacing: 2px;
    }
    .map h2 {
    	font-size: 30px;
    	line-height: 36px;
    }
}