/* =========================================
   Hybrid Marketing Imobiliário — style.css
   Paleta: verde-petróleo, dourado, marfim
========================================= */

:root{
  --color-bg: #F7F3EA;
  --color-bg-alt: #FFFFFF;
  --color-dark: #1C2B22;
  --color-dark-2: #15171A;
  --color-gold: #9A8048;
  --color-gold-light: #C9BBA0;
  --color-text: #20231f;
  --color-text-muted: #5b5a52;
  --color-border: rgba(28,43,34,0.12);

  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Inter', -apple-system, Segoe UI, sans-serif;

  --radius: 4px;
  --max-width: 1180px;
}

*{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img{ max-width:100%; display:block; }

a{ color:inherit; text-decoration:none; }

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

h1,h2,h3{
  font-family: var(--font-serif);
  color: var(--color-dark);
  font-weight: 600;
  line-height: 1.15;
}

.eyebrow{
  font-size: 13px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--color-gold);
  font-weight: 600;
  margin-bottom: 14px;
}
.eyebrow--center{ text-align:center; }

/* ---------- Header ---------- */
.header{
  position: fixed;
  top:0; left:0; right:0;
  background: rgba(247,243,234,0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-border);
  z-index: 100;
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height: 76px;
}
.logo{ display:flex; align-items:center; gap:10px; }
.logo__mark{
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  color: var(--color-dark);
}
.logo__mark svg{ width:24px; height:24px; }
.logo__text{
  font-family: var(--font-serif);
  font-size:18px;
  letter-spacing: 3px;
  color: var(--color-dark);
  font-weight:600;
}

.nav{ display:flex; align-items:center; gap:36px; }
.nav a{
  font-size:14px;
  font-weight:500;
  color: var(--color-text);
  transition: color .2s;
}
.nav a:hover{ color: var(--color-gold); }
.nav__cta{
  background: var(--color-dark);
  color: #fff !important;
  padding: 10px 22px;
  border-radius: var(--radius);
  transition: background .2s;
}
.nav__cta:hover{ background: var(--color-gold); }

.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(--color-dark);
}

/* ---------- Hero ---------- */
.hero{
  padding: 170px 0 90px;
  background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 100%);
}
.hero__inner{ max-width: 820px; }
.hero h1{
  font-size: clamp(34px, 5vw, 56px);
  margin-bottom: 22px;
}
.hero__accent{ color: var(--color-gold); }
.hero__sub{
  font-size: 18px;
  color: var(--color-text-muted);
  max-width: 620px;
  margin-bottom: 36px;
}
.hero__actions{ display:flex; gap:16px; flex-wrap:wrap; }

.btn{
  display:inline-block;
  padding: 15px 30px;
  border-radius: var(--radius);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .3px;
  border: 1.5px solid transparent;
  cursor:pointer;
  transition: all .25s ease;
}
.btn--primary{
  background: var(--color-dark);
  color: #fff;
}
.btn--primary:hover{
  background: var(--color-gold);
}
.btn--ghost{
  border-color: var(--color-dark);
  color: var(--color-dark);
}
.btn--ghost:hover{
  background: var(--color-dark);
  color:#fff;
}
.btn--full{ width:100%; text-align:center; }

/* ---------- Marquee ---------- */
.marquee{
  background: var(--color-dark);
  overflow:hidden;
  padding: 18px 0;
}
.marquee__track{
  display:flex;
  gap:60px;
  white-space:nowrap;
  animation: scroll 22s linear infinite;
  width: max-content;
}
.marquee__track span{
  color: var(--color-gold-light);
  font-family: var(--font-serif);
  font-size: 18px;
  letter-spacing: 1px;
}
@keyframes scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* ---------- Sobre ---------- */
.sobre{ padding: 100px 0; }
.sobre__inner{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:64px;
  align-items:center;
}
.sobre__media{ position:relative; }
.sobre__frame{
  aspect-ratio: 4/5;
  background: var(--color-dark);
  border-radius: var(--radius);
  position:relative;
}
.sobre__frame::after{
  content:"";
  position:absolute;
  inset: 18px;
  border: 1px solid var(--color-gold);
}
.sobre__content h2{
  font-size: clamp(26px, 3.4vw, 36px);
  margin-bottom: 18px;
}
.sobre__content p{
  color: var(--color-text-muted);
  margin-bottom: 14px;
  font-size: 16px;
}
.sobre__list{
  list-style:none;
  margin-top: 22px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.sobre__list li{
  padding-left: 24px;
  position:relative;
  font-size:15px;
  color: var(--color-dark);
  font-weight:500;
}
.sobre__list li::before{
  content:"";
  position:absolute;
  left:0; top:9px;
  width:10px; height:1.5px;
  background: var(--color-gold);
}

/* ---------- Serviços ---------- */
.servicos{ padding: 100px 0; background: var(--color-bg-alt); }
.section-title{
  text-align:center;
  font-size: clamp(28px, 3.6vw, 40px);
  margin-bottom: 14px;
}
.section-sub{
  text-align:center;
  color: var(--color-text-muted);
  max-width: 560px;
  margin: 0 auto 56px;
}
.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.card{
  display:block;
  border: 1px solid var(--color-border);
  padding: 36px 28px;
  border-radius: var(--radius);
  transition: border-color .25s, transform .25s;
  text-decoration:none;
  color: inherit;
}
.card:hover{
  border-color: var(--color-gold);
  transform: translateY(-4px);
}
.card__num{
  font-family: var(--font-serif);
  font-size: 30px;
  color: var(--color-gold-light);
  margin-bottom: 18px;
}
.card h3{
  font-size: 20px;
  margin-bottom: 12px;
}
.card p{
  font-size: 14.5px;
  color: var(--color-text-muted);
}

/* ---------- Método ---------- */
.metodo{ padding: 100px 0; }
.steps{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 30px;
}
.step{
  position:relative;
  padding-top: 20px;
  border-top: 1.5px solid var(--color-dark);
}
.step__index{
  font-family: var(--font-serif);
  font-size:15px;
  color: var(--color-gold);
  margin-bottom: 14px;
  letter-spacing: 1px;
}
.step h3{ font-size:19px; margin-bottom:10px; }
.step p{ font-size:14.5px; color: var(--color-text-muted); }

/* ---------- CTA block ---------- */
.cta-block{
  background: var(--color-dark);
  padding: 80px 0;
  text-align:center;
}
.cta-block h2{
  color: #fff;
  font-size: clamp(26px, 3.4vw, 36px);
  margin-bottom: 14px;
}
.cta-block p{
  color: var(--color-gold-light);
  margin-bottom: 30px;
  font-size:16px;
}

/* ---------- Contato ---------- */
.contato{ padding: 100px 0; background: var(--color-bg-alt); }
.contato__inner{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}
.contato__text{
  color: var(--color-text-muted);
  margin-bottom: 36px;
}
.contato__details{
  display:flex;
  flex-direction:column;
  gap: 20px;
}
.contato__details div{ display:flex; flex-direction:column; gap:2px; }
.contato__label{
  font-size:12px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color: var(--color-gold);
  font-weight:600;
}
.contato__details a{
  font-size:16px;
  font-weight:500;
}
.contato__details a:hover{ color: var(--color-gold); }

.form{
  display:flex;
  flex-direction:column;
  gap:18px;
  background: var(--color-bg);
  padding: 36px;
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
}
.form label{
  font-size:13px;
  font-weight:600;
  color: var(--color-dark);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.form input, .form textarea{
  font-family: var(--font-sans);
  font-size:15px;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: #fff;
  color: var(--color-text);
  resize: vertical;
}
.form input:focus, .form textarea:focus{
  outline: none;
  border-color: var(--color-gold);
}
.form__hint{
  font-size:12px;
  color: var(--color-text-muted);
  text-align:center;
}

/* ---------- Páginas internas de serviço ---------- */
.page-hero{
  padding: 160px 0 70px;
  background: var(--color-bg);
}
.page-hero h1{
  font-size: clamp(32px, 4.5vw, 48px);
  margin-bottom: 16px;
}
.page-hero__sub{
  font-size: 17px;
  color: var(--color-text-muted);
  max-width: 640px;
}
.breadcrumb{
  font-size: 13px;
  color: var(--color-text-muted);
  margin-bottom: 18px;
}
.breadcrumb a{ color: var(--color-gold); font-weight: 600; }
.breadcrumb a:hover{ text-decoration: underline; }

.service-intro{
  padding: 0 0 70px;
  background: var(--color-bg);
}
.service-intro p{
  max-width: 720px;
  font-size: 17px;
  color: var(--color-text-muted);
}

.tool-block{ padding: 70px 0; background: var(--color-bg-alt); }
.tool-block--alt{ background: var(--color-bg); }
.tool-block__inner{
  display:grid;
  grid-template-columns: 90px 1fr;
  gap: 36px;
  align-items: flex-start;
}
.tool-block__icon{
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--color-dark);
  color: var(--color-gold-light);
  font-family: var(--font-serif);
  font-size: 28px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tool-block__content h2{
  font-size: clamp(22px, 2.6vw, 28px);
  margin-bottom: 6px;
}
.tool-block__content h2 span{
  display:block;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-muted);
  margin-top: 4px;
}
.tool-block__content p{
  color: var(--color-text-muted);
  font-size: 16px;
  margin: 14px 0 20px;
  max-width: 680px;
}
.tool-block__list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.tool-block__list li{
  padding-left: 22px;
  position:relative;
  font-size: 15px;
  color: var(--color-dark);
}
.tool-block__list li::before{
  content:"";
  position:absolute;
  left:0; top:9px;
  width:10px; height:1.5px;
  background: var(--color-gold);
}

/* ---------- Grid completo de serviços (servicos.html) ---------- */
.servicos-full{ padding: 0 0 100px; background: var(--color-bg); }
.servicos-full__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.service-tile{
  display:block;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  padding: 38px 30px;
  border-radius: var(--radius);
  text-decoration:none;
  color: inherit;
  transition: border-color .25s, transform .25s;
}
.service-tile:hover{
  border-color: var(--color-gold);
  transform: translateY(-4px);
}
.service-tile__num{
  font-family: var(--font-serif);
  font-size: 30px;
  color: var(--color-gold-light);
  display:block;
  margin-bottom: 16px;
}
.service-tile h2{
  font-size: 21px;
  margin-bottom: 12px;
}
.service-tile p{
  font-size: 14.5px;
  color: var(--color-text-muted);
  margin-bottom: 18px;
}
.service-tile__link{
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .3px;
  color: var(--color-gold);
}

/* ---------- WhatsApp flutuante ---------- */
.whatsapp-float{
  position: fixed;
  bottom: 26px;
  right: 26px;
  width: 58px;
  height: 58px;
  background: #1C2B22;
  border-radius: 50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 6px 20px rgba(28,43,34,0.35);
  z-index: 200;
  transition: transform .2s ease, background .2s ease;
}
.whatsapp-float:hover{
  transform: scale(1.08);
  background: #9A8048;
}

/* ---------- Footer social ---------- */
.footer__social{
  display:flex;
  gap: 24px;
}
.footer__social a{
  font-size:13px;
  font-weight:500;
  color: var(--color-gold-light);
  transition: color .2s;
}
.footer__social a:hover{ color: #fff; }

/* ---------- Serviços: botão "ver mais" ---------- */
.servicos__more{
  text-align:center;
  margin-top: 44px;
}

/* ---------- Footer ---------- */
.footer{
  background: var(--color-dark-2);
  padding: 40px 0;
}
.footer__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  text-align:center;
}
.logo--footer .logo__mark{ color: var(--color-gold-light); }
.logo--footer .logo__text{ color:#fff; }
.footer p{
  font-size:13px;
  color: var(--color-gold-light);
}

/* ---------- Responsive ---------- */
@media (max-width: 880px){
  .sobre__inner, .contato__inner{ grid-template-columns: 1fr; gap:40px; }
  .cards{ grid-template-columns: repeat(2, 1fr); }
  .steps{ grid-template-columns: repeat(2, 1fr); }
  .servicos-full__grid{ grid-template-columns: repeat(2, 1fr); }
  .tool-block__inner{ grid-template-columns: 1fr; }
  .tool-block__icon{ width:56px; height:56px; font-size:22px; }
  .nav{
    position:absolute;
    top:76px; left:0; right:0;
    background: var(--color-bg);
    flex-direction:column;
    align-items:flex-start;
    padding: 24px;
    gap:20px;
    border-bottom:1px solid var(--color-border);
    display:none;
  }
  .nav.is-open{ display:flex; }
  .nav__toggle{ display:flex; }
}

@media (max-width: 560px){
  .cards{ grid-template-columns: 1fr; }
  .steps{ grid-template-columns: 1fr; }
  .servicos-full__grid{ grid-template-columns: 1fr; }
  .hero{ padding:150px 0 70px; }
}
