html{
    scroll-behavior:smooth;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#000;
    color:#f2f2f2;
    font-family:'Inter', sans-serif;
    line-height:1.7;
}

.hero{
    height:100vh;
    position:relative;
    overflow:hidden;
    z-index:1;
    
}


.hero-video{

      animation:slowZoom 18s ease-in-out infinite alternate;

    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:-2;
}

.hero::after{
     content:"";
         position:absolute;

    left:0;
    bottom:0;

    width:100%;
    height:220px;

    pointer-events:none;

  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.25) 12%,
    rgba(0,0,0,0.55) 28%,
    rgba(0,0,0,0.88) 48%,
    rgba(0,0,0,1) 68%,
    #000 100%
);

    z-index:3;
}

nav{
    position:absolute;
    top:50px;
    left:0;

    width:100%;

    padding:0 80px;

    z-index:10;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}


.logo{
    font-family:'Playfair Display', serif;
     font-size:1.8rem;
    letter-spacing:5px;
    font-weight:500;
}

nav ul{
    display:flex;
    gap:30px;
    list-style:none;

    margin-left:auto;


    text-transform:uppercase;
    font-size:0.92rem;
    letter-spacing:2.5px;
}

nav a{
    color:#f5f1e8;
    text-decoration:none;
    opacity:.8;
    transition:0.3s ease;
}

nav a:hover{
    opacity:1;
}

.hero-content{
    position:relative;
    z-index:2;
    transform:translateY(120px);

    width:100%;
    max-width:650px;

    padding-left:7%;
    padding-top:140px;

    animation:fadeUp 1.2s ease;
}

.tag{
    text-transform:uppercase;
    letter-spacing:4px;
    color:#d6b36a;
    margin-bottom:20px;
}

h1{
    font-family:'Playfair Display', serif;
    font-size:clamp(3.2rem, 8vw, 7rem);
    line-height:0.95;
    letter-spacing:-4px;
    margin-top: 20px;
    margin-bottom:10px;
    animation:fadeUp 1.2s ease;
}

.subtitle{
    margin-top:80px;

    font-size:1.35rem;
    max-width:540px;
    opacity:.9;
    line-height:1.9em;

}

.btn{
    display:inline-block;
    margin-top:45px;
    width:fit-content;
    padding:18px 34px;
    border-radius:999px;
    background:#d6b36a;
    color:#111;
    font-weight:600;
    text-decoration:none;
    transition:0.4s ease;
}

.btn:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.section{
    padding:160px 8%;
}

.dark{
    background:#000;

    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.dark::before{
    content:'';
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:520px;

    z-index:1;
    pointer-events:none;

    background:linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.12) 12%,
    rgba(0,0,0,0.28) 28%,
    rgba(0,0,0,0.52) 48%,
    rgba(0,0,0,0.78) 68%,
    rgba(0,0,0,0.94) 86%,
    #000 100%
);

}

.dark::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;

    width:100%;
    height:520px;

    z-index:1;
    pointer-events:none;

   background:linear-gradient(
    to top,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.12) 12%,
    rgba(0,0,0,0.28) 28%,
    rgba(0,0,0,0.52) 48%,
    rgba(0,0,0,0.78) 68%,
    rgba(0,0,0,0.94) 86%,
    #000 100%
);

}


.container{
    max-width:1200px;
    margin:auto;
    position:relative;
    z-index:3;
}

.two-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}

h2{
    font-family:'Playfair Display', serif;
    font-size:3rem;
    margin-bottom:30px;
}

.center{
    text-align:center;
}

.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
    gap:30px;
    margin-top:60px;
}

.card{
    background:rgba(255,255,255,0.02);
    padding:40px;
    border-radius:20px;
    transition:.3s;
}

.card:hover{
    transform:translateY(-8px);
}

.card h3{
    margin-bottom:20px;
    color:#d6b36a;
}

.image-break{

margin-bottom:-180px;
    
    position:relative;

    isolation:isolate;

    min-height:90vh;

    padding:0;

    z-index:2;

background-image:
linear-gradient(
    to bottom,

    rgba(0,0,0,1) 0%,
    rgba(0,0,0,0.96) 10%,
    rgba(0,0,0,0.82) 22%,
    rgba(0,0,0,0.55) 38%,
    rgba(0,0,0,0.18) 52%,

    rgba(0,0,0,0.18) 68%,
    rgba(0,0,0,0.45) 82%,
    rgba(0,0,0,0.72) 92%,
    rgba(0,0,0,0.92) 97%,
    rgba(0,0,0,1) 100%
),

url("./videos/images/lagoa-hero.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    overflow:visible;

}

#experiences{
    margin-top:-420px;
    padding-top:0;
    position:relative;
    z-index:5;
}

#experiences .container{
    padding-top:420px;
}

.image-break::before{
    content:'';
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:380px;

    pointer-events:none;
    z-index:2;

    background:linear-gradient(
        to bottom,
        #000 0%,
        rgba(0,0,0,0.96) 18%,
        rgba(0,0,0,0.82) 38%,
        rgba(0,0,0,0.55) 58%,
        rgba(0,0,0,0.18) 82%,
        rgba(0,0,0,0) 100%
    );
}

.image-break::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;

    width:100%;
    height:420px;

    pointer-events:none;
    z-index:2;

    background:
    linear-gradient(
        to top,
        #000 0%,
        rgba(0,0,0,0.96) 18%,
        rgba(0,0,0,0.82) 38%,
        rgba(0,0,0,0.55) 58%,
        rgba(0,0,0,0.18) 82%,
        rgba(0,0,0,0) 100%
    );
}

.image-break .texture{
    position:absolute;
    inset:0;

    background-image:
    url("https://www.transparenttextures.com/patterns/asfalt-dark.png");

    opacity:0.08;

    mix-blend-mode:soft-light;

    pointer-events:none;

    z-index:3;
}

.overlay h2{

    font-size:clamp(3rem, 6vw, 5.5rem);

    max-width:900px;

    line-height:1.05;

    letter-spacing:-2px;

    font-family:'Playfair Display', serif;

    text-shadow:0 15px 45px rgba(0,0,0,0.45);

    animation:fadeText 2s ease;

    position:relative;
z-index:2;

}

.gold-section{
    background:#000;
}


.services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:20px;
    margin-top:50px;
}

.section-tag{

    display:block;

    font-size:.85rem;

    letter-spacing:4px;

    margin-bottom:30px;

    color:#d6b36a;

    opacity:.9;
}

.section-header{

    text-align:center;
}

.services-grid div{
    border:1px solid rgba(214,179,106,.3);
    padding:30px;
    border-radius:16px;
    text-align:center;
}

.testimonial{
    text-align:center;
}

blockquote{

    font-family:'Cormorant Garamond', serif;
    font-size:2.4rem;
    max-width:900px;
    margin:auto;
    color:#d6b36a;
}

.contact-section{

    background:#000;
    text-align:center;
}

.contact-box{

    margin-top:40px;
    background:#000;
    padding:40px;
    border-radius:20px;
}

footer{
    padding:40px;
    text-align:center;
    opacity:.7;
}

@media(max-width:900px){



    h1{
        font-size:3.5rem;
        line-height:1.05;
    }

    h2{
        font-size:2.3rem;
    }

    .two-columns{
        grid-template-columns:1fr;
    }

    nav{
        padding:40px 30px;
    }

    nav ul{
        gap:20px;
    }

}

.mobile-hero{
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:-2;
    
}

/* RESPONSIVIDADE */

.mobile-hero{
    display:none;
}

@media(max-width:900px){

    h1{
        font-size:3.5rem;
        line-height:1.05;
    }

    h2{
        font-size:2.3rem;
    }

    .two-columns{
        grid-template-columns:1fr;
    }

    nav{
        padding:40px 30px;
    }

    nav ul{
        gap:20px;
    }

  .overlay h2{

    font-size:clamp(4rem, 7vw, 7rem);

    font-family:'Cormorant Garamond', serif;

    font-weight:600;

    letter-spacing:-3px;

    line-height:0.9;

    text-shadow:0 10px 40px rgba(0,0,0,.45);
}

.process-grid{

    grid-template-columns:1fr;
    gap:100px;
}

.process-number{

    font-size:5rem;
}   

}

@media(max-width:768px){

    .hero-video{
        display:none;
        filter:brightness(.72) saturate(.9);
        transform:scale(1.02);
    }

    .mobile-hero{
        display:block;
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        object-fit:cover;
        z-index:-2;
    }

    nav{
        padding:30px 20px;
    }

    .logo{
        font-size:1.3rem;
        letter-spacing:3px;
    }

    nav ul{
        gap:15px;
        font-size:0.65rem;
    }

    .hero-content{
        padding-top:40px;
        padding-left:20px;
        padding-right:20px;
    }

    h1{
        font-size:4rem;
    }

    .subtitle{
        font-size:1rem;
    }
    }


@keyframes fadeText{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* SCROLL FADE */

.fade-up{

    opacity:0;

    transform:translateY(30px);

    transition:
    opacity 1.2s ease,
    transform 1.2s ease;
}

.fade-up.show{

    opacity:1;

    transform:translateY(0);
}

/* PROCESS SECTION */

.process-section{

    padding:220px 10%;
    background:#000;
    position:relative;
}

.process-grid{

    display:grid;

    grid-template-columns:repeat(2, minmax(420px, 1fr));

    gap:120px 140px;

    margin-top:140px;

    width:100%;

    max-width:1600px;

    margin-left:auto;
    
    margin-right:auto;
}

.process-item p{

    font-size:1.25rem;
    line-height:2;
    color:rgba(255,255,255,.82);
    max-width:520px;
}

.process-item{
    display:flex;
    align-items:flex-start;
    gap:50px;
}

.process-left{

    display:flex;
    align-items:flex-start;
    gap:10px;
}

.process-number{

    font-size:7rem;
    color:#c8a96b;
    opacity:.95;

    line-height:.9;
    min-width:120px;

    font-family:'Cormorant Garamond', serif;
}

.process-line{

    width:1px;
    height:170px;

    background:rgba(214,179,106,.6);

    margin-top:10px;
}

.process-content{

    max-width:500px;
}

.process-item h3{

    font-size:3rem;
    line-height:1.1;
    margin-bottom:30px;
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
}

.process-content p{

    font-size:1.30rem;

    line-height:2;

    color:rgba(255,255,255,.72);
}

.process-intro{

    max-width:850px;

    margin:60px auto 0;

    text-align:center;

    font-size:1.3rem;

    line-height:1.8;

    color:rgba(255,255,255,.7);
}

.section-tag::after{

    content:'';

    display:block;

    width:90px;
    height:1px;

    background:#b89347;

    margin:25px auto 0;
}

.fade-up{

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

    transition:
    opacity 1.2s ease,
    transform 1.2s ease;
}

.fade-up.visible{

    opacity:1;
    transform:translateY(0);
}

.process-section h2{

    font-size:clamp(4rem, 6vw, 6.5rem);

    line-height:.95;

    font-family:'Cormorant Garamond', serif;

    max-width:900px;

    margin:0 auto;
}

/*form section */

.planning-form-section{
    padding:80px 8% 100px;
    margin-top:-40px;
}

select option{
    background:#0a0a0a;
    color:white;
}

.planning-form{
    max-width:900px;
    margin:auto;
}

.form-group{
    display:flex;
    flex-direction:column;
    margin-bottom:40px;
}

.form-group label{
    margin-bottom:14px;
    font-size:.9rem;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#c8a96b;
}

.form-group input,
.form-group select,
.form-group textarea{

    background:transparent;
    border:1px solid rgba(255,255,255,.12);

    padding:22px;

    color:white;

    font-size:1rem;

    border-radius:18px;

    outline:none;

    transition:.4s ease;
}

.form-group textarea{
    min-height:220px;
    resize:none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    border-color:#c8a96b;

    box-shadow:0 0 30px rgba(200,169,107,.08);
}

.gold-button{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:24px 48px;

    border-radius:999px;

    background:#c8a96b;
    color:black;

    font-size:1rem;
    font-weight:600;

    letter-spacing:1px;

    transition:.4s ease;

    cursor:pointer;

    margin-top:40px;
}

.gold-button:hover{

    transform:translateY(-4px);

    box-shadow:
    0 10px 40px rgba(200,169,107,.25);
}

/* HERO FORM PAGE */

.form-hero{
    position:relative;
    min-height:100vh;

    overflow:visible;

    display:flex;
    flex-direction:column;
}

.form-hero .hero-video{
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:0;
}

.hero-overlay{
    position:absolute;
    inset:0;

    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.35),
        rgba(0,0,0,.55),
        #000
    );

    z-index:1;
}

.form-hero nav{
    position:absolute;
    top:50px;
    left:0;

    width:100%;

    padding:0 80px;

    z-index:10;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.form-hero nav ul{
    list-style:none;
}

.form-hero nav a{
    color:white;
    text-decoration:none;

    font-size:.9rem;
    letter-spacing:2px;
    text-transform:uppercase;

    opacity:.8;
    transition:.3s;
}

.form-hero nav a:hover{
    opacity:1;
    color:#c8a96b;
}

.form-hero-content{
    position:relative;
    z-index:3;

    max-width:900px;

    margin:auto;

    padding-top:180px;
    padding-left:20px;
    padding-right:20px;

    text-align:center;

    color:white;
}

.form-hero-content .mini-label{
    color:#c8a96b;

    letter-spacing:4px;
    text-transform:uppercase;
    font-size:.8rem;
}

.form-hero-content h1{
    font-size:clamp(4rem, 7vw, 7rem);

    line-height:.95;

    margin-top:25px;
    margin-bottom:35px;
}

.form-hero-content p{
    max-width:700px;

    margin:auto;

    font-size:1.15rem;
    line-height:1.9;

    color:rgba(255,255,255,.78);
}

.checkbox-group{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:20px;
}

.checkbox-item{
    display:flex;
    align-items:center;
    gap:10px;

    border:1px solid rgba(255,255,255,.12);

    padding:14px 18px;

    border-radius:100px;

    cursor:pointer;

    transition:.3s;

    color:white;

    font-size:.95rem;
}

.checkbox-item:hover{
    border-color:#c8a96b;
    background:rgba(255,255,255,.03);
}

.checkbox-item input{
    accent-color:#c8a96b;

    width:16px;
    height:16px;
}