:root{
    --navy:#0B2545;
    --gold:#B08D57;
    --gray:#F4F4F4;
    --black:#1A1A1A;
    --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Segoe UI', Arial, sans-serif; color:var(--black); line-height:1.6; background:var(--white);}
h1,h2,h3{font-family:Georgia, 'Times New Roman', serif; color:var(--navy);}
a{text-decoration:none;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}

header{position:sticky; top:0; background:var(--white); box-shadow:0 2px 10px rgba(0,0,0,0.08); z-index:100;}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1180px; margin:0 auto;}
.logo{font-family:Georgia, serif; font-weight:bold; font-size:22px; color:var(--navy); letter-spacing:1px;}
.logo span{display:block; font-size:11px; font-weight:normal; color:var(--gold); letter-spacing:3px; font-family:Arial, sans-serif;}
nav{display:flex; gap:20px; align-items:center; flex-wrap:wrap;}
nav a{color:var(--black); font-size:14px; font-weight:500;}
nav a:hover{color:var(--navy);}
.btn-header{background:var(--navy); color:var(--white)!important; padding:10px 18px; border-radius:4px; font-size:14px;}

.page-hero{
    background:linear-gradient(180deg, rgba(11,37,69,0.55), rgba(11,37,69,0.85)), linear-gradient(120deg,#0B2545 0%, #1c3d68 45%, #B08D57 100%);
    color:var(--white);
    padding:80px 24px 70px;
    text-align:center;
}
.page-hero small{letter-spacing:3px; font-size:13px; color:#e6c98a;}
.page-hero h1{color:var(--white); font-size:36px; margin:12px 0 10px;}
.page-hero p{max-width:700px; margin:0 auto; font-size:17px; color:#f0f2f5;}

section{padding:60px 24px;}
.section-title{font-size:28px; text-align:center; margin-bottom:12px;}
.section-sub{text-align:center; max-width:760px; margin:0 auto 40px; color:#444; font-size:15px;}

.intro-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1180px; margin:0 auto;}
.intro-grid.grid-2{grid-template-columns:repeat(2,1fr);}
.intro-grid.grid-4{grid-template-columns:repeat(4,1fr);}
.intro-card{background:var(--gray); padding:28px; border-radius:6px; border-top:3px solid var(--navy);}
.intro-card h3{font-size:18px; margin-bottom:10px;}
.intro-card p{font-size:14px; color:#333;}

.cities{display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:40px;}
.city-pill{background:var(--navy); color:var(--white); padding:8px 18px; border-radius:20px; font-size:13px; letter-spacing:1px;}

.hero-buttons{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.btn-primary{background:var(--gold); color:var(--navy); padding:14px 28px; border-radius:4px; font-weight:bold; font-size:15px; display:inline-block;}
.btn-secondary{background:transparent; color:var(--white); border:1px solid var(--white); padding:14px 28px; border-radius:4px; font-weight:bold; font-size:15px; display:inline-block;}
.btn-outline-navy{background:transparent; color:var(--navy); border:1px solid var(--navy); padding:12px 24px; border-radius:4px; font-weight:bold; font-size:14px; display:inline-block;}

.cta-band{background:var(--navy); color:var(--white); text-align:center; padding:60px 24px;}
.cta-band h2{color:var(--white);}
.cta-band p{max-width:600px; margin:12px auto 26px; color:#dbe1ea;}

.checklist{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; max-width:900px; margin:0 auto;}
.checklist li{padding-left:26px; position:relative; font-size:15px; color:#333;}
.checklist li:before{content:"\2713"; position:absolute; left:0; color:var(--gold); font-weight:bold;}

.steps{max-width:820px; margin:0 auto; counter-reset:step;}
.step{display:flex; gap:20px; margin-bottom:32px; align-items:flex-start;}
.step-num{flex:0 0 44px; height:44px; border-radius:50%; background:var(--navy); color:var(--white); display:flex; align-items:center; justify-content:center; font-weight:bold; font-family:Georgia,serif; font-size:18px;}
.step-text h3{font-size:17px; margin-bottom:4px;}
.step-text p{font-size:14px; color:#444;}

.city-block{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; max-width:1100px; margin:0 auto 60px; background:var(--gray); border-radius:8px; overflow:hidden;}
.city-block .city-img{background:linear-gradient(135deg,var(--navy),#1c3d68); min-height:220px; display:flex; align-items:center; justify-content:center; color:#e6c98a; font-family:Georgia,serif; font-size:20px; letter-spacing:2px;}
.city-block .city-info{padding:30px 34px 30px 0;}
.city-block.reverse{direction:rtl;}
.city-block.reverse .city-info{direction:ltr; padding:30px 0 30px 34px;}

.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1180px; margin:0 auto;}
.gallery-item{background:linear-gradient(135deg,#0B2545,#1c3d68); border-radius:6px; min-height:180px; display:flex; align-items:center; justify-content:center; color:#e6c98a; font-size:13px; text-align:center; padding:14px; letter-spacing:1px;}
.gallery-caption{font-size:12px; color:#666; text-align:center; margin-top:8px;}

.testimonial-card{background:var(--gray); border-left:4px solid var(--gold); padding:24px; border-radius:4px; max-width:820px; margin:0 auto 24px;}
.testimonial-card p{font-style:italic; color:#333; margin-bottom:10px;}
.testimonial-card span{font-size:13px; color:var(--navy); font-weight:bold;}
.testimonial-pending{border:1px dashed #ccc; background:#fafafa; text-align:center; color:#777; padding:30px; border-radius:6px; max-width:820px; margin:0 auto;}

form{max-width:820px; margin:0 auto; background:var(--gray); padding:36px; border-radius:8px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.form-group{display:flex; flex-direction:column; margin-bottom:16px;}
.form-group.full{grid-column:1/-1;}
label{font-size:13px; font-weight:600; color:var(--navy); margin-bottom:6px;}
input, select, textarea{padding:11px 12px; border:1px solid #ccc; border-radius:4px; font-size:14px; font-family:inherit; background:var(--white);}
textarea{resize:vertical; min-height:90px;}
.checkbox-row{display:flex; align-items:flex-start; gap:10px; margin:16px 0; font-size:13px; color:#333;}
.checkbox-row input{width:auto; margin-top:3px;}
.form-note{font-size:12px; color:#666; margin-top:10px;}
button.submit-btn{background:var(--navy); color:var(--white); border:none; padding:14px 30px; border-radius:4px; font-weight:bold; font-size:15px; cursor:pointer; width:100%;}
button.submit-btn:hover{background:#123a68;}

.faq-item{max-width:860px; margin:0 auto 14px; border:1px solid #e2e2e2; border-radius:6px; overflow:hidden;}
.faq-item summary{padding:18px 22px; font-weight:bold; color:var(--navy); cursor:pointer; list-style:none; font-size:15px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:after{content:"+"; float:right; font-size:20px; color:var(--gold);}
.faq-item[open] summary:after{content:"\2212";}
.faq-item p{padding:0 22px 20px; color:#444; font-size:14px;}

.info-table{width:100%; max-width:900px; margin:0 auto; border-collapse:collapse;}
.info-table th, .info-table td{padding:12px 16px; border-bottom:1px solid #e2e2e2; text-align:left; font-size:14px;}
.info-table th{color:var(--navy); font-family:Georgia,serif;}

.hero-note{text-align:center; margin-top:18px; font-size:13px; color:#dbe1ea;}

footer{background:#0a1c33; color:#cfd6e0; padding:50px 24px 24px; font-size:13px;}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:30px; max-width:1180px; margin:0 auto 30px;}
footer h4{color:var(--white); font-size:14px; margin-bottom:12px;}
footer a{display:block; color:#cfd6e0; margin-bottom:8px; font-size:13px;}
.footer-bottom{max-width:1180px; margin:0 auto; border-top:1px solid #24334d; padding-top:20px; color:#8b97a8; font-size:12px; text-align:center;}

.whatsapp-float{position:fixed; bottom:24px; right:24px; width:56px; height:56px; background:#25D366; color:white; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 4px 14px rgba(0,0,0,0.3); z-index:200;}

@media (max-width:900px){
    nav{display:none;}
    .intro-grid, .intro-grid.grid-2, .intro-grid.grid-4{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .page-hero h1{font-size:28px;}
    .checklist{grid-template-columns:1fr;}
    .city-block, .city-block.reverse{grid-template-columns:1fr; direction:ltr;}
    .city-block .city-info, .city-block.reverse .city-info{padding:24px;}
    .gallery-grid{grid-template-columns:1fr 1fr;}
    .form-row{grid-template-columns:1fr;}
}

         .hero-photo{position:relative; width:100%; aspect-ratio:1536/1024; overflow:hidden; background:linear-gradient(135deg,var(--navy),#1c3d68);}
.hero-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-photo-cta{position:absolute; left:9%; top:73%; width:24%; height:9%; display:block;}
.hero-photo-cta:focus{outline:3px solid var(--gold); outline-offset:2px;}
@media (max-width:900px){
        .hero-photo-cta{left:6%; top:70%; width:45%; height:6%;}
}

.cadastro-hero-photo{width:100%; overflow:hidden; line-height:0;}
.cadastro-hero-photo img{width:100%; height:auto; display:block;}

.imoveis-hero-photo{width:100%; overflow:hidden; line-height:0;}
.imoveis-hero-photo img{width:100%; height:auto; display:block;}

.contato-hero-photo{width:100%; overflow:hidden; line-height:0;}
.contato-hero-photo img{width:100%; height:auto; display:block;}

.sobre-hero-photo{width:100%; overflow:hidden; line-height:0;}
.sobre-hero-photo img{width:100%; height:auto; display:block;}

.onde-atuamos-hero-photo{width:100%; overflow:hidden; line-height:0;}
.onde-atuamos-hero-photo img{width:100%; height:auto; display:block;}

.city-block .city-img{padding:0;}
.city-block .city-img img{width:100%; height:100%; min-height:220px; object-fit:cover; display:block;}


.como-funciona-hero-photo{width:100%; overflow:hidden; line-height:0;}
.como-funciona-hero-photo img{width:100%; height:auto; display:block;}


.proprietarios-hero-photo{width:100%; overflow:hidden; line-height:0;}
.proprietarios-hero-photo img{width:100%; height:auto; display:block;}


.gallery-item:has(img){flex-direction:column; padding:0; overflow:hidden;}
.gallery-item img{width:100%; height:180px; object-fit:cover; display:block; border-radius:6px 6px 0 0;}
.gallery-item-label{display:block; width:100%; padding:10px 8px; background:linear-gradient(135deg,#0B2545,#1c3d68); color:#e6c98a; font-size:13px; text-align:center; letter-spacing:1px;}
