/**
 * Theme Name: Vog Itapuã
 **/

:root {
    --wrapper: 1740px;
}

@media (max-width: 1780px) {
    :root {
        --wrapper: calc(100vw - 40px);
    }
}

* {
    border: 0;
    margin: 0;
    padding: 0;

    resize: none;
    outline: none;

    box-sizing: border-box;
    background: transparent;
}

a {
    text-decoration: none;
}

img, svg {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

ul, ol, li {
    list-style: none;
}

html, body {
    font-size: 10px;
    overflow-x: hidden;
}

@media (max-width: 1920px) {
    html, body {
        font-size: 8px;
    }
}


/** pswp **/

.pswp img {
    max-height: none;
}

.pswp .pswp__legend,
.pswp .pswp__counter {
    font-size: 1.4rem;
    font-weight: 500;
    font-family: 'Montserrat';
}

.pswp .pswp__legend {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background: rgba(0, 0, 0, .4);
    color: white;
    text-align: center;
    padding: 1rem 20px;
}

.pswp .pswp__legend::after {
    content: 'Imagem meramente ilustrativa';
    display: block;
    font-size: .8em;
    font-weight: 300;
}


/** lenis **/

html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}


/** shared **/

.btn {
    display: inline-block;

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

    padding: 2rem 2.4rem !important;
    border-radius: 1.6rem;

    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.9rem;

    letter-spacing: 0.16em;
    text-transform: uppercase;

    transition: .3s ease-out !important;
}

.flex {
    display: flex;
}

.flex.column {
    flex-direction: column;
}

.flex.al-end {
    align-items: flex-end;
}

.flex.al-start {
    align-items: flex-start;
}

.flex.al-center {
    align-items: center;
}

.flex.jf-end {
    justify-content: flex-end;
}

.flex.jf-start {
    justify-content: flex-start;
}

.flex.jf-center {
    justify-content: center;
}

.flex.jf-between {
    justify-content: space-between;
}

.wrapper {
    width: 100%;
    margin: 0 auto;
    max-width: var(--wrapper);
}

.for-display {
    speak: none;
}

.for-sreader {
    width: 0;
    height: 0;

    font-size: 14px;
    line-height: 14px;
    text-indent: -1400vw;

    overflow: hidden;
}

.editor p:not(:first-child) {
    margin: 1em 0 0;
}

.editor ul,
.editor ol {
    margin: 1rem 0 1rem 1rem;
    list-style: disc;
}

[animate] {
    transition: .6s ease-out;
}

[animate="opacity"] {
    opacity: 0;
}

[animate="opacity"].visible {
    opacity: 1;
}

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


/** note **/

.note {
    color: #FFFFFF;

    font-size: 1.6rem;
    font-weight: 400;
    font-family: 'Montserrat';

    line-height: 150%;
    letter-spacing: 0.01em;

    padding: 1rem;
    position: absolute;
}

.note::after {
    content: 'Imagem meramente ilustrativa';
    display: inline-block;
}

.note.m::after {
    content: 'Imagens meramente ilustrativas';
}


/** site header **/

.site-header {
    z-index: 10;

    width: 100%;
    padding: 4.0rem 9.4rem;
    position: fixed;
    transition: .3s ease-out;

    background: rgba(255,255,255,0);
    box-shadow: 0 .5rem .5rem rgba(0,0,0,0);
}

.site-header .brand {
    width: 19.5rem;
    transition: .3s ease-out;
}

.site-header .navigation {
    font-size: 1.4rem;
    font-weight: 400;
    font-family: 'Montserrat';
}

.site-header .navigation ul {
    gap: 5rem;
}

.site-header .navigation ul a {
    color: #020202;
    padding: 1rem 0;

    text-transform: uppercase;
    letter-spacing: .08em;

    transition: .3s ease-out;
}

.site-header .menu-toggle {
    display: none;
}

.scrolled.site-header {
    padding: 2rem 9.4rem;
    background: rgba(255,255,255,1);
    box-shadow: 0 .5rem .5rem rgba(0,0,0,.2);
}

.scrolled.site-header .brand {
    width: 10.5rem;
}

@media (any-hover: hover) {
    .site-header .navigation ul a:hover {
        color: #004862;
    }
}

@media (max-width: 1920px) {
    .site-header .navigation {
        font-size: 1.6rem;
    }
}

@media (max-width: 1560px) {
    .site-header {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .site-header .navigation {
        width: 38rem;
        z-index: 1;

        top: 0;
        right: 0;
        bottom: 0;
        padding: 20rem 0 0;

        position: fixed;
        background: rgba(255,255,255,1);
        transform: translateX(100%);
        transition: .4s ease-out;
    }

    .site-header .navigation ul {
        flex-direction: column;
    }

    .site-header .menu-toggle {
        width: 5rem;
        display: block;
        position: relative;
        z-index: 2;
    }

    .site-header .menu-toggle div:nth-child(1),
    .site-header .menu-toggle div:nth-child(2),
    .site-header .menu-toggle div:nth-child(3) {
        width: 100%;
        height: 3px;
        margin: 6px 0;
        background: #004862;
        transition: .3s ease-out;
    }

    .menu-visible.site-header .navigation {
        transform: translateX(0%);
        box-shadow: -.5rem 0 .5rem rgba(0,0,0,.2);
    }

    .menu-visible.site-header .menu-toggle div:nth-child(2) {
        opacity: 0;
    }

    .menu-visible.site-header .menu-toggle div:nth-child(1) {
        transform: translateY(9px) rotate(-45deg);
    }

    .menu-visible.site-header .menu-toggle div:nth-child(3) {
        transform: translateY(-9px) rotate(45deg);
    }
}

@media (max-width: 992px) {
    .site-header .brand {
        width: 14.5rem;
    }
}


/** flybutton **/

.flybutton {
    z-index: 10;

    right: 5rem;
    bottom: 5rem;

    width: 10rem;
    height: 10rem;
    position: fixed;

    background: #00B400;
    border-radius: 50%;
    transition: .3s ease-out;

    box-shadow: 0 0 .2rem rgba(0,0,0,.05);
}

.flybutton svg {
    width: 8rem;
}

@media (any-hover: hover) {
    .flybutton:hover {
        transform: scale(1.1);
    }
}

@media (max-width: 992px) {
    .flybutton {
        right: 20px;
        bottom: 20px;
    }
}


/** intro **/

#intro {
    width: 100%;
    height: 100vh;
    position: relative;
}

#intro video {
    inset: 0;
    z-index: 1;

    width: 100%;
    height: 100%;

    position: absolute;
    object-fit: cover;
    pointer-events: none;
}

#intro::after,
#intro::before {
    inset: 0;
    z-index: 2;

    content: '';
    display: block;
    position: absolute;
}

#intro::after {
    background: linear-gradient(164.22deg, #F7EDD9 10.97%, rgba(247, 237, 217, 0) 29.37%);
}

#intro::before {
    background: linear-gradient(90deg, rgba(247, 237, 217, 0) 0%, rgba(247, 237, 217, 0.6) 44.71%);
}

#intro .text {
    width: 31%;
    margin: 9rem 16% 0 0;
    z-index: 3;
    position: relative;
}

#intro .text p {
    color: #793F30;
    margin: 3.2rem 0;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 150%;
    font-family: 'Montserrat';

    text-align: center;
    letter-spacing: 0.01em;
}

#intro .text h2 img {
    width: 130%;
    height: auto;
    margin: 0 0 3.2rem;
    max-width: none;
}

#intro .text h3 {
    color: #793F30;

    font-size: 4.8rem;
    font-style: italic;
    font-weight: 400;
    line-height: 100%;
    font-family: 'Bely';

    text-align: center;
}

#intro .wrapper {
    height: 100%;
}

@media (max-width: 1260px) {
    #intro .text {
        min-width: 45rem;
    }

    #intro .text h2 img {
        min-width: 65rem;
    }
}

@media (max-width: 992px) {
    #intro {
        overflow: hidden;
    }

    #intro::before {
        background: rgba(247,237,217, .6);
    }

    #intro .text {
        width: 100%;
        margin: 18vh auto 0;
        min-width: 0%;
    }

    #intro .text h2 img {
        min-width: 58rem;
    }
}


/** location **/

#location {
    overflow: hidden;
}

#location .phrase {
    height: 16rem;

    overflow: hidden;
    position: relative;

    background: #ECDFCF;
}

#location .phrase::after {
    inset: 0;
    z-index: 1;
    opacity: .5;

    content: '';
    display: block;
    position: absolute;

    background: url(./images/sand.webp);
    background-size: cover;
}

#location .phrase svg {
    z-index: 2;

    top: 0%;
    right: 68%;
    width: auto;
    height: 100%;
    min-width: 32%;

    position: absolute;
    transform: translateX(-15%) rotate(-15deg);
    transition: .6s ease-out;

    object-fit: cover;
    object-position: center right;
}

#location .phrase svg:nth-child(2) {
    left: 68%;
    right: 0%;
    transform: translateX(15%) rotate(15deg);
    object-position: center left;
}

#location .phrase .text {
    width: 32%;
    color: #004862;

    z-index: 2;
    position: relative;

    font-size: 4.8rem;
    font-style: italic;
    font-weight: 400;
    line-height: 100%;
    font-family: 'Bely';

    text-align: center;
}

#location .visible.phrase svg,
#location .visible.phrase svg:nth-child(2) {
    transform: translateX(0%) rotate(0deg);
}


#location .neighborhood .left {
    width: 33.3333%;
    position: relative;
    transform: translateX(-4rem);
}

#location .neighborhood .left img {
    width: calc(100% + (100vw - var(--wrapper)) / 2);
    height: 100%;
    max-width: none;
    object-fit: cover;
}

#location .neighborhood .left .note {
    top: 0;
    left: calc(0rem - (100vw - var(--wrapper)) / 2);
}

#location .neighborhood .right {
    width: 66.6666%;
    padding: 16rem 0 19rem;
    padding-left: 7rem;
    position: relative;
    transform: translateX(4rem);
}

#location .neighborhood .right::after {
    z-index: 1;

    top: 0;
    left: 0;
    bottom: 0;
    width: calc(100% + (100vw - var(--wrapper)) / 2);

    content: '';
    display: block;
    position: absolute;

    background: url(images/bg-neighborhood.webp);
    background-size: cover;
    background-position: center right;
}

#location .neighborhood .right a,
#location .neighborhood .right h2,
#location .neighborhood .right .text {
    z-index: 2;
    position: relative;
    max-width: 50rem;
}

#location .near .right .text,
#location .neighborhood .right .text {
    color: #793F30;
    margin: 3.2rem 0;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 150%;
    font-family: 'Montserrat';

    letter-spacing: 0.01em;
}


#location .neighborhood .left.visible,
#location .neighborhood .right.visible {
    transform: translateX(0rem) !important;
}


#location .near {
    padding: 15rem 0;
    overflow: hidden;
    position: relative;
    background: #FEF1DA;
}

#location .near::after {
    inset: 0;
    z-index: 1;
    opacity: 0.2;

    content: '';
    display: block;
    position: absolute;

    background: url(images/sand.webp);
    background-size: cover;
}

#location .near .left {
    z-index: 2;
    width: calc(58.3333% - 6rem);
    padding: 8rem 1.0rem;
    position: relative;
    transform: translateX(-4rem);
}

#location .near .left a {
    z-index: 2;
    display: block;
    overflow: hidden;
    position: relative;
    border-radius: 3.2rem;
}

#location .near .left a img {
    width: 100%;
    height: auto;
}

#location .near .left svg {
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
}

#location .near .right {
    z-index: 2;
    width: 41.6666%;
    margin: 0 0 0 6rem;
    position: relative;
    transform: translateX(4rem);
}

#location .near .right a,
#location .near .right h2,
#location .near .right .text {
    z-index: 2;
    position: relative;
    max-width: 65rem;
}

#location .near .right h2 {
    max-width: 50rem;
}

#location .near .left.visible,
#location .near .right.visible {
    transform: translateX(0rem) !important;
}


@media (max-width: 1260px) {
    #location .neighborhood .right::after {
        width: calc(130% + (100vw - var(--wrapper)) / 2);
    }
}

@media (max-width: 992px) {
    #location .phrase svg {
        right: 75%;
    }

    #location .phrase svg:nth-child(2) {
        left: 75%;
    }

    #location .phrase .text {
        width: 60%;
        font-size: 3.8rem;
    }

    #location .near .wrapper,
    #location .neighborhood {
        flex-direction: column;
    }

    #location .neighborhood .left,
    #location .neighborhood .right,
    #location .near .left,
    #location .near .right {
        width: 100%;
        transform: translateX(0rem);
    }

    #location .neighborhood .left img {
        width: calc(100% + 40px);
        height: auto;
        margin: 0 -20px;
    }

    #location .near,
    #location .neighborhood .right {
        padding: 8rem 0;
    }

    #location .near .left {
        padding: 4rem 0;
    }

    #location .near .right {
        margin: 0;
        padding-top: 4rem;
    }

    #location .neighborhood .right::after {
        width: 200%;
        left: -20px;
        background: #FFF9EE;
    }

    #location .near .right a,
    #location .near .right .text,
    #location .neighborhood .right a,
    #location .neighborhood .right h2,
    #location .neighborhood .right .text {
        max-width: 100%;
    }
}


/** project **/

#project {
    overflow: hidden;
    position: relative;
    background: #FEF1DA;
}

#project::after {
    inset: 0;
    z-index: 1;
    opacity: 0.2;

    content: '';
    display: block;
    position: absolute;

    background: url(images/sand.webp);
    background-size: cover;
}

#project .line {
    width: 100%;
    height: 14rem;
    background: url(images/bg-project-1.webp);
    background-size: cover;
}

#project .content {
    z-index: 2;
    padding: 13.8rem 0 15.8rem;
    position: relative;
}

#project .content::before {
    inset: 0;
    right: -20%;
    z-index: 1;
    opacity: 0.15;

    content: '';
    display: block;
    position: absolute;

    background: url(images/bg-project-2.webp);
    background-size: cover;
    background-position: center right;

    filter: grayscale(1);
    mix-blend-mode: multiply;
}

#project .content .wrapper {
    z-index: 2;
    position: relative;
}

#project .content .bw,
#project .content h2,
#project .content .text {
    max-width: 81.0rem;
    transform: translateY(4rem);
}

#project .content .bw.visible,
#project .content h2.visible,
#project .content .text.visible {
    transform: translateY(0rem) !important;
}

#project .content .text {
    color: #793F30;
    margin: 3.2rem 0;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 150%;
    font-family: 'Montserrat';

    text-align: center;
    letter-spacing: 0.01em;
}

#project .content .highlights {
    z-index: 2;
    gap: 3.2rem;
    margin: 3.2rem 0 0;
    flex-wrap: wrap;
    position: relative;
}

#project .content .highlights li {
    color: #FFFFFF;

    width: 19.2rem;
    height: 19.2rem;
    padding: 2.4rem;

    background: radial-gradient(81.56% 81.56% at 73.98% 18.44%, rgba(255, 255, 255, 0.2) 0%, rgba(102, 102, 102, 0) 100%), rgba(196, 139, 23, 0.9);
    box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.16);
    border-radius: 900px;

    font-family: 'Montserrat';
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 140%;

    text-align: center;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    transform: translateY(4rem);
}

#project .content .highlights li.visible {
    transform: translateY(0rem) !important;
}

#project .content .highlights li.visible:nth-child(1) { transition-delay: 0.05s }
#project .content .highlights li.visible:nth-child(2) { transition-delay: 0.10s }
#project .content .highlights li.visible:nth-child(3) { transition-delay: 0.15s }
#project .content .highlights li.visible:nth-child(4) { transition-delay: 0.20s }
#project .content .highlights li.visible:nth-child(5) { transition-delay: 0.25s }
#project .content .highlights li.visible:nth-child(6) { transition-delay: 0.30s }
#project .content .highlights li.visible:nth-child(7) { transition-delay: 0.35s }
#project .content .highlights li.visible:nth-child(8) { transition-delay: 0.40s }
#project .content .highlights li.visible:nth-child(9) { transition-delay: 0.45s }
#project .content .highlights li.visible:nth-child(10) { transition-delay: 0.50s }

#project .gallery,
#decorado .gallery {
    z-index: 2;
    flex-wrap: wrap;
    position: relative;
}

#project .gallery .note,
#decorado .note {
    top: 0;
    right: 0;
    z-index: 3;
}

#project .gallery a,
#decorado a {
    width: 25%;
    display: block;
    overflow: hidden;
    position: relative;
}

#decorado a {
    width: 50%;
}

#project .gallery a svg,
#decorado a svg {
    z-index: 2;
    inset: -5%;
    width: 110%;
    height: 110%;
    position: absolute;
    transform: scale(1.5);
    background: rgba(0,72,98, .5);
    max-width: none;
    max-height: none;
}

#project .gallery a img,
#decorado a img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 1 / 1;
}

#project .gallery a .legend,
#decorado a .legend {
    z-index: 3;

    color: #FFFFFF;
    padding: 1.6rem 3.2rem;

    font-family: 'Bely';
    font-style: italic;
    font-weight: 400;
    font-size: 3.2rem;
    line-height: 120%;
    text-align: center;

    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%,-50%);
}

#project .gallery a svg,
#project .gallery a .legend,
#decorado a svg,
#decorado a .legend {
    opacity: 0;
    transition: .4s ease-out;
}

@media (any-hover: hover) {
    #project .gallery a:hover svg,
    #decorado a:hover svg {
        transform: scale(1);
    }

    #project .gallery a:hover svg,
    #project .gallery a:hover .legend,
    #decorado a:hover svg,
    #decorado a:hover .legend {
        opacity: 1;
    }
}

@media (max-width: 992px) {
    #project .content {
        padding: 8.8rem 0 10.8rem;
    }
    #project .content .bw,
    #project .content h2,
    #project .content .text {
        max-width: 100%;
    }

    #project .content h2 {
        min-width: 55rem;
    }

    #project .gallery a {
        width: 33.3333%;
    }
}

@media (max-width: 768px) {
    #project .gallery a {
        width: 50%;
    }
}

@media (max-width: 576px) {
    #project .gallery a,
    #decorado a {
        width: 100%;
    }
}


/** floorplans **/

#floorplans {
    padding: 17rem 0 20rem;
    overflow: hidden;
    position: relative;
    background: #FEF1DA;
}

#floorplans::after {
    inset: 0;
    z-index: 1;
    opacity: 0.2;

    content: '';
    display: block;
    position: absolute;

    background: url(images/sand.webp);
    background-size: cover;
}

#floorplans .line {
    width: 100%;
    height: 7rem;
    background: url(images/bg-project-1.webp);
    background-size: cover;

    position: absolute;
    left: calc(41.6666% + 7rem);
    top: 0;
    transform: rotate(90deg);
    transform-origin: top left;
}

#floorplans .leaf {
    width: 20rem;
    right: 0;
    bottom: 0;
    opacity: 0;
    position: absolute;
    transform: rotate(15deg);
    transition: .3s ease-out;
}

#floorplans.visible .leaf {
    opacity: 1;
    transform: rotate(0deg);
}

#floorplans .left {
    width: 41.6666%;
    z-index: 2;
    position: relative;
}

#floorplans .left h2 {
    width: 26rem;
    margin: 0 0 3.2rem;
}

#floorplans .left button {
    color: #793F30;

    font-size: 3.2rem;
    font-style: italic;
    font-weight: 400;
    line-height: 120%;
    font-family: 'Bely';

    padding: 2.4rem 0;
    min-width: 21.4rem;
    border-bottom: 2px solid #D7D7D7;

    text-align: left;
}

#floorplans .left button.selected {
    color: #C48B17;
    border-bottom-color: #C48B17;
}

#floorplans .right {
    width: 58.3333%;
    display: none;
    z-index: 2;
    position: relative;
}

#floorplans .right.selected {
    display: flex;
}

#floorplans .right a {
    width: 58%;
    display: block;
}

#floorplans .right .data {
    color: #793F30;
    width: 58%;
    margin: 0 0 4rem;

    font-size: 4.8rem;
    font-style: italic;
    font-weight: 400;
    line-height: 45%;
    font-family: 'Bely';
}

#floorplans .right .data h3 {
    font-weight: 400;
}

#floorplans .right .data div {
    text-align: right;
}

#floorplans .right .data small {
    font-size: 3.2rem;
    line-height: 120%;
}


@media (max-width: 992px) {
    #floorplans {
        padding: 14rem 0;
    }

    #floorplans .wrapper {
        display: block;
    }

    #floorplans .left,
    #floorplans .right {
        width: 100%;
    }

    #floorplans .line {
        top: 0;
        left: -20px;
        right: -20px;
        width: calc(100% + 40px);
        margin: 8rem 0;
        position: relative;
        transform: none;
    }

    #floorplans .right .data {
        font-size: 3.8rem;
    }

    #floorplans .right .data,
    #floorplans .right a {
        width: 100%;
    }
}


/** sustainability **/

#sustainability {
    overflow: hidden;
    background: #FFF9EE;
}

#sustainability .left {
    width: 41.6666%;
    position: relative;
    transform: translateX(-4rem);
}

#sustainability .left img {
    width: calc(100% + (100vw - var(--wrapper)) / 2);
    height: 100%;
    max-width: none;
    object-fit: cover;
}

#sustainability .left .badge {
    top: 15rem;
    left: 100%;
    width: 21rem;
    height: auto;
    position: absolute;
    transform: translateX(-50%);
}

#sustainability .left .note {
    left: calc(0rem - (100vw - var(--wrapper)) / 2);
    bottom: 0;
}

#sustainability .right {
    width: 58.3333%;
    padding: 18rem 8.3333%;
    position: relative;
    transform: translateX(4rem);
}

#sustainability .right ul {
    margin: 3.2rem 0;
}

#sustainability .right ul li {
    color: #FFFFFF;

    margin: 0 0 .8rem;
    padding: 1.6rem 2.4rem;

    background: radial-gradient(81.56% 81.56% at 73.98% 18.44%, rgba(255, 255, 255, 0.2) 0%, rgba(102, 102, 102, 0) 100%), rgba(196, 139, 23, 0.9);
    box-shadow: 0 .4rem 1.6rem rgba(0, 0, 0, 0.16);
    border-radius: 90rem;

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 140%;
    font-family: 'Montserrat';

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#sustainability .left.visible,
#sustainability .right.visible {
    transform: translateX(0rem) !important;
}


@media (max-width: 992px) {
    #sustainability .wrapper {
        flex-direction: column;
    }

    #sustainability .left,
    #sustainability .right {
        width: 100%;
        transform: translateX(0rem);
    }

    #sustainability .left img {
        width: calc(100% + 40px);
        height: auto;
        margin: 0 -20px;
    }

    #sustainability .left .note {
        top: 0;
        bottom: auto;
    }

    #sustainability .left .badge {
        top: 100%;
        left: auto;
        right: 15px;
        width: 12rem;
        margin: 0;
        transform: translateY(-50%);
    }

    #sustainability .right {
        padding: 8rem 0;
    }
}


/** progress **/

#progress {
    background: #FFF9EE;
}

#progress .line {
    width: 100%;
    height: 9.5rem;
    background: url(images/bg-project-1.webp);
    background-size: cover;
}

#progress .wrapper {
    padding: 23.6rem 0 22.4rem;
}

#progress .left {
    z-index: 2;
    width: calc(58.3333% - 6rem);
    padding: 8rem 1.0rem;
    position: relative;
    transform: translateX(-4rem);
}

#progress .left img,
#progress .left iframe {
    z-index: 2;
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    position: relative;
    object-fit: contain;
    object-position: center;
    background: black;
    border-radius: 3.2rem;
    aspect-ratio: 16 / 9;
}

#progress .left svg {
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
}

#progress .right {
    z-index: 2;
    width: 41.6666%;
    margin: 0 0 0 6rem;
    padding: 0 6rem 0 0;
    position: relative;
    transform: translateX(4rem);
}

#progress .right h2 {
    color: #793F30;

    font-family: 'Bely';
    font-style: italic;
    font-weight: 400;
    font-size: 4.8rem;
    line-height: 100%;
}

#progress .right h3 {
    display: inline-block;
    margin: 3rem 0 0;
    padding: 1rem;

    color: #FFFFFF;
    background: #793F30;

    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.3rem;
    font-family: 'Montserrat';
    text-transform: uppercase;
}

#progress .right li {
    margin: 3.6rem 0 0;

    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.3rem;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #793F30;
}

#progress .right li .bar {
    margin: 2rem 0 0;
    width: 100%;
    background: #EFD7D1;
}

#progress .right li .bar div {
    height: .8rem;
    background: #C48B17;
    transition: 2s ease-out;
}

#progress .right:not(.visible) li .bar div {
    width: 0% !important;
}

#progress .left.visible,
#progress .right.visible {
    transform: translateX(0rem) !important;
}


@media (max-width: 992px) {
    #progress .wrapper {
        padding: 11.6rem 0 11.6rem;
        flex-direction: column;
    }

    #progress .left,
    #progress .right {
        width: 100%;
        transform: translateX(0rem);
    }

    #progress .left img,
    #progress .left iframe {
        width: calc(100% + 40px);
        height: auto;
        margin: 0 -20px;
    }

    #progress .right {
        margin: 2rem 0 0;
        padding: 0;
    }
}


/** stand **/

#stand .line {
    width: 100%;
    height: 14rem;
    background: url(images/bg-project-1.webp);
    background-size: cover;
}

#stand .bg {
    padding: 29rem 0 25rem;
    background: url(images/bg-stand.webp);
    background-size: cover;
    background-position: center;
}

#stand h2 {
font-family: 'Bely';
font-style: italic;
font-weight: 400;
font-size: 4.8rem;
line-height: 100%;
text-align: center;

color: #C48B17;
margin: 0 0 6.4rem;
}

#stand h3 {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
font-size: 2.6rem;
line-height: 150%;
text-align: center;
color: #004862;
margin: 0 0 6.4rem;
}

#stand h3 svg {
    width: 2.4rem;
    height: 2.4rem;
    margin: 0 .9rem 0 0;
}

#stand a {
    font-weight: 700;
    background: #00B400;
}

#stand a svg {
    width: 4.8rem;
    margin: 0 1.6rem 0 0;
}

@media (max-width: 992px) {
    #stand .bg {
        padding: 14rem 0;
    }

    #stand h2 {
        font-size: 3.8rem;
    }

    #stand h3 {
        font-size: 2rem;
        flex-direction: column;
    }

    #stand h3 svg {
        margin: 0;
    }
}


/** legal **/

#legal {
    position: relative;
    padding: 13rem 0 10rem;
    background: #FFF9EE;
}

#legal::after {
    inset: 0;
    z-index: 1;
    opacity: .5;

    content: '';
    display: block;
    position: absolute;

    background: url(./images/sand.webp);
    background-size: cover;
}

#legal .logos {
    gap: 8rem;
    margin: 0 8.3333%;
    flex-wrap: wrap;
    justify-content: center;
}

#legal .logos img {
    width: calc((100% - 16rem) / 3);
    max-height: 12.5rem;
    object-fit: contain;
    object-position: center;
}

#legal .wrapper {
    z-index: 2;
    position: relative;
}

#legal p {
    margin: 12rem 16.6666% 0;

font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
font-size: 1.4rem;
line-height: 150%;
text-align: center;

color: #004862;
}

@media (max-width: 992px) {
    #legal .logos {
        margin: 0;
    }

    #legal .logos img {
        min-width: 20rem;
    }

    #legal p {
        margin: 12rem 0 0;
    }
}
