* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style-type: none;
}
html {
    overflow-x: hidden !important;
    transition: scroll-behavior 1.5s ease-in-out !important;
}
body {
    background-color: #f0eceb;
}
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
}
::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}
::-webkit-scrollbar-thumb {
    background: #b3afb3;
    border-radius: 30px;
}
::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 0;
    -webkit-box-shadow: inset 0 0 0 0 #f0f0f0;
    box-shadow: inset 0 0 0 0 #f0f0f0;
}
@font-face {
    font-family: Montserrat-bold;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/Montserrat-Bold.ttf);
}
@font-face {
    font-family: Montserrat-medium;
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/Montserrat-Medium.ttf);
}
@font-face {
    font-family: Montserrat-regular;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Montserrat-Regular.ttf);
}
@font-face {
    font-family: Montserrat-light;
    font-style: normal;
    font-weight: 200;
    src: url(../fonts/Montserrat-Light.ttf);
}
@font-face {
    font-family: Montserrat-thin;
    font-style: normal;
    font-weight: 100;
    src: url(../fonts/Montserrat-Thin.ttf);
}
.bold,
.light,
.medium,
.regular,
.thin {
    font-family: Montserrat, sans-serif;
}
.thin {
    font-family: Montserrat-thin;
    font-weight: 100 !important;
}
.light {
    font-family: Montserrat-light !important;
    font-weight: 300 !important;
}
.regular {
    font-family: Montserrat-regular !important;
    font-weight: 400 !important;
}
.medium {
    font-family: Montserrat-medium !important;
    font-weight: 500 !important;
}
.bold {
    font-family: Montserrat-bold !important;
    font-weight: 700 !important;
}
.white {
    color: #fff;
}
.grey {
    color: #959595;
}
.black {
    color: #000;
}
.uppercase {
    text-transform: uppercase;
}
.txt-center {
    text-align: center;
}
.ls-3r {
    letter-spacing: 0.3rem;
}
.ls-125r {
    letter-spacing: 0.125rem;
}
.fs-64 {
    font-size: 64px;
}
.fs-48 {
    font-size: 46px;
}
.fs-42 {
    font-size: 38px;
}
.fs-40 {
    font-size: 40px;
}
.fs-32 {
    font-size: 32px;
}
.fs-21 {
    font-size: 21px;
}
.fs-18 {
    font-size: 18px;
}
.fs-16 {
    font-size: 16px;
}
.fs-15 {
    font-size: 15px;
}
.fs-14 {
    font-size: 14px;
}
#subtitle {
        width: min(60ch, 90%);
}
.container {
    width: 100vw;
    padding: 45px 105px;
    margin: 0 auto;
    box-sizing: border-box;
}
.title {
    padding: 90px 0;
}
.scrolldown-btn-container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: start !important;
    height: 22px;
    overflow: hidden;
}
section .scrolldown-btn-container {
    margin: 32px auto;
    max-width: 200px;
}
#btn-open-nav,
header .logo-container,
header .scrolldown-btn-container {
    pointer-events: auto !important;
}
.scrolldown-btn-container .hover-btn,
.scrolldown-btn-container a {
    transition: 250ms ease-in-out;
}
.scrolldown-btn-container:hover .hover-btn,
.scrolldown-btn-container:hover a {
    transform: translateY(-100%);
    opacity: 0.95;
}
.bg-start {
    background-position: 0 center !important;
}
.hover-btn {
    cursor: pointer;
    transition: 250ms ease-in-out;
    transform-origin: center !important;
}
.hover-btn:hover {
    opacity: 0.5;
    transform: scale(1.1);
}
.redes-sociais {
    display: flex;
    flex-direction: row !important;
    gap: 32px;
}
.redes-sociais .scrolldown-btn-container {
    transition: 250ms ease-in-out;
    transform: translateY(0);
    opacity: 1;
    margin: 0;
}
.redes-sociais .scrolldown-btn-container:nth-child(2) {
    transition-delay: 50ms !important;
}
.redes-sociais .scrolldown-btn-container:nth-child(3) {
    transition-delay: 0.1s !important;
}
.redes-sociais .scrolldown-btn-container:nth-child(4) {
    transition-delay: 150ms !important;
}
.redes-sociais .scrolldown-btn-container.hidden {
    transform: translateY(100%);
    opacity: 0;
}
.line-anim {
    position: relative;
    transition: 250ms ease-in-out;
}
.line-anim:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -8px;
    width: 100%;
    height: 3px;
    background-color: #000;
    opacity: 0.8;
    transform: scaleX(0);
    transition: 0.5s ease-in-out;
    transform-origin: left;
}
.line-anim:hover {
    opacity: 0.7;
}
.line-anim:hover:after {
    transform: scaleX(1);
}
.menu-window,
.menu-window nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.menu-window {
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-color: #f0eceb;
    z-index: 999 !important;
    transition: 450ms ease-in-out;
    transform: translateY(-100%);
}
.menu-window nav {
    gap: 32px;
}
#close-window {
    position: absolute;
    width: 32px;
    left: 0;
    right: 0;
    top: 45px;
    margin: 0 auto;
}
#close-window img {
    width: 100%;
    object-fit: contain;
}
.menu-window.open {
    transform: translateY(0);
}
#cookie-window,
#cookie-window .group-btn,
.cookie-container {
    display: flex;
    justify-content: center;
    align-items: center !important;
}
#cookie-window .group-btn,
.cookie-container {
    flex-direction: column;
}
#cookie-window {
    position: fixed;
    inset: 0;
    margin: auto !important;
    z-index: 999999 !important;
    background-color: rgba(0, 0, 0, 0.5);
    transition: 0.8s ease-in-out;
}
.cookie-container {
    min-width: 300px;
    max-width: 600px;
    background-color: #fff;
    margin: auto;
    padding: 64px;
    gap: 32px;
    transition: 0.8s ease-in-out;
}
#cookie-window .group-btn {
    gap: 32px;
    margin-top: 32px;
}
.decline-cookie-btn {
    opacity: 0.5;
}
.accept-cookie-btn span {
    color: #7c6a54;
}
#cookie-window p span a {
    color: #00f;
}
#cookie-window.close {
    opacity: 0;
    pointer-events: none !important;
}
#cookie-window.close .cookie-container {
    transform: translateY(-100%);
}

.video-content {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}

.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 960px; /* Bigger width */
  aspect-ratio: 16 / 9; /* Keeps it perfectly proportional */
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


header {
    width: 100vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    z-index: 99 !important;
    pointer-events: none;
}
#btn-open-nav,
header .logo-container,
header .scrolldown-btn-container,
header a {
    width: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}
header .logo-container {
    width: 100px;
    display: flex;
    justify-content: start !important;
    align-items: center;
}
header a {
    justify-content: end !important;
}
header .head-container {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}
header .head-container .logo,
header .menu,
header a {
    transition: 0.5s ease-in-out;
}
header .head-container .logo,
header .menu {
    width: 32px;
    aspect-ratio: 1/1;
    background-image: url(../images/logolight.svg);
    background-repeat: no-repeat;
    background-position: 0;
    background-size: contain;
    object-fit: contain;
}
header .menu {
    width: 52px;
    background-image: url(../images/menu.png);
}
header .head-container.dark .logo {
    background-image: url(../images/logo-dark.svg);
    width: 32px;
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-position: 0;
    background-size: contain;
    object-fit: contain;
}
header .head-container.dark .menu {
    background-image: url(../images/menu-dark.png);
}
header .head-container.dark a {
    color: #000;
}
.footer-window {
    width: 100vw;
    position: fixed;
    bottom: 64px;
    z-index: 99 !important;
    transform: translateY(100%);
    transition: 250ms ease-in-out;
    opacity: 0;
    pointer-events: none !important;
}
.footer-window.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: initial !important;
}
.footer-window .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0;
    padding-bottom: 0;
}
#fluidTool {
    width: 80%;
    max-width: 1368px;
    aspect-ratio: 1/0.54;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}
.fluid-tool-item {
    background-size: cover;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-comp-container {
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #000;
}
.img-comp-img {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-right: 1px solid #efefef;
}
.img-comp-img img {
    width: 100vw;
    height: 100%;
    display: block;
    float: left;
    left: 0;
    object-fit: cover;
    object-position: center;
}
.img-comp-slider {
    position: absolute;
    z-index: 9;
    cursor: ew-resize;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #efefef;
    border: 2px solid #efefef;
}
.fluid-tool .fluid-tool-item {
    display: flex;
    visibility: hidden;
    background-size: cover;
    position: relative;
    width: 100%;
    height: 100%;
    grid-row-start: 1;
    grid-column-start: 1;
    background-position: center;
    margin-left: -100%;
}
.fluid-tool-item.active {
    visibility: visible;
}
.fluid-tool {
    height: 100%;
    width: 100%;
    margin-bottom: 30px;
    display: flex;
    flex-flow: row nowrap;
}
.fluid-tool-overlay {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    display: flex;
    text-align: center;
    justify-content: center;
    text-align: center;
    align-items: center;
    flex: none;
    z-index: 9999;
    user-select: none;
}
.fluid-tool-overlay img {
    width: 150px;
}
.whatsapp-btn {
  position: fixed;
  bottom: 40px;
  right: 10px;
  z-index: 9999;
  border-radius: 50%;
  padding: 10px;
  transition: 250ms ease-in-out;
}

.hidden {
  opacity: 0;
  pointer-events: none;
}

.hover-btn {
  cursor: pointer;
  transform-origin: center center !important;
}

.hover-btn:hover {
  transform: scale(1.1);
}

@media screen and (max-width: 1920px) {
    .container {
        padding: 2.34vw 5.46vw;
    }
}
@media screen and (max-width: 1280px) {
    .scrolldown-btn-container .hover-btn:last-child,
    .scrolldown-btn-container a:last-child {
        display: none !important;
    }
    .scrolldown-btn-container {
        transform: translateY(0) !important;
    }
}
@media screen and (max-width: 992px) {
    .container {
        padding: 64px 5.46vw;
    }
    #close-window {
        top: 64px;
        right: 64px;
        left: initial !important;
    }
}
@media screen and (max-width: 768px) {
    .container {
        padding: 64px 32px;
    }
    header .scrolldown-btn-container {
        display: none !important;
    }

    #backtotop {
        display: none;  
    }

    #btn-open-nav {
        justify-content: end !important;
    }
    .cookie-container {
        margin: auto 5vw !important;
        padding: 64px 32px !important;
    }
    .cookie-container img {
        width: 50%;
        max-width: 380px;
        min-width: 200px;
        object-fit: contain;
    }
    footer {
        padding-bottom: 128px;
    }
}
@media screen and (max-width: 564px) {
    .fs-48 {
        font-size: 7.17vw;
    }
    .fs-32 {
        font-size: 6.15vw;
    }
    .fs-21 {
        font-size: 4.03vw;
    }
    .fs-18 {
        font-size: 3.84vw;
    }
    .fs-16 {
        font-size: 3.58vw;
    }
    .fs-14 {
        font-size: 3.07vw;
    }
    .redes-sociais {
        gap: 12px;
    }
    .redes-sociais .scrolldown-btn-container {
        height: initial !important;
    }
    .redes-sociais .fs-16 {
        font-size: 3vw;
    }
}
@media screen and (max-width: 468px) {
    .scrolldown-btn-container,
    .scrolldown-btn-container .hover-btn,
    .scrolldown-btn-container a {
        z-index: 99 !important;
    }
    .scrolldown-btn-container:hover a {
        transform: initial !important;
        opacity: initial !important;
    }
}
