/* ImmobiliPro — stylesheet */

:root{
  --navy-900:#0b1b2b;
  --navy-800:#122840;
  --navy-700:#1a3454;
  --gold-500:#c9a24b;
  --gold-600:#b08a34;
  --cream-50:#faf8f4;
  --cream-100:#f3efe6;
  --ink-900:#182233;
  --ink-600:#4a5568;
  --gray-200:#e6e8ec;
  --white:#ffffff;
  --radius:14px;
  --shadow-sm:0 2px 8px rgba(11,27,43,0.06);
  --shadow-md:0 12px 32px rgba(11,27,43,0.12);
  --container:1180px;
  --font-head:'Plus Jakarta Sans', 'Segoe UI', sans-serif;
  --font-body:'Inter', 'Segoe UI', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--cream-50);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-head);
  color:var(--navy-900);
  line-height:1.2;
  margin:0 0 .6em;
  font-weight:700;
}
h1{font-size:clamp(2.1rem,4vw,3.2rem);}
h2{font-size:clamp(1.6rem,3vw,2.3rem);}
h3{font-size:1.25rem;}
p{margin:0 0 1em;color:var(--ink-600);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
section{padding:88px 0;}
@media(max-width:768px){section{padding:56px 0;}}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-head);
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-600);font-weight:700;margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold-500);display:inline-block;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:999px;font-family:var(--font-head);
  font-weight:600;font-size:.95rem;cursor:pointer;border:2px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--gold-500);color:var(--navy-900);}
.btn-primary:hover{background:var(--gold-600);box-shadow:var(--shadow-md);}
.btn-outline{border-color:rgba(255,255,255,.5);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-dark{background:var(--navy-900);color:#fff;}
.btn-dark:hover{background:var(--navy-800);box-shadow:var(--shadow-md);}
.btn-whatsapp{background:#25D366;color:#06371e;}
.btn-whatsapp:hover{background:#1ebd5a;}
.btn-block{width:100%;}

/* Header */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,27,43,0.96);
  backdrop-filter:blur(6px);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:1360px;margin:0 auto;gap:16px;
}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:800;font-size:1.15rem;color:#fff;white-space:nowrap;flex-shrink:0;}
.brand-mark{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,var(--gold-500),var(--gold-600));
  display:flex;align-items:center;justify-content:center;
  color:var(--navy-900);font-weight:800;font-family:var(--font-head);
}
.nav-links{display:flex;align-items:center;gap:18px;flex-wrap:nowrap;}
.nav-links a{color:rgba(255,255,255,.85);font-size:.88rem;font-weight:500;transition:color .15s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--gold-500);}
.nav-cta{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.nav-phone{color:#fff;font-weight:600;font-size:.88rem;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;}

@media(max-width:1180px){
  .nav-phone{display:none;}
}
@media(max-width:920px){
  .nav-links{
    position:fixed;top:70px;left:0;right:0;height:calc(100vh - 70px);background:var(--navy-900);
    flex-direction:column;align-items:flex-start;padding:32px 24px;gap:20px;
    transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-toggle{display:block;}
  .nav-phone{display:none;}
}

/* Hero */
.hero{
  background:radial-gradient(circle at 20% 20%, rgba(201,162,75,.18), transparent 45%), linear-gradient(160deg,var(--navy-900),var(--navy-700));
  color:#fff;padding:120px 0 90px;position:relative;overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{color:#fff;}
.hero p.lead{color:rgba(255,255,255,.8);font-size:1.1rem;max-width:560px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.hero-stats{display:flex;gap:32px;margin-top:48px;flex-wrap:wrap;}
.hero-stat b{display:block;font-family:var(--font-head);font-size:1.8rem;color:var(--gold-500);}
.hero-stat span{font-size:.85rem;color:rgba(255,255,255,.65);}
.hero-panel{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);padding:32px;backdrop-filter:blur(4px);
}
.hero-panel ul li{display:flex;gap:12px;padding:10px 0;color:rgba(255,255,255,.88);border-bottom:1px solid rgba(255,255,255,.08);}
.hero-panel ul li:last-child{border-bottom:none;}
.hero-panel ul li svg{flex-shrink:0;color:var(--gold-500);}

/* Page header (non-home) */
.page-hero{
  background:linear-gradient(160deg,var(--navy-900),var(--navy-700));
  color:#fff;padding:70px 0 60px;
}
.page-hero h1{color:#fff;margin-bottom:.3em;}
.breadcrumbs{font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:14px;}
.breadcrumbs a{color:rgba(255,255,255,.8);}
.breadcrumbs a:hover{color:var(--gold-500);}
.page-hero .lead{color:rgba(255,255,255,.78);max-width:680px;}

/* Cards / grids */
.grid{display:grid;gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:920px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}}

.card{
  background:#fff;border-radius:var(--radius);padding:32px;
  box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);
  transition:transform .18s ease, box-shadow .18s ease;
  height:100%;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.card-icon{
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,rgba(201,162,75,.18),rgba(201,162,75,.06));
  display:flex;align-items:center;justify-content:center;color:var(--gold-600);margin-bottom:18px;
}
.card h3{margin-bottom:.4em;}
.card p{margin-bottom:.5em;font-size:.95rem;}
.card a.card-link{font-weight:600;color:var(--navy-800);font-size:.9rem;display:inline-flex;align-items:center;gap:6px;}
.card a.card-link:hover{color:var(--gold-600);}

.section-head{max-width:680px;margin:0 auto 52px;text-align:center;}
.section-head.left{margin:0 0 44px;text-align:left;}

.bg-navy{background:var(--navy-900);color:#fff;}
.bg-navy h2,.bg-navy h3{color:#fff;}
.bg-navy p{color:rgba(255,255,255,.75);}
.bg-cream{background:var(--cream-100);}

/* Stats strip */
.stats-strip{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:40px 0;}
.stats-strip div{text-align:center;flex:1;min-width:140px;}
.stats-strip b{display:block;font-family:var(--font-head);font-size:2.1rem;color:var(--gold-500);}
.stats-strip span{font-size:.85rem;color:rgba(255,255,255,.7);}

/* Steps / process */
.steps{counter-reset:step;}
.step{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--gray-200);}
.step:last-child{border-bottom:none;}
.step-num{
  counter-increment:step;flex-shrink:0;width:44px;height:44px;border-radius:50%;
  background:var(--navy-900);color:var(--gold-500);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:700;
}
.step-num::before{content:counter(step);}

/* Testimonials */
.testimonial{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);}
.testimonial .stars{color:var(--gold-500);margin-bottom:10px;letter-spacing:2px;}
.testimonial .who{margin-top:14px;font-weight:700;color:var(--navy-900);font-size:.9rem;}
.testimonial .who span{display:block;font-weight:400;color:var(--ink-600);font-size:.82rem;}

/* CTA banner */
.cta-banner{
  background:linear-gradient(135deg,var(--navy-900),var(--navy-700));
  color:#fff;border-radius:24px;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.cta-banner h2{color:#fff;margin-bottom:.3em;}
.cta-banner p{color:rgba(255,255,255,.75);margin:0;}

/* Zones */
.zone-card{border-left:4px solid var(--gold-500);}

/* Forms */
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;color:var(--navy-900);}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--gray-200);
  font-family:var(--font-body);font-size:.95rem;background:#fff;color:var(--ink-900);
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--gold-500);}
.form-note{font-size:.82rem;color:var(--ink-600);margin-top:10px;}
.form-success{display:none;background:#e9f9ee;border:1px solid #bfe8cc;color:#1c6b3a;padding:16px;border-radius:10px;margin-bottom:18px;}
.form-success.show{display:block;}

/* Contact info blocks */
.contact-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--gray-200);}
.contact-item:last-child{border-bottom:none;}
.contact-item .ico{
  width:44px;height:44px;border-radius:10px;background:var(--cream-100);
  display:flex;align-items:center;justify-content:center;color:var(--gold-600);flex-shrink:0;
}

/* Footer */
.site-footer{background:var(--navy-900);color:rgba(255,255,255,.7);padding:64px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.site-footer h4{color:#fff;font-size:.95rem;margin-bottom:16px;}
.site-footer ul li{margin-bottom:10px;font-size:.9rem;}
.site-footer a:hover{color:var(--gold-500);}
.footer-brand p{color:rgba(255,255,255,.6);font-size:.9rem;max-width:280px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;}
.social-row{display:flex;gap:12px;margin-top:16px;}
.social-row a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.social-row a:hover{background:var(--gold-500);color:var(--navy-900);}

/* WhatsApp floating button */
.whatsapp-float{
  position:fixed;bottom:22px;right:22px;z-index:200;
  background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);
  transition:transform .15s;
}
.whatsapp-float:hover{transform:scale(1.08);}

/* Utility */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.mb-0{margin-bottom:0;}
.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.badge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.78rem;padding:6px 14px;border-radius:999px;}
.divider{height:1px;background:var(--gray-200);margin:56px 0;}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:1000;}
.skip-link:focus{left:16px;top:16px;}
