
*{margin:0;padding:0;box-sizing:border-box}
:root{--green-dark:#2d6a4f;--green-mid:#52b788;--green-light:#95d5b2;--green-pale:#d8f3dc;--blue-accent:#4895ef;--text-dark:#1a1a2e;--text-mid:#4a4a6a;--text-light:#8888a8;--white:#ffffff;--off-white:#f8faf9;--border:#e2ede8}
body{font-family:'DM Sans',sans-serif;color:var(--text-dark);background:var(--bg);overflow-x:hidden;transition:background 0.3s ease,color 0.3s ease}
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,40,24,0.45);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,0.1);padding:0 2rem;transition:background 0.3s ease}
nav.scrolled{background:rgba(13,40,24,0.92);border-bottom:1px solid rgba(255,255,255,0.08)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}
.nav-links{display:flex;gap:2rem}
.nav-links a{font-size:14px;color:rgba(255,255,255,0.85);text-decoration:none;font-weight:500;transition:color 0.2s}
.nav-links a:hover{color:white}
.nav-cta{background:rgba(255,255,255,0.15);color:white;padding:10px 22px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,0.25);transition:all 0.2s}
.nav-cta:hover{background:rgba(255,255,255,0.25);border-color:rgba(255,255,255,0.4)}
.hero{min-height:100vh;background:linear-gradient(135deg,#0d3320 0%,#1a5738 40%,#2d6a4f 70%,#3a8a65 100%);display:flex;align-items:center;padding-top:70px;padding-bottom:80px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(82,183,136,0.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(72,149,239,0.1) 0%,transparent 40%);pointer-events:none}
.hero-pattern{position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,0.06);box-shadow:0 0 0 80px rgba(255,255,255,0.03),0 0 0 160px rgba(255,255,255,0.02),0 0 0 240px rgba(255,255,255,0.01)}
.hero-content{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:var(--green-light);font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;padding:8px 16px;border-radius:100px;margin-bottom:2rem}
.hero-badge span{width:6px;height:6px;background:var(--green-light);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.3}}
.hero h1{font-family:'Inter',sans-serif;font-size:clamp(2.2rem,5vw,4rem);color:white;line-height:1.05;font-weight:900;letter-spacing:-2px;margin-bottom:1.5rem;max-width:700px}
.hero h1 em{color:var(--green-light);font-style:normal}
.hero p{font-size:1.1rem;color:rgba(255,255,255,0.75);max-width:500px;line-height:1.7;margin-bottom:2.5rem}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-primary{background:var(--green-light);color:var(--green-dark);padding:14px 28px;border-radius:10px;font-weight:700;font-size:15px;border:none;cursor:pointer;transition:all 0.2s}
.btn-primary:hover{background:white;transform:translateY(-2px)}
.btn-outline{background:transparent;color:white;padding:14px 28px;border-radius:10px;font-weight:600;font-size:15px;border:2px solid rgba(255,255,255,0.3);cursor:pointer;transition:all 0.2s}
.btn-outline:hover{border-color:white;background:rgba(255,255,255,0.1)}
.hero-stats{display:flex;gap:3rem;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,0.1)}
.stat-num{font-family:'Inter',sans-serif;font-size:2rem;font-weight:900;color:white;letter-spacing:-1px}
.stat-label{font-size:12px;color:rgba(255,255,255,0.55);letter-spacing:1px;text-transform:uppercase;margin-top:2px}
.search-section{background:transparent;padding:0 2rem;position:relative;z-index:10;margin-top:-60px;padding-bottom:3rem}
.search-card{max-width:1000px;margin:0 auto;background:rgba(255,255,255,0.12);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.2);border-radius:20px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,0.2)}
.search-label{font-size:13px;font-weight:800;color:white;letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:8px}
.search-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1rem;align-items:end}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:12px;color:rgba(255,255,255,0.75);font-weight:500}
.form-group select,.form-group input{border:2px solid rgba(255,255,255,0.4);border-radius:10px;padding:10px 14px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;color:#1a1a2e;background:rgba(255,255,255,0.95);outline:none;transition:all 0.2s;box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.form-group select:focus,.form-group input:focus{border-color:var(--green-light);box-shadow:0 0 0 3px rgba(82,183,136,0.25)}
.form-group select:hover,.form-group input:hover{border-color:rgba(255,255,255,0.7);background:white}
.search-btn{background:var(--green-dark);color:white;border:none;border-radius:8px;padding:12px 28px;font-weight:700;font-size:15px;cursor:pointer;transition:background 0.2s;white-space:nowrap}
.search-btn:hover{background:#1e5438}
section{padding:6rem 2rem}
.section-inner{max-width:1200px;margin:0 auto}
.section-tag{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green-mid);margin-bottom:0.75rem;display:inline-block;padding-bottom:6px;border-image:linear-gradient(to right,var(--green-mid),transparent) 1;border-bottom:2px solid;border-top:none;border-left:none;border-right:none}
.section-title{font-family:'Inter',sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:var(--text-dark);margin-bottom:1rem;letter-spacing:-1px}
.section-sub{font-size:1.05rem;color:var(--text-mid);line-height:1.7;max-width:550px}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.view-all{font-size:14px;font-weight:600;color:var(--green-dark);text-decoration:none;border:1px solid var(--green-dark);padding:10px 20px;border-radius:8px;cursor:pointer;background:none;transition:all 0.2s}
.view-all:hover{background:var(--green-dark);color:white}
.btn-favs{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--border);border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;color:var(--text-mid);cursor:pointer;transition:all 0.2s;font-family:'DM Sans',sans-serif}
.btn-favs:hover{border-color:var(--green-dark);color:var(--green-dark)}
.btn-favs.ativo{background:var(--green-dark);color:white;border-color:var(--green-dark)}
.imoveis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}
.imovel-card{border-radius:16px;overflow:hidden;border:1px solid var(--border);background:white;transition:transform 0.3s,box-shadow 0.3s;cursor:pointer}
.imovel-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,0.12)}
.imovel-img{height:220px;position:relative;overflow:hidden}
.imovel-img-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;transition:transform 0.3s}
.imovel-card:hover .imovel-img-inner{transform:scale(1.05)}
.img-bg-1{background:linear-gradient(135deg,#d8f3dc,#95d5b2)}
.img-bg-2{background:linear-gradient(135deg,#cce5ff,#99caff)}
.img-bg-3{background:linear-gradient(135deg,#fff3e0,#ffc87a)}
.img-bg-4{background:linear-gradient(135deg,#fce4ec,#f48fb1)}
.img-bg-5{background:linear-gradient(135deg,#e8f5e9,#a5d6a7)}
.img-bg-6{background:linear-gradient(135deg,#ede7f6,#b39ddb)}
.imovel-badge{position:absolute;top:12px;left:12px;background:var(--green-dark);color:white;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:100px}
.imovel-fav{position:absolute;top:12px;right:12px;width:34px;height:34px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all 0.2s}
.imovel-fav:hover{background:var(--green-pale)}
.imovel-body{padding:1.25rem}
.imovel-tipo{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--green-mid);margin-bottom:0.5rem}
.imovel-title{font-family:'Inter',sans-serif;font-size:1rem;font-weight:700;color:var(--text-dark);margin-bottom:0.4rem;line-height:1.3;letter-spacing:-0.3px}
.imovel-loc{font-size:13px;color:var(--text-light);margin-bottom:1rem}
.imovel-details{display:flex;gap:1rem;padding:0.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:1rem}
.detail-item{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text-mid)}
.imovel-footer{display:flex;align-items:center;justify-content:space-between}
.imovel-preco{font-family:'Inter',sans-serif;font-size:1.3rem;font-weight:800;color:var(--green-dark);letter-spacing:-0.5px}
.ver-btn{background:var(--green-pale);color:var(--green-dark);border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s}
.ver-btn:hover{background:var(--green-dark);color:white}
.sobre-section{background:var(--off-white)}
.sobre-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.sobre-card-main{background:var(--green-dark);border-radius:20px;padding:2.5rem;color:white}
.sobre-card-main h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:1rem}
.sobre-card-main p{font-size:0.95rem;line-height:1.7;opacity:0.85}
.sobre-card-float{position:absolute;bottom:-20px;right:-20px;background:white;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 12px 40px rgba(0,0,0,0.12);min-width:160px}
.float-num{font-family:'Inter',sans-serif;font-size:2rem;font-weight:900;color:var(--green-dark);letter-spacing:-1px}
.float-label{font-size:12px;color:var(--text-light);margin-top:2px}
.sobre-visual{position:relative}
.sobre-content p{font-size:1rem;color:var(--text-mid);line-height:1.8;margin-bottom:1.5rem}
.sobre-features{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.feature-item{display:flex;align-items:flex-start;gap:12px;padding:1rem;background:white;border-radius:12px;border:1px solid var(--border)}
.feature-icon{font-size:1.5rem;margin-top:2px}
.feature-text strong{font-size:14px;font-weight:600;color:var(--text-dark);display:block;margin-bottom:2px}
.feature-text span{font-size:12px;color:var(--text-light)}
.contacto-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(380px,1.25fr);gap:3rem;align-items:start}
.contacto-info{display:grid;grid-template-columns:1fr;gap:1rem}
.contact-item{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:1rem;align-items:center;padding:1.05rem 1.15rem;min-height:104px;background:linear-gradient(135deg,rgba(231,243,236,.92) 0%,rgba(245,250,247,.98) 100%);border:1px solid rgba(28,73,49,.10);border-radius:20px;box-shadow:0 16px 38px rgba(13,40,24,.08);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.contact-item::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,106,79,.15) 0%,rgba(45,106,79,.06) 42%,rgba(255,255,255,0) 100%);pointer-events:none}
.contact-item:hover{transform:translateY(-2px);box-shadow:0 22px 42px rgba(13,40,24,.12);border-color:rgba(28,73,49,.18)}
.contact-icon{position:relative;z-index:1;width:58px;height:58px;min-width:58px;background:linear-gradient(180deg,#1e5237 0%,#153726 100%);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#f7fcf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 24px rgba(21,55,38,.22)}
.contact-item > div:last-child{position:relative;z-index:1;min-width:0}
.contact-item strong{font-family:'Inter',sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark);display:block;margin-bottom:6px}
.contact-item span{font-size:15px;line-height:1.55;color:var(--text-dark);font-weight:600}
.contact-item span a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(27,66,45,.35);transition:color .2s ease,border-color .2s ease}
.contact-item span a:hover{color:var(--green-dark);border-color:currentColor}
.form-card{background:var(--off-white);border-radius:20px;padding:2.5rem;border:1px solid var(--border)}
.form-input{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 16px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text-dark);background:white;outline:none;margin-bottom:1rem;transition:border-color 0.2s}
.form-input:focus{border-color:var(--green-mid)}
textarea.form-input{height:120px;resize:none}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.submit-btn{width:100%;background:var(--green-dark);color:white;border:none;padding:14px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background 0.2s;font-family:'DM Sans',sans-serif}
.submit-btn:hover{background:#1e5438}
.success-msg{display:none;background:var(--green-pale);color:var(--green-dark);border-radius:10px;padding:1rem;text-align:center;font-weight:600;margin-top:1rem}
footer{background:#0d2818;color:white;padding:4rem 2rem 2rem}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand p{font-size:13px;color:rgba(255,255,255,0.55);line-height:1.7;margin-top:1rem;margin-bottom:1.5rem}
.footer-socials{display:flex;gap:10px}
.social-btn{width:36px;height:36px;background:rgba(255,255,255,0.08);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:background 0.2s;text-decoration:none}
.social-btn:hover{background:var(--green-mid)}
.footer-col h4{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,0.7);text-decoration:none;transition:color 0.2s}
.footer-col ul li a:hover{color:var(--green-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom span{font-size:13px;color:rgba(255,255,255,0.4)}
.page{display:none}
.page.active{display:block}
.back-btn{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--green-dark);background:none;border:none;cursor:pointer;margin-bottom:2rem;padding:0}
.back-btn:hover{text-decoration:underline}
.detalhe-hero{height:400px;border-radius:20px;overflow:hidden;margin-bottom:2rem;display:flex;align-items:center;justify-content:center;font-size:8rem}
.detalhe-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}
.detalhe-title{font-family:'Inter',sans-serif;font-size:1.8rem;font-weight:800;color:var(--text-dark);margin-bottom:0.5rem;letter-spacing:-1px}
.detalhe-loc{font-size:15px;color:var(--text-light);margin-bottom:1.5rem}
.detalhe-stats{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.detalhe-stat strong{display:block;font-size:1.2rem;font-weight:700;color:var(--text-dark)}
.detalhe-stat span{font-size:12px;color:var(--text-light)}
.detalhe-desc{font-size:0.95rem;color:var(--text-mid);line-height:1.8}
.detalhe-sidebar{position:sticky;top:90px}
.preco-card{background:white;border:1px solid var(--border);border-radius:16px;padding:2rem;margin-bottom:1rem}
.preco-big{font-family:'Inter',sans-serif;font-size:2rem;font-weight:900;color:var(--green-dark);margin-bottom:1.5rem;letter-spacing:-1px}
.contact-form-btn{width:100%;background:var(--green-dark);color:white;border:none;padding:14px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;margin-bottom:0.75rem;font-family:'DM Sans',sans-serif}
.contact-form-btn:hover{background:#1e5438}
.contact-form-btn.outline{background:white;color:var(--green-dark);border:2px solid var(--green-dark)}

/* HAMBURGER */
.hamburger{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--text-dark);padding:4px 8px;line-height:1}


@media (max-width: 768px) {
  /* NAV */
  .nav-inner{height:70px}
  .nav-links{display:none!important}
  .desktop-only{display:none!important}
  .hamburger{display:block!important}
  nav.scrolled{background:rgba(13,40,24,0.95)!important}

  /* SPLASH */
  #splash-slogan{font-size:1.3rem!important;padding:0 1.5rem!important}
  #splash-line.show{width:180px!important}

  /* HERO */
  .hero h1{font-size:1.8rem!important;letter-spacing:-0.5px!important}

  /* SEARCH glassmorphism mobile */
  .search-section{margin-top:-30px!important;padding:0 1rem!important;padding-bottom:2rem!important}
  .search-card{background:rgba(255,255,255,0.12)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;border:1px solid rgba(255,255,255,0.2)!important;box-shadow:0 8px 32px rgba(0,0,0,0.2)!important}
  .search-label{color:rgba(255,255,255,0.7)!important}
  .form-group label{color:rgba(255,255,255,0.75)!important}
  .form-group select,.form-group input{background:rgba(255,255,255,0.92)!important;color:#1a1a2e!important}

  /* PROJETOS FUTUROS header */
  #projetos-futuros .section-header{flex-direction:column!important;align-items:flex-start!important;gap:0.75rem!important}
  #projetos-futuros .section-tag{display:block!important;margin-bottom:0.5rem!important}
  #projetos-futuros .section-title{font-size:1.8rem!important}
  #projetos-futuros .section-sub{font-size:0.9rem!important;max-width:100%!important}
  #projetos-futuros{padding:3rem 1rem!important}

  /* VENDER 3 cards */
  #page-vender > div > div > div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important;gap:1rem!important}

  /* SPLASH z-index */
  #splash{z-index:10000!important}

  /* HERO */
  .hero{min-height:auto;padding:6rem 1.25rem 3rem}
  .hero h1{font-size:2rem}
  .hero p{font-size:0.95rem}
  .hero-stats{gap:1.5rem;flex-wrap:wrap}
  .hero-btns{flex-direction:column}
  .btn-primary,.btn-outline{width:100%;text-align:center}
  .hero-pattern{display:none}

  /* SEARCH */
  .search-section{padding:2rem 1rem 0;margin-top:-20px}
  .search-grid{grid-template-columns:1fr!important;gap:0.75rem}
  .search-btn{width:100%}

  /* IMOVEIS */
  .imoveis-grid{grid-template-columns:1fr!important}
  .section-header{flex-direction:column;align-items:flex-start}
  .section-header > div:last-child{width:100%;display:flex;gap:0.75rem}
  .view-all,.btn-favs{flex:1;text-align:center;justify-content:center}

  /* SOBRE NOS */
  .sobre-grid{grid-template-columns:1fr!important;gap:2rem}
  .sobre-visual{position:static!important}
  .sobre-visual{overflow:visible}
  .sobre-card-float{position:relative!important;bottom:auto!important;right:auto!important;margin-top:1.5rem!important;display:block!important;width:fit-content}
  .sobre-features{grid-template-columns:1fr!important}

  /* CONTACTO */
  .contacto-grid{grid-template-columns:1fr!important;gap:2rem}
  .contacto-info{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* FOOTER */
  .footer-grid{grid-template-columns:1fr!important;gap:1.5rem}

  /* DETALHE */
  .detalhe-grid{grid-template-columns:1fr!important;gap:1.5rem}
  .detalhe-hero{height:220px;font-size:5rem}
  .detalhe-sidebar{position:relative;top:auto}

  /* VENDER PAGE */
  .sobre-grid, [style*="grid-template-columns:1fr 1.4fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:2fr 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important}

  /* FORM ROW */
  .form-row{grid-template-columns:1fr!important}

  /* GERAL */
  section{padding:3rem 1rem}
  .section-inner{padding:0}
}

/* HOVER EFFECTS */

/* Botões — sobem 2px e ficam mais escuros */
.btn-primary:hover{background:white;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.15)}
.btn-outline:hover{border-color:white;background:rgba(255,255,255,0.1);transform:translateY(-2px)}
.nav-cta:hover{background:rgba(255,255,255,0.25);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.2)}
.search-btn:hover{background:#1e5438;transform:translateY(-2px);box-shadow:0 4px 12px rgba(45,106,79,0.3)}
.submit-btn:hover{background:#1e5438;transform:translateY(-2px);box-shadow:0 4px 12px rgba(45,106,79,0.3)}
.ver-btn:hover{background:var(--green-dark);color:white;transform:translateY(-1px)}
.view-all:hover{background:var(--green-dark);color:white;transform:translateY(-2px)}
.btn-favs:hover{border-color:var(--green-dark);color:var(--green-dark);transform:translateY(-2px)}
.back-btn:hover{color:var(--green-mid);transform:translateX(-3px)}

/* Transições suaves nos botões */
.btn-primary,.btn-outline,.nav-cta,.search-btn,.submit-btn,.ver-btn,.view-all,.btn-favs,.back-btn{
  transition:all 0.2s ease!important
}

/* Links do menu — linha verde por baixo */
.nav-links a{position:relative;padding-bottom:4px}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:0;left:0;
  width:0;height:2px;
  background:var(--green-light);
  border-radius:2px;
  transition:width 0.25s ease
}
.nav-links a:hover::after{width:100%}
.nav-links a:hover{color:white!important}

/* Links do rodapé — ficam verdes */
.footer-col ul li a{transition:color 0.2s ease, padding-left 0.2s ease}
.footer-col ul li a:hover{color:var(--green-light)!important;padding-left:6px}

/* Cards das features — borda verde ao hover */
.feature-item{transition:border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease}
.feature-item:hover{border-color:var(--green-mid);box-shadow:0 4px 16px rgba(82,183,136,0.15);transform:translateY(-3px)}

/* HEART ANIMATIONS */
@keyframes glowIn{
  0%{transform:scale(0.8);box-shadow:0 0 0 0 rgba(220,53,69,0.9)}
  50%{transform:scale(1.3);box-shadow:0 0 16px 8px rgba(220,53,69,0.4)}
  100%{transform:scale(1);box-shadow:0 0 8px 3px rgba(220,53,69,0.2)}
}
@keyframes glowOut{
  0%{transform:scale(1.1)}
  100%{transform:scale(1)}
}
.heart-glow-in{animation:glowIn 0.5s ease forwards!important}
.heart-glow-out{animation:glowOut 0.3s ease forwards!important}
.imovel-fav.active{border-color:#ff4d6d!important;background:#fff5f6!important;box-shadow:0 0 8px 3px rgba(220,53,69,0.2)!important}

/* SCROLL ANIMATIONS */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in-left{opacity:0;transform:translateX(-40px);transition:opacity 0.6s ease,transform 0.6s ease}
.fade-in-left.visible{opacity:1;transform:translateX(0)}
.fade-in-right{opacity:0;transform:translateX(40px);transition:opacity 0.6s ease,transform 0.6s ease}
.fade-in-right.visible{opacity:1;transform:translateX(0)}
.fade-in-delay-1{transition-delay:0.1s}
.fade-in-delay-2{transition-delay:0.2s}
.fade-in-delay-3{transition-delay:0.3s}
.fade-in-delay-4{transition-delay:0.4s}
.fade-in-delay-5{transition-delay:0.5s}

/* WHATSAPP BUTTON */
.whatsapp-btn{
  position:fixed;
  bottom:28px;
  right:28px;
  width:56px;
  height:56px;
  background:#25D366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 16px rgba(37,211,102,0.4);
  cursor:pointer;
  z-index:999;
  transition:all 0.3s ease;
  text-decoration:none;
}
.whatsapp-btn:hover{
  transform:scale(1.1);
  box-shadow:0 6px 24px rgba(37,211,102,0.5);
}
.whatsapp-btn svg{
  width:30px;
  height:30px;
  fill:white;
}
.whatsapp-tooltip{
  position:fixed;
  bottom:36px;
  right:94px;
  background:#1a1a2e;
  color:white;
  font-size:13px;
  font-weight:500;
  padding:8px 14px;
  border-radius:8px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.2s ease;
  font-family:'DM Sans',sans-serif;
  z-index:998;
}
.whatsapp-tooltip::after{
  content:'';
  position:absolute;
  right:-6px;
  top:50%;
  transform:translateY(-50%);
  border:6px solid transparent;
  border-right:none;
  border-left-color:#1a1a2e;
}
.whatsapp-btn:hover + .whatsapp-tooltip,
.whatsapp-wrap:hover .whatsapp-tooltip{opacity:1}
.whatsapp-wrap{position:fixed;bottom:28px;right:28px;z-index:999;display:flex;align-items:center}

.badge-novo{position:absolute;top:12px;left:12px;background:linear-gradient(135deg,#ff416c,#ff4b2b);color:white;font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;border-radius:100px;box-shadow:0 4px 15px rgba(255,65,108,0.5);z-index:2}

/* VENDER STEP CARDS HOVER */
.step-card{transition:transform 0.25s ease,box-shadow 0.25s ease;cursor:default}
.step-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(45,106,79,0.15)}

/* GREEN INFO BOX HOVER */
.green-info-box{transition:box-shadow 0.25s ease,transform 0.25s ease}
.green-info-box:hover{box-shadow:0 0 0 2px white,0 8px 24px rgba(45,106,79,0.2);transform:translateY(-2px)}

/* GRID FADE TRANSITION */
@keyframes gridFadeIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
.imoveis-grid.transitioning{opacity:0;transform:translateY(10px);transition:opacity 0.3s ease,transform 0.3s ease}
.imoveis-grid.visible{opacity:1;transform:translateY(0);transition:opacity 0.4s ease,transform 0.4s ease}

/* SKELETON LOADING */
@keyframes shimmer{
  0%{background-position:-800px 0}
  100%{background-position:800px 0}
}
.skeleton-card{border-radius:16px;overflow:hidden;border:1px solid var(--border);background:white}
.skeleton-img{height:220px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:800px 100%;animation:shimmer 1.5s infinite}
.skeleton-body{padding:1.25rem;display:flex;flex-direction:column;gap:10px}
.skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:800px 100%;animation:shimmer 1.5s infinite}
.skeleton-line.short{width:35%}
.skeleton-line.medium{width:65%}
.skeleton-line.title{height:18px;width:90%}
.skeleton-line.price{height:22px;width:45%;margin-top:4px}
.skeleton-divider{height:1px;background:#f0f0f0;margin:6px 0}
.skeleton-details{display:flex;gap:1rem}
.skeleton-detail{height:10px;width:65px;border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:800px 100%;animation:shimmer 1.5s infinite}

/* PAGE TRANSITION */
@keyframes pageIn{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
.page-enter{animation:pageIn 0.5s cubic-bezier(0.16,1,0.3,1) forwards}

@keyframes pageOut{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(-16px)}
}
.page-exit{animation:pageOut 0.3s cubic-bezier(0.16,1,0.3,1) forwards}

/* MOBILE DRAWER MENU */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);pointer-events:none;transition:background 0.3s ease;z-index:200}
.drawer-overlay.open{background:rgba(0,0,0,0.6);pointer-events:all}
.drawer{position:fixed;top:0;right:0;width:78%;max-width:320px;height:100%;background:white;transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.16,1,0.3,1);z-index:201;display:flex;flex-direction:column;overflow-y:auto}
.drawer.open{transform:translateX(0)}
.drawer-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;min-height:70px}
.drawer-close{background:none;border:none;cursor:pointer;font-size:1.4rem;color:var(--text-mid);padding:4px;line-height:1}
.drawer-links{flex:1;padding:0.5rem 0}
.drawer-link{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;font-size:15px;font-weight:500;color:var(--text-dark);border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background 0.15s;font-family:'Inter',sans-serif;text-decoration:none;background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left}
.drawer-link:hover{background:#f8faf9;color:var(--green-dark)}
.drawer-link.destaque{color:var(--green-dark);font-weight:700}
.drawer-link .arrow{font-size:14px;color:#ccc}
.drawer-cta-wrap{padding:1rem 1.5rem}
.drawer-cta{width:100%;background:var(--green-dark);color:white;border:none;padding:14px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;transition:background 0.2s}
.drawer-cta:hover{background:#1e5438}
.drawer-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border);background:var(--off-white)}
.drawer-footer a{color:var(--green-dark);text-decoration:none;font-size:13px;display:flex;align-items:center;gap:8px;padding:4px 0;transition:color 0.2s;font-weight:600;border-bottom:1px solid var(--green-pale)}
.drawer-footer a:hover{color:#1e5438;border-bottom-color:var(--green-mid)}
.drawer-footer p{font-size:12px;color:var(--text-light);margin-top:6px}

@media(min-width:769px){
  .drawer,.drawer-overlay{display:none!important}
}

/* FORM VALIDATION */
.form-input.error{border-color:#ff4b2b!important;background:#fff8f7!important}
.form-input.error:focus{border-color:#ff4b2b!important}
.field-error{font-size:11px;color:#ff4b2b;margin-top:-0.6rem;margin-bottom:0.75rem;display:none;font-weight:500}
.field-error.show{display:block}
.form-input.success{border-color:var(--green-mid)!important}

/* PROJETOS FUTUROS BADGE PULSE */
@keyframes badgePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(247,151,30,0.6);opacity:1}
  50%{box-shadow:0 0 0 6px rgba(247,151,30,0);opacity:0.85}
}
.badge-em-construcao{
  position:absolute;top:12px;left:12px;
  background:linear-gradient(135deg,#f7971e,#ffd200);
  color:#1a1a2e;font-size:10px;font-weight:900;
  letter-spacing:2px;text-transform:uppercase;
  padding:5px 14px;border-radius:100px;
  animation:badgePulse 2s infinite;
  z-index:2
}

.badge-em-estudo{
  position:absolute;top:12px;left:12px;z-index:2;
  background:rgba(255,255,255,.94);color:var(--green-dark);
  border:1px solid rgba(45,106,79,.24);box-shadow:0 8px 22px rgba(13,51,32,.16);
  font-size:10px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;
  padding:6px 14px;border-radius:100px;backdrop-filter:blur(8px)
}

/* SPLASH SCREEN */
#splash{
  position:fixed;inset:0;
  background:linear-gradient(135deg,#0d3320 0%,#1a5738 50%,#2d6a4f 100%);
  z-index:9999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;
  transition:opacity 0.6s ease,transform 0.6s ease;
}
#splash.hide{opacity:0;pointer-events:none}
#splash-logo{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
#splash-logo.show{opacity:1;transform:translateY(0)}
#splash-slogan{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease 0.3s,transform 0.6s ease 0.3s;font-family:'Inter',sans-serif;font-size:1.6rem;font-weight:700;color:rgba(255,255,255,0.85);letter-spacing:-0.5px;text-align:center;font-style:normal;max-width:600px;line-height:1.4;text-transform:uppercase}
#splash-slogan.show{opacity:1;transform:translateY(0)}
#splash-line{width:0;height:1px;background:rgba(255,255,255,0.2);transition:width 1s ease 0.6s;margin-top:0.5rem}
#splash-line.show{width:320px}







.imovel-img-inner img{width:100%;height:100%;object-fit:cover;display:block}.advanced-search-link{display:inline-flex;margin-top:14px;color:white;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55)}#splash{display:none!important}@media(max-width:768px){.hamburger{color:white!important}.whatsapp-btn{width:50px!important;height:50px!important}.whatsapp-wrap{right:18px!important;bottom:18px!important}}

/* Ecrã de entrada iSAVU — leve e sem imagens incorporadas no HTML */
#splash-intro{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:linear-gradient(135deg,#0d3320 0%,#1a5738 52%,#2d6a4f 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .48s ease,visibility .48s ease;
}
#splash-intro::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 48%,rgba(149,213,178,.14),transparent 45%),
    radial-gradient(circle at 82% 22%,rgba(72,149,239,.08),transparent 38%);
  pointer-events:none;
}
#splash-intro.splash-intro-hide{opacity:0;visibility:hidden;pointer-events:none}
.splash-intro-content{position:relative;z-index:1;text-align:center;color:#fff;max-width:680px}
.splash-intro-brand{display:flex;align-items:center;justify-content:center;gap:18px;opacity:0;transform:translateY(16px) scale(.98);animation:splashBrandIn .55s cubic-bezier(.16,1,.3,1) .08s forwards}
.splash-intro-icon{width:76px;height:76px;object-fit:contain}
.splash-intro-wordmark{width:min(260px,55vw);height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.splash-intro-company{margin-top:14px;font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.67);opacity:0;animation:splashTextIn .5s ease .3s forwards}
.splash-intro-line{height:1px;width:0;max-width:320px;margin:22px auto;background:rgba(255,255,255,.28);animation:splashLineIn .75s ease .45s forwards}
.splash-intro-slogan{margin:0;font:700 clamp(1.15rem,3vw,1.65rem)/1.35 'Inter',sans-serif;letter-spacing:-.3px;text-transform:uppercase;color:rgba(255,255,255,.9);opacity:0;transform:translateY(12px);animation:splashSloganIn .55s ease .55s forwards}
@keyframes splashBrandIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes splashTextIn{to{opacity:1}}
@keyframes splashLineIn{to{width:320px}}
@keyframes splashSloganIn{to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
  .splash-intro-brand{gap:12px;flex-direction:column}
  .splash-intro-icon{width:66px;height:66px}
  .splash-intro-wordmark{width:min(220px,68vw)}
  .splash-intro-company{font-size:9px;letter-spacing:2px;margin-top:10px}
  .splash-intro-line{margin:18px auto;max-width:190px}
  @keyframes splashLineIn{to{width:190px}}
  .splash-intro-slogan{max-width:330px;padding:0 8px}
}
@media(prefers-reduced-motion:reduce){
  .splash-intro-brand,.splash-intro-company,.splash-intro-line,.splash-intro-slogan{animation:none;opacity:1;transform:none}
  .splash-intro-line{width:320px}
}

@media(max-width:860px){.contacto-info{grid-template-columns:1fr}.contact-item{min-height:auto;padding:1rem 1rem}.contact-item span{font-size:14px}.contact-icon{width:54px;height:54px;min-width:54px}}


/* VENDER IMÓVEL — versão premium */
.sell-page-wrap{padding:3rem 2rem 5rem}
.sell-page-inner{max-width:1120px;margin:0 auto}
.sell-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d2818 0%,#17452f 58%,#236244 100%);border-radius:26px;padding:clamp(2rem,5vw,4.5rem);margin:1.25rem 0 2rem;min-height:0;box-shadow:0 22px 60px rgba(13,40,24,.16)}
.sell-hero-content{position:relative;z-index:1;max-width:760px}
.sell-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.35rem,5vw,4.5rem);line-height:1.02;letter-spacing:-.035em;color:#fff;margin:.7rem 0 1.1rem}
.sell-hero p{font-size:clamp(.98rem,1.5vw,1.1rem);line-height:1.8;color:rgba(255,255,255,.8);max-width:700px}
.sell-hero p strong{color:#fff}
.sell-hero-trust{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.7rem}
.sell-hero-trust span{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.9);font-size:12px;font-weight:700}
.sell-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem}
.sell-benefit{display:flex;align-items:flex-start;gap:1rem;padding:1.4rem;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 30px rgba(19,57,39,.06)}
.sell-benefit-icon{width:48px;height:48px;min-width:48px;border-radius:14px;background:var(--green-pale);color:var(--green-dark);display:grid;place-items:center;font-size:1.35rem}
.sell-benefit h2{font:800 15px 'Inter',sans-serif;color:var(--text-dark);margin:1px 0 6px}
.sell-benefit p{font-size:13px;line-height:1.65;color:var(--text-light);margin:0}
.sell-process{padding:2.2rem;background:var(--off-white);border:1px solid var(--border);border-radius:22px;margin-bottom:2rem}
.sell-section-head{text-align:center;max-width:720px;margin:0 auto 1.6rem}
.sell-section-head-left{text-align:left;margin:0 0 1.6rem}
.sell-section-head h2{font-family:'Playfair Display',serif;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.15;color:var(--text-dark);margin:.45rem 0 .7rem}
.sell-section-head p{font-size:14px;color:var(--text-mid);line-height:1.75}
.sell-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.sell-step{position:relative;background:#fff;border:1px solid var(--border);border-radius:17px;padding:1.4rem;text-align:left;min-height:190px}
.sell-step-number{position:absolute;top:1rem;right:1rem;width:30px;height:30px;border-radius:50%;background:var(--green-dark);color:#fff;display:grid;place-items:center;font:800 12px 'Inter',sans-serif}
.sell-step-icon{width:46px;height:46px;border-radius:13px;background:var(--green-pale);display:grid;place-items:center;margin-bottom:1rem;font-size:1.3rem}
.sell-step h3{font:800 15px 'Inter',sans-serif;color:var(--text-dark);margin-bottom:.55rem;max-width:210px}
.sell-step p{font-size:13px;line-height:1.65;color:var(--text-light)}
.sell-main-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.15fr);gap:2rem;align-items:start}
.sell-left{padding:.6rem .25rem}
.sell-checklist{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.25rem}
.sell-check-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.85rem;align-items:start;padding:1rem;border:1px solid var(--border);border-radius:14px;background:#fff}
.sell-check-item>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green-pale);color:var(--green-dark);font-weight:900}
.sell-check-item strong{display:block;color:var(--text-dark);font:800 14px 'Inter',sans-serif;margin-bottom:3px}
.sell-check-item small{display:block;color:var(--text-light);font-size:12px;line-height:1.55}
.sell-callout{display:flex;gap:1rem;padding:1.2rem;background:linear-gradient(135deg,var(--green-pale),#f7fbf8);border:1px solid rgba(45,106,79,.14);border-radius:16px;margin-top:1rem}
.sell-callout-icon{width:42px;height:42px;min-width:42px;border-radius:12px;background:var(--green-dark);color:#fff;display:grid;place-items:center}
.sell-callout strong{display:block;color:var(--green-dark);font:800 14px 'Inter',sans-serif;margin-bottom:5px}
.sell-callout p{font-size:12.5px;color:var(--text-mid);line-height:1.65;margin:0}
.sell-contact-mini{display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-top:1rem;font-size:12.5px;color:var(--text-mid)}
.sell-contact-mini a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(45,106,79,.25)}
.sell-form-card{border-radius:22px;padding:2rem;box-shadow:0 18px 46px rgba(19,57,39,.08)}
.sell-form-heading{margin-bottom:1.25rem}
.sell-form-heading h3{font-family:'Playfair Display',serif;font-size:1.65rem;color:var(--text-dark);margin:.4rem 0 .5rem}
.sell-form-heading p{font-size:13px;color:var(--text-light);line-height:1.65}
.sell-field-wrap{display:flex;flex-direction:column;min-width:0}
.sell-field-wrap label{font:800 11px 'Inter',sans-serif;letter-spacing:.04em;color:var(--text-mid);margin:0 0 6px 2px}
.sell-field-wrap label span{font-weight:500;color:var(--text-light)}
.sell-field-wrap .form-input{margin-bottom:.35rem}
.sell-field-wrap .field-error{margin:0 0 .8rem 2px}
.sell-submit{margin-top:.45rem;min-height:52px;font-size:15px}
.sell-form-note{font-size:11px;color:var(--text-light);text-align:center;line-height:1.5;margin-top:.8rem}
@media(max-width:900px){.sell-benefits,.sell-steps{grid-template-columns:1fr}.sell-main-grid{grid-template-columns:1fr}.sell-step{min-height:auto}.sell-benefit{align-items:center}}
@media(max-width:640px){.sell-page-wrap{padding:2rem 1rem 4rem}.sell-hero{border-radius:20px;padding:2rem 1.35rem}.sell-hero-trust{flex-direction:column;align-items:flex-start}.sell-process{padding:1.25rem}.sell-form-card{padding:1.35rem}.sell-benefit{padding:1.1rem}.sell-section-head-left{text-align:left}.sell-contact-mini{flex-direction:column;align-items:flex-start}}

/* Vender imóvel — versão clássica refinada */
@media(max-width:780px){.vender-beneficios-grid,.vender-passos-grid,.vender-main-grid{grid-template-columns:1fr!important}.vender-main-grid{gap:1.5rem!important}}
