/*
Theme Name:         Raro
Description:        Raro Theme
Version:            1.0
Author:             wevolved
Text Domain:        Raro
*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
	height: auto;
	overflow-x: hidden;
	overflow-y: auto;
}

body {
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	overflow-x: hidden;
}

img {
	max-width: 100%;
}

a,
a:hover,
a:focus,
a:active {
	text-decoration: none;
	color: var(--black);
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
input,
a,
span {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

input:focus,
select:focus {
	outline: none !important;
}

input::placeholder {
	color: var(--white);
	opacity: 1;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

:root {
	--black: #000000;
	--white: #ffffff;
	--grey: #222222;
	--header-height: 50px;
	--page-margin: 25px;
	--border-radius: 4px;
	--page-top-space: 180px;
	--page-bottom-margin: 128px;
}

html {
	scrollbar-width: thin;
	scrollbar-color: #888 transparent;
}

html::-webkit-scrollbar {
	width: 4px;
}

html::-webkit-scrollbar-thumb {
	background-color: #888;
	border-radius: 4px;
}

html::-webkit-scrollbar-track {
	background-color: var(--white);
}

html.disableScroll {
	overflow-y: hidden;
}

.grecaptcha-badge {
	visibility: hidden !important;
}

.otgs-development-site-front-end {
	display: none;
}

.pin-spacer {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

main.mtn {
	display: block;
}

.mtn-stage,
.copy,
.copy__title,
.copy p {
	font-weight: 500;
}

.mtn-after,
.mtn-after * {
	font-weight: 300;
}

/* =========================================================
   HEADER
========================================================= */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9998;
	pointer-events: none;
	opacity: 0;
}
/* =========================================================
   HEADER — ABOUT PAGE
========================================================= */
/* =========================================================
   HEADER — PÁGINAS INTERNAS, EXCETO HOMEPAGE
========================================================= */

body.page:not(.home):not(.front-page) .site-header,
body.single:not(.home):not(.front-page) .site-header,
body.archive:not(.home):not(.front-page) .site-header {
	opacity: 1;
	pointer-events: auto;
}

body.page:not(.home):not(.front-page) .site-header__logo,
body.single:not(.home):not(.front-page) .site-header__logo,
body.archive:not(.home):not(.front-page) .site-header__logo {
	opacity: 1;
	pointer-events: auto;
}

body.page:not(.home):not(.front-page) .site-header__logo img,
body.single:not(.home):not(.front-page) .site-header__logo img,
body.archive:not(.home):not(.front-page) .site-header__logo img {
	filter: brightness(0);
}

body.page:not(.home):not(.front-page) .site-header__langs,
body.page:not(.home):not(.front-page) .site-header__menu,
body.page:not(.home):not(.front-page) .site-header__menu-toggle,
body.single:not(.home):not(.front-page) .site-header__langs,
body.single:not(.home):not(.front-page) .site-header__menu,
body.single:not(.home):not(.front-page) .site-header__menu-toggle,
body.archive:not(.home):not(.front-page) .site-header__langs,
body.archive:not(.home):not(.front-page) .site-header__menu,
body.archive:not(.home):not(.front-page) .site-header__menu-toggle {
	opacity: 1;
	transform: translateY(0);
}

body.page:not(.home):not(.front-page) .site-header__langs a,
body.page:not(.home):not(.front-page) .site-header__menu-toggle,
body.page:not(.home):not(.front-page) .site-header__menu a,
body.page:not(.home):not(.front-page) .site-header__contact,
body.page:not(.home):not(.front-page) .site-header__search-toggle,
body.single:not(.home):not(.front-page) .site-header__langs a,
body.single:not(.home):not(.front-page) .site-header__menu-toggle,
body.single:not(.home):not(.front-page) .site-header__menu a,
body.single:not(.home):not(.front-page) .site-header__contact,
body.single:not(.home):not(.front-page) .site-header__search-toggle,
body.archive:not(.home):not(.front-page) .site-header__langs a,
body.archive:not(.home):not(.front-page) .site-header__menu-toggle,
body.archive:not(.home):not(.front-page) .site-header__menu a,
body.archive:not(.home):not(.front-page) .site-header__contact,
body.archive:not(.home):not(.front-page) .site-header__search-toggle {
	color: #000000;
}

/* =========================================================
   MOBILE MENU — HAMBURGER
========================================================= */

.site-header__mobile-toggle {
	display: none;
	position: relative;
	z-index: 10020;
	width: 28px;
	height: 18px;
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
	color: currentColor;
}

.site-header__mobile-toggle span {
	position: absolute;
	left: 0;
	width: 28px;
	height: 1px;
	background: currentColor;
	transform-origin: center center;
	transition:
		transform 0.34s cubic-bezier(.2, .8, .2, 1),
		top 0.34s cubic-bezier(.2, .8, .2, 1),
		background-color 0.24s ease;
}

.site-header__mobile-toggle span:first-child {
	top: 4px;
}

.site-header__mobile-toggle span:last-child {
	top: 14px;
}

body.mobile-menu-open .site-header__mobile-toggle span:first-child {
	top: 9px;
	transform: rotate(45deg);
}

body.mobile-menu-open .site-header__mobile-toggle span:last-child {
	top: 9px;
	transform: rotate(-45deg);
}

/* =========================================================
   MOBILE MENU — OVERLAY
========================================================= */

.site-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 10010;
	width: 100%;
	height: 100dvh;
	background: #ffffff;
	color: #000000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transform: translate3d(0, -100%, 0);
	will-change: transform, opacity;
}

.site-mobile-menu.is-active {
	pointer-events: auto;
}

.site-mobile-menu__inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 90px 24px 42px;
}

.site-mobile-menu__nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: 100%;
	text-align: center;
}

.site-mobile-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

.site-mobile-menu__list li {
	margin: 0;
	padding: 0;
}

.site-mobile-menu__search,
.site-mobile-menu__contact,
.site-mobile-menu__list a {
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(44px, 13vw, 82px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.075em;
	color: #000000;
	text-decoration: none;
	cursor: pointer;
	transition:
		opacity 0.24s ease,
		transform 0.24s cubic-bezier(.2, .8, .2, 1);
}

.site-mobile-menu__search:hover,
.site-mobile-menu__contact:hover,
.site-mobile-menu__list a:hover {
	opacity: 0.45;
	transform: translateY(-2px);
}

.site-mobile-menu__langs {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
}

.site-mobile-menu__langs a {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #000000;
	text-decoration: none;
	opacity: 0.35;
	transition: opacity 0.22s ease;
}

.site-mobile-menu__langs a.is-active,
.site-mobile-menu__langs a:hover {
	opacity: 1;
}

/* =========================================================
   MOBILE HEADER STATES
========================================================= */

body.mobile-menu-open {
	overflow: hidden;
}

body.mobile-menu-open header#site-header {
	z-index: 10030;
}

body.mobile-menu-open header#site-header .site-header__logo img {
	filter: brightness(0) !important;
}

body.mobile-menu-open header#site-header .site-header__right {
	filter: none !important;
	color: #000000 !important;
}

body.mobile-menu-open header#site-header .site-header__mobile-toggle {
	color: #000000 !important;
}

/* =========================================================
   MOBILE ONLY
========================================================= */

@media (max-width: 768px) {
	.site-header__mobile-toggle {
		display: block;
	}

	.site-header__menu,
	.site-header__langs {
		display: none !important;
	}

	.site-header__right {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	body.search-open .site-mobile-menu,
	body.contact-open .site-mobile-menu {
		pointer-events: none;
	}

}

@media (min-width: 769px) {
	.site-mobile-menu {
		display: none !important;
	}

	.site-header__mobile-toggle {
		display: none !important;
	}
}

/* =========================================================
   MOBILE MENU — SEARCH COMO ÍCONE
========================================================= */

.site-mobile-menu__search {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 8px !important;
	background: transparent !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #000000 !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	letter-spacing: 0 !important;
	transform: none;
	transition: opacity 0.24s ease, transform 0.24s cubic-bezier(.2, .8, .2, 1);
}

.site-mobile-menu__search svg {
	display: block;
	width: 22px;
	height: 22px;
}

.site-mobile-menu__search:hover {
	opacity: 0.45;
	transform: scale(1.08);
}

/* =========================================================
   MOBILE — PERMITIR SEARCH REAL DO HEADER
   Quando o search abre, mostramos só a unidade de pesquisa.
========================================================= */

@media (max-width: 768px) {
	body.search-open header#site-header .site-header__menu {
		display: flex !important;
		align-items: center;
		justify-content: flex-end;
		position: relative;
	}

	body.search-open header#site-header .site-header__search-unit {
		display: block !important;
		position: relative;
		width: 18px;
		height: 18px;
		flex: 0 0 18px;
		z-index: 10008;
	}

	body.search-open header#site-header .site-header__menu-list,
	body.search-open header#site-header .site-header__contact {
		display: none !important;
	}

	body.search-open header#site-header .site-header__mobile-toggle {
		opacity: 0;
		pointer-events: none;
	}

	body.search-open header#site-header .site-header__right {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		color: #000000 !important;
		filter: none !important;
	}

	body.search-open header#site-header .site-header__logo img {
		filter: brightness(0) !important;
	}
}


/* =========================================================
   PÁGINAS INTERNAS — BASE
========================================================= */

body.page:not(.home):not(.front-page) {
	background: #ffffff;
	color: #000000;
}

.site-page-main {
	position: relative;
	z-index: 1;
	min-height: 100dvh;
	padding-top: 96px;
	background: #ffffff;
	color: #000000;
}

/* Conteúdo normal de páginas WordPress */
.site-page-main > * {
	max-width: none;
}

/* Caso a página tenha conteúdo simples sem wrapper próprio */
.site-page-main h1,
.site-page-main h2,
.site-page-main h3,
.site-page-main h4,
.site-page-main h5,
.site-page-main h6,
.site-page-main p,
.site-page-main ul,
.site-page-main ol {
	margin-left: 25px;
	margin-right: 25px;
}

/* Melhor leitura para páginas de texto */
.site-page-main h1 {
	margin-top: 0;
	margin-bottom: 28px;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(42px, 6vw, 66px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.07em;
}

.site-page-main h2 {
	margin-top: 42px;
	margin-bottom: 12px;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(28px, 3vw, 48px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.055em;
}

.site-page-main h3 {
	margin-top: 28px;
	margin-bottom: 8px;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.035em;
}
section.legal-page {
    margin-bottom: 50px;
}
.site-page-main p,
.site-page-main li {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.02em;
}

.site-page-main a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Se usares o wrapper que te dei para cookie settings */
.cookie-settings-page {
	max-width: 860px;
	margin: 0 auto;
	padding: 80px 24px 140px;
	font-family: "Inter", system-ui, sans-serif;
	color: #000000;
}

.cookie-settings-page h1,
.cookie-settings-page h2,
.cookie-settings-page h3,
.cookie-settings-page p,
.cookie-settings-page ul,
.cookie-settings-page ol {
	margin-left: 0;
	margin-right: 0;
}

/* =========================================================
   HEADER — PÁGINAS INTERNAS, EXCETO HOMEPAGE
========================================================= */

body.page:not(.home):not(.front-page) .site-header,
body.single:not(.home):not(.front-page) .site-header,
body.archive:not(.home):not(.front-page) .site-header {
	opacity: 1;
	pointer-events: auto;
}

body.page:not(.home):not(.front-page) .site-header__logo,
body.single:not(.home):not(.front-page) .site-header__logo,
body.archive:not(.home):not(.front-page) .site-header__logo {
	opacity: 1;
	pointer-events: auto;
}

body.page:not(.home):not(.front-page) .site-header__logo img,
body.single:not(.home):not(.front-page) .site-header__logo img,
body.archive:not(.home):not(.front-page) .site-header__logo img {
	filter: brightness(0);
}

body.page:not(.home):not(.front-page) .site-header__langs,
body.page:not(.home):not(.front-page) .site-header__menu,
body.page:not(.home):not(.front-page) .site-header__menu-toggle,
body.single:not(.home):not(.front-page) .site-header__langs,
body.single:not(.home):not(.front-page) .site-header__menu,
body.single:not(.home):not(.front-page) .site-header__menu-toggle,
body.archive:not(.home):not(.front-page) .site-header__langs,
body.archive:not(.home):not(.front-page) .site-header__menu,
body.archive:not(.home):not(.front-page) .site-header__menu-toggle {
	opacity: 1;
	transform: translateY(0);
}

body.page:not(.home):not(.front-page) .site-header__langs a,
body.page:not(.home):not(.front-page) .site-header__menu-toggle,
body.page:not(.home):not(.front-page) .site-header__menu a,
body.page:not(.home):not(.front-page) .site-header__contact,
body.page:not(.home):not(.front-page) .site-header__search-toggle,
body.single:not(.home):not(.front-page) .site-header__langs a,
body.single:not(.home):not(.front-page) .site-header__menu-toggle,
body.single:not(.home):not(.front-page) .site-header__menu a,
body.single:not(.home):not(.front-page) .site-header__contact,
body.single:not(.home):not(.front-page) .site-header__search-toggle,
body.archive:not(.home):not(.front-page) .site-header__langs a,
body.archive:not(.home):not(.front-page) .site-header__menu-toggle,
body.archive:not(.home):not(.front-page) .site-header__menu a,
body.archive:not(.home):not(.front-page) .site-header__contact,
body.archive:not(.home):not(.front-page) .site-header__search-toggle {
	color: #000000;
}

/* =========================================================
   HEADER — QUANDO O FOOTER PRETO ESTÁ ATIVO
========================================================= */

body.is-footer-active:not(.search-open):not(.contact-open) header#site-header .site-header__logo img {
	filter: none !important;
}

body.is-footer-active:not(.search-open):not(.contact-open) header#site-header .site-header__right {
	filter: invert(1);
}

body.is-footer-active:not(.search-open):not(.contact-open) header#site-header .site-header__right a,
body.is-footer-active:not(.search-open):not(.contact-open) header#site-header .site-header__right button {
	color: #000000;
}

/* Segurança: search/contact não podem herdar o invert do footer */
body.search-open header#site-header .site-header__right,
body.contact-open header#site-header .site-header__right {
	filter: none !important;
}

/* =========================================================
   FOOTER EM PÁGINAS INTERNAS
========================================================= */

.page-footer-section.section-footer {
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 100dvh;
	background: #000000;
	color: #ffffff;
	overflow: hidden;
}

.page-footer-section .section-footer__works {
	color: #ffffff;
}

.page-footer-section .section-footer__work-row {
	color: #ffffff;
}

.page-footer-section .section-footer__info {
	color: #ffffff;
}

.page-footer-section .site-foo__logo img {
	filter: none;
}

/* Menu footer vindo do WordPress */
.page-footer-section .section-footer__menu,
.section-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-footer-section .section-footer__menu li,
.section-footer__menu li {
	margin: 0;
	padding: 0;
}

.page-footer-section .section-footer__menu a,
.section-footer__menu a,
.section-footer a,
.section-footer li {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 1.18 !important;
	letter-spacing: -0.02em !important;
	color: #ffffff;
	margin: 0;
	text-decoration: none;
	transition: color 0.22s ease, opacity 0.22s ease;
}

.page-footer-section .section-footer__menu a:hover,
.section-footer__menu a:hover,
.section-footer a:hover {
	color: #FFF200;
	text-decoration: none;
	opacity: 1;
}

.page-footer-section .section-footer__menu a:hover,
.section-footer__menu a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* =========================================================
   ANIMAÇÃO DO FOOTER EM PÁGINAS INTERNAS
========================================================= */

.page-footer-section {
	opacity: 1;
	transform: translateY(0);
}

.page-footer-section .section-footer__work-row,
.page-footer-section .section-footer__info,
.page-footer-section .site-foo__logo {
	will-change: transform, opacity;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {
	.site-page-main {
		padding-top: 88px;
	}


	.cookie-settings-page {
		padding: 70px 18px 110px;
	}
}


/* =========================================================
   ABOUT — SECTION 1
========================================================= */

.about-hero-text {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: #ffffff;
	color: #000000;
	overflow: hidden;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 110px 25px 25px;
	box-sizing: border-box;
}

.about-hero-text__inner {
	width: 100%;
	text-align: center;
}

.about-hero-text h1 {
    font-family: "Inter", system-ui, sans-serif;
    font-size: clamp(42px, 4vw, 90px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.075em;
    color: #000000;
    margin: 0 auto;
}

.about-hero-text h1 span {
	color: #ff7b6d;
}
.about-hero-text h1,
.about-hero__title h1 {
	will-change: transform, opacity;
}
/* =========================================================
   ABOUT — SECTION 2 / IMAGE
   Mesma lógica visual da section 4 da homepage
========================================================= */

.about-visual-sequence {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: #ffffff;
	overflow: hidden;
}

.about-image-stage {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	overflow: hidden;
}

.about-image-stage__media {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100vw;
	height: 100dvh;
	padding: 75px 25px 25px;
	overflow: hidden;
	transform-origin: bottom center;
	will-change: transform, opacity;
	z-index: 3;
	box-sizing: border-box;
}

.about-image-stage__media img,
.about-image-stage__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

@media (max-width: 768px) {
	.about-hero-text {
		height: 100dvh;
		min-height: 100dvh;
		padding: 110px 25px 25px;
	}

	.about-hero-text h1 {
	font-size: clamp(30px, 6vw, 50px);
        line-height: 1.1;
	}
.about-image-stage__media {
	height: 100%;
}
	.about-image-stage__media {
		padding: 56px 25px 25px !important;
	}
}
/* =========================================================
   ABOUT — SECTION 3 / BIG TEXT
========================================================= */

.about-big-text {
    position: relative;
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    background: #ffffff;
    color: #000000;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 110px 35px 35px;
    box-sizing: border-box;
}

.about-big-text__inner {
	width: 100%;
}

.about-big-text h2 {
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(42px, 4vw, 90px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.075em;
	color: #000000;
	margin: 0;
	max-width: 1780px;
	will-change: transform, opacity;
}

.about-big-text h2 .is-green {
	color: #0cc176;
}

.about-big-text h2 .is-pink {
	color: #ff7bd4;
}

@media (max-width: 1024px) {
	.about-big-text h2 {
		font-size: clamp(48px, 9vw, 86px);
	}
}

@media (max-width: 768px) {
	.about-big-text {
		height: 100dvh;
		min-height: 100dvh;
		padding: 110px 25px 35px;
	}

	.about-big-text h2 {
		        font-size: clamp(26px, 5vw, 40px);
		line-height: 1;
	}
}


/******************************ABOOOOOOOOOOUTTTTTT */

.site-header.is-visible {
	pointer-events: auto;
}

.site-header__inner {
	width: 100%;
	padding: 25px 25px 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.site-header__logo {
	display: block;
	width: auto;
	height: 22px;
	opacity: 0;
	pointer-events: none;
}

.site-header__logo img {
	display: block;
	height: 22px;
	width: auto;
	filter: brightness(0);
}

.site-header__right {
    display: flex;
    align-items: center;
    width: 50%;
    justify-content: space-between;
    gap: 48px;
}

.site-header__langs,
.site-header__menu,
.site-header__menu-toggle {
	opacity: 0;
	transform: translateY(-24px);
}

.site-header__langs {
	display: flex;
	gap: 12px;
}

.site-header__langs a,
.site-header__menu-toggle,
.site-header__menu a {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 13px;
	line-height: 1;
	font-weight: 500;
	color: #000;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
}

.site-header__langs a {
	opacity: 0.45;
}

.site-header__langs a.is-active {
	opacity: 1;
}

.site-header__menu-list {
	display: flex;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* =========================================================
   ABERTURA
========================================================= */

.mtn-stage {
	position: relative;
	width: 100%;
	height: 100dvh;
	overflow: hidden;
	z-index: 10;
	will-change: transform;
}

.bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.05);
	filter: saturate(1.05) contrast(1.05);
	pointer-events: none;
}

.mtn-stage::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(
			80% 80% at 50% 50%,
			rgba(0, 0, 0, calc(0.10 + (var(--overlay-alpha, 0) * 0.18))),
			rgba(0, 0, 0, calc(0.60 + (var(--overlay-alpha, 0) * 0.45)))
		);
	pointer-events: none;
	will-change: opacity;
	opacity: var(--stage-after-opacity, 1);
}

.letters {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.mv {
	position: absolute;
	display: block;
	height: clamp(72px, 10vw, 170px);
	width: auto;
	filter: drop-shadow(0 12px 40px rgba(0, 0, 0, 0.25));
	user-select: none;
	will-change: transform;
}

.mv--tl {
	top: 28px;
	left: 28px;
}

.mv--tr {
	top: 28px;
	right: 28px;
}

.mv--bl {
	bottom: 28px;
	left: 28px;
}

.mv--br {
	bottom: 28px;
	right: 28px;
}

.mv--dot {
	height: 30px;
	width: 30px;
	bottom: 35px;
	left: 150px;
}

.final-measure {
	position: absolute;
	top: 100px;
	left: 150px;
	display: flex;
	gap: 2px;
	visibility: hidden;
	pointer-events: none;
}

.final-measure .final__ch {
	display: block;
	height: 30px;
	width: auto;
}

.final-measure .final__ch-dot {
	transform: translate(-14px, -12px);
}

.final-logo {
	position: absolute;
	top: 99px;
	left: 151px;
	height: 30px;
	width: auto;
	z-index: 6;
	opacity: 0;
	pointer-events: none;
	transform: translateZ(0);
	will-change: opacity;
	filter: brightness(1);
}

body.raro-logo-final .final-logo {
	filter: brightness(0);
}

body.raro-site-revealed .mtn-stage {
	pointer-events: none;
}

body.raro-site-revealed .final-logo {
	z-index: 9999;
	pointer-events: auto;
	filter: brightness(0) invert(1);
}

.copy {
	position: absolute;
	left: 150px;
	top: calc(100px + 30px + 30px);
	z-index: 2;
	width: calc(100% - 300px);
	color: rgba(255, 255, 255, 0.92);
	opacity: 0;
	pointer-events: none;
	will-change: transform, opacity;
}

.copy p {
	margin: 0 0 50px;
	font-size: 3.13vw;
	line-height: 1;
}

.decor-dots {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
}

.decor-dot {
	position: absolute;
	width: 25px;
	height: 25px;
	background: #fff;
	opacity: 1;
	will-change: opacity, transform;
}

.decor-dot--a {
	top: 45%;
	left: 70%;
}

.decor-dot--b {
	bottom: 15%;
	left: 70%;
}

/* =========================================================
   SECTION 3
========================================================= */

.mtn-after {
	position: relative;
	z-index: 1;
	margin-top: -100dvh;
	background: #ffffff;
	min-height: 100dvh;
	overflow: hidden;
}

body.raro-site-revealed .mtn-after {
	z-index: 10;
}

.home-intro {
	min-height: 100dvh;
	position: relative;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	align-items: end;
	padding: 0;
	background: #ffffff;
	color: #000000;
}

.home-intro__content {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: end;
	gap: 40px;
	padding: 25px;
}

.home-intro__title {
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(46px, 8vw, 70px);
	font-weight: 600;
	line-height:1;
	letter-spacing: -0.075em;
	text-transform: uppercase;
	white-space: nowrap;
	margin: 0;
	will-change: transform, opacity;
}

.home-intro__text {
	max-width: 620px;
	padding-bottom: 2px;
	will-change: transform, opacity;
}

.home-intro__text p {
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(16px, 1vw, 21px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.035em;
	color: #000000;
	margin: 0;
}

.home-intro__media {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 33vw;
	height: calc(100dvh - 20%);
	z-index: 1;
	overflow: hidden;
	will-change: transform, opacity;
}

.home-intro__media img,
.home-intro__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* =========================================================
   SECTION 4 — imagem
========================================================= */

.home-visual-sequence {
	position: relative;
	height: 100dvh;
	min-height: 100dvh;
	overflow: hidden;
	background: #FFF200;
}
.home-next__inner {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 72px 48px 48px;
	box-sizing: border-box;

	opacity: 0;
	transform: translate3d(0, 48px, 0);

	will-change: transform, opacity;
	pointer-events: none;
}
.home-image-stage {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	overflow: hidden;
}

.home-image-stage__media {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100vw;
	height: 100dvh;
	padding: 75px 25px 25px;
	overflow: hidden;
	transform-origin: bottom center;
	will-change: transform, opacity;
	z-index: 3;
	box-sizing: border-box;
}

.home-image-stage__media img,
.home-image-stage__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* =========================================================
   SECTION 5 — texto amarelo
========================================================= */

.home-next {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: #FFF200;
	overflow: hidden;
	color: #000000;
}



.home-next__top {
	position: absolute;
	top: 72px;
	left: 48px;
	right: 48px;
}

.home-next__bottom {
	position: absolute;
	left: 48px;
	right: 48px;
	bottom: 42px;
}

.home-next__top h2,
.home-next__bottom h3 {
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.075em;
	color: #000000;
	margin: 0;
}

.home-next__top h2 {
    font-size: clamp(42px, 3.8vw, 90px);
}

.home-next__bottom h3 {
    font-size: clamp(42px, 3.8vw, 90px);
}

@media (max-width: 768px) {


	.home-next__inner {
		padding: 96px 24px 42px;
	}

	.home-next__top {
		top: 96px;
		left: 24px;
		right: 24px;
	}

	.home-next__bottom {
		left: 24px;
		right: 24px;
		bottom: 42px;
	}

	.home-next__top h2,
	.home-next__bottom h3 {
		font-size: clamp(38px, 12vw, 68px);
	}
}

/* =========================================================
   SECTION 6 — projetos / composição editorial
========================================================= */

#section-6.home-visual-sequence--second {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	overflow: hidden;
	background: #ffffff;
}

#section-6 .home-image-stage--second {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	overflow: hidden;
}

/* Base — anula completamente a classe global .home-image-stage__media */
#section-6 .home-image-stage__media--second {
	position: absolute;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;

	width: auto;
	height: auto;
	padding: 0 !important;
	margin: 0;

	overflow: hidden;
	background: transparent;
	box-sizing: border-box;

	transform: translate3d(0, 0, 0);
	transform-origin: center center;
	will-change: transform;
	backface-visibility: hidden;
	pointer-events: none;
}

/* Todas as imagens sempre cover / center */
#section-6 .home-image-stage__media--second img,
#section-6 .home-image-stage__media--second video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/* Imagem esquerda — grande, entra primeiro */
#section-6 .home-image-stage__media--second-1 {
	left: 0;
	top: 150px;
	width: 33vw;
	height: calc(100dvh - 150px);
	z-index: 3;
}

#section-6 .home-image-stage__media--second-2 {
    left: 33vw;
    top: 150px;
    width: 16vw;
    height: 45vh;
    z-index: 4;
}

/* Imagem direita — grande, colada à direita */
#section-6 .home-image-stage__media--second-3 {
	left: auto;
	right: 0;
	top: 43vh;
	width: 25vw;
	height: 57vh;
	z-index: 5;
}

@media (max-width: 1024px) {
	#section-6 .home-image-stage__media--second-1 {
		left: 0;
		top: 140px;
		width: 45vw;
		height: 48vh;
	}

	#section-6 .home-image-stage__media--second-2 {
		left: 49vw;
		top: 140px;
		width: 28vw;
		height: 28vh;
	}

	#section-6 .home-image-stage__media--second-3 {
		left: auto;
		right: 0;
		top: 54vh;
		width: 50vw;
		height: 46vh;
	}
}

@media (max-width: 768px) {
	#section-6.home-visual-sequence--second {
		height: 100dvh;
		min-height: 100dvh;
	}

	#section-6 .home-image-stage__media--second-1 {
		left: 0;
		top: 120px;
		width: 64vw;
		height: 36vh;
	}

	#section-6 .home-image-stage__media--second-2 {
		left: 42vw;
		top: 150px;
		width: 40vw;
		height: 26vh;
	}

	#section-6 .home-image-stage__media--second-3 {
		left: auto;
		right: 0;
		top: 52vh;
		width: 66vw;
		height: 48vh;
	}
}

/* =========================================================
   BACK TO TOP — APENAS NO FOOTER
========================================================= */

.section-footer {
	position: relative;
	overflow: hidden;
}

.to-top {
	position: absolute;
	right: -50px;
	bottom: -50px;
	z-index: 50;

	width: 82px;
	height: 82px;

	display: block;

	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0;

	background: #ffffff;
	color: #000000;

	cursor: pointer;
	box-shadow: none;

	appearance: none;
	-webkit-appearance: none;

	overflow: hidden;

	transition:
		right 0.35s cubic-bezier(.2, .8, .2, 1),
		bottom 0.35s cubic-bezier(.2, .8, .2, 1),
		transform 0.35s cubic-bezier(.2, .8, .2, 1);
}

.to-top:hover {
	right: 0;
	bottom: 0;
}

.to-top:active {
	transform: scale(0.96);
}

.to-top__text {
	position: absolute;
	left: 8px;
	top: 32px;

	display: block;

	text-align: left;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.035em;

	color: #000000;

	white-space: nowrap;

	opacity: 0;
	transform: translateY(6px);

	transition:
		opacity 0.25s ease,
		transform 0.35s cubic-bezier(.2, .8, .2, 1);
}

.to-top:hover .to-top__text {
	opacity: 1;
	transform: translateY(0);
}

/*
   IMPORTANTE:
   O botão está escondido para fora do ecrã.
   A parte visível é o canto superior esquerdo.
   Por isso o ícone tem de estar em left/top, não right/top.
*/
.to-top__icon {
	position: absolute;
	top: 8px;
	left: 8px;

	width: 12px;
	height: 12px;

	display: block;

	color: #000000;

	transform: rotate(0deg);
	transform-origin: 50% 50%;

	transition:
		transform 0.45s cubic-bezier(.2, .8, .2, 1),
		color 0.25s ease,
		top 0.35s cubic-bezier(.2, .8, .2, 1),
		left 0.35s cubic-bezier(.2, .8, .2, 1);
}

/* canto / cabeça */
.to-top__icon::before,
.to-top__icon::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;

	display: block;

	background: currentColor;
}

.to-top__icon::before {
	width: 12px;
	height: 2px;
}

.to-top__icon::after {
	width: 2px;
	height: 12px;
}

/*
   Hover:
   - continua no canto superior esquerdo;
   - roda para cima;
   - fica mais claro.
*/
.to-top:hover .to-top__icon {
	top: 8px;
	left: 8px;
	color: rgba(0, 0, 0, 0.55);
	transform: rotate(45deg);
}

body.search-open .to-top,
body.contact-open .to-top,
body.mobile-menu-open .to-top {
	pointer-events: none;
}

@media (max-width: 768px) {
	.to-top {
		right: -44px;
		bottom: -44px;
		width: 72px;
		height: 72px;
	}

	.to-top__text {
		top: 30px;
		font-size: 9px;
	}

	.to-top__icon {
		top: 7px;
		left: 7px;
	}
}
/* =========================================================
   SECTION FOOTER
========================================================= */

.site-foo__logo img{
    width: 50%;
}
.section-footer {
    position: relative;
    width: 100%;
    min-height: 100dvh;
    background: #000000;
    color: #ffffff;
    overflow: hidden;
    padding: 0;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 150px 25px 0px;
    display: flex;
    flex-direction: column;
}
.section-footer__works {
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	will-change: transform, opacity;
}

.section-footer__work-row {
	display: grid;
	grid-template-columns: 1fr 1.4fr 1fr;
	align-items: center;
	width: 100%;
	min-height: 18px;
	padding: 2px 5px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	color: #ffffff;
	box-sizing: border-box;
	transition: background-color 0.25s ease, color 0.25s ease;
	will-change: transform, opacity;
}

.section-footer__work-row:hover {
	color: #fff200;
}
a,
a:hover,
a:focus,
a:active,
a:visited,
a:focus-visible {
	color: inherit;
	text-decoration: none;
	outline: none;
	box-shadow: none;
	background: transparent;
}

a:focus,
a:active,
a:focus-visible {
	outline: 0 !important;
	box-shadow: none !important;
}
.section-footer__work-title,
.section-footer__work-excerpt {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.section-footer__work-title {
	text-align: left;
}

.section-footer__work-excerpt--one, .section-footer__work-date {
	text-align: center;
}

.section-footer__work-excerpt--two {
	text-align: right;
}

.section-footer__info {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 40px;
    width: 80%;
    padding: 100px 0px 100px;
    box-sizing: border-box;
    will-change: transform, opacity;
}

.section-footer__info-col p {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: #ffffff;
	margin: 0;
}
body.is-footer-active header#site-header .site-header__right{
	filter: invert(1);
}


@media (max-width: 1024px) {


	.section-footer__work-row {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	.section-footer__work-excerpt--one {
		text-align: right;
	}

	.section-footer__work-excerpt--two {
		display: none;
	}

	.section-footer__info {
		grid-template-columns: 1fr 1fr;
		row-gap: 28px;
		padding-top: 64px;
	}

	.section-footer__logo {
		font-size: 42vw;
		bottom: -30px;
	}
}

@media (max-width: 768px) {
	.section-footer {
		min-height: 130dvh;
	}

	.section-footer__work-row {
		grid-template-columns: 1fr;
		gap: 3px;
		min-height: auto;
		padding: 6px 8px;
	}

	.section-footer__work-title,
	.section-footer__work-excerpt {
		font-size: 10px;
		text-align: left;
		white-space: normal;
		overflow: visible;
		text-overflow: initial;
	}

	.section-footer__work-excerpt--two {
		display: block;
	}

	.section-footer__info {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 50px 0px !important;
	}

	.section-footer__info-col p {
		font-size: 9px;
	}

	.section-footer__logo {
		left: -5px;
		bottom: -18px;
		font-size: 48vw;
	}
}













/* =========================================================
   WORKS PAGE
========================================================= */

body.page-template-works .site-header,
body.page-template-works-php .site-header {
	opacity: 1;
	pointer-events: auto;
}

body.page-template-works .site-header__logo,
body.page-template-works-php .site-header__logo {
	opacity: 1;
	pointer-events: auto;
}

body.page-template-works .site-header__logo img,
body.page-template-works-php .site-header__logo img {
	filter: brightness(0);
}

body.page-template-works .site-header__langs,
body.page-template-works .site-header__menu,
body.page-template-works .site-header__menu-toggle,
body.page-template-works-php .site-header__langs,
body.page-template-works-php .site-header__menu,
body.page-template-works-php .site-header__menu-toggle {
	opacity: 1;
	transform: translateY(0);
}

body.page-template-works .site-header__langs a,
body.page-template-works .site-header__menu-toggle,
body.page-template-works .site-header__menu a,
body.page-template-works-php .site-header__langs a,
body.page-template-works-php .site-header__menu-toggle,
body.page-template-works-php .site-header__menu a {
	color: #000000;
}

body.works-detail-open .site-header {
	filter: none;
}

body.works-detail-open .works-controls {
	pointer-events: none;
}

.works-page {
	background: #ffffff;
	color: #000000;
}

.works-archive {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: #ffffff;
	color: #000000;
	overflow: hidden;
	transition: background-color 0.7s cubic-bezier(.83, 0, .17, 1);
}

.works-archive__views {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.works-view {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
	opacity: 0;
	transform: translate3d(0, -100%, 0);
	will-change: transform, opacity;
}

.works-view.is-active {
	pointer-events: auto;
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* =========================================================
   VIEW 1 — HORIZONTAL
========================================================= */

.works-view--horizontal {
	overflow: hidden;
}

.works-horizontal {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding: 60px 0;
	box-sizing: border-box;
}

.works-horizontal::-webkit-scrollbar {
	display: none;
}

.works-card--horizontal {
	position: relative;
	flex: 0 0 27.5vw;
	height: calc(100dvh - 120px);
	max-height: 100%;
	background: #f3f3f3;
	color: #000000;
	border-right: 8px solid #ffffff;
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.works-card__media {
	position: absolute;
	inset: 0 0 28px 0;
	background: #f3f3f3;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: background-color 0.35s ease;
}

.works-card__img {
	position: absolute;
	display: block;
	object-position: center center;
	transition:
		opacity 0.35s ease,
		transform 0.45s cubic-bezier(.2, .8, .2, 1);
}

.works-card__img--planta {
	width: 82%;
	height: 82%;
	object-fit: contain;
	opacity: 1;
	filter: grayscale(1);
	transform: scale(1);
}

.works-card__img--featured {
	width: 72%;
	height: 72%;
	object-fit: cover;
	opacity: 0;
	transform: scale(0.96);
}

.works-card__meta {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	width: 100%;
	height: 28px;
	padding: 0 8px;
	background: #ffffff;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 9px;
	font-weight: 600;
	line-height: 1;
	color: #000000;
	box-sizing: border-box;
	text-transform: uppercase;
}

.works-card__meta span:first-child {
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.works-card__meta span:last-child {
	text-align: right;
	white-space: nowrap;
}

.works-card--horizontal:hover .works-card__media {
	background: var(--work-color);
}

.works-card--horizontal:hover .works-card__img--planta {
	opacity: 0;
	transform: scale(1.04);
}

.works-card--horizontal:hover .works-card__img--featured {
	opacity: 1;
	transform: scale(1);
}

/* =========================================================
   VIEW 2 — LIST
========================================================= */

.works-view--list {
	overflow-y: auto;
	scrollbar-width: none;
}

.works-view--list::-webkit-scrollbar {
	display: none;
}

.works-list {
	width: 100%;
	min-height: 100dvh;
	padding: 60px 15px 65px;
	box-sizing: border-box;
}

.works-list__item {
	display: block;
	width: 100%;
	padding: 0 8px;
	color: #000000;
	box-sizing: border-box;
}

.works-list__item:hover {
	background: transparent;
	color: var(--work-color);
}

.works-list__title {
	display: block;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(54px, 5.6vw, 116px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.075em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.works-list__abbr,
.works-list__date,
.works-list__excerpt {
	display: none;
}

/* =========================================================
   VIEW 3 — GRID
========================================================= */

.works-view--grid {
	overflow-y: auto;
	overflow-x: hidden;
	scrollbar-width: none;
}

.works-view--grid::-webkit-scrollbar {
	display: none;
}

.works-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	column-gap: 7vw;
	row-gap: 5vh;
	width: 100%;
	min-height: 100dvh;
	padding: 60px 7vw 60px;
	box-sizing: border-box;
	align-items: start;
	align-content: start;
}

.works-grid__item {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	background: #f3f3f3;
	overflow: hidden;
	color: #000000;
	line-height: 1;
}

.works-grid__item img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	opacity: 1;
	transform: scale(1);
	transition:
		opacity 0.35s ease,
		transform 0.45s cubic-bezier(.2, .8, .2, 1);
}

.works-grid__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--work-color);
	opacity: 0;
	padding: 18px;
	text-align: center;
	transition: opacity 0.3s ease;
	pointer-events: none;
	box-sizing: border-box;
}

.works-grid__overlay span {
	display: block;
	width: 100%;
	max-width: 100%;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(16px, 1.15vw, 24px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	color: #000000;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: normal;
	text-align: center;
}

.works-grid__item:hover img {
	opacity: 0;
	transform: scale(1.04);
}

.works-grid__item:hover .works-grid__overlay {
	opacity: 1;
}

/* =========================================================
   VIEW CONTROLS
========================================================= */

.works-controls {
	position: fixed;
	left: 25px;
	bottom: 25px;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 6px;
	pointer-events: auto;
	transition: opacity 0.35s ease;
}

.works-controls > span {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 9px;
	font-weight: 500;
	line-height: 1;
	color: #000000;
}

.works-controls__buttons {
	display: flex;
	align-items: center;
	gap: 8px;
}

.works-view-btn {
	width: 24px;
	height: 16px;
	border: 0;
	padding: 0;
	background: transparent;
	display: grid;
	cursor: pointer;
	opacity: 0.42;
	transition: opacity 0.2s ease;
}

.works-view-btn.is-active,
.works-view-btn:hover {
	opacity: 1;
}

.works-view-btn[data-target-view="horizontal"] {
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}

.works-view-btn[data-target-view="list"] {
	grid-template-rows: repeat(3, 1fr);
	gap: 2px;
}

.works-view-btn[data-target-view="grid"] {
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 2px;
}

.works-view-btn span {
	background: #000000;
}

/* =========================================================
   WORK DETAIL — SEM RELOAD
========================================================= */

.work-detail-layer {
	position: absolute;
	inset: 0;
	z-index: 30;
	width: 100%;
	height: 100%;
	background: var(--active-work-color, #000000);
	color: #000000;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	transform: none;
	will-change: opacity, background-color;
}

.work-detail-layer.is-active {
	pointer-events: auto;
}

.work-detail {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: none;
	overflow-y: auto;
	overflow-x: hidden;
	scroll-snap-type: y mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	background: var(--work-color);
	color: #000000;
}

.work-detail::-webkit-scrollbar {
	display: none;
}

.work-detail.is-active {
	display: block;
}

.work-detail-section {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	scroll-snap-align: start;
	overflow: hidden;
	box-sizing: border-box;
}

/* =========================================================
   WORK DETAIL — SECTION 1 / HERO
========================================================= */

.work-detail-hero {
	position: relative;
	display: block;
	padding: 80px 35px 45px;
	box-sizing: border-box;
	overflow: hidden;
}

.work-detail-hero__grid {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
  justify-content: end;
}

.work-detail-hero__image {
	position: relative;
	top: auto;
	right: auto;
	z-index: 3;
	order: 1;
	align-self: flex-end;
	width: 20vw;
	height: 50vh;
	min-width: 280px;
	min-height: 330px;
	margin-right: 70px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.18);
}

.work-detail-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.work-detail-hero__content {
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
	z-index: 2;
	order: 2;
	width: 100%;
	max-width: none;
	margin-top: 15px;
}

.work-detail-hero p {
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(42px, 7.5vw, 112px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.075em;
	margin: 0;
	width: 100%;
	color: #000000;
	text-align: center;
}

/* =========================================================
   WORK DETAIL — IMAGE LIGHTBOX
========================================================= */

.work-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	background: rgba(0, 0, 0, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.32s cubic-bezier(.2, .8, .2, 1);
}

.work-lightbox.is-open {
	opacity: 1;
	pointer-events: auto;
}

.work-lightbox__inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 70px;
	box-sizing: border-box;
}

.work-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: 0;
	transform: scale(0.96);
	transition:
		opacity 0.32s cubic-bezier(.2, .8, .2, 1),
		transform 0.32s cubic-bezier(.2, .8, .2, 1);
	will-change: transform, opacity;
}

.work-lightbox.is-open .work-lightbox__image {
	opacity: 1;
	transform: scale(1);
}

.work-lightbox__close,
.work-lightbox__prev,
.work-lightbox__next {
	position: absolute;
	border: 0;
	background: transparent;
	color: #ffffff;
	font-family: "Inter", system-ui, sans-serif;
	font-weight: 300;
	cursor: pointer;
	padding: 0;
	margin: 0;
	line-height: 1;
	z-index: 2;
	appearance: none;
	-webkit-appearance: none;
	transition:
		opacity 0.25s cubic-bezier(.2, .8, .2, 1),
		transform 0.25s cubic-bezier(.2, .8, .2, 1);
}

.work-lightbox__close {
	top: 28px;
	right: 28px;
	font-size: 34px;
}

.work-lightbox__prev,
.work-lightbox__next {
	top: 50%;
	transform: translateY(-50%);
	font-size: 42px;
}

.work-lightbox__prev {
	left: 28px;
}

.work-lightbox__next {
	right: 28px;
}

.work-lightbox__close:hover,
.work-lightbox__prev:hover,
.work-lightbox__next:hover {
	opacity: 0.55;
}

.work-lightbox__prev:hover {
	transform: translateY(-50%) translateX(-4px);
}

.work-lightbox__next:hover {
	transform: translateY(-50%) translateX(4px);
}

.work-lightbox__counter {
	position: absolute;
	left: 28px;
	bottom: 24px;
	color: #ffffff;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12px;
	font-weight: 300;
	letter-spacing: -0.02em;
	opacity: 0.75;
}

.work-detail img {
	cursor: zoom-in;
}

.work-lightbox.is-open img {
	cursor: default;
}

@media (max-width: 768px) {
	.work-lightbox__inner {
		padding: 56px 20px;
	}

	.work-lightbox__close {
		top: 20px;
		right: 20px;
		font-size: 32px;
	}

	.work-lightbox__prev,
	.work-lightbox__next {
		font-size: 34px;
	}

	.work-lightbox__prev {
		left: 18px;
	}

	.work-lightbox__next {
		right: 18px;
	}

	.work-lightbox__counter {
		left: 20px;
		bottom: 18px;
	}
}


/* =========================================================
   WORK DETAIL — BIG TEXT SECTION
   Texto dual direita em section própria
========================================================= */

.work-detail-big-text-section {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: var(--work-color);
	color: #000000;
	overflow: hidden;
	padding: 75px 25px 45px;
	box-sizing: border-box;
}

.work-detail-big-text {
	position: relative;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.work-detail-big-text__text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-family: "Inter", system-ui, sans-serif;
    font-size: clamp(30px, 2vw, 60px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.08em;
    color: #000000;
    text-align: left;
    will-change: transform, opacity;
}

@media (max-width: 1200px) {

}

@media (max-width: 768px) {
	.work-detail-big-text-section {
		height: 100dvh;
		min-height: 100dvh;
		padding: 90px 25px 42px;
	}

.work-detail-big-text__text {
    font-size: clamp(16px, 1.6vw, 40px);
    line-height: 1;
}
}
/* =========================================================
   WORK DETAIL — SECTION 2 / IMAGE SEQUENCE
========================================================= */

.work-detail-image-section {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: var(--work-color);
	overflow: hidden;
}

.work-detail-image {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100vw;
	height: 100dvh;
	padding: 75px 25px 25px;
	overflow: hidden;
	transform-origin: bottom center;
	will-change: transform, opacity;
	z-index: 3;
	box-sizing: border-box;
}

.work-detail-image img,
.work-detail-image video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

@media (max-width: 768px) {
	.work-detail-image {
		padding: 56px 25px 25px;
	}
}



/* =========================================================
   WORK DETAIL — SECTION 3 / DUAL IMAGE + TEXT
========================================================= */

.work-detail-dual-section {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: var(--work-color);
	color: #000000;
	overflow: hidden;
	padding: 75px 25px 45px;
	box-sizing: border-box;
}

.work-detail-dual {
	position: relative;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.work-detail-dual__images {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	height: 62vh;
	margin-left: 0;
	margin-right: auto;
}

.work-detail-dual__image-slot {
	position: relative;
	width: 100%;
	height: 100%;
	min-width: 0;
}

.work-detail-dual__image-slot:empty {
	min-height: 1px;
}

.work-detail-dual__image {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.18);
	will-change: transform, opacity;
}

.work-detail-dual__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/* bloco geral dos textos */
.work-detail-dual__texts {
	position: static;
	width: 100%;
}

/* texto pequeno base — por baixo das imagens */
.work-detail-dual__text--one,
.work-detail-dual__text--three,
.work-detail-dual__text--four {
	position: absolute;
	top: calc(62vh + 38px);
	margin: 0;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(11px, 0.78vw, 15px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.045em;
	color: #000000;
	text-align: left;
}

/* Texto dual esquerda */
.work-detail-dual__text--one {
	left: 0;
	width: calc((100% / 3) - 7px);
	max-width: calc((100% / 3) - 7px);
}

/* Texto dual centro */
.work-detail-dual__text--three {
	left: calc((100% / 3) + 5px);
	width: calc((100% / 3) - 7px);
	max-width: calc((100% / 3) - 7px);
}

/* Texto dual direita */
.work-detail-dual__text--four {
	left: calc(((100% / 3) * 2) + 10px);
	width: calc((100% / 3) - 7px);
	max-width: calc((100% / 3) - 7px);
}

/* Texto grande / marquee — fundo da secção */
.work-detail-dual__text--two {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	width: 100%;
	max-width: 100%;
	margin: 0;
	text-align: center;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(40px, 5.2vw, 100px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.075em;
	color: #000000;
}

.work-detail-dual__text--two.is-static {
	overflow: visible;
	white-space: normal;
}

.work-detail-dual__text--two.has-marquee {
	overflow: hidden;
	white-space: nowrap;
	font-size: var(--marquee-font-size);
}

.work-detail-marquee-static {
	display: block;
	white-space: normal;
}

.work-detail-marquee {
	display: inline-flex;
	align-items: center;
	width: max-content;
	white-space: nowrap;
	will-change: transform;
}

.work-detail-marquee__item {
	display: inline-block;
	padding-right: 0.35em;
	white-space: nowrap;
}

.work-detail-dual__text {
	will-change: transform, opacity;
}

@media (max-width: 1200px) {
	.work-detail-dual__images {
		width: 78vw;
	}

	.work-detail-dual__text--one,
	.work-detail-dual__text--three,
	.work-detail-dual__text--four {
		top: calc(62vh + 38px);
	}

	.work-detail-dual__text--one {
		left: 0;
		width: calc((78vw / 3) - 7px);
		max-width: calc((78vw / 3) - 7px);
	}

	.work-detail-dual__text--three {
		left: calc((78vw / 3) + 5px);
		width: calc((78vw / 3) - 7px);
		max-width: calc((78vw / 3) - 7px);
	}

	.work-detail-dual__text--four {
		left: calc(((78vw / 3) * 2) + 10px);
		width: calc((78vw / 3) - 7px);
		max-width: calc((78vw / 3) - 7px);
	}

	.work-detail-dual__text--two {
		font-size: clamp(42px, 6.2vw, 96px);
	}
}

@media (max-width: 768px) {
	.work-detail-dual-section {
		height: 100dvh;
		min-height: 100dvh;
		padding: 90px 25px 42px;
	}
a.section-footer__work-row {
    display: flex;
    justify-content: space-between;
}
	.work-detail-dual__images {
		width: 100%;
		height: 50vh;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 10px;
	}

	.work-detail-dual__image-slot {
		height: auto;
	}

	.work-detail-dual__image-slot:empty {
		display: none;
	}

	.work-detail-dual__image {
		height: auto;
	}

	.work-detail-dual__image img {
		height: auto;
	}

	.work-detail-dual__text--one,
	.work-detail-dual__text--three,
	.work-detail-dual__text--four {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		max-width: 100%;
		margin-top: 10px;
		font-size: 10px;
		line-height: 1.1;
	}

	.work-detail-dual__text--two {
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: 100%;
		font-size: clamp(38px, 11vw, 72px);
		line-height: 1;
	}
}

/* =========================================================
   WORK DETAIL — SECTION 4 / GALLERY SLIDER
========================================================= */

.work-detail-gallery-slider-section {
    position: relative;
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    background: #f2f2f2;
    color: #000000;
    overflow: hidden;
    padding: 75px 25px 55px;
    box-sizing: border-box;
}

.work-detail-gallery-slider {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.work-detail-gallery-slider__track {
	position: relative;
	width: 100%;
	height: 100%;
}

.work-detail-gallery-slider__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transform: translate3d(40px, 0, 0);
	transition:
		opacity 0.45s ease,
		transform 0.65s cubic-bezier(.22, 1, .36, 1);
	will-change: transform, opacity;
}

.work-detail-gallery-slider__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
}

.work-detail-gallery-slider__slide img {
    display: block;
    width: auto;
    height: auto;
    max-width: 90vw;
    max-height: calc(100dvh - 300px);
    object-fit: contain;
    object-position: center center;
}

/* setas */
.work-detail-gallery-slider__nav {
	position: absolute;
	left: 50%;
	bottom: 24px;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 12px;
	transform: translateX(-50%);
}

.work-detail-gallery-slider__btn {
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
	color: #000000;
	cursor: pointer;
	opacity: 0.35;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.work-detail-gallery-slider__btn:hover {
	opacity: 1;
	transform: translateY(-1px);
}

.work-detail-gallery-slider__btn:focus,
.work-detail-gallery-slider__btn:active {
	outline: none;
	box-shadow: none;
}

/* estado para animação GSAP */
.work-detail-gallery-slider {
	will-change: transform, opacity;
}

@media (max-width: 768px) {
	.work-detail-gallery-slider-section {
		height: 100dvh;
		min-height: 100dvh;
		padding: 90px 25px 55px;
	}

	.work-detail-gallery-slider__slide img {
		max-width: 86vw;
		max-height: 62vh;
	}

	.work-detail-gallery-slider__nav {
		bottom: 28px;
	}

	.work-detail-gallery-slider__btn {
		font-size: 24px;
	}
}
.work-detail-dual__text--two.is-static {
	overflow: visible;
}

.work-detail-marquee-static {
	display: block;
	white-space: normal;
}

.work-detail-dual__text--two.has-marquee {
	overflow: hidden;
	white-space: nowrap;
}

.work-detail-marquee {
	display: inline-flex;
	align-items: center;
	width: max-content;
	white-space: nowrap;
	animation: workDetailMarquee 50s linear infinite;
	will-change: transform;
}

.work-detail-marquee__item {
	display: inline-block;
	padding-right: 0.35em;
	white-space: nowrap;
}

@keyframes workDetailMarquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-33.333%, 0, 0);
	}
}
/* =========================================================
   WORK DETAIL — EXTRA COLORED TEXT
   Depois da galeria
========================================================= */

.work-detail-extra-colored-text-section {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	background: #f2f2f2;
	color: var(--work-color);
	overflow: hidden;
	padding: 75px 25px 45px;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.work-detail-extra-colored-text {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.work-detail-extra-colored-text__text {
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(42px, 5vw, 90px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.075em;
	color: var(--work-color);
	margin: 0;
	max-width: 1780px;
	will-change: transform, opacity;
	overflow: hidden;
}

.work-detail-extra-colored-text__letter {
	display: inline-block;
	white-space: pre;
	will-change: transform, opacity;
	color: var(--work-color);
}

@media (max-width: 768px) {
	.work-detail-extra-colored-text-section {
		padding: 90px 25px 42px;
	}

	.work-detail-extra-colored-text__text {
		font-size: clamp(30px, 8vw, 50px);
		line-height: 1;
		letter-spacing: -0.075em;
	}
	.site-header__inner {
    gap: 15px !important;
}
}
/* =========================================================
   WORK DETAIL — FOOTER SECTION
========================================================= */
.work-detail-footer-section.work-detail-footer-active {
	background: #000000;
	color: #ffffff;
}
/* =========================================================
   WORK DETAIL — CLOSE
========================================================= */

.work-detail-close {
	position: fixed;
	left: 25px;
	top: 60px;
	z-index: 99999;
	border: 0;
	background: transparent;
	color: #000000;
	padding: 0;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.work-detail-layer.is-active .work-detail-close {
	opacity: 1;
	pointer-events: auto;
}









/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
	.works-card--horizontal {
		flex-basis: 42vw;
	}

	.works-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 5vw;
		row-gap: 5vh;
	}

	.works-list__title {
		font-size: clamp(44px, 10vw, 88px);
	}

	.work-detail-hero__content {
		width: calc(100% - 38vw - 90px);
	}

	.work-detail-hero p {
		font-size: clamp(42px, 5vw, 92px);
	}

	.work-detail-hero__image {
		right: 45px;
		width: 28vw;
	}

	.work-detail-gallery__item {
		flex-basis: 58vw;
	}
}

@media (max-width: 768px) {
	.works-archive {
		height: 100dvh;
		min-height: 100dvh;
	}

	.works-card--horizontal {
		flex-basis: 78vw;
		height: calc(100dvh - 140px);
		min-height: 360px;
		max-height: none;
	}

	.works-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 30px;
		row-gap: 5vh;
		padding: 86px 28px 96px;
	}

	.works-list {
		padding-top: 86px;
		padding-bottom: 96px;
	}

	.works-list__title {
		font-size: clamp(42px, 13vw, 72px);
		white-space: normal;
	}

	.work-detail-hero,
	.work-detail-text-section,
	.work-detail-image-section,
	.work-detail-duo,
	.work-detail-planta {
		padding: 90px 28px 42px;
	}

	.work-detail-hero__grid {
		display: block;
	}

	.work-detail-hero__content {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: none;
	}

	.work-detail-hero p {
		font-size: clamp(40px, 12vw, 80px);
		max-width: 100%;
		text-align: left;
	}

	.work-detail-text p {
		max-width: 100%;
		text-align: left;
	}

	.work-detail-hero__image {
		top: 96px;
		right: 28px;
		width: 52vw;
		height: 38vh;
		min-width: 0;
		min-height: 260px;
	}

	.work-detail-duo {
		grid-template-columns: 1fr;
	}

	.work-detail-gallery__track {
		padding: 0 28px;
	}

	.work-detail-gallery__item {
		flex-basis: 78vw;
		height: 70vh;
	}
}





/* =========================================================
   MENU EXTRA
========================================================= */
.site-header__menu {
	display: flex;
	align-items: center;
	gap: 72px;
}

.site-header__menu-list {
	display: flex;
	align-items: center;
	gap: 72px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__menu a,
.site-header__search,
.site-header__contact {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	color: currentColor;
	text-decoration: none;
}

.site-header__search {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
}

.site-header__search svg {
	display: block;
	width: 18px;
	height: 18px;
}


/* =========================================================
   CONTACT OVERLAY — BASE / CAMADAS
========================================================= */

.site-contact-overlay {
	position: fixed;
	inset: 0;
	z-index: 10002;
	width: 100%;
	height: 100dvh;
	background: transparent !important;
	color: #000000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transform: none !important;
	will-change: opacity;
}

.site-contact-overlay.is-active {
	pointer-events: auto;
}

.site-contact-overlay__bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: #fff200;
	transform: translate3d(0, -100%, 0);
	will-change: transform;
	pointer-events: none;
}

body.contact-open {
	overflow: hidden;
}

body.contact-open .site-contact-overlay {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	z-index: 10002 !important;
}

body.contact-open header#site-header {
	z-index: 10003 !important;
}

body.contact-open header#site-header .site-header__logo img,
body.contact-closing header#site-header .site-header__logo img {
	opacity: 0 !important;
	filter: brightness(0) !important;
	transition: none !important;
}

body:not(.contact-open):not(.contact-closing) header#site-header .site-header__logo img {
	opacity: 1;
}

body.contact-open header#site-header .site-header__right,
body.contact-open.is-footer-active header#site-header .site-header__right {
	filter: none !important;
	color: #000000 !important;
}

body.contact-open header#site-header .site-header__right a,
body.contact-open header#site-header .site-header__right button {
	color: #000000 !important;
}

/* =========================================================
   CONTACT OVERLAY — LOGO SVG
========================================================= */

.site-contact-overlay__letters {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
}

.site-contact-logo-target {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	visibility: hidden;
}
.site-contact-logo-target {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.site-contact-logo-target__ch {
	visibility: hidden !important;
	opacity: 0 !important;
}

.site-contact-logo-mover {
	opacity: 0;
	visibility: hidden;
}
.site-contact-logo-target__ch,
.site-contact-logo-source__ch,
.site-contact-logo-mover {
	display: block;
	width: auto;
	height: auto;
	filter: brightness(0);
	user-select: none;
	pointer-events: none;
}

/* Tamanho geral das letras finais */
.site-contact-logo-target__ch {
	position: absolute;
	height: clamp(60px, 8vw, 150px) !important;
}

/* R superior esquerdo */
.site-contact-logo-target__ch--r1 {
	left: 25px !important;
	top: 25px !important;
}

/* A superior */
.site-contact-logo-target__ch--a {
	left: 39.5vw !important;
	top: 25px !important;
}

/* R inferior esquerdo */
.site-contact-logo-target__ch--r2 {
	left: 25px !important;
	bottom: 25px !important;
}

/* O inferior */
.site-contact-logo-target__ch--o {
	left: 39.5vw !important;
	bottom: 25px !important;
}

/* Ponto 1 */
.site-contact-logo-target__ch--dot-one {
	height: clamp(14px, 1.35vw, 26px) !important;
	left: 15vw !important;
	top: 33vh !important;
}

/* Ponto 2 */
.site-contact-logo-target__ch--dot-two {
	height: clamp(14px, 1.35vw, 26px) !important;
	left: 33.5vw !important;
	top: 68vh !important;
}

/* Segurança para não colar às extremidades */
.site-contact-logo-target__ch--r1,
.site-contact-logo-target__ch--r2 {
	max-width: calc(50vw - 50px) !important;
}

.site-contact-logo-target__ch--a,
.site-contact-logo-target__ch--o {
	max-width: calc(60vw - 50px) !important;
}

.site-contact-logo-source {
	position: fixed;
	top: 25px;
	left: 25px;
	z-index: -1;
	display: flex;
	align-items: flex-start;
	gap: 2px;
	visibility: hidden;
	pointer-events: none;
}

.site-contact-logo-source__ch {
	height: 22px;
}
/* =========================================================
   CONTACT — CORREÇÃO ORIGEM DOS PONTOS
   Os pontos nascem pequenos junto ao logo, não com altura das letras.
========================================================= */

.site-contact-logo-source__ch--dot,
.site-contact-logo-source__ch--dot-copy {
	height: 2px !important;
	width: 2px !important;
	flex: 0 0 2px !important;
	transform: translate(-1px, 2px) !important;
}

.site-contact-logo-source__ch--dot-copy {
	margin-left: -2px !important;
}

.site-contact-logo-mover--dot {
	width: 2px;
	height: 2px;
}
.site-contact-logo-source__ch--dot {
	transform: translate(0px, -2px);
}

.site-contact-logo-source__ch--dot-copy {
	margin-left: -10px;
}

.site-contact-logo-movers {
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
}

.site-contact-logo-mover {
	position: fixed;
	z-index: 10004;
	opacity: 0;
	visibility: hidden;
	transform-origin: 50% 50%;
	will-change: top, left, width, height, opacity;
	filter: brightness(0);
	pointer-events: none;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	image-rendering: auto;
}

.site-contact-logo-mover--dot {
	transform-origin: 50% 50%;
	width: 4px;
}

/* =========================================================
   CONTACT OVERLAY — CONTENT / FORM
========================================================= */

.site-contact-overlay__content {
	position: absolute;
	z-index: 4;
	right: 16vw;
	top: 38vh;
	width: min(360px, 28vw);
	color: #000000;
	will-change: transform, opacity;
}

.site-contact-overlay__intro {
	margin: 0 0 34px;
}

.site-contact-overlay__intro h2,
.site-contact-overlay__intro p {
	margin: 0;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(24px, 1.9vw, 42px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.06em;
	color: #000000;
}

.site-contact-overlay__form {
	width: 100%;
	margin: 0;
	padding: 0;
}

.site-contact-overlay__field {
	width: 100%;
	margin: 0;
	padding: 0;
	will-change: transform, opacity;
}

.site-contact-overlay__field input,
.site-contact-overlay__field textarea {
	display: block;
	width: 100%;
	height: 26px;
	border: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.18) !important;
	border-radius: 0 !important;
	background: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	color: #000000;
	padding: 0;
	margin: 0;
	resize: none;
	appearance: none;
	-webkit-appearance: none;
}

.site-contact-overlay__field textarea {
	height: 34px;
	padding-top: 8px;
}

.site-contact-overlay__field input::placeholder,
.site-contact-overlay__field textarea::placeholder {
	color: rgba(0, 0, 0, 0.65);
	opacity: 1;
}

.site-contact-overlay__field input:focus,
.site-contact-overlay__field textarea:focus {
	outline: none !important;
	box-shadow: none !important;
	border-bottom-color: rgba(0, 0, 0, 0.55) !important;
}

.site-contact-overlay__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 38px;
	will-change: transform, opacity;
}

.site-contact-overlay__back {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
	color: #000000;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}



/* =========================================================
   CONTACT OVERLAY — MOBILE
========================================================= */

@media (max-width: 768px) {
	.site-contact-overlay {
		height: 100dvh;
	}

	.site-contact-overlay__content {
		right: 28px;
		left: 28px;
		top: 30vh;
		width: auto;
	}

	.site-contact-overlay__intro h2,
	.site-contact-overlay__intro p {
		font-size: clamp(28px, 9vw, 48px);
	}

	.site-contact-logo-target__ch {
		height: clamp(68px, 19vw, 145px) !important;
	}

	.site-contact-logo-target__ch--r1 {
		left: 25px !important;
		top: 70px !important;
	}

	.site-contact-logo-target__ch--a {
		left: 52vw !important;
		top: 70px !important;
	}

	.site-contact-logo-target__ch--r2 {
		left: 25px !important;
		bottom: 25px !important;
	}

	.site-contact-logo-target__ch--o {
		left: 52vw !important;
		bottom: 25px !important;
	}

	.site-contact-logo-target__ch--dot-one {
		height: clamp(16px, 4vw, 30px) !important;
		left: 22vw !important;
		top: 34vh !important;
	}

	.site-contact-logo-target__ch--dot-two {
		height: clamp(16px, 4vw, 30px) !important;
		left: 42vw !important;
		top: 67vh !important;
	}

	.site-contact-logo-source__ch {
		height: 21px;
	}

	.site-contact-overlay__actions {
		margin-top: 34px;
	}
}


/* =========================================================
   CONTACT FORM 7 — INPUTS SEM FUNDO AZUL / ESTILO LIMPO
========================================================= */

.site-contact-overlay__form .wpcf7-form {
	width: 100%;
	margin: 0;
	padding: 0;
}

.site-contact-overlay__form .wpcf7-form p {
	margin: 0;
	padding: 0;
}

.site-contact-overlay__form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.site-contact-overlay__form .site-contact-overlay__field {
	width: 100%;
	margin: 0;
	padding: 0;
}

.site-contact-overlay__form input[type="text"],
.site-contact-overlay__form input[type="email"],
.site-contact-overlay__form input[type="tel"],
.site-contact-overlay__form textarea {
	display: block !important;
	width: 100% !important;
	height: 26px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.18) !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: #000000 !important;
	padding: 0 !important;
	margin: 0 !important;
	resize: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-webkit-text-fill-color: #000000 !important;
	caret-color: #000000 !important;
}

.site-contact-overlay__form textarea {
	height: 34px !important;
	padding-top: 8px !important;
	overflow: hidden !important;
}

.site-contact-overlay__form input[type="text"]::placeholder,
.site-contact-overlay__form input[type="email"]::placeholder,
.site-contact-overlay__form input[type="tel"]::placeholder,
.site-contact-overlay__form textarea::placeholder {
	color: rgba(0, 0, 0, 0.65) !important;
	opacity: 1 !important;
}

.site-contact-overlay__form input[type="text"]:focus,
.site-contact-overlay__form input[type="email"]:focus,
.site-contact-overlay__form input[type="tel"]:focus,
.site-contact-overlay__form textarea:focus {
	outline: none !important;
	box-shadow: none !important;
	border-bottom-color: rgba(0, 0, 0, 0.55) !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* Chrome / Edge / Safari autofill — remove azul/cinzento */
.site-contact-overlay__form input:-webkit-autofill,
.site-contact-overlay__form input:-webkit-autofill:hover,
.site-contact-overlay__form input:-webkit-autofill:focus,
.site-contact-overlay__form input:-webkit-autofill:active,
.site-contact-overlay__form textarea:-webkit-autofill,
.site-contact-overlay__form textarea:-webkit-autofill:hover,
.site-contact-overlay__form textarea:-webkit-autofill:focus,
.site-contact-overlay__form textarea:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 1000px #fff200 inset !important;
	box-shadow: 0 0 0 1000px #fff200 inset !important;
	-webkit-text-fill-color: #000000 !important;
	caret-color: #000000 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.18) !important;
	transition: background-color 9999s ease-in-out 0s !important;
}

/* Firefox autofill */
.site-contact-overlay__form input:autofill,
.site-contact-overlay__form textarea:autofill {
	background: transparent !important;
	background-color: transparent !important;
	color: #000000 !important;
	box-shadow: 0 0 0 1000px #fff200 inset !important;
}

/* Remove highlights internos estranhos */
.site-contact-overlay__form input::selection,
.site-contact-overlay__form textarea::selection {
	background: rgba(0, 0, 0, 0.18);
	color: #000000;
}

/* =========================================================
   CONTACT FORM 7 — MENSAGENS / ERROS
========================================================= */

.site-contact-overlay__form .wpcf7-spinner {
	display: none !important;
}

.site-contact-overlay__form .wpcf7-not-valid-tip {
	margin-top: 4px !important;
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 9px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: #000000 !important;
}

.site-contact-overlay__form .wpcf7-response-output {
	margin: 18px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	color: #000000 !important;
}

/* =========================================================
   CONTACT — BOTÕES
========================================================= */
.section-footer__work-address {
    TEXT-ALIGN: right;
}
.section-footer__work-client {
    text-align: center;
}
.site-contact-overlay__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 38px;
	will-change: transform, opacity;
}

.site-contact-overlay__back {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	color: #000000 !important;
	cursor: pointer;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.site-contact-overlay__back:hover {
	opacity: 0.55;
	transform: translateX(-3px);
}
/* =========================================================
   CONTACT — SUBMIT BUTTON
   Normal: quadrado preto pequeno.
   Hover: fundo cresce para a esquerda, aparece "send".
   Sem ghost/rasto ao sair do hover.
========================================================= */

.site-contact-overlay__submit {
	position: relative !important;

	width: 76px !important;
	height: 32px !important;
	min-width: 76px !important;
	min-height: 32px !important;

	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;

	background: transparent !important;
	color: #ffffff !important;

	display: block !important;

	cursor: pointer !important;
	box-shadow: none !important;
	outline: none !important;

	appearance: none !important;
	-webkit-appearance: none !important;

	overflow: visible !important;
}

/* quadrado/fundo preto */
.site-contact-overlay__submit::before {
	content: "" !important;
	position: absolute !important;
	right: 0 !important;
	top: 50% !important;
	z-index: 1 !important;

	width: 18px !important;
	height: 18px !important;

	background: #000000 !important;

	transform: translateY(-50%) !important;
	transform-origin: right center !important;

	transition:
		width 0.38s cubic-bezier(.16, 1, .3, 1),
		height 0.38s cubic-bezier(.16, 1, .3, 1) !important;
}

/* hover: cresce para a esquerda */
.site-contact-overlay__submit:hover::before {
	width: 76px !important;
	height: 32px !important;
}

/* texto send */
.site-contact-overlay__submit-label {
	position: absolute !important;
	left: 13px !important;
	top: 50% !important;
	z-index: 2 !important;

	transform: translateY(-50%) translateX(6px) !important;

	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: -0.035em !important;

	color: #ffffff !important;

	opacity: 0 !important;
	visibility: hidden !important;

	pointer-events: none !important;
	white-space: nowrap !important;

	transition:
		opacity 0.16s ease,
		visibility 0s linear 0.16s,
		transform 0.34s cubic-bezier(.16, 1, .3, 1) !important;
}

.site-contact-overlay__submit:hover .site-contact-overlay__submit-label {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(-50%) translateX(0) !important;
	transition:
		opacity 0.2s ease 0.08s,
		visibility 0s linear 0s,
		transform 0.34s cubic-bezier(.16, 1, .3, 1) !important;
}

/* cabeça da seta */
.site-contact-overlay__submit-icon {
	position: absolute !important;
	right: 5px !important;
	top: 50% !important;
	z-index: 3 !important;

	width: 8px !important;
	height: 8px !important;

	display: block !important;

	pointer-events: none !important;

	transform: translateY(-50%) rotate(0deg) !important;
	transform-origin: 50% 50% !important;

	transition:
		right 0.38s cubic-bezier(.16, 1, .3, 1),
		transform 0.38s cubic-bezier(.16, 1, .3, 1) !important;
}

.site-contact-overlay__submit-icon::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;

	width: 8px !important;
	height: 2px !important;

	display: block !important;
	background: #ffffff !important;
}

.site-contact-overlay__submit-icon::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;

	width: 2px !important;
	height: 8px !important;

	display: block !important;
	background: #ffffff !important;
}

/* no hover a cabeça roda para parecer seta */
.site-contact-overlay__submit:hover .site-contact-overlay__submit-icon {
	right: 12px !important;
	transform: translateY(-50%) rotate(45deg) !important;
}

/* active */
.site-contact-overlay__submit:active::before {
	width: 72px !important;
	height: 30px !important;
}

.site-contact-overlay__submit:active .site-contact-overlay__submit-icon {
	transform: translateY(-50%) rotate(45deg) scale(0.94) !important;
}

/* focus */
.site-contact-overlay__submit:focus-visible {
	outline: 1px solid rgba(0, 0, 0, 0.45) !important;
	outline-offset: 3px !important;
}

/* enquanto envia */
.site-contact-overlay__form form.submitting .site-contact-overlay__submit,
.site-contact-overlay__form .wpcf7-form.submitting .site-contact-overlay__submit {
	opacity: 0.45 !important;
	pointer-events: none !important;
}
/* =========================================================
   CONTACT — MOBILE
========================================================= */

@media (max-width: 768px) {
	.site-contact-overlay__actions {
		margin-top: 34px;
	}

	.site-contact-logo-movers .site-contact-logo-mover.site-contact-logo-mover--dot{
		display: none !important;
	}
	.site-contact-overlay__form input[type="text"],
	.site-contact-overlay__form input[type="email"],
	.site-contact-overlay__form input[type="tel"],
	.site-contact-overlay__form textarea {
		font-size: 12px !important;
	}
}
.section-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.section-footer__menu li {
	margin: 0;
	padding: 0;
}











/* =========================================================
   HEADER SEARCH — LUPA EXPANDE PARA A ESQUERDA
========================================================= */
/* =========================================================
   HEADER SEARCH — CORRIGIR INVERT QUANDO ABRE NO FOOTER
========================================================= */

body.search-open.is-footer-active header#site-header .site-header__right,
body.search-open.is-footer-active header#site-header .site-header__menu,
body.search-open.is-footer-active header#site-header .site-header__langs,
body.search-open.is-footer-active header#site-header .site-header__contact,
body.search-open.is-footer-active header#site-header .site-header__search-unit {
	filter: none !important;
	color: #000000 !important;
}

body.search-open.is-footer-active header#site-header .site-header__right a,
body.search-open.is-footer-active header#site-header .site-header__right button {
	color: #000000 !important;
}

body.search-open.is-footer-active header#site-header .site-header__logo img {
	filter: brightness(0) !important;
}
.site-header__search-unit {
	position: relative;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	z-index: 10005;
}

.site-header__search-toggle {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 18px;
	height: 18px;
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	color: currentColor;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
}

.site-header__search-toggle svg {
	display: block;
	width: 18px;
	height: 18px;
}

.site-header__search-form {
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 4;
	width: 18px;
	height: 28px;
	transform: translateY(-50%);
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) 22px;
	align-items: center;
	gap: 14px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	color: #000000;
	background: transparent;
	margin: 0;
	padding: 0;
}

.site-header__search-form-icon {
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000000;
	opacity: 0.45;
	flex: 0 0 18px;
}

.site-header__search-form-icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.site-header__search-input {
	display: block;
	width: 100%;
	height: 28px;
	border: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.45) !important;
	border-radius: 0 !important;
	background: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	appearance: none;
	-webkit-appearance: none;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	color: #000000;
	padding: 0;
	margin: 0;
}

.site-header__search-input:focus {
	outline: none !important;
	box-shadow: none !important;
	border-bottom-color: rgba(0, 0, 0, 0.75) !important;
}

.site-header__search-input::-webkit-search-decoration,
.site-header__search-input::-webkit-search-cancel-button,
.site-header__search-input::-webkit-search-results-button,
.site-header__search-input::-webkit-search-results-decoration {
	display: none;
}

.site-header__search-close {
	width: 22px;
	height: 22px;
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 24px;
	font-weight: 300;
	line-height: 1;
	color: #000000;
	cursor: pointer;
	opacity: 0.45;
	box-shadow: none !important;
	appearance: none;
	-webkit-appearance: none;
}

.site-header__search-close:hover {
	opacity: 1;
}

body.search-open .site-header__search-toggle {
	opacity: 0;
	pointer-events: none;
}

body.search-open header#site-header {
	z-index: 10003;
}

body.search-open header#site-header .site-header__logo img {
	filter: brightness(0);
}

body.search-open header#site-header .site-header__right {
	color: #000000;
}

/* =========================================================
   SEARCH OVERLAY — FUNDO BRANCO
========================================================= */

.site-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	width: 100%;
	height: 100dvh;
	background: #ffffff;
	color: #000000;
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
	will-change: opacity;
}

.site-search-overlay.is-active {
	pointer-events: auto;
}

/* =========================================================
   SEARCH RESULTS — RESULTADOS DA PESQUISA EM CIMA
========================================================= */

.site-search-overlay__search-results {
	position: absolute;
	left: 25px;
	right: 25px;
	top: 38vh;
	z-index: 2;
	opacity: 0;
	pointer-events: none;
}

.site-search-overlay__search-results.is-active {
	opacity: 1;
	pointer-events: auto;
}

/* =========================================================
   TOP SEARCH — SEMPRE EM BAIXO
========================================================= */

.site-search-overlay__top-search {
	position: absolute;
	left: 25px;
	right: 25px;
	bottom: 25px;
	z-index: 2;
}

/* =========================================================
   LABELS
========================================================= */

.site-search-overlay__label {
	margin: 0 0 28px;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	color: #000000;
}

/* =========================================================
   RESULTADOS / THUMBNAILS
========================================================= */

.site-search-overlay__results {
	display: flex;
	align-items: flex-end;
	gap: 56px;
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.site-search-overlay__results::-webkit-scrollbar {
	display: none;
}

.site-search-overlay__result {
	display: block;
	flex: 0 0 auto;
	width: 92px;
	height: 120px;
	overflow: hidden;
	background: #f3f3f3;
}

.site-search-overlay__result img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: transform 0.45s cubic-bezier(.2, .8, .2, 1);
}

.site-search-overlay__result:hover img {
	transform: scale(1.06);
}

/* =========================================================
   ESTADOS
========================================================= */

.site-search-overlay__result.is-search-hidden {
	display: none;
}

body.search-open {
	overflow: hidden;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 768px) {
	.site-header__search-form {
		max-width: calc(100vw - 130px);
	}

	.site-search-overlay__search-results {
		top: 28vh;
	}

	.site-search-overlay__results {
		gap: 24px;
	}

	.site-search-overlay__result {
		width: 78px;
		height: 104px;
	}
}









/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width: 1680px) {
	.copy p {
		font-size: 3vw;
	}
}

@media (max-width: 1024px) {
	.home-intro {
		display: block;
	}

	.home-intro__media {
		position: relative;
		right: auto;
		width: 100%;
		height: 60vh;
	}

	.home-intro__content {
		display: block;
		padding: 0;
	}

	.home-intro__title {
		font-size: 14vw;
		white-space: normal;
		margin-bottom: 32px;
	}

	.home-intro__text {
		max-width: none;
	}
}

@media (max-width: 768px) {
	.site-header__inner {
		padding: 28px 28px 0;
	}
	.page-footer-section .section-footer__menu a,
.section-footer__menu a,
.section-footer a,
.section-footer li,
.section-footer p {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12px !important;
	line-height: 14px !important;
	font-weight: 500 !important;
}
	.site-header__right {
    justify-content: end !important;
}
.work-detail-hero__image {
    width: 100vw;
    height: 30vh;
}
.work-detail-dual__text--two {
    font-size: 30px;
    line-height: 1;
}
.home-next__top h2, .home-next__bottom h3 {
    font-size: 8vw !important;
}
.section-footer {
    min-height: 100dvh;
	height: auto !important;
}
.works-card--horizontal {
    flex-basis: 85vw;
}
.works-list__title {
    font-size: 8vw;
}
.section-footer__work-title, .section-footer__work-excerpt {
    font-size: 12px;
}
.section-footer__work-address, .section-footer__work-client{
	display: none;
}
.section-footer__info-col{
	margin-bottom: 15px !important;
}
.section-footer__logo {
    font-size: unset;
}
.home-intro__media {
    height: 40vh;
}
.home-intro {
    display: flex;
    flex-direction: column;
    justify-content: end;
}
.section-footer__info {
    display: block;
    width: 100%;
}
.home-intro__content {
    padding: 25px;
}
.site-header__logo, .site-header__logo img {
    height: 21px;
    z-index: 2222222222222;
}

	.site-header__right {
		gap: 22px;
	}

	.site-header__menu {
		display: none;
	}

	.mtn-stage {
		height: 100dvh;
	}

	.final-logo {
		top: 32px;
		left: 40px;
		height: 30px;
	}

	.final-measure {
		top: 32px;
		left: 40px;
	}

	.copy {
		left: 40px;
		top: calc(32px + 24px + 24px);
		width: calc(100% - 80px);
	}

	.copy p {
		font-size: 6vw;
		line-height: 1.05;
	}

	.mv {
		height: clamp(56px, 18vw, 110px);
	}

	.mv--tl {
		top: 16px;
		left: 16px;
	}

	.mv--tr {
		top: 16px;
		right: 16px;
	}

	.mv--bl {
		bottom: 16px;
		left: 16px;
	}

	.mv--br {
		bottom: 16px;
		right: 16px;
	}

	.mv--dot {
		height: 22px;
		bottom: 20px;
		left: 90px;
	}

	.mtn-after {
		margin-top: -100dvh;
	}



	.home-next__inner {
		padding: 96px 28px 42px;
	}

	.home-next__top {
		top: 96px;
		left: 28px;
		right: 28px;
	}

	.home-next__bottom {
		left: 28px;
		right: 28px;
		bottom: 42px;
	}

	.home-next__top h2,
	.home-next__bottom h3 {
		font-size: clamp(38px, 12vw, 68px);
	}

	.to-top {
		right: -40px;
		bottom: -40px;
	}

	.to-top:hover {
		right: 0;
		bottom: 0;
	}

	.to-top__text {
		font-size: 13px;
	}

	.section-footer .to-top,
	.work-detail-footer-section .to-top {
		right: 0 !important;
		bottom: 0 !important;
		width: 72px !important;
		height: 72px !important;
		pointer-events: auto !important;
	}

	.section-footer .to-top__text,
	.work-detail-footer-section .to-top__text {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
		top: 30px !important;
		left: 8px !important;
		font-size: 9px !important;
		line-height: 1.05 !important;
	}

	.section-footer .to-top__icon,
	.work-detail-footer-section .to-top__icon {
		top: 7px !important;
		left: 7px !important;
		color: rgba(0, 0, 0, 0.55) !important;
		transform: rotate(45deg) !important;
	}

	.section-footer .to-top:hover,
	.work-detail-footer-section .to-top:hover {
		right: 0 !important;
		bottom: 0 !important;
	}

	.section-footer .to-top:hover .to-top__text,
	.work-detail-footer-section .to-top:hover .to-top__text {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}

	.section-footer .to-top:hover .to-top__icon,
	.work-detail-footer-section .to-top:hover .to-top__icon {
		top: 7px !important;
		left: 7px !important;
		color: rgba(0, 0, 0, 0.55) !important;
		transform: rotate(45deg) !important;
	}
}