:root{
  --cream:#F7F2EB;
  --cream-2:#F1EAE0;
  --orange:#FE6C04;
  --orange-dark:#E05F00;
  --dark:#2B2420;
  --taupe:#6B5F57;
  --taupe-light:#8C8078;
  --border:#E4DACB;
  --max:1140px;
  --radius:2px;
  --header-h:76px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Poppins", -apple-system, sans-serif;
  color:var(--dark);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-weight:700;margin:0 0 .5em;letter-spacing:-0.01em;}
h1{font-size:clamp(2.1rem,4.5vw,3.4rem);line-height:1.15;}
h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2;}
h3{font-size:1.15rem;margin-bottom:.4em;}
p{margin:0 0 1em;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

.kicker{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:600;
  color:var(--orange);
  margin:0 0 14px;
}
.kicker-light{color:#FFD9B8;}

.body-text{color:var(--taupe);max-width:56ch;}
.section-intro{max-width:70ch;}

/* Buttons */
.btn{
  display:inline-block;
  padding:14px 30px;
  border-radius:var(--radius);
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.02em;
  border:1.5px solid transparent;
  transition:all .2s ease;
  cursor:pointer;
}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-dark);}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-block{width:100%;text-align:center;border:none;font-family:inherit;font-size:1rem;}
.btn-outline{border-color:var(--orange);color:var(--orange);}
.btn-outline:hover{background:var(--orange);color:#fff;}

/* Header */
.top-fixed{
  position:fixed;top:0;left:0;right:0;
  z-index:100;
}
.promo-bar{
  display:block;
  background:var(--orange);
  color:#fff;
  cursor:pointer;
  transition:background .2s ease;
}
.promo-bar:hover{background:var(--orange-dark);}
.promo-bar-inner{
  display:flex;align-items:center;justify-content:center;gap:12px;
  flex-wrap:wrap;
  padding:10px 24px;
  font-size:.85rem;
  margin:0;
  text-align:center;
}
.promo-bar-icon{width:16px;height:16px;flex-shrink:0;color:#fff;}
.promo-bar-text{color:rgba(255,255,255,.92);}
.promo-bar-text strong{color:#fff;}
.promo-bar-chip{
  background:var(--dark);
  color:var(--cream);
  padding:6px 14px;
  border-radius:999px;
  font-weight:600;
  font-size:.78rem;
  white-space:nowrap;
  transition:background .2s ease;
}
.promo-bar:hover .promo-bar-chip{background:#1C1712;}

.site-header{
  background:rgba(247,242,235,.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:76px;
}
.brand-logo{height:38px;width:auto;}
.nav{display:flex;align-items:center;gap:28px;font-size:.92rem;font-weight:500;}
.nav a{color:var(--dark);opacity:.85;}
.nav a:hover{opacity:1;color:var(--orange);}
.nav-cta{
  background:var(--orange);color:#fff !important;
  padding:10px 20px;border-radius:var(--radius);opacity:1 !important;
}
.nav-cta:hover{background:var(--orange-dark);}
.nav-highlight{
  border:1.5px solid var(--orange);
  color:var(--orange) !important;
  padding:7px 16px;
  border-radius:999px;
  opacity:1 !important;
  font-size:.85rem;
}
.nav-highlight:hover{background:var(--orange);color:#fff !important;}
.nav-highlight-active{background:var(--orange);color:#fff !important;}
.nav-highlight-active:hover{background:var(--orange-dark);}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{width:24px;height:2px;background:var(--dark);display:block;}

/* Hero */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;
  color:#fff;
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(30,20,10,.55) 0%, rgba(20,14,8,.72) 60%, rgba(15,10,6,.85) 100%);
}
.hero-content{position:relative;z-index:2;padding-top:var(--header-h);max-width:760px;}
.hero .lead{font-size:1.15rem;max-width:56ch;color:#EFE7DC;}
.hero-actions{display:flex;gap:16px;margin-top:28px;flex-wrap:wrap;}

/* Sections */
.section{padding:96px 0;scroll-margin-top:var(--header-h);}
.hero{scroll-margin-top:0;}
.section-alt{background:var(--cream-2);}
.section-head{max-width:760px;margin-bottom:48px;}

.sobre-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start;}

/* Cards */
.cards-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.card{
  background:var(--cream);
  border:1px solid var(--border);
  padding:32px 28px;
  border-radius:var(--radius);
}
.icon{width:40px;height:40px;color:var(--orange);margin-bottom:18px;}
.card p{color:var(--taupe);font-size:.94rem;margin:0;}

/* Proprietarios */
.proprietarios-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.proprietarios-img img{border-radius:var(--radius);}
.check-list{list-style:none;padding:0;margin:22px 0 30px;}
.check-list li{
  padding:12px 0 12px 28px;
  border-top:1px solid var(--border);
  position:relative;
  color:var(--taupe);
}
.check-list li:last-child{border-bottom:1px solid var(--border);}
.check-list li::before{
  content:"";
  position:absolute;left:0;top:20px;
  width:9px;height:9px;
  background:var(--orange);
}
.check-list strong{color:var(--dark);}

/* Grupo Fundador (oferta de lançamento) */
.section-launch{
  background:var(--dark);
  color:var(--cream);
}
.launch-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.launch-text{color:#D8CCC1;max-width:50ch;}
.launch-note{
  color:#FFD9B8;
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.02em;
  margin-bottom:22px;
}
.launch-benefits{display:flex;flex-direction:column;gap:20px;}
.launch-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  padding:26px 28px;
}
.launch-number{
  display:block;
  font-weight:700;
  color:var(--orange);
  font-size:.85rem;
  letter-spacing:.1em;
  margin-bottom:10px;
}
.launch-card h3{color:#fff;}
.launch-card p{color:#D8CCC1;margin:0;font-size:.94rem;}

/* Páginas internas (listagem e detalhe de imóvel) */
.section.page-intro{padding-top:calc(var(--header-h) + 56px);}
.back-link{
  display:inline-block;
  color:var(--taupe);
  font-size:.9rem;
  font-weight:500;
  margin-bottom:28px;
}
.back-link:hover{color:var(--orange);}

.properties-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
  gap:32px;
}
.property-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--cream);
  display:flex;
  flex-direction:column;
}
.property-card-media{display:block;aspect-ratio:4/3;overflow:hidden;}
.property-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.property-card:hover .property-card-media img{transform:scale(1.05);}
.property-card-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1;}
.property-card-body h3{margin-bottom:2px;}
.property-location{
  color:var(--orange);
  font-size:.8rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
}
.property-desc{color:var(--taupe);font-size:.92rem;flex:1;}
.property-card .btn{align-self:flex-start;margin-top:8px;}

.property-card-soon{opacity:.7;}
.property-card-media-soon{
  aspect-ratio:4/3;
  background:var(--cream-2);
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px dashed var(--border);
}
.property-card-media-soon span{
  color:var(--taupe-light);
  font-size:.85rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* Hospede-se: galeria por categoria */
.stay-category{margin-top:48px;}
.stay-category:first-of-type{margin-top:40px;}
.stay-category-title{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--taupe);
  font-weight:600;
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.gallery-3{grid-template-columns:repeat(3,1fr);}
.stay-cta{
  margin-top:56px;
  padding-top:40px;
  border-top:1px solid var(--border);
  text-align:center;
}
.stay-cta .body-text{margin:0 auto 20px;text-align:center;}

/* Gallery */
.gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:220px;
  gap:16px;
}
.gallery-item{overflow:hidden;border-radius:var(--radius);}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item.span-2{grid-column:span 2;grid-row:span 2;}

/* Contato */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.contato-info{margin-top:24px;}
.contato-info p{margin:0 0 10px;font-size:.95rem;color:var(--dark);}
.contato-info span{
  display:inline-block;min-width:110px;
  text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;
  color:var(--taupe-light);font-weight:600;
}
.contato-form{
  background:var(--cream-2);
  border:1px solid var(--border);
  padding:32px;
  border-radius:var(--radius);
  display:flex;flex-direction:column;gap:16px;
}
.contato-form label{
  display:flex;flex-direction:column;gap:6px;
  font-size:.85rem;font-weight:500;color:var(--taupe);
}
.contato-form input,.contato-form textarea{
  font-family:inherit;font-size:.95rem;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  color:var(--dark);
  resize:vertical;
}
.contato-form input:focus,.contato-form textarea:focus{outline:2px solid var(--orange);outline-offset:1px;}
.hidden-field{position:absolute;left:-9999px;}

/* Footer */
.site-footer{
  background:var(--dark);
  color:#C9BEB4;
  padding:40px 0;
}
.footer-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.footer-logo{height:28px;filter:brightness(0) invert(1);opacity:.9;}
.footer-inner p{margin:0;font-size:.85rem;}

/* Responsive */
@media (max-width:860px){
  .sobre-grid,.proprietarios-grid,.contato-grid,.launch-grid{grid-template-columns:1fr;}
  .proprietarios-img{order:-1;}
  .cards-grid{grid-template-columns:repeat(2,1fr);}
  .gallery,.gallery-3{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;}
  .gallery-item.span-2{grid-column:span 2;grid-row:span 1;}
  .launch-benefits{margin-top:8px;}
}

@media (max-width:700px){
  .promo-bar-inner{font-size:.76rem;padding:8px 20px;}
  .nav{
    position:fixed;top:var(--header-h);left:0;right:0;
    background:var(--cream);
    flex-direction:column;
    align-items:flex-start;
    padding:20px 24px 28px;
    gap:18px;
    border-bottom:1px solid var(--border);
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:all .2s ease;
    max-height:calc(100vh - var(--header-h));
    overflow-y:auto;
  }
  .nav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nav-toggle{display:flex;}
  .nav-cta{width:100%;text-align:center;}
  .nav-highlight{display:inline-block;text-align:center;}
  .cards-grid{grid-template-columns:1fr;}
}

@media (max-width:480px){
  .section{padding:64px 0;}
  .gallery,.gallery-3{grid-template-columns:1fr;}
  .gallery-item.span-2{grid-column:span 1;}
  .promo-bar-inner{flex-direction:column;gap:4px;}
}
