body.dark-theme {
  --bg: #090f1d;
  --bg-card: #121b2d;
  --bg-light: #18253c;
  --text: #f8fafc;
  --text-muted: #94a3b8;
  --white: #f8fafc;
  --border: #1e293b;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--text); line-height:1.6; overflow-x:hidden; transition:background .3s,color .3s; }
.corretor-card, .imovel-card-broker { background:var(--bg-card) !important; }
body.dark-theme .header.scrolled { background:rgba(9,15,29,.95) !important; }
body.dark-theme .corretor-card-stat { background:var(--bg-light) !important; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }

:root {
  --bg: #f8fafc;
  --bg-card: #ffffff;
  --bg-light: #f1f5f9;
  --text: #1e293b;
  --text-muted: #64748b;
  --white: #ffffff;
  --border: #e2e8f0;
  --shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
  --shadow-lg: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
  --radius: 16px;
  --radius-sm: 8px;
}

/* ---- HEADER ---- */
.header { position:fixed; top:0; left:0; right:0; z-index:1000; transition:all .3s ease; padding:16px 0; }
.header.scrolled { background:rgba(255,255,255,.95); backdrop-filter:blur(20px); box-shadow:var(--shadow); padding:12px 0; }
.header-inner { display:flex; align-items:center; justify-content:space-between; }
.header-logo { display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.3rem; }
.header-logo-icon { width:40px; height:40px; border-radius:10px; background:var(--primary); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1rem; }
.header-nav { display:flex; align-items:center; gap:32px; }
.header-nav a { font-size:.9rem; font-weight:500; color:var(--white); transition:color .2s; position:relative; }
.header.scrolled .header-nav a { color:var(--text); }
.header-nav a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--secondary); transition:width .3s; }
.header-nav a:hover::after { width:100%; }
.header-cta { background:var(--secondary); color:#fff; padding:10px 24px; border-radius:50px; font-weight:600; font-size:.85rem; transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
.header-cta:hover { background:var(--primary); transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.hamburger { display:none; background:none; border:none; font-size:1.5rem; color:var(--white); cursor:pointer; }
.header.scrolled .hamburger { color:var(--text); }

/* ---- HERO ---- */
.hero-broker { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-broker-bg { position:absolute; inset:0; background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); }
.hero-broker-bg::before { content:''; position:absolute; inset:0; background:var(--hero-bg-image) center/cover; opacity:.4; }
.hero-broker-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(10,25,41,.75) 0%, rgba(30,58,95,.55) 100%); }
.hero-broker-pattern { position:absolute; inset:0; background-image:radial-gradient(circle at 20% 80%, rgba(244,162,97,.1) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(230,57,70,.1) 0%, transparent 50%); }
.hero-broker-content { position:relative; z-index:2; text-align:center; color:#fff; padding:120px 24px 80px; max-width:900px; }
.hero-broker-label { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); padding:8px 20px; border-radius:50px; font-size:.85rem; font-weight:500; margin-bottom:24px; backdrop-filter:blur(10px); }
.hero-broker-label span { width:8px; height:8px; border-radius:50%; background:var(--accent); display:inline-block; }
.hero-broker-title { font-family:'Space Grotesk',sans-serif; font-size:clamp(2.5rem,5vw,4.5rem); font-weight:700; line-height:1.1; margin-bottom:20px; }
.hero-broker-title em { color:var(--accent); font-style:normal; }
.hero-broker-desc { font-size:1.1rem; opacity:.85; margin-bottom:40px; max-width:600px; margin-left:auto; margin-right:auto; }
.hero-broker-stats { display:flex; justify-content:center; gap:48px; margin-top:48px; flex-wrap:wrap; }
.hero-broker-stat strong { font-family:'Space Grotesk',sans-serif; font-size:2rem; font-weight:700; display:block; }
.hero-broker-stat span { font-size:.85rem; opacity:.7; }
.hero-broker-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-broker { padding:14px 32px; border-radius:50px; font-weight:600; font-size:.9rem; transition:all .3s; display:inline-flex; align-items:center; gap:8px; cursor:pointer; border:none; }
.btn-broker-primary { background:var(--secondary); color:#fff; }
.btn-broker-primary:hover { background:var(--accent); transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.btn-broker-outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.3); }
.btn-broker-outline:hover { background:rgba(255,255,255,.1); border-color:#fff; }

/* ---- SECTIONS ---- */
.section-broker { padding:80px 0; }
.section-broker-header { text-align:center; margin-bottom:56px; max-width:600px; margin-left:auto; margin-right:auto; }
.section-broker-label { display:inline-flex; align-items:center; gap:8px; color:var(--secondary); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:2px; margin-bottom:12px; }
.section-broker-label::before { content:''; width:24px; height:2px; background:var(--secondary); }
.section-broker-title { font-family:'Space Grotesk',sans-serif; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:700; line-height:1.2; }
.section-broker-title em { color:var(--secondary); font-style:normal; }

/* ---- CORRETORES ---- */
.corretores-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; }
.corretor-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:all .3s; position:relative; }
.corretor-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.corretor-card-img { position:relative; height:320px; overflow:hidden; }
.corretor-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.corretor-card:hover .corretor-card-img img { transform:scale(1.05); }
.corretor-card-overlay { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(10,25,41,.9)); padding:80px 20px 20px; }
.corretor-card-overlay h3 { color:#fff; font-family:'Space Grotesk',sans-serif; font-size:1.2rem; font-weight:600; }
.corretor-card-overlay p { color:rgba(255,255,255,.7); font-size:.85rem; }
.corretor-card-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:16px; }
.corretor-card-stat { text-align:center; padding:12px; background:var(--bg); border-radius:var(--radius-sm); }
.corretor-card-stat strong { font-family:'Space Grotesk',sans-serif; font-size:1.1rem; color:var(--secondary); }
.corretor-card-stat span { font-size:.75rem; color:var(--text-muted); display:block; }
.corretor-card-tag { position:absolute; top:16px; left:16px; background:var(--accent); color:var(--primary); padding:4px 12px; border-radius:20px; font-size:.75rem; font-weight:700; }

/* ---- VITRINE ---- */
.vitrine-carousel { display:flex; gap:24px; overflow-x:auto; padding:8px 0 24px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.vitrine-carousel::-webkit-scrollbar { display:none; }
.imovel-card-broker { min-width:340px; flex-shrink:0; scroll-snap-align:start; background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:all .3s; }
.imovel-card-broker:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.imovel-card-img-broker { position:relative; height:240px; }
.imovel-card-img-broker img { width:100%; height:100%; object-fit:cover; }
.imovel-card-badge-broker { position:absolute; top:12px; left:12px; background:var(--secondary); color:#fff; padding:4px 12px; border-radius:20px; font-size:.75rem; font-weight:700; }
.imovel-card-price-broker { position:absolute; bottom:12px; right:12px; background:rgba(0,0,0,.7); color:#fff; padding:6px 14px; border-radius:20px; font-weight:700; font-size:1rem; }
.imovel-card-body-broker { padding:20px; }
.imovel-card-body-broker h3 { font-family:'Space Grotesk',sans-serif; font-size:1.1rem; font-weight:600; margin-bottom:4px; }
.imovel-card-body-broker p { color:var(--text-muted); font-size:.85rem; margin-bottom:12px; }
.imovel-card-meta-broker { display:flex; gap:16px; font-size:.8rem; color:var(--text-muted); }
.imovel-card-meta-broker span { display:flex; align-items:center; gap:4px; }
.imovel-card-meta-broker i { color:var(--secondary); }

/* ---- SERVIÇOS ---- */
.servicos-grid-broker { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.servico-card-broker { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:all .3s; display:flex; flex-direction:column; }
.servico-card-broker:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.servico-card-img-broker { height:200px; position:relative; }
.servico-card-img-broker img { width:100%; height:100%; object-fit:cover; }
.servico-card-img-broker::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 40%, rgba(10,25,41,.8)); }
.servico-card-badge-broker { position:absolute; top:16px; right:16px; background:var(--accent); color:var(--primary); padding:4px 14px; border-radius:20px; font-size:.75rem; font-weight:700; z-index:2; }
.servico-card-body-broker { padding:24px; flex:1; display:flex; flex-direction:column; }
.servico-card-body-broker h3 { font-family:'Space Grotesk',sans-serif; font-size:1.2rem; font-weight:600; margin-bottom:8px; }
.servico-card-body-broker p { color:var(--text-muted); font-size:.9rem; margin-bottom:16px; flex:1; }
.servico-card-btn-broker { background:var(--primary); color:#fff; padding:10px 20px; border-radius:50px; font-size:.85rem; font-weight:600; display:inline-flex; align-items:center; gap:8px; align-self:flex-start; transition:all .3s; }
.servico-card-btn-broker:hover { background:var(--secondary); }

/* ---- ESTATÍSTICAS ---- */
.stats-broker { background:var(--primary); color:#fff; padding:60px 0; position:relative; overflow:hidden; }
.stats-broker::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 50%, rgba(244,162,97,.15) 0%, transparent 60%); }
.stats-grid-broker { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:40px; position:relative; z-index:1; }
.stat-item-broker { text-align:center; }
.stat-item-broker i { font-size:2.5rem; color:var(--accent); margin-bottom:16px; }
.stat-item-broker strong { font-family:'Space Grotesk',sans-serif; font-size:2.5rem; font-weight:700; display:block; margin-bottom:4px; }
.stat-item-broker span { font-size:.9rem; opacity:.7; }

/* ---- DEPOIMENTOS ---- */
.depoimentos-broker { background:var(--white); }
.depoimentos-grid-broker { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.depoimento-card-broker { background:var(--bg); border-radius:var(--radius); padding:32px; position:relative; }
.depoimento-card-broker::before { content:'"'; position:absolute; top:16px; right:24px; font-size:4rem; color:var(--secondary); opacity:.2; font-family:'Space Grotesk',sans-serif; line-height:1; }
.depoimento-card-broker p { font-size:1rem; line-height:1.7; margin-bottom:20px; font-style:italic; color:var(--text); }
.depoimento-card-broker .autor { display:flex; align-items:center; gap:12px; }
.depoimento-card-broker .autor img { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.depoimento-card-broker .autor div strong { font-weight:600; font-size:.95rem; }
.depoimento-card-broker .autor div span { font-size:.8rem; color:var(--text-muted); }

/* ---- CONTATO ---- */
.contato-broker { background:linear-gradient(135deg, var(--bg) 0%, #eef2f6 100%); }
.contato-grid-broker { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.contato-info-broker h3 { font-family:'Space Grotesk',sans-serif; font-size:1.5rem; font-weight:600; margin-bottom:16px; }
.contato-info-broker p { color:var(--text-muted); margin-bottom:24px; }
.contato-item-broker { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.contato-item-broker i { width:48px; height:48px; border-radius:var(--radius-sm); background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1rem; }
.contato-item-broker div strong { font-weight:600; }
.contato-item-broker div span { color:var(--text-muted); font-size:.85rem; }
.contato-form-broker { background:var(--white); padding:32px; border-radius:var(--radius); box-shadow:var(--shadow); }
.form-group-broker { margin-bottom:16px; }
.form-group-broker label { display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; color:var(--text); }
.form-group-broker input, .form-group-broker textarea, .form-group-broker select { width:100%; padding:12px 16px; border:2px solid #e2e8f0; border-radius:var(--radius-sm); font-family:inherit; font-size:.9rem; transition:border-color .3s; outline:none; }
.form-group-broker input:focus, .form-group-broker textarea:focus, .form-group-broker select:focus { border-color:var(--secondary); }
.form-group-broker textarea { min-height:120px; resize:vertical; }
.btn-form-broker { width:100%; background:var(--secondary); color:#fff; padding:14px; border-radius:var(--radius-sm); border:none; font-weight:600; font-size:1rem; cursor:pointer; transition:all .3s; }
.btn-form-broker:hover { background:var(--primary); }

/* ---- FOOTER ---- */
.footer-broker { background:var(--primary-dark); color:rgba(255,255,255,.7); padding:60px 0 24px; }
.footer-grid-broker { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-broker .logo { display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.3rem; color:#fff; margin-bottom:16px; }
.footer-broker .logo-icon { width:40px; height:40px; border-radius:10px; background:var(--secondary); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1rem; }
.footer-broker p { font-size:.9rem; line-height:1.7; margin-bottom:16px; }
.footer-broker .socials { display:flex; gap:12px; }
.footer-broker .socials a { width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:#fff; transition:all .3s; }
.footer-broker .socials a:hover { background:var(--secondary); transform:translateY(-2px); }
.footer-broker h4 { color:#fff; font-family:'Space Grotesk',sans-serif; font-size:1rem; font-weight:600; margin-bottom:20px; }
.footer-broker ul { list-style:none; }
.footer-broker ul li { margin-bottom:10px; }
.footer-broker ul li a { font-size:.9rem; transition:color .3s; }
.footer-broker ul li a:hover { color:var(--accent); }
.footer-broker .legal { border-top:1px solid rgba(255,255,255,.1); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.footer-broker .legal p { font-size:.8rem; margin:0; }
.footer-broker .legal-links { display:flex; gap:24px; }
.footer-broker .legal-links a { font-size:.8rem; color:rgba(255,255,255,.5); transition:color .3s; }
.footer-broker .legal-links a:hover { color:var(--accent); }

/* ---- MODAL ---- */
.modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.65); backdrop-filter:blur(4px); z-index:9000; display:none; align-items:center; justify-content:center; padding:20px; }
.modal-backdrop.open { display:flex; }
.modal-window { background:var(--white); border-radius:var(--radius); max-width:480px; width:100%; max-height:90vh; overflow-y:auto; position:relative; box-shadow:var(--shadow-lg); animation:modalIn .3s ease; padding:32px; }
@keyframes modalIn { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }
.modal-close-btn { position:absolute; top:14px; right:14px; background:var(--bg); border:1px solid var(--border); color:var(--text-muted); width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:all .2s; z-index:10; }
.modal-close-btn:hover { background:var(--secondary); color:#fff; border-color:var(--secondary); }
.modal-title { font-family:'Space Grotesk',sans-serif; font-size:1.4rem; font-weight:700; margin-bottom:6px; color:var(--text); }
.modal-subtitle { font-size:.85rem; color:var(--text-muted); margin-bottom:20px; }

/* ---- PAGES DROPDOWN ---- */
.pages-dropdown { position:relative; }
.pages-dropdown-menu { display:none; position:absolute; top:100%; left:0; background:#fff; border-radius:var(--radius-sm); box-shadow:var(--shadow-lg); padding:8px 0; min-width:200px; margin-top:8px; }
.pages-dropdown:hover .pages-dropdown-menu { display:block; }
.pages-dropdown-menu a { display:block; padding:8px 16px; font-size:.85rem; color:var(--text); transition:all .2s; }
.pages-dropdown-menu a:hover { background:var(--bg); color:var(--secondary); }

/* ---- RESPONSIVE ---- */
@media (max-width:900px) {
  .header-nav { display:none; }
  .hamburger { display:block; }
  .hero-broker-title { font-size:2rem; }
  .hero-broker-stats { gap:24px; }
  .contato-grid-broker { grid-template-columns:1fr; }
  .footer-grid-broker { grid-template-columns:1fr 1fr; }
  .stats-grid-broker { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .footer-grid-broker { grid-template-columns:1fr; }
  .stats-grid-broker { grid-template-columns:1fr; }
  .hero-broker-btns { flex-direction:column; }
}
